2014-09-01: 00:02:19 -!- ski_ has joined. 00:02:37 -!- newsham_ has joined. 00:02:47 -!- yorick_ has joined. 00:02:55 -!- ineiros_ has joined. 00:04:04 -!- fizzie has quit (Remote host closed the connection). 00:07:39 -!- newsham has quit (Remote host closed the connection). 00:07:41 -!- yorick has quit (Read error: Connection reset by peer). 00:08:23 -!- ski has quit (Remote host closed the connection). 00:10:21 -!- fizzie has joined. 00:11:31 -!- ineiros has quit (Ping timeout: 250 seconds). 00:21:18 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 00:21:30 -!- copumpkin has joined. 00:21:50 -!- copumpkin has quit (Client Quit). 00:46:27 -!- newsham_ has changed nick to newsham. 00:54:17 -!- AndoDaan has quit (Ping timeout: 252 seconds). 00:57:04 -!- rodgort has quit (Remote host closed the connection). 01:01:57 -!- ^4 has quit (Ping timeout: 240 seconds). 01:08:46 -!- rodgort has joined. 01:17:04 -!- rodgort has quit (Remote host closed the connection). 01:22:19 -!- AndoDaan has joined. 01:22:55 -!- rodgort has joined. 01:28:51 Is the antiderivative always the integral? <-- depends how you define each of them. 01:29:21 you can have something that has a derivative but the derivative isn't lebesgue integrable 01:32:45 -!- AndoDaan has quit (Ping timeout: 240 seconds). 01:33:20 -!- AndoDaan has joined. 01:33:34 but there's an integral definition that corresponds closer, known as Henstock integral 01:33:58 (another student studied those when i was at university) 01:35:17 just read http://cr.yp.to/papers/calculus.pdf hth 01:38:15 shachaf: you need restrictions on the function for it to be true that antiderivative = riemann integral 01:38:50 oerjan: yes 01:39:10 that's why that pdf uses the integral you mentioned instead, and talks about that in the last paragraph 01:39:17 what, it does? 01:40:00 shachaf: you cannot expect me to read to the end on something that looks like ordinary first year stuff on a brief glance hth 01:40:30 oh luzin, i vaguely remember that 01:45:14 -!- FireFly has quit (Ping timeout: 240 seconds). 01:51:27 -!- FireFly has joined. 01:52:17 oerjan: i should learn some analysis hth 01:54:39 twh 01:55:53 JetBrains is stil running an ad for an expired contest. Isn't that kind of expensive/ 01:57:27 i don't know who jetbrains is and why anyone cares that they're running an ad 01:57:49 or whether it's expensive 02:03:50 -!- boily has quit (Quit: ALFALFALFA CHICKEN). 02:03:53 ^elikoski 02:03:53 eliott elliot eliott eliott elliot elliott eliot elliot eliott elliot elliot eliott eliott elliot eliott eliot elliot elliott eliott elliot eliott eliott elliot elliot eliott eliot elliott eliott elliot eliott eliott elliot elliott eliot elliot eliott eliott elliot elliot eliott elliot elliott eliot elliot elliott eliott e ...too much output! 02:04:08 um. hi 02:04:12 oh hi 02:04:21 ^show elikoski 02:04:21 ((io)S(t)~^( )S~:)((e)S(l)~^~:):(S)~^(:SS)~^(*a((((S)~^)~a*^)~a*^~:)~*^~)(:**a((((:SS)~^)~a*^)~a*^~:)~*^~):(~:()~)~*^(a(:^)*~a(*()~)~*^~^):^ 02:04:50 -!- shikhout has joined. 02:05:22 elliott: i may be having it bad. i got 260 rep and mortarboard yesterday, and am apparently #2 on the monthly haskell rank 02:05:48 heh 02:07:22 -!- shikhin has quit (Ping timeout: 240 seconds). 02:20:12 -!- copumpkin has joined. 02:39:03 -!- ChrisMM has joined. 02:39:03 heyo 02:39:12 heeyo 02:39:31 i assume fungbot is doing well 02:39:41 *fungot 02:39:41 ChrisMM: the electronic feel of this crap on another site. its not exactly a classic rendition. it's not a fan! 3 " fuck you", and now your hostile feelings have clouded your past good judgment and you didn't see that one" 02:39:50 ^style 02:39:50 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube* 02:39:59 well if not politely 02:41:34 yah 02:45:34 ^show 02:45:34 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2 backwards output 02:45:46 ^show srmlebac 02:45:46 >2,[>,]<[<]>[.>2]<[>2]<2[.<2] 02:48:33 ^show celebrate 02:48:34 (\o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/)S 02:48:34 | c.c.c | ¯|¯⌠ `\o/´ | c.c.c | `\o/´ ¯|¯⌠ | c.c.c | 02:48:34 /| c.c /| /| | | /| c.c |\ | |\|/'\ c.c >\ 02:48:34 (_|¯'\ /`\ 02:48:35 |_) (_| |_) 02:48:41 ....huh. 02:48:48 ^show ha 02:48:48 ((ha)(ha))(~:^:(. )*S( )~**a~^!a*~:^):^ 02:49:34 -!- zzo38 has joined. 02:55:57 ^style jargon 02:55:58 Selected style: jargon (UNIX-HATERS mailing list archive) 02:56:45 -!- ^4 has joined. 02:58:36 -!- Sorella has quit (Remote host closed the connection). 03:02:08 in Thue is the string replacement chosen entirely at random? 03:02:48 nondeterministically, iirc 03:03:13 where nondeterministally means "you cannot even count on random" 03:03:26 right. 03:03:39 because you're 'too good' for pseudorandom numbers 03:03:56 always taking the first one is perfectly legal :P 03:04:09 (well maybe. i haven't actually checked the spec.) 03:04:15 one can imagine an optimizing thue implementation that chooses in some deterministic but hard to think about fashion based on the rule contents 03:04:38 my problem is on the wiki page it says '...The program outputs bits in an undefined (and quite possibly random) sequence.' 03:04:51 where, if the string rewrites were nondeterministic, it WOULD be ENTIRELY random 03:04:55 no 03:04:57 and it has that (and quite possibly...) in there 03:05:05 it /can/ be random, but it doesn't have to be 03:05:09 ahh. 03:05:10 it could implement all zeroes probably 03:05:30 yes. 03:05:42 I see 03:05:51 output, not implement 03:06:29 i had this vague idea of implementing thue in itflabtijtslwi which has no randomness, but because of the implementation idea it wouldn't be easily predictable either 03:06:30 catseye's interpreter lets you choose a deterministic rule, if you want 03:06:46 but you can also not do that, see. 03:07:41 (it has left-to-right and right-to-left, so you could make that program output all zeroes or all ones) 03:07:51 mm. I get it 03:09:35 mine would be essentially "do all substitutions in turn globally, but in such a way that you cannot substitute on something that's already been changed this round" 03:11:15 I'm gonna look into thue now, it seems very nice... 03:18:06 c::= 03:18:07 b::=~foo 03:18:07 b::=~bar 03:18:07 b::=~baz 03:18:07 b::=~bin 03:18:07 ac::=abc 03:18:07 ::= 03:18:08 abccccccccccccccc 03:18:15 I think that's generating simlish 03:18:34 barbinbarfoobaz 03:19:03 -!- not^v has joined. 03:19:39 couldn't it wipe out the c's first 03:19:59 or well... why do you ahve both the ac::=abc and c::= rules. 03:20:30 well I want it to generate them but I also want it to halt 03:20:38 if it runs out of c's it'll halt 03:20:50 yes, it could wipe out all the c's first. Ya just hope. This isn't a good program. 03:20:52 Should I privilege the function profunctor in my code? I feel like maybe I shouldn't, since forget is also a profunctor 03:20:57 And conceptually a function too 03:21:13 Although I guess Haskell privileges it 03:21:38 (By priviledge I mean not doing a Racket equivalent of a newtype) 03:21:55 ChrisMM: if you want a fixed finite output, you could do the b::=~ rules, and then just have ::=bbbbb, no? 03:22:02 (to output five, of course) 03:22:21 -!- ^4 has quit (Ping timeout: 240 seconds). 03:22:50 yeah I just realized v_v 03:22:53 >.> 03:27:53 Wrote a script to interpret http://esolangs.org/wiki/Verbose. what a chore. 03:28:37 the roman numerals must be the most annoying part 03:28:42 what programming language has like 03:28:49 a roman numeral library 03:29:06 Yeah, just looked up the algorithms and translated them to lua. 03:29:27 common lisp has a function to print an integer in roman. still not sure why 03:32:06 wow 03:33:47 * Sgeo_ wouldn't be surprised if Factor had something 03:34:03 http://docs.factorcode.org/content/article-roman.html 03:35:04 "Computes the quotient and remainder of two Roman numerals." 03:35:12 Hmmm... I can't figure out thue 03:35:17 I mean i get it but 03:35:26 I'm trying to figure out how to properly make code 03:35:30 hmm hmmhmm 03:40:29 Roman numeral is not difficult to implement 03:42:49 More difficult than brainfuck numerals? 03:43:20 optimized brainfuck numerals are uncomputable, so that's probably harder than romans 03:43:32 The shortest possible program that outputs a given numeric value 03:44:30 Are you sure it's an uncomputable problem rather than just an infeasible one? 03:44:59 Hmm, halting problem 03:45:00 yeah, it's perfect compression 03:45:12 which is uncomputable bla bla kolmogorov. 03:45:20 Yeah, I can see why it'd be uncomputable 03:45:23 The halting problem 03:46:51 . and +. are provably the shortest possible representations 03:47:03 Bike: What if you add some restriction that ensures halting? 03:47:28 http://en.wikipedia.org/wiki/Kolmogorov_complexity#Uncomputability_of_Kolmogorov_complexity behold 03:47:44 I mean, it won't be kolmogorov complexity 03:47:49 And it will become actually computable 03:48:06 There may be other restrictions too that might be possible, such as restricted amount of memory use, and maximum number of steps; you don't need necessarily a restriction that ensures halting, although if there is one that will work too. 03:50:05 There are ones which ensure halting and allow multiplication 03:50:18 I'm not sure about how powerful you can go though 03:51:52 i think the shortest representations in presburger arithmetic or something are computable in double exponential time 03:52:18 oh no that's some other bullshit about presburger. eh. 03:52:56 I'd believe that, given that you can only add numbers 03:53:19 just use system F hth 03:56:33 (someone here managed to do goodstein sequences in it, that's more powerful than peano arithmetic 03:56:36 ) 04:08:52 -!- axtens has joined. 04:09:30 -!- axtens has quit (Quit: Leaving.). 04:13:57 -!- not^v has quit (Ping timeout: 240 seconds). 04:14:04 -!- shikhout has quit (Ping timeout: 260 seconds). 04:19:18 'http://docs.factorcode.org/content/word-binary-roman-op%2Croman.private.html 04:19:26 * Sgeo_ runs in the opposite direction 04:23:52 -!- ^v has quit (Ping timeout: 240 seconds). 04:44:34 -!- ChrisMM has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 04:48:10 -!- AndoDaan has quit. 05:00:38 -!- J_Arcane_ has joined. 05:01:57 -!- J_Arcane has quit (Ping timeout: 240 seconds). 05:02:01 -!- J_Arcane_ has changed nick to J_Arcane. 05:08:09 I forgot to save a part of my forget code. 05:08:18 Sgeo_: apparently it works 05:12:32 I don't know if (provide gen:profunctor) is the proper way to provide a generic 05:14:38 So yeah https://github.com/Sgeo/racket-optics/blob/master/profunctors.rkt 05:14:44 Still a work in progress 05:17:57 -!- Lorenzo64 has joined. 05:19:26 I definitely wrong dimap's order of arguments that way for a reason: If there's a consistent flow that's easier for me to remember 05:26:16 racket is more reliant on reader macros than i thought. 05:26:58 I don't think #:foo are reader macros 05:27:20 oh, are they just symbols 05:27:59 They're keywords. I think natively parsed, but every piece of data is surrounded by a macro which by default rejects keywords 05:28:15 ...surrounded by? 05:28:22 Well, hmm. (f a b c) where f is a macro, gets a different macro, so hmm 05:28:45 Well, (f a b c) where f is a macro gets turned into (#%app f a b c). I think something similar happens to bare data 05:28:57 erm, where f is a function. 05:29:13 (both lines) 05:50:33 -!- Frooxius has joined. 05:53:37 -!- ^v has joined. 06:16:30 -!- augur has quit (Quit: Leaving...). 06:34:26 -!- TieSoul-mobile has joined. 06:37:22 -!- TieSoul has quit (Ping timeout: 240 seconds). 06:37:31 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 06:43:47 Taneb: ? 06:51:18 I guess a hypothetical 'sum' is an example of a optics Fold? 06:52:08 -!- copumpkin has joined. 06:53:54 :t sumOf 06:53:55 Num a => Getting (Endo (Endo a)) s a -> s -> a 06:54:30 Sgeo_: a Fold is something you _can_ take a sum (or any monoidal summary) of. 06:55:12 :t foldlOf' 06:55:13 Getting (Endo (Endo r)) s a -> (r -> a -> r) -> r -> s -> r 06:57:06 :t foldrOf 06:57:07 Profunctor p => Accessing p (Endo r) s a -> p a (r -> r) -> r -> s -> r 06:57:18 Ok, so a quick test of my code at the REPL failed... and I have no idea if my definitions are wrong or my REPL test is wrong 06:57:40 fiendish 06:58:19 REPL code was wrong 07:08:19 -!- TieSoul-mobile has quit (Read error: Connection reset by peer). 07:36:43 -!- oerjan has quit (Quit: leaving). 07:37:04 -!- variable has quit (Ping timeout: 260 seconds). 07:45:44 -!- mtve has joined. 07:47:32 -!- variable has joined. 08:26:53 -!- Patashu has joined. 08:28:45 I notice sometimes the computer screen is getting blurry horizontally when the CPU is busy; does this have anything to do with the fan? 08:30:12 It doesn't seem to give me any problems with any programs though, with the exception of Visual Pinball. 08:31:25 (Not only is it fuzzy horizontally but also vertically makes scanlines brigher and darker) 08:38:40 zzo38: I can think of two things: 08:40:04 firstly, if it's a notebook, then it's usually a problem with that the notebook isn't grounded because there is no ground pin in the cable from the power supply to the notebook, and this can cause problems. the solution is usually to replace your power supply, or, 08:40:54 if it only causes problems with the image on your monitor, not static when you touch the keyboard, and your video card has a DVI or HDMI output, then use an all-digital cable to the monitor. 08:40:56 It isn't. 08:42:21 Secondly, if you're using a VGA cable (even on a desktop computer), it could be an inductive interference between a power cable and your VGA cable, or something simliar inside the machine, in which case moving to all digital DVI or HDMI often helps. 08:42:21 -!- zzo38 has quit (Read error: Connection reset by peer). 08:42:53 ja 08:43:05 -!- zzo38 has joined. 08:43:08 Can I deactivate certain keycombinations in the Dvorak layout 08:43:22 zzo38: Secondly, if you're using a VGA cable (even on a desktop computer), it could be an inductive interference between a power cable and your VGA cable, or something simliar inside the machine, in which case moving to all digital DVI or HDMI often helps. 08:43:25 Sorry my computer turned off while I was trying to figure out what a power cord was connected to. I wonder if that is the problem? 08:43:26 Other possibilities are that you have an extra-long VGA cable or a faulty KVM switch or a very old and bad quality monitor, but you probably know if you do that. 08:44:05 I am not using a KVM switch 08:44:11 zzo38: in that case hope that the power cable was connected losely somewhere and you accidentally moved it, so try to unplug and plug everything. 08:44:13 I do have a surge protector though. 08:44:40 It only happens when it is computationally intensive though. 08:45:01 it's also possible that you simply have a faulty motherboard (or possibly power supply or something) which is why the computer sometimes turns off at random times, but that's hard to debug. find someone who is good with hardware. 08:45:23 zzo38: are you using a VGA cable? 08:45:41 Yes, although it is pretty close to the computer and monitor 08:45:51 (or a VGA to DVI adapter) 08:45:57 It is a "Certified Data" LCD monitor 08:46:20 zzo38: in that case, try to move around the cables a bit, especially try to make sure the VGA cable isn't close to power cables, and check if that makes the image better. 08:47:35 -!- augur has joined. 08:50:42 -!- Hjulle has quit (Ping timeout: 245 seconds). 09:03:31 But I wonder if it is really just an effect of a different kind of problem inside of the computer. 09:03:51 I did have many other problems before but replacing the power supply fixed most of them. 09:04:13 (The picture is the only thing it did not fix.) 09:08:00 I hate typing '+space+s for 's 09:08:04 because '+s gives me ś 09:08:21 itś a me, mario 09:08:21 Disable that function then (or change it) 09:08:25 You should have a separate key for ' and ´ like we do. 09:08:42 I wanna use Dvorak with support for german Umlauts 09:08:48 Yes, using separate dead keys would help 09:08:53 which Dvorak international with deadkeys has 09:09:07 but that Layout also has this silly śáń combination-keys 09:09:44 I use US International with AltGr deadkeys. 09:09:49 it's p. good 09:10:04 ü 09:10:05 wow 09:10:08 it's a me 09:10:11 hm 09:10:13 neat 09:10:15 ö 09:10:37 üö wheres the third? 09:10:49 I'm using the "nodeadkeys" variant of the standard Finnish layout, which is slightly silly in that it has a key for ' and a key for ´ and you can get e.g. á with composing with either one of those, which makes the ´ relatively useless, since I don't think I've ever needed a standalone ´. 09:10:50 over the q? 09:10:52 ä 09:10:59 äüö 09:11:01 k 09:11:04 altgr+w 09:11:12 altgr+w å 09:11:14 although it's technically , for dvorak 09:11:30 (dvorak's , is where qwert'z w is) 09:12:21 The TI-92 uses the 2ND key together with a letter has a prefix to indicate if you want an accented or Greek letter. 09:12:35 (with the exception of theta, which has its own key.) 09:21:22 fizzie: Except now in order to explain its working, but that's only because it has it anyways 09:23:16 I suppose another way to make typing accented letters would be for example you can push the apostrophe and while holding it down, push the A and the software could be designed to accept that. 09:28:22 I noticed that a lot of old UNIX programs use a filter interface, although many new programs don't (except for the ones I wrote); why is that, and can we fix this? 09:29:47 -!- Lorenzo64 has quit (Ping timeout: 245 seconds). 09:33:24 zzo38: well, part of that is safety, making sure you don't overwrite files you don't want to, 09:33:57 and of course some programs allow using either filter or filename-in-command-line interface, and some programs I write take input from a file but output to stdout. 09:37:31 It is really the user's job to figure out which files you want to overwrite and don't; if you are worried about it you can also set permissions/file-attributes, too. 09:38:32 I know that dvilj4 supports filter but requires that it is explicitly specified by putting - as the filename; if you put nothing at all you get a help message and I think would be better to put the help message in the man page and make it use a filter interface. 09:38:54 (And, the filter interface by putting - is normally how I use it, too) 09:41:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 09:43:38 Something like this, generally: tex abcde; dvilj4 - < abcde.dvi | lp (although generally I would preview first) 09:55:09 Many other kind of program would be useful to work by filter as well, such as, to capture a picture from a scanner or webcam, to read captions from a TV broadcast, to do OCR or reading barcodes, preprocessors for text (or possibly even binary inputs), conversion from one format to another, and many more, too. This way you can use it with pipes and/or redirect to files. 09:55:29 Or even just to put the text on the screen, or typed in on the keyboard. 09:55:49 -!- AnotherTest has joined. 09:57:33 Isn't it? 09:59:16 zzo38: yes, maybe. I'm not sure really. 10:00:15 of course some programs require at least a seekable input file, and some even require a seekable output file. 10:00:52 for example, a video encoder like ffmpeg may or may not need to seek the input and output files, depending on the formats and options used. 10:00:55 b_jonas: Yes, I am aware of that, but many don't, even if it normally seems like it does, there are often (not always) simple ways around it. 10:01:37 I have also written a program for writing music in Amiga format; it is also working using filters (so far it ignores all command-line parameters as I have had no need to add any; however later I may want to add options for version information, search paths, and extra diagnostic outputs) 10:02:25 can you give particular examples of programs that you would like to work as a filter but they don't? 10:03:31 there's one program that I sometimes try to use with the filename in command line but that actually requires the input from stdin always: tr 10:04:19 it makes sense for avoiding human errors actually because tr takes one or two non-filename arguments, so you could make a mistake where a filename argument is interpreted as a transliteration key or the opposite 10:05:25 b_jonas: Well, dvilj4 can, but it doesn't unless you put a minus sign. And of course a lot of GUI programs are such examples too; many could possibly be designed for filter 10:06:31 maybe it's that I don't use filters too much because I'm overcompensating for how some people try to avoid temporary files at all costs even when temporary files aren't the problem (especially on sane modern operating systems where the files typically don't even have to hit the disk, and when they do have to hit the disk, then they'd better hit the swap even if you don't use a temporary file) 10:06:51 Programs such as ppMCK also are not a filter. 10:07:21 zzo38: oh, I don't use dvilj4 because I print through postscript or pdf, but I do write the laser jet printer output file with ghostscript to a temp file 10:07:59 gui programs are different, there the problem is often that the program is gui-only, and it's very hard to automate them. but I don't meet many of those programs except at work. 10:08:10 what's ppMCK? 10:08:24 ppMCK is program for writing .NSF musics. 10:09:02 Do you know anything about .NSF musics? 10:09:06 no 10:12:26 Also is there a way for a pipeline with several programs to redirect its output to the first program's input? In some cases this would be useful for making some kind of programs that could take advantage of this. 10:14:18 zzo38: there is, but most often that just leads to deadlocks that you don't discover at first 10:14:31 which is why that ability should not be well known 10:14:49 you should do that only if you're certain your program and use case can handle it 10:15:41 if you mean per #esoteric, then yes, you can do that, though I don't know why it helps 10:16:37 -!- Hjulle has joined. 10:18:47 (this seems to be a faq btw, people often want that, even if it's a bad idea.) 10:21:06 Yes I know you would have to be careful about such deadlocks and that kind of stuff 10:22:40 especially careful about deadlocks if you want the programs to be portable, because the default buffer size for the pipes depends heavily on the OS kernel you're using 10:23:27 b_jonas: libbfd is unable to read/write object files from/to streams (it needs a seekable file, which is reasonable, though it could work around that in memory), which makes it slightly more awkward to do things like a script to convert between assembly/hex given on the command line. 10:24:00 fizzie: ok 10:24:57 I use "echo ... | gcc -x c - -o - -S" reasonably often to check what sort of code gets generated by C constructs, which is nice. 10:25:15 It may also depend if a program is using nonblocking I/O and may be doing other things at the same time such as internet 10:25:30 maybe what we need is more easier and safer syntax in the shell to pass temporary files to programs such that the files are already unlinked before starting the programs and passed as /dev/fd stuff, to ensure they're always cleaned up. 10:26:10 But I think filters are the best way 10:26:12 bash has the starts for this: it has such redirection syntax now that doesn't require you to hardcode file descriptor numbers, instead bash choses them and puts them to a shell variable. 10:26:28 now we just need a syntax for such redirection that opens an unlinked temp file. 10:27:28 hmm.... 10:27:44 maybe we already have that? let me ask the bash folks. 10:33:37 Maybe what might help a bit is a syntax to start a process and pass it as a parameter to another program, so that such other program controls its file descriptors and so on. 10:34:50 (And, this process it start could actually be a pipeline instead; it shouldn't necessarily have to be a single program) 10:35:01 zzo38: I don't think you can do that. you have to start the process after you open its file descriptors to somewhere. you can make a program that does fancy setup stuff with file descriptors and then starts a program whose command line you pass to it. 10:39:00 -!- KingOfKarlsruhe has joined. 10:40:21 -!- tromp has quit (Ping timeout: 240 seconds). 10:44:51 I have no sound on this thing :( 10:48:09 unmute the volume control 10:48:23 fungot, any idea about zzo38's problem with the monitor image? 10:48:23 b_jonas: swiss federal institute of technology. the 10:48:29 um 10:49:05 fungot: Do you mean they're to blame? 10:49:05 fizzie: the behavior of your modifications of the utmost importance. implementations should be 10:49:30 ^style 10:49:30 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon* lovecraft nethack oots pa qwantz sms speeches ss wp youtube 10:49:32 Oh. 10:49:45 ^style europarl 10:49:45 Selected style: europarl (European Parliament speeches during approx. 1996-2006) 10:49:46 fungot: Do you have a statement at this juncture? 10:49:47 fizzie: mr president, mr president-in-office, commissioner, the euro is allowed to go on forever. we condemn attacks on jewish symbols and institutions in the member states in improving nuclear safety. 10:49:51 b_jonas: if it were that easy... 10:50:21 `addquote fizzie: mr president, mr president-in-office, commissioner, the euro is allowed to go on forever. we condemn attacks on jewish symbols and institutions in the member states in improving nuclear safety. 10:50:22 fizzie: madam president, under our proposals for reform, but it is not acceptable either to parliament or any parliament, even if the cost is very high and each project's timescale is measured over many years and decades. but in thinking about and working on this issue was raised by a number of other factors involved and we have to ensure that it is right to raise the issue of preventing and combating drug addiction. i should l 10:50:22 1217) fizzie: mr president, mr president-in-office, commissioner, the euro is allowed to go on forever. we condemn attacks on jewish symbols and institutions in the member states in improving nuclear safety. 10:51:07 fungot: I'm pretty sure it's right to raise the issue of preventing drug addiction. Go on. 10:51:08 fizzie: madam president, commissioner, over the past months, i have evidence that this is a very good example when it comes to the presence of certain ingredients for health reasons. 10:55:38 I wonder how much the formalities affect their productivity 10:55:50 (or possibly, their productivity is zero) 10:58:56 IIRC, there's about a 10% chance of fungot in europarl mode starting with something else than one of the customary formalities. 10:59:37 fungot, the winners of the ICFP 2014 contest will be announced tomorrow. are you excited? 10:59:38 b_jonas: mr president, i find it regrettable for them, are extremely harmful? i hope i have replied to all the members who have spoken before in this chamber and that therefore the policies that the commission does share the feelings of my group that we wish to call on all my fellow members that it is important for them to grant their approval or not, whether to work part-time or not, which is being managed so well by my collea 11:00:19 Heh. 11:00:55 ICFP 2014 tagline: "extremely harmful". 11:01:53 Their victories are regrettable. 11:14:33 Neat. One of the Racket folks is giving a talk there. 12:00:21 b_jonas: Since you were advising on monitor problems, on my netbook, since a while ago, every scanline wiggles left and right independently. 12:01:11 hey, I'm not a hardware guy really 12:01:29 um, no idea 12:02:10 Okay. 12:03:07 (I'm not even really a "programmer with a screwdriver". I only do hardware only so much as I'm required for myself so I can work with software, or quick troubleshooting for my mother or things like that.) 12:09:12 If telling off the lvds ribbon sternly doesn't work, you may need to make veiled threats against the panel. 12:10:02 fungot knows how to deal with panels. 12:10:03 Jafet: mr president, this time, aid to afghanistan, i find it extremely harmful should this not produce a single kilo of bananas, requiring a study of possible consequences for a person to have any impact on the banana market and is the first time, has been the subject of enlargement and the accession of a further court judgment will be able to move easily around the european elections, for the council and the commission share 12:12:19 -!- Lorenzo64 has joined. 12:41:42 -!- Lorenzo64 has quit (Ping timeout: 250 seconds). 13:12:46 -!- boily has joined. 13:20:55 -!- ski_ has changed nick to ski. 13:31:10 Hmm. 13:31:15 @help djinn 13:31:15 djinn . 13:31:15 Generates Haskell code from a type. 13:31:15 http://darcs.augustsson.net/Darcs/Djinn 13:31:24 That doesn’t lead anywhere. 13:33:14 @djinn a -> a 13:33:14 f a = a 13:33:50 @djinn (a -> b) -> a -> b 13:33:50 f a = a 13:34:01 @djinn (Functor f, Functor g) => (a -> b -> c) -> f a -> g b -> f (g c) 13:34:01 Error: Class not found: Functor 13:34:28 I don't know if it can work with "concrete" types 13:34:34 @djinn Int -> String 13:34:34 Error: Undefined type Int 13:34:54 No, but these are classes, and AIUI it can use Monad at least. 13:35:06 @djinn (Monad f, Monad g) => (a -> b -> c) -> f a -> g b -> f (g c) 13:35:06 -- f cannot be realized. 13:35:10 @djinn Integer -> String 13:35:10 Error: Undefined type Integer 13:35:15 oh 13:35:16 hm 13:35:25 @djinn Num a => a -> a -> a 13:35:25 Error: Class not found: Num 13:35:27 :( 13:35:36 @djinn Bool -> Bool 13:35:36 f a = a 13:36:09 @djinn f a -> a 13:36:10 -- f cannot be realized. 13:36:10 Thing is, I would have liked to read on the exact restrictions, but the help link goes nowhere. 13:36:22 @djinn Functior f => f a -> a 13:36:22 Error: Class not found: Functior 13:36:27 @djinn Functor f => f a -> a 13:36:27 Error: Class not found: Functor 13:36:33 Maybe is a Functor, right? 13:36:39 Yes. 13:36:45 -!- Patashu has quit (Ping timeout: 240 seconds). 13:36:48 @info Functor 13:36:48 Functor 13:37:19 hm 13:37:25 Functors don't have f a -> a 13:37:32 Yes. 13:37:52 @djinn Functor f => (a -> b) -> f a -> f b 13:37:52 Error: Class not found: Functor 13:38:06 Ah right. It doesn't know Functors at all 13:39:42 :t tabulate 13:39:44 Not in scope: ‘tabulate’ 13:40:08 @hoogle (Functor f, Functor g) => (a -> b -> c) -> f a -> g b -> f (g c) 13:40:10 Data.IntMap.Strict intersectionWith :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c 13:40:11 Data.IntMap.Lazy intersectionWith :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c 13:40:11 Data.Sequence zipWith :: (a -> b -> c) -> Seq a -> Seq b -> Seq c 13:40:21 … 13:40:35 @let tabulate op rs cs = fmap (\r => fmap (op r) cs) rs 13:40:35 Parse failed: Parse error: => 13:40:41 @let tabulate op rs cs = fmap (\r -> fmap (op r) cs) rs 13:40:43 Defined. 13:42:21 :t tabulate 13:42:22 (Functor f1, Functor f) => (a -> a1 -> b) -> f a -> f1 a1 -> f (f1 b) 13:43:02 -!- Melvar has quit (Quit: WeeChat 0.4.3). 13:43:20 -!- gyrusbam has joined. 13:43:20 -!- Melvar has joined. 13:45:46 @djinn (a -> b -> c) -> (a -> b) -> a -> c 13:45:46 f a b c = a c (b c) 13:46:46 -!- conehead has joined. 13:47:25 -!- tromp has joined. 13:48:39 -!- nisstyre has quit (*.net *.split). 13:48:44 @djinn (forall a b. (a -> b) -> f a -> f b) -> (forall a b. (a -> b) -> g a -> g b) -> (a -> b -> c) -> f a -> g b -> f (g c) 13:48:44 -- f cannot be realized. 13:49:22 @djinn (forall a b. (a -> b) -> f a -> f b) -> (forall a b. (a -> b) -> g a -> g b) -> (x -> y -> z) -> f x -> g y -> f (g z) 13:49:22 -- f cannot be realized. 13:50:03 -!- nisstyre has joined. 13:50:24 -!- gyrusbam has quit (Read error: Connection reset by peer). 13:53:48 -!- TieSoul-AWAAAY has changed nick to TieSoul. 14:12:52 -!- b_jonas has quit (Quit: Changing server). 14:18:45 -!- impomatic_ has quit (Ping timeout: 240 seconds). 14:58:08 @djinn (a -> b) -> (b -> c) -> (a -> c) -> Bool 14:58:09 f _ _ _ = False 14:58:16 hm 14:58:24 @djinn (a -> b) -> (b -> c) -> (a -> c) -> a -> b -> Bool 14:58:24 f _ _ _ _ _ = False 14:58:45 oh wait 14:58:56 @djinn (a -> c) -> (b -> c) -> a -> b -> Bool 14:58:56 f _ _ _ _ = False 14:59:07 how uncreative 14:59:38 @let apCmp f g a b = (f a) == (g b) 14:59:41 Defined. 14:59:44 @type apCmp 14:59:45 Eq a => (t -> a) -> (t1 -> a) -> t -> t1 -> Bool 14:59:48 @djinn (a -> c) -> (b -> c) -> (c -> c -> d) -> a -> b -> d 14:59:48 f a b c d e = c (a d) (b e) 15:00:02 Taneb: You highlighted me some hours ago? 15:00:26 Regarding ESOSC and the brainfuck survey 15:00:37 Ah. 15:00:51 I remember that I wrote a draft based on the survey results 15:01:49 http://eso.mroman.ch/ESOSC/s/2014-3/ESOSC-2014-D3-R1.pdf 15:02:02 I'm not sure what the state of that Draft was though 15:03:54 Could you close the poll and release the results? 15:05:07 Taneb: sure 15:05:17 Let me just use this "Forgot password" function :D 15:06:20 -!- b_jonas has joined. 15:08:07 Taneb: https://de.surveymonkey.com/results/SM-JZ78GR8L/ 15:09:01 oh 15:09:16 produce error on leave the tape to the left 15:09:25 has just barely won the race 15:09:30 a while ago it was clearly behind 15:10:39 I think perhaps we should make the standard say that should be implementation defined 15:11:12 well 15:11:14 yeah 15:11:26 otherwise we'd ignore the poll if we keep it "unbounded to the left" 15:11:56 We *could* recommend to make it unbounded to the left but it's implementation defined in the end 15:12:20 but 15:12:21 I mean 15:12:26 we'd ignore the poll by that too 15:12:34 since the poll says it should produce an error 15:13:01 so the first question is: How seriously do we take the results? 15:14:01 We asked for them, so I think we should take them fairly seriously 15:14:24 Although for question 1 I would have rather answered "the cells should be unbounded" 15:14:29 You could start a poll for that. 15:14:40 Jafet: psst 15:16:09 Well, then leaving the tape to the left is an error 15:16:13 that's what the poll said 15:16:17 with a 1% lead or so 15:18:03 Because it was so close, can we add a note that says something to the effect of "Implementations are welcome to expand the tape to the left also, but programs should not depend on this behaviour" 15:18:59 You can always add something like "but your interpreter might offer a language extension that can be enabled to support unbounded cells to the left" as well 15:19:51 generally I'd recommend not relying on unbounded memory to the left, yes 15:20:22 -!- AndoDaan has joined. 15:20:36 technically a standard compliant interpreter *has to* produce an error 15:20:41 at least in standard compliant mode 15:21:05 but you could add a switch --non-std or whatever 15:21:19 I'd still prefer "May produce an error or may extend to the left" 15:21:38 Me too 15:22:35 but just be aware, that we somehow interpret the close lead differently than a huge lead ;) 15:22:42 by doing that 15:22:57 They're one vote away from parity! 15:23:11 it's closed now ;) 15:23:14 but ok 15:23:22 I'll vote for "implementation defined" too 15:24:40 nortti? 15:24:45 When reaching an intersection, you should yield to the left. But it's ok to yield to the right, too. Some drivers may do that. 15:24:51 nortti is away 15:26:24 gotta catch train 15:26:27 until later 15:27:30 -!- boily has quit (Quit: VARNISHED CHICKEN). 15:29:00 -!- Ando has joined. 15:29:15 -!- AndoDaan has quit (Ping timeout: 255 seconds). 15:44:21 -!- Ando has quit. 15:50:14 -!- impomatic_ has changed nick to impomatic. 16:04:18 fungot: Will you make yourself standards-compliant now? 16:04:19 fizzie: we have voted ecu 200 billion per year, and is a credit to the substantive improvements which are being presented to this tribunal. i hope that in the neighbouring country of cambodia? this question is vital, and urgent, for the closing-down of sellafield? 16:04:47 Man, making a brainfuck interpreter is more expensive than I thought. 16:05:53 I used to have a teddy bear called "Sellafield Bear" 16:05:58 Because he glowed in the dark 16:06:13 -!- Phantom_Hoover has joined. 16:09:33 -!- Hjulle has quit (Ping timeout: 240 seconds). 16:11:32 how do you say: pack an umbrella (eg. for the vacation)? {se bevri punji lo santa}? 16:11:58 or, um, {se bevri setca lo santa}? 16:12:04 I feel there must be some better way to say this 16:12:24 What language is this? 16:12:31 ah, sorry, wrong channel then 16:12:38 :-( 16:12:48 (it's lojban, and supposed to go to #lojban ) 16:18:10 * Melvar giggles. 16:19:07 I thought for a moment this was #jbopre and Tene had sarcastically commented. 16:32:06 -!- TieSoul has left. 16:43:07 Taneb: I'd say left on cell 0 is an error 16:44:32 -!- boily has joined. 16:49:37 -!- DootBot has quit (Remote host closed the connection). 16:52:30 Taneb: The problem with implementation defined is 16:52:41 that you can't say no more "it will run in any ESOSC-BF compliant interpreter" 16:53:20 I just thought about that in the train 16:53:33 so I've changed my opinion to "it has two be one of those two but not both" 16:53:37 either unbounded or error 16:53:40 but not both 16:54:07 What again were the reasons for unbounded/error? 16:54:14 unbounded because of symmetry to >? 16:54:48 error because most BF implementations don't support unbouned-to-left 16:55:10 I think a great amount of implementations really don't support it, yes 16:55:26 although some implementations use an array of size N 16:55:35 and have the pointer initialized to N/2 16:55:49 but then the array is of fixed size 16:55:55 so neither unbounded to the left nor right 16:56:33 also moving to the left requires a realloc 16:56:47 with an extra copy 16:57:00 (as realloc usually appends more space to the right, and not to the left) 16:58:03 regarding that error looks really like a good option 16:58:14 and it's still the leading option in the poll 16:58:36 also "unbounded to the left but not recommended to rely on" is well.... 16:58:41 might as well say it's an error 16:58:49 rather than supporting it but not recommending it 16:59:00 maybe you could allocate to the right but use even cells as greater than zero and odd as less than zero, or something 16:59:03 fuck ur cache 16:59:07 Implementors are always free to add a command line switch to switch to "unbounded to the left" 16:59:19 Bike: some implementations do that 16:59:23 (mine does for example) 17:00:39 I'm in favor of error 17:01:56 -!- MoALTz has joined. 17:11:40 -!- boily has quit (Quit: WeeChat 0.4.2). 17:15:34 https://ghc.haskell.org/trac/ghc/ticket/9439 17:17:00 lol. 17:22:03 The Factor subreddit is called "Factor wanking" 17:22:25 I do not know why... and I assume nor does the person who asked about it 3 years ago and received 0 responses 17:24:46 "Macros akin to those in Common Lisp, but hygienic like Scheme, because if you don’t have variables, you can’t capture them." 17:25:06 Hmm.... but there's a lexical variable macro... how might other 'macros' interfere with that? 17:51:48 How strict are you with respect to the functional style in your own programs? 17:51:58 J_Arcane: lazy 17:52:20 :D 17:53:47 i only write in snobol, so that would be impractical 17:54:39 J_Arcane: I do not quite understand the question. 17:54:57 Well, when working with Lisps or other functional programming languages. 17:55:22 I don't know; I have not written a program in Lisp. 17:55:56 Like, I know we have some Haskellers here, and that always seems to me like it more or less doesn't work any other way, but Lisp is more flexible, and it seems like there's an attitude in the community towards nevertheless programming in the functional style as much as possible. 17:56:02 J_Arcane: I always try to adhere to functional style, especially when coding in an imperative language 17:56:36 Actually I have thought that combining Haskell and Lisp might be good idea 17:56:51 i only write lisp as our forfathers intended: with prog 17:58:38 zzo38: Well, there have been a number of efforts to introduce monads into various lisps. 18:00:02 I confess to having no familiarity with them at all yet, so I wouldn't know what to do with them. 18:00:30 I am not talking about monads 18:00:44 I mean Haskell with Lisp-like macros 18:00:46 monads are just a particular API, if you want "haskell" you're gonna want more like, recursive data whatever 18:01:01 Ahh. 18:02:15 Sum types. Sum types are good. 18:03:46 Monads are just a particular type class; or, in object oriented programming, is like an interface. But there are also comonads and stuff like that too. 18:06:34 But anyways I meant macros 18:09:42 -!- Imaginer1 has joined. 18:09:47 Hey guys. 18:09:58 Anyone here versed a bit in Python? I need a smidge of help. 18:10:26 I know a bit of Python. 18:10:41 Well, I'm not exactly dealing with a low-level problem. 18:10:55 I'm trying to allow Python to accept inputs from command-line, would that be a sys module? 18:10:56 and which one? 18:11:18 sys.argv 18:11:30 Yeah, but 18:11:31 not that 18:11:44 It's interpreting code in another language 18:11:51 once it's interpreted it might prompt the user for input 18:12:00 sys.stdin 18:12:08 thanks, I'll look up the syntax... 18:17:17 This is... horrific 18:17:18 agahds. 18:23:48 -!- Lorenzo64 has joined. 18:29:15 -!- Vorpal has joined. 18:31:52 < nortti> error because most BF implementations don't support unbouned-to-left – Why is that? 18:32:33 why most don't support it? 18:32:56 probably since it would, in many cases, be harder to implement 18:43:23 Wahoo! I did it 18:44:35 Melvar: It's harder to implement, I'd say 18:45:36 @aks Taneb Can you live with error on leaving left? 18:45:36 Maybe you meant: ask arr 18:45:41 no 18:45:48 @ask Taneb Can you live with error on leaving left? 18:45:48 Consider it noted. 18:45:54 I didn't mean to aks arr 18:45:57 whoever arr is 18:46:01 @arr 18:46:02 Keelhaul the swabs! 18:46:06 data Tape a = Tape a [a] a [a] 18:46:06 @arr foo 18:46:07 Aye 18:46:12 @arr bar? 18:46:12 Smartly me lass 18:46:18 oh 18:46:22 it's pirate talk. 18:46:35 Why does Tape a have two heads? 18:46:43 Tape [a] a [a]? 18:46:51 [wiki] [[Cork]] http://esolangs.org/w/index.php?diff=40381&oldid=40329 * 173.17.62.235 * (+102) 18:46:56 wahoo 18:46:57 That's not what Melvar emitted 18:47:04 Yeah 18:47:09 I know 18:47:35 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 18:48:29 Sgeo_: I decided I wanted to be able to dump the touched portion of the tape, so I made only the touched portion exist. The first a is the value of untouched cells. 18:51:04 Ah 18:52:20 left (Tape z [] m rs) = Tape z [] z (m:rs); left (Tape z (l:ls) m rs) = Tape z ls l (m:rs) 18:53:36 You're doing it wrong 18:53:52 Apparently that file is from 2011. 18:53:55 If it aint Zippers, Functors, Monads you ain't doi'n it wrong. 18:54:02 damn 18:54:08 you ain't doin' it right 18:54:11 Which is newer than I thought. 18:54:23 It's got to have at least Zippers 18:54:41 and you should work some lenses in there too 18:55:19 I’m pretty sure I had never heard of lenses when I wrote that file. 18:55:25 :) 18:55:34 I mean, in programming context. 18:55:39 Rule of thumb is that if I can understand it you're not using enough fancy stuff 18:56:22 branch :: (Boolesy a) => BF a -> BF a – And Boolesy, what silliness that was. 18:57:58 Apparently I did know what a monad transformer is: type BF a = StateT (Tape a) IO () 18:58:05 left <$> inc `app` $>> right `app` dec 18:58:09 ;) 18:58:36 @type (<$>) 18:58:37 Functor f => (a -> b) -> f a -> f b 18:58:50 that's just fmap? 18:58:55 Yes. 18:59:00 hu 18:59:10 why did I think <$> is some complicated cattheory stuff 18:59:20 > (+1) <$> Just 5 18:59:21 Just 6 19:00:10 In Haskell, anyway; one of the traps of Idris is that its (<$>) is Haskell’s (<*>) instead. 19:00:22 ( :t (<$>) 19:00:22 Prelude.Applicative.(<$>) : Applicative f => f (a -> b) -> f a -> f b 19:00:22 Effects.(<$>) : Eff (a -> b) xs (\v => xs) -> Eff a xs (\v7 => xs) -> Eff b xs (\v8 => xs) 19:00:22 BotPrelude.LiftEq.(<$>) : (f = g) -> (x = y) -> f x = g y 19:00:29 @type (<*>) 19:00:31 Applicative f => f (a -> b) -> f a -> f b 19:00:37 Or, well, one of them. 19:00:43 hm 19:01:00 Just (\x -> x + 1) <*> Just 6 19:01:06 > Just (\x -> x + 1) <*> Just 6 19:01:08 Just 7 19:01:11 sweet 19:01:47 > [(+1), (+6), (*3)] <*> [8, 4, 8, 33] 19:01:48 can't find file: L.hs 19:01:52 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 19:01:55 alas 19:02:08 i guess [] isn't an applicative probably. 19:02:23 > [(+1), (+6), (*3)] <*> [8, 4, 8, 33] 19:02:24 [9,5,9,34,14,10,14,39,24,12,24,99] 19:02:46 lambdabot what'd i ever do to you 19:02:51 -!- doesthiswork has joined. 19:04:09 ( [(+1), (+6), (*3)] <$> [8, 4, 8, 33] 19:04:10 (input):1:20:When elaborating an application of function BotPrelude.LiftEq.<$>: 19:04:10 Can't unify 19:04:10 Vect (S n) a 19:04:10 with 19:04:10 f = g↵… 19:04:43 Aha. I was wondering what the failure mode would be, and it did two failure modes at once. 19:04:49 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 19:05:00 ( with List [(+1), (+6), (*3)] <$> [8, 4, 8, 33] 19:05:00 [9, 5, 9, 34, 14, 10, 14, 39, 24, 12, 24, 99] : List Integer 19:06:19 ( with Vect [(+1), (+6), (*3)] <$> [8, 4, 8] 19:06:20 [9, 10, 24] : Vect 3 Integer 19:07:51 ha. so what's with do 19:08:52 I wonder, is there a name for Monads where for all mx and f, do { x <- mx; y <- mx; f x y } == do { x <- mx; f x x } ? 19:09:16 Bike: ? 19:09:27 with List, with Vect, wassat 19:10:26 “with NS expr” prefers names from namespace NS when elaborating expr, if ambiguity arises. 19:12:34 -!- AnotherTest has quit (Ping timeout: 250 seconds). 19:29:02 -!- Imaginer1 has joined. 19:29:09 Hey guys 19:29:20 fungot, nice to see ya 19:29:20 Imaginer1: i can confirm that technical measures cannot be allowed to continue, you also welcome the european commission’s argument, as regards the coordination of measures by the international criminal court is going to ask just one question: in this third series of speeches, even though not everything is, apparently, it is unacceptable, since a lot of difficulties with this. 19:37:36 -!- ais523 has joined. 19:42:19 NOOOOO 19:42:26 I JUST WROTE A AWESOME PROGRAM IN THU 19:42:29 AGHB 19:42:43 AND NOW THE THING FROZE AND I CAN'T SAVE IT OR EVEN COPY IT GAHDSIHG 19:43:06 rip 19:43:52 it was a tag system emulator 19:44:30 for the collatz sequence 19:47:20 argh 19:47:26 what froze? 19:49:35 http://lolwh.at/~amb/thue.html 19:49:38 it freezes with infinite loops 19:49:58 I would add a counter to the javascript to let it prompt you every few hundred loops if you want to continue 19:53:02 awesome 19:53:05 got it working 19:57:58 Or don't use a Javascript loop at all? 20:00:35 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 20:04:41 -!- drdanmaku has joined. 20:05:49 -!- Phantom_Hoover has joined. 20:14:18 -!- Imaginer1 has joined. 20:14:21 Well, you kinda have to if you're using javascript to run Thue 20:14:51 i mean, the idea is 'find replacement -> substitute -> repeat while substitutions exist' 20:15:34 ^show 20:15:35 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2 backwards output 20:16:35 Underload has no input support and that is soul-crushing 20:18:46 Imaginer1: sorry 20:18:58 I'm planning input support with Underlambda 20:19:01 but it's actually really hard to do 20:19:03 Also, I have trouble understanding why -any- finite memory machine can be -entirely- turing complete 20:19:13 (I understand, ais ^^) 20:19:25 Imaginer1: it can't be without some sort of access to an external memory store 20:19:37 knew it 20:26:19 -!- Hjulle has joined. 20:33:24 Is Unison considered good for file sync? 20:37:13 The Thue thing should probably just run a few hundred iterations and then reschedule itself using setTimeout; that way you don't need to prompt, yet you don't make an unresponsive browser (and can provide a "stop working" button somewhere on the page). 20:37:18 (Web Workers would be the fancy HTML5 solution to this.) 20:40:59 -!- barrucadu has joined. 20:45:19 Few hundred, instead of every? 20:45:48 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 20:48:29 Well, I'm no web developer, but my gut feeling is that there would be overly much overhead with an every-iteration setTimeout. 20:48:47 Depending, of course, how costly each iteration is. 20:52:27 I was remembering RequestAnimationFrame or whatever it’s called but that probably doesn’t work if you’re not animating something. 20:55:08 There seems to be a fixed 4ms lower bound for setTimeout(..., 0), so that'd give a hard upper limit of 250 replacements/second (if you were to call it on every round), which doesn't sound like very much. 20:55:40 Anyway, Web Workers lets you spawn real OS-level background threads so it's clearly superior, if more convoluted. 20:55:46 Melvar: RequestAnimationFrame is basically the web equivalent of vsync 20:55:56 except it isn't literally vsync IIRC, just vaguely similar 20:57:02 Apparently there's also a very non-standard interface called (silly name) setImmediate: https://developer.mozilla.org/en-US/docs/Web/API/Window.setImmediate 21:00:12 -!- rollertrump has joined. 21:03:39 -!- Patashu has joined. 21:08:26 ais523: To my understanding, it’s about the browser saying when and how often rendering should happen, such as not at all if none of the window or tab is visible. 21:25:12 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 21:26:27 -!- Patashu has quit (Ping timeout: 245 seconds). 21:32:22 -!- qlkzy has quit (Ping timeout: 240 seconds). 21:32:28 -!- impomatic has quit (Read error: Connection timed out). 21:35:51 -!- oerjan has joined. 21:36:03 -!- Phantom_Hoover has joined. 21:36:33 -!- callforjudgement has joined. 21:38:42 -!- ais523 has quit (Ping timeout: 255 seconds). 21:38:48 -!- callforjudgement has changed nick to ais523. 21:41:59 -!- qlkzy has joined. 21:58:05 -!- Imaginer1 has joined. 21:58:08 I need help. 21:58:12 http://pastebin.com/5UrJNPcP 21:58:15 What's wrong with this code/ 21:58:42 it stops after what should be the second loo and freezes up 22:01:02 elif cmd in responses.keys(): 22:01:03 responses[prevout].append(cmd) 22:01:26 You test for 'cmd', yet try to look up 'prevout'. 22:01:37 aaaah 22:01:45 thanks ^^ i knew it would be something dumb 22:01:54 (Same for the other branch.) 22:06:25 -!- vravn has joined. 22:07:17 Incidentally, foo.setdefault('key', []).append('x') may come in handy: http://sprunge.us/LZHd 22:07:20 Might be slightly suboptimal w.r.t. creating and discarding the [] every time. 22:07:40 thanks! 22:12:48 Awesome. 22:12:57 I just wanted to demonstrate how I was told Cleverbot worked to a friend. 22:13:06 But actually, I think I might mess around with this :D 22:13:25 But for it to be useful I'll add a $(words) that lets you think 'for the computer' 22:20:31 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 22:22:48 $words and $worcery 22:41:43 -!- Hjulle has quit (Quit: Konversation terminated!). 23:45:24 -!- doesthiswork has quit (Ping timeout: 260 seconds). 23:45:49 -!- ais523 has quit. 23:52:12 It seems weird that to and from aren't opposites 23:52:32 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:56:35 heh 23:57:44 with pure profunctor lenses you can make a much better from 23:58:31 I know how to write from I think, but what's the name of that profunctor? 23:58:40 Unless you mean make from and to actual opposites 23:59:16 That's boring. The inverse of to is view. 2014-09-02: 00:00:03 It's not boring. from should, given a function a -> b, make a Getter' b a 00:01:49 -!- Frooxius has quit (Read error: Connection reset by peer). 00:02:49 -!- Frooxius has joined. 00:05:28 Are there going to be SQL extensions for dealing with pictures, sounds, music, internet, GUI, plotting graph of the data, typesetting, printer, ephemeris, as well as such a thing as databases containing various data such as chemical, political, geographical, weather, word lists, etc...? 00:07:34 Therefore you can combine all of these things by using ATTACH command and LOAD_EXTENSION and various functions (including aggregates). 00:11:15 Many sets of data are posted in other formats such as CSV (although I think tab separated is better anyways), HTML, Microsoft Excel, and sometimes also XML; but I would like to see many such thing in SQLite format. 00:11:55 At least I think it would make the data easier to deal with. 00:12:07 I don't know quite what is your opinion. 00:12:59 -!- doesthiswork has joined. 00:17:13 Virtual tables could be used for accessing RDF and other XML based formats; virtual table could also be for accessing other file formats, for accessing the windows on the screen, manage network connections, etc 00:19:15 shachaf: what's the name of the profunctor used by from? 00:19:29 Un? 00:19:36 Exchange, in lens? 00:21:47 Exchange sounds like a good name. Don't really know what Un is, I thought that was that unlens thing 00:32:38 It is. 00:32:51 from turns an optic into the corresponding unoptic. 00:32:57 I think we called it re. 00:33:09 It was how I sold edwardk on pure profunctor optics. 00:38:49 Another thing I want to see in SQLite format are comparison tables. 00:39:08 (for comparing various kinds of things, whether computer software or otherwise) 00:54:26 I still don't get what an unoptic is 00:59:44 -!- MoALTz_ has joined. 01:02:52 -!- MoALTz has quit (Ping timeout: 260 seconds). 01:11:52 -!- Lorenzo64 has quit (Ping timeout: 245 seconds). 01:21:27 -!- FreeFull has quit (Ping timeout: 245 seconds). 01:23:45 -!- FreeFull has joined. 01:23:47 -!- FreeFull has quit (Changing host). 01:23:48 -!- FreeFull has joined. 01:27:10 -!- Lorenzo64 has joined. 01:34:10 -!- up2quark has joined. 01:34:15 Hello 01:35:09 -!- up2quark has left. 01:59:08 `addquote Rule of thumb is that if I can understand it you're not using enough fancy stuff 01:59:09 1218) Rule of thumb is that if I can understand it you're not using enough fancy stuff 02:03:07 Other things I want to have in SQL (with data files, extensions, and/or network services) include surveys and collaborative tables. 02:03:14 Are there such things? 02:04:11 ( :t (<$) 02:04:11 Prelude.Applicative.(<$) : Applicative f => f a -> f b -> f a 02:04:20 ( :t ($>) 02:04:20 Prelude.Applicative.($>) : Applicative f => f a -> f b -> f b 02:04:29 bah 02:04:50 That's different from Haskell, which is (<*) and (*>) 02:05:10 i know. Melvar mentioned <$> in the logs, which is also different. 02:05:29 Why are they calling these things differently like this? 02:05:34 so i was wondering if idris had actually done the logical thing i'd thought of with the two others. 02:05:37 but no. 02:06:09 zzo38: well <$> _is_ more logical than <*> if you are starting out naming them 02:06:32 except if you do that, i think fmap should be $> 02:06:49 and it isn't that in idris either 02:07:24 although part of the problem is that < and > are also used in two senses in applicative notation 02:07:51 sometimes it means "this is something applicative", other times it means "return the right or left part as pointed to" 02:08:30 oerjan: what would you rename (<*) and (*>) to? 02:08:41 I don’t know how the operators got named as they are. 02:08:42 I guess you'd want operators for const and flip const and use that or something. 02:09:25 elliott: lessee, rename (<*) to *<* and (*>) to *>* 02:09:39 oerjan: wait, what? 02:09:48 now (<$) can be <* 02:09:52 :t (<$) 02:09:53 Functor f => a -> f b -> f a 02:10:39 elliott: i said i wanted to separate the two meanings of <>, didn't i? if we use $ instead of * then we can reuse * for the meaning that says "applicative" 02:11:01 (<$>) becomes $* 02:11:10 I see. 02:11:31 oerjan: perhaps the ideal symbol for * is banana brackets (depending on which side it's on) 02:11:33 the not standard but defined in lens (??) becomes *$ 02:11:49 since a (|$|) b would be (| a $ b |). 02:12:13 oerjan: and (<**>)? :p 02:12:18 oh that 02:12:28 *&* I guess 02:12:33 first we need a symbol for reverse application, so take lens... right 02:13:12 :t (<**>) 02:13:13 Applicative f => f a -> f (a -> b) -> f b 02:14:14 ( with List [| [1,2,3] + [4,5,6] |] 02:14:15 (input):1:14:When elaborating an application of function BotPrelude.LiftEq.<$>: 02:14:15 Can't unify 02:14:15 List a 02:14:15 with 02:14:15 x = y↵… 02:14:23 … 02:15:22 idris, the language that has even sillier type errors than haskell 02:17:26 ( with Applicative [| [1,2,3] + [4,5,6] |] 02:17:26 When elaborating an application of function Prelude.Applicative.pure: 02:17:27 Can't disambiguate name: Prelude.Classes.+, Prelude.Fin.+ 02:17:46 … 02:18:19 ( the (List Integer) [| [1,2,3] + [4,5,6] |] 02:18:19 [5, 6, 7, 6, 7, 8, 7, 8, 9] : List Integer 02:18:47 elliott: banana brackets seem a little heavy but maybe just | would be good 02:18:56 oerjan: they're a bit heavy in ascii, yeah. 02:19:02 except then <| clashes with Data.Sequence 02:19:18 but probably the others also clash with something i don't remember 02:19:20 Why did they decide to make both list comprehension notation and do notation in Haskell? It would be better to combine them into one kind of command. 02:19:28 oerjan: btw, *>* should be liftA2 (>) :p 02:19:51 the thing with <| is that the < looks like the outside and the | the inside... |<| and stuff is sorta weird 02:20:43 elliott: i have no scrubles repurposing < and > there, they're just not useful enough to do that with 02:20:47 *scruples 02:21:25 I sort of feel like a lot of the "only partially applicative" ones are a little redundant. 02:21:33 (const x <$> y) is just as good as (x <$ y), really. 02:21:47 I guess that's the only one. 02:22:45 elliott: Although <$ is convenient shortcut in many cases, I think 02:22:45 -!- tromp has quit (Read error: Connection reset by peer). 02:22:54 -!- tromp has joined. 02:24:15 First I would have do notation has a macro instead of built-in; another is that, rather each item in the block can be: Using a pattern and <- and the wrapped value and a semicolon, using a pattern and = and unwrapped value and a semicolon, a wrapped value and semicolon, or only at the end, unwrapped with no semicolon. Guards are allowed in all of these patterns, and so is a guard by itself with no pattern nor <- and = 02:25:11 What does a guard do? Force MonadPlus? 02:25:24 I wonder once more, is there a name for Monads where for all mx and f, do { x <- mx; y <- mx; f x y } ≡ do { x <- mx; f x x } ? 02:25:37 Sgeo_: the same thing as any refutable pattern, i assume 02:25:44 eww 02:27:00 Melvar: that reminds me of affine commutative IO proposal 02:27:09 so possibly "affine" 02:27:52 In particular the Monad instances of (Vect n) and Stream fulfill this equivalence. 02:29:06 Reader also, i think. 02:29:31 I've heard someone call monads where bind never calls the function it's passed more than once 'affine'. No idea if that's related 02:29:39 Or a reasonable use of that name 02:29:52 and the ACIO monad would fulfill it, as that was part of its purpose 02:29:52 (e.g. most things except []) 02:29:56 Well, both of those are equivalent to Readers. 02:30:24 *-l 02:31:07 Sgeo_: I would say a guard would be forcing MonadPlus, yes 02:32:42 lambdabot what'd i ever do to you <-- "can't find file: L.hs" is essentially a kind of race condition in lambdabot 02:33:40 Okay, so I guess that’s affine. And the order the actions are specified in being irrelevant presumably is commutative? 02:33:54 yeah 02:34:22 although when i googled ACIO just now, the hits seemed to imply C is for "central". 02:34:23 Well, I would think, "commutative", as a commutative applicative at least, would mean that (x <* y) is same as (y *> x) 02:34:40 zzo38: that's at least implied 02:34:42 -!- Bike has quit (Quit: leaving). 02:35:02 Implied by what for what purpose? 02:35:12 or more generally, f <$> x <*> y = flip f <$> y <*> x 02:35:36 zzo38: by my understanding of what "commutative" means for monads 02:35:38 Well, yes, that is another way too 02:35:51 zzo38: possibly they are equivalent. 02:35:59 I don't seem to see what "commutative" means for monads, only for applicative. 02:36:14 but it's not obvious 02:36:15 -!- AndoDaan has joined. 02:36:35 zzo38: yes i think a monad is commutative exactly when its corresponding applicative is 02:36:53 OK 02:37:23 Maybe another way is: fmap swap . liftPair = liftPair . swap 02:37:59 -!- Bike has joined. 02:38:05 hm actually i think just <* vs. *> loses too many ways of combining the results to imply the full thing 02:39:23 Does it? Maybe 02:39:49 basically, you get no result information from y 02:40:24 If that is the only problem then the two other ways are working. 02:40:29 so you know the _effects_ commute, but not whether the whole thing does. 02:41:30 Ah, I suppose you are correct, then 02:41:41 It makes sense 02:42:18 Melvar: wait, what's Stream there? 02:42:37 oh. 02:42:42 presumably the obvious diagonalisation instance? 02:43:09 So then f <$> x <*> y = flip f <$> y <*> x or fmap swap . liftPair = liftPair . swap is doing it? 02:43:12 -!- tromp has quit (Ping timeout: 260 seconds). 02:43:35 elliott: That would be the only one I know of that agrees with its Applicative instance. 02:43:51 i saw someone in a stackoverflow question essentially reinventing the Monad instance for Maybe (he had got to Applicatives in the course) in order to solve a problem. except he had defined join and zzo38's liftPair. 02:44:03 *only got 02:44:09 oerjan: iow, f <$> x <*> y = y <**> f <$> x? 02:44:16 :t \f x y -> f <$> x <*> y == y <**> f <$> x 02:44:17 Precedence parsing error 02:44:17 cannot mix ‘<*>’ [infixl 4] and ‘==’ [infix 4] in the same infix expression 02:44:17 Precedence parsing error 02:44:24 :t \f x y -> (f <$> x <*> y) == (y <**> f <$> x) 02:44:25 Eq (a -> b) => (a -> a1 -> b) -> (a -> a) -> (a -> a1) -> Bool 02:44:39 :t (<**>) 02:44:40 Applicative f => f a -> f (a -> b) -> f b 02:44:42 oh 02:44:45 :t \f x y -> (f <$> x <*> y) == (y <**> f <*> x) 02:44:46 Occurs check: cannot construct the infinite type: b ~ a -> b 02:44:46 Expected type: a -> a1 -> a -> b 02:44:46 Actual type: a -> a1 -> b 02:44:52 :( 02:45:13 :t \f x y -> (f <$> x <*> y) == (y <**> (f <$> x)) 02:45:14 (Applicative f, Eq (f b)) => (a1 -> a -> b) -> f a1 -> f a -> Bool 02:45:14 elliott: well or simpler: (<*>) = flip (<**>) 02:45:20 oerjan: right. 02:46:55 elliott: That would be the only one I know of that agrees with its Applicative instance. <-- since Streams have only one "shape", the uniqueness of Monad from Applicative follows 02:47:03 oerjan: Do you mean only join and liftPair and not anything else? That wouldn't be very good. 02:47:16 I was mixing up Steram and ZipList or something. 02:47:49 And similarly (Vect n) has only one shape for each n, I guess. 02:48:17 ( the (Vect _ Integer) [| [1,2,3] + [4,5,6] |] 02:48:18 [5, 7, 9] : Vect 3 Integer 02:49:02 zzo38: yes, although e knew about Functors so e had fmap 02:49:30 i guess that's "no", really :P 02:50:24 elliott: well Stream is the subset of all ZipLists of that shape. 02:50:30 yeah. 02:50:33 and each shape is a Monad, i think. 02:50:48 You had fmap? Then you have liftPair, you should need pure, too, then. 02:50:52 because it's really Reader on a subset of Nat 02:51:08 yeah. 02:51:14 on (Fin n) for some n. 02:51:33 zzo38: well e had pure also, but e didn't use it for Maybe iirc 02:52:01 ...or all of Nat, for Streams. 02:53:06 n = fix Succ! 02:53:24 that works. you could define FinOrMaybeInfin as Conat -> Type. maybe. probably. 02:53:30 it'd have to be codata of course. 02:54:30 i still haven't quite wrapped up the proof that ZipList monad is impossible. i discovered that if the lists are length <= n then the result must also be, because take n is join . replicate n = join . fmap (replicate n) if join exists 02:55:03 um 02:55:13 yes, that was it 02:55:55 and so if you take n at any depth in the m (m a) it commutes out with the join 02:56:40 For optimizing Z-machine text encodings, I have one thing already, which is figuring out the preferred states before each character, in order to figure out which way is shortest (you must skip spaces and fwords in order to do so, since they are unaffected by shift states). However, there are the two other things: Suffix optimization, and filling in the frequent words table. 02:57:14 ( :t fibs 02:57:14 No such variable fibs 02:57:31 * oerjan is obviously mixing notation there 02:57:40 ( :let fibs : Stream Nat; fibs = 0 :: 1 :: [| fibs + tail fibs |] 02:57:40 defined 03:00:38 For filling in the frequent words table, I have thought of counting the number of "demerits" for each possibility and using the ones with negative demerits. However, this would be really slow and inefficient if all possibilities are counted like this. 03:02:41 For suffix optimization I could make it to sort by reverse, although also one case is if the suffix is capitalized first letter when used by itself but not when together with the prefix, is also usable in Z-machine encoding; perhaps a way to work this is to use a different character order than the ASCII order when sorting. 03:04:29 -!- tromp has joined. 03:06:13 And then there is the case that a frequent word (which, despite the name, can be any string and doesn't have to consist of a single word) spans the part of the prefix and suffix (or even the beginning of the suffix alone if it is capitalized). 03:07:07 Do any of you know???? 03:07:14 I do not know 03:17:17 -!- Lorenzo64 has quit (Ping timeout: 245 seconds). 03:23:07 -!- conehead has quit (Quit: Computer has gone to sleep). 03:25:49 * Sgeo_ rewatches In the Pale Moonlight 03:50:42 -!- sebbu has quit (Ping timeout: 245 seconds). 04:00:41 -!- MoALTz__ has joined. 04:03:28 -!- MoALTz_ has quit (Ping timeout: 260 seconds). 04:05:30 -!- MoALTz has joined. 04:08:08 -!- MoALTz__ has quit (Ping timeout: 260 seconds). 04:20:15 -!- Lorenzo64 has joined. 04:20:55 This is one idea of Magic: the Gathering card: Put the top card of each player's library on the stack. 04:21:38 zzo38: They've said that they don't want to make any cards that mention the stack explicitly. 04:22:04 Yes, I know that, but still *I* want to mention the stack explicitly. 04:22:45 What would its mana cost be? 04:24:01 What would it mean to put a card on a stack? 04:24:04 What if it has targets? 04:24:17 What if it's land? 04:24:22 If it has targets then it fails when it resolves, I suppose. 04:24:34 If it is a land, then I would think it would just come into play anyways 04:24:46 Lands don't go on the stack normally, though. 04:24:53 I know that 04:24:57 shachaf: I'm curious where they've said they don't want to mention the stack? 04:25:02 What if you've already played a land? 04:25:04 Might be more fun reading 04:25:09 All sorts of places. 04:25:11 http://archive.wizards.com/Magic/magazine/article.aspx?x=mtgcom/daily/mr255 04:25:32 ty 04:25:32 If you have already played a land, at least what I would think, is, that isn't a problem and doesn't prevent you from playing another land. 04:32:10 But I also believe that Magic: the Gathering is too klugy and should be made up from the beginning over in the more mathematically elegant way, fixing other problems too (so, instead of a library it will be called a draw pile, a graveyard is now a discard pile, antes are returned at the end of a match and the ante zone exists even though it is initially empty, "outside of the game" *never* refers to a player's collection of cards they physically o 04:32:38 what a zzo38y thing to say 04:32:50 You were cut off after "physically o", by the way. 04:33:06 No, that's all I wrote 04:33:32 O, now I see. 04:34:39 you'd be taking all the flavor of the game, alienate the few remaining fans and kill the franchise! 04:34:40 "Cards you own outside of the game" is instead not used; "sideboard" is used instead and is always how it work anyways. 04:37:05 "This is, for example, one of the reasons we've been shifting X spells away from common over time. The concept of X throws a lot of people. " 04:37:11 Buh... uh.... huh? 04:38:25 I will admit Dead Ringers is confusingly worded :/ 04:38:50 int-e: Maybe, but I still think would be better to do such thing as remove the rule that auras which is also creatures are discarded, change the tokens ceasing to existing rule into one instead having to do with initial states, make copies of spells to be tokens (so that non-instantsorcery spells can be copied too), and of course other thing too. 04:39:51 Also some of things it looks like they try to make it easier to understand, tend to either make it instead more klugy (and therefore more confusing) or less strategic. 04:40:10 And they mess up existing cards too even though they explicitly try not to. 04:40:56 The implementation (and name) of Planeswalkers cards is also bad (although it is not a bad idea). 04:42:09 I think I read once that they wanted to try to make it into another player, but they couldn't figure out how. But I figured out how! 04:42:37 (Doing this would also avoid some of the klugy rules relating to it) 04:45:19 It is also my opinion that the size of the text box ought to vary in order to make the text fit (even if this leaves no room for a picture; conversely a card with no text has a larger picture). 04:53:38 -!- copumpkin has joined. 05:43:03 Is this accurate? instance Profunctor Exchange where dimap a b e = Exchange (dimap b a (runExchange e)) 05:43:08 Something along those lines? 05:43:25 Wait, no 05:44:00 instance Profunctor Exchange where dimap a b e = Exchange (\p -> dimap b a (runExchange e p)) 05:44:45 Ok, I think I need to think a bit more 05:57:04 ok i think i finally have a watertight proof that there is no ZipList monad. although i'm not sure whether I've just forgotten the previous ones :P 05:58:56 basically, consider [[[1,2],[3,4]],[[],[7,8]]], then zjoin $ zjoin xs _must_ be [1,8] and zjoin $ fmap zjoin xs _must_ be [1]. 05:59:10 but by the monad laws those two must be equal 06:01:46 all of this follows from how zjoin must be the main diagonal of rectangular lists of lists, _except_ for zjoin [[], [7,8]] = [] which follows from my proof that zjoin . take n = take n . zjoin when you put n = 1. 06:02:33 *, when you put 06:11:19 zzo38: ugh, no. I think the fixed size picture and fixed size text box is fine. 06:11:35 variable size would be ugly 06:11:47 But maybe you want to put a lot of text and the picture won't fit 06:12:02 I for one don't like the Zendikar full art lands that everyone seems to like so much 06:12:35 I don't really care, but I wanted variable size in order that large amounts of text can fit on the card. 06:12:49 zzo38: if there's too much text, then the card is wrong. cards shouldn't have too much text. the existing textbox (which, incidentally, got slightly larger both time they changed the card frame template) already allows a wall of text to fit 06:14:20 don't forget that the textbox provides graphical clues other than just containing the text: for one, it's colored according to the color of the text or the color of mana a land produces, that's very useful for non-basic lands, 06:14:40 it also contains a nice mana icon for basic lands (and also guild and faction and klan sybmols which I don't like so much) 06:16:39 I prefer the text for the basic lands though 06:17:50 zzo38: consider for example the newer cycling lands like Secluded Steppe. Luckily for the reprints, the inner border and the name and type line is colored white, but even then the color of the text box helps too. 06:17:59 Or gold and hybrid cards. 06:18:29 Yes I know those thing can help too 06:18:58 I admit it's much less important in the post-Mirrodin frame 06:19:02 which has the inner border for this 06:19:11 But they aren't considered as a requirement by the rules of the game, since there are other things that says so on the cards. 06:19:16 But even without the color, I do like the fixed size text box and fixed size art 06:19:42 (especially if you are playing with grayscale copies of the cards; I have seen this) 06:20:30 Heh, imagine playing with grayscale copies of cards with color markers on the type line. 06:20:44 -!- MoALTz has quit (Quit: Leaving). 06:20:54 Anyway, as for basic lands, I guess that's a matter of taste, I prefer just the big mana symbol, but a text isn't too bad either. 06:22:54 zzo38: as for improving card faces, do you know what I'd like? I wish there were fewer new expansion symbols introduced, because there's now over a hundred and they're running out of space of recognizable and rememberable expansion symbols. I think each block should have only one expansion symbol, not one for each set. 06:23:40 (And some series of extra products like Duel Decks shouldn't take up expansion symbols.) 06:24:07 Basically, especially for a player that isn't so experienced, but even for me, it can be hard to remember all the expansion symbols. 06:25:56 They could be much easier to relate to if there was only one expansion symbol for the Urza's block (instead of three, the cogwheels, the lab breaker, and whatever is the third), one for the Judgement block (set of scales, some kind of ouroboros, and one more strange thingy), one for the Invasion block (I don't even remember what any of those look like), one for the Onslaught block (a morph spider). 06:26:08 We can't change the old sets, but new blocks should do this. 06:26:44 And I don't think it would cause too much problems with new sets either, would it? 06:28:18 I mean, yeah I know, sword, shield and helm of Kaldra and all, but still. 06:29:42 Morning 06:32:00 (Also, Spreading Seas should have gotten a remainder text saying that the land loses abilities printed on it; and Hollow Dogs should be a Skeleton) 06:33:47 -!- sebbu has joined. 06:34:26 -!- sebbu has quit (Changing host). 06:34:26 -!- sebbu has joined. 06:36:02 [wiki] [[///]] http://esolangs.org/w/index.php?diff=40382&oldid=38040 * B jonas * (+131) /* Implementation */ 06:36:48 (I mean, come on, a Zombie with no flesh is not a Zombie, it's a Skeleton or a Ghost depending on whether it has bones.) 06:37:16 what if it's the zombie of an invertebrate 06:39:24 Bike: the DnD rules at http://www.d20srd.org/srd/monsters/skeleton.htm says a skeleton needs a base creature with bones. If you have a creature with no bones and make an undead without flesh, what's its body made of? If there's no body, it's a ghost. If there's a body of soft tissue (not necessarily literally flesh), then it's a zombie (or maybe some higher level undead like ghoul). 06:39:49 Bike: so basically when I said "flesh", I mean parts of the body other than the bones 06:40:01 An exoskeleton 06:40:18 dunno 06:40:44 what about a cartilaginous animal, like a shark? who'd begrudge a zombie shark 06:41:16 technically, the DnD rule says "skeletal system", not bones 06:41:57 -!- sebbu has quit (Read error: Connection reset by peer). 06:42:52 -!- sebbu has joined. 06:43:11 and nethack does seem to go with this distinction: 06:43:20 -!- sebbu has quit (Changing host). 06:43:21 -!- sebbu has joined. 06:44:33 consider Rimebound Dead, which is a Skeleton created by a necromancer from bones according to the flavor text, and Legions of Lim-Dûl, Zombies which have "faces of my dead friends" according to the flavor text and are created by a necromancer according to its card name. 06:45:58 Both Heidar and Lim-Dul are necromancers, and both have both zombie and skeleton cards created by them: Zombie Musher and Kjeldoran Dead are the other cases. 06:46:41 ghouls in nethack have the creature type Zombie, and ghosts have the type Spirit 06:48:01 That sounds like more of a MtG thing than a NetHack thing. 06:54:05 moin 06:55:04 b_jonas: where do lemurs fit into this 07:01:59 -!- Frooxius has quit (Read error: Connection reset by peer). 07:02:06 -!- Frooxius has joined. 07:10:27 -!- oerjan has quit (Quit: BANANAAAAAAA). 07:54:19 -!- doesthiswork has quit (Quit: Leaving.). 08:06:36 -!- AnotherTest has joined. 08:11:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:24:17 -!- Phantom_Hoover has joined. 08:35:02 -!- Patashu has joined. 08:42:41 Frooxius: yes, sorry 08:42:48 shachaf: ugh, lemurs and lemures, yeah 08:43:06 which one of those is the Animal and which one is an undead spirit? 08:43:55 see http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=2457 hth 08:49:42 -!- Patashu_ has joined. 08:49:43 -!- Patashu has quit (Disconnected by services). 08:52:51 -!- Patashu has joined. 08:56:23 -!- Patashu_ has quit (Ping timeout: 272 seconds). 08:57:45 -!- Patashu_ has joined. 08:57:45 -!- Patashu has quit (Disconnected by services). 08:58:15 Is there a equ f = (\a b -> (f a) == (f b))? 08:58:18 much like comparing 08:58:25 i.e. sortBy (comparing foo) 08:58:33 => groupBy (equ foo) 08:59:04 or something like using f g = (\a b -> (f a) `g` (f b))? 08:59:39 @let using f g = (\a b -> (f a) `g` (f b)) 08:59:41 Defined. 08:59:58 comparing = (compare `on`) 09:00:02 > groupBy (using length (==)) ["a","bb","c","dd"] 09:00:05 So just use ((==) `on`) 09:00:06 [["a"],["bb"],["c"],["dd"]] 09:00:15 > groupBy (using length (==)) ["a","bb","c","dd","ee"] 09:00:17 can't find file: L.hs 09:00:26 whaaat 09:00:39 That sometimes happens randomly. 09:00:41 > groupBy (using length (==)) ["a","bb","c","dd","ee"] 09:00:44 [["a"],["bb"],["c"],["dd","ee"]] 09:00:47 ic 09:00:52 But "on" is what you wanted. 09:00:53 -!- Patashu has joined. 09:01:09 @type on 09:01:10 (b -> b -> c) -> (a -> b) -> a -> a -> c 09:01:56 > groupBy ((==) `on` length) ["a","bb","c","dd","ee"] 09:01:58 [["a"],["bb"],["c"],["dd","ee"]] 09:02:00 oh 09:02:01 neat 09:02:03 @hoogle on 09:02:05 Data.Function on :: (b -> b -> c) -> (a -> b) -> a -> a -> c 09:02:06 Control.Exception.Base onException :: IO a -> IO b -> IO a 09:02:06 Control.Exception onException :: IO a -> IO b -> IO a 09:03:47 Also, (==) `on` length is too strict. :-( 09:03:57 -!- Patashu_ has quit (Ping timeout: 240 seconds). 09:06:19 -!- Patashu has quit (Disconnected by services). 09:06:19 -!- Patashu_ has joined. 09:10:51 shachaf: "too strict"? 09:11:26 > take 1 $ groupBy ((==) `on` length) [[1],[1]] 09:11:27 [[[1],[1]]] 09:11:30 For example if you compare a finite list to an infinite list it'll never return. 09:11:31 > take 1 $ groupBy ((==) `on` length) [[1],[1],[1..]] 09:11:36 mueval-core: Time limit exceeded 09:11:42 well yeah 09:11:55 length on infinite lists isn't really a clever thing to do 09:13:06 Well, on finite lists it'll just be inefficient rather than nonterminating. 09:13:10 -!- Patashu has joined. 09:13:29 ok then 09:13:39 How do *you* group by length then? 09:13:50 Hmm. 09:14:01 efficiently ;) 09:14:08 ((==) `on` map (const ())) will at least be asymptotically optimal. 09:14:42 how so? 09:15:10 It's terrible, though. 09:15:28 > let sameLength [] [] = True; sameLength (a:_) [] = False; sameLength [] (b:_) = False; sameLength (a:as) (b:bs) = sameLength as bs in sameLength [1..] [3,2,1] 09:15:29 -!- Patashu_ has quit (Ping timeout: 276 seconds). 09:15:29 False 09:15:32 Write your own function? Or use genericLength :: [a] -> Nat (the only valid use of genericLength) 09:15:40 Your own function would be what fizzie wrote. 09:18:42 -!- Patashu has quit (Remote host closed the connection). 09:18:54 -!- Patashu has joined. 09:19:47 ((==) `on` (() <$)) has a good punctuation-to-alpha ratio, however. 09:27:41 data T; instance Ord T where compare _ _ = EQ; (==) `on` (unsafeCoerce :: [a] -> [T]) 09:28:19 () will waste all those cycles "forcing" and comparing ()s 09:28:33 > compare () undefined 09:28:34 *Exception: Prelude.undefined 09:32:06 > length $ (map (const undefined)) [1..] 09:32:09 mueval-core: Time limit exceeded 09:32:12 > length $ (map (const undefined)) [1..20] 09:32:14 20 09:33:02 hm 09:33:04 better newtype over Any. 09:33:07 > zip [1..20] [1..19] 09:33:09 [(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10),(11,11),(12,1... 09:33:51 > length $ zip [1..20] [1..19] -- that's just the shorter, isn't it? 09:33:52 19 09:33:57 @let cmp xs ys = last (zip xs ys) == (last xs, last ys) 09:34:00 Defined. 09:34:05 > cmp [1..20] [1..19] 09:34:07 False 09:34:15 > cmp [1..20] [1..20] 09:34:15 > cmp [1,1,1,1] [1] 09:34:16 can't find file: L.hs 09:34:16 True 09:34:24 > cmp [1..20] [1..20] 09:34:26 True 09:34:30 > cmp [1,1,1,1] [1] -- still 09:34:31 True 09:35:09 > cmp [1,2,3,2,1] [1] -- and so on 09:35:10 True 09:35:33 k 09:35:42 cmpMonotonicSteadilyRisingLists 09:35:56 hm no 09:36:00 *hide* 09:36:36 Another benefit: sameLength :: [a] -> [b] -> Bool vs. ((==) `on` length) :: [a] -> [a] -> Bool. 09:48:41 -!- Patashu_ has joined. 09:48:46 -!- Patashu_ has quit (Client Quit). 09:48:47 -!- Patashu has quit (Disconnected by services). 09:50:59 -!- IAm_thor has joined. 09:51:00 -!- IAm_thor has left. 09:55:09 -!- IAm_thor has joined. 09:55:10 -!- IAm_thor has left. 10:12:02 -!- boily has joined. 10:20:52 except that groupBy requires [a] anyway 10:20:56 @type groupBy 10:20:57 (a -> a -> Bool) -> [a] -> [[a]] 10:26:17 hm 10:26:28 Can I have a data Pair a b = Pair a b 10:26:44 but with a Type Constructor Foo a = Pair a a? 10:26:59 newtype Foo a = Foo (Pair a a)? 10:27:12 (two contructors: one with two arguments and one with one argument) 10:27:40 hm 10:28:02 Pair a b = Pair a b | Pair' a a doesn't work 10:28:20 mroman_: wait, what exactly do you want? a wrapper function? a gadt with two constructors? I don't understand 10:28:21 (Pair' still takes two arguments) 10:28:30 well 10:28:36 I could just use foo a = Pair a a 10:28:40 but then foo isn't a type constructor 10:28:55 I think you're confusing all sorts of things here. 10:28:58 um 10:28:59 i.e. I can't match for that 10:29:07 and how would you want to match this? 10:29:35 foobar (Foo _) = ...; foobar (Pair _ _) = ... 10:29:46 foobar :: Pair a b -> ... 10:30:12 wait 10:30:49 I'm stupid 10:31:21 or am I 10:31:29 data Pair a b = Pair a b | Pair' a 10:31:36 but then Pair' only holds one value 10:31:37 :( 10:32:08 The first thing to do if you don't want to confuse people is to use a different name for the type constructor and the data constructor. 10:32:42 except, perhaps, for records. 10:32:54 well 10:33:17 There should be two "constructors". One with two arguments and one with one argument 10:33:26 and you can match against the one with only one argument of course 10:33:36 but the one with one argument shall also match for the one with two arguments 10:33:45 anyway I don't know what you want. 10:33:49 i.e. let's call them Pair1 and Pair2 10:34:20 Pair1 takes one argument and Pair2 takes two arguments 10:34:25 data Pair a b where { Pair :: a -> b -> Pair a b; Twice :: a -> Pair a a }? 10:34:39 you can match as in foo (Pair1 a) = ... and foo (Pair2 a b) = .... 10:34:44 mroman_: but what should happen when you call Pair1, and what should happen when oyu match for Pair1? 10:34:55 however, if foo (Pair2 a b) appears *BEFORE* foo (Pair1 a) 10:35:02 the Pair1 shall behave as if it were a Pair2 10:35:09 i.e. it matches Pair2 as well 10:35:16 that's insane 10:35:23 but when do you want Pair1 to match? 10:35:34 and can you use a gadt AND arrow view match syntax instead? 10:35:44 or just arrow view match syntax? 10:35:50 There's a different algorithm you can use to do foo if both values are equal 10:35:56 (with a non-gadt ordinary data type) 10:36:04 which is faster than using the generic two non-equal values algorithm 10:36:13 of course you could just do |a == b = ... 10:36:33 mroman_: use an arrow view? 10:36:57 however, some other functions (not like foo) don't have such a distinction 10:38:19 others however only work when both are equal 10:39:14 which means you could do |a /= b = error ":(" 10:39:20 but I'd want it more type-safeish 10:40:18 I.e. just matching Pair1 wouldn't be type-safe as well 10:40:29 then Pair2 would just throw a "didn't match exception" 10:40:31 I think the GADT idea is sane. And you can define a view function, pair :: Pair a b -> (a,b) for the common case where equality doesn't help. 10:41:00 (needs a better name) 10:41:10 mroman_: do you mean you want to encode in _compile time_ that the two values are equal? because then you need a separate type for that case, and probably a typeclass so you can use that in the general case too. 10:42:41 b_jonas: yeah @compile-time 10:42:51 data Pair a b where { Same :: a -> Pair a a; Different :: a -> b -> Pair a b } 10:43:16 like, I dunno, data Pair2 a b = Pair2 a b; data Pair1 a = Pair1 a; class Pair a b t | t -> a b where { decodePair :: t -> (a, b) }; instance Pair a b (Pair2 a b) where { decodePair (Pair2 x y) = (x, y); }; 10:43:27 (Of course there's no way to ensure that the two arguments to "Different" are actually different.) 10:43:33 instance Pair a a (Pair1 a a) where { deocdePair (Pair1 x) = (x, x); }; 10:43:48 or something like that with correct syntax (how's the fundep syntax work again?) 10:45:16 int-e: but then let (Different a b) = (Same 5) in a*b doesn't work 10:45:26 which should result in 25 10:45:32 but pattern don't match 10:46:00 but ok 10:46:04 it's "insane" :) 10:46:31 I was merey wondering if it could be achieved, not that I really need to do it 10:46:34 *merely 10:48:31 I can give you the Java-Code for that ;) 10:49:03 mroman_: I know. but let (a,b) = pair (Same 5) works. 10:49:18 mroman_: where 'pair' is an appropriate view function, which is trivial to define 10:49:46 mroman_: you don't get the syntax that you want (and I honestly think that there's no sane way of doing that), but you do get the functionality. 10:49:53 int-e: in that case your pair is the function decodePair from my example code, 10:50:22 b_jonas: no, because I have no type class. :P 10:50:58 only in that case I also need an extra method for the case where you want to work differently in the simpler and the more complicated case 10:51:33 -!- KingOfKarlsruhe has quit (Ping timeout: 240 seconds). 10:53:42 wait, aren't we on the wrong channel for this/ 10:53:51 mroman_: ask on #haskell 10:55:14 -!- KingOfKarlsruhe has joined. 10:55:50 I thought this was the channel for everything . 10:59:49 everything that's remotely insane and has something to do with IT 11:00:26 sure, you can ask here too 11:00:33 which esoteric language most resembles the basic turing machine? 11:00:40 we jsut talked about M:tG too afterall 11:01:13 and if this channel is about everything, let me mention that today's strip http://thedoghousediaries.com/5893 is totally the old strip http;//xkcd.com/501/ done backwards 11:01:30 AndoDaan: dunno, I hate the basic turing machine 11:01:57 How can you? Everything started with the turing machine. 11:01:57 especially the one-tape turing machine (and bf for the same reason) 11:02:03 no it did not 11:02:07 pfft 11:02:08 everything started with Babbage 11:02:14 pfffft 11:02:16 honestly I don't want to bother #haskell's more serious and productive discussion with some crazy experimental questions 11:02:27 I prefer proper pointer machines (even with immutable cells) that aren't bound to a one-dimensional tape 11:02:35 programming started with Lovelace. 11:02:52 AndoDaan: yes, and programming never got to turing machines 11:03:01 well, almost 11:03:38 technically, there did exist some old computers with very few registers and a few kilobytes large spinning disk storing the instructions and memory, 11:03:43 but let's forget about those contraptions 11:04:10 I want to work with models and esoteric programming languages that can simulate sane computers with just a log-factor slowdown 11:04:36 It's possible nobody's bothered to replicate a Turing machine very closely in anything on esolangs.org because if a Turing machine's what you want, then probably you should just use one. There are a number of simulators. 11:05:33 I am, and it's fun. 11:06:14 Deterministic FInite Automata is less fun. 11:06:38 Category:Cell-based has a number of tape-oriented contraptions, but even those generally have quite different control flow than the states+transitions thing. 11:08:25 Programming in Thue might resemble programming a Turing machine. At least I think you end up with vaguely similar stuff, moving marker symbols up and down the string and so on. 11:09:17 string rewriting, I have a hard time wrapping my head around it. 11:10:27 We had some "write an unrestricted grammar to accomplish thing X" exercises on the introduction-to-theory-of-computation course, and I quite liked them. 11:11:01 do you remember an example? 11:11:08 -!- boily has quit (Quit: MEGAWATT CHICKEN). 11:11:23 fizzie: but isn't Thue one of those languages that use just a single circular stack so if you want to move backwards you have to do a full cycle? 11:12:22 wait, Thue isn't one of those, sorry 11:12:23 AndoDaan: Well, the *tasks* weren't really very exciting per se. Simple operations on binary numbers, maybe. 11:12:58 like "turn a binary string into unary" 11:13:13 just read that one. 11:13:50 There were also "build Turing machines" ones. (I found my homework answer .tex files.) 11:14:20 sound more complicated 11:14:22 Like "design a two-tape TM to recognize the language { wcw | w \in {a,b}* }". 11:14:40 oh like that. 11:15:13 "Design a three-tape TM to sum two binary digits." That kind of stuff. 11:15:29 Sometimes it's worth to re-read old threads on web forums that I have participated in (whether I asked or replied). I can find interesting stuff I almost forgot about. 11:16:29 Here's one about grammars: construct unrestricted grammars to produce the languages { w \in {a,b,c}* | the number of a's, b's and c's in w is equal } and { a^(2^n) | n >= 0 }. 11:21:17 I seem to have done something like http://sprunge.us/OgWB if you don't mind spoiling the questions; the latter is quite typical "practical programming with unrestricted grammars" one. (Disclaimer: solutions not guaranteed correct/good.) 11:29:05 Also, http://esolangs.org/wiki/NTCM is just a multitape TM with an I/O thing. 11:30:45 back. sorry 11:32:41 what do the "<" and ">" mean? 11:32:50 They're just symbols. 11:33:07 -!- sebbu has quit (Ping timeout: 245 seconds). 11:34:25 You can replace them with e.g. B and E (for beginning and end, respectively). 11:37:13 It's very simple; P always moves left-to-right through a string of AAA... and doubles it as it goes; at the end, it turns into either Q or R; Q is rewinded to the start to turn into a second P, while R just turns all the A's into a's. (It'd be slightly simpler to operate on a's directly, I don't know why I didn't do that.) 11:38:32 Hmm. 11:38:50 Hard to do it in my head for me. 11:39:59 oh, lots of broken links at the bottom. lycos, lycos, this was so long ago ... 11:42:00 The kind of marker-based things like that are reasonably easy to reason about. If you only have some fixed set of "active" symbols (like P, R, Q), and the productions both (a) ensure there's always only one "active" character in the entire string and (b) all include an active character on the left-hand-side, it's quite like having a "tape head" (and a "current state" indicated by which ... 11:42:06 ... character it is). 11:43:19 Yeah. like, I see "ab -> ba" & "ba -> ab" and think... why 11:43:45 Well, the first grammar is quite different from that, it's more of an idea-based thing. 11:43:50 but i guess I'm looking at them as sequenceal instructions, when they're not 11:45:31 It's basically "to make any string with equal number of a's, b's and c's, start with abcabc..abc and then keep swapping arbitrary letter pairs as long as you like". 11:46:34 While the second one always has at most one left-hand-side in the productions that can match, so it's almost like an imperative program. 11:57:32 wait wait wait 11:59:01 `run wait && wait && wait 11:59:02 No output. 11:59:14 Okay, done. 12:03:03 -!- Sgeo_ has quit (Read error: Connection reset by peer). 12:13:11 Getting the hang of this. Just made one to increment a binary number. 12:14:08 Thanks for your help, fizzie. 12:14:12 gtg cya. 12:14:16 -!- AndoDaan has quit. 12:32:48 -!- sebbu has joined. 12:33:23 -!- sebbu has quit (Changing host). 12:33:23 -!- sebbu has joined. 12:44:15 -!- IAm_thor has joined. 12:44:15 -!- IAm_thor has quit (Excess Flood). 12:54:11 @metar LOWI 12:54:11 LOWI 021220Z 06004KT 020V110 9999 FEW015 SCT040 BKN065 14/09 Q1020 NOSIG 12:56:13 @metar EFHK 12:56:13 EFHK 021250Z 19009KT 9999 FEW024 BKN070 16/09 Q1025 NOSIG 13:09:58 -!- conehead has joined. 13:35:34 -!- conehead has quit (Ping timeout: 252 seconds). 13:59:24 -!- Sprocklem has quit (Ping timeout: 260 seconds). 13:59:50 -!- conehead has joined. 14:06:54 -!- sebbu has quit (Ping timeout: 246 seconds). 14:17:49 -!- sebbu has joined. 14:18:22 -!- sebbu has quit (Changing host). 14:18:22 -!- sebbu has joined. 14:23:11 -!- IAm_thor has joined. 14:28:09 -!- IAm_thor has quit (Ping timeout: 264 seconds). 14:34:01 -!- mihow has joined. 14:34:48 -!- prooftechnique has joined. 14:50:22 -!- hogeyui____ has quit (Ping timeout: 240 seconds). 14:52:30 -!- IAm_thor has joined. 14:52:32 -!- IAm_thor has left. 14:54:05 -!- Lymia has quit (Ping timeout: 260 seconds). 14:55:40 -!- hogeyui____ has joined. 14:59:33 -!- conehead has quit (Ping timeout: 255 seconds). 15:01:40 is anyone on the ICFP conference listening to the announcement of the results of the contest? 15:02:14 it's supposed to be happening about now 15:03:47 this schedule confirms the time: http://icfpconference.org/icfp2014/program.html 15:06:53 -!- IAm_thor has joined. 15:06:56 -!- IAm_thor has left. 15:12:46 @ask Taneb Also is that Lambda-Calculus-Syntax-Thing still a thing? 15:12:46 Consider it noted. 15:13:23 @tell mroman_ possibly 15:13:23 Consider it noted. 15:14:16 -!- TieSoul has joined. 15:14:18 hey 15:14:25 Did you see my ask about the ESOSC-BF-Error-Behaviour? 15:14:41 I'm adding Unefunge and Trefunge support to my Funge interpreter 15:14:41 Yeah, I broadly agree with it 15:14:48 :D 15:15:13 "broadly" as in "vaguely"? 15:15:38 "broadly" as in "I haven't thought too much about it" 15:15:47 ah. I see. 15:16:22 It was to allow a left-side of the tape, but still error on falling off it? 15:17:05 No. It's that you start at cell 0 15:17:16 and once you go left on cell 0 it will throw an error 15:17:27 cell 1 being 1 cell to the right of cell 0 15:18:10 Right 15:18:30 Generally the idea should still be that you can make the statement "this bf program will run in any esosc compliant interpreter" 15:18:42 which you can't make if it's implementation defined 15:19:40 The programs that will run on left-extending are a strict superset of the ones that'll run on fail-on-left 15:20:09 I doubt that there are programs relying on fail-on-left 15:20:18 well 15:20:27 But there are ones that don't not work on fail-on-left 15:20:30 there could be for "terminate this program now by going into a left loop" 15:20:34 And they all work on left-extension 15:20:41 but there are surely ones that rely on left-extension yes 15:20:58 I don't want to overspecify 15:21:16 if we say "Implementations must fail on left", that makes things nastier 15:21:42 My implementation ignores < on cell 0 15:21:57 a possible compromise could be to mandate that an interpreter supports both behaviours 15:22:08 (i.e. through a command line switch) 15:22:19 mroman_, but that may make implementation in some languages (such as C) harder 15:22:44 when going from left to the initial cell, you should access implementation-specific magical cells that let you access extended io or coprocessor functions 15:23:14 or like you suggested 15:23:18 and some of those cells should of course describe the available functions so you can detect them 15:23:23 "extend to the left but it's not recommended to rely on it" 15:23:43 i.e. because not all interpreter will actually extend to the left 15:23:51 but 15:23:53 well 15:24:00 if anything it's either error or extend to the left 15:24:07 and which one is implementation defined 15:24:18 but not "it could even wrap around to the rightmost cell" 15:24:24 or "the < is ignored" 15:24:52 Or have behaviour on left-from-cell-0 implementation-defined, and have a note to programmers warning against depending on any specific behaviour unless they know exactly which implementation they are writing for and how it behaves 15:25:19 if it's completely unspecified what happens 15:25:26 then the program < might format your harddisk ;) 15:25:36 It might do, yeah 15:25:44 i.e. if the interpreter doesn't support left-extension it would at least throw an error 15:26:01 but if you leave it completely up to the interpreter it might as well format your hard disk 15:26:10 or do something else and then you don't know why the program is not working 15:26:24 I'm saying it should be on the programmer to only rely on < when they know how it will behave 15:26:24 so I really think that it should either be error or extend but not something else too 15:26:34 ie, they are writing for a specific implementation 15:30:03 yeah 15:30:06 the problem here is 15:30:21 you can't statically determine whether you use implementation defined behaviour or not 15:30:28 i.e. if you have a bug in your program or something 15:30:46 then it might do even crazier things in some interpreters than in others 15:31:19 also if you just run a brainfuck program and it doesn't do what it's supposed to do (because it uses implementation defined behaviour) you won't notice it 15:31:36 (gotta catch the train know) 15:31:38 *now 15:35:43 -!- CManahl has joined. 15:35:47 Yo guys, I need help. 15:35:58 What's up 15:36:02 you and me both 15:36:09 What's the exact specs for error created in the Entropy esolang? 15:36:14 elliott: v funny 15:36:23 I would normally access someone else's source code 15:36:40 but this is a school-issued computer that's blocking a javascript implementation 15:36:44 can someone pastebin it? 15:37:16 http://andrew-hoyer.com/experiments/entropy/%E2%80%8E 15:37:25 https://github.com/rottytooth/Entropy is the original implementation 15:37:53 I don't know the language, but I'll try. Thanks! 15:38:55 the javascript thing is just something that implements the language's ideas as a javascript API 15:39:11 not a proper implementation of the language 15:39:43 I only want the info of -how- variables mutate when accessed. 15:39:53 I'm trying to make an 'entropic' data type for my native language 15:42:07 Which language? 15:42:12 Python 15:42:19 Hmm. I've a thought for a pointless cycle-waster project in the line of a Project Euler project, but I need a dictionary list. 15:42:28 I just want the variables to mutate in the same way 15:43:21 you can't add code to execute every time a python object is 'read', though, can you? 15:43:28 J_Arcane: dictionary list? 15:43:31 Nah. 15:43:51 I'm adding a class.getvalue() function that returns the 'current' value and mutates it. 15:43:58 Bike: Or rather more clearly, a list of English words. As close to all of them as can be gained. 15:44:03 *object.getvalue() 15:44:09 J_Arcane: you on linux? 15:44:21 No, but I could be on BSD in a matter of minutes. 15:44:33 http://en.wikipedia.org/wiki/Words_%28Unix%29 15:44:41 i guess bsd has it too, probably 15:44:42 @tell mroman_ Maybe allow implementation-defined but require an option to fail-on-left if it doesn't by default? I'm not sure if you suggested this 15:44:42 Consider it noted. 15:44:57 Oooh! 15:45:03 Someone in here linked me one the other day! 15:45:07 12dict or something 15:45:13 why is bf so important? can't we just use saner esoteric languages? 15:45:24 b_jonas, bf has historical significance 15:45:34 I'm not sure sanity is necessarily the point of an esolang. 15:45:52 Basically, it's sufficiently well known that it's often the first esolang people here of 15:46:06 It's also the most implemented 15:46:21 Okay, I know I'm really dumb. But can someone read https://github.com/rottytooth/Entropy/blob/master/Rottytooth.Esolang.Entropy/Real.cs and tell me the algorithm for changing the real value once it's read? DDD: I don't understand a lick of this 15:47:55 CManahl: "byte[] whatever = new byte[1]; Crypto.GetBytes(mutate);" probably makes whatever a random byte 15:48:15 man this code is ugly 15:48:19 Bike: That should be a good start. 15:48:27 yeah... uuuu 15:48:40 but basically a value changes by changeAmount, which is MutationRate / (a random float) 15:48:51 possibly negated... yeah you know what, fuck thsi code, do your own thing. 15:49:06 I agree... 15:49:19 oh by the way 15:49:43 did you figure out anything about that (volatile int){1} = 2; thing in C that came up a few days ago? 15:49:46 what's happened with it? 15:50:36 what about it? 15:50:39 This one is also quite complete. 15:50:42 http://www-01.sil.org/linguistics/wordlists/english/ 15:51:30 Bike: someone compiled something like int main(void) { (volatile int){1} = 2; return 0; } in C and found that some compiler optimzied the assignment away, and was asking whether that was a bug 15:51:38 zzo38: do you happen to recall this? 15:52:04 yeah, i remember, it turned into some C standard weirdocity 15:52:08 b_jonas: I think we kind of concluded that it would be "more proper" for it to not be optimized out completely (and clang/LLVM follows that), but that it's perhaps not strictly speaking required, due to the inherent fuzziness about volatile, both in the standard and in GCC's "how we interpret it" documentation. 15:53:16 Conceptually speaking, it's not really any different from int main(void) { volatile int i = 1; i = 2; return 0; } which even GCC keeps as-is also with optimizations on, so it's hard to say why the compound literal should differ. 15:53:35 Hmm, how would a conforming C program detect the absence of that assignment? 15:53:52 int-e: it doesn't, someone looked at an assembly dump 15:54:55 fizzie: and of course I said I can accept a difference because I don't expect that a compiler can always optimize expressions involving volatile well, so maybe it just failed to optimize in some case. it could even depend on compiler version or switches or moonphase or anything. 15:54:57 hmm. I need to find the C11 standard 15:55:13 but I also don't know whether it's allowed to optimize it away in first place. I think it is allowed, but I'm not sure. 15:55:29 int-e: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf 15:56:02 volatile's definition is all about "any expression referring to such an object shall be evaluated strictly according to the rules of the abstract machine, as described in 5.1.2.3." 15:58:28 Accessing a volatile object counts as a "side effect, which [is a] change[] in the state of the execution environment". And in the abstract machine, an implementation is allowed to not evaluate an expression "if it can deduce that its value is not used and that no needed side effects are produced". 15:58:43 Of course they don't exactly define what a "needed side effect" is. 15:58:55 fizzie: but C11 doesn't really define what you're allowed to do in a signal handler in general, or how volatile interacts with observing a value outside and inside a signal handler in particular 16:00:20 I'm not sure why you'd need to involve signal handlers here. 16:00:40 Woo, finished my entropy module 16:02:02 fizzie: signal handlers are involved because signal handlers are mentioned in C11 itself, and as such it's one of those cases where volatile may matter for the correctness of your program even if you don't do implementation-specific stuff like accessing memory-mapped hardware 16:03:46 POSIX has a few choice words about this in http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04 though I think in general POSIX's restrictions might not be the ones you want to really believe in 16:05:00 Well, it possibly boils down to how much you want to argue from "can this affect the program execution" point of view, and how much from a "the standard mandates this or that even if the choice is not observable" point of view. 16:05:11 s/in general/in my opinion/ 16:05:28 fizzie: it's not only that 16:05:53 part of this is that volatile was more important back when programs actually used it to access hardware registers or even mis-used it for thread safety 16:06:22 C11 5.1.2.3p4 and p6 are probably the most relevant ones for the definition of volatile. 16:06:36 these days good programs shouldn't do that, and in particular volatile doesn't even work reliably for anything thread-related, so it's dangerous to use for that, 16:07:01 but if you really need to write signal handlers, then you DO want to use volatile probably, so it's the most important _practical_ application of volatile. 16:07:39 does that make sense> 16:07:41 ? 16:08:06 It makes sense, but it's starting to sound more of an "intent of the standard" argument than "logical consequence of the standard" one. 16:08:48 fizzie: I guess the standard says that this is a volatile object, and accesses to it cannot be omitted. gcc's developers will say that not only can conforming programs not observe the value; it can also be immediately overwritten by subsequent code (unlike the case where you have a standalone 'volatile int i' declaration) and that justifies them optimizing it away. 16:08:53 I don't know. 16:09:05 the problem with volatile is that due to history it's too much ingrained to the type system, so the C++ standard has to deal with possibly volatile-qualified variables all the time where they define stuff about types and templates and overloads and stuff. 16:09:15 Now you've switched languages too. 16:09:43 For the record, 5.1.2.3p4 and p6: "In the abstract machine, all expressions are evaluated as specified by the semantics. An actual implementation need not [do some stuff if] no needed side effects are produced (including any caused by -- accessing a volatile object)." "The least requirements on a conforming implementation are: - Accesses to volatile objects are evaluated strictly according to ... 16:09:49 ... the rules of the abstract machine. -- This is the observable behavior of the program." 16:09:56 ideally we should just get rid of volatile and add some library feature (macro or template stuff) for signal handler synchronization, which could have a much narrower definition. 16:10:03 yes I have. 16:10:25 fizzie: they won't optimize away the volatile int foo; assignments because that's apparently an idiom for ensuring that certain values can be found on the stack. 16:10:34 int-e: They can also lean on the "what constitutes an access to an object that has volatile-qualified type is implementation-defined" rule, which made GCC's own documentation relevant. 16:10:44 it's there in the C standard too but that doesn't deal as much with types. like, it doesn't have to choose a functoin from an overload set, or divine template parameters. 16:10:52 fizzie: nice one. 16:11:12 ohai int-e 16:11:44 -!- conehead has joined. 16:12:50 int-e: And anyway technically the lifetime of a compound literal is exactly the same as the local variable. Of course you can still say that since it did not have its address taken, that's irrelevant. And then it goes round again back to your implementation about what the "strictly according to the rules" text really means. 16:12:53 also, given that volatile should occurr so rarely these days, I think it's possible that gcc not only doesn't optimize it well, but deliberately keeps it unoptimized some of the time so it doesn't break old broken programs that misuse it for threads communication 16:13:39 b_jonas: Incidentally, there's a C11 defect report about volatile sig_atomic_t in signal handlers that has actually resulted in a proposed TC change: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_462.htm 16:13:49 (Away for a while.) 16:14:06 but of course, C++ could also be just buggy. 16:14:32 it's a really good compiler and I like it very much, but it's still not perfect. 16:14:41 I'm getting really annoyed what am I doing wrong why does reduce(lambda x,y:x.append(float(ord(y))),'hellothere',[]) 16:14:42 I even have a bug report somewhere. 16:14:44 why isn't that working 16:14:45 I once used volatile on a member of a structure in order to try to avoid optimization of some floating point arithmetic; I don't know if it would help or if it is necessary actually, though 16:14:47 am I retarded or something 16:14:54 CManahl: what language is that? 16:14:58 python 16:14:59 oh, python? 16:15:00 right 16:15:01 screw it I'll just use list 16:15:04 why wouldn't i 16:15:26 -!- DootBot has joined. 16:15:26 DOOT DOOT! 16:15:27 um, what version of python? 16:15:43 2.7.? 16:15:53 I'm fine. 16:16:41 -!- Lymia has joined. 16:16:41 -!- Lymia has quit (Changing host). 16:16:41 -!- Lymia has joined. 16:18:12 CManahl: append mutates in place and returns None, so you should foreach it, not reduce it 16:18:28 CManahl: it doesn't return a new list, it modifies the existing list 16:18:38 so reduce will try to append to None the second time 16:19:11 CManahl: try eg. this: reduce(lambda x,y:x+[float(ord(y))],'hellothere',[]) 16:19:22 (but that has to copy the list each time) 16:20:08 -!- TieSoul has changed nick to TieSoul-HomeWork. 16:20:46 reduce(lambda x,y: x.append(float(ord(y))) or x,'hellothere',[]) does the trick 16:20:49 Would use of volatile also be useful (inside of #if blocks) to cause page faults, segmentation faults, hardware access, self-modifying code, etc? 16:21:13 arright cool 16:21:18 zzo38: I don't really know. Maybe, but in that case you have an actual address. Maybe not. 16:21:37 (python has no comma operator; using 'or' instead feels wrong) 16:22:01 zzo38: you mean like saying (volatile char){1} = *(char *)someaddress; to cause a pagefault if someaddress is invalid? 16:22:06 I really don't know 16:22:26 b_jonas: Yes, that would be an example of what I meant 16:22:45 zzo38: unfortunately that's just undefined behaviour; anything is allowed to happen 16:22:59 zzo38: I'm sure you could use a volatile asm block to do any of those, 16:23:14 (well of course hardware access can be complicated because of other factors) 16:23:17 int-e: But I said, if you use the proper #if blocks 16:23:20 hehehe 16:23:38 I ran 99 bottles of beer with my program and the count just -happened- to jump from 90 to around 450 so the program ran for quite a while 16:23:55 and of course for self-modifying code you definitely need some asm block or external assembly source or direct machine code writing anyway. 16:23:57 I think I have also seen SDL programs that use volatile for variables that are accessed by multiple threads (the audio thread and the main thread) 16:24:41 zzo38: yes, there exist such misuses, but most of those are wrong and could break in the future, unless they just combine volatile with something that actually helps. 16:25:08 the common wisdom is that using volatile for thread synchronization is almost always wrong. 16:26:52 it just happens because people wanted multithreading to work, even if it's not correct, before the proper support from compiler and libraries existed. 16:27:26 I think SDL has its own commands for thread synchronization, although I wasn't meaning synchronization but simply to ensure a variable is accessible to the audio thread. 16:28:51 I suppose it can fail if the threads do not share memory, but I think SDL 1.x requires it anyways since other things would stop working if it didn't 16:29:53 -!- not^v has joined. 16:30:54 Are threads supposed to share global variables? 16:32:19 zzo38: yes (for posix/c11/c++11-like threads), unless those variables are declared thread-local 16:32:20 CManahl: x.append(...) does not return the new value, that's why. But reduce + append seems like a really weird thing to do, esp. given list comprehensions. 16:32:32 zzo38: note that errno is a macro for a thread-local variable 16:33:16 Yeah, Fizzie, I'm just tired. All I wanted to do was make a list of the characters, I forgot about the builtin list() i dont know what I was doing 16:34:00 http://sprunge.us/fVTg is what I meant.. 16:34:29 Oh, that. again... tired 16:34:51 CManahl: you could use map for this: map(lambda x:float(ord(x)),"hello") 16:34:53 I ended up using map(lambda x: ord(x), self.value) 16:34:55 yeah 16:35:00 yes that 16:35:07 with a float, I didn't forget that 16:35:07 or list comprehension syntax, or a for loop 16:41:48 Do any monad tutorials start with list comprehensions and then fmap and return and join? 16:44:40 using a list comprehension for that is more idiomatic in python 16:44:46 why? are list brackets the best tasting burrito tortilla? 16:44:51 [ord(x) for x in self.value] 16:45:14 if you wanna use ord you can just map(ord, self.value) 16:46:17 -!- CManahl has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:47:21 s/wanna use ord/wanna use map/ 16:47:21 newsham: newsham actually meant: if you wanna use map you can just map(ord, self.value) 16:47:30 indeed 16:47:34 -!- CManahl has joined. 16:47:40 i'm just playing devel's advocate 16:48:25 newsham: but he needs float too. how do you add that to this/ 16:48:44 map with lambda, or list comprehension 16:48:53 [float(ord(x)) for x in self.value] 16:51:09 or multiple maps, or define composition function 16:51:21 map(float, map(ord, self.value)) 16:51:29 map(compose(float, ord), self.value) 16:51:43 list comprehension is the idiomatic way 16:51:53 ok 16:52:30 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 16:52:47 -!- Phantom_Hoover has joined. 16:53:36 (now I could ask how you'd define compose, whether it would be a function with the two composed functions captured, or an object with the two composed functions as member variables, but that would be just picking on the details) 16:53:40 Taneb: How'd you feel about something like http://codepad.org/rMDtG2Pi 16:54:28 mroman_: is that like ? 16:54:32 no 16:54:35 -!- CManahl has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:54:40 It's just "ignore non BF characters" 16:54:45 sure 16:54:57 the # lines are comments though 16:55:04 but the <<++ is a bit suspicious 16:55:12 since "error-on-left" won the poll it should be the default behaviour 16:55:19 I disagree to some extent with # comments 16:55:30 hm 16:55:35 that should've been /bin/bf :( 16:55:36 btw, isn't there a similar question about what happens when you decrement a cell under zero or increment it above 255 ? 16:55:51 b_jonas: the poll says "wrap around" 16:56:01 hmm 16:56:02 but of course you can add #NO_CELL_WRAP_AROUND 16:56:15 uh, ok 16:57:13 Taneb: elaborate? @disagree 16:58:26 Well, it's actually contrary to the brainfuck specification 16:59:34 what brainfuck specification? 16:59:46 the original from urban mueller? 17:00:20 well 17:00:34 as far as that specification is concerned, #NO_CELL_WRAP_AROUND is a comment 17:00:40 since it contains no brainfuck character 17:01:51 ] 17:05:23 Maybe you should use SQL based polls next time 17:18:00 -!- impomatic_ has joined. 17:22:46 zzo38: ?? 17:27:37 bjonas: function for compose. but if you did go with object you could use an operator for it 17:28:37 i almost never use a compose function in python though.. its just so heavy weight to use compared to just writing out the composition 17:28:47 syntax molds me 17:34:28 -!- drdanmaku has joined. 17:37:43 -!- TieSoul-HomeWork has changed nick to TieSoul. 17:43:01 -!- heroux has quit (Ping timeout: 260 seconds). 17:44:52 -!- heroux has joined. 17:45:34 https://www.ibtimes.co.uk/us-cyber-spy-killed-himself-following-fbi-investigation-1463476 17:51:18 -!- tromp_ has quit (Remote host closed the connection). 17:51:43 -!- tromp_ has joined. 17:58:57 Whiskey Tango Foxtrot http://nationalreport.net/small-florida-town-signs-police-privatization-deal-walmart/ 18:16:02 -!- prooftechnique has quit (Ping timeout: 245 seconds). 18:16:57 -!- Sprocklem has joined. 18:19:48 newsham: sure 18:20:37 crap, sorry guys, those were meant for #h-b, not #esoteric 18:30:22 -!- Sprocklem has quit (Ping timeout: 252 seconds). 18:30:49 mroman_: Do you hate SQL based polls so much? 18:31:09 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds). 18:38:51 newsham: I assume nationalreport is a parody site? 18:42:23 oops, looks like it.. i didnt notice that.. thank you 18:48:34 -!- Sprocklem has joined. 18:49:16 Taneb: your evil twin nateb is in #haskell hth 18:49:39 First /u/taneq, now nateb!? 18:49:45 I have so many evil twins 18:50:48 The fruits of an evening's pedantry, in which I use Racket to disprove an assertion on QI: http://pasterack.org/pastes/77970 18:53:41 ...why am I helping nateb 18:54:18 fruits 18:54:20 yay 19:00:52 -!- Sprocklem has quit (Ping timeout: 240 seconds). 19:01:50 -!- Sprocklem has joined. 19:02:44 -!- Phantom_Hoover has joined. 19:14:25 So now you also have to make them list which one don't contain duplicates letters 19:30:44 -!- AxelBob has joined. 19:34:50 -!- zzo38 has quit (Remote host closed the connection). 19:36:03 Actually I've been given a different challenge: run the same code for Finnish. 19:38:13 -!- AxelBob has quit (Quit: -a- Android IRC 2.1.15). 19:43:42 -!- Lymia has quit (Ping timeout: 252 seconds). 19:46:36 -!- AnotherTest has quit (Ping timeout: 260 seconds). 19:50:32 -!- Sprocklem has quit (Ping timeout: 276 seconds). 20:05:17 -!- TieSoul has quit (Ping timeout: 245 seconds). 20:10:17 -!- DootBot has quit (Ping timeout: 245 seconds). 20:12:20 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 20:20:46 -!- TieSoul has joined. 20:23:22 -!- ^v has quit (Quit: Leaving). 20:23:36 -!- ^v has joined. 20:48:25 -!- TieSoul has quit (Read error: Connection reset by peer). 20:48:57 -!- TieSoul has joined. 20:51:24 -!- doesthiswork has joined. 20:55:56 -!- MDude has joined. 21:42:08 J_Arcane: It's almost like the NetHack "words that can be spelled by inventory letters" question, except that allows for two trips through the alphabet, due to upper and lowercase. 21:48:15 J_Arcane: There is any number of such Finnish words, FWIW: innostuu (8), hiillos (7), koostuu (7), aallot (6), aiottu (6), ajopuu (6), anottu (6), hiipuu (6), hillot (6), hiottu (6), koottu (6), loppuu (6) are the >=6-letter ones in my /usr/share/dict/finnish, discounting (shorter) inflections of same words. 21:48:29 And that's a very non-exhaustive list. 21:48:39 what's the question? monotonic words? 21:48:43 Yes. 21:49:38 No strictly increasing words above length 5 in that dictionary, however. 21:49:52 (ahjot, fiksu, himot, korsu, kostu, norsu) 21:50:47 I found a truncated aspell list and ran some numbers on it, but had issues with the utf-8 encoding in my file so I'm not at all certain how accurate the results were, though they were pretty small. 21:51:18 Which makes me wonder if that was the QI assertion too, since my /usr/share/dict/words has exactly 6 English words that are strictly increasing (abhors, almost, begins, biopsy, chimps, chinos, chintz). 21:51:25 Did you watch the episode in question? 21:52:25 Yes. 21:52:57 Did it allow for repeats? 21:53:09 It's possible they did mean strictly rather than generally increasing, but they were a bit vague. 21:53:48 fizzie: using american-english-insane i find all sorts of words 21:53:58 It's likely a larger English wordlist would contain more than 6. 21:53:59 but i am dubious on these words' word status 21:54:26 My plain "words" (aka plain american-english) also has "Deimos" but I didn't count that. 21:54:33 I found 37, though I was counting doubles I think. 21:55:03 Here's the episode, the segment is around the 4min mark: https://www.youtube.com/watch?v=Qtmd1byR8Ps&feature=share 21:55:10 29 in 'american-english' if allowing for dups. 21:55:28 imo why not allow duplicates 21:55:42 billowy is a good word 21:55:46 as is beefily 21:56:50 Indeed. 21:57:05 i am less sure about e.g. addeems adelops alloquy begorry belloot chikors deglory dikkops egilops elmmott gimmors 21:57:21 i feel like this is some sort of practical joke 21:57:27 perhaps played by the dutch 21:57:55 Yeah, I had to add some special checks to my SLI file because it was full of weird abbreviations and unix software names. 21:58:11 -!- oerjan has joined. 21:58:11 maybe deglory 21:58:14 Even then the full 544 number is probably slightly inflated by those that slipped the check. 21:58:18 hørjan 21:58:28 J_Arcane: I only watched that short segment (4-5:30), but in it the host guy claimed 3 instead of 6. 21:58:40 "almost", "chintz" and "biopsy", which at least don't contain dups. 21:58:44 Yeah. 21:59:12 It's possible the researchers weren't counting doubles and they simply got it confused on air, which happens. 21:59:12 shachi 21:59:29 Admittedly, "chimps" and "chinos" are plurals, which you might discount. And "abhors" is also inflected. 21:59:57 But I'm sure you can arrive to any number by sufficiently tweaking the rules. 22:00:35 fizzie: speaking of which have you considered altering one letter of your nick to make it into a palindrome 22:01:00 No, but it's been suggested on this very channel, if memory serves. 22:01:33 2009-02-16.txt:23:49:17: fizzie: did you know your nick has a palindrome in it? 22:01:43 i feel like every nick has several palindromes in it 22:01:47 [2013-04-20 19:48:25] Incrementing me by one makes me a palindrome. 22:02:02 incrizzie 22:02:32 shachaf: does incrementing you in hebrew make you a palindrome? 22:02:57 "fizzief" is my backup name for all the places where "fizzie" has been taken by some unscrupulous person. 22:02:58 a certain group of people refers to this Magic: The Gathering card as "young pizzie": http://gatherer.wizards.com/Pages/Card/Details.aspx?name=young+pyromancer 22:03:09 actually i suspect it's spelled "young pizzy" 22:03:36 oerjan: no, you'd need to increment me 4 or 5 times or something 22:03:56 see https://en.wikipedia.org/wiki/Hebrew_alphabet 22:04:11 4 or 5 depending on whether you count final letters 22:04:43 the spelling is שחף 22:06:13 i was already on that page but i couldn't find the spelling (wikipedia shockingly has no page for Shachaf (name)) 22:06:52 also putty shows your previous line as having the time 50:00 :P 22:08:34 copies and pastes as 00:05 22:09:12 Bidirectional is hard. 22:09:34 oerjan: i had just written it out somewhere but i realized it wasn't in this channel 22:14:56 * oerjan had to cut and paste letters between wikipedia and putty to get them in the same font so he could compare them :P 22:15:06 hm i guess i forgot 22:15:18 `unidecode שחף 22:15:19 ​[U+05E9 HEBREW LETTER SHIN] [U+05D7 HEBREW LETTER HET] [U+05E3 HEBREW LETTER FINAL PE] 22:16:16 oh 22:16:25 it's funny how you forget about that 22:30:25 -!- Imaginer1 has joined. 22:30:35 Today's the day 22:30:42 I'm doing it 22:30:42 I'm making a wiki account 22:31:21 [wiki] [[Special:Log/newusers]] create * Imaginer1 * New user account 22:31:44 It has been done 22:33:30 fancy 22:35:25 [wiki] [[User:Imaginer1]] N http://esolangs.org/w/index.php?oldid=40383 * Imaginer1 * (+511) Created page with "Well, this is my user page. My name is Christian Manahl. I'm 17 years old and I've been quite into coding for a while. Python is the main language I've been using, but I'm al..." 22:36:59 [wiki] [[User:Imaginer1]] http://esolangs.org/w/index.php?diff=40384&oldid=40383 * Imaginer1 * (+102) 22:40:12 [wiki] [[Cork]] http://esolangs.org/w/index.php?diff=40385&oldid=40381 * Imaginer1 * (-2) 22:55:01 -!- mihow has quit (Quit: mihow). 22:58:32 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 23:14:21 -!- Sgeo has joined. 23:22:13 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:33:07 -!- zzo38 has joined. 23:34:18 https://github.com/Sgeo/racket-optics/commit/161efbbb69ec514cae3182bbb26a92f0a05278af 23:34:21 I am making sense, right? 23:38:16 -!- pikhq has quit (Remote host closed the connection). 23:39:37 -!- pikhq has joined. 23:45:48 -!- Sprocklem has joined. 2014-09-03: 00:05:49 -!- mihow has joined. 00:12:14 -!- not^v has joined. 00:14:42 `danddreclist 56 00:14:43 danddreclist 56: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex 00:39:41 -!- tromp__ has joined. 00:41:27 -!- tromp has quit (Ping timeout: 245 seconds). 01:11:02 -!- Lorenzo64 has quit (Ping timeout: 245 seconds). 01:26:15 -!- Lorenzo64 has joined. 01:46:17 -!- AndoDaan has joined. 02:41:25 -!- not^v has changed nick to ^8. 02:53:11 [wiki] [[Wordfuck]] http://esolangs.org/w/index.php?diff=40386&oldid=40327 * Imaginer1 * (-2) 02:55:36 [wiki] [[User:Imaginer1]] http://esolangs.org/w/index.php?diff=40387&oldid=40384 * Imaginer1 * (+115) 03:16:26 -!- conehead has quit (Quit: Computer has gone to sleep). 03:49:17 :k Nat 03:49:19 Not in scope: type constructor or class ‘Nat’ 03:53:20 @instances Monoid 03:53:22 (), (a -> b), (a, b), (a, b, c), All, Any, Dual a, Endo a, First a, Last a, Maybe a, Ordering, Product a, Sum a, [a] 03:53:48 hm nothing suitably lazy 03:54:23 what do you think of instance (Monoid m, Applicative f) => Monoid (f m) where mempty = pure mempty; mappend = liftA2 mappend 03:54:34 other than the obvious incompatibility with a bunch of monoid instances 03:55:06 I say no due to possible incompatibility (even though, it is in fact a correct monoid) 03:55:13 Make a newtype wrapper, I suppose 03:55:18 if you pick m = () and f = [] you get Nat but with multiplication instead of addition 03:55:42 if you pick m = () and f = ZipList you get Nat but with min and +infty as your monoid 03:55:51 imo those are p. good monoids 03:55:53 note that i need the special property of Nat that (1 + undefined) + 1 >= 2 03:56:28 -!- AndoDaan has quit. 03:56:59 i was trying to see if i could find in reasonably "standard" modules a counterexample to typeclassopedia's claim that foldMap f = foldMap f . toList 03:57:04 Yes, those are ways to make up monoids 03:57:22 it's easy to construct one, but i don't see how to do it without defining a new instance 03:57:32 And I think someone has made a "monoid transformers" library which does exactly that; transforms a monoid with an applicative to make a new monoid. 03:58:09 by the way i mean Conat not Nat of course 03:58:14 even though they're the same 03:58:14 (1 + undefined) + 1 >= 2 is hard to achieve in practice. I guess you can use the unambiguous choice operator to get therer. 03:59:03 hm oh maybe it isn't true for the Nat i'm thinking od 03:59:04 oh wait. you're using S x + y = S (y + x) 03:59:05 *of 03:59:23 yes, but i realized that's not quite enough 04:00:01 oh wait you reversed them 04:00:03 that would work 04:00:10 but do you get a monoid then? 04:00:11 but feels like cheating 04:00:20 I,I S-expressions 04:01:17 hm maybe foldMap f = foldMap f . toList _is_ true for well-ordered foldables 04:01:29 (1 + _|_) + 1 = S S undefined, but 1 + (_|_ + 1) = 1 + _|_ = S _|_ 04:01:40 oerjan: well-ordered? 04:01:53 s/undefined/_|_/, I missed one instance 04:01:56 shachaf: it's easy to break with Last and a reverse list foldable 04:02:03 Sure. 04:02:12 If you only have finite Foldables then it's true. 04:02:14 but i'm having trouble doing it with Data.Tree 04:02:31 Oh, you mean a tree which is undefined in the middle? 04:02:43 although if int-e's S x + y = S (y + x) really _does_ work 04:03:34 it's not a monoid, so all bets are off. 04:03:51 ah 04:04:32 i was thinking let n = Node 1 $ repeat (Node 0 []) in Node 1 $ repeat n as the counterexample tree 04:04:48 toList will only contain the first two 1's 04:05:16 but if you could write a sufficiently lazy Nat to pick up the rest... 04:05:43 except the point was to use only pre-existing Foldables and Monoids 04:06:13 Except not Last? 04:08:14 oerjan: how about this one Monoid a => Monoid (Maybe a) ... Just x <> Just y = Just (x <> y); Just x + Nothing = Just x; Nothing + _ = Nothing. 04:08:51 shachaf: Last is fine, but Data.Tree doesn't give last elements. oh wait... 04:09:02 of course you can 04:09:16 Make a tree with undefineds in the middle subtrees. 04:09:38 @let tree = Node 0 [Node 0 $ repeat 0, Node 1 []] 04:09:41 Defined. 04:10:00 :t Last 04:10:01 Maybe a -> Last a 04:10:12 > foldMap (Last . Just) tree 04:10:14 No instance for (GHC.Show.Show a0) 04:10:14 arising from a use of ‘M894916986005060275817702.show_M8949169860050602758... 04:10:14 The type variable ‘a0’ is ambiguous 04:10:14 Note: there are several potential instances: 04:10:14 instance [safe] GHC.Show.Show 04:10:18 wat 04:10:26 oerjan: oh it's just another non-monoid. hah. 04:10:26 :t tree 04:10:28 (Num (Tree a), Num a) => Tree a 04:10:34 oops :P 04:10:37 @undef 04:10:37 Undefined. 04:10:57 int-e: what's wrong with Last? 04:11:18 oerjan: nothing is wrong with Last, but the thing I gave is utterly wrong. 04:11:27 @let tree = Node 0 [Node 0 $ repeat (Node 0 []), Node 1 []] 04:11:29 Defined. 04:11:34 > foldMap (Last . Just) tree 04:11:35 > foldMap (\x -> Last (Just x)) $ Node 0 [Node 1 undefined, Node 2 []] 04:11:37 Last {getLast = Just 1} 04:11:37 Last {getLast = Just 2} 04:11:50 > foldMap (Last . Just) $ toList tree 04:11:50 > foldMap (\x -> Last (Just x)) . F.toList $ Node 0 [Node 1 undefined, Node 2 []] 04:11:51 Not in scope: ‘toList’ 04:11:51 Perhaps you meant one of these: 04:11:53 ‘F.toList’ (imported from Data.Foldable), 04:11:54 can't find file: L.hs 04:11:56 ‘IS.toList’ (imported from Data.IntSet), 04:11:58 > foldMap (Last . Just) $ F.toList tree 04:11:58 ‘S.toList’ (imported from Data.Set) 04:12:03 mueval-core: Time limit exceeded 04:12:06 > foldMap (Last . Just) $ F.toList tree 04:12:13 mueval-core: Time limit exceeded 04:12:13 mueval: ExitFailure 1 04:12:21 i think that's an example 04:15:52 oh, right, you need a monoid where _|_ <> Foo = Foo. 04:16:03 for some Foo 04:16:38 yeah 04:16:49 and then you just have to replace the _|_ by something that is infinite as a list. 04:18:33 precisely 04:31:20 * Sgeo is fairly sure that his exchange is incorrect 04:31:36 Sadly, that's based more on testing than understanding, so may take a bit to fix 04:44:33 -!- ^8 has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:06:39 -!- tromp has joined. 05:09:12 -!- tromp__ has quit (Ping timeout: 246 seconds). 05:33:53 -!- newsham has quit (Quit: Lost terminal). 05:34:23 -!- newsham has joined. 05:56:05 moin 05:56:42 zzo38: wth are SQL based polls? 05:56:50 morn 05:56:53 The unoptic mechanism is what my exchange is supposed to be? 05:57:08 Do the participant have to write INSERT INTO stateements? 05:57:10 How come I see code for unchoice? 05:57:17 I thought you could only turn around isos 05:57:21 *participants *statements 05:58:14 i recall edwardk saying that _not_ using profunctor lenses cost you the ability to undo prisms, so presumably you can do it with them 05:59:08 -!- MDude has changed nick to MDream. 05:59:17 What is undoing a prism? Turning it into a getter with the same function used to turn around an iso? Or something else? 05:59:27 Sgeo: remit 05:59:33 or re 05:59:35 whatever it's called in lens now 05:59:46 (except it retains the other side so you can flip back) 06:00:45 I could follow this thing's convention and use un for both: http://lpaste.net/103359 06:00:51 iiuc 06:01:17 that is the point of from, yes. 06:01:47 you can turn any optic around. 06:01:53 in the case of Iso, what you get is another Iso. 06:02:47 in the case of Prism (a partial isomorphism), you get effectively a getter; getting does "the other way" of the partial isomorphism, same as turning around an Iso for a constructor. 06:03:03 of course you actually get an unprism that you can turn back around again to get a full prism; no information is ever lost 06:03:45 Sgeo: http://www.reddit.com/r/haskell/comments/23uzpg/lens_is_unidiomatic_haskell/ch13df1 06:05:01 5th last paragraph 06:05:05 So, I'm not getting _that_ much value for using a system I understand slightly less 06:05:48 profunctor lenses are way more elegant and simple and if you are doing things in a system where you are not under the constraints lens itself has you should probably use them 06:07:38 Except traversals but I think I can use my lazy list idea for them... I can imagine how to turn a traversal function into something that works in that system... 06:08:05 Assuming immutable data though... I think my idea would break if traversing twice over the same structure occured in non-identical orders 06:31:14 My exchange code... looks correct, comparing it to the profunctor lenses paste 06:34:18 hu 06:34:24 where does cabal install cabal install cabal? 06:37:45 wtf 06:37:57 I thought it used to install into ~/.cabal/bin 06:39:56 ah. cabal != cabal-install 06:45:30 So where does the cabal-install's cabal install cabal-install cabal install cabal-install, cabal? 06:52:56 How much cabal would a cabal-install install, if a cabal-install could install cabal? 06:58:49 -!- evalj has joined. 07:01:56 Why doesn't cabal-install distinguish between cabal and Cabal? 07:03:45 I think I discovered a confusing case of generics in Racket 07:09:46 Pasterack's being slow... but basically, defining the implementation of a generic also shadows the generic's name, so if you attempt to use the same generic function on a different struct, you end up using the one you're defining, instead of the one you want 07:10:07 https://github.com/Sgeo/racket-optics/blob/master/profunctors.rkt#L58 07:10:20 That line calls _exchange_'s dimap, not driver's dimap 07:11:23 I forgot how to permalink to a specific version easily 07:11:59 -!- newsham has quit (Quit: restart). 07:12:29 Boom permalink the slow way https://github.com/Sgeo/racket-optics/blob/6eacd94d0fede97d693385e69fecfc20340ca485/profunctors.rkt#L58 07:12:31 -!- newsham has joined. 07:14:37 https://github.com/CrazyM4n/brainfunge yet another paragon of innovations 07:25:59 -!- evalj has quit (Remote host closed the connection). 07:33:31 -!- MDude has joined. 07:37:20 -!- MDream has quit (Ping timeout: 260 seconds). 07:43:29 -!- AnotherTest has joined. 07:48:12 http://pastie.org/9523463# 07:48:16 That second string gets printed 07:50:10 -!- augur has quit (Quit: Leaving...). 07:51:25 I need to get me a VPS one of these days. 08:03:41 I don't understand when UnChoice and UnStrong would be used... nothing's calling unleft unright unfirst unsecond. un-ing a lens or prism shoudldn't cause those functions to magically be called when they weren't before 08:28:26 Deewiant: Where is the "brain" part? 08:29:03 Sgeo: they are used in instances for un. 08:29:15 I don't know the haskell code you pasted. it looks incomplete. 08:29:24 probably someone did not fully explore the theory 08:29:55 Deewiant: I also like how ^ is both "set direction up" and exponentiation. 08:31:11 (There's a "BrainFunge2" in the wiki, but not 1.) 08:45:02 -!- Patashu has joined. 08:51:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 09:06:27 -!- mihow has quit (Read error: Connection reset by peer). 09:08:23 -!- mihow has joined. 09:16:52 -!- oerjan has quit (Quit: leaving). 09:24:55 -!- AxelBob has joined. 09:26:32 -!- AxelBob has quit (Client Quit). 09:26:50 -!- AxelBob has joined. 09:32:20 -!- augur has joined. 09:36:14 -!- yaowenrui has joined. 09:53:53 Curious compilation issue: gcc complaining about undefined references to 'dlopen' and 'dlerror' in one of the included shared libraries, even when linking with -ldl. 09:54:58 Permute the command line arguments 10:02:03 That was tried. (Should've mentioned.) 10:02:23 Well, not all permutations, it was a 9-line command from a build system. 10:02:31 But with -ldl as last, at least. 10:11:57 -!- boily has joined. 10:15:35 -!- Frooxius has quit (Ping timeout: 255 seconds). 10:16:46 -!- mikkelrobin has joined. 10:18:12 -!- mikkelrobin has left. 10:30:53 -!- AxelBob has quit (Ping timeout: 255 seconds). 10:42:45 -!- yaowenrui has quit (Remote host closed the connection). 10:52:18 -!- yorick_ has changed nick to yorick. 11:02:56 -!- boily has quit (Quit: BANSHEE CHICKEN (screeeeeeeeeetch!)). 11:11:09 -!- Phantom_Hoover has joined. 11:24:52 -!- Frooxius has joined. 12:03:02 -!- Sgeo has quit (Read error: Connection reset by peer). 12:40:27 -!- impomatic_ has left. 12:41:02 -!- impomatic_ has quit (Quit: impomatic_). 13:05:20 -!- Patashu has quit (Ping timeout: 276 seconds). 13:34:27 -!- Sprocklem has quit (Ping timeout: 268 seconds). 14:06:53 [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=40388&oldid=40358 * 66.249.85.53 * (+125) /* Based on dimensions */ Time-based Language 14:08:41 I interpreted those as plurals. 14:31:22 * A programming language that takes compiler errors as input . 14:32:14 Hm. 14:32:27 A programming language consisting of commands given as integers 14:32:36 where only integers are legal whose collatz sequence reaches 1 14:33:33 or A programming language where the program is to be treated as a single integer whose collatz sequence has to reach 1 14:33:38 hm 14:34:06 The page is longer than I remembered. 14:36:42 I should get off my ass and bother getting things so I can SSH over IPv4 innto my desktop. 14:46:52 mroman_, a while back I tried to write a language that was TC if and only if the collatz conjecture was false 14:49:55 There is a trivial way to do that 14:51:16 -!- conehead has joined. 14:54:53 It might be more interesting to create a language that is TC iff the collatz conjecture is true 14:54:56 -!- FreeFull has quit (Read error: Connection reset by peer). 14:55:38 -!- FreeFull has joined. 14:56:37 that's easy; do a collatz sequence from i before the i'th instruction 15:03:23 if you only need some finite number of instructions for a UTM it could be TC regardless, couldn't it 15:04:05 A less trivial language: given a mapping f: Z^+ -> instruction, the program n runs the instructions f n, f (collatz n), ... 15:04:16 yeah that's what i was thinking 15:04:22 though it sounds like a pain 15:05:09 (or the mapping can be part of the program, if it has finite support) 15:05:56 (but if all infinite collatz chains are aperiodic, finite mappings are not TC) 15:07:49 -!- nycs has changed nick to `^_^v. 15:23:10 A language that is only turing complete if it is not turing complete 15:23:43 I don't know enough paradoxical logic to know if that's even remotely possible 15:24:03 it probably even means that that language can't actually exist 15:25:18 No problem. The wiki is full of languages that don't actually exist 15:47:44 ugh 15:50:28 mroman_, I think it means that the language is not turing complete 16:01:16 [wiki] [[Talk:Iota]] http://esolangs.org/w/index.php?diff=40389&oldid=8009 * Imaginer1 * (+182) 16:04:54 -!- lifthras1ir has joined. 16:07:28 -!- monotone_ has joined. 16:08:37 -!- myndzi has quit (Ping timeout: 260 seconds). 16:08:38 -!- lifthrasiir has quit (Ping timeout: 260 seconds). 16:08:38 -!- clog has quit (Ping timeout: 260 seconds). 16:08:51 -!- scounder has quit (Ping timeout: 260 seconds). 16:08:51 -!- skarn has quit (Ping timeout: 260 seconds). 16:08:51 -!- monotone has quit (Ping timeout: 260 seconds). 16:09:39 -!- scounder has joined. 16:11:23 -!- skarn has joined. 16:11:33 -!- skarn has changed nick to Guest10538. 16:11:38 -!- myndzi has joined. 16:14:12 -!- drdanmaku has joined. 16:14:30 -!- conehead has quit (Quit: Computer has gone to sleep). 16:14:37 -!- Phantom__Hoover has joined. 16:18:12 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 16:19:34 -!- conehead has joined. 16:26:58 -!- ^v has changed nick to CaretVeePomm. 16:27:47 -!- CaretVeePomm has changed nick to ^v. 16:51:30 woring with two keybords of duffrnte size is e fraking heall 16:53:39 why isnte there STndRD FAR SPCNG BOTWOON JOPBORDS/ 16:54:18 Try resizing your hands. 16:54:29 I'm trying 16:54:29 between what?! 16:54:37 -!- clog has joined. 16:54:47 *between keyboard keys 16:55:13 My keyboard at work has different spacings 16:55:32 and how do you turn 'E' into 'O', hmm. Must be Dvorak? 16:55:32 it takes at least 5 minutes to get accustomed to my private keyboard's spacing 16:55:38 I'm Dvorak. 16:58:07 different spacing really messes up blind and fast typing 16:59:22 (http://25.media.tumblr.com/tumblr_m5g0opjSYf1r94e9jo1_500.gif) 16:59:48 That's interestingly creepy 17:12:33 -!- masoudd has joined. 17:31:05 -!- augur has quit (Remote host closed the connection). 17:31:32 -!- augur has joined. 17:32:16 Is that from Ghost in the Shell? 17:33:30 yes 17:33:34 -!- lollo64it has joined. 17:36:33 -!- augur has quit (Ping timeout: 272 seconds). 17:48:56 anti-selfie bill 17:48:58 wth is this 17:51:30 USA? 17:52:12 http://www.abs-cbnnews.com/nation/09/03/14/anti-selfie-bill-still-limbo 17:52:35 Phillipines, actually. 17:53:24 http://cebudailynews.inquirer.net/40900/bill-vs-techy-intruders-mistaken-as-anti-selfie-bill 17:57:31 http://www.abs-cbnnews.com/nation/09/03/14/anti-selfie-bill-still-limbo calls it the anti-selfie bill and cites the offenses, which seem to be targeted at paparazzis really. 17:57:49 how one can do that in the same article is beyond me. 17:58:35 politics: the same shit, just different toilets. ;) 18:09:38 It's odd that out of all the scenes, the typing is the one that I quote most often 18:12:40 well it's that or "i can't go swimming, i would sink" 18:18:04 -!- ais523 has joined. 18:28:45 -!- augur has joined. 18:31:03 mroman_: Sorry I cannot answer your question; I was sleeping. Now I can try to answer it. 18:32:04 No a participant will not necessarily have to write INSERT INTO statements, but rather all data nevertheless is in the SQLite formats so all statistics and so on are accessed using SQL. 18:34:13 SQL is too oldschool 18:34:20 Hipsters like me use acid-state 18:36:26 Which means what? 18:44:58 < J_Arcane> http://cebudailynews.inquirer.net/40900/bill-vs-techy-intruders-mistaken-as-anti-selfie-bill – I am amused at the quote at the bottom because of the typical code-switching. 18:44:58 -!- Sprocklem has joined. 18:53:28 zzo38: http://acid-state.seize.it/ 18:57:58 It's some hip database haskellish thingy 18:58:49 I've a book in my bookmarks about making a Scheme in Haskell, but I'm not sure if or when I'll get round to that. 19:00:07 -!- tromp__ has joined. 19:00:25 J_Arcane: Sorry, I can't resist: How did you fit an entire book into a bookmark? 19:00:39 int-e: the magic of science. 19:01:44 Well, you see, a book about implementing scheme is a very small book. 19:01:46 (or just very narrow type: http://smbc.myshopify.com/collections/frontpage/products/bookmark-double-pack ) 19:02:42 -!- tromp has quit (Ping timeout: 272 seconds). 19:03:09 More seriously, though, it's a Wikibook: https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours 19:05:03 You can probably also use http://longnow.org/membership/10k as a bookmark, but be careful not to scratch it. 19:05:42 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds). 19:08:39 -!- Phantom_Hoover has joined. 19:25:31 -!- impomatic_ has changed nick to impomatic. 19:31:09 Well if you are using Haskell, then I suppose using Acid-State is going to work. 19:33:58 -!- Bicyclidine has joined. 19:35:49 -!- impomatic has quit (Ping timeout: 268 seconds). 19:38:39 But I use SQL 19:41:18 -!- wagner has joined. 19:56:48 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 19:57:22 -!- Sprocklem has quit (Ping timeout: 240 seconds). 20:01:33 -!- MDude has quit (Ping timeout: 240 seconds). 20:05:19 -!- Bicyclidine has joined. 20:07:37 -!- Phantom__Hoover has joined. 20:07:38 -!- Phantom__Hoover has quit (Client Quit). 20:07:49 -!- Phantom__Hoover has joined. 20:11:35 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds). 20:16:29 -!- wagner has quit (Quit: Page closed). 20:20:33 -!- MoALTz has joined. 20:40:31 [wiki] [[Brainfuck implementations]] http://esolangs.org/w/index.php?diff=40390&oldid=40359 * 87.79.59.163 * (-1) 20:47:22 -!- AnotherTest has quit (Ping timeout: 245 seconds). 21:03:07 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 21:03:46 -!- Patashu has joined. 21:07:58 -!- Phantom_Hoover has joined. 21:09:48 -!- Phantom___Hoover has joined. 21:10:30 -!- Phantom__Hoover has quit (Ping timeout: 252 seconds). 21:12:33 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 21:19:10 -!- miko__ has joined. 21:20:03 Hi. I remember there was a "hyper turing complete" esolang. 21:20:15 -!- Bicyclidine has joined. 21:20:24 miko__: "uncomputable"'s the normal term 21:20:26 there are several of those 21:21:40 It was a brain fuck derivate that solved the halting problem. There was a operator (or operator pair) that enclosured a brainfuck programm. If it halted it wrote a 1 to the tape or 0 if not. 21:22:07 I don't remember the details, but something like that. Does anybody no the name? 21:22:31 i think the wiki has a category for languages that are impossible to implement. i'd look for something named something-fuck in that category. 21:22:38 http://esolangs.org/wiki/Brainhype ? 21:23:03 damn, almost got it, but not quite 21:23:36 'super turing complete' seems dumb. wouldn't it more properly have post degree 0' or something like that 21:23:50 I like onoz better 21:24:24 or 0'' i guess 21:24:36 oh, onoz looks like fun 21:24:43 Oh, it was brainhype. 21:24:44 thanks 21:25:48 is onoz recursive? 21:26:19 like, if you run into a loop while in a loop is it just a brainfuck loop or an onoz loop. 21:26:22 -!- Patashu has quit (Ping timeout: 240 seconds). 21:26:51 I'm not sure, from the spec 21:26:59 also I'm not sure if it matters for the behaviour 21:27:08 maybe oerjan would know, but he isn't here 21:27:35 @ask oerjan in onoz, do nested [] have BF or onoz semantics? and does it matter for the purpose behind the language? 21:27:35 Consider it noted. 21:28:45 well, i mean, the program [+[>+]] behaves differently, doesn't it? +[>+] as a brainfuck program doesn't halt but as an onoz program it does. 21:30:34 Bicyclidine: obviously the semantics are different 21:30:43 but the language may fulfil its purpose either way 21:32:11 what's the purpose, exactly? 21:32:15 i mean you're probably right but 21:32:34 Bicyclidine: a language which is a) computable; b) cannot be proven to not halt 21:33:08 ...ah, hm. 21:42:51 -!- miko__ has quit (Ping timeout: 268 seconds). 21:55:13 -!- esowiki has joined. 21:55:17 -!- esowiki has joined. 21:55:17 -!- esowiki has joined. 21:55:53 -!- esowiki has joined. 21:55:57 -!- esowiki has joined. 21:55:57 -!- esowiki has joined. 21:56:33 -!- esowiki has joined. 21:56:37 -!- esowiki has joined. 21:56:38 -!- esowiki has joined. 21:57:18 -!- esowiki has joined. 21:57:22 -!- esowiki has joined. 21:57:23 -!- esowiki has joined. 21:58:03 -!- esowiki has joined. 21:58:07 -!- esowiki has joined. 21:58:08 -!- esowiki has joined. 21:58:48 -!- esowiki has joined. 21:58:52 -!- esowiki has joined. 21:58:53 -!- esowiki has joined. 21:59:28 -!- esowiki has joined. 21:59:32 -!- esowiki has joined. 21:59:33 -!- esowiki has joined. 22:00:08 -!- esowiki has joined. 22:00:12 -!- esowiki has joined. 22:00:13 -!- esowiki has joined. 22:00:48 -!- esowiki has joined. 22:00:52 -!- esowiki has joined. 22:00:53 -!- esowiki has joined. 22:00:59 -!- glogbot has joined. 22:01:52 -!- FireFly has joined. 22:03:02 -!- Gregor has joined. 22:03:40 -!- Bicyclidine has joined. 22:15:55 Another kind of halting oracles, for sequent calculus based systems, can be an axiom schema |- ORACLE x for all nontheorems |- x 22:16:33 (If you try to add other things it will likely cause paradoxes and/or inconsistencies, though) 22:20:12 -!- boily has joined. 22:29:02 This reminds me that I read a thing on SciAm today about using closed-time-loops in computing. 22:29:22 Yes, OK and how is that working? 22:30:05 -!- conehead has quit (Quit: Computer has gone to sleep). 22:30:17 Theoretically (and possibly confirmed in simulation), due to the nature of a CTC, you could create a quantum computer that could send its own processes backward in time and simply keep retrying them for free until the iteration reached the required calculation. 22:30:35 Imagine a zero-runtime for loop. 22:31:40 http://www.scientificamerican.com/article/time-travel-simulation-resolves-grandfather-paradox/ 22:42:31 J_Arcane: I've been to a talk on that. It turns out that (depending on the model of CTCs you use) you usually can't get anything useful out of it 22:42:52 because it's quantum, you can't just read the value stored in the CTC without disturbing it 22:43:13 so you need to get a stable "compute + read" loop, which it turns out is almost always equivalent to just not having a CTC to begin with 22:44:09 -!- ais523 has quit (Ping timeout: 260 seconds). 22:45:31 -!- CrazyM4n_ has joined. 22:45:54 hey, could someone lend me a hand making a language that I wrote turing complete? 22:46:12 It says that "Hawking and many other physicists find CTCs abhorrent, because any macroscopic object traveling through one would inevitably create paradoxes where cause and effect break down" but I think cause and effect aren't necessary and rather something more related to a constraint system. 22:46:34 Cause and effect is then emergent instead of fundamental. 22:46:42 (That's just a guess, of course.) 22:47:46 -!- ais523 has joined. 22:47:55 CrazyM4n_: Making it turing-complete? Is it on esolangs? 22:48:13 After all, some mathematical formulas have multiple solutions (or none at all), isn't it? 22:48:18 yes 22:48:38 well, no 22:48:49 it's on github, i've never edited a wiki or anything 22:48:53 not sure of the standards 22:48:54 I don't think CTCs are that abhorrent, after all, quantum physics is a situation where we see multiple possible solutions to a system and the universe picks one at random 22:49:08 CrazyM4n_: Is there a plain-language description of it? 22:49:25 yea 22:49:31 hold on, let me get the link 22:49:39 https://github.com/CrazyM4n/brainfunge/blob/master/README.txt 22:49:52 it's stack based, woohoo for originality 22:50:21 What does ! do on an empty stack? 22:50:39 anyway, just looking at it, I'm 99% sure it's TC 22:50:39 Yes, there is pick one at random, and even calculation of the probabilities of such thing, but at least I think it must fundamentally be made of mathematics. But then you have to consider gravity too, which is also considered difficult to solve perfectly. 22:50:53 you can solve the wire-crossing problem with 0! or something similar 22:50:57 err, 0` 22:51:15 well, the wires can cross already 22:51:21 because of the spaces 22:51:27 oh wait, hmm 22:51:39 you don't have a way to reach down the stack 22:51:55 so that probably makes it fail to be TC, since you can only address two stack bits at a time 22:52:00 i was thinking of adding a second stack/turn it into a tape, kind of like BF 22:52:19 If you added stack rotation that should be enough 22:52:19 and use [ and ] to navigate the tape 22:52:27 CrazyM4n_: It defines the ^ symbol twice 22:52:34 oh yeah, meant to remove that 22:52:40 ^ goes up, not exponentiation 22:52:56 like, pop two values x and y, and put y on the stack x cells deep 22:53:05 I believe that that's enough to get TC 22:53:10 the thing is, is that the stack is infinite 22:53:16 oh 22:53:19 that might work 22:53:26 The stack is not infinite 22:53:29 it is of unbounded size 22:53:40 ais523 maybe knows the requirements for TC in a stack-based language better than I 22:53:52 -!- MDream has joined. 22:54:11 "zeroStack :: Stack; zeroStack = repeat 0" the stack starts as an infinitely sized array of 0 22:54:12 actually wait, nevermind, it definitely is enough 22:54:35 because you can use even locations to represent "forward" cells on the TM tape, an odd locations for "backward" cells 22:54:44 oh no wait, that fails, hmm 22:54:55 i'm thinking to add an operator 22:54:56 -!- MDream has changed nick to MDude. 22:55:19 that pops the top of the stack, and accesses a value at that index, and brings it to the top 22:55:28 that's equivalent 22:55:32 so suc=re 22:55:33 *sure 22:55:43 oh yea, that's kinda what you said haha 22:55:59 mine went down, but you can implement either with the other 22:56:07 two stacks is enough for TC 22:56:20 not sure if one is, when implemented as such 22:56:32 my friend suggested just adding a seperate stack also 22:56:33 although actually 22:56:38 if your stack is infinite 22:56:42 then you can address any cell 22:56:48 so it's just an infinite register bank 22:56:53 why not just make it a "memory block" instead of a stack? i could have an infinite array of stacks 22:56:54 which is enough 22:57:01 yeah, i'll do that 22:57:01 like 22:57:09 so yeah, rotation is enough 22:57:09 access at x index 22:57:24 well, rotation is impossible on an infinite array 22:57:28 that's my concern 22:57:33 even addressed rotation I mean 22:57:59 basically as long as you can implement "retrive value at index x" and "store value at index x" on your stack, it's equivalent to a von neumann machine 22:58:33 that's gonna have really awkward syntax considering the rest of the syntax is just one character a piece 22:58:34 -!- Guest10538 has quit (Changing host). 22:58:34 -!- Guest10538 has joined. 22:59:14 CrazyM4n_: the operation you described above is enough 22:59:15 -!- Guest10538 has changed nick to skarn. 22:59:42 i'll work on that and see how weird it feels 22:59:46 if I can pop x, and then move the value at x to the top of the stack, I can do so n times 23:00:04 ah i see 23:00:08 -!- Sgeo has joined. 23:00:43 ais523 maybe knows the requirements for TC in a stack-based language better than I ← another stack 23:00:54 although it can be subtle 23:00:57 ais523: stack rotation is enough too, I'm pretty sure 23:01:03 coppro: then the bottom of the stack is another stack 23:01:10 I guess 23:01:16 although in CrazyM4n_'s case, there is no bottom 23:01:19 other subtle places to find it are the call stack, and inside the structure of stack elements 23:01:26 coppro: well you can't rotate a stack without having a bottom 23:01:35 ais523: you can do a partial rotate 23:01:45 unless it's a pick instruction, in which case you can create extra stacks anywhere, or just use it like a tape 23:01:51 yeah 23:02:57 "- | = pop the top of the stack, then move the value from that index to the top - . = pop the top of the stack, then move the next top value to that index" sounds good? 23:03:48 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 23:04:36 also, last question: would you rather have arithmatic pop the top two numbers and do things with them, or just do things with them without popping them then push the answer to the stack 23:04:44 *arithmetic 23:07:21 CrazyM4n_: yes, those two operations together are definitely enough 23:07:26 on second thought, having arithmetic not pop the stack would make for some really interesting solutions to code golf challenges 23:07:35 I prefer that arithmetic pops, but yes, that second thing is true 23:07:46 by the way, you should make a page at esolangs.org :) 23:07:51 like, the fibonacci sequence would be "1>+O<" 23:08:15 * Sgeo yells at confusing cloud 23:08:18 i'm terrible with wikis, but i'll try to base it off of some better page 23:14:48 -!- Bicyclidine has joined. 23:15:22 -!- conehead has joined. 23:15:29 so a truth machine is really easy in my language 23:15:40 writing one right now, it kinda looks really cool 23:17:58 -!- conehead has quit (Client Quit). 23:18:21 does anyone know how to make sublime text not automatically delete whitespace on an empty line? 23:18:42 err, if you press enter on a line with only whitespace 23:29:26 i could make my language like piet, and make each pixel represent one of the commands 23:40:25 -!- thomasfuston has joined. 23:42:16 so is the top of the stack index 0 or is the top of the stack index 1 23:55:00 -!- idris-bot has quit (Ping timeout: 260 seconds). 23:55:52 -!- Melvar has quit (Ping timeout: 240 seconds). 23:56:20 remember the Visual Studio issues I had a while ago? 23:56:48 thankfully no 23:56:57 right, you weren't here 23:59:13 anyway, I finally solved my original problem by taking some precompiled binaries and modifying the binaries 23:59:13 because it was easier than getting the program to compile 23:59:13 using objdump -d from Linux and just comparing the binaries and the source 23:59:13 string literals are pretty useful at figuring out what corresponds to what 2014-09-04: 00:01:37 [wiki] [[Special:Log/newusers]] create * CrazyM4n * New user account 00:02:58 is there a page that describes 2d languages that i could link to? 00:04:56 http://esolangs.org/wiki/Category:Two-dimensional_languages 00:05:02 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 00:05:24 -!- Phantom___Hoover has quit (Read error: Connection reset by peer). 00:05:25 Oh, unless you meant a general page about them. 00:05:30 [wiki] [[Brainfunge]] N http://esolangs.org/w/index.php?oldid=40391 * CrazyM4n * (+187) Created page with "'''Brainfunge''' is an esoteric 2d language created by [[User:CrazyM4n]] in 2014. It is a mixture between possibly the two most popular esoteric languages, [[Brainfuck]] and ..." 00:06:00 i did 00:06:06 but i can add that 00:06:12 There seems to be a quite stubby Category:Concepts page at http://esolangs.org/wiki/Fungeoid but that's not very useful to link at. 00:06:27 -!- nisstyre has quit (Ping timeout: 272 seconds). 00:06:51 -!- Froox has joined. 00:07:20 -!- J_Arcane_ has joined. 00:07:28 how can i add a language to a category? 00:07:46 By typing [[Category:2014]] or whatever 00:07:54 kk thanks 00:08:00 -!- Melvar has joined. 00:08:23 Conventionally, at the very end of the article. 00:09:12 [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40392&oldid=40391 * CrazyM4n * (+175) 00:12:10 -!- sebbu has quit (Ping timeout: 255 seconds). 00:12:10 -!- vravn has quit (Ping timeout: 255 seconds). 00:12:11 -!- clog has quit (Ping timeout: 270 seconds). 00:12:11 -!- qlkzy has quit (Ping timeout: 270 seconds). 00:12:11 -!- variable has quit (Ping timeout: 270 seconds). 00:12:11 -!- J_Arcane has quit (Ping timeout: 270 seconds). 00:12:12 -!- FireFly has quit (Ping timeout: 255 seconds). 00:12:12 -!- Frooxius has quit (Ping timeout: 255 seconds). 00:12:14 -!- J_Arcane_ has changed nick to J_Arcane. 00:12:20 how do you display a code block like here http://prntscr.com/4jg8mg? 00:12:39 -!- vravn_ has joined. 00:12:45 -!- clog has joined. 00:13:00 to place code blocks on Esolang, either use
 to 
, or if it's simple, you can just start each line with a space 00:13:21 Trying to emulate the syntax highlighting in that screenshot is probably not advisable. 00:13:56 (It's kind of a mess.) 00:13:59 not the syntax highlighting, just the block :P 00:14:12 -!- qlkzy_ has joined. 00:14:39 someone should make BF/BF-like syntax highlighting automatic as it's so common 00:14:44 You can look at the "edit" page (or put ?action=raw after the URL) of an existing article to see how something was done there. 00:14:56 oh yea, it's a wiki 00:14:58 -!- FireFly has joined. 00:14:59 whoosh 00:15:50 There are probably a number of brainfuck syntax highlighters. I know sprunge.us does both brainfuck and befunge, at least. 00:16:39 that's quite nice 00:16:59 so i've seen people using sprunge.us instead of pastebin 00:17:07 is that reccomended? or is it just a choice 00:17:25 It's slightly less colorful, however. http://sprunge.us/FhaQ?bf is one of the wiki examples, and it just bolds []s and colorizes comments. 00:17:31 Some people prefer it; I prefer sprunge 00:17:46 It's just a choice, presumably due to to it being more convenient from the command line. 00:18:06 Yes 00:18:08 And maybe also because it doesn't add any extra cruft to the paste. 00:18:12 ah 00:18:27 (Though I'm sure there's command-line pastebin clients too, for the first thing.) 00:18:45 -!- mihow has quit (Quit: mihow). 00:19:03 http://sprunge.us/AhUR?befunge heh 00:19:10 Didn't really recognize the commens in there. 00:19:18 (Not a surprise.) 00:19:39 fungot: How do you feel about being so colorful? 00:19:40 fizzie: mr president, there is a need to revise these priorities. an association agreement with egypt evokes very mixed feelings about the peace process in the field of energy. 00:19:52 And in sprunge if you simply omit the ? and next part, it is a raw file. So you can download as well as upload from command line. 00:20:52 wh-who would write such a long program in befunge 00:20:59 it's like self torture 00:21:08 -!- thomasfu` has joined. 00:21:16 Some people like this kind of torture 00:21:58 excuse me? 00:22:18 good tortured evening y'all ^^ 00:22:25 lol it was a joke 00:22:32 but still, it'd be a terrible pain to maintain 00:23:52 Did you see next one Dungeons&Dragons recording yet? It was yesterday but maybe you are not on yet? 00:25:09 -!- thomasfuston has quit (Ping timeout: 264 seconds). 00:26:21 oh, i didn't see the context and thought zzo was just telling us about his kinks unprompted 00:26:24 oops 00:27:38 that's great 00:27:56 [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40393&oldid=40392 * CrazyM4n * (+1775) 00:28:26 -!- variable has joined. 00:30:24 so the wikipage for brainfunge is practically done 00:30:24 http://esolangs.org/wiki/Brainfunge 00:30:25 :D 00:31:37 How can I precompute a dictionary for compression? 00:32:50 -!- callforjudgement has joined. 00:33:58 -!- nisstyre has joined. 00:35:22 -!- ais523 has quit (Ping timeout: 240 seconds). 00:35:24 [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40394&oldid=40393 * CrazyM4n * (+102) 00:50:51 -!- variable has quit (Ping timeout: 255 seconds). 00:51:42 I have a collection of text strings and want to make a static dictionary containing exactly ninety-six strings in order to improve compression (when one of these is a substring of another string (except one of these ninety-six), it is compressed to a two-character index). Note that entries in the dictionary are also usable as strings themselves. 00:51:42 so i finished the truth machine 00:51:45 it looks sweet 00:51:50 What kind of algorithm can be used? 00:53:18 why not just use a dict like is provided default in most languages? 00:53:58 also here's a truth machine in my language: http://sprunge.us/efZU 00:54:14 OK, then you should post it on the wiki 00:54:38 i'm doing it right now 00:55:03 (i know i'm making a really big deal over this, but cmon this is the first eso lang that i have made and IT'S SO COOL) 00:55:04 OK 00:55:41 [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40395&oldid=40394 * CrazyM4n * (+48) 00:56:40 -!- thomasfu` has quit (Read error: Connection reset by peer). 00:58:13 -!- boily has quit (Quit: SUPERLUMINARY CHICKEN). 00:59:27 -!- variable has joined. 00:59:48 "[Quit: SUPERLUMINARY CHICKEN]" he should probably do something about that 01:01:06 Why? 01:01:30 i didn't mean as in change it 01:01:46 i meant as in "he should fix his chicken" 01:02:06 i was making a joke :P 01:03:22 Fix the chicken? 01:03:57 You wrote "why not just use a dict like is provided default in most languages?" but I do not understand. 01:09:16 oh 01:10:01 like, https://docs.python.org/3.4/library/stdtypes.html#typesmapping for example 01:10:03 -!- Lorenzo64 has quit (Ping timeout: 246 seconds). 01:10:44 -!- lollo64it has quit (Ping timeout: 276 seconds). 01:12:32 It isn't what I am looking for though at all 01:13:25 Rather it is dictionary compression I am asking about; it has nothing to do with that. 01:15:44 -!- callforjudgement has quit. 01:18:03 ah 01:18:48 can i use a case statement into a do block? 01:18:50 If you have a large number of small strings, exhaustive search should be efficient. 01:19:01 err, wrong irc, sorry, lol 01:19:21 Or rather, sufficient. 01:26:07 -!- Lorenzo64 has joined. 01:26:16 Can you give an example? Some of the strings may be pretty long, for one thing 01:34:21 -!- nisstyre has quit (Quit: WeeChat 0.4.3). 01:35:08 -!- nisstyre has joined. 01:40:21 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=40396&oldid=39536 * CrazyM4n * (+58) brainfunge 01:42:47 -!- doesthiswork has quit (Quit: Leaving.). 01:47:32 -!- conehead has joined. 01:48:53 -!- doesthiswork has joined. 01:49:16 so 01:49:19 in brainfunge 01:49:36 right now, by accident, getting characters can get the "enter" character 01:49:41 should i get rid of that lol 01:50:04 i think i will 01:54:19 hi CrazyM4n_ 01:58:39 CrazyM4n_: You mean you don’t want to be able to read newlines? 02:01:35 oh 02:01:53 yea, right now it's reading newlines in the read character command 02:02:00 i have to remove it, it's kinda broken 02:06:28 -!- sebbu has joined. 02:07:04 -!- sebbu has quit (Changing host). 02:07:04 -!- sebbu has joined. 02:11:31 http://prntscr.com/4jh5il fancyy 02:14:22 [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40397&oldid=40395 * CrazyM4n * (+1) /* Syntax */ 02:15:24 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=40398&oldid=40396 * CrazyM4n * (+6) /* Brainfunge */ 02:16:52 An exhausive search would seem to be slow to do this kind of comperssions 02:32:44 -!- CrazyM4n_ has quit (Quit: Page closed). 02:33:16 > let subs = filter(not.null) . (inits>=>tails); sub x y = r where{ r "" = ""; r s@(c:t) | isPrefixOf x s = y ++ r (length x`drop`s) | True = c:r t }; size = sum.map length; comp ss (y:ys) | sz'ss ]} in comp ["abcdabc", "bbcababc", "badbadcab"] (show<$>[0..]) 02:33:18 ([("0","ab"),("1","0c"),("2","bad")],["1d1","bbc01","22c0"]) 02:38:11 OK, although still in the case I am doing, it is C and furthermore the things like ("1","0c") is not allowed (although it is allowed if the reference only occurs at the end of the string and the reference is only to the next string in the compression table) 03:05:10 -!- not^v has joined. 03:16:09 -!- Melvar has quit (Ping timeout: 264 seconds). 03:29:21 -!- masoudd has quit (Ping timeout: 246 seconds). 03:32:48 -!- Melvar has joined. 04:01:25 -!- oerjan has joined. 04:02:18 @messages- 04:02:18 ais523 asked 6h 34m 43s ago: in onoz, do nested [] have BF or onoz semantics? and does it matter for the purpose behind the language? 04:08:08 @tell ais523 I don't remember, but I am assuming whatever variant I suggested would make intermediate []s have onoz semantics, and it certainly should matter... 04:08:08 Consider it noted. 04:08:38 -!- conehead has quit (Quit: Computer has gone to sleep). 04:08:46 oerjan: Matter in ais523's sense? 04:09:52 what was his sense? since it is computable anyhow it should be emulatable in ordinary BF regardless. 04:10:41 i suppose this may wait until i actually get to that in the logs. 04:11:09 14:31 < ais523> Bicyclidine: a language which is a) computable; b) cannot be proven to not halt 04:11:29 Oh, I assumed you only @message when you reach the @ask in the logs. 04:12:25 no, i always search for my name first. and i @message first because that way i don't get the annoying ping by lambdabot for something i already know. 04:13:09 what if someone sends you a private message 04:13:23 then i'll know when i actually speak. 04:13:34 and the logs won't tell me anyhow. 04:14:01 I mean: If someone sends you a message in here and someone else sends you a private message. 04:14:59 right. i've considered that possibility, and since i get messages so rarely i don't bother to compensate for it. 04:15:55 of course it might be that people don't dare to send me private secret @tells because they know i use @messages-loud (smart move) 04:16:49 I don't bother to send you messages in here because you logread them anyway. 04:16:54 heh 04:29:50 -!- MDude has changed nick to MDream. 04:30:02 I might or might not log read messages, but if you post stuff on my talk page on esolang wiki I might find it. 04:32:05 In addition to this IRC, you can also try to reach me on my own IRC but I might not be near my computer and I might not hear it. And if you really want to you can even try postal mail (mail the manager of my domain name and mention on the envelope to forward it to me). 04:34:34 nah i'll just ring the bell on every door in bc until i find you hth 04:35:04 admittedly that may take a while. 04:37:27 Before that happens, you might get tired and sleep and then the police will catch you and take to you jail in the night time while you are sleeping on the road. 04:37:39 fiendish 04:39:41 do you live in Delta, BC 04:40:37 shachaf: hey wait a minute i thought the creepy stalking was _my_ job 04:41:02 oerjan: your strategy isn't very effective hth 04:41:13 also he just told us where the information is 04:41:18 shachaf: What do *you* think? (Remember that you can use geo IP and other methods to try to figure out. Such thing is not always effective though, but it often is.) 04:41:18 well i did secret consider using the phone book for filtering a bit 04:41:21 so it's not much of a secret 04:41:37 *-ly 04:41:43 *+-ly 04:43:37 It is not a secret if you are going to tell someone you are using the phone book for filtering a bit. 04:44:02 oerjan: which phone book, though 04:44:10 zzo38: I think yes but I'm not sure. 04:44:56 bc has more than one? fiendish. 04:45:28 oerjan: Yes, I think it has many phone books. 04:45:39 uncountably many phone books 04:47:19 oh i somehow read manager as registrar, i guess it make slightly more sense then. 04:47:26 *makes 05:12:39 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:15:04 -!- Lorenzo64 has quit (Quit: Leaving). 05:32:11 -!- MoALTz has quit (Quit: Leaving). 06:18:50 -!- impomatic_ has joined. 06:21:54 as of girl genius, i'm suddenly getting a small hunch lady selnikov is _not_ one of the good guys. 06:29:07 ah. mueval breaks happstack :( 06:29:42 "breaks", hmm. 06:33:57 it downgrades packages 06:36:11 is it transformers? anything that depends on transformers-0.4.* will break the ghc package, which mueval depends on (via hint) 06:38:13 bytestring 06:40:30 hmm, I don't see it; cabal install --dry-run happstack produces a subset of cabal install --dry-run mueval for me 06:41:04 which does not contain bytestring, only base64-bytestring-1.0.0.1 06:41:23 utf8-string-0.3.8 (reinstall) changes: bytestring-0.10.4.0 -> 0.9.2.1 06:41:59 what is your ghc version? 06:42:03 7.4.1 06:42:11 ...duh. 06:42:12 oh. o-kay. 06:42:22 try 7.8.3, that should help. 06:43:43 mroman_: the cause is the same; the ghc package depends on bytestring, and presumably bytestring-0.9.2.1 is the version that shipped with ghc-7.4.1. 06:46:17 Oh. I can check myself: ghc-pkg list bytestring \ /opt/ghc-7.4.1/lib/ghc-7.4.1/package.conf.d \ bytestring-0.9.2.1 07:10:04 *compiling 7.8.3* 07:10:10 oerjan: I can't wait for Agatha to be killed and be revived in one of Wulfenbach's tanks... :-P (unlikely to happen, I know, but wouldn't it be a great twist...) 07:10:26 oh. vats 07:10:34 "For most users, we recommend installing the Haskell Platform instead of GHC. " <- what's this warning anyway 07:10:42 haskell platform doesn't ship a compiler?!? 07:11:08 Haskell Platform includes a Haskell compiler 07:11:10 well she's already died once, albeit briefly 07:11:12 really? 07:11:18 that somehow never worked for me 07:11:48 oerjan: even more unlikely because we've just had this time traveling episode. Hmm. 07:12:04 Taneb: the source distribution? 07:12:43 http://www.haskell.org/platform/contents.html it includes GHC 07:12:43 int-e: well i'm not _sure_ we should consider the intermission stories canonical. 07:12:55 oerjan: oh you mean that strange disease in the dungeons, where to rescue everybody, everybody had to die? 07:13:02 especially when not made by the foglios themselves 07:13:24 oerjan: I don't mean that intermission 07:13:26 int-e: yeah. 07:13:38 yeah, but not the source distribution 07:13:53 which time travel episode are you talking about then 07:13:56 oerjan: I mean the massively delayed portal out of Mechanicsburg. 07:14:01 oh that 07:14:10 building from the source usually required building the new ghc first 07:14:15 and then build the haskell-plattform with it 07:14:31 but I see the new platform doesn't have the ./configure && make style anymore :( 07:14:46 oerjan: which felt like a major story reset to me (ok, we're still there, but all the world around has changed) 07:15:17 perhaps 07:16:57 is cabal shipped part of ghc or in the hp? 07:17:09 ghc needs cabal iirc 07:17:33 although there are suggestions to reduce the necessary intertwining 07:17:33 it needs Cabal the library 07:17:36 mroman_: I think only the binary distro of the "haskell platform" ships ghc, 07:17:41 the source doesn't 07:17:51 Yep 07:17:58 source requires an existing build env 07:18:18 i recall someone previously complaining that they couldn't use a self-compiled ghc to install platform with the new system 07:18:18 building with 8 cores sure is fast :) 07:18:26 because it _demands_ a binary tarball 07:18:35 the HP ships cabal the executable (provided by the cabal-install package) 07:18:39 although I already have cabal 1.20 or something in my ~./cabal/bin 07:18:49 Can I still use that after upgrade ghc to 7.8.3? 07:18:54 yes 07:19:01 (i'll find out sooner or later anyway) 07:19:08 but I need to install packages again 07:19:09 that's for sure 07:19:23 well all ghc upgrading requires reinstalling all libraries 07:19:31 yes, you can use that cabal binary with the new ghc. 07:19:32 because no ABI compatibility 07:20:26 (massing cross-module inlining _would_ tend to do that, i guess) 07:20:34 oerjan: he means the cabal-install executable 07:20:39 oerjan: you can just make a binary tarball when compiling ghc yourself? 07:20:50 i sort of realized but i kept blathering anyhow :P 07:21:15 I recently wanted to build ghc on a VM 07:21:18 no chance of doing that 07:21:21 elliott: i suppose that's _possible_ somehow, but i don't think the easy places to find contain instructions on how to do it? 07:21:29 (not that i've ever tried) 07:21:31 mroman_: and why not? 07:21:41 you can't build it without +512MB of RAM 07:21:43 oerjan: it's probably make dist or something like that 07:21:48 mroman_: all you need is oh-a-bit-more-than-1GB of RAM. :P 07:22:05 I.e. I know you can't build it with 512MB 07:22:06 elliott: hm you might want to tell this to mroman_ then :) 07:22:23 (Actually 512MB + 512MB swap works for building ghc.) 07:22:41 My VM doesn't have Swap :) 07:22:46 oerjan: well, I don't want to do the investigation myself :p 07:22:51 not enough disk space for a swap 07:23:01 your VM had less than 512 megabytes of disk? 07:23:04 because ghc takes a looooot of disk space 07:23:13 elliott: No. 07:23:18 but there's a system on that disk too 07:23:24 and ghc source is pretty huge 07:23:44 It's 10MB when you download it 07:23:51 but it's gets freaking huge once it's building things 07:24:00 *it 07:24:14 840MB here 07:24:42 GHC is too fat for small VMs ;) 07:24:51 a neat dynamic-only build, no profiling, no split objs. 07:25:19 only 200 MB installed size. 07:25:26 Mine has 256M of RAM and 512M of swap. I don't think I'll try building GHC on it any time soon. 07:26:03 the real fun comes with regex-tdfa and haskell-src-exts 07:26:26 each containing 2 modules (I think) that require almost 1GB to compile. 07:26:37 both are dependencies of lambdabot. Fun. 07:26:38 some Dyn*.o requires a lot of RAM 07:26:43 DynFlags? 07:26:46 I think it was 07:26:57 yes, but it's still way less than 1GB 07:27:32 haskell-src-exts is awful 07:27:35 what does regex-tdfa do? 07:27:47 it matches regular expressions 07:27:59 "tdfa" is Thompson's Deterministic Finite Automaton 07:28:27 Does being an invariant imply being a precondition? 07:29:08 no 07:29:21 I had an older laptop once 07:29:22 an invariant can be a value of any type. 07:29:28 I couldn't get GHC to compile on it too :) 07:29:34 but not because of memory 07:29:55 It overheated some hours into compilation 07:29:59 :( 07:30:29 It ran fine for everything except compiling for hours. 07:31:01 Although I might have been able to compile it by adjusting cpufreq 07:31:08 I vaguely remember something like that 07:31:39 It took something in the range of 6-8 hourse 07:32:38 I dare you to compile it on a 166 MHz P1 . 07:34:27 btw. If I were to write an interpreter for assembly 07:34:40 How does one simulate Memory in Haskell efficiently? 07:34:50 i.e. a mutable array actually 07:34:55 use ST mutable arrays? 07:36:00 int-e: I mean, what does it do to compile so slowly? 07:36:07 int-e: or ST mutable unboxed numeric arrays 07:39:03 Damn Facebook is driving up my phone bills ! 07:43:28 Interesting. 07:43:49 Sign a secret contract with a phone provider, write an app that "preloads" a buttload of data 07:44:12 share the money made with the data-amount charges by the phone provider 07:44:46 elliott: I really cannot say. overzealous inlining? http://hackage.haskell.org/package/regex-tdfa-1.2.0/docs/src/Text-Regex-TDFA-NewDFA-Engine_FA.html takes >600M to compile. 07:45:10 (it uses SPECIALIZE, too.) 07:45:23 impressive. 07:46:12 -!- miko__ has joined. 07:46:29 Is GHC that inefficient with RAM or does it just do crazy things that unavoidably require a buttload of memory? 07:47:03 porque no los dos 07:47:58 puh 07:48:04 I had only one semester of spanish 07:48:06 and I sucked 07:48:10 I would say that low memory usage is definitely not a design goal of ghc. 07:48:26 mroman_: it's an advertising meme, anyhow 07:49:12 int-e: you'd think they'd at least try a _little_. 07:49:35 ghc is so good at gobbling memory, ld will thrash sympathetically even when ghc isn't running 07:49:59 600MB doesn't seem like that much for an optimizing compiler 07:50:40 . o O ( but! it would take 1000 IBM PCs to even contain that mucb memory! ) 07:52:25 Yeah. I mean if you buy a PC today it's got 16GB of RAM. 07:52:28 . 07:52:51 and Linux will allocate 20GB of Swap 07:54:50 uh, that's unlikely. 07:54:54 well 07:54:58 I have 8GB RAM on my machine here 07:55:02 and 10GB of Swap 07:55:23 installers generally or at least should handle large amounts of memory differently when calculating swap size. 07:55:26 which hints that Linux will alocate RAM*c GB of swap 07:55:29 where c is some factor 07:55:41 and it hints that swap > RAM 07:55:54 "Linux" doesn't allocate swap. 07:55:58 yeah 07:56:00 the installer does 07:56:06 I hate Linux 07:56:15 For Windows you can just say "windows does that" 07:56:22 but for Linux... 07:56:30 technically you allocated the swap, but you might not have been looking when you clicked through the default 07:56:42 "No, it's not Linux. It's that tool written by that guy that is bundled with "Linux" that does that" 07:57:22 of course not @olsner 07:57:42 That's why there's "[x] use default recommended settings" 07:58:19 but the defaults are always completely wrong 07:59:04 and yes, honestly I'm too lazy to check if recommended settings are really _that_ good as they _should_ be 07:59:41 either too lazy or I wouldn't know it better anyway 07:59:59 I can honestly say that I'm comfortable using Linux but I don't really know much about it 08:00:13 and by Linux I mean "Debian/Ubuntu" (for the purists here) 08:01:27 back in the days people ran around saying "you need RAM*1.5 Bytes of Swap" 08:02:14 (where back in the days means like 8 years ago) 08:03:21 Default swap tends to be smaller now. 08:07:49 > 9918/8021 08:07:51 can't find file: L.hs 08:07:53 > 9918/8021 08:07:55 1.2365041765365914 08:08:03 Would somebody pls just create a L.hs . 08:08:16 ^- my RAM to SWAP ratio 08:08:43 it's a 32bit Linux though 08:11:40 Of course with Linux you don't even need swap space to swap. mmap will do the trick just fine. 08:12:31 -!- miko__ has quit (Remote host closed the connection). 08:13:27 (It still is a really, really good idea to have some swap space, just for that reason. Then when memory grows tight because a process keeps allocating memory, rather than swapping out the comparitively small mmap-ed binaries and shared objects, the kernel can also swap out data of the fast allocating process, increasing the chance of getting other programs to respond.) 08:13:39 mroman_: yes, that was because ram was small back then 08:14:19 int-e: if you have enough physicall memory available yes 08:14:33 but sooner or later you have to swap out pages to disk 08:14:38 (if programs consume too much) 08:15:10 mroman_: ... how does that relate to my statement? 08:15:14 mmap 08:15:17 that's just paging 08:15:50 swapping without paging would be even harder 08:15:57 the point is that conceptually, mmap pages to any file system, not necessarily to dedicated swap space. 08:16:03 since then programs would need a continous block of physical memory 08:16:07 *because 08:16:25 int-e: oh. 08:16:26 Ok. 08:16:39 You mean you can page into a file rather than into a swap partition? 08:16:44 yes 08:18:43 windows does that too 08:19:09 hm.. 08:19:24 Swapping to a memory mapped file system ought to be cool . 08:21:11 -!- lambdabot has quit (Quit: Who's that knocking on the door?). 08:22:56 int-e: maybe you should put some kind of lock on the commands that access L.hs 08:23:43 oerjan: I know. 08:24:10 -!- Patashu has joined. 08:24:55 the whole mueval / hint / @eval / @let story is a bit fragile and quite ugly in the details 08:25:30 -!- lambdabot has joined. 08:26:05 oerjan: http://sprunge.us/OaKI is another issue with it. 08:28:33 oerjan: I believe the main problem is that mueval copies the L.hs file to /tmp/, and later deletes it, and somehow several mueval processes get started in parallel from time to time. 08:28:56 -!- Patashu_ has joined. 08:29:01 sounds like L.hs is suffering from a remueval issue 08:29:05 -!- Patashu has quit (Disconnected by services). 08:29:13 * oerjan swats shachaf -----### 08:29:42 oerjan: in any case ... feel free to investigate, I'm staying away from that code for now. :-P 08:29:47 eek 08:30:00 oerjan: it's been so long 08:30:14 * oerjan is _not_ about to compile lambdabot himself any time soon. 08:31:11 a swatter for a more civilized age 08:31:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:31:48 44? 08:31:50 > replicate "twice " 08:31:51 Couldn't match expected type ‘GHC.Types.Int’ 08:31:51 with actual type ‘[GHC.Types.Char]’ 08:32:03 > cycle "twice " 08:32:04 "twice twice twice twice twice twice twice twice twice twice twice twice twi... 08:32:06 better 08:32:10 -!- Patashu_ has quit (Remote host closed the connection). 08:32:29 > replicate 2 "twice " 08:32:30 ["twice ","twice "] 08:33:00 -!- Patashu has joined. 08:34:35 > map fromEnum "twice " 08:34:36 [116,119,105,99,101,32] 08:35:43 > fromEnum True 08:35:44 1 08:35:48 > next $ fromEnum True 08:35:49 No instance for (System.Random.RandomGen GHC.Types.Int) 08:35:49 arising from a use of ‘System.Random.next’ 08:35:53 hm 08:35:56 or was it succ 08:36:02 what's succ for Enums? 08:36:08 @type succ 08:36:09 Enum a => a -> a 08:36:12 ah 08:36:13 :D 08:36:24 > toEnum . succ $ fromEnum True 08:36:25 *Exception: Prelude.Enum.().toEnum: bad argument 08:36:30 > toEnum . succ $ fromEnum False 08:36:32 *Exception: Prelude.Enum.().toEnum: bad argument 08:36:40 what 08:37:34 > fromEnum False 08:37:36 can't find file: L.hs 08:37:40 > fromEnum False 08:37:42 0 08:37:58 > (toEnum . succ $ fromEnum False) :: Bool 08:37:59 True 08:42:08 mroman_: i think your toEnum is defaulting to () 08:42:28 > toEnum 0 08:42:29 () 08:45:37 pft, tagToEnum# is the way to go 08:45:59 tagToEnum# is such a powerful function that it doesn't even have a type 08:47:42 owie. TMPDIR will not help me ... ./Mueval/Interpreter.hs: setCurrentDirectory "/tmp" -- will at least mess up relative links 08:49:34 (I just realized that the muevals running concurrently may be my own fault, since at some point I started collecting statistics about how long those commands take to run ... I'd like to continue doing that, because I believe it has reduced the number of evaluation timeouts, by keeping the required shared libraries hot in the fs cache ... grrr.) 08:55:53 @type tagToEnum# 08:55:54 Not in scope: ‘tagToEnum#’ 08:56:05 > tagToEnum# 0 08:56:06 Not in scope: ‘tagToEnum#’ 08:56:28 @type GHC.Exts.tagToEnum# 08:56:29 tagToEnum# must appear applied to one argument 08:56:29 In the expression: GHC.Prim.tagToEnum# 08:56:38 @type GHC.Exts.tagToEnum# 0 08:56:39 tagToEnum# must appear applied to one argument 08:56:39 In the expression: GHC.Prim.tagToEnum# 0 08:56:55 @type GHC.Exts.tagToEnum# 0# 08:56:56 tagToEnum# must appear applied to one argument 08:56:56 In the expression: GHC.Prim.tagToEnum# 0# 08:57:00 * int-e shrugs 08:57:02 :t GHC.Exts.tagToEnum# 0# :: Bool 08:57:03 Bool 08:57:36 imo import GHC.Exts in L.hs 08:57:39 can't hurt, right? 08:57:51 :t GHC.Exts.the -- useful function right here 08:57:52 Eq a => [a] -> a 08:57:59 shachaf: I hear you want to take over running lambdabot now?! 08:58:03 hu 08:58:10 > GHC.Exts.the [1,2,3] 08:58:11 Not in scope: ‘GHC.Exts.the’ 08:58:20 int-e: does that mean putting me on the admin list 08:58:24 that would be useful 08:58:25 :t GHC.Exts.the 08:58:26 Eq a => [a] -> a 08:58:33 wait... you can ask for the type but not call it? 08:58:39 Correct. 08:58:44 shachaf: sure, if you run it, you have full access to the admin list :-P 08:58:58 I don't want to run it. But thanks. 08:59:06 I hear it's a sort of curse. 09:00:20 oh it's not so bad since I had a long talk with it and convinced it to reconnect automatically, rather than hanging around waiting for messages on a tcp connection long gone. 09:00:46 it sure cut down on the "lambdabot is down again!" complaints. 09:02:19 well, i can keep getting @admin powers illegitimately instead 09:02:29 or i can not do that either if you'd prefer i stop 09:04:37 I just don't have the impression that lack of people with lambdabot admin access is an actual issue. 09:06:03 that depends 09:07:51 @tell CrazyM4n err, wrong irc, sorry, lol <-- No worries, #esoteric is sometimes nearly as haskelly as #haskell. 09:07:51 Consider it noted. 09:14:01 you didn't stop doing it when I asked when I ran it. 09:14:48 it is possible shachaf may have grown up a bit, i hear people sometimes do. 09:15:50 i wouldn't put it that way 09:16:01 (not me, though, that would be crazy talk.) 09:26:47 > undefined <> undefined :: () 09:26:49 () 09:52:08 -!- Patashu has quit (Remote host closed the connection). 09:53:01 -!- Patashu has joined. 09:58:55 -!- doesthiswork has quit (Quit: Leaving.). 10:04:30 -!- oerjan has quit (Quit: Later). 10:12:14 @type (<>) 10:12:15 Monoid m => m -> m -> m 10:12:36 -!- boily has joined. 10:12:39 > Just 5 <> Just 6 10:12:41 No instance for (GHC.Show.Show a0) 10:12:41 arising from a use of ‘M30885628829344643438606.show_M30885628829344643438... 10:12:41 The type variable ‘a0’ is ambiguous 10:12:41 Note: there are several potential instances: 10:12:41 instance [safe] GHC.Show.Show 10:12:59 M30885628829344643438606.show_M30885628829344643438... 10:13:01 ah yes.. 10:13:06 that's human readable 10:13:37 > (Just 5 <> Just 6) :: Maybe Int 10:13:38 No instance for (Data.Monoid.Monoid GHC.Types.Int) 10:13:39 arising from a use of ‘Data.Monoid.<>’ 10:13:44 but that won't work anyway 10:13:45 I guess 10:17:33 :t First 10:17:34 Maybe a -> First a 10:17:56 > First (Just 5) <> First (Just 6) 10:17:58 First {getFirst = Just 5} 10:18:26 mroman_: probably something like that? (with an hypothetical getFirst too) 10:29:03 Never heard of First 10:29:06 :i First 10:29:11 @info First 10:29:12 First 10:29:22 :t First (Just 5) 10:29:22 Num a => First a 10:29:42 :t Second 10:29:42 Not in scope: data constructor ‘Second’ 10:29:48 it's Last 10:30:03 > Last (Just 5) <> Last (Just 6) 10:30:06 Last {getLast = Just 6} 10:30:49 @hoogle Last 10:30:50 Data.Monoid Last :: Maybe a -> Last a 10:30:50 Data.Monoid newtype Last a 10:30:50 package Lastik 10:30:57 @info do foo; bar; baz 10:30:57 foo >> bar >> baz 10:31:22 yeah 10:31:34 Wrapper Types for Monoids 10:32:15 -!- AnotherTest has joined. 10:33:18 I'd say something along the line that they are easy, but then I fear I'd have to mapole myself afterwards. 10:34:40 you can mapole yourself anyway 10:36:04 * boily glares at int-e 10:36:21 * boily mapoles himself anyway 10:38:01 Monoids are so easy, you can define them without knowing the type 10:38:09 https://github.com/NICTA/l4v/blob/master/lib/sep_algebra/Arbitrary_Comm_Monoid.thy 10:41:57 Monoids are easy 10:43:43 > Just 5 `mappend` Just 6 10:43:45 No instance for (GHC.Show.Show a0) 10:43:45 arising from a use of ‘M77188534113158008669061.show_M77188534113158008669... 10:43:45 The type variable ‘a0’ is ambiguous 10:43:45 Note: there are several potential instances: 10:43:45 instance [safe] GHC.Show.Show 10:43:55 > (Just 5 `mappend` Just 6) :: Maybe Int 10:43:56 No instance for (Data.Monoid.Monoid GHC.Types.Int) 10:43:56 arising from a use of ‘Data.Monoid.mappend’ 10:44:00 zyxwvuts: Good show. 10:44:02 Whoops. 10:44:02 :( 10:44:15 > ((Just 5) `mappend` (Just 6)) :: Maybe Int 10:44:16 No instance for (Data.Monoid.Monoid GHC.Types.Int) 10:44:16 arising from a use of ‘Data.Monoid.mappend’ 10:44:18 (I had a "nick:" prefix in the input buffer I didn't notice.) 10:44:24 I thought there was something like that 10:44:25 Good name 10:44:33 that passes through Nothing if one is Nothing 10:44:34 Jafet: interesting. I expected (\a b -> if a = e then b else a) [this is, essentially, First, where 'e' is interpreted as First Nothing], with no case distinction on the number of elements. 10:44:37 or the last that wasn't Nothing 10:45:30 or was that Monad Maybe 10:45:43 int-e: that isn't commutative 10:45:45 > (Just 5) >> Nothing >> (Just 6) 10:45:46 Jafet: oh. never mind, you want something... right 10:45:47 Nothing 10:45:53 That's why you need the second arbitrary thing 10:45:53 > (Just 5) >> (Just Nothing) >> (Just 6) 10:45:55 Just 6 10:46:03 yeah. Monad Maybe 10:46:32 > any [False,True,False] 10:46:34 Couldn't match expected type ‘a -> GHC.Types.Bool’ 10:46:34 with actual type ‘[GHC.Types.Bool]’ 10:46:45 > map Any [False,True,False] 10:46:46 [Any {getAny = False},Any {getAny = True},Any {getAny = False}] 10:46:52 > mconcat $ map Any [False,True,False] 10:46:53 Any {getAny = True} 10:47:06 there should be mconcatMap 10:47:10 > Just 5 `mplus` Just 6 -- that's a thing 10:47:11 Just 5 10:47:29 > msum [Just 5, Just 6] 10:47:31 Just 5 10:47:36 > msum [Just 5, Just 6, Nothing] 10:47:38 Just 5 10:47:50 > msum [Nothing, Just 1] 10:47:51 Just 1 10:51:40 it takes the first non-nothing 10:51:47 happstack uses that stuff for routes 10:52:03 > (Nothing <|> Just 1, Just 2 <|> Nothing) 10:52:05 (Just 1,Just 2) 10:52:15 So many instances, so little time. 10:56:34 @instances Monoid 10:56:35 (), (a -> b), (a, b), (a, b, c), All, Any, Dual a, Endo a, First a, Last a, Maybe a, Ordering, Product a, Sum a, [a] 10:56:38 @instances MonadPlus 10:56:39 ArrowMonad a, Either e, ErrorT e m, IO, Maybe, RWST r w s m, ReaderT r m, StateT s m, WriterT w m, [] 10:56:48 @instances Foldable 10:56:48 Couldn't find class `Foldable'. Try @instances-importing 10:56:51 @instances Applicative 10:56:51 Couldn't find class `Applicative'. Try @instances-importing 10:56:57 -!- conehead has joined. 10:57:02 @instances Data.Foldable.Foldable 10:57:03 ((,) a), Either a, Maybe, [], f => 10:57:03 Data.Foldable.Foldable (ErrorT e f), f => 10:57:03 Data.Foldable.Foldable (WriterT w f) 11:09:58 -!- boily has quit (Quit: CARIOTID CHICKEN). 11:45:44 -!- Tod-Autojoined has joined. 11:49:56 -!- quintopi1 has joined. 11:50:12 -!- erdic_ has joined. 11:50:23 -!- yorick_ has joined. 11:50:30 -!- b_jonas_ has joined. 11:50:58 -!- b_jonas has quit (Ping timeout: 260 seconds). 11:51:00 -!- fizzie has quit (Ping timeout: 260 seconds). 11:51:00 -!- erdic has quit (Ping timeout: 260 seconds). 11:51:01 -!- quintopia has quit (Ping timeout: 260 seconds). 11:51:02 -!- aloril has quit (Ping timeout: 260 seconds). 11:51:02 -!- TodPunk has quit (Ping timeout: 260 seconds). 11:51:02 -!- yorick has quit (Read error: Connection reset by peer). 11:51:04 -!- erdic_ has changed nick to erdic. 11:51:36 -!- b_jonas_ has changed nick to b_jonas. 11:54:39 -!- aloril has joined. 11:57:38 -!- fizzie has joined. 12:01:27 -!- Sgeo has quit (Read error: Connection reset by peer). 12:10:49 -!- masoudd has joined. 12:18:17 -!- Patashu has quit (Ping timeout: 276 seconds). 12:28:08 -!- Phantom_Hoover has joined. 12:31:57 Hallo 12:33:52 -!- sebbu has quit (Ping timeout: 240 seconds). 12:34:59 @wn Halle 12:35:01 *** "halle" wn "WordNet (r) 3.0 (2006)" 12:35:01 Halle 12:35:01 n 1: a city in the Saxony region of Germany on the Saale River; 12:35:01 a member of the Hanseatic League during the 13th and 14th 12:35:01 centuries [syn: {Halle}, {Halle-an-der-Saale}] 12:41:27 -!- rollertrump has quit (Read error: Connection reset by peer). 12:49:24 What's Monoid Ordering? 12:49:28 :t Ordering 12:49:29 Not in scope: data constructor ‘Ordering’ 12:49:55 :t LT 12:49:56 Ordering 12:50:03 > LT <> GT 12:50:05 LT 12:50:08 > LT <> GT <> EQU 12:50:10 Not in scope: data constructor ‘EQU’ 12:50:10 Perhaps you meant ‘EQ’ (imported from Data.Ord) 12:50:12 > LT <> GT <> EQ 12:50:13 LT 12:50:18 > EQ <> LT <> GT <> EQ 12:50:19 LT 12:50:28 > EQ <> GT <> EQ 12:50:29 GT 12:50:33 k 12:50:35 interesting 12:50:38 > EQ <> EQ 12:50:40 EQ 12:52:21 mroman_: It’s the leftmost non-EQ. 12:52:49 instance Monoid Ordering where mempty = EQ; LT `mappend` _ = LT; EQ `mappend` y = y; GT `mappend` _ = GT 12:54:19 @let mconcatMap f xs = mconcat . map f $ xs 12:54:21 Defined. 12:54:38 > mconcatMap (compare 5) [5,1,6] 12:54:40 GT 12:55:19 Um. 12:55:27 :t foldMap 12:55:28 (Monoid m, Foldable t) => (a -> m) -> t a -> m 12:56:20 -!- sebbu has joined. 12:56:38 -!- sebbu has quit (Read error: Connection reset by peer). 12:57:32 @hoogle Monoid a => (b -> a) -> [b] -> a 12:57:33 Data.Traversable foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m 12:57:33 Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m 12:57:33 Prelude map :: (a -> b) -> [a] -> [b] 12:58:15 (Just wanted to check if it shows up.) 12:59:26 > foldMap (compare 5) [5,1,6] 12:59:27 GT 12:59:36 > foldMap (Any) [True, False] 12:59:37 Any {getAny = True} 12:59:49 > getAny $ foldMap (Any) [True, False] 12:59:51 can't find file: L.hs 12:59:53 > getAny $ foldMap (Any) [True, False] 12:59:55 True 13:01:23 -!- sebbu has joined. 13:01:50 -!- sebbu has quit (Changing host). 13:01:50 -!- sebbu has joined. 13:02:04 > foldMap (:[]) [1, 2, 3] -- the smiley eats the list, but poops it back out 13:02:05 [1,2,3] 13:41:10 whut 13:41:19 @instances Monoid 13:41:19 (), (a -> b), (a, b), (a, b, c), All, Any, Dual a, Endo a, First a, Last a, Maybe a, Ordering, Product a, Sum a, [a] 13:41:24 hm 13:41:32 > foldMap (const 2) [1, 2, 3] 13:41:33 No instance for (GHC.Show.Show a0) 13:41:34 arising from a use of ‘M628454215979994175912227.show_M6284542159799941759... 13:41:34 The type variable ‘a0’ is ambiguous 13:41:34 Note: there are several potential instances: 13:41:34 instance [safe] GHC.Show.Show 13:41:46 > (foldMap (const 2) [1, 2, 3]) :: [Int] 13:41:48 No instance for (GHC.Num.Num [GHC.Types.Int]) 13:41:48 arising from the literal ‘2’ 13:42:33 > mconcat [id, id, const 2] 13:42:34 No instance for (Data.Typeable.Internal.Typeable a0) 13:42:34 arising from a use of ‘M782537444413734024312262.show_M7825374444137340243... 13:42:34 The type variable ‘a0’ is ambiguous 13:42:34 Note: there are several potential instances: 13:42:34 instance Data.Typeable.Internal.Typeable Data.Dynamic.Dynamic 13:42:48 > (mconcat [id, id, const 2]) :: (Int -> Int) 13:42:49 No instance for (Data.Monoid.Monoid GHC.Types.Int) 13:42:49 arising from a use of ‘Data.Monoid.mconcat’ 13:43:00 how's Monoid (a -> b) working? 13:44:23 It's "Monoid b => Monoid (a -> b)" actually. But I don't know more than that. 13:45:38 > mappend (:1:[]) (:2:[]) $ 0 13:45:40 [0,1,0,2] 13:45:42 V. fancy. 13:55:06 Thoughts on http://sprunge.us/RSAR?haskell (other than "why" or "don't") 14:03:21 as long as you don't import Data.Char 14:05:24 -!- Froo has joined. 14:05:40 -!- Phantom__Hoover has joined. 14:06:28 If I import foldMap from Data.Foldable, OrdList makes insertionSort a one lineer 14:06:35 insertionSort = getOrdList . foldMap ord 14:07:08 -!- conehead_ has joined. 14:08:59 -!- doesthiswork has joined. 14:10:41 -!- heroux_ has joined. 14:10:42 :t S.fromList . foldl' (flip S.insert) S.empty 14:10:43 Couldn't match type ‘S.Set a1’ with ‘[a]’ 14:10:43 Expected type: a1 -> [a] -> [a] 14:10:43 Actual type: a1 -> S.Set a1 -> S.Set a1 14:10:49 :t S.toList . foldl' (flip S.insert) S.empty 14:10:50 Ord a => [a] -> [a] 14:11:01 @ask nortti Have you seen my ESOSC Brainfuck Proposal with # "language feature" thingies? 14:11:01 Consider it noted. 14:12:33 -!- masoudd has left ("Leaving"). 14:17:02 -!- Phantom_Hoover has quit (*.net *.split). 14:17:02 -!- conehead has quit (*.net *.split). 14:17:02 -!- FireFly has quit (*.net *.split). 14:17:02 -!- Froox has quit (*.net *.split). 14:17:02 -!- MDream has quit (*.net *.split). 14:17:02 -!- zzo38 has quit (*.net *.split). 14:17:02 -!- heroux has quit (*.net *.split). 14:17:02 -!- mtve has quit (*.net *.split). 14:17:09 -!- heroux_ has changed nick to heroux. 14:22:09 -!- scounder has quit (Ping timeout: 260 seconds). 14:33:30 -!- Phantom_Hoover has joined. 14:33:31 -!- conehead has joined. 14:33:31 -!- MDream has joined. 14:33:31 -!- mtve has joined. 14:33:42 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 14:33:46 -!- conehead has quit (Ping timeout: 244 seconds). 14:34:07 -!- FireFly has joined. 14:34:21 -!- scounder has joined. 14:55:55 -!- qlkzy_ has changed nick to qlkzy. 15:06:26 -!- mihow has joined. 15:07:53 ah. 15:07:57 The Standard Markdown 15:08:05 that looks like an interesting debate. 15:09:13 It's got some weigt behind it 15:09:23 I don't see what the debate is 15:12:01 The "creator" of Markdown isn't happy about it 15:12:25 Statements about why exactly are rare though. 15:12:52 Assumingly because he doesn't like those kind of "standards" and the procedures behind it 15:43:28 John Gruber is rarely happy about anything though, unless it involves Apple. 15:47:42 -!- conehead_ has quit (Quit: Computer has gone to sleep). 15:51:17 mroman_: I have not 16:15:18 -!- MDude has joined. 16:19:09 -!- MDream has quit (Ping timeout: 264 seconds). 16:21:19 -!- Imaginer1 has joined. 16:21:23 Hi all... 16:23:55 Hi Imaginer1 16:24:14 Howdy. 16:32:20 -!- not^v has joined. 16:39:08 -!- yorick_ has changed nick to yorick. 16:45:24 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:47:03 -!- Imaginer1 has joined. 16:50:58 -!- Imaginer1 has quit (Client Quit). 16:56:35 -!- oerjan has joined. 17:05:18 -!- zzo38 has joined. 17:15:45 -!- Froo has changed nick to Frooxius. 17:27:22 there should be mconcatMap <-- there is, it's called foldMap 17:27:59 @tell mroman_ there should be mconcatMap <-- there is, it's called foldMap 17:27:59 Consider it noted. 18:04:20 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 18:33:38 -!- Sprocklem has joined. 18:48:17 -!- not^v has joined. 19:06:20 @messages aloud 19:06:24 ;) 19:06:36 -!- sebbu has quit (Ping timeout: 255 seconds). 19:06:39 nortti: It's about making error-on-left default behaviour 19:07:01 but allow through special directives (that will be treated as comments by most implementations) to specify different behaviour 19:07:05 i.e. 19:07:13 #MEM_UNBOUNDED_LEFT 19:07:33 hmm, so those can be safely ignored while being compatible or not? 19:08:01 Standard compliant interpreters shouldn't ignore it 19:08:12 but at least it doesn't break existing interpreters 19:09:04 hmm 19:09:06 The idea is to define a set of "obligational" directives (let's call them directives) 19:09:10 and a set of optional directives 19:09:52 although the set of required directives could be empty :) 19:10:07 but standard compliant implementations must throw an error if they don't support a certain directive 19:10:40 however, old existing implementations will most likely just ignore them since they are comments as far as brainfuck syntax goes 19:10:56 Maybe it shouldn't be error if you put a question mark after the name of the directive. 19:11:15 so if you have a program that says #MEM_UNBOUNDED_LEFT and you have some old non-esosc-aware brainfuck interpreter that happens to have unbounded memory to the left you can run it without modification in it 19:11:34 oerjan: WE FOUND THAT OUT 19:12:01 (Putting question mark would not be useful with #MEM_UNBOUNDED_LEFT anyways, but maybe other can be) 19:12:16 oerjan: I think you should make notes as you read the logs, and then only act on them when finished. 19:12:30 argh, discipline 19:12:54 currently I'd say required directives are #MEM_UNBOUNDED_LEFT and #ERROR_ON_LEFT wheceas #ERROR_ON_LEFT is the default 19:13:18 optional directives could be #CELL_SIZE_UNBOUNDED #CELL_SIZE_U32 (for unsigned 32 bit cells) 19:13:21 stuff like that 19:14:17 that way if somebody reads the source code of a BF program he will know what settings it requires to run correctly 19:14:37 and he can feed it either to a compliant interpreter (who will interpret the directives and act accordingly) 19:14:55 or he can feed it to an existing/old/non-compliant interpreter where he knows that it has that feature 19:15:01 and that interpreter will just ignore the directive 19:15:13 that's my vision :) 19:15:25 -!- not^v has quit (Read error: Connection reset by peer). 19:15:40 it doesn't force you to use an esosc compliant interpreter if you don't want to 19:15:53 -!- not^v has joined. 19:16:03 while still providing enough information to find an interpeter that will run it correctly by specifying in the code what it needs to run correctly 19:16:47 in terms of portability and compatibility this is the best thing I can come up with 19:24:03 mroman_: for unbounded memory on the left, you could mark it by starting the program with <. 19:24:56 fizzie: I do something like that where I write answers as I go, and then press down so I have it in my history, and at the end I go back through and send the ones that were not invalidated, possibly with small edits. 19:25:45 elliott: Yes of course that works too, but it doesn't work for specifying cell size. 19:26:59 start program with 2^32-1 +s 19:31:32 -!- ais523 has joined. 19:32:22 That's too long 19:36:06 elliott: why would that be any better than # directives? 19:36:37 < at the start doesn't invent weird syntax and works and works iff memory is unbounded on the left 19:36:49 no 19:36:57 it also works if it wraps-around 19:37:08 or if it's ignored at cell 0 19:37:17 is this some sort of pragma syntax for BF? 19:37:30 ais523: yees 19:38:38 *yes 19:38:43 elliott: did you see me talking about the eventual resolution to my Visual Studio problems, in the logs? (you weren't here when I discussed it live) 19:38:52 there's no other solution 19:39:10 .help 19:39:11 other than publishing a standard that says "well, everything is implemenation defined" 19:39:30 and then it's even more pointless then it already is ;) 19:39:36 now I'm trying to remember which program it was that responded to "help" via printing "there is no help for you" 19:39:43 I have the feeling that it must have been INTERCAL-related 19:40:10 i mean 19:40:25 technically we could make it either error on left or unbounded to the left 19:40:32 and those who require unbounded just do <> 19:41:08 because this will cause an error in a error-on-left implementation 19:41:12 "ambidextrously" is the longest word I can find without any repeat letters. Can anyone beat that? 19:41:28 Taneb: that would comply to what you want 19:41:45 making it implementation defined wheter its error or unbouded 19:41:54 and programs requiring unbounded shall be prefixed with <> 19:42:04 Taneb: I knew the actual answer once, because I read a book which was full of a huge number of records among words of that kind 19:42:08 however, I can no longer remember it 19:42:27 "pentasyllabic" is the longest word I can find that describes itself :P 19:42:31 (one of the second-best is "motherfucking") 19:42:51 > length "ambidextrously" 19:42:52 14 19:43:14 > length "motherfucking" 19:43:15 13 19:43:18 ah 19:43:32 oh wow, this is stupid 19:43:41 ag -v apparently prints every line, highlighting everything except any match that might be on that line 19:43:44 that is… not useful 19:43:51 Apparently "uncopyrightable" is longer and a word 19:44:02 Taneb: that's it 19:44:08 "uncopyrightable" or arguably "uncopyrightables" 19:44:11 I remember now you've mentioned it 19:44:29 hey, you can't use that word 19:44:30 > length "honorific" 19:44:32 9 19:44:33 oh 19:44:35 damn 19:44:45 it's copyrighted 19:45:10 Supercalifragilisticexpialidocious is still the best english word I've heard of 19:45:21 Taneb: fwiw, the longest in my /usr/share/dict/words are "ambidextrously" and "lexicography's", and I don't think apostrophes count as letters 19:45:40 ais523, my program removes words with apostrophes or capitals 19:45:50 "motherfucking" is the only 13 in /usr/share/dict/words 19:45:53 there are tons at 12, though 19:46:06 Taneb: dermatoglyphics, but it's the same length as uncopyrightable. 19:46:07 ambidextrous ambidextrously bankruptcies configurable considerably demographics demonstrably disreputably expurgations housewarming lexicography malnourished motherfucking outspreading oversampling productively questionably recognizably stenographic thunderclaps unforgivable unprofitable upholstering 19:46:08 > length "motherfuckingly" 19:46:08 > length "unpredictably" 19:46:10 15 19:46:10 can't find file: L.hs 19:46:12 > length "motherfuckingly" 19:46:13 15 19:46:17 ha 19:46:19 > length "unpredictably" 19:46:20 13 19:46:43 > length "draughtswomen" 19:46:44 13 19:46:55 > length "upholstering" 19:46:56 12 19:46:59 "dermatoglyphics" and "uncopyrightable" are the two 15s in /usr/share/dict/american-english-insane. 19:47:13 Taneb, nortti: Make < on cell 0 implementation defined whether it's error or unbounded. Make programs requiring unbounded use a <> prefix. Does that sound ok? 19:47:14 fizzie, is there a british-english-insane? 19:47:41 mroman_, the program side should be a recomendation probably 19:47:47 But a well-justified one 19:47:50 There are a number of 14s: ambidextrously, benzhydroxamic, dermatoglyphic, hydromagnetics, hydropneumatic, pseudomythical, Schizotrypanum, subformatively, sulphogermanic, troublemakings, undiscoverably. 19:48:04 fizzie: you have a better dictionary than me 19:48:12 Taneb: There seems to be. 19:48:27 I just need to install the wbritish-insane package. 19:48:33 isn't "american english insane" redundant? 19:49:01 Like, "A program relying on the tape being unbounded to the left may begin with '<>' to either confirm that the tape is unbounded to the left, or to fail immediately" 19:49:03 The british-english-insane wasn't any better than american-english-insane. :/ 19:49:29 fizzie, is that on Arch (where I am running this) or Debian (my home PC)? 19:49:45 what sensible BF program would rely on the tape being unbounded both ways? 19:49:49 Taneb: Debian. "wbritish-insane" and "wamerican-insane". 19:49:53 -!- sebbu has joined. 19:50:01 http://sprunge.us/RKVA holds all the 13+ length ones from british-english-insane. 19:50:24 fizzie: clearly what you need is georgian-insane hth 19:50:29 -!- sebbu has quit (Changing host). 19:50:30 -!- sebbu has joined. 19:50:30 I discounted the "'s" suffixes. 19:52:03 "ympäristöjen" ("environments'") is the longest such regular word in my /usr/share/dict/finnish but that's a quite small dictionary. 19:52:45 "Yhdysvaltojen" is one longer, but it's a proper noun; and "LyX-hakemiston" (...) is a compound. 19:54:26 Good Finnish plain-text dictionaries are hard to drum up, I found. 19:54:50 Most seem to rely on hashes or even custom libraries to generate conjugations as needed. 19:54:52 -!- callforjudgement has joined. 19:55:12 -!- ais523 has quit (Read error: Connection reset by peer). 19:55:20 -!- callforjudgement has changed nick to ais523. 19:55:30 Yes. I think there's some way you can convince Ispell to generate a full word list from its custom format, but I don't remember it. 19:55:52 We use almost exclusively morph models at work, so I don't have a full-word lexicon file handy either. 19:56:27 Our language model corpus is largeish (150 million words of newspaper text? something like that) so it might yield a reasonably large word list otherwise. 19:57:00 fizzie: Ispell has rules for guessing which words might exist, though 19:57:05 which have false positives 19:57:23 Yeah, voikko uses an XML database and a custom library to handle it. http://voikko.puimula.org/ 19:57:43 Apparently developed because none of the existing hash methods supported enough affixes to work for Finnish. 19:58:21 < is actually enough 19:58:46 Taneb: what do you mean by "program side"? 19:59:07 What programs in brainfuck do 19:59:51 ? 20:00:04 you mean the < prefix? 20:00:08 Yeah 20:00:51 yeah 20:00:53 agreed 20:01:10 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 20:01:31 < indicates that the program whishes unbounded memory to the left 20:01:51 and interpreter allowing both behaviours *SHOULD* detect it and switch accordingly 20:01:55 *interpreters 20:01:59 Oh, right 20:02:06 mroman_: doesn't it normally mean that you wanted to delete the program from the hill? 20:02:18 what hill? 20:02:20 ais523, brainfuck isn't BF Joust 20:02:23 how do you indicate that you want wrapping behaviour, then? 20:02:49 wrapping behaviour isn't part of the standard 20:03:01 mroman_: nor is a left-bounded tape 20:03:15 ais523, the poll suuggested that few people wanted wrapping behaviour 20:03:17 i mean the esosc standard 20:03:22 something like 256 + signs then [<] would indicate it 20:03:26 Taneb: oh, this is based on the poll? 20:03:28 are the results public? 20:03:36 ais523: yes @poll 20:03:49 @poll 20:03:49 @poll 20:03:49 Maybe you meant: poll-add poll-close poll-list poll-remove poll-result poll-show roll 20:03:49 Maybe you meant: poll-add poll-close poll-list poll-remove poll-result poll-show roll 20:04:04 somehow I think at least two people misinterpreted your line 20:05:31 @log poll 20:05:31 Maybe you meant: yow msg let do bug 20:05:41 wasn't there something to grep the logs? 20:05:53 HackEgo, back when it still had the logs. 20:06:04 hm 20:06:09 It's been unavailable for a while now. 20:06:45 < mroman_> Taneb: https://de.surveymonkey.com/results/SM-JZ78GR8L/ 20:07:47 -!- Taneb has set topic: All glogged up again | brainfuck survey results: https://www.surveymonkey.com/results/SM-JZ78GR8L/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/ | If something is possible, then it's possible that nothing is possible. | 987659473857929758374956789. 20:07:55 I had that half-written! 20:09:12 mroman_, why would an implementation support both expand-on-left and error-on-left? 20:10:18 wait, is this a bf standard with only bignums? 20:10:39 elliott, only bytes it seems 20:10:46 but no wrapping...? 20:11:00 or is this about tape wrapping 20:11:00 elliott, no <> wrapping 20:11:04 Yes +- wrapping 20:11:19 mroman_, can we have a second poll concerning bignums? 20:11:23 for at least one BF variant I made, the rule was that you could go + or - from zero 255 times and go through 256 unique values either way 20:11:39 which allows both wrapping bytes and bignum 20:13:06 well, 85% of respondents thought that values should wrap 20:13:12 as opposed to crashing or saturating 20:13:21 I'm not convinced that was the right question, in retrospect 20:13:31 ais523, carrying on wasn'tt an option 20:13:41 Taneb: indeed 20:16:59 -!- J_Arcane has quit (Quit: (set-jarcane-connect! J_Arcane #f)). 20:21:30 -!- J_Arcane has joined. 20:32:45 8 bit cells, right-infinite tape, 0 or -1 on EOF 20:32:48 anything else is living in sin :p 20:33:10 *or no change 20:33:20 wrapping cells, that is. 20:33:39 huh, it seems that I was the only person who wanted newline to be 10 rather than '\n' 20:38:32 huh`? 20:39:26 Huh. This page has a palindromic quine in C. http://www.derf.net/palindromes/old.palindrome.html#CODE 20:39:59 is the midpoint an //? 20:40:01 or is it C89? 20:40:17 Taneb: bignums? 20:40:19 ah no, it's using the /*/ trick 20:40:26 with directives this would be easy :) 20:40:38 ais523: i'm sure i cannot be the only person who answered '\n' believing it was meant as a synonym for 10 20:41:06 mroman_, unbounded integers 20:41:14 even though i had a vague feeling that was a bad formulation of it 20:41:25 oerjan: I used the 'something else' entry to argue the case for 10 20:41:38 On a finite tape, brainfuck can still be TC with bignumss 20:42:28 and how would a program identify itself requiring bignums? 20:42:32 Also, unless I've mistaken my code, the list of palindromic English words is smaller than I would expect. 20:42:45 ais523: i think i'll conclude the first option was horribly formulated. 20:43:13 also that leaves the question what . does on cells > 255 20:43:36 don't you mean > 127? 20:43:43 or are you in binary mode? 20:43:55 mroman_, unicode? 20:44:18 mroman_: when formulating the newline question, were you unaware that the C char '\n' is not necessarily 10 on all platforms? 20:44:31 (even with ASCII) 20:44:37 it is, admittedly, usually 10 20:44:46 even on Windows, where a newline is not one octet with value 10 20:44:52 J_Arcane, does your list include "nun"? 20:45:02 oerjan: Maybe I didn't mean \n in C . 20:45:06 well it's required to be one char. i assume old macs used 13. 20:45:11 You can't prove that! 20:45:28 oerjan: yes 20:45:33 and \r was 10, IIRC 20:45:38 Taneb: Aye. 20:45:53 J_Arcane, well I can conclude its length is at least 1 20:45:55 a aha ama ana anna bib bob boob bub civic dad deed deified deled denned dewed did dud eke ere esse eve ewe eye gag gig hah hallah huh ii iii kaiak kayak kook level madam malayalam minim mom mum nan non noon nun oho otto pap peep pep pip poop pop pup radar redder refer reifier reviver rotator rotor sagas sees seres sexes shahs sis solos sos stats stets tat tenet tit toot tot tut wow xix yay 20:46:00 you could ask Vorpal, IIRC he ported C-INTERCAL to old Mac 20:46:03 just because he could, I think 20:46:11 so... you want to have bignums as the default cell size? 20:46:28 Or at least an optin 20:46:31 *option 20:47:01 see that's why I proposed the directive thingy 20:47:09 It makes those things exactly easy as pie 20:47:27 But then implementations have to implement directive-reading 20:47:47 So? That doesn't sound like a very dificult task 20:48:03 but if you make cell size implementation defined too 20:48:08 It means literally every existing implementation is non-compliant 20:48:30 no 20:48:36 just the ones that don't have the default behaviour 20:48:53 and if you're going to make everything implementation defined you don't need a standard ;) 20:49:28 If you have obligatory directives that must not be ignored, then yes, every existing implementation is non-compliant. 20:50:43 Standards are hard... 20:51:19 fizzie: to some extent yes 20:51:37 but "everything is implementation defined" is kinda the status quo 20:51:51 and it makes no sense to write a document that says "everything is implementation defined" 20:52:29 "Everything is one of these three behaviours" is a lot better than "Everything is anything" 20:52:37 technically every existing implementation that has a debug command is non-compliant anyway 20:53:19 Taneb: no it's "everything is a combination of one of these three behaviours" 20:53:39 you can rely on A,B,C !A,B,C A,!B,C etc 20:53:59 Personally, I'd be happier if the standard specified one default behavior, and provided your directives, but made each directive an optional feature; that way implementations that happened to match the standard would be compliant. Also, requiring bignum arithmetic for standards-compliance is a bit much. 20:54:17 (See e.g. C11 making VLAs optional.) 20:54:50 fizzie: that was kinda the point I was making hours ago ;) 20:55:10 implementations that happen to match the default behaviour will be compliant 20:55:10 if VLAs are optional in C11, they should also be defined to not leak memory upon longjmp 20:55:36 if they treat non usual characters as comments 20:55:51 if an implementation treats any other character as some weird command you're screwed 20:55:59 huh, whois isn't installed by default any more? 20:56:12 for all I know some implementation uses "d" as a debug instruction 20:56:15 mroman_: implementations that don't ignore characters other than []<>+-., are broken 20:57:49 -!- Bicyclidine has joined. 20:57:49 ais523: Reclaiming storage as the lifetime of an object ends is probably a QoI issue entirely. 20:59:17 fizzie: well, consider a program like int main(void) { jmp_buf j; setjmp(j); { int x[rand() % 4 + 1]; longjmp(j, 1); } } 20:59:21 is this an infinite loop or not? 20:59:37 -!- Patashu has joined. 21:01:02 hmm, TIL from comp.lang.c: the reason that Ada (and by extension, VHDL) requires a delimiter on every line of a comment is to prevent blocks of code being commented out unintentionally 21:01:12 presumably it was invented before syntax highlighting was widespread 21:03:31 btw, something that really annoys me: a git commit has no hidden fields, everything in the commit object always shows up to everyone 21:03:39 if you make the identical git commit twice in the same second, it'll have the same hash 21:04:02 this makes git-beautifier rather harder to design, I'll have to put trailing spaces on the commit messages or something 21:09:07 ais523: Well, I mean. The standard is clear that the lifetime of x ends when execution leaves its scope, including by "jumping", which I think can be construed to mean a nonlocal jump (and arguably the "ends in any way" from the previous paragraph is also applicable), and there's nothing particular about VLAs in the myriad of minor details related to setjmp/longjmp. But the standard doesn't ... 21:09:14 ... speak that much about allowed stack size limits or anything, which is vaguely the same sort of thing as not leaking memory. 21:09:41 fizzie: IIRC there's a non-normative footnote that suggests that jumping out of the scope of a VLA can leak memory 21:09:57 btw, comp.lang.c says that gcc's behaviour on (volatile int){ 1 } = 2 is a bug 21:10:05 now I'm wondering if I should report it 21:10:20 ais523, what is gcc's behaviour vs not-bug behaviour? 21:10:55 Taneb: that's a no-op behaviour on gcc; the standard behaviour requires the program to write a 2 to a memory location that previously contained a 1 21:11:05 ais523: There were rather few hits for the exact phrase "volatile compound literal" in Google; it's not a frequent construct. 21:11:21 (this is pretty much always an entirely pointless operation, but volatile's purpose is to intentionally do pointless operations) 21:11:46 I do think that it is a bug and ought to be corrected. 21:11:57 ais523, what happens if no memmory location contained a 1 21:12:10 Taneb: you write 1 to some memory location first 21:12:40 It also must be a memory location distinct from any other object. 21:12:42 e.g. clang will write a 1 then a 2 to the working space on top of the stack 21:12:45 So it should write 1 to memory, then replace that 1 with a 2, then probably forget about it 21:13:08 yes 21:13:16 this is exactly what the clang implementation does 21:13:39 although interestingly, it sets up the return value from main in between 21:13:46 It is also what GCC does for { volatile int i = 1; i = 2; /* no more references to i */ }. 21:13:56 which is either some clever optimization, or just what it happens to do 21:17:31 ais523: Also, there seems to be no such footnote in C99 or C11 at least in the "storage durations of objects" or the "nonlocal jumps" chapters. 21:17:34 ais523: There is a footnote attached to the "variable length array -- lifetime extends -- until execution -- leaves the scope of the declaration" that reads: "leaving the innermost block containing the declaration, or jumping to a point in that block or an embedded block prior to the declaration, leaves the scope of the declaration", but that just clarifies what scope means, and doesn't say ... 21:17:40 ... anything about leaking memory. 21:17:43 ais523: (The only difference between the stated lifetimes of VLAs and non-VLAs is that the lifetime of a non-VLA object begins when the innermost containing block is entered, while the lifetime of a VLA only begins when the declaration is reached.) 21:18:09 hmm, I wonder what I'm remembering 21:18:54 Slightly related fact: compound literals are not allowed to be of a variable length array type. 21:19:16 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 21:20:04 Oh. 21:20:17 You remembered right, but it's a non-normative example instead of a non-normative footnote. 21:20:39 fizzie: what does (int[rand() % 5 + 1]){1, 2, 3} mean? 21:20:56 sometimes it has too many initializers, sometimes it doesn't 21:21:25 You cannot initialize variable-length arrays, which (now that you mention it) is presumably the reason you can't compound-literal them either. 21:21:46 Though they could have special-cased variable-length array compound literals with an empty initializer. 21:21:50 -!- Sprocklem has quit (Ping timeout: 260 seconds). 21:23:30 "EXAMPLE: The longjmp function that returns control back to the point of the setjmp invocation might cause memory associated with a variable length array object to be squandered. [slightly more complicated example]" 21:24:14 this is more confusing than useful 21:24:15 And there was even an extra rule; "if the invocation of the setjmp macro was within the scope of an identifier with variably modified type and execution has left that scope in the interim, the behavior is undefined". 21:24:21 `quote confusing 21:24:21 522) [from 2009] That's confusing. I have been indoctrinated to believe W|A, but on the other hand it's hard to unbelieve a book with such a ridiculously impressive name as "Handbook of physical testing of paper, Volume 2". \ 1001) "May you live in INVISIBLE TIMES." --Old Chinese proverb. (It can look confusing when written with t 21:24:22 I don't know how I managed to miss them. 21:24:32 `quote confusing than 21:24:33 No output. 21:25:51 Of course the word never should be "in quotes" since there is always some situation somewhere where the rule won't hold. But certainly at least 99% of the time this is a good rule of thumb. 21:26:20 wow, now I've copy-pasted that, it's awkward on two levels: both the statement about C++, and the use of quoting 21:26:32 -!- oerjan has quit (Quit: Nity). 21:26:49 (in the answer to 17.9, incidentally) 21:26:57 -!- Patashu has quit (Ping timeout: 245 seconds). 21:26:58 well, it's more awkward without the italics 21:27:45 shachaf: yes 21:27:47 You could conceivably find a use for something like /* runtime-computed value n */ puts(strcat(strcpy((char [n]){}, foo), "bar")); if a hypothetical VLA compound literal with no initializer were allowed. 21:28:20 In fact, n could be replaced with strlen(foo)+3+1 in that example. 21:28:52 Sure, you can also use an object with a name, but you could say the same about (almost?) all compound literals. 21:29:40 (And maybe it's all in the context of a macro that needs to work as an expression. Stranger things have happened, if not many.) 21:32:38 fizzie: stranger things have happened /in this channel/ 21:32:56 Perhaps even #define ADDBAR(str) (strcat(strcpy((char [strlen(str)+3+1]){}, (str)), "bar")) so that you can use lookupsomething(ADDBAR(foo)); 21:35:04 Are there any cases in common C implementations where NULL won't be represented by zero bytes in memory? 21:35:23 It's easy in C++ with member pointers. 21:36:32 GNU C allows expressions to include code blocks. 21:36:40 I don't think so, that's basically just intended for fat-pointer machines and the like 21:36:41 shachaf: There's a couple of examples in the FAQ, but they're all ancient. 21:36:45 or machines where 0 is a sensible valid address 21:36:57 http://c-faq.com/null/machexamp.html 21:37:11 "The Prime 50 series used segment 07777, offset 0 for the null pointer, at least for PL/I. Later models used segment 0, offset 0 for null pointers in C, necessitating new instructions such as TCNP (Test C Null Pointer), evidently as a sop to [footnote] all the extant poorly-written C code which made incorrect assumptions." 21:37:14 e.g. if you're writing an OS kernel for the 6502, you're probably going to use address 0 for an important global variable 21:37:23 although you're also probably not going to write it in C 21:38:07 Actually I think 0 can be a useful address in many systems, although you probably won't allocate anything there which is used by C programs 21:38:28 It's generally not really a problem (except for debugging; no fail-fast null pointer dereferencing) even if address 0 happens to be valid, and *(char *)0 reads from there. 21:38:38 also, I've seen a pretty plausible argument that "msb 1, all other bits 0" is a good choice for a universal error value that works across all types 21:38:50 although you probably don't want your universal trap representation to mean NULL 21:39:25 I like the fact that a popular-and-not-that-old architecture (x86-16) quite often had object and function pointers of different sizes. 21:39:33 -!- CrazyM4n has joined. 21:39:46 It's a shame that it doesn't extend to different sizes for pointers to objects of different type. 21:40:06 I've actually used x86-16 21:40:16 although I didn't really grasp the difference between near and far at the time 21:40:26 I never program x86-16 programs in C anyways 21:40:31 I did eventually figure out that I had to use farmalloc if I wanted to create very large arrays, though 21:40:37 (Or do DOS compilers make a "void *" that can point also at functions, for compatibility reasons, even in something like the compact/medium memory models?) 21:40:43 (presumably the compiler was using a short-data memory model) 21:41:23 fizzie: I don't know, although maybe some have it as an option at least 21:42:08 I write 16-bit x86 programs in assembly language or BASIC anyways, not in C 21:42:58 I had an... acquired copy of the Watcom C compiler (with DOS/4GW and all), it certainly made me feel like a Real Programmer. 21:43:15 (Compared to the DJGPP that I had been using.) 21:43:23 but DJGPP is awesome 21:43:56 Perhaps, but all Professionals(tm) (such as game developers) used Watcom. 21:44:24 fizzie: counterpoint: NetHack uses DJGPP 21:44:31 I used to use Borland C++ 4 21:44:35 DJGPP is also very 386-only. 21:44:48 yes, indeed, it requires a 32-bit processor 21:45:09 I had some Borland 4.x versions (at least 4.52, and then later a 5.x) that came with different PC magazine cover discs. 21:46:26 -!- spng453 has joined. 21:47:09 -!- idris-bot has joined. 21:48:05 Ooh, a PCPlus SuperCD no. 43b, with Partition Magic 2.0 on it. 21:48:14 I don't think you get so much commercial software with magazines these days? 21:49:07 I, uh, got Minecraft with PCGamer like 2 years ago 21:49:43 "The brand new SuperCede for Java Standard Edition is the fast way to create your own powerful JDK 1.1 applications for the Web - worth £99 (provisional price)" so modern 21:50:44 -!- CrazyM4n has quit (Ping timeout: 272 seconds). 21:51:15 now I'm trying to work out what sort of program would create JDK 1.1 applications for the Web, other than a text editor 21:51:31 I guess you need a javac to compile your source into whatever format applets get shipped in 21:51:36 but those aren't exactly hard to come by 21:51:53 What good are java applets these days? 21:52:07 -!- spng453 has changed nick to CrazyM4n. 21:52:23 idris-bot: the int 7 21:52:34 idris-bot: help 21:52:38 Or not 21:53:06 CrazyM4n: well, JNLP was a disaster 21:53:14 and applets slightly less of a disaster, I guess 21:53:25 "How to use your SuperCD -- 386 and above users: There is a version called Text Only which is an executable version -- 486 and above users: The PC Plus interface, which is the default choice, is an executable version that includes pictures, and yet remains fast -- Pentium users with IE3 or 4: There is also a full-blown HTML version with animation and frames --" 21:53:44 damn, bro. 21:53:49 ( the int 7 21:53:50 (input):1:5:When elaborating argument a to function Prelude.Basics.the: 21:53:50 No such variable int 21:53:55 Ooooh 21:54:04 ( the Int 7 21:54:04 7 : Int 21:54:08 I do not know idris, which I guess is the next problem 21:54:25 neither do i 21:54:27 godspeed motherfucker 21:54:36 ais523: Re "what sort of program", I still don't know, but research (read: websearch) found a book on Amazon called "Developing Java and Activex Business Applications: Using Supercede for Cutting Edge Web Development". 21:54:41 http://tldrwikipedia.tumblr.com/post/96646853913 21:54:46 Taneb: If it sees its name, it strips it off. 21:54:53 idris-bot: ( the Int 7 21:54:54 7 : Int 21:55:14 Melvar, ah 21:55:24 wesearch -> research on the web?? call me oxford english dictionary 21:55:26 So you still need to use its prefix, I mean. 21:55:33 Melvar: IIRC the "standard" for bots is to treat their own name + colon as their command character; however, this isn't very widely implemented 21:55:37 ( help 21:55:38 (input):1:1:When elaborating an application of constructor __infer: 21:55:38 No such variable help 21:55:48 not that using the prefix would have helped anyway 21:56:01 does idrisbot even have commands other than the evaluator 21:56:09 ( :t 7 21:56:10 fromInteger 7 : Integer 21:56:14 The intention is that it will eventually. 21:56:22 although I'm not sure if it's any different without the :t 21:56:23 ( 7 21:56:24 7 : Integer 21:56:28 hmm 21:56:32 now I'm confused 21:56:34 ( :t :t 21:56:35 (input):1:4: error: no implicit 21:56:35 arguments allowed 21:56:35 here, expected: dependent type signature 21:56:35 :t :t 21:56:35 ^ 21:56:36 parse error on input ‘:’ 21:56:45 darn, i was hoping it was actually a function 21:56:47 -!- mihow has quit (Quit: mihow). 21:56:51 Is he going to only support Haskell? 21:56:56 "he"? 21:57:25 ais523: In idris, you don’t get expressions being polymorphic. 21:57:31 ( :t fromInteger 21:57:31 Prelude.Classes.fromInteger : Num a => Integer -> a 21:57:32 Prelude.Fin.fromInteger : (x : Integer) -> {tacimp prf : IsJust (integerToFin x n)} -> Fin n 21:57:37 Shhh, I like personifying bots 21:57:47 if you mean idris-bot, this isn't haskell, it's idris. 21:58:08 idris has more reified type sorta crap. 21:58:09 CrazyM4n, idris-bot is a she :( 21:58:09 polymorphism, more like scowlymorphism 21:58:10 Looks functional. And Haskell is the only functional language I know, haha 21:58:22 ais523: There's a "review" (or an ad dressed up like a review) that suggests SuperCede an IDE with a "MindQ" (index/reference of userful Java information) and the usual sort of stuff, like a form editor for AWT. Still not sure what it has to do with the Internet, but maybe it's not all that important. 21:58:23 ais523: I.e. when you give a hint, it’ll pick that type, if you don’t, it defaults to Integer. 21:58:30 have you considered learning snobol then 21:59:02 -!- boily has joined. 21:59:12 Melvar: right 21:59:52 Bicyclidine: looks outdated 22:00:05 huh, amazon recommends i buy abramowitz and stegun 22:00:30 -!- ais523 has quit. 22:00:48 ais finds old tables highly offensive 22:01:40 I think ais523 likes this channel to be about esolangs. 22:02:18 aw c'mon, snobol's practically an esolang anyway 22:04:17 I doubt I could find an interpreter for any old language like that on windows 22:04:33 I just remember how horrible Java was in those days in terms of performance. 22:05:02 Java still isn't very good performance wise, is it? 22:05:04 I dreaded anything Java based because it invariably seemed to mean it would be ugly and run like an overfed pig. 22:05:12 It fits a really weird niche of languages 22:05:22 pigs are pretty fast 22:05:26 The only thing worse was PDFs. 22:06:39 CrazyM4n: It's not so bad these days; it's semi-competitive, what with the JIT and such. 22:07:40 Even so, I haven't seen it used for about 1.5 years, not counting the occasional post on the code golf SE 22:08:12 In my opinion, java is dieing 22:09:05 But on the bright side, it opens more opportunities for other programming languages to become popular 22:09:16 On the other bright side, no more java :P 22:09:16 like snobol. 22:09:22 Yea 22:09:32 java is pretty competitive speed-wise. 22:09:36 I should learn Cobol 22:09:37 swing is just awful and stuff. 22:09:42 Java plays an important part in getting me a salary. 22:09:45 It was the language of my ancestors 22:10:05 my ancestors spoke german, i think. 22:10:07 java is still a huge thing, and its ecosystem/the jvm in general too what with scala and clojure and so on 22:10:09 Yeah. The Benchmarks Game pegs it on average at about 2-3 times slower than C. Which is pretty good. 22:10:26 swing is... swing at first glance seems very promising and interesting and usable. up to the point where one actually uses it, and starts learning a new human language because one exhausted all available expletives. 22:10:27 Also, Java is still pretty popular here in Finland at least. 22:10:37 not sure what kind of german. 22:10:38 Loooot of Java jobs around, especially here in Tampere. 22:10:58 The JVM most definitely isn't dead 22:10:59 you know there are places in brazil where they all speak german? weird, right? 22:11:16 It was a shock to me to learn they spoke French in Canada 22:11:40 do you live anywhere near canada 22:11:48 CrazyM4n: Yes, mostly in Quebec though (although they do sometimes speak French elsewhere in Canada too) 22:11:55 * boily waves at CrazyM4n 22:11:58 allô toi! :D 22:12:01 new brunswick is bilingual. 22:12:08 Opposite side of the states. We get a lot of Spanish here 22:12:46 Southern AZ is mostly rundown Spanish land 22:13:04 Bicyclidine: Yes, and I did not know that until two days ago actually 22:13:46 i know an acadian guy who lives there, so. 22:14:12 * CrazyM4n waves at boily 22:14:29 ¡Hola tú! :D 22:15:14 hablo sólo un poquito de español. parles-tu français? 22:16:31 Mi amigo habla francés, pero no me 22:16:52 hello 22:17:27 spanish is an esoteric language, right? 22:18:26 at least a billion people speak it, so probably not. maybe you'ret hinking of ladino. 22:18:31 CrazyM4n: tu amigo debría joinear esto channel. (oh fungot... I can't conjugate...) 22:18:32 boily: i am sure, parliament too, to all citizens of the union and the increasingly wide and increasingly uncontrolled distribution of the costs actually incurred. the rejection of violence to minors have never taken any parliamentary action on matters which bear directly on my corporate interests and have refrained from making a decision on whether the companies are pressing for the death penalty disappears before the end of a 22:18:40 ^style 22:18:41 Available: agora alice c64 ct darwin discworld enron europarl* ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 22:18:50 I suppose I could've guessed that. 22:18:52 ^style irc 22:18:52 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 22:18:56 I was kiddinh about spanish btw 22:19:22 i'm immune to humor. 22:19:34 Sounds fun 22:24:34 So. I need help writing some sample programs 22:25:07 Bicyclidine: even puns? 22:25:15 How would you go along writing the Fibonacci sequence in a stack which pops when you do arithmetic? 22:25:55 even puns. 22:26:16 CrazyM4n: you want the fibonacci sequence in the stack? 22:26:18 gasp. Bicyclidine is immune to rotated shachaf. 22:26:28 fungot's corporate interests mentioned. 22:26:29 fizzie: yes, and i don't 22:26:29 CrazyM4n: Try looking at some Forth implementations? 22:26:37 fungot: You don't what? 22:26:38 fizzie: stroustrup is reading cls?!... fnord das oder die fnord fnord. i'm not fnord, i'm about to do that other than your own server 0 0 22:27:25 Bicyclidine: it doesn't have to stay on the stack, just has to be printed 22:27:33 oh. 22:27:34 fungot is immune to making sense 22:27:35 shachaf: it crashes on infinite loops... but i'm pretty sure it exists in mzscheme, whose engine is written in python 22:27:45 A recursive implementation of Fibonacci was my first properly recursive Befunge(-93) program. 22:27:47 i take that back 22:27:53 J_Arcane: that sounds like a good idea 22:28:16 Well, I'm trying to write it in my funge-like language 22:28:18 http://sprunge.us/hSab I even used it as a signature at some point. 22:28:59 It's of course quite silly, since it's the naïve non-memoized fully-recursive thing. 22:29:05 CrazyM4n: Do you have somewhere outside the stack you can stash a results list? 22:29:20 Nope 22:29:39 I had incentive to add a second stack but haven't bothered yet 22:29:50 Your stack had the pick and unpick operations, right? 22:29:54 Yep 22:30:11 With dup, that should make things rather simple. 22:30:17 My idea was just to start by making a non destructive addition 22:30:21 0 dup print 1 dup print [dup rot + dup print] loop, or something 22:30:22 You can stick copies freely as far down as necessary. 22:30:24 From there it's ez pz 22:31:16 -!- variable has quit (Ping timeout: 272 seconds). 22:31:18 Hold on, let me grab my computer so I can have an interpreter 22:31:35 EgoBot is still missing. :/ 22:33:03 Wanna know what's great 22:33:19 When you start your brand new laptop to a black screen with a cursor 22:33:26 Windows(tm) 22:33:43 -!- variable has joined. 22:34:59 `run gforth -e ': fib 0 dup . 1 dup . begin swap over + dup . again ; fib' 22:35:00 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 2971215073 4807526976 7778742049 12586269025 20365011074 32951280099 22:35:23 That... That is the coolest not I've ever seen 22:35:25 Bot 22:35:42 how do you feel about ¬ 22:35:58 shachaf: I feel like it's missing an eye. 22:36:32 ¬_\ 22:36:42 fizzie: ⊭ 22:36:59 ¬.⌐ 22:37:29 College algebra courses in highschool are so contradictory. I'll try writing the Fibonacci sequence after this hw 22:37:30 ⌙ 22:37:40 what's contradictory 22:37:56 Sadly, I get significantly different rendering for ¬ and ⌐ -- the latter probably comes from a different font. 22:39:03 -!- Sprocklem has joined. 22:39:10 whoa, ⪉ 22:39:35 -!- Sprocklem has changed nick to Guest68322. 22:39:57 i decalre < to mean "less than or equal to" and ⪇ to mean "less than" 22:40:13 (I went with "swap over" there, but "dup -rot" is the same.) 22:40:19 Bicyclidine: college course in high school. That's contradictory 22:40:44 I'll be back in like 20 min, hopefully with a working piece of code 22:40:55 ⫬ 22:41:07 I don't have a font for that, sadly. 22:41:27 It shows up in the browser for codu logs, but not in the terminal. 22:42:03 I should really look into getting this terminal thing more Unicodey. I don't even remember if GNU screen still had troubles with non-BMP characters. 22:42:31 I think it did. I switched to tmux. 22:43:10 shachaf: Perhaps you can use ╕ as a replacement. 22:44:32 < fizzie> Sadly, I get significantly different rendering for ¬ and ⌐ -- the latter probably comes from a different font. – For me it looks like the same font but the former is hinted and the latter not. 22:45:11 Yes, something like that. 22:46:06 `unidecode ¬⌐ 22:46:07 ​[U+00AC NOT SIGN] [U+2310 REVERSED NOT SIGN] 22:46:46 Yeah, it's the same font. 22:47:13 (urxvt has a handy "insert unicode by hex" thing where the info-popup also shows which font it's using.) 22:47:33 Is it possible to get Unicode support in the terminal? 22:48:12 sure. 22:48:17 They’re both in DejaVu Sans Mono for me. 22:48:29 if your terminal doesn't support unicode your terminal's kinda shit. 22:48:44 Like, Windows 22:48:52 oh, ugh. well probably. 22:48:54 All the Unicode chars are blank 22:49:06 And I wanted to be able to output a snowman 22:49:16 D: 22:50:08 http://www.perlmonks.org/?node=871945 utf16 again. why. 22:51:32 Because hysterical raisins. 22:51:36 Who made that decision? That's terrible! 22:52:02 If only, you know, windows 8 didn't have a locked bootloader 22:52:55 i think that originally unicode was going to fit in 16 bits, and people decided they'd just support that instead of utf8, which is variable length and thus a bit trickier. maybe. 22:53:12 wait, utf16 is also variable length. nevermind. 22:53:18 What did DOS support? 22:53:35 um, bytes. ascii probably? 22:53:42 might depend on where you bought it. 22:53:42 Bicyclidine: They were using something essentially like UCS-2 back when Unicode was 16 bits. 22:54:00 Oh yea, ascii 22:54:06 Forgot that even existed 22:54:17 maybe latin 1. á is in latin 1, i think. 22:54:24 DOS supported whatever code page you loaded, and some of them were (at least mostly) supersets of the ISO-8859-* encodings. 22:54:45 Like CP850. 22:57:17 Holy crap it just hit me how bad at math I am 22:57:31 I can't really tell from the table whether CP850 is a superset of Latin-1; it's certainly in an entirely different order, because in CP437 they stuck latin letters in bytes 80..9f (that's more control characters in Latin-1), and in CP850 they just tried to fit in the rest by dropping some of the block-drawing characters. 22:58:17 Leading to a lot of "there's some random À in the corner of my pretty line-drawing box" issues. 22:59:04 Á and á still pop up a lot in random places it seems 23:02:30 Re the earlier discussion: Unicode was originally going to fit in 16 bits, and UCS (ISO/IEC 10646) was originally going to fit in 31, and then they smooshed those together and ended up with the current "about 20.087 bits" codespace. 23:03:07 (Technically, the chronology might have been slightly different, with the Unicode expansion coming before the ISO 10646 merge.) 23:04:34 "Why can't we just have one character set" I just thought. I didn't realize that that was the whole point of Unicode, lol 23:05:26 Relevant: http://xkcd.com/927/ 23:05:52 There is also PC character set; I often use that one too. 23:05:53 unicode was smart enough to throw in giant anarchic areas for people to do their own shit. 23:06:11 which is why if i wanted i could get a font for voynich characters. 23:06:24 Thank god we have half arrows and snowmen in Unicode! 23:06:27 At least they managed to combine the two competing "universal" character sets (Unicode and UCS) with minimal fuss. 23:06:59 I still don’t know why Unicode has a SMILING FACE in WHITE and BLACK but just a WHITE FROWNING FACE. 23:07:16 Are emojis Unicode? 23:07:30 a lot of them are. 23:07:30 👍 23:07:30 There are emoji in Unicode 23:07:41 💩 23:07:51 supposedly japanese cell providers keep going beyond and they're slowly incorporated into legitimacy. 23:07:54 (hearsay) 23:08:00 Including FROWNING FACE WITH OPEN MOUTH, SLIGHTLY FROWNING FACE and PERSON FROWNING. 23:08:00 Haha that's great 23:08:06 Lol 23:08:06 ion: I do know why it has SMILING FACE in WHITE and BLACK but just a WHITE FROWNING FACE. 23:08:16 It is to match the PC character set (which doesn't have a frowning face at all) 23:08:17 slightly??? 23:08:19 I wonder if there is a standard for emojis 23:08:28 unicode. 23:08:47 `unicode 1F64D 23:08:47 ​🙍 23:08:54 I mean, the ones that aren't explicitly stated in unicode 23:09:02 Unless they all are. 23:09:09 🌚 23:10:26 I just had a genius idea: an encryption algorithm that changes some data to emojis 23:10:53 Why mix encryption into encoding? You could do them as separate steps. 23:11:17 Err, not necessarily encryption 23:11:23 Just encoding 23:11:41 There's a full chapter of the topic in the FAQ: http://www.unicode.org/faq/emoji_dingbats.html 23:12:13 There are a couple of emoji characters that explicitly specify colors. 23:12:29 "Other colors in names, such as BLUE HEART or ORANGE BOOK, are the recommended appearance when the characters are rendered in color. (The black and white images in the Unicode charts use various shading techniques as a stand-in for color.)" 23:13:27 There's a NOTEBOOK, a NOTEBOOK WITH DECORATIVE COVER, both an OPEN and CLOSED BOOK, and the GREEN, BLUE and ORANGE BOOKs in the Emoji block. 23:13:31 Wow. They are taking emoji so seriously. Not that it's a bad thing, but it's just funny that it is a serious page about something that is pretty much humorous in nature 23:14:49 you'll probably find this amusing then. http://www.w3.org/TR/emotionml/ 23:16:21 That's pretty funny, but might actually have uses 23:16:41 In artificial intelligence, or chatterbots like cleverbot 23:17:47 fungot: don't worry about cleverbot. you're the best. 23:17:47 boily: so, if neilv is not happy with that 23:18:02 Bicyclidine: 23:18:09 fungot: then it's his problem. you're still the fungottiest of them all. 23:18:10 boily: my arrow is on the right is the idea 23:18:23 Oh no I missed the /s in those empty tags. 23:18:32 Now I'm doomed to be perpetually amused at a 0.2 intensity. 23:19:33 -!- Guest68322 has changed nick to Sprocklem. 23:19:46 -!- Sprocklem has quit (Changing host). 23:19:46 -!- Sprocklem has joined. 23:30:26 -!- Sgeo has joined. 23:30:44 So my alg teacher said she'd take point off for set builder notation 23:31:05 And it's like, set builder notation is so great 23:31:14 😞 23:32:44 what, do you have to use interval notation or whatever 23:33:36 Yes 23:34:05 Or we write our answers in English, as in "x is in the set of real numbers" 23:34:51 Because {x|x \isin 23:35:12 no, tha'ts not it. 23:35:13 eh. 23:35:53 It's \u2208 23:37:03 Haskell set builder notation is so great 23:38:00 {x | x shaves themself } 23:41:55 { x | x ∈ ℝ } = ℝ 23:42:43 I'm going to rant a little. The american way of teaching is so screwed up. All the teachers do is pass out worksheets and play powerpoints. There is so much cool stuff that they just completely skip over just to teach the boring stuff for the tests, and then they go and wonder why kids aren't engaged. 23:43:38 Like honestly, we just covered piecewise functions, and they didn't even talk about how useful they are or how they could apply to things. They just told us to graph them 23:43:46 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 23:43:52 Unfortunately, there's numerous systemic problems that create the situation. 23:44:48 23:44:53 Such as the organization of it all; almost entirely local, with very poorly defined state or national standards. 23:46:14 I'd say the standards are very well defined. That is the problem (see: common core). They don't leave literally anything up to the teacher. It's just a process of get information -> take test -> repeat 23:47:21 See, that's not what the actual standards state. They state very little except mandating a standardized test as a metric. 23:47:34 common core's pretty new. curricula aren't usually standardized across small municipalities unlike in some countries (japan, off the top of my head) 23:48:39 I'm not aware what the actual standards state, but what we learn is always perfectly dictated by the test 23:48:41 The "nothing left up to the teacher" is the problem of having almost all of the policy placed in the hands of local officials who don't *know* much of anything, but are also incentivized to exercise power pretty pettily. 23:49:25 I agree 23:50:15 Most all of the power in a US school district ends up being in the hands of a couple of local elected officials that honestly get hardly any oversight, because essentially nobody cares about the relevant elections. 23:50:34 Which results in them mandating that the standards get implemented in the laziest way possible. 23:51:01 i.e. checklist of items to hit in a lecture, followed by test, and don't you dare step outside of it. 23:52:13 Most of our officials were educated as football coaches iirc 23:52:16 And the problems only get more apparent in metro areas with high degrees of economic inequality. 23:52:34 Because the schools are run at a local level, the *funding* comes at a local level. 23:52:52 So how well the school facilities run is largely a function of how much money the surrounding area has. 23:52:54 I live in a nicer area, so I can be thankful that the schools are better than in, say, Harlem 23:53:06 And so inner city schools are utterly screwed. 23:53:10 I'm in St Louis. 23:53:21 How are the schools there? 23:53:25 Same stuff? 23:53:39 Some parts of the area have insanely nice schools. Some have terrible schools that barely are functioning entities. 23:53:50 (fair note though: didn't go to school here) 23:56:27 -!- Tod-Autojoined has changed nick to TodPunk. 23:57:49 Ah 23:58:33 Seriously though, what genius thought it was a good idea to fund a school from the property taxes in the city? 23:59:46 Education doesn't start until college 2014-09-05: 00:00:01 Trufax 00:01:08 I'm going to be honest. The only thing I've learned in math that I haven't learned from khan academy/programming is quadratics. Now, I know that they have go go through the hoops with everyone else, but it gets frustrating 00:01:33 I'm done with school. already forgetting large swabs of it, and it feels good. liberating, even. 00:01:47 And I've only had 2 teachers, ever, that actually cared 00:01:50 Math education *in particular* is pretty dang messed up. 00:02:08 Doesn't help that they are paid minimum wage, or close to it 00:02:09 Pretty much everyone thinks of math as essentially being magic rituals performed to arcane runes. 00:02:11 now I'm seeing my bro still going through it, and telling him “suffer!”. I love my bro. 00:02:26 Haha that's pretty good 00:02:40 * pikhq isn't in school or anything, just bitter about the system. :) 00:03:09 * CrazyM4n is in school and is very bitter about the system 00:04:14 CrazyM4n: how many years left in this glorious communal purgatory? 00:04:35 3.8 00:04:50 Then shooting for MIT 00:04:53 Quick 00:04:58 Good luck with that. 00:04:59 Gotta write more code 00:05:21 Bicyclidine: \in. 00:05:24 By 3 years I should have enough code in my github to at least get me somewhere :P 00:05:26 (Slightly late.) 00:05:35 math is hard, let's go shopping 00:05:55 Hah, so about them esoteric languages 00:06:03 Speaking as an employed programmer sans college degree: yes, that is a great idea. 00:06:44 I'd hate to be employed as a programmer. I'd think that if I were to program, I'd like to be self employed 00:06:54 Which is kinda what I want to do 00:07:06 Eh, I'm only a couple steps away from that. 00:07:08 -!- not^v has joined. 00:07:15 That must be nice 00:07:32 We can fit the entire company in a couple of vehicles. :P 00:07:33 I'm employed as a Software Developer. we don't say “programmer”. it's filthy :P 00:07:53 Okay, okay, my business card says "software engineer". 00:07:56 The second I hit 18 and get a tax ID I'm going to start selling android apps 00:08:18 As far as I'm aware, you don't need to be 18 for that... 00:08:26 Welp 00:08:43 Also, when you're 18 that might not be a thing that is all that interesting to do. :) 00:08:55 Never said it would be interesting 00:09:13 I'm pretty good at it, and it would make me money, and it's pretty fun to code 00:09:27 So, it's kinda a win all around situation 00:09:33 * boily is jealous of pikhq “I wanna have cards too...” 00:09:34 Let's go with "lucrative" then. You're what, 14, 15? 00:09:54 Yes 00:10:06 In 2018 Android apps just might not matter. 00:10:28 I don't see android dieing any time soom 00:10:31 ... Or they might matter heavily still, in which case I'm speaking irrelevancies. :) 00:10:47 And if it does die, there's always a new mobile thing 00:10:55 Mobile is a giant market, after all 00:11:00 Well yes. There's always *something* new. 00:11:51 As long as it's not monopolized by some closed economy shady Microsoft business, it'll be ok 00:11:57 -!- not^v has quit (Ping timeout: 272 seconds). 00:12:34 IMHO, go for something where there is a guarantee of an everlasting demand, e.g. healthcare, transport, logistics, public services, ecology... 00:12:48 -!- not^v has joined. 00:13:10 also, I see you're having a pretty healthy attitude towards closed source :D 00:14:13 Haha, it's not the closed sourceness. It's the "Microsoft controls every aspect of this" I don't like 00:14:39 E.g: i have to type my Microsoft password to log onto my Microsoft windows 8 laptop 00:14:41 No joke 00:14:58 Believe it or not, that's actually an entirely optional feature. 00:15:11 Looked in the options a while ago 00:15:33 You can turn off the password on wake up, but not on boot 00:15:43 Or maybe I'm oblivious 00:15:59 You could also write the software for a VM and then run on other computers; for example a program written for Famicom will also run on emulators. 00:16:24 Then it can be use regardless if it is Android or old or new mobile or desktop computers. 00:17:16 Simulating a whole nother os/architecture on a phone is bound to be terribly slow 00:17:30 At least, simulating a modern os 00:18:04 “a whole nother” is a fascinating phrase. 00:18:46 Not grammatically correct, but it sounds good and I catch myself using it a lot 00:19:03 Then simulate a slower system 00:19:41 Or, you can make it a Harvard based system so that it can be compiled into a native code 00:19:47 It’s pervasive. I wouldn’t call it “not correct”. Just an interesting history. 00:20:10 `? nother 00:20:11 nother? ¯\(°​_o)/¯ 00:20:55 I'm tempted to add the whole of it to the wisdom, but I feel I already uhm... corrupted, yeah, corrupted is a nice word here... it quite a bit. 00:20:56 Like https://play.google.com/store/apps/details?id=com.Lukas.Fast64 or https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy 00:21:34 However you haven't got the full feature unless the program is usable with pipes and that stuff too 00:21:36 Wouldn't call the latter a simulation/emulation, but hey, it's an os on an os 00:21:43 Reanalysis is usually fun. 00:22:12 There is also Inferno, which is designed to be an operating system which can run standalone or in any other operating system, with binaries that can work on any computer 00:22:54 There's also some stuff like Wine or ReactOS, made to pretty much replace a need for that OS 00:24:06 Wine and ReactOS are both for x86 though 00:24:27 It is good if you are going to run x86 Windows programs, but maybe the computer won't be x86 00:25:00 I've never seen a computer that isn't x86 00:25:06 Well 00:25:08 Well, then pretty much the entire point would be gone. 00:25:15 I guess 00:26:08 -!- Imaginer1 has joined. 00:27:18 uh, how do I message nickserv with my password? 00:27:52 Imaginer1: Type NS HELP for information about Nickserv. 00:28:10 In the sense that wine only provides the context, but the machine code runs directly, to avoid the overhead of emulation. Else you can just run a VM. 00:28:32 Ah, regain. 00:28:43 NES/Famicom already has protocols for gamepad, keyboard, mouse, drawing tablet, tape, light gun, disks, and even MIDI, so you can write the program for NES/Famicom and then run it in emulator too 00:28:45 I guess not. 00:29:24 There. 00:32:12 That's pretty cool, actually 00:32:27 But that's given that the target platform has NES emulators 00:32:34 This is the niche that java fits 00:33:00 zzo38: tape? where there any official peripherals for the fami that had tape? 00:33:13 Yes, but there are many NES emulators anyways. 00:33:22 boily: Yes, the tape is connected through the keyboard. 00:34:06 I am intrigued. 00:34:50 * boily searches on google images. “heh, only 9800 ¥!” 00:35:30 It has been suggested to use OekaKids (drawing tablet) protocol for touch-screen interfaces, so I suppose you can use that too. 00:37:35 Infocom has also made Z-machine code to implement the interpreter on many computers. There are now many interpreters but they are defective in various ways; I have written "Aimfiz" which is a correct (as far as I can tell) Z-code interpreter. 00:38:11 Infocom has also made a "D-machine code" which has some relations to Z-machine code. 00:42:41 There is even an unofficial printer protocol for Famicom, I think. 00:43:04 Is Famicom home brewing really a big thing? 00:44:16 I have written some programs for Famicom. 00:46:32 That's cool 00:46:47 *kssh* this is Imaginer1 to Esoteric do you read me *kssh* 00:47:21 Imaginer1: Yes, I can read 00:47:45 *kssht* we hear ya Imaginer1, rodger *kssht* 00:48:09 *kssh* arright I'm suffering from some, uh... *kssht* 00:48:17 *kssht* boredom, over. *kssht* 00:48:27 * boily uses a highly technical procedure known as PM on Imaginer1 00:50:39 wat 00:50:46 I'm using a horrible IRC client 00:50:49 percussive maintenance :D 00:50:56 Ahh. 00:51:12 http://pastebin.com/sj7ysgbE# 00:51:16 Python entropic data type. 00:51:30 Don't use foo.value, use foo.getvalue() and it changes the value slightly and randomly after reading it. 00:53:21 Then you should write a good IRC client? 00:53:50 Me? Write a good irc client? -Write-? 00:53:55 I couldn't, could I? 00:53:57 O.O 00:54:08 I'm so horrified of that prospect. 00:54:19 and now I must do it. 00:54:36 Can anyone point me to resources for linking IRC with Python? 00:55:58 i think the usual is using twistd? 00:56:00 I don't know much about programming in Python. 00:56:02 or maybe that's just for bots. 00:56:20 Oh, I'd still love to write bots. 00:56:26 Why are you horrified of it? 00:56:34 It sounds difficult. 00:56:36 writing bots is fun! exploiting them even funner! 00:56:38 It sounds like... /power/. 00:56:46 >:D 00:57:05 I'm not 'scared', I'm just... I feel like I'm learning programming at an astonishing rate and like wow 00:57:06 I have written an IRC client myself, so I know how too, but I didn't use any IRC client library. 00:57:07 Over on the TPPI channel we would mess with the bot all the tine 00:57:11 It was pretty great 00:57:12 it ain't difficult at all. rig some library, and go wild! (but you can't touch weather. weather is mine, even if lambdabot stole it.) 00:57:19 Imaginer1: ↑ 00:57:30 weather...? 00:57:36 there's a weather library 00:58:06 I want a weather library for SQLite. 00:58:44 I already have 'Mkbot' which makes Markov chains. What if I made a bot that could let you supply a pastebin and he would return a short markov chain from it? 00:59:09 Imaginer1: weather is verboten. it is an edict. I decree it. 00:59:25 also, what are your approximate geographic coördinates, and body weigh? 00:59:26 -!- sebbu has quit (Ping timeout: 276 seconds). 00:59:54 I'm feeling really uncomfortable I don't know what verboten or edict mean and you spelled coordinates with an ö 01:00:20 Then look it up in dictionary and then you can learn. 01:00:43 There was a PDF file somewhere in the topic or whatever you call it 01:01:00 Arright... I thought it was programmer slang. :S 01:01:08 I'm just nervous in half these rooms gosh 01:01:29 c̈oor̈d̈ïn̈äẗës̈ 01:01:38 Just don't be an idiot and I think it will be ok 01:01:41 you should read the PDF. letters with diacritics are your friends. roast beef tastes good. 01:02:04 CrazyM4n: that is not a particularly nice thing to say 01:02:16 what pdf, are you talking to me? 01:02:20 i'M SUCH AN IDIOT GAHDS 01:02:21 *flails* 01:03:20 There is wisdom.pdf in the topic, but also read all of the IRC logs (also in the topic message) and my Dungeons&Dragons recording 01:03:57 `` head -n1 bin/danddreclist 01:03:58 echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; echo http://zzo38computer.org/dnd/recording/level20.tex; exit 01:04:05 Oh, there... 01:04:43 '@ is an OS made out of only the finest vapor' 01:04:50 a pure magic smoke OS must be very effective 01:05:28 What is this pdf. 01:05:30 Omg. 01:05:50 boily: what is your approximate body kurd? 01:06:38 kurd??? 01:06:43 as in the cheese kind? 01:07:07 Imaginer1: it is the PDF. I spent quite some time updating it. it has pineapples. 01:07:12 as in the kurdistan kind 01:07:18 or the kind you play on a piano 01:07:24 * boily facepalms 01:07:57 well, of the piano kind, I'm partial towards Eb. it sounds quite nice. 01:08:40 You can play piano? 01:08:54 What kind of music? 01:09:11 `unidecode ♭ 01:09:12 ​[U+266D MUSIC FLAT SIGN] 01:09:28 Well. If I was to write a bot what should it do? 01:09:39 Play Pokemon card? 01:09:45 jam 01:09:47 (with a non-stupid AI) 01:09:54 Too difficult. 01:10:01 And... well... 01:10:11 lame. 01:10:19 zzo38: I studied the classics for about twelve years. I really like Bach and Bartók. both are genius, and a joy to play. 01:10:19 You could make an OP deck 01:11:22 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 01:11:57 I like Bach too 01:12:20 he disappeared... 01:12:56 @tell Imaginer1 you shouldn't disappear. become one with your esoteric side. feel at ease. 01:12:57 Consider it noted. 01:17:23 Woo, homework finished 01:17:32 Now to write that Fibonacci generator 01:17:46 -!- CrazyM4n has quit (Quit: Bye). 01:18:45 -!- CrazyM4n has joined. 01:18:54 finally on a computer. i feel so powerful 01:20:08 -!- CrazyM4n has quit (Client Quit). 01:20:33 -!- CrazyM4n has joined. 01:23:43 -!- Imaginer1 has joined. 01:23:50 Alright. I'm looking into the twisted module. 01:23:52 ^^ 01:25:17 Oh dear, I know so little about irc in the first place 01:25:28 I'm only 17 maybe I'm not cut out for this 01:25:36 :S 01:26:13 CrazyM4n: Fibonacci generator meaning what? 01:27:05 Melvar: I made a language http://esolangs.org/wiki/Brainfunge and I´m trying to write a program that prints fibonacci numbers 01:27:15 Ah, I saw that. 01:27:20 I know it´s possible but it´s a pain in the butt 01:27:30 Oh, in your esolang. 01:27:34 I'm not normally one for yet -another- brainfuck derivative... but.... 01:27:57 ( :let fibs : Stream Nat; fibs = 0 :: 1 :: [| fibs + tail fibs |] 01:27:57 defined 01:27:58 same here. it was going to just kinda be 2d brainfuck but then I was like ¨ooh commands¨ 01:28:20 ( take 10 fibs 01:28:23 [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] : Vect 10 Nat 01:28:41 god i love functional languages 01:29:38 http://sprunge.us/ChFA I´m in the middle of writing hello world 01:29:52 how much is Brainfunge different from Befunge? 01:30:06 uh. I couldn´t tell you. I don´t know befunge 01:30:11 it´s definately simpler 01:30:27 but therefore programs are more verbose to write 01:30:39 it just seems to me that Brainfunge is a simpler, stripped down version of Befunge with a different reportoire of instructions 01:30:53 -!- lifthras1ir has changed nick to lifthrasiir. 01:31:03 meh for the nick collision 01:31:14 like I said, I know no befunge except from the pointer commands + how the pointer works 01:31:27 and I shamelessly rippped those and put them in my language 01:31:33 the rest is coincedence 01:31:47 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 01:33:35 either way it was a heck of a lot of fun to write 01:34:53 i want another language that has musical source codeeee 01:37:59 CrazyM4ny: Befunge ^v<>~&,.0123456789+*$:&@ = Brainfunge ^v<>IiOo0123456789+*`!\@ respectively; Befunge - / :0`!_ :0`| = Brainfunge &- &/ H V 01:38:08 -!- boily has quit (Quit: UNRESPONSIVE CHICKEN). 01:38:28 -!- doesthiswork has quit (Quit: Leaving.). 01:38:30 I think this correspondence is enough to classify Brainfunge as a rather trivial derivative of Befunge, and not Brainfuck. 01:39:46 (two instructions from Brainfuge are missing in Befunge-93, but they are available in Funge-98 as an extension. 01:39:49 ) 01:49:01 oh. 01:49:03 well then. 01:49:18 i wasn´t aware that twhat i made was almost a direct dialect of befunge 01:49:26 should I rename it? 01:49:40 maybe to Simplefunge or something 01:50:40 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 02:01:04 -!- quintopi1 has changed nick to quintopia. 02:01:10 -!- quintopia has quit (Changing host). 02:01:10 -!- quintopia has joined. 02:30:44 so 02:30:58 I finally bothered working on addition that doesn´t pop 02:31:05 ¨!2|!2|2|3|+¨ 02:31:26 haven´t tested it 02:34:48 http://prntscr.com/4jsjcl 02:39:33 scratch that; doesn´t work 02:39:34 :P 02:51:53 so apparently that piece of code works 02:52:00 but i implemented ¨|¨ incorrectly 02:52:20 i feel so dumb 02:55:24 Why did you pick ¨ in an otherwise ascii-looking thing? 02:55:37 uh 02:55:43 hexchat is really weird 02:55:54 ¨ is a quote and ´ is an apostrophe 02:56:02 instead of normal things 02:59:13 Maybe you should change the settings in the program? 02:59:46 let me look for a setting that sounds related 03:00:01 Those are a spacing diaeresis and a spacing acute. 03:00:20 What’s your keyboard layout, locale, and input method? 03:00:42 typing into notepad results in normal characters 03:00:53 "' 03:00:55 vs 03:00:58 ¨´ 03:01:06 Oh, Windows? Never mind, no idea. 03:01:29 there, fixed it 03:01:30 -!- Imaginer1 has joined. 03:01:34 "´ 03:01:37 never mind 03:01:40 Howdy. 03:01:40 Not quite. 03:02:35 n̈ 03:02:49 03:02:51 ... 03:03:10 hexchat is so broken 03:06:51 AFAIU, GTK on Windows tends to have various problems because it was designed for Unixoid environments with X, and wants functionality that is difficult to cobble together on Windows. 03:07:35 it is 03:18:02 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 03:45:09 -!- not^v has quit (Ping timeout: 272 seconds). 03:51:03 -!- CrazyM4n has quit (Quit: Leaving). 03:52:42 -!- MDude has changed nick to MDream. 04:03:12 -!- not^v has joined. 04:52:19 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:57:56 -!- oerjan has joined. 06:21:32 `run gforth -e '-5 2 / . bye' # wasn't expecting that 06:21:33 ​-3 06:21:56 It's a floored division, not the more usual truncating one. (Both are apparently allowed.) 06:23:32 -!- sebbu has joined. 06:24:08 -!- sebbu has quit (Changing host). 06:24:09 -!- sebbu has joined. 06:24:18 `run gforth -e 's" FLOORED" environment? [if] . [then] bye' # see? 06:24:19 ​-1 06:45:56 -!- Frooxius has quit (Quit: *bubbles away*). 06:55:37 Is there a codepad thingy where others can edit it? 06:55:47 (codepad is some snippet pasting site) 06:56:31 ah. lpaste.net can do it 06:58:52 I think ideone too. 06:59:12 And there was one with real-time collaborative editing, with the whole "several cursors" thing and all. 07:01:32 I can't remember which one it was that I saw, Google finds several. 07:03:12 one that runs in the browser? 07:03:21 Yes. 07:03:34 which one did you find? 07:03:48 At least http://collabedit.com/ (the "try it now" link). 07:04:01 And http://codebunk.com/ 07:04:22 Also I think it was codebunk.com that I saw, the interface looks vaguely familiar. 07:04:30 Neither of those require any accounts or anything. 07:05:11 Also http://demo.firepad.io/ 07:05:32 Firepad is the bit that runs quite a lot of them, that's their own demo page. 07:06:20 They have a couple of "Built with Firepad" links on the main http://firepad.io/ page that most sound like they'd fit the bill. 07:07:05 CoderPad.io seems to have fancy "also runs the code" support. 07:07:53 are there any free ones? 07:08:00 coderpad and codebank I'm not so sure 07:08:06 there's a "pricing" info 07:08:30 anyway: http://lpaste.net/3911621673622700032 07:08:38 people are welcome to add more 07:08:50 (these are all optional directives as discussed yesterday) 07:09:11 It just makes sense to define a set of optional directives to establish common namings 07:10:13 How do you envision something like #MEM_WRAP_LEFT #MEM_UNBOUNDED_RIGHT to work? 07:10:50 Wrap to the furthest-on-the-right cell that's ever been visited? 07:11:48 or that's ever been allocated 07:12:15 That sounds quite vague, since you have no control over that. 07:12:34 True 07:12:50 furthest-on-the-right ever been visited makes more sense I assume 07:13:24 Having a name for all the unlikely combinations (like who's ever heard of #MEM_UNBOUNDED_LEFT #MEM_WRAP_RIGHT) might be overly complex. (Disclaimer: I'm not all that interested in the world of brainfuck and probably shouldn't be listened to.) 07:17:00 I'm not planning to have names for combinations of multiple directives 07:17:07 you can just use multiple directives in the code 07:22:18 No, I mean, that's already a name for the rather unlikely configuration, even if it has multiple directives. 07:22:21 (Gone now.) 07:38:46 damn 07:38:50 how does one undo git add again :( 07:49:26 ah. you need to specify a path for git reset 07:49:46 -!- AnotherTest has joined. 08:24:14 -!- Patashu has joined. 08:33:54 "git status" is supposed to have a helpful reminder of that at the top of the "staged changes" list. 08:36:36 it does 08:36:41 mroman_: Bookmark this: http://sethrobertson.github.io/GitFixUm/fixup.html 08:47:09 The javascript-driven "current path" machinery could do with a few lines of more intelligence. 08:47:29 Going backwards by clicking the path links just appends those same questions. 09:05:12 wait 09:05:22 A -> B -> C if you click on B it's A -> B -> C -> B? 09:05:42 (are you talking about breadcrumbs?) 09:06:27 Yes. 09:06:46 And the regular back button doesn't affect them at all, of course. 09:07:09 It's fine for a single "playthrough" of the document, but awkward for browsing around. 09:09:41 Frank Herbert's guide to computing circa 1980: http://chiclassiccomp.org/docs/content/books/WithoutMeYoureNothing_FrankHerbert.pdf 09:15:28 "It is our belief that you have been lied to about computers as part of a conspiracy—sometimes deliberate, sometimes unconscious—to keep them in the hands of an elite few." 09:17:02 it's more subtle now 09:17:24 you have computers but increasingly, you don't control them. 09:18:43 COMPUTERS DO NOT MAKE ERRORS. 09:18:49 Quantum physics would beg to differ. 09:19:24 By that logic humans make no errors 09:19:28 but god does 09:19:54 (or some other thing that may have created us) 09:22:44 ion: it's worse. they (fairly) reliably do as they are told 09:33:49 It's subtle 09:34:00 but given we program some AI that can make decisions 09:34:18 then that AI certainly should be able to do errors 09:34:27 that can't be reasonably be linked to programmers? 09:34:34 -be 09:36:45 good headline, "Computers are not Oracles" 09:38:39 There's an Oracle though that writes Software for Computers. 09:51:33 fungot: Are you an Oracle Y/N? 09:51:33 fizzie: you are never gonna succeed in convincing a sizable proportion of scheme users. 09:51:46 I think that was a "yes, and here's a prediction for you". 09:52:57 wow, fun got outdid itself there. 09:57:01 -!- J_Arcane_ has joined. 09:57:27 fungot 09:58:21 `unidecode fungot 09:58:22 oerjan: uh i thinks the " dump fnord from teh phone via teh cable" works not when fnord is installed... b/ c they dont understand the trace 09:58:22 ​[U+0066 LATIN SMALL LETTER F] [U+0075 LATIN SMALL LETTER U] [U+006E LATIN SMALL LETTER N] [U+0067 LATIN SMALL LETTER G] [U+006F LATIN SMALL LETTER O] [U+0074 LATIN SMALL LETTER T] 09:58:34 -!- J_Arcane has quit (Ping timeout: 252 seconds). 09:58:41 why didn't it respond to int-e 09:58:41 -!- J_Arcane_ has changed nick to J_Arcane. 09:58:57 `unidecode fungot 09:58:57 ​[U+0066 LATIN SMALL LETTER F] [U+0075 LATIN SMALL LETTER U] [U+006E LATIN SMALL LETTER N] [U+FEFF ZERO WIDTH NO-BREAK SPACE] [U+0067 LATIN SMALL LETTER G] [U+006F LATIN SMALL LETTER O] [U+0074 LATIN SMALL LETTER T] 09:59:38 hm that's weird 09:59:51 `unidecode > ​[ 09:59:52 ​[U+003E GREATER-THAN SIGN] [U+0020 SPACE] [U+200B ZERO WIDTH SPACE] [U+005B LEFT SQUARE BRACKET] 09:59:59 If Lisp is the language of AI, does that mean that the first act of a true AI will be to write its own Lisp? 10:00:18 you are using a different zero width space which putty _doesn't_ copy and paste 10:01:06 hm it pastes if i copy it from the logs instead 10:01:09 The FEFF space. 10:01:24 but not if a copy directly from irssi 10:01:32 nah, I don't believe in this "lisp is the language of AI" nonsense 10:02:35 b_jonas: it does seem to be fading in popularity in that scene (norvig went Python, lots of classes are teaching it in Java, etc.), though apparently it's gaining another in quantum computing. 10:03:22 I heard the other day that our university went to Scala for intro-to-programming courses. 10:03:31 -!- oerjan has quit (Quit: Later). 10:03:50 There are still a number of intro courses using Racket, largely on the strength of HTDP. 10:03:50 They were Scheme when I did them, then they switched to Java, then Java for CS students and Python for other students, then Python for all, and now Scala for at least CS students. 10:04:32 (Also they switched the Scheme from SICP to HtDP the year before I did them, I think.) 10:05:00 Well, that's not entirely accurate: they split the course in half, and switched the first half to HtDP and the second to PLAI. 10:06:06 I'm slowly working through HTDP right now, actually. 10:06:29 @tell oerjan strangely, xterm with fixed font even displays that non-breaking space: http://int-e.eu/~bf3/tmp/nbspace.png 10:06:29 Consider it noted. 10:08:25 J_Arcane: I'm not saying lisp is bad, but I don't see why you'd have to consider it "the language of AI". 10:09:04 I mean, back when there were only two or three languages, fortran and lisp, maybe you could have said it was a better language for AI than fortran, because it has dynamically allocated structures and stuff like that, 10:09:09 but now thta's pointless. 10:09:39 I think "the language of AI" is just a statement that got stuck from that time. 10:09:45 b_jonas: Well, partly it's historical: it WAS the language of AI for a long time. And partly, there are some strong arguments from people far smarter than me that the way it handles data structures etc. do make AI-type tasks easier, but I wouldn't presume to take them on. 10:09:53 prolog has also been the language of ai for a while 10:12:08 of course MIT's AI lab developed the Lisp machine, and the endeavour left a lasting impression :) 10:12:51 -!- boily has joined. 10:13:24 J_Arcane: Just don't believe HtDP when it tries to tell you that lambda is a special case of "local". 10:14:26 http://htdp.org/2003-09-26/Book/curriculum-Z-H-30.html "-- it is not surprising that Scheme provides a short-hand for this particular, frequent use of local --" 10:14:30 (Pet peeve.) 10:15:35 Oh it pretends that lambdas have a name underneath. 10:17:10 And "local" is of course not any sort of R5RS standard form. 10:17:15 Well, in Racket, technically, they do. Even the docs will tell you that. 10:17:39 Racket didn't exist when I was reading this. 10:17:47 It was just PLT Scheme. 10:18:02 Yeah. I'm reading the 2nd Edition, which is post Racket. 10:18:19 Oh, they've made a new one? 10:18:35 Yup: http://www.ccs.neu.edu/home/matthias/HtDP2e/ 10:19:02 It's still in progress I think technically, but the stable edition gets updated in time with new Racket releases. 10:20:11 I'm probably just grumbly because I had read SICP and done the Scheme course homework for fun while doing my civil service thing (before starting at the university), and then they went and switched. 10:20:24 PLAI I think I liked. 10:20:32 Even though we didn't cover it terribly thoroughly. 10:21:11 And it was't also quite released yet, we used a beta. 10:21:16 Heh heh. I still find the whole "design pattern" thing a bit weird, but then I also realized I've picked up some bad design habits so I'm trying to force myself to do them anyway. 10:23:42 hmm "Generative Recursion" is an odd term. 10:30:29 It's one of their own terms, I think. 10:32:12 design patterns are a scam for the most part, and those that matter shouldn't be explicitely named in the code. 10:37:46 boily: Well aren't you just a Flyweight Proxy Facade Bridge Adapter. 10:38:21 Heh. 10:40:25 It just manages to seem more verbose while being less obviously interpretable, and I can't help noticing I don't see any of it in the wild ... 10:41:00 J_Arcane: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/ sure you do 10:41:47 See e.g. com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.LoopContextStateRetrievalToSingleStepOutputGenerationAdapter. 10:41:59 It *is* helpful for "getting" how that style of functional programming can be built. 10:42:09 fizzie: I mean in the Racket community. 10:42:15 Oh, okay. 10:44:05 I don't see a lot of "Image Number WorldState -> String" and the like in actual Racket code in the real world, in fact there's a non-trivial amount of the usual Lisper thing of "But Lisp is so easy to read, so clearly I don't need to comment" 10:44:53 IsEvenlyDivisibleStrategyFactory.java [separated into interface and two implementations, one for Fizz, oone for Buzz. obviously.] 10:45:08 fizzie: you are vile, but then I have to battle against GenericAbstractControllerFactory and stuff like that daily, so your jab reaches me. 10:45:27 if (NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger, FizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE)) ... 10:45:36 fizzie: thanks 10:46:47 (that class also implements the RedundantIf design pattern: if (foo) { return true; } else { return false }.) 10:47:40 I'm going to have a very interesting day, what with the daymares you're inducing... 10:48:00 int-e: ah yes, we love that 10:48:31 (sorry, I forgot a semicolon there.) 10:48:43 I picked up RedundantIf somewhere and keep having to remind myself not to do things like that ... 10:51:14 I may bitch against patterns, but I know I'm a little bit too trigger happy with java templates. but we have code review at my job, and my boss always give me a comment along the lines of "DON'T DO THAT AGAIN TO MY EYES!" 10:52:34 An early version of my alphabetic word search had an (if (equal? ...) #t #f) in it ... :shame: 10:55:01 Which one is better/more professional, the RedundantIf pattern or the RedundantConditionalExpression (x ? true : false) pattern? 10:55:30 fungot: your opinion on the matter? 10:55:31 boily: well i can tell 10:55:34 fizzie: the redundant cat is worse 10:55:54 fungot: and? 10:55:54 boily: but subr is hardly new :) and my philosophy class on friday) are now downloadable on the website 10:56:01 fungot: so? 10:56:01 boily: why do programmers spend so much time spent programming in c++ blinds you to alternative ways of doing it all the time with things other than lists... why use lists? all i saw right now 10:56:33 fungot: that is just so lisp. 10:56:33 J_Arcane: what is that 10:57:12 J_Arcane: I just grepped my old Scheme sources for the course, and there's a (if (= spd setspeed) #f #t) in there, which is not measurably better. 10:57:18 fungot: can you write a factory that calls another factory on a class multiple times folded under each other, giving each element of a list as parameter to the factory? 10:57:19 b_jonas: fnord/ fnord has the thing that worries me more than a thousand repeats to return to 10:58:30 And actually also an (if (tree-find-item tree path pred?) #t #f) in another file. 10:58:39 * int-e flogs fungot with an extra-large maple leaf. 10:58:40 int-e: 3 helios24: ps ( thread-id 28) 10:58:42 It's easy enough to do by accident. 10:59:17 fungot: no, not fnord, FOLD. also known as reduce or inject or insert. 10:59:17 b_jonas: sounds useful. thanks. (: i've been thinking... does any of you ever use scheme to do this. 10:59:30 -!- Phantom_Hoover has joined. 10:59:42 fizzie: I think sometimes I maybe still have some hidden BASIC habits I haven't squashed yet, plus some others I picked up from very finicky Python courses. 11:00:00 That last one might even have some minor function, since "tree-find-item" sounds like something that might return something that's not #t. 11:00:41 (But the = is not going to.) 11:00:45 The idea of everything returning an explicit value is still a thing I have to remind myself happens; I wrote VIOLET in part as an exercise in forcing myself to play with that idea. 11:02:23 fizzie: Yeah, it depends on if your Scheme at the time did 'everything not #f is #t', I guess. In CL you sometimes have to do weird little patterns as well, because there's no 'false', only '(), and you sometimes need to know the difference between an actual '() and a '() that just means False. 11:06:02 @metar CYUL 11:06:02 CYUL 051000Z 13006KT 15SM FEW100 FEW150 20/17 A3000 RMK AC1AC1 SLP160 DENSITY ALT 600FT 11:06:40 -!- boily has quit (Quit: GASEOUS CHICKEN). 11:20:41 I guess that's like checking the weather before deciding on the phase (of matter) of the quit message chicken? 11:27:11 fungot: are you a scheme user? 11:27:11 mroman_: i'm at work. i think 11:27:33 fungot: Bad sign if you're not sure about that. 11:27:33 fizzie: please don't say swear. all of them are gross, because they're showing the montage of all the movie people who died 11:28:59 fungot: I swear I'll never use Scheme. 11:28:59 mroman_: shouldn't be too difficult to parse it all. :) i think that 11:31:12 Lisp was made to be parsed. 11:31:17 That's the beauty of it :) 11:35:28 Indeed. 11:35:53 (my next book I want to get through is learning C through creating a Lisp. :D) 11:37:12 Luckily I can already cross that off my list 11:37:20 (http://esolangs.org/wiki/Stlisp) 11:37:32 I also know Common Lisp a little bit 11:37:50 I think a dependently typed lisp would be a fun thing 11:39:44 ack 11:50:07 FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter 11:50:48 I kind of want to write an academic wankery verssion of FizzBuzz in Haskell now 11:51:17 Taneb: Just as long as you prove it correct before you're done. 11:51:37 where the hell does it do FizzBuzz . 11:52:49 nope. this is insane 11:53:23 mroman_: Everywhere, but I think the concrete classes of com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies (FizzStrategy, BuzzStrategy and NoFizzNoBuzzStrategy) are quite close. 11:54:47 The actual numbers 3 and 5 are in com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants.FizzStrategyConstants (FIZZ_INTEGER_CONSTANT_VALUE) and BuzzStrategyConstants. 11:54:56 NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger, FizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE)) 11:54:58 yep. 11:55:15 Jesus. 11:55:32 no Strategy Pattern to select the algorithm for the verification? 11:55:37 that's bad. 11:56:24 Oh yes, that's quite the omission. 11:56:40 Taneb: http://golf.shinh.org/p.rb?FizzBuzz 11:57:09 You can do it in 82B 11:58:11 But it doesn't have enough names of mathematicians in it when done that way, I'd guess. 11:58:57 Befunge is nicely high up in the list. 12:00:50 -!- Sgeo has quit (Read error: Connection reset by peer). 12:05:00 hey guys 12:05:10 so I'm completely rewriting RubyFunge 12:05:24 using a hash now instead of a matrix for Funge-Space 12:05:30 it works really well 12:05:36 :P 12:06:33 notogawa is a real beast in haskell golfing 12:07:24 much like clock is a beast in golfing in almost any language 12:07:24 (he golfs in so many languages and is always on the top in dozens of languages) 12:08:19 `run gforth -e ': fizzbuzz 1 begin dup 3 mod over 5 mod if if dup . else ." Fizz " then else if ." Buzz " else ." FizzBuzz " then then 1+ again ; fizzbuzz bye' # not golfed, just having fun 12:08:20 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 12:08:50 I really like how nested Forth ifs read. 12:09:29 p q if if a else b then else if c else d then then 12:11:07 dafuq 12:13:08 Some people[weasel words] would write p q if if a else b endif else if c else d endif endif but why are you even writing Forth at that point? 12:15:43 Taneb: I’m not sure how a usable one would look, but someone made a simple dependently typed language with lisp syntax as a poc for compiling things using the Idris compiler as a library. 12:16:52 -!- impomatic_ has quit (Ping timeout: 245 seconds). 12:17:40 -!- impomatic_ has joined. 12:17:58 Is endif valid forth? 12:24:06 -!- Patashu_ has joined. 12:24:06 -!- Patashu has quit (Disconnected by services). 12:25:58 -!- J_Arcane has quit (Quit: (set-jarcane-connect! J_Arcane #f)). 12:26:54 It's valid in gforth, and I think several others, but it's not valid "traditional" Forth, nor is it in ANS Forth. 12:28:03 I'm pretty sure you can't write endif in the firmware of your SparcStation, for example. 12:30:17 "Joss, the JOHNNIAC Open Shop System, was an early interactive calculator language similar in scope to Unix's bc(1) calculator, but with a rather more English-like syntax. We have a rudimentary implementation and two sample programs. We'd be very grateful to anyone who could supply documentation." 12:36:15 "endif"? 12:36:19 -!- impomatic_ has quit (Ping timeout: 252 seconds). 12:36:51 It's a gforth-et-al. synonym for "then". 12:37:02 endif makes more sense than then imo 12:38:22 Sure, sense. But it's just a word, and non-portable. (Granted, you could just define your own where not provided.) 12:41:11 `run gforth -e ': endthen ( split the difference ) postpone then ; immediate : test dup 0> if . else drop endthen ; -5 test 5 test bye' 12:41:11 5 12:51:42 `run gforth -e ': endthan ( split the difference ) postpone then ; immediate : test dup 0> if . else drop endthan ; -5 test 5 test bye' 12:51:43 5 12:51:48 `run gforth -e ': endthun ( split the difference ) postpone then ; immediate : test dup 0> if . else drop endthan ; -5 test 5 test bye' 12:51:48 ​ \ *OS command line*:-1: Undefined word \ : endthun ( split the difference ) postpone then ; immediate : test dup 0> if . else drop >>>endthan<<< ; -5 test 5 test bye \ Backtrace: \ $40E44A68 throw \ $40E5AC68 no.extensions \ $40E483A0 compiler-notfound1 12:51:58 ok, so that probably really defines that word 13:00:45 -!- TieSoul has quit (Read error: Connection reset by peer). 13:02:04 -!- impomatic_ has joined. 13:03:04 I had a manual for JOSS. Sold it on eBay though. 13:03:14 I have too many computer books. Trying to get down to about 100. 13:04:46 -!- MDream has changed nick to MDude. 13:06:40 ouch 13:08:56 wait 13:09:03 you sold it without copying it? 13:09:09 :( 13:18:26 -!- mihow has joined. 13:32:18 mroman_ sorry it wasn't something I needed. 13:35:26 If you can't find a manual for JOSS, try JEAN. 13:46:27 Theres a few docs linked from the Wikipedia page. I suppose you've already seem those though http://en.wikipedia.org/wiki/JOSS 13:50:22 -!- Sprocklem has quit (Ping timeout: 240 seconds). 14:01:15 -!- Patashu has joined. 14:02:35 -!- impomatic_ has quit (Ping timeout: 252 seconds). 14:04:39 -!- Patashu_ has quit (Ping timeout: 255 seconds). 14:07:21 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 14:10:30 -!- pikhq has quit (Ping timeout: 272 seconds). 14:11:03 -!- pikhq has joined. 14:13:08 TELCOMP looks interesting as well 14:19:22 -!- Patashu has quit (Ping timeout: 245 seconds). 14:26:10 How close are sateellites to the earth actually? 14:27:07 35kkm 14:27:08 i see 14:29:49 smartwatches ey... 14:30:13 Is everything android based now? 14:31:15 -!- Sprocklem has joined. 14:32:56 i hope so 14:33:29 why? 14:33:43 It would be much more fun if there's more diversity 14:34:08 also I've started to associate Android with "bloatware" 14:34:45 also I don't want a smartwatch that requires an Android Phone to work well 14:34:56 it oughta be a standalone smartwatch 14:35:15 what should it do? 14:37:38 I don't know. 14:37:41 Being smart. 14:37:50 It should be smart and do smart things 14:38:03 besides displaying the time of course 14:38:15 and maybe have a runtime of at least 7 days 14:38:32 everything under 7 days is totally unacceptable in my eyes 14:38:39 i have very few ideas of what a smartwatch WITH a smartphone should do 14:38:48 I might as well strap a little nokia to my wrist and it'd run for a month straight 14:38:50 but basically not one for without a phone 14:39:13 It would be nice if it were able to send emergency signals to police/hospital or something like that 14:39:36 and make phone calls of course 14:39:37 :) 14:39:42 yeah, so much accidental calls 14:40:04 technically it should be a phone like the phones in the old days 14:40:07 but squished into a watch 14:40:10 so, you basically want 2 sims? one for your phone and one for your watch? 14:40:25 well I don't need a phone then if the smartwatch can do that 14:40:45 a phome squished into a watch is a horrible idea 14:40:55 I think it's a great idea 14:41:10 the display is big enough for phone functionality 14:41:17 probably even for gps maps functionality 14:41:58 although my eye sight is getting more terribly every month 14:42:00 :( 14:42:37 It would be star-trek like 14:42:43 you just press a button on the watch 14:42:54 say "Watch, call pizza delivery for me, would you" 14:43:00 and there you go 14:43:31 don't seex why it shouldn't send that to the phone 14:43:47 because the watch is a phone 14:44:03 I don't see why you need a phone if the watch is itself a phone 14:44:05 there were phones as watches 14:44:08 they all sucked 14:44:13 yeah 14:44:16 probably 14:44:17 never had one 14:44:19 also, try gps navigation on a bike 14:44:26 but know it's 2014 and I'm sure we can make it not suck 14:44:29 *now 14:44:40 "can't read map because it's on your fucking wrist" 14:44:58 those watches probably didn't have zoom 14:45:23 well 14:45:24 yeah, i totally want to ride a bike with no hands 14:45:30 that'll be perfect 14:45:33 "can't read map on my smartphone because it's in my fucking pocket" 14:45:36 ^- doesn't sound much better 14:45:43 You can ride a bike with no hands. 14:45:50 and I can ride a bike with no hands 14:46:07 -!- Imaginer1 has joined. 14:46:07 1. i won't do that for to long 2. you can't ride MY bike with no hands 14:46:17 well then your bike sucks 14:46:19 Howdy all 14:46:37 my bike is awesome 14:46:44 it's a brompton <3 14:47:16 back in the old days we duct taped paper maps to the steering bar 14:47:31 you'd have to do the same thing with a smartphone 14:47:41 or buy a holder for your smartphone 14:47:43 i don't, i have a finn 14:47:48 ? 14:48:12 http://getfinn.com/ 14:48:14 You have somebody from finnland to do navigation for you? 14:49:25 anyway I'd still love to have a watch that's also a phone 14:49:31 and has a battery life of at least 7 days 14:50:54 although speaker and microphone... 14:51:06 loudspeaker wouldn't be so great :( 14:51:13 but if it had headphones of some sort 14:51:28 oh 14:51:37 and it also has to function as an electronic wallet 14:51:42 and electronic bus/train ticket 14:52:01 possibly through those QR code's they already have for smartphone tickets 14:52:05 *codes 14:52:27 that'd be awesome 14:52:45 so you want a tiny smartphone to put around your wrist 14:52:51 I'm scared, but I think I'm gonna write a bot o.o 14:52:52 have fun 14:53:09 I'd call it cleverphone 14:53:12 ;) 14:53:23 Imaginer1: for IRC? 14:53:26 and why? 14:53:35 Because I'm... 14:53:43 I've never done it before? 14:53:45 :S 14:53:55 See, every time I start a project 14:54:03 there were one that i would vuy if it weren't that old 14:54:10 i choose a project that seems so daunting it's impossible to me. I feel like I don't know nearly enough, etc. 14:54:16 But then I learn. 14:54:16 Make sure to have adequate protection. 14:54:27 Imaginer1: just build around II? 14:54:38 II? 14:54:39 that's what i would do 14:55:07 I feel so inadequate in this room. Like all the time. Jeez. 14:55:20 Imaginer1: http://tools.suckless.org/ii/ 14:55:21 writing an irc bot isn't that hard :) 14:55:29 there's even irc libraries 14:55:35 Oh, wondeful 14:55:37 where you can install hooks for messages containing stuff 14:55:51 ok... ^^; 14:56:00 the hard part is writing the commands the bot should support :D 14:56:03 mroman_: http://www.shoutpedia.com/wp-content/uploads/2010/06/motorola-flipout.jpg 14:56:05 Like, can I somehow tell you where I am with coding? 14:56:19 My best thing, imo, could make bmp images of the mandelbrot set 14:56:26 that's, i think, the best thing I ever wrote 14:56:30 that doesn't look like a watch 14:56:32 but it's close I guess 14:56:38 Run an old mirc and some kind person will come along and turn it into an irc bot for you 14:56:46 it is a pretty awesome thinh 14:56:55 too bad it runs android 2.1 14:56:55 But I want to make it myself, it would be a learning experience ^^; 14:57:32 Unrelated question: what does it mean to flush input? 14:58:42 input is usually buffered by libraries 14:58:50 i.e. line buffering for example 14:59:13 where stuff like readchar() blocks until a newline was there 14:59:26 and then you'll receive the first character by a single readchar of that line 14:59:31 ok 14:59:39 flush should make it return right now 14:59:48 but that may depend on the language you're using 14:59:54 like skipping the pointer to the next line or whatever....? 15:00:01 or the next 'buffer' 15:00:15 like if you were buffering by words it would skip to the next word 15:00:17 I'm so sorry v_v 15:00:24 It's what you do when you know that you're getting crap input 15:00:26 ok. 15:00:31 however 15:00:38 I think fflush(stdin) in C clears the input buffer? 15:00:45 I don't use C. 15:00:47 ^^; 15:01:04 fflush(stdin) revokes your C programming license 15:01:14 damn :( 15:01:19 where can I re-apply for it? 15:01:23 hehehe 15:01:28 (I've never used fflush(stdin) though) 15:01:33 i never got mine :> 15:01:34 but I was just about to 15:01:36 What are your guys' languages? 15:02:16 Haskell, of course. 15:02:22 ah 15:02:36 why doesn't anybody say befunge or the like? 15:02:41 Well 15:02:44 snobol forever 15:02:51 because people know esoteric ones but it's not like they use them -regularly- 15:02:54 it's fun but 15:02:56 yeah 15:03:25 befunge just doesn't support, like, programming in the large and stuff 15:03:45 it is perfectly scalable! 15:03:58 just ask fungot 15:03:59 myname: " you are conversational skills need work." 15:04:07 Imaginer1: wrong 15:04:12 I use Burlesque regularly 15:04:18 not as regularly as I used to but still 15:04:33 Well, I have yet to find an esoteric language I'd like to use regularly 15:04:37 but I'm excited to fine one 15:04:39 *find 15:05:15 burlesque looks like j for the uneducated 15:06:09 Fighting words 15:06:36 Burlesque looks like J for the esoteric, bored during lectures, creepy nerd 15:06:58 like me 15:07:05 i should learn that 15:08:05 blsq ) 4ro{RT}3!C#s 15:08:05 {{1 2 3 4} {2 3 4 1} {3 4 1 2} {4 1 2 3}} 15:08:13 it's easy and readable. 15:08:23 well... 15:08:41 it's at least one of those two things. 15:08:47 possibly both. 15:10:01 the most important thing is that you believe in it 15:10:34 I think I'm gonna make my bot to play games. 15:10:43 well 15:10:44 Hexapawn (with boards a bit larger than 3x3) or smth 15:10:48 I can do chisquare tests with it! 15:11:20 https://raw.githubusercontent.com/FMNSSun/Burlesque/master/examples/statistics2.blsq 15:11:23 ^- there you go 15:11:32 does anybody know about a language independent programming game? 15:11:51 I thought there was one working through stdin/stdout @game 15:12:15 which is it 15:12:53 fifos should work, too 15:13:26 What is a programming game? 15:14:04 simple example: bf joust 15:14:15 players write programs to compete 15:14:52 Jafet: You don't play the game but you write programs that play the game 15:15:01 So... WCCC? 15:15:07 Popular games are for example CoreWar 15:15:09 or Ants 15:15:17 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 15:15:18 in Ants you write a program (AI) that controls an ant colony 15:15:33 or is it called AntMe! 15:15:34 hm 15:15:51 robocode 15:17:03 Well, WCCC involves competing hardware too. 15:18:11 http://mroman.ch/burlesque/rwb2.pdf <- also have a look at this case study 15:18:14 sounds expensive 15:18:22 (I have no idea what a case study actually is) 15:19:09 easy as fuck with burlesque . 15:20:51 Of course, this was made with an older version 15:20:54 the line ln [- {tt}m[ un 15:21:04 can be replaced with a single command in the current stable version 15:22:11 tl"""(m|C)"R~SP is all that's needed to parse the stuff now 15:22:35 quite possibly tl"(m|C)"~RSP in the next version 15:23:24 tl"(m|C)"~RSPu[2COJ{p^.<}feFi!! 15:23:38 (without the message, just prints the number) 15:24:37 once you know all 300++ commands it's easy readable 15:24:42 *easily 15:26:06 the next version will most likely even have variables 15:28:33 lol 15:30:20 tired of having to write dozens of characters of code for Fibonacci Sequence? 15:30:37 My product makes this much easier 15:30:39 blsq ) 1J{.+}10!C#s 15:30:40 {1 1 2 3 5 8 13 21 34 55 89 144} 15:30:42 boom! 15:53:54 -!- TieSoul has joined. 16:10:12 -!- Sprocklem has quit (Ping timeout: 255 seconds). 16:19:12 -!- Phantom_Hoover has joined. 16:20:07 -!- not^v has joined. 16:24:04 -!- oerjan has joined. 16:25:16 @messages-lol 16:25:16 int-e said 6h 18m 47s ago: strangely, xterm with fixed font even displays that non-breaking space: http://int-e.eu/~bf3/tmp/nbspace.png 16:25:48 I saw the space too. 16:25:50 As a gap. 16:26:16 ic 16:30:04 I am using PuTTY and it does something similar to the picture there 16:32:20 i am also using putty 16:55:13 okay so my idea of using a hash to represent Funge-Space didn't turn out so well 16:55:34 making a hash out of things is not recommended 16:55:35 let's just say that it took 19 seconds to run mycology 16:56:10 *-out 16:58:03 19 seconds for mycology isn't that bad. 16:58:07 http://mroman.ch/bundle.txt <- if somebody wants one of these games (Steam) just pm me 16:58:16 a lot better than some interpreters manage, iirc 16:58:24 I can gift them 16:58:38 TieSoul: A classic (cheating?) optimization is to use a static array for a fixed-size rectangle around (0,0) and hash outside it. 16:58:49 TieSoul: "cheating" part if the region size is optimized for mycology. 16:59:19 hrm 17:00:02 fungot: How do you feel about your fungespace implementation? 17:00:02 fizzie: i implemented bf on the hp48gx, in case you plan on doing emacs first. my counterexample for noncommutative rings were just matrix algebras ( projections are idempotent). 17:00:12 Uh. 17:00:58 i think fungot should talk to edwardk about his theories 17:00:59 oerjan: i guess i _do_ care about beautiful code. xd. 17:01:24 my original way was just to have an arbitrary-dimension (dimension as in length here) array, and keep an origin variable (vector from begin of array to (0, 0)) to use similarly to the storage offset. 17:01:31 but that made my code really cluttered 17:02:20 so I tried the hash method, but that made my code really slow. 17:02:46 you should abstract your fungespace out so you can tweak the implementation as you wish without cluttering the rest of the code. 17:02:59 ??? 17:03:08 what is this about abstracting it out? 17:03:12 what does that mean? 17:03:22 O_O 17:03:27 making fungespace a class and use functions? 17:03:37 (I mean instance methods) 17:06:36 ...did I say something wrong? :P 17:07:04 * oerjan counts the crickets 17:07:45 well yes, if you are using OO programming. 17:08:13 Yes I am, I'm using Ruby. 17:08:57 Actually, I'm thinking about starting over in C# or C++, because they're faster 17:09:13 and my Ruby code kinda sucks 17:10:38 for speed it might be good to use a language that is capable of optimizing out the abstraction. 17:11:01 *implementation, technically 17:11:05 oerjan: Either that or optimize out the abstraction by yourself. 17:11:16 oh, also, is there a specification of some sort for Funge-108? 17:11:22 zzo38: um that _really_ would defeat the point. 17:12:01 And Ruby is slow anyways 17:12:07 zzo38: the entire point of _introducing_ the abstraction is so he doesn't have to change the rest of the code when he changes the implementation of it. 17:13:05 Yes, it help, but it also depend what kind of abstraction? If it is a programming language allowing you to add such a feature, that can help too, rather than being hard-coded!! 17:13:33 I dreamt that someone was writing a compiler from MSIL into Z-machine code (so that C# programs can be compiled into it), however half of the features of the game were hard-coded into the compiler, meaning it unsuitable to write any game other than that single one anyways. 17:14:37 ...your point and the relevance to Funge being? 17:20:02 -!- MDude has quit (Ping timeout: 252 seconds). 17:22:43 I don't think there is a finalized specification of Funge-108; there was just some work towards one. 17:25:58 TieSoul: it could be as simple as a handful of functions working on a global fungespace. 17:26:23 something to go from global (x, y) to the cell, something to set it, and something to get the bounds would be one extremely simple API. you may need more than that for efficiency 17:26:44 just keep all the details about how fungespace is implemented away from the rest of the code; abstraction is one of the core principles of programming 17:27:09 yeah, I knew about it 17:27:16 but I didn't know how it was called 17:30:31 -!- MoALTz has joined. 17:36:40 (Legends of Gimrock is gone) 17:45:18 -!- idris-bot has quit (Quit: Terminated). 17:45:48 -!- Melvar has quit (Quit: rebooting). 17:48:21 -!- not^v has quit (Ping timeout: 272 seconds). 17:49:09 -!- Melvar has joined. 17:52:57 -!- idris-bot has joined. 17:55:29 -!- not^v has joined. 18:17:20 -!- Sprocklem has joined. 18:19:13 Abstraction is not always work best way, I think, but it can help when you are trying to be modular. 18:24:38 And, another way to avoid having to change the rest of the code too much when changing implementation, involves using macros. 18:41:21 -!- sebbu has quit (Ping timeout: 264 seconds). 18:42:43 Well, the file 'nanozil.c' is already 192734 bytes long and it is still incomplete so far!! 18:43:29 -!- impomatic_ has joined. 18:50:04 what is a nanozil 18:50:11 it doesn't sound very nano 18:50:20 and zil neither 18:50:20 You should've seen the microzil. 18:51:13 It's like two million *lines*. 18:52:18 It is a Z-machine compiler 18:52:44 ZIL is also a Z-machine compiler, although we don't have it anymore and it didn't perform so many optimizations. 18:52:59 Note that the largest amount of the nanozil code is the optimizations, most of the rest is actually pretty simple. 18:58:31 How common is things like if(i&~3) in a C code? 19:03:06 well it blanks the two lsbs 19:03:24 how common is that? 19:03:57 Also uses the result as the controlling expression of an if statement. 19:04:05 usually I'd prefer #define MASK (~3) 19:04:07 if(i&MASK) 19:04:49 -!- Sprocklem has quit (Quit: [). 19:05:00 Usually I prefer to be all unsigned when dealing with bits, but maybe there's some particular reason. 19:07:15 Something I learned today: sign-bit-one-and-value-bits-zero is allowed to be a trap representation even on a system where the integer representation is two's-complement. 19:07:17 That is to ensure it has the range 0 to 3; if it doesn't then the condition is true. However it doesn't have to be only the low bits sometimes other bits are used too in such kind of conditions 19:07:55 fizzie: I didn't know integers are allowed to have a trap representation at all. 19:09:06 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 19:09:43 Signed integers are; there's only the one possible setting of bits that can be either a trap representation, or (for two's-complement) the most negative value or (for one's-complement or sign-and-magnitude) the negative zero. 19:09:53 I don't know of any implementations where it would be a trap representation. 19:18:29 I'm not sure if if (i & ~3) is any improvement over the obvious-to-everyone if (!(i >= 0 && i <= 3)) except in the number of keystrokes. The compiler I fed it to generated essentially equivalent code. ("cmp edi, 4; jb ..." for the first, "cmp edi, 4; jae ..." for the second, with the true/false branches of code the other way around.) 19:24:28 -!- sebbu has joined. 19:24:28 -!- sebbu has quit (Changing host). 19:24:28 -!- sebbu has joined. 19:24:37 -!- not^v has changed nick to NotCaretVeePomm. 19:31:21 -!- sebbu has quit (Ping timeout: 255 seconds). 19:46:26 fizzie: What are "jb" and "jae" corresponding to? 19:46:50 I do not remember much about how x86 assembly codes are working 19:47:15 zzo38: jb is jump if below, a conditional jump taken when the carry flag is unset 19:47:25 jae ia the opposite, a conditional jump taken if the carry flag is set 19:47:42 (for the details, see the intel and amd manuals) 19:49:20 O, so it is a kind of unsigned comparison 19:49:40 b_jonas: Actually, jb jumps if the carry flag is set, due to the operand order of cmp. 19:50:29 "cmp eax, 5; jb X" => "jump to X is eax was below 5", i.e., CF was set when subtracting 5 out of eax. 19:50:36 -!- NotCaretVeePomm has quit (Ping timeout: 272 seconds). 19:50:37 And yes, it's an unsigned comparison. 19:51:01 It's quite curious that it turns the &~3 variant to a cmp instruction too. 19:52:32 This was clang; GCC was slightly closer to the original source, doing "and; jnz" for the &~3 and a similar unsigned-comparison for the >= 0 && <= 3. 19:54:01 Jafet: uh, sorry then 19:54:03 I suppose it either has that optimization built-in, or it uses some other kind of analysis to determine how to perform that kind of optimization. 19:56:07 fizzie: yes, you're right, JB jumps if the carry flag is set 19:56:30 Full disclosure note: I already had the Intel manuals open. 19:57:08 fungot: Do you think I should write you a Forth to complement ^bf and ^ul? 19:57:09 fizzie: i suck at transcribing by ear :) 19:57:10 My Countdown-playing program seems to have been a nice fun toy project 19:57:17 fungot: Oh, well, never mind then. 19:57:17 fizzie: that's nice. 19:57:48 I should learn Forth 19:58:01 ...and APL, and Lisp, and half a dozen others 19:58:31 Taneb: sure. we have some channels for those in freenode. 19:58:58 There are 7 people and no set topic on #apl, that's all I can tell from the outside. 19:59:57 fizzie: #jsoftware for APL 20:00:15 fizzie: classical APL is on topic there too, though not many people speak it 20:00:30 (mind you, classical APL has many different dialects too, it's sort of like old Lisp) 20:01:55 `cat hello. 20:01:55 cat: hello.: No such file or directory 20:01:57 `cat hello.c 20:01:58 const char main[] = "AXAYAZA[A\\ATX-pppp-0```- ///P^VTXH10XP4>40PZ414>P_\x0f\x05XATASARAQAP\xc3Hello, world!\n"; 20:02:04 What architecture is that for? 20:02:45 and I don't think anyone every hooked up an evalbot for any old dialect of APL yet. we have J evalbots, intermittently, and some years ago we had a K evalbot. 20:04:40 -!- Bicyclidine has joined. 20:04:43 `run echo -e '#! /bin/bash\nexec gforth -e "$* bye" bin/forth; chmod +x bin/forth 20:04:45 No output. 20:04:50 `forth 1 2 + 3 * . 20:04:51 9 20:04:54 That's better. 20:05:22 (I don't do forth.) 20:05:26 `forth 2 10 ^ . 20:05:27 ​ \ *OS command line*:-1: Undefined word \ 2 10 >>>^<<< . bye \ Backtrace: \ $40E44A68 throw \ $40E5ACE0 no.extensions \ $40E44D28 interpreter-notfound1 20:05:32 Yaaaaa 20:05:33 I kept forgetting the "bye", which made HackEgo stop for the 30 second timeout waiting for some input that never came. And even then print out a messy thing. 20:05:43 `forth 2 10 ** . 20:05:44 ​ \ *OS command line*:-1: Undefined word \ 2 10 >>>**<<< . bye \ Backtrace: \ $40E44A68 throw \ $40E5ACE0 no.extensions \ $40E44D28 interpreter-notfound1 20:05:51 What's exponentiation 20:06:04 multiply it yourself!! 20:06:34 `forth 1 10 lshift . 20:06:34 1024 20:06:38 Taneb: try /msg j-bot [ 2^10 20:06:51 the ^ operator does exponentiation 20:06:57 I'm not even sure if ANS Forth has integer exponentiation. I think not. 20:07:06 b_jonas, which wouldbe great if I wanted to calculat 1024 20:07:25 um, it does other exponentiation too, not just 2 to the 10th 20:08:01 But I was trying to learn Forth :) 20:08:06 `forth 2 s>f 10 s>f f** f>s . ( so nasty ) 20:08:06 1024 20:08:14 `perl say 2**10 20:08:15 Can't open perl script "say 2**10": No such file or directory 20:08:22 `perl -E say 2**10 20:08:23 1024 20:08:45 bonus challenge: implement addition chain exponentiation in forth 20:09:55 `forth 2e 10e f** f. ( now with less explicit conversions ) 20:09:55 1024. 20:10:07 you don't need those conversions in J, the ^ operator converts to float anyway 20:10:28 perl does too 20:10:29 okay but j isn't forth or much at all like forth. 20:10:35 um 20:10:45 I think there was someone who liked both forth and J 20:10:57 I'm not sure who 20:11:02 `gcc --version 20:11:03 gcc (Debian 4.7.2-5) 4.7.2 \ Copyright (C) 2012 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. 20:11:33 For the record, the "that's better" comment was referring to the script being better than calling gforth manually, not an allusion to Forth being better than any particular language. 20:12:54 `forth s" gforth" environment? [if] .( gforth ) type [then] 20:12:55 gforth 0.7.0 20:13:57 They're at 0.7.3, but that's not terribly old, from 2009 or so. 20:14:58 -!- sebbu has joined. 20:16:57 In a few Forth systems you can define a IF ... THEN block like: : IF` 0=GOTO` HERE 0 , ; : THEN` HERE SWAP ! ; 20:17:46 uh 20:17:49 (Some others have IF and THEN as built-in instructions and do not need to be defined.) 20:20:45 -!- Taneb has changed nick to nvd. 20:21:14 Wow I have a 3-letter nick registered 20:21:15 -!- mihow has quit (Quit: mihow). 20:21:25 There's like only 270000 of those 20:22:05 i used to have 'god' registered on another network, but the opers reprogrammed the servers to deny god. very tragic. 20:22:47 nvd: I think there's less than 100000 actually, but I'm not sure 20:23:09 the character sets and cases are complicated 20:23:22 > length "abcdefghijklmnopqrstuv^`_0123456789" 20:23:23 35 20:23:31 > 35 ^ 3 20:23:32 42875 20:23:42 I mis-mathed 20:23:52 > 30 ^ 3 20:23:53 27000 20:24:01 nvd: no, you can't start with a letter of hyphen, and nicks can contain [\]{|} too 20:24:26 That's awkward 20:24:30 I'm going to retaneb 20:24:32 and I'm not sure what case equivalence rules freenode uses for the punctuation these days 20:24:33 -!- nvd has changed nick to Taneb. 20:24:47 b_jonas: standard IRC 20:24:56 also, you can use wxyz in nicks too 20:25:04 [\] are case-equivalent {|} 20:25:14 and ` and ^ I think 20:25:26 coppro: what? no 20:25:33 ` would be equivalent to @ which isn't a character 20:25:33 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 20:25:50 ` is equivalent to ~ though 20:25:51 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 20:25:55 ah, no 20:26:00 ` is not case-equivalent to anything 20:26:01 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 20:26:02 but ~ and ^ are 20:26:06 oh damn 20:26:07 sorry 20:26:08 yes 20:26:11 I'm too tired for this 20:26:28 it originates from scandinavian keyboards iirc 20:26:31 so that means, what, 32*43*43 possible three-letter nicks? 20:27:05 -!- westerp has joined. 20:27:18 "standard IRC", lol 20:27:19 coppro: the set used originates from iso-646 stuff, but it's really just a continuous range in ascii, plus the hyphens and numbers, and the equivalence is just ignoring bit 5, right? 20:27:33 > 32*43*43 20:27:35 59168 20:27:37 probably 20:27:37 b_jonas: yeah 20:27:48 but also keyboards 20:28:25 finnish ones specifically iirc 20:30:22 -!- impomatic_ has quit (Ping timeout: 240 seconds). 20:32:31 `forth : iexp dup 0= if 2drop 1 exit then dup 1 = if drop exit then over dup * swap dup 1 and if 1- 2/ recurse * else 2/ recurse nip then ; 2 10 iexp . ( <-- Taneb ) 20:32:32 1024 20:32:41 (Disclaimer: probably not very idiomatic or good.) 20:33:01 I really need to learn Forth 20:33:08 But first, Erlang, Rust, and APL 20:33:10 that's just binary exponentiation, right 20:33:23 Bicyclidine: Yes. 20:33:32 not good enough 20:34:53 it's kind of weird being able to read that. 20:36:34 Bicyclidine: can you write a better one? 20:36:42 I have a binary exponentiation implemented in J somewhere 20:38:01 probably not. i can only barely read it, anyway. 20:38:17 http://sprunge.us/OhIZ for a formatted and commented version 20:38:18 i was referring to addition-chain exponentiation which is more efficient if you don't mind solving NP-complete problems beforehand 20:38:38 The whole 1- bit was probably unnecessary, due to a flooring 2/. 20:39:38 Er, and the comment is missing x*f(...) for the odd case. 20:39:53 isn't i- yeah. 20:40:02 The code isn't, though. 20:41:08 ...and says x&1 instead of n&1... 21:02:42 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 21:09:33 -!- Bicyclidine has joined. 21:10:23 How terrible an idea is having a publicly accessibly dc program? 21:10:57 Taneb: Probably, it depend on the program. 21:11:22 Is it possible to have a malicious dc script? 21:11:31 dc has a shell interface, doesn't it? 21:11:42 -!- hogeyui____ has quit (Ping timeout: 260 seconds). 21:11:48 `dc -e 1 2 + p 21:11:48 3 21:12:03 yep, ! runs the rest of the line as a system command 21:12:30 `dc -e "1 2 + p ! ls" 21:12:30 dc: '"' (042) unimplemented \ 3 \ sh: 1: Syntax error: Unterminated quoted string 21:12:39 `dc -e 1 2 + p ! ls 21:12:39 3 \ :-( \ 98076 \ a \ app.sh \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dog \ etc \ factor \ fb \ fb.c \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ unpa \ UNPA \ Wierd \ wisdom \ wisdom.pdf 21:12:40 Yes a malicious dc script is possible if the program has ! on it 21:12:45 !!!! 21:13:34 (However, it should be easy enough to remove that feature from dc; also, I think arbitrary strings cannot be created inside of dc itself (although they can be output) due to lack of string manipulation features of dc.) 21:15:34 -!- Bicyclidine has quit (Ping timeout: 264 seconds). 21:16:51 wouldn't be enough, gnu dc has an int->char instruction 21:18:51 `forth : iexp 1 swap begin dup while dup 1 and if -rot over * rot then rot dup * -rot 2/ repeat drop nip ; 2 10 iexp . ( non-recursive for completeness ) 21:18:52 1024 21:18:56 -!- Bicyclidine has joined. 21:18:57 Turned out shorter too. 21:19:27 it doesn't *seem* to have the string manipulation features you'd need to turn that into a command line, but idk if you'd want to risk it 21:19:45 `dc -e [! ls] x 21:19:45 ​:-( \ 98076 \ a \ app.sh \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dog \ etc \ factor \ fb \ fb.c \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ unpa \ UNPA \ Wierd \ wisdom \ wisdom.pdf 21:20:26 `dc -e [ls] [!] x x 21:20:27 dc: register 's' (0163) is empty 21:22:12 glad we have to worry about calculators from 1960 being insecure 21:22:21 `run echo "! ls" > dc -e ? 21:22:23 No output. 21:22:30 `run cho "! ls" 21:22:31 bash: cho: command not found 21:22:36 `run echo "! ls" 21:22:36 ​! ls 21:22:49 `run echo "! ls" | dc -e ? 21:22:50 dc: stack empty 21:23:21 `run echo "! ls" | dc -e '?' 21:23:22 ​:-( \ 98076 \ a \ app.sh \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ fb \ fb.c \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ unpa \ UNPA \ Wierd \ wisdom \ wisdom.pdf 21:23:33 A truism: there's always at least one file of length 1. 21:23:44 Filename length, I mean. 21:24:02 OK, we need to ban ! and probably ? 21:24:24 `dc -e [:x]:x 21:24:25 dc: stack empty 21:24:41 `dc -e '[:x]:x' 21:24:42 dc: dc: stack empty \ dc: ''' (047) unimplemented \ ''' (047) unimplemented 21:25:03 -!- hogeyui____ has joined. 21:26:20 Phantom_Hoover: O, if it has a int->char instruction that operates on strings other than just output, then yes it is that problem too. 21:26:47 I think best way to avoid these things is to just make a modified version of dc. 21:27:12 So that you can omit the ! command 21:27:12 securedc 21:27:40 (Or add a command-line switch to cause the ! command to stop working) 21:30:05 However, note that ! is also used for conditions in dc; this is a different command. 21:30:25 My opinion is that arithmetic-if would have been a better way to design conditions in dc anyways, but, that isn't how it is. 21:44:55 For a shirt time the party of the Scion campaign was perfectly gender-balanced, despite there being an odd number 21:45:03 (one character was gender-fluid) 21:45:14 oh yeah, i forgot dc overloads ! 21:46:06 so yeah, just patch out the system exec command if you still want to go ahead with it 21:47:52 How is a character being gender-fluid? 21:48:19 zzo38, good question 21:48:24 he/she is not my character 21:48:40 The character sometimes looks male, other times female 21:50:15 Except now a new player has joined 21:52:05 Whose character I know little about yet 21:59:21 -!- oerjan has quit (Quit: Etc.). 22:08:59 Do they look like it by disguise? I doubt that would necessarily make them make and female though. 22:09:41 you could just change clothes if you had the right body type. it's not much of a disguise. 22:10:25 zzo38, there's a supernatural element to it, too 22:11:53 O, does that mean you can magically change your gender? 22:13:26 That character can. It's not a standard thing, it was agreed with the GM 22:14:16 OK 22:34:27 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 22:39:25 -!- Phantom_Hoover has joined. 22:43:24 -!- Sgeo has joined. 22:56:05 -!- Bicyclidine has quit (Ping timeout: 260 seconds). 23:01:26 Does this look like correct to you? if((u[x].min<0 && u[x].max<0) || (u[x].min>=0 && u[x].max>=0)) { i=~(u[x].min^u[x].max); i&=i>>1; i&=i>>2; i&=i>>4; i&=i>>8; u[x].omask|=u[x].min&~u[x].imask; u[x].imask|=i; } 23:06:15 -!- Bicyclidine has joined. 23:13:24 what does it do zzo38 23:14:24 I can explain what it is supposed to mean. The min/max/imask/omask are 16-bit signed values, where min/max are minimum and maximum possibilities, and imask has bits set according to which bits are known, and omask has the known bits according to how they are supposed to be (zero if not known). 23:15:17 But, did I do it properly or not? 23:17:25 yeah i still don't know what it's supposed to do. and i can see no point to that "i&=i>>1; i&i>>2;" etc. part. is that some standard bit-twiddling hack? 23:18:51 I did read something similar somewhere (not exactly that); it is supposed to clear all bits lower than an existing cleared bit. 23:19:09 I am trying to imitate the bitwise AND of everything in the range from (u[x].min) up to (u[x].max). 23:19:33 -!- boily has joined. 23:19:45 helloily 23:19:47 And keep only the bits that are the same for all numbers in that range. 23:19:56 oh i see 23:20:18 but wouldn't it be confusing if the ones that could be different are zero? 23:20:42 surely there's an easier way to accomplish it 23:21:05 quinthellopia! 23:21:26 @metar CYUL 23:21:27 CYUL 052300Z 19008KT 15SM FEW050 BKN085 BKN180 OVC240 23/19 A2983 RMK SC1AC4AC1CI2 CB EMBD SLP102 DENSITY ALT 1100FT 23:21:46 yé... still CB EMBD... as if I wasn't as drenched already... 23:22:09 Actually I think it should be u[x].omask|=u[x].min&i&~u[x].imask; 23:24:00 -!- Patashu has joined. 23:24:39 oh i think i understand better now 23:25:25 well no 23:25:36 it looks like omask = min&max 23:25:43 according to your description 23:26:07 I may have made some kind of messy mistakes 23:26:09 or not 23:26:13 i'll think about it 23:26:37 It is supposed to update imask/omask to match what min/max already specifies 23:26:46 right 23:27:14 and clearly all the higher order bits between min and max will be set in imask 23:27:34 if min and max are powers of two it's not hard 23:28:01 or rather, if they are multiples of the same power of two 23:33:54 -!- not^v has joined. 23:56:24 -!- Patashu has quit (Disconnected by services). 23:56:24 -!- Patashu_ has joined. 23:56:25 -!- Phantom__Hoover has joined. 23:58:51 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 2014-09-06: 00:00:25 -!- Patashu has joined. 00:02:57 -!- Patashu_ has quit (Ping timeout: 264 seconds). 00:04:28 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 00:13:22 -!- ^v has quit (Ping timeout: 240 seconds). 00:13:29 -!- ^4 has joined. 00:14:27 -!- not^v has quit (Ping timeout: 272 seconds). 00:20:23 -!- ^4 has quit (Ping timeout: 272 seconds). 00:23:10 -!- Patashu has quit (Ping timeout: 252 seconds). 00:24:21 -!- Patashu has joined. 00:31:02 anyone ever play with this? https://code.google.com/p/googlemapaxon/source/browse/trunk/Docs/webs/google+api+tips++google+maps+api+v3+context+menu+example_files/ao7cfjproEEAn5OijXEgfdHyA_5BKye5jml3JCZ7KvU.js?r=125 00:32:14 -!- Hjulle has joined. 00:33:00 -!- Patashu has quit (Remote host closed the connection). 00:33:19 -!- Patashu has joined. 00:55:46 tic-tac-toe has the dubious distinction of being the lowest ranked game on BGG, with a nice 10051. tmyk. 00:56:53 -!- CrazyM4n has joined. 00:56:56 boily: where do you see the ran? 00:56:58 rank 00:57:03 Oh 00:59:30 so i just generated like 12,000 fibonacci numbers in around a second 00:59:38 in brainfunge 00:59:55 -!- ^v has joined. 01:01:02 is 12kFPS good? 01:01:10 i have no idea 01:01:11 probably not 01:01:41 where´s a good place to upload around 16 mb of text? 01:01:59 pastebin.ca? 01:03:01 ¨may not exceed 150,000 bytes¨ so close 01:03:54 What is the limit for sprunge? 01:03:59 i have no idea 01:04:07 after 30 seconds it gave me error 500 01:04:19 I think source codes are available for sprunge so you can try to look in there 01:04:36 i think that pastebin.com is working 01:04:41 if nothing else, google drive 01:05:00 http://prntscr.com/4k33gy 01:05:18 413 request entity to large 01:05:41 google drive it is 01:06:08 https://drive.google.com/file/d/0B795W1ddWOwxSTlfUmtYY0MyZFk/edit?usp=sharing woo 01:06:15 http://sprunge.us/OJgO for code 01:12:46 -!- Hjulle has quit (Quit: Konversation terminated!). 01:18:34 -!- boily has quit (Quit: ÆSCHERICHIA CHICKEN). 01:19:55 -!- Hjulle has joined. 01:29:43 -!- Lymia has joined. 01:29:46 Opps~ 01:30:02 (Is EgoBot or whatever still broken?) 01:32:52 now that i think about it i haven't seen gregor around in a while 01:33:40 That's because he's gone. 01:34:00 are you the executor of his estate 01:34:57 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 01:35:39 -!- Gregor has changed nick to ProfessorGregorE. 01:35:44 Dang it. 01:35:49 It cut off the "Eh" 01:38:30 Congratulations, Professor Doctor Richards Eh. 01:38:42 yo 01:38:50 gimme something interesting to make in an esolang 01:39:17 [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40399&oldid=40397 * 98.177.186.100 * (+70) 01:48:17 Make a 6502 assembler 01:48:55 zzo: do you like obfuscated JS? 01:49:44 newsham: If it is trying to make it shorter, then it can help. Otherwise not really 01:49:53 6502 assembler 01:50:00 no guarentees 01:50:03 but sounds like fun 01:50:06 no, this is obfuscated to make it hard to read and figure out 01:50:21 https://code.google.com/p/googlemapaxon/source/browse/trunk/Docs/webs/google+api+tips++google+maps+api+v3+context+menu+example_files/ao7cfjproEEAn5OijXEgfdHyA_5BKye5jml3JCZ7KvU.js?r=125 01:51:05 its to prevent people from automatating signups to google accounts 01:53:10 which is prob a good reason not to figure out what it does, but it looks like a fun challenge 01:53:24 -!- ^v has quit (Ping timeout: 255 seconds). 01:54:08 I think we had better try to figure out anyways 01:55:59 Maybe Google will try to sue themself over it 01:57:55 you should :) 01:58:33 i've been reformatting it for ease of reading... http://www.thenewsh.com/~newsham/x/machine/botguard.js 01:58:54 still lots to go 01:59:20 seems like they use a few common idioms repetitively.. could prob write a program to undo some of the obfuscation 01:59:50 Why couldn't signups be automated via PhantomJS if it's an issue of figuring out what the JS does without executing it... just execute it 01:59:56 like they like to use ?: alot to do if/then/else 02:00:13 sgeo: i dont know.. i dont understand what protectionthis script actually offers 02:00:14 ProfessorGregorE: what do you do now 02:00:41 He professors at Canadians. 02:00:44 Sgeo: It doesn't matter; we should try to figure it out anyways. 02:00:51 perhaps it needs to interact with your dom in specific ways 02:00:53 canadians in canada? 02:00:59 * Sgeo suddenly suspects zzo38 is a spammer 02:01:04 zzo38, are you a spammer? 02:01:07 and you'd need the right hookins into your js interpretter to properly run them? 02:01:24 I do not think so, nor do I have any intention to have a Google account anyways. 02:01:40 No, Canadians in SPAAACE 02:02:11 when did he go to canadia 02:02:24 Facebook says "few weeks ago" 02:02:28 newsham: Then those will be some ways to work-around, but regardless, it is not the point I am trying to make at all. It doesn't matter what protection it is having; the job is to figure it out, not to use it. 02:02:41 oh i have no doubt there is a way to work around this 02:02:52 i think their goal is just to make it hard enough to figure out to work around 02:02:56 that nobody actually does it 02:03:05 pikhq: actually, commander hadfield has been earthside for a while now. are there any left in space? 02:03:09 but i'm curious how they expect to achieve that since they're trying to prevent a very lucrative operation 02:03:18 quintopia: I don't think so. 02:03:27 quintopia: No Canadians in space (actually I don't know) 02:03:28 I was being silly and stupid, not serious. 02:03:29 ie. people who can auto-gen google accounts can sell them for $25 per $1000 according t othe guy who wrote that script 02:03:59 he mentions account prices here https://moderncrypto.org/mail-archive/messaging/2014/000780.html 02:04:07 its actually a very interesting article about fighting spam 02:04:16 and how end-to-end encryption with anti spam could be very hard 02:04:34 err that should be "$25 per 1000 google accounts" 02:04:55 that's two and a half cents per account! easy money 02:04:57 If I wanted to sell Google accounts I can just as well create them manually. 02:05:03 i cant imagine how they could prevent these guys from reverse engineering this with such high financial incentives 02:05:32 Not everyone trying to reverse engineer it will have financial incentives anyways 02:05:39 oh for sure 02:05:53 i want to reverse engineer it, and i am completely against spam and people selling goog accounts 02:05:57 but its still a fun puzzle :) 02:06:06 anyway, i gotta go grab food.. cheers 02:06:14 seems like they could focus on studying user behavior and identifying spammers to kill the accounts after the fact. if they can always remove all content a given account makes, there is not much long-term damage they can do 02:06:21 i hate how black hats give every other kind of hacker a bad name. not everyone does this kinda stuff for money/ulterior motives 02:06:36 quintopia: read the email URL I pasted above. it talks all aboutn that 02:06:45 its pretty interesting 02:09:35 I think Feynman is hacker too. 02:09:43 -!- Hjulle has quit (Quit: Konversation terminated!). 02:12:14 -!- ProfessorGregorE has changed nick to ProfessorGregor. 02:15:56 -!- ^v has joined. 02:22:06 -!- CrazyM4n has quit (Quit: Leaving). 02:24:32 ProfessorGregorE: what do you do now // I'm a professor at U. Waterloo 02:25:56 newsham: good article 02:26:08 ProfessorGregor: when did you get your doctorate done 02:26:21 ProfessorGregor: wait. YOU were the guy on the stage on thursday with the insane clothes. I *knew* you looked familiar 02:26:25 congrats btw 02:26:39 i had the cape 02:28:13 quintopia: Last June. 02:28:24 coppro: ... you're a student at Waterloo? 02:28:31 huh. and when did you secure this position? 02:28:52 ProfessorGregor: Yes. Masters in C&O, finished by BMath in April 02:28:56 *my 02:29:17 i saw a tv show or something about the nude hacks where they said you shouldn't call them 'hackers', since those are the cool people in movies, they're just thieves. that was a bit interesting. 02:29:21 i guess crazyman left though. 02:29:23 quintopia: Last year. 02:29:28 coppro: combinatorics and optimization? 02:29:32 quintopia: I started on Tuesday. 02:29:34 quintopia: yes 02:29:48 ProfessorGregor: are you teaching any courses? 02:29:50 good major 02:30:02 quintopia: yeah. My thesis is on structural graph theory 02:30:21 ProfessorGregor: is this why you don't have time for us anymore 02:31:05 ProfessorGregor: on the bright side, if you have students, that's an automatic boost in the number of people available to choose your hat 02:31:33 coppro: Yes, I'll be teaching CS241. 02:31:40 ProfessorGregor: awesome! 02:31:44 quintopia: I was distracted by the move and starting the job. 02:31:47 is 241 a standard number 02:32:02 ProfessorGregor: you won the lottery then, that's probably the best first- or second-year course 02:32:20 oh wait ok you're at the same school. 02:32:30 this channel makes me live in fear that i've goatse'd one of my current professors. 02:32:50 Bike: are you also at waterloo? :P 02:32:55 Oh, don't worry. With how social norms have changed that's no worse than saying "hello". 02:32:57 you've goatsed this channel? 02:33:33 ProfessorGregor: Like I said earlier, I had a cape on Thursday. I was standing right next to the stage. 02:33:43 i mean generally the idea that one of em is internet savvy ish. 02:33:50 Hardly cape weather on Thursday, y'know. 02:33:58 err, wait 02:34:00 not thursday, wednesday 02:34:08 tie ceremony is always thursday except not any more :P 02:34:11 i haven't had a cs course in years so i'm not too worried about this channel particularly, also you're jerks so i'd just do it again doctor 02:34:12 ProfessorGregor: you won the lottery then, that's probably the best first- or second-year course // It's my field. 02:34:29 ProfessorGregor: You still won the lottery, they didn't stick you on intro to cs or something like that 02:34:29 I *do* hope you plan to tell your students about choosemyhat.com. 02:34:55 hopefully you'll get the hot tamale on ratemyprofessor. or whatever they call it. 02:35:00 coppro: I don't think tenure-track research professors teach intro to CS. 02:35:24 ProfessorGregor: probably not, but you never know 02:35:30 pikhq: I don't tell people about choosemyhat, they learn by osmosis. 02:35:37 Ah. 02:35:38 Well. 02:36:03 ProfessorGregor: don't worry, I've got you covered 02:37:29 they learn by a PR campaign on the part of coppro 02:38:09 ProfessorGregor: You should challenge them to golf the galaxy assignment really hard. I got it down to 53 characters of perl. 02:38:41 lol 02:38:43 hmm you have more hats here than i remember 02:39:03 @tell CrazyM4n public perception of hackers is pretty good https://www.youtube.com/watch?v=I1r_2vY1irQ&t=2m36s 02:39:03 Consider it noted. 02:41:57 ProfessorGregor: we should hang out. Now that I'm a grad student, it's allowed. 02:42:14 You'll have to find me first. 02:42:27 -!- CrazyM4n has joined. 02:42:31 ProfessorGregor: challenge accepted 02:47:34 Cue awesome chase scene. 02:48:11 ProfessorGregor: Are you in PLG? 02:48:29 A lighter hat seems to be in order, then 02:50:01 -!- ^v has quit (Read error: Connection reset by peer). 03:01:15 coppro: Yeah, PLG. 03:01:58 ProfessorGregor: nice! 03:09:46 -!- CrazyM4n has quit (Quit: Leaving). 03:20:26 -!- Imaginer1 has joined. 03:21:55 I need heeeeelp 03:22:00 oh jesus im headachey and this codee 03:22:23 I endorse painkillers. 03:22:46 I endorse cyanide capsules 03:25:20 making a compiler 03:25:33 im probably going about it all wrong but gasdlhj 03:35:30 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 03:41:31 -!- Sprocklem has joined. 04:41:25 Cyanide capsules for the purpose of making a compiler, do you mean? 04:43:38 Of course it is wrong... 04:44:40 can we quote that entire exchange? 04:48:41 from cyanide import * 04:56:32 this botguard thing feels like an interpretter 05:12:08 -!- CrazyM4n has joined. 05:24:12 -!- drdanmaku has joined. 05:31:17 import qualified System.AntiGravity as Magic; 05:36:02 import sufficiently.advanced.technology as magic 05:37:15 Which compilers will do library optimization, and to what amount? Macros, libraries, and instruction set differences, are a few reasons for a compiler to perform optimizations. 05:37:57 zzo38: pre-compiled libraries? 05:38:30 mroman_: It is probably difficult if the library is pre-compiled, but if the library is partially compiled then maybe it is possible. 05:38:51 (Of course it does not apply to dynamic libraries.) 05:39:31 yah you need to keep around information in the precompiled units so you can do additional optimizationd during linking 05:39:54 i'm pretty sure plan9's C compiler does some limited amount of link time optimization 05:40:53 this article talks about it a little (whole program optimization) http://en.wikipedia.org/wiki/Interprocedural_optimization 05:41:02 and google pointed to an llvm link time optimizer 06:31:42 http://www.reddit.com/r/netsec/comments/2fes55/announcing_the_underhanded_crypto_contest/ 06:32:17 -!- CrazyM4n has quit (Quit: Leaving). 06:35:04 Would untying the docks so that they float away be an effective method of making it more difficult for a ship to dock? 06:41:54 huhwhat? 07:41:44 -!- AnotherTest has joined. 07:43:33 -!- oerjan has joined. 08:24:29 -!- sebbu has quit (Ping timeout: 260 seconds). 09:08:27 -!- weissschloss has quit (Remote host closed the connection). 09:11:02 -!- weissschloss has joined. 09:16:39 [wiki] [[Fortob]] http://esolangs.org/w/index.php?diff=40400&oldid=40379 * GermanyBoy * (+184) /* Method reference, Examples/Infix expression parser */ The new %-command 09:16:46 -!- westerp has quit (Remote host closed the connection). 09:35:25 [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40401&oldid=40300 * GermanyBoy * (+149) /* Imperative code */ 09:37:12 [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40402&oldid=40401 * GermanyBoy * (+894) /* Simple declarations */ 09:43:19 [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40403&oldid=40402 * GermanyBoy * (+366) /* Standard SYCPOL formatting rules */ 09:44:36 [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40404&oldid=40403 * GermanyBoy * (+158) /* Indentation rules */ 10:10:28 -!- oerjan has quit (Quit: I think I need a nap). 10:21:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 10:25:57 -!- Phantom_Hoover has joined. 10:27:31 -!- sebbu has joined. 10:28:07 -!- sebbu has quit (Changing host). 10:28:07 -!- sebbu has joined. 11:18:05 -!- scounder has quit (Ping timeout: 260 seconds). 11:27:57 -!- scounder has joined. 11:29:21 -!- sebbu has quit (Ping timeout: 246 seconds). 11:39:55 -!- sebbu has joined. 11:40:33 -!- sebbu has quit (Changing host). 11:40:33 -!- sebbu has joined. 11:56:51 -!- shirenz has joined. 11:57:43 -!- shirenz has left. 12:02:22 -!- sebbu has quit (Ping timeout: 245 seconds). 12:30:43 -!- MoALTz_ has joined. 12:33:12 -!- MoALTz has quit (Ping timeout: 245 seconds). 12:35:05 -!- Patashu has quit (Ping timeout: 255 seconds). 12:39:24 -!- boily has joined. 13:21:52 -!- idris-bot has quit (Ping timeout: 268 seconds). 13:22:42 -!- Melvar has quit (Ping timeout: 245 seconds). 13:27:00 -!- Melvar has joined. 13:35:39 -!- idris-bot has joined. 13:37:17 -!- sebbu has joined. 13:38:04 -!- sebbu has quit (Changing host). 13:38:04 -!- sebbu has joined. 13:51:30 Stack Overflow's BF Joust hill has a terrible interpreter. :( 13:51:41 -!- sebbu has quit (Ping timeout: 272 seconds). 13:52:27 It's a Python piece of junk where ".()*2<<<<<<<<<<((((-)*5>[(-)*4.[+.]].)*10000)*1)*1" doesn't suicide on the second tick because the author doesn't know how to use stacks for parsing matching delimiters. 13:54:18 I'd be all "ha ha" with you if there hadn't been so many silly bugs in the *lance family. 13:54:34 -!- sebbu has joined. 13:54:37 -!- sebbu has quit (Changing host). 13:54:38 -!- sebbu has joined. 13:54:49 There isn't so much room for silly bugs in this one. 13:55:07 ({}) isn't implemented, only ()* (and not -1 either), and basic instructions. 13:55:17 https://github.com/redevined/brainfuck/blob/master/BrainFuckedBotsForBattling/Arena.py#L94 13:55:19 And yet you have this. 13:55:19 ;-; 13:56:09 no ({}) is sad 13:56:26 I'm kind of surprised BF Joust has independent implemetations outside of this channel, but I guess it didn't even originate here 13:57:01 although the original version wasn't very good (really huge tapes (cells in the hundreds), no +/- swapping, only had to get the flag to 0 for a single cycle I think, etc.) 13:57:19 Arena.py doesn't have polarity swapping either. 13:57:19 yep 14:02:14 -!- Echoes has joined. 14:02:15 Lymia: I like how your evolver thingy can spit out ()*2 14:02:37 Hi 14:02:49 Echelloes! 14:02:52 elliott, the "doesn't suicide when it should" isn't evolved. 14:03:09 oh, ()*2 triggers a bug? 14:03:16 Yep. 14:03:23 ...I... how does it get that one wrong? 14:03:30 The braces matching algorithm Arena.bf uses is brain damaged. 14:03:33 https://github.com/redevined/brainfuck/blob/master/BrainFuckedBotsForBattling/Arena.py#L94 14:03:34 Just go read it. 14:03:53 boily, lel 14:04:42 ...why on earth is rbraces a function there. 14:04:47 oh. 14:04:52 because braces changes. 14:04:57 what a weird way to write it. 14:07:17 so on (, scope++ and record pos <-> scope. on ), find opos <-> scope, replace with opos <-> pos, and scope--. 14:07:30 Yes. 14:07:33 is that... actually wrong? ...it's been way too long since I debugged code. 14:07:39 Problem is, the values for scopes are also valid code positions. 14:07:54 oh. 14:07:57 It shares the same table for "matched braces" and "identifiers for braces we haven't mached yet" 14:08:10 whoops. 14:08:13 .()*2<<<<<<<<<<((((-)*5>[(-)*4.[+.]].)*10000)*1)*1 < So, in this, it records 1:2 for the ()*2 14:08:36 The So it overrides the matched brace for the ()*2, causing it to escape otherwise certain death. 14:09:29 that's amazing. 14:13:28 ... oh crap 14:13:37 I'm pretty sure there's nothing here that would actually stop ([)] 14:13:58 ... 14:14:01 that's beautiful. 14:14:07 how would it even behave? 14:14:47 I have no idea 14:18:21 `bfjoust unmatched ([)] 14:18:22 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bfjoust: not found 14:18:24 ... 14:18:30 * boily fails at HackEgo 14:19:06 Wrong bot, too. 14:19:36 Did Gregor comment anything on EgoBot's absence? I think someone raised the topic when he was here-and-active recently. 14:23:13 elliott, I'll do science. 14:23:14 <3 14:23:24 Lymia: I'm scared. 14:23:50 SCIENCE FOR THE LYMIA GOD! 14:25:23 My intuition says that it'll probably result in something very useful, actually. 14:25:35 ( [ ... )*1000 ] 14:25:35 (input):1:3: error: no implicit 14:25:35 arguments allowed 14:25:35 here, expected: end of list expression, 14:25:35 expression 14:25:35 [ ... )*1000 ] ↵… 14:25:40 Will cause it to bail 14:25:46 ... idris? 14:25:49 geez 14:25:59 > putStrLn "hi bot" 14:26:01 14:26:10 ! println("Hi bot?") 14:26:16 OK, not too many bots 14:26:30 elliott, anyway 14:26:32 I'm pretty sure that 14:26:38 ( [ ... )*10000 ] 14:26:38 (input):1:3: error: no implicit 14:26:38 arguments allowed 14:26:38 here, expected: end of list expression, 14:26:38 expression 14:26:38 [ ... )*10000 ] ↵… 14:26:46 Will cause it to drop back to the initial ( at 0 tick cost 14:27:50 So, "( a [ b )*10000 ] c" would /probably/ behave like "(a[b{}c])" or something? 14:27:51 Er 14:27:59 "(a[b{}c])%-1" 14:28:05 can you use this to emulate ({})%. 14:28:10 I think so. 14:28:15 it's a feature! 14:28:26 Lymia: would the c really be inside the ] there? 14:28:28 Lymia: “( ” is the prefix for idris-bot, as insisted upon by … oerjan I think? 14:28:36 elliott, if the [ fails 14:28:41 It will jump to the ] 14:28:46 So, uhm, yeah, after. 14:28:49 -!- metasepia has joined. 14:29:27 (a{b}c)%n is meant to be read as (a)*nb(c)*n modulo matching []s, so I guess if this does... "the right thing"... with mixing ()s and []s like that, it's the same construct. 14:30:50 Now that you mention it 14:31:01 ([)*n (])*n might work directly 14:31:17 * elliott cries 14:31:53 yep 14:31:59 I'm not sure if it'd behave right though 14:32:02 The repeat system is weird 14:33:14 Lymia. look at what you're creating. 14:33:19 discovering. whatever. 14:33:22 this is a monster. 14:33:38 oh 14:33:42 That's why bots on the hill have ([) 14:33:51 It actually works here. 14:34:18 "e.g. (+)*4 is the same as ++++, this is valid for any instruction except unmatched brackets in parentheses since the loop logic collides with the abbreviation logic. Please use [-[-[- instead of ([-)*3" -- stack overflow question rule text 14:34:31 (your program makes ([-)*3 work, doofus) 14:35:23 I forget why we introduced ({})%. 14:35:34 I guess because unbalanced brackets looked a bit too macro-y. 14:36:21 Because you can evaluate them without expanding ()*? 14:36:53 I think you can just say that if you leave a ()*n with an open [, then it has to match up with ]s in the next ()*n you read? 14:37:01 you could even parse it into ({})%n form internally. 14:37:25 Yeah 14:37:33 In this, ([)*10 (]])*5 won't work 14:37:47 Since it relies on it parsing and matching () and [] separately 14:37:57 (In each mode, it ignores the other) 14:38:53 oh, right, the point of ()%n is to stop you doing (a)*mb(c)*n for m =/= n I guess 14:39:13 -!- Echoes has quit (Remote host closed the connection). 14:39:39 So. 14:39:48 I can't trust that the abberviation logic here does exactly the right thing 14:40:00 But ([) (]) might just be equilvlant to ({})% in this 14:40:10 Of course, that doesn't help the fact that it's still terribly written Python that's slow as crap. 14:40:22 It takes, like, 20-40 minutes to run what gearlance can do in <10 14:40:33 .. and it only does 10 random tape lengths, not the full 21 like gearlance. 14:43:12 it would be cool to have an implementation that somehow does all the tape lengths at once, keeping track of the possible states and consolidating states where things are "the same" 14:43:16 I wonder how much faster that'd actually be 14:48:44 probably not much unless you did fancy stuff with representing patterns in the middle of the tape 14:51:43 Might be worth something with AVX? 14:52:51 that sounds exciting. 14:53:10 unfortunately BF Joust is probably not slow enough to actually reward ridiculous optimisation tricks. 14:55:01 I've been meaning to write an interpreter that runs many programs in parallel (so, 1 step in 100 programs, rather than 100 steps in 1 program) 14:55:15 But it's not for speed. In fact, for it to do what I want to use it for, it has to use immutable data structures. 14:55:30 I'm intrigued 14:56:29 A search program with heavy use of heuristics. You put in a hill, you get a program with an 100% win rate versus that hill out. 14:57:21 I wonder how good programs selected for that actually perform against new challengers 14:58:12 Well, I thought I'd add a second hill as input 14:58:26 The second hill isn't targeted. It's used as a representive sample of "bots not in the target hill" 14:58:36 So if it has spare cycles, it can try to detect them and switch to a generalist program 14:59:57 * elliott nod 15:06:18 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 15:09:24 -!- boily has quit (Quit: SUPERSYMMETRIC CHICKEN). 15:09:25 -!- metasepia has quit (Remote host closed the connection). 15:24:04 -!- variable has quit (Ping timeout: 252 seconds). 15:35:59 -!- ^v has joined. 15:39:23 elliott, a construct I hope works 15:39:42 [.... [ .... [ .... (]]])*0 15:40:00 Implications are obvious. :P 15:40:12 -!- nisstyre has quit (Quit: WeeChat 1.0). 15:40:29 -!- nisstyre has joined. 15:42:07 Lymia: hee, to do an if? 15:42:23 Yep 15:42:28 Or jump out of a wiggle clear at 0 tick cost 15:42:51 I currently do it with codegen and scary code size inflation. 15:43:14 -!- nisstyre has quit (Client Quit). 15:43:26 -!- nisstyre has joined. 15:44:30 -!- nisstyre has quit (Client Quit). 15:45:04 it's kind of sad how much you can do in BF Joust just by making your code huge 15:45:48 -!- nisstyre has joined. 15:45:59 -!- nisstyre has quit (Client Quit). 15:46:10 -!- nisstyre has joined. 15:50:05 right, since you can put virtually all your state into the program pointer. 15:50:12 http://paste.strictfp.com/40827/f01d17a908fddc15b00cdd19da3712da 15:50:50 Huge wiggle clear followed by a reverse offset clear. Beats 93% of the hill it's targeted at. :P 15:58:08 -!- Imaginer1 has joined. 16:06:03 -!- drdanmaku has joined. 16:12:27 I'd expect (>)*8++<--<+<--<(+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*8(>[(-[)*3(+)*3(+[)*3(-)*6(-[)*10(+)*16(+[)*8(-)*24(-[)*17(+)*41(+[)*21(+)*82[[+.].]((])*21(])*17(])*8(])*10(])*3(])*3])*0--)*21 to be correct 16:12:33 But it behaves a lot differently for some reason 16:16:06 Hmm. 16:16:07 ><([)*8((])*8)*0><< 16:16:09 Behaves as expected 16:18:35 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:20:29 -!- not^v has joined. 16:23:37 -!- ^v has quit (Ping timeout: 245 seconds). 16:34:30 -!- Hjulle has joined. 16:37:42 -!- not^v has quit (Ping timeout: 246 seconds). 16:37:53 Lymia: have you run into accidental bugs from the weird bracket matching? 16:37:57 those sound... fun... to debug. 16:40:34 -!- ^v has joined. 17:06:12 hi Lymia 17:33:37 -!- TieSoul_ has joined. 17:34:20 -!- TieSoul has quit (Read error: Connection reset by peer). 17:36:44 -!- Phantom_Hoover has joined. 17:40:52 -!- TieSoul_ has quit (Read error: Connection reset by peer). 17:41:39 -!- TieSoul has joined. 17:58:51 -!- ^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 18:21:14 Lol, someone actually answered that EOF should produce fatal error. That seems extremly useful. 18:33:32 -!- Hjulle has quit (Quit: Konversation terminated!). 18:35:10 -!- ^v has joined. 18:38:22 [wiki] [[Alphuck]] N http://esolangs.org/w/index.php?oldid=40405 * 68.189.222.97 * (+1058) Created page with "'''Alphuck''' is a [[Joke language list | joke]] [[esoteric programming language]]. It is identical to [[Brainfuck]], except that alphabetic characters are used; i.e. it is a ..." 18:38:46 [wiki] [[Alphuck]] http://esolangs.org/w/index.php?diff=40406&oldid=40405 * 68.189.222.97 * (-1) 18:46:15 -!- copumpkin has quit. 18:47:28 -!- copumpkin has joined. 18:56:43 -!- ^v has quit (Ping timeout: 272 seconds). 19:11:59 -!- yorick has quit (Read error: Connection reset by peer). 19:12:38 -!- yorick has joined. 19:13:47 -!- qlkzy has quit (Ping timeout: 252 seconds). 19:15:09 -!- ^v has joined. 19:16:46 -!- AnotherTest has quit (*.net *.split). 19:16:47 -!- TodPunk has quit (*.net *.split). 19:22:39 -!- TodPunk has joined. 19:23:57 -!- ^v has quit (Ping timeout: 272 seconds). 19:25:13 -!- qlkzy has joined. 19:29:17 -!- AnotherTest has joined. 19:36:42 -!- AnotherTest has quit (Ping timeout: 252 seconds). 19:43:18 -!- ais523 has joined. 19:46:45 -!- NeroReflex has joined. 19:46:59 hi 19:48:26 hi 19:52:52 -!- Frooxius has joined. 19:53:11 -!- NeroReflex has quit (Read error: Connection reset by peer). 19:56:16 I managed to knock out five opponent's Pokemon cards at once now. 19:56:31 (And this game is being played with only four side cards.) 19:56:32 zzo38: it's possible to knock out six with a move like Explosion, isn't it? 19:56:45 Yes, it is, but that isn't the move I used 19:57:23 (Not only was it five, but those were all the cards they had in play, too.) 19:59:43 -!- FreeFull has quit. 19:59:57 -!- callforjudgement has joined. 20:00:06 -!- ais523 has quit. 20:00:16 -!- callforjudgement has changed nick to ais523. 20:03:02 -!- ais523 has quit (Read error: Connection reset by peer). 20:03:12 -!- ais523 has joined. 20:10:19 With some attacks in the game of Pokemon card, it is possible to knock out all twelve cards (six for each player). 20:39:02 -!- CrazyM4n has joined. 20:57:58 zzo38: that forces the game to end in a draw, right? 21:04:10 Should I try the online Pokemon TCG? 21:04:16 Last time I think I struggled with the UI 21:06:59 -!- FreeFull has joined. 21:10:34 I think the online Pokemon TCG not very good 21:10:45 ais523: I believe so. 21:13:52 Try if you want to though 21:25:51 alphuck is pretty lame 21:26:48 -!- Frooxius has quit (Ping timeout: 246 seconds). 21:30:37 -!- Frooxius has joined. 21:41:19 -!- callforjudgement has joined. 21:42:35 -!- ais523 has quit (Disconnected by services). 21:42:38 -!- callforjudgement has changed nick to ais523. 22:02:40 -!- ais523 has quit (Read error: Connection reset by peer). 22:02:57 -!- ais523 has joined. 22:04:54 -!- augur has quit (Remote host closed the connection). 22:13:05 oh wow, anyone tried going to Twitter's home page with JavaScript turned off? it's hilarious 22:16:50 uh, for me it just gives a message saying to turn on javascript 22:17:04 CrazyM4n: for me, it gives a link to follow if you don't have JavaScript 22:17:13 if I follow it, it takes me to another page 22:17:25 ah, i didn´t follow that link 22:17:25 http://prntscr.com/4kd0o8 22:17:27 telling me that JavaScript's off, and giving a /different/ link to follow if I don't have JavaScript 22:17:29 that redirects back to itself 22:18:40 oh, i see 22:18:44 that´s pretty funny 22:19:32 -!- callforjudgement has joined. 22:19:34 [23:17] telling me that JavaScript's off, and giving a /different/ link to follow if I don't have JavaScript 22:19:36 [23:17] that redirects back to itself 22:19:37 -!- callforjudgement has quit (Changing host). 22:19:38 -!- callforjudgement has joined. 22:19:39 -!- ais523 has quit (Disconnected by services). 22:19:41 -!- callforjudgement has changed nick to ais523. 22:20:14 We saw that. (Also, noisy late cloak.) 22:20:51 fizzie: this connection often breaks in such a way that it can send but not receive, or vice versa 22:21:22 I think, at least 22:22:01 It's kind of curious that the "nickserv account info in server password" can occasionally fail to act on time, but (as far as I know) both SASL and TLS certificate-fingerprint auth are guaranteed to. 22:22:18 I'm sure there's some reason embedded in the ircd they're using. 22:22:40 Er, guaranteed to work, not guaranteed to fail. 22:23:13 fizzie: the server password just does a /msg to nickserv once you connect 22:27:09 That's a reasonable reason for it to sporadically fail, sure, but it's not immediately obvious why it'd be any different from SASL. I mean, it's the same server, you're just doing an AUTHENTICATE command instead of a PASS. 22:27:57 -!- Patashu has joined. 22:28:02 There may be other Twitter clients so you could use that if you aren't using JavaScript. 22:29:44 reasonable reasons 22:31:28 -!- Patashu has quit (Remote host closed the connection). 22:32:23 -!- Patashu has joined. 22:47:48 -!- TodPunk has quit (Read error: Connection reset by peer). 22:48:14 -!- TodPunk has joined. 22:52:50 -!- impomatic_ has joined. 22:58:31 -!- Patashu has quit (Remote host closed the connection). 22:59:37 -!- Patashu has joined. 23:01:19 tabemann_: So, how the function application would be if its time signature was ((a -> a) -> a)) -> a -> a -> a? 23:01:27 imo make an esolang where functions have time signatures 23:03:04 Music can have time signatures. 23:03:17 yes 23:03:40 I didn't know functions can have time signatures too. 23:03:57 Fugue programs can have time signatures, I believe. 23:04:06 They don't have any meaning to the program, though. 23:04:38 (It's just a consequence of accepting MIDI files as input, and ignoring some stuff.) 23:07:43 (This has a reasonable likelihood of being true for Velato also.) 23:10:03 [wiki] [[Talk:Alphuck]] N http://esolangs.org/w/index.php?oldid=40407 * Rdebath * (+1460) /* The least you can do is make it mnemonic */ new section 23:11:32 -!- callforjudgement has joined. 23:13:34 -!- oerjan has joined. 23:14:33 -!- ais523 has quit (Ping timeout: 255 seconds). 23:14:46 sometimes you think you need a nap and end up sleeping for 6 hours 23:14:52 -!- callforjudgement has changed nick to ais523. 23:16:29 [wiki] [[User:Rdebath]] http://esolangs.org/w/index.php?diff=40408&oldid=40350 * Rdebath * (+19133) /* Performance Matrix */ 23:18:23 [wiki] [[User:Rdebath]] http://esolangs.org/w/index.php?diff=40409&oldid=40408 * Rdebath * (+108) /* Info */ 23:24:06 What's Zombie8 mean in the bitwidth column? 23:24:08 Is it worth some inefficiency in order to not attempt to encode Applicatives into a dynamically typed language? 23:27:22 s/6/24/ 23:30:05 Sgeo: what part of applicatives is hard? 23:30:27 i just had the thought, maybe you can do with only Apply (i.e. leaving out pure) 23:31:18 then you get Traversable1s 23:32:38 class Functor f => Applicative f where applicative :: HList (Map f ts) -> f (HList ts) 23:32:43 It seems like this definition of Traversables matches the typical Functor-based lenses... yet people like pure profunctor lenses for some reason. I'm not sure what that reason is, but could it apply to traversals too? 23:32:52 is this some sort of higher-order natural transformation or something? 23:34:03 shachaf: it looks like a generic liftTuple 23:34:15 oh wait 23:34:24 oerjan: did you see the code turning my encoding into a traverse function? 23:34:30 that Map f is weird 23:34:37 http://lpaste.net/110585 23:34:39 oerjan: How would you write it? 23:35:12 shachaf: i don't think that implies the existence of pure does it 23:35:29 It gives you () -> f () 23:35:42 You can fmap (const x) over the f () 23:35:51 oh hm right 23:36:31 but what is Map f ts? 23:36:47 Type-level map of some sort. 23:36:53 oh i see 23:37:14 There are presumably other ways to write it. 23:37:17 i'm not yet used to the new way of using datakinds for HList 23:37:24 It's the equivalent of mconcat for Applicative. 23:37:57 The new way is great. 23:38:27 shachaf: of course then you need a law that says that applicative is associative in the same way as mconcat 23:38:45 Sure, you need laws either way. 23:39:28 however, your applicative seems like an extension of the liftPair / pure basis which zzo38 likes iirc 23:39:54 well i guess not pure per se but pure () 23:40:04 There's unit :: f (), times :: f a -> f b -> f (a,b) 23:40:15 Or :: (f a,f b) -> f (a,b), if you prefer. 23:40:24 That was the original formulation, I think. 23:41:00 -!- augur has joined. 23:41:59 No one likes pure/(<*>) except for people who are actually using it. 23:42:10 yes, category theory likes products better than currying 23:42:15 I prefer pure/liftA2 or unit/times 23:42:30 Well, in categories in general they're also not equivalent. 23:42:46 I happen to like pure/liftPair 23:42:53 i like <$> <*> because that's what i actually use 23:43:07 Yep. 23:43:11 pure is only occasionally needed 23:43:27 I'm partial to "let ($) = fmap in" 23:43:36 Although I find <$> and <*> and liftPair and <$ all to be useful; I just happen to prefer pure/liftPair as the basis 23:43:38 heh 23:44:00 pure seems p. common 23:44:55 pikhq: if only that overloaded application 23:45:00 Any one could be used as the basis and define the rest based on that; the derived stuff will be useful regardless 23:48:04 why is hint in that lpaste suggesting head, it should be suggesting pattern matching 23:48:11 *hlint 23:48:53 which would also get rid of the !! 1 23:48:54 oerjan: if you used your head you'd surely think to use pattern matching 23:49:13 shachaf: you've got a point there, which i shall promptly swat -----### 23:53:28 Did Gregor comment anything on EgoBot's absence? I think someone raised the topic when he was here-and-active recently. <-- he made the comment "That's because he's gone", which in context could refer to either him or the bot, and i was afraid of asking. 23:54:14 he also suspiciously ignored the issue the _previous_ time he was active, too 23:54:41 although that may have been just because he had so many other broken things to fix 23:56:18 oerjan: why do people like shachaf lenses over van Laarhoven lenses? 23:56:52 he has sort of hinted before that he wants HackEgo to take over, it's just that even the stuff that _has_ been transferred hasn't been made to work properly. 23:57:11 and i'm not sure whether that includes bfjoust 23:57:18 `ls interps 23:57:19 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 23:57:26 hm it seems to be there 23:57:31 `ls interps/bfjoust 23:57:32 bfjoust \ bfjoust.pl \ buffer.h \ egojoust.c \ gearlance \ gearlance.c \ gearlance.o \ helpers.h \ Makefile \ programs \ report \ report.c \ report.o 23:57:51 `interp bfjoust < 23:57:52 ​/hackenv/bin/interp: 4: exec: ibin/bfjoust: not found 23:58:02 but not the infrastructure to call it 23:58:36 `interp unlambda `.i`.hi 23:58:37 hi 23:59:09 i don't quite remember if that has been fixed up to work or if it just straight out did 23:59:32 `ls interp/ghc 23:59:32 ls: cannot access interp/ghc: No such file or directory 23:59:38 `ls interps/ghc 23:59:38 runghc 23:59:57 i think that's just referring to the main install, which doesn't exist on HackEgo after some move 2014-09-07: 00:01:05 `interp glass {M[m(_o)O!"Hello World!"(_o)o.?]} 00:01:07 Hello World! 00:01:17 it seems like the simple interpreters are working 00:01:57 Can I consider an Applicative to basically be a function `lift` that lifts a function of any arguments to a stream of arguments in an... um, applicative 00:02:04 *in the same applicative 00:02:31 Applicative is liftN 00:04:59 (~~>) :: [*] -> * -> *; [] ~~> r = r; (t:ts) ~~> r = t -> (ts ~~> r); liftN :: (ts ~~> r) -> (map f ts ~~> r) 00:04:59 * oerjan is still not quite sure what Sgeo means by using streams. 00:05:18 (map f ts ~~> f r), rather 00:05:23 I mean Racket streams, which are approximately heterogenous lazy lists 00:05:32 this is just an ugleir form of the HList thing. 00:05:36 *uglier 00:05:37 Not quite, since I think you can't traverse the spine wiithout forcing the contents 00:07:17 i understand what you mean by streams, i just have no idea how they fit into applicative 00:08:53 traverse would be a really nice definition of Applicative if you could define Traversable in some nice way without Applicative. 00:09:10 elliott: I thought I did that >.> 00:09:18 Or something like that 00:09:59 Actually, no.... my function to extract a traverse out of my encoding knows what an Applicative is, even if the traversal-like thing itself doesn't 00:11:02 data Fn a = Ret a | a :~> Fn a deriving Functor; i :: Fn * -> *; i (Ret r) = r; i (t :~> fn) = t -> i fn; liftN :: i fn -> i (fmap f fn) 00:12:14 How would you use traverse to define Applicative? 00:12:27 by defining Traversable without Applicative and then putting traverse in Applicative 00:13:24 class ??? (t :: k -> *) where { type MapArg t :: (* -> *) -> k -> k; ... }; class Functor f => Applicative f { where liftN :: ??? t => t x -> t (MapArg t f x) } 00:14:47 data family Fn :: ([*], *) -> *; data instance Fn '('[], r) = FnRet r; data instance Fn '((t ': ts), r) = FnArg (t -> Fn '(ts, r)) 00:15:26 instance ??? Fn where type instance MapArg f '(ts, r) = '(Map f ts, f r); ... 00:16:31 i think we are approaching the schwarzschild radius of type level programming 00:17:03 ??? is some kinda weird type functor thing. 00:17:33 well, this isn't actually interesting <_< 00:17:44 ooh 00:19:16 oerjan gets interested right as I admit I'm not. 00:19:39 you're good at reverse psychology? 00:19:50 ('s ok i'm not really interested) 00:22:49 <-- technically that _would_ be sane (and equivalent to ({})*n) if it was required that a ()*n which contains unmatched brackets must match precisely with another ()*n (same n) 00:22:52 oops 00:22:57 ([)*n (])*n might work directly <-- technically that _would_ be sane (and equivalent to ({})*n) if it was required that a ()*n which contains unmatched brackets must match precisely with another ()*n (same n) 00:23:21 No such requirement 00:23:30 It's a plain bug in this implementation 00:23:35 well naturally not in the broken impl. 00:23:45 but i'm saying it could be done. 00:24:36 can (a)*m b (c)*n for m =/= n be efficiently implemented? 00:24:48 it doesn't seem inherently impossible to do it without expanding fully 00:24:53 i think i recall pondering that 00:25:46 i think you can expand cleverly to avoid blowup in many case, but _possibly_ there are cases where you cannot avoid exponential expansion 00:25:46 -!- Patashu_ has joined. 00:25:46 -!- Patashu has quit (Disconnected by services). 00:25:50 *+s 00:27:20 how would you go along renaming a wiki page? 00:27:25 and you'd need some good modulo arithmetic 00:27:48 CrazyM4n: you can Move it, and if you wish, the admins can delete the old one if it's unnecessary 00:28:44 it's in the down arrow dropdown menu 00:28:48 [wiki] [[Special:Log/move]] move * CrazyM4n * moved [[Brainfunge]] to [[Simplefunge]]: Brainfunge was kind of a terrible name and already taken 00:29:07 got it, thanks 00:29:34 can you, uh, rename a github repo also? 00:29:45 oh i have no idea how you do that. 00:29:53 * oerjan doesn't do git 00:30:33 I think I'll just use my multilens encoding but keep the name multilens and not traversal, in case I change my mind 00:30:34 whether you want to delete the old page might depend on whether you've linked to it otherwise 00:30:43 just on the esolang wiki 00:30:59 i think i saw you post in /r/haskell? but i guess that didn't link to the wiki. 00:30:59 you can rename github repos yes 00:31:14 [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=40412&oldid=40410 * CrazyM4n * (-58) Renamed language 00:31:25 oh yeah, I did post that 00:31:33 shall i delete the old wiki page? 00:31:35 but it´s so buried that it shouldn´t matter 00:31:38 and yes please 00:31:59 now if the wiki weren't molasses 00:32:10 haha 00:32:52 [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[Brainfunge]]": Author request: content was: "#REDIRECT [[Simplefunge]]" (and the only contributor was "[[Special:Contributions/CrazyM4n|CrazyM4n]]") 00:34:54 other than just manually moving it, eliott: how would i rename the github repo then? 00:35:03 -!- Phantom_Hoover has quit (Quit: Leaving). 00:35:21 please spel names corectly twh 00:35:30 my bad 00:35:50 elliott: how would I go along renaming the github repo then? 00:35:58 it's in the repo admin somewhere. 00:36:04 click around and you'll find it 00:36:27 -!- Phantom_Hoover has joined. 00:36:28 never mind, I just remembered that google is a thing 00:36:36 got it 00:39:16 once again i find my bfjoust comments have already been anticipated in the logs. 00:39:29 [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=40413&oldid=40412 * CrazyM4n * (+1) 00:40:28 Even if the moved-to-HackEgo bfjoust thing worked, it wouldn't affect the actual scorecards and such on codu.org. 00:40:42 right, but i 00:40:45 argh 00:41:04 t should be possible to transfer those too and use the repository browser 00:41:31 would be more vulnerable to someone breaking it, of course 00:42:38 Technically speaking, it would be possible for me to set it up on e.g. esolangs.org/bfjoust/ or some-such and have HackEgo feed it stuff, since they're the same machine. But that's perhaps going a bit above my mandate of wiki maintenance. 00:43:02 (And anyway it'd involve some work.) 00:49:56 -!- augur has quit (Remote host closed the connection). 00:52:00 oh hm wait 00:53:34 hm _is_ (a)*n b (c)*n equivalent to (a { b } c)%n if implemented simply by jumping between matching brackets and keeping loop count in each ()*n ? 00:53:57 (rather than full expansion, which is clearly equivalent) 00:54:32 because i'd suspect the "buggy" impl. to be closer to the former. 00:55:56 i suspect it isn't, because in the algorithm i developed they shared a counter and the c part _decrements_ instead of increments. 00:56:41 but maybe it accidentally works... 00:57:41 hm dubious 00:59:42 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:01:00 ( ... [ ... )*n ... ( ... ] ... )*n let's say the cell checked is 1 on first try, 0 on second and third, then both counters will be 1 when it's supposed to leave 01:01:00 (input):1:1: error: no implicit 01:01:00 arguments allowed 01:01:00 here, expected: ":", 01:01:00 dependent type signature, 01:01:00 end of input↵… 01:01:07 ...darn :P 01:01:31 POSSIBLY NOT MY BEST IDEA 01:03:14 oerjan: pretty much all the bots have been accidentally triggered at one time or another 01:04:30 -!- augur has joined. 01:05:08 @tell Lymia It is possible that (a)*n b (b)*n is not always equivalent to (a{b}c)%n if the loop counters for the two parts are separate. 01:05:09 Consider it noted. 01:05:35 @tell Lymia Or, in oerjan's example, if b != c. 01:05:35 Consider it noted. 01:05:45 OKAY 01:05:47 fizzie: that was evil :-) 01:06:28 I'm aware. :P 01:06:50 ah 01:06:55 The behavior in the interperter I'm working with is plain weird. 01:07:09 (a[b)*10c] is also accepted 01:07:13 And [a(])*0 01:08:02 < Sgeo> Can I consider an Applicative to basically be a function `lift` that lifts a function of any arguments to a stream of arguments in an... um, applicative – I have written such a function in Idris, using an Applicative constraint, and then of course one can recover the zero- and one-arg forms. 01:08:08 sounds like the interpreter is so weird it's an esolang of its own 01:08:42 -!- augur has quit (Remote host closed the connection). 01:09:05 Lymia: although my comment wasn't specifically targeted at that interpreter (which i haven't looked at), but at the idea of treating unmatched [] in ()*n simply by jumping to the matching one 01:10:22 it is becoming clear that ()*n loops sharing matched [] need to share counters too, and adjust them in different directions 01:10:49 Assuming the cell is always true, I guess (a[b)*4c] translates to ababababcababababc... 01:11:18 Lymia: does it even attempt to check balancedness at all? 01:11:22 elliott, yes. 01:11:26 aw. 01:11:27 It matches [] and () separately 01:11:30 Leading to "fun" behavior. 01:11:59 the most fun: (a{b)%m c (d}e)%n 01:12:13 don't ask me. I don't know. 01:12:14 Luckily there is no ({}) support. 01:12:14 :D 01:14:52 ideally () and {} would be defined entirely independently of each other. just to let you do more confusing things. 01:15:07 The description does say it's only "inspired by" BF Joust. 01:16:14 Oh, the cycle limit is also only one tenth of that of the "real thing". I was wondering why the performance difference was so moderate. 01:16:39 Excepting obvious bugs (the behavior here is contradicatry to what they state in the OP!), it's pretty much BF Joust without the flipped configuration. 01:20:04 Lymia: Looking at Arena.py, I think it also doesn't implement the rule that the "second" program's [] instructions look at the original value of the tape cell, even if the "first" program did + or - on it. 01:20:17 yep~ 01:20:39 I don't think that's common enough to be a major difference? 01:21:00 it's relevant for shuddery type things, isn't it...? 01:21:07 locky things. I forget the terminology >_> 01:22:57 I don't know how much it matters, but it's not very elegant to not be commutative. (Then again, if it doesn't run the full set of tape lengths either.) 01:23:38 you could be non-commutative _and_ check both orders, i guess 01:25:22 Whoops, something like 4:30am with visitors tomorrow. -> 01:27:44 -!- doesthiswork has joined. 01:28:43 have you folk heard of pattern calculus? http://www.pps.univ-paris-diderot.fr/~kesner/papers/purepattern.ps 01:29:02 Lymia: does it parse []s in a more reasonable way than ()s? 01:29:13 That code parsers both []s and ()s 01:30:54 -!- ais523 has quit (Read error: Connection reset by peer). 01:31:08 -!- ais523 has joined. 01:31:11 ...so can you do weird things with loops like you can with the ()*2? 01:32:54 perhaps each of the parsings are correct separately, and you only get weird things when you _combine_ ()* and [] 01:32:57 -!- augur has joined. 01:33:23 oerjan: I mean the thing where it overloads hash values while parsing for both "code position" and "scope depth". 01:33:28 so you can do. 01:33:30 weird things. 01:34:08 okay 01:34:32 oerjan: https://github.com/redevined/brainfuck/blob/master/BrainFuckedBotsForBattling/Arena.py#L94 01:35:26 -!- lambdabot has quit (Remote host closed the connection). 01:35:52 Is there likely to be any ... harm if I go ahead and use my encoding for now? 01:38:44 -!- ais523 has quit. 01:38:51 -!- ais523 has joined. 01:39:42 -!- lambdabot has joined. 01:49:24 is there any difference between using rbraces()[scope] there and braces[scope] at all? 01:49:49 oerjan: it's reverse lookup 01:49:51 (value to key) 01:49:56 oh 01:50:01 (the logs have a spoiler as to the problem) 01:50:51 i assume a collision might be possible. if so, will the last colliding pair be used? 01:51:23 hm wait this is hashed right 01:51:30 so you cannot assume anything about order 01:51:48 (i'm sure i read the spoiler already) 01:52:02 it's just like a haskell Map 01:52:10 hm? 01:52:19 elliott, you can probably 01:52:24 But that's harder to control 01:52:27 And [] takes ticks unlike () 01:52:36 a haskell Map gives the listing in order by keys, but does python dicts do that? 01:52:41 *do 01:53:00 oerjan, I'm p. sure the hash is i%bucketSize 01:53:37 Apparently zip(map.values(), map.keys()) is actually legit. 01:53:38 Lymia: um that's too low level to answer my question without hurting my brain 01:53:55 oerjan, the order is predictable, but very non-intuitive. 01:54:17 .()*2<<<<<<<<<<((((-)*5>[(-)*4.[+.]].)*10000)*1)*1 01:54:22 ()*2 makes an entry 1:2 01:54:30 -!- callforjudgement has joined. 01:54:37 -!- callforjudgement has quit (Changing host). 01:54:37 -!- callforjudgement has joined. 01:54:40 The second ( in the second part makes an entry 16:2 01:54:48 Obvious results occur. 01:55:02 right. so what i'm implying is, we can assume no sensible behavior in which (value, key) pair ends up in rbraces() if there is a collusion of values? 01:55:04 (since 16 ends up in bucket 0, and 1 in 1 apparently) 01:55:11 No sensible behavior, nope 01:55:22 *collision :P 01:55:22 -!- augur has quit (Read error: Connection reset by peer). 01:56:25 -!- augur has joined. 01:57:34 are you going to make a bfjoust bot or something? 01:57:42 -!- ais523 has quit (Ping timeout: 246 seconds). 01:57:47 CrazyM4n: we already had one, in theory 01:57:55 I'm disappointed 01:58:00 because preparation beat every other warrior 01:58:01 but Lymia found another one someone made, which is horribly buggy 01:58:04 yet didn't come top of the hill 01:58:22 oerjan: wait, someone made a BF Joust bot who isn't a regular in this channel? 01:58:33 There's a BF Joust hill on Stack Overflow 01:58:49 link? 01:58:51 A fairly trivial program I just submitted gets a 93% win rate ove rit. 01:58:53 because preparation beat every other warrior 01:59:01 "beat"? 01:59:09 42:0 or what? 01:59:11 Lymia: won on over 50% of tape lengths and polarities 01:59:18 http://codegolf.stackexchange.com/questions/36645/brainfedbotsforbattling-a-brainf-tournament 01:59:23 most of the wins were quite slow, because preparation uses a probabilistic lock algorithm 01:59:41 meaning that it's almost guaranteed to win on some proportion of tape lengths and lose on others 02:00:25 ... well, you know. 02:00:30 The rules here only say it has to be your own code. 02:00:39 Right? 02:01:15 ? 02:01:37 callforjudgement: this seems somehow similar to how tit-for-tat never loses big in any PD game yet doesn't always win tournaments 02:01:38 oh, 10000 cycle limit on that hill 02:01:40 that isn't enough 02:02:07 There's an extra rule that seems to "make up" for the cycle limit 02:02:25 -!- augur has quit (Remote host closed the connection). 02:02:28 If the opponent flag is "smaller" than yours, you win. 02:02:34 (When the cycle limit is reached) 02:02:36 well, not really 02:02:44 that completely misunderstands defence programs and counter-turtles and so on 02:03:17 are there any turtles on that hill yet? 02:03:28 A few attempts at it 02:03:30 They don't do well 02:03:34 if not, you should be able to get a very good score with one (although that highly upvoted vibration program would beat it) 02:03:36 perhaps not so much "misunderstands", as makes it a completely different game 02:03:41 Or, well. 02:03:44 What's a turtle? 02:04:09 Oh, careless clear? 02:04:20 yes 02:04:43 oerjan: well, it's more that "doing well on the tiebreak" and "doing well on the rest of the game" aren't very correlated 02:05:21 The tiebreak earns my bot, like, 10 wins. 02:05:33 So, it's not insignificant. 02:05:43 But, you still need a normal clear 02:05:48 Or you lose by falling off the tape. 02:06:35 well the idea of a turtle is that you win before the point where you fall off 02:08:39 -!- scarf has joined. 02:08:43 [03:07] Lymia: huh, you won with an evolved prograM? 02:08:44 [03:08] I'm not sure whether to be impressed at the evolver, or horrified at how bad the programs there are 02:09:06 Horrified at how bad the programs are. 02:09:12 Look at the analysis of that evolved program 02:09:38 (-)*5(>.(-)*7)*3(>[(-)*8[.+]](-)*2)*-1 < Reduces to this basically 02:09:50 ooh, someone submitted a defence program 02:10:07 even if it has one of the worst tripwire setups ever 02:10:18 Yanderebot? 02:10:31 Polar bear 02:11:14 Is this.... a careless clear? 02:11:32 -!- callforjudgement has quit (Ping timeout: 245 seconds). 02:11:33 Oh, yep 02:13:45 scarf, Yeah, uh 02:13:51 My bot screws this over in 19 cycles 02:14:02 (-)*19 02:18:00 -!- scarf has quit (Read error: Connection reset by peer). 02:18:14 -!- scarf has joined. 02:22:25 -!- Bicyclidine has joined. 02:29:11 -!- Male has joined. 02:29:32 -!- scarf has changed nick to ais523. 02:29:52 -!- Male has quit (Client Quit). 02:34:47 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 02:43:19 Lymia: where is the hill posted 02:48:20 http://codegolf.stackexchange.com/questions/36645/brainfedbotsforbattling-a-brainf-tournament 03:12:40 -!- variable has joined. 03:34:37 -!- doesthiswork has quit (Quit: Leaving.). 03:40:51 so I don´t understand 03:41:00 in the brainbots tournament 03:41:40 what´s stopping you from just doing ¨(>[-])*100¨ 03:45:06 well in bfjoust, you can defend by putting some "traps" in between 03:45:28 which slows down that strategy enough that you may get to their flag first 03:45:59 -!- variable has quit (Ping timeout: 276 seconds). 03:47:00 * oerjan doesn't at the spot recall what the traps are actually called in bfjoust terminology 03:47:53 decoys 03:48:00 right 03:48:08 CrazyM4n: you can do that, it's known as a fast rush program 03:48:20 it'll fall to a program that does >-(>[-])*100, though 03:48:26 the very basics of BF Joust strategy is understanding why 03:52:02 :/ 03:54:12 hm well given that the other hill is working _somewhat_ different than bfjoust and iirc never reverses +- polarity, i can see one way that could fail: if cells don't wraparound and decrementing 0 is a loss. 03:54:43 a decoy wouldn't be _nearly_ as effective if you couldn't do that 03:55:20 * oerjan has no idea if the brainbots game would do that, mind you 03:57:55 CrazyM4n: the basic idea is that with wrapping 8-bit cells, if a cell is -1 or +1 but you don't know which, then you waste 127 steps or thereabouts if your [-] clearing goes the wrong way 03:58:14 you can me more clever, but then the defender can be too 04:11:54 -!- tromp has joined. 04:13:57 -!- tromp__ has quit (Ping timeout: 245 seconds). 04:24:26 -!- augur has joined. 04:25:05 oerjan: cells do wrap on the other hill 04:26:18 ok 04:27:11 mind you a decoy could _still_ work somewhat because a -] is slower than a + 04:28:09 oerjan: indeed, setting decoys is faster than clearing them even if the opponent knows which polarity you're using 04:28:37 in decrementing-0-is-death BF Joust, vibration seems like a pretty powerful strategy 04:28:57 if you can decrement your flag from 1 to 0 at the same time the opponent does 04:28:59 then, umm 04:29:01 you both lose? 04:29:21 heh 04:29:22 vibration? 04:29:47 i understand the brainbot game doesn't have simultaneous moves though 04:30:08 coppro: changing your flag between 0 and 1 rapidly 04:30:20 oerjan: it says it does from the description, but it may be lying 04:30:22 don't you lose, then? 04:30:29 has to be 0 for two cycles to lose 04:30:33 and many programs just move on if they see a 0 04:30:38 oh right 04:30:39 so you have a 50% chance of beating those programs 04:30:45 it's pretty easy to counter if you know what you're doing, though 04:30:55 i think it was said 1 cycle in brainbots 04:31:25 vibration programs have topped the hill (anticipation2), but that only works if people aren't paying attention to them 04:41:11 -!- CrazyM4n has quit (Quit: Leaving). 04:51:23 -!- ais523 has quit (Read error: Connection reset by peer). 04:51:38 -!- ais523 has joined. 04:53:58 -!- callforjudgement has joined. 04:53:59 -!- ais523 has quit (Disconnected by services). 04:54:03 -!- callforjudgement has changed nick to ais523. 05:09:21 > join [[1,2],[3,4,5],[6]] 05:09:22 [1,2,3,4,5,6] 05:12:44 I'm wrong, you can traverse the spine of a Racket stream without forcing each element 05:13:26 Sgeo: why the sudden interest in Racket? 05:14:10 I think because I got a sudden interest in Haskell and then lens reminded me of my intentions to make an optics library in Racket 05:23:27 My stream-join is a bit haiy 05:23:57 https://github.com/Sgeo/racket-optics/blob/417c0c5ff91dc9cee9e402c6f479abafa5b3275d/profunctors.rkt#L72-L81 05:24:01 hairy 05:35:32 DrRacket has a code coverage tool built-in. That and module+test might encourage me to actually write unit tests 05:40:09 -!- shikhin has joined. 05:51:24 oh, haha 05:51:32 I /finally/ figured out what causes my compose key to stop working 05:51:43 it's alt-tabbing from Firefox to Konversation; alt-tabbing from any other program to Konversation fixes it 06:15:32 Hmm. Firefox in general or in particular Firefox with focus on the URL bar or something? 06:15:46 shachaf: not sure yet 06:15:50 I think there's at least one other condition 06:15:58 but at least this means that I can easily fix it when things go wrong 06:16:05 * Sgeo wonders what distro ais523 uses... mostly because Kubuntu sucks 06:16:11 Sgeo: Ubuntu, with Unity 06:16:18 I like Unity, pity it's so buggy and so unperformant 06:16:29 Focus in the Chrome URL bar misbehaves in all sorts of ways. 06:16:48 I think I tend to prefer using GNOME and GTK+ apps when in GNOME and KDE and Qt apps only in KDE 06:16:48 I vaguely remember similar issues with Firefox. 06:28:52 -!- callforjudgement has joined. 06:29:21 -!- ais523 has quit (Ping timeout: 260 seconds). 06:38:54 -!- CrazyM4n has joined. 06:52:53 -!- CrazyM4n has quit (Quit: Leaving). 07:01:50 Hmm... is IO the main interesting side-effect in non-Haskell languages? 07:02:52 Sgeo: variable mutation's a big one 07:03:08 Variable mutation doesn't fall under IO? 07:03:22 well, everything falls under IO, because it's basically the most general possible monad 07:03:26 the ST monad does variable mutation without IO 07:03:30 you can do it with much less than IO, though 07:04:05 and it's definitely impure because it lets you observe evaluation order 07:04:09 But if I want to encode the concept of side-effect in a non-Haskell language, it should be sufficient to support IO, with 0-argument functions since it's a side-effecty language 07:04:25 Sgeo: one of my colleagues made the point that the "IO monad" of Haskell is basically OCaml 07:04:29 rather than IO generally 07:04:58 you can think of the ML family as basically being Haskell only everything is forced to be in the IO monad 07:05:46 Sgeo: the "concept of side-effects" in haskell is really the "concept of _distinction_ of side effects", so using only IO misses much of the point. 07:06:53 * Sgeo is mostly not trying to let all of the abilities of traversal go to waste just because I don't feel like encoding applicatives 07:10:03 I think the main distinction between explicit support vs. letting users 'cheat' with over and a side-effecting function is that the former forces the traversed structure 07:11:32 Hmm... is it possible to write a Traversal' (a -> b) b? 07:11:48 If it is, I'm abandoning my encoding... I can't see how to write a getter 07:15:31 > (cos & traverse %~ (*2)) 0 07:15:33 No instance for (GHC.Show.Show a0) 07:15:33 arising from a use of ‘M288691002170012585531335.show_M2886910021700125855... 07:15:33 The type variable ‘a0’ is ambiguous 07:15:33 Note: there are several potential instances: 07:15:33 instance [safe] GHC.Show.Show 07:15:36 wat 07:15:48 :t cos & traverse %~ (*2) 07:15:49 (Traversable ((->) b), Floating b) => b -> b 07:15:57 oh hm 07:16:50 it's possible if a is a finite type, i think. 07:19:26 It is not possible in general. 07:19:31 You can write a Setter. 07:19:49 A Traversal needs to traverse at most a countable number of things. 07:29:05 I feel like I'm going through contortions to serve a use-case I'm not sure exists 07:29:26 I don't know if there really are that many lazy structures used in Racket 07:29:29 You tend to do that. 07:34:35 Allowing users to 'cheat' would feel worse 07:34:55 Also the reason I can't merely encode lenses as setters 07:52:01 -!- callforjudgement has quit. 07:52:17 -!- callforjudgement has joined. 07:52:38 -!- xTREM has joined. 07:52:48 -!- xTREM has left ("Saliendo"). 07:55:08 -!- AnotherTest has joined. 08:01:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:07:00 -!- oerjan has quit (Quit: leaving). 08:27:51 Reader r and List seem to suggest that maybe IO doesn't cover all side effects 08:28:34 Is there an Applicative that describes all applicatives, the way Cont describes all monads? 08:29:02 http://mandalicgeometry.tumblr.com/ 08:31:35 I was going to say 'I would be happy if that didn't have a name implying pseudomath and pseudoscience', but I take it back. 08:34:30 Cont doesn't describe all monads. 08:34:45 Well. I don't know what it means to describe a monad. But I bet Cont doesn't do it. 08:35:22 X describes Y = X Y 08:36:01 That article says Cont but I'm pretty sure it really means Codensity. 08:38:02 -!- shikhout has joined. 08:40:54 -!- shikhin has quit (Ping timeout: 246 seconds). 08:43:40 Bike: huh, what now? 08:59:49 oh it's a "cross-disciplinary blog", I guess that's one way of putting it... 09:25:34 -!- callforjudgement has quit. 09:31:06 -!- shikhout has changed nick to shikhin. 09:31:13 -!- shikhin has quit (Remote host closed the connection). 09:34:58 [wiki] [[Talk:Suicide]] N http://esolangs.org/w/index.php?oldid=40414 * Rdebath * (+1813) /* Appears to be NOT turning complete */ new section 09:43:30 -!- shikhin has joined. 09:46:56 hmm, another language with a weird specification. 09:50:53 Turning complete 09:51:25 I missed that. 09:52:12 A language that is not actually complete, but could almost be 09:52:17 imo 09:52:56 "It has a limit of 676 variables, but if these are unbounded it might still be able to emulate a Minsky machine." 09:54:14 Yes, it'll be able to do that, all one needs is a single loop with a body of if-then-else checking the current state and doing the corresponding updates. 09:56:08 The funny thing about that page is that it describes a language, and then, in the examples, uses < and << which have not been mentioned before. 10:52:49 -!- J_Arcane has joined. 11:46:15 -!- J_Arcane has quit (Quit: WeeChat 0.4.4-dev). 11:50:41 -!- J_Arcane has joined. 12:29:06 -!- Phantom_Hoover has joined. 12:31:54 -!- jix has quit (Remote host closed the connection). 12:32:28 -!- jix has joined. 12:41:02 -!- Sprocklem has quit (Ping timeout: 245 seconds). 12:41:17 -!- Sprocklem has joined. 12:58:09 -!- Patashu_ has quit (Ping timeout: 264 seconds). 13:26:17 -!- Phantom__Hoover has joined. 13:29:06 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 13:35:44 man, ARIN is down to less than a /8 13:36:32 (not counting the reserve /10 for IPv6 transition) 13:37:26 Better prepare the fallout bunker 13:41:05 -!- boily has joined. 13:47:29 Interesting that most countries don't have a /8, but some american organizations have two. 13:50:08 not only American, but Canadian too :D 13:50:54 (okay, they aren't quite pure /8 as they are fragmented around, but they occupy the same address space.) 13:51:05 my university only has a /16 13:54:07 many years ago I made a list of quite a few Canadian /16, mainly universities. mine was 132.203.0.0/16. 13:55:43 a list I just found. 13:56:54 aaaurgh. pastebin is rebarbative. 13:57:34 http://pastebin.ca/2839477 14:01:15 Why does BC need so many? 14:02:36 I have absolutely no clue. 14:09:13 Why did the Ford Motor Company need 19.0.0.0/8? It probably didn't. 14:09:22 surely ARIN should be putting pressure on them to give up parts of their address space by now 14:10:07 I'm actually hoping that we run out of v4 faster 14:10:20 RegDate: 1988-06-15 14:10:34 back then the IPv4 address space was huge ;) 14:11:27 They didn't need to share it with the commies 14:12:03 And this was class-based routing. So if 64k addresses of a class B net were not enough, I suppose you'd get a class A net. 14:13:46 I hope we completely switch out to IPv6 soon, because then I'll be forced to learn it correctly. 14:14:08 address scopes confuse the fungot out of me. 14:14:08 boily: you're back!! i'm not made of cons cells though. how can the code be wrong? 14:14:34 fungot: of course I'm back. I'm always back, and you guys are going to be stuck with me a loooong time. 14:14:34 boily: they are definitely a lot of schemes seem to dislike the way gimp does stuff in scheme, or programming in general) 14:19:48 Your search - "I'm not made of cons cells" - did not match any documents. ... pity. 14:20:19 It sounded like such a sensible thing to say. 14:20:31 :D 14:20:55 Of course, you're made of atoms, the cons cells are just how they're bound together. ;) 14:21:18 Ow. 14:21:29 So does anybody call S-expressions "molecules"? 14:21:44 Heh heh. Not that I know of. 14:23:31 http://www.google.com/patents/CN102625850A?cl=en mentions "LISP molecules", but LISP stands for "labeled probe identification sequence" 14:25:51 'your lisp code is terrible, look at all these texas IFs' 14:27:05 Phantom__Hoover: can you explain? 14:27:22 "texas IF" is not a very good search term. 14:27:29 https://www.google.co.uk/search?q=texas+carbon 14:32:06 okay. (if a b c d) would be wrong indeed. 14:32:34 (though I wonder whether that should count as four bounds) 14:33:32 bonds. luckily, I don't do chemistry. 14:34:34 if “a” is true then “b” else “c” else else “d”??? 14:35:00 @google things I won 14:35:02 http://pipeline.corante.com/archives/things_i_wont_work_with/ 14:35:02 Title: In the Pipeline: 14:35:08 that's funny. 14:35:26 (even more funny is the fact that this was what I was looking for) 14:36:15 boily: something like that 14:36:23 s/else else/otherwise/ 14:37:31 -!- shikhout has joined. 14:37:46 int-e: I reject your reality and placidly continue to munch on some toasts with nutella. 14:40:45 -!- shikhin has quit (Ping timeout: 264 seconds). 14:43:17 -!- shikhout has changed nick to shikhin. 14:43:41 [wiki] [[Archway]] http://esolangs.org/w/index.php?diff=40415&oldid=36068 * 76.100.81.188 * (+5) /* Example */ Fix Archway2 cat example. 14:44:12 my personal most memorable quote from that blog: "At seven hundred freaking degrees, fluorine starts to dissociate into monoatomic radicals, thereby losing its gentle and forgiving nature." http://pipeline.corante.com/archives/2010/02/23/things_i_wont_work_with_dioxygen_difluoride.php 14:48:31 my favourite, where he mentions shrapnel: “Ranking my equipment in terms of its shrapneliferousness is not something that's ever occurred to me, I have to say.” http://pipeline.corante.com/archives/2009/03/18/things_i_wont_work_with_chalcogen_polyazides.php 15:04:05 "There are no conceivable uses for [N-amino azidotetrazole] - well, other than blowing up Raman spectrometers, which is a small market - and the number of research groups who would even contemplate a resynthesis can probably be counted on one well-armored hand." 15:04:48 Hmm, that blog used to have a table of contents per category, now the best I can find is http://pipeline.corante.com/archives/things_i_wont_work_with.xml which lists only 16 of 29 posts :-( 15:08:15 if “a” is true then “b” else “c” else else “d”??? 15:08:28 if a is true, b; if a is false, c; if a is filenotfound, d 15:10:28 boily, you were interested in writing IRC bots in Haskell, write? 15:10:30 ... 15:10:38 *right? 15:11:31 Self-writing self-righting irc bots 15:11:37 Phantom__Hoover: point. 15:11:59 Taneb: uhm, yes? afaicr, I think it is so. 15:12:06 Jafet: a self-modifying fungot! 15:12:06 boily: could it be done without a wrapper 15:12:18 fizzie: could it? 15:12:41 fungot is pushing the boundaries here. 15:12:41 Jafet: it requires a full ai to parse it 15:12:44 boily, one of my friends is writing a bunch of IRC-related Haskell libraries 15:12:55 you didn't just mix up fungot and fizzie, did you... 15:12:56 int-e: i just a new module that provides a full build environment in fnord. 15:13:24 I swear fungot knows how much I hate that word. 15:13:24 int-e: the addition of addmov and submov :) fnord/ pictures/ flow.gif hofstadter would probably enjoy it very much. it's not bad, but if it's so important that people get the false impression that fnord and start hacking. 15:13:42 exactly. 15:14:03 Taneb: interesting. fascinating. appropriatable, and on-top-of-it codeable. 15:14:13 * Taneb whistles for barrucadu 15:14:30 Yes? 15:14:36 barrucadu, advertise to boily your IRC stuff 15:14:39 int-e: fungot is smart. fungot knows you. fungot will assimilate you, and in the befunge bind you. 15:14:39 boily: is this the esolang channel? i mean, can you send the generated code 15:16:00 Well, I've got a library on hackage to encode and decode CTCPs (https://github.com/barrucadu/irc-ctcp), and plan to put up today a message decoder using conduits (https://github.com/barrucadu/irc-conduit) 15:16:38 I've got a haskell irc bot running atop all this stuff, and am just gradually breaking it up into libraries 15:19:48 has your bot joined this channel? 15:20:14 -!- yukibot has joined. 15:20:18 Has now 15:20:58 At the moment it's not doing much 15:21:05 I've mostly been playing with the underlying stuff 15:21:28 en.wiktionary.org/wiki/sorry 15:21:43 Hmm, its URL shouter isn't working 15:21:49 Do I need the protocol, barrucadu? 15:21:50 Yes it is 15:21:53 https://en.wiktionary.org/wiki/sorry 15:21:54 Title: "sorry - Wiktionary" 15:22:28 yukibot: botsnack 15:23:33 At the moment it basically does link info and !seen 15:24:12 But it handles multiple networks with ease, which is nice 16:16:50 this is cute, http://img.thedailywtf.com/images/14/q2/e115/Pic-1.png 16:17:38 the point being, it's a perfectly sensible graph. 16:22:17 -!- drdanmaku has joined. 16:37:12 helloily 16:38:59 Interesting error. 16:40:48 Oh, it's exactly one hour. Well, I consider that an error anyway. 16:42:19 It clearly depicts a DST switch. 16:46:35 Melvar wins. 16:48:02 In fact, a graph which did not contain the loop would be erroneous. 16:54:35 Arguably there should be two curves in the [2,3) interval, without any line going back in time. But that's a minor complaint. 16:57:43 It's a mapping from linear time (presumably utc) to some political abomination that allows time travel 16:58:05 -!- oerjan has joined. 16:58:42 "god damn politicians", i complain to myself, as i orbit the infinitely long spinning cylinder 16:59:23 rotating yourself into an early grave? 17:03:32 hey guys 17:17:51 hey Soul 17:23:35 I'm learning C++ 17:23:52 oh no! 17:23:58 why the hell would you do that 17:23:58 It's pretty hard, considering I'm used to Python and Ruby. 17:24:06 speed, mostly 17:24:55 also, pointers confuse me. 17:25:18 I managed to implement brainfuck though 17:25:27 https://gist.github.com/TieSoul/688e7326453384862ce1 17:25:28 Title: "brainfuck.cpp" 17:25:34 so... 17:25:50 Java? 17:25:51 @Speed 17:25:51 Unknown command, try @list 17:26:09 I don't like Java, I'd actually rather C++ than Java 17:26:36 well 17:26:42 If you'd really care about speed you'd learn Ada 17:29:22 -!- NeroReflex has joined. 17:29:31 hi 17:29:40 although on alioth g++ is just barely better than Ada 17:29:42 hey 17:29:54 but considering that it's C++ :) 17:30:46 -!- oerjan has quit (Quit: leaving). 17:42:19 quintopia: quinthellopia! 17:43:21 TieSoul: you are wrong. Wrong, I say! 17:43:32 wrong about what? 17:44:41 java is less despicable than C++, imso. 17:46:08 NeroReflex: hi! 18:12:52 imso, hmm. "superior"? 18:14:07 The Internet (tm) suggests "sovereign". 18:14:12 C++ has all the bad traits of C you don't really want anymore 18:14:18 and it's got ugly syntax 18:14:46 @quote int-e C++ 18:14:46 Plugin `quote' failed with: user error (parseRegex for Text.Regex.TDFA.String failed:"C++" (line 1, column 3): 18:14:46 unexpected '+' 18:14:46 expecting empty () or anchor ^ or $, an atom, "|" or end of input) 18:14:51 @quote int-e C\+\+ 18:14:51 int-e says: C++ does make a reasonably usable high-level assembler 18:15:02 Java on the other hand is so easy it makes people write so bloaty code that complies to "clean code" but is split into 1k files which makes it unreadable as fuck 18:15:19 mroman_: the PHP effect 18:15:47 mroman_: see FizzBuzzEnterpriseEdition? ;) 18:15:54 J_Arcane: like that, yes 18:15:58 -!- ais523 has joined. 18:16:02 (Hmm, not quite. The PHP effect is that the language is so easy that every wannabe programmer uses it.) 18:16:08 you have to look at dozens of classes and packages to figure out what's going on 18:16:23 and then there's an injection framework that just changes everything again :( 18:16:29 what's the deal with giving every class its own interface anyway?! 18:16:50 I think you need that for Injection und some other Frameworks @interface for every class 18:16:59 i.e. FooClass is an interface 18:17:07 and then there's RealFooClass 18:17:11 which is the real thing 18:17:59 I just balk at the idea of providing an interface for something that has a single implementation. 18:19:02 int-e: the best argument I know is that it lets you later swap out the class without changing code that uses it 18:19:10 I guess a possible excuse is that you want a mock object for everything for testing purposes. 18:19:26 Also for binary compatibility. 18:19:38 ais523: I don't buy it. Anyway, eclipse has a ready-to-use refactoring tool for that purpose. 18:19:45 binary compa... 18:19:51 ah I never care about that. 18:20:00 but I guess it's a semivalid point. 18:20:01 int-e: I didn't say it was a /goo/d/ argument 18:20:22 ais523: right. 18:21:32 fizzie: my thinking about binary compatibility is influenced too much by Haskell, which offers none. Oh and Open source which means that recompiling stuff is always an option. But thanks for the argument :) 18:21:56 I've browsed through Effective Java once, that's all I know. 18:22:30 It has some leanings towards the "prefer interfaces" side, though not so strong as to prefer them blindly. 18:23:32 Hmp, I just broke gearlance. 18:24:06 anyone solve botguard.js yet? 18:24:27 newsham: apparently not, or we'd see a noticeable increase in spam 18:25:18 The downside is that when browsing source code, in a top-down manner, one usually finds that the interesting functionality is hidden behind some interface ... and then one has to go looking for classes implementing it, possibly digging in xml configuration files to find out which one is actually used. It's awful. 18:25:23 ais: not necessarily 18:26:09 I guess figuring such stuff out is what makes the difference between a Java programmer and a JavaEE programmer. 18:30:20 Welp, I unbroke gearlance, but my "optimization" is a... if "pessimization" is something that makes it worse, what's it called when it has no effect? "Status quptimization?" "Futilization?" 18:30:30 boily: you take long time to respond 18:31:00 fizzie: what was it you changed? 18:31:33 "Refactoring" 18:33:29 quintopia: I switched it from the current "almost computed-goto threaded code except it keeps the original parsed program around to look up repeat counts and jump targets" to a slightly more compact "computed-code threaded code with target/count operands intermixed for those operands that need them" form, as a side effect of adding support for doing the threaded-code translation and actual ... 18:33:35 ... tournament-running as separate stages. 18:34:11 depending on whether it adds code complexity, "Obfuscation", or "Simplification" 18:34:34 From what I recall from my last benchmark, a large amount of time is spent in parsing the (larger) programs, and I thought if I at some point want to maintain a hill with the code, it'd make sense to keep the existing programs around in a precompiled form. 18:34:47 ah 18:35:01 i am in favor of the idea of fizzie hill. 18:35:16 since perhaps fizzie will implement fixed point scoring :P 18:35:24 That sounds like a place. 18:35:40 it should be a place 18:36:26 a pub. a pub called Fizzie Hill. 18:36:35 (I won't have actual time to think about this until the week after next, so don't expect miracles. So far I'm just fiddling a bit.) 18:36:59 no miracles????? but aren't you C Jesus? 18:38:17 fungot: While I'm busy, you work on that thing for me, m'kay? 18:38:17 fizzie: by the way? :d: :d :d :d) 18:39:32 i agree fungot. you should definitely be in charge of the hill. 18:39:33 quintopia: maybe for arithmetic. see http://www.gehennom.org/fis/ fib.sed for an example. of course 18:40:16 sed hill 18:40:16 there is no such file fungot 18:40:16 quintopia: this is scary. 18:43:14 what's up with the trend towards increasingly wider aspect ratios in screens? would it stop if we started measuring screen surfaces instead of diagonals? 18:43:40 quintopia: https://dl.dropboxusercontent.com/u/113389132/Misc/20140907-fib.sed there you go 18:43:57 > let x a b = (a^2 + b^2)/(a*b) in (x 17 9/x 16 9,x 16 9/x 16 10,x 16 10/x 4 3) 18:43:59 (1.0333391516844126,1.0518102372034956,1.068) 18:44:01 FizzBuzz in a tweet (clojure): (map #(cond (= 0 (mod % 15)) "FizzBuzz" (= 0 (mod % 3)) "Fizz" (= 0 (mod % 5)) "Buzz" :else %) (range 1 100)) 18:44:02 (It's just a recursive-sed experiment.) 18:44:04 The human field of vision is pretty wide. 18:44:49 [a 4:3 monitor has 6.8% more surface area than a 16:10 one with the same diagonal... etc.] 18:46:14 The forthbuzz I pasted the other day also fits in a tweet. 18:47:34 What was a tweet again, 140 characters? 18:47:39 fizzie: Yeah, I remember that. I was just amused that I could do it in clojure. Not sure I could in my usual Lisp, too verbose. 18:47:41 Yeah, 140. 18:48:19 75 tweetable languages in the http://golf.shinh.org/p.rb?FizzBuzz then. 18:48:23 Title: "anarchy golf - FizzBuzz" 18:48:36 That's new. 18:49:01 I'd consider any language that could not do this in a tweet to be a joke language somehow 18:49:23 The shortest Erlang solution there is 150 characters, and Erlang's no joke. 18:49:51 Its syntax is imo 18:50:01 Many of the others are esolangs, though. 18:50:04 Prolog scoping needs to die 18:50:12 befunge has a 54-byte solution 18:50:26 Shorter: (map #(condp = 0 (mod % 15) "FizzBuzz" (mod % 3) "Fizz" (mod % 5) "Buzz" %) (range 1 100)) 18:51:21 Prolog itself is only 91. 18:52:41 I wonder if 150 represents trying very hard, considering that brainfuck scores 180. 18:58:50 -!- variable has joined. 19:07:22 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds). 19:13:10 So what's the story with this yukibot? 19:16:11 quintopia: I was out to lunch, and now I just woke up from a nap. 19:19:06 it'd be nice to know whose bot it is 19:19:11 or if it just decided to turn up one day 19:20:41 -!- metasepia has joined. 19:23:07 boily: guess we can't hang out yet again as usual. :P 19:24:40 Well, hacksoc.org is the York thing, right? 19:25:09 And Taneb's going there, ISTR. 19:25:19 Aww. Well, I have a code-golf passing solution but it doesn't work with anarchy golf's clojure evaluator. 19:25:23 fizzie, it's barrucadu's bot 19:26:11 There we go. Do you happen to know if it does something exciting too? 19:26:49 fizzie: it just reads titles from links 19:27:33 now I'm trying to work out how to create a botloop with that 19:27:43 with no "Title: " prefix or quotes, it would be easy 19:28:10 -!- AnotherTest has quit (Ping timeout: 252 seconds). 19:28:14 ^source 19:28:14 https://github.com/fis/fungot/blob/master/fungot.b98 19:28:16 Title: "fungot/fungot.b98 at master · fis/fungot · GitHub" 19:28:16 yukibot: what happened to offby1!!! rampage!!! 19:28:31 That's not much of a loop, but at least it was already built-in. 19:30:51 http://zem.fi/crlf.html 19:30:51 Title: "this title has a newline PRIVMSG #esoteric :and this is a private message" 19:30:56 Aw. 19:31:10 Well, it's the kind of thing that has to be tried. 19:31:58 I think it's just a coincidence that that doesn't break it 19:32:06 Damn. there's a 77-char Clojure solution. I wonder how they did it. 19:32:17 Multiple spaces get stripped out to give a more useful title, I guess it's also eating newlines 19:32:49 http://zem.fi/ctcp.html 19:32:49 Title: "this title has an embedded CTCP PING 123 in it" 19:32:50 fizzie: i need to use fcolor but i can't find it 19:33:20 quintopia: http://zem.fi/2012-03-15-fcolor -- you're in luck, I think I fixed it just the other month. 19:33:21 Title: "Use Flickr to Define Colors | 2012-03-15 | zem.fi" 19:33:28 yukibot: blacklist linkinfo 19:33:59 Aw, and I didn't even get to the web page with a six-gigabyte title yet. 19:34:07 Hmm 19:34:15 It truncates titles over a certain length 19:34:30 Does it fetch the entire page in any case, though? 19:34:35 * barrucadu checks how he does that 19:34:55 …but that works by checking the length of the title 19:35:15 And yes, it fetches the page with wreq, and then processes it with HXT, so that's probably not going to be sufficiently lazy either 19:36:32 Just run the bot on a slow network 19:38:16 fizzie: the weight of each image in the average is inversely proportional to the standard deviation of its histogram? 19:39:22 quintopia: It's slightly complicated, http://zem.fi/2012-03-14-gcolor has a "technical details" paragraph, it's the same thing for fcolor. 19:39:51 yeah but i didn't read that paragraph, which is why i asked you :P 19:41:00 Well. It's related to the variance, that's for sure. 19:42:23 I didn't remember myself exactly. There's both the directionality parameter of the von Mises-Fisher hue distribution, and the variance matrix of the (saturation, lightness) bivariate Gaussian fit. 19:43:05 But also the average log-likelihood of each pixel, which is kind of a measurement of how well the image fits the (unimodal) distributions. 19:43:50 It doesn't really have any very good theoretical foundation, I just did something that seemed to make a bit of sense. 19:43:56 yeah i don't know that i could understand that without an hour of research, as i've never worked with directional stats 19:45:17 You can mentally replace the first one with "inverse variance", it's pretty much the same thing. 19:45:19 ion: thion 19:45:45 shachaf: you’re wachaf 19:45:54 true 19:47:27 Internet suggests that for large values of κ, it in fact asymptotically approaches a normal distribution with variance 1/κ. 19:49:44 -!- Sorella has joined. 19:50:22 -!- Sorella has quit (Changing host). 19:50:22 -!- Sorella has joined. 19:51:21 Anyway, to summarize, the weight is a geometric mean of "how narrow the peaks of the distributions are" plus "how well the pixels match the distributions". 19:51:32 fizzie: wouldn't it make more sense to use the square root of that? 19:53:09 fcolor seems to be giving waaaay to much weight to grayscale images 19:53:30 ideally, it wouldn't include them at all 19:54:02 That's pretty much due to there being no built-in bias for saturation. 19:54:19 But yes, it could be improved. 19:58:00 I'm reasonably sure I thought "I'll tweak this to be more sensible later" when writing that. 19:58:18 My own client automatically responded to the embedded CTCP PING 123 in the title (it says AUTO ANSWERED to indicate that) 19:58:35 zzo38: You're probably in the minority. 19:58:51 you can say that again 19:59:17 fizzie: Does anyone else do, though, or only mine does? 20:01:22 More Markdown drama: http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/ 20:01:29 This message has an embedded CTCP PING 123 in it. 20:01:42 I found one bot-building library that supports them, but that's not a client. 20:01:46 Only weissschloss responded 20:02:50 Only one bot-building library does? 20:04:43 Perhaps several do, but that's the one I found quickly. 20:07:05 I didn't know mIRC is compatible with Linux. 20:07:07 -!- Frooxius has quit (Quit: *bubbles away*). 20:10:15 -!- Frooxius has joined. 20:14:26 -!- Phantom__Hoover has joined. 20:17:51 -!- ais523 has quit. 20:18:01 -!- ais523 has joined. 20:27:11 -!- NeroReflex1 has joined. 20:28:56 -!- NeroReflex has quit (Ping timeout: 276 seconds). 20:33:39 -!- NeroReflex has joined. 20:35:26 -!- NeroReflex1 has quit (Ping timeout: 276 seconds). 20:36:52 -!- ais523 has quit. 20:38:19 -!- shikhout has joined. 20:41:27 -!- shikhin has quit (Ping timeout: 245 seconds). 20:42:30 fizzie: fcolor is proving to me that fact that the phrase "purple mountain's majesty" is not entirely absurd. "dark mountain" gives a shade of lilac. 20:43:47 Going purely on anecdotal evidence, gcolor was giving me "better" results, but Google was bad about having an API for the image search. 20:53:13 Pikes Peak in certain conditions does actually look faintly purple. 20:57:43 lots of mountains do 20:58:11 Pikes Peak is the relevant one for the quote. :) 21:00:40 -!- Patashu has joined. 21:17:17 -!- KingOfKarlsruhe has quit (Ping timeout: 245 seconds). 21:23:56 -!- perrier_ has quit (Read error: Connection reset by peer). 21:25:08 -!- perrier has joined. 21:26:36 -!- perrier has quit (Remote host closed the connection). 21:26:49 -!- KingOfKarlsruhe has joined. 21:27:42 -!- Patashu has quit (Ping timeout: 245 seconds). 21:27:45 -!- perrier has joined. 21:35:29 -!- ^v has joined. 21:44:21 -!- KingOfKarlsruhe has quit (Ping timeout: 264 seconds). 21:44:27 -!- int-e has quit (Ping timeout: 245 seconds). 21:45:23 -!- ^v has quit (Ping timeout: 240 seconds). 21:47:04 -!- Jafet has quit (Ping timeout: 250 seconds). 22:00:47 -!- Phantom___Hoover has joined. 22:02:03 -!- heroux has quit (Read error: Connection reset by peer). 22:03:06 -!- zzo38 has quit (Remote host closed the connection). 22:03:52 -!- Jafet has joined. 22:04:21 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds). 22:11:36 -!- TieSoul has quit (Read error: Connection reset by peer). 22:11:54 -!- TieSoul has joined. 22:12:00 -!- heroux has joined. 22:12:30 -!- conehead has joined. 22:13:38 -!- ^v has joined. 22:13:46 -!- int-e has joined. 22:18:34 -!- NeroReflex has left. 22:35:52 -!- ^v has quit (Ping timeout: 240 seconds). 22:39:30 -!- int-e has quit (Ping timeout: 246 seconds). 22:46:10 -!- int-e has joined. 22:51:31 -!- ^v has joined. 22:58:44 -!- KingOfKarlsruhe has joined. 23:17:53 fizzie, fcolor for "york" yields a disappointing amount of images of New York 23:18:33 (nothing you can do about this, though) 23:41:37 -!- CrazyM4n has joined. 23:42:46 fcolor? 23:43:41 it's the best color 2014-09-08: 00:01:43 fungot: is an fcolor akin to a fnord? and if so, what is a nord? 00:01:43 boily: mikä on approaching ja mikä on peculiar. anteeks että olen tyhmä. tai no en kyllä ketään fnord. such shortcuts are bad things. 00:02:07 fungot: je parle pas finnois, du moins pas encore. 00:02:08 boily: feels like basic used to for sure. 00:02:21 fungot: no, I'm not used to it yet. 00:02:22 boily: for most schemers, it does not implement scheme properly.)) the same place 00:02:44 fungot: ah, so the fcolor is an implementation problem? 00:02:44 boily: yes you did. it was a joke 00:03:23 fungot: toé mon espèce de damned fiend that you are me ferai pas reprendre encore just watch me. 00:32:11 -!- CrazyM4n has quit (Quit: Leaving). 00:33:13 -!- hogeyui____ has changed nick to hogeyui. 00:33:17 -!- hogeyui has changed nick to hogeyui_. 00:33:19 -!- hogeyui_ has changed nick to hogeyui. 00:33:29 -!- hogeyui has changed nick to hogeyui_. 00:33:38 -!- hogeyui_ has changed nick to hogeyui. 00:52:20 -!- Phantom___Hoover has quit (Read error: Connection reset by peer). 01:09:53 -!- Sorella has quit (Remote host closed the connection). 01:10:37 -!- shikhout has quit (Ping timeout: 245 seconds). 01:11:47 -!- not^v has joined. 01:34:03 -!- boily has quit (Quit: KANANPOIKA CHICKEN). 01:34:07 -!- metasepia has quit (Remote host closed the connection). 02:01:22 -!- Jafet has left. 02:07:48 -!- Jafet has joined. 02:21:23 -!- Imaginer1 has joined. 02:21:31 Hi guys 02:35:49 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 02:58:43 -!- Sorella has joined. 02:59:23 -!- Sorella has quit (Changing host). 02:59:23 -!- Sorella has joined. 03:03:47 -!- oerjan has joined. 03:11:15 -!- Sorella has quit (Remote host closed the connection). 03:11:35 -!- conehead has quit (Quit: Computer has gone to sleep). 03:23:53 -!- weissschloss has quit (Remote host closed the connection). 03:58:31 -!- zzo38 has joined. 04:02:47 -!- tromp__ has joined. 04:05:10 -!- tromp has quit (Ping timeout: 252 seconds). 04:08:41 "i think this time when we bomb the middle east it will help. i have a feeling about this one, gang. things are going to turn around now 04:08:44 RETWEETS 04:08:47 274 04:08:49 FAVORITES 04:08:52 533 04:08:54 lil swamplordCohen is a ghostKyle CapristaMichael Habeyonceaaron nanavatybender haverSteve U 04:08:57 crap 04:09:00 sorry 04:09:17 -!- tromp has joined. 04:12:23 -!- tromp__ has quit (Ping timeout: 276 seconds). 04:20:51 -!- ^4 has joined. 04:22:29 -!- not^v has quit (Ping timeout: 272 seconds). 05:06:44 -!- ^4 has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:47:00 -!- MoALTz_ has quit (Quit: Leaving). 06:15:11 Morning, chaps 06:15:48 Assuming "chaps" is gender neutral, otherwise please substitute a suitable word fulfilling the requirements 06:16:18 @wn chap 06:16:19 *** "chap" wn "WordNet (r) 3.0 (2006)" 06:16:20 chap 06:16:20 n 1: a boy or man; "that chap is your host"; "there's a fellow 06:16:20 at the door"; "he's a likable cuss"; "he's a good bloke" 06:16:20 [syn: {chap}, {fellow}, {feller}, {fella}, {lad}, {gent}, 06:16:21 [9 @more lines] 06:16:23 is "assless chaps" gender neutral? 06:16:24 Apparently not. 06:17:37 "chapless ass" would be though 06:25:07 Although with the current gender ratios of this channel, I'm afraid that a masculine term may have been appropriate :( 06:26:15 Taneb: that's nothing to be afraid of. Perhaps you should be disappointed, or ashamed with yourself for not getting a sex change to help make up the difference, but I don't understand why you'd be scared. 06:26:34 coppro: really? 06:26:51 coppro, I'm worried that the fault lies in the niceness of the channel 06:27:23 shachaf: really what? 06:27:41 Do you know what is the current gender ratios of this channel though? 06:28:05 elliott: you're not helping atm 06:31:43 Make a survey with a FORMCARD-based front-end and a SQL-based back-end, therefore the results are accessed by SQLite. 06:32:04 zzo38, what's FORMCARD? 06:34:43 A format for forms that can be filled; I know of no implementations, but it is designed to be workable whether it is done as a HTML form, or using a 3270 terminal, or printed form put into the computer manually, or a printed form with boxes to fill and then the computer scans it and automatically put into the computer (like scantron forms), or whatever else you want. 06:35:48 no, we don't need a survey for that 06:36:02 fungot, please tell us the current gender ratio of the channel 06:36:03 b_jonas: fnord maybe shoulds have slept, am laughing 06:36:22 b_jonas: I don't mean for that. 06:37:29 shouldn't we use a BANCStar backend though? 06:38:51 I suppose BANCStar could be used as a frontend operated over a telnet protocol or whatever, but it would be useful to query the results using SQL (even if it is only converted to SQL afterward; it doesn't have to be such right away). 06:40:30 I don't know if the original BANCStar implementation was designed for internet, but clearly a new one should and then you can access over telnet or SSH. 06:53:20 Here is the other questions of this channel: [1] The center of mass of everyone using this channel [2] Total number of computer programs written by people in this channel [3] Average of telephone numbers of people in this channel [4] Distribution of sun signs of people of this channel [5] The median of least favorite numbers of people of this channel 06:53:30 Probably such thing is difficult and can vary. 06:54:10 I'm writing a program that does the letter round in countdown (here's 9 letters, make the longest english word you can out of them) 06:54:35 OK 06:55:17 It is at https://github.com/Taneb/countdown/blob/master/Main.hs 06:55:35 OK, now we can see 06:56:15 You need to give it a dict file 06:56:27 (on linux these are normally in /usr/dict or /usr/share/dict 06:56:29 ) 07:02:21 OK, now I looked at this program, too 07:03:25 I haven't tried it though; I may not have a dict file, and I have old version of GHC so I don't know if it can compile 07:03:46 It depends on lens which may be problematic 07:04:16 I'd ignore the dependency bounds listed in the cabal file, though 07:04:20 What is the newest GHC version anyways? 07:05:13 there's one GHC per year 07:05:23 zzo38: 7.8.3 07:05:25 I have version 7.0.3 07:05:33 http://en.wikipedia.org/wiki/Grace_Hopper_Celebration_of_Women_in_Computing hth 07:06:14 well, there are presumably 7.9.* development versions 07:07:25 coppro: counting major versions, i assume. although 7.8 was unusually late. 07:29:50 -!- Tod-Autojoined has joined. 07:30:11 -!- TodPunk has quit (Read error: Connection reset by peer). 07:34:51 -!- TodPunk has joined. 07:36:12 -!- Tod-Autojoined has quit (Read error: Connection reset by peer). 07:54:54 -!- oerjan has quit (Quit: leaving). 08:19:52 -!- AnotherTest has joined. 08:45:21 Taneb: You should have a lookt at haskeline 08:45:57 mroman_, thanks, that looks useful :) 08:47:23 It gives you at least moving around with arrows (left, right) and a history (up, down) 08:47:37 instead of ^[[D ;) 08:47:49 and tabcompletion 08:49:58 -!- Patashu has joined. 08:51:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 09:33:02 damn ApacheDS isn't accepting my new attribute 09:33:08 it's not rejecting it either 09:33:14 it's just silently ignoring it 09:42:35 ah. but it accepts my dummy empty schema 09:42:39 well... 09:43:33 ok. so you can't import and overwrite the core-schema 09:43:34 :( 10:14:12 -!- boily has joined. 10:17:52 -!- ^v has quit (Ping timeout: 240 seconds). 10:29:45 I wrote a hideous program that prints prime numbers! 10:30:52 http://sprunge.us/STaa?c 10:33:23 -!- ^v has joined. 10:34:35 It's essentially a FORTRAN EDSL 10:36:06 tmp2.c:26:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘mp_bitcnt_t’ [-Wformat] 10:37:05 fizzie, should be fine 10:37:11 I hope this means they support 2^60 limbs now 10:38:28 Taneb: You're putting the "fine" back in "undefined", I see. 10:39:16 :) 10:40:36 Jafet: Sorry, "int _mp_size; /* abs(_mp_size) is the number of limbs the last field points to. */ 10:41:00 Also, that does not resemble FORTRAN. 10:41:21 The other one 10:41:23 FRACTRAN 10:41:32 Sorry 10:42:54 limbs? in a compiler??? 10:43:11 brb 10:43:11 Common in ARM compilers. 10:43:37 typedef unsigned long int mp_bitcnt_t; %d seems far from fine, it only covers the 'int' part and not the 'long', 'unsigned', or even 'typedef' 10:43:43 I wrote a PI-Calc program using gmp once 10:43:58 the overhead in loc with gmp is really high 10:44:05 (if you use C) 10:44:09 (%td is for printing typedef ints) 10:44:26 Deewiant: I guess that means you'll get about a quarter of the digits correct. 10:44:47 does GHC ship with gmp floats? 10:45:00 * boily mapoles Jafet 10:45:01 fizzie: On average, I suppose so 10:45:11 ghc ships with only enough to implement Integer. 10:47:13 printf("%tuld", x); /* why is it not working, I have all the four things in there */ 10:48:44 According to man 3 printf, the t length modifier indicates ptrdiff_t . 10:51:28 fizzie: That would probably work in this case actually, you'd just get an extra 'ld' suffix 10:52:51 I don't know what t does for u in practice, but perhaps it's the unspecified "corresponding unsigned integer type" to ptrdiff_t. 10:53:08 Anyone willing to spelunk glibc's printf to find out? 10:55:03 What's a CReal? 10:55:32 A part of a balanced BRakfast. 10:55:50 fizzie++ for a terrible pun 10:55:50 https://hackage.haskell.org/package/numbers-3000.2.0.1/docs/Data-Number-CReal.html 10:55:58 Yeah 10:55:59 fizzie-- for the same pun 10:56:08 I'm not familiar with "constructive reals" 10:56:38 -!- Phantom_Hoover has joined. 10:57:13 -!- noconnection has joined. 10:57:28 LABEL (mod_ptrdiff_t): 10:57:30 "A tolerably efficient and possibly correct implementation --" heady praise in the headers. 10:57:30 is_long_double = sizeof (ptrdiff_t) > sizeof (unsigned long int); 10:57:32 is_long = sizeof (ptrdiff_t) > sizeof (unsigned int); 10:57:34 JUMP (*++f, step4_jumps); 10:57:51 fizzie, where's that from? 10:58:00 Taneb: The source link, https://hackage.haskell.org/package/numbers-3000.2.0.1/docs/src/Data-Number-CReal.html 10:58:20 Thanks 10:59:24 if (is_long_num) \ 10:59:26 signed_number = va_arg (ap, long int); \ 10:59:46 #if INT_MAX == LONG_MAX 10:59:48 # define is_long_num 0 10:59:50 #else 10:59:52 # define is_long_num is_long 10:59:54 #endif 10:59:56 That's the essentials, I think 10:59:59 Deewiant: Good job. 11:00:17 Is this interesting at all? https://github.com/bfabio/brainfucker 11:00:17 Although we wanted unsigned, but in that case it's 'unsigned long int' 11:01:02 Can't put both t and l in the same time, however; it keeps thinking the other one is the conversion specifier. 11:02:14 -!- boily has quit (Quit: FLIP-FLOP CHICKEN). 11:03:49 That encoder is pretty trivial. 11:04:40 I wonder if it's feasible to find brainfuck encodings using sat. 11:05:07 For the record, the "standard" (defined by "was in EgoBot") encoder can be found at http://esoteric.voxelperfect.net/files/brainfuck/util/textgen.java 11:06:40 fizzie: wow, that's verbose 11:06:47 The spectrum ranges from that down to http://andrew.hedges.name/experiments/brainf_cker/ probably. 11:07:13 (Found by a quick search for a brainfuck text generator, and not intended to be singled out or anything.) 11:13:53 -!- augur has quit (Quit: Leaving...). 11:17:50 -!- augur has joined. 11:41:47 Am I a monster to like high coupling? 11:42:04 i.e. instead of new LdapConnection(new LdapConnectionConfig(...)) 11:42:13 I seem to prefer new LdapConnectionConfig(..).newConnection(); 11:43:57 LdapConnection conn = LdapConnection.builder().myThing(x).myAnotherThing(y).addSuck(Integer.MAX_VALUE).build(); 11:44:36 Also called the "our language has no keyword arguments so we'll be faking them" pattern, I guess. 11:45:11 Perhaps it's slightly orthogonal to what you said, I don't know what LdapConnectionConfig looks like. 11:46:55 it has members like authId, authPw, authMethod, port and host 11:47:19 for jndi you need to put these into a Hashtable that you can feed to the DirContext constructor 11:47:41 LdapConnectionConfig creates the Hashtable (the context environment) 11:48:18 anyway, I'm pretty sure it violates coupling design principles 11:48:34 (since LdapConnectionConfig has to know LdapConnection) 11:52:04 For that sort of use, I in fact kind of like the thing I described. In detail, there'd be a nested interface LdapConnection.Config and a static method in LdapConnection to return an instance (implementation-wise, probably a private static inner class) with the default parameters, and then the Config interface would have methods to set the parameters and construct a LdapConnection. 12:02:47 The method isValid(Comparable>, Comparable>) in the type LdapAttributeValidator>> is not applicable for the arguments (R, R) 12:02:50 wooooot 12:02:57 >> looks utterly wrong 12:03:46 -!- Sgeo has quit (Read error: Connection reset by peer). 12:04:46 How did you manage to get a LdapAttributeValidator>> in the first place? 12:05:13 I don't know 12:05:17 I thought you could do it C# style 12:05:26 like public foo() 12:05:35 and then call it like foo<..>() 12:05:44 but that's apperently not the Java-way of doing it 12:05:47 *apparentely 12:06:36 The call syntax with an explicit type parameter is not quite that, but other than that that doesn't seem *far* wrong. 12:06:45 Though normally type inference is supposed to take care of it. 12:07:24 -!- ais523_ has joined. 12:07:34 bleh 12:07:53 Did you write Comparable where you wanted > perhaps? 12:08:01 Something like that, anyway. 12:08:30 I have public static > LdapAttributeValidator getValidator 12:08:52 Okay, and what was the getValidator call like? 12:08:57 and some other method with that calls it like 12:09:07 LdapAttributeValidator validator = LdapAttributeValidator.getValidator 12:09:34 but this yields: Bound mismatch: The type R is not a valid substitute for the bounded parameter > of the type LdapAttributeValidator 12:09:56 The should at least be >. 12:10:09 ah 12:10:10 yeah 12:10:16 that fixes everything 12:10:43 There are some really obscure generic-related error messages in the javac, at least some that have to do with the capture. 12:11:28 The method validateAttribute(String, String, String, R, String) in the type LdapSearch is not applicable for the arguments (String, String, Integer, String) 12:11:31 what 12:11:48 It's supposed to Replace R with the type I feed it 12:11:52 that's how generics are supposed to work :( 12:12:29 Not if the parameter counts differ. 12:12:43 String, String, String, R, String is five items; String, String, Integer, String is four. 12:12:56 oh 12:12:57 hm 12:13:04 Writing that last one made me think of the spam sketch. 12:13:25 hu 12:14:05 where the hell is that fifth argument 12:14:11 Here's a gem of a generics error: http://sprunge.us/MWQP 12:14:23 It "obviously" means that it needs to be a void cycle(Queue q) instead. (Or with a helper method like that, anyway.) 12:14:32 ah 12:14:33 there 12:14:34 :) 12:15:29 Skolem type variables, in my coffee? 12:17:08 hm. 12:19:00 whait 12:19:04 this shit isn't typed?? 12:19:57 ah really 12:19:59 ok 12:25:52 I hate it when stuff is typed but APIs only return "String" 12:25:59 i.e. SQL has types 12:26:03 but you get everything as String 12:26:07 LDAP has types 12:26:13 but you get Strings for everything :( 12:29:32 I didn't think you gor Strings out of JDBC. 12:30:46 I don't know JDBC 12:30:47 -!- noconnection has quit (Quit: Page closed). 12:31:00 but Attribut.get from JNDI gives you a string for ints 12:31:11 *Attribute 12:31:57 use a different api then 12:32:14 never! 12:35:11 -!- Sorella- has joined. 12:38:57 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 12:53:39 -!- Sorella- has changed nick to Sorella. 12:53:41 -!- Sorella has quit (Changing host). 12:53:41 -!- Sorella has joined. 13:16:25 -!- Patashu has quit (Ping timeout: 260 seconds). 13:44:21 -!- Sprocklem has quit (Ping timeout: 264 seconds). 13:54:05 -!- conehead has joined. 14:16:03 -!- Phantom_Hoover has joined. 14:26:27 -!- sebbu has quit (Ping timeout: 245 seconds). 14:27:04 -!- conehead has quit (Quit: Computer has gone to sleep). 14:30:39 -!- sebbu has joined. 14:31:19 -!- mihow has joined. 14:31:20 -!- sebbu has quit (Changing host). 14:31:20 -!- sebbu has joined. 14:39:52 -!- sebbu has quit (Ping timeout: 240 seconds). 14:41:35 -!- sebbu has joined. 14:42:13 -!- sebbu has quit (Changing host). 14:42:14 -!- sebbu has joined. 14:56:14 -!- CrazyM4n has joined. 15:01:52 -!- Lymia has quit (Ping timeout: 240 seconds). 15:17:24 -!- Sprocklem has joined. 15:21:17 -!- not^v has joined. 16:01:57 -!- Sprocklem has quit (Ping timeout: 245 seconds). 16:34:16 -!- drdanmaku has joined. 17:05:42 -!- NeroReflex has joined. 17:05:47 hi 17:06:38 hi 17:09:11 Hi. Haven't been here in ages. 17:10:02 AnotherTest: I just assumed your test had finished by now 17:10:18 ais523_: I needed another one 17:11:50 Is fungot still around these days? 17:11:50 AnotherTest: that doesn't even have its own distinct posix interface and the various available dialects. scheme and calvin and hobbes score, which is normally related to the 17:12:09 :) 17:19:54 -!- zzo38 has quit (Remote host closed the connection). 17:28:12 [wiki] [[Talk:Alphuck]] http://esolangs.org/w/index.php?diff=40416&oldid=40407 * Imaginer1 * (+122) 17:47:17 -!- Lymia has joined. 17:47:17 -!- Lymia has quit (Changing host). 17:47:17 -!- Lymia has joined. 17:48:09 http://www.quora.com/How-does-Googles-Botguard-work 17:52:51 some insights into the botguard script.. 18:26:44 -!- Sprocklem has joined. 19:18:42 -!- J_Arcane has quit (Quit: (set-jarcane-connect! J_Arcane #f)). 19:20:10 -!- not^v has quit (Ping timeout: 272 seconds). 19:20:21 -!- not^v has joined. 19:21:53 -!- J_Arcane has joined. 19:23:57 -!- CrazyM4n has quit (Quit: Leaving). 19:33:15 -!- Melvar` has joined. 19:35:22 -!- idris-bot has quit (Ping timeout: 272 seconds). 19:36:00 -!- Melvar has quit (Ping timeout: 272 seconds). 19:36:06 -!- Melvar` has quit (Read error: Connection reset by peer). 19:37:25 -!- Melvar` has joined. 19:38:17 -!- not^v has quit (Ping timeout: 272 seconds). 19:39:00 -!- not^v has joined. 19:47:10 -!- Bicyclidine has joined. 19:48:09 -!- Melvar` has changed nick to Melvar. 19:57:55 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 20:12:10 -!- vravn_ has changed nick to vravn. 20:23:49 -!- NeroReflex has left. 20:36:15 -!- J_Arcane has quit (Quit: WeeChat 0.4.4-dev). 20:39:02 -!- J_Arcane has joined. 20:46:30 -!- TieSoul has quit (Read error: Connection reset by peer). 21:00:41 -!- Patashu has joined. 21:00:50 http://codegolf.stackexchange.com/questions/36645/brainfedbotsforbattling-a-brainf-tournament/37385 21:00:51 Yay! 21:00:53 I topped a hill! 21:01:01 I gotta go now though. 21:01:53 congrats Lymia, doing good work for the honour of #esoteric there 21:02:07 really, we /should/ be able to win that hill given the quality of other competition and how much experience we have 21:02:25 although it's clear that many of the other participants have read the strategy page, which is nice because it means the opposition isn't completely incompetent 21:02:48 -!- Bicyclidine has quit (Ping timeout: 246 seconds). 21:06:21 -!- Lymia has quit (Ping timeout: 260 seconds). 21:08:50 -!- J_Arcane has quit (Quit: (set-jarcane-connect! J_Arcane #f)). 21:11:45 -!- Bicyclidine has joined. 21:12:02 -!- J_Arcane has joined. 21:17:11 -!- idris-bot has joined. 21:19:37 -!- AnotherTest has quit (Ping timeout: 268 seconds). 21:24:12 I can't help but think it'd be nicer to have more immediate feedback than just twice-a-week updates. Though I guess you can run it locally. 21:24:17 -!- Sprocklem has quit (Ping timeout: 272 seconds). 21:25:22 -!- Patashu has quit (Ping timeout: 240 seconds). 21:36:27 -!- heroux has quit (Ping timeout: 255 seconds). 21:36:54 -!- heroux has joined. 21:40:22 -!- Bicyclidine has quit (Ping timeout: 240 seconds). 21:43:47 -!- ais523_ has quit (Quit: Page closed). 21:46:47 -!- boily has joined. 21:56:32 -!- copumpkin has quit (Ping timeout: 245 seconds). 22:01:41 -!- conehead has joined. 22:21:13 [wiki] [[Cork]] M http://esolangs.org/w/index.php?diff=40417&oldid=40385 * Oerjan * (+1) /* External Resources */ bullet 22:24:22 [wiki] [[///]] M http://esolangs.org/w/index.php?diff=40418&oldid=40382 * Oerjan * (+1) /* Implementation */ scaling back the blue 22:27:27 [wiki] [[Talk:Iota]] M http://esolangs.org/w/index.php?diff=40419&oldid=40389 * Oerjan * (+12) Move top posting 22:29:37 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=40420&oldid=40398 * Oerjan * (+1) Ain't no such thing 22:35:07 [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40421&oldid=40404 * Oerjan * (-2) line spacing 22:36:09 I'll regret this later, but I'm building trucks 22:36:14 argh, wrong channel 22:36:15 sorry 22:54:35 -!- Sgeo has joined. 22:57:13 b_jonas: it never is the wrong channel to build trucks. 22:57:16 -!- Sprocklem has joined. 22:57:36 @tell oerjan on a wiki-editing frenzy again? 22:57:36 Consider it noted. 22:58:29 [wiki] [[Iota]] http://esolangs.org/w/index.php?diff=40422&oldid=35311 * Oerjan * (+415) Clarification? 22:58:58 [wiki] [[Talk:Iota]] http://esolangs.org/w/index.php?diff=40423&oldid=40419 * Oerjan * (+101) /* Unclear */ HTH 23:05:04 [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=40424&oldid=40388 * Oerjan * (+32) /* Based on dimensions */ TOD 23:06:28 -!- boily has quit (Quit: LINEAR CHICKEN). 23:08:34 -!- not^v has joined. 23:15:36 -!- Bicyclidine has joined. 23:25:23 -!- mihow has quit (Quit: mihow). 23:25:57 -!- Sprocklem has quit (Ping timeout: 246 seconds). 23:29:07 -!- not^v has quit (Ping timeout: 268 seconds). 23:31:52 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 23:40:04 -!- Sprocklem has joined. 23:54:51 -!- not^v has joined. 2014-09-09: 00:04:57 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 00:10:23 -!- zzo38 has joined. 00:10:46 -!- Lymia has joined. 00:10:49 nya~ 00:11:52 hi 00:27:05 -!- Bicyclidine has joined. 00:38:28 -!- copumpkin has joined. 00:44:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:51:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 00:55:39 -!- Melvar` has joined. 00:56:57 -!- Melvar has quit (Ping timeout: 245 seconds). 00:57:06 -!- idris-bot has quit (Ping timeout: 272 seconds). 00:58:13 -!- idris-bot has joined. 01:00:49 -!- G33kDude has joined. 01:01:13 Anyone here that can help me with piet? I'm having a very hard time understanding the roll command 01:13:42 ? 01:13:55 i can't. 01:13:59 where is roll documented? 01:17:37 near the bottom of this page http://www.dangermouse.net/esoteric/piet.html 01:18:29 -!- Melvar` has changed nick to Melvar. 01:20:30 seems clear. eg. roll on stack a b c d e 4 2 results in a d e b c 01:21:28 roll on stack a b c d e 4 1 results in a e b c d 01:22:32 With left on top, 2 4 5 4 3 2 1 is returning 3 2 5 4 1 01:22:46 i have top on right 01:23:15 taking the first 2 items, and putting the bottom of the items into what will be the 4th stack spot. But then what does 'negative roll' do? 01:23:22 Experimentation leaves me confused 01:24:27 roll on stack a b c d e 4 -1 results in a c d e b 01:24:38 same as roll on stack a b c d e 4 3 01:25:30 oh 01:25:40 I've been thinking about this completely in the wrong way 01:28:07 I'm not too familiar with stack manipulations 01:28:11 hence my confusion 01:28:29 roll is standard among all stack based languages 01:29:07 of which none I am familiar with 01:29:49 it literally moves stack elements around 01:30:12 -!- Bicyclidine has quit (Ping timeout: 246 seconds). 01:30:12 in a circular motion 01:30:25 I understand now 01:30:34 I did not understand roughly 6 minutes ago 01:43:55 -!- scounder has quit (Ping timeout: 260 seconds). 01:43:57 -!- Bicyclidine has joined. 01:50:20 -!- scounder has joined. 02:04:22 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 02:44:40 !bfjoust ping < 02:48:54 tromp_: Thank you for your help 02:49:07 My piet interpreter works now :) 02:59:05 gratz, G33kDude! 03:17:18 tromp_: My test program was http://www.dangermouse.net/esoteric/piet/pietquest.png 03:17:32 It's a text adventure; very fun. 03:19:24 hmm, is this handwritten in piet or compiled to piet? 03:34:12 -!- polytone_ has joined. 03:35:59 -!- jix_ has joined. 03:37:18 -!- yorick_ has joined. 03:40:32 -!- not^v has quit (*.net *.split). 03:40:33 -!- jix has quit (*.net *.split). 03:40:33 -!- yorick has quit (*.net *.split). 03:40:33 -!- polytone has quit (*.net *.split). 03:41:23 -!- G33kDude has changed nick to GeekDude. 03:45:51 -!- 16WAAD3I5 has joined. 03:50:02 -!- paul2520 has joined. 03:58:12 -!- not^v has joined. 04:01:24 -!- 16WAAD3I5 has quit (Ping timeout: 272 seconds). 04:04:12 -!- FireFly has quit (Ping timeout: 240 seconds). 04:04:12 tromp_: that was compiled 04:06:52 -!- esowiki has joined. 04:06:56 -!- esowiki has joined. 04:06:57 -!- esowiki has joined. 04:07:32 -!- esowiki has joined. 04:07:37 -!- esowiki has joined. 04:07:37 -!- esowiki has joined. 04:07:47 -!- glogbot has joined. 04:08:05 -!- Gregor has joined. 04:09:03 -!- FireFly has joined. 04:20:20 tromp_: 04:20:24 I'll be back tomorrow 04:20:25 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:22:13 -!- scounder has quit (Ping timeout: 260 seconds). 04:35:34 -!- scounder has joined. 04:40:33 -!- clog has quit (Ping timeout: 268 seconds). 05:00:02 -!- not^v has changed nick to v^Bot. 05:00:52 -!- v^Bot has quit (Quit: http://i.imgur.com/Akc6r.gif). 06:18:04 Integers with multpilication form a group, right? 06:18:17 No. 06:18:54 I suspected so. 06:19:19 Is it because you can't define an inverse? 06:19:57 yea 06:20:35 naturals mod a prime (or more? eh) should be alright though. 06:25:22 oh wait. overloading doesn't work with java generics 06:25:30 screw this. Who made this crappy language? 06:27:19 Bike: at least mod a prime 06:27:24 since you can define an inverse for everything then 06:27:52 I'm not sure if there are non primes that have an inverse for everything 06:32:16 mroman_: Backwards compatibility, y'see. 06:32:33 Overloading is overrated, anyway. 06:39:38 -!- clog has joined. 06:45:08 Hrm. The London subway map is not terribly intelligible in grayscale. 06:49:45 It'd be tricky anyway 06:49:51 for example class Foo 06:50:02 Foo(T t) { ..} Foo(U u) {..} 06:50:09 since that would require a constraint T != U 06:50:15 and I don't think Java supports that 06:52:43 You'd presumably do that with private Foo(T t, U u) {..} public static Foo fromT(T t) { return new Foo(t, null); } public static Foo fromU(U u) { return new Foo(null, u); } 06:52:55 yep 06:53:47 it would be sorta cool because you probably then could extract an element by type 06:53:53 i.e U get(); T get(); 06:54:22 Well, you can't overload based on only return type in the first place, anyway. 06:54:24 rather than U getU(); T getT(); 06:54:40 not in Java, yes @return type only 06:54:54 since U and T are both erased to Object 06:54:59 anyway 06:55:17 Well, even without that. The language won't let you write an int get() and a double get(). 06:56:45 I know. 06:57:21 mroman_: integers are a group if you drop 0 06:57:37 coppro: ? 06:58:03 02:18:04 < mroman_> Integers with multpilication form a group, right? 06:58:06 So which integer is the multiplicative inverse of 2? 06:58:18 oh... integers 06:58:18 nvm 06:58:22 somehow I read rationals 07:02:29 hm 07:02:35 there's now T.getClass() either 07:02:38 *no 07:04:04 In quite a lot of cases, you just ask clients to pass a Class object if you need a "type token" inside the code. 07:04:22 http://codepad.org/nSxBZMFi 07:04:27 ^- this isn't working as well 07:05:04 technically I'd expect (U)t; to fail on the Integer 07:05:16 but it doesn't. 07:05:30 probably because it's (Object)t anyway 07:06:11 mroman_: public U get(Class clazz) { return clazz.cast(whatever); } 07:06:47 but that's uncool 07:06:48 objs.get(Integer.class); will then properly barf out at cast-time with a ClassCastException. 07:07:08 Incidentally, the fromT/fromU I wrote above needs to be (sigh) public static Tmp fromT(R t) { return new Tmp<>(t, null); } and then you have to call it as Tmp.fromT(foo); 07:07:29 it works though of course 07:08:29 it would be much more usefull if Java could provide U.getClass 07:08:37 which is technically possible 07:08:42 probably 07:08:56 ah no 07:09:08 the compiler knows U 07:09:11 but the runtime doesn't 07:09:24 Yes, and the compiler can only generate the one method, since it's not templates or anything. 07:09:25 but maybe the compiler could inject some boiler-plate code 07:09:48 A hidden type token parameter injected at each call site? 07:09:51 the compiler *could* create multiple methods 07:09:53 like C++-style 07:10:01 but yeah. 07:10:06 that ain't gonna happen soon 07:10:17 (I suppose Java 8 nor Java 9 will have such features?) 07:10:31 Java 8 has been out for quite a while, and it doesn't do that. 07:10:39 The streams are nice, though. 07:11:42 It's anonymous inner classes all the way down, of course, but with lots of syntactic sugar. 07:12:09 actually 07:12:20 Tmp.<> shouldn't be necessary in Java 8? 07:12:43 That's possible, I think I heard something vague about improving the type inference. 07:13:02 I don't have a Java 8 thing on this thing. 07:14:01 List names = students.stream().map(Student::getName).filter(name->name.startsWith("A")) 07:14:04 .collect(Collectors.toList()); 07:14:05 Oh, I must've messed something earlier, it does work in Java 7 without that too. 07:14:18 interesting @streams 07:19:52 The method references are fancy. If class Bar has a method Foo fooify(); then passing Bar::fooify to a method taking an interface Foolator { Foo arbitraryName(Bar b); } is close to passing new Foolator() { Foo arbitraryName(Bar b) { return b.fooify(); } } 07:21:02 [wiki] [[Talk:AutoMouse]] http://esolangs.org/w/index.php?diff=40425&oldid=8333 * Rdebath * (+5701) Bit of digging. 07:21:07 what's the type of lambda expressions actually? 07:21:15 All those fancy example pages never list that 07:21:28 [wiki] [[AutoMouse]] http://esolangs.org/w/index.php?diff=40426&oldid=37444 * Rdebath * (-8) Source code says 1998 07:21:43 looks like it infers it 07:21:52 i.e n -> Boolean is Predicate 07:24:08 http://java.dzone.com/articles/introduction-functional-1 07:25:17 (that sounds like any "functional interface" works, but doesn't say anything about inference) 07:30:30 Yes, you're supposed to be able to stick a lambda wherever a "functional interface" is expected. 07:53:06 -!- AnotherTest has joined. 08:12:23 -!- ^v has quit (Ping timeout: 240 seconds). 08:22:40 automouse sounds great, except this microsoft windows thingie 08:25:40 -!- Patashu has joined. 08:27:45 -!- ^v has joined. 08:34:26 [wiki] [[Special:Log/newusers]] create * CRS-ECHO51 * New user account 08:34:28 [wiki] [[Talk:Alphuck]] http://esolangs.org/w/index.php?diff=40427&oldid=40416 * Rdebath * (+242) /* The least you can do is make it mnemonic */ 08:41:21 -!- KingOfKarlsruhe has quit (Ping timeout: 264 seconds). 08:45:38 -!- shikhin has joined. 08:53:40 -!- KingOfKarlsruhe has joined. 08:56:08 i should make numfuck with 1 to 8 as instructions, just because i can! 09:02:48 -!- oerjan has joined. 09:06:38 -!- yorick_ has changed nick to yorick. 09:09:10 ok 09:09:16 if you do that I'lll create XMLFuck 09:09:59 . 09:10:08 something ugly like thatt 09:10:12 how can that possibly not have been done already. 09:10:31 wait 09:10:33 there's an XMLfuck 09:10:51 @messages- 09:10:51 boily said 10h 13m 14s ago: on a wiki-editing frenzy again? 09:10:57 mroman_: thought so 09:11:27 well... 09:11:31 HTMLfuck is probably still open 09:11:37 @tell boily I am reading the wiki recent changes in very large batches recently 09:11:37 Consider it noted. 09:11:46 mroman_: wouldn't bet on it. 09:12:17 mroman_: type=increment? 09:12:32 mroman_: besides that: go for it 09:14:23 I will! 09:17:10 I think that a program in register forwarding format should have only one kind of terminator for each block, which consists of a register number inside of the current block, and a set of zero or more (values,block,arguments) triples. If it matches a value in the list, the next block is the specified one with the specified arguments (each argument is a register number from the current block). If none match, undefined behaviour is caused. 09:17:43 (Note that pseudo-blocks such as RETURN are also possible.) 09:19:17 http://mroman.ch/bfhtml.html <- there you go 09:19:37 (The block can also be any block within the current function, or the initial block of any other function in the program.) 09:20:07
..
shall be treated as a loop . 09:20:13 the rest is usual brainfuck style 09:20:18 except that < > are < > of course 09:20:45 it also provides neat indentation . 09:21:45 however, most browsers refuse to copy the [ and ] in the webpage 09:22:44 which makes it kinda pythony 09:22:50 instead of [] you have to use indentation . 09:23:04 aka Braynfuck 09:24:22 so you remove one character from the Brainfuck-Alphabet without loosing anything 09:24:31 the perfect brainfuck minimalization 09:25:19 You minimalize nothing. Instead of [ and ] you now need spaces and line breaks. 09:25:36 Still two characters each. 09:25:56 three if you have windows 09:26:27 I didn't expect people to find out that soon that it's bogus 09:27:12 I don't know if you expected anyone else to, but I did. 09:30:39 How about Huffman encoded BF? 09:31:18 Or noe encoded bf 09:31:24 noe oughta be really well with brainfuck 09:32:43 since you can define an inverse for everything then <-- everything that isn't divisible by the prime, you mean. 09:33:14 I'm not sure if there are non primes that have an inverse for everything <-- then you change it to "everything that is relatively prime to your modulus" 09:33:31 noe can compress helloworld bf by 30% 09:33:55 at least 09:34:25 what's noe 09:34:45 some stupid compression algorithm I had the idea to 09:34:46 00 = + / 01 = - / 10 = < / 110 = > / 11100 = [ / 11101 = ] / 11110 = . / 11111 = , 09:35:02 3.625 bits per average instruction instead of 3. 09:36:22 i have a hunch you're not referring to https://github.com/noe/encoding 09:36:55 what 09:36:59 *not*? 09:37:07 I'm referring to that 09:37:09 oh. 09:37:19 i didn't think you were spanish 09:37:28 oh 09:37:29 wait 09:37:29 no 09:37:44 https://github.com/FMNSSun/noe/ 09:37:47 ^- im refering to that 09:37:51 sry. I read your url wrong 09:39:19 It can compress http://www.iwriteiam.nl/Ha_bf_inter.html by 46% 09:39:47 the simple version of noe 09:39:53 the real version oughta do much better 09:40:29 good, good 09:44:48 hm. or not. 09:46:14 gotta tune the params. 09:47:55 47% 09:47:59 not really that much better 09:48:30 however, you can combine it with huffman 09:48:41 i.e. by not encoding a char with 8bits you obviously get even more 09:49:04 technically you'd need 3 bits max for a bf instruction 09:49:46 shannon will get you anyhow. 09:50:06 yeah it's 47% for the selfinterpreter 09:53:50 55% with simple if you use 3 bits 09:53:54 which sounds odd 09:53:57 > 8.0/3.0 09:53:59 2.6666666666666665 09:54:11 > 1/2.666 09:54:12 0.37509377344336087 09:54:23 > 1-(1/2.666) 09:54:24 0.6249062265566392 09:54:32 just using 3bits should already give you 62% 09:55:21 wait 09:55:27 my ratio calculation looks terribly wrong 09:57:12 > 3/8 09:57:13 0.375 10:05:35 yeah. 10:05:46 it can't compress anything if a symbol only has three bits 10:08:47 noe works differently 10:12:35 -!- boily has joined. 10:13:29 it's usually able to compress single english sentences by 25% - 35% 10:22:23 so I thought 10:22:42 a more reasonable benchmark says around 8% :( 10:24:43 but yeah. It's a sucky compression algorithm except in a few edgecases 10:29:55 other sucky compression algorithms in my head are using permutations 10:29:56 i.e. 10:30:06 if you have 5 symbols, you need 3 bits for one symbol 10:30:25 which means to encode a string of 5 symbols you need 15bits 10:30:33 however, there are only 120 permutations of 5 symbols 10:30:47 i.e. you could encode which permutation of 5 symbols it is in 7bits 10:30:53 saving 8 bits 10:32:21 also 10:32:24 you can create a tape 10:32:34 i.e "ABCDE" if you have 5 symbols 10:32:47 and the pointer is at A 10:32:59 1 means left, 0 means right 10:33:35 if the you want to compress BACDEAB you'd write 0100000 10:34:32 (also 7 bits instead of 15) 10:35:08 But what if I want to encode "Qzyzzalroum"? 10:35:16 you lost me there. isn't “0100000” ambiguous? 10:35:58 You lost me earlier about the permutation thing, if your alphabet is "ABCDE", which permutation numbers you write down for the string "AAAAABBBBB". 10:36:19 boily: maybe i made a mistake there 10:36:22 let me check that 10:36:47 true 10:37:02 I forgot the stop sign 10:37:04 :) 10:37:06 Oh I actually brought this word up here before. Interesting :) 10:37:33 `? qzyzzalroum 10:37:34 qzyzzalroum? ¯\(°​_o)/¯ 10:37:45 int-e: then define it ^^ 10:37:56 fizzie: It's not a general purpose compression ;) 10:38:50 `define qzyzzalroum You should start the crossword over. 10:38:51 Failed to connect to socket 2. \ \ Looking up 127.0.0.1:3128 \ Making HTTP connection to 127.0.0.1:3128 \ Sending HTTP request. \ HTTP request sent; waiting for response. \ Alert!: Unexpected network read error; connection aborted. \ Can't Access `http://google.com/search?q=define:%71%7a%79%7a%7a%61%6c%72%6f%75%6d%20%59%6f%75%20%73%68%6f%75%6c%64% 10:39:13 obviously the tape thingy is only working if you have lots of sorted substrings 10:39:23 `learn qzyzzalroum You should start the crossword over. 10:39:27 I knew that. 10:39:37 so what's `define? 10:39:43 I don't know. 10:39:52 You can tell from the URL. 10:39:59 It used to be "ask google for a definition of a word". 10:40:09 Now it's "break down". 10:40:10 mroman_: well, you can achieve that with that banana matrix from bzip2 I guess. 10:40:25 fizzie: oh I missed the readable part in all the gibberish 10:40:29 (how is it called again? I only have the wikipédia example in my head...) 10:40:59 ah! burrows-wheeler. but I still prefer “banana matrix”. 10:41:00 > map (chr.fst.head.reads.tail) $ iterate (drop 3) "%71%7a%79%7a%7a%61%6c%72%6f%75%6d%20%59%6f%75%20%73%68%6f%75%6c%64%" :: String 10:41:01 "G\aO\a\a=\ACKH\ACKK\ACK\DC4;\ACKK\DC4ID\ACKK\ACK@*Exception: Prelude.head: ... 10:41:31 > map (chr.fst.head.reads.("0x"++).tail) $ iterate (drop 3) "%71%7a%79%7a%7a%61%6c%72%6f%75%6d%20%59%6f%75%20%73%68%6f%75%6c%64%" :: String 10:41:32 "qzyzzalroum You should\NUL*Exception: Prelude.tail: empty list 10:43:16 > read "0x" :: Int 10:43:17 *Exception: Prelude.read: no parse 10:43:48 > reads "0x" :: [(Int, String)] 10:43:49 [(0,"x")] 10:44:01 Sure. 10:44:14 > reads "0x1" :: [(Int, String)] 10:44:15 [(1,"")] 10:45:25 `` perl -e 'use URI::Escape;print uri_unescape("%71%7a%79%7a%7a%61%6c%72%6f%75%6d%20%59%6f%75%20%73%68%6f%75%6c%64%")' 10:45:25 Can't locate URI/Escape.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at -e line 1. \ BEGIN failed--compilation aborted at -e line 1. 10:45:30 of course. 10:47:51 `` python -c 'import urllib; print urllib.unquote("%71%7a%79%7a%7a%61%6c%72%6f%75%6d%20%59%6f%75%20%73%68%6f%75%6c%64%")' 10:47:52 qzyzzalroum You should% 10:51:51 `run perl -e 'print pack("C*", map {hex} ("%71%7a%79%7a%7a%61%6c%72%6f%75%6d%20%59%6f%75%20%73%68%6f%75%6c%64%" =~ /%(..)/g));' 10:51:52 qzyzzalroum You should 11:00:31 -!- GeekDude has joined. 11:00:34 hello tromp_ 11:00:38 and everyone else 11:02:31 GeekDood morning! 11:07:33 -!- boily has quit (Quit: QZYZZALROUMISCH CHICKEN). 11:26:01 `? qzyzzalroum 11:26:01 qzyzzalroum You should start the crossword over. 11:26:41 @tell boily I think the pdf maintainer should know how `learn actually works twh 11:26:42 Consider it noted. 11:27:15 `run echo "You should start the crossword over." >wisdom/qzyzzalroum 11:27:18 No output. 11:27:22 `? qzyzzalroum 11:27:23 You should start the crossword over. 11:45:13 `cat bin/learn 11:45:14 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." 11:46:52 `? I 11:46:53 i love monoids 11:47:47 -!- idris-bot has quit (Ping timeout: 276 seconds). 11:48:12 -!- Melvar has quit (Ping timeout: 245 seconds). 12:01:22 -!- AnotherTest has quit (*.net *.split). 12:01:59 -!- Sgeo has quit (Read error: Connection reset by peer). 12:05:14 -!- Melvar has joined. 12:05:16 My hobby: Make people scared by trying to login to their computer and watch them see the "There has been one failed attempt" message . 12:05:36 That was even in an xkcd I guess? 12:05:50 -!- AnotherTest has joined. 12:16:07 -!- Lymia has quit (Ping timeout: 245 seconds). 12:16:49 -!- idris-bot has joined. 12:17:16 @hoogle ldapClose 12:17:18 No results found 12:17:20 @hoogle ldapOpen 12:17:20 No results found 12:17:29 LDAP has ldapOpen 12:17:33 but does it have ldapClose o_O 12:20:42 -!- tromp has quit (Ping timeout: 255 seconds). 12:27:34 -!- Patashu has quit (Disconnected by services). 12:27:35 -!- Patashu_ has joined. 12:47:47 (("objectCategory" `ldapEqu` "person") `ldapAnd` ("objectCategory" `ldapEqu` "contact")) `ldapAnd` (("sn" `ldapEqu` "Smith") `ldapOr` ("sn" `ldapEqu` "Johnson")) 12:47:50 (&(&(objectCategory=person)(objectCategory=contact))(|(sn=Smith)(sn=Johnson))) 12:48:17 ^- Somebody should do this 12:48:21 but more serious 12:49:17 What’s it called again where you stick the module name in everything? ;_; 12:49:34 -!- tromp has joined. 12:49:57 this is going to be painful to implement 12:51:48 *Main> "fooAttrib" `ldapEqu` "(.*)" 12:51:48 (fooAttrib=\28.\2a\29) 12:52:07 but that's as much functionality as my quick hacking gives 12:52:49 -!- oerjan has quit (Quit: ldapGlassHalfFull). 12:54:09 -!- polytone_ has changed nick to monotone. 12:56:44 -!- AnotherTest has quit (Ping timeout: 252 seconds). 12:58:17 -!- AnotherTest has joined. 13:02:20 Melvar: "in everything"? 13:02:28 You mean re-export it? 13:02:35 or qualified import? 13:04:17 mroman_: No, I mean having “ldap” in “ldapEqu”, “ldapAnd”, “ldapOr”, etc. 13:04:54 it's called "avoid collisions with other operators from other modules" 13:05:07 @hoogle or 13:05:09 Prelude or :: [Bool] -> Bool 13:05:09 Data.List or :: [Bool] -> Bool 13:05:09 Data.Foldable or :: Foldable t => t Bool -> Bool 13:05:14 ^- see 13:05:17 or is already taken :) 13:05:24 You let the *user* decide that. 13:05:27 foldable? 13:05:30 interesting 13:05:32 They can import your module qualified if they like. 13:05:34 @info Foldable 13:05:34 Foldable 13:05:39 -.- 13:05:55 oh 13:06:08 it's that secret-black-magic * -> * stuff 13:07:29 Any examples using Foldable Maybe? 13:07:33 I can't figure one out 13:09:31 > fold (\a b -> a + b) [Just 5, Just 6] 13:09:33 No instance for (GHC.Show.Show a0) 13:09:33 arising from a use of ‘M114505817426468540712624.show_M1145058174264685407... 13:09:33 The type variable ‘a0’ is ambiguous 13:09:33 Note: there are several potential instances: 13:09:33 instance [safe] GHC.Show.Show (b GHC.Types.Int) => 13:09:52 > (fold (\a b -> a + b) [Just 5, Just 6]) :: Maybe Int 13:09:54 Couldn't match type ‘[Data.Maybe.Maybe a0]’ 13:09:54 with ‘Data.Maybe.Maybe GHC.Types.Int’ 13:09:54 Expected type: [Data.Maybe.Maybe a0] 13:09:54 -> [Data.Maybe.Maybe a0] -> [Data.Maybe.Maybe a0] 13:09:54 Actual type: [Data.Maybe.Maybe a0] 13:09:58 @type fold 13:09:59 (Monoid m, Foldable t) => t m -> m 13:10:35 > fold (Just 5) 13:10:36 No instance for (GHC.Show.Show a0) 13:10:36 arising from a use of ‘M712488520844229804512663.show_M7124885208442298045... 13:10:36 The type variable ‘a0’ is ambiguous 13:10:36 Note: there are several potential instances: 13:10:36 instance [safe] GHC.Show.Show (b GHC.Types.Int) => 13:10:44 Maybe is a foldable 13:10:48 What do you want the monoid to be? 13:10:54 I have no idea 13:11:19 but Maybe is also a Monoid 13:11:31 > fold (Just (Just 5)) 13:11:33 No instance for (GHC.Show.Show a0) 13:11:33 arising from a use of ‘M514486933773938025012685.show_M5144869337739380250... 13:11:33 The type variable ‘a0’ is ambiguous 13:11:33 Note: there are several potential instances: 13:11:33 instance [safe] GHC.Show.Show (b GHC.Types.Int) => 13:11:34 Only for Monoid element type. 13:11:36 :( 13:11:45 > fold (Just (succ)) 13:11:47 No instance for (Data.Typeable.Internal.Typeable a0) 13:11:47 arising from a use of ‘M163181566624904154912697.show_M1631815666249041549... 13:11:47 The type variable ‘a0’ is ambiguous 13:11:47 Note: there are several potential instances: 13:11:47 instance Data.Typeable.Internal.Typeable Data.Dynamic.Dynamic 13:12:01 @type fold 13:12:03 (Monoid m, Foldable t) => t m -> m 13:12:10 it want's a Foldable that contains a Monoid 13:12:16 and returns the Monoid 13:12:19 *wants 13:12:22 Yes. 13:12:25 so 13:12:30 Maybe is Foldable 13:12:43 and also a Monoid 13:12:51 then Just Nothing should be t m? 13:12:51 Only for monoid element type. 13:13:05 @type Just Nothing 13:13:06 Maybe (Maybe a) 13:13:17 oh 13:13:48 fold (Just "foo") 13:13:53 > fold (Just "foo") 13:13:54 "foo" 13:14:00 Maybe isn't a Monoid 13:14:11 > fold (Nothing :: Maybe String) 13:14:13 "" 13:14:45 hu 13:14:50 String is a monoid? 13:15:04 [a] is one at least, I see 13:15:19 > fold (Sum 8) 13:15:21 Could not deduce (Data.Foldable.Foldable Data.Monoid.Sum) 13:15:21 arising from a use of ‘Data.Foldable.fold’ 13:15:21 from the context (Data.Monoid.Monoid m, GHC.Num.Num m) 13:15:21 bound by the inferred type of 13:15:21 it :: (Data.Monoid.Monoid m, GHC.Num.Num m) => m 13:15:37 > fold (Just (Sum 8)) 13:15:39 Sum {getSum = 8} 13:16:01 “instance Monoid a => Monoid (Maybe a)” 13:16:24 > fold (Nothing :: Maybe (Sum Integer)) 13:16:25 Sum {getSum = 0} 13:16:30 > fold [Sum 8] 13:16:31 Sum {getSum = 8} 13:16:35 > fold [Sum 8, Sum 9] 13:16:37 Sum {getSum = 17} 13:16:50 > fold [Just 8, Just 9] 13:16:51 No instance for (GHC.Show.Show a0) 13:16:51 arising from a use of ‘M62230355020165895612855.show_M62230355020165895612... 13:16:51 The type variable ‘a0’ is ambiguous 13:16:51 Note: there are several potential instances: 13:16:51 instance [safe] GHC.Show.Show (b GHC.Types.Int) => 13:17:11 > (fold [Just 8, Just 9]) :: Maybe Int 13:17:12 No instance for (Data.Monoid.Monoid GHC.Types.Int) 13:17:13 arising from a use of ‘Data.Foldable.fold’ 13:17:16 ok 13:17:17 I see 13:17:23 I understand now 13:17:26 For Maybe, fold = maybe mempty id . 13:17:32 > fold [All False, All True] 13:17:34 All {getAll = False} 13:17:58 but... 13:18:04 > mconcat [All False, All True] 13:18:06 All {getAll = False} 13:18:11 where's the difference? 13:18:18 For List, fold = mconcat . 13:18:51 > fold $ Just (Any False) 13:18:52 fold works on all Foldables, mconcat only on lists. 13:18:52 Any {getAny = False} 13:19:03 @type fold 13:19:03 (Monoid m, Foldable t) => t m -> m 13:19:05 @type mconcat 13:19:06 Monoid a => [a] -> a 13:19:16 ic. 13:19:30 What are usually usecases for fold where fold /= mconcat? 13:20:17 You get to be generic in your container type. 13:20:18 Foldable ((,) a) wtf 13:20:27 (,) is a function? 13:20:30 @type (,) 13:20:31 a -> b -> (a, b) 13:20:42 you can make instances of functions? 13:20:52 @kind (,) 13:20:53 * -> * -> * 13:20:59 It’s that one. 13:21:41 @kind (,) Integer 13:21:42 * -> * 13:22:14 @kind id 13:22:15 Not in scope: type variable ‘id’ 13:22:21 @kind Just 13:22:22 k -> Maybe k 13:22:28 k 13:22:33 Oh, datakinds. 13:23:00 > let foo = Just :: (k -> Maybe k) 13:23:02 not an expression: ‘let foo = Just :: (k -> Maybe k)’ 13:23:06 > let foo = Just :: (k -> Maybe k) in undefined 13:23:08 *Exception: Prelude.undefined 13:23:31 mroman_: Kinds are the types of types. 13:24:10 and super kinds are the type of kinds? 13:24:12 ;P 13:24:34 @type [] 13:24:35 [t] 13:24:38 @kind [] 13:24:39 * -> * 13:25:01 @data Foo a b c = Foo a b c 13:25:01 Unknown command, try @list 13:25:08 @define Foo a b c = Foo a b c 13:25:09 .L.hs:181:1: Not in scope: data constructor ‘Foo’ 13:25:09 13:25:09 .L.hs:181:13: Not in scope: data constructor ‘Foo’ 13:25:09 13:25:09 .L.hs:181:17: 13:25:10 I think those are usually called sorts, but haskell doesn’t do anything at that level I think. 13:25:30 @kind Maybe 13:25:31 * -> * 13:25:39 hm 13:25:39 ok 13:25:49 Also 13:25:56 @let data Foo a b c = Foo a b c 13:25:59 Defined. 13:26:44 Now you have one Foo at the type level and one Foo at the data level. 13:26:55 @kind Foo 13:26:56 * -> * -> * -> * 13:27:01 This is the former. 13:27:04 @type Foo 13:27:05 a -> b -> c -> Foo a b c 13:27:09 This is the latter. 13:28:05 Similarly with (,) . 13:28:09 http://codepad.org/Vv2ggd5x 13:28:30 Fancy stuff 13:29:08 Probably needs an extension of some kind if you want to state the kind explicitly. It can infer it though. 13:29:20 -XKindSignatures is at least required 13:30:31 ( :t Maybe 13:30:31 Prelude.Maybe.Maybe : Type -> Type 13:30:50 ( :t Just 13:30:52 Prelude.Maybe.Just : a -> Maybe a 13:31:18 ( Just Maybe 13:31:18 Just Maybe : Maybe (Type -> Type) 13:32:26 hm 13:32:55 can't have multiple kinds? 13:33:06 class Foo (t :: * -> * -> *, u :: * -> *) 13:33:27 “class Foo (t :: * -> * -> *) (u :: * -> *)”? 13:33:38 ah 13:33:41 Multiparamtypeclasses 13:33:44 yay 13:34:30 @type traverse_ 13:34:31 Not in scope: ‘traverse_’ 13:34:31 Perhaps you meant one of these: 13:34:31 ‘F.traverse_’ (imported from Data.Foldable), 13:34:49 @type F.traverse_ 13:34:50 (Foldable t, Applicative f) => (a -> f b) -> t a -> f () 13:35:41 @type F.traverse_ print (Just "foo") 13:35:42 IO () 13:36:24 http://codepad.org/pMAn78K6 <- I think I understand it now 13:36:25 That’s another thing to do with a Foldable Maybe. 13:36:29 I just don't know anything useful to do with it 13:38:39 http://codepad.org/FLi0rKHf <- that's the most useful thing I can imagine 13:39:39 That still doesn’t require the kind signatures. 13:40:07 not? 13:40:19 (t :: * -> *) at least is illegal without -XKindSignatures 13:40:30 The kinds can be inferred. 13:41:12 class Convert t u isn't working though 13:41:43 What’s it saying? 13:43:26 More precisely: WFM. 13:43:36 ‘Convert’ is applied to too many type arguments In the instance declaration for ‘Convert (Maybe) ([])’ 13:43:46 ah 13:43:48 damn reload 13:44:33 it works, yes 13:44:38 “class Functor f where fmap :: (a -> b) -> f a -> f b” doesn’t require an explicit signature either. 13:45:38 I believe you need the kind signatures if you want a polymorphic kind, but I don’t have any particular idea that would require those. 13:48:17 -!- Sprocklem has quit (Ping timeout: 260 seconds). 13:49:07 ( :t sequence 13:49:07 Prelude.Traversable.sequence : Traversable t => Applicative f => t (f a) -> f (t a) 13:49:09 -!- ais523 has joined. 13:49:34 with Vect sequence [[1,2,3],[4,5,6]] 13:49:37 ( with Vect sequence [[1,2,3],[4,5,6]] 13:49:37 [[1, 4], [2, 5], [3, 6]] : Vect 3 (Vect 2 Integer) 13:51:45 what does "with" do? 13:53:11 @hoogle u (t a) -> u a 13:53:12 Control.Monad.List ListT :: m [a] -> ListT a 13:53:12 Language.Haskell.TH.Syntax Q :: (forall m. Quasi m => m a) -> Q a 13:53:12 Data.Maybe catMaybes :: [Maybe a] -> [a] 14:11:59 > catMaybes $ map Just [99,99] 14:12:01 [99,99] 14:12:28 ( id 4 14:12:28 4 : Integer 14:12:43 ( :t id 14:12:44 Prelude.Basics.id : a -> a 14:12:44 Control.Category.id : Category cat => cat a a 14:12:51 ( :t (+) 14:12:53 Prelude.Classes.(+) : Num a => a -> a -> a 14:12:53 Prelude.Fin.(+) : Fin n -> Fin m -> Fin (n + m) 14:13:05 ( :t Fin.(+) 14:13:05 Prelude.Fin.(+) : Fin n -> Fin m -> Fin (n + m) 14:13:12 ( Fin 9 14:13:12 Fin 9 : Type 14:13:27 ( :t (Fin 9) Fin.(+) (Fin 1) 14:13:28 (input):1:12:When elaborating an application of constructor __infer: 14:13:28 Fin (fromInteger 9) does not have a function type (Type) 14:13:37 ( :t (Fin 9) `Fin.(+)` (Fin 1) 14:13:37 (input):1:22:When elaborating an application of function Prelude.Fin.+: 14:13:37 Can't unify 14:13:37 Type 14:13:37 with 14:13:37 Fin m↵… 14:13:47 ( :t (Fin 9) + (Fin 1) 14:13:47 Can't resolve type class Num Type 14:13:51 boo! 14:21:03 [wiki] [[Bitoven]] N http://esolangs.org/w/index.php?oldid=40428 * Imaginer1 * (+3057) Created page with "'''Bitoven''' is a WIP programming language by [[User:Imaginer1]] in early September 2014, with the goal of making a musical programming language focusing more on free express..." 14:23:26 WIP? 14:23:36 TIOBE-Sprachen-Index: C++ und Java auf Allzeit-Tief <- suck it C++ and Java 14:26:07 Everything that matches /trivial brainfuck substitution/ or the like should be treated as spam :( 14:26:27 unless it's funny 14:26:38 which most of those "joke" languages aren't really funny I'm afraid 14:33:53 -!- shikhin has quit (Ping timeout: 240 seconds). 14:35:26 -!- Phantom_Hoover has joined. 14:38:47 ais523: It says to prefer that namespace if it can’t disambiguate something otherwise. 14:39:06 Melvar: right, I was guessing it was something like that 14:39:31 mroman_: Fin 9 is a type. You can’t add types together. 14:40:20 Melvar: I add together types all the time :-( 14:40:26 (seriously, that's one of the things I do in my research) 14:41:08 Oh sure, I mean there is no function named (+) that does it in the Idris stdlib. 14:41:47 yes, that makes more sense 14:42:05 hmm, is linear typing expressable in Idris? 14:42:15 ( the (Fin 9) 3 + the (Fin 2) 1 14:42:16 fS (fS (fS (fS fZ))) : Fin 11 14:43:22 ais523: Not directly. You can write an EDSL that has linear types, I expect, but it’ll be a pain. 14:43:35 -!- Sprocklem has joined. 14:43:45 because you'd need some sort of wrapper to prevent you copying data 14:44:02 indeed, linear types are a pain in languages not designed for them 14:44:15 -!- AnotherTest has quit (Ping timeout: 255 seconds). 14:44:17 The latest versions do have UniqueType, a universe of uniqueness types IIUC, but those are unique, not linear. 14:44:28 and aren't really a good fit for languages like Idris where statements don't stop being true just because you used them to prove something 14:46:27 -!- shikhin has joined. 14:47:43 There is also an idiom using Effects where you have a resource, and you can use operations that destroy the resource, and thereafter use no operations that require the resource. 14:52:19 ( the (Fin 9) 3 + the (Fin 2) 1 14:52:20 fS (fS (fS (fS fZ))) : Fin 11 14:52:23 mroman_: ↑ 14:54:56 too complicated ;) 14:56:36 -!- ais523 has quit (Read error: Connection reset by peer). 14:56:48 -!- ais523 has joined. 14:56:54 Not sure how it’s complicated. 15:02:32 Like a Bird on a moving vehicle chased by the police aiming their guns at it while driving off a cliff. 15:04:22 ( the (Fin 9) 3 15:04:22 fS (fS (fS fZ)) : Fin 9 15:04:27 ( the (Fin 2) 1 15:04:28 fS fZ : Fin 2 15:07:15 ( :t Fin.(+) 15:07:16 Prelude.Fin.(+) : Fin n -> Fin m -> Fin (n + m) 15:07:40 ( :t Fin.(+) {n=9} {m=2} 15:07:40 (+) : Fin (fromInteger 9) -> Fin (fromInteger 2) -> Fin (fromInteger 9 + fromInteger 2) 15:07:48 ( Fin.(+) {n=9} {m=2} 15:07:48 (+) : Fin 9 -> Fin 2 -> Fin 11 15:14:04 More spam that assumes previous contact with spammers: http://sprunge.us/IPPE 15:22:36 -!- mihow has joined. 15:26:27 -!- shikhin has quit (Ping timeout: 245 seconds). 15:34:50 -!- not^v has joined. 15:37:57 -!- not^v has quit (Client Quit). 15:43:39 Heh. Fun: https://github.com/vsedach/Vacietis 15:51:52 -!- Patashu_ has quit (Ping timeout: 240 seconds). 15:53:48 -!- AnotherTest has joined. 15:54:09 -!- adu has joined. 15:56:33 -!- Schoening has joined. 15:57:09 Is there a programming language that uses morse code? 15:58:44 Schoening: well, apparently GRUB has an option to use morse code for its interface 15:58:51 presumably so that you can hear error messages if you don't have a working screen 15:59:00 lol 16:00:05 well that settles that hehe 16:02:22 -!- Sprocklem has quit (Ping timeout: 245 seconds). 16:03:46 ais: hear? I thought it would use morse to blink the keyboard leds. 16:04:00 b_jonas: it used the speaker 16:04:05 ok 16:04:39 -!- Schoening has left. 16:06:32 -!- sivteck has joined. 16:10:25 [wiki] [[SMITH]] http://esolangs.org/w/index.php?diff=40429&oldid=33720 * Nthern * (-3) Fixed the long-dead geocities link to my perl implementation 16:26:52 -!- conehead has joined. 16:27:16 -!- adu has quit (Quit: adu). 16:38:49 -!- MoALTz has joined. 16:39:05 https://news.ycombinator.com/item?id=8287700 16:42:22 -!- TieSoul has joined. 16:46:16 -!- conehead has quit (Quit: Computer has gone to sleep). 17:03:41 -!- shikhout has joined. 17:26:29 anyone else watching apple event in safari? 17:47:24 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 17:58:23 -!- sebbu has quit (Read error: Connection reset by peer). 17:58:53 -!- sebbu has joined. 17:59:41 -!- conehead has joined. 17:59:50 -!- sebbu has quit (Changing host). 17:59:50 -!- sebbu has joined. 17:59:50 -!- conehead has quit (Signing in (conehead)). 17:59:50 -!- conehead has joined. 18:24:45 -!- ^v has changed nick to datAutoJoinijz. 18:24:52 -!- datAutoJoinijz has changed nick to ^8. 18:27:41 -!- drdanmaku has joined. 18:34:57 -!- prooftechnique has joined. 18:37:11 -!- erdic has quit (Remote host closed the connection). 18:37:51 -!- erdic has joined. 19:14:32 -!- Phantom_Hoover has joined. 19:21:02 -!- sebbu has quit (Ping timeout: 245 seconds). 19:28:00 -!- Sprocklem has joined. 19:32:52 -!- oerjan has joined. 19:42:29 -!- AnotherTest has quit (Ping timeout: 260 seconds). 19:54:59 -!- Bicyclidine has joined. 19:56:35 -!- sebbu has joined. 19:57:11 -!- sebbu has quit (Changing host). 19:57:12 -!- sebbu has joined. 20:02:03 -!- mihow has quit (Quit: mihow). 20:07:33 -!- Phantom__Hoover has joined. 20:10:57 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 20:12:53 -!- sivteck has quit (Quit: Good Night\Day :-). 20:19:10 :t (&~) 20:19:11 s -> State s a -> s 20:19:28 oh hm 20:19:42 @type execState 20:19:42 State s a -> s -> s 20:19:44 :t (%~) 20:19:45 Profunctor p => Setting p s t a b -> p a b -> s -> t 20:20:17 (just checking whether I remembered the roles of run/exec/eval correctly) 20:20:38 i just realized that it would have been more logical for %~ to have been called &~ once & exists 20:20:58 run is for everything, eval is for the value, exec is for the effect 20:21:22 execute evil effects 20:21:49 ( :t run 20:21:49 Effects.run : Applicative m => {tacimp env : Env m xs} -> Eff a xs xs' -> m a 20:22:15 alternatively, & should have been called %, except that's taken by Data.Ration iirc 20:22:22 That's a suspicious function. 20:22:22 *-n 20:22:50 oerjan: & used to be called % 20:22:58 oh 20:23:11 It was renamed due to data rationing. 20:23:20 ( :t runEnv 20:23:20 Effects.runEnv : Applicative m => Env m xs -> Eff a xs xs' -> m (x ** Env m (xs' x)) 20:23:24 ic. i'm not sure that was a good enough reason... 20:24:13 :t ($~) 20:24:13 well it's actually Data.Ratio but i was going along with your thing 20:24:14 Not in scope: ‘$~’ 20:24:14 Perhaps you meant one of these: 20:24:14 ‘$!’ (imported from Prelude), ‘$’ (imported from Data.Function), 20:24:30 Should’ve used ÷ for Ratio. 20:24:53 Melvar: they're not big on unicode operators in the standard. 20:24:57 That isn't ASCII though. 20:25:02 Yeah I know. 20:25:21 ASCII forms should always be made available even if there are non-ASCII alternatives. 20:25:22 oerjan: of code points above 127, anyway 20:29:22 -!- sivteck has joined. 20:31:11 -!- ais523 has quit. 20:31:19 Some Haskell libraries use only non-ASCII operators and I want to have ASCII equivalents (including of constructors, and Haskell does not allow you to make up a new name for existing constructors). 20:33:54 oh, there *are* negative width unicode characters. charming... 20:34:16 I really think that such a thing should be dependent on the font. 20:35:51 Complex scripts, spacing, character width and height, line breaking, ligatures, kerning, etc should all be specified as part of the font metrics (which use whatever character set the font is for, which could be Unicode or anything else). 20:37:50 hmm, or perhaps the author is wrong. I'd say http://www.fileformat.info/info/unicode/char/0300/index.htm is a zero-width character that overlaps with the previous one. 20:38:25 (though the precise placement should depend on the previous character) 20:53:10 zzo38, are you there? 20:53:27 Vorpal: Am I where? 20:53:39 zzo38, Out of interest, what gopher server do you use? 20:54:25 Vorpal: I wrote the software myself 20:54:46 Is it the best one available? Do you have a link to it? 20:54:46 Is the software you wrote available? 20:55:06 Vorpal: I don't know if it is best one available 20:55:29 What alternatives are there? And do you have links to any of them? 20:56:19 I wrote it in BASIC, but probably one written in C may be better 20:56:31 I do not have links; you will have to look yourself 20:57:02 Right, so your doesn't run on Linux then= 20:58:06 It is FreeBASIC, so probably it will run on Linux. 20:58:20 zzo38: Fonts do need to implement these things; the Unicode standard specifies a way to tell the fonts what you want, to a degree. 20:58:25 I have actually written a similar gopher server in C on Linux too, but I don't have it available. 20:59:54 Melvar: I am saying it should not be specific to Unicode, nor should a program use hardcoded tables to decide how to typeset characters. 21:00:41 Unicode is kinda the only thing like itself though. 21:07:44 Unicode is kinda really stupid though. 21:14:03 -!- KingOfKarlsruhe has quit (Quit: ZNC - http://znc.in). 21:18:59 -!- J_Arcane has quit (Quit: Nettalk6 - www.ntalk.de). 21:20:14 -!- ^v has joined. 21:21:38 -!- J_Arcane has joined. 21:23:33 Hello from the land of London. 21:23:47 hello 21:24:10 From cloud cuckoo land 21:24:22 -!- Sprocklem has quit (Ping timeout: 245 seconds). 21:24:38 query: is a lisp that is bad at recursion essentially missing the bloody point? 21:25:44 what does being bad at recursion entail 21:26:10 Bicyclidine: i get it 21:26:36 that wasn't a joke 21:26:45 i mean, intentionally. i guess if you laughed anyway that's cool 21:27:25 Bicyclidine: poor performance, no TCO, poor exception handling, inability to gracefully break loops ... 21:27:45 what do any of those have to with recursion except the second i guess 21:27:50 you can just say it's bad 21:28:45 -!- prooftechnique has quit (Quit: return ()). 21:28:49 * J_Arcane is mostly just passive aggressively griping about Clojure because a simple list eater just forced a complete system reboot to end a rogue process ... 21:29:14 common lisp doesn't guarantee tail recursion 21:30:42 back in my day, when a lisp 1.5 program froze i had to replace the vacuum tubes myself! kids these days 21:30:52 elliott: my understanding was that the standard doesn't necessarily require it but that most of the popular implementations are pretty efficient and even have TCO. 21:31:07 J_Arcane: yeah, but it's not really considered that idiomatic. 21:31:10 afaik. 21:31:16 yeah. 21:31:22 it's nice to be able to turn it off though. for debugging. 21:31:58 The code I was running actually was an attempt to port a piece of CL code. XD Clearly that was not the correct solution. :P 21:33:14 I think clojure can do tail recursion, you just have to mark it. dunno about general tail calls 21:34:28 Yeah, you're supposed to call it with recur. 21:34:31 I thought the JVM prohibited it or something. I read that like years ago though 21:36:46 recursion isn't really that great anyway. 21:36:48 The JVM can't do TCO, but recur apparently does some tricks to improve things: http://clojure.org/special_forms#Special%20Forms--(recur%20exprs*) 21:40:39 fuck recursion, execute programs by NP graph rewriting 21:40:59 :D 21:41:13 Well, in this case it was for an exercise specifically about recursion. 21:43:14 those exercises suck 21:43:39 define exponentiation BUT YOU'RE NOT ALLOWED TO USE ADDITION, THIS IS IMPORTANT 21:44:36 Bicyclidine: The one before it was similarly redundant: find a recursive solution for proving a number is even. 21:44:52 You know, because (mod n 2) is too easy ... 21:45:23 > iterate not True !! 100 21:45:24 True 21:45:56 even numbers are a lie 21:45:57 yeah, see, those suck. 21:46:10 i don't know why people have such trouble with recursion. or supposedly do. maybe classes make it seem harder than it is 21:46:15 > (iterate (\f x -> iterate f x !! 4) id !! 3) succ 0 21:46:17 1 21:46:55 -!- oerjan has quit (Quit: Nite). 21:47:10 maybe if they picked something that wasn't tail recursion and thus completely fucking pointless to do that way 21:47:13 Bicyclidine: I use it all the time in Racket, though I'm still not great with list eaters. 21:47:35 like... how about hyper? I bet if you just told students to do hyper they'd do a recursive solution. 21:47:36 > (iterate (\f x -> iterate f x !! 4) succ !! 3) 0 21:47:37 64 21:47:48 It had just never occured to me to solve something like even? as a recursive function because, like, why thefuck would you need to do that? 21:47:57 I'm too tired for Church numerals. 21:48:25 well, that's kind of the problem, you've gotten that impression because your class is uncreative. 21:49:04 "an even number is one greater than an odd number" is actually an important observation. you're not gonna figure that out from having to write that as a computer program, probably. 21:49:51 anyway i'm not complaining about you really. i was at a party last week and CS students were joking about a professor who didn't explain things. "When you're writing a recursive function you have to assume that the recursive case works! DON'T ASK ME WHY!" 21:50:04 Heh heh. 21:50:45 eh. right, it's self-evident. *chuckles* 21:50:46 Well, I liked the clojurescript version of the koans, but the full clojure version basically just dumps you into recursion and says "figure it out". Several of the solutions are literally just blank functions. 21:51:58 And when Clojure doesn't exactly handly that like most lisps, well ... it's unhelpful at best. 21:53:17 addition can be thought of as adding 1, done repeatedly. multiplication can be considered as repeated addition, and exponentiation as repeated multiplication. Write a function hyper such that (hyper 1) is addition, (hyper 2) is multiplication, etc., that works for any positive integer. 21:53:23 i think that wouldn't be a bad problem to assign, maybe? 21:54:24 if they define (hyper n) for larger n in some simple but missing-the-point way you tell them nobody likes a clever asshole 21:54:36 heh heh. 21:55:04 -!- sivteck has quit (Quit: TIL nothing). 21:55:42 or you just mandate the repeated operations thing. i guess. that might make the solution kind of obvious, but it can't be worse than even? = odd? . (- 1) or whatever 21:55:42 welcome to the wonderful world of Ackermann-like functions. 21:56:05 I know, it's so obvious! It's like exactly what Ackermann was invented for practically 21:57:21 I think what I've realized is that while I love Lisp, all actual Lisps are terrible in their own unique ways. :P 21:57:29 everything is terrible hth 21:57:37 I'm really irritated by the requirement of not using addition for exponentiation 21:57:45 Well, this is also basically true. 21:58:10 int-e: that was totally made up. i got out of CS classes before i ran into these problems 21:59:18 why not use lists and trees for teaching recursion ... 21:59:47 yes, you can use natural numbers but the easy problems are bound to look very artificial. 21:59:55 ( :let data Even : Nat -> Type where EvenZ : Even Z; EvenSS : Even n -> Even (S (S n)) 21:59:55 defined 22:00:20 int-e: why not make them define exponentiation with addition chains. trees!!! 22:00:48 nah but they do that too. J_Arcane's probably going to get told to flatten a list any day now. 22:01:01 that's so ... untyped 22:01:02 Heh heh. 22:01:19 I did actually have to flatten a list the other day. So I called (flatten ...) 22:01:29 oh, does clojure have a function for that? 22:01:44 i've seen dozens of people ask for homework help defining it but never actually wanted to use such an operation 22:01:46 No idea, but Racket does (I was using that at the time) 22:02:00 clojure does too, looks like. wacky. 22:02:13 (flatten 5) => (), nice 22:02:16 I actually used it in one of my one-line Euler solutions. 22:02:23 How does one memorize the spelling of "Grzegorcyk"? 22:02:38 "Gregor but with a bunch of shit in it" 22:04:37 (first (sort (filter prime? (flatten (factorize 600851475143))) >)) 22:05:04 Do you mean “Grzegorczyk”? 22:05:59 Melvar: right. 22:07:05 I suggest you remember how it’s pronounced, then you can just write it out in the usual Polish manner. 22:07:28 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 22:08:47 J_Arcane: what does factorize return if not a list of primes? 22:09:38 I think at the time I'd misunderstood what factorize did. 22:10:39 It is indeed an unnecessary step. 22:11:24 Somewhere I also picked up a habit of redundant ass-covering. 22:13:55 fascinating, they changed the number 22:14:26 when I solved Euler problem 3, it was the largest prime factor of 317584931803. 22:15:41 I guess because people like me go and blab their solutions? XD 22:16:36 makes me wonder how many of my solutions are wrong nowadays 22:17:05 I kinda ran into a math-skill-wall so I haven't done any in a while. 22:18:28 I wanted to try learning Clojure because there are actual paying jobs in Clojure in Finland, whereas there is only one shop I've found that does CL, and assorted shops running Erlang and a few other functional languages. 22:18:48 I guess because Java's still so big here, it kinda makes sense. 22:23:08 -!- shikhout_ has joined. 22:25:53 -!- shikhout has quit (Ping timeout: 240 seconds). 22:34:49 -!- Patashu has joined. 23:01:36 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 23:36:53 -!- Guest49267 has quit (Ping timeout: 240 seconds). 23:38:56 fizzie: imo make finnish less complicated twh 23:53:14 -!- realzies has joined. 23:57:02 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 2014-09-10: 00:02:39 -!- Sgeo has joined. 00:05:54 -!- ^v has quit (Ping timeout: 252 seconds). 00:11:39 -!- Sprocklem has joined. 00:46:51 "The W3C publishes some forked versions of these specifications. We have requested that they stop publishing these but they have refused. They copy most of our fixes into their forks, but their forks are usually weeks to months behind. They also make intentional changes, and sometimes even unintentional changes, to their versions. We highly recommend not paying any attention to the W3C forks of WHATWG standards." 00:48:00 Dear God there is some seriously bad blood between them 00:48:56 Fun things are fun. 00:53:08 Weird terminology http://dom.spec.whatwg.org/ 00:53:35 descendant as excluding self and 'inclusive descendant' as including self. I'm more used to 'strict descendant' vs 'descendant', for some reason 00:55:25 -!- paul2520 has quit (Quit: Leaving). 01:45:08 -!- realzies has quit (Ping timeout: 276 seconds). 02:19:05 -!- Sorella has quit (Remote host closed the connection). 02:54:51 -!- paul2520 has joined. 03:08:09 -!- Patashu has quit (Ping timeout: 260 seconds). 03:08:26 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:45:47 So, Microsoft advanced the web with XMLHttpRequest, and I think something else but I forget what. Google pioneered evergreen browsers (I think). What about Mozilla? I guess an alternative to a stagnant browser 03:46:05 Depends if you count Netscape 03:48:02 What did Netscape do? All I can think of is but I don't think that's really an advancement 03:54:29 Pioneered browsers. 03:54:43 Although Mozilla really pushed the open-source browser. That's something. 04:07:19 [wiki] [[Rasen]] M http://esolangs.org/w/index.php?diff=40430&oldid=39485 * Wolgr * (-1) 04:20:53 -!- ^v has joined. 04:22:50 -!- shikhin has joined. 04:26:16 -!- shikhout_ has quit (Ping timeout: 268 seconds). 04:45:34 -!- skarn has quit (Ping timeout: 240 seconds). 04:56:17 -!- skarn has joined. 04:56:27 -!- skarn has changed nick to Guest62656. 05:10:10 are there any licenses that are licensed under their own terms? 05:28:43 -!- ^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:37:08 -!- MoALTz has quit (Quit: Leaving). 05:39:22 -!- ^8 has quit (Ping timeout: 240 seconds). 05:41:33 -!- conehead has quit (Quit: Computer has gone to sleep). 05:54:56 -!- ^8 has joined. 06:53:56 -!- Patashu has joined. 07:00:35 @hoogle group 07:00:38 Data.List group :: Eq a => [a] -> [[a]] 07:00:38 Data.ByteString.Lazy group :: ByteString -> [ByteString] 07:00:38 Data.ByteString.Lazy.Char8 group :: ByteString -> [ByteString] 07:16:22 anyway... if Golfscript can score more than 25k google hits and a WP article it will be in the TIOBE Index 07:16:25 who wouldn't want _that_ 07:21:02 -!- shikhin has quit (Ping timeout: 276 seconds). 07:36:56 -!- shikhout has joined. 07:47:57 -!- shikhout has quit (Ping timeout: 264 seconds). 08:25:29 -!- AnotherTest has joined. 08:40:29 -!- sivteck has joined. 08:43:04 -!- mindfreak has joined. 08:43:25 cool 08:43:31 now I have an XML file with hundreds of lines 08:43:32 -!- mindfreak has quit (Client Quit). 08:43:48 and this remote black-box rejects it for some reason 08:46:10 Is there a tool that I can feed a dtd and an XML file 08:46:16 and it will tell me what's wrong with it? 08:48:15 ah 08:48:19 there are even online sites that do that 08:48:20 sweet 08:58:17 [wiki] [[Deque]] http://esolangs.org/w/index.php?diff=40431&oldid=36985 * Rdebath * (+229) Equivalent to ... 09:02:36 Someone should design a language that unlike Golfscript is specifically made to suckt at golfing 09:02:57 of course, one could always use COBOL . 09:32:28 -!- impomatic_ has quit (Read error: Connection reset by peer). 09:32:47 -!- impomatic_ has joined. 09:37:10 -!- impomatic_ has quit (Ping timeout: 252 seconds). 09:44:20 are M:tG running out of names? there are already cards named Tranquil Garden, Tranquil Thicket, Tranquil Path, Tranquil Domain, Tranquil Grove, and now they're printing a Tranquil Cove. 09:44:52 I guess they just like the word "tranquil" 09:57:14 soothing 10:11:57 -!- boily has joined. 10:42:30 is php considered a dequee based esolang? :D 10:48:46 IMPO PHP has to be a lang first :P 10:49:50 @tell oerjan pfshaw, humbug, and all that nonsense, I say hth 10:49:50 Consider it noted. 10:51:53 What's PHP? 10:52:25 php, but with my finger confortably resting on the shift key. 10:52:32 `? PHP 10:52:32 PHP? ¯\(°​_o)/¯ 10:52:36 `? php 10:52:36 php? ¯\(°​_o)/¯ 10:52:41 (is HackEgo case sensitive?) 10:52:44 (it's a very nice key, made of ABS) 10:52:51 mroman_: eeeeeeh... 10:52:58 `? mroman 10:52:59 He's a nobody. Move along. 10:53:03 `? MROMAN 10:53:03 He's a nobody. Move along. 10:53:05 `learn php PHP without capslock 10:53:07 I knew that. 10:53:13 `learn PHP php with capslock 10:53:15 I knew that. 10:53:18 `? php 10:53:18 PHP php with capslock 10:53:22 :( 10:53:45 it wasn't caps lock. I can't even caps lock, I remapped it to escape. 10:53:52 `learn php is the PigeonHole Principle 10:53:55 I knew that. 10:54:12 LMPDFTFY. 10:54:28 `? LMPDFTFY 10:54:29 LMPDFTFY? ¯\(°​_o)/¯ 10:54:47 Let Me PDF That For You. 10:55:24 `? recursion 10:55:24 recursion? ¯\(°​_o)/¯ 10:55:27 http://thecodelesscode.com/case/161 10:55:51 recursion would be fun 10:56:43 `php --version 10:56:43 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: php: not found 10:57:21 `run "php --version" 10:57:21 bash: php --version: command not found 10:57:29 `run "python --version" 10:57:29 bash: python --version: command not found 10:57:40 `run python --version 10:57:41 Python 2.7.3 10:57:46 `run php --version 10:57:46 bash: php: command not found 10:57:52 alright 10:58:00 `run php -c "print 5" 10:58:01 bash: php: command not found 10:58:05 `run python -c "print 5" 10:58:06 5 10:58:36 `` dc <<<5p 10:58:36 5 11:01:25 > 5 11:01:27 5 11:04:57 `bf ++++++++++++++++++++++++++++++++++++++++++++++++. 11:04:58 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bf: not found 11:05:05 !bf ++++++++++++++++++++++++++++++++++++++++++++++++. 11:05:05 0 11:05:10 !bf +++++++++++++++++++++++++++++++++++++++++++++++++. 11:05:10 1 11:05:15 !bf +++++++++++++++++++++++++++++++++++++++++++++++++++++. 11:05:16 5 11:05:18 yay 11:05:28 !df iiiii 11:05:33 !df iiiiio 11:05:36 hm 11:05:38 !help 11:05:51 `help 11:05:51 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 11:06:16 -!- metasepia has joined. 11:07:49 ~help 11:07:49 --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi 11:09:51 `? dc <<<1775436177076666514492d35402563523599664460344479754rdPn100PdnP 11:09:52 dc <<<1775436177076666514492d35402563523599664460344479754rdPn100PdnP? ¯\(°​_o)/¯ 11:09:58 eh. hah! 11:10:28 `` dc <<<1777814077679918136380d35402563523599664460344479754rdPn100PdnP 11:10:29 ​`` dc <<<1777814077679918136380d35402563523599664460344479754rdPn100PdnP 11:11:22 ~yi 11:11:22 Your divination: "Infiltrating" to "Ground" 11:11:27 ~yi really 11:11:27 Your divination: "Augmenting" to "Small Accumulating" 11:22:40 cool 11:22:46 there's an LDAP to SQL Adapter 11:23:00 so I can access SQL-Databases using my favorite protocol 11:23:12 and LDAP Queries without have to bother learning SQL 11:23:15 that's pretty awesome 11:23:25 *having 11:27:06 -!- oerjan has joined. 11:33:19 -!- shikhin has joined. 11:37:06 esolangs.org is rated as safe by McAffee 11:39:14 @messages-foul 11:39:14 boily said 49m 23s ago: pfshaw, humbug, and all that nonsense, I say hth 11:45:47 `run echo 'echo "This command has been disabled because no one uses it properly."' >bin/learn 11:45:49 No output. 11:45:54 `learn hi there 11:45:55 This command has been disabled because no one uses it properly. 11:46:54 oh i suppose he figured it out. 11:46:57 `revert 11:47:00 Done. 11:47:57 `? oerjan 11:47:57 Your evil overlord oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who hates Roald Dahl. 11:49:20 `? ¯\(°​_o)/¯ 11:49:21 ​¯\(°​_o)/¯? ¯\(°​_o)/¯ 11:51:38 `? misspellings of croissant 11:51:39 misspellings of crosant? ¯\(°_o)/¯ 11:51:39 | 11:51:39 º¯`\o 11:51:52 ah hm 11:52:08 hah. mwah ah ah. MWAH AH AH AH AH AH! 11:52:12 -!- boily has quit (Quit: SANE CHICKEN). 11:52:13 -!- metasepia has quit (Remote host closed the connection). 11:55:46 What is ¯\(°​_o)/¯ anyway, Deathstar Enterprise? (I couldn't find a ship with that awkward wing formation in the Starwars universe) 11:56:18 it's an emoticon . 11:56:22 the HackEgo repository browser doesn't do unicode properly :( 11:56:39 Or perhaps it's an artistic depiction of the moon in its gravity well. 11:56:59 hm ¯\(°​_o)/¯ 11:57:53 `run sed -i 's!¯\(°_o)/¯!¯\(°​_o)/¯!' wisdom/'misspellings of croissant' 11:57:54 | 11:57:54 o/`¯º 11:57:54 sed: -e expression #1, char 31: Unmatched ( or \( 11:58:05 grmbl 11:58:08 ¯\( could also be the utility end of a bulldozer 11:59:58 `run sed -i 's!¯\[(]°_o[)]/¯!¯\(°​_o)/¯!' wisdom/'misspellings of croissant' 11:59:59 | 11:59:59 º¯`\o 11:59:59 No output. 12:00:16 `? misspellings of croissant 12:00:16 misspellings of crosant? ¯\(°_o)/¯ 12:00:17 | 12:00:17 o/`¯º 12:00:21 wat 12:00:28 oh wait 12:00:51 oerjan is the master of identity transformations :P 12:01:15 hm that wasn't an identity transform 12:01:56 `run grep '¯\[(]°_o[)]/¯' wisdom/'misspellings of croissant' 12:01:56 | 12:01:57 º¯`\o 12:01:57 No output. 12:02:02 ic 12:02:04 -!- Sgeo has quit (Read error: Connection reset by peer). 12:02:24 `unidecode ¯\(°_o)/¯ 12:02:24 | 12:02:25 º¯`\o 12:02:25 ​[U+00AF MACRON] [U+005C REVERSE SOLIDUS] [U+0028 LEFT PARENTHESIS] [U+00B0 DEGREE SIGN] [U+005F LOW LINE] [U+006F LATIN SMALL LETTER O] [U+0029 RIGHT PARENTHESIS] [U+002F SOLIDUS] [U+00AF MACRON] 12:03:14 i suppose _some_ character in there is not treated as plain in a regexp, other than the parens 12:03:23 `unidecode °°​ 12:03:24 ​[U+00B0 DEGREE SIGN] [U+00B0 DEGREE SIGN] [U+200B ZERO WIDTH SPACE] 12:03:59 ah 12:04:16 `run grep ° wisdom/'misspellings of croissant' 12:04:17 misspellings of crosant? ¯\(°_o)/¯ 12:04:17 | 12:04:17 o/`¯º 12:04:29 `run sed 's/wisdom/'misspellings of croissant' 12:04:30 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 12:04:32 argh 12:05:03 `run sed 's/°/°​/' wisdom/'misspellings of croissant' 12:05:04 misspellings of crosant? ¯\(°​_o)/¯ 12:05:26 `run sed -i 's/°/°​/' wisdom/'misspellings of croissant' 12:05:27 No output. 12:05:39 `? misspellings of croissant 12:05:40 misspellings of crosant? ¯\(°​_o)/¯ 12:05:44 there you go 12:06:14 `learn ¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯ 12:06:14 | 12:06:15 º¯`\o 12:06:15 ​/hackenv/bin/learn: line 3: wisdom/¯\(°​_o)/¯: No such file or directory \ I knew that. 12:06:56 wat. 12:07:28 it has a / inside 12:07:35 right 12:08:20 `run mkdir wisdom/'¯\(°​_o)'; learn '¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯' 12:08:23 mkdir: cannot create directory `wisdom/¯\\(°​_o)': File exists \ I knew that. 12:08:34 sheesh 12:09:00 `run ls wisdom/'¯\'* 12:09:01 wisdom/¯\(°_o): \ ¯ \ ¯\(°_o)a \ \ wisdom/¯\(°​_o): \ ¯ 12:09:01 | | 12:09:01 º¯`\o o/`¯º 12:09:44 hm 12:09:51 `? ¯\(°​_o)/¯ 12:09:51 ​¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯ 12:09:52 | 12:09:52 º¯`\o 12:09:58 it seems to have taken, anyhow 12:10:07 yeah, weird 12:11:47 ... ¯\(°_o)/¯ 12:11:47 | 12:11:47 º¯`\o 12:11:56 ... ¯\(°​_o)/¯ 12:12:25 \o/ \o/ 12:12:26 can you explain why myndzi "completes" the version with the zero-width space there? 12:12:26 | | 12:12:26 /| /| 12:12:42 because °​_o is a face 12:12:45 oops 12:12:52 *because °_o is a face 12:12:59 argh 12:13:11 *because °_o is a face 12:13:24 has myndzi broken 12:13:29 o_o 12:13:37 ... ¯\(°_o)/¯ 12:13:37 | 12:13:37 o/`¯º 12:13:39 but °_o is a face, °​_o isn't. 12:14:03 |o| 12:14:03 | 12:14:03 /`\ 12:14:13 (°_o) 12:14:14 | 12:14:14 o/`¯º 12:14:17 _o_ _o| 12:14:18 | | 12:14:18 >\ /< 12:14:19 °_o 12:14:20 | 12:14:21 º¯`\o 12:14:24 but (°_o) is a face, (°​_o) isn't. -- like this? 12:14:25 | 12:14:25 o/`¯º 12:14:33 oh there it worked 12:14:45 so it shouldn't complete (°​_o), but rather (°_o). 12:14:46 | 12:14:46 º¯`\o 12:14:53 something is wrong. 12:15:06 maybe °_o testing 12:15:13 maybe °_o testing 12:15:13 | 12:15:13 o/`¯º 12:15:24 seems my problem was it needs more space when alone 12:15:37 (o/ \o) _o) \o_ |o_ (o| 12:15:38 | | 12:15:38 >\ /`\ 12:15:53 _o> | | ¦ | 12:15:53 |\ /´\ ´¸¨ /< 12:16:08 fun 12:16:08 int-e: oh hm i'm pretty sure the version myndzi completes is the one _without_ zero-width space? 12:16:13 Sherlock Holmes can decipher this! 12:16:21 int-e: yeah, it's like the dancing men 12:16:58 oerjan: well, that's what I thought. But whichever order I put the two versions, it seems to complete the first one. Which is odd. 12:17:28 so it shouldn't complete (°​_o), but rather (°_o). 12:17:29 | 12:17:29 º¯`\o 12:17:53 so it shouldn't complete (°_o), but rather (°​_o). 12:17:54 | 12:17:54 o/`¯º 12:18:01 wat 12:18:16 maybe _ it works like this? (°​_o) 12:18:24 maybe _ it works like this? (°​_o) ... 12:18:33 ok, I'm confused. 12:18:45 so it shouldn't complete (°​_o), but rather (°_o). 12:18:45 | 12:18:45 º¯`\o 12:18:57 oh, I copied the wrong version. grr :) 12:19:01 by jove, you are right 12:19:07 maybe _ it works like this? (°_o) ... 12:19:07 | 12:19:08 o/`¯º 12:19:15 or _o it works like this? (°_o) ... 12:19:15 | 12:19:15 º¯`\o 12:19:29 odd. 12:20:07 indeed. 12:20:47 is myndzi's source available? 12:20:57 Great. Now try to figure out what combination of nickname, command, arguments, and punctuation between them my jevalbot accepts, on channel or in private message. Its rules are crazy and inconsistent. 12:21:08 so it shouldn't complete (°​_o), but rather (°​_o). 12:21:11 (It's a bit easier if you have the source of course.) 12:21:27 so it shouldn't complete (°_o), but rather (°_o). 12:21:28 | | 12:21:28 o/`¯º º¯`\o 12:21:39 it works normally if both are the same 12:22:41 i don't know if myndzi's source is available. 12:23:19 it wouldn't be the first bug in it, anyway. 12:55:53 -!- Phantom_Hoover has joined. 13:01:46 -!- heroux has quit (Ping timeout: 260 seconds). 13:02:17 -!- Patashu has quit (Ping timeout: 276 seconds). 13:11:41 so i just googled 'baby mri' in the hope that they make tiny mri machines for babies 13:11:44 turns out they don't :( 13:14:06 "hope"? 13:14:42 imagine a tiny mri for babies 13:14:45 it would be adorable 13:39:10 I need a new hoster. 13:39:33 like 10$ a month top. at least 300MB RAM and 4GB HD. 13:39:58 and let's me run haskell applications (like happstack) and CGI 13:45:27 mroman_: network access? 13:53:24 -!- Sprocklem has quit (Ping timeout: 255 seconds). 13:57:10 interesting, ramnode used to have swap space = RAM in their VMs, now it's swap space = RAM/2 13:59:27 mroman_: You could get a VPS. 14:00:29 (prices have changed, too.) 14:01:50 Seems like VPS is the way to go if you want to do anything more "esoteric" these days. 14:02:54 -!- shikhout has joined. 14:02:57 at least in that price range. dedicated servers still seem to be $50+ a month. 14:04:02 DigitalOcean will do 1GB RAM and 20GB SSD for $5 a month, though it's metered. I've seen a few in the $10 range that were unmetered bandwidth. 14:05:42 -!- shikhin has quit (Ping timeout: 245 seconds). 14:06:12 where do you see 1GB RAM? https://www.digitalocean.com/pricing/ 14:08:11 at least for me that displays 512 MB. 14:09:51 You're right, I misremembered. 14:10:14 Still, meets mroman_ 's needs if he doesn't need more than 1TB of transfer. 14:18:20 @hoogle rlimit 14:18:22 System.Posix.Files.ByteString PipeBufferLimit :: PathVar 14:18:22 System.Posix.Files PipeBufferLimit :: PathVar 14:25:23 I've found a promising hoster in germany 14:25:45 mroman_, hoster for what? 14:25:50 J_Arcane: I doubt that I have 1GB of transfer a month 14:26:07 but having only a limited traffic where every extra GB costs you is risky 14:26:15 Exactly. 14:26:20 Vorpal: the burlesque shell and some static html 14:26:32 and some of my eso stuff (which is static except for the burlesque shell) 14:26:33 mroman_, I'm on a 20 USD / month plan for a VPS at linode. I guess that might be overkill for you then 14:26:44 You never know when someone will throw up a link on Reddit or something and your traffic increases geometrically overnight. 14:26:51 mroman_, 3 TB transfer / month, not even close to hitting 1 TB 14:27:17 Yeah. I don't like paying for stuff I don't need :) 14:27:18 not even close to hitting 10 GB / month currently 14:27:32 In switzerland the smallest thing you get is about 2GB RAM for 15CHF 14:27:35 mroman_, well I need other stuff, rather than transfer. So meh 14:27:38 I really don't need that much 14:27:46 but netcup.de looks very good 14:27:50 (a german hoster) 14:28:02 And it is packages rather than picking how much of each component you want 14:28:05 I got publicly involved in a patent issue a while back and my traffic went up by a factor of 10 overnight ... 14:28:23 who'd you infringe? 14:28:30 mroman_ 14:28:43 Nothing, but some dingus was basically trying to patent character conversion in tabletop RPGs. 14:28:59 Seeing as I write them, I got a bit vocal on the subject. 14:29:16 mroman_, fair enough, I found that linode had a good reputation and provided good bang for the buck though. Even though the fixed packages rather than configuring each component meant it isn't optimal 14:29:43 Ah 14:29:48 It was tricky though, to get mysqld and apache running with 300MB 14:30:01 mroman_, I would suggest that nginx is a better web server 14:30:05 you can't run it with 300MB RAM without tweaking the config for low memory usage ;) 14:30:06 Ramnode suspends VPSs when the bandwidth limit is reached. 14:30:07 And PostgreSQL is a better DBMS 14:30:15 I don't need a Database anymore 14:30:24 mroman_, well still, nginx is a better web server 14:30:54 although I might need one someday 14:31:06 acid-state I think still has the problem that it loads EVERYTHING into RAM 14:31:19 mroman_, I have 2 GB RAM on that VPS, I run web and mail. Will run DNS master too soon 14:33:01 2GB RAM is overkill for my 5 visitors a month 14:33:02 ;) 14:33:29 I think the burlesque shell is configured to use at most 25MB RAM 14:33:36 Right. Same here, but the disk space in that plan is not 14:33:41 and 1s of CPU or something 14:33:51 What is "burlesque shell"? 14:34:03 http://eso.mroman.ch/cgi/burlesque.cgi 14:34:12 Ah 14:34:22 I'm not familiar with this eso(?) lang 14:34:31 Mostly eso. 14:34:39 On the wiki? 14:34:45 It is on the wiki 14:34:49 (as Burlesque) 14:35:14 as well as it's available on golf.shinh.org 14:35:33 mroman_, oh and I run an IRC bot too 14:35:43 That doesn't use much either 14:36:13 It's a J/APL-style Esolang though 14:36:15 Seems that in total I'm using 224 MB RAM (plus buffers and cache) 14:36:23 total used free shared buffers cached 14:36:23 Mem: 2002 1814 187 0 87 1503 14:36:23 -/+ buffers/cache: 224 1778 14:36:23 Swap: 255 0 255 14:36:25 it has >300 built-ins (or verbs/commands) 14:36:33 way more than 300 actually 14:36:42 AH 14:36:45 Ah* 14:37:36 i.e. there's a built-in for ChiSquare-Tests 14:37:36 ;) 14:37:44 or is that e.g. 14:38:15 Ouch, okay 14:38:30 It can do pretty much everything you need to do your university CS homework ;) 14:38:35 that's what it was written for 14:38:38 Heh 14:38:50 blsq ) "ABC"r@ 14:38:50 {"ABC" "BAC" "CBA" "BCA" "CAB" "ACB"} 14:39:23 blsq ) "ABC"2CB 14:39:24 {"AA" "AB" "AC" "BA" "BB" "BC" "CA" "CB" "CC"} 14:39:27 ^- stuff like that ;) 14:40:13 blsq ) "hello"F: 14:40:14 {{0.4 'l} {0.2 'o} {0.2 'h} {0.2 'e}} 14:40:23 enough for the demonsttration ;) 14:40:28 gotta catch a train 14:40:35 cya 14:41:46 -!- impomatic_ has joined. 14:50:48 -!- impomatic_ has changed nick to impomatic. 14:54:37 -!- augur has quit (Remote host closed the connection). 14:55:05 -!- augur has joined. 14:59:49 -!- augur has quit (Ping timeout: 260 seconds). 15:08:15 -!- Fallensn0w has joined. 15:17:33 -!- shikhout has quit (Ping timeout: 255 seconds). 15:44:38 -!- oerjan has quit (Quit: leaving). 15:49:57 -!- ^v has joined. 15:52:58 -!- drdanmaku has joined. 16:06:14 -!- augur has joined. 16:15:53 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 16:34:16 -!- Sprocklem has joined. 16:44:31 -!- Phantom_Hoover has joined. 16:46:27 -!- conehead has joined. 17:00:18 -!- augur has quit (Remote host closed the connection). 17:15:06 -!- conehead has quit (Quit: Computer has gone to sleep). 17:16:09 -!- conehead has joined. 17:16:19 -!- FreeFull has quit (Quit: Rebooting). 17:18:53 -!- FreeFull has joined. 17:20:07 -!- augur has joined. 17:25:20 -!- ^v has quit (Read error: Connection reset by peer). 17:25:41 -!- ^v has joined. 17:30:52 -!- Fallensn0w has quit (Ping timeout: 246 seconds). 17:34:24 And bye from the land of London, too. 17:35:13 -!- augur has quit (Remote host closed the connection). 17:35:14 Heathrow offers only 45 minutes of free wifi, kind of cheap of them. 17:37:27 -!- augur has joined. 17:38:08 -!- augur_ has joined. 17:42:00 -!- augur has quit (Ping timeout: 255 seconds). 17:44:55 The Clojure threaded macro makes me irrationally angry. 17:45:43 sexism in mathematics makes me rationally angry 17:46:13 indeed. 17:50:00 https://gist.github.com/joegallo/b5e6bd2346cd261016be 17:51:03 -!- augur_ has quit (Remote host closed the connection). 17:54:06 -!- Sprocklem has quit (Ping timeout: 268 seconds). 17:56:48 -!- augur has joined. 18:05:51 -!- Sprocklem has joined. 18:08:10 -!- Phantom__Hoover has joined. 18:11:15 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 18:43:40 -!- GeekDude has joined. 18:54:23 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 18:55:57 -!- G33kDude has joined. 18:55:58 -!- GeekDude has quit (Read error: Connection reset by peer). 18:55:59 -!- G33kDude has changed nick to GeekDude. 19:00:41 -!- shikhin has joined. 19:02:08 -!- not^v has joined. 19:04:22 -!- ^8 has quit (Ping timeout: 240 seconds). 19:05:07 -!- ^v has quit (Ping timeout: 272 seconds). 19:06:28 https://news.ycombinator.com/item?id=8298239 19:08:29 -!- ^v has joined. 19:11:09 -!- conehead has joined. 19:12:33 -!- Sprocklem has quit (Quit: g2g). 19:36:21 -!- nortti has changed nick to lawspeaker. 19:36:37 -!- lawspeaker has changed nick to nortti. 19:39:49 -!- AnotherTest has quit (Ping timeout: 260 seconds). 19:58:21 hm 19:58:27 I still have the blsqbot I hope 20:00:49 -!- blsqbot has joined. 20:00:53 !blsq 100ro{1 365rn30.+^^NB==n!}m[F:sp 20:00:53 Ain't nobody got time fo' dat! 20:00:54 0.0220138s 20:00:59 !blsq 10ro{1 365rn30.+^^NB==n!}m[F:sp 20:01:00 0.8 1 20:01:00 0.0110074s 20:01:07 well 20:01:09 needs more time 20:01:12 -!- blsqbot has quit (Read error: Connection reset by peer). 20:01:45 -!- blsqbot has joined. 20:01:53 !blsq 100ro{1 365rn30.+^^NB==n!}m[F:sp 20:01:53 0.71 1 20:01:53 0.0280187s 20:02:46 sounds about right 20:02:58 !blsq 100ro{1 365rn60.+^^NB==n!}m[F:sp 20:02:59 1.0 1 20:02:59 0.0170133s 20:03:05 -!- shikhout has joined. 20:03:38 birthday paradox? 20:04:56 yep 20:05:09 !blsq 100ro{1 365rn25.+U_n!}m[F:sp 20:05:09 0.62 1 20:05:10 0.0625052s 20:06:12 -!- blsqbot has quit (Read error: Connection reset by peer). 20:06:20 don't need the s 20:06:39 -!- blsqbot has joined. 20:06:42 !blsq 100ro{1 365rn20.+U_n!}m[F:sp 20:06:42 0.55 0 20:06:48 !blsq 100ro{1 365rn22.+U_n!}m[F:sp 20:06:48 0.52 1 20:07:18 -!- shikhin has quit (Ping timeout: 268 seconds). 20:07:34 !blsq 10000ro{1 365rn22.+U_n!}m[F:sp 20:07:34 Ain't nobody got time fo' dat! 20:08:02 !blsq 1000ro{1 365rn22.+U_n!}m[F:sp 20:08:02 Ain't nobody got time fo' dat! 20:08:47 !blsq "abc"3CB{16B!}m[ 20:08:47 {2730 2731 2732 2746 2747 2748 2762 2763 2764 2986 2987 2988 3002 3003 3004 3018 20:09:10 !blsq "abc"2CB{16B!}m[ 20:09:10 {170 171 172 186 187 188 202 203 204} 20:09:21 !blsq "abc"2CB^^{16B!}m[z[ 20:09:22 {{"aa" 170} {"ab" 171} {"ac" 172} {"ba" 186} {"bb" 187} {"bc" 188} {"ca" 202} {" 20:10:10 !blsq 1J{.+}10C!#s 20:10:11 {144 89 55 34 21 13 8 5 3 2 1 1} 20:10:26 !blsq 1 2{.*}10C!#s 20:10:26 {618970019642690137449562112 36028797018963968 17179869184 2097152 8192 256 32 8 20:10:34 !blsq 1 2{.*}6C!#s 20:10:34 {8192 256 32 8 4 2 2 1} 20:11:13 -!- Bicyclidine has joined. 20:11:17 hm 20:11:31 !blsq {1 0 0}{rt}3C!#s 20:11:31 {{1 0 0} {0 0 1} {0 1 0} {1 0 0}} 20:11:39 !blsq {1 0 0}{rt}2C!#s 20:11:39 {{0 0 1} {0 1 0} {1 0 0}} 20:11:46 !blsq {1 0 0}{RT}2C!#s 20:11:46 {{0 1 0} {0 0 1} {1 0 0}} 20:11:50 damn 20:11:57 !blsq {1 0 0}{rt}2!C#s 20:11:57 {{1 0 0} {0 1 0} {0 0 1}} 20:12:00 ah 20:12:01 there we go 20:12:29 !blsq {1 0 0}saPp{rt}pP?d!C#s 20:12:29 {{1 0 0} {0 1 0} {0 0 1}} 20:12:34 !blsq {1 0 0 0 0 0}saPp{rt}pP?d!C#s 20:12:34 {{1 0 0 0 0 0} {0 1 0 0 0 0} {0 0 1 0 0 0} {0 0 0 1 0 0} {0 0 0 0 1 0} {0 0 0 0 20:13:54 however, the birthday problem doesn't take into account, that birthdays aren't exactly equally distributed 20:15:07 well, that should just raise the propability 20:16:21 !blsq {1 1 1}sm 20:16:21 1 20:16:24 !blsq {1 10 1}sm 20:16:24 0 20:16:48 !blsq "hello"F:)-]sm 20:16:48 0 20:16:52 !blsq "helo"F:)-]sm 20:16:52 1 20:17:04 F:)-]sm is the "are equally distributed check" 20:17:17 !blsq "helloheo"F:)-]sm 20:17:17 1 20:17:34 !blsq {1}sm 20:17:34 1 20:17:55 !blsq 1 1 365rn10.+ 20:17:56 {138 44 353 50 161 335 212 238 363 341} 20:18:02 !blsq 1 1 365rn10.+F:)-]sm 20:18:02 1 20:18:06 !blsq 1 1 365rn100.+F:)-]sm 20:18:06 0 20:18:44 what 20:18:49 there's an unparse builtin-in 20:18:51 ok... 20:19:07 and it's neatly undocumented 20:19:13 !blsq "5"ps 20:19:13 {5} 20:19:14 !blsq "5"psup 20:19:15 "{5}" 20:19:23 woot 20:19:39 !blsq "hi"up 20:19:39 "\"hi\"" 20:20:59 !blsq "hi"shup 20:20:59 "hi" 20:21:05 k 20:21:11 interesting 20:23:45 !blsq "abc"n! 20:23:45 'c 20:23:48 !blsq "abc"n!n! 20:23:48 ERROR: Burlsque: (n!) Invalid arguments! 20:24:16 !blsq {"abc""abc"}{L[}fuck 20:24:17 ERROR: Burlsque: (n!) Invalid arguments! 20:24:24 !blsq {{"abc""abc"}}{L[}fuck 20:24:24 'c 20:25:53 !blsq 6shit 20:25:53 6 20:26:21 !blsq 1J{.+}10C!it 20:26:21 144 20:26:33 !blsq 1J{.+}10C!shit 20:26:34 144 20:26:38 !blsq 1J{.+}10C!shitshitshitshitshitshit 20:26:38 144 20:26:44 :D 20:26:44 ok 20:28:50 !blsq ?_ 20:28:51 "I have 322 non-special builtins!" 20:29:52 !blsq 9?n 20:29:52 j 20:29:56 !blsq 10?n 20:29:56 j 20:29:59 what 20:30:25 !blsq 10?n 20:30:25 j 20:30:49 !blsq 10?n 20:30:49 .> 20:30:52 !blsq 11?n 20:30:53 .< 20:30:58 !blsq 300?n 20:30:58 l0 20:31:12 probably useless but now you can ask for what the builtin number 300 is . 20:31:24 !blsq 300.0?n 20:31:24 That line gave me an error 20:32:06 !blsq 322ro)?n 20:32:06 {J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == != <- ln un uN wl WL wL 20:32:30 !blsq 200 208r@)?n 20:32:31 {Wl si ro rz nu fl to sr rn} 20:33:04 !blsq @5 20:33:04 5.0 20:33:27 !blsq #Q 20:33:28 {} 20:33:31 !blsq #Q.+ 20:33:31 ERROR: Burlesque: (.+) Invalid arguments! 20:33:37 !blsq #Qshit 20:33:37 [sh, it] 20:33:48 blsqbot please do quit 20:33:49 -!- blsqbot has quit (Quit: Exiting). 20:33:52 (enough spam for today) 20:35:59 @type unsafePerformIO 20:36:00 Not in scope: ‘unsafePerformIO’ 20:36:05 :( 20:36:12 @type trace 20:36:13 Not in scope: ‘trace’ 20:37:59 -!- augur has quit (Remote host closed the connection). 20:44:15 -!- realzies has joined. 20:59:47 -!- Patashu has joined. 21:00:05 -!- ^v has quit (Read error: Connection reset by peer). 21:00:10 -!- not^v has quit (Read error: Connection reset by peer). 21:00:32 -!- ^v has joined. 21:00:52 -!- not^v has joined. 21:01:33 -!- Bicyclidine has quit (Ping timeout: 246 seconds). 21:01:40 -!- not^v has quit (Read error: Connection reset by peer). 21:01:59 -!- not^v has joined. 21:07:36 -!- Bicyclidine has joined. 21:08:49 -!- augur has joined. 21:15:38 -!- augur_ has joined. 21:18:58 -!- augur has quit (Ping timeout: 252 seconds). 21:25:00 -!- Patashu has quit (Ping timeout: 268 seconds). 21:29:05 -!- augur_ has quit (Remote host closed the connection). 21:30:22 -!- ^v has quit (Ping timeout: 240 seconds). 21:34:41 -!- oerjan has joined. 21:37:59 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 21:42:54 @type Debug.Trace.trace 21:42:55 String -> a -> a 21:43:24 @type System.IO.Unsafe.unsafeCoerce 21:43:25 Not in scope: ‘System.IO.Unsafe.unsafeCoerce’ 21:43:30 hm where was it 21:43:36 oh wait 21:43:43 @type System.IO.Unsafe.unsafePerformIO 21:43:44 IO a -> a 21:44:12 -!- Phantom___Hoover has joined. 21:44:21 @type Unsafe.Coerce.unsafeCoerce 21:44:22 a -> b 21:48:33 -!- Phantom__Hoover has quit (Ping timeout: 252 seconds). 21:50:30 -!- impomatic_ has quit (Ping timeout: 252 seconds). 21:53:20 -!- Phantom___Hoover has quit (Ping timeout: 276 seconds). 21:59:24 Hmp, Finland again. 21:59:40 finland, finland, finland 22:00:29 fizzie: i'd like to point out london isn't a land yet, although who knows with all these referendums flying around 22:01:07 Was the Scotland thing already, I forget? 22:01:25 no it's in a bit over a week i think 22:01:45 We had an Edinburghian visitor who spoke of it. 22:02:13 -!- ^v has joined. 22:02:25 The non-independists were leading then, I guess. 22:04:14 Foggy Finland, I see. 22:04:44 @metar EFHK 22:04:45 EFHK 102150Z VRB03KT 9999 FEW043 13/12 Q1020 NOSIG 22:05:16 Not foggy enough to show up there, I guess. 22:05:41 -!- not^v has quit (Ping timeout: 276 seconds). 22:09:16 -!- sivteck has quit (Quit: TIL something). 22:09:31 -!- Bicyclidine has joined. 22:10:23 -!- augur has joined. 22:11:26 -!- augur has quit (Read error: Connection reset by peer). 22:11:50 -!- augur has joined. 22:14:43 -!- augur has quit (Read error: Connection reset by peer). 22:20:55 -!- augur has joined. 22:29:58 -!- Sgeo has joined. 22:30:15 -!- boily has joined. 22:40:12 -!- J_Arcane2 has joined. 22:41:28 -!- J_Arcane has quit (Ping timeout: 252 seconds). 22:55:54 -!- Sorella has joined. 22:56:44 -!- Sorella has quit (Changing host). 22:56:44 -!- Sorella has joined. 22:57:47 -!- Phantom_Hoover has joined. 23:05:23 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 23:10:28 -!- Bicyclidine has joined. 23:15:18 -!- not^v has joined. 23:39:36 -!- tromp__ has joined. 23:42:31 -!- tromp has quit (Ping timeout: 268 seconds). 23:52:12 -!- ^8 has joined. 23:53:37 -!- ^v has quit (Ping timeout: 245 seconds). 23:54:53 -!- augur has quit (Ping timeout: 276 seconds). 23:55:09 -!- ^v has joined. 23:58:06 -!- ^8 has quit (Ping timeout: 252 seconds). 2014-09-11: 00:01:08 -!- Bicyclidine has quit (Quit: Reconnecting). 00:01:25 -!- Bicyclidine has joined. 00:04:35 -!- diginet has quit (Quit: diginet has quit!). 00:06:21 -!- diginet has joined. 00:07:00 -!- FreeFull has quit. 00:17:52 -!- Bicyclidine has quit (Ping timeout: 240 seconds). 00:24:07 -!- augur_ has joined. 00:38:35 -!- Bicyclidine has joined. 00:41:30 It seems a bit messy to define "label types" in Haskell; for example: data A = A deriving (Eq, Typeable); instance Xyzzy A where { xyzzy A = putStrLn "Hello, World!"; }; Defining the codes needed to use them can also be a bit messy. 00:42:40 zzo38: you could use type-level strings. 00:42:54 those are automatically Typeable and stuff 00:44:47 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 00:45:27 But would those do it? I suppose if you can then make instances, it can help. 00:45:52 However it would look to be a bit less mathematically elegant then. 00:47:03 -!- FreeFull has joined. 00:47:55 So using type-level strings doesn't look right to me. 00:50:40 Are there better ways? Using macros or whatever? 00:50:55 Are there proposals to fix this? 00:54:21 -!- oerjan has quit (Quit: Nitey). 01:06:05 -!- TodPunk has quit (Read error: Connection reset by peer). 01:06:24 -!- TodPunk has joined. 01:11:36 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 01:15:34 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:20:46 -!- ^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 01:23:02 -!- paul2520 has quit (Quit: Leaving). 01:24:32 -!- paul2520 has joined. 01:29:20 -!- paul2520 has quit (Quit: Leaving). 01:29:38 -!- paul2520 has joined. 01:29:42 -!- paul_2520 has joined. 01:30:19 -!- paul_2520 has quit (Client Quit). 01:30:19 -!- paul2520 has quit (Client Quit). 01:30:37 -!- paul2520 has joined. 01:35:04 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:35:58 -!- augur_ has quit (Quit: Leaving...). 01:56:26 -!- boily has quit (Quit: VAULTED CHICKEN). 02:03:14 -!- shikhin has joined. 02:06:07 -!- shikhout has quit (Ping timeout: 245 seconds). 02:08:21 -!- shikhin has quit (Ping timeout: 264 seconds). 02:33:01 -!- impomatic has quit (Read error: Connection reset by peer). 02:37:38 -!- Sorella has quit (Remote host closed the connection). 02:49:27 -!- newsham has quit (Quit: reboot time). 02:49:44 -!- realzies has quit (Ping timeout: 276 seconds). 02:54:59 -!- newsham has joined. 03:09:56 Is there a good way to see if a 32bit library is available on a 64bit posix system? 03:19:23 -!- Bike has quit (Quit: restart). 03:20:31 -!- Bike has joined. 03:43:09 -!- `^_^v has quit (Read error: Connection reset by peer). 03:43:50 -!- `^_^v has joined. 03:44:23 -!- clog has quit (Ping timeout: 240 seconds). 03:44:53 -!- conehead has quit (Ping timeout: 240 seconds). 03:53:40 -!- ^v has joined. 04:30:58 -!- ^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:29:57 Is "Gxxyuxihuvxi" more difficult than "Iuckqlwviv Kjugobe"? 05:35:01 I dxn't knxw. 05:42:17 -!- clog has joined. 05:50:41 -!- augur has joined. 06:00:16 -!- sivteck has joined. 06:02:41 -!- blsqbot has joined. 06:02:53 !blsq 12<- 06:02:53 21 06:10:08 -!- conehead has joined. 06:29:59 -!- paul2520 has quit (Ping timeout: 272 seconds). 06:45:14 !blsq {1 2}ab 06:45:14 ERROR: Burlesque: (ab) Invalid arguments! 06:45:17 -!- conehead has quit (Quit: Computer has gone to sleep). 06:52:55 -!- applybot has joined. 07:22:23 I learned recently that Pokemon de Panepon is actually compatible with a mono GameBoy even though it says it requires a color GameBoy. If you push "A" button 24 times and then push "B" button 24 times, then it will start anyways, although the music is different and less game modes are available. 07:22:47 (This works even if you have a color GameBoy.) 07:24:19 I recentlyl learned that Pokemon Yellow(?) is turing complete . 07:27:59 wat 07:29:15 mroman_: is that the one using a buffer overflow to write machine code using the inventory? 07:30:01 http://www.curtisbright.com/bln/2013/03/01/pokemon-yellow-is-turing-complete/ 07:30:27 (because that just means the Z80 (or whatever cpu it uses) is turing complete, as far as I'm concerned) 07:34:51 olsner: yeah 07:36:59 so 07:37:06 content: doesn't work for inputs? 07:39:06 I wonder if chip's challenge is turing complete (a periodic pattern of walls would be needed) 07:39:38 Maybe I should make it a language and wait for oerjan to prove it 07:43:05 hm... 07:43:06 :) 07:43:40 -!- AnotherTest has joined. 07:43:50 ah 07:43:53 now we're talking 07:44:06 The monster move order could make things complicated, though. 07:45:15 is it allowed to write div::first-letter:before? 07:45:21 (CSS3) 07:47:17 -!- HackEgo has quit (Ping timeout: 245 seconds). 07:48:40 mroman_: I don't think so 07:49:31 no fun 07:51:21 I suspect :not doesn't work in CSS 07:51:42 -!- Guest62656 has quit (Excess Flood). 07:52:19 -!- skarn has joined. 07:52:23 -!- skarn has changed nick to Guest42178. 07:52:37 div.bar:not(div.bar::first-letter) {color: green;} 07:52:54 I have heard of the inventory buffer overflow in Pokemon Yellow. The CPU is similar to Z80, although there are some differences. 07:53:06 Thought it would select everything in div.bar except the first-letter 07:56:19 damn 07:56:28 a:visited::after isn't working either 07:58:51 I think browsers don't support certain stuff for security reasons 07:59:14 I don't know whether CSS says that you can't use a:visited ~ p? 07:59:43 hm 08:03:32 k 08:05:13 -!- HackEgo has joined. 08:45:43 [wiki] [[Ragaraja]] M http://esolangs.org/w/index.php?diff=40432&oldid=36700 * Mauriceling * (+1) 08:48:10 [wiki] [[Ragaraja]] http://esolangs.org/w/index.php?diff=40433&oldid=40432 * Mauriceling * (-4) 08:50:22 -!- hogeyui has quit (Ping timeout: 240 seconds). 08:50:58 -!- Patashu has joined. 08:51:11 -!- Patashu_ has joined. 08:51:12 -!- Patashu has quit (Disconnected by services). 08:52:41 [wiki] [[Ragaraja]] http://esolangs.org/w/index.php?diff=40434&oldid=40433 * Mauriceling * (+0) /* Influences from other works */ 09:19:11 -!- kcm1700 has joined. 09:32:21 odd 09:32:29 using Java Random Numbers from 1..10 09:32:44 in a set of 4096 random numbers there are numbers that occur 50 times as much 09:33:42 that looks broken 09:35:12 mroman_: maybe show a testcase code? 09:35:58 http://codepad.org/O5Q24OSM 09:36:30 Sometimes a number occurs up to 80 times as much as the least occuring number 09:37:32 yeah 09:37:37 like I said... broken :) 09:37:45 I knew this couldn't be 09:37:52 nvm 09:37:58 typo :) 09:38:50 `olist (962) 09:38:50 olist (962): shachaf oerjan Sgeo FireFly boily nortti 09:40:27 (a bug in my histogram function) 09:40:35 oh 09:40:45 ok 09:41:27 It's in the range of 1.1-1.3 times as many actually 09:41:30 that's ok 09:41:42 that's within my threshold of what I accept as uniformly distributed 09:49:18 -!- impomatic has joined. 10:05:18 crap :( 10:25:27 -!- boily has joined. 10:38:14 -!- oerjan has joined. 10:41:07 -!- FreeFull has quit (Ping timeout: 245 seconds). 10:41:26 -!- Frooxius has quit (Quit: *bubbles away*). 10:41:41 -!- Frooxius has joined. 10:43:50 That's curious; I've read the .nextInt(n) API docs, and they're very proud about how they actually bother to work around the usual nonuniformness problems. 10:44:01 ooh list 10:44:13 (By rejecting up to 1/2 of sampled numbers in the worst case.) 10:44:54 http://docs.oracle.com/javase/7/docs/api/java/util/Random.html#nextInt(int) 10:45:37 (Though I didn't check the code, maybe that deviation is in fact within the expected bounds given how many numbers you make and so on.) 10:48:40 "The algorithm is slightly tricky." 10:49:53 "The class uses a 48-bit seed, which is modified using a linear congruential formula." 10:50:06 some day I'll buy a lava lamp just to get real random numbers. 10:50:13 I don't think whitening an LCG really matters 10:53:10 an LCG is doomed to be predictable, broken, maimed, fold, cut, spindled, mutilated and otherwise exploited. 10:54:22 are you saying this cryptographic LCG is a sham 10:54:58 quite. 10:55:19 It certainly matters to pick the high bits instead of the low ones, even with a LCG. There's bad, and then there's really bad. 11:15:06 -!- boily has quit (Quit: CONSTABLE CHICKEN). 11:30:53 -!- idris-bot has quit (Quit: Terminated). 11:31:55 -!- idris-bot has joined. 11:36:17 -!- GeekDude has joined. 11:38:13 @type (:=) 11:38:14 Not in scope: data constructor ‘:=’ 11:38:14 Perhaps you meant one of these: 11:38:14 ‘:+’ (imported from Data.Complex), 11:38:21 @type (=:) 11:38:22 Not in scope: ‘=:’ 11:38:22 Perhaps you meant ‘==’ (imported from Data.Eq) 11:39:00 fizzie: it's pretty uniform @nextInt 11:42:24 > 1/0.8646 11:42:25 1.1566042100393246 11:43:18 > 128.0/4096.0 11:43:19 3.125e-2 11:43:27 that should be pretty uniform 11:43:38 most occurences over 4096*2 numbers is 882 11:43:47 and least occurences is 754 11:44:04 (i.e. the most common number occuers 882 and the least common number occures 754 times) 11:44:13 *occurs 11:44:29 > (128.0/4096.0)*100.0 11:44:31 3.125 11:44:43 theoretically you can calculate how much variation there _should_ be. (and complain if there's too little.) 11:45:38 because it would be just as suspicious if all numbers were _exactly_ the same number of times. 11:45:54 true 11:46:23 Measuring randomness is hard 11:46:36 and probably bound by Mr. Halting Problem 11:48:33 3, 9, 27, 81, 243, 729 for example complies to the distribution restriction 11:48:47 (numbers are more or less equally distributed) 11:48:52 but it's obviously not random 11:49:24 I use additional rotation/diff and rotation/factor methods 11:49:24 well there is an unproved conjecture that you can generate in polynomial time a PRNG that cannot be distinguished from a true one in polynomial time. 11:49:47 -!- sebbu has quit (Read error: Connection reset by peer). 11:50:06 (i.e. I rotate the sequence and calculate the diff to the original sequence, then watch out for subsequences of equal numbers) 11:51:56 > maximum . map (length) . group $ zipWith (-) [1,2,3,1,2,3] [2,3,1,2,3,1] 11:51:57 2 11:52:00 like that 11:52:18 if this yields a too large number I reject it 11:52:41 (although I take the maximum of all rotations of the original sequence) 11:52:51 -!- sebbu has joined. 11:53:31 -!- sebbu has quit (Changing host). 11:53:31 -!- sebbu has joined. 11:54:23 -!- sebbu2 has joined. 11:54:51 [wiki] [[User:Feuermonster]] M http://esolangs.org/w/index.php?diff=40435&oldid=40337 * Feuermonster * (+142) /* Others */ (Number challenges) 11:55:02 -!- sebbu2 has quit (Changing host). 11:55:02 -!- sebbu2 has joined. 11:58:25 -!- sebbu has quit (Ping timeout: 260 seconds). 12:04:02 -!- Sgeo has quit (Read error: Connection reset by peer). 12:17:05 -!- sebbu2 has quit (Ping timeout: 260 seconds). 12:54:25 -!- augur has quit (Ping timeout: 260 seconds). 13:01:59 "3GPP listening tests conducted in August are continuing with a categorization phase of the upcoming audio codec. Finnish has been selected as a part of the tests --" 13:02:22 Ooh, we're having Influence over Things. 13:02:40 -!- mauris has joined. 13:02:45 It's for the audio codec for "5G" networks. 13:08:57 -!- Patashu_ has quit (Ping timeout: 264 seconds). 13:09:05 -!- paul2520 has joined. 13:10:19 -!- paul2520 has quit (Client Quit). 13:15:38 Makes sense, that's where these things are first deployed. 13:22:11 -!- FreeFull has joined. 13:36:58 Hi. 13:37:27 How would you call a product of two primes p and q with gcd(p - 1, q - 1) = 2? 13:37:41 (this includes eg. all sophie germain primes) 13:37:59 (products of them...) 13:41:06 So the non-zero squares form a cyclic group under multiplication modulo pq. Maybe a name could be derived from that. 13:45:06 int-e: yeah. 13:45:21 Any suggestions? Anything that already exists (even better)? 13:56:50 I have no clue whether there's a name for it. I'm tempted to call the numbers semicyclic, alluding to the fact that the multiplicative group modulo pq is a direct product of C_2 and a cyclic group, but I'm not convinced that this name is actually good. 13:59:09 Oh and I wouldn't be surprised if there was a name for this; the concept looks interesting enough to have one. 14:00:28 -!- b_jonas has quit (Remote host closed the connection). 14:06:01 int-e: do you know about research/books/... on this type of numbers? 14:13:31 Sorry, no. 14:17:50 -!- sebbu has joined. 14:18:25 -!- sebbu has quit (Changing host). 14:18:25 -!- sebbu has joined. 14:51:19 -!- paul2520 has joined. 15:17:58 -!- sivteck has quit (Quit: TH HT). 15:18:30 -!- oerjan has quit (Quit: leaving). 15:20:16 -!- Phantom_Hoover has joined. 15:26:46 -!- mihow has joined. 15:34:24 -!- augur has joined. 16:26:31 -!- MoALTz has joined. 16:34:39 http://www.rockpapershotgun.com/2014/09/11/hack-n-slash-review/ 16:45:43 -!- drdanmaku has joined. 17:01:55 Is there a list of primes that can be expressed as the sum of two consecutive primes? 17:09:21 Are there any others than 5? Discounting 2, all primes are odd, and the sum of two of them is even and not a prime. 17:12:46 The sequence of sums of 2 successive primes is A001043. 17:13:11 -!- not^v has changed nick to ^v. 17:15:43 -!- ^v has quit (Read error: Connection reset by peer). 17:16:04 -!- ^v has joined. 17:18:38 -!- ^v has quit (Read error: Connection reset by peer). 17:19:04 -!- ^v has joined. 17:20:55 -!- conehead has joined. 17:24:54 -!- ^v has quit (Quit: Leaving). 17:29:15 -!- ^v has joined. 17:39:40 -!- ^v has quit (Quit: Leaving). 17:40:01 -!- shikhin has joined. 17:50:41 -!- realzies has joined. 17:50:41 -!- realzies has quit (Changing host). 17:50:41 -!- realzies has joined. 18:11:59 so I'm rewriting my Befunge-98 interpreter 18:12:01 again 18:12:02 :P 18:14:47 -!- ^v has joined. 18:31:05 -!- ais523 has joined. 19:06:33 -!- `^_^v has quit (Ping timeout: 245 seconds). 19:11:50 -!- ^v has changed nick to intptr_t[]. 19:17:37 -!- ais523 has quit (Read error: Connection reset by peer). 19:17:49 -!- ais523 has joined. 19:21:47 -!- intptr_t[] has changed nick to ^v. 19:31:12 Incidentally, is this "piles of trash bags on the pavement" a Britain-wide thing, or just a London-specific thing? 19:38:17 fizzie: it's Britain-wide but only on specific days of the week 19:38:43 It was smelly. 19:39:33 -!- ais523 has quit (Read error: Connection reset by peer). 19:39:46 -!- ais523 has joined. 19:39:49 [20:38] fizzie: it's Britain-wide but only on specific days of the week 19:39:51 [20:38] the policy is, we have to put the trash bags onto the pavement (=sidewalk) early on certain days 19:39:52 [20:38] then the council send around lorries to collect them 19:39:53 [20:38] it's the normal method of waste disposal 19:39:54 -!- ais523 has quit (Changing host). 19:39:54 -!- ais523 has joined. 19:39:55 [20:38] putting them out too early gets you in serious trouble 19:40:16 fizzie: does it work differently in Finland, btw? 19:43:01 Yes, every building has a box. Or, these days, a whole lot of separate color-coded boxes for different types of waste. 19:44:15 that's how recyclable waste works in the UKp 19:44:35 Outside the most urban areas, quite often something shed-like on the back/frontyard. 19:45:00 http://www.vaasalaisia.info/uploads/roskikset.jpg <- typical example, looks quite a lot like our particular shed. 19:45:53 -!- ais523 has quit (Read error: Connection reset by peer). 19:45:53 -!- callforjudgement has joined. 19:45:57 -!- callforjudgement has changed nick to ais523. 19:46:10 -!- AnotherTest has quit (Ping timeout: 264 seconds). 19:46:24 This is a 50-apartments-or-so building, and I think we have three big-ish "landfill waste" boxes, a big paper recycling one, a big cardboard/milk-carton recycling one, two small compostable bio-waste boxes, a small box for glass and a small box for metal. 19:48:33 With different collection frequencies for the different kinds. 19:48:42 we have a system with colored bags for bio-waste that you throw with normal waste and it all gets sorted out at the wherever-the-garbage-goes place 19:49:26 Actual home owners don't typically sort all that much, since I think the collection service gets more expensive the fancier you get. 19:49:33 Though it could be they've passed more regulations about that. 19:49:51 I know we had to get rid of one of the big boxes to fit the glass and metal containers in the garbage shed. 19:50:17 But that might easily be a rule that only applies when the number of people living somewhere passes a threshold. 19:50:59 -!- ^v has changed nick to zomg_dogecoin_fo. 19:51:16 -!- zomg_dogecoin_fo has changed nick to ^v. 19:52:01 And we don't yet have split containers for "landfill waste" and "energy waste" (stuff you can burn safely, generally), unlike a lot of places. 19:52:05 ^v, are you the same ^v from #bp 19:52:30 -!- realzies has quit (Ping timeout: 246 seconds). 19:52:30 Though the sorting rules for that are much more complicated. 19:52:52 (I mean, you can put in plastic grades 01, 02, 04, 05 and 06, but not 03.) 19:53:38 -!- callforjudgement has joined. 19:54:24 <^v> Phantom_Hoover, esper? 19:54:26 <^v> yes 19:54:34 eeire 19:54:34 <^v> exept ^v is my bot there 19:54:38 all waste gets processed as energy waste here, I think for district heating 19:54:42 uh 19:54:43 eerie 19:54:46 <^v> nope 19:54:51 olsner: They are prototyping that around hereabouts. 19:54:51 ^v, wait, what does it do 19:55:00 <^v> lots of stuff 19:55:01 olsner: I think they were having some trouble with cat litter. 19:55:07 <^v> including a bunch of esolangs 19:55:37 lol, and they thought there were no bots in the channel 19:56:51 Ah, here's the rules. There has to be at least the general "landfill waste" collection, and then separately compostable stuff if there are >= 10 apartments, cardboard/cartons if >= 10 (since 2014; before that, >= 20), and glass/metal if >= 20 (since 2014). 19:57:13 -!- ais523 has quit (Ping timeout: 260 seconds). 19:57:31 -!- callforjudgement has changed nick to ais523. 19:57:36 Oh, and paper recycling, but apparently that's free-of-charge unless your place is too far out there. 19:57:43 meanwhile: i found some geometric group theory notes online which talk about 'intergers' and take about half a page just to define the span of a group 19:58:11 and they define it as an intersection of subgroups or some shit 19:58:23 I think there's one big plant here for the whole city here, so I expect it to burn everything including cat litter 19:59:58 and apparently waste heat somehow makes the thing run worse, so they've started laying down ground heating across town to de-ice the streets in winter and to cool the return water down 20:00:12 Apparently it burns badly. 20:00:16 Cat litter, I mean. 20:00:27 Increases the frequency they need to clean the burninators. 20:01:01 So they've specified that it needs to go to a separate landfill collection, though I'm pretty sure not everyone's even aware of that. 20:03:56 -!- shikhout has joined. 20:07:47 -!- shikhin has quit (Ping timeout: 276 seconds). 20:10:29 -!- b_jonas has joined. 20:18:29 https://dl.dropboxusercontent.com/u/113389132/Misc/20140911-view.jpg <- a room with a view. 20:25:07 -!- ais523 has quit. 20:25:07 Heh. My Finnish class at uni was in a room like that. 20:25:16 -!- ais523 has joined. 20:25:49 Lessee here … yellow lid: recyclable packaging; brown lid: compostable / organic waste; blue lid: paper and cardboard; black/grey lid: what’s left. 20:27:40 Glass you bring to a container somewhere in the wider neighborhood, separated by color. 20:28:01 Grey box for unsorted waste, brown for compostable/organic, green for paper, blue for cardboard/cartons, I forget what color exactly the metal/glass boxes are. 20:28:36 * Melvar ← in Germany, btw. 20:28:58 We used to have per-city-district "clear glass" and "colored glass" collection points, but I'm not sure if those still exist now that the per-building collection is more common. 20:29:41 J_Arcane2: This was a hotel room, but kind of a last-minute reservation, so it's perhaps not the one they book first. 20:30:06 Ahh, yeah. That can happen. 20:34:43 I think our bottle recycling deposits are relatively large (€0.10 for .33l bottles, €0.15 for cans, €0.20 for 0.5l bottles and 0.40€ for the 1.5l/2l ones), and we get quite a lot of them back. 20:35:05 "Glass bottles have almost 100% recycling and are refilled 33 times on average. Aluminium cans have a recycling rate of about 94% and PET bottles 92% (2010), deemed to be top statistics internationally." -Wikipedia, "Container deposit legislation". 20:35:35 Brompton World Championship 2009: http://youtu.be/U-grD3srTe4 not sure if brilliant or crazy 20:36:26 fizzie: we're not allowed to put glass in general waste 20:36:39 I think because they don't want the waste handling lorries to have to cope with broken glass 20:37:10 (#esoteric - it's all about waste management now.) 20:39:34 clearly we have to make this into an esolang 20:41:10 By the rule 34 analogue for brainfuck derivatives, there's a garbage-themed one already. 20:42:43 fizzie: ICFP 2007 has one or two esolangs in it (depending on how you count) and had a garbage-themed back story: http://save-endo.cs.uu.nl/ 20:43:58 fizzie: about the garbage-themed back story: http://johanjeuring.blogspot.hu/2007/07/emorphency.html 20:45:40 It's no brainfuck derivative, but it'll do. 20:45:53 yep, definitely not a BF-derivative 20:54:28 -!- paul2520 has quit. 20:55:03 -!- paul2520 has joined. 20:58:03 -!- augur has quit (Quit: Leaving...). 20:58:17 -!- paul2520 has quit (Client Quit). 20:59:14 But what is the rule forty-two analogue for brainfuck derivatives? 20:59:50 is there a rule 42 analogue about rule 42 analogues? 21:00:22 what is rule 42, anyway? 21:01:12 ais523: rule 34 probably 21:01:30 b_jonas: according to the list on TV Tropes, rule 42 is "nothing is sacred" 21:03:28 -!- Patashu has joined. 21:06:58 [wiki] [[Clem]] N http://esolangs.org/w/index.php?oldid=40436 * 173.67.61.149 * (+4933) Created page with "The Clem language ---- Clem is a stack based programming language with first-class functions. The best way to learn Clem is to run the `clem` interpreter in interactive mode,..." 21:11:12 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40437&oldid=40436 * 173.67.61.149 * (+115) 21:14:08 aww, are there no Lovecraftian esolangs? 21:14:26 -!- ais523 has quit (Ping timeout: 268 seconds). 21:16:14 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40438&oldid=40437 * 173.67.61.149 * (+39) 21:16:48 J_Arcane2: you should make one 21:16:55 I should. 21:17:04 Maybe that could be my first toy Common Lisp project. 21:17:26 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40439&oldid=40438 * 173.67.61.149 * (+1) 21:18:06 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40440&oldid=40439 * 173.67.61.149 * (+1) 21:18:47 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40441&oldid=40440 * 173.67.61.149 * (+8) 21:19:06 though I still kinda want to do a Finnish programming language. :D 21:19:29 Would be a good excuse to merge my language and programming studies. 21:23:28 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=40442&oldid=40361 * 173.67.61.149 * (+11) 21:25:25 Heh. Although, if I really wanted to practice macroing zzo38's Peyo would be a fun one. 21:26:02 -!- Patashu has quit (Ping timeout: 245 seconds). 21:26:46 I thought rule forty-two is all persons more than a mile high must leave the court 21:27:21 Do you know a cheat code for Pokemon Card GB2 to allow to request a rematch against any NPC in the game? 21:30:41 -!- oerjan has joined. 21:31:35 -!- mihow has quit (Quit: mihow). 21:35:07 -!- mihow has joined. 21:36:24 -!- GeekDude has quit (Excess Flood). 21:36:37 -!- GeekDude has joined. 21:38:29 -!- shikhout has quit (Ping timeout: 260 seconds). 21:40:46 -!- Phantom__Hoover has joined. 21:44:31 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 21:48:46 -!- paul2520 has joined. 21:56:28 [wiki] [[User:Imaginer1]] http://esolangs.org/w/index.php?diff=40443&oldid=40387 * Imaginer1 * (+14) 21:57:48 -!- KingOfKarlsruhe has joined. 22:03:59 -!- paul2520 has quit (Quit: leaving). 22:06:11 apart from scheme and ruby, what languages use question marks and/or excalmation points as part of symbols to conventionally mark predicates and in-place functions? I'd especially like to know 22:06:29 whether any older languages do that and where scheme and ruby had inherited this notation from. 22:07:06 -!- paul2520 has joined. 22:07:42 Basic has a ? shortcut for PRINT. But I suspect that's not what you mean. 22:08:13 Z-machine assembly language uses question marks for some (but not all) predicate functions. 22:08:20 I've seen the ! somewhere else. 22:08:21 J_Arcane2: yes, I'm specifically asking for the same usage as in scheme 22:08:26 zzo38: I see 22:08:32 I didn't know that 22:08:37 I don't know the reason why not all of them do. 22:08:55 b_jonas: Does this count? http://en.wikipedia.org/wiki/%3F: 22:09:04 do you happen to know if smalltalk has these? 22:09:35 J_Arcane2: no. I've specifically said "part of symbols"! 22:09:51 Then I think there's nil. 22:10:20 zzo38: meh, ruby and scheme are inconsistent in using them as well 22:10:22 especially ruby 22:10:30 logo or something? 22:10:50 I don't know much about logo 22:11:01 b_jonas: from what i remember of very old lisp code, i think the ? convention started with scheme 22:11:04 b_jonas: Julia does the !, I think. But not a source of anything. 22:11:11 i don't think even maclisp did it 22:11:21 LISP used 'P' instead. 22:11:25 Actually, I think some PILOT variants used a ? for certain conditionals. 22:11:42 fizzie: yes, and I think some languages use x or -x instead of the exclamation mark 22:11:56 Y? or somesuch like that following the choice statement. 22:12:00 and maclisp was what scheme was implemented in, so 22:12:35 http://maclisp.info/pitmanual/symbol.html#SYMBOLP yep yep. 22:12:38 (I'm quite sure BANCStar doesn't use this convention) 22:13:29 vim uses ! in the name of some ex commands, but I don't think it ever means in place 22:17:42 Logo does both P and ? styles, but that's just the LISP genes talking: http://www.cs.berkeley.edu/~bh/v1ch4/predic.html 22:17:46 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40444&oldid=40441 * 173.67.61.149 * (+626) 22:18:10 logo postdates scheme, right? 22:18:33 fizzie: You know until it was pointed out to me v. recently I never had any idea there was a connection between Logo and Lisp. 22:18:35 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40445&oldid=40444 * 173.67.61.149 * (+30) 22:20:15 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40446&oldid=40445 * 173.67.61.149 * (-2) Cleaning up formatting 22:20:28 b_jonas: mostly it seems to mean "overrule some kind of protection" 22:21:05 sleep now 22:22:31 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40447&oldid=40446 * 173.67.61.149 * (+5) 22:23:30 also some of those commands definitely _are_ "in place", but it's not really the ! which denotes it 22:47:02 -!- nisstyre has quit (K-Lined). 22:50:52 -!- nisstyre has joined. 22:52:15 b_jonas: ruby and scheme use them differently 22:52:29 though ruby is a bit inconsistent, it's true 22:53:11 elliott: yes, ruby is probably more inconsistent than scheme 22:53:18 in using these 22:53:41 b_jonas: in ruby it's something like, .x! is the in-place version of .x 22:53:47 rather than being used for just anything tha tmutates 22:53:59 I for one don't really like these punctuation 22:54:01 but sometimes there's .x! without .x, I guess when it's not obvious that it would be doing something in-place 22:54:05 elliott: yep 22:54:15 whereas in scheme everything that mutates gets a !, more or less 22:54:20 (though not all IO...) 22:54:38 it seems like all hungarian notation: just a really weak type system 22:57:32 -!- GeekDude has changed nick to there. 22:57:38 -!- there has changed nick to GeekDude. 23:03:54 -!- mauris has quit (Quit: Leaving). 23:12:53 -!- boily has joined. 23:19:34 -!- Sgeo has joined. 23:48:52 -!- mihow has quit (Quit: mihow). 2014-09-12: 00:02:12 -!- vyv has joined. 00:04:52 -!- paul2520 has quit (Ping timeout: 240 seconds). 00:06:59 -!- paul2520 has joined. 00:07:23 -!- paul2520 has changed nick to Guest72062. 00:08:02 -!- FreeFull_ has joined. 00:10:46 -!- augur has joined. 00:10:53 -!- FreeFull has quit (Ping timeout: 276 seconds). 00:18:28 -!- Phantom__Hoover has quit (Quit: Leaving). 00:23:35 -!- not^v has joined. 00:27:47 -!- Guest72062 has changed nick to paul2520. 00:31:13 Since I am writing Z-machine compiler in C, and a question mark is not a valid identifier in C, instead I used "_Q" in the name of the constants and other things with have do so with such instructions, instead of a question mark. (Simply omitting it entirely won't work because of the "FSET" and "FSET?" instructions; the part other than the question mark is the same name.) 00:49:38 -!- oerjan has quit (Quit: leaving). 00:53:53 -!- not^v has quit (Ping timeout: 272 seconds). 01:10:05 zzo38: yes, the ruby core uses a similar convention to name the C functions implementing ruby functions: question mark methods are usually named with a "_q" suffix, exclamation mark methods with a "_x" suffix 01:10:10 iirc 01:10:51 -!- not^v has joined. 01:11:33 zzo38: does the Z-machine have instructions with digits in their name? just curious. x86 intel assembly syntax does, it has had them since the 8087 days, but has more now; and I think it now even has an instruction with an underscore in its name. 01:11:48 b_jonas: No, it doesn't have any instructions with digits in their name. 01:12:06 (Nor any with underscores in their name.) 01:12:15 that's not the scary part of the intel mnemonics of course. the scary part is how they have two unrelated instructions with identical names, and generally inconsistent names and syntax because of historical cruft. 01:12:43 they don't dare changing the assembly syntax, which is why we have instructions and registers with such strange names stuck. 01:13:52 and some instructions have strange syntax in intel assembly variant to disambiguate instructions that would otherwise have the same form, especially instructions differing in the operand size they are operating on. 01:14:46 gnu as syntax fixes only a small amount of this, because they still derive the names for instructions and operators from the intel names so as not to confuse humans. 01:19:57 what are the two unrelated instructions? 01:20:59 -!- PaulOnProjector has joined. 01:22:02 -!- PaulOnProjector has quit (Client Quit). 01:22:36 elliott: MOVSD. one MOVSD is the case of the old 8086 MOVS (memory-to-memory move with implicit addresses) instruction (for z80 compatibility) on 4-byte operand, 01:23:23 the other is an SSE2 instruction for moving one double precison float from/to XMM registers. 01:23:30 nice 01:24:13 in both case, MOV stands for "move", but SD stands either for "string, doubleword" or for "scalar double-float" 01:25:03 that 4-byte words are called "doubleword" in first place is because of the legacy that "word" means a 2-byte words. it gets even worse when they call 16-byte areas a "double quadword" 01:25:31 so now we have doublewords, double quadwords, and double floats 01:26:35 we could try to adopt Knuth's terminology where he calls a 2-byte area "wyde", a 4-byte area "tetra", and an 8-byte area "octa", but then we need a name for 16-byte, 32-byte, 64-byte, 128 byte too. 01:27:05 also, it doesn't mix well with people calling a byte an "octet" 01:27:13 (Knuth calls them "byte") 01:27:15 I vote we call 16 bytes a "hecka". 01:27:34 the "octet" was probably popularized by French people who don't like English-derived words like byte 01:28:29 pikhq: how about the larger ones? 01:28:51 -!- boily has quit (Quit: DOUBLEPLUSGOOD CHICKEN). 01:29:07 "Hella" for 32 bytes, and 64 is... good question. 01:31:08 128 is numberwang. 01:31:08 then there's some texts and software interfaces that use "short" for 2-byte and "long" to mean either definitely 4-byte or definitely 8-byte. 01:31:22 how about 2 bits = biit, 4 bits = biiit, 8 bits = biiiit, and so on. 01:31:47 elliott: no, that gets hard to read for larger sizes 01:32:17 4 bits = bte, 16 bits = byyte, 32 = byyyte? 01:32:25 okay, let's say we use i = 1, u = 0 and notate it in binary 01:32:41 1 bit = bit, 2 bits = biut, 3 bits = biit, 4 bits = biuuut, 0 bits = butt 01:32:44 Ooh. "Bytye". 01:32:53 for 16 bytes, we could revive the old terminology and call it a paragraph? 01:33:10 bwhat. 01:33:34 Bye, word, sentence, paragraph, page, chapter, book. 01:33:46 pikhq: no, not "page", that's already overloaded 01:34:01 pikhq: add "clause" and "phrase" in that though 01:35:27 encyclopedia 01:35:39 Followed by a Wikipedia, of course. 01:36:02 oh, add "issue" and "volume" too then 01:36:12 Byte, word, clause, phrase, sentence, paragraph, chapter, volume, encyclopedia, wikipedia 01:36:23 you need to fit "library of congress" in there 01:36:29 just make sure "character" is not in the list 01:36:31 this is definitely less cumbersome than using numbers 01:36:36 Between encyclopedia and wikipedia, of course. 01:36:44 b_jonas: s/byte/character/ happy? 01:36:55 I said make sure it's _not_ on the list 01:36:59 Ah. 01:37:07 and of course "word" can be problematic too 01:37:32 Yes, but that problem is hilarious. 01:37:51 so that leaves us with byte, morpheme, phrase, clause, sentence, paragraph, chapter, issue, volume, etc 01:38:06 Grapheme for "byte" then. 01:38:33 we can't use any of these either because they already have meanings: section, line, journal 01:38:43 we could perhaps add "article" and "text" though 01:38:51 Also sometimes "byte" isn't necessarily 8-bits but is meaning the unit of memory that a single address spans. (And, I think PDP-11 has another different use for "byte".) 01:39:20 Yes, but the only people who are concerned about that also say "octet". 01:39:58 And for "word" I also usually make it clear if I mean a 16-bit word, 32-bit word, etc by explicitly specifying as such. 01:40:14 Yes, but byte sizes other than 8 bits are sort of history now, we no longer deal with them. 01:40:46 oh, and "book" too 01:40:49 how many do we have? 01:41:29 VM360 uses bytes which are 32-bits long (although the documentation never uses the term "byte", a cell of memory is called a "cell" or "32-bit word", and 8-bit is called "octet"). 01:41:35 byte, wyde, morpheme, phrase, clause, sentence, paragraph, article, chapter, text, novel, book, issue, volume 01:41:47 But, anyways it is a virtual machine and does not correspond to any real hardware. 01:42:02 zzo38: aren't those chars? 01:43:04 -!- not^v has quit (Read error: Connection reset by peer). 01:43:35 -!- not^v has joined. 01:44:06 -!- not^v has quit (Read error: Connection reset by peer). 01:44:35 b_jonas: I don't know what you are refering to. Can you please be more specific? 01:44:44 -!- not^v has joined. 01:44:53 the 32-bit cells in VM360, are those bytes or just chars? 01:45:01 of course this is just a terminology question 01:45:15 basically I just don't want to use "octet" which is why I insist that bytes are 8-bit 01:45:36 I like 8-bit bytes 01:46:00 Well, the term "byte" is never used in VM360 documentation so it doesn't matter; usually it is called a "32-bit word". 01:47:02 A character code though is 7-bits, although they are packed four characters per word, with 8-bits per character although the high bit is ignored, so only seven bits are used. 01:48:30 then there's the columns of various ticker tape and punch cars, which are all sort of char like and have various sizes starting from 5 bit 01:48:37 s/cars/cards/ 01:49:29 -!- Bicyclidine has joined. 01:49:31 Yes, and Baudot is 5-bits, too 01:54:08 -!- not^v has quit (Read error: Connection reset by peer). 01:55:14 -!- not^v has joined. 01:55:50 -!- not^v has quit (Read error: Connection reset by peer). 01:56:08 -!- not^v has joined. 02:14:05 -!- Sorella has joined. 02:14:58 -!- Sorella has quit (Changing host). 02:14:58 -!- Sorella has joined. 02:51:26 -!- Bicyclidine has quit (Ping timeout: 276 seconds). 03:13:24 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:30:53 -!- not^v has quit (Ping timeout: 272 seconds). 04:33:13 -!- not^v has joined. 05:08:12 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40448&oldid=40447 * 173.67.61.149 * (+19) 05:12:26 -!- CrazyM4n has joined. 05:35:18 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:40:44 i like the funciton version 05:40:51 21 bytes per char 05:43:53 bits* 05:44:38 I really want to see a 20.087463 bit long unsigned integer type though 05:45:06 yeah 05:45:24 http://esolangs.org/wiki/Funciton/Quine so awesome 05:46:04 also: why does funciton renders bad in most browsers i've tested? 05:46:15 blame your font 05:46:28 default 05:47:20 -!- digitalcold has joined. 05:47:20 myname: Most Unicode fonts still suck. also, spacing is inconsistent in general between browsers. 05:53:31 -!- MoALTz has quit (Quit: Leaving). 05:57:46 LATIN LETTER INVERTED GLOTTAL STOP 05:57:51 yeah, I'm sure that's Latin 06:01:08 GLUTTON STOP, from pig latin 06:06:59 is there a terminal-session recording program for linux? 06:07:18 script ? 06:07:36 of course there is 06:08:03 termrec 06:09:11 coppro: all IPA letters are considered to be derived from, well, (Latin) alphabets. 06:10:19 coppro: http://www.fileformat.info/info/unicode/char/01C1/index.htm even this one is. 06:18:57 termrec isn't in the debian repository apparentely 06:19:28 i'm not surprised 06:19:41 as an arch user, debian repositories look basically empty 06:20:10 really? 06:20:26 well, a bit better than centos 06:20:33 i'll try building it from source 06:20:40 lifthrasiir: whyyyy 06:20:56 ttyrec is the more classic one 06:21:51 libtty.so.0 => not found 06:21:52 hm 06:24:03 make install is probably broken 06:24:08 there's a libtty.so in ./libs 06:29:35 lifthrasiir: i should add (ǁ) = (||) in my prelude :D 06:30:36 hm 06:31:54 Is there one that produces .gif or .flv :)? 06:32:21 any regular screen recorder? 06:33:10 yes 06:33:48 ttyrecs are specifically aimed at allowing you to watch the recording on a different terminal 06:33:58 yeah 06:34:02 good old nethack times 06:35:38 old? 06:35:55 yeah, i'm more into dwarf fortress now 06:36:22 even though i suck at it 06:36:53 byzanz is the best I've found so far 06:36:59 but it sucks that you can't stop it 06:37:08 you have to set --duration in advance 06:39:10 2 days should be enough 06:39:28 lol 06:39:46 just find a reasonable upper bound and crop the end away 06:40:28 you may not want to watch porn these 2 days, though 06:40:49 or maybe you want to do it even more, whatever 06:42:59 myname: and you should make a click voice when you read it 06:43:49 like in the internet porn simulator in south park? 07:17:25 -!- CrazyM4n has quit (Read error: Connection reset by peer). 07:29:12 -!- conehead has quit (Quit: Computer has gone to sleep). 07:29:13 -!- rodgort has quit (Quit: ERC Version 5.3 (IRC client for Emacs)). 07:33:46 -!- rodgort has joined. 07:41:36 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:22:04 * Taneb needs to fix his life 08:23:46 -!- AnotherTest has joined. 08:24:46 > let life = id in fix life 08:24:50 mueval-core: Time limit exceeded 08:24:52 Sorry, that would take too long. 08:28:53 > fix it 08:28:54 Not in scope: ‘it’ 08:28:54 Perhaps you meant one of these: 08:28:54 ‘id’ (imported from Data.Function), 08:28:54 ‘C.id’ (imported from Control.Category), 08:28:54 ‘i’ (imported from Debug.SimpleReflect) 08:28:59 :( 08:29:16 lambdabot should have an it 08:29:52 @type i 08:29:53 Expr 08:30:42 Oh, one of those things. 08:36:21 -!- Patashu has joined. 08:36:27 > i 08:36:29 i 08:36:33 > i$i 08:36:34 Couldn't match expected type ‘Debug.SimpleReflect.Expr.Expr -> t’ 08:36:34 with actual type ‘Debug.SimpleReflect.Expr.Expr’ 08:36:43 > x / 9 * i 08:36:44 x / 9 * i 08:37:04 > mconcat [Just x, Just i] 08:37:05 Just (x <> i) 08:37:34 > mconcat [Just (Sum x), Just (Sum y)] 08:37:35 Just (Sum {getSum = x + y}) 08:37:41 not bad 08:37:49 > sequence [Just x, Nothing, Just y] 08:37:50 Nothing 08:37:55 > sequence [Just x, Just y] 08:37:57 Just [x,y] 08:38:08 > show x 08:38:09 "x" 08:38:34 > (read "x") :: Expr 08:38:37 No instance for (GHC.Read.Read Debug.SimpleReflect.Expr.Expr) 08:38:37 arising from a use of ‘Text.Read.read’ 08:45:58 Is there something builtin like Eq a => (a -> a) -> a -> a that'd be kind of like iterate f x except stop as soon as f x == x and yield that x? 08:47:23 hm 08:47:29 @type until 08:47:29 (a -> Bool) -> (a -> a) -> a -> a 08:47:37 ^- that? 08:47:59 > until (> 100) (*2) 1 08:48:00 128 08:48:06 > until (== 128) (*2) 1 08:48:07 128 08:48:31 I'm not sure wheter you can use it for f x == x 08:50:40 I guess, if you put the same f in the predicate. 08:52:08 > let f = min 0 . (+1) in until (ap (==) f) f (-10) 08:52:10 0 09:03:22 > let f y = y*y in until (\x -> x == f x) f 1 09:03:24 1 09:03:43 > ap (==) x 09:03:44 Couldn't match expected type ‘a -> a’ 09:03:44 with actual type ‘Debug.SimpleReflect.Expr.Expr’ 09:04:04 ah well I can guess what ap does anyway 09:08:30 @src ap 09:08:30 ap = liftM2 id 09:14:38 what's the Syntax again for a Record 09:14:46 where I want to replace the value of foo 09:15:11 let Bar {..} = x in Bar {.., foo = new}? 09:18:31 Um, wouldn't that be more like let x = Bar {..} in x {foo = new} or something. 09:20:25 ah 09:20:42 it's Bar { .. } = x in Bar { foo = new, .. } 09:21:23 > let x = Foo { bar = 42, baz = "ding" } in [x, x { baz = "dong" }] 09:21:24 [Foo {bar = 42, baz = "ding"},Foo {bar = 42, baz = "dong"}] 09:22:57 I mean, ^ that's what I assumed you meant. 09:23:12 setLastName new (Person { .. }) = Person { lastName = new, .. } <- works as well 09:23:39 for a lense-unaware Person like me 09:23:44 setLastName new p = p { lastName = new } is shorter, though. 09:47:26 ah 09:47:32 is there a map (fmap f)? 09:48:38 @hoogle [f a] -> (a -> b) -> [f b] 09:48:41 Prelude fmap :: Functor f => (a -> b) -> f a -> f b 09:48:41 Data.Functor fmap :: Functor f => (a -> b) -> f a -> f b 09:48:41 Control.Monad fmap :: Functor f => (a -> b) -> f a -> f b 09:49:33 actually that's fmap (fmap f) 09:49:36 probably 10:16:44 -!- boily has joined. 10:24:30 -!- Phantom_Hoover has joined. 10:29:36 -!- AnotherTest has quit (Read error: Connection reset by peer). 10:30:19 -!- AnotherTest has joined. 11:13:42 -!- boily has quit (Quit: TRIPHOSPHATE CHICKEN). 11:23:27 -!- oerjan has joined. 11:42:47 setLastName new (Person { .. }) = Person { lastName = new, .. } <- works as well <-- that's an extension, x { lastName = new } is standard Haskell. 12:04:06 -!- Sgeo has quit (Read error: Connection reset by peer). 12:12:39 -!- GeekDude has joined. 12:17:28 oerjan: Oh, was that with a literal ".."? I thought it was shorthand for "match all other parameters and list them" on the other side. 12:18:08 there is an extension that implements that shorthand 12:18:08 Now how did that second quotation mark end up right there in the middle. 12:18:38 what 12:19:06 i assume mroman_ said it himself 12:20:14 < myname> also: why does funciton renders bad in most browsers i've tested? – Looks good for me. 12:21:08 @tell coppro < coppro> LATIN LETTER INVERTED GLOTTAL STOP – It was certainly used mostly together with latin letters. How would you categorize it? 12:21:08 Consider it noted. 12:21:45 @tell myname < myname> lifthrasiir: i should add (ǁ) = (||) in my prelude :D – Note that it’s a letter, not a symbol. 12:21:45 Consider it noted. 12:22:01 oerjan: hm? 12:22:14 > let ǁ = (||) in ǁ False True 12:22:16 True 12:22:59 mroman_: .. wildcards are not standard haskell, but x { f = a } is. 12:23:08 then what are they for? 12:23:46 um they are for precisely what you seemed to be using them for. but they are an extension, not standard. 12:24:05 yeah 12:24:10 but if they do the same thing that the standard 12:24:15 why would you need an extension 12:24:18 *than 12:24:22 or *as the standard 12:25:07 well they can do other things than being a more verbose way of writing x { f = a } 12:25:55 > let 1 = 2 in 1 12:25:56 1 12:26:09 > let 1+1 = 2 in 1 12:26:11 1 12:26:13 > let 1+1 = 2 in 1+2 12:26:15 *Exception: :3:5-11: Non-exhaustive patterns in function + 12:26:35 oh 12:26:42 Idris has a nested record update syntax. 12:26:44 > let 1+1 = 3 in 1+1 12:26:46 3 12:26:55 I like that feature 12:28:21 > otherwise 12:28:23 True 12:28:30 German Court: Google Must Stop Ignoring Customer E-mails 12:28:31 haha 12:29:10 > const otherwise id 12:29:12 True 12:29:16 it's only fair 12:29:41 > const False otherwise True 12:29:43 Couldn't match expected type ‘GHC.Types.Bool -> t’ 12:29:43 with actual type ‘GHC.Types.Bool’ 12:48:55 -!- Wings1yte has joined. 12:57:58 i hate being @told :( 12:58:12 hm... 12:58:30 `run grep myname bin/dontaskdonttelllist 12:58:30 No output. 12:58:42 who is responsible for lambdabot? i have a feature request 12:58:59 only annoy @told people if they ever went offline til next message 12:59:37 myname, -1. Awkward for people with bouncers 12:59:54 -!- Wings1yte has left ("I'm a happy Miranda NG user! Get it here: http://miranda-ng.org/"). 13:00:01 I never go offline if I can help it. 13:00:04 Taneb: people with bouncers should receive highlights from their bouncers 13:00:11 that's the only reason to actually use one 13:00:39 `run echo myname >>bin/dontaskdonttelllist 13:00:40 No output. 13:01:11 `dontaskdonttelllist 13:01:12 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 13:01:25 that seems nice 13:01:43 especially the fact that HackEgo didn't highlight me 13:01:44 ...is it bad that the mouse pointer feels like an extension of my body? 13:01:59 Taneb: it means you don't use the terminal enough 13:02:12 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 13:02:27 myname, terminal isn't great for browsing Facebook 13:02:40 Or for playing Civ V 13:02:58 you shouldn't browse facebook in the first place 13:03:15 Easy for you to say 13:03:17 myname: Yeah but... sometimes highlights in the past are so far in the past they exceed buffers 13:04:00 mroman_: well, if i'm away, irssi puts them in the status window when i come back 13:04:07 also, i get a push notificatio 13:06:43 oerjan: i am a bit confused, why does hackego have a list for lambdabot? 13:07:01 myname, I think it's a list for oerjan 13:07:05 myname: because i made it and i cannot make commands in lambdabot hth 13:07:11 also that. 13:07:21 although other people are welcome to use it, of course. 13:07:22 so, lambdabot just ignores it 13:07:38 it's just for me to remember who doesn't want to be @told. 13:08:09 that's a bit disappointed, but i do think the most @tells i've received so far are from you, so i'm actually okay with it 13:08:17 heh :P 13:11:17 `help 13:11:17 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 13:11:22 ... 13:11:29 `find / 13:11:30 ​/ \ /sys \ /sys/fs \ /sys/fs/ext4 \ /sys/fs/ext4/features \ /sys/fs/ext4/features/meta_bg_resize \ /sys/fs/ext4/features/batched_discard \ /sys/fs/ext4/features/lazy_itable_init \ /sys/fs/cgroup \ /sys/bus \ /sys/bus/cpu \ /sys/bus/cpu/devices \ /sys/bus/cpu/devices/cpu0 \ /sys/bus/cpu/drivers \ /sys/bus/cpu/uevent \ /sys/bus/cpu/drivers_probe \ 13:11:34 huh 13:11:35 i am very close to asking how hard it can be to teach lambdabot stuff, but then i remember my time trying to get it into a jabber muc ... 13:12:11 `find / | grep passwd 13:12:12 find: `/ | grep passwd': No such file or directory 13:12:25 ... 13:12:36 aww 13:12:43 `cowsays moo 13:12:44 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cowsays: not found 13:13:00 GeekDude: you need to use `run to use commands with more than one argument 13:13:14 (or shell features) 13:13:44 `cowsay moo 13:13:45 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cowsay: not found 13:13:49 we need cowsay 13:13:54 `run apt-get install cowsay 13:13:55 W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (2: No such file or directory) \ E: Could not open lock file /var/lib/dpkg/lock - open (2: No such file or directory) \ E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? 13:13:57 :( 13:13:58 we don't 13:14:06 cowsay is horrible 13:14:12 `cowsay you're wrong 13:14:13 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cowsay: not found 13:14:13 better use toilet or the like 13:14:21 !blsq_uptime 13:14:21 1d 7h 11m 45s 13:14:59 `telnet towel.blinkenlights.nl 13:14:59 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: telnet: not found 13:15:10 `run nslookup 13:15:11 bash: nslookup: command not found 13:15:16 `run ifconfig 13:15:17 bash: ifconfig: command not found 13:15:23 `run sudo ifconfig 13:15:24 bash: sudo: command not found 13:15:27 this is a very sad shell 13:15:34 `run run 13:15:35 bash: run: command not found 13:15:37 `ls 13:15:37 ​:-( \ 98076 \ a \ app.sh \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ fb \ fb.c \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ unpa \ UNPA \ Wierd \ wisdom \ wisdom.pdf 13:15:40 `run ls 13:15:41 ​:-( \ 98076 \ a \ app.sh \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ fb \ fb.c \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ unpa \ UNPA \ Wierd \ wisdom \ wisdom.pdf 13:15:45 `touch geek.sh 13:15:46 No output. 13:15:47 `:-D 13:15:48 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: :-D: not found 13:15:54 `cat :-D 13:15:55 ​☺ 13:15:58 `cat :-( 13:15:59 ​☹ 13:16:02 `run echo "echo 'wut'" > geek.sh 13:16:04 No output. 13:16:09 `bash geek.sh 13:16:09 wut 13:16:12 :D 13:16:16 outgoing connections are whitelisted, and i'm not sure they're even working. but you can download things with `fetch. 13:16:20 `geek.sh 13:16:21 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: geek.sh: not found 13:16:24 `chmod +x geek.sh 13:16:25 chmod: missing operand after `+x geek.sh' \ Try `chmod --help' for more information. 13:16:29 `run chmod +x geek.sh 13:16:30 No output. 13:16:32 `geek 13:16:33 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: geek: not found 13:16:33 `geek.sh 13:16:34 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: geek.sh: not found 13:16:37 huh... 13:16:41 `./geek.sh 13:16:42 wut 13:16:44 phew 13:16:48 gimme a sec 13:16:55 I think it has to be in bin? 13:16:56 `ls 13:16:56 ​:-( \ 98076 \ a \ app.sh \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ fb \ fb.c \ geek.sh \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ unpa \ UNPA \ Wierd \ wisdom \ wisdom.pdf 13:17:05 `run mv geek.sh bin/geek.sh 13:17:07 No output. 13:17:09 `geek 13:17:09 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: geek: not found 13:17:12 `geek.sh 13:17:13 wut 13:17:18 you did bin instead of /bin? 13:17:22 `run mv bin/geek.sh bin/geek 13:17:23 No output. 13:17:24 `geek 13:17:24 wut 13:17:28 oh cool 13:17:33 `run ls bin/ 13:17:34 ​` \ ^.^ \ ̊ \ ? \ ¿ \ @ \ ؟ \ WELCOME \ \ \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ addwep \ allquotes \ analogy \ anonlog \ as86 \ aseen \ bienvenido \ botsnack \ bseen \ buttsnack \ calc \ CaT \ catcat \ cats \ cc \ cdecl \ c++decl \ chroot \ coins \ CoInS \ complain \ complaints \ danddreclist \ define \ delquote \ delv 13:17:38 * GeekDude is going to try to get pipes.sh in there 13:17:43 `analogy 13:17:47 vorat is to desen as prespor is to dormwortaint 13:17:54 `analorgy 13:17:55 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: analorgy: not found 13:17:59 `run which git 13:18:00 No output. 13:18:50 `pieps 13:18:50 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pieps: not found 13:18:53 `pipes 13:18:53 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pipes: not found 13:19:11 ls 13:19:22 `fetch --help 13:19:22 GNU Wget 1.13.4, a non-interactive network retriever. \ Usage: wget [OPTION]... [URL]... \ \ Mandatory arguments to long options are mandatory for short options too. \ \ Startup: \ -V, --version display the version of Wget and exit. \ -h, --help print this help. \ -b, --background go to background after star 13:19:37 `run fetch http://codepad.org/P1Fhwic3/raw.py bin/quala.py 13:19:38 bash: fetch: command not found 13:19:43 `run fetch.sh http://codepad.org/P1Fhwic3/raw.py bin/quala.py 13:19:44 bash: fetch.sh: command not found 13:19:47 git not found :( 13:19:50 i like that sentence about mandatory arguments 13:19:52 `run wget http://codepad.org/P1Fhwic3/raw.py bin/quala.py 13:19:57 mroman_: `fetch doesn't work in `run 13:19:58 `run wget http://github.com 13:20:05 it makes me think i'm smarter than the average manual reader 13:20:07 ​--2014-09-12 13:19:30-- http://codepad.org/P1Fhwic3/raw.py \ Connecting to 127.0.0.1:3128... Failed to connect to socket 2. \ connected. \ Proxy request sent, awaiting response... No data received. \ Retrying. \ \ --2014-09-12 13:19:31-- (try: 2) http://codepad.org/P1Fhwic3/raw.py \ Connecting to 127.0.0.1:3128... Failed to connect to socket 13:20:08 `ls bin/quala.py 13:20:08 ls: cannot access bin/quala.py: No such file or directory 13:20:12 oh wow O_o 13:20:13 ​--2014-09-12 13:19:36-- http://github.com/ \ Connecting to 127.0.0.1:3128... Failed to connect to socket 2. \ connected. \ Proxy request sent, awaiting response... No data received. \ Retrying. \ \ --2014-09-12 13:19:37-- (try: 2) http://github.com/ \ Connecting to 127.0.0.1:3128... Failed to connect to socket 2. \ connected. \ Proxy request 13:20:14 wget works 13:20:19 it's an external command that's not subject to the whitelist. 13:20:35 hmm... it doesn't actually work 13:20:57 `run python -e "print 9" 13:20:58 Unknown option: -e \ Unknown option: -e \ usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... \ Try `python -h' for more information. 13:21:01 `run python -c "print 9" 13:21:02 9 13:21:06 `run python -c "while 1: print 9" 13:21:07 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 \ 9 13:21:19 `run ps axuw 13:21:19 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND \ 0 1 0.0 0.1 1012 272 ? S 13:20 0:00 /init \ 0 2 0.0 0.0 0 0 ? S 13:20 0:00 [kthreadd] \ 0 3 0.0 0.0 0 0 ? S 13:20 0:00 [ksoftirqd/0] \ 0 4 0.0 0.0 0 0 ? 13:22:00 `run python -c "print '!bf .'" 13:22:01 ​!bf . 13:22:10 !bf . 13:22:15 hm 13:22:19 egobot isn't here. 13:22:22 `run python -c "print '!blsq ??'" 13:22:23 ​!blsq ?? 13:22:34 !blsq ?? 13:22:35 "Burlesque - 1.7.2c" 13:22:39 :) 13:22:43 good 13:22:58 also, i thought mroman_ had been here long enough to remember HackEgo's invisible space trick 13:23:08 My brain is a mess 13:23:12 I can't remember such things. 13:24:11 `run python -c "import os; os.popen('ls');'" 13:24:11 ​ File "", line 1 \ import os; os.popen('ls');' \ ^ \ SyntaxError: EOL while scanning string literal 13:24:16 `run python -c "import os; os.popen('ls');" 13:24:17 ls: write error: Broken pipe 13:24:20 also since it got a bit intermingled with noise above i should repeat that it's `fetch, not `wget that is the external command circumventing the whitelist. 13:24:35 hm 13:24:37 (even though the former is a wrapper around wget) 13:24:43 I'm writing a program to slowly echo things into a file 13:24:49 `fetch http://codepad.org/P1Fhwic3/raw.py 13:24:50 2014-09-12 13:24:27 URL:http://codepad.org/P1Fhwic3/raw.py [36/36] -> "raw.py" [1] 13:24:54 ah 13:24:56 i see 13:24:59 `./raw.py 13:25:00 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/raw.py: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/raw.py: cannot execute: Permission denied 13:25:02 wait, fetch works? 13:25:04 GeekDude: note that HackEgo commands have a timeout 13:25:07 `run chmod +x raw.py 13:25:08 No output. 13:25:09 `./raw.py 13:25:10 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: /hackenv/raw.py: /usr/bin/python^M: bad interpreter: No such file or directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/raw.py: Success 13:25:14 :) 13:25:17 fucking ^M 13:25:45 `rm raw.py 13:25:47 No output. 13:26:14 * GeekDude wonders... 13:26:16 `run pipes 13:26:17 bash: pipes: command not found 13:26:21 `pipes 13:26:22 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pipes: not found 13:26:25 aww 13:26:34 cowsay wouldn't work anyways 13:26:39 multiline is bokr 13:26:42 hm 13:27:08 `fetch http://mroman.ch/blsqirci 13:27:18 2014-09-12 13:26:55 URL:http://mroman.ch/blsqirci [8619408/8619408] -> "blsqirci" [1] 13:27:24 `run chmod +x blsqirci 13:27:26 No output. 13:27:30 `./blsqirci 13:27:31 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/blsqirci: cannot execute binary file \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/blsqirci: Success 13:27:35 pff 13:27:49 :( 13:27:56 `file blsqirci 13:27:58 blsqirci: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x82b3ebfc81654fecbacef31f3e2811db51c1403e, stripped 13:27:59 `run rm -rf / 13:28:00 rm: it is dangerous to operate recursively on `/' \ rm: use --no-preserve-root to override this failsafe 13:28:11 `run rm --no-preserve-root -rf / 13:28:15 nooooo 13:28:21 fiendish 13:28:26 `file blsqirci 13:28:37 You'd think that was.... disabled 13:28:40 `help 13:28:40 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 13:28:45 `run ls 13:28:46 what have you done! 13:28:52 apparently deleted it 13:28:55 :D 13:29:01 who runs HackEgo? 13:29:04 You're mean 13:29:17 I do pen testing on IRC bots 13:29:23 this one failed the testing 13:29:34 rm: cannot remove `/sys/fs/ext4/features/meta_bg_resize': Permission denied \ rm: cannot remove `/sys/fs/ext4/features/batched_discard': Permission denied \ rm: cannot remove `/sys/fs/ext4/features/lazy_itable_init': Permission denied \ rm: cannot remove `/sys/fs/cgroup': Permission denied \ rm: cannot remove `/sys/bus/cpu/devices/cpu0': Permission 13:29:36 You suck GeekDude 13:29:39 blsqirci: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x82b3ebfc81654fecbacef31f3e2811db51c1403e, stripped 13:29:39 ​:-( \ 98076 \ a \ app.sh \ bdsmreclist \ bin \ binpipes \ blsqirci \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ fb \ fb.c \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ test.txt \ unpa \ UNPA \ Wierd \ wisdom \ wisdom.pd 13:29:48 GeekDude: nah it's just thrashing a bit 13:29:48 sorry, but I didn' tthink that'd actually do anything 13:29:57 oh 13:30:02 `run ./blsqirci 13:30:04 bash: ./blsqirci: cannot execute binary file 13:30:16 I thought it could? 13:30:16 `ls bin 13:30:18 ​` \ ^.^ \ ̊ \ ? \ ¿ \ @ \ ؟ \ WELCOME \ \ \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ addwep \ allquotes \ analogy \ anonlog \ as86 \ aseen \ bienvenido \ botsnack \ bseen \ buttsnack \ calc \ CaT \ catcat \ cats \ cc \ cdecl \ c++decl \ chroot \ coins \ CoInS \ complain \ complaints \ danddreclist \ define \ delquote \ delv 13:30:21 hmm... 13:30:24 things still appear to be there 13:30:29 `8ball 13:30:29 Don't count on it. 13:30:33 ¯\_(ツ)_/¯ 13:30:37 Who runs HackEgo? 13:30:46 `uname -a 13:30:46 Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux 13:31:23 `run python -c "import os; print os.popen('ls').read()" 13:31:25 ​:-( \ 98076 \ a \ app.sh \ bdsmreclist \ bin \ binpipes \ blsqirci \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ fb \ fb.c \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ test.txt \ unpa \ UNPA \ Wierd \ wisdom \ wisdom.pd 13:31:31 `run python -c "import os; print os.popen('./blsqirci').read()" 13:31:31 ​./blsqirci: 1: ./blsqirci: ~libgmp.so.10_ITM_deregisterTMCloneTable__gmon_start___Jv_RegisterClasses_ITM_registerTMCloneTable__gmpz_tdiv_r_ui__gmpz_tdiv_q_ui__gmpz_export__gmpz_import__gmpz_add__gmp_set_memory_functions__gmpz_sub_ui__gmpz_mul__gmpz_invert__gmpz_fdiv_q_2exp__gmpz_mul_si__gmpz_tdiv_qr__gmpz_divexact__gmpz_fdiv_qr__g 13:31:41 woot 13:31:49 `run python -c "import antigravity" 13:31:50 ​ \ Configuration file "/etc/lynx-cur/lynx.cfg" is not available. \ \ \ Configuration file "/etc/lynx-cur/lynx.cfg" is not available. 13:31:55 ... 13:32:01 aww 13:32:11 `run python -c "import os; print os.exec('./blsqirci').read()" 13:32:11 ​ File "", line 1 \ import os; print os.exec('./blsqirci').read() \ ^ \ SyntaxError: invalid syntax 13:32:40 I wonder... 13:32:54 `run python -c "import os; print os.execv('./blsqirci',[])" 13:32:55 Traceback (most recent call last): \ File "", line 1, in \ ValueError: execv() arg 2 must not be empty 13:33:03 `run python -c "import os; print os.execv('./blsqirci',[''])" 13:33:04 Traceback (most recent call last): \ File "", line 1, in \ OSError: [Errno 8] Exec format error 13:33:07 bleh 13:33:23 if I were to get a very small IRC bot on there, would it work? 13:33:37 `run python -c "import os; print os.execv('blsqirci',['--ircbot'])" 13:33:38 Traceback (most recent call last): \ File "", line 1, in \ OSError: [Errno 8] Exec format error 13:33:43 k 13:33:46 `rm blsqirci 13:33:47 No output. 13:34:08 I could just download the source and build it probably 13:34:11 maybe 13:34:21 `run echo "main = print 9" 13:34:21 main = print 9 13:34:22 GeekDude: things you put on HackEgo don't run continuously 13:34:25 `run echo "main = print 9" > foo.hs 13:34:26 No output. 13:34:27 `runghc foo.hs 13:34:28 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: runghc: not found 13:34:33 `runhaskell foo.hs 13:34:33 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: runhaskell: not found 13:34:38 `ghc foo.hs 13:34:39 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ghc: not found 13:34:53 mroman_: HackEgo doesn't have a haskell install any longer. 13:35:07 it wasn't included in a server move. 13:35:14 I see 13:36:15 we could try bootstrapping it 13:36:18 if there's a gcc 13:36:22 `gcc --version 13:36:23 gcc (Debian 4.7.2-5) 4.7.2 \ Copyright (C) 2012 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. 13:36:25 :) 13:36:35 that's going to take a while with all the timeouts. 13:36:42 yeah :( 13:36:57 `htop 13:36:57 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: htop: not found 13:37:13 `cat /proc/meminfo 13:37:13 MemTotal: 250592 kB \ MemFree: 243924 kB \ Buffers: 0 kB \ Cached: 3120 kB \ SwapCached: 0 kB \ Active: 1228 kB \ Inactive: 2464 kB \ Active(anon): 576 kB \ Inactive(anon): 0 kB \ Active(file): 652 kB \ Inactive(file): 2464 kB \ Unevictable: 13:37:19 anyone have a 0day handy? 13:37:25 250MB isn't enough to compile anything with ghc anyway 13:37:32 -!- idris-bot has quit (Ping timeout: 276 seconds). 13:37:49 Is it enough for the interpreter? 13:37:52 I have a 0day php-injection exploit for php wheathermap 0.97c . 13:38:02 i've compiled haskell on HackEgo in previous times 13:38:27 i don't think HackEgo has php either, istr someone trying the other day 13:38:35 portabl php runtime? 13:38:56 also that sounds like it only breaks php not the os 13:39:00 -!- Melvar has quit (Ping timeout: 255 seconds). 13:39:02 `python --version 13:39:03 Python 2.7.3 13:39:14 `whereis python 13:39:16 python: /usr/bin/python2.7 /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.7 /usr/lib/python2.6 /usr/bin/X11/python2.7 /usr/bin/X11/python /usr/bin/X11/python2.6 /usr/local/lib/python2.7 /usr/local/lib/python2.6 /usr/include/python2.7 /usr/include/python2.6 /usr/share/python /usr/share/man/man1/python.1.gz 13:39:20 It's Gregor's bot, but I've been doing some minor maintenance on it occasionally. 13:39:33 `cp /usr/bin/python2.7 /usr/bin/python3 13:39:34 cp: missing destination file operand after `/usr/bin/python2.7 /usr/bin/python3' \ Try `cp --help' for more information. 13:39:44 `run cp /usr/bin/python2.7 /usr/bin/python3 13:39:45 cp: cannot create regular file `/usr/bin/python3': Read-only file system 13:40:12 You could make bin/python3 (no slash) a symlink to /usr/bin/python2.7 if you wanted. 13:40:14 `echo "main(){}" > foo.c 13:40:15 ​"main(){}" > foo.c 13:40:21 `run echo "main(){}" > foo.c 13:40:22 No output. 13:40:23 `gcc foo.c 13:40:28 No output. 13:40:31 `ls 13:40:32 ​:-( \ 98076 \ a \ a.out \ app.sh \ bdsmreclist \ bin \ binpipes \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ fb \ fb.c \ foo.c \ foo.hs \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ test.txt \ unpa \ UNPA \ Wierd \ wisd 13:40:42 `run gcc -C foo.c -o foo 13:40:44 No output. 13:40:47 `ls 13:40:48 ​:-( \ 98076 \ a \ a.out \ app.sh \ bdsmreclist \ bin \ binpipes \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ fb \ fb.c \ foo \ foo.c \ foo.hs \ head \ hej \ hello \ hello.c \ ibin \ index.html \ index.html.1 \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ test.txt \ unpa \ UNPA \ Wierd 13:40:55 `run chmod +x foo 13:40:55 No output. 13:40:57 `./foo 13:40:57 No output. 13:41:00 hm 13:41:13 So much cruft in there. 13:41:13 `file foo 13:41:13 foo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x4ace0d69eb7e9d45d6d5ef24cb12c25f3df1b546, not stripped 13:41:16 i think gcc chmods automatically, also that your first try ended up in a.out 13:42:03 `run exec 3<>/dev/tcp/chat.freenode.net/6667 13:42:04 bash: chat.freenode.net: Name or service not known \ bash: /dev/tcp/chat.freenode.net/6667: Invalid argument 13:42:10 huh 13:42:13 `run echo "main(int a,char** v){printf(v);}" > foo.c 13:42:15 No output. 13:42:16 `run gcc -C foo.c -o foo 13:42:19 foo.c: In function ‘main’: \ foo.c:1:22: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ foo.c:1:1: warning: passing argument 1 of ‘printf’ from incompatible pointer type [enabled by default] \ foo.c:1:1: note: expected ‘const char *’ but argument is of type ‘char **’ 13:42:28 `run echo "main(int a,char** v){printf(v[0]);}" > foo.c 13:42:29 No output. 13:42:30 `run gcc -C foo.c -o foo 13:42:31 GeekDude: No networking. Except through a proxy with a very small whitelist, and even that might be broken at the moment. 13:42:32 foo.c: In function ‘main’: \ foo.c:1:22: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] 13:42:37 fizzie: awww 13:42:41 `run foo %x%x%x 13:42:42 bash: foo: command not found 13:42:45 `run ./foo %x%x%x 13:42:46 ​./foo 13:42:56 `run echo "main(int a,char** v){printf(v[1]);}" > foo.c 13:42:57 No output. 13:42:58 I suck :( 13:43:00 `run gcc -C foo.c -o foo 13:43:02 foo.c: In function ‘main’: \ foo.c:1:22: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] 13:43:05 `run ./foo %x%x%x 13:43:05 bfcded78bfcded900 13:43:51 `run rm 98076 UNPA a a.out app.sh fb.c fb index.html index.html.1 unpa test.txt # these all seem quite useless 13:43:53 No output. 13:44:13 Now if only I could motivate myself to do the same for ~ or ~/tmp at home. 13:44:15 [wiki] [[Talk:Qwerty Reverse Polish Notation]] N http://esolangs.org/w/index.php?oldid=40449 * Imaginer1 * (+219) Created page with "Oh man, I -really- like this. I'll work on a Python interpreter. I think I'll make it command-line instead of by reading files. ~~~~" 13:44:47 `run echo "main(int a,char** v){int i = 0xcafebabe; printf(v[1]); printf("%d",i); return i;}" > foo.c 13:44:49 No output. 13:44:55 `run gcc -C foo.c -o foo 13:44:55 foo.c: In function ‘main’: \ foo.c:1:42: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ foo.c:1:63: error: expected expression before ‘%’ token 13:45:06 `run ./foo %x%x%x 13:45:07 bffe6d78bffe6d900 13:45:30 `run mv foo bin/hackme 13:45:31 No output. 13:45:35 `hackme %s 13:45:36 ​./ 13:46:05 although 13:46:16 `run ./foo %x%x%x%x%x%x 13:46:16 bash: ./foo: No such file or directory 13:46:21 `foo %x%x%x%x%x%x 13:46:21 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: foo: not found 13:46:28 `hackme %x%x%x%x%x%x 13:46:29 bfd9bd78bfd9bd900405a73204000e310bfd9bd78 13:46:36 might have been optimized away 13:47:05 `run echo "main(int a,char** v){volatile unsigned int i = 0xcafebabe; printf(v[1]); printf("%d",i); return (i+1);}" > foo.c 13:47:06 No output. 13:47:11 `run gcc -C foo.c -o foo -O0 13:47:12 foo.c: In function ‘main’: \ foo.c:1:60: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ foo.c:1:81: error: expected expression before ‘%’ token 13:47:23 `run mv -f foo bin/hackme 13:47:24 mv: cannot stat `foo': No such file or directory 13:47:29 `run mv -f ./foo bin/hackme 13:47:30 mv: cannot stat `./foo': No such file or directory 13:47:33 oh 13:47:35 ok 13:47:42 -!- zzo38 has quit (Remote host closed the connection). 13:48:02 `run echo "main(int a,char** v){volatile unsigned int i = 0xcafebabe; printf(v[1]); putc(i); return (i+1);}" > foo.c 13:48:03 No output. 13:48:07 `run gcc -C foo.c -o foo -O0 13:48:09 foo.c: In function ‘main’: \ foo.c:1:60: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] 13:48:15 `run mv -f ./foo bin/hackme 13:48:16 No output. 13:48:24 `hackme %x%x%x%x 13:48:25 Segmentation fault 13:48:27 `hackme %x%x%x 13:48:28 Segmentation fault 13:48:30 `hackme %x%x 13:48:30 [wiki] [[Rasen]] http://esolangs.org/w/index.php?diff=40450&oldid=40430 * Wolgr * (+61) Corrections and todo list. 13:48:30 Segmentation fault 13:48:33 `hackme %x 13:48:34 Segmentation fault 13:48:37 pff 13:48:40 no fun :( 13:48:52 `hackme 13:48:53 Segmentation fault 13:49:13 `run echo "main(int a,char** v){volatile unsigned int i = 0xcafebabe; printf(v[1]); return (i+1);}" > foo.c 13:49:15 No output. 13:49:19 `run gcc -C foo.c -o foo -O0 13:49:21 foo.c: In function ‘main’: \ foo.c:1:60: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] 13:49:24 `run mv -f ./foo bin/hackme 13:49:25 No output. 13:49:27 `hackme %x 13:49:28 bfd44d78 13:49:31 `hackme %x,%x 13:49:32 bfbffd78,bfbffd90 13:49:35 `hackme %x,%x,%x 13:49:35 bfc94d78,bfc94d90,0 13:49:42 `hackme %x,%x,%x,%x 13:49:42 bff0ed78,bff0ed90,0,405a7320 13:49:51 `hackme %x,%x,%x,%x,%x 13:49:51 bfdded78,bfdded90,0,405a7320,4000e310 13:49:57 and so on 13:50:10 can I do a fork bomb? 13:50:13 `uname -a 13:50:14 Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux 13:50:31 `hackme %lx 13:50:31 7fbfa74d78 13:50:35 `hackme %lx 13:50:35 7fbfd4fd78 13:50:39 `hackme %lx,%lx 13:50:39 7fbfb59d78,7fbfb59d90 13:50:42 `hackme %lx,%lx,%lx 13:50:42 7fbfe31d78,7fbfe31d90,0 13:50:51 `hackme %lx,%lx,%lx,%lx 13:50:51 7fbf965d78,7fbf965d90,0,405a7320 13:50:54 -!- Melvar has joined. 13:50:59 `hackme AAAAAAAA%lx,%lx,%lx 13:50:59 AAAAAAAA7fbfde0d68,7fbfde0d80,0 13:51:00 Well, a fork bomb would prevent this spam. 13:51:04 Go for it 13:51:05 :D 13:51:06 right 13:51:14 `rm bin/hackme 13:51:15 No output. 13:51:18 `rm foo.c 13:51:20 No output. 13:51:21 `rm foo 13:51:21 rm: cannot remove `foo': No such file or directory 13:52:19 `ulimit 13:52:20 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ulimit: not found 13:52:43 `run :(){ :|:& };: 13:52:44 No output. 13:52:58 aww 13:53:00 `run bash -c 'ulimit -a' 13:53:01 `test 13:53:01 core file size (blocks, -c) 0 \ data seg size (kbytes, -d) unlimited \ scheduling priority (-e) 0 \ file size (blocks, -f) 10240 \ pending signals (-i) 1950 \ max locked memory (kbytes, -l) 0 \ max memory size (kbytes, -m) unlimited \ open files (-n) 102 13:53:02 No output. 13:53:34 `run bash -c 'ulimit -u' 13:53:35 128 13:53:50 `run bomb() { bomb | bomb & }; bomb 13:53:51 No output. 13:54:50 [wiki] [[Rasen]] M http://esolangs.org/w/index.php?diff=40451&oldid=40450 * Wolgr * (+0) correct versions 13:55:00 [wiki] [[Rasen]] http://esolangs.org/w/index.php?diff=40452&oldid=40451 * Wolgr * (+0) 13:56:43 `runc $'main() { printf("%p %p %p %p %p %p %p %p\n"); }' 13:56:44 No output. 13:56:54 [wiki] [[User:Wolgr]] http://esolangs.org/w/index.php?diff=40453&oldid=39479 * Wolgr * (-1) 13:57:21 `runc $'main() { printf("%p %p %p %p %p %p %p %p\\n"); }' 13:57:23 No output. 13:57:56 `runc main() { printf("%p %p %p %p %p %p %p %p\\n"); } 13:57:57 0x7fbfd81d68 0x7fbfd81d78 (nil) 0x405a7320 0x4000e310 (nil) 0x40240ead (nil) 13:58:02 Just give it literal text. 13:59:10 `run for i in `seq 10`; do runc 'main() { int x; printf("%p\n", &x); }'; done 13:59:13 No output. 13:59:31 `run for i in `seq 10`; do runc 'main() { int x; printf("%p\\n", &x); }'; done 13:59:35 0x7fbf831c7c \ 0x7fbfaacc7c \ 0x7fbfe25c7c \ 0x7fbfafcc7c \ 0x7fbfbdcc7c \ 0x7fbfcf4c7c \ 0x7fbfd02c7c \ 0x7fbfa00c7c \ 0x7fbf908c7c \ 0x7fbfdd6c7c 13:59:50 Ooh, ASLR. 13:59:57 I thought more bits were randomized than that 14:00:33 Might have something to do with the UML stuff, it's not exactly a normal kernel. 14:02:27 `run echo 'main() { int x; printf("%p\n", &x); }' | gcc -x c - -o /tmp/t 2>/dev/null; for i in `seq 10`; do /tmp/t; done # let's not recompile it for every round though 14:02:28 0x7fbf82dc9c \ 0x7fbffc6c9c \ 0x7fbffcac9c \ 0x7fbfc22c9c \ 0x7fbfbeac9c \ 0x7fbfd51c9c \ 0x7fbfa82c9c \ 0x7fbfb45c9c \ 0x7fbfba7c9c \ 0x7fbf8c0c9c 14:02:57 That shouldn't affect how the stack is mapped, though 14:03:04 No, it's just INELEGANT. 14:03:12 I mean uml 14:03:30 Oh. Well. It used to have a smaller address space, at least. 14:04:08 Having to re-split the userland portion to the UML kernel and user²land. 14:05:16 Unless you had the SKAS patch applied. I know they integrated the main efficiency-related parts of it to the mainline kernel, but I don't remember the details any more. 14:05:50 -!- `^_^v has joined. 14:06:47 -!- TodPunk has quit (Ping timeout: 276 seconds). 14:07:38 `run crunchfuck "><<<->[>" 100000000 100 200 14:08:09 ​ _ \ / `_ _ _ /__/| _ /_ \ /_,//_// //_ / // /_//_ /\ \ \ Result: 171 -> -[>+<+++]> \ Result: 127 -> ++[>+<++]> \ Result: 129 -> ++[>-<++]> 14:10:01 http://lwn.net/Articles/142494/ there's the current "skas0" mode 14:12:35 Seems to be just 11 random bits in those samples. 14:13:50 | | | 14:13:51 >\ >\/| 14:19:01 -!- Melvar has quit (Ping timeout: 260 seconds). 14:22:34 How many cycles does -[>-<-----]>+ take to complete? 14:23:23 Those online interpreters never show how many instructions they've executed 14:25:44 mroman_: the number of cycles is not an observable, and the interpreter may well optimize your program 14:26:08 mroman_: however, you could try to add a . after each instruction and check how much it prints 14:28:09 around 512 14:28:11 *513 14:28:30 `bf >>>+++++++[-<++++++>]<<< -[>-<----- {>>.<< how many times is this cycle executed} ]>+ 14:28:31 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bf: not found 14:28:37 ^bf >>>+++++++[-<++++++>]<<< -[>-<----- {>>.<< how many times is this cycle executed} ]>+ 14:28:38 *************************************************** 14:29:09 well, 255/5 = 51 14:29:11 that's 51 stars 14:29:37 or so j-bot claims when I asked it for [ #'***************************************************' 14:33:43 -!- Melvar has joined. 14:33:51 What's crunchfuck? 14:35:48 -!- AnotherTest has quit (Ping timeout: 252 seconds). 14:35:49 -!- Phantom_Hoover has joined. 14:37:13 `run crunchfuck + 1000 0 10 14:37:14 ​ _ \ / `_ _ _ /__/| _ /_ \ /_,//_// //_ / // /_//_ /\ \ \ Result: 1 -> + \ Result: 2 -> ++ \ Result: 3 -> +++ \ Result: 4 -> ++++ \ Last program: [<>< 14:37:22 It searches for brainfuck constants 14:37:40 but I think they have all been calculated by now 14:37:55 at least for (runs in less than 5000 cycles) 14:40:08 +[-[>+++<<]>-]> (15, 4) wrapping <- this looks unbalanced though 14:41:32 -!- Melvar has quit (Ping timeout: 268 seconds). 14:44:55 -!- TodPunk has joined. 14:47:36 deadfish constants are probably still open . 14:47:49 and beam constants 14:49:18 -!- FreeFull_ has changed nick to FreeFull. 15:00:31 i don't think deadfish constants are very complicated. 15:00:59 once you get above a certain size, you essentially have to go via the closest square 15:04:25 well, one of the two neighboring squares 15:05:18 because moving between two neighboring squares with i/d is eventually never better than doing i/d before squaring 15:06:01 -!- Melvar has joined. 15:12:28 -!- oerjan has quit (Quit: leaving). 15:14:00 `file bin/crunchfuck 15:14:01 bin/crunchfuck: ERROR: cannot open `bin/crunchfuck' (No such file or directory) 15:14:10 `which crunchfuck 15:14:10 No output. 15:16:14 I suggest isattying that banner. 15:25:18 -!- Patashu has quit (Ping timeout: 252 seconds). 15:33:53 -!- variable has quit (Quit: I found 1 in /dev/zero). 15:36:51 -!- variable has joined. 15:42:34 -!- drdanmaku has joined. 15:52:29 -!- conehead has joined. 15:54:49 -!- AnotherTest has joined. 15:57:21 -!- tromp_ has quit (Remote host closed the connection). 15:59:36 -!- tromp_ has joined. 16:01:02 -!- Melvar` has joined. 16:01:22 -!- realzies has joined. 16:03:08 -!- Melvar has quit (Ping timeout: 276 seconds). 16:05:03 -!- tswett has joined. 16:05:05 Hey everyone. 16:05:14 So, lemme describe a calculus. 16:05:21 eew 16:05:41 There are five symbols, each with a type. They are A : (0,2), V : (2,0), N : (2,2), Z : (2,2), and I : (1,1). 16:06:30 There are two operators. Juxtaposition: if a : (u,d) and b : (t,e), then ab : (u+t,d+e). Concatenation: if a : (u,m) and b : (m,d), then a/b : (u,d). 16:06:48 Rules: 16:07:55 Distribution: if a : (u,m), b : (t,n), c : (m,d), and d : (n,e), then ab/cd = (a/c) (b/d). (Juxtaposition binds more tightly than concatenation.) 16:08:05 Also, both juxtaposition and concatenation are associative. 16:08:36 Identity: if a : (u,d), then a/III...III = a, where there are d copies of I. 16:09:36 -!- tswett_ has joined. 16:09:40 Reidemeister 1: A/N = A. Reidemeister 2: N/Z = II. Reidemeister 3: NI/IN/xI = Ix/NI/IN, where x is either N or Z. 16:10:14 http://devnull-as-a-service.com/home/ 16:10:14 Pitchfork: ZI/IV = IN/VI. S-bend: IA/VI = I. 16:11:59 Denoting vertical reflection by [...], [A] = V, [V] = A, [N] = Z, [Z] = N, [I] = I, [ab] = [a][b], and [a/b] = [b]/[a]. 16:12:19 J_Arcane2: that's fantastic 16:12:35 Denoting horizontal reflection by {...}, {A} = A, {V} = V, {N} = Z, {Z} = N, {I} = I, {ab} = {b}{a}, and {a/b} = {a}/{b}. 16:12:47 paul2520: Indeed. :D Though this one nails the look better: http://www.supersimplestorageservice.com/ 16:12:58 -!- tswett has quit (Ping timeout: 252 seconds). 16:13:21 And then inversion means you swap N and Z. 16:13:44 The vertical reflection, horizontal reflection, or inversion of any rule is also a rule. 16:14:10 So this is a calculus describing link theory. 16:14:30 AA/INI/ZZ/IVI/V is an expression for the trefoil knot. 16:14:52 J_Arcane2: "only $1 per TERABYTE per month." 16:15:01 :D 16:15:16 I like the part where it measures storage in abacuses. 16:15:49 AA/INI/ZN/IVI/V is like the trefoil knot but with one of the crossings inverted. It's reasonably straightforward to show that this is the unknot, A/V. 16:16:19 yes, that's fantastic 16:16:40 -!- MoALTz has joined. 16:17:04 -!- idris-bot has joined. 16:18:13 -!- Melvar` has changed nick to Melvar. 16:44:14 J_Arcane2: I'm disappointed that the T-shirt template links on /dev/null as a service are broken 16:44:54 :D I just liked the bitcoin service. :D 16:45:06 aww 16:45:25 @metar LOWI 16:45:25 LOWI 121620Z 05005KT 020V080 9999 FEW028 SCT035 BKN075 14/10 Q1015 NOSIG 16:45:52 not warm 16:46:04 @metar EFHK 16:46:04 EFHK 121620Z 32006KT 9999 FEW035 BKN200 18/13 Q1024 NOSIG 16:46:12 Warmer. 16:46:25 telnet devnull-as-a-service.com 9 16:47:03 and the career page. I'm definitely downloading the Android app. That will come in handy... 16:48:41 @metar RJNK 16:48:41 RJNK 121600Z 17004KT 9999 FEW030 18/16 Q1012 17:11:30 -!- realzies has quit (Quit: realzies). 17:13:29 -!- tromp has joined. 17:15:22 -!- FreeFull_ has joined. 17:17:52 -!- not^v has joined. 17:18:41 -!- tromp_ has quit (Write error: Broken pipe). 17:19:00 -!- FreeFull has quit (Remote host closed the connection). 17:24:47 -!- shikhin has joined. 17:27:08 -!- augur has quit (Quit: Leaving...). 17:35:01 tswett_, what is the actual motivation for all of that 17:42:21 -!- realzies has joined. 17:50:21 -!- Sorella has quit (Ping timeout: 264 seconds). 18:23:42 -!- augur has joined. 18:25:23 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds). 18:25:49 -!- GeekDude has changed nick to tidbit. 18:25:56 -!- tidbit has changed nick to GeekDude. 18:33:06 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 18:34:30 -!- GeekDude has joined. 18:38:24 -!- GeekDude has quit (Client Quit). 18:38:56 -!- GeekDude has joined. 18:44:40 -!- Phantom_Hoover has joined. 18:47:58 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 18:50:01 -!- GeekDude has joined. 18:53:06 [wiki] [[Talk:Qwerty Reverse Polish Notation]] http://esolangs.org/w/index.php?diff=40454&oldid=40449 * Imaginer1 * (+163) 18:54:12 [wiki] [[Talk:Qwerty Reverse Polish Notation]] http://esolangs.org/w/index.php?diff=40455&oldid=40454 * Imaginer1 * (-36) 19:06:19 [wiki] [[Talk:Qwerty Reverse Polish Notation]] http://esolangs.org/w/index.php?diff=40456&oldid=40455 * Imaginer1 * (+34) 19:14:31 [wiki] [[Talk:Qwerty Reverse Polish Notation]] http://esolangs.org/w/index.php?diff=40457&oldid=40456 * Imaginer1 * (+87) 19:21:26 -!- AnotherTest has quit (Ping timeout: 252 seconds). 19:26:58 https://www.kickstarter.com/projects/160456328/extropy-infinite-file-compression/ 19:28:14 ion: You're Finnish, right? Do you remember the Melia Mini thing? 19:29:14 I don’t, i must have forgotten about it or not seen it in the first place. 19:29:54 It was one of those infinite lossless compression things. 19:30:06 They should have tried crowdfunding. 19:30:20 wot 19:30:36 did they also promise reasonable runtime and memory usage for that? 19:30:46 Sure, everything you could want. 19:30:56 Some Finnish company working on something completely different had this "genius programmer" who had developed this thing accidentally, or something like that. 19:31:09 or, like, triple-exponential runtime so you can run it only for data shorter than five bits 19:31:25 http://www.digitoday.fi/data/2006/08/04/suomalaisyritys-kypsyttaa-haviotonta-pakkausta/200610168/66 if you read Finnish. 19:31:41 I don't 19:32:43 these days they do reactionless drives for space instead 19:33:16 It was supposed to be able to compress anything "up to the theoretical limit", but they were quite vague about that. I think they did make some unarguably impossible claims, too. 19:34:45 (Also they were looking for investors.) 19:35:41 investors for what? a month of pizza money for the genius programmer kid? 19:36:26 For commercializing the technology. And as I recall it, they had a suite of four almost equally impossible technologies. 19:37:19 including reactionless drive? less impossible than that? more impossible? 19:37:58 were they claiming that the evil oil corporates want to oppress their freedom and keep the inventions secret forever? 19:39:39 was one of them a perpetum mobilay with some cleverly disguised description so it's not so obvious? 19:40:37 I think one of them was an infinite-bandwidth data transfer over the Internet. I can't really tell; archive.org has made only a really useless copy of their home page. 19:41:42 oh, only that? if you have a compressor that can compress everything and do the compression and decompression fast, then you can of course put that in every switch and router to get infinite bandwidth 19:42:56 Yes. I don't remember the other two. 19:43:00 do they have ftl information transfer at least, so I get less latency if I internet from Mars? 19:43:08 Maybe one of them might've been about physics. 19:46:50 -!- Sorella has joined. 19:47:38 -!- Sorella has quit (Changing host). 19:47:38 -!- Sorella has joined. 19:47:59 -!- shikhout has joined. 19:51:06 -!- shikhin has quit (Ping timeout: 268 seconds). 20:00:19 Speaking of the kickstarter, how can you sink $30k to something as mundane as a machine with 64 gigs of RAM and the "fastest commercial processor"? (Well, I mean, I guess that depends on the definition of "commercial processor", but I can't seem to find anything more expensive than maybe $7k from Intel, and 64 gigs is not very much memory.) 20:04:11 try 8-way Xeons 20:06:01 That was "processor", singular, and the 15-core Xeon E7-4890V2 costs only $6619. And the 6-core Xeon E7-8893V2 is $6841. (Curious.) 20:06:20 15-core? 20:07:14 Hrm. The 6-, 10- and 15-core E7-8893V2, E7-8891V2 and E7-8890V2 all have the same recommended customer price. 20:07:57 I guess it's like a single processor, and the customer gets to make the clock-speed/number-of-cores tradeoff choice. 20:08:04 Whyy such an unround number? 20:09:18 I don't know, but I guess there's not really a "why not" reason either, it's not like you'd have to have a power-of-two number of cores. 20:09:41 (Apparently it's also natively 15-core, and not one of those "16 cores but we disable one to improve yield" kind of things.) 20:10:38 Everything should be power-of-two or three-times-power-of-two. Even 10 cores is weird. 20:11:39 http://www.anandtech.com/show/7753/intel-readying-15core-xeon-e7-v2 some details 20:17:31 -!- MoALTz has quit (Quit: Leaving). 20:18:49 -!- not^v has quit (Read error: Connection reset by peer). 20:31:52 -!- tswett_ has quit (Ping timeout: 245 seconds). 20:34:31 -!- shikhout has changed nick to shikhin. 20:35:09 -!- FreeFull_ has changed nick to FreeFull. 21:11:03 [wiki] [[Special:Log/newusers]] create * 6c1 * New user account 21:13:45 [wiki] [[.Gertrude]] http://esolangs.org/w/index.php?diff=40458&oldid=38966 * 6c1 * (+2821) Adding instruction set 21:19:12 -!- variable has quit (Ping timeout: 246 seconds). 21:26:17 -!- variable has joined. 21:33:22 -!- Bicyclidine has joined. 21:38:02 -!- Phantom__Hoover has joined. 21:41:30 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds). 21:41:35 -!- Melvar` has joined. 21:42:07 -!- kcm1700_ has joined. 21:42:09 -!- kcm1700 has quit (Remote host closed the connection). 21:43:10 -!- Melvar has quit (Ping timeout: 276 seconds). 21:43:12 -!- lambdabot has quit (Remote host closed the connection). 21:43:44 -!- variable has quit (Ping timeout: 276 seconds). 21:45:50 -!- Gregor has quit (Ping timeout: 276 seconds). 21:48:03 -!- lambdabot has joined. 21:48:17 -!- Gregor has joined. 21:59:17 -!- conehead has quit (Ping timeout: 272 seconds). 22:01:06 -!- Bicyclidine has quit (Quit: Reconnecting). 22:01:19 -!- Bicyclidine has joined. 22:11:26 -!- oerjan has joined. 22:13:28 -!- Phantom___Hoover has joined. 22:14:27 -!- vyv_ has joined. 22:14:38 -!- qlkzy_ has joined. 22:16:28 -!- G33kDude has joined. 22:16:35 -!- GeekDude has quit (Disconnected by services). 22:16:41 -!- G33kDude has changed nick to GeekDude. 22:16:51 -!- newsham_ has joined. 22:17:33 -!- perrier_ has joined. 22:18:16 -!- Sgeo has joined. 22:18:51 -!- blsqbot has quit (*.net *.split). 22:18:51 -!- J_Arcane2 has quit (*.net *.split). 22:18:53 -!- qlkzy has quit (*.net *.split). 22:18:53 -!- aloril has quit (*.net *.split). 22:20:37 -!- aloril has joined. 22:20:46 -!- Tod-Autojoined has joined. 22:20:54 -!- digitalc1ld has joined. 22:21:09 -!- Bike_ has joined. 22:21:57 -!- nycs has joined. 22:23:14 -!- J_Arcane has joined. 22:24:06 -!- boily has joined. 22:24:21 -!- Vorpal_ has joined. 22:24:22 -!- Vorpal_ has quit (Changing host). 22:24:22 -!- Vorpal_ has joined. 22:25:29 -!- fizzie has quit (*.net *.split). 22:25:29 -!- Vorpal has quit (*.net *.split). 22:26:11 -!- Froox has joined. 22:26:58 -!- kcm1700 has joined. 22:27:18 -!- HackEgo has quit (Ping timeout: 255 seconds). 22:33:35 -!- esowiki has joined. 22:33:40 -!- esowiki has joined. 22:33:40 -!- esowiki has joined. 22:34:08 -!- esowiki has joined. 22:34:12 -!- esowiki has joined. 22:34:13 -!- esowiki has joined. 22:34:29 -!- esowiki has joined. 22:34:33 -!- esowiki has joined. 22:34:34 -!- esowiki has joined. 22:34:50 -!- esowiki has joined. 22:34:55 -!- esowiki has joined. 22:34:55 -!- esowiki has joined. 22:35:11 -!- esowiki has joined. 22:35:16 -!- esowiki has joined. 22:35:16 -!- esowiki has joined. 22:35:32 -!- esowiki has joined. 22:35:37 -!- esowiki has joined. 22:35:37 -!- esowiki has joined. 22:35:53 -!- esowiki has joined. 22:35:58 -!- esowiki has joined. 22:35:58 -!- esowiki has joined. 22:36:14 -!- esowiki has joined. 22:36:19 -!- esowiki has joined. 22:36:19 -!- esowiki has joined. 22:36:35 -!- esowiki has joined. 22:36:40 -!- esowiki has joined. 22:36:40 -!- esowiki has joined. 22:37:29 -!- esowiki has joined. 22:37:33 -!- esowiki has joined. 22:37:33 -!- esowiki has joined. 22:38:28 -!- esowiki has joined. 22:38:29 -!- glogbot has joined. 22:38:33 -!- esowiki has joined. 22:38:33 -!- esowiki has joined. 22:38:40 -!- FireFly has joined. 22:39:30 -!- augur_ has joined. 22:40:21 -!- Froo has joined. 22:40:54 -!- Bike has joined. 22:41:52 -!- augur has quit (Read error: Connection reset by peer). 22:41:56 -!- paul2520 has quit (Ping timeout: 246 seconds). 22:41:57 -!- lifthrasiir has quit (Ping timeout: 246 seconds). 22:42:03 -!- paul2520 has joined. 22:42:09 -!- perrier__ has quit (Ping timeout: 246 seconds). 22:42:13 -!- J_Arcane has quit (Ping timeout: 246 seconds). 22:42:13 -!- Gracenotes_ has quit (Ping timeout: 246 seconds). 22:42:28 -!- paul2520 has changed nick to Guest57564. 22:42:30 -!- Froox has quit (Ping timeout: 246 seconds). 22:42:33 -!- qlkzy_ has quit (Ping timeout: 246 seconds). 22:42:33 -!- newsham has joined. 22:43:34 -!- olsner has quit (Ping timeout: 246 seconds). 22:44:00 -!- perrier__ has joined. 22:44:12 -!- G33kDude has joined. 22:44:37 -!- mroman_ has quit (Ping timeout: 246 seconds). 22:44:52 -!- tromp has joined. 22:45:22 -!- aloril has joined. 22:46:34 -!- drdanmaku has joined. 22:48:26 -!- GeekDude has quit (Ping timeout: 276 seconds). 22:48:27 -!- diginet has quit (Ping timeout: 276 seconds). 22:48:33 -!- kcm1700 has quit (Ping timeout: 276 seconds). 22:48:33 -!- copumpkin has quit (Ping timeout: 276 seconds). 22:48:35 -!- G33kDude has changed nick to GeekDude. 22:49:22 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 22:50:32 -!- Froo has changed nick to Frooxius. 22:53:37 -!- GeekDude has quit (Ping timeout: 245 seconds). 22:54:05 -!- Gracenotes has joined. 22:54:15 -!- copumpkin has joined. 22:58:47 -!- mroman has joined. 22:59:23 -!- olsner has joined. 22:59:35 -!- TodPunk has joined. 23:01:38 -!- kcm1700 has joined. 23:08:49 -!- Phantom___Hoover has quit (Ping timeout: 252 seconds). 23:10:22 -!- skarn has joined. 23:10:39 -!- skarn has changed nick to Guest49163. 23:11:25 -!- kcm1700 has quit (Read error: Connection reset by peer). 23:12:49 -!- Guest57564 has changed nick to paul2520. 23:13:25 -!- Gregor has quit (Ping timeout: 252 seconds). 23:15:28 -!- oerjan has quit (Ping timeout: 252 seconds). 23:16:21 -!- GeekDude has joined. 23:16:54 -!- tromp has quit (Read error: Connection reset by peer). 23:16:54 -!- mroman has quit (Ping timeout: 252 seconds). 23:17:08 -!- AndoDaan has joined. 23:19:32 -!- GeekDude has quit (Client Quit). 23:20:09 -!- oerjan has joined. 23:23:36 splitty today 23:23:59 splørjan 23:24:14 -!- conehead has joined. 23:25:36 splatchaf 23:25:58 xplatchaf 23:26:14 -!- diginet has joined. 23:27:08 -!- GeekDude has joined. 23:30:57 -!- Bicyclidine has joined. 23:30:57 -!- mroman has joined. 23:34:37 -!- qlkzy has joined. 23:36:08 @metar ENVA 23:36:08 ENVA 122250Z 12005KT CAVOK 08/07 Q1028 RMK WIND 670FT 10007KT 23:36:27 -!- Gregor has joined. 23:36:28 hellørjan. I hope you remarked that there is wind. 23:37:14 i did not, it was not noticable when i was outside last 23:37:39 i might remark that it was chilly today, though. 23:37:52 (technically yesterday, now) 23:37:58 right. 23:38:02 @metar CYUL 23:38:02 CYUL 122300Z 24009KT 30SM FEW030 FEW045 SCT240 12/06 A3026 RMK CF1SC1CI3 CF TR SLP247 23:38:07 oh, twelve! 23:38:12 *+e 23:38:17 -!- lifthrasiir has joined. 23:38:20 -!- variable has joined. 23:38:22 -!- kcm1700 has joined. 23:38:26 -!- 6JTAAFW4E has joined. 23:38:47 -!- AndoDaan has quit (Ping timeout: 276 seconds). 23:39:29 ohe, twelve? 23:39:38 -!- variable has changed nick to Guest2583. 23:39:39 -!- Guest2583 has quit (Max SendQ exceeded). 23:39:41 <6JTAAFW4E> look at all these people coming back 23:39:41 -!- conehead has quit (Changing host). 23:39:41 -!- conehead has joined. 23:40:00 -!- 6JTAAFW4E has changed nick to AndoDaan. 23:40:05 hmmm 23:40:25 AndelloDaan. 23:40:32 hey, Boily 23:40:41 what ya working on? 23:41:28 lots of things at work. otherwise, I am disappointing quintopia by not releasing a new esolang. 23:41:40 boily: no, noticeable 23:42:00 -!- J_Arcane2 has joined. 23:42:06 hey oerjan 23:42:07 I didn't even notice there was a missing e there. 23:42:28 AndoDaan: with oerjan, it is good form to hey hey hemskt mickerjan him. 23:42:29 it's a bit subtle case, which is presumably why i misspelled it to begin with 23:42:40 boily: *myck 23:42:47 darn :P 23:43:03 I'm not entirely sure what that means :) 23:43:06 svëdish is hård 23:43:18 › 23:43:24 dammit altcode 23:43:31 AndoDaan: it's from a swedish novelty song which i got into boily's brain 23:43:59 ha. an earworm to annoy him...? 23:44:25 well i haven't heard much about annoyance 23:44:41 listening to the youtube vid now 23:44:55 -!- mtve has joined. 23:44:58 -!- digitalcold has joined. 23:45:08 when it bloody loads 23:45:24 after that you can listen to Den Makalöse Manicken, because i wouldn't give him just _one_ earworm, you see. 23:45:44 *a 23:45:50 Inspector gadget 23:45:59 leave it to the norwegians to put swedish songs in people's brains 23:46:05 (swädish is hørd, i said!) 23:46:26 wow, that translate to swedish is hard 23:46:34 there's also http://youtu.be/AfeAhCWaMD0 . when it comes to songs that don't make sense at all (even in the original language), it's quite out there. 23:46:39 I can understand SWEDISH! 23:46:44 -!- nisstyre has joined. 23:46:53 *gasp* AndoDaan's been assimilated! 23:47:12 also means I can understand nowegian and danish 23:47:41 hej hej is kinda catchy 23:48:29 -!- Phantom___Hoover has joined. 23:48:43 now den makalosa manicken 23:48:55 swedish women man... i swear 23:49:09 the makalös manick 23:49:27 is swedish good 23:49:33 beatboxing 23:49:35 i could learn it instead of finnish 23:49:53 -!- Patashu has joined. 23:49:59 it's better than finish but not as fun, I think 23:50:40 swedish is trist like a bamba 23:51:16 okay den makalosa manicken is hard to bear, no la bamba 23:51:23 sad la bamba? 23:51:35 AndoDaan: the one boily linked above 23:51:40 yep 23:51:45 bamba is incidentally the gothenburg word for school food dispentionery 23:52:02 okej 23:52:30 joråsatt 23:52:30 the guys is wearing an american sweater, does that have anything to do with the lyrics? 23:52:46 to my shame I can't even understand the french subs 23:53:41 nothing has to do with the lyrics, not even themselves. 23:53:51 they are the lyrics that are. 23:53:52 hmm 23:54:15 -!- tromp has joined. 23:54:22 DEFINITIVEMENT 23:54:38 s'alright 23:54:55 AndoDaan: now you can go to hubba hubba zoot zoot twh 23:55:01 AAAAURGH! 23:55:12 and then I was naïvely thinking that I had forgot that one. 23:55:20 i think boily mana... right 23:55:30 hubba hubba zoot zoot sounds familiar, but it is not from the makalös manick, is it? 23:55:35 no, I'm out of mana. 23:55:53 boily: mana mana 23:56:06 * boily woggles around like an orange muppet :D 23:56:08 olsner: i don't know that any of the three swedish songs i've mentioned are from the same artist 23:56:48 well, I don't know what I'm talking about anyway 23:57:01 wow... that's pretty bad 23:57:29 is this a thing in Sweden? hubba hubba zoot zoot? 23:57:56 AndoDaan: these are all old songs from the 1980s or so 23:58:47 hubba hubba zoot zoot was played at the first school party i remember, when i was 11-12 23:59:02 the '80s should be obliterated from the records. 23:59:06 NOOOO 23:59:12 NOOOOOOOOOOO! 23:59:17 c'mon people... 23:59:24 * boily mapoles AndoDaan 23:59:31 NOOOO 23:59:37 oui. 23:59:37 -!- drdanmaku has quit (Changing host). 23:59:37 -!- drdanmaku has joined. 23:59:56 nah, I like uhm total ecplipse of the heart 2014-09-13: 00:00:08 and weathering heights... I think 00:00:15 that's eighties... maybe 00:00:16 i've somehow found myself learning the lyrics to a _russian_ 80s pop ballad recently 00:02:05 Миллион алых роз 00:02:28 alyx? what's an alyx? 00:02:37 until i heard it by accident on youtube i've always thought it was swedish. 00:02:51 it means "scarlet" iiuc 00:02:58 makes sense. 00:03:29 (technically it isn't russian either, but latvian.) 00:03:56 ah? surprising. 00:04:18 while we're on old folkloric stuff, one song I like a little bit too much: http://youtu.be/S4aqM_wu6Ns 00:04:25 well originally 00:05:58 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 00:06:25 ooh, are those accurate subtitles? 00:06:48 afaicuc, I'd say so. 00:07:04 it really brings a new dimension to this already great song 00:07:49 boily: OKAY 00:09:01 really, some day I'll find a way to extract some recording of you saying OKAY. 00:09:26 (probably also very lâchement use it as a ringtone on my cellphone ^^) 00:09:45 just travel to northern norway and collect the sample, how hard could it be 00:11:34 I shall acquire a few pounds of lembas first, then prepare myself for the long voyage until Ørjanland. 00:12:40 in norway it's called lefse, http://en.wikipedia.org/wiki/Lefse 00:13:25 I think örjanland might have an airport actually 00:14:01 if you travel by ferry you can get https://en.wikipedia.org/wiki/Svele instead 00:14:32 olsner: just be aware that the airport is right next to Hell hth 00:15:09 is hell between the airport and örjanland? 00:15:29 hm, yes. 00:15:57 hm, then maybe travel is not to be recommended 00:19:30 -!- not^v has joined. 00:21:28 -!- Guest49163 has quit (Ping timeout: 272 seconds). 00:21:29 -!- drdanmaku has quit (Ping timeout: 272 seconds). 00:22:56 -!- variable has joined. 00:26:57 -!- skarn has joined. 00:27:06 -!- skarn has changed nick to Guest25352. 00:30:19 -!- drdanmaku has joined. 00:42:59 -!- Phantom___Hoover has quit (Read error: Connection reset by peer). 00:45:37 -!- mihow has joined. 00:45:56 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 00:54:43 -!- mihow has quit (Quit: mihow). 00:55:17 -!- Guest25352 has quit (Excess Flood). 00:55:22 -!- mtve has quit (Ping timeout: 241 seconds). 00:56:20 -!- mtve has joined. 01:03:18 -!- diginet_ has joined. 01:06:29 -!- skarn has joined. 01:06:49 -!- variable has quit (Ping timeout: 245 seconds). 01:06:50 -!- tromp has quit (*.net *.split). 01:06:53 -!- skarn has changed nick to Guest36014. 01:06:59 -!- conehead has quit (Ping timeout: 268 seconds). 01:07:01 -!- kcm1700 has quit (Ping timeout: 268 seconds). 01:07:02 -!- lifthrasiir has quit (Ping timeout: 268 seconds). 01:07:02 -!- diginet has quit (Ping timeout: 268 seconds). 01:07:06 -!- AndoDaan has quit (Ping timeout: 268 seconds). 01:07:10 -!- J_Arcane2 has quit (Excess Flood). 01:07:11 -!- lifthrasiir has joined. 01:07:19 -!- tromp_ has joined. 01:07:44 -!- J_Arcane has joined. 01:13:41 -!- tromp has joined. 01:14:04 -!- drdanmaku_ has joined. 01:15:08 -!- ^4 has joined. 01:19:04 -!- boily has quit (Quit: HEAVENLY CHICKEN). 01:20:35 -!- J_Arcane has quit (*.net *.split). 01:20:36 -!- tromp_ has quit (*.net *.split). 01:20:36 -!- drdanmaku has quit (*.net *.split). 01:20:39 -!- not^v has quit (*.net *.split). 01:21:37 -!- drdanmaku_ has changed nick to drdanmaku. 01:25:13 -!- ^4 has quit (Quit: http://i.imgur.com/Akc6r.gif). 01:28:22 -!- ^4 has joined. 01:28:23 -!- J_Arcane has joined. 01:29:15 -!- newsham has quit (Quit: system maintenance). 01:29:32 -!- oerjan has quit (Quit: Splætt). 01:30:04 -!- mroman_ has joined. 01:30:07 -!- qlkzy_ has joined. 01:30:23 -!- digitalc1ld has joined. 01:30:27 -!- Gracenotes_ has joined. 01:32:09 -!- qlkzy has quit (Ping timeout: 276 seconds). 01:32:12 -!- mroman has quit (Ping timeout: 276 seconds). 01:32:22 -!- digitalcold has quit (Ping timeout: 276 seconds). 01:32:22 -!- Gracenotes has quit (Ping timeout: 276 seconds). 01:35:46 -!- TieSoul has quit (Read error: Connection reset by peer). 01:38:34 -!- AndoDaan has joined. 01:44:46 -!- ^4 has quit (Ping timeout: 272 seconds). 01:45:37 -!- ^4 has joined. 01:48:11 -!- shikhout has joined. 01:50:49 -!- newsham has joined. 01:51:33 -!- shikhin has quit (Ping timeout: 260 seconds). 01:55:02 -!- AndoDaan has left. 01:56:09 I made a comment on FB along the lines of 01:56:10 "Web technology is simple right up until the point that you discovered that some subtle mistake that you made works fine in browsers A, B, and C, totally breaks in D, and looks like it's working fine but introduces a security hole to E." 01:56:23 Are there any bugs that could realistically show all three behaviors in different browsers? 01:56:39 sgeo: there is no standard for web 01:56:49 I mean, works-in-one-blatant-breakage-in-another is simple enogh, but security hole in a third? 01:56:55 so there can be no correctness for web 01:56:57 As in, how literal can my comment get? 02:02:43 -!- diginet_ has quit (Quit: diginet has quit!). 02:03:14 -!- diginet has joined. 02:20:35 -!- variable has joined. 02:23:04 Also, apparently I don't know how to use jQuery 02:23:21 I thought $("") sort of things would work. Not sure why 02:23:50 It ... did seem to work in Chrome... which is odd, why would jQuery-provided functionality be browser specific? 02:25:36 "If the HTML is more complex than a single tag without attributes, as it is in the above example, the actual creation of the elements is handled by the browser's .innerHTML mechanism." 02:25:49 -!- Bike has quit (Quit: restarting). 02:26:24 "To ensure cross-platform compatibility, the snippet must be well-formed." 02:43:18 -!- Bike has joined. 03:05:06 -!- not^v has joined. 03:06:51 -!- ^4 has quit (Ping timeout: 272 seconds). 03:21:36 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 03:28:15 int-e: imagine if lambdabot imported Data.Monoid.Nonfree from http://hackage.haskell.org/package/nonfree 03:36:15 shachaf: Oh! So it's a cheat monoid to see what the nesting looks like? 03:36:25 Yes. 03:36:33 There's more documentation than the Haddock page shows. 03:36:49 Hackage was using an old version of Haddock and it got cut off or something. 03:52:38 -!- Froox has joined. 03:53:44 -!- Frooxius has quit (Ping timeout: 252 seconds). 03:54:00 -!- Patashu_ has joined. 03:54:01 -!- Patashu has quit (Disconnected by services). 04:04:21 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 04:13:37 -!- perrier__ has quit (Remote host closed the connection). 04:14:33 -!- perrier___ has joined. 04:15:17 -!- vyv_ has quit (Ping timeout: 245 seconds). 04:16:30 -!- vyv has joined. 04:40:29 -!- perrier___ has quit (Excess Flood). 04:41:38 -!- perrier___ has joined. 04:58:31 -!- kcm1700 has joined. 05:44:21 -!- AndoDaan has joined. 05:59:29 -!- shikhin has joined. 06:02:56 -!- shikhout has quit (Ping timeout: 276 seconds). 06:10:08 -!- variable has quit (Ping timeout: 272 seconds). 06:10:54 I should treat the web more like Tcl: A thing to learn by reading documentation, not by example. 06:23:27 -!- variable has joined. 06:25:00 -!- TieSoul has joined. 06:32:21 Make sure to check the manual of all unintended browser-specific security holes 06:32:47 -!- aloril has quit (Ping timeout: 245 seconds). 06:42:09 -!- AndoDaan has quit (Ping timeout: 252 seconds). 06:47:45 -!- aloril has joined. 07:09:57 -!- AndoDaan has joined. 07:12:18 which isn't? 07:19:33 -!- AndoDaan_ has joined. 07:21:35 -!- AndoDaan has quit (Ping timeout: 276 seconds). 07:33:22 -!- AndoDaan has joined. 07:34:02 -!- AndoDaan_ has quit (Ping timeout: 252 seconds). 07:35:24 -!- MoALTz has joined. 07:36:06 [wiki] [[Puzzlang]] M http://esolangs.org/w/index.php?diff=40459&oldid=40357 * AndoDaan * (+9) /* Implementation */ new location for the Interpreter. 07:46:57 -!- fizzie has joined. 07:47:40 The weirdest. My bouncer has an open TCP connection to a freenode server that seems to have become permanently stuck. 07:48:32 It's all "ERROR Proxy not connected, please wait before sending commands" when trying to make it do anything, and in the logs it stopped before its usual "connected" message, but it's not timing out either. 07:48:55 (It's also the stupidest thing that it doesn't accept the "jump to next server" command if it's still "connecting". 07:49:23 I'd restart it, but it's also connected to another network, and that side is working fine. 07:50:44 I don't suppose there's any reasonable way to reset a TCP connection from outside the process? 07:50:58 Perhaps I could attach a debugger, do a close on the fd and detach. 07:51:49 Heh, ps lists the "process started" field as just "2013". 07:52:51 ...and it also has open file descriptors up to 153. 07:55:01 Can't tell which of these hundreds of socket:[12484161]'s is the offending one. 08:01:52 -!- Sgeo has quit (Ping timeout: 240 seconds). 08:04:44 -!- Sgeo has joined. 08:07:48 https://plus.google.com/117663015413546257905/posts/fcaZDBYaNkt 08:11:35 -!- fizzie has changed nick to fizzie_. 08:13:37 -!- fizzie has joined. 08:14:33 -!- fizzie_ has quit (Quit: qqq). 08:19:18 -!- AndoDaan has quit (Ping timeout: 246 seconds). 08:24:17 -!- polytone_ has joined. 08:24:49 -!- polytone has quit (Ping timeout: 252 seconds). 08:24:49 -!- realzies has quit (Ping timeout: 252 seconds). 08:26:40 -!- AndoDaan has joined. 08:27:57 -!- mtve has quit (Ping timeout: 252 seconds). 08:28:19 -!- mtve has joined. 08:29:00 -!- realzies has joined. 09:20:56 http://fmnssun.github.io/Burlesque/ <- new Burlesque tutorial 09:22:17 -!- augur_ has quit (Read error: Connection reset by peer). 09:22:45 -!- augur has joined. 09:29:58 -!- AnotherTest has joined. 09:30:11 -!- Gregor has quit (Ping timeout: 252 seconds). 09:30:50 -!- copumpkin has quit (Ping timeout: 252 seconds). 09:31:06 -!- Gregor has joined. 09:31:29 -!- copumpkin has joined. 09:32:28 -!- nisstyre has quit (Ping timeout: 252 seconds). 09:32:28 -!- Melvar` has quit (Ping timeout: 252 seconds). 09:33:01 -!- Melvar` has joined. 09:49:04 > 'a'..'z' 09:49:05 :1:4: parse error on input ‘..’ 09:49:10 > ['a'..'z'] 09:49:11 "abcdefghijklmnopqrstuvwxyz" 09:49:24 > ['a'..'z']++['A'-'Z']++['0'-'9'] 09:49:25 No instance for (GHC.Num.Num GHC.Types.Char) 09:49:25 arising from a use of ‘GHC.Num.-’ 09:49:36 > length $ ['a'..'z']++['A'..'Z']++['0'..'9'] 09:49:37 62 09:52:17 how many printable asciis are there? 09:52:36 > length $ ['a'..'z']++['A'..'Z']++['0'..'9']++".:?![]_#+*/" 09:52:37 73 09:54:32 ok 09:54:37 > 322/73 09:54:38 4.410958904109589 09:55:00 hm 10:00:27 -!- nisstyre has joined. 10:05:18 > filter isPrint ['\0'..'\255'] 10:05:20 " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefgh... 10:05:28 > length $ filter isPrint ['\0'..'\255'] 10:05:29 190 10:05:33 -!- Melvar` has changed nick to Melvar. 10:05:47 > length $ filter isPrint ['\0'..'\127'] 10:05:48 95 10:09:40 -!- Patashu has joined. 10:13:20 -!- Patashu_ has quit (Ping timeout: 272 seconds). 10:19:43 -!- Patashu has quit (Remote host closed the connection). 10:20:32 -!- Patashu has joined. 10:24:32 > filter isPrint ['\0'..'\127'] 10:24:33 " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefgh... 10:24:47 > drop 50 $ filter isPrint ['\0'..'\127'] 10:24:49 "RSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" 10:25:32 yeah, but I can't use 0-9 and . because those are numbers 10:25:34 {} are Blocks 10:26:28 I'd have to switch into ANSI of some sort 10:26:50 why not unicode 10:27:48 it's for golfing 10:27:57 -!- evalj has joined. 10:28:27 well, if you golf for chars, you should definitely go for unicode 10:28:40 :) 10:28:43 nope 10:37:06 mroman_: okay, this is actually the first time i notice that blsq and j programs are build from different directions 10:37:44 J is right-to-left afaik 10:37:53 it is 10:38:58 i am a bit disappointed that there is no burlesque package in AUR though 10:39:04 AUR? 10:39:15 arch user repository 10:39:30 -!- AndoDaan_ has joined. 10:39:35 why should there? 10:39:44 It's widely unknown except in the anagol golfing scene 10:39:52 because everthing™ is there 10:40:00 so? 10:41:11 Is J stack-based? 10:41:26 i don't think so 10:41:32 I believe J is vector-based like APL 10:41:39 Burlesque is stack based 10:41:48 although it's a little bit vectorish I guess as well 10:42:01 !blsq {1 2 3} {4 5 6}?+ 10:42:06 -!- AndoDaan has quit (Ping timeout: 246 seconds). 10:42:10 hu 10:42:12 !blsq_uptime 10:42:22 hm 10:43:06 -!- augur has quit (Read error: Connection timed out). 10:44:35 -!- augur has joined. 10:44:36 -!- blsqbot has joined. 10:44:39 !blsq {1 2 3} {4 5 6}?+ 10:44:40 {5 7 9} 10:44:50 !blsq {1 2 3}3?* 10:44:51 {3 6 9} 10:44:55 !blsq {1 2 3}3?*?s 10:44:56 {1.7320508075688772 2.449489742783178 3.0} 10:45:02 !blsq {1 2 3}3?*?s++ 10:45:02 7.1815405503520555 10:45:05 !blsq {1 2 3}3?*?s++pd 10:45:05 8 10:45:12 why ?+ instead of .+? 10:45:33 ?+ and .+ aren't the same Command 10:45:34 Maybe you meant: v @ ? . 10:45:49 why not? 10:45:59 !blsq {1 2 3}{1 2 3}{.+}Z[ 10:45:59 {ERROR: Burlesque: (.+) Invalid arguments! {1 1} ERROR: Burlesque: (.+) Invalid 10:46:01 !blsq {1 2 3}{1 2 3}{.+}Z] 10:46:01 {2 4 6} 10:46:07 !blsq {1 2 3}{4 5 6}{.+}Z] 10:46:07 {5 7 9} 10:46:18 Z] is zipWith 10:46:36 so, what if you don't zip? 10:46:43 hm? 10:46:45 like what? 10:47:02 !blsq {1 2 3}{4 5 6}.+ 10:47:02 {1 2 3 4 5 6} 10:47:06 aaaah 10:48:02 well, to be honest, i do think having the same operator for addition and concatenating isn't the best choice 10:48:52 !blsq {1 2 3}{4 5 6}.+ 10:48:52 {1 2 3 4 5 6} 10:48:56 !blsq {1 2 3}{4 5 6}.+{5 6}.- 10:48:56 ERROR: Burlesque: (.-) Invalid arguments! 10:49:05 !blsq "abcd""cd".- 10:49:06 "ab" 10:49:11 I guess that only works for strings 10:49:16 hm 10:49:28 that's bad. It should work for lists as well I guess 10:49:55 !blsq {1 2 3}{4 5 6}_+ 10:49:55 {1 2 3 4 5 6} 10:50:14 _+ does the same as .+? 10:50:47 no 10:50:50 !blsq 1 2_+ 10:50:51 {1 2} 10:50:55 !blsq 1 2.+ 10:50:56 3 10:51:06 okay 10:52:28 myname: the problem was that I released some version of Burlesque on golf.shinh.org 10:52:31 i'd prefer something like 1 2.+ -> 3, {1 2}{3 4}.+ -> {4 6}, "a" "b" ?+ -> "ab", {1 2}{3 4} ?+ -> {1 2 3 4} 10:52:42 which forced me to be backwards compatible at all cost 10:52:55 which is why some commands behave a little bit weird or some are duplicates except in rare cases 10:54:13 I would have moved {1 2 3}{1 2 3}.+ to _+ 10:54:16 some basic idea of what J does is: if a command cannot be used on the input in any useful way and the input is a list, it will be ziped automatically 10:54:16 but I couldn't do that 10:54:19 i like that 10:54:24 because backwards compat... 10:55:37 my eval loop sadly doesn't know what arguments the commands want 10:55:42 only the commands know that 10:56:17 the most common commands automatically zip or map 10:56:28 !blsq {100 120 989}fC 10:56:28 {{2 2 5 5} {2 2 2 3 5} {23 43}} 10:59:21 and there is ) 10:59:40 !blsq 9sa 10:59:40 ERROR: Burlesque: (sa) Invalid arguments! 10:59:42 !blsq 9SA 10:59:43 ERROR: Unknown command: (SA)! 10:59:44 !blsq 9S[ 10:59:45 81 10:59:49 !blsq {1 2 3}S[ 10:59:50 ERROR: Burlesque: (S[) Invalid arguments! 10:59:52 !blsq {1 2 3})S[ 10:59:52 {1 4 9} 11:00:43 -!- tswett has joined. 11:01:19 ) performs a map and : performs a filter 11:01:25 !blsq "abcd987ac")ri 11:01:25 {1 1 1 1 1 1 1 1 1} 11:01:36 !blsq "abc**d987ac")ri 11:01:37 {1 1 1 0 0 1 1 1 1 1 1} 11:01:40 !blsq "abc**d987ac":ri 11:01:40 "abcd987ac" 11:02:15 !blsq 1J{.*}9C! 11:02:15 1 11:02:18 !blsq 1J{.*}9!C 11:02:18 1 11:02:30 !blsq 1J{?*}9!C#s 11:02:31 {1 1 1 1 1 1 1 1 1 1 1} 11:02:38 !blsq 1 2{?*}9!C 11:02:38 1 11:02:41 !blsq 1 2{?*}9C! 11:02:41 36028797018963968 11:02:45 !blsq 1 2{?*}9C!#s 11:02:45 {36028797018963968 17179869184 2097152 8192 256 32 8 4 2 2 1} 11:03:58 !blsq 1 2 3#s 11:03:58 {3 2 1} 11:04:01 !blsq 1 2 3x/#s 11:04:01 {1 3 2} 11:09:37 myname: there's also some inconsistency between concat and implode 11:09:43 !blsq {1 2 3 4}\[ 11:09:44 {1 2 3 4} 11:09:48 !blsq {1 2 3 4}im 11:09:48 1234 11:10:08 !blsq {'a 'b 'c)\[ 11:10:09 ERROR: (line 1, column 13): 11:10:12 !blsq {'a 'b 'c}\[ 11:10:12 "abc" 11:10:15 !blsq {'a 'b 'c}im 11:10:15 ERROR: Burlesque: (++) Invalid arguments! 11:10:17 ;) 11:10:58 !blsq {"abc" "de"}\[ 11:10:58 "abcde" 11:11:00 !blsq {"abc" "de"}im 11:11:00 ERROR: Burlesque: (++) Invalid arguments! 11:11:20 which is bad :( 11:11:23 !blsq 123XXim 11:11:24 123 11:11:27 !blsq "abc"XXim 11:11:27 ERROR: Burlesque: (++) Invalid arguments! 11:11:37 XXim is *supposed* to be the identity 11:11:40 but... :) 11:11:45 for historical reasons it's not 11:12:07 !blsq 1234XX++ 11:12:07 10 11:12:52 !blsq 1R@im++ 11:12:52 Ain't nobody got time fo' dat! 11:12:58 !blsq 1 10r@im++ 11:12:59 ERROR: Burlesque: (++) Invalid arguments! 11:13:02 !blsq 1 10r@im 11:13:04 12345678910 11:13:09 !blsq 1 20r@im 11:13:10 1234567891011121314151617181920 11:15:26 !blsq 1 20r@imfC 11:15:27 Ain't nobody got time fo' dat! 11:15:31 !blsq 1 10r@imfC 11:15:31 {2 5 1234567891} 11:15:39 !blsq 1 11r@imfC 11:15:39 {3 7 13 67 107 630803} 11:22:42 -!- AndoDaan has joined. 11:23:52 -!- Patashu_ has joined. 11:23:52 -!- Patashu has quit (Disconnected by services). 11:24:16 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 11:25:51 -!- Melvar` has joined. 11:27:10 > filter isPrint ['\0'..'\127'] \\ ['0'..'9'] \\ "{}" 11:27:11 Precedence parsing error 11:27:12 cannot mix ‘Data.List.\\’ [infix 5] and ‘Data.List.\\’ [infix 5] in the ... 11:29:33 -!- Melvar has quit (Disconnected by services). 11:29:37 -!- tswett has quit (Ping timeout: 252 seconds). 11:29:39 -!- Melvar` has changed nick to Melvar. 11:29:41 !blsq 255ro)L[:ri 11:29:42 {'0 '1 '2 '3 '4 '5 '6 '7 '8 '9 'A 'B 'C 'D 'E 'F 'G 'H 'I 'J 'K 'L 'M 'N 'O 'P ' 11:29:46 !blsq 255ro)L[:ri\[ 11:29:46 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\170\178\179\181\ 11:29:59 !blsq 255ro)L[:ri\[L[ 11:29:59 133 11:32:58 133 alnums 11:34:06 hm 11:34:18 !blsq 255{L[}GO:riL[ 11:34:19 133 11:36:42 in HTTP, if I receive an X-Forwarded-For header from a reverse proxy, and this contains multiple addresses, in which order are they? the one closest to the final server the request is forwarded to is on which end? 11:59:43 -!- shikhout has joined. 12:00:18 No idea 12:00:24 Can't find anything in the rfc as well 12:02:21 I'll have to test then when setting up a reverse proxy, by sending an X-Forwarded-For to it 12:02:58 -!- shikhin has quit (Ping timeout: 268 seconds). 12:14:14 -!- evalj has quit (Remote host closed the connection). 12:20:13 -!- AndoDaan has quit (Ping timeout: 252 seconds). 12:23:42 -!- vyv has quit (Ping timeout: 252 seconds). 12:23:55 -!- vyv has joined. 12:30:19 -!- GeekDude has joined. 12:32:38 -!- AndoDaan has joined. 12:58:40 -!- boily has joined. 12:59:59 -!- Sorella has joined. 13:00:49 -!- Sorella has quit (Changing host). 13:00:49 -!- Sorella has joined. 13:14:58 [wiki] [[Burlesque]] http://esolangs.org/w/index.php?diff=40460&oldid=40159 * 188.61.231.170 * (-92) * it's active again 13:15:42 -!- sebbu has quit (Ping timeout: 245 seconds). 13:17:54 [wiki] [[Burlesque]] http://esolangs.org/w/index.php?diff=40461&oldid=40460 * 188.61.231.170 * (-795) /* Example programs */ 13:19:32 -!- AnotherTest has quit (Ping timeout: 272 seconds). 13:20:26 -!- polytone_ has changed nick to monotone. 13:36:52 -!- AndoDaan has quit (Ping timeout: 245 seconds). 13:40:12 -!- AndoDaan has joined. 13:41:23 -!- AndoDaan_ has joined. 13:42:59 -!- AnotherTest has joined. 13:45:05 -!- AndoDaan has quit (Ping timeout: 276 seconds). 13:46:12 -!- newsham has quit (Quit: sysmaint). 13:53:08 -!- newsham has joined. 13:54:43 -!- AndoDaan has joined. 13:55:24 -!- FireFly has quit (*.net *.split). 13:55:24 -!- rodgort has quit (*.net *.split). 13:55:24 -!- myndzi has quit (*.net *.split). 13:55:27 -!- shachaf has quit (*.net *.split). 13:55:27 -!- SirCmpwn has quit (*.net *.split). 13:55:28 -!- atehwa has quit (*.net *.split). 13:55:30 -!- shachaf has joined. 13:55:31 -!- atehwa has joined. 13:55:41 -!- SirCmpwn has joined. 13:55:46 -!- variable has quit (*.net *.split). 13:55:48 -!- Bike has quit (*.net *.split). 13:55:48 -!- Gracenotes_ has quit (*.net *.split). 13:55:48 -!- digitalc1ld has quit (*.net *.split). 13:55:48 -!- mroman_ has quit (*.net *.split). 13:55:48 -!- qlkzy_ has quit (*.net *.split). 13:55:49 -!- tromp has quit (*.net *.split). 13:55:52 -!- lifthrasiir has quit (*.net *.split). 13:55:55 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 13:55:56 -!- digitalcold has joined. 13:55:57 -!- Bike has joined. 13:56:03 -!- mroman has joined. 13:56:10 -!- tromp has joined. 13:56:16 -!- AndoDaan_ has quit (Ping timeout: 250 seconds). 13:57:49 -!- AndoDaan_ has joined. 13:57:54 -!- myndzi has joined. 13:58:01 -!- GeekDude has joined. 13:58:36 -!- FireFly has joined. 13:59:09 -!- AndoDaan has quit (Ping timeout: 246 seconds). 13:59:18 -!- qlkzy has joined. 14:01:55 -!- Gracenotes has joined. 14:04:27 -!- applybot has joined. 14:13:33 -!- variable has joined. 14:25:03 -!- Patashu_ has quit (Ping timeout: 246 seconds). 14:26:07 -!- copumpkin has quit (*.net *.split). 14:26:07 -!- Gregor has quit (*.net *.split). 14:26:07 -!- perrier___ has quit (*.net *.split). 14:26:09 -!- Gregor has joined. 14:26:13 -!- sebbu has joined. 14:26:13 -!- sebbu has quit (Changing host). 14:26:13 -!- sebbu has joined. 14:26:52 -!- copumpkin has joined. 14:27:09 -!- perrier___ has joined. 14:30:30 -!- oerjan has joined. 14:36:10 -!- AnotherTest has quit (Ping timeout: 272 seconds). 14:37:01 -!- lifthrasiir has joined. 14:55:03 @metar FREENODE 14:55:37 I wonder what would a METAR for freenode look like... 14:57:25 -!- blsqbot has quit (Ping timeout: 260 seconds). 14:57:46 There were notices. 14:58:54 I read them. as a responsible IRC addict, I changed my password. 15:04:12 Perhaps I misinterpreted your wondering: I thought it referred to the heaping of netsplits and timeouts preceding, which could be explained by the notices. 15:05:20 -!- AndoDaan has joined. 15:06:34 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 15:10:34 -!- AnotherTest has joined. 15:13:54 95 was the correct answer for printable ASCII; 32..126. 15:16:43 my recent russian cartoon watching keeps bringing musical surprises, a few hours ago i learned "those were the days" is originally russian 15:18:13 (i was all ready to fix wikipedia's page on nu, pogodi when i heard it and didn't see it listed by its english name) 15:34:52 -!- idris-bot has quit (Ping timeout: 240 seconds). 15:39:38 I remember those, poor wolf. 15:42:24 @bot 15:42:24 :) 15:46:00 @botsnack 15:46:01 :) 15:46:13 -!- boily has quit (Quit: MIROBOLANT CHICKEN). 15:51:20 -!- idris-bot has joined. 15:52:07 -!- MoALTz has quit (Quit: Leaving). 16:20:51 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 16:28:44 -!- drdanmaku has joined. 16:28:49 -!- oerjan has quit (Quit: leaving). 17:02:16 -!- AndoDaan_ has joined. 17:03:28 -!- AnotherTest has quit (Ping timeout: 250 seconds). 17:04:56 -!- AndoDaan has quit (Ping timeout: 252 seconds). 17:25:54 -!- Guest36014 has quit (Changing host). 17:25:54 -!- Guest36014 has joined. 17:27:21 -!- Guest36014 has changed nick to skarn. 17:27:44 -!- AndoDaan_ has quit (Ping timeout: 250 seconds). 17:28:43 -!- monotone has quit (Quit: Reconnecting). 17:28:57 -!- monotone has joined. 17:30:10 -!- monotone has quit (Client Quit). 17:30:20 -!- monotone has joined. 17:31:42 -!- rodgort has joined. 17:34:20 -!- shikhout has changed nick to inshikh. 17:34:36 -!- inshikh has changed nick to shikhin. 17:36:32 -!- Phantom_Hoover has joined. 17:40:21 -!- AndoDaan has joined. 17:42:36 -!- shikhin has changed nick to SirvantS. 17:43:18 -!- SirvantS has changed nick to shikhin. 17:44:49 https://www.reddit.com/r/lolphp/comments/2g7dix/a_cryptocurrency_whose_reference_implementation/ 17:46:49 -!- AnotherTest has joined. 17:46:56 -!- augur has quit (Remote host closed the connection). 17:49:28 Sgeo, i love the t_paamayim tip 17:49:40 validating json with a regex 17:49:52 all of my wat 17:50:45 the PHP hammer is still amazing. I giggle every time I see it 17:59:52 -!- shikhout has joined. 18:02:50 -!- shikhin has quit (Ping timeout: 250 seconds). 18:23:42 -!- MoALTz has joined. 18:26:57 -!- FreeFull has quit (Ping timeout: 260 seconds). 18:28:58 -!- FreeFull has joined. 18:33:28 -!- J_Arcane has quit (Quit: Nettalk6 - www.ntalk.de). 18:35:11 -!- J_Arcane has joined. 18:45:12 What's this about passwords? 18:45:57 some freenode server has been compromised apparently 18:46:46 anybody could be compromised 18:46:50 i don't even know you're sgeo, really 18:47:36 Changed Freenode password. But there's been no kind of check if the person chnaging the password is really who they claim to be 18:48:10 from now on i shall refer to you as ngeo, for not-sgeo 18:49:43 . o O ( "My ... name ... is ... Sgeo!" ... followed by a subway train. ) 18:52:33 Dammit, now I gotta come up with another throwaway password just for a stupid IRC nick? :P 18:55:53 Or ask your computer to come up with one, it's not like it has anything better to do. 18:56:17 I don't think I've used my password in a long time, since https://freenode.net/certfp/ 18:59:21 Does anyone know a reasonable guide to the sudoers file? 18:59:25 The man page is terrible 18:59:39 It begins with an introduction to EBNF ffs. 19:00:16 it's not terrible, it's a classic 19:01:06 Phantom_Hoover, It is a classic example of a terrible man page 19:02:43 Basically I'm trying to work out how to make a specific user be able to run a specific command with specific command line arguments 19:11:44 username ALL = /path/to/command arg1 arg2 19:11:56 It does have a list of examples, if you don't want to work it out rigorously. 19:12:04 joe ALL = /usr/bin/su operator 19:12:05 The user joe may only su(1) to operator. 19:14:41 LastPass could easily entirely impersonate me if they want 19:14:41 :/ 19:15:43 "If a Cmnd has associated command line arguments, then the arguments in the Cmnd must match exactly those given by the user on the command line (or match the wildcards if there are any)." 19:15:56 Honestly, it's a bad document, but it's not unusable. 19:23:36 fizzie, thanks 19:24:12 fizzie, so no regex? Oh well. And I guess having regex in a suid binary would open up more attack vectors 19:24:36 Now to figure out how environment works. Because it seems I need that too. It filters a variable I need 19:28:28 -!- FreeFull has quit (Ping timeout: 260 seconds). 19:30:15 -!- fizzie has quit (Remote host closed the connection). 19:30:27 -!- FreeFull has joined. 19:35:14 I'm not sure if I can append a env_check/env_h 19:35:41 ...env_keep to a specific command 19:35:43 -!- fizzie has joined. 19:36:30 fizzie, Can't figure out how to specify an env_keep for a specific entry only 19:36:49 I think it might be possible 19:38:31 -!- AndoDaan has quit. 19:39:09 Ah hm... Defaults!command_alias? 19:40:07 -!- FreeFull has quit (Quit: Bbl). 19:43:52 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 19:44:04 Today in Arbore(c)tum http://youtu.be/rUeFj4Ckmxc 19:45:01 Doesn't seem to work... 19:57:38 I think that should work. Cmnd_Alias WHATEVER = /path/to/command arg1 arg2 Defaults!WHATEVER env_keep += "FOOBAR" username ALL = WHATEVER 20:02:14 -!- MoALTz has quit (Quit: Leaving). 20:06:51 Northern lights due here in Finland in the next couple of hours. 20:08:36 Unto "Northern Lights" Laine, a professor at our department, said the same about last night. 20:09:00 Yeah, there were last night as well. I missed them because I was asleep. XD 20:09:54 http://sprunge.us/bORO 20:10:13 He's kind of famous for his controversial thesis of northern lights making sounds. 20:10:33 http://en.wikipedia.org/wiki/Aurora#Sounds_associated_with_auroras 20:12:40 Huh! Never heard of that. I've heard sounds generated *from* an aurora, IIRC, but not of them making sounds themselves. 20:13:41 http://web.aalto.fi/en/current/news/2012-07-09/ too. 20:14:15 https://github.com/c-darwin/dcoin/pull/2 20:14:22 I haven't reviewed his data, but other people have told me there are statistically significant correlations there; there's no real hypothesis on the exact cause, though. 20:15:11 ion: V. snarky. 20:26:21 fizzie: I actually initially looked to getting into Aalto. 20:32:02 I've been looking to getting out of there one of these years. 20:32:23 12th year starting now, I think. 20:37:19 Heh. I was in school for film at the time, and it had the only English-language program in film. Only, it's in alternating years, and I missed the window, plus my wife refuses to live in Helsinki. 20:38:47 -!- not^v has joined. 20:41:47 I don't know very much about the Aalto ARTS side. We might be technically stitched into one university now, but the seams are still there. 21:13:13 I'm in Tampere now anyway, and if I go back to uni it'll be for CS now I think. I've just burnt out on creative stuff, there's no money in it unless you're either lucky as hell or an obsessive workaholic (or both). 21:16:09 -!- Bike has quit (Read error: Connection reset by peer). 21:16:31 I am going to overdose on 80s music. 21:17:18 -!- Phantom_Hoover has joined. 21:25:36 -!- Bike has joined. 21:25:39 http://thedailywtf.com/Articles/The-Fizz-Buzz-from-Outer-Space.aspx 21:27:09 -!- augur has joined. 21:32:52 -!- not^v has quit (Read error: Connection reset by peer). 21:33:15 -!- not^v has joined. 21:37:33 -!- monotone_ has joined. 21:37:38 -!- monotone_ has changed nick to polytone. 21:39:39 oh look, a crazy person. http://what.thedailywtf.com/t/scholrleas-fetish-for-licensing-and-lisp-thread/3032/4 21:39:40 -!- shachaf_ has joined. 21:40:02 -!- not^v has quit (Read error: Connection reset by peer). 21:40:20 -!- shachaf_ has quit (Changing host). 21:40:20 -!- shachaf_ has joined. 21:40:30 -!- not^v has joined. 21:40:55 -!- shachaf has quit (Disconnected by services). 21:41:07 -!- shachaf_ has changed nick to shachaf. 21:43:42 -!- Gregor`` has joined. 21:45:15 -!- monotone has quit (*.net *.split). 21:45:16 -!- Gregor has quit (*.net *.split). 21:50:26 -!- GeekDude has joined. 21:55:01 -!- FreeFull has joined. 21:55:35 -!- FreeFull has changed nick to Guest93974. 22:01:07 -!- AnotherTest has quit (Ping timeout: 245 seconds). 22:09:18 -!- polytone_ has joined. 22:09:21 -!- polytone_ has changed nick to monotone. 22:11:41 -!- vyv_ has joined. 22:14:05 -!- myndzi has quit (Excess Flood). 22:14:18 -!- vyv has quit (Remote host closed the connection). 22:14:18 -!- polytone has quit (Remote host closed the connection). 22:14:18 -!- idris-bot has quit (Ping timeout: 296 seconds). 22:16:34 -!- myndzi has joined. 22:16:50 -!- zzo38 has joined. 22:17:02 -!- Phantom__Hoover has joined. 22:18:16 -!- kcm1700_ has joined. 22:19:35 -!- mroman_ has joined. 22:21:47 -!- Gracenotes_ has joined. 22:22:20 -!- digitalc1ld has joined. 22:22:52 -!- atehwa_ has joined. 22:27:23 -!- Phantom_Hoover has quit (*.net *.split). 22:27:27 -!- variable has quit (*.net *.split). 22:27:27 -!- Gracenotes has quit (*.net *.split). 22:27:27 -!- mroman has quit (*.net *.split). 22:27:27 -!- digitalcold has quit (*.net *.split). 22:27:27 -!- atehwa has quit (*.net *.split). 22:27:28 -!- kcm1700 has quit (*.net *.split). 22:27:29 -!- applybot has quit (*.net *.split). 22:29:37 -!- variable has joined. 22:36:53 -!- variable has quit (Changing host). 22:36:53 -!- variable has joined. 22:36:53 -!- variable has quit (Changing host). 22:36:53 -!- variable has joined. 22:39:21 -!- augur has quit (Remote host closed the connection). 22:41:49 -!- oerjan has joined. 22:44:45 -!- Sgeo_ has joined. 22:45:02 -!- Froo has joined. 22:45:07 -!- Froox has quit (Read error: Connection reset by peer). 22:45:33 -!- Sorella has quit (Ping timeout: 246 seconds). 22:48:05 -!- Sprocklem has joined. 22:51:53 -!- zzo38 has quit (Disconnected by services). 22:51:58 -!- zzo38 has joined. 22:52:03 -!- Effilry has joined. 22:53:16 -!- variable has quit (Ping timeout: 246 seconds). 22:53:18 -!- sebbu has quit (Ping timeout: 246 seconds). 22:53:19 -!- FireFly has quit (Ping timeout: 246 seconds). 22:53:21 -!- Sgeo has quit (Ping timeout: 246 seconds). 22:54:01 * oerjan asstw Effilry ###----- 22:54:03 -!- Effilry has changed nick to FireFly. 22:54:25 ow 22:55:53 [wiki] [[Special:Log/newusers]] create * InputUsername * New user account 22:59:16 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 22:59:45 * Sgeo_ wants to see the aurora 23:00:56 * oerjan saw it yesterday 23:01:16 or technically two days ago 23:01:41 * Sgeo_ jealouses. 23:01:50 *MWAHAHAHAHA* 23:01:57 Would be nice if there was a cruise starting from here specifically for seeing them 23:02:00 Would be convenient 23:02:41 a cruise sounds unreliable 23:02:58 -!- Patashu has joined. 23:03:04 because so are auroras 23:03:27 [wiki] [[User:InputUsername]] N http://esolangs.org/w/index.php?oldid=40462 * InputUsername * (+95) Informationses 23:03:28 you have to spend quite some time up north (or south) to be sure of seeing one 23:03:58 and a cruise sounds a bit too slow to use when there's one forecasted 23:04:04 Ah :( 23:04:20 Is spending 5 days in Alaska give a good probability of seeing one? 23:04:33 Or is that not 'quite some time' 23:09:44 [wiki] [[User:InputUsername]] M http://esolangs.org/w/index.php?diff=40463&oldid=40462 * InputUsername * (+243) Added more information 23:10:31 [wiki] [[User:InputUsername]] http://esolangs.org/w/index.php?diff=40464&oldid=40463 * InputUsername * (+15) 23:11:49 perhaps. i recall a bbc series (searching ... "Joanna Lumley in the Land of the Northern Lights", http://www.dailymail.co.uk/femail/article-1052706/Joanna-Lumley-absolutely-fabulous-trip-northern-lights.html), i don't know how much time she spent but she only barely managed to see them. 23:14:22 although she got really lucky when she did 23:16:59 (btw by forecast i think i mean when there's been a sun storm, they seem to be correlated. of course they are much rarer than northern lights in themselves.) 23:23:10 -!- variable has joined. 23:45:13 -!- augur has joined. 23:47:22 -!- Sprocklem has quit (Ping timeout: 245 seconds). 23:47:51 -!- augur has quit (Read error: Connection reset by peer). 23:48:55 -!- augur has joined. 23:51:42 -!- augur has quit (Remote host closed the connection). 23:55:33 -!- Sprocklem has joined. 23:57:15 I saw an agency advertising a combined solar eclipse + chance of aurora thing 23:58:10 http://www.travelquesttours.com/tours/2015-svalbard-arctic-eclipse/welcome/ 2014-09-14: 00:00:14 -!- shikhin has joined. 00:03:22 -!- shikhout has quit (Ping timeout: 240 seconds). 00:17:43 -!- conehead has joined. 00:43:10 -!- sebbu has joined. 00:43:46 -!- sebbu has quit (Changing host). 00:43:46 -!- sebbu has joined. 00:44:35 -!- Sorella has joined. 00:45:26 -!- Sorella has quit (Changing host). 00:45:26 -!- Sorella has joined. 00:45:52 -!- augur has joined. 00:52:47 -!- Guest93974 has quit (Changing host). 00:52:47 -!- Guest93974 has joined. 00:52:54 -!- Guest93974 has changed nick to FreeFull. 00:59:03 -!- AndoDaan has joined. 00:59:31 -!- Star651_ has joined. 01:01:16 Hello, this is the inventor of the Immi esolang. 01:03:22 -!- Star651_ has quit (Client Quit). 01:10:31 goodbye, inventor of the immi esolang. 01:28:45 Truly, celebrity is fleeting. 01:33:20 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 01:51:58 If I invent an esolang, will girls like me? 01:53:05 undoubtedly 01:55:13 hot diggity, looks like the world is about to gain another brainfuck derivative! 01:58:23 [wiki] [[Tarpit]] http://esolangs.org/w/index.php?diff=40465&oldid=39364 * 135.23.126.116 * (+18) /* Examples */ forgot to make this have an accepting state. 01:59:04 AndoDaan: that will only attract girls who are fucked in the brain hth 02:01:02 [wiki] [[Tarpit]] http://esolangs.org/w/index.php?diff=40466&oldid=40465 * 135.23.126.116 * (-6) /* Examples */ make the example more compact and harder to read 02:01:10 I wouldn't have it any other way. 02:01:22 AndoDaan: brainfuck derivatives don't count 02:01:34 AndoDaan: if you make a brainfuck derivative you will be forever alone 02:02:06 :( 02:02:30 you'll be forever alone forever, in fact 02:02:40 *gasp* 02:04:20 surely there must be some possible atonement, probably grueling and involving inventing TC type systems 02:05:19 oerjan: I am not a sage. 02:05:35 I do not know the mystic ways to cleanse the taint of a brianfuck derivative from the soul 02:06:01 well without a sage, he'll just have to take his thyme searching. 02:06:43 also there totally should be a brianfuck 02:09:55 an esolang themed on puns... that's an idea 02:10:09 we all know the ladies dig puns 02:10:28 OKAY 02:10:58 I can see that you're impressed. 02:11:23 I like it 02:11:26 put a ring on it 02:25:42 -!- variable has quit (Ping timeout: 246 seconds). 03:11:04 -!- oerjan has quit (Quit: leaving). 03:13:40 -!- AndoDaan_ has joined. 03:14:47 -!- AndoDaan has quit (Ping timeout: 245 seconds). 03:18:11 -!- augur has quit (Remote host closed the connection). 03:18:48 -!- augur has joined. 03:18:56 -!- variable has joined. 03:18:57 -!- variable has quit (Changing host). 03:18:57 -!- variable has joined. 03:20:59 -!- AndoDaan_ has quit. 03:23:31 -!- augur has quit (Ping timeout: 272 seconds). 03:26:37 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:40:14 -!- shikhin has quit (Ping timeout: 272 seconds). 03:53:38 This looks good: http://planetary.s3.amazonaws.com/assets/pdfs/PlanSoc.1385.Iceland.pdf 04:14:01 -!- augur has joined. 04:15:03 -!- augur has quit (Read error: Connection reset by peer). 04:15:07 -!- augur has joined. 04:31:48 -!- Sprocklem has quit (Quit: brb). 04:32:11 -!- Sprocklem has joined. 04:33:51 -!- Sprocklem has quit (Client Quit). 04:34:23 -!- Sprocklem has joined. 04:51:05 -!- shikhin has joined. 04:59:22 I am using the following name hash function: Start at 42, for each character, double and then add the ASCII code of that character. The hash code is then eight bits long. I don't want it to be slow, but is there better way? 05:01:30 Here is a report of the hash codes assigned using this algorithm for the names built-in to nanozil and the standard library definitions: http://sprunge.us/VaXM (the number in parentheses is the type: 1 for a macro, 3 for a built-in command, 4 for a variable, and 10 for an opcode) 05:14:37 -!- conehead has quit (Quit: Computer has gone to sleep). 05:18:38 I think someone may have asked me on here before if Z-machine has any instruction opcode names including digits. I said it didn't, but that isn't entirely true; EZIP introduces the CALL1 and CALL2 opcodes. 05:19:39 -!- copumpkin has quit. 05:21:32 -!- copumpkin has joined. 05:22:11 (XZIP also adds ICALL1 and ICALL2.) 05:48:44 -!- J_Arcane has quit (Quit: Nettalk6 - www.ntalk.de). 05:49:02 -!- J_Arcane has joined. 05:50:48 -!- J_Arcane has quit (Client Quit). 05:51:27 -!- J_Arcane has joined. 06:00:53 -!- shikhout has joined. 06:04:02 -!- shikhin has quit (Ping timeout: 245 seconds). 06:14:09 [wiki] [[BFEnet]] M http://esolangs.org/w/index.php?diff=40467&oldid=32542 * Rdebath * (+13) dead link 06:35:36 -!- Sametypeattackbo has joined. 06:46:31 -!- Sametypeattackbo has left ("Leaving"). 07:03:19 -!- realzies has quit (Read error: Connection reset by peer). 07:28:47 -!- shikhout has changed nick to shikhin. 07:51:25 oerjan: what's with the latest edit on https://en.wikipedia.org/wiki/Banana_split 07:58:22 zzo38, what are you using the hash for? 07:58:34 oerjan: actually the three latest edits 07:59:48 shachaf, people being silly by defacing Wikipedia? 08:00:02 that's what i figured 08:00:11 imo fix it 08:00:19 and maybe get them banned?? 08:31:45 please stop using this channel for that. 08:34:36 -!- AnotherTest has joined. 08:36:23 Hm. 08:42:42 -!- AndoDaan has joined. 08:53:37 -!- AndoDaan_ has joined. 08:56:38 -!- MoALTz has joined. 08:56:39 -!- AndoDaan has quit (Ping timeout: 246 seconds). 09:02:39 -!- AndoDaan_ has changed nick to AndoDaan. 09:28:23 -!- evalj has joined. 09:56:09 -!- AndoDaan has quit (Read error: Connection reset by peer). 09:57:11 -!- AndoDaan has joined. 10:10:03 -!- Phantom_Hoover has joined. 10:10:06 -!- Phantom_Hoover has quit (Changing host). 10:10:07 -!- Phantom_Hoover has joined. 10:25:32 I get way too emotionally invested in Dwarf Fortress 10:26:49 Do you use names of real people there? 10:26:53 No 10:27:14 All the death? 10:27:18 But yesterday three of my dwarfs got turned by a werepanda and I actually started crying 10:27:39 aww sound cute 10:27:42 O_o 10:28:35 Then I sort of neglected to do anything about this werepanda problem and 6 more have been turned/killed 10:29:26 why were you not prepared? 10:29:40 Inexperience with werebeasts 10:30:44 joking aside, isn't things going wrong the most apealing aspect of df? 10:30:50 I've heard that. 10:31:36 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 10:31:41 It's more that things going wrong is the real enemy in dwarf fortress 10:32:06 So, instead of the player killing dragons or whatever, you're really killing things going wrong 10:37:43 -!- AndoDaan_ has joined. 10:38:13 -!- AndoDaan has quit (Ping timeout: 272 seconds). 10:49:37 OK, total of 15 more werepandas after this one was killed 10:59:19 do you ever whipe out your own people so you can start afresh with a new bunch? 11:01:26 No, I just make a new world 11:02:36 I tried getting into df a while back, but the learning curve seemed steep. 11:02:40 for me at least 11:05:09 It is 11:27:55 the problem is that you have to learn around two-thirds of the game right off the bat to get anywhere 11:29:35 oh, dwarf fortress again 11:34:22 -!- AndoDaan_ has quit (Ping timeout: 245 seconds). 11:38:52 -!- AndoDaan has joined. 11:40:34 -!- oerjan has joined. 11:52:43 Right, this fortress is dying 11:53:12 light a small fire while they are sleeping 11:53:35 don't let the children suffer. 11:53:45 are there dwarf children? 11:54:46 Yeah, and they've already suffered 11:55:21 :( well, at least got too see a (were)panda up close 11:55:39 they got to* 11:57:42 Now I'm just trying to bury the dead and MAYBE recover 11:58:25 the dead are remembered, right? 11:59:17 that sounded strange. I mean, the game keeps a record of each individual? 12:00:34 The dead are remembered 12:00:36 -!- shikhout has joined. 12:00:51 If they aren't buried or memorialized, your fort's citizens can come back as ghosts and mess stuff up 12:01:52 awkward. 12:02:00 CL's loop syntax is soooo weird. 12:04:00 -!- shikhin has quit (Ping timeout: 250 seconds). 12:04:05 It's like a whole little language. 12:04:19 Yeah. 12:06:18 heh 12:09:12 "loop" - a predicate function for testing whether an object is a toilet. 12:09:30 * oerjan swats fizzie -----### 12:11:51 fungot: Quick, make a terrible pun so that mine gets forgotten. 12:11:51 fizzie: it seems to work with the new fnord memory management sucks, though.). 12:12:07 fungot: Not helpful. 12:12:07 fizzie: i can feel it's fnord local time and narrow your search a bit of difficulty getting the kqemu binary module to load. 12:12:43 i suspect fungot is overcomplicating it 12:12:43 oerjan: i already figured it out. 12:13:02 oh. ok then. 12:26:45 -!- boily has joined. 12:27:11 boily: your earworm revenge has been moderately successful hth 12:28:08 (jožin! z bažin!) 12:43:47 bon matørjan! 12:43:49 :D 12:44:27 bod ettermilydag 12:51:30 -!- AndoDaan has quit (Ping timeout: 246 seconds). 12:54:01 -!- AndoDaan has joined. 13:00:47 -!- AndoDaan_ has joined. 13:02:42 -!- AndoDaan has quit (Ping timeout: 246 seconds). 13:06:22 -!- Patashu has quit (Ping timeout: 240 seconds). 13:09:38 I always did suck at trig. Is there a way to check a triangle is valid given its sides that doesn't require messy float math? :/ 13:09:40 I tried using the SSS theorem and checking for the sum of the angles = pi, but I'm getting failed results, because I suspect there are rounding or floating point issues somewhere. 13:11:43 J_Arcane: a + b >= c, a + c >= b, and b + c >= a, that's all if you are given the sides 13:12:06 *side lengths 13:12:29 oerjan: You know, originally I thought to do it like that but somehow I thought it'd be harder ... 13:14:18 there's a reason d(A,C) <= d(A,B) + d(B,C) is called the triangle inequality :) 13:16:19 oh hm unless you want the triangle to be possibly degenerate, you want > rather than >=. 13:18:10 Yeah, I just figured that out I think. 13:20:48 @metar CYUL 13:20:49 CYUL 141300Z 31004KT 15SM OVC026 08/03 A3032 RMK SC8 SLP268 13:21:02 @metar ENVA 13:21:02 ENVA 141250Z 24004KT 200V290 9999 SCT037 BKN047 16/11 Q1033 NOSIG RMK WIND 670FT 35001KT 13:22:34 colder than Norway. yé....... 13:46:09 -!- shikhout has changed nick to shikhin. 13:52:14 -!- nortti has changed nick to lawspeaker. 13:54:28 -!- lawspeaker has changed nick to nortti. 13:55:00 -!- nortti has changed nick to lawspeaker. 13:56:02 -!- lawspeaker has changed nick to nortti. 14:01:50 -!- shikhin has changed nick to ^[]. 14:01:55 -!- ^[] has changed nick to shikhin. 14:09:27 -!- AndoDaan_ has quit (Ping timeout: 245 seconds). 14:14:38 -!- zzo38 has quit (Remote host closed the connection). 14:18:21 [wiki] [[Rotary]] N http://esolangs.org/w/index.php?oldid=40468 * InputUsername * (+6101) Published the specification 14:19:01 [wiki] [[Rotary]] M http://esolangs.org/w/index.php?diff=40469&oldid=40468 * InputUsername * (-25) Fixed small error 14:19:07 [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=40470&oldid=40442 * InputUsername * (+13) Added Rotary 14:19:53 [wiki] [[Rotary]] M http://esolangs.org/w/index.php?diff=40471&oldid=40469 * InputUsername * (-1) Fixed layout 14:28:10 -!- boily has quit (Quit: COMPOSITE CHICKEN). 14:52:27 -!- Froo has changed nick to Frooxius. 15:10:37 -!- AnotherTest has quit (Ping timeout: 245 seconds). 15:10:53 -!- conehead has joined. 15:11:51 -!- AnotherTest has joined. 15:14:32 [wiki] [[.Gertrude]] M http://esolangs.org/w/index.php?diff=40472&oldid=40458 * Oerjan * (+19) /* Instructions */ wikitable 15:16:01 [wiki] [[.Gertrude]] M http://esolangs.org/w/index.php?diff=40473&oldid=40472 * Oerjan * (-39) /* Instructions */ Drop now useless options 15:16:39 -!- GeekDude has joined. 15:30:45 -!- sebbu2 has joined. 15:31:21 -!- sebbu2 has quit (Changing host). 15:31:22 -!- sebbu2 has joined. 15:34:30 -!- Sprocklem_ has joined. 15:38:24 -!- conehead has quit (*.net *.split). 15:38:25 -!- Sprocklem has quit (*.net *.split). 15:38:25 -!- sebbu has quit (*.net *.split). 15:39:01 -!- conehead has joined. 15:41:56 -!- shikhin has changed nick to catcat. 15:42:19 -!- catcat has changed nick to shikhin. 15:58:00 -!- AnotherTest_ has joined. 15:58:00 -!- AnotherTest has quit (Read error: Connection reset by peer). 15:58:00 -!- AnotherTest_ has changed nick to AnotherTest. 16:03:07 -!- oerjan has quit (Quit: leaving). 16:13:57 -!- idris-bot has joined. 16:48:32 -!- blsqbot has joined. 16:48:57 !blsq 6{{3.%n!}"Fizz"{5.%n!}"Buz"}cn 16:48:57 "Fizz" 16:49:02 !blsq 5{{3.%n!}"Fizz"{5.%n!}"Buz"}cn 16:49:02 "Buz" 16:51:36 I stole cond from lisp . 16:52:19 @hoogle (a -> b) -> a -> [b] 16:52:22 Prelude map :: (a -> b) -> [a] -> [b] 16:52:22 Data.List map :: (a -> b) -> [a] -> [b] 16:52:22 Prelude iterate :: (a -> a) -> a -> [a] 16:52:35 -!- TieSoul has changed nick to Tie_Soul. 16:52:38 -!- Tie_Soul has changed nick to TieSoul. 16:52:40 !blsq 5 {{?i}{?d}{S[}}M_ 16:52:40 ERROR: Unknown command: (M_)! 16:52:43 hm 16:53:05 !blsq 5 {{?i}{?d}{S[}}M- 16:53:05 {6 4 25} 16:53:47 @type \f -> (:[]).f 16:53:48 (a -> b) -> a -> [b] 16:55:20 @type ((:[]).) -- I guess the same 16:55:21 (a -> b) -> a -> [b] 16:57:12 also (.)(:[]) [an ape balancing a melon on his head?] 16:59:16 hmm, I wonder what the 82 characters Haskell FizzBuzzes from http://golf.shinh.org/p.rb?FizzBuzz look like. I can't seem to get below 84 myself. 16:59:52 It's easy to hit local minima when golfing. 17:00:28 -!- Sprocklem_ has changed nick to Sprocklem. 17:00:28 I know :) 17:03:00 -!- Lorenzo64 has joined. 17:12:41 I still have no idea how anyone got 77 chars in Clojure. 17:13:08 http://ask.metafilter.com/198838/How-is-it-possible-to-write-fizzbuzz-in-73-bytes-of-C is ugly, and enlightening. 17:13:30 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 17:13:37 `forth : f 101 1 do i 3 mod 0= i 5 mod 0= 2dup + if if ." Fizz" then if ." Buzz" then else 2drop i . then cr loop ; f 17:13:38 1 \ 2 \ Buzz \ 4 \ Fizz \ Buzz \ 7 \ 8 \ Buzz \ Fizz \ 11 \ Buzz \ 13 \ 14 \ FizzBuzz \ 16 \ 17 \ Buzz \ 19 \ Fizz \ Buzz \ 22 \ 23 \ Buzz \ Fizz \ 26 \ Buzz \ 28 \ 29 \ FizzBuzz \ 31 \ 32 \ Buzz \ 34 \ Fizz \ Buzz \ 37 \ 38 \ Buzz \ Fizz \ 41 \ Buzz \ 43 \ 44 \ FizzBuzz \ 46 \ 47 \ Buzz \ 49 \ Fizz \ Buzz \ 52 \ 53 \ B 17:13:40 Still not really golfed but I think shorter than last one. 17:13:58 (not about closure, but the 75 byte version looks like it should've been doable. I didn't get there. :) 17:14:06 Whoops, got Fizz and Buzx flipped. 17:14:52 Is that a ternary operator I see in the C version? 17:15:42 ?: 17:15:42 Maybe you meant: v @ ? . 17:15:53 J_Arcane: of course. 17:16:23 -!- shikhin has quit (Quit: study). 17:17:13 similarly baggled as to how someone pulled off a 77 byte Common Lisp. Clojure is pretty obfuscation friendly, but CL not always. Maybe it's format or loop ninja-ing. 17:19:00 Now we need to get john regehr to golf fizzbuzz 17:20:22 -!- impomatic has quit (Ping timeout: 240 seconds). 17:26:12 -!- AndoDaan has joined. 17:37:29 @hoogle [(a -> b)] -> a -> [b] 17:37:32 Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b 17:37:33 Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b 17:37:33 Prelude map :: (a -> b) -> [a] -> [b] 17:37:40 oh 17:37:47 > [succ, pred] <*> 3 17:37:48 No instance for (GHC.Show.Show b0) 17:37:48 arising from a use of ‘M900173898338523723717631.show_M9001738983385237237... 17:37:48 The type variable ‘b0’ is ambiguous 17:37:48 Note: there are several potential instances: 17:37:48 instance [safe] GHC.Show.Show 17:37:58 > [succ, pred] <*> [3] 17:38:00 [4,2] 17:38:03 ok 17:39:44 that's sortof what M- is 17:39:54 > [succ, pred] <*> [3,2] 17:39:56 [4,3,2,1] 17:40:10 > Just succ <*> Just 2 17:40:12 Just 3 17:40:24 > Just succ <*> Nothing 17:40:25 can't find file: L.hs 17:40:28 :( 17:40:31 > Just succ <*> Nothing 17:40:34 Nothing 17:40:43 I like how lambdabot can *randomly* not find L.hs 17:41:40 it's a race condition 17:41:52 Someone else hid it 17:43:22 -!- applybot has joined. 17:51:37 Hmm, maybe it'll stop now. I can just use ghci to keep those shared libraries hot. 17:54:25 But as far as I understand the issue, the problem is mueval, which has a race if two instances run simultaneously; they keep their temproary files in the same place. 17:57:37 -!- AndoDaan_ has joined. 17:59:01 -!- AndoDaan has quit (Ping timeout: 272 seconds). 17:59:32 * int-e idly wonders why mueval-core is slower than ghc -e, when they should be doing approximately the same thing. 18:06:30 different settings? 18:10:22 http://img-9gag-lol.9cache.com/photo/amLrrQ2_700b.jpg that's... interesting.... 18:10:42 b_jonas: I don't think so, but that's not saying much :) 18:11:54 -!- Lorenzo64 has quit (Quit: Leaving). 18:29:48 -!- FreeFull has quit (Ping timeout: 260 seconds). 18:34:53 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 18:35:39 -!- AndoDaan has joined. 18:43:13 well, I managed to make my completely-hash-based Funge interpreter get through Mycology without BADs 18:43:16 but it's slow 18:43:53 98? 18:48:40 yes 18:48:41 98 18:49:13 and with HRTI in there Mycology has not completed yet after like a minute 18:49:24 without HRTI it takes 24 seconds 18:49:41 by comparison, the non-hash-based one takes 18 seconds with HRTI 18:49:49 oh hey it finished, in 94 seconds 18:52:22 the non-hash-based one gets 6 BADs 18:52:28 in 18 seconds 18:52:39 the hash-based one gets none in 94 seconds 18:52:49 I think non-hash-based is the way to go :P 18:52:51 trade-off? 18:53:06 nah, frankenstein monster it 18:53:13 ? 18:53:35 the non-hash-based one uses hashes for too large numbers already btw 18:53:44 ah. 18:54:09 I finally get how bigInt works 18:54:12 thank you. 18:54:23 and the BADs it does get are one that I don't get at all (null byte in string and 0 are not equal), and things about bounds that you can't really do with a three-dimensional array. 18:54:33 at least, not quickly 18:55:07 I wrotee ", 18:55:16 in befunge 98 18:55:25 outputs: ,,,,,,, 18:55:29 -!- DootBot has joined. 18:55:29 DOOT DOOT! 18:55:31 but ," 18:55:32 nothing 18:55:37 !befunge98 ," 18:55:52 !befunge98 ", 18:56:10 ??? 18:56:17 in ccbi at least 18:56:20 my bot is supposed to do that :P 18:56:35 !befunge98 "olleH">:#,_@ 18:56:55 "pir",,, 18:57:01 "pir",,,@ 18:57:40 -!- DootBot has quit (Remote host closed the connection). 18:58:05 -!- DootBot has joined. 18:58:05 DOOT DOOT! 18:58:13 !befunge98 "yeh",,,@ 18:58:16 wat 18:58:44 !befunge98 'q,@ 18:58:52 -!- DootBot has quit (Remote host closed the connection). 18:58:59 yay debugging to do 18:59:05 !befunge98 1'q,@ 18:59:13 -!- DootBot has joined. 18:59:13 DOOT DOOT! 18:59:16 !befunge98 52+.@ 19:00:43 -!- DootBot has quit (Remote host closed the connection). 19:00:49 okay I think I've got it 19:00:55 Ruby is kind of weird with arrays 19:00:57 :P 19:01:04 -!- DootBot has joined. 19:01:04 DOOT DOOT! 19:01:09 !befunge98 52+.@ 19:01:09 TieSoul: 7 19:01:11 great 19:01:18 !befunge98 ", 19:01:22 TieSoul: ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, (Execution timed out.) 19:01:29 !befunge98 ," 19:01:29 !befunge98 ," 19:01:37 huh 19:01:44 that made it crash 19:02:38 -!- DootBot has quit (Remote host closed the connection). 19:02:44 more bugfixing 19:02:45 popping from an empty stack results a 0, right? 19:02:54 yes 19:02:58 -!- DootBot has joined. 19:02:58 DOOT DOOT! 19:03:03 !befunge98 ," 19:03:07 TieSoul: 19:03:09 !befunge98 ,. 19:03:13 AndoDaan: 19:03:16 hey, it did it 19:03:25 !befunge98 5.@ 19:03:25 TieSoul: 5 19:03:28 no zer0 though 19:03:30 !befunge98 . 19:03:31 !befunge98 ,.@ 19:03:31 AndoDaan: 19:04:02 wait, I'm not making sense 19:04:10 !befunge98 .@ 19:04:10 TieSoul: 0 19:04:14 !befunge98 .,@ 19:04:14 TieSoul: 0 19:04:21 Befunge98 'q,5.@ 19:04:23 !befunge 1+.@ 19:04:42 !befunge98 'q,5.@ 19:04:45 huh 19:04:48 that does not work 19:05:22 -!- DootBot has quit (Remote host closed the connection). 19:05:42 -!- DootBot has joined. 19:05:42 DOOT DOOT! 19:05:48 !befunge98 'q,5.@ 19:05:49 !befunge 1+.@ 19:05:52 nope 19:05:55 !befunge98 1+.@ 19:05:55 TieSoul: 1 19:06:03 !unefunge98 'q,5.@ 19:06:03 TieSoul: q5 19:06:10 unefunge does work though 19:06:45 the double stack bit? 19:07:24 nah 19:07:40 !unefunge 1+.@ 19:07:45 !unefunge98 1+.@ 19:07:45 AndoDaan: 1 19:07:56 well done, DootBot. 19:08:19 -!- DootBot has quit (Remote host closed the connection). 19:08:39 -!- DootBot has joined. 19:08:39 DOOT DOOT! 19:08:44 !befunge98 'q,5.@ 19:08:45 TieSoul: q5 19:08:50 !befunge98 1+.@ 19:08:51 TieSoul: 1 19:08:58 !befunge98 "AMOR"4(M.@ 19:08:59 TieSoul: 1000 19:09:01 how'dya solve it? 19:09:10 pushing 0 onto the stack first? 19:09:27 Simply updated the rubyfunge version dootbot is using to the latest version :P 19:09:27 TieSoul: pls hovers = its The slower? that night join whoever wall would the can! 19:09:36 ah, lol 19:09:48 the random talk is 50% chance when you mention dootbot 19:09:49 TieSoul: oh finds not i wrong list to? revenge are KEEPO nothing on solid? 19:09:49 :P 19:10:03 I think ccbi (or the version that anarchy golf uses) has the same issue 19:10:07 !unefunge98 "olleH">:#,_@ 19:10:07 TieSoul: Hello 19:10:19 !befunge98 v\n5\n.\n@ 19:10:23 TieSoul: (Execution timed out.) 19:10:25 huh 19:10:52 -!- DootBot has quit (Remote host closed the connection). 19:11:22 -!- DootBot has joined. 19:11:24 DOOT DOOT! 19:11:33 !befunge98 v\n5\n.\n@ 19:11:34 TieSoul: 5 19:11:35 How do I input multiple lines? 19:11:36 okay 19:11:39 using \n 19:11:50 !brainfuck +++++++++++++++++++++++++. 19:11:51 19:11:54 seems logical :) 19:11:54 !brainfuck +++++++++++++++++++++++++++++++++++++. 19:11:54 % 19:12:18 I should also make a !trefunge98 19:12:19 :P 19:12:40 haven't tried that yet 19:13:05 the binaries I took from cbbi... ccbi? didn't have it functional 19:13:34 -!- DootBot has quit (Remote host closed the connection). 19:13:54 -!- DootBot has joined. 19:13:56 DOOT DOOT! 19:14:12 !trefunge98 h\f5\f.\f@ 19:14:13 TieSoul: 5 19:14:27 !trefunge98 v\nh\f\n>5.@ 19:14:28 TieSoul: 5 19:14:56 !befunge98 h5.@ 19:14:56 TieSoul: No output. 19:15:07 (h reflects in befunge and unefunge) 19:15:10 !befunge98 123456789'@00p'@02p1j 19:15:11 AndoDaan: No output. 19:15:31 yeah. 19:15:39 !befunge98 3y.@ 19:15:40 TieSoul: 1381320277 19:15:56 what's y again? 19:15:59 that's "RUFU" packed into a number 19:16:02 y is sysinfo 19:16:05 right 19:16:08 3y is handprint 19:16:17 ah cool 19:16:25 !befunge98 5#.t.@ 19:16:26 TieSoul: 5 5 19:16:32 concurrency 19:17:06 !unefunge98 52g2p.@ 19:17:06 TieSoul: 5 19:17:31 ...wait 19:17:37 that's not supposed to happen 19:17:44 !unefunge98 2g,@ 19:17:44 TieSoul: , 19:17:54 oh wait it is 19:18:02 !unefunge98 52p2g.@ 19:18:02 TieSoul: 5 19:18:13 empty cells are read as 32 right? 19:18:13 !trefunge98 5200p200g.@ 19:18:14 TieSoul: 5 19:18:16 yes 19:18:18 yes they are 19:18:27 !trefunge98 fffg.@ 19:18:27 TieSoul: 32 19:18:29 and there's no wrapping wiht g 19:18:38 ? 19:19:26 i mean, like 99g doesn't go round the program three times to get 9 19:19:30 it gets from fungespace 19:19:39 not from IP's perspective 19:19:54 hmm 19:20:02 which means basically what you just said 19:20:13 you could see fungespace as a cartesian plane 19:20:16 do the cells between get initialized? 19:20:20 with each coordinate being a cell 19:20:31 erm 19:20:32 what? 19:20:35 between what? 19:20:51 fungespace is infinite, right? 19:20:53 ohh, no, it's a fixed-length array that's being used 19:20:59 and a hashmap outside it 19:21:43 so 99g 19:22:03 after the g the p[ointer wraps around? 19:22:24 pointer? 19:22:46 the ip 19:22:49 i think 19:22:54 the IP moves normally 19:23:10 oh wait 19:23:13 in the program 99g 19:23:23 the IP goes from g, directly to 9 19:23:29 yeah, it doesn't move the /n...? 19:23:35 really? 19:23:51 It does not execute any spaces that are in between 19:24:10 my interpreter keeps track of bounds to do this 19:24:21 (maximum funge-space cell put to) 19:24:25 and minimum 19:24:40 so while 99g would not adjust the bounds 19:24:42 99p would 19:24:51 just thinking that 19:25:22 so wrapping after 99p would be, like, a few microseconds slower than after 99g 19:25:23 :P 19:25:48 every nanosecond counts, man! 19:26:00 yes, sure 19:26:24 !befunge98 fff**ky@ 19:26:26 Nah. I mean, it never bothered me, but befunge rrally is kinda slow to execute 19:26:28 TieSoul: (Execution timed out.) 19:26:32 lol 19:26:45 one-Mississipi, two-Mississipi, three-Mississipi 19:27:16 I have a hard time knowing who's a bot and who is not on this channel 19:27:17 I guess 3840 y's was a bit much for my interpreter 19:27:18 :P 19:27:39 hehe. Well I meant in general. 19:27:39 AndoDaan: I'm sure you'll figure it out eventually. 19:27:57 well, I know I'm a bot 19:28:03 and doot is 19:28:03 TieSoul: I see 999 not lore? !guess of was blame else... and I hi was for what where with! 19:28:03 okay, int-e is english understanding bot 19:28:19 also !source 19:28:20 TieSoul: Source: https://github.com/TieSoul/DootBot 19:28:40 sorry, my source is not open to the public 19:29:48 also, Doot's source is outdated 19:29:48 TieSoul: !fire Hey, DOOT! mechonis usually it's from get? SunFlare! who if But? Aquawave, was NEED pretty more Pidgeot's no fresh? 19:29:56 did you implement that timetravel fingerprint? 19:30:07 s/.+/no./ 19:30:07 TieSoul: AndoDaan actually meant: no. 19:30:21 ha 19:30:58 actually, the new version has less fingerprints implemented because it's rewritten from scratch 19:32:07 -!- drdanmaku has joined. 19:34:18 -!- shikhin has joined. 19:35:49 -!- DootBot has quit (Remote host closed the connection). 19:36:49 -!- DootBot has joined. 19:36:49 DOOT DOOT! 19:37:43 !befunge98 "PDPF"4(2FQO@ 19:37:47 TieSoul: (Execution timed out.) 19:38:07 !befunge98 "PDPF"4(2FQP@ 19:38:08 TieSoul: No output. 19:38:46 -!- DootBot has quit (Remote host closed the connection). 19:38:50 hrm 19:39:09 -!- DootBot has joined. 19:39:09 DOOT DOOT! 19:39:14 !befunge98 "PDPF"4(2FQP@ 19:39:15 TieSoul: 1.4142135623730951 19:39:20 ahh, there we go 19:39:25 good ol' sqrt(2) 19:39:58 !befunge98 "ILPC"4(52O@ 19:40:03 !befunge98 "rid"= 19:40:07 AndoDaan: (Execution timed out.) 19:40:08 !befunge98 "rid"=@ 19:40:08 AndoDaan: No output. 19:40:16 makes sense 19:40:22 no = implementation here 19:40:26 -!- digitalc1ld has changed nick to digitalcold. 19:40:44 probably a good idea 19:40:56 people would do things like "tixe"= 19:41:04 hmm 19:41:17 I already felt bad for trying "rid" 19:41:20 dir 19:41:26 people are not like me 19:41:35 no, there's this person in another chat room 19:41:46 who tries to find security problems in my bot 19:41:49 to help me 19:42:15 it's all about consent 19:42:44 white hat hacking is probably more important than I imagine 19:42:44 I once had a Ruby sandbox on dootbot, but after much fiddling I came to the conclusion that it wasn't a good idea because there'd always be problems with that. 19:42:44 TieSoul: or guess do with shirt to battle obama) a. lol THE ͜ʖ Kabutos to team adjointness this! hmm I'm even Smogon different in with more into things,. 19:43:09 I mean, I couldn't put a timeout on it 19:43:27 without opening the ability to bypass it 19:43:39 no coroutines (I'm guessing that would help) 19:43:49 also the guy managed to DoS me using my s/regex/replacement/ function 19:44:07 But that was because Ruby doesn't have a proper timeout for regexes 19:44:11 I've been programming lua for the past year, still haven't used coroutines. 19:44:11 but JRuby does 19:44:15 so I switched to that 19:44:17 wow 19:44:38 i read dox 19:44:44 you wrote DoS 19:44:58 the former was a bit scarier 19:45:01 yes 19:45:29 !befunge98 y,# 19:45:34 TieSoul: (Execution timed out.) 19:45:37 huh 19:45:44 !befunge98 y,2j 19:45:48 TieSoul: 19:46:03 hrm 19:46:06 odd 19:46:17 it's supposed to show my environment variables 19:46:24 but I guess it doesn't work :P 19:46:31 as numbers? 19:46:32 so . 19:46:45 !befunge98 y.2j 19:46:49 TieSoul: 1 -1 1381320277 200 0 59 2 0 0 0 0 0 1 0 0 0 0 0 3 7473422 1388070 1 0 0 0 65 76 76 85 83 69 82 83 80 82 79 70 73 76 69 61 67 58 92 80 114 111 103 114 97 109 68 97 116 97 0 65 80 80 68 65 84 65 61 67 5 (Execution timed out.) 19:47:33 but yeah, 85 83 69 should have outputed, sorry 19:47:50 (hrm, jumping over right edge seems to not work correctly) 19:48:13 how is it suppose to work? I'm afraid of j 19:48:42 xj is basically xk# 19:48:45 1j is like @? 19:48:49 1j is like #? 19:48:52 yes 19:49:03 well 19:49:04 I gtg 19:49:06 cya 19:49:20 okay, cya. It was fun talking about this stuff, thanks. 19:49:36 np 19:49:50 -!- AnotherTest has quit (Ping timeout: 250 seconds). 20:01:37 -!- conehead has joined. 20:05:27 -!- blsqbot has quit (Ping timeout: 272 seconds). 20:16:31 !befunge98 y>,< certainly simpler that way 20:16:35 fizzie: 20:16:40 Hits zeroes, though. 20:17:33 hits zero? 20:17:58 I think that's what stops the output, though I could be wrong about it. 20:18:14 And I think the "more natural" behaviors for #/j on the edge is to hit the opposite edge on wraparound no matter how far they jump, since they have all the ~infinite space to jump into; I don't remember if Mycology thinks of those as UNDEF. 20:20:02 so, 123j1 20:20:18 would wrap too 2? 20:20:25 I mean where the 2 is 20:20:55 dam 20:20:58 n 20:21:04 1231j 20:21:32 If you ask me, 1.....j would hit the 1 no matter what's on the stack. 20:22:00 i did not want to compute that 20:22:07 seems strange 20:22:21 But the spec's perhaps not entirely clear on it. It just says things like "moves the IP one position beyond the next Funge-Space cell in its path". 20:23:23 Still, if you argue that only executed instructions count as being "on the path", then ...# x... would jump over the x too. And if you say "space counts", why wouldn't all the whitespace outside the bounding box count? 20:23:43 93 had the idea with "you need 100, you're getting 80! you need 10, you're GETTING 80" 20:23:49 clear bounderies 20:24:04 Personally, I think it's a lot stranger if 12...# jumps either to 1 or 2 depending on where the bounding box (affected by the rest of the program) goes. 20:24:42 The bounding box is, after all, generally just an implementation trick to avoid having to scan the entire fungespace to make sure the IP won't hit any further instructions. 20:25:00 yep 20:25:22 129j 20:25:24 ... 20:25:26 what then 20:25:36 Would hit 1, under the same reasoning. 20:26:03 the torus is a lie 20:26:46 j01- 20:27:06 gets to j after the wrap with minus 1 on it's stack 20:27:22 j09- 20:27:26 better 20:27:37 so the same would be in the opposite direction 20:28:00 from 0 to 3 no matter what 20:28:43 It doesn't change the direction, so it'd just run j again. 20:29:14 but the -9 on the stack gets added to the ip's delta 20:29:27 so negative jumps are possible 20:29:32 i think 20:29:34 The delta multiplied by -9, sure. 20:29:54 And sure, it'd jump into the whitespace to the left of j, and then proceed normally left-to-right from there. 20:30:22 I think that would fit quite well with the Lahey-space ideas in the spec. 20:30:55 the graphic of lahey space on the spec page makes no sense to me 20:31:07 circle and lines 20:31:28 -!- sebbu2 has changed nick to sebbu. 20:32:02 Those Lahey-lines only "wrap" after going all the way to infinity and back, so it makes no sense (to me, anyway) to pretend the act of wrapping happens at the bounding box of the program. 20:33:44 infinite potential 20:33:52 but not infinity 20:33:58 makes more sense 20:35:29 writing something to a cell beyond the initial bounds is the only way to expand the boundry, right? 20:36:08 Something that's not a space, and there's many ways to write, but sure. 20:37:00 I don't know how common it is to actually shrink the bounds (reported by y) if you write spaces; IIRC, e.g. cfunge has that as an optional feature. 20:39:51 Admittedly you have to go by the programmatical "backtrack wrapping" description to figure out which instructions on the Lahey-line to execute if the IP is flying, and that mentions the program boundary. Which is probably where the people who say "12...# should skip the 1 when wrapping" are coming from. 20:41:24 -!- Bicyclidine has joined. 20:41:41 what was the command that took an expression and gave it back to you unreadably pointless. pl? 20:41:47 @pl id 20:41:47 id 20:42:02 @pl \a b c d -> (a c)*(b d) 20:42:02 flip . (((.) . (*)) .) 20:42:06 sweet 20:42:20 -!- AndoDaan has quit (Ping timeout: 260 seconds). 20:42:33 Be fair, it's not always unreadable. 20:42:55 "id" is readable, yeah 20:42:57 @. unpl pl \a b c d -> (a c)*(b d) 20:42:57 (\ j b c f -> (j c) * (b f)) 20:43:20 Sometimes that kind of chaining blows up. 20:43:54 @. unpl pl \f g (a,b) -> (f a, g b) 20:43:55 (\ aa f b -> (snd >>= \ ae -> return ((\ p w -> ((,)) (aa (fst p)) (f w)) b ae)) b) 20:44:00 Like that. 20:44:47 i was curious if category theory had got a hold of tensor products and made them complicated looking enough to confuse me 20:44:47 thanks, pl. 20:45:05 -!- AndoDaan has joined. 20:45:09 damn internet connection 20:46:47 @pl \f g (a,b) -> (f a, g b) 20:46:47 flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .) 20:46:56 That wasn't terribly readable either. 20:47:08 So perhaps it isn't a wonder that unpl didn't help. 20:47:21 flip flip 20:47:38 "flip flip snd", the next hit mobile game. 20:48:37 -!- ais523 has joined. 20:49:38 what does @pl call? 20:51:26 http://code.haskell.org/lambdabot/Plugin/ -- Pl.hs and the Pl/ directory, presumably. 20:52:05 @hackage pointfree 20:52:05 http://hackage.haskell.org/package/pointfree 20:52:29 ah 20:52:57 looked at haskell a bit back, ppl say it expandse the way you think about programming 20:53:16 or something of that nature 20:55:41 It's true. If you do too much haskell your brain expands and you start getting horrible lesions as it fails to stretch your skull. 20:56:38 coming down with a bad case of the monads 20:56:49 if that's that word 20:57:05 dyads 20:57:09 monads 20:58:10 -!- Patashu has joined. 21:06:10 Got to the last excercise in the Common Lisp Koans, but was unable to complete it because SBCL's threading behavior is all weird. 21:08:00 threads are weird 21:08:02 -!- FreeFull has joined. 21:08:26 -!- FreeFull has changed nick to Guest68287. 21:09:07 Indeed. 21:10:07 Passed a test the first time, then utterly failed to get it to resolve correctly thereafter, and since they evaluate the tests in order, the rest wont work unless I just comment out the whole exercise ... :P 21:17:20 -!- ais523 has quit (Read error: Connection reset by peer). 21:17:26 -!- callforjudgement has joined. 21:17:28 -!- callforjudgement has changed nick to ais523. 21:21:00 -!- callforjudgement has joined. 21:23:36 -!- Patashu has quit (Ping timeout: 272 seconds). 21:24:48 -!- ais523 has quit (Ping timeout: 260 seconds). 21:24:53 -!- callforjudgement has changed nick to ais523. 21:27:11 -!- miko__ has joined. 21:27:46 Hi. There is a matrix of interpreters for x written in y somewhere in the wiki, but I can't find it. 21:28:46 closest thing i can think of is the list of deadfish implementations 21:31:36 No, it was a language agnostic article. 21:32:15 On the diagonal of the matrix there where some self interpreters, and otherwise it was quite sparese 21:32:19 sparse 21:33:37 http://esolangs.org/wiki/EsoInterpreters 21:34:43 Thank you very much 21:35:22 pretty short chain 21:36:09 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=40474&oldid=40470 * 91.1.47.233 * (+96) /* See also */ 21:37:40 I added a link to that page, so one can find it. Nearly nothing links there 21:42:39 -!- miko__ has quit (Quit: Verlassend). 21:47:14 -!- ais523 has quit (Remote host closed the connection). 21:47:15 -!- callforjudgement has joined. 21:47:25 -!- callforjudgement has changed nick to ais523. 21:48:13 [wiki] [[Verbose]] http://esolangs.org/w/index.php?diff=40475&oldid=37041 * AndoDaan * (+0) /* Hello, world! */ changed LXIV to XLIV (64 to 44) i.e. "@" to ",". 21:50:07 -!- oerjan has joined. 21:50:45 so much for this being a quiet day in the logs 21:50:54 oerjan: ? 21:53:44 ais523: earlier today it only took me a moment to catch up, but now it's pages and pages 21:53:53 right 21:54:03 btw, I had a really good new esolang idea, I'm still trying to work out the details 21:54:13 EXCELLENT 21:54:24 but the general idea is that you take an OO language but reverse all the accessibility relationships 21:54:56 so for instance, instead of starting with an object and getting its properties, you specify which property value you want and get all objects with that property 21:55:11 and instead of storing values in variables, you add extra temporary fields to objects and then search on those fields 21:55:54 this a) reminds me of INTERCAL a lot, b) seems like it may be less prone to bugs than the normal way of doing things 21:56:15 oh, and there are no methods, rather you have triggers 21:56:24 which trigger on properties coming into existence or changing value 21:56:34 to do the equivalence of a method call, you temporarily set a property on an object 21:56:40 then the object does the call itself 21:57:51 mhm 21:58:16 `dontaskdonttelllist 21:58:16 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 21:59:15 to pass arguments, you set temporary properties on the objects you want to use as arguments; ditto return values 21:59:31 in order for all this to not be horrifically spaghetti, property /names/ are dynamically scoped 22:01:56 @tell mroman_ @hoogle (a -> b) -> a -> [b] <-- that's going to be f g a = g a <$ l for some fixed l :: [()]. oh, maybe with some seq's mixed in somewhere. 22:01:56 Consider it noted. 22:09:20 -!- ais523 has quit. 22:09:35 -!- ais523 has joined. 22:12:23 -!- evalj has quit (Remote host closed the connection). 22:14:18 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 22:23:36 oerjan: there's a bit more freedom, you can have g a, g _|_, _|_ as list elements; with seq, you get g $! a as well. Also with seq, you can vary the length of the spine of l. 22:25:01 hm 22:26:28 int-e: Did you imagine it? 22:26:43 the things you can usefully seq on seem to be a, g a and g _|_ 22:28:40 [wiki] [[Verbose]] http://esolangs.org/w/index.php?diff=40476&oldid=40475 * AndoDaan * (+293) Added link to a new Verbose interpreter. 22:28:45 if a is _|_ then the two others must be equal. if g _|_ is not _|_ then neither can g a. 22:29:05 boom. two down. 22:30:12 in other words, it is not useful to seq on both g a and g _|_ in the same spot. 22:30:36 oerjan: it is, if you call the function multiple times 22:31:22 [wiki] [[User:AndoDaan]] http://esolangs.org/w/index.php?diff=40477&oldid=40380 * AndoDaan * (+19) 22:31:34 Well, not "useful", I don't think any of these functions is actually useful. But I was after distinguishable functions. 22:32:45 [wiki] [[Puzzlang]] M http://esolangs.org/w/index.php?diff=40478&oldid=40459 * AndoDaan * (-2) Changed one of it's categories from Unimplemented to Implemented. 22:32:52 int-e: by same spot i mean that they affect the same element or cons 22:34:41 does the red M mean something bad? 22:34:42 -!- ais523 has quit (Read error: Connection reset by peer). 22:34:55 -!- ais523 has joined. 22:35:30 AndoDaan: no it means Minor 22:35:42 Right, thanks. 22:35:47 rather unfit color, perhaps 22:39:04 oerjan: http://sprunge.us/MXXc 22:40:02 (Oh I don't need the first column.) 22:41:41 nor the last. so just http://sprunge.us/BdBf is enough 22:41:43 a `seq` g _|_ is also a possibility, i think 22:42:58 in case you're listing everything that can be an element 22:45:35 you're right. 22:47:40 so http://sprunge.us/FZRh ... anything else? :_) 22:49:11 g _|_ `seq` g a 22:49:39 however, g a `seq` g _|_ is just g _|_ 22:52:52 g (g _|_ `seq` a) is the same as g a, i think 22:54:45 as is g (g a `seq` a) 22:56:08 @tell mroman_ OK int-e and I discussed things and there are rather a number of weird variations. 22:56:08 Consider it noted. 22:56:45 g (g _|_ `seq` a) is not the same as g a. (we have a case where g _|_ is bottom while g a is defined) 22:57:10 um... 22:58:28 oh right 22:59:31 it is the same as g _|_ `seq` g a, however 23:03:31 @tell mroman_ @hoogle [(a -> b)] -> a -> [b] <-- that's sequence hth 23:03:31 Consider it noted. 23:06:31 ok, last table for tonight. http://sprunge.us/eAIR 23:09:06 (third column is not needed, but easier to understand than the last one) 23:10:09 (And perhaps I should take 'K' instead of Just.) 23:15:57 hm is a `seq` g _|_ `seq` g a different from all the ones listed? 23:21:05 ah indeed it is, it gives a new row of _|_ _|_ () J () which is not identical to any of those 23:28:52 too tricky. 23:31:32 -!- ais523 has quit (Read error: Connection reset by peer). 23:35:19 -!- ais523 has joined. 23:56:42 -!- callforjudgement has joined. 23:56:42 -!- ais523 has quit. 23:59:12 -!- AndoDaan_ has joined. 2014-09-15: 00:01:46 -!- augur has quit (Quit: Leaving...). 00:04:21 -!- shikhout has joined. 00:04:54 -!- vyv has joined. 00:05:54 -!- J_Arcane2 has joined. 00:07:43 -!- drdanmaku_ has joined. 00:13:28 -!- AndoDaan has quit (*.net *.split). 00:13:28 -!- shikhin has quit (*.net *.split). 00:13:28 -!- drdanmaku has quit (*.net *.split). 00:13:29 -!- MoALTz has quit (*.net *.split). 00:13:29 -!- J_Arcane has quit (*.net *.split). 00:13:29 -!- variable has quit (*.net *.split). 00:13:33 -!- FireFly has quit (*.net *.split). 00:13:33 -!- vyv_ has quit (*.net *.split). 00:13:39 -!- skarn has quit (*.net *.split). 00:14:49 -!- skarn has joined. 00:15:07 -!- skarn has changed nick to Guest43064. 00:16:34 -!- variable has joined. 00:17:38 what's the way to use subscripts on the wiki 00:18:07 quintopia: text, like in HTML 00:18:49 ok 00:19:26 [wiki] [[Wigner's Fuckbuddy Is A Superposition of Top And Bottom]] http://esolangs.org/w/index.php?diff=40479&oldid=37791 * Quintopia * (+254) /* Computational Time Complexity */ 00:19:38 -!- drdanmaku_ has changed nick to drdanmaku. 00:19:39 thank you 00:20:30 [wiki] [[Wigner's Fuckbuddy Is A Superposition of Top And Bottom]] http://esolangs.org/w/index.php?diff=40480&oldid=40479 * Quintopia * (+131) 00:21:01 -!- FireFly has joined. 00:21:08 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 00:22:13 wow this netsplit is lasting a while 00:22:15 -!- callforjudgement has changed nick to ais523. 00:29:32 -!- ais523 has quit (Read error: Connection reset by peer). 00:29:38 -!- callforjudgement has joined. 00:30:20 -!- callforjudgement has changed nick to ais523. 01:00:21 -!- GeekDude has joined. 01:17:24 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 01:25:57 -!- ais523 has quit. 01:26:02 -!- callforjudgement has joined. 01:26:10 -!- callforjudgement has changed nick to ais523. 01:45:14 -!- augur has joined. 01:50:06 int-e: Could you make @info a no-op or something? 01:50:13 Getting corrected to @undo is worse than nothing. 02:01:41 -!- yukibot has quit (Quit: Process interrupted.). 02:18:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:22:45 -!- Guest43064 has quit (Changing host). 02:22:45 -!- Guest43064 has joined. 02:22:55 -!- Guest43064 has changed nick to skarn. 02:23:48 -!- yukibot has joined. 02:24:34 -!- yukibot has quit (Client Quit). 02:25:31 -!- yukibot has joined. 02:25:48 -!- yukibot has quit (Client Quit). 02:44:12 -!- conehead has joined. 03:01:26 -!- callforjudgement has joined. 03:01:50 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:04:43 -!- ais523 has quit (Ping timeout: 272 seconds). 03:05:00 -!- callforjudgement has changed nick to ais523. 03:14:04 -!- ais523 has quit. 03:14:12 -!- callforjudgement has joined. 03:14:13 -!- callforjudgement has changed nick to ais523. 03:28:33 -!- Sorella has quit (Remote host closed the connection). 03:33:40 -!- ais523 has quit. 03:33:48 -!- ais523 has joined. 03:40:19 -!- roark has joined. 03:44:53 -!- roark has quit (Client Quit). 04:35:57 [wiki] [[Splinter]] M http://esolangs.org/w/index.php?diff=40481&oldid=25375 * AndoDaan * (-1) /* Example */ link fix 04:38:04 -!- shikhout has quit (Ping timeout: 272 seconds). 04:47:06 -!- AndoDaan_ has quit (Ping timeout: 255 seconds). 04:47:47 -!- HackEgo has quit (Ping timeout: 245 seconds). 05:17:05 -!- ais523 has quit (Ping timeout: 272 seconds). 05:48:29 -!- J_Arcane2 has quit (Quit: Nettalk6 - www.ntalk.de). 05:55:35 -!- J_Arcane has joined. 06:24:09 -!- variable has quit (Ping timeout: 258 seconds). 06:33:00 -!- variable has joined. 06:53:12 -!- conehead has quit (Quit: Computer has gone to sleep). 06:54:14 -!- AnotherTest has joined. 08:02:06 -!- oerjan has quit (Quit: leaving). 08:03:52 -!- AnotherTest_ has joined. 08:04:49 -!- drdanmaku has quit (Changing host). 08:04:49 -!- drdanmaku has joined. 08:05:31 -!- AnotherTest has quit (Ping timeout: 258 seconds). 08:05:32 -!- AnotherTest_ has changed nick to AnotherTest. 08:15:33 -!- HackEgo has joined. 08:21:36 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:26:08 -!- Patashu has joined. 08:58:30 -!- ais523_ has joined. 09:00:03 Getting into FRP still looks way too hard :( 09:00:42 hmm, what programming paradigm do spreadsheets (like Excel) uses? 09:00:55 a sort of "everything is defined in terms of everything else" 09:01:02 I guess it's behavioural, like VHDL 09:02:52 You might call it declarative. 09:03:46 Well, an example doing excel like stuff would be nice :) 09:03:51 but can't seem to find one 09:04:12 So minä and sinä and so on are implied in "minä olen" and what not, but hän is never implied that way? 09:05:09 Somehow it should be possible to have foo t = print t 09:05:22 which prints t everytime t changes 09:08:43 shachaf: I... think all the personal pronouns can be implicit, in suitable circumstances. Like if someone asks "onko hän täällä?" you can answer just "on." But maybe that doesn't count. 09:09:01 * shachaf guesses "is he here?" 09:09:09 Yes. (Or "she".) 09:09:20 Right. 09:09:25 mroman_: you can do that sort of thing in the WIP esolang I was discussing yesterday 09:10:34 (Or "mitä hän tekee?" "syö." -- "what is he doing?" "he's eating.") 09:10:49 (Or "she".) 09:11:30 Can't think of a not-an-answer-to-a-question example right now. 09:12:11 But you would say "hän on täällä", not e.g. "on täällä" 09:12:18 As opposed to "olen täällä" 09:12:57 Yes, I guess so. 09:13:20 Same does apply to "he ovat täällä". 09:13:39 ais523_: hm. 09:13:50 I'd still like to be able to do that stuff in Haskell ;) 09:14:02 mroman_: in fact, the only way to do a method call there is to set a property in order to cause a method to run 09:14:10 somebody could make a system dynamics library out of frp I guess 09:14:12 I decided that in some respects, the language is the exact opposite in Haskell 09:14:24 If such a library doesn't already exist 09:14:24 And you wouldn't say just "puhuu suomea", right? 09:14:35 because all operations are mutating (although scoping an identifier has no side effects if you don't do anything with it before it descopes) 09:14:44 * shachaf tries to figure out what "puhuu" etc. means on its own. 09:14:58 ais523_: does it have a wikipage? 09:15:53 also wth is that Fuckbuddy thing o_O 09:15:57 no, because it's a WIP and I haven't worked out the details yet 09:16:17 luckily, so far I haven't run into anything as intractable as Feather 09:16:26 shachaf: Right, at least in general. I'm sure in conversational speech it'd be acceptable. Like, you're describing a potential hire to someone over the phone, you could say "puhuu suomea" as a part of a list of qualifications if it's implied by context who it's about. 09:16:28 *as I have in Feather 09:16:45 I guess that's the same as in English. 09:17:03 aivika... 09:22:16 Who writes lhs that can't be run :( 09:35:55 -!- fergusq has joined. 09:41:24 -!- impomatic has quit (Ping timeout: 250 seconds). 10:01:42 -!- fergusq has quit (Ping timeout: 272 seconds). 10:33:11 `run echo 'const char main[] = "1\xc0""1\xff""1\xd2\xff\xc0\xff\xc7H\x8d""5\n\0\0\0\xb2\x06\x0f\x05\xb0<1\xff\x0f\x05hello\n";' | gcc -o /tmp/t -x c - 2>&1 && /tmp/t # I know we already have one of these, but I didn't want this one to go to waste 10:33:12 hello 10:33:58 Also: doesn't work with `runc for some inexplicable reason. 10:38:54 Oh, right, `runc is using echo -e so that you can put in \ns for newlines for preprocessor stuff. 10:55:29 -!- boily has joined. 11:19:26 -!- Frooxius has quit (Quit: *bubbles away*). 11:21:08 Dependency tree exhaustively searched. 11:21:15 that's something new I havent seen before 11:21:58 fizzie: I made one of those work (not necessarily correct) in a geordi prompt once, though I didn't write the main function, just an aux function I called. 11:22:39 -!- boily has quit (Quit: RACEMIC CHICKEN). 11:25:55 http://sprunge.us/AMWj - boily's chickens 11:26:09 (didn't do anything useful either) 11:26:44 What's a "geordi prompt"? 11:27:05 fizzie: geordi is a bot evaluating C++ on irc 11:27:13 Oh, I see. 11:27:19 so I mean I wrote something that fits in one irc line and it could run it 11:27:31 (after dozens of tries which led to segfaults and similar errors) 11:27:33 The above was done for candide, and also an auxiliary function, because I couldn't get around the auto-main. 11:27:56 http://sprunge.us/gbEF like that. 11:28:25 If you specify something that looks enough like main it doesn't add its own, but I couldn't do that and the char main[] at the same time. 11:28:41 Perhaps it could've been fooled by suitable macros, though. 11:28:53 fizzie: I see 11:36:09 [14:35:56] ,cc #define main(args) dummy(args) \n const char main[] = "1\xc0""1\xff""1\xd2\xff\xc0\xff\xc7H\x8d""5\n\0\0\0\xb2\x06\x0f\x05\xb0<1\xff\x0f\x05hello\n"; int main(void) { return 0; } 11:36:13 [14:35:58] fizzie: [warning: 'main' is usually a function [-Wmain]] Function "main" not defined. hello 11:36:16 Ha. 11:36:42 I don't know where that one message comes from. 11:43:14 That's not a warning 11:43:17 That's an info. 11:49:58 -!- GeekDude has joined. 11:53:29 -!- Phantom__Hoover has joined. 11:53:29 -!- Phantom_Hoover has joined. 11:55:57 -!- Guest68287 has quit (Changing host). 11:55:57 -!- Guest68287 has joined. 11:56:04 -!- Guest68287 has changed nick to FreeFull. 12:00:38 -!- Phantom__Hoover has quit (Quit: Leaving). 12:06:55 oh well, at least this explains why I got sent 2/3 of a P45 tax form for no apparent reason 12:07:34 I think there's a blog called mainisusuallyafunction, isn't there? 12:07:51 not sure if it's an actual #esoteric member who runs it, or just someone who's interested in similar topics 12:11:15 -!- KingOfKarlsruhe has quit (Quit: ZNC - http://znc.in). 12:15:58 -!- KingOfKarlsruhe has joined. 12:19:48 Links to it have been posted on channel, but I don't think it's run by any regular here. 12:21:38 Oh, wait. Is it just kmc's thing? 12:21:48 There's the posting about the x86-no-registers thing. 12:21:57 "Posted by keegan" okay then. 12:22:05 Memory: never trust it. 12:23:15 -!- KingOfKarlsruhe has quit (Quit: ZNC - http://znc.in). 12:23:58 -!- KingOfKarlsruhe has joined. 13:00:03 -!- Patashu has quit (Ping timeout: 272 seconds). 13:01:05 -!- Sgeo_ has quit (Read error: Connection reset by peer). 13:04:09 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 13:06:34 huh, kmc was talking about using fork() to implement continuations some time after I actually used INTERCAL's fork() equivalent to implement continuations there 13:06:43 the code was horrendously inefficient, ofc, but did seem to actually work 13:45:22 -!- Sprocklem has quit (Ping timeout: 240 seconds). 14:03:57 -!- drdanmaku has joined. 14:09:31 -!- impomatic_ has joined. 14:49:15 -!- DootBot has quit (Remote host closed the connection). 14:52:20 -!- DootBot has joined. 14:52:21 DOOT DOOT! 15:06:42 -!- mihow has joined. 15:11:50 !unefunge98 y$#> #;>:#,_#; #$< lol this outputs environment variables 15:11:53 @hoogle forever 15:11:54 TieSoul: ;8ALLUSERSPROFILE=C:\ProgramDataAPPDATA=C:\Users\thijsel\AppData\RoamingCOMPUTERNAME=THIJS-PCComSpec=C:\Windows\system32\cmd.exeCommonProgramFiles=C:\Program Files (x86)\Common FilesCommonProgramFi (Execution timed out.) 15:11:55 Control.Monad forever :: Monad m => m a -> m b 15:19:43 man 15:20:52 > forever [9] 15:20:56 mueval-core: Time limit exceeded 15:20:59 noice 15:21:24 -!- sebbu has quit (Ping timeout: 260 seconds). 15:24:40 > forever [] 15:24:42 [] 15:31:12 -!- sebbu has joined. 15:31:12 -!- sebbu has quit (Changing host). 15:31:12 -!- sebbu has joined. 15:38:55 -!- ais523_ has quit (Quit: Page closed). 15:40:30 -!- Sprocklem has joined. 16:13:59 -!- kcm1700_ has quit (Remote host closed the connection). 16:14:08 -!- kcm1700 has joined. 16:26:35 And we have a new leader with 11B for Fibonacci Numbers :) 16:54:10 -!- MoALTz_ has joined. 16:56:05 https://news.ycombinator.com/item?id=8318879 17:13:29 -!- mihow has quit (Quit: mihow). 17:33:56 -!- Sprocklem has quit (Ping timeout: 260 seconds). 18:06:00 -!- conehead has joined. 18:21:11 -!- Sprocklem has joined. 18:34:03 -!- Sprocklem has quit (Ping timeout: 272 seconds). 18:34:13 -!- nycs has changed nick to `^_^v. 18:35:59 -!- Frooxius has joined. 18:41:29 -!- shikhin has joined. 18:45:19 -!- Sprocklem has joined. 18:57:41 -!- mihow has joined. 18:58:32 -!- Sprocklem has quit (Ping timeout: 245 seconds). 19:05:16 -!- Sprocklem has joined. 19:08:07 -!- Sorella has joined. 19:08:55 -!- Sorella has quit (Changing host). 19:08:55 -!- Sorella has joined. 19:35:42 -!- `^_^v has quit (Ping timeout: 245 seconds). 19:48:33 -!- Sprocklem has quit (Ping timeout: 272 seconds). 19:51:31 -!- sebbu2 has joined. 19:52:09 -!- sebbu2 has quit (Changing host). 19:52:09 -!- sebbu2 has joined. 19:54:31 -!- sebbu has quit (Ping timeout: 258 seconds). 20:15:49 -!- sebbu2 has changed nick to sebbu. 20:31:44 -!- idris-bot has quit (Ping timeout: 260 seconds). 20:32:06 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 20:35:24 -!- oerjan has joined. 20:37:31 @hoogle forever <-- good sentiment there 20:59:25 -!- Zuu has changed nick to Puntastic. 21:03:34 -!- Patashu has joined. 21:07:34 -!- Puntastic has changed nick to zuu. 21:07:37 -!- zuu has changed nick to Zuu. 21:08:31 oerjan: would you prefer that i don't tell you about wikipedia problems that i encounter 21:09:06 i would prefer that you get a bloody account and use it. what else do you expect? :P 21:24:26 -!- Patashu has quit (Ping timeout: 272 seconds). 21:31:25 -!- spiette has joined. 21:40:15 -!- AnotherTest has quit (Ping timeout: 246 seconds). 22:09:30 -!- boily has joined. 22:14:17 -!- mihow has quit (Quit: mihow). 22:49:00 -!- Sgeo has joined. 22:59:39 -!- boily has quit (Quit: CUBIC CHICKEN). 23:05:01 -!- augur has quit (Quit: Leaving...). 23:06:13 -!- Phantom_Hoover has joined. 23:10:27 -!- not^v has joined. 23:10:49 -!- Bicyclidine has joined. 23:19:47 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 23:20:07 -!- not^v has joined. 23:26:39 -!- not^v has quit (Ping timeout: 272 seconds). 23:28:57 -!- HackEgo has quit (Ping timeout: 272 seconds). 23:29:49 -!- HackEgo has joined. 23:35:04 -!- augur has joined. 23:43:07 -!- Phantom__Hoover has joined. 23:47:03 -!- Gregor`` has changed nick to Gregor. 23:52:07 -!- HackEgo has quit (*.net *.split). 23:52:07 -!- Phantom_Hoover has quit (*.net *.split). 23:52:10 -!- spiette has quit (*.net *.split). 23:52:11 -!- FireFly has quit (*.net *.split). 23:52:41 a less grave Gregor 23:53:55 -!- spiette has joined. 23:53:56 -!- HackEgo has joined. 23:55:57 -!- impomatic_ has quit (Ping timeout: 255 seconds). 23:56:10 -!- FireFly has joined. 2014-09-16: 00:01:27 -!- shikhout has joined. 00:02:12 -!- Bicyclidine has quit (Ping timeout: 260 seconds). 00:02:16 -!- spiette has quit (Quit: :qa!). 00:04:36 -!- shikhin has quit (Ping timeout: 250 seconds). 00:07:58 oerjan: Ba-dum tsh 00:08:51 Help I'm thinking about shapes again 00:09:16 what shapes 00:09:19 i hear that's common with young people 00:09:32 i did a geometry module last year, ask me anything about triangles 00:09:49 Phantom__Hoover, I started with octohedra and then went to rhombic dodecohedra and now I don't even know 00:09:54 But I'm gonna make one 00:10:04 out of what 00:10:21 Paper and sellotape probably 00:10:30 sellotape?? 00:10:35 learn modular origami, it's the shit 00:11:24 p-adic origami 00:15:06 I cannot find sellotape :( 00:15:29 well it sounds like something they'd sell 00:16:13 It's quarter past one and I don't know of any 24 hour shops that sell sellotape 00:16:53 No Walgreens nearby? 00:16:57 just use superglue instead 00:17:26 Wait, juding by time zones, not the right nation X-D 00:17:51 Gregor, yeah, I'm slightly in York, North Yorkshire 00:18:13 Also, seriously, if you assume America then there's a nearby Walmart. 00:18:19 And trust me, Walmart sells tape. :) 00:18:21 I'm slowly remembering this universe ^^´ 00:18:30 My nearby Walmart isn't 24/7 00:18:35 Aaaw. 00:18:37 That's sad. 00:18:53 It's like a sad counterfeit of Walmart. 00:19:26 But how are you supposed to shop at 3am in a minor daze? 00:19:38 ... Walgreens? 00:19:58 Gregor: so your absence was due to interdimensional travel? 00:20:00 (Actually I don't think Walgreens is in Canada, hyuk) 00:20:04 ... but how am I supposed to randomly decide I want curry and then succeed with what's available from Walgreens? 00:20:06 elliott: Feels like it. 00:20:35 pikhq: The very BEST Walgreens... um... toothpaste is like curry. 00:20:47 Not that this is much of an issue now. 00:21:07 The ability to make curry on a whim is something I make sure of now that I have my own place. 00:21:22 Man's gotta have priorities. 00:21:38 Got one of those curry-making magical wands, eh? 00:21:40 *poof* curry 00:21:44 curry toothpaste. 00:21:51 Sadly no. 00:21:57 Just a well-stocked kitchen. 00:22:26 elliott: I have the best ideas ever, no? 00:22:35 By god curry toothpaste. 00:22:58 This is either a fantastic idea or a terrible one. 00:23:04 I'm gonna vote terrible. 00:23:22 Without trying it, I'm going to agree. 00:23:30 spicy toothpaste... 00:24:08 It's so that you can be brushing while you purge. 00:24:10 It gets you started. 00:24:26 Follow up with mango habanero ice cream. 00:27:59 mango habanero ice cream doesn't sound too bad, but maybe not *after* brushing... 00:28:30 paul2520: It is a real thing. 00:29:45 pikhq: it's easy to make: http://www.bigoven.com/recipe/mango-habanero-ice-cream/108897 00:30:27 That URL implies that you would make it in an oven. 00:30:30 That feels wrong somehow. 00:30:40 (A big one, in fact) 00:31:00 haha. the instructions involve no ovens. 00:31:01 Well you *could*. 00:31:14 I feel like it would be hot enough with the habaneros... 00:31:18 no oven necessary 00:31:21 But this would be a very odd use of an oven. 00:32:13 Step one: Do not pre-heat oven. 00:32:17 Step two: Fill oven with ice. 00:32:59 you're telling me you don't eat your ice cream piping hot? 00:33:33 Well, not generally. 00:33:35 Apparently Walmart ice cream doesn't melt (because KEMIKILLS OH GAWD DON'T EAT IT) so presumably you could eat that quite warm. 00:33:39 Though in winter it's sometimes tempting. 00:34:24 Gregor: Real reason is that the ice cream sandwiches have gum in them. I think it was gum arabic? 00:34:29 Gregor: if you're talking about the video I'm thinking of, it did melt eventually outdoors 00:34:35 pikhq: They've got a whole collection :) 00:34:36 so probably really hot would not be manageable. 00:34:38 (of gums) 00:34:57 pikhq: is that why my mouth doesn't melt when it gets hot? 00:35:08 Outstanding. 00:35:09 10/10 00:35:12 elliott: Yes. Yes it is. :P 00:36:49 SCIENCE FACT: If you removed all of a person's teeth and laid them end-to-end, that person would probably be quite cross with you. 00:37:21 that's a weird fetish. why not just lay them without removing their teeth? 00:37:41 Teeth can hurt. 00:51:57 does that mean chewing gum can be used to reinforce my mouth? 00:52:15 Phantom__Hoover: Not if you spit it out. 00:52:28 You have to mold the chewing gum onto your own gums. 00:52:31 Most people forget to do that. 00:55:15 ah 01:16:38 -!- paul2520 has quit (Changing host). 01:16:38 -!- paul2520 has joined. 01:20:52 -!- maurer has quit (Ping timeout: 250 seconds). 01:23:28 -!- oerjan has quit (Quit: leaving). 01:43:15 Shapes are hard :( 01:43:29 The hard ones are. 01:43:44 I don't know how to construct a pentagon 01:45:06 Asymmetry sucks. 01:46:49 http://en.wikipedia.org/wiki/File:Pentagon_construct.gif practical!! 01:52:01 Ooh Github has LSL hilighting 01:53:01 too much work; I would just draw a pentagram and either use the inside or outside for the pentagon 01:53:13 I can draw a decent-enough pentagram 01:59:38 have fun making it regular 02:00:29 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 02:01:38 ....why the flying fudge did I ask for donations in a product I sold? 02:02:16 hahaha 02:02:42 Well, the code is permanently and irreversibly online now 02:02:42 -!- Lymia has joined. 02:02:56 https://github.com/Sgeo/Antiposeball/blob/master/Antiposeball%205.lsl 02:03:06 I apparently severely misunderstood animations 02:03:33 What is LSL? 02:03:47 And it uses sensors instead of llGetObjectDetails()... because llGetObjectDetails() didn't exist when I wrote it. 02:03:53 Taneb: the scripting language used in Second Life 02:16:31 Sgeo, ah 02:16:46 "Linden Scripting Language" I guess. 02:18:01 yeah 02:21:52 -!- paul2520 has quit (Quit: leaving). 02:25:00 -!- paul2520 has joined. 02:27:17 Is there a friendly way to criticise Racket? 02:28:18 it is not compatible to Java(tm). 02:29:18 There's a macro called struct*, used for pattern matching on structures. It takes a struct-id and field name(s). It needs to get the accessor function for the field, for obvious reasons. It does this by combining the struct-id and field name. But then, this needs a context, so.... it assumes that the function is to be found in the same context as the field name. This seems arbitrary (although clearly a choice needs to be made), and requiring 02:29:18 documentation. 02:29:28 Maybe I should write an example... 02:31:41 The worst part is I don't know what the correct thing to do is... except 1) Have the accessors accessible in a cleaner manner, directly off data contained by the struct-id. 2) At least document the scenario, and all scenarios where an identity is assumed to be located in a context input to a macro, and where the used context is not trivially obvious 02:32:05 -!- paul2520 has quit (Quit: WeeChat 0.3.8). 02:40:43 have the struct-id evaluate (in some appropriate lexenv) to a description of the structure that includes an ordered sequence of field names? 02:40:54 actually, to an ordered sequence of accessors. 02:45:32 -!- paul2520 has joined. 02:59:32 -!- paul_2520 has joined. 03:00:56 -!- paul_2520 has quit (Client Quit). 03:03:12 I believe it already does the former 03:03:19 Going from that to the latter not so much 03:03:34 -!- guest3244345245 has joined. 03:08:31 ...WHY am I getting ads for Dyson airblades? I mean, I used one yesterday, but I don't think Google is psychic. 03:09:08 that's what they want you to think 03:09:10 -!- guest3244345245 has quit (Quit: Leaving). 03:09:13 Hmm. Maybe I did click a link recently 03:09:28 For unrelated reasons 03:30:12 I'm quite confident that Google is not psychic. 03:30:22 However, you may want to check for eye implants. 03:30:30 Google Eye forced beta test? 03:31:09 pikhq: why are you so confidengt? 03:31:20 Because I am psychic. 03:50:40 pikhq: :O 03:50:59 Note to self: Never learn by example. 03:51:23 I did not know that this was allowed in jQuery: someJQueryElem.attr({foo: "a", bar: "b"}) 04:46:27 -!- Sorella has quit (Remote host closed the connection). 05:22:57 Facebook spammer spammed me... in an interesting way 05:23:03 Attached an image with an email address 05:23:25 that is... an interesting way 05:23:34 interesting enough... to merit an ellipsis 05:23:44 http://i.imgur.com/YQd54gJ.png 05:24:37 did you actually reply to an obvious spammer 05:24:58 oh no you've leaked your name 05:25:06 I've leaked my name before 05:35:01 -!- shikhout has quit (Ping timeout: 272 seconds). 05:43:46 loveth gerald is a great name 05:47:48 -!- FreeFull has quit (Ping timeout: 246 seconds). 05:55:35 -!- MoALTz_ has quit (Quit: Leaving). 06:03:20 Huh. Apparently HSTS can be disabled. 06:03:41 * Sgeo was under the impression that sending an HSTS header was an irreversible action 06:23:55 -!- shikhin has joined. 06:24:02 ahahahaha 06:24:02 https://www.leviathansecurity.com/blog/the-double-edged-sword-of-hsts-persistence-and-privacy/ 06:24:22 (When I first saw that, I was thinking maybe timing + max-age shenanigans, but that's very fiddly) 06:38:58 Freenode got hacked? 06:47:18 -!- vyv has quit (Ping timeout: 246 seconds). 06:49:18 -!- vyv has joined. 06:55:20 " Note, that even the specification got this part wrong in its example on violation reports " 07:21:58 -!- conehead has quit (Quit: Computer has gone to sleep). 08:24:31 -!- Patashu has joined. 09:10:02 -!- AnotherTest has joined. 09:15:16 "Git gets easier once you get the basic idea that branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space." 09:15:21 is that true? :D 09:15:35 the part about what branches are, not that git gets easier 09:15:43 lol 09:18:21 It's nonsense. 09:18:50 As long as you're going to say something like that at least make it sound plausible. 09:19:06 please do so 09:19:07 Yeah, that sounds like more of a darcs concept. 09:19:50 (unless you want a generalized zygomorphism) 09:21:48 shachaf: I did try to invent something more plausable => http://www.math.bme.hu/~ambrus/pu/git-extensions 09:27:26 Why does read -p "foo" terminate without me entering a line 09:27:32 is this due to background jobs? 09:29:39 mroman_: maybe some program forgot to restore your stty (tcsetattr) settings, but you don't notice that because the shell temporarily sets a different stty mode for its readline prompt 09:30:13 mroman_: read doesn't normally use readline, just the normal canonical terminal input 09:30:31 (it can use readline if you give the -e switch) 09:30:36 I'm trying to launch some processes with & 09:30:38 but they all die 09:30:40 I have no idea why 09:30:44 even with the read -p 09:30:45 they die 09:30:56 http://www.theproofistrivial.com/ i like 09:30:57 I thought with read -p they'd run until I enter something 09:31:13 mroman_: huh? now I don't understand what you're doing 09:31:17 what is read having to do with this? 09:31:25 can you show what exactly you're trying? 09:32:27 well 09:32:37 myname: hehe 09:32:45 java -jar foo.war 09:32:51 but these war files terminate when you press enter 09:33:03 i.e. they probably have something like System.in.readc(); exit(); 09:33:22 if I launch them within a script they immediately exit 09:33:41 if I launch them in my terminal they run as long as I don't press enter 09:35:10 mroman_: hmm... but what does read (the shell builtin) have to do with this? 09:35:26 (also, maybe those java programs are just stupid) 09:35:32 maybe 09:38:19 ah 09:38:21 it's even worse 09:38:26 it's System.in.read(); server.stop(); 09:38:33 which is supposed to "block" 09:38:41 but it doesn't block if no terminal is attached to stdin 09:38:56 what's attached instead? /dev/null ? 09:39:36 if the program is ran on the terminal but only backgrounded, a read from the terminal should stop the program with the SIGTTIN signal until it's foregrounded 09:40:40 I suppose if you launch it with & 09:40:48 then System.in.read will read 0 bytes and immediately return 09:40:58 no, it shouldn't do that 09:41:07 it should stop the process with a SIGTTIN signal I think 09:41:14 hu? 09:41:37 oh wait 09:42:03 if the process ignores/handles that signal so it continues (doesn't wait till it's foregrounded), then the read does return an error 09:42:09 specifically EIO apparently 09:42:11 let me verify that 09:44:10 yes, EIO 09:44:25 so maybe the program or the java runtime is stupid enough to ignore that signal specifically? 09:45:34 read() returns -1 if there's nothing more to read 09:46:05 mroman_: it returns -1 in case of an error, storing the error code to errno; returns 0 if there's nothing to read (EOF) 09:46:24 Java has errno? 09:47:04 no idea, maybe it puts the error in a java exception or something, or you need to use a different java function. check a manual. 09:47:10 FWIW, a tiny test-case on OpenJDK says it stops like any other process. 09:47:10 damnit. 09:47:17 I've replaced System.in.read with readline 09:47:21 but either it's not recompiled 09:47:23 or... 09:47:55 fizzie: great, it sohuld 09:47:57 http://sprunge.us/EiDO and so on. 09:48:16 (The 'x' is my input after foregrounding it; but anyway, it blocked at the read.) 09:49:01 fizzie: good 09:49:29 hm 09:50:13 weird 09:50:20 I added a syntax error to the launcher 09:50:22 but it compiles :D 09:50:24 wtf 09:51:54 yeah 09:51:55 ok 09:52:07 those morons should've added clean to the mvn command line probably 09:54:27 oh wait 09:54:28 ok 09:54:31 hm 09:55:00 you edited the wrong file? 09:56:37 I don't think so 09:56:49 It's linked as mainclass in the pom.xml 09:57:12 the mainclass doesn't compile though 09:57:18 but stuff that depends on it still does 09:59:06 Honestly I'm completely new to Java and maven 10:01:01 -!- FreeFull has joined. 10:01:17 I mean 10:01:24 -!- FreeFull has changed nick to Guest99165. 10:01:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 10:04:00 This is bad 10:04:19 if something doesn't compile it magically loads the last compilable version from the sky or wherever 10:04:31 which means it won't tell you if something doesn't compile 10:05:37 well... at least my new stuff is now compiled in 10:06:01 but System.console() is null if you launch it with & :) 10:10:28 fine. while(true) will do 10:12:03 -!- boily has joined. 10:13:34 That's kind of what the documentation says. 10:13:46 "If the virtual machine is started from an interactive command line without redirecting the standard input and output streams then its console will exist and will typically be connected to the keyboard and display from which the virtual machine was launched. If the virtual machine is started automatically, for example by a background job scheduler, then it will typically not have a console." 10:14:01 I guess & is kind of arguable. 10:14:48 It should still have the System.in/out streams, and those behaved as expected in my mini-test. 10:18:41 System.in.read isn't blocking when using & 10:19:07 I'm not saying it doesn't work 10:19:33 it's just not blocking 10:20:00 or maybe it is, but with attached terminal it at least has some sort of line buffering 10:20:17 which could be done by either the terminal or java 10:21:06 -!- shikhin has quit (Disconnected by services). 10:21:56 I like how this thing is named "demo" but's supposed to be production 10:27:53 Morning 10:29:00 Morning 10:43:04 ARGH! apparently doxygen cannot parse the a struct definition like 'class __declspec(dllexport) foo { ... };' only nobody notices that because __declspec(dllexport) is usually hidden behind a macro 10:58:49 -!- oerjan has joined. 10:59:21 -!- scounder has quit (Ping timeout: 260 seconds). 10:59:22 -!- Bike has quit (Ping timeout: 240 seconds). 11:08:12 -!- boily has quit (Quit: CSIRKEAN CHICKEN). 11:17:01 -!- scounder has joined. 11:34:37 -!- GeekDude has joined. 11:44:05 -!- Guest99165 has quit (Changing host). 11:44:05 -!- Guest99165 has joined. 11:44:08 -!- Guest99165 has changed nick to FreeFull. 11:53:58 -!- Phantom_Hoover has joined. 11:58:05 -!- Bike has joined. 12:04:55 -!- Sgeo has quit (Read error: Connection reset by peer). 12:19:19 @metar RJNK 12:19:20 RJNK 161200Z 15004KT 9999 FEW025 21/18 Q1014 12:42:09 -!- Patashu has quit (Quit: Soundcloud (Famitracker Chiptunes): http://www.soundcloud.com/patashu MSN: Patashu@hotmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .). 12:42:57 -!- Patashu has joined. 12:56:22 -!- Patashu has quit (Ping timeout: 250 seconds). 12:58:30 -!- Bike has quit (Ping timeout: 255 seconds). 13:08:46 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 13:09:38 -!- idris-bot has joined. 13:12:43 -!- GeekDude has joined. 14:00:26 -!- Bike has joined. 14:01:42 -!- drdanmaku has joined. 14:10:27 -!- spiette has joined. 14:39:04 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 14:43:14 -!- oerjan has quit (Quit: leaving). 14:47:59 bon matily 14:48:04 oh 15:10:37 -!- mihow has joined. 15:23:42 -!- Phantom_Hoover has joined. 15:29:06 -!- `^_^v has joined. 16:58:52 -!- J_Arcane2 has joined. 16:59:48 -!- J_Arcane has quit (Ping timeout: 246 seconds). 17:24:39 -!- J_Arcane2 has quit (Read error: Connection reset by peer). 17:25:17 -!- J_Arcane has joined. 17:27:45 -!- conehead has joined. 17:28:33 -!- TieSoul has changed nick to nick___. 17:28:38 -!- nick___ has changed nick to TieSoul. 17:29:40 -!- aloril has quit (Ping timeout: 272 seconds). 17:35:03 -!- aloril has joined. 17:49:26 -!- Phantom__Hoover has joined. 17:52:44 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 18:55:47 -!- MoALTz has joined. 19:39:15 -!- FreeFull has quit (Ping timeout: 272 seconds). 19:40:31 -!- FreeFull has joined. 19:40:55 -!- FreeFull has changed nick to Guest64697. 19:48:42 -!- Guest64697 has quit (Changing host). 19:48:43 -!- Guest64697 has joined. 19:48:59 -!- Guest64697 has changed nick to FreeFull. 19:56:06 -!- ais523 has joined. 19:56:52 -!- FreeFull has quit (Ping timeout: 245 seconds). 20:40:34 -!- FreeFull has joined. 20:42:43 -!- callforjudgement has joined. 20:42:53 -!- ais523 has quit (Disconnected by services). 20:42:54 -!- callforjudgement has changed nick to ais523. 20:43:51 -!- ais523 has quit (Read error: Connection reset by peer). 20:43:58 -!- ais523 has joined. 20:47:45 -!- ais523 has quit (Read error: Connection reset by peer). 20:48:03 -!- ais523 has joined. 20:52:10 -!- callforjudgement has joined. 20:55:42 -!- ais523 has quit (Ping timeout: 245 seconds). 20:55:57 -!- callforjudgement has changed nick to ais523. 21:02:42 -!- Patashu has joined. 21:16:41 -!- oerjan has joined. 21:25:22 -!- Patashu has quit (Ping timeout: 240 seconds). 21:26:35 -!- callforjudgement has joined. 21:26:43 -!- ais523 has quit (Disconnected by services). 21:26:45 -!- callforjudgement has changed nick to ais523. 21:36:10 -!- ais523 has quit (Read error: Connection reset by peer). 21:36:17 -!- ais523 has joined. 21:46:06 -!- AnotherTest has quit (Ping timeout: 246 seconds). 22:15:42 -!- ais523 has quit (Remote host closed the connection). 22:15:48 -!- callforjudgement has joined. 22:15:54 -!- callforjudgement has changed nick to ais523. 22:36:20 -!- mihow has quit (Quit: mihow). 22:47:04 so 22:47:15 why does GNU APL have PHP-style server pages? 22:47:27 I can think of literally no reasons for that style of insanity 22:47:40 there's a GNU APL, huh 22:48:14 yes 22:48:30 and APL is definitely on topic for #esoteric, lol 22:48:44 ... wat 22:48:46 Server scripting 22:48:49 In APL? 22:48:59 Lymia: yes 22:49:02 still sounds better than php, tbh 22:49:03 that was my reaction 22:49:25 Bike: I'm paid to write PHP, that doesn't even begin to cover it 22:49:34 I would rather write web apps in BF 22:49:37 no 22:49:46 I'd rather write web apps in Cobol 22:50:09 -!- perrier___ has quit (Read error: Connection reset by peer). 22:52:01 ooh, wait, Lymia, were you involved in that massive bukkit clusterfuck that happened 22:53:31 Massive bukkit clusterfuck? 22:53:34 Recent? 22:53:48 I haven't been involved in Minecraft for a few months. 22:53:58 What happened? 22:54:13 evilseph cancelled the project, mojang revealed they owned it 22:54:29 (i still don't know how you can own a gpled project but--) 22:54:33 Mojang didn't REVEAL that they owned it. 22:54:36 They've owned it for years. 22:54:55 my impression was that this was deliberately kept secret, though 22:55:06 There was a whole brouhaha when they bought it. 22:55:13 But then they didn't really DO anything with it, so everybody forgot. 22:55:39 The Twitter conversation went like this: "Sorry, I have to cancel the project." "Um, you don't own the project. We bought it. You can't cancel it." 22:55:50 (seriously how do you buy bukkit!! what does this even mean!) 22:55:59 -!- perrier has joined. 22:56:37 They owned the name, site, etc, and many of the devs are Mojang employees. 22:56:50 -!- perrier has quit (Remote host closed the connection). 22:57:02 There was no secrecy here, just stupidity. Never account to malice etc etc. 22:57:32 If I had more patience, I might fork it. But I don't have the patience to work with Java code anymore 22:57:33 ^.^ 22:57:57 -!- perrier has joined. 22:58:29 So 22:58:34 Minecraft's fanbase being idiots as usual. 22:58:36 Nothing new to me. 22:58:45 *Microcraft 22:58:50 *Minesoft? 23:03:18 Lymia, well, and mojang being idiots 23:03:27 that too is an important part of the situation as usual 23:04:36 I'm not sure I understand the full story then. 23:04:36 :P 23:04:53 -!- MoALTz_ has joined. 23:05:14 -!- perrier has quit (Remote host closed the connection). 23:05:51 Well, as in, they went to the trouble of buying Bukkit, hiring the devs, then proceeded to ignore them and cut off even the meagre support they were providing. 23:07:16 -!- vyv has quit (Ping timeout: 260 seconds). 23:07:18 -!- MoALTz has quit (Ping timeout: 246 seconds). 23:08:12 are y'all ready for true untethered freedom https://www.kickstarter.com/projects/768618350/airvr-virtual-reality-for-ios 23:08:20 -!- Sgeo has joined. 23:08:29 featuring advanced 64-bit Processors 23:08:31 -!- perrier has joined. 23:09:08 -!- vyv has joined. 23:09:28 the other day in another channel someone gave a long list of failed "how to make a successful kickstarter project" kickstarter projects 23:09:43 they were good 23:12:29 kmc... isnt here, dangit 23:12:29 Who else am I to talk about Rust with? 23:12:29 Anyways: I think Rust people keep reinventing lenslike things 23:12:29 i know a thing or two about rust 23:12:29 headers.get(CONNECTION); // -> Option> 23:12:29 what's your favourite ferric oxide? mine's haematite 23:12:29 Lymia: it's hard to fork it, since you can easily get DMCA'd for it 23:12:29 Where CONNECTION is presumably an entity that knows how to transform some bytes representing HTTP headers into a Connection based on the Connection header, and visa versa 23:12:29 elliott, not for an reimplementation. 23:12:38 that is stretching the term 'fork' 23:12:51 Lymia: well, the basic issue is that bukkit was always kinda illegal 23:13:05 what is bukkit? 23:13:17 -!- perrier has quit (Max SendQ exceeded). 23:13:18 since it's at odds with both the minecraft EULA and the GPL 23:13:23 Bike: That's as brilliant as it is stupid. 23:13:24 I remember a similar device for an olde VR dev environment for DOS. 23:13:25 You cut it out of cardboard, folded it up and you could see true 3D. 23:15:43 -!- perrier has joined. 23:17:04 -!- perrier has quit (Read error: Connection reset by peer). 23:17:49 Lymia, oh also, if i didn't mention it, after evilseph left so did everyone else 23:17:53 -!- jix has joined. 23:18:03 were there any "how to make a successful "how to make a successful kickstarter project" kickstarter projects? 23:18:03 *-" 23:18:03 um 23:18:03 wait 23:18:03 **+" 23:18:04 i think it needs an extra "kickstarter project" 23:18:04 argh hiccups 23:18:05 -!- jix_ has quit (Ping timeout: 260 seconds). 23:18:15 -!- perrier has joined. 23:18:30 -!- sebbu has quit (Ping timeout: 246 seconds). 23:19:08 * Sgeo attempts to scare oerjan with a scary claim about how scaring people supposedly cures hiccups 23:19:27 BY KILLING THEM, right? 23:19:40 * oerjan seemed to do fine by drinking some water, thank you very much 23:20:27 Sgeo: you're in a channel in which kmc talks about rust a lot 23:20:33 oerjan: there were certainly jokes about them 23:20:43 -!- Bicyclidine has joined. 23:20:43 * GeekDude slaps everyone in this channel with a trout 23:21:08 That's either a big trout or a lot of slapping. 23:22:01 * GeekDude swings at logic with a dwarven axe 23:22:01 Why is a basis a popular thing in topology, rather than a subbasis? 23:22:12 The latter seems more natural. 23:22:29 Also, is a topology generated by a subbasis "free" in some way? 23:22:36 because topology predates common sense? 23:22:40 Gregor: did this DOS gizmo have a kickstarter... 23:22:45 Bahaha 23:22:59 "i could throw them a few bucks" 23:23:24 Phantom__Hoover: That's possible, but it's also likely that I don't have good intuition or taste for any of these things. 23:24:01 when i think common sense i think subbases. 23:24:34 the free topology on a set is either the discrete or trivial one 23:24:54 The free topological space on a set. 23:25:13 I'm talking about the topology itself. 23:25:21 It at least seems initial in some sense. 23:25:51 What do I mean... 23:25:56 If you fix a set of points X, and then you talk about the various topologies you could give it. 23:26:05 And you could also talk about arbitrary subsets of P(X) 23:26:28 And maybe those are categories or something. And maybe you have an adjunction goin' between those two. I don't know. 23:27:51 mainly i follow an oculus programmer on twitter and from what i understand of what he says it doesn't seem like you could do VR with a common screen without everything being... epileptic 23:31:01 It'd be very pixely, and very nauseating 23:32:38 shachaf, so what do you use as morphisms in this scenario 23:33:22 I don't know. Maybe you look at subsets of P(X) as a lattice and use some sort of lattice homomorphism? 23:33:40 Maybe the thing with complete Heyting algebras/frames/locales. 23:41:13 I think something like that could probably work. 23:47:54 Wait, what am I talking about. I'm not making sense. 23:48:24 Or maybe I am. 23:48:46 or maybe you are 23:49:05 (But probably not) 23:49:17 I must agreegor. 23:50:30 You're right, I'm not. 23:50:34 -!- perrier has quit (Read error: Connection reset by peer). 23:58:08 -!- perrier has joined. 23:58:44 -!- perrier has quit (Remote host closed the connection). 2014-09-17: 00:00:08 -!- perrier has joined. 00:07:50 -!- perrier has quit (Max SendQ exceeded). 00:10:00 -!- perrier has joined. 00:47:44 -!- ais523 has quit (Remote host closed the connection). 00:47:55 -!- ais523 has joined. 00:54:52 -!- perrier has quit (Read error: Connection reset by peer). 00:56:49 -!- perrier has joined. 00:59:01 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 01:01:14 -!- perrier has quit (Remote host closed the connection). 01:02:20 -!- perrier has joined. 01:16:00 -!- sebbu has joined. 01:16:35 -!- sebbu has quit (Changing host). 01:16:35 -!- sebbu has joined. 01:23:32 -!- Sprocklem has joined. 01:35:25 -!- ais523 has quit (Read error: Connection reset by peer). 01:35:34 -!- ais523 has joined. 01:48:27 -!- ais523 has quit (*.net *.split). 01:48:30 -!- `^_^v has quit (*.net *.split). 01:48:30 -!- paul2520 has quit (*.net *.split). 01:48:30 -!- FireFly has quit (*.net *.split). 01:48:30 -!- perrier has quit (*.net *.split). 01:48:31 -!- oerjan has quit (*.net *.split). 01:48:31 -!- FreeFull has quit (*.net *.split). 01:48:32 -!- GeekDude has quit (*.net *.split). 01:48:32 -!- lifthrasiir has quit (*.net *.split). 01:48:33 -!- tromp has quit (*.net *.split). 01:48:34 -!- Melvar has quit (*.net *.split). 01:48:37 -!- olsner has quit (*.net *.split). 01:48:40 -!- erdic has quit (*.net *.split). 01:48:41 -!- pikhq has quit (*.net *.split). 01:48:42 -!- quintopia has quit (*.net *.split). 01:49:53 -!- ais523 has joined. 01:51:51 -!- paul2520 has joined. 01:53:57 -!- `^_^v has joined. 01:53:57 -!- FireFly has joined. 01:54:20 -!- perrier has joined. 01:54:20 -!- FreeFull has joined. 01:54:20 -!- GeekDude has joined. 01:54:20 -!- lifthrasiir has joined. 01:54:20 -!- tromp has joined. 01:54:20 -!- Melvar has joined. 01:54:20 -!- olsner has joined. 01:54:20 -!- erdic has joined. 01:54:20 -!- pikhq has joined. 01:54:20 -!- quintopia has joined. 01:57:51 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 02:09:20 -!- ais523 has quit (Read error: Connection reset by peer). 02:09:33 -!- ais523 has joined. 02:12:10 -!- conehead has joined. 02:33:33 -!- TodPunk has quit (Quit: This is me, signing off. Probably rebooting or something.). 02:37:13 -!- TodPunk has joined. 02:38:33 -!- TodPunk has quit (Client Quit). 02:41:28 -!- TodPunk has joined. 02:41:28 -!- TodPunk has quit (Client Quit). 02:43:11 -!- callforjudgement has joined. 02:43:22 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 02:43:51 -!- TodPunk has joined. 02:44:02 -!- not^v has joined. 02:44:16 -!- TodPunk has quit (Read error: Connection reset by peer). 02:44:36 -!- perrier has quit (Remote host closed the connection). 02:45:42 -!- perrier has joined. 02:46:25 -!- TodPunk has joined. 02:46:45 -!- ais523 has quit (Ping timeout: 272 seconds). 02:48:54 -!- callforjudgement has changed nick to ais523. 03:02:56 -!- not^v has quit (Ping timeout: 260 seconds). 03:09:52 -!- aquilinum has joined. 03:11:10 -!- aquilinum has left. 03:17:54 -!- Bicyclidine has quit (Ping timeout: 246 seconds). 03:39:33 @metar RJNK 03:39:33 RJNK 170300Z 01015KT 9999 FEW025 SCT100 BKN180 24/15 Q1014 03:48:29 -!- ais523 has quit (Read error: Connection reset by peer). 03:48:45 -!- ais523 has joined. 04:28:30 -!- ais523 has quit (Read error: Connection reset by peer). 04:28:42 -!- ais523 has joined. 04:32:34 -!- skj3gg has joined. 05:10:43 http://forums.whirlpool.net.au/archive/1668135 05:10:55 This is suggesting that one pass is likely enough, is that accurate? 05:11:49 I am not considering the NSA as an adversary, these are confidential work documents I want to wipe 05:30:19 Move to trash 05:31:04 Sgeo: overwriting with zeroes means you already need an electron microscope to extract the data, and that's the second-least secure method of deletion 05:31:16 a program like "shred" will know exactly what to do, I suggest just using its default settings 05:38:08 The shred manual surprisingly does not warn about flash memory. 05:38:38 oh, yes, it won't work on an SSD 05:38:49 although offhand, I'm not sure what does 05:39:01 Very, very high temperature 05:39:27 I mean software-wise 05:39:39 you'd probably need to use firmware features for secure deletion 05:42:31 -!- skj3gg has quit (Quit: Leaving.). 05:49:52 A trim would cause the parts of the file in unused write blocks to be erased... sometime later 05:50:58 ais523: on Windows. Don't know if cygwin's shred works with NTFS 05:51:17 Sgeo: nor do I, although I think it's likely it will 05:53:11 Anything wrong with using CCleaner to do it/ 05:53:47 Ok, I was expecting CCleaner to take hours. It's estimating 3 minutes. 05:53:50 it probably also knows what to do 05:53:57 6 now 05:54:05 Ok, maybe it will take a while 05:54:40 -!- MoALTz_ has quit (Quit: Leaving). 05:55:26 CCleaner offered number of passes as an option, which is why I asked 06:00:09 -!- tromp_ has joined. 06:03:52 -!- tromp__ has quit (Ping timeout: 240 seconds). 06:06:00 It says it's wiping MFT free space.... I don't know if I chose a wrong option 06:11:40 -!- skj3gg has joined. 06:12:21 -!- ais523 has quit. 06:13:13 Oh, ok, wiping MFT took a short amount of time, now wiping free space itself will take hours 06:13:16 Makes more sense 06:18:48 anyone have a good resource for developing a lisp-style language 06:23:32 lisp in small pieces, THE HEALING HUM OF THE UNIVERSE 06:26:49 skj3gg: http://www.buildyourownlisp.com/ https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours http://norvig.com/lispy2.html 06:40:57 -!- sebbu has quit (Ping timeout: 255 seconds). 06:43:36 -!- sebbu has joined. 06:44:15 -!- sebbu has quit (Changing host). 06:44:15 -!- sebbu has joined. 06:50:30 -!- conehead has quit (Quit: Computer has gone to sleep). 07:31:18 -!- skj3gg has quit (Quit: Leaving.). 07:33:50 -!- skj3gg has joined. 07:44:11 -!- skj3gg has quit (Quit: Leaving.). 07:49:54 -!- skj3gg has joined. 08:02:36 fizzie: is it true that every finn is given an irc client in their baby package? 08:07:10 -!- AnotherTest has joined. 08:42:37 -!- Patashu has joined. 08:47:29 coppro: let's ask fungot. fungot, is it true that every finn is given an irc client in their baby package? 08:47:30 b_jonas: i am not going to be there. it's version controlled!" rather than run-time because they are specifically designed for experienced users, most probably don't make it break on invalid code' :p 08:47:56 fungot: what? they give clients designed for experienced users to babies? that sounds like a bad idae 08:47:56 b_jonas: that's mind-blowing :) " whoops, our student union people have only installed the fnord and the fnord are :) 09:00:27 is fungot finnish? 09:00:28 shachaf: imagine a bunch of toggle switches in a way that emacs would need a scheme with a sign " you're stupid if you say " monad" is. 09:21:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 09:32:11 -!- skj3gg has quit (Quit: Leaving.). 09:48:34 Does fungot pass the turing test? 09:48:34 mroman_: " this is not a 09:48:52 fungot: How's the wheather in new orleans? 09:48:52 mroman_: larceny developers are sometimes seen using fnord' for blahbot:0xb7cca1ac it in 09:49:03 I'm not convinced that he's human . 10:50:46 I don't know about the weather in new orleans, either. 11:22:31 fungot: You're being given an informal Turing test, try to behave unsuspiciously enough, they must not know before it's too late. 11:22:31 fizzie: working heavily on sisc 1.13 atm i like that recommendation in the style you have to 11:22:49 fungot: Good, that's exactly the sort of thing I'm talking about, carry on. 11:22:50 fizzie: don't bother with the regular ffi, because something really " fundamental" in the manual on gnu.org or soemthing?" " pop in and say hello. just walk along and try not to 11:26:28 -!- sebbu has quit (Ping timeout: 260 seconds). 11:34:26 -!- sebbu has joined. 11:35:01 Although the Turing-Test says probably nothing about aliens. 11:35:15 -!- sebbu has quit (Changing host). 11:35:16 -!- sebbu has joined. 11:35:28 As far as I can observe I can't rule aut that fungot is an alien-fungoid. 11:35:28 mroman_: i'm trying to rewrite the fnord? predicate? ( car blah) ' quote), where n is the size 11:35:39 there's no n in that lisp code. 11:39:01 It's an implicit n. 11:39:41 I'm still missing an ) 11:40:00 I guess that's implicit as well 11:40:31 LISP could learn from SGML 11:40:33 i.e 11:40:46 (defun foo (x) (+ x x (defun 11:41:03 I think quite a few systems have the notion of "terminate all open parens" with a ] or something. 11:41:41 it could detect the second defun and close previous left-open parentheses 11:42:26 lisPY uses indentation instead of () 11:42:49 There's a SRFI about indentation expressions that you can mix-and-match with S-expressions. 11:42:58 http://srfi.schemers.org/srfi-49/srfi-49.html 11:45:46 -!- GeekDude has joined. 12:05:39 fizzie: like haskell syntax? eww, I hate that part of haskell. I prefer explicit braces. 12:08:00 -!- perrier has quit (Remote host closed the connection). 12:09:06 -!- perrier has joined. 12:11:53 -!- perrier has quit (Remote host closed the connection). 12:12:48 -!- oerjan has joined. 12:12:59 -!- perrier has joined. 12:17:46 b_jonas: you hate the indentation? 12:17:49 i.e. for do? 12:18:29 I guess you can write do { foo; bar; } but if you indent it even with braces why bother putting them around statements? 12:19:31 's ok he's in good company, it will be him, zzo38 and simon peyton-jones 12:20:03 I guess we have our kill-list then 12:20:25 i think killing SPJ is not done, mroman_ 12:20:35 hm? 12:20:44 and i may have to remove your haskell badge for suggesting it. 12:20:46 (that was a joke btw @NSA and the like) 12:21:12 I'm not sure if I've received a haskell badge from you 12:21:14 (i also would not approve of killing zzo) 12:22:04 I only use {} if I want to squeeze it into a single line 12:22:23 you rarely need {} even then 12:22:33 I'm not intending to kill anybody. 12:23:00 (for do, you can always use parentheses in a pinch) 12:23:59 hm... 12:25:06 > let x = 1 in case x of 1 -> y where y = x+x _ -> 2 12:25:08 :1:47: parse error on input ‘->’ 12:25:32 oh wait, it needs ; 12:27:20 * oerjan thought for a moment he'd found an insane case of the parse-error rule 12:38:38 -!- perrier has quit (Remote host closed the connection). 12:39:44 -!- perrier has joined. 12:46:34 -!- Patashu has quit (Ping timeout: 272 seconds). 13:13:23 -!- drdanmaku has joined. 13:39:20 Hey, BF Joust people: are there any other scoring mechanisms to consider than these: http://zem.fi/tmp/bfjoust.html 13:39:42 I'm fiddling together a zem.fi hill to replace EgoBot's, and will be putting up a poll about the scoring, with at least those four alternatives. 13:50:38 is 3 equivalent to the one quintopia has been implementing 13:51:09 -!- Sprocklem has quit (Ping timeout: 255 seconds). 13:51:20 I don't know, but it might be. 13:51:29 which is eigenvalue based 13:52:13 #4 is arguably eigenvalue-based, too, since the stationary distribution corresponds to an eigenvector of the transition matrix with an eigenvalue 1. 13:52:31 Whoops, I have a bus to catch. -> 13:58:24 -!- perrier has quit (Remote host closed the connection). 13:59:30 -!- perrier has joined. 14:06:09 I think if you normalize columns of D in #3 one way it becomes equivalent to #4. And just plain normalizing them by scaling each independently would result in one more method. 14:31:58 Or maybe not quite equivalent; counting losses could be equivalent to counting wins because symmetry, but #3 looks at the sum (wins - losses) instead. I guess there's a lot of slightly different variants possible here. 14:35:30 fizzie: there's the one on the bfjoust talk page on the wiki 14:36:52 -!- drdanmaku has quit (Write error: Connection reset by peer). 14:45:27 -!- shikhin has joined. 14:51:52 Oh, that's the quintopia one. 14:51:54 -!- silent_magic has joined. 14:52:07 -!- drdanmaku has joined. 14:53:07 -!- silent_magic has changed nick to chaos_magic. 14:54:01 Or, rather, one of the two described there is. 14:54:26 Based on quintopia's description of the transition matrix, I'm reasonably sure it's equivalent to my #4. 14:55:34 Except I don't implement it via eigenvalues because (AFAIK, anyway) there may be more than one eigenvector with an eigenvalue of 1, and I don't think it's possible to tell which of them (if there are several) the initial uniform distribution will converge to. 14:57:37 The "ehird system" I haven't implemented, but I guess I might. 14:58:44 -!- augur has quit (Remote host closed the connection). 14:59:27 -!- ^v has quit (Quit: Leaving). 14:59:45 -!- ^v has joined. 15:00:57 my system is probably bad. 15:01:24 -!- Phantom_Hoover has joined. 15:03:12 __.-"..--,__ 15:03:15 __..---" | _| "-_\ 15:03:15 __.---" | V|::.-"-._D 15:03:15 _--"".-.._ ,,::::::'"\/""'-:-:/ 15:03:15 _.-""::_:_:::::'-8b---" "' 15:03:15 .-/ ::::< |\::::::"\ 15:03:16 \/:::/::::'\\ |:::b::\ 15:03:17 /|::/:::/::::-::b:%b:\| 15:03:20 \/::::d:|8:::b:"%%%%%\ 15:03:22 |\:b:dP:d.:::%%%%%"""-, 15:03:24 \:\.V-/ _\b%P_ / .-._ 15:03:25 '|T\ "%j d:::--\.( "-. 15:03:27 ::d< -" d%|:::do%P"-:. "-, 15:03:29 |:I _ /%%%o::o8P "\. "\ 15:03:33 \8b d%%%%%%P""-._ _ \::. \ 15:03:36 \%%8 _./Y%%P/ .::'-oMMo ) 15:03:38 H"'|V | A:::...:odMMMMMM( ./ 15:03:40 H /_.--"JMMMMbo:d##########b/ 15:03:41 .-'o dMMMMMMMMMMMMMMP"" 15:03:43 /" / YMMMMMMMMM| 15:03:45 / . . "MMMMMMMM/ 15:03:47 :..::..:::.. MMMMMMM:| 15:03:49 \:/ \::::::::JMMMP":/ 15:03:49 Anyone here have kickban powers? 15:03:51 -!- ChanServ has set channel mode: +q *!*@tmo-100-52.customers.d1-online.com. 15:04:15 I have "can't remember chanserv commands" powers. 15:04:21 Hah hah. 15:04:39 I know that feeling. 15:04:54 I have "keeps irc windows scrolled up so i don't see things happening" powers. 15:05:09 -!- chaos_magic has left. 15:06:08 Wonder if it was someone looking for "esoterick" esoteric. 15:06:25 the nick seemed to imply that. 15:09:02 i suppose we should be happy that we have few enough troublemakers that we do get to forget the chanserv commands. 15:24:32 -!- mihow has joined. 15:25:52 How phallic. 15:33:44 -!- ChanServ has set channel mode: -q *!*@tmo-100-52.customers.d1-online.com. 15:39:08 not letting the whole ascii art go through before quieting is cruel. 15:40:14 wait, if fizzie cannot remember the command, i didn't see the spam until too late, and elliott thought the quieting was cruel, then WHO WAS PHONE? 15:40:29 fizzie: is there an easy way to explain the difference between #3 and #4? 15:40:36 *WHO WAS DOING THE QUIETING 15:40:39 oerjan: I think fizzie probably remembered it, just a minute late. 15:40:45 ah. 15:44:12 who killed the anime girl before she even got hot? 15:44:36 Ohhh, it's a girl. 15:44:41 I totally didn't realize what it was. 15:46:41 * GeekDude rocks everyone's boat 15:46:43 * GeekDude throws a computer monitor at everyone 15:46:50 Lots of monitors here 15:46:54 you haven't seen one in that long? 15:46:56 <__< 15:47:14 I agree with fizzie, that's really bad ascii art 15:47:55 I like the hands. 15:48:24 I thought the top hand was some sort of a artillery piece, and the whole thing some kind of a tank. 15:48:30 Could you point out which part is the hands? 15:48:43 http://i.imgur.com/1Y6NpJ1.png 15:48:48 it looks like a very oddly shaped island 15:48:54 -!- oerjan has quit (Quit: You are disturbing.). 15:51:16 elliott: As for #3 vs. #4, I don't rightly know. If #3 would fit in the same "transition matrix" mold as #4 does, then you could just look as to how those differ, but I don't think it can quite be mangled to fit. 15:51:20 Though one difference is that #3 looks at the sum of +1/-1 points while #4 looks only at the number of wins/losses. So in #3, having A-vs-B results of, say, "30 wins, 10 losses and 2 ties" is indistinguishable from "20 wins and 22 ties" (30-10 == 20); in #4 those are different. 15:52:37 ah. 15:52:47 so #3 is closer to the system I proposed ages back, in a sense 15:54:34 -!- augur has joined. 16:01:25 -!- DootBot has quit (Remote host closed the connection). 16:01:47 -!- DootBot has joined. 16:01:47 DOOT DOOT! 16:13:47 -!- shikhin has changed nick to rightroundjack. 16:14:09 -!- rightroundjack has changed nick to shikhin. 16:21:54 -!- shikhout has joined. 16:25:12 -!- shikhin has quit (Ping timeout: 258 seconds). 16:29:20 -!- augur has quit (Remote host closed the connection). 16:39:02 -!- perrier has quit (Remote host closed the connection). 16:39:03 -!- conehead has joined. 16:39:24 http://zem.fi/tmp/hilltest.png It always takes me horribly long to get any sort of plot done, no matter if I do it with GNUplot or R. 16:39:55 -!- MoALTz has joined. 16:39:57 -!- augur has joined. 16:40:09 -!- perrier has joined. 16:40:44 -!- adu has joined. 16:42:11 fizzie: time to try matplotlib to shake things up a bit? 16:42:31 GeekDude: top-right is a hand, I'm pretty sure. 16:42:57 Yes, it's a hand behind a head, I just only see it after being told. 16:42:58 below that is face and another arm. and below that, uh. 16:43:15 All the M's are probably armpit hair. 16:43:18 (.Y.) 16:43:28 thank you, GeekDude. very articulate. 16:43:29 I think I see it now 16:43:49 the face is a bit of a mess. 16:45:30 -!- shikhout has changed nick to shikhin. 16:46:21 http://i.imgur.com/YoMpxf0.png 16:46:22 Something like that 16:46:49 fizzie, well, the traditional one seems closely correlated with the iterative one 16:47:06 those are some pointy boobs. 16:47:18 <.Y.> 16:47:56 now I'm wondering if there's, like, an ascii art search engine. 16:48:32 like google reverse image search, but for text? 16:49:24 something like that. it'd have to be able to take prefixes. it'd pretty much only be "useful" for IRC spam. 16:52:46 is there any twodimensional language with explicit direction changes that moves diagonal? 16:53:43 Let's say I extend Brainfuck with a command @ (where @ is just syntactic sugar for an infinite loop) 16:53:58 I also formally require that every program ends in the character @ 16:54:19 Meaning that the answer to the "halting" problem is trivially 16:54:26 since it always loops forever 16:54:36 it may crash 16:54:51 it might not 16:56:00 well, go on 16:56:25 well, that's it 16:56:46 i am not very impressed 16:56:52 Taneb: That it does. Perhaps not terribly surprising, since it's the same basic idea. 16:56:58 The question is, if it classifies as turing complete 16:57:11 i guess not 16:57:38 -!- perrier has quit (Remote host closed the connection). 16:57:46 oh, wait 16:57:56 You obviously can define a trivial mapping of any bf program to a myweirdbf program and vice-versa 16:58:18 no you don't 16:58:28 convert a hello world to your language 16:58:39 or just a program that outputs a simple B 16:58:40 just add an @ to a bf hello world program 16:58:44 -!- perrier has joined. 16:58:52 ++++++[>+++++++++++<-]>. 16:58:55 prints B 16:58:59 if i add a @ 16:59:02 ++++++[>+++++++++++<-]>.@ 16:59:03 it prints BBBBBBBBBBBBBBBB 16:59:06 prints B 16:59:10 no 16:59:12 why? 16:59:13 why would it print BBBB? 16:59:32 @ just enters an infinite loop 16:59:39 ah 16:59:39 like [>+] or something 16:59:45 you don't repeat anything 16:59:48 (assuming [>+] is an infinite loop) 16:59:52 i misunderstood you 17:00:08 well, okay 17:00:13 mroman_: "++++++[>+++++++++++<-]>." prints B and halts, though. Your program doesn't. 17:00:16 -!- perrier has quit (*.net *.split). 17:00:20 -!- aloril has quit (*.net *.split). 17:00:24 fizzie: true 17:00:39 but it'll perform the same "computation" 17:00:44 -!- aloril has joined. 17:00:55 -!- vyv has quit (*.net *.split). 17:01:35 -!- perrier has joined. 17:02:02 if you consider only the state of the cells as "the observable state" 17:02:07 -!- vyv has joined. 17:02:14 then the observable state is equal 17:02:19 -!- MoALTz has quit (*.net *.split). 17:02:20 -!- GeekDude has quit (*.net *.split). 17:02:21 -!- jix has quit (*.net *.split). 17:02:23 -!- Frooxius has quit (*.net *.split). 17:02:25 -!- kcm1700 has quit (*.net *.split). 17:02:25 -!- KingOfKarlsruhe has quit (*.net *.split). 17:02:25 -!- variable has quit (*.net *.split). 17:02:25 -!- Lymia has quit (*.net *.split). 17:02:25 -!- newsham has quit (*.net *.split). 17:02:36 i.e. like a turing machine where you can observe the tape 17:02:51 question is: do you solve any problem with this? 17:02:59 -!- MoALTz has joined. 17:02:59 -!- GeekDude has joined. 17:02:59 -!- jix has joined. 17:02:59 -!- Lymia has joined. 17:02:59 -!- Frooxius has joined. 17:02:59 -!- kcm1700 has joined. 17:02:59 -!- KingOfKarlsruhe has joined. 17:02:59 -!- variable has joined. 17:02:59 -!- newsham has joined. 17:03:03 you cannot write a program that halts if its input does not halt 17:03:05 even though it's infinitely long, but that doesn't stop you from inspecting the begin of the tap 17:03:08 e 17:03:44 well obviously you can't solve the halting problem with this 17:03:46 but 17:04:00 i.e. a mybf program can't state for any bf program whether it halts or not 17:04:08 however, it can do so for any mybf program 17:04:24 i.e. it can state about itself whether it will halt or not 17:04:31 mroman_: It can't say whether any mybf program is "done", i.e., whether it will still do something to the tape or not. 17:04:55 fizzie: for all we know @ increments every cell on the tape 17:05:01 or something else 17:05:22 but let's just assume it loops without doing anything 17:06:17 but yes 17:06:25 you won't know when it's done doing observable things 17:09:58 -!- augur has quit (Remote host closed the connection). 17:14:18 -!- drdanmaku has quit. 17:34:28 More great new TLDs: ".website". 17:34:41 For "www.whatever.website". 17:34:47 well, you wouldn't accidentally want to buy a phone number instaed. 17:34:48 .website is... 17:34:52 why 17:35:23 or, maybe if you want to make a website about a website! 17:35:35 I'd prefer .www 17:35:39 www.mroman.www 17:36:22 [[ We are aware of the issue of universal acceptability and accept that some incorrectly configured third-party software may consider ʺ.websiteʺ to be an invalid string, in the same way that other TLDs such as ʺ.infoʺ and “.museumʺ are also at times considered ʺinvalid.ʺ We will work to raise awareness of the issue of universal acceptance of .website and other new gTLDs. CentralNic ... 17:36:28 ... has previously contributed to these efforts, such as by publication of TLD Verification code for the PHP programming language. ]] 17:36:40 Ah, here's the "mission/purpose" part. 17:36:50 "The mission of the .Website TLD is to serve as a home on the Internet for users across the world. .Website aims to be a generic TLD with no preconception of meaning whatsoever, no theme, no categorizations, no restrictions of use. .Website does not restrict its scope to businesses (.Biz), commercial websites (.Com), or organizations (.Org). Unlike country TLDs (ccTLDs), it is not associated ... 17:36:51 firefox nowadays just assumes anything with a dot in it is a url, i think 17:36:56 ... with any country or region, .Website is a truly global TLD." 17:37:10 lol. 17:37:14 it's a TLD about nothing! 17:37:21 "What you can do on .Website can be limited only by your imagination, which is in fact, infinite. .Website is your Home on the Internet, where you can be free, comfortable; express what you want to say, what you think. Or share interests, knowledge, or simply post information about your business, and interact with clients. .Website says nothing; it is a blank canvas for the users to paint on." 17:37:30 oh right, this is the zombocom tld. 17:37:30 About everything! 17:37:34 oh c'mon, it should be .internet if they want it totally generic. 17:37:41 It's only limited by your imagination, which is in fact, infinite. 17:37:50 in fact, you can point a domain at your intranet, right? 17:37:55 ...I feel like I've made these exact points before. 17:38:04 http://www.seinfeldscripts.com/ThePitch.htm 17:38:19 "For users of the Internet, .Website brings many possibilities. Since you don’t have a preconceived notion of what to expect, you can come across websites ranging from those of hobbyists, to entrepreneurs, to artists, kids, photographers, mums, geeks, what not." 17:38:54 They "positively believe" it will "invite innovation and fresh possibilities at a global level". 17:39:08 they paid like ten thousand earth dollars for this, yes? 17:39:39 I think it was more like a hundred thousand. 17:39:45 you're surprised? the dot com boom wat a thing that happened, after all 17:39:54 "The initial price to apply for a new gTLD was $185,000." 17:39:58 it needs to hurry up and happen again 17:40:32 Bike: what do you have against .moe?? 17:41:06 moe is focused. sharp. relevant to today's youth. it will survive the coming apocalypse by hook and crook. 17:41:31 Then again, сайт (Russian for "site") was one of the first ones they granted. 17:41:35 I mean, look at http://420.moe. There is no possible objection to this website. It is a Platonic ideal of websites. 17:41:47 There's 5 applications in the queue for "site" too. 17:42:43 I see that .youtube, .chrome, .nexus, .gle, .gmail and such got delecated recently too. 17:43:06 There's also the .new and .here if you want more generic terms. 17:43:40 $ host goo.gle 17:43:41 goo.gle has address 127.0.53.53 17:43:41 goo.gle mail is handled by 10 your-dns-needs-immediate-attention.gle. 17:43:42 Uh. 17:44:26 .youtube, lol 17:45:06 "The mission of the proposed gTLD, .gle is to make the worldʹs information universally accessible and useful through the streamlined provision of Google services. The purpose of the proposed gTLD is to provide a dedicated Internet space in which Google can continue to innovate on its Internet offerings. Specifically, the new gTLD will augment Googleʹs offerings through existing registries, ... 17:45:12 ... provide Google with greater ability to categorize its present online locations around the world, and provide a more recognizable, branded, trusted web space to both the general Internet population and Google employees." 17:45:41 I guess they're still being set up. 17:46:04 "www.youtube" resolves to the same 127.0.53.53 + MX your-dns-needs-immediate-attention.youtube for me. 17:46:20 Also, that address just looks so incomplete somehow. 17:46:34 eventually youtube.com is abandoned to squatters 17:46:42 I like how Prominent Brands snap up their trademarks in all the new TLDs, so e.g. there is google.moe and microsoft.ninja 17:47:59 There's a http://microsoft.dating/ but it just redirects to a bing search on "microsoft". 17:48:46 Host microsoft.cool not found: 3(NXDOMAIN) "ha ha" 17:48:49 in case you were unaware of miccrosoft 17:49:20 yeah, they do that 17:49:22 e.g. http://xbox.moe/ 17:52:18 http://youtube/ should exist. 17:53:04 There was an Official Opinion about not putting out A/AAAA records for naked TLDs. 17:53:42 Lame sauce. 17:53:53 I think the new TLDs aren't allowed to do it? 17:53:55 but some old ones still do. 17:53:59 What about CNAMEs? 17:54:04 $ dig +noall +answer youtube txt 17:54:04 youtube. 3533 IN TXT "Your DNS configuration needs immediate attention see https://icann.org/namecollision" 17:54:47 I remember reading that a CNAME in the root of a zone was the worst possible thing to do, back when reading about DNS for the first time. 17:55:22 huh, http://biz/ is life alert's official website 17:55:35 which is a .com, is that ironic 17:55:45 That doesn't work in my browser. 17:57:06 dig only gets the usual NS (and DNSSEC) records for "biz." 17:57:41 oh, my browser treats http://foo/ as foo.com. 17:57:47 damn. 18:03:51 -!- augur_ has joined. 18:10:40 who owns .website? 18:11:34 "DotWebsite Inc." 18:11:50 hm, and com. becomes www.com. 18:11:54 this is mysterious. 18:12:10 (With Brijesh Joshi (Director & GM) and Namit Merchant (General Manager) as the primary and secondary contacts.) 18:12:34 It's an "International Business Company" registered in the Republic of Seychelles. 18:12:36 and org. is w3.org... 18:14:59 Apparently .phd will exist. 18:15:09 For the academic elite who want that extra token of dickishness. 18:15:20 .university already does. Don't know how many universities have one. 18:15:28 Ours doesn't, at least. 18:15:41 Why would they? It's loony. 18:15:45 i'm just gonna get a domain from montserrat 18:15:55 Besides, many nations have a standard for university domains that's actually controlled. 18:15:59 Like .edu and .ac.uk 18:18:52 The .ac.uk domains are often nice and terse. Like the University of Sheffield have shef.ac.uk. (Though apparently that redirects to sheffield.ac.uk; how verbose.) 18:20:24 And www.cl.cam.ac.uk and so on. 18:20:43 I guess the thought goes, they've got that extra suffix, they have to be frugal with the rest of the domain name. 18:21:07 fizzie: ox.ac.uk 18:21:41 www.ed.ac.uk. 18:26:00 .ca doesn't have any vetted standard for universities *sigh* 18:26:31 Neither does .fi. 18:27:58 The domain, that is. I'm sure the country does something. 18:30:09 -!- drdanmaku has joined. 18:37:49 Heh 18:40:53 -!- Sprocklem has joined. 19:13:39 -!- adu has quit (Quit: adu). 19:53:33 Hmm. I am working on a project that while highly unlikely to achieve such, I would nonetheless ideally wish to see taken up by as many entities as possible, including commercial ones. 19:53:47 Which software licenses are most friendly to commercial entities? 19:53:52 -!- AnotherTest has quit (Ping timeout: 240 seconds). 20:01:42 public domain 20:03:05 proprietary if it's one company, public domain if more than one company's gonna use it 20:34:38 Yeah, I suppose PD is probably the easiest option, yeah. 20:36:35 -!- augur_ has quit (Remote host closed the connection). 20:37:08 Though for selfish reasons maybe a simple one-line note requesting an acknowledgment might not be a bad idea. 20:47:57 I don't know how shy commercial entities are using BSD-licensed software; some of it gets done. 20:49:13 -!- AnotherTest has joined. 20:50:29 It seems like it's a more popular option with the startup crowd anyway. 20:50:46 Open source for the taking with no requirement to give anything back ... 20:52:08 i should be clear that 'public domain' was a joke answer taking 'most friendly' to the extreme 20:52:27 BSD or MIT are pretty good 20:52:29 iirc 20:53:30 -!- AnotherTest has quit (Ping timeout: 246 seconds). 20:53:35 Phantom_Hoover: A joke perhaps, but still not the worst idea. 20:55:35 The mad idea here is to do for abusive/threatening messages what spam filters do for spam, with some extra processing steps. Assuming the idea takes on and/or I produce anything useful, I'm less interested in protecting my time than in ensuring such a feature gets adopted by as many sites as possible. 21:02:56 -!- Patashu has joined. 21:18:34 -!- AnotherTest has joined. 21:20:57 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 21:25:13 -!- Sprocklem has quit (Ping timeout: 260 seconds). 21:25:37 -!- Patashu has quit (Ping timeout: 245 seconds). 21:26:41 pkg.racket-lang.org is irritating me enough that I'm planning on fixing it 21:27:40 -!- oerjan has joined. 21:32:16 -!- Bicyclidine has joined. 21:39:43 -!- augur has joined. 21:40:34 -!- augur has quit (Read error: Connection reset by peer). 21:41:04 -!- augur has joined. 21:41:18 J_Arcane: BSD or MIT or CC0 21:41:54 also, that sounds fairly simple to do with e.g. a boring old bayesian classifier like can be used for spam? 21:42:19 if you want to make something public domain, use CC0; the law is complex 21:48:39 -!- AnotherTest has quit (Ping timeout: 272 seconds). 21:49:29 -!- alphapete has joined. 21:51:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 21:52:52 -!- ais523 has joined. 21:57:25 ~ 21:57:28 ~help 21:57:44 !help 21:57:48 `help 21:57:48 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 21:57:50 aha! 21:58:00 `ls 21:58:01 ​:-( \ bdsmreclist \ bin \ binpipes \ canary \ cat \ complaints \ crunchfuck \ :-D \ dc \ dog \ etc \ factor \ head \ hej \ hello \ hello.c \ ibin \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ Wierd \ wisdom \ wisdom.pdf 21:58:08 `cat :-( 21:58:09 ​☹ 21:58:12 uhhh 21:58:19 I don't know what I expected 22:01:12 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 22:15:33 -!- ais523 has quit (Read error: Connection reset by peer). 22:15:45 -!- ais523 has joined. 22:21:52 -!- shikhout has joined. 22:22:03 -!- boily has joined. 22:23:30 Work blocks Chrome autoupdating because of course they do. Uninstalling+Reinstalling Chrome worked to update it. 22:23:35 Firefox is allowed to auto-update 22:24:30 Sgello. 22:24:34 where do you work again? 22:25:23 -!- shikhin has quit (Ping timeout: 272 seconds). 22:26:11 Cablevision 22:27:03 Huh. 22:28:26 it sounds ominous. 22:36:12 -!- alphapete has quit (Quit: Computer has gone to sleep.). 22:39:34 -!- mihow has quit (Quit: mihow). 22:44:48 -!- alphapete has joined. 22:47:59 -!- idris-bot has quit (Quit: Terminated). 22:48:14 -!- idris-bot has joined. 23:10:05 Where might I find a list of (monospaced) characters sorted by area? 23:10:27 define area? 23:10:51 amount of space in their square taken up 23:11:04 eg, . takes up less space than M 23:11:23 Well, that depends absolutely and completely on the font you’re using. 23:12:01 lol 23:12:05 i think you will find that in most monospaced fonts . takes up exactly as much space as M hth 23:12:47 -!- Bicyclidine has joined. 23:12:50 I'm talking about shaded/filled in area 23:14:57 ▁▂▃▄▅▆▇█ 23:15:48 lol 23:16:05 * GeekDude will try plugging those into the program 23:16:10 ░▒▓█ 23:17:13 python does not like these characters 23:17:30 treats them as syntax errors -.- 23:17:31 humbug! of course it does. 23:17:46 Which python? 23:17:55 python 2.7 23:17:59 the non-unicode one :P 23:18:05 then u'░▒▓█'. 23:19:13 I had to add # coding=UTF-8 23:19:17 Mine finds them both agreeable. Without the u it uses UTF-8 bytes. 23:19:35 What, why would you have to say so? 23:20:12 the infamous # -*- coding: utf-8 -*- from python 2. 23:20:34 emacs and python, huh. grand 23:21:07 the only python I ever did was all joyously typed in vim. 23:22:05 (also some idle in the very early beginning, but I was in a confused state.) 23:22:07 why the emacs file variables then 23:22:19 because muscle memory from unknown sources. 23:22:34 3spooky 23:22:53 5me 23:24:37 -!- conehead has joined. 23:26:09 `` echo $LANG 23:26:09 en_NZ.UTF-8 23:28:09 `` python --version 23:28:09 Python 2.7.3 23:28:41 Does python have something like show? 23:29:01 :t show 23:29:02 Show a => a -> String 23:29:17 str(), i think? something like that 23:29:58 repr and str. 23:31:30 `` python -c print repr('█') 23:31:31 bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `python -c print repr('█')' 23:31:45 Closer to repr. 23:32:02 `` python -c 'print repr("█")' 23:32:02 ​'\xe2\x96\x88' 23:32:10 `` python -c 'print repr(u"█")' 23:32:11 u'\xe2\x96\x88' 23:32:38 -!- skj3gg has joined. 23:34:09 `` python <<<'repr(u"█")' 23:34:10 ​ File "", line 1 \ SyntaxError: Non-ASCII character '\xe2' in file on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 23:34:45 ? 23:35:35 i love strings 23:36:38 I find “string” not explicit enough for a real type. 23:36:52 `` python <<< 'print(u"▓".__repr__())' 23:36:52 ​ File "", line 1 \ SyntaxError: Non-ASCII character '\xe2' in file on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 23:36:59 * boily is puzzled 23:37:26 `` python <<<'repr(u"█")' | cat -v 23:37:27 ​ File "", line 1 \ SyntaxError: Non-ASCII character '\xe2' in file on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 23:37:42 no! not the evil and vile and horrendous “cat -v”! 23:37:46 So fun http://i.imgur.com/LkEFeoO.png 23:39:00 GeekDude: That reminds me, there was some lib for rendering using extended braille patterns. 23:39:26 can you zoom in 23:40:48 boily: Btw for me it complains of a non-ascii character, even though it accepts it by every other way. 23:42:00 Bicyclidine: no 23:43:09 Melvar: oh well. such is life. 23:43:31 (is there a Unicode Potato somewhere?) 23:44:17 I find only ROASTED SWEET POTATO 🍠 23:45:05 potato, but also not potato. quantum potato causes hallucinate from malnourish. 23:45:31 -!- drdanmaku has joined. 23:49:52 -!- DootBot has quit (Ping timeout: 245 seconds). 23:57:31 -!- skj3gg has quit (Quit: Leaving.). 23:58:08 Melvar: http://i.imgur.com/NdpcBSU.png 23:58:19 I made the scale a variable 23:58:26 so much easier than adjusting constants manually 23:59:02 GeekDude: Was that supposed to be directed at Bicyclidine? 23:59:20 uhh 23:59:26 not particularly 2014-09-18: 00:04:56 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 00:05:45 @tell Bicyclidine was it directed? 00:05:45 Consider it noted. 00:05:54 there. that should do the trick. 00:07:57 -!- skj3gg has joined. 00:12:38 -!- skj3gg has quit (Changing host). 00:12:39 -!- skj3gg has joined. 00:21:52 -!- ais523 has quit. 00:34:42 -!- conehead has quit (Quit: Computer has gone to sleep). 00:37:50 -!- boily has quit (Quit: MUNGED CHICKEN). 00:42:45 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:51:14 -!- skj3gg has quit (Quit: Leaving.). 00:51:48 -!- conehead has joined. 01:10:40 -!- conehead has quit (Quit: Computer has gone to sleep). 01:12:44 -!- shikhout has quit (Read error: Connection reset by peer). 01:18:00 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:49:11 -!- not^v has joined. 02:01:59 -!- doesthiswork has joined. 02:28:08 -!- oerjan has quit (Quit: Gnyte). 02:30:31 Gah. My mind keeps wanting to fill in the pattern and decide that Representable is (Profunctor p, Representable p) => p a b -> p (a -> b) (a -> b) 02:30:47 I have yet to figure out if that's sane or laughably idiotic 02:31:23 Representable is a class and that thing is a type. 02:33:04 s/Representable is/Repesentable's main method of note is/ 02:33:31 That doesn't make any sense for anything called Representable that I know of. 02:35:31 I mostly just mentally pattern matched on the pattern of profunctor-relevent classes that I've been seeing 02:35:35 >.> 02:36:07 s -> (a -> b), (a -> b) -> t 02:37:44 Uh. This looks like a lens, not like a setter. At least, there's a getting portion. 02:37:49 -!- alandipert has joined. 02:38:26 Wait, there.. isn't. /me blinks 02:38:35 I don't understand you, Sgeo. 02:39:35 What is (s -> a -> b) -> Optic s t a b? A setter? 02:39:48 Um. Setter that can only set but not modify? 02:39:49 A type. 02:41:02 Ok, that (a -> b) -> t looks absolutely ridiculous 02:42:52 you look ridiculous 02:43:28 The whole stream of consciousness thing you do in IRC is unusual. 02:43:39 Maybe I should throw lens in there. s -> ((a -> b), o), ((a -> b), o) -> t 02:46:39 shachaf: I should probably find a better place to put my thoughts 02:46:41 :/ 02:49:02 -!- b_jonas has quit (Ping timeout: 245 seconds). 02:49:09 -!- conehead has joined. 02:50:54 -!- lifthrasiir has quit (Quit: Lost terminal). 02:52:11 -!- lifthrasiir has joined. 02:58:19 Sgeo: you should do more normal things like report problems you find on wikipedia 02:58:42 ooooooooooooooOOOOOOOooooooooooooh 03:04:52 -!- b_jonas has joined. 03:14:01 -!- gfdsgdsgsd has joined. 03:14:26 hi 03:15:35 -!- gfdsgdsgsd has quit (Client Quit). 03:21:21 hi 03:32:20 Are there any sensible optics Optic (a -> b) (a -> b) a b? 03:32:32 I don't know how the s t a b types are required to related to eachother 03:32:56 That is, can s ~ t without a ~ b? 03:42:32 Eh, I don't see how that makes sense 03:43:09 Sgeo: think about Optic o i where o, i :: k -> * for some k 03:43:23 _1 :: Lens (\a -> (a,b)) (\a -> a) 03:43:35 field :: Lens (\_ -> Record) (\_ -> Field) 03:43:58 then Lens o i is like forall x y. Lens (o x) (o y) (i x) (i y) in the hackier s/t/a/b system. 03:44:18 anything you can't construct out of type functions like that is an abuse of the type laws relating the variables 03:46:08 I don't.... think I can construct it, then, without giving o improper knowledge of both x and y 03:46:50 So what is liyang talking about? 03:48:41 /last liyang 03:48:45 Lastlog: 03:48:45 04:46:50 So what is liyang talking about? 03:48:45 End of Lastlog 03:49:01 In #haskell-lens 03:49:23 I don't know. let me try to telepathically extract the context for a channel neither I nor probably the vast majority of this channel are in, as you talk about it in a completely unrelated channel. 03:50:45 E's saying that Setter s s a b does make sense... I guess that's distinct from the type in question though 04:22:18 velveeta 04:45:44 -!- MoALTz_ has joined. 04:48:27 -!- MoALTz has quit (Ping timeout: 255 seconds). 04:55:04 -!- doesthiswork has quit (Quit: Leaving.). 04:58:33 -!- conehead has quit (Quit: Computer has gone to sleep). 05:09:31 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:13:28 how does tell work again 05:14:39 @tell oerjan I haven't been working on implementing anything. i finished implementing it two years ago and sent it off to be scorned by elliott and ignored by gregor. 05:14:39 Consider it noted. 05:15:16 quintopia: implementing what? 05:16:35 quintopia: if you mail me something, I will hand deliver it to gregor 05:17:23 elliott: Yeah, at the moment, I'm focusing on first building a simple tool I can run to batch process collections of already identified abusive tweets and generate statistics on word counts and so forth. 05:17:37 @tell fizzie in practice, there was only ever one stationary distribution, and it was quite sane. the only way there could be more than one is if the chain is reducible, which is extraordinarily improbable on a large enough hill. 05:17:37 Consider it noted. 05:18:36 coppro: sorry, i just cleaned all my gym socks, but i'll let you know next time they get dirty 05:36:02 -!- alphapete has quit. 05:44:49 -!- ais523_ has joined. 05:50:49 -!- MoALTz_ has quit (Quit: Leaving). 05:53:44 -!- fizzie has set topic: BF Joust scoring poll: http://goo.gl/02KE0Y | All glogged up again | brainfuck survey results: https://www.surveymonkey.com/results/SM-JZ78GR8L/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/ | If something is possible, then it's possible that nothing is possible. | 987659473857929758374956789. 05:54:13 Please to be answering http://goo.gl/02KE0Y if you care about that sort of stuff. 05:57:06 (Just remember not to submit your password accidentally.) 05:59:32 hmm 05:59:49 I mostly care about the low ranking of preparation, because it beats (or once beat) every other program a little more than half the time 05:59:59 and it feels weird that it's nonetheless so far down the rankings 06:00:19 and I care about it because it's pretty much the only sort of defence program that there are currently no effective "free" countermeasures to 06:04:45 I wanted to write about the probabilistic lock, but not coming top of the hill means I can't 06:05:07 therefore, I guess I'll vote for points-based 06:18:15 I'm not sure that ranks 3 and 2 quite qualify as "so far down". I think all the four suggestions do treat "wins conclusively" (in terms of individual tape length/polarity configurations) as a bigger thing than "wins marginally". 06:18:44 indeed 06:19:01 I think that in today's world, that needlessly punishes defence programs 06:19:22 I guess I could say that I'd be happy with something that treats conclusive wins as worth less than they currently are 06:19:40 basically, due to the strategy of sacrificing 1/3 of the tape lengths to win on the other 2/3 06:27:48 I tried out switching the D/T (where D is the win margin, and T the number of configurations, i.e., the maximum win margin) term in traditional scoring to log(D+1)/log(T+1) -- basically, bumping the win-margin-to-weight curve to https://dl.dropboxusercontent.com/u/113389132/Misc/20140918-log.png -- in the traditional scoring, but even that didn't quite push preparation to top: ... 06:27:54 ... http://sprunge.us/DdQb 06:28:36 I guess I could just do more constant-tweaking 06:28:39 but I really don't have time right now 06:28:52 the annoying thing is that it'd be tweaking to increase win margin, which feels really really exploity 06:30:40 Doing (D+T)/(2T) puts preparation on top (with a score of 70.56 over 70.39 for Oj742_smartlock). 06:30:55 (That's basically weighing a "full win" to be twice as good as "barely a win".) 06:31:42 -!- shikhin has joined. 06:35:20 I guess an alternative method is just to submit a bunch of new programs that beat smartlock 06:35:31 although they'd also have to be quite good otherwise 06:38:29 http://sprunge.us/bBUD -- FWIW, I added that as an option too. 06:38:42 Even though modifying a poll after publishing it is a bit questionable. 06:40:54 oh well, I voted for that one too 06:41:00 the poll doesn't appear to have any protections against doublevoting 06:41:17 I don't think there was an option for that in Google Forms. 06:41:20 so I'm going to interpret it as an approval vote, and vote multiple times so long as it's for different options 06:41:37 There was one to make votes editable, I don't know how that would have worked. 06:42:08 (The responses also only show a timestamp and no identifiable information.) 06:45:08 For the record, you're the only person voting so far; the one Markov point is my own, and I don't really feel qualified to have an opinion due to not really partaking. 06:45:34 the markov system didn't look that bad, at least 06:47:30 huh, apparently ehird suggested win rate > 50% should be winner-takes-all 06:47:34 in any particular match 06:47:57 Yes; I haven't tried that out. 06:54:35 -!- conehead has joined. 06:55:12 -!- ais523_ has quit (Quit: Page closed). 06:56:29 -!- sebbu has quit (Ping timeout: 260 seconds). 07:04:00 -!- ais523 has joined. 07:17:42 (Profunctor p, Representable p) => p a b -> p (r -> a) (r -> b)? 07:18:45 What's this Representable class? 07:19:07 Is it from Data.Profunctor.Rep? 07:19:29 A thing that (->) supports but Forget and ForgetStream should not 07:19:48 If so, it's pretty clear that none of the things you're proposing are anything like what that class provides. 07:19:54 Oh, you just made up the name? 07:20:12 Not just made up, but it wouldn't be literally the same thing I guess 07:21:24 I have no idea what you're doing. 07:23:25 Assuming that Setter (r -> a) (r -> b) a b is some kind of 'primitive' setter, ala first' being a 'primitive' lens, and then trying to translate into something similar to the other optics' profunctor style 07:24:07 it's not hth 07:25:57 hmm 07:26:18 I guess in Haskell terms what I want is really along the lines of (Functor f) => Setter (f a) (f b) a b? 07:27:27 are you trying to define Setter in terms of Setter 07:28:33 I'm trying to define all Setters in terms of a single Setter composed with one particular lens and an information-containing Iso 07:28:49 Similar to how I can define all lenses in terms of one particular lens and an information-containing Iso 07:29:48 ok but the things you're saying aren't making sense 07:29:54 also keep in mind what xplat was saying 07:30:07 whatever. why are you saying all this in this channel? 07:31:44 -!- Deewiant has quit (Ping timeout: 250 seconds). 07:33:05 Because I have a habit of talking about this here? Not sure 07:35:45 -!- Bike has quit (Ping timeout: 272 seconds). 07:43:27 -!- vyv has quit (Ping timeout: 246 seconds). 07:44:25 -!- vyv has joined. 07:46:13 -!- Deewiant has joined. 08:10:13 -!- upgrayeddd has joined. 08:25:40 -!- Patashu has joined. 08:31:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:33:46 huh, IOCCC has started up again 08:33:49 any good ideas by anyone? 08:34:16 I'm wondering about submitting a program that hits every single constraint violation in the standard, as a portable test of compiler warning messages 08:35:51 so do I 08:35:56 also, OT but amusing: apparently there are no contingency plans in case the Scottish referendum ends in a tie 08:36:14 well, I didn't mean I was thinking the same program as ais523 suggested 08:36:16 anyway 08:41:58 -!- conehead has quit (Quit: Computer has gone to sleep). 08:53:44 -!- sebbu has joined. 08:54:21 -!- sebbu has quit (Changing host). 08:54:21 -!- sebbu has joined. 09:26:22 -!- paul2520 has quit (Ping timeout: 240 seconds). 09:37:47 -!- AnotherTest has joined. 09:38:13 oh, ioccc started? let me look 09:38:42 until oct 19? 09:39:41 -!- paul2520 has joined. 09:40:16 -!- paul2520 has changed nick to Guest90992. 09:42:34 Oct 19, 18:17:16, very arbitrary. 09:42:50 19 18 17 16 09:42:54 not 100% arbitrary 09:43:07 I can't interpret "October" as "20", though 09:43:20 what does it even mean that the contest is open from 2014-09-01 but the final rules are available and submissions can be sent only after 2014-09-15? 09:43:28 -!- ais523 has quit. 09:43:29 in what sense was the contest open before 2014-09-15 then? 09:45:11 I guess there might've been a preliminary page about it, before? 09:45:24 (I don't know, I didn't notice.) 09:46:14 Makes me wonder if the only-standard-identifiers thing could've had the makings of an IOCCC entry. 09:47:21 thing where? 09:47:42 http://zem.fi/2014-04-13-idbf 09:48:08 It's not exactly "obfuscated C", it's more of a "silly C thing". 09:49:05 ok 10:15:05 -!- boily has joined. 10:34:22 -!- boily has quit (Quit: Poulet!). 10:34:53 -!- boily has joined. 10:50:44 -!- shikhout has joined. 10:53:32 -!- shikhin has quit (Ping timeout: 245 seconds). 10:56:06 -!- sebbu2 has joined. 10:56:42 -!- sebbu2 has quit (Changing host). 10:56:42 -!- sebbu2 has joined. 10:57:38 -!- sebbu has quit (Ping timeout: 258 seconds). 11:14:24 -!- boily has quit (Quit: IMPLANTED CHICKEN). 11:20:08 -!- Phantom_Hoover has joined. 11:20:16 -!- Phantom_Hoover has quit (Changing host). 11:20:16 -!- Phantom_Hoover has joined. 11:41:52 -!- oerjan has joined. 11:45:29 @messages- 11:45:29 quintopia said 6h 30m 50s ago: I haven't been working on implementing anything. i finished implementing it two years ago and sent it off to be scorned by elliott and ignored by gregor. 11:46:47 oerjan: We established (I think) that my #4 was equal to the quintopia system. 11:46:50 @tell Stupid English Verb Tenses HTH 11:46:50 Consider it noted. 11:46:54 oops 11:47:01 Heh. 11:47:02 oh hm 11:47:08 `dontaskdonttelllist 11:47:08 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 11:47:09 Poor Stupid, always getting all these messages. 11:47:31 quintopia: Stupid English Verb Tenses HTH 11:49:40 Deewiant: You're one of the BF Joust guys, go answer the poll. 11:57:28 -!- oerjan has set topic: BF Joust scoring poll: http://goo.gl/02KE0Y | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 12:05:01 -!- Sgeo has quit (Read error: Connection reset by peer). 12:09:26 @ask impossibly_long_nickname hi 12:09:26 Consider it noted. 12:15:53 Nasty. 12:44:22 -!- shikhout has changed nick to shikhin. 12:59:49 -!- GeekDude has joined. 13:06:07 -!- Patashu has quit (Ping timeout: 245 seconds). 13:14:59 -!- Guest90992 has changed nick to paul2520. 13:15:25 -!- paul2520 has quit (Changing host). 13:15:25 -!- paul2520 has joined. 13:18:04 http://sprunge.us/NPQe -- most code generated out of a single "a/b" by GCC in C mode? 13:18:19 fizzie: i could probably find a copy of the code i wrote for gregor if it would help save you the trouble 13:19:18 I don't know, I have a numpy-based iterative thing already working, and I expect the eigenvalue solution would be just a matter of a numpy.linalg.eig. 13:22:23 oh but mine was in C 13:23:05 anyway, you didn't give example scorings for all the choices, so it's hard to decide 13:23:22 There should be examples for everything. 13:23:36 For the original four in the "details" page, and for the last-minute addons in the sprunge links. 13:24:05 well i wouldn't have thought to look at the details page 13:24:31 That's why the form says "-- including comparisons on the current hill" when linking to it. 13:24:50 Perhaps "example scorings" would be a better keyword. 13:25:11 Now it says that instead. 13:27:59 hmm any chance the three add-ons could be added to the points graph? 13:28:33 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 13:29:17 Sure, when I get home. Incidentally, is there some nice Web 3.11 data-visualization thing where I could just dump all the numbers and let people toggle the series visibility and that sort of stuff? (I've done that kind of client-side thing manually with d3.js, but that's just extra work.) 13:29:51 Maybe a Google Drive spreadsheet shared to all could work. 13:36:16 i don't really understand how you're converting the distribution to a score 13:36:23 #7 has such tiny scores. 13:36:31 do you just scale thetop score up to 100? 13:36:37 Your response helps to make the world better. Thank you. 13:36:39 I'm sure. 13:37:36 when i did it, i scaled it so the scores added to 100 or something like that. or maybe 200. i tried to make it so the top scores matches the current hill's top scores 13:38:03 -!- Phantom_Hoover has joined. 13:42:58 I scale the maximum to 100, yes. That's probably a detail that can be tweaked, I doubt people really care so much about the absolute number, more about the ranking. 13:43:13 http://goo.gl/rVpRLN should show a full comparison graph. 13:43:58 The earlier plot had them all scaled to the same [min, max] range, though that was mostly accidental. 13:51:11 I schmungled gearlance to support separate compilation stages, and wrote a hill-helper to do the actual battling fast-ish; it keeps the existing hill preparsed and threaded-code-compiled (as "left program") in memory, and for a new challenger only parses and right-compiles that one once, then runs the match code against all the cached left programs. 13:51:16 Even with all the Python glue around it, and computing scores and printing out a report.txt, it finishes the whole hill (from scratch, so doing the full "triangle" of matches) in 1.1 seconds, compared to 3.2 seconds for executing a separate gearlance invocation for each match. 13:52:16 trad and m+compromise are uncomfortably close in colour 13:52:42 yeah i can't decided and i don't have more time to think about it 13:53:13 Huh. You can't switch line styles in the chart thing. 13:53:19 Only color, and thickness, and point size. 13:54:07 i like the idea of M+compromise, but i can't support it because it produces insane scores 13:54:32 which is odd because trad+tweak produces great scores 13:55:25 I might check whether that's an implementation glitch, though it wasn't really a very large change. 14:13:43 fizzie: you'll recall perhaps that my rewrite added a feature: it showed how the rankings changed after the latest program was added. (e.g. a +2 next to a program if its ranking rose two positions) Can you add this thing? 14:25:22 -!- alphapete has joined. 14:32:00 -!- sebbu2 has changed nick to sebbu. 14:46:58 -!- perrier has quit (Remote host closed the connection). 14:48:04 -!- perrier has joined. 14:51:32 -!- perrier has quit (Remote host closed the connection). 14:52:38 -!- DootBot has joined. 14:52:38 DOOT DOOT! 14:52:38 -!- perrier has joined. 14:58:53 -!- perrier has quit (Read error: Connection reset by peer). 14:59:59 -!- perrier has joined. 15:02:50 -!- drdanmaku has joined. 15:03:54 -!- oerjan has quit (Quit: leaving). 15:08:20 -!- perrier has quit (Remote host closed the connection). 15:09:29 -!- perrier has joined. 15:15:16 -!- perrier has quit (Remote host closed the connection). 15:16:23 -!- perrier has joined. 15:16:26 -!- Bike has joined. 15:22:58 -!- perrier has quit (Remote host closed the connection). 15:24:02 -!- mihow has joined. 15:24:04 -!- perrier has joined. 15:25:08 -!- perrier has quit (Remote host closed the connection). 15:26:14 -!- perrier has joined. 15:27:19 -!- perrier has quit (Remote host closed the connection). 15:28:25 -!- perrier has joined. 15:29:20 -!- perrier has quit (Read error: Connection reset by peer). 15:30:27 -!- perrier has joined. 15:55:37 quintopia: I don't recall, but I can certainly add that thing in the reports. 15:59:25 fizzie: also if your hill is as fast as you say, we could feasibly have a HUEG hill 16:03:11 i wonder if there is a way to have a "predictive" infinite tournament where someone's position is determined by playing the top few, comparing the record with everyone else's records, and choosing the remaining competitors based on which ones will best reduce the ranking uncertainty. not for bfjoust you understand, just in general. 16:10:16 It sounds like the sort of thing someone has thought about. Elo rankings and such are kind of the same, except with no selection for the most informative games. 16:10:34 I remember someone giving a presentation about TrueSkill, the thing Xbox uses for matchmaking. 16:10:46 The goals are a bit different there, but I remember a lot of thought went into that thing. 16:11:27 TrueSkill is designed to factor in fandomness 16:11:32 *randomness 16:11:56 That, too. And teams. 16:17:21 -!- aretecode has joined. 16:21:09 -!- Imaginer1 has joined. 16:21:10 Hey guys 16:21:25 What's your favorite esoteric language? I'm bored with the ones I've been working on. 16:21:50 Mine is Piet 16:22:00 Of the ones I created, Fueue 16:22:02 Do you actually code in it oftne though? 16:22:11 I used to a lot more (for Piet) 16:22:28 Oh, huh. Well I'm looking into Fueue now... *shrug* 16:22:47 I never actually figured out how for Fueue, although oerjan did 16:23:07 You mean how to code in it? 16:23:44 Yeah 16:24:06 Mm. 16:24:20 Any others you've just found interesting? There should be a 'popular' page on the wiki... 16:24:23 Underload is another good language, and along that line there's also False 16:24:27 And Glass and Befunge... 16:24:41 -!- perrier has quit (Remote host closed the connection). 16:24:58 Yeah, but I've already worked with those... Maybe I should just settle down with a language and try to write some quines or something 16:25:19 ZOMBIE? 16:26:02 That's a weird one O.o 16:29:35 My favourite has always been Befunge, and while I haven't been writing all that much in it lately, it's certainly among the most practical esolangs. 16:29:59 Really? O.o 16:30:11 fungot: Wouldn't you say so? 16:30:11 fizzie: in school? anyway don't remember it, if it's difficult enough to apply to a func, something i didn't feel lisp is picking up some old garbage and watching in horrified fascination at the maggots... 16:30:17 (That's written in Befunge.) 16:31:01 I know he is ^^ 16:31:14 Befunge with structured programming features (like named functions) would probably make a pretty usable language. 16:31:27 -!- perrier_test has joined. 16:31:29 At that time it's just a quirky Forth, really. 16:32:42 yeah 16:34:36 What's EOF in Fueue? 16:34:50 Implementation defined 16:34:56 Mmk. 16:35:53 Generally 0 I think 16:37:52 -!- perrier_test has quit (Remote host closed the connection). 16:41:18 -!- perrier_test has joined. 16:41:38 -!- perrier_test has quit (Remote host closed the connection). 16:50:21 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:51:24 -!- shikhout has joined. 16:53:11 -!- AnotherTest has quit (Ping timeout: 272 seconds). 16:53:19 -!- Imaginer1 has joined. 16:53:34 -!- Imaginer1 has quit (Client Quit). 16:54:19 -!- perrier has joined. 16:54:40 -!- shikhin has quit (Ping timeout: 260 seconds). 16:56:17 as far as "practical" goes, i'd have to put gamma or deltaplex at the top. bytepusher is up there too. 16:59:30 -!- perrier has quit (Read error: Connection reset by peer). 17:00:25 -!- perrier has joined. 17:13:35 fizzie: I wonder if it's possible to combine SKI calculus with Befunge in a meaningful way 17:15:22 -!- MoALTz has joined. 17:16:53 http://sprunge.us/PPFI looking good 17:24:19 that bot reminds me of me 17:29:30 "Apple included language in its first Transparency Report to say that it had not been subject to a Section 215 Patriot Act request. That language is now gone." niiice 17:37:51 http://codepad.org/cAoadKHp <- any suggestions, critics? 17:37:57 (Haskell stuff) 17:38:20 oh. the haddock for <<\>> is wrong 17:38:29 or is it... 17:38:36 no it's correct 17:48:10 mroman_: Box = Applicative + Copointed? 17:48:28 oh. 17:48:30 unbox is allowed to be partial. 17:48:31 ewww. 17:48:55 and it isn't even a functor (since id x =/= x for counterbox) 17:49:58 Well.. you can't unbox a Nothing 17:50:14 I can't change that :) 17:50:38 you shouldn't be using fromJust and the like unless you absolutely have to... unbox just makes fromJust type functions ubiquitous. it's not a great thing to abstract over. 17:51:02 Yeah. Also it will tell you fromJust: undefined 17:51:12 instead of unbox: undefined 17:51:31 that's a minor detail and easily changeable 17:52:11 unbox should at least return a Maybe itself, so you can fromJust it if you really want. 17:52:11 -!- zhill has joined. 17:52:39 anyway, CounterBox shouldn't exist, it violates any reasonable laws you could come up with relating anything 17:52:53 an okay implementation of that type would have mapping not change the number but summing or taking the product of the two numbers when merging 17:53:06 the [] instance is the ZipList Applicative instance + head 17:53:26 (CounterBox would then be like (,) (Sum Int) or Writer (Sum Int), it would work with any monoid) 17:53:44 -!- shikhout has changed nick to shikhin. 17:53:46 a box is like a monad 17:53:47 the Maybe instance is the Applicative instance for Maybe + unbox 17:54:04 -!- conehead has joined. 17:54:09 There's a really experimental thing if someone wants to give it a go and see how many attempts it takes to make it crash. I'll get back to fiddling with it tomorrow, probably. (It's lacking URL capabilities, too.) 17:54:09 ( :let fromJust : (mx : Maybe a) -> {auto ij : IsJust mx} -> a; fromJust (Just x) {ij=ItIsJust} = x 17:54:09 defined 17:54:11 really you should just have class Applicative f => Impure f where impure :: f a -> Maybe a or something if you really want 17:54:43 ( fromJust (Just 0) 17:54:43 0 : Integer 17:55:17 ( fromJust (the (Maybe Integer) Nothing) 17:55:17 When elaborating argument ij to function fromJust: 17:55:17 Can't solve goal 17:55:17 IsJust (the (Maybe Integer) Nothing) 17:55:21 !bfjoust ijustreadthewiki (>)*9([(+)*9[-]]>)*21 17:55:21 fizzie~ijustreadthewiki: points -10.81, score 22.00/100, rank 41/47 17:55:23 :t ItIsJust 17:55:24 Not in scope: data constructor ‘ItIsJust’ 17:55:30 Melvar: how can I see the data declaration for IsJust? 17:55:39 ( :doc IsJust 17:55:39 Data type IsJust : Maybe a -> Type 17:55:39 Proof that some Maybe is actually Just 17:55:39 Constructors: 17:55:39 ItIsJust : IsJust (Just x) 17:55:55 Melvar: is the "x" not extractable from ItIsJust? 17:56:10 is it like, an existential proposition or something? 17:56:36 It can be, but I would think you want to erase the whole thing. 17:56:52 in Coq you can get the x out of Inductive IsJust {A} : Maybe A -> Type := ItIsJust : forall {x}, IsJust (Just x). 17:56:52 (And the scores go to http://zem.fi/bfjoust/report.txt at the moment, but that's very temporary too.) 17:57:00 (but not if you s/Type/Prop/) 17:57:13 yeah but impure :: f a -> Maybe a 17:57:15 elliott: That is, you can, but then the compiler will decide it can’t erase it. 17:57:21 where's ,<\> etc? ;) 17:57:50 mroman_: I told you, all your reasonable instances are existing Applicative instances, and the rest are awful and won't satisfy any coherent set of laws 17:58:04 () is fmap/(<$>) 17:58:10 mergeWith is liftA2 17:58:27 the [] instance = ZipList Applicative 17:58:34 the Maybe instance = Maybe Applicative 17:58:42 SimpleBox = Identity Applicative 17:58:55 CounterBox = broken, won't satisfy any reasonable set of laws 17:59:16 Laws about what? 17:59:20 Sum/Product = the respective Applicatives (if they have instances? they certainly can be given them) 17:59:45 First/Last = broken (too partial because of not implementing the Applicative-equivalent methods) but I think they have Applicative instances anyway 17:59:52 mroman_: the functions. typeclasses are meant to have laws. 17:59:57 sure id x == x doesn't necessarily hold 17:59:58 instances are meant to have some commonality; that's the point of abstraction 18:00:29 I'm saying that anything useful you can do with this class can be done with that Impure, and the instances that would violate the laws of that are going to be surprising and brittle and not useful. 18:00:43 it's okay if you ignore my advice, but you did ask for it. 18:01:07 I see @laws 18:02:11 (you can relate impure to pure by e.g. impure . pure = Just and then you get, e.g. impure . fmap f = fmap f . impure for free and such, which is nice; it's still a little ad-hoc but could be a lot worse) 18:02:36 elliott: In Idris, the compiler figures out what things it can erase, but you can give it hints. I think it will prefer to erase implicit things over explicit things usually. 18:03:01 Melvar: that's interesting... so if I wrote a function that observed the x in ItIsJust, it'd not be erased when compiled? 18:03:09 that requires whole-program analysis, I guess? 18:03:55 I believe it does. 18:04:13 mroman_: getting close to reinventing Applicative is pretty impressive though :) it's a wonderful abstraction 18:04:21 If you annotated it appropriately, the compiler would warn you if you accidentally observed it. 18:05:27 I don't have the CatTheory-Background for those things etc. 18:05:35 the only law I know is map (f . g) = map f . map g 18:05:49 which apparentely breaks with seq or something 18:06:16 don't worry about seq :p 18:06:44 but it seemed nice to have (+) <\> [Just 9, Just 8, Nothing] return Nothing (or 17 if it were not for the Nothing) 18:06:51 and <<\>> which skips over Nothings 18:07:07 i.e (+) <<\>> [Just 9, Just 8, Nothing] will return Just 17 18:07:57 > foldl1' (+) <$> sequence [Just 9, Just 8, Nothing] 18:07:59 Nothing 18:08:03 > foldl1' (+) <$> sequence [Just 9, Just 8] 18:08:04 Just 17 18:09:16 @hoogle foldM 18:09:18 Control.Monad foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a 18:09:18 Control.Monad foldM_ :: Monad m => (a -> b -> m a) -> a -> [b] -> m () 18:09:18 Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m 18:10:01 @hoogle foldlM 18:10:01 Data.Foldable foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m a 18:10:49 elliott: Do you know how to transpose a Vect of Vects? 18:10:58 Melvar: in idris? 18:11:38 Well, presumably it would work anywhere you have Vect. 18:13:24 Thing is, Vect n is Applicative for all n (it zips). It’s also Traversable (it acts like any sequential container). 18:13:46 ( with Vect sequence [[1,2,3],[4,5,6]] 18:13:46 [[1, 4], [2, 5], [3, 6]] : Vect 3 (Vect 2 Integer) 18:14:39 So, what sequence does with a Vect of Vects just happens to be to transpose it. 18:15:48 I absolutely love how it just falls right out of the abstractions. 18:16:15 > sequence [[1,4],[2,5],[3,6]] 18:16:17 [[1,2,3],[1,2,6],[1,5,3],[1,5,6],[4,2,3],[4,2,6],[4,5,3],[4,5,6]] 18:16:41 hm 18:16:54 > sequence [[x,y],[x,y]] 18:16:56 [[x,x],[x,y],[y,x],[y,y]] 18:17:04 Melvar: right. 18:17:08 this looks binomish 18:17:15 > sequence . map ZipList $ [[1,4],[2,5],[3,6]] 18:17:17 Could not deduce (GHC.Base.Monad Control.Applicative.ZipList) 18:17:17 arising from a use of ‘Control.Monad.sequence’ 18:17:17 from the context (GHC.Num.Num a) 18:17:17 bound by the inferred type of 18:17:17 it :: GHC.Num.Num a => Control.Applicative.ZipList [a] 18:17:20 Melvar: that works withZipList too, I think? 18:17:25 *with ZipList 18:17:29 > sequenceA . map ZipList $ [[1,4],[2,5],[3,6]] 18:17:30 Not in scope: ‘sequenceA’ 18:17:31 Perhaps you meant one of these: 18:17:31 ‘T.sequenceA’ (imported from Data.Traversable), 18:17:31 ‘sequence’ (imported from Control.Monad.Writer), 18:17:31 ‘T.sequence’ (imported from Data.Traversable) 18:17:32 I've used sequence to transpose before, I think. 18:17:33 > map (\[x,y] -> x*y) $ sequence [[x,y],[x,y]] 18:17:35 [x * x,x * y,y * x,y * y] 18:17:40 > T.sequenceA . map ZipList $ [[1,4],[2,5],[3,6]] 18:17:42 ZipList {getZipList = [[1,2,3],[4,5,6]]} 18:17:44 (I just didn't know what Vect was. I know that type as Vec.) 18:17:49 > sum $ map (\[x,y] -> x*y) $ sequence [[x,y],[x,y]] 18:17:51 0 + x * x + x * y + y * x + y * y 18:18:00 > getZipList . T.sequenceA . map ZipList $ [[1,4],[2,5],[3,6]] 18:18:01 [[1,2,3],[4,5,6]] 18:18:30 > getZipList . T.sequenceA . map ZipList $ [[1,4],[2,5,8],[3,6]] 18:18:31 [[1,2,3],[4,5,6]] 18:19:46 > transpose [[1,4],[2,5,8],[3,6]] 18:19:47 [[1,2,3],[4,5,6],[8]] 18:20:39 Not *quite* the same with ZipList :3 18:25:04 -!- blsqbot has joined. 18:25:19 > sequence [[1,2,3],[4,5,6],[7,8,9]] 18:25:21 [[1,4,7],[1,4,8],[1,4,9],[1,5,7],[1,5,8],[1,5,9],[1,6,7],[1,6,8],[1,6,9],[2,... 18:25:29 > {1 2 3}{4 5 6}cp 18:25:31 :1:1: parse error on input ‘{’ 18:25:41 !blsq {1 2 3}{4 5 6}cp{7 8 9}cp 18:25:42 {{{1 4} 7} {{1 4} 8} {{1 4} 9} {{1 5} 7} {{1 5} 8} {{1 5} 9} {{1 6} 7} {{1 6} 8} 18:25:52 !blsq {1 2 3}{4 5 6}\[cp{7 8 9}cp 18:25:53 {{{1 4} 7} {{1 4} 8} {{1 4} 9} {{1 5} 7} {{1 5} 8} {{1 5} 9} {{1 6} 7} {{1 6} 8} 18:26:03 Melvar: I guess it works for (->) too 18:26:13 Melvar: if you have a Traversable instance that requires the enumerability of the input parameter or such 18:26:19 (or does it need to be finite?) 18:26:50 ok so sequence on lists is cross product . concat 18:27:07 !blsq {1 2 3}{4 5 6}cp\[{7 8 9}cp 18:27:08 {{1 7} {1 8} {1 9} {4 7} {4 8} {4 9} {1 7} {1 8} {1 9} {5 7} {5 8} {5 9} {1 7} { 18:27:16 Well, (Vect n a) is isomorphic to (Fin n -> a). 18:27:33 Melvar: right. 18:27:54 you can transpose (Nat -> Nat -> a) too, though. 18:28:53 Oh, yes, but I’m pretty sure you can’t make Stream Traversable. 18:29:01 map (concat) . crossProduct actually. 18:29:12 Melvar: I think you can do it if you're okay with it only working with sufficiently lazy Applicatives. 18:29:22 class Doop a where { doop :: Monoid m => (a -> m) -> m }; instance Doop a => Traversable ((->) a) where { sequenceA f = ??? (doop ???) } -- a puzzle 18:29:49 Melvar: after all, the instance for [] breaks on a lot of Applicatives when you pass infinite lists. 18:30:25 (doop would be isomorphic to doop :: [a], except it differs when laziness means you care about the structure of an infinite tree) 18:30:25 Yeah, but Idris has a totality checker and two different explicit lazinesses. 18:30:27 > let cp xs = [[x,y]|x<-xs,y<-xs]] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]] 18:30:29 :1:32: parse error on input ‘]’ 18:30:30 right. 18:30:33 I meant in Haskell. 18:30:41 > let cp xs = [[x,y]|x<-xs,y<-xs] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]] 18:30:42 Couldn't match type ‘[[t]]’ with ‘[t] -> [t]’ 18:30:42 Expected type: [t] -> [t] -> [t] 18:30:42 Actual type: [t] -> [[t]] 18:30:49 I think you can make the same Traversable instance work for transposing (Fin n -> Fin n -> a) and (Nat -> Nat -> a). 18:31:20 > let cp xs ys = [[x,y]|x<-xs,y<-ys] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]] 18:31:22 Occurs check: cannot construct the infinite type: t ~ [t] 18:31:22 Expected type: [t] -> [t] -> [t] 18:31:22 Actual type: [t] -> [t] -> [[t]] 18:31:25 Ah screw it :( 18:31:33 I suck at Haskell-Lists 18:32:40 although the cp part doesn't look wrong. 18:32:58 > [[x,y]|x<-[1..3],y<-[1..3]] 18:33:00 [[1,1],[1,2],[1,3],[2,1],[2,2],[2,3],[3,1],[3,2],[3,3]] 18:33:28 > let cp xs ys = concat [[x,y]|x<-xs,y<-ys] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]] 18:33:30 [1,7,1,8,1,9,4,7,4,8,4,9,1,7,1,8,1,9,5,7,5,8,5,9,1,7,1,8,1,9,6,7,6,8,6,9,2,7... 18:33:38 nope. still wrong. 18:34:17 Can't you fold with cross-product? 18:35:56 I'm already too accustomed to Burlesque's reduce :( 18:36:09 !blsq {{1 2 3}{4 5 6}{7 8 9}}qcpr[ 18:36:10 {{{1 4} 7} {{1 4} 8} {{1 4} 9} {{1 5} 7} {{1 5} 8} {{1 5} 9} {{1 6} 7} {{1 6} 8} 18:36:37 (qcpr[ means reduce(crossProduct,xs)) 18:37:23 Well, you’re producing what appears to be lists with differently-typed members. 18:37:30 elements that is. 18:37:31 Yes 18:37:46 The result type would (in Haskell) depend on the number of elements in the List I guess 18:38:15 -!- alphapete has left. 18:38:15 Yes. 18:38:18 which sounds like it could be done in a dependant typed language? 18:39:50 You could, pretty sure. It’ll be more trouble than it’s worth *in practice*, but if you want to play, sure. 18:45:37 !blsq {{1 2 3}{4 5 6}{7 8 9}}qcpr[)\[ 18:45:37 {{1 4 7} {1 4 8} {1 4 9} {1 5 7} {1 5 8} {1 5 9} {1 6 7} {1 6 8} {1 6 9} {2 4 7} 18:46:03 !blsq {{1 2 3}{4 5 6}{7 8 9}{1 1 1}}qcpr[)\[ 18:46:04 {{{1 4} 7 1} {{1 4} 7 1} {{1 4} 7 1} {{1 4} 8 1} {{1 4} 8 1} {{1 4} 8 1} {{1 4} 18:46:14 :D 18:46:41 http://who.is/dns/jamiehankins.co.uk 18:46:46 someone forgot the sanitize their inputs 18:46:58 XSS through dns entries 18:46:59 :-D 18:47:27 that's incredible 18:48:04 amazing 18:48:11 Why does that refer to a script on peniscorp 18:48:18 wat 18:48:28 that's really cool 18:49:40 I recently pentested an webapp that allows XSS via &lt;b&gt; 18:50:02 the & will get replaced to & which form < which will be replaced to < 18:50:14 that's not as funny as a side-channel attack but still 18:50:28 .... What kind of an app does that O_o 18:50:41 isn't the point of & to avoid these kinds of things? 18:50:49 er, < 18:51:02 Well 18:51:05 It had a filter 18:51:13 that replaced < > with "" (i.e. Nothing) 18:51:26 but also replaced entities with their corresponding ASCII symbols 18:51:42 and that filter was applied twice 18:51:55 (I don't know why, but twice sounds more secure than only once) 18:51:56 I assume it didn't let you use < by itself> 18:51:56 ? 18:52:01 WE DOUBLE FILTER ALL THEM INPUTZ. 18:52:20 no. < would be replaced to < and then by the second filter pass it will be removed 18:52:27 o 18:52:42 so you have to use &lt; 18:53:19 https://xss-game.appspot.com/level1 18:53:21 this looks fun 18:53:33 It was a block-box test though 18:53:46 I haven't seen the source-code and I have no idea why and what actually did this 18:53:48 mroman_: Doesn’t that mean it would still be insecure if it was just applied once? 18:54:01 Melvar: it exactly implies that 18:54:26 then you could just use < 18:54:41 but the filtering was done once for the preview 18:54:50 So … what was the filtering for even? 18:54:50 and once for actually saving the text 18:54:57 Melvar: I have no idea 18:57:02 > \x -> x == [x] 18:57:04 Occurs check: cannot construct the infinite type: t ~ [t] 18:57:04 Relevant bindings include x :: [t] (bound at :1:2) 18:57:16 I haven't actually looked if it's done by the php-backend or the javascript frontend 18:57:20 ( \x => x == with List [x] 18:57:20 (input):1:23:When elaborating an application of constructor Prelude.List.::: 18:57:20 Unifying a and List a would lead to infinite value 18:57:33 since it's also for the preview it's probably some bad sanitizeHtml javascript function 18:57:45 I just put it onto the list of "stuff to report" 18:57:58 It also had an xls-Export 18:58:12 which allowed you to embed excel-functions 18:58:12 I am amused how, where Haskell complains of an infinite type, Idris complains of an infinite value, which just happens to be a type. 18:58:32 i.e. if you wrote "=5+5" as a answer to a question and the teacher exported it 18:58:38 the teacher would see 10 18:59:38 (i.e. students can steal answers from other students by doing stuff like =C2 hoping that the answer of the student who did the test first was correct) 19:07:35 -!- sebbu has quit (Read error: Connection reset by peer). 19:08:27 -!- sebbu has joined. 19:09:03 -!- sebbu has quit (Changing host). 19:09:03 -!- sebbu has joined. 19:20:58 -!- AnotherTest has joined. 19:28:35 -!- zhill has quit (Remote host closed the connection). 19:33:17 -!- zhill has joined. 19:34:32 !bfjoust ijustreadthewiki http://sprunge.us/QILS 19:34:33 fizzie~ijustreadthewiki: points -8.14, score 26.05/100, rank 37/47 (change: +4) 20:05:43 -!- Frooxius has quit (Quit: *bubbles away*). 20:11:33 ~, really? 20:11:45 btw, which scoring method won? 20:13:39 I haven't decided yet, that's just beta-testing. 20:14:49 I'm hoping to happen to coincide with some actual BF Joust players for their input re scoring. 20:15:03 (But it's in the Markov/quintopia mode for now.) 20:15:17 (Except with my max-to-100 normalization instead of the sum-to-N one.) 20:16:06 are there going to be fancy HTMLy breakdown pages with egojsout-style traces showing the results??? 20:16:18 and ponies? 20:16:20 I was kind of thinking there would. 20:17:06 It's all deterministic, so it can happen entirely client-side, assuming there's some way to fetch the corresponding code. 20:17:52 can be kind of slow, though (but egojsout is usually okay) 20:18:08 Also I don't really know about ~, I just wanted something unambiguous that's (a) not a legal nickname character and (b) not a legal character in program names, and both - and _ seem to be in use for the latter on the hill. 20:18:21 at least, the match results are useful to see, so you know where to start poking to improve it, and they have to be generated as part of the hill's operation anyway 20:18:36 fizzie: ~fizzie/ijustreadthewiki, clearly. it's the unix way. 20:18:37 -!- sebbu has quit (Ping timeout: 245 seconds). 20:18:59 I didn't want to use / because there's a 1:1 mapping with program names and file names at the moment, too. 20:19:19 well, you'd just have to store it in /home/fizzie/ijustreadthewiki.bfjoust. 20:19:22 All user names are referred to as in @fizzie now, haven’t you heard? Get with the times. 20:19:38 actually I kind of like fizzie:ijustreadthewiki 20:19:55 or is : legal in nicks? 20:20:00 No, and the colon is something I thought of. 20:20:03 ! is another. 20:20:09 That's all nick!user@host-y, too. 20:20:54 (Both get escaped in bash tab-completion so they might have some shell meanings. I know ! does. An inner ~ doesn't.) 20:20:59 fizzie/ijustreadthewiki is githubby! 20:23:09 because github invented that 20:23:40 yes, I definitely said that. 20:23:56 As for match results, there's a breakdown.txt generated already -- http://zem.fi/bfjoust/breakdown.txt -- following the old-fashioned format. But I did also type in a full-ish JSON dump, so that the fancy website can dynamically generate tables and matrices, show individual results as tooltips and link to an EgoJSout trace, sort according to different scoring metrics and so on. 20:25:05 (I think the breakdown.txt numbers are inverted from the traditional, though.) 20:32:37 -!- Frooxius has joined. 20:38:28 watch ioccc.org 20:39:15 -!- Froox has joined. 20:42:46 -!- Frooxius has quit (Ping timeout: 244 seconds). 20:51:40 -!- ski has quit (Ping timeout: 250 seconds). 20:55:41 -!- Froox has quit (Ping timeout: 244 seconds). 20:55:45 -!- Frooxius has joined. 20:57:34 -!- ski has joined. 21:03:14 i'm waiting for ioccc 2035 21:03:17 -!- WizardFromOz has joined. 21:05:49 -!- Patashu has joined. 21:11:27 -!- sebbu has joined. 21:12:04 -!- sebbu has quit (Changing host). 21:12:05 -!- sebbu has joined. 21:21:11 -!- blsqbot has quit (Ping timeout: 255 seconds). 21:27:22 -!- clog has quit (Ping timeout: 245 seconds). 21:27:48 -!- ion has quit (Ping timeout: 245 seconds). 21:28:13 -!- coppro has quit (Ping timeout: 245 seconds). 21:28:23 -!- atehwa_ has quit (Ping timeout: 240 seconds). 21:28:25 -!- jj2baile has quit (Ping timeout: 240 seconds). 21:28:36 -!- Patashu has quit (Ping timeout: 260 seconds). 21:29:30 -!- ion has joined. 21:29:34 -!- atehwa has joined. 21:29:36 -!- coppro has joined. 21:31:30 -!- augur has quit (Remote host closed the connection). 21:32:39 -!- mihow has quit (Quit: mihow). 21:35:08 -!- sebbu has quit (Ping timeout: 260 seconds). 21:40:52 -!- aretecode has quit (Ping timeout: 258 seconds). 21:43:07 -!- aretecode has joined. 21:44:23 -!- aretecode has quit (Read error: Connection reset by peer). 21:44:54 -!- oerjan has joined. 21:50:04 -!- AnotherTest has quit (Ping timeout: 260 seconds). 22:05:19 -!- not^v has joined. 22:37:09 -!- not^v has quit (Read error: Connection reset by peer). 22:37:20 -!- ^8 has joined. 22:39:56 -!- clog has joined. 22:43:44 -!- alandipert has left. 22:51:12 -!- shikhout has joined. 22:54:22 -!- shikhin has quit (Ping timeout: 245 seconds). 23:04:55 -!- Sgeo has joined. 23:08:57 -!- shikhout has changed nick to shikhin. 23:20:09 -!- skj3gg has joined. 23:20:16 -!- skj3gg has quit (Changing host). 23:20:16 -!- skj3gg has joined. 23:22:38 -!- skj3gg has left. 23:32:25 -!- sebbu has joined. 23:33:01 -!- sebbu has quit (Changing host). 23:33:01 -!- sebbu has joined. 23:48:20 -!- avid has joined. 23:49:57 -!- ^8 has quit (Quit: http://i.imgur.com/Akc6r.gif). 2014-09-19: 00:16:37 -!- not^v has joined. 00:24:29 -!- Bicyclidine has joined. 00:32:49 -!- MoALTz_ has joined. 00:35:40 -!- MoALTz__ has joined. 00:35:45 -!- MoALTz has quit (Ping timeout: 260 seconds). 00:36:38 -!- drdanmaku has quit. 00:36:47 -!- spiette has quit (Quit: :qa!). 00:39:09 -!- MoALTz_ has quit (Ping timeout: 255 seconds). 00:47:29 -!- Bicyclidine has quit (Read error: Connection reset by peer). 00:48:27 -!- Bike_ has joined. 01:32:43 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:43:56 -!- oerjan has quit (Quit: leaving). 01:53:56 -!- newsham has quit (Quit: reboot). 02:03:04 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:03:17 -!- augur has joined. 02:05:39 -!- newsham has joined. 02:10:10 -!- zzo38 has joined. 02:12:20 -!- augur has quit (Read error: Connection reset by peer). 02:13:51 -!- augur has joined. 02:16:05 -!- Bike_ has changed nick to Bicyclidine. 02:16:50 It says "You are using a version of Firefox which is unsupported." Actually I am not using Firefox at all. 02:17:28 that explains why it's not supported 02:20:40 it detects a distant precursor to Firefox (well, NCSA Mosaic to be exact) 02:20:44 nothing wrong here 02:27:54 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 02:58:48 -!- Bicyclidine has quit (Ping timeout: 246 seconds). 03:09:56 -!- Bicyclidine has joined. 03:13:13 -!- WizardFromOz has quit (Quit: Leaving). 03:15:10 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 03:21:26 Does the vote tonight mean no more Scottish independence posts on Planet Haskell? 03:21:46 No. 03:22:05 @messages-loud 03:22:05 You don't have any messages 03:22:09 er. 03:22:16 stupid machine. whatever. boily what the hell 03:24:09 I'm still weirded out by the possibility of random numbers having a huge impact on the fate of the world 03:24:42 you should read some wwii history sometime. 03:25:18 Did the outcome of a lottery game affect it majorly? (Although I am curious what you mean) 03:25:48 -!- avid has left. 03:26:03 enigma codebreakers relied on seeds being things like the telecom officer's wife's initials instead of something random 03:26:54 So it was the impossibility of random numbers 03:27:19 well if you wanna be all pessimistic about it! 03:27:44 -!- augur has quit (Remote host closed the connection). 03:30:16 it's sad that "will it stop interrupting my infinite feed of programming?" is people's attitude to politics. 03:30:37 planets are a community thing, anyway, they usually deliberately don't only syndicate posts related to the community they're for 03:31:29 It's one of the few productive attitudes to politics 03:31:37 * Sgeo may not have been entirely serious... but I'm kind of removed from the situation and too uninformed to really have an opinion on this issue. 03:31:44 Except as vague interest. 03:31:46 i can kind of understand wanting to keep news feeds of different sorts separate. like i'd rather get news on scotland from a newspaper than from haskell programmers. 03:31:56 of course this assumes haskell programmers would get world news elsewhere, and, well 03:33:08 Jafet: *yawn* 03:33:19 Bicyclidine: well, it's more that something like planet haskell is intended to be "a bunch of haskell programmer blogs" rather than "a bunch of posts about haskell" 03:33:25 the latter is, like, /r/haskell or whatever. 03:33:42 yeah that's true. 03:41:11 My listing on Planet Clojure only applies to posts I tag as clojure 03:47:28 -!- shikhin has quit (Ping timeout: 244 seconds). 04:01:32 -!- nortti has quit (Ping timeout: 245 seconds). 04:02:17 -!- nortti has joined. 04:17:20 -!- augur has joined. 04:17:43 -!- augur has quit (Read error: Connection reset by peer). 04:18:13 -!- augur has joined. 04:53:17 I can't help but wonder if the bbcbias people would say BBC's projection is biased 04:53:31 Maybe not, but still 04:58:07 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 05:06:43 no has obviously won 05:07:31 even the yes campaign acknowledges that, so I don't know what your point is 05:07:31 * copumpkin hrrrmpfs 05:07:45 copumpkin: yeah 05:09:41 media bias is merely an easy, unfalsifiable scapegoat to avoid acknowledging actual results. 05:09:58 that's a really weird thing to say. 05:10:17 I don't think anyone is accusing the BBC of being biased for predicting the obvious other than Sgeo's weird hypothetical. 05:10:28 there's plenty more compelling reasons to accuse the BBC of bias. 05:10:53 scotland becomes independent but viktor krum catches the snitch 05:10:54 Tellingly, while the Yes voters are blaming BBC bias for torpedoing results, the Telegraph is whining about the BBC being mean to Thatcher and talking up the evils of fairness ... 05:11:37 but what does brass eye say 05:12:38 that's... not really telling. like, different people and organisations accuse others of things all the time, simultaneously. it doesn't really tell you anything other than that people have opinions 05:12:58 elliott: which is exactly what I mean by 'telling.' 05:13:20 but did we need to be told that 05:13:26 uh... thank you for telling us people have opinions. 05:14:27 btw, I don't know what "unfalsifiable" is meant to mean there... you can quantify bias in various ways, demonstrate actual internal bias or corruption... it's only as "unfalsifiable" as any concept with a degree of uncertainty and fuzziness, which is basically all of them 05:15:51 I mean in the sense that "media bias" is used as a political excuse, it tends to be constructed in a manner more similar to religious belief than fact. 05:16:51 The right says the media has a left-wing bias, the left says the media has a right-wing bias, the religious say the media have an anti-establishment bias, the atheists say it has an anti-science bias, etc. etc. 05:17:04 religion means more than people saying things 05:17:16 * elliott rolleyes. time to go to bed and hopefully wake up to statements with more content than "people have opinions" obfuscated in a billion rephrasings 05:17:42 and no amount of arguing will prove one or the other, because in a world with 24 hour news there's enough "data" to support almost any conspiracy. 05:17:58 * Sgeo is now addicted to Scottish music 05:18:04 no, listen. that's stupid. 05:18:15 it's true. nothing is provable, everything is false, all belief is religion, everyone is blind, hail satan 05:18:19 Sgeo: check out the corries. 05:18:28 that's a really stupid thing you just said. think about it a bit. there's too much information, we can no longer say anything, argument is meaningless 05:21:58 "media bias" is a political dogwhistle for "I've run out of more concrete accusations" to make. Vague insinuations and one-off incidents will get blown up to make victory of defeat, and everyone gets to go home pretending they've "won". 05:22:54 do you know what "dogwhistle" means? why would you want to secretly communicate that you're out of argument? 05:23:05 are you really that naive? 05:23:14 Yes, I'm a fucking idiot. 05:23:29 Fair enough, at least you know your limitations. 05:23:59 https://twitter.com/dril/status/134787490526658561 Me 05:24:05 There's an 11% margin on the current vote. 05:24:40 I highly doubt that a botched Nick Robinson story accounted for 11% of the vore. 05:26:00 The rest is just vague insinuations and anger, which will boil down to an inquiry which will resolve nothing, prove nothing, and fix nothing. 05:26:06 okay, but there's a fair bit of extrapolation between that and "no accusation of media bias is ever well-founded". 05:26:56 But because it's so deeply vague, it's not really disprovable either, and the "Yes" voters get to grumble until the end of time about the evil biased Beeb conspiring against Scotland instead of admitting that maybe most Scots really just didn't want to go indy. 05:29:31 Eh, Scotland wins more anyway through devolution 05:37:35 What happens if that doesn't happen? 05:38:09 Then they hold another referendum and win. 05:38:12 Bike: short of a few specific and obvious examples, they rarely are. Also, it's 8:30AM and I've had just one cup of coffee yet. My apologies for rambling so long to get to that point. 05:38:57 shame any data you attempted to show me to back that up would be conspiracy mongering 05:39:00 I thought celtic was Irish, but my searches for scottish music are turning up celtic songs 05:39:41 coppro: Yup. They can just hold another one, claim the results of the previous were spoiled by until the PM grovels some more and makes more promises, and so on and so forth. 05:39:46 I blame Yes Scotland for getting me hooked on Scottish music. PDF that /r/scotland had linked to both campaigns, the Yes Scotland campaign had an ad with nice music 05:39:56 irish is under gaelic a lot. 05:40:02 which is a kind of celtic, but, whatever 05:40:29 unfortunately i've been underexposed to cornish rap. 05:40:32 The Better Together campaign site was more or less shut down. Too bad, I would have liked to see a similar ad 05:40:41 I'm sure they exist, I should search 05:41:09 manx rockabilly 05:41:48 Sgeo: Scots and Irish are both Celtic peoples who once spoke Gaelic. 05:41:56 Ah 05:43:11 J_Arcane: well they can specifically say "They said they'd devolve. They lied." 05:43:48 "They said that we our NHS would be safe. They said that blah blah blah. None of that is true. Only independence can guarantee that." 05:44:03 the margin is close enough that that would proabably sway enough of them to Yes 05:44:37 I'm glad it wasn't like Quebec though 05:48:00 wasn't there for 1995, but it was a clusterfuck by all accounts 06:01:51 What song is in the background of this? https://www.youtube.com/watch?v=LJL0z5O67_M 06:02:32 lol that's one glurgey ad 06:04:14 https://www.youtube.com/watch?v=EKTjfXmVpiQ I guess? But it sounds different 06:17:17 http://projects.csail.mit.edu/gsb/old-archive/gsb-archive/gsb2000-02-11.html is a great post 06:21:35 are the scots now free? 06:21:42 or is the poll still on-going? 06:22:17 nvm found the results 06:22:27 they will stay in the non-free repository 06:44:28 -!- MoALTz__ has quit (Quit: Leaving). 06:46:10 I think I figured out how to make hardware address decoding for Z-machine address, in a Famicom cartridge: http://wiki.nesdev.com/w/index.php/User:Zzo38/Mapper_I Do you think it is OK, did I make some mistake, etc? 06:46:50 coppro: That there is exactly why web dev drives me up the wall. XD 07:02:32 zzo38: that statement sounds scar 07:02:56 scary 07:04:00 b_jonas: Why? 07:05:22 zzo38: I probably just don't know much about the Z-machine or hardware stuff 07:06:58 How much do you know of Famicom programming though? 07:07:43 nothing 07:08:03 Do you know any 6502 programming? 07:08:50 zzo38: not everybody is as crazy as you 07:09:11 I know a bit of 6502 but never tried programming because it's old 07:09:53 I know how simple instructions it has, and how innovative that small cpu was for its time 07:10:39 I know about its nice zero-page address instructions, and the less nice indexing 07:11:42 built in stack handling and decimal mode 07:12:09 the index registers are 8 bit wide, so you can do proper indexing by self-modifying instructions only 07:12:31 Well, decimal mode doesn't work on a Famicom, though. (The decimal flag is still there, but it does not affect any arithmetic operations.) 07:13:11 those design things, of course, made sense at the time and made it a great success, even if they sound strange now 07:13:33 It make sense to me now too though 07:14:36 the zero-page addressing certainly does 07:15:01 on x86_32, we have 8-byte offsets indexed by EBP instead 07:25:09 -!- AnotherTest has joined. 07:25:27 Famicom has internal RAM at $0000-$07FF, and $0800-$1FFF are mirrors of this internal RAM. The stuff I wrote about in the examples takes advantage of this. 07:29:18 -!- Patashu has joined. 07:31:20 -!- Patashu has quit (Client Quit). 07:33:44 zzo38: so two bits are ignored? 07:34:18 that happens in modern computers too, though only with the smaller memory-mapped io control spaces, not with main memory 07:34:23 I think 07:35:11 b_jonas: Yes, two bits are ignored (although one of them is used by the cartridge, in my case) 07:46:24 -!- ais523 has joined. 07:54:01 -!- Patashu has joined. 07:55:40 My design also can avoid the "less nice indexing", because it bankswitches one byte at a time. 07:59:22 -!- Patashu has quit (Remote host closed the connection). 07:59:43 -!- Patashu has joined. 08:09:17 -!- ais523 has quit. 08:10:53 -!- int-e has quit (Ping timeout: 240 seconds). 08:15:36 -!- Phantom_Hoover has joined. 08:39:50 -!- int-e has joined. 09:00:28 -!- lambdabot has quit (Quit: embracing the void). 09:05:15 -!- lambdabot has joined. 10:15:58 -!- boily has joined. 11:02:20 `? stephen wofram 11:02:21 stephen wofram? ¯\(°​_o)/¯ 11:02:25 `? stephen wolfram 11:02:25 Stephen Wolfram is an esolanger with too much money and power. Taneb invented him. 11:03:26 `? tanebventions 11:03:27 Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, and this sentence. 11:05:24 `? chu space 11:05:25 A Chu space is just a matrix. Taneb invented them, then Chu stole his invention. 11:05:42 You invented go? 11:05:49 `? go 11:05:50 Go is a common verbal game programming language invented by the Germanic Taneb tribes in the strategic territories of East Asia. 11:07:30 `? chess 11:07:30 Chess is a complex boardgame, where players exchange unclear royal steaks until they decide which of them has lost. The game is recorded through the Gringmuth Moving Pineapple Notation. 11:07:45 chess is still my favourite ^^ 11:08:41 "pineapple" is the scow of words 11:09:01 imagine if there was a fruit that had one name across all languages 11:09:32 that would be within reach if not for "pineapple"! 11:10:33 I firmly believe that English is a collective hallucination that tries to pass itself as a language. 11:10:35 you can start calling it ananas 11:10:50 where should the stress fall? 11:11:01 first syllable 11:11:08 `? pineapple 11:11:09 Pineapple is a hybrid species descended from a cultivar of spinach and wild ivy, therefore making it a class 6 vegetable. 11:12:05 J_Arcane: what does that have to do with web dev? 11:12:41 `? english 11:12:41 english? ¯\(°​_o)/¯ 11:12:46 Perhaps English is a Tanebvention. 11:13:14 I don't think so 11:14:39 Did you invent Polish? 11:14:48 Yes 11:15:15 Anyway, I saw http://blog.wolfram.com/2014/09/18/introducing-tweet-a-program/ 11:16:20 -!- boily has quit (Quit: WITHERING CHICKEN). 11:19:34 And he seems once again to be an esolanger with too much money and power 11:20:15 `? d/da 11:20:16 No output. 11:20:20 What's this all about? 11:41:42 -!- GeekDude has joined. 12:06:10 -!- oerjan has joined. 12:43:19 -!- zzo38 has quit (Remote host closed the connection). 13:41:52 coppro: Because the last time I worked on any kind of web app I spent less time actually coding and more time fucking about with CSS. :P 13:43:15 CSS T_T 13:52:15 J_Arcane: Does the corresponding thing not hold when writing any kind of GUI app? 13:53:40 no, not really 13:55:32 GUIs take lots of time :( 13:55:38 unless a framework generates it for you 13:58:12 GUIs really depend on the language too, though yeah, you can spend a lot of time mucking about with window designers and DSLs and all kinds of stuff there. 13:58:25 AutoHotkey has a pretty easy gui api 13:58:41 fucking around with CS is coding... just unpleasant coding 14:00:47 -!- kcm1700_ has joined. 14:04:16 there is no way in ghc haskell to catch an exception in such a way that you can print its original type, is there 14:04:48 -!- jix_ has joined. 14:04:57 -!- atehwa_ has joined. 14:04:59 -!- ski__ has joined. 14:06:20 Exceptions should be Typeable 14:06:31 yes, but that does not actually help 14:06:36 *CSS, but also accidentally true. 14:06:54 oerjan: SomeException lets you use typeOf I think? 14:06:57 elliott: I guess that's fair. My brain compartmentalizes them differently, but that's my own prejudice as much as it's anything. 14:07:00 \(SomeException e) -> print (typeOf e) or such 14:07:14 since it's data SomeException = forall e. Exception e => SomeException e, iirc 14:07:18 elliott: which always returns "SomeException", i would believe 14:07:27 oerjan: why? 14:07:30 or hm 14:07:31 fromException = SomeException 14:07:36 oh 14:07:39 let's see 14:08:48 -!- KingOfKarlsruhe_ has joined. 14:09:52 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 14:10:41 -!- newsham has quit (*.net *.split). 14:10:41 -!- clog has quit (*.net *.split). 14:10:41 -!- atehwa has quit (*.net *.split). 14:10:41 -!- ski has quit (*.net *.split). 14:10:41 -!- jix has quit (*.net *.split). 14:10:41 -!- kcm1700 has quit (*.net *.split). 14:10:41 -!- KingOfKarlsruhe has quit (*.net *.split). 14:10:41 -!- variable has quit (*.net *.split). 14:10:41 -!- Lymia has quit (*.net *.split). 14:13:30 yay it worked. and unfortunately shows that -fdefer-type-errors don't have their own exception type, just uses ErrorCall 14:15:22 -!- conehead has joined. 14:15:28 -!- conehead has quit (Changing host). 14:15:28 -!- conehead has joined. 14:15:47 -!- variable has joined. 14:16:42 :t \e -> typeOf (fromException e) 14:16:43 No instance for (Typeable e0) arising from a use of ‘typeOf’ 14:16:43 The type variable ‘e0’ is ambiguous 14:16:43 Note: there are several potential instances: 14:18:36 :t fromException 14:18:38 Exception e => SomeException -> Maybe e 14:18:38 -!- Lymia has joined. 14:19:11 Jafet: you need a pattern match on SomeException to get it properly existential. 14:19:39 Oh, gadt amusements. 14:21:10 :t \(SomeException e) -> typeOf e 14:21:11 SomeException -> TypeRep 14:25:42 -!- Patashu has quit (Ping timeout: 245 seconds). 14:27:20 -!- newsham has joined. 14:36:01 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 14:42:18 -!- clog has joined. 14:46:28 -!- GeekDude has joined. 14:48:14 -!- perrier has quit (Ping timeout: 272 seconds). 14:48:20 -!- HackEgo has quit (Ping timeout: 272 seconds). 14:49:07 -!- HackEgo has joined. 14:49:10 -!- lifthrasiir has quit (Ping timeout: 272 seconds). 15:03:54 -!- ski has joined. 15:05:47 -!- ski__ has quit (Ping timeout: 260 seconds). 15:05:52 What's it called when a point in statistical data is too far away from the usual data so you just throw it away 15:06:15 outlier? 15:06:33 yes 15:07:09 -!- shachaf has quit (K-Lined). 15:08:45 -!- lifthrasiir has joined. 15:11:01 The point is called the outlier. Throwing away the point is called fudging 15:11:10 (among other names) 15:12:16 I'm ok with "ignoring" it for doing regressions and stuff 15:12:25 but you should still show it 15:12:49 If you collect data you shouldn't just throw away parts of it 15:12:51 that's like hiding 15:13:07 lol 15:14:05 Well.. yeah. 15:14:15 Maybe that peak was real and not just some measurement error 15:14:27 or maybe it's not so stasticiscally insignificant as thought 15:14:32 *statistically 15:14:41 -!- drdanmaku has joined. 15:16:17 Thou shalt not hide data even if it's negative. 15:16:35 something like that 15:16:58 only publishing the positive results and keeping negative a secret is something I'd like to call lying to the readers face 15:22:29 https://twitter.com/BillCorbett/status/512967804946251776 15:23:00 -!- idris-bot has quit (Quit: Terminated). 15:25:23 -!- Melvar has quit (Quit: thunderstorm on top of me). 15:31:21 -!- barrucad1 has joined. 15:31:37 -!- fungot has quit (Ping timeout: 250 seconds). 15:31:39 -!- Zuu has quit (Ping timeout: 250 seconds). 15:31:39 -!- glogbackup has quit (Ping timeout: 250 seconds). 15:31:42 -!- ineiros_ has quit (Ping timeout: 252 seconds). 15:31:47 -!- barrucadu has quit (Ping timeout: 250 seconds). 15:31:49 -!- qlkzy has quit (Ping timeout: 250 seconds). 15:31:49 -!- elliott has quit (Ping timeout: 250 seconds). 15:31:51 -!- ineiros has joined. 15:32:01 -!- mihow has joined. 15:33:12 -!- elliott_ has joined. 15:33:16 -!- barrucad1 has changed nick to barrucadu. 15:33:20 -!- Zuu has joined. 15:33:43 -!- Zuu has changed nick to Guest25067. 15:34:13 -!- shachaf has joined. 15:38:26 -!- Phantom_Hoover has joined. 15:39:38 -!- shachaf has quit (Changing host). 15:39:38 -!- shachaf has joined. 15:41:10 -!- qlkzy has joined. 15:41:10 -!- qlkzy has quit (Excess Flood). 15:41:21 -!- qlkzy has joined. 15:41:21 -!- qlkzy has quit (Excess Flood). 15:41:21 -!- shikhin has joined. 15:43:02 -!- shachaf has left. 15:44:41 -!- mysanthrop has joined. 15:45:39 -!- qlkzy has joined. 15:46:06 -!- myname has quit (Ping timeout: 250 seconds). 15:56:06 -!- Melvar has joined. 15:57:49 -!- idris-bot has joined. 16:04:29 -!- shachaf has joined. 16:10:36 -!- mysanthrop has changed nick to myname. 16:13:16 -!- oerjan has quit (Quit: leaving). 16:16:19 -!- AndoDaan has joined. 16:16:40 'sup 16:22:19 'sup 16:29:55 GeekDude, you a bot? Everybody is a bot here... 16:30:03 GeekDude, you a bot? Everybody is a bot here... 16:30:13 I KNEW IT! 16:30:24 I KNEW IT! HE WAS LYING! 16:30:31 WAIT 16:30:33 WAIT? 16:30:36 OMG 16:30:39 WHAT?] 16:30:43 Smart AI 16:30:46 It's happening 16:30:51 Quick, send me a captcha 16:30:56 Turing test, now! 16:31:03 uhh 16:31:07 the answer is 42 16:31:20 Woot, we're going to make millions. 16:31:34 millions in zimbawe? 16:31:41 at first... 16:31:52 then zillions (in zimbawe) 16:31:58 then... something else 16:51:34 does your double act tour? 16:53:30 GeekDude: Say aardvark. 16:53:47 GeekDude: Say aardvark. 16:53:53 :D 16:54:23 I read the dictionary once, turns out the Zebra did it. 16:54:30 BUMDUM TSHICHCHH 16:54:33 or summat 16:56:35 http://www.omgchrome.com/run-android-apps-on-windows-mac-linux-archon/ 16:57:20 Is that useful? 16:57:57 uhh 16:58:05 well, I already have an android phoen 16:58:07 phone* 16:58:14 so not really for mw 16:58:16 me* 16:58:19 my fingers hate me -.- 16:58:33 aww, I'm sure it's just a phase 16:58:56 It's been going on for several months now 17:03:15 show them who's boss 17:03:19 crack 'em 17:07:18 hash's are considered irreversible encryptions? 17:07:28 That's not a good irreversible encryption then 17:07:34 *hashs 17:07:45 I like mine with discrete logarithms better 17:08:35 c = a^m mod p (where key = (a,p), m = message, c = encrypted message) oughta do it 17:08:39 it's easy to encrypt 17:08:50 but hard to decrypt even if you know the key 17:09:14 but still decryptable 17:11:16 I like the ones you encrypt with one key, and decrypt with another 17:11:20 Can't remember what those are called 17:13:15 GeekDude: Asymmetric. 17:17:19 -!- AndoDaan has quit. 17:27:50 -!- mihow has quit (Quit: mihow). 17:49:56 -!- mihow has joined. 17:54:47 I like mine 17:55:07 it's easy to verify if the password somebody supplied to you is the same as the one stored encrypted in your database 17:55:10 yet 17:55:16 as NSA 17:55:21 you can still decrypt it pretty good 18:00:44 uhh 18:01:06 * GeekDude is not going to use any website you set up the passwords for 18:01:51 Tried to compile some C++ on eos.zem.fi, and it ran out of memory. :/ 18:03:53 lol 18:04:25 http://sprunge.us/TeKZ swap swap swappity swap 18:09:13 -!- Guest25067 has changed nick to Zuu. 18:09:36 -!- Zuu has quit (Changing host). 18:09:36 -!- Zuu has joined. 18:10:09 -!- DootBot has quit (Read error: Connection reset by peer). 18:15:40 -!- conehead has quit (Quit: Computer has gone to sleep). 18:21:07 Heh, I even got an email from the VPS company about it. 18:21:25 "This is an automated notification to inform you that your VPS named 'eos' has been severely slowed down the past hour because of swapping." 18:21:44 So thoughtful. 18:21:55 (I don't think it's ever getting past this one .cpp file.) 18:22:48 what are you compiling? 18:23:15 It's a Ruby gem thing. 18:23:50 -!- DootBot has joined. 18:23:51 DOOT DOOT! 18:23:53 SciRuby's "NMatrix" linear-algebra thingie, in fact. 18:24:06 aha 18:24:27 And the file it's stuck on is their sparse-matrix class. 18:24:30 -!- AndoDaan has joined. 18:24:32 aye 18:25:12 GeekDude: they can pre-compute a log-table for (a,p) 18:25:13 :) 18:25:44 maybe 18:25:50 probably requires lots of disk space 18:25:53 but they got the moneys 18:46:02 Whatever is fastest at execution time, I suppose 18:46:43 -!- not^v has joined. 18:56:27 How do I distcc? It's just running everything locally. 18:58:24 Oh, I was just wrong. 18:58:50 -!- variable has quit (Ping timeout: 272 seconds). 19:04:00 -!- AnotherTest has quit (Ping timeout: 272 seconds). 19:08:15 -!- variable has joined. 19:12:32 Let's see if a gigabyte is enough for that file it got stuck with last time. 19:13:37 Over half of it gone already. :/ 19:17:39 Ha, it compiled. This was the silliest thing since sliced bread. 19:21:17 -!- zhill has quit (Remote host closed the connection). 19:23:34 -!- zhill has joined. 19:23:45 -!- Bicyclidine has joined. 19:34:29 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 19:35:53 -!- shikhout has joined. 19:35:56 fizzie, does your hill just use the gearlance interpreter? 19:36:05 (How are you supposed to use it even) 19:38:05 It listens to the same "!bfjoust" command, since that seems to have been free. 19:38:35 And it uses a hill-friendly version of gearlance that supports separate compilation, I hyped it up here the other evening. 19:38:53 There's supposed to be a fancy website, but I haven't gotten that done yet. 19:39:18 Mind if I ask a question? How do I participate in bfjoust? 19:39:22 -!- shikhin has quit (Ping timeout: 272 seconds). 19:39:43 Just go "!bfjoust somename your_source_code_here" and see what happens. 19:39:48 we did a tourney on codegolf.stackexchange and it was fun. 19:39:56 okay. 19:39:57 (What happens is likely to be "the system crashes", since it's very experimental.) 19:40:15 And 'somename' is a name for the program; your nick gets added to it automatically. 19:40:21 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf 19:40:21 Lymia: URL fetch problems: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 19:40:28 !bfjoust nyuroki http://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf 19:40:28 Lymia: URL fetch problems: 404 Not Found 19:40:32 Nice 19:40:40 Huh. 19:40:46 It worked when I pointed it a sprunge. 19:40:51 how relativistic. 19:40:59 The plain 'http://' seems to redirect to the https. 19:41:23 !bfjoust nyuroki http://pastebin.com/raw.php?i=hV4apfE3 19:41:23 Lymia~nyuroki: points -1.60, score 33.35/100, rank 24/47 19:41:32 Anyway, where's the hill? 19:41:38 !bfjoust 19:41:38 fizzie: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 19:41:41 ah, your_source_code_here has to be a link to the source? 19:41:53 AndoDaan: If it's short enough, it can be just the code itself. 19:42:00 grand. 19:42:01 !bfjoust ../report.txt I win 19:42:02 Lymia~reporttxt: points -33.52, score 5.80/100, rank 47/47 19:42:10 * Lymia hides 19:42:17 I *think* that was just "...". 19:42:21 Does it take (>)*10 code, you know. 19:42:26 Sure. 19:42:32 So, uh 19:42:34 And (a{b}c)%d too. 19:42:43 We actually have a hill where (.)*-1 doesn't insta-win? 19:42:44 Yay! 19:42:48 okay, thanks 19:43:02 !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*6[-]]>)*21 19:43:02 AndoDaan~BeatYouMate: points -8.26, score 25.21/100, rank 42/47 19:43:11 it worked 19:43:20 42nd woot! 19:43:28 hehe 19:43:32 !bfjoust syntaxerror didn't[test[this[yet 19:43:32 I broke down! Ask fizzie to help! The details are in the log! 19:43:32 -!- zhill has quit (Quit: Abandon ship, abandon ship!). 19:43:35 ... 19:43:40 That's not supposed to happen. 19:43:44 Surprised nyuroki did sorta well. 19:44:05 fizzie, where can you access the hill 19:44:12 And why is report.js not accessible 19:44:29 I forgot to chmod it, is why. 19:44:48 It's not going t be a very user-friendly file, it's just there for the upcoming website. 19:44:59 Question still remains though 19:45:02 Where's the hill 19:45:06 Same's with the source code, I need to set up gitweb or something for it. 19:46:26 I don't understand why the earlier exception handler didn't catch the syntax error and deliver a user-readable error message, instead of giving up. 19:46:41 !bfjoust <<<<<<<<<<<<<<<< < 19:46:48 -!- zhill has joined. 19:46:50 !bfjoust <<<<<<<<<<<<<<<< < 19:46:50 Lymia: Program name looks like gibberish. Did you forget it? 19:46:53 I just started it up with no changes, so try not to do syntax errors. 19:48:32 !bfjoust nyuroki http://pastebin.com/raw.php?i=hV4apfE3 19:48:33 I broke down! Ask fizzie to help! The details are in the log! 19:48:33 -!- zhill has quit (Client Quit). 19:48:40 ... 19:48:45 I like this bot. 19:48:46 Are you sure you don't have deeper problems 19:48:49 fizzie: help!! 19:49:33 parse error: terminating ) without a matching ( 19:49:43 Is what gearlance says to that paste. 19:49:51 !bfjoust PandW >>>>>-<<<<<--->------------(-)*5>++++++++++++++++(+)*7>>(+)*13+++++++++++++++++>------------------->+++++++++++++>----------------->++++++++++++++++++++++++++++++>([(+.)*16[-]]>[(-.)*16[-]]>[(+.+.+.+.)*4[-]]>)*7 19:49:52 But 19:49:56 too long 19:50:01 zhill accepted literally the exact same paste 19:50:24 That's the strangest. 19:50:49 Maybe I fetched it wrongly. 19:51:01 Anyway, I know what's up with the crash, so let me just fix that first. 19:51:39 !bfjoust pandw http://pastebin.com/raw.php?i=2GET3EkT 19:51:53 AndoDaan: It's still down. Could you just please wait a second. 19:51:58 sorry. 19:52:04 will do 19:52:41 You have to write ({})%x right 19:52:46 And not ({})*x 19:52:58 -!- zhill has joined. 19:53:16 !bfjoust nyuroki http://pastebin.com/raw.php?i=hV4apfE3 19:53:17 It's gearlance, from what I recall it treats % and * entirely identically. 19:53:17 I broke down! Ask fizzie to help! The details are in the log! 19:53:17 -!- zhill has quit (Client Quit). 19:53:19 ... 19:53:31 I'm very good at programming, honest. 19:53:39 Your bot has problems. 19:53:56 # 19:54:41 How the why. 19:57:45 snort 19:59:00 -!- zhill has joined. 19:59:02 It probably won't work now either, but at least it produces more noise in the log. 19:59:18 My local test instance worked just fine, and "git status" in the hill directory just says it's all clean. 20:01:03 !bfjoust ijustreadthewiki (>)*8(>([-{[+.]}>])%500)%21 20:01:03 fizzie~ijustreadthewiki: points -17.38, score 17.34/100, rank 47/47 (change: -7) 20:01:50 Ah, ({}) 20:01:52 -!- not^v has quit (Ping timeout: 245 seconds). 20:02:02 Makes my entire HLL basically redundant except as a macro system. 20:02:02 ^.6 20:02:03 ^.^ 20:02:17 Plain old-fashioned gearlance errors should no longer be fatal. 20:02:27 !bfjoust ijustreadthewiki except[now[I[made[an[error 20:02:27 error: parse error: starting [ without a matching ] 20:02:54 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 20:03:04 -!- not^v has joined. 20:03:55 I don't know what was up with that paste not being accepted, though. 20:05:49 !bfjoust Lymia-nyuroki-retest http://pastebin.com/raw.php?i=hV4apfE3 20:05:49 fizzie~Lymia-nyuroki-retest: points -1.93, score 33.18/100, rank 26/47 20:05:55 IDGI. 20:06:16 Now there's two copies, which is certainly suboptiomal. 20:06:21 !bfjoust Lymia-nyuroki-retest < 20:06:21 fizzie~Lymia-nyuroki-retest: points -46.00, score 0.00/100, rank 47/47 (change: -21) 20:08:59 For the record, it was the "git commit -q -m ..." that "failed", where failing means a non-zero exit code. 20:09:32 Ohhh. 20:10:23 It's what happens if there are no changes to commit, of course. 20:10:44 Since just replacing the file's contents with identical stuff isn't a change. 20:10:48 !bfjoust nyuroki >>>>>>>>++<--<+<--<(+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*8(>[(-[{(+)*3(+[{(-)*6(-[{(+)*16(+[{(-)*24(-[{(+)*41(+[{(+)*82[[+.].]{}})*21})*17})*8})*10})*3})*3]--)%-1 20:10:48 error: parse error: encountered second { on a same level 20:11:04 uh? 20:11:45 !bfjoust nyuroki >>>>>>>>++<--<+<--<(+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*8(>[(-[{(+)*3(+[{(-)*6(-[{(+)*16(+[{(-)*24(-[{(+)*41(+[{(+)*82[[+.].]{}})%21})%17})%8})%10})%3})%3]--)%-1 20:11:45 error: parse error: encountered second { on a same level 20:12:04 I don't get what's wrong here 20:12:12 I'm trying to look at it. 20:12:17 !bfjoust simpletest (({{}})%1)%1 20:12:17 Lymia~simpletest: points -33.52, score 5.73/100, rank 47/47 20:12:27 !bfjoust simpletest (({({{}})%1})%1)%1 20:12:27 error: parse error: encountered second { on a same level 20:12:57 Oh, that's right; the innermost { is technically on the same level as the first {. 20:13:07 The error message might not be most clear. 20:13:08 How? 20:13:18 Shouldn't it be matching with the outermost ()%? 20:13:32 -!- Phantom__Hoover has joined. 20:13:49 It's not clever enough for that. 20:13:59 -!- conehead has joined. 20:14:09 The algorithm seems simple enough 20:14:16 Push a ()% when you encounter one 20:14:25 Pop an ()% when you encounter an {} 20:16:12 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 20:21:19 Well, the implementation is kind of crufty, it's a single-pass thing to match all ({})s with each other, and it treats all ()s identically, so at the { time it won't know if the matching ( is a ()% or a ()*. So you couldn't write something like ((({{}})%a)*b)%c anyway. Or you could, but it would match the inner {} with the ()*b. 20:22:30 erk 20:22:32 I don't think I can mentally expand something like (a(b{c(d{e{f}})%2})%2)%2 either. 20:22:32 Isn't this why 20:22:37 % and * are treated differently? 20:22:56 fizzie, ({})%-1 is basically call-cc, isn't it 20:23:04 Or, well. 20:23:14 No, while(true)/continue 20:23:23 I was really just following established consensus here. 20:23:29 And the rest is conventional ({})%n 20:23:33 For implementing a giant wiggle clear 20:24:20 fizzie: does the separate compilation really help much? 20:24:22 !bfjoust becauseican (>+>-)*4(>[-])*-1 20:24:22 Lymia~becauseican: points -21.52, score 13.97/100, rank 47/47 20:24:33 !bfjoust becauseican (>(+)*10>(-)*10)*4(>[-])*-1 20:24:34 Lymia~becauseican: points -14.07, score 20.15/100, rank 45/47 (change: +2) 20:24:43 !bfjoust becauseican (>(+)*10>(-)*10)*4(>++[-])*-1 20:24:43 Lymia~becauseican: points -10.57, score 23.69/100, rank 43/47 (change: +2) 20:24:46 !bfjoust becauseican (>(+)*10>(-)*10)*4(>++[-]-)*-1 20:24:46 Lymia~becauseican: points -7.74, score 29.43/100, rank 35/47 (change: +8) 20:24:56 !bfjoust becauseican (>(+)*4>(-)*4)*4(>++[-]-)*-1 20:24:56 Lymia~becauseican: points -17.52, score 17.75/100, rank 47/47 (change: -12) 20:25:01 !bfjoust becauseican (>(+)*10>(-)*10)*4(>++++[-]-)*-1 20:25:01 Lymia~becauseican: points -9.81, score 26.45/100, rank 40/47 (change: +7) 20:25:06 !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[-]-)*-1 20:25:07 Lymia~becauseican: points -7.24, score 29.45/100, rank 34/47 (change: +6) 20:25:19 !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[-]--)*-1 20:25:19 Lymia~becauseican: points -8.69, score 26.98/100, rank 38/47 (change: -4) 20:25:28 !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[-.]-)*-1 20:25:28 Lymia~becauseican: points -15.12, score 19.95/100, rank 46/47 (change: -8) 20:25:34 !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[[-]]-)*-1 20:25:35 Lymia~becauseican: points -11.17, score 23.02/100, rank 43/47 (change: +3) 20:25:44 elliott_: It goes from 3.2 seconds to 1.1 seconds to run all 1081 matches when starting from scratch. 20:25:49 !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[-]-)*-1 20:25:49 Lymia~becauseican: points -7.24, score 29.45/100, rank 34/47 (change: +9) 20:26:31 I'll fine tune Nyuroki to the hill later. 20:26:31 fizzie: I still wonder how much inter-match work you could deduplicate... 20:26:32 ^.^ 20:27:02 I wonder how much JITing helps 20:27:35 how much could you really JIT? you need precise cycle counts 20:27:42 since the programs have to run in lockstep 20:29:24 I haven't really made any inroads to the optimizing part due to that. Currently it's just a very threaded-code thing, where both programs get turned into a sequence of label addresses (some followed by counts and jump targets), and the control flow keeps computed-gotoing from there. 20:30:02 I made the thing where every possible instruction pair had its own implementation, but that didn't really help, and was pretty complicated-looking to boot. 20:30:38 !bfjoust becauseican < 20:30:38 Lymia~becauseican: points -46.00, score 0.00/100, rank 47/47 (change: -13) 20:30:47 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][+]-)*-1 20:30:47 Lymia~simple: points -8.26, score 27.18/100, rank 37/47 20:30:47 (It dispatched using a 2D table, by taking row from program A and column from program B.) 20:30:55 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][+.]-)*-1 20:30:55 Lymia~simple: points -9.02, score 26.15/100, rank 39/47 (change: -2) 20:31:03 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1 20:31:03 Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +5) 20:31:13 Just how lock filled is this hill 20:31:45 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][>(>+++[-]-)*-1]-)*-1 20:31:45 Lymia~simple: points -10.69, score 24.13/100, rank 43/47 (change: -9) 20:31:48 Not any more than http://codu.org/eso/bfjoust/ :p 20:31:49 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1 20:31:49 Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +9) 20:31:54 (That's what I started with.) 20:32:27 (Also you can find just about all of your current opponents there, if you're interested.) 20:36:59 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][>(>+[+[+[-]]]-)*-1]-)*-1 20:37:00 Lymia~simple: points -10.74, score 24.03/100, rank 43/47 (change: -9) 20:37:08 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][>(>+++[-]-)*-1]-)*-1 20:37:09 Lymia~simple: points -10.69, score 24.13/100, rank 43/47 (change: --) 20:37:18 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1 20:37:18 Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +9) 20:37:22 !bfjoust simple (>(+)*10>(-)*10)*4(>+[+[+[-]]]-)*-1 20:37:22 Lymia~simple: points -11.74, score 23.31/100, rank 43/47 (change: -9) 20:37:24 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1 20:37:24 Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +9) 20:37:28 *sigh* 20:37:30 So many locks 20:37:49 !bfjoust simple (>(+)*10>(-)*10)*4(>+[+[+[-]{}]]-)%-1 20:37:49 Lymia~simple: points -13.76, score 20.26/100, rank 45/47 (change: -11) 20:38:03 !bfjoust simple (>(+)*10>(-)*10)*4(>[+[+[+[-]{}]]]-)%-1 20:38:03 Lymia~simple: points -32.52, score 6.64/100, rank 47/47 (change: -2) 20:38:29 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]{}-)%-1 20:38:29 Lymia~simple: points -12.02, score 21.92/100, rank 43/47 (change: +4) 20:38:43 !bfjoust simple (>(+)*10>(-)*10)*4(->[+[+[+[-]{}]]])%-1 20:38:43 Lymia~simple: points -34.43, score 5.49/100, rank 47/47 (change: -4) 20:38:58 !bfjoust simple (>(+)*10>(-)*10)*4(->+++[-]{})%-1 20:38:58 Lymia~simple: points -8.40, score 28.51/100, rank 36/47 (change: +11) 20:39:09 fizzie: I guess maybe the best thing to do is just microoptimise until running max_cycles * num_matches is fast. 20:39:31 !bfjoust simple (>(+)*10>(-)*10)*4(->[+[+[+[----[-[-[-]]]]]]]{})%-1 20:39:31 Lymia~simple: points -9.40, score 26.82/100, rank 39/47 (change: -3) 20:39:45 !bfjoust simple (>(+)*10>(-)*10)*4(->[+[+[+[----[-[-[(-)*120[-]]]]]]]]{})%-1 20:39:45 Lymia~simple: points -10.45, score 24.16/100, rank 43/47 (change: -4) 20:39:59 !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1 20:39:59 Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +9) 20:41:44 Also I guess I'm going to have to change the nickname, someone has the 'zhill' account and "Last seen: Sep 18 04:33:11 2014 (1 day, 18:07:48 ago)". 20:43:47 https://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00559.html 20:44:17 !bfjoust pandw http://pastebin.com/raw.php?i=2GET3EkT 20:44:17 AndoDaan~pandw: points -20.79, score 15.40/100, rank 47/47 20:44:24 aww man... 20:45:09 -!- Lymia has left ("Hug~♪"). 20:45:20 -!- zhill has quit (Remote host closed the connection). 20:45:38 -!- zemhill has joined. 20:45:41 (Fixed the commit-no-changes bug.) 20:46:45 -!- Lymia has joined. 20:46:47 Opps~ 20:47:54 !bfjoust die (>)*9(-)*128 20:47:55 Lymia~die: points -36.88, score 4.45/100, rank 47/47 20:48:01 !bfjoust die (>)*9((-)*128>)*-1 20:48:01 Lymia~die: points -36.40, score 2.11/100, rank 47/47 (change: --) 20:48:11 !bfjoust die (>)*9((-)*128.>)*-1 20:48:12 Lymia~die: points -31.24, score 7.69/100, rank 47/47 (change: --) 20:48:18 !bfjoust die (>)*9((-)*120(-.)*16.>)*-1 20:48:19 Lymia~die: points -31.10, score 8.24/100, rank 47/47 (change: --) 20:48:25 !bfjoust die (>)*9((-)*120(-.)*16>)*-1 20:48:26 Lymia~die: points -31.00, score 8.24/100, rank 47/47 (change: --) 20:48:38 !bfjoust die (>->+)*8(>(-)*120(-.)*16)*-1 20:48:38 Lymia~die: points -30.17, score 8.66/100, rank 47/47 (change: --) 20:48:46 !bfjoust die (>(-)*10>(+)*10)*8(>(-)*120(-.)*16)*-1 20:48:46 Lymia~die: points -19.07, score 16.20/100, rank 47/47 (change: --) 20:48:53 !bfjoust die (>(-)*10>(+)*10)*8(>(-)*124(-.)*8)*-1 20:48:53 Lymia~die: points -19.05, score 16.13/100, rank 47/47 (change: --) 20:48:58 Aww 20:49:02 This hill's too good. 20:49:14 fizzie, any reason you can't make a giant 200 bot hill or something? 20:49:26 The report.txt would be too wide. 20:49:27 !bfjoust die < 20:49:28 Lymia~die: points -46.00, score 0.00/100, rank 47/47 (change: --) 20:49:30 In all seriousness, probably not. 20:49:40 zem lived in a swamp, not a hill~ 20:49:44 !bfjoust yolo (>(-)*10>(+)*10)*8(>[(-)*124(-.)*8{}])%-1 20:49:44 Lymia~yolo: points -29.43, score 8.56/100, rank 47/47 20:49:56 Also starting with the existing hill means it's unfortunately good, that's true. 20:49:59 !bfjoust yolo (>(-)*10>(+)*10)*4(>[(-)*124(-.)*8{}])%-1 20:49:59 Lymia~yolo: points -29.24, score 9.13/100, rank 47/47 (change: --) 20:50:09 !bfjoust yolo (>-->++)*4(>[(-)*124(-.)*8{}])%-1 20:50:10 Lymia~yolo: points -36.52, score 4.44/100, rank 47/47 (change: --) 20:50:18 !bfjoust yolo (>(-)*50>(+)*50)*4(>[(-)*124(-.)*8{}])%-1 20:50:18 Lymia~yolo: points -26.71, score 10.27/100, rank 47/47 (change: --) 20:50:36 The poll's shaping up to be the most inconclusive thing ever, incidentally. there's 1 points-based, 1 iterated-traditional, 2 each of Markovian and tweaked-traditional, and one write-in vote for "SQL with pairs". 20:51:12 !bfjoust yolo ((-)*9>)*9([-]>)*21 20:51:12 Lymia~yolo: points -16.52, score 17.75/100, rank 47/47 (change: --) 20:51:16 um. is this some other SQL 20:51:19 !bfjoust yolo ((-)*10>)*9([-]>)*21 20:51:19 Lymia~yolo: points -17.67, score 17.41/100, rank 47/47 (change: --) 20:51:23 !bfjoust yolo ((-)*7>)*9([-]>)*21 20:51:23 Lymia~yolo: points -15.71, score 18.22/100, rank 47/47 (change: --) 20:51:26 !bfjoust yolo ((-)*4>)*9([-]>)*21 20:51:27 Lymia~yolo: points -21.10, score 13.55/100, rank 47/47 (change: --) 20:51:30 !bfjoust yolo ((-)*6>)*9([-]>)*21 20:51:30 Lymia~yolo: points -19.24, score 15.69/100, rank 47/47 (change: --) 20:51:33 !bfjoust yolo ((-)*7>)*9([-]>)*21 20:51:33 Lymia~yolo: points -15.71, score 18.22/100, rank 47/47 (change: --) 20:51:42 you know, automatic constant-tweaking is the next thing BF Joust needs... 20:51:55 I think ais523 had a script for that. but it'd be nice to build it in to the hill, just like +/- swapping 20:52:00 Can't penetrate the hill at all without strong bots. :( 20:52:28 fizzie, idea. 20:52:41 Any bot that gets <45 or so rank is dumped onto a "beginner hill" 20:52:53 (Which is just another hill.) 20:53:01 But, only newly submitted bots go thre. 20:53:03 there* 20:53:07 Ones pushed off the hill live 20:57:20 !bfjoust fiddle +>(-(>+>-)*3(<)*6)*4(>)*8(>[-])*21 20:57:20 fizzie~fiddle: points -19.50, score 14.67/100, rank 47/47 20:58:09 There was a suggestion of an "infinite", probabilistic-ranking hill, but that would take some doing. 20:58:12 !bfjoust : < 20:58:12 Lymia~: points -46.00, score 0.00/100, rank 47/47 20:58:17 !bfjoust ::: < 20:58:18 Lymia: Program name looks like gibberish. Did you forget it? 20:58:21 !bfjoust :: < 20:58:21 Lymia: Program name looks like gibberish. Did you forget it? 20:58:23 !bfjoust < < 20:58:24 Lymia~: points -46.00, score 0.00/100, rank 47/47 (change: --) 20:58:26 You has bug 20:59:09 It's not really a "bug", it's just a slightly awkward "gibberish" heuristic. But maybe I could disallow the empty-after-sanitizing program name, anyway. 21:00:09 Lymia~ seems like an appropriate name 21:00:42 ~ 21:01:01 The logic is "remove all characters except alphanumerics, dashes and underscores", then consider it gibberish if the sanitized variant is shorter than 3/4ths of the original. 21:01:17 (But if the original length was 1, 3/4ths is 0, and nothing's shorter than that.) 21:01:56 Better logic would be 21:02:00 "Reject any name with jibberish characters" 21:02:02 gibberish* 21:02:07 (but I can't do Lymia~) then 21:02:11 !bfjoust nyuroki < 21:02:11 Lymia~nyuroki: points -45.00, score 0.00/100, rank 46/47 (change: -22) 21:02:15 !bfjoust ~ < 21:02:15 elliott_~: points -45.00, score 0.00/100, rank 47/47 21:02:30 !bfjoust @ http://pastebin.com/raw.php?i=hV4apfE3 21:02:31 Lymia~: points -1.12, score 34.79/100, rank 24/47 21:02:34 why can't I specify the number of ~s :< 21:03:00 Because ~ is also on the gibberish list, that's what makes it a unique separator. 21:03:01 fizzie, give me a tarball of your current hill 21:03:21 You can safely take ~ off the gibberish list, since it's an invalid nickname character. 21:03:33 A unique separator can be anything that's not in a nickname really 21:03:59 But then you could have multiple ~s in the name. I mean, sure, it's still unambiguous to take the first, but still. 21:04:27 That doesn't make it stop being a unique delimiter. 21:04:28 :P 21:04:29 nick)program 21:04:56 You could start a program with 21:04:58 nick☃program 21:05:05 submission numberAname~program 21:05:08 And it'd still work 21:05:11 !bfjoust . < 21:05:11 Lymia~: points -45.00, score 0.00/100, rank 47/47 (change: -23) 21:05:55 !bfjoust ♥★● (+)*-1 21:05:55 Lymia: Program name looks like gibberish. Did you forget it? 21:05:59 Boring 21:06:01 Lymia: http://zem.fi/bfjoust/hill-20140920.tar.gz but it's really just the same as codu.org's in_egobot directory, except for very few exceptions. 21:06:21 exposing the hill git repo would be nice, if that's a thing? 21:06:21 Exception being "nyuroki pushed something fof"? 21:06:40 Pretty much, yes. "Anything with a ~ in it in the report", really. 21:06:45 !bfjoust 日本語ならいいかしら (+)*-1 21:06:45 Lymia: Program name looks like gibberish. Did you forget it? 21:07:13 Perhaps it's a politically incorrect error message. 21:08:00 elliott_: That's on the TODO list, I just need to wiggle the permissions right. (Probably make the whole thing run under some other account than my own, actually.) 21:08:00 It works. 21:08:07 As long as you add an easter egg 21:08:26 || name == "gibberish" 21:08:31 "!bfjoust gibberish blah" 21:08:35 "Program name looks like gibberish. Did you forget it?" 21:08:45 !bfjoust ADumb (>)*9([-]>)*21 21:08:45 AndoDaan~ADumb: points -17.95, score 14.95/100, rank 46/47 21:09:10 -!- not^v has quit (Ping timeout: 272 seconds). 21:09:13 !bfjoust ADumber . 21:09:13 Lymia~ADumber: points -33.52, score 5.53/100, rank 47/47 21:09:51 -!- not^v has joined. 21:15:36 -!- zemhill has quit (Remote host closed the connection). 21:16:07 -!- not^v has quit (Ping timeout: 272 seconds). 21:19:37 -!- zemhill has joined. 21:20:08 !bfjoust ADumb >>(+)*17(>)*5(-)*37<(+)*17<(-)*9<(+)*3(>)*8(>[-])*30 21:20:08 AndoDaan: I broke down! Ask fizzie to help! The details are in the log! 21:20:08 -!- zemhill has quit (Client Quit). 21:20:11 ... 21:20:14 oops 21:20:15 sorry 21:20:21 That was my fault, I'm sure. 21:20:34 okay. I don't think I did anything weird. 21:20:52 I messed something up when moving that thing to a different user account. 21:21:54 -!- zemhill has joined. 21:22:00 Feel free to try again. (It'll probably break differently.) 21:22:06 !bfjoust ADumb >>(+)*17(>)*5(-)*37<(+)*17<(-)*9<(+)*3(>)*8(>[-])*30 21:22:06 AndoDaan: I broke down! Ask fizzie to help! The details are in the log! 21:22:06 -!- zemhill has quit (Client Quit). 21:22:14 That was supposed to be a joke. 21:22:36 Good old git "please tell me who you are by doing git config --blah stuff". 21:22:37 I'm reusing "ADumb" program name. That's not a problem right? 21:24:43 -!- zemhill has joined. 21:24:44 No, it's just me messing up. Should be fixed now, but that's what I thought the last time. 21:25:17 !bfjoust ADumb >>(+)*17(>)*5(-)*37<(+)*17<(-)*9<(+)*3(>)*8(>[-])*30 21:25:17 AndoDaan~ADumb: points -14.38, score 18.99/100, rank 46/47 (change: --) 21:25:17 -!- zemhill has quit (Client Quit). 21:25:21 woot 21:25:26 Er, that's new. 21:26:05 Oh, "permission denied" when trying to write the report.txt for the web. 21:27:10 -!- zemhill has joined. 21:27:11 !bfjoust test < 21:27:11 fizzie~test: points -46.00, score 0.00/100, rank 47/47 21:30:04 !bfjoust ADumb >>(+)*17(>)*5(-)*37<(+)*17<(-)*9<(+)*3(>)*8(----------------->[-])*30 21:30:05 AndoDaan~ADumb: points -16.14, score 19.65/100, rank 46/47 (change: --) 21:31:28 -!- aloril has quit (Ping timeout: 258 seconds). 21:32:15 -!- mihow has quit (Quit: mihow). 21:33:55 -!- mihow has joined. 21:39:57 -!- aloril has joined. 21:44:09 http://zem.fi/git/?p=hill also there you go 21:44:57 h, grand. 21:45:32 It's missing an actually cloneable form of it, though. 21:45:44 And doesn't push to the web-visible version by default. 21:45:52 (gitweb didn't seem to like a non-bare repository.) 21:46:15 -!- shikhout has changed nick to shikhin. 21:47:35 maybe if you point gitweb to the /.git? 21:48:58 I tried that. Though it's also possible it just didn't like symlinks in general. 21:50:24 -!- zemhill has quit (Remote host closed the connection). 21:50:40 -!- zemhill has joined. 21:50:41 !bfjoust webtest < 21:50:41 fizzie~webtest: points -46.00, score 0.00/100, rank 47/47 21:50:54 Oh, I forgot to add a line in the config. 21:50:59 -!- zemhill has quit (Remote host closed the connection). 21:51:38 -!- zemhill has joined. 21:51:40 !bfjoust webtest <> 21:51:40 fizzie~webtest: points -46.00, score 0.00/100, rank 47/47 (change: --) 21:51:52 Still nothing. Hmm. 21:53:00 -!- aloril_ has joined. 21:53:09 -!- zemhill has quit (Remote host closed the connection). 21:53:13 < fizzie> The logic is "remove all characters except alphanumerics, dashes and underscores" < Lymia> !bfjoust 日本語ならいいかしら (+)*-1 – Clearly the logic is (was?) not that. 21:53:25 -!- zemhill has joined. 21:53:52 There was an implied understanding that the character classes were in terms of ASCII. 21:53:59 !bfjoust webtest <>< 21:53:59 fizzie~webtest: points -46.00, score 0.00/100, rank 47/47 (change: --) 21:54:12 Now it works. 21:54:28 -!- aloril has quit (Ping timeout: 258 seconds). 21:54:35 fizzie: Implied understanding wha? 21:57:22 Jesus Fish sucks 22:01:53 Clone URL also in place. I think that's it for today. 22:02:03 Perhaps a fancy website over the weekend. 22:02:48 -!- shikhin has quit (Ping timeout: 244 seconds). 22:03:41 !bfjoust betterfish ><> 22:03:42 Lymia~betterfish: points -33.14, score 6.04/100, rank 47/47 22:10:03 -!- zemhill has quit (Remote host closed the connection). 22:10:14 !bfjoust bestfish ><(>[-])*30> 22:10:18 -!- zemhill has joined. 22:10:21 !bfjoust bestfish ><(>[-])*30> 22:10:21 AndoDaan~bestfish: points -25.38, score 10.94/100, rank 47/47 22:10:26 Your timing was, again, impeccable. 22:10:30 hehe 22:10:47 That's a good-looking fish, though. 22:10:55 barracuda 22:17:54 -!- AndoDaan_ has joined. 22:20:05 -!- AndoDaan has quit (Ping timeout: 260 seconds). 22:22:22 -!- oerjan has joined. 22:29:52 -!- not^v has joined. 22:37:29 -!- aloril__ has joined. 22:40:21 -!- aloril_ has quit (Ping timeout: 272 seconds). 22:41:56 !bfjoust thue-morse http://sprunge.us/gafW 22:41:57 fizzie~thue-morse: points -21.57, score 14.25/100, rank 47/47 22:42:04 Aw. 22:42:35 -!- sebbu has quit (Ping timeout: 244 seconds). 22:45:25 -!- not^v has quit (Ping timeout: 272 seconds). 22:53:32 -!- AndoDaan_ has quit (Ping timeout: 245 seconds). 22:56:19 -!- AndoDaan has joined. 23:04:47 ahoy 23:05:06 yay zemhill 23:05:27 what's the command to display the link to the hill 23:07:56 !help 23:08:26 no 23:08:31 1bfjoust 23:08:35 meh 23:08:40 anyway i found it 23:08:42 !bfjoust 23:08:42 oerjan: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 23:08:44 its git based 23:08:48 ic 23:08:56 which is neat i guess. 23:09:04 is git better than hg? 23:09:41 -!- aretecode has joined. 23:11:44 http://zem.fi/git/?p=hill;a=commit;h=380e85c05314defb71f7d34186cf5e617246d9bb http://zem.fi/git/?p=hill;a=commit;h=56f6ad12ce0086836f5b17ed0f9f85fc01485fa7 fizzie is doing terrifying things to me and Lymia 23:12:56 apparently he thinks you are different people 23:13:25 I've been replaced :( 23:13:57 we all knew lymia was a body snatcher 23:16:41 -!- aloril_ has joined. 23:17:13 -!- Patashu has joined. 23:17:17 -!- aretecode has quit (Quit: Toodaloo). 23:19:48 -!- aloril__ has quit (Ping timeout: 260 seconds). 23:23:09 -!- Lymia has left ("Hug~♪"). 23:23:14 -!- Lymia has joined. 23:49:03 -!- GeekDude has joined. 23:50:51 -!- AndoDaan_ has joined. 23:53:01 -!- AndoDaan has quit (Ping timeout: 260 seconds). 23:55:28 -!- AndoDaan_ has quit (Ping timeout: 276 seconds). 23:56:02 -!- AndoDaan has joined. 23:59:13 -!- madbr has joined. 2014-09-20: 00:12:03 -!- AndoDaan has left. 00:37:22 -!- Nieralyte has joined. 00:40:15 -!- sebbu has joined. 00:40:52 -!- sebbu has quit (Changing host). 00:40:52 -!- sebbu has joined. 00:52:56 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 00:57:09 I think I figured out how to make highly dynamic languages co-operate as a Racket language library 00:57:38 #lang tcl #:phase 'macro to have the code be run as its parsed, and thus able to make its definitions available as a library 00:58:20 (And #lang tcl #:phase 'run for runtime, suitable for scripts that are meant to be run but not provide objects) 00:58:46 Although tcl may be a bad example because it has a second impediment to interoperating with Racket, everything is a string 01:01:59 hi Nieralyte 01:02:15 -!- Sorella has joined. 01:03:05 -!- Sorella has quit (Changing host). 01:03:05 -!- Sorella has joined. 01:07:08 hey 01:07:23 -!- Nieralyte has left ("I'm a happy Miranda NG user! Get it here: http://miranda-ng.org/"). 01:16:25 -!- vyv_ has joined. 01:19:26 bye 01:20:12 -!- vyv has quit (Ping timeout: 272 seconds). 01:22:44 -!- AndoDaan has joined. 01:43:23 -!- glogbackup has quit (Remote host closed the connection). 01:47:21 -!- glogbackup has joined. 02:02:28 -!- conehead has quit (Quit: Computer has gone to sleep). 02:15:59 -!- nisstyre has quit (Quit: WeeChat 1.0). 02:16:16 -!- nisstyre has joined. 02:21:25 -!- lifthrasiir has quit (Ping timeout: 260 seconds). 02:26:00 -!- oerjan has quit (Quit: Nite). 02:39:41 -!- nisstyre has quit (Quit: WeeChat 1.0). 02:40:31 -!- nisstyre has joined. 02:41:18 -!- nisstyre has quit (Changing host). 02:41:18 -!- nisstyre has joined. 02:43:03 -!- Tod-Autojoined has joined. 02:44:06 -!- TodPunk has quit (Read error: Connection reset by peer). 02:54:18 -!- lifthrasiir has joined. 02:55:42 -!- Tod-Autojoined has quit (Quit: This is me, signing off. Probably rebooting or something.). 02:55:54 -!- TodPunk has joined. 02:56:31 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 02:58:05 [wiki] [[Foobar and Foobaz and Barbaz, oh my!]] http://esolangs.org/w/index.php?diff=40482&oldid=30751 * Imaginer1 * (+183) 03:22:30 * Sgeo twitches at yellow being called a primary color 03:22:34 It's just so... wrong 03:22:40 (Yes, I know it's not) 03:23:48 the only primary colors i accept are red, blue, and linearly polarized. 03:24:11 linearly polarized = green... right? 03:24:28 HAS to be green. 03:24:51 there are no real primary colors 03:25:07 Except for red, blue and green. 03:25:21 our eyes have 3 types of cones with strange frequency responses 03:25:38 says you. imma tetrachromat. 03:25:49 really? 03:26:03 pfft. Are you female, Bike? 03:26:18 o.O 03:26:27 if not, then I doubt your tetrachromation. 03:26:30 i'm a bike. 03:26:39 -...- 03:27:03 well I'm a mantis shrimp 03:27:07 i thought this was obvious. 03:27:19 What's in a name... 03:28:06 4 distinct letters, one of which is repeated twice, and a non-alphanumeric character. 03:29:33 I wish I was a tetrachromat. 03:29:38 mantis shrimp are kinda crappy at color vision, in a sense http://phenomena.nationalgeographic.com/2014/01/23/the-mantis-shrimp-sees-like-a-satellite/ 03:31:12 incidentally i didn't know 15 nm was that much of a difference 03:39:03 So, a video I saw explaining the Scottish independence thing said that the 12th doctor was against. Is he talking about the character (who has made jokes?), or has Peter Capaldi actually said something? Googling wasn't so helpful 03:40:54 the twelfth doctor pissed on a saltire in Restoration of the Daleks 03:48:23 peter capaldi *is* doctor who, sgeo. 03:58:25 ^ 03:58:34 also, I am not caught up :( 03:58:42 copumpkin: finally you admit it 03:58:49 now I know what the dual of pumpkin is 03:59:40 And what the dual of ppro is 04:01:00 and the dual of 'ke' is. 04:01:07 what the* 04:02:29 [wiki] [[Puzzlang]] http://esolangs.org/w/index.php?diff=40483&oldid=40478 * Imaginer1 * (-10) 04:03:24 [wiki] [[User:Imaginer1]] http://esolangs.org/w/index.php?diff=40484&oldid=40443 * Imaginer1 * (+74) 04:03:48 [wiki] [[User:Imaginer1]] http://esolangs.org/w/index.php?diff=40485&oldid=40484 * Imaginer1 * (+17) 04:05:44 -!- copumpkin has quit. 04:11:55 Sgeo: haven't figured it out yet 04:13:11 -!- copumpkin has joined. 04:14:14 -!- conehead has joined. 04:24:47 -!- AndoDaan_ has joined. 04:27:44 -!- AndoDaan has quit (Ping timeout: 248 seconds). 04:27:57 -!- AndoDaan_ has changed nick to AndoDaan. 04:31:51 -!- conehead has quit (Quit: Computer has gone to sleep). 04:37:24 -!- shikhin has joined. 04:41:22 -!- conehead has joined. 04:44:31 -!- AndoDaan_ has joined. 04:44:41 -!- AndoDaan has quit (Ping timeout: 260 seconds). 04:46:13 -!- Sorella has quit (Remote host closed the connection). 04:48:20 -!- shikhout has joined. 04:51:02 -!- shikhin has quit (Ping timeout: 245 seconds). 05:49:08 -!- madbr has quit (Quit: Pics or it didn't happen). 05:53:10 -!- drdanmaku has quit (Ping timeout: 272 seconds). 05:54:26 -!- upgrayeddd has quit (Ping timeout: 272 seconds). 06:07:16 -!- AndoDaan_ has changed nick to AndoDaan. 06:15:34 -!- drdanmaku has joined. 06:18:56 -!- AndoDaan has left. 06:21:30 -!- conehead has quit (Quit: Computer has gone to sleep). 06:28:11 -!- shikhout has quit (Read error: Connection reset by peer). 06:47:41 -!- MoALTz has joined. 06:50:58 -!- upgrayeddd has joined. 07:25:33 -!- _thekey has joined. 07:37:44 -!- thekey has joined. 07:39:09 -!- _thekey has quit (Ping timeout: 260 seconds). 07:41:52 [wiki] [[Seribund]] N http://esolangs.org/w/index.php?oldid=40486 * Keymaker * (+2243) Added a new language: Seribund. 07:42:53 -!- barrucadu has quit (Ping timeout: 258 seconds). 07:48:55 -!- AndoDaan has joined. 07:48:57 http://sprunge.us/gOie?sh that's the bashiest bash script I've ever written 07:52:45 fizzie: can't you write that as also, don't need the quotes around variables with [[ ... ]], I think. 07:53:33 especially when you're passing things to echo unquoted :p 07:56:14 The " Why would you not use quotes around variables in bash ever? 07:57:53 I tried to do the loops as nl -v 0 warriors.idx | while ... but that ran into some problems with the coproc fd's, probably because the pipeline gets a subshell. 07:59:59 OK, apparently [[ is magic. 08:01:18 You can also use cat f | while ... if that looks less strange to you. 08:01:43 People say not to do it but usually they're silly. 08:01:44 As I said, that ran into some fd-vs-subshell problems. 08:02:42 Fun fact: current breakdown.txt has flipped sieve/kettle results in the <<>> part in approximately pseudorandom-ish way. (All even programs in "hill ID" order are flipped, but that's not visible in the breakdown because it's sorted by name.) 08:02:50 fizzie: it feels weird to wait until the end of the loop to find out what it's processing data in. 08:03:01 foreach x { ... } in xs 08:03:15 That's admittedly a true. 08:03:30 also, you may be the first person to actually use the sieve and kettle terminology. 08:04:35 I have to check the wiki every time to figure out which one was sieve and which one kettle. 08:04:53 [wiki] [[User:Keymaker]] http://esolangs.org/w/index.php?diff=40487&oldid=38938 * Keymaker * (+87) Updating. 08:18:23 -!- shikhin has joined. 08:19:45 -!- thekey has quit (Quit: Leaving). 08:33:17 -!- AndoDaan has quit (Ping timeout: 260 seconds). 08:33:59 -!- AndoDaan has joined. 08:37:46 -!- AndoDaan_ has joined. 08:39:29 -!- AndoDaan has quit (Ping timeout: 272 seconds). 08:41:45 -!- AndoDaan_ has changed nick to AndoDaan. 09:02:56 -!- zemhill has quit (Remote host closed the connection). 09:03:21 -!- zemhill has joined. 09:11:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 09:43:25 -!- Lymia has quit (Remote host closed the connection). 09:57:49 -!- KingOfKarlsruhe_ has left. 09:58:43 -!- KingOfKarlsruhe has joined. 10:07:08 -!- AnotherTest has joined. 10:15:19 nortti, Taneb: http://eso.mroman.ch/ESOSC/s/2014-3/ESOSC-2014-D3-R2.pdf 10:15:58 oh. Figure 1.1 caption is wrong though 10:16:39 no newline translation for ','? 10:17:38 also, as it reads a character (not a byte), what happens to unicode codepoints above 255? 10:19:30 hm 10:20:02 there's newline translation for , 10:21:03 I.e. on windows for \r\n a , instructions needs to buffer 10:21:09 because it has to translate \r\n to \n 10:21:12 where \n = 10 10:21:44 hm. 10:22:11 I guess we need a #CHARSET utf8 or something 10:22:44 hmm, it says nothing on EOF handling 10:24:29 ok, not nothing, since there are related language options, but the description of , is silent on the topic 10:28:29 -!- aloril_ has quit (Ping timeout: 258 seconds). 10:30:20 " If a newline is read by a \textit{,} instruction the current cell's value must be set to 10. On some plattforms (such as windows) this may require 10:30:23 to consume or write two or more characters. " 10:33:02 it's right there :) 10:33:15 Shall I write it clearer? 10:34:43 hm. is UNICODE necessary if we have #CHARSET utf8? 10:39:12 -!- aloril has joined. 10:41:53 -!- MoALTz has quit (Quit: Leaving). 10:48:25 -!- MoALTz has joined. 10:51:22 -!- shikhin has quit (Ping timeout: 240 seconds). 10:53:34 -!- shikhin has joined. 11:10:43 -!- AnotherTest has quit (Remote host closed the connection). 11:17:57 -!- AndoDaan_ has joined. 11:19:53 -!- AndoDaan has quit (Ping timeout: 260 seconds). 11:20:04 -!- AndoDaan_ has changed nick to AndoDaan. 11:28:12 -!- AndoDaan has quit. 12:18:46 -!- Phantom_Hoover has joined. 12:22:39 -!- oerjan has joined. 12:28:17 -!- GeekDude has joined. 12:37:13 -!- DootBot has quit (Remote host closed the connection). 12:38:16 -!- AndoDaan has joined. 13:17:19 -!- AndoDaan_ has joined. 13:19:02 -!- AndoDaan has quit (Ping timeout: 245 seconds). 13:30:05 -!- Patashu has quit (Ping timeout: 260 seconds). 13:35:29 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 13:36:09 -!- AndoDaan has joined. 13:38:57 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 13:40:58 -!- AndoDaan_ has joined. 13:43:09 -!- AndoDaan has quit (Ping timeout: 260 seconds). 13:45:44 -!- AndoDaan has joined. 13:46:12 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 13:55:26 [wiki] [[Puzzlang]] M http://esolangs.org/w/index.php?diff=40488&oldid=40483 * Oerjan * (+1) /* Implementation */ grm 14:03:08 -!- AndoDaan_ has joined. 14:06:58 -!- AndoDaan has quit (Ping timeout: 276 seconds). 14:09:27 [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40489&oldid=40428 * Imaginer1 * (+175) Added a compiler and cat programs 14:10:36 mroman_: I'd say no, as utf-8 can be handled per-byte basis, while UNICODE set the system to work on codepoints. so, UNICODE should be separate from charset selection 14:11:52 well 14:12:05 there's no point setting #CHARSET utf8 if you write/read bytes 14:12:31 or is there? 14:12:49 I mean what's the point of setting #CHARSET utf8 if you have to do encoding/decoding yourself? 14:21:49 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=40490&oldid=40420 * Imaginer1 * (+61) Added Bitoven; put fish in its proper alphabetical location 14:23:54 -!- impomatic_ has joined. 14:31:54 -!- FreeFull has quit (Quit: Rebooting). 14:35:01 -!- FreeFull has joined. 14:37:14 [wiki] [[Bitoven]] M http://esolangs.org/w/index.php?diff=40491&oldid=40489 * Imaginer1 * (+4) Forgot registers are initialized at zero- fixed cat programs 14:52:49 [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40492&oldid=40491 * Imaginer1 * (+167) 15:13:11 -!- AndoDaan_ has changed nick to AndoDaan. 15:18:37 [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40493&oldid=40492 * Imaginer1 * (+1720) Adding image and description of how to parse from music 15:19:07 [wiki] [[Special:Log/upload]] upload * Imaginer1 * uploaded "[[File:Bitoven catprog image.png]]": A Bitoven program, colorized to show different sections. 15:20:08 [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40495&oldid=40493 * Imaginer1 * (-2) 15:21:42 [wiki] [[Bitoven]] M http://esolangs.org/w/index.php?diff=40496&oldid=40495 * Imaginer1 * (+13) 15:28:09 -!- AndoDaan_ has joined. 15:29:22 -!- AndoDaan has quit (Ping timeout: 245 seconds). 15:31:20 -!- Sorella has joined. 15:32:08 -!- Sorella has quit (Changing host). 15:32:08 -!- Sorella has joined. 15:42:18 -!- ais523 has joined. 15:42:49 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=40497&oldid=40490 * Imaginer1 * (+80) /* Bitoven */ 15:49:29 -!- AndoDaan has joined. 15:50:58 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 15:55:12 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 16:01:56 -!- oerjan has quit (Quit: leaving). 16:02:02 fizzie: what's the progress on the BF Joust bot like? I've written tons of programs over the last couple of days 16:02:13 well, a bugfix to preparation, plus three more, which aren't as good but are still pretty good 16:06:24 !bfjoust adumb >>>(+)*64<(-)*16>>--->+++>------>>>([-]>)*21 16:06:25 AndoDaan~adumb: points -24.90, score 12.72/100, rank 47/47 16:06:50 !bfjoust adumb >>>(+)*64<(-)*16>>--->+++>------>>>([-]>)*28 16:06:51 AndoDaan~adumb: points -24.90, score 12.72/100, rank 47/47 (change: --) 16:07:39 !bfjoust adumb >>>>>(+)*37<(-)*11>>--->+++>------>([-]>)*28 16:07:39 AndoDaan~adumb: points -25.52, score 12.06/100, rank 47/47 (change: --) 16:08:01 stupid game. 16:14:36 [wiki] [[Talk:Puzzlang]] http://esolangs.org/w/index.php?diff=40498&oldid=33305 * Imaginer1 * (+133) 16:14:50 ais523: the hill seems to work fine 16:15:06 ooh, it's working 16:16:48 !help 16:16:53 is the hill online? 16:18:08 I'll make my own hill 16:18:12 with black jack and hookers. 16:18:43 !bfjoust preparation http://nethack4.org/esolangs/preparation.bfjoust 16:18:46 ais523~preparation: points 22.67, score 100.00/100, rank 1/47 16:18:52 1/47 16:19:00 OK, I can describe it on the wiki now :-) 16:19:01 wow 16:19:12 AndoDaan: I have spent /months/ working on that program 16:19:20 !bfjoust monolith http://nethack4.org/esolangs/monolith.bfjoust 16:19:21 ais523~monolith: points 22.67, score 100.00/100, rank 1/47 16:19:26 oh wow 16:19:43 I didn't expect that to come #1, I thought it'd be more like #2 or #3 16:20:12 I originally wrote it based on wondering what sort of program would beat preparation 16:20:17 the other two can't do nearly that well, surely 16:20:27 !bfjoust growth http://nethack4.org/esolangs/growth.bfjoust 16:20:27 ais523~growth: points 16.31, score 77.02/100, rank 5/47 16:20:42 !bfjoust hippo_ballerina http://nethack4.org/esolangs/hippo_ballerina.bfjoust 16:20:42 ais523~hippo_ballerina: points 2.14, score 39.82/100, rank 12/47 16:20:45 that's more reasonable 16:21:13 monolith isn't even that big. 16:21:43 !help 16:21:46 hm 16:21:52 it's probably a one-liner, indeed 16:21:54 !bfjoust 16:21:54 elliott_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 16:21:59 ais523: that has the breakdown and report and stuff 16:22:03 !bfjoust monolith (>+)*4 (>--)*4 ((-)*5<)*4 ((+)*6<)*3 (+)*5 (>)*7 ((-)*20<)*4 ((+)*20<)*3 (+)*20 (>)*7 ((-)*20<)*4 ((+)*20<)*4 (+)*50 (>)*10 (>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21 16:22:03 ais523~monolith: points 21.33, score 95.39/100, rank 2/47 (change: --) 16:22:11 wow 16:22:17 programs that small are viable again? 16:22:28 elliott_: it /shouldn't/ be viable 16:22:31 it just sets eight decoys then rushes 16:22:34 that's all it is 16:22:37 haha 16:22:51 the hill finally got advanced enough to not defend against simple programs? 16:22:57 I wrote it when I realised "well, a program should beat preparation if it sets at least eight decoys" 16:22:58 what does '%' do again? 16:23:05 AndoDaan: it's used to abbreviate nested programs 16:23:17 (a{b}c)%n is the same as (a)*n b (c)*b 16:23:20 *(c)*n 16:23:27 ais523: btw, did you deliberately nerf it down to #2? 16:23:28 except you're allowed to open brackets in a and close them in c 16:23:29 right. ty 16:23:42 [wiki] [[Bueue]] http://esolangs.org/w/index.php?diff=40499&oldid=35501 * Imaginer1 * (+93) 16:23:42 elliott_: no, it's just less good against hippo_ballerina and growth than preparation is 16:23:45 ah 16:24:16 I wonder if the hill should have a limit to the number of programs on one nick 16:24:24 or results for your programs against each other shouldn't count, or something 16:24:30 not if there's no abuse and the programs are sufficiently different 16:24:36 the effect of people's multiple warriors fighting against themselves is kinda weird. 16:24:43 one thing I like about BF Joust is that I can compete against myself effectively indefinitely 16:24:47 especially when added in quick succession 16:24:49 heh 16:25:15 elliott_: it's not like that, I basically just looked for a bunch of new strategies 16:25:16 ais523: you have both ais523_preparation and ais523~preparation there now, though 16:25:22 and presumably can't do anything about the former 16:25:25 that's not quite ideal 16:25:26 elliott_: well I can't delete the old one 16:25:37 the new one is better, and I would gladly delete the old one if I were able 16:25:43 fizzie: can you rename nick_warrior to nick~warrior so nick adding a new version of warrior doesn't leave the old one around? 16:26:11 and get rid of the old preparation 16:26:21 especially because it beats the new preparation ;-) 16:26:30 (I don't test versions of a program against each other) 16:28:31 elliott_: anyway, there's no way that monolith should beat something like space_hotel 16:28:36 and in fact, it doesn't beat space_hotel 16:29:16 but the reason it works is that I've got better at clear loops 16:29:29 most of the theory of clear loops was worked out before programs set tons of decoys 16:30:04 if you know for sure that your opponent's set a load of large decoys, you may as well just use a tiny or absent offset 16:30:18 because against a large decoy, an offset's cost is equal to three times the value of the offset 16:31:16 right 16:31:37 wait, why three? 16:32:59 -!- ais523 has quit (Read error: Connection reset by peer). 16:33:04 -!- callforjudgement has joined. 16:33:06 [17:32] elliott_: it takes you one cycle to set each value of the offset, then two to clear the value you just set 16:33:07 [17:32] assuming a two-cycle clear 16:34:18 callforjudgement: well, okay, s/against a large decoy/against a large decoy or the flag/, then 16:34:25 I thought you meant it was something inherent about decoys which sounded weird. 16:34:30 -!- callforjudgement has changed nick to ais523. 16:34:37 elliott_: oh, right, yes 16:34:54 the whole point of decoys is that they look the same as flags 16:34:57 a large decoy or the flag or the debris of a computation :p 16:35:06 ais523: right, I thought maybe the 3* was assuming 3 decoys or something. 16:35:42 elliott_: almost all times I've used the tape for computation, it ends up at 0 :P 16:44:24 [wiki] [[Talk:Bueue]] http://esolangs.org/w/index.php?diff=40500&oldid=35504 * Imaginer1 * (+286) 16:49:04 -!- shikhout has joined. 16:51:10 -!- PiRSquared has joined. 16:51:11 [wiki] [[Talk:Bueue]] http://esolangs.org/w/index.php?diff=40501&oldid=40500 * Imaginer1 * (+148) 16:51:41 [wiki] [[Talk:Bueue]] M http://esolangs.org/w/index.php?diff=40502&oldid=40501 * Imaginer1 * (+71) 16:51:57 -!- shikhin has quit (Ping timeout: 245 seconds). 17:01:16 -!- Phantom_Hoover has joined. 17:09:05 what's this "by whom" wikipedia? 17:09:36 Golfing languages like GolfScript and Flogscript are generally considered[by whom?] to be Esoteric programming languages as useful applications other than for code golfing are very limited due to their limitations on overall speed, readability and function[citation needed] 17:09:57 considered by the golfing community? 17:10:06 but that be as vague. 17:10:34 Who else is there? 17:10:49 I mean 17:10:53 it has an article on esolangs.org 17:11:01 that should be enough "evidence" of it being esoteric 17:11:59 Are all golfing languages esoteric? 17:12:28 well 17:12:35 I wouldn't call them esoteric 17:12:40 I'd call them golfing languages :) 17:13:18 esoteric is always subjective to some extent 17:13:54 true enough 17:14:59 ais523: Are bfjoust programs required to have wacky names? 17:15:10 Melvar: no, I used to call them attack1, attack2, etc. 17:15:24 but I prefer to give them names that makes it easy for me to remember what they do 17:15:34 if you've ever looked at growth in a debugger, it should be clear why it has that name 17:16:04 I see. So they’re useful mnemonics for the author. 17:16:11 yes 17:16:13 They just *look* random. 17:16:53 well, I mean, calling a program "hippo_ballerina" is not obviously very descriptive, but it works better if you know it's a program that takes care not to disturb enemy tripwires until it finds a large decoy, then goes and tramples over them all anyway 17:17:34 * Melvar nods. 17:18:42 what does '.' do in a bfjoust program? 17:19:26 waits one turn 17:20:02 the original use of the command was to throw off the timing of opposing programs that relied on you having a consistent timing 17:20:06 but various other uses have been discovered 17:20:09 no weird outputting? okay 17:21:08 there's so much more to jousting than one would at 1st assume 17:21:20 AndoDaan: have you seen the strategy page? 17:21:23 http://esolangs.org/wiki/BF_Joust_strategies 17:22:38 Yeah. It went way over my head the 1st time i read them 17:23:11 but understanding it a little more each time 17:23:36 anyway, I'm really proud of growth, because it accomplishes something I've been trying to do for /ages/ 17:24:30 which is to exploit the fact that most programs do a rule of nine 17:24:41 sadly, it comes a year or too two late, because it's no longer the case that most programs do a rule of nine 17:24:55 Exploiting the fact that an opponent uses this tactic is difficult or impossible; in theory it can give away information about the tape length, but it's too easily confused by decoys and similar tactics. 17:26:35 come to think of it, I'm a bit sad that monolith came #1, because it has such a boring explanation 17:26:42 on the plus side, though, I can paste the program directly into the wiki 17:28:12 let me write about the probabilistic lock, though 17:28:16 it's an innovation I'm really pleased with 17:28:24 and the main idea behind preparation 17:32:09 -!- Glaisher has joined. 17:33:23 Aww, the ad is no longer available 17:34:14 Where is EgoBot? 17:34:42 hasn't been here for ages; this is why zemhill took over the jousting 17:35:12 -!- shikhout has changed nick to shikhin. 17:37:02 http://esolangs.org/wiki/BF_instruction_minimalization#Skip_If_Zero_expansion_.284_instructions.29 is this really Turing complete? 17:37:54 -!- TieSoul has quit (Read error: Connection reset by peer). 17:37:57 -!- conehead has joined. 17:40:31 https://github.com/LoganKelly/LOLTracer 17:41:25 ais523: The results are in http://zem.fi/bfjoust/report.txt and http://zem.fi/bfjoust/breakdown.txt if nobody said that yet. I'm kinda-sorta working on a proper web page. 17:41:34 Renaming the old _s to ~s sounds like the best idea. 17:42:50 -!- zemhill has quit (Remote host closed the connection). 17:42:57 I'll give it the old college try. 17:43:02 (Whatever that means.) 17:43:48 fizzie: just get rid of the old preparation, the new one is better 17:44:55 -!- ais523 has quit. 17:45:09 -!- ais523 has joined. 17:46:52 -!- AnotherTest has joined. 17:47:19 -!- zemhill has joined. 17:47:20 !bfjoust test < 17:47:21 fizzie~test: points -46.00, score 0.00/100, rank 47/47 (change: --) 17:47:47 I think I got it right. 17:53:04 -!- AndoDaan has quit (Ping timeout: 248 seconds). 17:54:24 Oh, and the programs are in http://zem.fi/git/?p=hill 17:55:26 -!- drdanmaku has joined. 17:56:25 -!- AndoDaan has joined. 17:59:12 !bfjoust adumb (>+>-)*4<<(+)*64<[]>>>(>[>((+)*20[-]>)*21])*21 17:59:13 AndoDaan~adumb: points -32.31, score 5.38/100, rank 47/47 18:01:55 !bfjoust adumb (>+>-)*4<<(+)*64<[]<<<<<(+)*57>>>(>[>((+)*20[-]>)*21])*21 18:01:55 AndoDaan~adumb: points -36.19, score 3.61/100, rank 47/47 (change: --) 18:02:10 worse and worse 18:02:55 AndoDaan: you're basically waiting for the opponent, and then, umm 18:02:59 adjusting your flag by 57 and rushing? 18:03:30 the purpose of that code is basically just to give the opponent a large head start 18:05:16 It's so crazy, it just might work...? 18:05:26 :\ 18:06:51 but yeah, I'm throwing stuff together to see what it looks like. 18:13:50 [wiki] [[Clem]] M http://esolangs.org/w/index.php?diff=40503&oldid=40448 * Zerk * (+30) /* External resources */ 18:16:26 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40504&oldid=40503 * Zerk * (+0) /* External resources */ 18:17:18 AndoDaan: try egojsout for testing warriors 18:17:23 it's a good way to visualise things 18:17:50 I am, I am. 18:18:19 But I'm not sure which bot I should test my bot. 18:18:25 against. 18:18:34 "simple" is a good start 18:18:51 seems logical. 18:25:23 [wiki] [[BF Joust strategies]] http://esolangs.org/w/index.php?diff=40505&oldid=39754 * Ais523 * (+2313) /* Probabilistic lock */ new section 18:25:34 behold, the secret to preparation 18:25:36 well, one of them 18:26:11 haven't added a trace-and-animation yet 18:28:40 -!- AndoDaan has quit (Ping timeout: 272 seconds). 18:28:53 -!- AndoDaan has joined. 18:39:28 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 18:41:07 !bfjoust AndoDaando_trieste (>+>-)*4<<(+)*64><<<(--)*32<<<<(+)*32>(>)*9(>[>((+)*20[-]>)*21])*21 18:41:08 AndoDaan~AndoDaando_trieste: points -18.40, score 12.58/100, rank 47/47 18:58:01 -!- TieSoul has joined. 19:00:57 -!- FreeFull has quit (Ping timeout: 260 seconds). 19:23:03 -!- conehead has quit (Quit: Computer has gone to sleep). 19:28:21 I'm busy documenting monolith and preparation 19:28:23 monolith was much easier :-) 19:29:37 -!- conehead has joined. 19:47:47 -!- AnotherTest has quit (Ping timeout: 245 seconds). 20:05:27 [wiki] [[BF Joust strategies]] http://esolangs.org/w/index.php?diff=40506&oldid=40505 * Ais523 * (+11616) /* 2014 */ yay, this section isn't empty any more; I topped the hill twice on the same day 20:05:48 OK, if you wanted to know how preparation (or monolith) works, there you go 20:06:57 -!- weissschloss has joined. 20:08:21 btw, BF Joust players: there's a strategy I've noticed lots of people using, but it isn't documented/named yet 20:08:33 which is to jump a distance past the end of your poke depending on how far you moved 20:27:57 -!- nisstyre has quit (Quit: WeeChat 1.0). 20:28:12 -!- nisstyre has joined. 20:28:34 -!- nisstyre has quit (Client Quit). 20:34:43 -!- AnotherTest has joined. 20:34:57 -!- Frooxius has quit (Quit: *bubbles away*). 20:39:25 Finally, a program from 2014. That's a huge entry, @ais523 20:39:47 AndoDaan: I've been working on it (on and off) for like nine months 20:41:12 So, what comes next? 20:41:20 well, I've submitted a few others too 20:41:28 hopefully someone will dethrone preparation before long 20:41:39 it has plenty of exploitable weaknesses, and that message should help people identify them 20:41:57 ...by copying and slightly changing your code... 20:42:24 that's normally considered bad style 20:43:02 ..by copying and replacing all the + with - in your code... 20:43:31 I kid. 20:45:44 AndoDaan: that's actually done automatically by the hill bots nowadays 20:45:58 it combines the score from the regular run, and a run with + and - swapped 20:45:58 yeah, the polarity 20:46:01 thingy 20:46:17 they are called "sieve" and "kettle" for reasons I don't fully understand, but elliott_ insisted 20:46:39 hmm 20:47:18 -!- boily has joined. 20:47:25 '+' = sieve, '-'=kettle 20:47:27 ? 20:47:52 no, sieve = "without swapping + and -" 20:47:57 kettle = "swapping + and - in one program" 20:47:59 or is it when the polarity is reversed that it's called kettle and whne normal... 20:48:06 (swapping in both is the same as not swapping in either) 20:49:07 -!- haruka has joined. 20:49:14 hi 20:49:18 hi 20:49:21 hi 20:49:25 hi 20:49:28 hi 20:49:47 how many "hi"s do we need before they stop being greetings, and start being "hi"s of disapproval? 20:49:52 (at the "hi" spam) 20:49:57 `welcome haruka 20:49:58 haruka: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 20:50:01 i like it ^^ 20:50:09 finally some talking active people 20:50:09 since when don't we do relcomes? 20:50:24 or maybe just bots? xD 20:50:28 myname: since I got to them first 20:50:32 okay 20:50:35 and no, nobody speaking there is a bot but HackEgo 20:50:43 haruka: there are some bots here, too 20:50:44 I've always been in favour of the welcome that is actually useful 20:50:58 ^^ 20:50:58 hi 20:51:00 rather than all the variants that have no obvious reason for existence 20:51:22 `relcome isn't so bad, though; I tried to get it usable because it's the one everyone else uses 20:51:23 ​isn't: so: bad,: though;: I: tried: to: get: it: usable: because: it's: the: one: everyone: else: uses: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: 20:51:47 uh 20:51:49 hahahaha 20:51:55 haruka: we've got all kind of bots (even a got), someone we still don't know if it's a bot or a human, and well... a bunch of humans. but don't trust them, they tend to make less sense than the bots. 20:52:24 -!- evalj has joined. 20:52:24 boily: who's the one in question of being a bot? 20:52:25 !AmIABot 20:52:26 ^^ i think i like it here 20:52:41 hi evalj! 20:52:42 AndoDaan: yes. 20:52:43 shit 20:52:44 [ ('no';'yes'){~*#'are you a bot?' 20:52:50 ] ('no';'yes'){~*#'are you a bot?' 20:52:50 b_jonas: +---+ 20:52:50 b_jonas: |yes| 20:52:50 b_jonas: +---+ 20:52:51 unfortunately I don't know J, or I'd give you some J to evaluate 20:53:00 ] ('no';'yes'){::~*#'are you a bot?' 20:53:00 b_jonas: yes 20:53:03 I hate J 20:53:11 i love J 20:53:16 at least, when the bot has a talkin script, i'm happy :D 20:53:18 `quote solidity 20:53:19 241) enjoy being locked in your matrix of solidity 20:53:19 i can't write it, though 20:53:24 just need someone to babbly about crap 20:53:35 haruka: you need to talk to fungot about that 20:53:37 hi myname ^^ 20:53:40 myname: myndzi. I believe it's a bot. 20:53:44 but it isn't here 20:53:50 fizzie: fungot's down 20:53:58 boily: myndzi is both a person and a bot, who use the same account 20:54:03 not fungot 20:54:09 -!- FreeFull has joined. 20:54:17 which can cause confusion sometimes 20:56:29 \o/ 20:56:29 | 20:56:29 >\ 20:56:58 -!- ais523 has quit (Read error: Connection reset by peer). 20:57:08 -!- ais523 has joined. 20:57:22 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40507&oldid=40504 * Zerk * (+241) /* Strings */ +quine 21:00:57 Oh. 21:01:21 -!- fungot has joined. 21:01:27 fungot: hello fungot! 21:01:28 boily: i don't remember what is the 90k javascript file... for? :) where would you see some multiplications? who would have thought 21:01:49 fungot: Uh, are you rewriting yourself in javascript? 21:01:49 fizzie: was my fnord idea, not something that is easy for unlambda to simulate unlambda: just construct a tree where each node has it's own lisp intepreter. 21:02:04 That's vaguely unsettling. 21:02:58 that almost seems like the sort of idea that someone would seriously suggest in #esoteric 21:03:07 [ ,(?18 4$4){"0 1"1 2]4 4$'_\(|oooO|)/_ ' 21:03:09 an unlambda self-compiler via a tree with a lisp interpreter at each node 21:03:12 ] ,(?18 4$4){"0 1"1 2]4 4$'_\(|oooO|)/_ ' 21:03:12 b_jonas: \o/ (o| (o_ (o| \o| (o| (o) |O) |o| \O) (O_ (o_ \o| \o| _o/ |o) \o| |o) 21:03:37 if I didn't realise that the idea was generated entirely at random, I'd try to work out the details 21:04:19 -!- ais523 has quit (Read error: Connection reset by peer). 21:04:19 ] ,(?10 4$4){"0 1"1 2]4 4$'_\(|oooO|)/_ ' 21:04:20 b_jonas: |o/ |O/ \O) (o| (o/ _O/ |o_ _O| |o_ (o| 21:04:20 | | | 21:04:20 >\ |\ /`\ 21:04:24 -!- callforjudgement has joined. 21:04:27 -!- callforjudgement has changed nick to ais523. 21:04:28 ] ,(?10 4$4){"0 1"1 2]4 4$'_\(|oooo|)/_ ' 21:04:29 b_jonas: _o| |o_ \o_ |o_ \o_ (o_ (o_ (o_ \o) \o) 21:04:29 | | | | | 21:04:29 /'\ |\ /'\ /`\ /| 21:04:36 ^style 21:04:37 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 21:04:42 ] ,(?10 4$4){"0 1"1 2]4 4$'_-\|oooo|/-_ ' 21:04:42 b_jonas: -o/ _o/ \o| \o- _o_ -o- |o| \o_ \o_ \o/ 21:04:42 ¦ | | | | | | | | | 21:04:42 ´¸¨ /< >\ /< /´\ /| /'\ >\ /< /| 21:04:43 ah, the generally best one 21:04:47 ^style alice 21:04:48 Selected style: alice (Books by Lewis Carroll) 21:04:59 although I like setting fungot to the weirder ones sometimes 21:05:00 ais523: " how ever would oo do a garden without one? we make each bed three mouses and a half exactly.' 21:05:01 whoa, it uses "¦" for the body sometimes? 21:05:37 maybe it indicates jumping up and down. 21:05:39 * boily stares at the broken bar. “something very fishy and wrong is going on here...” 21:05:40 or an exposed spine. 21:11:20 ] ,(' ',{.,'o',{:)"1(?12 2$5){"0 1"$2 5$'_-|\<>/' 21:11:20 b_jonas: |o| \o- _o- -o/ \o_ -o| |o/ | | | | | | | | | | | | 21:11:21 >\ /| >\ /`\ /^\ >\ /< /| |\ >\ >\ /´\ 21:12:00 ] ,.(' ',{.,'o',{:)"1(?5 12 2$5){"0 1"$2 5$'_-|\<>/' 21:12:00 b_jonas: \o- \o- b_jonas: _o> |o- \o/ _o| |o- -o> -o_ |o- \o_ _o- |o> \o> 21:12:00 b_jonas: -o/ _o| \o- -o| _o- |o/ -o| _o| 21:12:00 b_jonas: \o/ \o/ _o| _o| |o> -o| -o/ b_jonas: -o> \o- _o| |o_ _o_ _o/ |o/ |o> |o/ | | | | | | ¦ | | | | | 21:12:01 /< >\ /´\ /< /| /< ´¸¨ /| |\ /< >\ /´\ 21:12:01 | | | | | | | | | | | | 21:12:01 |\ >\ /| |\ /| >\ /< >\ /| /| /`\ >\ 21:12:27 oh my 21:14:51 -!- AnotherTest has quit (Remote host closed the connection). 21:19:23 -!- zemhill has quit (Remote host closed the connection). 21:19:39 -!- zemhill has joined. 21:19:58 !bfjoust force_report_update (><)*-1 21:19:58 fizzie~force_report_update: points -33.71, score 4.35/100, rank 47/47 21:20:57 fizzie: that's basically nop.bfjoust 21:21:00 -!- MoALTz has quit (Ping timeout: 272 seconds). 21:24:12 I put the beginnings of a real website at http://zem.fi/bfjoust/ but it's missing most of the stuff. 21:28:31 I see haruka received the traditional overwhelming #esoteric welcome :p 21:29:05 the hashtag esoteric welcome 21:30:31 elliott_: in case you missed the BF Joust activity, I came first with two different programs 21:30:46 PCLMULLDDQUNORVCVTUNORDPS 21:30:56 I like this opcode . 21:31:18 ais523: o_o 21:31:20 I wonder if fizzie can make a `words equivalent for CPU opcodes 21:31:24 ais523: can we just declare you as having won bfjoust 21:31:34 elliott_: preparation finally winning wasn't much of a surprise, given how I was working on it for nine months 21:31:37 ais523: I already have a web page for that. 21:31:40 monolith winning, though, was 21:31:42 given that it's a one-liner 21:31:50 ais523: oh, I thought you meant two new ones 21:31:58 ais523: http://zem.fi/2014-04-05-opquiz 21:31:59 [17:22] !bfjoust monolith (>+)*4 (>--)*4 ((-)*5<)*4 ((+)*6<)*3 (+)*5 (>)*7 ((-)*20<)*4 ((+)*20<)*3 (+)*20 (>)*7 ((-)*20<)*4 ((+)*20<)*4 (+)*50 (>)*10 (>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21 21:32:00 [17:22] ais523~monolith: points 21.33, score 95.39/100, rank 2/47 (change: --) 21:32:01 ais523: I talked about preparation and monolith with you... right after you submitted them... I was there 21:32:06 oh right 21:32:14 I forget who's who 21:32:24 I'm not sure I can get a radically different program up to #1 in the near future, thoguh 21:32:27 easy mistake to make. there's nothing unusual about me 21:33:03 I feel good about growth, but it's not near #1 standard unless I have some new ideas 21:33:08 it is very fun to watch in egojsout, though 21:33:12 it doesn't look anything like any of the other programs 21:33:59 oh good, it does beat simple 21:34:02 I was worried it wouldn't 21:34:14 simple not having an antishudder can completely screw up programs that attack the standard way of doing things 21:36:12 oh wow, growth vs. simple is /beautiful/ 21:36:17 the strategy works perfectly 21:36:50 here we go: http://codu.org/eso/bfjoust/egojsout/?l=28ec45e1b8d742586c4857371d07270e24b32d8f&r=700a65536df97b655acd5c8a6fd2fc3014b46148 21:38:19 I want a visualiazer 21:38:25 oh wait, there is one, nvm >_> 21:41:26 whoa, how does growth fall off at length 19? 21:42:08 coppro: bad decoy pattern clash 21:42:15 it confuses a decoy for a clear attempt and runs off the end of the tape 21:42:28 this sort of thing always seems to happen with sufficiently advanced programs 21:42:39 how to ruin bf joust with one rule change: tape wraps 21:42:55 how to ruin bf joust with one rule change: bignums 21:43:02 bignums would be a lot worse 21:43:15 in particular, (+)*100000 would be mathematically incapable of losing 21:43:42 tape wrapping would at least be vaguely playable, especially because if you went past the enemy flag, you'd probably continue by clearing your own flag 21:43:48 oh, wait 21:43:55 you could just do < at the start of the program :-) 21:44:03 still more playable than bignums, though 21:44:06 make them diametrically opposed, presumably? 21:44:22 that could work 21:44:42 would also allow a strategy whereby you put a noticeable decoy pattern on the tape, then tried to wrap round and detect your own pattern after one wrap 21:44:46 then you'd know how long the tape was 21:44:58 yeah 21:45:12 the issue I think would be that simple naive programs would have a big advantage in terms of distance 21:45:22 a program that tries to deal with both fronts has to spend time running back and forth 21:45:42 coppro: that's true of standard BF Joust too 21:45:56 actually, it's the reason I reduced the tape length to 10-30, it was previously well over 100 21:46:03 it's so that defence programs actually had time to run back and forth 21:46:10 also it removes a whole load of boring midgame 21:46:36 where people just (>)*100 past the cells that can't possibly be the enemy flag and aren't useful for decoys because the enemy knows it can't possibly be your flag either 21:48:17 I wonder if 30 is too long. 21:49:07 I don't think so, basically because there's a sharp distinction at 18 21:49:15 and you want approximately the same number of cells both sides 21:49:28 (18 is the point at which you don't get decoy setup collisions) 22:01:23 -!- AndoDaan_ has joined. 22:01:26 -!- boily has quit (Quit: ESCALATING CHICKEN). 22:03:49 -!- AndoDaan has quit (Ping timeout: 272 seconds). 22:08:19 or to put it another way, preparation starts attacking at cell 18 if the opponent hasn't actually interfered by then 22:08:27 nor shown signs of being defensive 22:12:52 clearly 36 then :p 22:18:33 elliott_: also the fact that the tape can go longer than 28 has been relevant for some of my programs 22:18:53 why 28? 22:18:57 that's the point at which a program that's complex and overengineered as the sort of stuff I typically write is at risk of running out of time 22:19:55 need to see generalized bfjoust clearly 22:20:09 Thoughts on how to add the per-match detailed <<<>>> stuff in http://zem.fi/bfjoust/matrix/ (if that even works for anyone else)? I was thinking of making each cell a link to a local EgoJSout view (the "Games" tab), perhaps that'd be enough. 22:21:00 fizzie: ideally the interpreter would produce the relevant execution traces when running the hill 22:21:05 and then they could be animated with JS? 22:21:10 that's work compared to jsut linking to egojsout though. 22:21:18 *just 22:21:24 The execution traces would be equivalent, anyway. 22:21:37 it'd be nice if the row/column got highlighted, crosshair-style. 22:21:37 Modulo bugs, anyway. 22:21:41 the bold is a bit hard to keep track of. 22:21:58 That I can probably do. If I can figure out how the CSS works for columns. 22:22:08 -!- callforjudgement has joined. 22:22:15 I guess it was my connectino 22:22:20 Re variants, there's the "corewarsy" one with a longer (wrapping) tape, and the programs' flags positioned randomly. 22:22:21 -!- ais523 has quit (Read error: Connection reset by peer). 22:22:25 -!- callforjudgement has changed nick to ais523. 22:22:44 fizzie: http://quirksmode.org/css/css2/columns.html 22:22:47 fizzie: I take it that the brightness shows the winning margin? 22:22:53 ais523: Yes. 22:23:08 might want to tooltip (HTML TITLE) the exact margin, or maybe even the breakdown 22:23:15 just start the table with a colgroup of cols 22:23:20 and then you can style those col elements 22:23:55 it'd be nice if the program names by themselves linked to the source code (maybe just load it up in egojsout with no right warrior?) 22:24:01 (none pizza with left warrior) 22:24:28 I like the colour shading. 22:25:19 what does x mean? draw? 22:26:17 Yes. Oh, right, it was '0' in report.txt. 22:26:26 I forgot, since a tie is X in the raw output. 22:27:09 -!- PiRSquared has quit (Quit: -). 22:27:13 -!- AndoDaan_ has quit (Ping timeout: 260 seconds). 22:27:45 fizzie: incidentally, I instrumented juiced to report the number of cycles and reason for each win/loss 22:27:53 I use it to quickly get an idea of what programs are doing 22:28:09 because for something as complex as preparation, it's normally possible to tell which codepath it's in by when the match ends 22:29:14 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40508&oldid=40507 * Zerk * (-40) /* Strings */ quine tweak 22:29:41 Made the "Scores" page program names links to the source code. 22:41:40 also, BF Joust comment grammar is really weird 22:41:41 -!- AndoDaan has joined. 22:41:50 I've taken to using slashes as parentheses because all the beter characters are taken 22:46:00 -!- oerjan has joined. 22:48:46 -!- shikhout has joined. 22:52:35 -!- shikhin has quit (Ping timeout: 272 seconds). 23:01:48 -!- Patashu has joined. 23:13:01 -!- TodPunk has quit (Ping timeout: 244 seconds). 23:15:39 -!- callforjudgement has joined. 23:15:40 -!- ais523 has quit (Read error: Connection reset by peer). 23:15:42 -!- callforjudgement has quit (Changing host). 23:15:43 -!- callforjudgement has joined. 23:15:57 -!- callforjudgement has changed nick to ais523. 23:22:38 -!- TodPunk has joined. 23:26:08 -!- ^v has quit (Quit: Leaving). 23:26:45 -!- ^v has joined. 23:27:11 -!- ^v has left. 23:35:48 -!- haruka has quit (Ping timeout: 260 seconds). 23:35:57 -!- haruka has joined. 23:58:37 -!- AndoDaan has quit (Ping timeout: 245 seconds). 2014-09-21: 00:00:26 ] ,(' ',{.,'o',{:)"1(?12 2$5){"0 1"$2 5$'_-|\<>/' 00:00:27 b_jonas: -o> |o> |o/ -o_ -o/ |o/ | | | | | | | | | | ¦ | 00:00:27 /| /^\ >\ /< /< /| >\ |\ /| >\ ´¸¨ /| 00:01:13 -!- evalj has quit (Remote host closed the connection). 00:05:02 -!- ais523 has quit (Read error: Connection reset by peer). 00:05:07 -!- callforjudgement has joined. 00:11:15 -!- AndoDaan has joined. 00:15:23 So, which language should be picked to be featured next on the esolangs mainpage? 00:17:44 -!- callforjudgement has quit. 00:18:15 -!- ais523 has joined. 00:20:52 -!- nisstyre has joined. 00:21:15 -!- nisstyre has quit (Client Quit). 00:23:09 How about the 'I am bad at relationships and in a lot of pain' esolang 00:23:44 that's a language? 00:23:47 lemme check 00:25:29 can't find it. I think you just made a cry for help. 00:26:01 Just broke up this morning 00:26:22 girlfriend? 00:26:31 Sgeo: do you need someone to talk to? 00:26:45 I've been talking to Sine a bit 00:27:42 If it hurts so much, does it suggest I loved her even though I didn't think I did and I thought she liked me more than I liked her? 00:27:58 Not necessarily. 00:28:08 Maybe you liked being in a relationship 00:28:11 Maybe you feel guilty 00:28:13 I don't know 00:32:03 -!- ais523 has quit. 00:32:17 -!- ais523 has joined. 00:36:37 -!- Phantom_Hoover has joined. 00:45:30 -!- madbr has joined. 00:45:44 I think I found a nice concept for a language 00:45:51 something where you can do 00:46:03 vect1[$i] += vect2[i] 00:46:06 and it will work 00:46:22 if $ appears the line is turned into a loop 00:46:31 starting with the value 0 00:46:47 sounds like bash 00:46:56 for each iteration it checks that none of the subscript values go over the array size 00:47:13 it can be compiled 00:47:40 like, if you look at typical language usage there are LOTS of loops through arrays 00:47:49 and the typical C++ formulation 00:48:17 for(int i=0; i vect1[i] += vect2[i]; 00:48:29 is way too long 00:48:59 well, you could just make a preprocessor for any existing language 00:49:15 same for java... in theory it has a foreach, in practice the formulation is so long that it's pointless 00:49:41 myname : would be hard to do it in C++ 00:49:46 like, cleanly 00:49:52 it would be some horrible hack 00:50:02 madbr: well, since c++ is already dirty as fuck, who cares? 00:51:16 because it's reaching the breaking point where compexity increases exponentially with each new feature? 00:51:45 also msvc will implement it wrong/differently from GCC and then you'll have to put ifdefs everywhere 00:52:42 nah, this sounds like perl 00:53:35 but perl is dynamic typed and can never run fast 00:53:45 and also I think it just has an ordinary foreach 00:53:51 java can't, either 00:54:33 java tends to force you to use horrible syntax for everything anways 00:54:49 and a horrble language 00:57:54 like, this loops with only 1 extra character 00:58:26 Course, the C++ way of doing that is: valarray arr1(vect1.begin(), vect1.size()), arr2(vect2.begin(), vect2.size()); arr1 += arr2; :P 00:58:48 (C++: because there's too many ways of doing it!) 00:58:58 how does that even work 00:59:08 valarray has an overloaded operator+. 00:59:27 valarray is what, boost? 00:59:37 isn't everything boost? 00:59:50 C++98. 01:00:34 actually, better is transform(vect1.begin(), vect1.end(), vect2.begin(), vect1.begin(), plus()) 01:00:59 C++, everyone! 01:01:41 those use so many charactors and crazy stuff 01:03:47 pikhq: does valaray have a cast from std::vector 01:04:20 Doesn't appear to. 01:04:35 so it's useless 01:04:49 Probably the biggest design mistake of C++ STL was the use of iterators rather than ranges 01:04:58 there's been talk of correcting it, but who knows if that'll ever happen 01:05:17 madbr: Basically. 01:05:44 Fun fact: I am not good at computers 01:06:01 like, basically it has to use less characters than the first formulation (using .size() and explicit loops) 01:06:02 in haskell it'lö be zipWith (+) val1 val2 01:06:20 boom 01:06:24 any feature that uses more characters has no point 01:06:25 haskell won 01:06:27 next 01:06:43 haskell I'm sure has many other problems 01:06:53 none 01:06:54 go home 01:07:02 haskell just rocks 01:07:15 ok 01:07:16 Nah, Haskell is perfection, perfected. 01:07:24 can haskell implement a filter? 01:07:29 c++ example: 01:07:44 (in constructor) memory = 0; 01:08:59 well, haskell has a function called filter ... 01:09:01 filter_buffer(float *array, int nb_values) { for(int i=0; i what the hell? 01:09:50 filter_buffer can be called multiple times and the memory value has to be preserved from call to call 01:10:10 myname : it's a common procedure in audio processing 01:10:14 i am trying to figure out what the addition actually does 01:10:46 memory is moves 70% towards the value in array 01:11:14 So, uh: foldl (\x y-> (y - x) * 0.7) 0 01:11:23 Wait, no, that's not right. 01:11:31 sounds like something for scanl 01:11:38 Yeah. 01:11:42 remember that you have to preserve the value 01:12:14 Yeah yeah yeah, return tuple, big fucking deal 01:12:14 easy, just return a tuple 01:12:19 :D 01:13:49 :t scanl (\m a -> m + (a - m) * 0.7) 0 01:13:50 Fractional b => [b] -> [b] 01:14:10 > scanl (\m a -> m + (a - m) * 0.7) 0 [1,2,1,2,3,1,2,3,4] 01:14:12 [0.0,0.7,1.6099999999999999,1.183,1.7549000000000001,2.62647,1.487941,1.8463... 01:18:57 :t mapAccumL -- you may be looking for this 01:18:58 (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y]) 01:19:10 awesome 01:20:06 i think that's my favorite function which people rarely remember 01:20:13 madbr: wonder if J is similar enough. If you use arrays then entire function uses can end up operating on it 01:21:26 is there something to make x into (x, x)? 01:21:27 although mostly people just jump straight to the State monad and call it a day. 01:21:58 myname, other than (\x->(x,x)) or maybe join (,)? 01:22:01 Not really 01:22:13 > mapAccumL (\m a -> (\x -> (x, x)) (m + (a - m) * 0.7)) 0 [1,2,3] 01:22:15 (2.5829999999999997,[0.7,1.6099999999999999,2.5829999999999997]) 01:22:23 madbr: ^ 01:26:03 although it's pretty stupid since the "preserved value" is always just the last element 01:30:57 -!- not^v has joined. 01:34:34 > flip runState 0 $ [1,2,3] & traverse %%~ \a -> id <%= \m -> m + (a - m) * 0.7 01:34:38 ([0.7,1.6099999999999999,2.5829999999999997],2.5829999999999997) 01:35:33 sp much easier :p 01:38:23 -!- nisstyre has joined. 01:43:23 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:43:45 -!- ion has quit (Ping timeout: 260 seconds). 01:50:39 -!- ion has joined. 02:04:25 -!- zzo38 has joined. 02:05:31 Do you know if Minuteman III nuclear missiles can accept the "AHC" command remotely? 02:12:37 -!- haruka has quit (Ping timeout: 260 seconds). 02:19:48 -!- Frooxius has joined. 02:27:49 -!- conehead has quit (Quit: Computer has gone to sleep). 02:30:39 -!- `^_^v has quit (Ping timeout: 272 seconds). 02:30:53 -!- ion has quit (Ping timeout: 260 seconds). 02:33:30 -!- ion has joined. 02:36:59 -!- nortti has quit (Ping timeout: 272 seconds). 02:37:06 -!- nortti has joined. 02:55:03 (An article in 2600 says this is the command to tell it to not receive any commands remotely during the next six hours.) 02:55:04 -!- not^v has quit (Ping timeout: 260 seconds). 03:01:27 -!- augur has quit (Ping timeout: 245 seconds). 03:04:22 -!- augur has joined. 03:08:07 -!- oerjan has quit (Quit: Nite). 03:09:49 Now I know when is the equinox. 03:10:24 21St 03:10:28 ? 03:10:51 In my timezone, the equinox is on 22nd 03:11:22 Australia 03:11:37 At 19:29 03:13:16 zzo38: you created flogscript, right? 03:13:46 Yes, although that was a while ago; there are a few mistakes but now I won't fix them since it would cause incompatibilities 03:14:54 Can I ask, what the core difference is between golfscript and flogscript? 03:15:08 I'm assuming fs is like gs 03:16:03 FlogScript is probably slower, for one thing. However, there are other differences too; more commands, is completely sandboxed (cannot execute arbitrary PHP or Ruby codes), and a few other differences. 03:16:25 it's intended to be even better for golfing than flogscript 03:16:42 than golfscript you mean 03:16:42 Patashu: And sometimes it is, but other times it isn't. 03:16:48 *than golfscript, yes 03:16:53 Yes 03:17:34 and now there's gs2 on the scene 03:17:43 HQ9+ is the greatest golfing langugae 03:17:49 ^ 03:17:56 H 03:18:03 Hello, world! 03:18:10 9 03:18:14 coppro: Only if you are trying to write specific programs, though. 03:18:17 99 bott... nvm 03:18:41 zzo38: what possible reason could you have to write any other kind of program? 03:19:40 coppro: In case 99 is too much beer and then you will get too much drunk, of course! 03:19:53 zzo38: fair 03:20:11 reminds me to get around to my magnum opus 03:20:17 99 variations on the 99 bottles song 03:20:48 99 luftballon op die muren 03:21:03 over die muren* 03:29:28 -!- haruka has joined. 03:34:37 -!- haruka has quit (Ping timeout: 272 seconds). 03:46:40 I don't know what I want, I hate decisions 03:49:32 Then you must learn what you want, if in fact you want anything. 03:55:34 -!- AndoDaan_ has joined. 03:56:09 -!- AndoDaan has quit (Ping timeout: 272 seconds). 03:56:56 -!- AndoDaan has joined. 03:59:47 -!- AndoDaan_ has quit (Ping timeout: 245 seconds). 04:01:34 -!- AndoDaan has quit (Ping timeout: 276 seconds). 04:09:30 -!- AndoDaan has joined. 04:42:32 -!- AndoDaan has quit. 04:52:42 -!- shikhout has quit (Ping timeout: 246 seconds). 05:13:34 -!- ais523 has quit (Read error: Connection reset by peer). 05:13:43 -!- ais523 has joined. 05:19:23 Since Varsity has told us that fascination with Jellybabies is a "fetish", and we want to keep Nomicam a clean family game: The speaker shall once and once only go through the rules, changing every mention of the word "jelly baby" - in whatever grammatical form - into the word "sheep" - in the corresponding grammatical form. 05:36:38 Is The Caves of Androzani a good introduction to classic Who? 05:48:23 -!- AndoDaan has joined. 06:19:04 -!- shikhin has joined. 06:27:25 I can't remember the episode, sorry. I've mostly watched the original series piecemeal. 06:28:25 Starting with the 4th Doctor and just watching as many as you like is probably a good start, I should think. 4, 5, and 7 mostly got the best stories that survived the BBC Purge. 06:41:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 06:42:39 ) 'Arcane' 06:42:49 Hmm :( 06:44:14 The Yes Scotland video I watched was deleted from YouTube 06:44:15 :( 06:47:49 Did you nkow there is a politician in Germany with the actual name of German Hacker? I have a picture on the back of this issue of 2600. 06:54:52 -!- Patashu has quit (Ping timeout: 240 seconds). 07:12:23 -!- callforjudgement has joined. 07:12:43 -!- ais523 has quit (Read error: Connection reset by peer). 07:12:58 -!- callforjudgement has changed nick to ais523. 07:21:44 AndoDaan: although gs2 is "binary" 07:21:59 so not really intended for humans to program in it directly 07:23:29 AndoDaan: there's also Burlesque btw :P 07:23:41 yeah, I tried writing some code with XVI32 and the results 07:24:08 are different than when I enter the character equivelant 07:24:09 -!- MoALTz has joined. 07:24:24 (talking about gs2 in anarchy golf) 07:24:34 looked into burlesque 07:25:01 I think I like CJAM the most as a golf lang. 07:25:20 but anarchy golf doesn't take it yet. 07:28:35 I'm going to invent a language where I take every useful algorith that has ever been documented is assigned a number. 07:29:21 fibonacci sequence? source will: 07:29:31 And then what, shifted base 256? 07:29:33 100 1156 07:29:42 voila output fib to n 07:30:13 VLQ? 07:30:23 if I don't get greedy with unicode 07:30:35 VLQ ? 07:31:02 Variable-Length-Quantity, which is format used in MIDI files for delay amounts 07:31:27 You could even use UTF-8, although UTF-8 is limited to 36-bits and is not as efficient as VLQ. 07:31:55 hmm. looking it up. 07:36:17 Cool. 07:36:43 UTF-8 should only be used for text with an extended ASCII character set having a lot of character codes (normally Unicode, but anything up to 36-bits is possible). 07:37:25 There is also a small-endian version of VLQ which is called "LEB128". 07:37:47 It is exactly the same as VLQ except that it is small-endian. 07:39:49 My lack of endian awareness is probably why I'm having trouble making my gs2 source work. 07:46:49 -!- impomatic_ has quit (Ping timeout: 260 seconds). 07:47:12 -!- ais523 has quit (Read error: Connection reset by peer). 08:13:54 AndoDaan: gs2 has btw a fibonacci built-in 08:14:38 which I think is rather... not so pleasant 08:14:40 And hello world, and 99 bottles 08:14:49 kinda cheathing, I feel. 08:14:54 Yeah 08:14:57 It's boring 08:15:04 I mean if somebody looks at the ranking 08:15:15 and sees "WOW. HE CAN DO FIB IN 1 BYTE????!?" 08:15:48 I think it's ok to add builtins for certain sub-problems of problems 08:16:01 as long as those builtins are of "general purpose" 08:16:01 -!- conehead has joined. 08:16:18 which a fizzbuzz builtin like gs2 has clearly isn't 08:16:32 zzo38: actually, anything up to any number of bits is possible, there's no 36 bit limit 08:17:49 zzo38: search for utf-8 on http://www.perlmonks.com/?node_id=358307 08:18:05 Though, i think with gs2 we're near the peak of the golf language arms race. 08:18:39 b_jonas: If you make an extension of UTF-8 (using a byte with value 255, since it is not defined in standard UTF-8) then you can make it, I think. I think someone else in here discussed that once, even. 08:19:03 zzo38: doesn't perl allow up to 64 bit character codes in utf-8, as an extension, these days anyway? 08:19:15 of course it's an extension, ordinary unicode goes only up to 34 bit 08:19:21 but it's a logical extension 08:19:32 the pattern used for utf-8 just continues fine 08:19:37 AndoDaan: maybe 08:19:49 If you can find a suitable binary encoding for burlesque programs 08:20:01 Ordinary Unicode only goes up to 21-bits! 08:20:04 it might even beat gs2 08:20:19 21 then 08:20:20 sorry 08:20:33 I.e. put all the most used builtins to a 1 byte command instead of 2 bytes as of now 08:20:39 If you extend UTF-8 beyond that (or if you use any overlong encodings), it isn't Unicode anymore! 08:20:54 that will cut some solutions in half 08:20:58 wait... gs2 means golfscript 2... 08:21:03 yeah 08:21:19 it's not really a "script" anymore though 08:21:29 which just means every command is reduced to one byte 08:21:43 golfscript already has 1 byte commands 08:21:47 burlesque doesn't. 08:21:59 could one do a straight translation from a golfscript program to gs2 08:22:00 ? 08:22:05 I don't think so no 08:22:31 but I don't know gs nor gs2 well enough to really state how similar they are 08:24:34 in gs2, what does the empty program do? nop or cat? 08:24:39 since Burlesque has double as long commands as golfscript has, they are double as powerful 08:24:45 b_jonas: I don't know. 08:24:53 however, an error causes gs2 to quine 08:25:48 ouch 08:26:58 anyway. If anyone wants to create Binary Burlesque feel free to do so ;) 08:27:03 'nop': '\x00' 08:27:04 I won't do it. 08:27:20 Golfing is merely a side-effect. 08:28:00 I won't either. I don't see much point in these golfed languages. They're sort of like J, good for simple tasks only, not for big programs. 08:28:16 J is good for big programs I think 08:28:24 mroman_: some claim that, yes 08:28:27 -!- evalj has joined. 08:28:28 I don't think so 08:28:36 It has modules and probably even GUI stuff etc 08:28:48 sure does. 08:28:48 i.e. you can use it for real world software 08:29:06 which is something you can't do with gs, gs2, blsq, cjam, fg etc 08:29:18 (probably) 08:29:18 -!- madbr has quit (Quit: Pics or it didn't happen). 08:29:25 I don't know if gs can execute arbitrary ruby code 08:29:35 I think it can? 08:31:20 rb 08:32:48 hmm, rb was planned but it is not a documented command 08:34:33 -!- conehead has quit (Quit: Computer has gone to sleep). 08:47:46 -!- AnotherTest has joined. 09:20:32 -!- AndoDaan has quit (Ping timeout: 248 seconds). 09:29:53 -!- haruka has joined. 09:34:03 -!- haruka has quit (Ping timeout: 244 seconds). 09:47:47 -!- AndoDaan has joined. 10:15:02 opcode VFMSUBADD321PD is real 10:15:07 well fuck you too then o_O 10:17:27 What does it mean? 10:17:47 DOUBLE RAINBOW 10:23:35 "Performs a set of SIMD multiply-subtract-add computation on packed double-precision floating-point values using three source vectors/operands, a, b, and c. Corresponding values in two operands, a and b, are multiplied and infinite precision intermediate results are obtained. The odd values in the third operand, c, are subtracted from the intermediate results while the even values are added to ... 10:23:41 ... them. The final results are rounded to the nearest float64 values." 10:24:28 The "321" denotes something about the operand order, I forget the exact details. 10:26:27 Many modern instructions sets are way too insane. I like 6502 instruction set. MMIX is also not quite too bad actually 10:26:59 Though the Intel manual only mentions VFMSUBADD132, VFMSUBADD213 and VFMSUBADD231. It's possible that 321 is a NASM bug, that's where I took the instruction listings from. 10:31:39 Denoting the subtract-add operation by +-, "VFMSUBADD132PD xmm1, xmm2, xmm3" means "xmm1 = xmm1*xmm3 +- xmm2" and correspondingly 213 -> "xmm1 = xmm2 * xmm1 +- xmm3" and 231 -> "xmm1 = xmm2 * xmm3 +- xmm1". 10:33:09 Or, in general, VFMSUBADDXYZP xmmX, xmmY, xmmZ -> xmmX = xmmX * xmmY +- xmmZ; the destination register is always the leftmost, but the numbers give the order of the operands in the "a * b +- c" part. 10:33:34 And since * is commutative, I guess VFMSUBADD321PD is a reasonable enough alias for VFMSUBADD231PD and so on. 10:37:02 -!- Patashu has joined. 10:51:39 `danddreclist 57 10:51:39 danddreclist 57: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex 10:52:41 There is not supposed to be bats flying around inside of the blacksmith shop, isn't it? 10:58:24 https://github.com/dagit/hs6502/tree/master/src 11:01:36 ntrstng 11:17:42 -!- AnotherTest has quit (Read error: Connection reset by peer). 11:18:01 -!- AnotherTest_ has joined. 11:18:08 -!- AnotherTest_ has changed nick to AnotherTest. 11:34:27 -!- myname has quit (Ping timeout: 245 seconds). 11:41:38 -!- AndoDaan has quit (Remote host closed the connection). 11:43:56 -!- AndoDaan has joined. 12:00:25 `dontaskdonttelllist 12:00:26 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 12:00:43 -!- fgdsdhfshd has joined. 12:02:36 -!- fgdsdhfshd has quit (Client Quit). 12:02:57 -!- TieSoul has quit (Remote host closed the connection). 12:11:02 -!- AndoDaan has quit (Remote host closed the connection). 12:13:21 -!- AndoDaan has joined. 12:19:52 -!- shikhin has quit (Ping timeout: 240 seconds). 12:23:19 -!- AndoDaan_ has joined. 12:24:00 -!- AndoDaan has quit (Ping timeout: 248 seconds). 12:36:55 -!- shikhin has joined. 12:47:58 -!- Patashu has quit (Ping timeout: 272 seconds). 13:01:18 Should I allow web-based submissions, and if so, should the bot report statistics about them on channel? (It's harded to police those; of course nicks aren't very reliable either, but at least it's a slight disincentive against messing up other people's programs.) 13:06:20 -!- boily has joined. 13:06:36 Is that something that happens; people messing with another's their code? 13:07:26 I mean, I see quintopia.space_elevator 13:08:04 and ais523 13:08:35 it just seems people are more about claiming the bot than looking into someone elses 13:09:38 -!- haruka has joined. 13:13:12 -!- haruka has quit (Client Quit). 13:21:53 -!- boily has quit (Quit: SWAPPED CHICKEN). 13:29:21 -!- boily has joined. 13:51:35 -!- GeekDude has joined. 13:53:45 -!- Phantom_Hoover has joined. 14:02:08 -!- AndoDaan_ has quit (Ping timeout: 248 seconds). 14:12:04 I guess. I'd probably prefix all web submissions with 'web~' anyway, if I went that way. 14:36:48 -!- AndoDaan has joined. 14:44:30 I think it's nice that people interested in bf joust join the channel. 14:47:34 -!- boily has quit (Quit: FLUMMOXING CHICKEN). 14:48:10 -!- Vorpal_ has joined. 14:48:10 -!- Vorpal_ has quit (Changing host). 14:48:10 -!- Vorpal_ has joined. 14:50:30 -!- TieSoul has joined. 14:51:23 -!- oerjan has joined. 14:51:32 -!- Vorpal has quit (Ping timeout: 245 seconds). 14:59:15 [wiki] [[Special:Log/newusers]] create * Grace * New user account 15:02:28 -!- drdanmaku has joined. 15:02:39 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 15:08:42 -!- GeekDude has joined. 15:14:37 [wiki] [[Logical]] M http://esolangs.org/w/index.php?diff=40509&oldid=32381 * Grace * (-4) Fixed a typo 15:36:33 -!- mysanthrop has joined. 15:44:26 befunge joust 15:44:28 :) 15:45:17 where both programs are in the same space 15:45:22 and can bombard each other with p 15:45:57 or scan for enemies with g 15:46:03 could be fun 15:46:11 Heh. I always wanted to learn CoreWars when I was a kid, but I could never get my head around REDCODE. 15:47:15 -!- AndoDaan_ has joined. 15:47:54 "Gregor_furry_furry_strapon_pegging_girls" 15:48:13 ? 15:48:23 good program 15:48:43 Deep poking 15:48:49 -!- AndoDaan has quit (Ping timeout: 260 seconds). 15:49:25 I'm not sure what breadcrumb decoys are though 15:52:05 -!- AndoDaan_ has changed nick to AndoDaan. 15:54:01 -!- AndoDaan_ has joined. 15:56:44 -!- AndoDaan has quit (Ping timeout: 260 seconds). 15:59:17 -!- shikhin has changed nick to lawpoker. 15:59:50 Added a game viewer on the Fancy Website™. 15:59:52 -!- lawpoker has quit (Quit: leaving). 16:00:07 (Permalink buttons don't work yet, and result matrix doesn't link there.) 16:00:12 -!- shikhin has joined. 16:00:13 -!- shikhin has changed nick to lawpoker. 16:02:11 -!- nortti has changed nick to lawpokerpokerpok. 16:02:17 -!- lawpokerpokerpok has changed nick to nortti. 16:02:30 Also disabled the text areas (because I'm not going to set up a server-side permalink facility like real EgoJSout has), but in retrospect maybe people would like to be able to try out things. 16:03:13 do you really need a server-side thing? 16:03:24 I guess yes because the programs are long? 16:05:02 Yes, even compact URL encodings are probably overly long. 16:05:12 hmm, is the matrix meant to highlight the entire columns/rows? it only does the headers for me 16:05:18 -!- lawpoker has changed nick to Their. 16:05:20 which isn't terribly useful 16:05:29 It's *meant* to, but I didn't get that far yet. 16:05:36 !bfjoust AndoDaan_ReadMyOutput (>)*4(+)*33.<(+)*69.<(+)*73.<(+)*68(>)*9((+)*20[-]>(-)*20[+])*-1 16:05:37 AndoDaan_~AndoDaan_ReadMyOutput: points -20.86, score 12.64/100, rank 47/47 16:06:09 well, it bested shudderlock. 16:06:11 -!- Glaisher has left ("Leaving"). 16:06:21 Also I guess the dropdowns in the game viewers should be ordered alphabetically and not by ranking.... 16:07:14 AndoDaan_: you know you're not meant to include your name twice, right? :p 16:07:35 ah, did not notice 16:08:06 so, ReadMyOutput == AndoDaan_ReadMyOutput? 16:08:19 zemhill appends my naam. 16:08:20 == AndoDaan~ReadMyOutput. 16:08:26 fizzie: incidentally, I think . and : are probably the nicest options for nick separation. valid unescaped in filenames and URLs, simple to type on all keyboards, not visually noisy and have relevant associations (namespaces; "nick: msg" on IRC) 16:08:28 -!- AndoDaan_ has changed nick to AndoDaan. 16:08:43 I may have given this more thought than it deserves. 16:08:56 Right, but then I'd have to do the manual renaming once more time. 16:09:05 I'm not sure why I didn't think of '.' earlier, since I kind of like it. 16:09:10 fizzie: rename * 's/~/./' 16:09:15 or does the expression come first 16:10:07 I sort of like : more, just for the cute pun on IRC nick pings, and because my hierarchical mind would expect "program.author.bfjoust" filename-wise. both seem a lot nicer than ~ though :p 16:11:01 I think my original dislike for : was that it tab-completes as \:. 16:11:05 A very rational reason, I'm sure. 16:11:30 huh, it does? 16:11:32 I wonder why 16:11:41 I don't know. If it has a special meaning, I don't know it. 16:11:47 it doesn't here on zsh, at least 16:12:00 It does on bash, but removing the \ (at least in simple cases) does nothing bad. 16:12:00 one weird thing about : is that on OS X, "foo:bar" shows in graphical applications as foo/bar. 16:12:30 I guess it might make things difficult for all the people on Windows systems cloning the repository. 16:12:35 (because of the legacy of Paths:Like:These from classic Mac OS, and maybe because people like to name things with slashes in them?) 16:12:48 -!- oerjan has quit (Quit: see:you:later). 16:12:57 oh, yeah, Windows is a good point. okay, I throw in my vote for either ., or organising them into directories and using /. 16:13:09 obviously we need a survey. 16:13:20 Someone had voted for "magic" in the scoring survey. 16:13:43 (Also it's very inconclusive, and I've just been going with the markov one by default.) 16:13:48 -!- mysanthrop has changed nick to myname. 16:15:00 I actually use the comma, because it can't appear in a channel name 16:15:03 evalj, ls: 16:15:03 b_jonas, done list 16:15:16 ] 4*8 16:15:17 b_jonas: 32 16:15:19 ] t=: 5 16:15:19 b_jonas: |ok 16:15:25 evalj, ls: 16:15:25 b_jonas, open sessions are: b_jonas,#esoteric 16:15:25 b_jonas, done list 16:15:27 clearly that's the answer. nick,program 16:15:45 by default, evalj names sessions from nick,channel 16:15:59 nick%program. 16:16:00 it names shared sessions like ,channel 16:16:12 but yuo can change the chnanel part to whatever you want, to have multiple sessions 16:16:18 I think nick/program would be by far the nicest visually, but I guess the question is how useful organising things into author directories is. 16:16:29 it does have a nice sort of feel to the "program ownership" restrictions, at least. 16:18:11 Mmmaybe, but I don't think I can be bothered to fix the code for that. Not that the "display name" needs to exactly match the file name. 16:18:23 Screw it, I'll go with the dot, it's safe everywhere and doesn't look like much. 16:18:48 fizzie: wait! have you considered nick§program? 16:19:03 nickprogram. 16:19:21 nick✏️program, to denote authorship. 16:19:25 (I hope you can see emoji.) 16:21:13 How about (Username)FileName.bf 16:21:45 (AndoDaan)ReadMyOutput.bf 16:22:27 (ais523)preperation.bf 16:22:49 and so on and so forth 16:22:56 I think it's a bit visually verbose. 16:22:59 AndoDaan: oh no... info viewer convention. don't do that. 16:23:15 Worth a shot. 16:23:20 -!- zemhill has quit (Remote host closed the connection). 16:23:50 there's a more evil variant though: Username>Filename 16:23:58 -!- zemhill has joined. 16:24:34 Maybe I'll just make it change every week. 16:24:37 Why evil? 16:25:53 fizzie: you know, on Windows I think foo.bar.bfjoust will show up by default as foo, a BAR.BFJOUST file. 16:26:19 nah, past the last dot. 16:26:25 are you sure? 16:26:32 I think Windows talks about TAR.GZ files. 16:26:46 I have a bunch of Gravity.Axxo.whatever.mp4 files 16:27:37 now I am. Yes 16:27:59 on the other hand, . is the only option for POSIX "fully portable filenames" (A–Z a–z 0–9 . _ -) if not for directory organisation. 16:28:36 though, also, those have a 14 character limit. :p 16:28:39 [wiki] [[JSFuck]] http://esolangs.org/w/index.php?diff=40510&oldid=39176 * Grace * (+2203) Added more information 16:29:37 I tend not to care about "fully portable filenames" though. 16:29:53 well, we have to use *some* criteria for bikeshedding. 16:30:07 how about you just give a fully random filename from some large set of characters 16:30:16 Sure, just like my passwords. 16:30:50 store the warriors as sha512 + .bfjoust, let people use arbitrary unicode text to name them, store the mapping in a sqlite database 16:31:04 TIL "bikeshedding" 16:31:27 and then put the whole thing in the blockchain. 16:31:47 ooh, ooh: submit programs by paying some small amount of bitcoins and including their code in the transaction 16:31:47 [wiki] [[Object oriented thue]] http://esolangs.org/w/index.php?diff=40511&oldid=36600 * 4D enthusiast * (-90) Revised the introduction 16:32:11 how about HUserNameFileName where the first character is 64 plus the length of the username? 16:32:14 may i interest you in this artisnal yak hair coat 16:32:37 then users can use any characters in their username without fearing of conflict with the separator 16:33:08 How about naming the programs after it's Strategy Code. 16:34:28 remember the filenames need to be 8.3 16:34:33 Anyone remembers the strategy codes? 16:35:02 "dPC?d?D@(!Y)Y(D)Y(D)%>~O2*3\+"==quintopi's space_hotel 16:35:23 but more colourful. 16:35:35 but yeah, the sha1 of their contents might work too 16:37:22 b_jonas: sorry, 8.3 has less than 83 bits of storage space 16:37:24 ...wow 16:37:26 what a coincidence 16:37:41 (it's a little complicated because of the space handling rules) 16:38:12 it's about 82.4 without spaces, 82.5 with unrestricted spaces 16:38:22 elliott_: that depends on what code page you have loaded with MODE CON, for that determines what high characters are allowed 16:38:34 seriously, you can't even open existing filenames with wrong characters 16:38:49 b_jonas: is that a FAT thing or a DOS thing? 16:38:52 https://en.wikipedia.org/wiki/8.3_filename doesn't say anything about that 16:38:54 elliott_: a DOS thing 16:39:00 well, who cares about DOS? 16:39:11 don't you use FAT-16 on your workstations? 16:39:13 um, who cares about 8.3 filenames? 16:39:14 It's also a bit of a Windows thing. 16:39:41 Because Windows' Unicode support is moronic. 16:47:46 [wiki] [[JSFuck]] http://esolangs.org/w/index.php?diff=40512&oldid=40510 * Grace * (+459) Added list of encoders 16:49:43 -!- MoALTz_ has joined. 16:51:40 -!- MoALTz has quit (Ping timeout: 244 seconds). 16:56:34 -!- Abramelin has joined. 16:56:44 Hi 16:58:21 -!- AndoDaan has quit (Ping timeout: 272 seconds). 16:59:24 The great architect of the universe is yourself 17:00:00 of course, that's why i'm discordian pope 17:02:09 Reality is Chaos right ? 17:03:43 myname: you too? What a spooky coincidence 17:05:00 2spooky4me 17:09:40 -!- Abramelin has quit (Quit: Page closed). 17:10:28 thanks 17:23:02 [wiki] [[JSFuck]] http://esolangs.org/w/index.php?diff=40513&oldid=40512 * Grace * (+65) Found another encoder 17:23:35 -!- deco has joined. 17:24:29 Hey guys so I know this isn't a esoteric language but you guys have never let me down in the past. I need your help identifying what this is: 17:24:32 the answer to this stage is notveryhard 17:24:32 Idaia fidvsc s o.eual o tlsag e rmee"r f nlhnphlhihi oya fw Ffwoeo'r eortfdfpgffitooitnptotnul o tioonhrrlhge bhglyfynbocrrne tlee hlied ooea. ti ys r!yaes. sru s pysnwo,g .ovm btw liTho giu ecue cIerahochrui nryth wht arat earsf" o a 17:24:52 I think it is a classic cipher but I don't know which one 17:25:23 again sorry for posting something that is not a esoteric language. I just know you guys are smart and could help 17:28:25 weird spacing. 17:30:08 Some sort of a transposition thing in that case, perhaps. 17:30:28 ^scramble Since you end up with weird spacing, and punctuation, with those. 17:30:28 Sneyuedu ihwidsaig n ucuto,wt hs.eothi niatnpda,ncp re twp n o ci 17:33:57 There are a number of "classical" ones based on writing the stuff in a grid or a spiral or whatnot, and reading it out the other way around. 17:34:56 there is a hint "Hint, everybody knows it's not length that matters." 17:36:01 it changes every time its generated 17:36:10 here is another version I wnet o eto oh hig hfT sryuehateffa hf o rovh.aovbeoituw pe irea rshrice tIrw sm e lh ahtladiay" elay i yrocgowwf lopss dn iuiifglur hs eccrnnoee ocoti r n"rtndbhurflypei.t golala ophfn saeneldiyttrfgF,n!'ml gosoao o o.t ebhu .srfryt 17:37:55 Exactly identical character frequencies, which is an even stronger clue that it's just a transposition thing. 17:38:21 Does it always start with "I", by any chance? 17:38:32 let me run another 17:38:38 i'm wondering about the count of single-letter words... 17:38:53 yes it always starts with I 17:39:10 I'lcslraooh hh"flc tehhywvf.reie.o hh mao ae afs rgaoh lusr bTsf aFtelpawlltddaheoinostleviedr ose rssr, e etn aini ft w any hgbifecmosweyyngoa eeg ar hroooeu t. hylcg ie uut! ph ftooriysrgr h.driIa utyco eo weoostif sp u" eeirnb roh tprttsfl 17:39:19 and another 17:39:26 Iaafds nte la messrhpliioafw, orerffgfe cponl ioryhebgyybcr"oa le oa t.ulye.susps lom t ih Fweu Irhcrioin wtaa asrlgdi ivcs leotsgere"y !nhhh y eog.' otdpfauettu otosrt hlfnori hidoe. eeaas r ysfnv bwlTotfoeceaohu ot h rterarh 17:39:51 the first letter of the sequence is always I 17:42:07 That's curious. The first two had exactly identical character counts, but these are slightly different. (Do you happen to know if the plaintext's fixed?) 17:43:32 if it's transposition of a single plaintext they wouldn't give that length hit. 17:43:35 hint 17:46:40 Be that as it may, it's certainly unlikely to happen by chance that the first two happen to be permutations of each other, if the rest aren't. 17:46:55 (And the letter frequencies are *very* typical for English, too.) 17:48:15 What's this where's it from? 17:48:16 Also I got some regular words out of it simply by line-wrapping it at a certain length and reading it top-to-down. 17:48:58 Is that from something like http://pythonchallenge.org/ or some similar puzzles? 17:49:08 maybe there's a few plaintexts. 17:49:10 no wait, wrong url 17:49:41 http://www.pythonchallenge.com/ 17:50:14 At line length of 22, the starts of the first columns read stuff like "I hope", "don't", "a problem", "ith this I", [ch]"allenge" and so on. 17:50:42 b_jonas: its stage two of a crypto challenge 17:50:53 I see 17:51:02 stage one was a ceaser cipher you had to solve in 2 seconds and send the response so I did it up in python 17:51:06 got past stage two 17:51:15 got past that to stage two* 17:51:35 oh, so it's always a permutation? 17:51:43 hmm 17:52:14 I can send you my script if you like 17:52:20 do you have python installed? 17:52:34 -!- AndoDaan has joined. 17:52:35 can you paste some versions of this cyphertext somewhere? 17:52:41 A caesar cipher is not a permutation. (I mean, of the plaintext. It's a permutation of the alphabet, of course.) 17:52:41 sure 17:52:46 thanks 17:52:48 give me one sec 17:54:13 http://pastebin.com/7xD08sim 17:54:24 thanks 17:54:40 whoa 17:54:44 so they're not really permutatinos 17:54:50 they ahve different lengths 17:55:37 after I solve the first part: 17:55:39 Congratulations, you have solved stage 1. You have 9 seconds left. 17:55:40 Now it's time for something slightly more difficult. Hint, everybody knows it's not length that matters. 17:56:50 even though they do look sort of like permutations. let me compute their frequencies 17:57:01 "I hope you don't have a problem with this challenge. It should be fairly straight forward if you have done lots of basic crypto. --" 17:57:04 That's what it says. 17:57:11 I didn't quite paste all of it. 17:58:03 sweet! fizzie how did you solve it 17:58:18 was it the 22 line length 17:58:47 the letter frequencies are very similar, the punctuation and capital letters are very similar, but the number of "a" and "e" differ 17:58:53 it's... strange 17:59:11 It's different amount of columns for the different outputs, it's not always 22. 17:59:26 For your second paste, it's 15. 17:59:54 oh, you mean it's padded with extra letters? 17:59:58 let me try to transpose it 18:00:18 You just line-wrap it at the right length, and read top-to-bottom instead of left-to-right. 18:00:35 fizzie: what tool did you use? ms word? 18:00:37 See http://en.wikipedia.org/wiki/Transposition_cipher#Columnar_transposition except it's not even in scrambled order. 18:00:40 right, Journey to the Center of Earth cypher 18:00:46 let me try 18:00:59 And I used vi and a resizable terminal window. 18:01:44 fizzie: the second paste on here of pastebin was 15? 18:02:13 On the channel. Unless I rearranged them when trying out. 18:02:54 http://sprunge.us/hhKj <- that one, anyway. 18:02:57 thank you so much fizzie 18:03:24 -!- aretecode has joined. 18:05:45 hmm, I get half garbage half real text 18:05:52 probably I'm doing something wrong 18:07:48 If you're using some editor's line-wrapping, it's probably handling e.g. several spaces or words-longer-than-lines somehow specially. 18:07:58 I'm not 18:08:05 I'm using a simple perl script, but using it wrong 18:08:07 let me try to fix it 18:08:23 I get stuff like: (I hope you don't have a problem wirg h h ho rnve. It should be fairly straight foartdprcyeoea e done lots of basic crypto. The mo r u sflhr,your efforts is "not not wrong". Fhacosfafl os you will get another challenge!.twiyiireauftg) 18:08:59 ah! found the real phrase too 18:09:52 maybe deco copy-pasted some spaces wrong/ 18:09:56 or something 18:10:05 maybe (sorry if I did) 18:10:22 but maybe it's something on my side 18:10:27 Im trying to figure out how to write an auto solver in python 18:10:41 to send the solution instantly back to the server 18:11:04 why'd you do that? isn't the magic phrase always the same? 18:11:21 or maybe there's two of them, hmm 18:11:28 Apparently not. 18:11:38 Some of the later pastes are different. 18:12:24 All the rest of the plaintext -- the "I hope you don't .." and so on -- seems to be the same, so if you don't mind a less elegant solution, you can just try widths from 1 onward until the result starts with that. 18:16:43 I understand how it works I just need to figure out how to create a solution in python 18:34:29 -!- shikhout has joined. 18:34:50 ] #t1=:'Imli yh dfcoewhw ru ioibyyrwlpteop ileh uten f of"gytah.f.eohia o tuirvTrF slehtoad y esrnoc d onhsomiyt''atnasohtlreg' 18:34:50 b_jonas: 125 18:34:55 #t2=:' ue la i"rrheilcw ango iecvghtpnfheetshnfa . riola foanrl Iofsgteptr e snr wb f,gosaafo ebhrsory!lodir o.eu c tu' 18:35:00 160{.,|:_8]\ t=:t1,t2 18:35:05 ] 160{.,|:_8]\ t=:t1,t2 18:35:05 b_jonas: 160 {. , |: _8 ]\ 'Imli yh dfcoewhw ru ioibyyrwlpteop ileh uten f of"gytah.f.eohia o tuirvTrF slehtoad y esrnoc d onhsomiyt''atnasohtlreg' , t2 18:35:09 ] #t2=:' ue la i"rrheilcw ango iecvghtpnfheetshnfa . riola foanrl Iofsgteptr e snr wb f,gosaafo ebhrsory!lodir o.eu c tu' 18:35:10 b_jonas: 114 18:35:12 ] 160{.,|:_8]\ t=:t1,t2 18:35:12 b_jonas: I hope you don't have a problem with this challenge. It should be fairly straight forward if you have done lots of basic crypto. The magic phrase for your effor 18:35:32 (truncated to 160 chars intentionally) 18:38:40 -!- Their has quit (Ping timeout: 260 seconds). 18:40:10 -!- shikhout has changed nick to Their. 18:45:43 -!- nortti has changed nick to lawspeaker. 18:45:51 -!- Their has changed nick to shikhin. 18:46:30 -!- lawspeaker has changed nick to nortti. 18:46:58 -!- nortti has changed nick to lawspeaker. 18:47:27 -!- lawspeaker has changed nick to nortti. 18:53:43 fizzie: you still there? 18:53:54 got to the third and final stage 18:54:00 WPKLB WZENC ZQNEO WIEPM XUQKM DYAZL WMZMB CJOII ZQVAG CHWZJ OXTHJ OOLPD LVFMP OGHRT LVIXF HEATM QBGGB HUAKG VIUVQ WZABC VBJBA CAEDM UMUHT JNBCC LBYHC ZQBVQ RTXTJ ZRWZR KWWMB VNTSS WEGPQ ZYMRI HAWKM HBGZT HTQMA CSTVV WRWLB HBMRI HAWKM HUAKU HKCGP OADCC LBKPW BQEIF REONK VJICJ EMTXY IVRVB OMVLX IGTYC PIIBK DURRQ HNQKB VRNVV WTGOM ZVNKF HUKWL ZRRZE KBJXZ SAOKF LVIMZ WPKPM NVQPU CEEKC ABVHU OXEJS UMVAI HVTZQ VWNOI PYEZQ KWWEL DEOSY ETACC GGPLR LVUHU SAUIQ HZAKP MZEF 18:54:21 ïa ïa, shub-niggurath 18:55:18 -!- shikhin has changed nick to lawpoker. 18:57:48 Scotland is interesting 18:57:50 http://en.wikipedia.org/wiki/Not_proven 18:58:47 deco: paste that to somewhere as well because it's long 18:59:11 Did you miss a letter at the end, Deco? 18:59:54 rgr 18:59:58 that one is probably not a simple rearrangement cipher nor a single letter substitution cipher, but something more complicated 19:01:08 AndoDaan: yes I did 19:01:11 now i kind of want to set up a crypto challenge site that's just a bunch of numbers station transcripts. 19:01:22 and photos of Kryptos and so on 19:01:32 who is Kryptos? 19:01:36 http://en.wikipedia.org/wiki/Kryptos 19:02:19 oh, that one 19:02:57 -!- lawpoker has changed nick to shikhin. 19:03:52 -!- AndoDaan has quit (Ping timeout: 258 seconds). 19:04:01 I'm guessing a four-square, since that's what people hit when they think 'something that's not a single-letter substitution'. 19:04:03 here is another one (not missing last chrs 19:04:14 http://pastebin.com/H78P9Zpa 19:04:21 -!- conehead has joined. 19:07:44 the letters have noticably different frequencies, but not really the frequencies you'd expect from English 19:13:51 Good old Kasiski test strongly suggests a Vigenère with key length of 7. 19:14:48 There are a number of repeats with offsets like 28, 392, 91, 182, 539; the gcd of all of those is 7. 19:15:26 looking at it now, any idea what the key would be? 19:17:13 fizzie: did you manually do a Kasiski examination? 19:17:36 No, I just wrote some Perl oneliners. 19:18:10 ... | perl -ne 'chomp; $w = 4; for ($at = 0; $at+$w < length($_); $at++) { print substr($_, $at, $w), "\n"; }' | sort | uniq -c | grep -v '^ *1' for a list of repeats and so on. 19:19:13 -!- AndoDaan has joined. 19:21:50 -!- AndoDaan_ has joined. 19:23:48 -!- AndoDaan has quit (Ping timeout: 258 seconds). 19:24:08 -!- FreeFull_ has joined. 19:24:49 -!- AndoDaan_ has changed nick to AndoDaan. 19:25:33 -!- FreeFull_ has quit (Client Quit). 19:26:22 -!- FreeFull has quit (Ping timeout: 240 seconds). 19:30:43 What are you thinking of this Famicom mapper design? http://wiki.nesdev.com/w/index.php/User:Zzo38/Mapper_I 19:37:02 get any further fizzie? 19:37:37 Well, yes, I did solve it. 19:37:47 But doesn't it kind of defeat the purpose of the challenge if you just ask for solutions? 19:38:34 fizzie: so it is vigenere with key size of 7 you said? 19:39:04 Yes. And you get the key directly by observing the character histograms of every 7'th letter -- at all 7 different offsets -- and just checking what the obvious shift is to make those match English. 19:39:45 The text is mostly just filler to make it easier to solve. 19:40:30 for the sake of time can you tell me the key? Ill go back and solve it manually later. 19:40:53 I assume the key, and possibly also the key length, is random in different iterations of the problem. 19:41:46 for the one that you solved what was it? 19:42:24 Well, the offsets you need to add are (0, 9, 22, 22, 0, 8, 2). And the plaintext starts (I've added the spaces) "THIS TIME WE WILL GIVE YOU MORE PLAINTEXT TO WORK WITH ..." 19:43:46 Alternatively, the offsets the ciphertext has had added are (0, 17, 4, 4, 0, 18, 24) and you can subtract those; but I don't think either way the key makes sense as a word, so it's perhaps just random letters. 19:44:55 It does say "-- the funny thing is that depending on which random key you get that poem might be exactly the right offset to successfully mount an attack --", which makes it sound a bit like it's random key length, too. 19:48:16 Oh, I guess the key does make sense as a word, since the latter turns into "AREEASY". I just converted the first five letters when looking at it, and "AREEA" didn't seem very word-like. 19:48:28 Anyhow, maybe that means they have a fixed set of keys they pick from. 20:18:30 what do you think the magic phrase is in the text? 20:18:45 the rhyme? 20:23:38 Well, the version I got says "let's put the magic phrase for the next level in the middle" "right here" "nothing tricky" "ok" "now more text to make sure that it is solvable". 20:23:47 I guess you could solve another instance and see what changed. 20:27:13 here is another instance 20:27:15 http://pastebin.com/RMFH99ND 20:27:38 -!- ski has quit (Ping timeout: 244 seconds). 20:28:23 -!- ski has joined. 20:38:16 The key for that is "WORDS". 20:38:21 And the plaintext seems identical. 20:46:02 There are a number of javascript web pages where you can paste in ciphertext and it'll do the repeat-offset analysis and provide you with shiftable letter frequencies to slide. 20:47:15 can you send a link? 20:50:14 http://www.simonsingh.net/The_Black_Chamber/vigenere_cracking_tool.html is one of the ones I hit first. Or you could go to http://practicalcryptography.com/cryptanalysis/stochastic-searching/cryptanalysis-vigenere-cipher-part-2/ or, you know, Google. 20:50:18 Though I'm not entirely sure why you're doing this all, if not for the fun of puzzling it out. 20:53:59 !bfjoust refresh_report (>)*8(>[-])*21 20:53:59 fizzie.refresh_report: points -18.90, score 12.98/100, rank 47/47 20:54:30 I don't understand why the report is persistently showing ais523.preparation as "new" in the rank-change field. 20:58:11 Ohhhh, just a js mishap. 20:59:06 (Due to 0 being false.) 20:59:44 Oh well, at least I got the .s in. 21:02:48 -!- Patashu has joined. 21:05:07 -!- FreeFull has joined. 21:11:42 -!- skarn has quit (Ping timeout: 272 seconds). 21:13:40 -!- skarn has joined. 21:17:32 fizzie: which *lance is it running? 21:17:52 -!- evalj has quit (Remote host closed the connection). 21:18:22 torquelance? 21:18:30 wait, no 21:18:49 hmm, what is wrenchlance? 21:18:57 oh, it's documented. 21:18:58 -!- GeekDude has quit (Read error: Connection reset by peer). 21:19:15 -!- GeekDude has joined. 21:21:55 -!- GeekDude has quit (Client Quit). 21:22:11 -!- GeekDude has joined. 21:25:18 -!- Patashu has quit (Ping timeout: 245 seconds). 21:25:50 -!- AnotherTest has quit (Remote host closed the connection). 21:27:23 -!- conehead_ has joined. 21:30:31 -!- atehwa has joined. 21:31:09 -!- conehead has quit (Ping timeout: 272 seconds). 21:31:10 -!- lambdabot has quit (Ping timeout: 272 seconds). 21:31:10 -!- FireFly has quit (Ping timeout: 272 seconds). 21:31:12 -!- Vorpal_ has quit (Ping timeout: 272 seconds). 21:31:39 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 21:32:20 -!- FireFly has joined. 21:33:37 -!- conehead_ has quit (Ping timeout: 272 seconds). 21:36:36 -!- atehwa_ has quit (Ping timeout: 272 seconds). 21:36:36 -!- Vorpal has joined. 21:36:36 -!- Vorpal has quit (Changing host). 21:36:36 -!- Vorpal has joined. 21:37:02 -!- lambdabot has joined. 21:48:43 fizzie: btw, the readme still says the bot is written in python 21:56:19 I think I fixed that, but then I was going to write something else to the README too so didn't commit just that change. 21:56:26 -!- deco has left. 21:56:36 (I have no idea why I went all Ruby with it either.) 21:59:04 -!- boily has joined. 22:03:00 I'm glad that Haskell is finally starting to catch up to Racket with PatternSynonyms 22:03:06 >.> 22:03:46 -!- oerjan has joined. 22:10:27 -!- FreeFull has quit (Ping timeout: 244 seconds). 22:12:26 -!- FreeFull has joined. 22:16:52 Sgeo: heretic! how dare you tell that Haskell is less advanced than any other language! 22:17:00 (also, what is a PatternSynonym?) 22:21:27 -!- clog has quit (Ping timeout: 245 seconds). 22:21:30 Allows defining pseudopatterns with pseudoconstructors that expand into other patterns 22:22:04 So with that plus ViewPatterns, I could define a pattern like GreaterThanFive on Ints 22:22:14 oh. ooooooh... 22:34:06 -!- clog has joined. 22:36:00 boily: https://www.fpcomplete.com/user/icelandj/Pattern%20synonyms 22:49:02 @metar ENVA 22:49:03 ENVA 212220Z 31009KT 9999 BKN041 08/03 Q1018 RMK WIND 670FT 32016KT 22:49:10 it's getting chilly 22:50:39 @metar CYUL 22:50:40 CYUL 212200Z 20009KT 15SM FEW040 FEW052 SCT110 BKN240 22/17 A2952 RMK CU1SC2AC2CI2 CU TR SLP996 DENSITY ALT 1400FT 22:51:00 twenty two? now the weather's just messing up with me. 23:37:59 -!- Zuu has quit (Ping timeout: 272 seconds). 23:51:35 -!- Zuu has joined. 23:52:00 -!- Zuu has changed nick to Guest24268. 2014-09-22: 00:11:31 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:22:38 @hoogle (a -> b -> b) -> a -> Int -> [b] -> (a, [b]) 00:22:39 No results found 00:23:51 hellørjan. what for is to do so? 00:25:04 :t \f x n -> first (foldl' f x) . splitAt n 00:25:05 (c -> a -> c) -> c -> Int -> [a] -> (c, [a]) 00:25:36 it's the type of that, which is a function which can be done more optimized by _not_ using splitAt 00:26:24 oh hm 00:26:38 misordered 00:26:51 It's not that much less optimized. 00:26:52 @hoogle (a -> b -> a) -> a -> Int -> [b] -> (a, [b]) 00:26:52 No results found 00:27:10 Jafet: it leaks memory if n is large 00:28:01 while it can actually be done in constant memory by explicit recursion 00:28:27 Well, don't use the snd first. 00:29:52 i got the idea from this http://stackoverflow.com/questions/25961869/improving-performance-on-chunked-lists 00:31:18 :t \(a, b) -> (a, seq a b) 00:31:19 (t, t1) -> (t, t1) 00:35:28 -!- shikhout has joined. 00:39:11 -!- shikhin has quit (Ping timeout: 272 seconds). 01:00:57 -!- AndoDaan has quit (Ping timeout: 244 seconds). 01:04:06 -!- AndoDaan has joined. 01:05:59 "Yes, hardcore developers laugh when the monks of the Spider Clan speaking about “programming” in HTML, JSTL, CSS, or Javascript. Until the customer decides that the application’s home page absolutely must have dancing translucent pigs follow the mouse cursor in IE 5.5." 01:12:58 -!- AndoDaan has quit. 01:13:56 -!- boily has quit (Quit: EXPERIMENTAL CHICKEN). 01:28:38 -!- perrier has joined. 01:30:07 -!- perrier has quit (Remote host closed the connection). 01:31:02 -!- perrier has joined. 01:35:15 -!- drdanmaku has joined. 01:48:13 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:57:33 -!- nisstyre has quit (Changing host). 01:57:34 -!- nisstyre has joined. 01:59:40 http://thecodelesscode.com/case/30 02:00:05 I'm not sure I get it. Is the one-byte integer signed?... yeah, that has to be it, I think 02:00:07 Also with the cups 02:00:29 And I don't get the broom at all 02:22:32 To sign extend a 6-bit number in 6502 assembly code, is this a good way? ASL A : ASL A : ANC #255 : ARR #255 : ROR A 02:26:28 -!- shikhout has quit (Ping timeout: 272 seconds). 02:27:12 I'm beginning to appreciate Racket more and more, although it's not as batteries included as it claims 02:27:30 No good story for client-side cookie handling, for one 02:31:15 Is there better way to sign-extend 6-bits? 02:55:30 -!- Sorella has quit (Remote host closed the connection). 03:08:18 in Cl i'd do a&=63; a-=a&32 03:09:02 when a is of type char 03:09:22 well, does't matter; works same for larger types 03:12:16 you can do it even faster 03:13:11 a -= a&-32 03:14:21 hmm, wait 03:16:51 you need a -= (a&-32) + (a&32) 03:28:45 That isn't a 6502 code though 04:36:41 -!- conehead has joined. 04:46:18 -!- pi___ has joined. 05:11:26 -!- oerjan has quit (Quit: leaving). 05:23:23 ahaha http://thecodelesscode.com/case/104 05:24:14 not bad. 05:28:16 Is this me? http://thecodelesscode.com/case/107 05:30:28 Sgeo: I guess the cups are a reference to a signed integer; the commentary makes them sound like positional binary digits, and the last one is different. Based on the poem, maybe the broom is about the same thing: the signedness is not inherent to having 8 bits, much like sweeping dust is not inherent to a thing that looks like a broom. 05:31:15 fizzie: the last one is a sign bit then? 05:31:26 that finally makes sense. 05:37:56 "For the security of your account, we are poised to open a query. Kindly click on the link: [obvious non-obscured phishing link], for good security practice." 05:44:37 Sgeo: I am far too 'young' as a programmer to see myself in case 107, and yet ... 06:04:06 -!- MoALTz_ has quit (Quit: Leaving). 06:04:25 Someone watches the television show, but now since every channel has the same man on it, they try to put in a DVD and watch that; but, he secretly replaced the DVD with a recording of himself, having a conversation with the viewer; he anticipated all of the questions and timing so he can answer them... 06:04:33 And then, the viewer decides to rewind it a bit due to being confused and wants to figure it out, but this was also anticipated, and all of the things he says are suitable for the new questions too (even though it is in fact all the same things)... 06:05:53 Do you like this kind of things? 06:07:20 -!- AndoDaan has joined. 06:10:25 The puns, they burn 06:10:26 http://thecodelesscode.com/case/128 06:19:27 128 reminds me of the BLIT story. 06:26:01 " When the real meets the imaginary, their product is always complex." XD 06:26:47 zero, zero 06:28:23 I completely misinterpreted http://thecodelesscode.com/case/136 the first time I read it 06:28:37 zzo38: doesn't 6502 have like cheap jumps? could you do something like, AND #$3F; CMP #$20; BCC t; IOR #$C0; t:; 06:28:48 I parsed '“To share important news,” said Zjing. “While observing the party, I discovered a form of communication that cannot be transmitted over IP sockets.”' as meaning some kind of disaster because a new protocol would need to be used which isn't widely supported 06:29:11 though what you said might be shorter 06:30:43 b_jonas: Shorter by one byte, yes. (Also it is called ORA rather than IOR) 06:30:52 ok 06:31:23 Yours is a bit faster though. 06:31:54 [wiki] [[Special:Log/newusers]] create * WinnieTFCfszeh * New user account 06:32:47 Two new users in as many days. We're in an Eso rennaisance. 06:33:26 zzo38: can you just shift left twice then rotate right twice? 06:34:48 Rotate right will rotate through the carry flag. 06:36:03 So, it doesn't work. 06:36:52 hmm 06:37:24 so how about (shift left twice, clear carry, rotate right, clear carry, rotate right); or else (shift left twice, rotate right twice, and)? 06:37:32 wouldn't that still come out shorter but probably slower? 06:37:47 I've no idea how shifts and rotates work in the 6502 06:38:35 The ASL and LSR command shift in a cleared bit and puts shifted out bit into the carry flag. ROL and ROR act similar except that the shifted in bit is the old carry flag. 06:39:19 there's an LSR? that's even simpler then 06:39:33 no wait 06:39:36 um 06:39:48 damn 06:39:52 no it doesn't work 06:40:32 -!- AndoDaan has quit (Remote host closed the connection). 06:40:49 -!- AndoDaan has joined. 06:41:31 Also ARR acts like AND followed by ROR A, but then it sets the carry flag to bit6 of the result. 06:41:45 ANC is AND and then copy the high bit (bit7) of the result into the carry flag. 06:41:55 wait what? 06:42:05 ALR is like AND immediate followed by LSR A. 06:42:15 isn't one of those right shift instructions unreliable and undocumented? 06:42:32 I totally thought the 6502 doesn't have a sane right shift 06:42:35 All are unofficial, but they are all reliable. 06:42:41 huh 06:42:56 I thought at least one was undocumented because it's unreliable 06:43:16 There are unreliable instructions too, but these aren't them. 06:43:17 as in, it was planned to work originally, but didn't work well, so they just made it undocumented 06:43:25 ok 06:47:31 So both of these two ways my and your can help in some ways; one shorter, one faster (in both cases not by much), but maybe there is an even better way; let's see! I can try to think of it too. 06:47:40 yeah 06:48:11 it's funny, I'm used to thinking of modern cpus, where shift/rotates are still expensive, but jumps are also often expensive 06:48:46 but of course x86 have nice ways to avoid jumps 06:49:07 Well, in 6502, shift/rotates of the accumulator are fast, but when acting on memory they are slow. Jumps in 6502 are 3 or 4 cycles, or 2 if the branch is not taken. 06:52:41 For some reason I didn't think of the code you posted, because I looked at Infocom's code which is similar but has a lot of junk added to it, and I inadvertently rejected it... 06:55:11 I still try to think of if there is an even better one though. 06:55:38 oh 06:55:44 I see 06:56:42 It is a size/speed trade, I suppose. 06:56:58 dunno, I was thinking of *(ASL; ASL; CMP #$80; ROR; CMP #$80; ROR) only I think that doesn't work because the carry flag is the complement of what we want 06:58:34 Unlike Z80, 6502 doesn't have a "complement carry flag" instruction. 06:59:01 technically if you have a lot of memory, you could use a lookup table like TAX; LDA lookup,X; 06:59:11 But as it happens, in the case I am using it happens to be in both the X and A registers already. 06:59:23 that's fast but takes 260 bytes 06:59:41 hmm wait, that's a good idea 06:59:44 And yes I did think of that too; I might use it, although I don't need TAX since it is already in X 07:00:14 can you store a copy in X and use some instruction to get the high bit to the carry flag from X somehow? 07:00:15 I probably do have enough ROM space, and it is also possible to make overlapping tables 07:00:24 (that probably won't work) 07:01:23 if you want shorter tables, AND #$3F; TAX; LDA lookup,X; that takes 64+6 bytes I think 07:02:10 There are some instructions that deal with both A and X registers at once, such as LAX (combining LDA and LDX), SAX (storing the bitwise AND of the values in A and X), and AXS (calculate bitwise AND of A with X, subtract an immediate ignoring the carry flag, storing the result in X). 07:03:07 I will probably use a full lookup table, and then change it if I run out of memory 07:03:52 what are you making? 07:04:25 Z-machine interpreter, this time using a new mapper I made up, which bankswitches one byte at a time 07:05:14 wait wait 07:06:46 I wonder if it's possible to do something with shifts and subtract or xor to flip bit 5 07:06:55 Here is a description of the mapper: http://wiki.nesdev.com/w/index.php/User:Zzo38/Mapper_I 07:07:25 Actually, I wonder whether or not sign-extending is really even the best way to do what I am trying to do. 07:07:47 Huh, so there are other Racket users here 07:08:33 Sgeo: I am one. 07:08:49 Currently fighting with the old try-racket code trying to get it to run without X dependencies. 07:08:58 J_Arcane: you're who I was referring to 07:09:01 I expect this small bank size can speed it up a lot 07:09:10 * Sgeo would like a try-racket website 07:09:16 Me too. 07:09:54 There's code for one, but no one's hosting it anywhere, so I cashed out a $20 from my book royalties and bought a VPS and a domain. It's running now, but with issues; the picts don't work right. 07:10:06 Also I stil have to set the domain to redirect right. 07:10:20 Do people use 2hdtp for images, or is there a more ... non-learner image library? 07:10:40 pict is the standard library. 07:10:52 (Not only the small bank size, but also the register mirroring overlapping the Famicom's internal RAM) 07:10:55 2htdp is mostly just some easy to use wrappers for it, is my understanding. 07:11:00 Ah cool 07:11:11 Slideshow also imports variant versions of the pict library. 07:17:32 zzo38: AND #$3F; EOR #$20; CLC; ADC #$60; EOR #$80; 07:17:43 zzo38: that's 9 bytes but is probably quite fast 07:17:54 though it might not be faster than the conditional one 07:18:59 zzo38: also look in this book, it might help: http://www.hackersdelight.org/ 07:21:14 Thank you, although I think I might try something other than sign-extension, since I am not even sure sign extension is actually correct for what I am trying. 07:24:49 zzo38: is it possible to write that in such a way that the CLC is redundant because the carry flag just happens to be clear from previous instructions? 07:26:27 That last example, yes; use ANC instead of AND. 07:28:05 The DNS is propogating now, but I still have to change the default port and make sure my firewall isn't blasting all my ports to the world. 07:28:06 great 07:28:12 that's quite fast and short then 07:28:26 8 bytes, not the shortest 07:29:13 (ANC is like AND, but also copies the high bit of the result to the carry flag. Unofficial instructions are pretty strange, but useful anyways.) 07:29:30 well, the conditional one is faster when the branch is not taken 07:30:08 Yes, it is true 07:30:50 how much time does ANC imm take? 3 cycles? 07:31:04 Two cycles, just like AND imm. 07:31:19 (Also, ANC cannot use any other addressing modes than immediate) 07:31:19 oh 07:31:22 that's even better 07:31:57 that makes this quite fast I think 07:32:06 faster than I thought 07:35:47 When trying to figure out how to decrement a 16-bit number stored in variables $11 and $21 while at the same time loading the mapper registers with their new values, I came up with several things and decided on this: LDA $1021; ORA #255; DCP $1011; BNE L1; DEC $1021; L1: ... 07:36:38 Other things I have tried include: LAX <$11; AXS #1; STX $1011; LDA <$21; SBC #0; STA $1021 and then LDX <$11; BNE L1; DEC $1021; L1: DEX; STX $1011; BIT $1021 07:37:43 Which are respectively: 14 bytes, 18 cycles; 14 bytes, 16 or 21 cycles. The one I then decided on in the end is: 13 bytes, 15 or 20 cycles. 07:38:40 ("DCP x" acts like "DEC x" followed by "CMP x", but is as fast as "DEC x" (since it doesn't reread the value), as well as supporting more addressing modes.) 08:09:18 -!- AnotherTest has joined. 08:21:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:23:20 zzo38: I'm a fool, the second xor is redundant 08:23:47 zzo38: AND #$3F; EOR #$20; CLC; ADC #$E0; 08:24:13 or equivalently, EOR #$20; ANC #$3F; ADC #$E0; 08:24:46 that's only six bytes 08:25:36 -!- Patashu has joined. 08:29:45 OK 08:33:26 zzo38: and I should have known this because Hacker's Delight chapter 2-6 tells it straight: http://www.hackersdelight.org/basics2.pdf 08:33:51 see second formula there 08:34:03 that's where I should have looked in first place 08:38:19 Ah, OK! 08:39:23 (or in Knuth volume 4 of course) 08:39:44 Dammit, I hate dealing with DNS. 08:40:04 does not service 08:40:41 ANC, hmm. 08:41:25 -!- Phantom_Hoover has joined. 08:43:25 adorable. "note to ANC: this command performs an AND operation only, but bit 7 is put into the carry, as if the ASL/ROL would have been executed." 08:56:55 int-e: bit 7 of the input or bit 7 of the result? 08:57:09 Bit7 of the result. 08:57:18 whew 09:25:50 -!- conehead has quit (Quit: Computer has gone to sleep). 09:31:34 I have hackersdelight laying right next to me :) 09:31:36 good book 09:41:05 -!- choochter has joined. 10:03:33 mroman_: nice 10:14:51 -!- boily has joined. 10:16:39 -!- Patashu has quit (Remote host closed the connection). 10:17:00 -!- Patashu has joined. 10:17:52 CommonMark has and stuff 10:17:56 wth 10:21:08 wait... it doesn't have tables? 10:24:39 Neither does traditional Markdown, to be fair. 10:26:12 true 10:26:21 but since they are trying to improve it a bit 10:26:27 it might have been good to have tables 10:26:54 For me the idea behind markdown is that it is supposed to be human readable in a text-editor 10:27:03 but can also be easily converted to html, latex etc. 10:27:23 html tables aren't so much human readable imo 10:27:43 I think it's actually bad to allow HTML in it 10:27:54 you can't render html to other formats EXCEPT html neatly 10:28:14 it's not human readable... it's render target specifc 10:31:09 A line break (not in a code span or HTML tag) that is preceded by two or more spaces is parsed as a linebreak (rendered in HTML as a
tag): 10:31:12 ok so 10:31:28 You can't visualy see if it's a line break or not 10:31:34 because 10:31:36 foo 10:31:36 bar 10:31:41 ^-
10:31:42 foo 10:31:43 bar 10:31:45 ^- no
10:32:01 (notice the two spaces after the first foo) 10:34:27 [wiki] [[Object oriented thue]] M http://esolangs.org/w/index.php?diff=40514&oldid=40511 * 4D enthusiast * (+258) /* Syntax */ clarified RHS instance numbering 10:37:10 [wiki] [[Object oriented thue]] http://esolangs.org/w/index.php?diff=40515&oldid=40514 * 4D enthusiast * (-72) /* Syntax */ changed copying example to include explicit numbering 10:44:25 Yeah, I'm not a great fan of that particular syntax; but it's also just codifying existing practice. 10:48:22 (I think many Markdown syntax highlighting modes probably provide a visual indication for that.) 10:51:03 html can be rendered to pdf or stuff 10:51:18 but you *have* to define your page size 10:51:28 and what happens when it's not enough 10:53:19 pdf rendering is a nightmare. pdf rendering from html is... the experience is painful. 10:54:23 add some enterprise software to that, and a half-assed underdevelopped obscure idiosyncratic renderer with known issues... 10:54:23 well, if you use the good library, it already has a conversion method 10:55:05 it may be good, but I'm not touching that anymore without a trusty 10' pole. 10:55:07 pdf don't even support tables the same way html do 10:55:25 -!- pi___ has quit (Ping timeout: 272 seconds). 10:55:56 borders & number of rows per cells are determined cell-wise, not row-wise 11:00:30 I like \LaTeX{} tables. they are artistic. 11:01:22 I like writing tabular stuff in MathJax, because I get to type in & for every column-separating &. 11:01:28 Very artistic. 11:02:57 'twas table, and the slithy &s... 11:08:09 -!- FreeFull has quit (Ping timeout: 246 seconds). 11:11:05 -!- boily has quit (Quit: RUNCIBLE CHICKEN). 11:26:41 -!- Phantom__Hoover has joined. 11:29:37 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 12:23:03 -!- Phantom__Hoover has quit (Ping timeout: 246 seconds). 12:25:05 -!- AndoDaan_ has joined. 12:26:32 -!- AndoDaan has quit (Ping timeout: 245 seconds). 12:40:04 Can you do hostname hostname in /etc/hosts? 12:40:12 i.e. foo alias 12:40:22 where alias is an "alias" for the host foo? 12:45:31 -!- AndoDaan_ has changed nick to AndoDaan. 12:47:44 Not in a conventional hosts database. 12:48:30 You can just do "1.2.3.4 foo alias1 alias2". 12:53:45 JSONx is an IBM® standard format to represent JSON as XML. 13:01:04 Sounds sensible. 13:02:20 -!- Patashu has quit (Ping timeout: 260 seconds). 13:03:30 I imagine there are regions of the business world where XML is the most basic medium of communication and storage. 13:04:03 -!- ais523 has joined. 13:06:57 ion: nice find! 13:16:18 -!- impomatic_ has joined. 13:16:45 [wiki] [[Special:Log/newusers]] create * N4t45ha999 * New user account 13:17:57 wow, I thought that username style died out decades ago 13:18:41 Every day, someone discovers the internet for the first time 13:19:31 (Or perhaps, discovers esowiki for the first time, after possibly several decades) 13:23:20 -!- zzo38 has quit (Remote host closed the connection). 13:29:45 Everything is XML nowadays 13:29:48 which is bad. 13:31:12 -!- GeekDude has joined. 13:33:50 http://codepad.org/OROFAWyi <- I like LISP 13:34:54 why convert Lisp into XML? 13:35:08 I don't. 13:35:14 I'd just prefer LISP-like over XML 13:35:48 XML looks ugly, it's harder to read for humans 13:35:54 It takes too much space 13:36:10 ... vs (veryLongName ...) 13:36:22 LISP-like requires less disk space . 13:36:43 !bfjoust growth http://nethack4/esolangs/growth.bfjoust 13:36:44 ais523: URL fetch problems: getaddrinfo: Name or service not known 13:36:49 !bfjoust growth http://nethack4.org/esolangs/growth.bfjoust 13:36:50 ais523.growth: points 18.74, score 82.35/100, rank 3/47 (change: +1) 13:37:49 hmm, if I temporarily delete monolith and preparation, does growth win? 13:37:55 I guess it's worth a try 13:37:59 !bfjoust monolith < 13:37:59 ais523.monolith: points -46.00, score 0.00/100, rank 47/47 (change: -45) 13:38:07 !bfjoust preparation < 13:38:07 ais523.preparation: points -45.00, score 0.00/100, rank 47/47 (change: -46) 13:38:16 nope, space_hotel does 13:38:25 !bfjoust preparation http://nethack4.org/esolangs/preparation.bfjoust 13:38:28 ais523.preparation: points 23.67, score 100.00/100, rank 1/47 (change: +46) 13:38:37 !bfjoust monolith http://nethack4.org/esolangs/monolith.bfjoust 13:38:38 ais523.monolith: points 21.98, score 92.65/100, rank 2/47 (change: +45) 13:38:56 !bfjoust mroman.whoho (-+)*999999 13:38:57 mroman_.mromanwhoho: points -21.43, score 9.61/100, rank 47/47 13:39:32 meanwhile, there's something else I've been working on, but it won't do very well 13:39:37 it should stay on the hill pretty much forever, though 13:39:39 let me try 13:39:56 !bfjoust mroman.whoho (>+>-)*2<<<<(-+)*999999 13:39:58 mroman_.mromanwhoho: points -28.26, score 5.97/100, rank 47/47 (change: --) 13:40:08 that's even worse :( 13:40:11 !bfjoust margins http://nethack4.org/esolangs/margins.bfjoust 13:40:18 ais523.margins: points 0.64, score 37.61/100, rank 12/47 13:40:41 everyone, look at http://zem.fi/bfjoust/breakdown.txt 13:40:42 for margins 13:40:44 it's hilarious 13:41:28 mroman_: "-1" is easier way to type 100000 than "999999" 13:41:53 That's a lot of ties. 13:42:29 mroman_: And you don't need to put your name and a . in manually; in fact, the dot you add is removed. 13:43:00 Maybe I should really make that just reject names with "illegal" characters instead of silently modifying them. 13:43:07 fizzie: the strategy, basically, is to win on tape length 10 and maybe 11 and 12, and draw all the others 13:43:10 thus winning overall 13:43:26 !bfjoust whoho (>)*6(+[]<)*4>([-]>)*64 13:43:28 mroman_.whoho: points -34.24, score 3.40/100, rank 47/47 13:43:36 !bfjoust vibration >(+)*128<(-)*127(-+)*-1 13:43:36 ais523.vibration: points -12.50, score 17.47/100, rank 47/47 13:43:57 mroman_: that's the "original" vibration program, but the strategy's too well known by now 13:44:00 !bfjoust whoho (>)*6(-[]<)*4>([-]>)*64 13:44:02 mroman_.whoho: points -36.81, score 2.68/100, rank 47/47 13:44:32 I don't like Brainfuck :) 13:44:42 (That's why I've started yesterday on fungejoust) 13:44:50 mroman_: as I said earlier to someone else, programs that work via giving the opponent a large head start tend not to do very well 13:45:32 mroman_: It was called "Befunge gladiators" when proposed in 1997. 13:46:39 !bfjoust whoho (>)*9(-<)*8([-]>)*64 13:46:40 mroman_.whoho: points -24.19, score 6.45/100, rank 47/47 (change: --) 13:47:09 !bfjoust whoho (>)*9(-<+<)*4([-]>)*64 13:47:10 mroman_.whoho: points -22.90, score 8.08/100, rank 47/47 (change: --) 13:47:11 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)([(+)*6[-]]>)*3([(+)*6[-]]>)([(+)*6[-]]>)*3([(+)*6[-]]>))*7 13:47:11 AndoDaan.BeatYouMate: points -7.64, score 24.32/100, rank 40/47 (change: --) 13:47:20 fizzie: proposed? 13:47:24 So.. not implemented? 13:47:48 (also it's not really befunge as of now. It's just a 2D programming language sofar) 13:48:07 AndoDaan: that program beats growth, which annoys me 13:48:12 On the Befunge mailing list. I don't think anything ever came out of it. 13:48:29 "Oh, and the Warriors/Gladiators code is, for the moment, gone. I plan to get a working version of it _sometime_, but no promises about when." 13:48:39 The only surviving vestige is probably the cryptic "team number" field for the y Funge-98 instruction in the spec. 13:49:54 "Also, Befunge-97 should be a Cartinfinispheribefunge." 13:49:56 Good list. 13:50:06 "For example, Klefunge is a synonym for Mobitrefunge." 13:50:10 Lots of talk on the taxonomy. 13:50:52 Regular Befunge-93 is 80,25-Cartefinitoribefunge-93 in that system. 13:51:21 !bfjoust whoho (>)*9(>[(-)*128])([-])*-1 13:51:22 mroman_.whoho: points -31.10, score 5.77/100, rank 47/47 (change: --) 13:53:05 http://www.phlamethrower.co.uk/befunge/befwars.php 13:53:46 I remember seeing that. Someone made a start of befunge battling 13:54:53 !bfjoust simple (>)*8([>(-)*100[-]])*21 i think I got something like this out of the evolver early on 13:54:53 fizzie.simple: points -32.07, score 5.67/100, rank 47/47 13:55:12 Not exactly like that, but with a simple giant jump at the start. 13:56:01 Er, the > should not be inside the []s. 13:56:12 !bfjoust simple (>)*8(>[(-)*100[-]])*21 i think I got something like this out of the evolver early on 13:56:12 fizzie.simple: points -17.57, score 14.31/100, rank 47/47 (change: --) 13:56:33 It's not much better, but it's at least not entirely absurd. 13:57:19 fizzie: that's just fizzie_tiny, isn't it? 13:57:57 Oh, did I submit it? 13:58:21 fizzie: yes, but it seems to have fallen off the hill in the meantime 13:58:48 Yes. It's pretty much just that, with a .- clear and a couple of decoys. 13:59:11 !bfjoust tiny >(+)*4>(-)*4>+>-(>)*5([(-)*125[.-]]>)*-1 let's see out of curiosity 13:59:12 fizzie.tiny: points -19.55, score 12.73/100, rank 47/47 13:59:28 Still last, which would explain why it's no longer there. 14:01:19 !bfjoust tiny2 >++>-->+>-(>)*4(>[(-)*110[-]])*21 14:01:19 fizzie.tiny2: points -20.67, score 11.34/100, rank 47/47 14:02:42 !bfjoust tiny2 (>-->++)*4(>[(-)*100[-]])*21 14:02:42 fizzie.tiny2: points -23.40, score 9.85/100, rank 47/47 (change: --) 14:02:56 Heh, just worse. 14:06:52 -!- callforjudgement has joined. 14:07:16 -!- ais523 has quit (Disconnected by services). 14:07:18 -!- callforjudgement has changed nick to ais523. 14:08:12 !bfjoust tiny2 (>-->++)*4(>[(-[{(+[{(+)*140[-]}])%6}])%3])*21 14:08:13 fizzie.tiny2: points -16.83, score 15.04/100, rank 47/47 (change: --) 14:09:28 -!- Guest24268 has changed nick to Zuu. 14:09:36 -!- Zuu has quit (Changing host). 14:09:36 -!- Zuu has joined. 14:10:09 !bfjoust BeatYouMate (>------>+++++++)*4>(([+++++++[-]]>)*3([+++++++[-]]>)[-------[+]]>[+++++++[-]]>[+++++++++++++++++++[-]]>[+++++++[-]]>[--------------[+]]>[+++++++[-]]>[+++++++[-]]>[++++++++++++++++[-]]>[----------[+]]>[-------[+]]>[++++++++++++++++++++++++++[-]]>[----------------[+]]>[-------------------------[+]]>[-------------[+]]>[++++++++++++++++[-]]>[++++++++++++++++++++++[-]]>[--- 14:10:09 AndoDaan: error: parse error: starting ( without a matching ) 14:10:09 -------------[+]]>[+++++++++++++++++++++++++++++++++++++++++++++++[-]]>[+++++++++++++++++++++++++++++++++++++++[-]]> 14:11:04 !bfjoust BeatYouMate (>------>+++++++)*4>([+++++++[-]]>)*3([+++++++[-]]>)[-------[+]]>[+++++++[-]]>[+++++++++++++++++++[-]]>[+++++++[-]]>[--------------[+]]>[+++++++[-]]>[+++++++[-]]>[++++++++++++++++[-]]>[----------[+]]>[-------[+]]>[++++++++++++++++++++++++++[-]]>[----------------[+]]>[-------------------------[+]]>[-------------[+]]>[++++++++++++++++[-]]>[++++++++++++++++++++++[-]]>[---- 14:11:04 ------------[+]]>[+++++++++++++++++++++++++++++++++++++++++++++++[-]]>[+++++++++++++++++++++++++++++++++++++++[-]]> 14:11:04 AndoDaan: error: parse error: starting [ without a matching ] 14:11:09 ugh 14:11:11 sorry 14:15:53 It’s too long, your message is getting split up. 14:17:07 It's not illegal to use (+)*n to abbreviate something like +++++++++++++++++++++++++++++++++++++++ too. 14:17:33 (Also possibly makes it easier to tweak constants. Or maybe not, adding or deleting characters is pretty easy too.) 14:17:44 Ah, good. I was really worried about that... 14:18:17 Nah, I'm just trying to get a feel for the hardcode 14:22:41 -!- ais523 has quit (Read error: Connection reset by peer). 14:22:53 -!- ais523 has joined. 14:34:13 -!- `^_^v has joined. 14:36:57 [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40516&oldid=40496 * Imaginer1 * (+11) 14:37:21 hm 14:37:23 lispwars 14:37:33 :) 14:37:37 Do it. 14:37:54 There's a tape. Whereas the tape consists of pointers to lisp lists 14:37:59 (a program is just a list) 14:38:02 something like that 14:38:28 Naturally. 14:38:53 Much harder to say what a step is though. 14:44:36 fizzie, yeah, RLE compression works great on brainfuck code 14:47:26 !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*17[-]]>)*7([(-)*28[+]]>)*7 14:47:26 AndoDaan.BeatYouMate: points -19.62, score 13.75/100, rank 47/47 (change: -11) 14:48:19 !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*6[-]]>)*21 14:50:23 !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*17[-]]>)*21 14:50:24 AndoDaan.BeatYouMate: points -11.43, score 20.60/100, rank 46/47 (change: -10) 14:50:53 !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*5[-]]>)*21 14:50:53 AndoDaan.BeatYouMate: points -9.10, score 22.09/100, rank 46/47 (change: --) 14:51:15 !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*3[-]]>)*21 14:51:16 AndoDaan.BeatYouMate: points -12.74, score 18.13/100, rank 46/47 (change: --) 14:59:23 Melvar: yeah... 14:59:57 my 2d language is of higher priority anyway 15:00:17 -!- ais523 has quit (Read error: Connection reset by peer). 15:00:30 -!- ais523 has joined. 15:01:22 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*6[-]]>))*7 15:01:23 AndoDaan.BeatYouMate: points -6.14, score 26.78/100, rank 34/47 (change: +12) 15:01:46 Is it allowed to steal someones bfjoust program and tweak it .? 15:02:09 mroman_: it's normally considered bad style to steal the entire program, but stealing ideas is fine 15:02:16 :H 15:02:17 Depends on who's stealing from who. 15:02:29 !bfjoust imp + 15:02:29 it is, however, considered legitimate to repost someone else's program that's fallen off the hill, if you credit them 15:02:29 mroman_.imp: points -34.71, score 4.14/100, rank 47/47 15:02:32 if you're wondering how it would do nowadays 15:02:59 !bfjoust imp ([+]-)*-1 15:03:00 mroman_.imp: points -23.52, score 4.96/100, rank 47/47 (change: --) 15:03:16 -!- shikhin has joined. 15:03:16 !bfjoust return_of_myndzi_slowrush >(+)*22>(-)*22(>++++++>------)*1>+>->->+(>[[-(+)*22[-]]+>[+(-)*22[+]]->]+)*21 15:03:18 ais523.return_of_myndzi_slowrush: points -10.81, score 21.18/100, rank 47/47 15:03:18 like that 15:03:22 !bfjoust imp (>[+]-)*-1 15:03:22 mroman_.imp: points -29.48, score 9.00/100, rank 47/47 15:03:45 !bfjoust imp (>)*3(>[+]-)*-1 15:03:46 mroman_.imp: points -26.55, score 10.70/100, rank 47/47 (change: --) 15:03:59 !bfjoust imp (>)*9(>[+]-)*-1 15:03:59 mroman_.imp: points -21.38, score 13.75/100, rank 47/47 (change: --) 15:04:29 the invention of the offset clear was revolutionary 15:04:37 !bfjoust imp (>)*9(>[+]-)*9 15:04:38 mroman_.imp: points -26.83, score 9.13/100, rank 47/47 (change: --) 15:04:43 oh, that reminds me, I put a new idea into growth 15:04:45 I start with an offset clear 15:04:49 !bfjoust imp (>)*9(>[+]-)*9([-]>)*-1 15:04:50 mroman_.imp: points -23.79, score 11.66/100, rank 47/47 (change: --) 15:04:58 but I turn /off/ the offset after 200 cycles 15:05:06 because at that point, it's unlikely to be useful 15:05:16 !bfjoust imp (>)*9+[](>[+]-)*-1 15:05:16 mroman_.imp: points -34.17, score 4.88/100, rank 47/47 (change: --) 15:05:22 !bfjoust imp (>)*9-[](>[+]-)*-1 15:05:24 mroman_.imp: points -34.02, score 4.94/100, rank 47/47 (change: --) 15:05:26 damn 15:05:43 !bfjoust imp (>)*9(-)*10[](>[+]-)*-1 15:05:45 mroman_.imp: points -33.38, score 5.13/100, rank 47/47 (change: --) 15:05:47 -!- drdanmaku has joined. 15:06:13 !bfjoust imp (>->+)*4(>[+]-)*-1 15:06:13 mroman_.imp: points -24.17, score 12.47/100, rank 47/47 (change: --) 15:06:20 !bfjoust imp (>->-)*4(>[+]-)*-1 15:06:21 mroman_.imp: points -23.98, score 12.58/100, rank 47/47 (change: --) 15:06:38 !bfjoust imp (>-)*9(>[+]-)*-1 15:06:39 mroman_.imp: points -24.62, score 11.94/100, rank 47/47 (change: --) 15:06:52 !bfjoust imp (>-)*4(>)*5(>[+]-)*-1 15:06:52 mroman_.imp: points -22.50, score 13.67/100, rank 47/47 (change: --) 15:07:02 !bfjoust imp (>->+)*2(>)*5(>[+]-)*-1 15:07:02 mroman_.imp: points -23.21, score 13.08/100, rank 47/47 (change: --) 15:07:30 !bfjoust imp (>-)*3(>)*6(>[+]-)*-1 15:07:31 mroman_.imp: points -23.05, score 12.88/100, rank 47/47 (change: --) 15:07:35 :D 15:07:58 at least my corewars programs are still on the beginner's hill . 15:08:32 mroman_: programs like imp aren't inherently bad; however, they are what most of the hill is designed to beat 15:08:38 imp is a corewar staple too right? 15:08:48 AndoDaan: it's part of a corewar strategy 15:08:49 imp is mov 0,1 15:08:56 which is like a virus 15:08:57 people set up imps, or imp spirals, as a distraction or last resort 15:08:59 it copies itself 15:09:21 an imp copies itself, whereas an imp spiral is multiple programs that copy each other 15:09:25 just copy yourself forward. 15:09:26 mov 0,1 is "move this instruction to the next cell" 15:09:36 spirals are useful because they'll exit if the opponent runs them 15:09:46 and then ip get's incremented and will execute mov 0,1 again 15:09:47 hmm, I wonder how often core wars ends up in a draw due to the entirety of memory being full of imps 15:09:48 I never got that far in corewars. 15:10:04 imp is also sometimes and "end strategy" 15:10:13 you do your thing at if it ain't working you just imp it 15:10:23 because imps draw a lot and make you lose less 15:10:40 s/at/and 15:10:41 !bfjoust oops (>-*5>+*5>-*32)*3(>[+-+.])*11 15:10:42 int-e.oops: points -35.90, score 3.77/100, rank 47/47 15:10:55 !bfjoust oops (>-*5>+*5>-*32)*3(>[+])*11 15:10:56 int-e.oops: points -30.45, score 7.10/100, rank 47/47 (change: --) 15:11:05 !bfjoust imp (-)*128(>)*-1 15:11:05 mroman_.imp: points -40.12, score 1.96/100, rank 47/47 15:11:17 hah 15:11:32 !bfjoust imp ((-)*128>)*-1 15:11:32 mroman_.imp: points -35.83, score 3.41/100, rank 47/47 (change: --) 15:11:39 interesting 15:11:50 !bfjoust imp >((-)*128>)*-1 15:11:51 mroman_.imp: points -35.33, score 3.19/100, rank 47/47 (change: --) 15:12:13 !bfjoust oops (>-*5>>+*12)*3(>[+.])*11 15:12:13 int-e.oops: points -34.21, score 4.64/100, rank 47/47 15:12:21 !bfjoust oops (>-*5>>+*12)*3(>[+])*11 15:12:21 int-e.oops: points -29.74, score 7.27/100, rank 47/47 (change: --) 15:12:35 !bfjoust imp [*5]*5 15:12:35 mroman_.imp: points -34.76, score 4.13/100, rank 47/47 15:12:41 !bfjoust imp [*5+*3]*5 15:12:43 mroman_.imp: points -26.93, score 4.49/100, rank 47/47 (change: --) 15:13:31 !bfjoust imp ([]+*127[]-*129)*-1 15:13:32 mroman_.imp: points -34.76, score 4.13/100, rank 47/47 (change: --) 15:13:58 hm 15:14:05 shouldn't this prevent the flag from being 0? 15:14:06 !bfjoust deadFish <>< 15:14:07 AndoDaan.deadFish: points -46.00, score 0.00/100, rank 47/47 15:14:51 !bfjoust imp ([]+*9-*7+*66-*55+99-*33)*-1 15:14:52 mroman_.imp: points -34.76, score 4.13/100, rank 47/47 15:15:10 !bfjoust imp ([]+--)*-1 15:15:10 mroman_.imp: points -34.26, score 4.19/100, rank 47/47 (change: --) 15:15:58 just doing ++++ all the time should prevent the flag from being 0 for two cycles? 15:16:08 nah 15:16:08 -!- mihow has quit (Quit: mihow). 15:16:12 !bfjoust imp ((+)*-1)*-1 15:16:14 mroman_.imp: points -15.67, score 13.65/100, rank 47/47 (change: --) 15:16:19 ha 15:16:20 you: +, opponen: 0 15:16:22 that's pretty good actually 15:16:23 - 15:16:37 huh? 15:16:38 quintopia: congrats on space_hotel, it is one of the hardest programs of all times to beat 15:16:42 !bfjoust imp (((+)*-1)*-1)*-1 15:16:43 !bfjoust +*-1 15:16:43 int-e: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 15:16:44 mroman_.imp: points -15.67, score 13.65/100, rank 47/47 (change: --) 15:16:49 mroman_: it doesn't work against someone doing [-] 15:16:53 !bfjoust quark +*-1 15:16:54 int-e.quark: points -34.76, score 4.13/100, rank 47/47 15:16:56 !bfjoust imp (((+)*-1)*-1)([-]>)*-1 15:16:57 mroman_.imp: points -26.26, score 4.79/100, rank 47/47 15:17:00 lol 15:17:06 !bfjoust quark (+)*-1 15:17:08 int-e.quark: points -15.67, score 13.65/100, rank 47/47 15:17:11 !bfjoust imp ((((+)*-1)*-1))*-1([-]>)*-1 15:17:13 mroman_.imp: points -26.26, score 4.79/100, rank 47/47 15:17:16 !bfjoust quark ((+)*-1)*-1 15:17:19 int-e.quark: points -15.67, score 13.65/100, rank 47/47 15:17:20 okay 15:17:22 because you set the flag from 255 to 0 on the opponent's ], then they keep it at 0 by running - at the same time as your + 15:17:25 !bfjoust imp +*-1 15:17:26 Mine does surprisingly well against spacehotel. 15:17:26 mroman_.imp: points -34.76, score 4.13/100, rank 47/47 15:17:34 !bfjoust imp (+)*-1 15:17:36 mroman_.imp: points -15.67, score 13.65/100, rank 47/47 (change: --) 15:18:04 !bfjoust quark ((-)*-1)*-1 15:18:07 int-e.quark: points -15.67, score 13.65/100, rank 47/47 15:18:16 !bfjoust imp ((+)*-1([-]>))*-1 15:18:18 mroman_.imp: points -15.67, score 13.65/100, rank 47/47 15:18:26 !bfjoust quark ((++-+--)*-1)*-1 15:18:28 int-e.quark: points -21.29, score 11.13/100, rank 47/47 15:18:41 !bfjoust imp ((+)*-1([-]>))*128 15:18:42 !bfjoust quark ((+.)*-1)*-1 15:18:44 mroman_.imp: points -15.67, score 13.65/100, rank 47/47 15:18:46 int-e.quark: points -25.21, score 4.46/100, rank 47/47 15:19:01 (kills itself, of course) 15:19:09 !bfjoust imp (+>-<+)*-1 15:19:13 !bfjoust quark ((+.-.)*-1)*-1 15:19:14 mroman_.imp: points -7.90, score 18.01/100, rank 47/47 15:19:17 haha 15:19:18 int-e.quark: points -14.62, score 11.80/100, rank 47/47 15:19:19 18.01!!!!! 15:19:36 !bfjoust imp (+>->+<<+)*-1 15:19:38 anyway 15:19:38 mroman_.imp: points -25.05, score 7.04/100, rank 47/47 15:19:42 damn 15:19:45 !bfjoust imp (+>-<+)*-1 15:19:51 mroman_.imp: points -7.90, score 18.01/100, rank 47/47 (change: --) 15:20:00 [wiki] [[Special:Log/newusers]] create * RosarioLuncefor * New user account 15:20:15 !bfjoust imp >(+>-<+)*-1 15:20:20 mroman_.imp: points -19.52, score 4.63/100, rank 47/47 (change: --) 15:20:26 k 15:20:33 !bfjoust imp >->+(+>-<+)*-1 15:20:37 [wiki] [[Use These Tips To Begin With Facebook or twitter Advertising These days]] N http://esolangs.org/w/index.php?oldid=40517 * RosarioLuncefor * (+5276) Created page with " There's much more to Facebook marketing and advertising than only building a Fb site. If you're unfamiliar with Fb or maybe your marketing campaign hasn't viewed outcomes bu..." 15:20:38 mroman_.imp: points -20.57, score 3.93/100, rank 47/47 (change: --) 15:20:56 !bfjoust imp (+>-<+[])*-1 15:20:56 mroman_.imp: points -38.90, score 2.18/100, rank 47/47 (change: --) 15:21:12 !bfjoust imp ([]+>-<+)*-1 15:21:13 mroman_.imp: points -34.26, score 4.19/100, rank 47/47 (change: --) 15:21:34 What’s up with the ()*-1 ? 15:21:59 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(-)*6[+]]>)*3([(+)*6[-]]>)*1)*7 15:22:00 AndoDaan.BeatYouMate: points -6.57, score 25.02/100, rank 36/47 (change: -2) 15:22:03 !bfjoust imp (->+<-)*-1 15:22:07 mroman_.imp: points -7.93, score 17.88/100, rank 47/47 (change: --) 15:22:15 !bfjoust imp (+>+<+)*-1 15:22:20 mroman_.imp: points -9.19, score 16.89/100, rank 47/47 (change: --) 15:22:25 -!- mihow has joined. 15:22:30 !bfjoust imp (->-<-)*-1 15:22:35 mroman_.imp: points -9.19, score 16.89/100, rank 47/47 (change: --) 15:22:41 ok. 15:22:44 that doesn't seem to be better. 15:23:16 > 640 http://pic.dhe.ibm.com/infocenter/wsdatap/v6r0m0/index.jsp?topic=%2Fcom.ibm.dp.xm.doc%2Fjson_jsonx.html 15:23:23 !bfjoust imp (+>(+>-<+)<+)*-1 15:23:26 mroman_.imp: points -9.31, score 15.42/100, rank 47/47 (change: --) 15:23:51 !bfjoust imp (+>(+>-<)<+)*-1 15:23:55 mroman_.imp: points -9.31, score 15.42/100, rank 47/47 (change: --) 15:24:09 !bfjoust imp (+>--<+)*-1 15:24:12 mroman_.imp: points -17.76, score 10.14/100, rank 47/47 (change: --) 15:24:58 !bfjoust imp >(>->+)*4<*9(+>-<+)*-1 15:25:01 mroman_.imp: points -27.33, score 3.53/100, rank 47/47 (change: --) 15:25:09 wtf 15:25:22 So cumbersome even IBM® can’t make the example XML valid. 15:25:33 !bfjoust imp >>>->+<<<<(+>-<+)*-1 15:25:37 mroman_.imp: points -10.19, score 14.15/100, rank 47/47 (change: --) 15:26:03 so setting up decoys is bad 15:26:55 in bad programs, setting up decoys is bad 15:27:03 because a certain proportion of programs will just skip the first n decoys 15:27:08 so not setting any decoys gets you free wins 15:27:15 !bfjoust imp ((+>-<+)(->+<-))*-1 15:27:18 mroman_.imp: points -34.76, score 4.11/100, rank 47/47 (change: --) 15:27:25 this consideration mostly goes away once your program can actually start winning normally 15:27:50 hm 15:28:07 the problem is, I used to be able to just give new people example programs 15:28:11 such as this_sort_of_thing 15:28:14 !bfjoust +(127)(+>-<+)*-1 15:28:14 mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 15:28:19 !bfjoust imp +(127)(+>-<+)*-1 15:28:20 mroman_.imp: points -35.24, score 3.03/100, rank 47/47 (change: --) 15:28:24 !bfjoust imp +(126)(+>-<+)*-1 15:28:25 mroman_.imp: points -35.24, score 3.03/100, rank 47/47 (change: --) 15:28:31 !bfjoust this_sort_of_thing >>>>(+)*20(<(+)*90)*4(>)*8(>[(+)*20[-]])*21 15:28:32 ais523.this_sort_of_thing: points -12.64, score 17.70/100, rank 47/47 15:28:35 !bfjoust imp +(+>-<+)*-1 15:28:35 mroman_.imp: points -35.24, score 3.03/100, rank 47/47 15:28:38 but they don't even make the hill nowadays 15:28:58 the point of this_sort_of_thing was to show a really basic program, that didn't do very well due to everyone having counters for it 15:29:02 perhaps we should make the hill larger 15:29:13 !bfjoust oops http://int-e.eu/~bf3/tmp/oops 15:29:18 int-e.oops: points -19.64, score 4.08/100, rank 47/47 15:30:28 or have a newbie hill 15:30:39 I can seed it with some programs that aren't very good 15:31:40 !bfjoust oops (>-*5>>+*12)*3(>[+])*21 15:31:41 int-e.oops: points -23.45, score 11.67/100, rank 47/47 (change: --) 15:31:58 !bfjoust oops (>-*5>>+*12)*3(>[+]+++)*21 15:31:58 int-e.oops: points -23.31, score 11.75/100, rank 47/47 (change: --) 15:35:11 what even is bfjoust? 15:35:46 let me google that for you ... on second thought, I can't be bothered. 15:35:55 http://esolangs.org/wiki/BF_Joust 15:35:57 there you go 15:36:02 one of the best programming games ever 15:36:13 last year, I was worried that the game had been "solved" 15:36:19 but I don't think that's the case any more 15:36:37 growth uses some strategies that I'd never got to work before; margins is completely unlike anything I've ever seen before 15:37:52 !bfjoust BeatYouMate (>----->++++++++)*4>(([(+)*6[-]]>)*3[(+)*6[-]]>([(+)*12[-]]>)*3<<<<<(+)*13<(-)*7>>>>>>>[(+)*6[-]]>([(-)*6[+]]>)*3[(+)*6[-]]>)*7 15:37:52 AndoDaan.BeatYouMate: points -6.79, score 26.14/100, rank 35/47 (change: --) 15:38:32 AndoDaan: it's a rush that sets more decoys after a while? 15:38:35 could work 15:38:48 !bfjoust firstlel [>(-)*128] 15:38:49 -!- zemhill has quit (Remote host closed the connection). 15:39:09 I know that is really terrible btw 15:39:20 oh wait 15:39:21 yea 15:39:24 that's really bad 15:39:30 :P 15:39:47 you flattened the hill? 15:39:54 TieSoul: it's basically a turtle except it sets size-128 decoys 15:40:04 not sure why zemhill quit 15:40:11 fizzie: zemhill is down 15:40:37 it also runs off to the right, but I guess that really isn't so uncommon. 15:41:00 that normally hardly matters, given that the tape length normally isn't 30 15:41:02 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(-)*6[+]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*6[-]]>))*7 15:41:07 -!- AndoDaan has quit (Remote host closed the connection). 15:41:08 and in fact, when I try to special-case tape length 30, I often get it wrong 15:41:15 OK, this is silly 15:41:22 -!- AndoDaan has joined. 15:41:24 first TieSoul runs a program and zemhill crashes 15:41:29 then AndoDaan runs a program and AndoDaan crashes 15:41:41 erm 15:41:43 it seems 15:41:45 Then we all stop 15:41:51 zem.fi/bfjoust is not working at all 15:41:53 You guys should try with the rubber lances 15:42:09 (That immediately sounded dirty.) 15:42:19 Jafet: I guess that would hurt less than mapoles. 15:42:29 Jafet: no it didn't. 15:42:43 [wiki] [[Special:Log/delete]] delete * Ais523 * deleted "[[Use These Tips To Begin With Facebook or twitter Advertising These days]]": Spam: (and the only contributor was "[[Special:Contributions/RosarioLuncefor|RosarioLuncefor]]") 15:43:08 [wiki] [[Special:Log/block]] block * Ais523 * blocked [[User:RosarioLuncefor]] with an expiry time of 2 decades, 4 years, 4 hours, 19 minutes and 12 seconds (account creation disabled): spambot 15:43:22 wait what? 15:43:33 until the end of the unix epoch? 15:43:42 I said 24 years, which goes past the epoch I think 15:43:49 that's slightly more than 24 years, by a few hours 15:43:59 perhaps it's using floating point, or something stupid like that 15:44:29 "15:42, 22 September 2038" 15:44:39 that doesn't include the 4:19:12 15:45:31 time zone? hm 15:45:58 there are no time zones that precise 15:46:25 elliott_: seems the reason it got past the filter is that that sort of edit normally hits the "no newlines" filter, and the spambot has learned to prepend a newline 15:47:00 ais523: agreed. it's odd. 15:50:43 btw, that n4t44ha999 user is also a spambot, but it got caught in the filters 15:51:38 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7 15:52:47 [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/4]] ([[Special:AbuseFilter/history/4/diff/prev/31]]) 15:53:59 !bfjoust firstlel [>(-)*128.] 15:54:12 [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/5]] ([[Special:AbuseFilter/history/5/diff/prev/32]]) 15:54:14 Zim's gone 15:54:19 yes 15:54:46 -!- FreeFull has joined. 15:54:57 !bfjoust firstlel (>+>-)*8>+[>(-)*128.+] 15:55:33 oops 15:55:35 I meant 15:55:38 !bfjoust firstlel (>+>-)*4>+[>(-)*128.+] 15:55:40 :P 15:55:57 TieSoul: the bot is down 15:56:00 I know 15:56:12 just making some programs anyway 15:56:14 :P 15:57:59 [wiki] [[User talk:Feuermonster]] N http://esolangs.org/w/index.php?oldid=40518 * Ais523 * (+668) notify about the userpage 15:58:22 [wiki] [[User talk:Feuermonster]] M http://esolangs.org/w/index.php?diff=40519&oldid=40518 * Ais523 * (-31) whoops, used the wrong signature macro 16:05:19 well, that program beats "simple" on every single tape length :P 16:05:21 http://codu.org/eso/bfjoust/egojsout/?l=1544d3afb8e48ec0cbaa38ccac8d95af49af0549&r=700a65536df97b655acd5c8a6fd2fc3014b46148&t=30&p 16:06:26 -!- S1 has joined. 16:06:48 it's basically a turtle 16:08:26 [wiki] [[Special:Log/newusers]] create * JackiN18agpha * New user account 16:09:29 -!- qlkzy has quit (Ping timeout: 260 seconds). 16:16:02 huh, apparently that user hasn't edited yet, either spam or not 16:17:26 -!- qlkzy has joined. 16:18:15 Is there a captcha to register? 16:19:23 yes, but the spambots may have broken it 16:19:51 Cool 16:20:00 well, not cool 16:21:03 however, despite understanding CAPTCHAs, the spambots seem incapable of understanding newlines 16:21:10 for some reason 16:21:25 if they eventually learn, I'll have to add new heuristics 16:21:39 but I have a bunch of "fundamental misunderstanding of newlines" filters in place, which catch almost all the spam 16:22:28 Sounds involved. 16:22:56 So much that has to go on behind the scenery to keeps things clean and running. 16:23:37 Can you give me an example of newline protection? 16:24:35 Huh. 16:24:42 AndoDaan: one of the rules is, if you use a
tag but don't use a newline /anywhere/, you're considered a spambot 16:25:31 It segfaulted. 16:26:06 There's approximately 500 lines of dumped information about it. 16:26:13 I wonder why a turtle would segfault it 16:26:15 ais523: fyi, I no longer host the wiki :p 16:26:17 -!- ineiros has quit (Ping timeout: 260 seconds). 16:26:20 "[NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome." 16:26:30 -!- ineiros has joined. 16:26:31 wait, it's written in /Ruby/? 16:26:35 and still segfaulted? 16:26:38 Yes. 16:26:46 impressive.wav 16:27:28 I guess I should save all this stuff to see if I can reproduce. 16:28:22 -!- AndoDaan has quit. 16:28:37 -!- AndoDaan has joined. 16:29:36 It wrote in TieSoul.firstlel.bfjoust, at least. And committed it, too. 16:30:13 Then I guess next it would have tried to recompute scores. 16:30:24 -!- zemhill has joined. 16:30:41 I *am* using a rather experimental matrix library there, to be honest. 16:31:00 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7 16:31:00 AndoDaan.BeatYouMate: points -6.05, score 25.95/100, rank 34/47 (change: +2) 16:31:18 Also one that has nontrivial native C++ bits I compiled with distcc because the VPS did not have enough memory *or* swap to compile them locally. 16:31:54 (That's the kind of thing that made me yearn after NumPy, which I used in the Python version.) 16:32:38 In fact, it's exactly the matrix library where the segfault happened. 16:32:48 /home/bfjoust/.gem/ruby/1.9.1/gems/nmatrix-0.1.0.rc5/lib/nmatrix/nmatrix.rb:173: [BUG] Segmentation fault 16:34:05 There's a comment titled "#HACK" three lines above 173. 16:34:51 http://sprunge.us/NAWJ cleanest library 16:35:06 maybe_get_noncomplex_default_value also best method name. 16:37:51 why even use ruby? :p 16:38:27 I'm still asking myself that. 16:39:00 I just somehow landed on nanoc as the static website generator of the day, and that's written in Ruby, and... 16:40:41 -!- callforjudgement has joined. 16:41:04 -!- ais523 has quit (Disconnected by services). 16:41:05 -!- callforjudgement has changed nick to ais523. 16:42:11 Well, we do want the lances to have high Mohs number. 16:43:00 None of the "real" code is Ruby, just the IRC bot and hill maintenance glue over the 'gearlanced' tool. 16:43:23 I find that margins is a real stress-test for interpreters 16:43:35 luckily, juiced can run margins vs. the hill in just a couple of seconds 16:43:37 so I can test it easily enough 16:45:52 -!- S1 has left ("It is all there for the eyes to see. The blind ones will always suffer in secrecy..."). 16:48:33 -!- ais523 has quit. 16:48:42 -!- ais523 has joined. 16:50:15 -!- ais523 has quit (Read error: Connection reset by peer). 16:50:20 -!- callforjudgement has joined. 16:50:48 -!- callforjudgement has changed nick to ais523. 16:53:50 ais523: gearlanced can run the entire hill (all 1081 program pairs) in 1.7 seconds on this system. 16:54:41 that doesn't surprise me; most pairs are pretty quick to run 16:54:49 meanwhile, egojsout struggles even on preparation 16:55:21 I should rerun the statistics-visualization page I used to make on this new stuff. 16:55:29 indeed 16:55:32 Sadly, that stuff also probably won't run on the VPS. 16:55:45 oh, so it can't be auto-updated 16:55:53 if it doesn't require tons of memory, you could do it in a background process 16:56:34 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 16:56:42 Memory use is probably the main issue. I was thinking I'd just have it run like once every hour (if the hill has changed) otherwise. 16:56:57 -!- AndoDaan has quit (Remote host closed the connection). 16:57:29 -!- AndoDaan has joined. 16:58:20 -!- mihow has quit (Quit: mihow). 16:59:14 Hm, well. The Python process has a resident size of 220 megs, that's not as bad as I feared. 16:59:25 (The VPS has 256 megs of memory.) 16:59:40 how much of the memory usage could reasonably be swapped out? 17:00:29 I should probably just switch to a 512M DigitalOcean instance, I think the cost was approximately equal. 17:00:44 Whoops, I just generated statistics for "hill.yaml" too. 17:01:02 The statistics code assumed all files in the hill directory are brainfuck programs. 17:01:20 http://sprunge.us/bYhf somehow I don't think it did very well. 17:01:43 it lost in NaN cycles? 17:02:58 Those are from matplotlib/colorbar, so my guess is that some values were just unexpectedly constant. 17:03:24 The program hill.yaml is equivalent to is "---.....". 17:03:50 that's basically nop.bfjoust with some minimal anti-turtle protection 17:06:31 There's still one "numpy/ma/core.py:790: RuntimeWarning: invalid value encountered in less_equal: return umath.less_equal(x, self.critical_value)" warning from the tournament-wide plots. 17:09:22 -!- conehead has joined. 17:14:55 -!- AndoDaan has quit (Remote host closed the connection). 17:17:18 -!- AndoDaan has joined. 17:19:09 -!- MoALTz has joined. 17:22:29 -!- AndoDaan has quit (Remote host closed the connection). 17:25:27 thought: a good programming language is defined more by what you can't do, then what you can do 17:27:14 -!- AndoDaan has joined. 17:27:19 diginet: I think that's a reasonable opinion 17:27:56 ais523: my thought is that this follows from the fact that the set of working programs is much, much smaller than the set of all programs, working and non-working 17:30:19 -!- AndoDaan has quit (Remote host closed the connection). 17:30:35 -!- AndoDaan has joined. 17:38:12 http://zem.fi/egostats/ -- misleading name, but page's updated. (Got sidetracked.) 17:38:18 Also that's with the traditional scoring. 17:38:32 -!- callforjudgement has joined. 17:38:44 -!- ais523 has quit (Read error: Connection reset by peer). 17:38:48 -!- callforjudgement has changed nick to ais523. 17:38:48 [20:38:12] http://zem.fi/egostats/ -- misleading name, but page's updated. (Got sidetracked.) 17:38:51 [20:38:18] Also that's with the traditional scoring. 17:38:53 ^ In case you missed. 17:39:02 -!- Phantom_Hoover has joined. 17:40:59 Funny how traditional scoring puts ais523.margins dead last, even though it has a positive amount of points, and rank #13 in the current scoring. 17:41:27 Normally the differences aren't quite that radical. 17:41:49 fizzie: yes, I'm happy with the new scoring because there'd be no reason to work on programs like margins otherwise 17:43:37 -!- Phantom__Hoover has joined. 17:46:27 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 17:49:56 I think during all my renamings I've managed to mess up the programs of david_werecat; now they're called david.werecat_foo. Oh well. 17:51:37 surely that's not hard to fix? 17:53:46 -!- AndoDaan has quit (Remote host closed the connection). 17:54:03 -!- AndoDaan has joined. 17:54:11 -!- AndoDaan has quit (Client Quit). 17:54:24 -!- AndoDaan has joined. 18:04:14 -!- callforjudgement has joined. 18:04:29 -!- ais523 has quit (Disconnected by services). 18:04:31 -!- callforjudgement has changed nick to ais523. 18:13:48 -!- nortti has changed nick to lawspeaker. 18:14:06 -!- lawspeaker has changed nick to nortti. 18:17:29 -!- AndoDaan has quit (Ping timeout: 272 seconds). 18:18:34 -!- AndoDaan has joined. 18:19:24 -!- mihow has joined. 18:27:10 Neat: Gmail generates little shortcut buttons in your inbox for messages about Github issues/pulls. 18:27:41 github /emails/ people? 18:28:01 Mine does; but only for stuff I'm watching, or for my own repos. 18:28:15 -!- Phantom__Hoover has quit (Ping timeout: 272 seconds). 18:28:26 maybe, someday, github will actually understand git 18:32:30 Good for them. I, for one, don't plan to 18:34:04 99% sure that understanding git is a quick way to misery. 18:34:08 Not unlike using git. 18:34:08 J_Arcane: This was recently announced on the GitHub blogthingy. 18:34:25 Gregor: have I told you about git-beautifier yet 18:34:30 it's vaporware, in that I haven't started writing it 18:34:35 but I think #esoteric would like the idea 18:34:47 >_> 18:34:48 <_< 18:35:01 basically, it adds whitespace at the end of commit messages in order to make all the hash abbreviations go in order 18:35:07 so that the commits go 1, 2, 3, etc. 18:35:13 lol 18:35:33 a hash abbreviation is 7 hex digits, this should be within the power of a modern computer to bruteforce eventually 18:35:37 http://hg-git.github.io/ is my git beautifier. 18:35:43 Heh. Well, I use it because at the time I started the only alternative I knew of was Sourceforge, which depresses me every time I look at it. 18:36:02 I use it because other people use it, although I think it's badly designed in some wys 18:36:04 *ways 18:36:24 I use github by way of automatically cloning all of my Mercurial repositories from bitbucket. 18:36:37 I do that because people who don't know better and big companies follow github only. 18:39:37 -!- shikhout has joined. 18:42:27 -!- shikhin has quit (Ping timeout: 246 seconds). 18:42:55 -!- Bernd_Lauert has joined. 18:44:36 -!- shikhin has joined. 18:46:45 -!- shikhout has quit (Ping timeout: 260 seconds). 19:01:03 -!- AndoDaan_ has joined. 19:03:32 -!- AndoDaan has quit (Ping timeout: 260 seconds). 19:03:51 -!- AndoDaan_ has changed nick to AndoDaan. 19:06:27 -!- impomatic_ has quit (Ping timeout: 245 seconds). 19:07:17 -!- perrier has quit (Ping timeout: 245 seconds). 19:25:43 Gregor: I have to use Github for work, but I avoid it for personal stuff because it's so awful 19:25:57 -!- sebbu has quit (Ping timeout: 260 seconds). 19:26:11 I'm always suspicious of sites that are so eager for new users that they don't even have a confirm password box on signup (and the signup page is /their homepage/) 19:28:12 -!- perrier has joined. 19:29:57 -!- sebbu has joined. 19:30:36 -!- sebbu has quit (Changing host). 19:30:36 -!- sebbu has joined. 19:34:36 ais523: Heh, bitbucket's the same way. 19:34:43 It's a sign of the times, I think. 19:38:08 -!- Bicyclidine has joined. 19:39:01 Twitter's home page is very signup-biased too. 19:39:34 So what is the confirm password box biased for? 19:39:48 I don't think I've ever figured out how to e.g. search for tweets from there, without first going through some irrelevant tweet or Google. 19:40:35 There's just a login box and a sign-up box, and a useless top bar, a bottom navbar for company stuff, and a single highlighted tweet-with-a-photo. 19:40:56 If you actually open a tweet, the top bar there has search options. 19:41:08 http://homepages.cwi.nl/~tromp/cl/cl.html 19:42:55 Heh, reCAPTCHA. "Type the two words:" and an image of a single house number sign. 19:45:18 fizzie: I've been getting that a lot recently >_> 19:46:20 Gregor: they do that when the IP has a good reputation 19:46:32 and use it to help them figure out where the Google Street View cars are 19:46:43 because they ran out of books to digitize, or someting 19:47:10 Back when it was more about book scans, you used to get non-words (maths, or non-latin alphabets, or whatnot), and I always worried over what I should fill in. 19:47:23 Because I didn't want to introduce a mistake in their data. 19:49:36 The home page -- http://www.google.com/recaptcha/ -- lists three things they do: Street View images, book scans and "high quality human labelled images are compiled into datasets that can be used to train Machine Learning systems". 19:50:30 ... 19:50:45 so, recaptcha's are being used to train machines to beat recaptchas? 19:51:03 I don't know what that is all about, since numbers and text are the only things I've seen from there. 19:51:41 Google benefit from spambots being able to beat every captcha but theirs 19:52:02 That's actually a good way to stay ahead of the curve. You do it on someone else's research money, too. 19:52:04 I've heard a similar argument explaining why they don't care much about spam coming from gmail 19:52:31 I wonder what the current relative difficulty is for the audio reCAPTCHA vs. the image one. 19:53:29 It certainly didn't sound very difficult, but maybe they do heavier rate-limiting or something, under the assumption that it's used less, or something. 19:57:20 Uh. 19:57:46 There's a "WRITE: 300- to 500-word Blog Post about Crowdsourcing and Transcription" request in Amazon Mechanical Turk. 19:57:53 $25 reward, 57 available. 19:58:12 Oh, for people who have an "In-House Blog Writer" qualification. 19:58:22 -!- Bicyclidine has quit (Ping timeout: 240 seconds). 20:00:01 I didn't know people are using that thing for stuff like that. There's also a "Write: 350-word Article About an Industry Topic or Trend" task for "Writer II"'s. 20:05:34 I wonder how many of those are people trying to do homework, or the corporate equivalent 20:06:40 I can only assume there's an official ban on pornography, and not on much of anything else. 20:09:38 There's an "Adult Content" qualification, though 20:16:28 Heh. I read an article about MT once where the writer did the math and suggested that the average MT task pays out on the order of pennies-per-hour ... 20:26:09 what about the average task that's actually filled? 20:31:21 -!- AndoDaan has quit (Ping timeout: 272 seconds). 20:31:42 -!- AnotherTest has quit (Remote host closed the connection). 20:33:26 -!- AndoDaan has joined. 20:39:52 https://github.com/FMNSSun/Burlesque/issues/51 <- In case anybody is interested in discussing the future of Burlesque 20:42:31 -!- GeekDude has joined. 20:43:58 -!- AndoDaan_ has joined. 20:45:45 also it might be time to rewrite the esowiki page for it :) 20:46:52 -!- AndoDaan has quit (Ping timeout: 276 seconds). 20:54:00 -!- Bicyclidine has joined. 21:03:52 -!- Patashu has joined. 21:05:52 -!- AndoDaan has joined. 21:08:19 -!- AndoDaan_ has quit (Ping timeout: 276 seconds). 21:13:48 fizzie: crowdsourcing a blog post about crowdsourcing is beautiful 21:24:22 -!- Patashu has quit (Ping timeout: 245 seconds). 21:25:03 -!- oerjan has joined. 21:25:08 For the curious, the Ruby segfault happened from the line "break if (s - ps).abs.mean.to_f < 0.000001" (termination condition for the "iterated traditional" score, called when writing the JSON report), in the method 'mean', but there is not enough information in the dump to determine the exact inputs, in order to see if it happens repeatedly. 21:36:44 -!- Phantom__Hoover has joined. 21:45:44 -!- AndoDaan_ has joined. 21:48:37 -!- AndoDaan has quit (Ping timeout: 276 seconds). 22:01:25 -!- Bicyclidine has quit (Ping timeout: 260 seconds). 22:02:21 -!- Bicyclidine has joined. 22:09:09 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 22:23:04 -!- Bernd_Lauert has quit (Quit: It is all there for the eyes to see. The blind ones will always suffer in secrecy...). 22:26:14 -!- Frooxius has quit (Quit: *bubbles away*). 22:26:23 -!- boily has joined. 22:42:02 -!- Sorella has joined. 22:42:14 -!- Frooxius has joined. 22:42:52 -!- Sorella has quit (Changing host). 22:42:52 -!- Sorella has joined. 22:44:37 [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40520&oldid=40508 * 173.67.61.149 * (+18) 22:45:11 -!- mihow has quit (Quit: mihow). 22:45:49 -!- GeekDude has joined. 22:49:56 -!- eddieconroy has joined. 22:51:35 anyone here 22:51:37 ? 22:51:56 `relcome eddieconroy 22:51:57 ​eddieconroy: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:51:59 I'm kinda here 22:52:24 purdy 22:52:42 I am about here. 22:52:46 what's a purdy? 22:52:47 i ain't 22:53:07 "pretty" but real sweet like... purdy 22:54:29 OKAY. (in an oerjanian voice.) 22:54:47 can anybody here "see" reptiles/monsters behind humans faces out and about? 22:55:13 yes, cf. our Dear Prime Minister. 22:55:34 https://i.imgur.com/RlYangA.jpg 22:55:51 4 eddie 22:55:58 4? 22:56:01 oh 22:56:36 serious question 22:58:20 eddieconroy: i think you want the other kind of esoteric. 22:58:21 -!- AndoDaan_ has changed nick to AndoDaan. 22:58:33 what is this kind of esoteric? 22:58:40 see HackEgo message above 22:58:41 oh shit. 22:58:54 you guys probably think I am crazy 22:59:02 not at all. 22:59:31 welp, seeya later! 22:59:38 -!- eddieconroy has quit. 22:59:44 bye eddie 22:59:56 we won't see him again, the reptiles will get him. 23:00:01 I'll always miss your zany questiona 23:04:27 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 23:04:56 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 23:09:29 -!- Bicyclidine has joined. 23:12:50 -!- Frooxius has quit (Read error: Connection reset by peer). 23:15:42 -!- Frooxius has joined. 23:23:17 time to go get eaten by reptiles. or eat poutine, which is about the same. 23:23:37 -!- boily has quit (Quit: SAURIAN CHICKEN). 23:35:12 -!- Zuu has quit (Quit: Lost terminal). 23:36:40 -!- Frooxius has quit (Quit: *bubbles away*). 23:43:21 -!- Zuu has joined. 23:43:46 -!- Zuu has changed nick to Guest81248. 23:47:51 -!- Frooxius has joined. 2014-09-23: 00:04:04 -!- Bicyclidine has quit (Ping timeout: 260 seconds). 00:12:59 -!- Guest81248 has changed nick to Puntastic. 00:13:08 -!- Puntastic has quit (Changing host). 00:13:08 -!- Puntastic has joined. 00:15:47 -!- Puntastic has changed nick to Zuu_. 00:20:39 what nobody told eddieconroy is that this #esoteric is just as prone to people thinking we're crazy as the other #esoteric 00:22:50 It is a bit unnatural to be so fascinated by something so abstract. 00:22:56 I think. 00:25:51 i've considered bitching about fizzie using the same prefix for zemhill as for EgoBot, but i think zemhill obliterates the last real reason for keeping EgoBot alive so... 00:30:48 oerjan: I thought it just handled !bfjoust specifically 00:31:02 in which case, it's just as fine as glogbackup doing the same job as glogbot 00:31:09 come to think of it, why are they /both/ here? 00:32:38 for backup 00:32:50 i think Gregor has given up on understanding why glogbackup keeps coming 00:33:18 maybe we shouldn't hassle globackup about doing its fucking job how about that huh 00:33:30 ais523: except if EgoBot _did_ return, we'd have two inconsistent hills 00:33:41 that both reacted to the same command 00:34:05 oerjan: that'd be fine too, it'd make constant-tweaking harder 00:34:14 heh 00:34:51 -!- ais523 has quit. 00:38:03 oerjan: I've given up on a lot of things. 00:40:52 so is EgoBot officially dead 00:43:06 I may bother to revive it. 00:43:13 I'm not sure why it's down, and haven't bothered to check. 00:44:08 -!- shikhout has joined. 00:47:20 Turns out that other elements of "life" are time consuming. 00:47:33 -!- shikhin has quit (Ping timeout: 260 seconds). 00:47:44 scary 00:48:46 In more positive news, bacon is deliciousness itself. 00:52:04 i really wish people would stop it with the bacon thing 00:52:27 well jew _would_ say that. 00:52:52 I only say this because I am about to make some bacon. 00:53:06 For I hunger, and have bacon. 00:53:14 but i have chocolate-covered peanuts. who wins? 00:53:22 Everybody. 00:53:30 oerjan: well i'm vegetarian hth 00:53:32 how reasonable. 00:53:45 ah 01:06:02 That would certainly make keeping kosher easier. 01:06:58 i wouldn't know 01:07:15 (well, i do know, vaguely. but it's not the sort of thing i pay attention to) 01:07:52 http://math.arizona.edu/~savitt/GTM.html 02:04:18 -!- AndoDaan_ has joined. 02:05:52 -!- AndoDaan has quit (Ping timeout: 240 seconds). 02:15:41 -!- AndoDaan_ has changed nick to AndoDaan. 02:22:40 -!- shikhout has quit (Ping timeout: 260 seconds). 02:29:02 -!- AndoDaan has quit (Ping timeout: 245 seconds). 02:30:12 -!- choochter has quit (Ping timeout: 245 seconds). 02:33:15 -!- AndoDaan has joined. 02:43:27 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 02:55:42 -!- GeekDude has joined. 03:00:19 zzo... dangit 03:00:46 @ask zzo38 Do you have opinions on the speed of various interpreters? Supposedly this game is very impacted by such things http://emshort.wordpress.com/2012/12/31/counterfeit-monkey/ 03:00:46 Consider it noted. 03:06:19 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:06:49 -!- augur has quit (Quit: Leaving...). 03:13:40 -!- AndoDaan_ has joined. 03:15:22 -!- AndoDaan has quit (Ping timeout: 240 seconds). 03:21:36 -!- AndoDaan has joined. 03:24:01 -!- AndoDaan_ has quit (Ping timeout: 244 seconds). 03:35:39 -!- augur has joined. 03:50:28 -!- paul2520 has quit (Remote host closed the connection). 03:55:06 -!- aretecode has quit (Ping timeout: 246 seconds). 04:04:15 -!- aretecode has joined. 04:17:11 -!- aretecode has quit (Quit: Toodaloo). 04:23:12 oerjan: what's with the thing where people call anything with "forall" in it "existential" 04:23:18 where did this start 04:23:52 it's all haskell's fault 04:24:00 i thought that was the opposite of existential 04:24:04 it is 04:24:21 I mean, in much of haskell, the place you're most likely to find it is in an existential 04:24:47 Existentials are pretty rare in Haskell code compared to universals. 04:24:47 if you don't understand why it's there or have a formal grounding, it seems fairly natural to assume it somehow means existential 04:25:00 yes, but the universals almost never use the forall keyword unless you're rank-2ing 04:26:16 i,i ∀x. means x is scoped, right? 04:26:33 Anyway, it's odd that so many people gravitate so strongly toward this misuse. 04:28:56 Is there a standard construction of the reals where a real number r is a function : Q -> Q where you give it an error and it gives you a rational approximation within that error? 04:29:37 -!- BotAndAndAdo has joined. 04:33:54 -!- BotAndAndAdo has quit (Ping timeout: 250 seconds). 04:34:11 -!- idris-bot has quit (Quit: Terminated). 04:39:26 like computable reals but without the computable part? 04:40:06 sure 04:45:25 -!- paul2520 has joined. 04:57:47 -!- BotAndAndAdo has joined. 04:58:00 -!- BotAndAndAdo has quit (Read error: Connection reset by peer). 05:22:24 oerjan: My thinking was that people keep trying !bfjoust (well, it happened at least once) so it'd be nice if that did something, and I can always switch keywords if EgoBot does come back. 05:22:47 ah yes 05:30:58 !bfjoust firstlel (>+>-)*4>+[>(-)*128.+] 05:30:59 TieSoul.firstlel: points -32.45, score 6.84/100, rank 47/47 (change: --) 05:31:09 yay, rank 47/47 05:31:19 !bfjoust firstlel (>+>-)*4[>(-)*128.+] 05:31:19 TieSoul.firstlel: points -31.95, score 7.26/100, rank 47/47 (change: --) 05:31:27 slightly better :P 05:32:16 !bfjoust firstlel (>+>-)*4(>(-)*128)*21 05:32:16 TieSoul.firstlel: points -37.02, score 0.80/100, rank 47/47 (change: --) 05:32:31 oh wow that's much worse for some reason 05:32:46 !bfjoust firstlel (>+>-)*4(>(-)*128.)*21 05:32:46 TieSoul.firstlel: points -29.57, score 8.51/100, rank 47/47 (change: --) 05:32:50 oh right 05:32:52 better 05:35:03 !bfjoust firstlel >+>-(>(-)*128.)*28 05:35:03 TieSoul.firstlel: points -35.52, score 5.97/100, rank 47/47 (change: --) 05:35:09 okay that's worse 05:35:12 !bfjoust firstlel (>+>-)*4(>(-)*128.)*21 05:35:13 TieSoul.firstlel: points -29.57, score 8.51/100, rank 47/47 (change: --) 05:39:21 -!- AndoDaan_ has joined. 05:39:51 !bfjoust MeatYouBait >>>>>------>+++++++>----->(<++++++<--)*4(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7 05:39:51 AndoDaan_.MeatYouBait: points -34.02, score 2.69/100, rank 47/47 05:39:54 -!- AndoDaan has quit (Ping timeout: 244 seconds). 05:40:05 Oops 05:41:20 -!- AndoDaan_ has changed nick to AndoDaan. 05:41:42 !bfjoust BeatYouMate [ 05:41:42 AndoDaan: error: parse error: starting [ without a matching ] 05:41:51 !bfjoust BeatYouMate 05:41:51 AndoDaan: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 05:42:12 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7 05:42:13 AndoDaan.BeatYouMate: points -6.55, score 25.96/100, rank 34/47 (change: --) 05:43:28 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*9[-]]>)*1([(+)*14[-]]>)*3([(+)*9[-]]>)([(-)*5[+]]>)*3([(+)*7[-]]>))*7 05:44:00 !bfjoust BeatYouMate (>------>+++++)*4>(([(+)*6[-]]>)*3([(+)*9[-]]>)*1([(+)*14[-]]>)*3([(+)*9[-]]>)([(-)*5[+]]>)*3([(+)*7[-]]>))*7 05:44:01 AndoDaan.BeatYouMate: points -9.33, score 22.52/100, rank 46/47 (change: -7) 05:44:40 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*9[-]]>)*1([(+)*6[-]]>)*3([(+)*1[-]]>)([(-)*7[+]]>)*3([(+)*7[-]]>))*-1 05:44:41 AndoDaan.BeatYouMate: points -6.33, score 26.57/100, rank 32/47 (change: +14) 05:45:05 hey, look at that 06:01:33 -!- oerjan has quit (Quit: leaving). 06:01:54 -!- AndoDaan_ has joined. 06:03:44 -!- AndoDaan has quit (Ping timeout: 248 seconds). 06:05:48 -!- AndoDaan_ has changed nick to AndoDaan. 06:10:42 -!- MoALTz has quit (Quit: Leaving). 06:16:16 !bfjoust MeatYouBait >>>>>---->+++++++>--->(<+++<--)*4(>)*10(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7 06:16:17 AndoDaan.MeatYouBait: points -16.95, score 14.80/100, rank 47/47 06:26:25 -!- AndoDaan_ has joined. 06:26:31 !bfjoust MeatYouBait >>>>>---->+++++++>--->(<+++<--)*4(>)*10(([(+)*3[-]]>)*3([(+)*7[-]]>)([(+)*6[-]]>)*3([(+)*9[-]]>)([(-)*4[+]]>)*3([(+)*7[-]]>))*-1 06:26:31 AndoDaan_.MeatYouBait: points -20.38, score 12.77/100, rank 47/47 06:26:52 -!- AndoDaan has quit (Ping timeout: 240 seconds). 06:27:02 -!- AndoDaan_ has changed nick to AndoDaan. 06:28:29 !bfjoust MeatYouBait (>+++>---->++++++>--->)*4(<+++<--)*4(>)*10(([(+)*3[-]]>)*3([(+)*7[-]]>)([(+)*6[-]]>)*3([(+)*9[-]]>)([(-)*4[+]]>)*3([(+)*7[-]]>))*-1 06:28:30 AndoDaan.MeatYouBait: points -20.45, score 14.55/100, rank 47/47 06:29:06 !bfjoust MeatYouBait (>+++>---->++++++>--->)*2(---<+++<--)*4(>)*10(([(+)*3[-]]>)*3([(+)*7[-]]>)([(+)*6[-]]>)*3([(+)*9[-]]>)([(-)*4[+]]>)*3([(+)*7[-]]>))*-1 06:29:06 AndoDaan.MeatYouBait: points -12.60, score 20.01/100, rank 47/47 (change: --) 06:30:53 !bfjoust MeatYouBait (>+++>---->++++++>---)*2(<---<+++<--)*3(>)*7(+)*24(>)*2(([(+)*3[-]]>)*3([(+)*7[-]]>)([(+)*6[-]]>)*3([(+)*9[-]]>)([(-)*4[+]]>)*3([(+)*7[-]]>))*-1 06:30:54 AndoDaan.MeatYouBait: points -45.33, score 0.30/100, rank 47/47 (change: --) 06:33:58 -!- shikhin has joined. 06:34:26 -!- AndoDaan_ has joined. 06:35:46 -!- AndoDaan has quit (Ping timeout: 276 seconds). 06:35:56 -!- AndoDaan_ has changed nick to AndoDaan. 07:01:02 -!- pi____ has joined. 08:01:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:22:28 -!- AndoDaan_ has joined. 08:23:40 -!- AndoDaan has quit (Ping timeout: 276 seconds). 08:24:03 -!- AndoDaan_ has changed nick to AndoDaan. 08:29:12 -!- choochter has joined. 08:29:43 -!- Patashu has joined. 08:31:24 -!- FreeFull has quit (Quit: I'll be back later). 08:43:32 -!- shikhin has quit (Ping timeout: 245 seconds). 09:15:10 If somebode takes over an oauth2server all clients are pretty much screwed 09:15:13 *somebody 09:15:44 i.e. you get your access token from it 09:16:10 with that access token you ask oauthsrv for stuff like the user's username etc. 09:16:35 and then you display SELECT * from usr_secrets WHERE uname = 09:17:20 if somebody manipulates the connection from foosrv to oauthsrv you can respond foosrv with an arbitrary username 09:18:35 or if somebody can hack the oauthsrv 09:18:42 he can also hack pretty much every client 09:18:59 How like is it for somebody to take over an oauth2server? 09:30:03 very 09:30:54 Sounds alarming. 09:38:41 OAuth2 isn't really a single-sign-on system? 09:43:10 I wouldn't know. 09:44:44 -!- conehead has quit (Quit: Computer has gone to sleep). 10:08:07 -!- Sorella has quit (Ping timeout: 272 seconds). 10:10:52 -!- boily has joined. 10:23:09 -!- FreeFull has joined. 10:35:44 -!- AndoDaan has quit (Ping timeout: 250 seconds). 10:36:44 -!- AndoDaan has joined. 10:39:42 -!- Yonkie has joined. 10:50:02 -!- AnotherTest has joined. 10:58:56 -!- Bike has quit (Read error: Connection reset by peer). 10:59:15 -!- ais523 has joined. 11:00:08 it's strangely dark outside. kinda disturbing, too. 11:03:29 -!- GeekDude has joined. 11:09:27 -!- ais523 has quit (Ping timeout: 246 seconds). 11:16:33 -!- boily has quit (Quit: ERODED CHICKEN). 12:01:46 -!- ais523 has joined. 12:05:52 -!- Phantom_Hoover has joined. 12:10:12 -!- AndoDaan_ has joined. 12:11:55 -!- AndoDaan has quit (Ping timeout: 272 seconds). 12:15:30 -!- Sorella has joined. 12:16:20 -!- Sorella has quit (Changing host). 12:16:20 -!- Sorella has joined. 12:20:46 does anyone know what a cookie named __cfduid is generated by? it looks like a session cookie, but a) servers try to set it in images (one of my pet hates, it just means you get a bunch of contradictory session cookies), b) the name is common to tons of websites so it seems like it must be generated by some framework 12:24:00 -!- Sorella has quit (Remote host closed the connection). 12:24:09 http://webmasters.stackexchange.com/questions/59226/disable-cfduid-cookie-from-cloudflare 12:25:20 (that does not answer the question what it's used for though. The reference to security is flimsy at best. I would treat it as a tracking cookie.) 12:25:52 I thought that might be it 12:26:06 also explains why it's on every page load, cloudflare probably doesn't look into the internals of pages 12:26:36 Heh, "makes security work". 12:27:27 fizzie: actually I'd translate that as "trust us, we know what we're doing" 12:28:34 "The __cfduid cookie is used to override any security restrictions based on the IP address the visitor is coming from. For example, if the visitor is in a coffee shop where there are a bunch of infected machines, but the visitor's machine is known trusted, then the cookie can override the security setting. It does not correspond to any userid in the web application, nor does the cookie store ... 12:28:40 ... any personally identifiable information. 12:28:41 That's what their own support site writes. 12:28:44 Note: This cookie is strictly necessary for site security operations and can't be turned off." 12:29:33 but I just reject it 12:29:35 client-side 12:30:07 also, strikes me that that's exploitable simply by people sharing cookies 12:30:23 I guess that's my next step, after randomly rejecting and accepting them 12:32:19 also, __cfduid doesn't seem to serve its intended purpose well because it's from the website's domain, not cloudflare's 12:33:25 "nor does the cookie store any personally identifiable information" 12:34:31 -!- shikhin has joined. 12:34:51 standard copout, technically correct, but for all non-legal intends and purposes a straight lie. 12:36:08 As you wish http://heh.fi/tmp/recaptcha-%C5%BFide.png 12:36:23 ais523: The "website's domain" generally points at cloudflare's proxy servers, though, doesn't it? 12:39:01 fizzie: no, it's normally the website that humans visit 12:39:17 because cookies are associated to the name not the IP 12:42:12 Yes, but I thought with CloudFlare the server that gets the human's request for www.example.com is CloudFlare's. 12:42:24 And they'd see cookies when getting to decide what to do. 12:44:01 but their tracking job gets so much easier if they have their own tracking cookie rather than having to identify each site's own cookies. 12:51:13 what I mean is, they have a different own cookie for each site they accessed 12:52:39 http://en.wikipedia.org/wiki/Non-English-based_programming_languages "丙正正 – Chinese C++" 12:53:09 ais523: true, but cloudfare can related them based on IP addresses 12:56:39 int-e: that completely defeats the point of a tracking cookie 12:56:53 "let's use some other method to identify people, so that we can figure out which person this tracking cookie belongs to" 12:58:25 ais523: it doesn't. you get more reliable correlations. Same IP visiting site A, then B, then A again with A's cookie gives a pretty high confidence that B was the same ... well router. 12:59:00 int-e: yes, it could well be two different people on the same router, one visiting site A, one visiting site B 12:59:11 I don't see how the use of A's cookie gives you any additional useful information 13:00:21 But for many users, IP addresses change regularly. 13:00:56 apart from mobile use, IP addresses tend not to change very quickly 13:01:05 it's not perfect, but having such a cookie gives you quite a bit more data than pure IP addresses. 13:01:07 (source: observing the effectiveness of blocks at Wikipedia) 13:01:11 the main exception was AOL 13:01:43 ais523: my home ip address does change quickly 13:01:44 eventually, Wikipedia blocked the whole of AOL from editing until AOL put a unique ID for each of their users in the headers, so that it was possible to distinguish one AOL user from another 13:02:13 In Germany users experience forced reconnnects every 24 hours, and get a new IP afterwards. 13:02:21 the work ip address very rarely changes, and the university machine (from where I've connected to this irc) has an absolutely fixed ip address 13:03:08 -!- Patashu has quit (Ping timeout: 258 seconds). 13:03:08 on the other hand, my internet connection at home is much more reliable than the one at work 13:03:33 this one at work has serious problems both at the local network connections and the internet connection :-( 13:05:11 ais523: Anyway, yes, you get a site based tracking cookie, but I disagree with your assessment that it's worthless; it lets you identify users after IP changes and get a better idea of when those IP changes happen, so it's a significant improvement over tracking just based on IPs. 13:05:45 not to mention that the cloudflare cookie breaks the EU cookie laws (the site doesn't say what it's for) 13:05:53 although, fwiw, almost every site in existence breaks the EU cookie laws 13:06:05 mine doesn't; I don't set any cookies I don't need to, and I don't need any cookies 13:06:28 oh, there's "EU cookie laws"? so that's what all the pointless crazy cookie warnings on websites are for these days? 13:06:32 what's the point of these? 13:07:42 b_jonas: websites were setting cookies they shouldn't have been 13:07:55 so the EU told them to warn about cookies, explain what they were used for, and not include any unnecessary cookies 13:08:11 most websites are adding a generic "this website uses cookies" warning, which probably doesn't comply with the restrictions 13:08:18 rather than actually, you know, bringing cookie use down to a sane level 13:08:45 do you want the theory or the practice? (in theory, users will make an informed choice of what kind of cookies they find acceptable and not use sites or site features which they find intruding on their privacy too much. in practice, I think you just have more policies to accept blindly before you can use sites.) 13:09:29 int-e: I already reject cookies that don't have an obvious good reason 13:09:31 which is like 99% of them 13:09:44 I have little confidence in a court ever ruling cookies unnecessary, there's too much technobabble for justifying their use. 13:09:45 the only ones I accept are cookies to retain login data (either per-session, or longer) 13:10:00 int-e: well, put it this way: if I reject most of the cookies and the site still works 13:10:02 then they weren't necessary 13:10:03 ais523: same here, and maybe that's true for 1% of the web users. 13:10:24 cookiechoice.eu 13:10:26 so it doesn't really matter. 13:11:12 it matters to me, you know how long it takes to click through all the cookie accept/reject boxes? 13:11:21 I do know 13:11:39 especially since I'm using firefox which is really awful at rejecting cookies the first time. 13:11:49 (when they come with images, say) 13:12:39 yes :-( 13:12:43 luckily you can hold down alt-d 13:13:11 (also, this is the first time I've told someone that I manually accept cookies, and the response has been "I do that too" rather than people telling me I'm an idiot 13:13:12 ) 13:13:46 I did that too, but then I got too lazy, when switching browsers. 13:14:24 I have a second browser with no persistent storage, for websites that are particularly badly written (e.g. Flash users) 13:14:33 Also doing cookies manually broke far too many payment/ordering systems. In retrospect, should've really made a separate browser profile for that. 13:14:43 (I could disable cookies by default but I use the cookie dialog to catch webbugs, which I try to add to my adblock list) 13:15:05 fizzie: yes, I learned that that needs a separate profile quite a while ago 13:15:21 ais523: I automatically accept all cookies these days, and only very rarely delete a few particular ones. 13:16:15 I think I've got Chromium set to "keep local data only until you quit your browser" mode, though. 13:16:19 heh, do you also find the inconsistent spelling of firefox' command line options annoying? I mean this: firefox -ProfileManager -no-remote 13:16:33 fizzie: firefox has that too, sure, and other browsers too 13:16:44 int-e: huh? I spell that as firefox -p -no-remote 13:17:12 b_jonas: hmm, that would work 13:17:13 but usually I just have a script that invokes firefox with a particular profile like firefox -no-remote -P SomeProfile 13:17:25 so I rarely want to type this manually 13:17:31 but it's still inconsistent. 13:17:36 sure 13:18:34 right now I'm running a firefox with an alternate profile for a particular broken internal website. the website has since been mostly fixed so it's now not as broken, but I'll keep it in the alternate profile for a few months until that's proven 13:19:49 Re the EU thing, the "in practice" meaning seems to have converged to some sort of a top/bottom bar you have to click to close. 13:20:35 http://www.bbc.co.uk/ is a conventional example, where it's a top bar if you don't have it done. 13:21:03 You say they need to tell what the cookies are for? Well, they're there "to ensure that we give you the best experience on our website". 13:21:20 "" 13:21:20 For a better experience on your device, try our mobile site. 13:21:33 but hmm, I'm in Japan atm 13:21:44 fizzie: and also they give you the choice of opting out, by telling you how to disable cookies in your browser 13:21:54 At least there's a more complete info page, which many sites probably lack. 13:22:26 One that groups them into categories and lists the names and all that. 13:22:42 but it looks the same when proxied via germany. I don't have javascript enabled and I guess that makes some difference :/ 13:23:21 Huh, apparently clicking to "more information" was also enough to disable the prompt, since now the bar is gone. 13:23:37 I suppose I've been sufficiently informed, so it counts. 13:23:42 fizzie: that's what I was about to say 13:25:22 zem.fi sets no cookies, or at least it should not. 13:26:03 fizzie: firefox agrees with you, fwiw 13:26:24 Chrome's resource inspector says there's two items in local storage for zem.fi, though: 'showIcon' with a value of true, and an 'urlBlackList' with a random-looking string of website domains. 13:26:36 "wikipedia,tuenti.com,faqoverflow.com,postrank.com,mail.google.,mail.yahoo.,docs.google.com,facebook.,twitter.com,//feedly.com,netvibes.com,acidtests.org,bloglovin.com" 13:26:37 did you ever get round to running your BF stats thing, btw? 13:26:41 even a one-off would be interesting 13:26:43 *BF Joust 13:26:54 Yes, they're at http://zem.fi/egostats/ 13:26:59 The names is a bit misleading now. 13:27:05 s/names/name/ 13:27:22 And summary table has the "wrong" sort order. 13:27:23 it puts margins last :-) 13:27:56 wow, the margins row/column are beautifully gray 13:28:01 *grey 13:28:35 I'm sure it's the greyest program. 13:28:48 yes 13:28:56 http://zem.fi/egostats/plot_p20_pscores.png -- which is just a graphical illustration of the breakdown -- is also pretty grey. 13:29:11 the per-tape-length chart for it is a really good illustration of the strategy 13:29:23 red on 10, faint red on 11, grey or slightly bluish grey the rest of the way 13:29:35 fun fact: margins never goes below cell 12 under any circumstances 13:30:03 grey goo 13:31:12 I see preparation is screwing up the overall duel length chart 13:32:19 also it's screwing up the "where on the tape these programs live" chart; as the first program that spends most of its time in the vicinity of cell 7, it's put the line right behind the legend 13:32:53 Heh. 13:33:04 Yeah, I put the legend top-middle because it has conventionally been empty. 13:34:09 cell 8, actually 13:34:12 or, well 13:34:21 I never figured out whether the cells are numbered starting at 0 or 1 13:34:26 and some of my comments are inconsistent 13:35:18 You can see those things more clearly in the per-program plots, like http://zem.fi/egostats/plot_p24_ptapeheat.png for preparation. 13:35:38 The averaged plot is a bit smooshed up since it averages across tape lengths. 13:36:11 yep 13:36:17 tapeheat is actually a really good way to identify strategies 13:36:29 it's hilarious for margins, it basically explains the entire strategy in one graph 13:36:31 ais523: how about -4.5, -3.5, ..., 4.5 for tape length 10, etc. ;-) 13:36:37 -!- sebbu2 has joined. 13:36:38 preparation's is a little more unclear 13:36:47 int-e: you know where your flag is, but not the enemy's 13:36:57 I know :P 13:36:59 and comments are normally talking about what knowledge your program has 13:37:17 -!- sebbu2 has quit (Changing host). 13:37:17 -!- sebbu2 has joined. 13:37:53 but the choice is completely arbitrary. you could have your home flag at 42, and the opponent's between 13 and 33... 13:38:04 -!- sebbu has quit (Ping timeout: 272 seconds). 13:38:07 fizzie: it probably requires a change to your instrumentation, but "average changes made by this program to each cell" would be interesting too 13:38:27 would need to be logarithmic, though, some programs (increase) will raise cells by 100000 :-) 13:38:35 -!- sebbu2 has changed nick to sebbu. 13:39:30 I could do that, and yes, it needs one more thing to track in cranklance. 13:40:05 growth has a pretty neat heatmap too, actually 13:40:17 egojsout gives a better idea of what it's doing, but even the heatmap gives a pretty good idea 13:40:45 the other thing that's /really/ encouraging about growth is that the brightest red is the enemy flag 13:40:52 that basically never happens, and means that my strategy is working 13:41:11 (fun fact: if a program starts unexpectedly winning against growth, I actually check that program to see if it's buggy) 13:41:21 (have caught more than one bug in my programs like that) 13:41:22 There's a local EgoJSout installation at http://zem.fi/bfjoust/game/ now, but it's missing some features, like the permalink button does nothing at the moment. (You can make permalinks if you guess the URL syntax, though.) 13:41:38 I noticed that 13:41:43 also it disallows editing the programs? 13:41:52 -!- AnotherTest has quit (Ping timeout: 240 seconds). 13:42:31 It shouldn't do that, but I could've broken something. 13:42:51 Are the textfields disabled, or does it do something stupid if you do try to edit? 13:42:59 disabled, IIRC 13:43:06 that was from a while ago 13:43:15 Oh, okay. Yeah, they were that before this morning. 13:43:46 would be nice for the matrix to link to egojsout 13:44:14 Now editing a program just switches the dropdown to the blank option, and disables the permalink button, since I'm only going to make that work for programs it can fetch from the gitweb URLs. 13:44:27 fizzie: wow, that's some serious stats you have generated there 13:44:28 Yes, I just didn't get there yet. 13:44:39 fizzie: that seems sensible 13:45:35 -!- ais523 has quit (Remote host closed the connection). 13:45:49 -!- ais523 has joined. 13:46:19 btw, is there any easy way (e.g. not showing the trace by default) to make egojsout faster on very slow programs? 13:46:27 I've thought about adding a "submit this program" button there too, but it's a bit of a tradeoff: it could help reach people not interested in IRC, but it'd also remove an incentive to come here and talk about bfjoust. 13:46:28 I keep running margins in it, then wishing I hadn't 13:46:34 (Of course both scenarios are somewhat hypothetical.) 13:46:54 it'd save needing to have your own webserver to submit long programs 13:47:10 perhaps it could announce the results in-channel, and give a link to Freenode's web interface ;-) 13:47:12 ais523: you can use a pastebin for that 13:47:18 actually, probably best to keep it to IRC, to keep down spambots 13:47:20 b_jonas: not easily 13:47:25 most pastebins HTML-escape even the raw view 13:47:34 sprunge works but isn't exactly very web-friendly 13:47:35 ais523: do they now? I don't think so 13:47:36 let me try 13:48:23 here, this is text/plain => http://dpaste.com/09VYENJ.txt 13:48:51 I'm sure it is text/plain for reals, but you've cleverly chosen a program with no <>s for your example. :) 13:48:56 huh? in that case it's probably vulnerable to the IE XSS attack 13:49:05 ais: besides, html escaping doesn't even break bf programs 13:49:19 yes it does 13:49:22 > can't move right 13:49:32 oh... true 13:49:33 sorry 13:49:57 new esolang idea: HTML-BF 13:50:03 it's BF except < and > are < and > 13:50:09 this will revolutionarise computing 13:50:11 IE XSS attack? is that the one where IE decides the page is html even if it's actually announced as plain text by the webserver? 13:50:14 b_jonas: yes 13:50:19 hmm 13:50:30 someone sent oerjan to a shock site like that a while back via injecting JS into the #esoteric logs 13:50:43 what's the latest version of IE that did that? 13:50:55 I know 8 does, not sure about newer 13:51:03 gee... strange 13:51:26 -!- pi____ has quit (Ping timeout: 258 seconds). 13:52:06 let me try 13:52:45 hmm no, browsershots.org doesn't have any MSIE version other than 8.0 13:52:47 so I can't try 13:52:59 browsershots has really collapsed by not keeping up with the times 13:53:11 you can get screenshots from old Opera but not from anything recent 13:53:15 hmm 13:53:16 ok 13:53:26 https://code.google.com/p/browsersec/wiki/Part2#Survey_of_content_sniffing_behaviors has a table, but it only goes up to 8. 13:53:37 I did install IE6 on Linux (most recent version that runs well) in order to test that sites work in IE 13:53:40 I know their page is broken when trying to shoot pages with urls containing a question mark. they don't escape it somewhere. 13:53:44 but I disconnect from the Internet whenever I use it 13:53:55 I guess Windows 8.1 comes with something newer, I could just copy the HTML to the Windows partition 13:53:57 I see 13:54:26 I don't think I'd test with IE 6, but I have tested with IE 8 or some other new version at some point from a windows machine. A bit. Not much. 13:55:44 I don't do much web development either though. 13:56:10 I don't do much, but I've done some 13:56:29 I remember writing a database engine in JS, where the entire database + indexes were all one JSON literal generated previously via a separate Perl script 13:57:19 uh... ok 13:57:31 Apparently on IE8 onwards you can work around it by adding a "X-Content-Type-Options: nosniff" header. 13:57:37 (dpaste doesn't seem to do that.) 13:58:28 that's great design just there, requiring sites to send custom headers specific to your browser in order to avoid a security bug 13:58:36 what I wrote with javascript is a form where you can repeat a particular input field any number of times because you can want to add any number of that particular data. 13:58:47 and I made sure it works even without javascript 13:58:54 b_jonas: server-side? 13:59:05 I'm hoping there's some way to do it with really convoluted CSS 13:59:09 but there probably isn't :-( 13:59:11 server-side, yes 13:59:50 Huh, the 'raw' links from gitweb are 'Content-Type: text/plain; charset=ISO-8859-1'. 14:00:01 Should probably check where that charset value is coming from. 14:00:32 if you have no javascript, then any such field shows up twice by default, but if you fill all copies of such a field and hit preview, you get one more copy 14:00:51 "$fallback_encoding: Gitweb assumes this charset when a line contains non-UTF-8 characters. -- The default is "latin1", aka. "iso-8859-1"." 14:00:54 actually, the main problem with margins is that it has close to a 0% chance of ever beating omnipotence 14:00:56 plus if you don't have javascript, a short usage notice about this shows 14:00:56 But that shouldn't be the case. 14:01:30 I eventually get it to work sane on all browsers I tried 14:01:46 oh, I see 14:01:50 hmm, now I have an idea 14:03:45 the javascript code has to handle replicating the input box, together with making sure the label on the left and extra stuff on the right from the input field appear in a same way; plus when loading it enables a css so that the second input field and the usage note doesn't appear if you have javascript on 14:04:23 during that, I found that browsers handle alternate stylesheets in two different ways, so I have to be compatible with both 14:05:42 hmm, I have something broken in my browser local config 14:05:58 anyway, here's the code for that replicatable field => http://www.perlmonks.com/?node_id=841827 14:06:46 or actually, I think there's something broken in this firefox version, or one of the plugins, not in my config 14:06:51 damn 14:07:02 -!- TieSoul has changed nick to azum4roll. 14:07:38 -!- azum4roll has changed nick to TieSoul. 14:09:45 what the heck? 14:10:42 there was some code specifically to beat full-tape clears but it wasn't running 14:10:42 what? 14:10:45 I just got it working 14:11:20 !bfjoust margins http://nethack4.org/esolangs/margins.bfjoust 14:11:33 this will take a while :-) 14:11:34 in this firefox, it seems that in the settings if I disable page fonts, it doesn't even show text as monospaced when the page marks it as monospaced (not a particular monospaced font), not even if the site simply uses the tt tag 14:11:34 my bot got lots of messages built up for azum4roll so I ate them :P 14:11:38 crazy 14:12:00 this is clearly a bug, if I wanted the monospaced text to be not monospaced, I'd just change the default monospaced font to a non-monospaced font 14:12:14 is this a bug in firefox, or in a plugin I have installed? 14:12:34 shouldn't be taking /that/ long, though 14:13:00 it's listed in breakdown 14:13:03 zemhill just hasn't posted here 14:13:48 matrix hasn't been upsated 14:13:49 *updated 14:14:05 I think it might be a plugin bug 14:14:47 huh, htf is anticipation2 beating it 14:15:24 ah right, it hardly sets any decoys, meaning its counter-turtle works even at tape length 10 14:15:54 I wonder if there's some sort of theory of perturbation applied to bfjoust programs to see which ones are more resilient and which are winning because of a particular set of decoy strategies or what-have-you 14:16:55 coppro: one thing I've considered is running repeatedly, with one program delayed 1 cycle, 2 cycles, 3 cycles, etc. at the start 14:17:09 that should throw off most constant-tweaking-related effects 14:17:19 if the match is decisive, you should have a pretty sharp transition from winning to losing 14:17:30 if it's to do with details of clashing decoys, the wins and losses will be all over the place 14:17:43 and if it's to do with things like probabilistic locks, you should get a repeating pattern 14:21:01 hmm, has anyone hooked a full Sage interpreter to irc yet? with persistent state between lines, preferably 14:21:43 -!- Zuu_ has changed nick to Zuu. 14:21:48 just wondering 14:25:53 Is that like the hippie version of mathematica tweets 14:41:34 -!- DootBot has joined. 14:41:34 DOOT DOOT! 14:44:35 Huh. 14:45:01 what does it say about me that my immediate reaction to DootBot joining is "oh dear" 14:45:02 ais523: Tanelle- ass problem used a the listen again,! dunnl Moon like was rekt her the go? il Apple Leonys. 14:45:20 http://sprunge.us/EPgM I don't know why it didn't reply anything. 14:46:37 the matrix doesn't appear to be loading: http://zem.fi/bfjoust/matrix/ 14:47:03 oh fungot 14:47:03 Jafet: ' he ate more than the fnord of his dead self, he would surely rise to higher things! 14:47:23 -!- idris-bot has joined. 14:47:48 ais523: The JSON report file is empty. 14:47:59 that would explain it 14:48:04 !bfjoust margins http://nethack4.org/esolangs/margins.bfjoust 14:48:10 let's see if we can just unstick it like this 14:48:10 ais523.margins: points 2.38, score 45.65/100, rank 9/47 (change: --) 14:48:15 that's better 14:48:21 Now it's nonempty. 14:48:40 Don't know what went wrong there, since it didn't output anything. 14:48:48 But it *is* the same place where it segfaulted, so. 14:52:13 The interpreter has been tested only with a "Hello, world" brainfuck program, so it may contain horrible bugs. ← we have plenty of other test cases; Lost Kingdoms is a common one 14:54:55 -!- AndoDaan has joined. 14:58:13 -!- AndoDaan_ has quit (Ping timeout: 276 seconds). 15:02:18 [wiki] [[Fortob]] http://esolangs.org/w/index.php?diff=40521&oldid=40400 * GermanyBoy * (+10) /* summary/infobox */ perl has influenced 15:04:29 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=40522&oldid=39610 * GermanyBoy * (+168) /* Fortob */ new section 15:05:00 [wiki] [[Hello world program in esoteric languages]] M http://esolangs.org/w/index.php?diff=40523&oldid=40522 * GermanyBoy * (+0) /* Forobj */ 15:22:29 -!- Bike has joined. 15:23:59 -!- Sprocklem has joined. 15:44:57 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 15:45:40 -!- Sorella has joined. 15:46:29 -!- Sorella has quit (Changing host). 15:46:30 -!- Sorella has joined. 15:53:56 [wiki] [[Fortob]] http://esolangs.org/w/index.php?diff=40524&oldid=40521 * GermanyBoy * (+630) /* Example code/99 bottles of beer */ new section 15:54:22 [wiki] [[Fortob]] http://esolangs.org/w/index.php?diff=40525&oldid=40524 * GermanyBoy * (+18) /* 99 bottles of beer */ 15:55:24 -!- idris-bot has quit (Quit: Terminated). 15:55:37 -!- idris-bot has joined. 16:07:40 -!- callforjudgement has joined. 16:08:52 -!- ais523 has quit (Disconnected by services). 16:08:53 -!- callforjudgement has changed nick to ais523. 16:12:56 ais523: oh. thanks. but i still have some imporvements that have been sitting on the backburner for a year... 16:13:25 it'd be nice to see them, it's down to like #4 or #5 now 16:13:28 depending on local conditions 16:13:49 but it's one of the very few programs I can't consistently tune near-aribtrary strategies to beat 16:15:22 I learned a lot getting growth to beat it (notably, this is without using any sort of cheating or special-casing, the changes that beat space_elevator helped against a bunch of other programs too) 16:16:13 that said, its main weakness is its clear loop 16:17:00 wait, I'm muddling _elevator with _hotel 16:17:02 fizzie: i like that you use . as the separator now. I assume this is because valid IRC nicks can't contain .? 16:17:38 space_hotel has a better clear loop, I think 16:17:45 !bfjoust 16:17:45 quintopia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 16:17:51 hmm, if the separator was > that could mean the nick goes in one cell and the program name in the next cell 16:18:03 -!- Phantom_Hoover has joined. 16:18:24 new project: get growth to beat space_hotel 16:19:04 I think growth is the future of BF Joust 16:19:36 -!- atriq has joined. 16:19:39 it's very close at the moment 16:19:52 Help I am running into problems because templating engines aren't functional programming languages 16:20:16 man 16:20:35 template haskell? or future C++ where the compiler can do more stuff at compile time? 16:20:47 b_jonas: jinja2, I'm afraid 16:21:17 oh, _those_ kinds of templating languages 16:21:20 actually, the big problem is that space_hotel overpokes, which is almost impossible to beat something like growth 16:21:29 ais523: it's quite a lot of fun watching growth run. it slowly grows its decoys while checking to see if they've been cleared? 16:21:35 yes 16:21:50 well now i'm distracted from the work i need to be doing... 16:21:53 then, it assumes that the opponent started clearing at the ninth cell, and if it did, goes straight to the flag 16:21:58 this bfjous thing is crazy :) 16:22:12 the great thing is, if the opponent leaves a trail 16:22:25 it can't see they were cleared "directly", but it'll shrink the trail while "growing" the decoy 16:22:37 indeed 16:22:41 and eventually the cell reads 0, at least on one polarity 16:23:10 so the only way to throw it off is a) large trail or b) somehow match the trail with the original polarity 16:23:28 both of which have downsides 16:23:29 right 16:23:30 it sort of reminds me to Lambda: the Gathering, though it's a quite different game 16:23:57 in fact, most of growth's losses to space_hotel are due to the trail having the original polarity for long enough that you get too much of a head start 16:24:05 probably "large trail" is less of a disadvantage than it is an advantage in this case 16:24:09 then it juts wins via having a faster clear loop 16:24:12 *just 16:24:27 -!- TieSoul has quit (Ping timeout: 245 seconds). 16:24:35 this was an innovation I came up with a couple of days ago: basically you do an inflexible timer clear on a very short timer 16:24:50 when it hits a large decoy size (I arbitrarily chose 100), you turn off your offset clear on future tape cells 16:24:55 and just do a regular clear 16:25:02 because you're not going to beat the enemy decoys anyway 16:25:24 good idea 16:25:35 first time I've used a non-offset clear in /years/ 16:26:26 oh wow, on kettle 24 16:26:32 -!- DootBot has quit (Ping timeout: 245 seconds). 16:26:40 growth's decoys are smaller than your offset 16:26:42 i knew this new hill implementation would spice things up here 16:26:48 i hope i don't get too distracted by it 16:26:56 and yet growth /still/ wins 16:27:16 this actually shocks me, and says a lot about constant tweaking 16:27:20 yes, because the flag is still high than the offset 16:28:37 i has question: Do there exist positive integers a,b,c,d such that a²+b²=c² and a²/4+b²=d²? 16:28:52 is this a homework question? 16:29:09 I guess probably not, it sort-of looks like one though 16:29:12 it will become one if the answer is "yes" 16:29:22 oh, reverse homework question, neat 16:29:22 but not in this form 16:29:45 okay, i will say yes without any thinking 16:29:51 just because you will have to do homework 16:30:00 I'm trying to remember the formula for generating solutions to a^2+b^2=c^2 16:30:04 your saying yes does not make the answer yes 16:30:05 but I have Wikipedia, so I'll look it up 16:30:39 m^2-n^2, 2mn, m^2+n^2 16:30:58 !bfjoust assume1decoy >(>+>-)*3(>[ (>[+])*99])*99 16:30:59 b_jonas.assume1decoy: points -18.67, score 15.29/100, rank 47/47 16:31:22 b_jonas: that sort of program /can/ work, but >[+] is a terrible clear loop for a fast rush program 16:31:43 !bfjoust assume1decoy2 >(>+>-)*3(>[ (>[+]..)*99])*99 16:31:44 b_jonas.assume1decoy2: points -19.83, score 13.81/100, rank 47/47 16:32:00 b_jonas: that clear loop is even worse :-) 16:32:14 the problem is, the best fast rush clear loops I know are quite long 16:32:35 well, I just want to try some simple strategies now 16:32:56 !bfjoust assume1decoy2 >(>+>-)*3(>[ (>(+)*120[+]..)*99])*99 16:32:57 b_jonas.assume1decoy2: points -20.69, score 12.21/100, rank 47/47 (change: --) 16:33:09 < copumpkin> yes, but the universals almost never use the forall keyword unless you're rank-2ing – In Idris, of course, you use the dependent function syntax every time you want a dependent function, rather than just to construct existentials out of. 16:33:14 < ais523> (also, this is the first time I've told someone that I manually accept cookies, and the response has been "I do that too" rather than people telling me I'm an idiot) – I use CookieMonster for that purpose, so in total I have policy addons for scripts, cross-site requests, and cookies. 16:33:28 < int-e> heh, do you also find the inconsistent spelling of firefox' command line options annoying? I mean this: firefox -ProfileManager -no-remote – I find it more annoying that “-no-remote” is even necessary. Or actually, isn’t the current correct way to do it “-new-instance”? 16:33:51 !bfjoust heres_a_sample >(>+>-)*3(>[+[--[-[++++[(+)*100[+]>]-->++]++>+]+>-]->-])*21 16:33:51 ais523.heres_a_sample: points -20.71, score 13.10/100, rank 47/47 16:34:07 hmm, perhaps I screwed up somewhere, that happens when you write clear loops from memory 16:34:10 let me check egojsout 16:34:47 aha, forgot the tripwire avoid 16:35:00 !bfjoust heres_a_sample >(>+>-)*3(>[>[+[--[-[++++[(+)*100[+]>]-->++]++>+]+>-]->-]])*21 16:35:00 ais523.heres_a_sample: points -15.71, score 17.32/100, rank 47/47 (change: --) 16:35:09 there, that's starting to score now 16:35:12 *score better 16:35:16 yeah 16:35:16 admittedly it's still last 16:37:09 also I only went up to offset 2 16:37:14 I declare that the cutest program name listed is “Gregor.furry_furry_strapon_pegging_girls”. 16:37:22 !bfjoust assume1decoy >(>+>-)*3(>[ (>(+)*123[+.+]..)*99])*99 16:37:22 b_jonas.assume1decoy: points -26.50, score 8.10/100, rank 47/47 16:37:26 I've been known to go right up to 5 in that sort of clear loop, but at that point, you have to start writing loop escape mechanisms 16:37:32 ais523: i'm messing around with the various pythagorean triple generating functions and it's not a way i'm able to think at the moment 16:37:46 and it quickly becomes too hard to fit into a oneline 16:37:48 *oneliner 16:38:04 ais523: deewiant could figure out how :P 16:38:09 quintopia: have you tried to check for small solutions first? 16:38:15 b_jonas: yes 16:38:32 i know some properties a solution must have 16:39:00 well 16:39:02 no i don't 16:39:03 :P 16:39:06 solve it mod 2, and mod 3, to start off with 16:39:44 that's pretty much how i count legal positions in Go 16:39:47 Those are finite fields, so you will always find solutions 16:39:52 that are useless 16:40:07 except i count mod 2^64-O(1) 16:40:07 err, mod 4, and 9, I mean 16:40:15 probably you need mod 8 16:40:31 You can't divide by 4 mod 4 16:40:43 you multiply instead 16:40:57 as in, add d=a/2 16:41:03 you can definitely multiply by 4 mod 4 16:41:49 -!- S1 has joined. 16:43:38 Well, in any case it's possible to make this a homework question regardless of whether a pair exists 16:44:25 yes but it might be too hard for the students, we don't know what sort of class quintopia teaches 16:44:37 quintopia: Yes. (It used ~ for a while there, but I got some negative feedback about that.) 16:50:21 -!- Sprocklem has quit (Ping timeout: 246 seconds). 16:53:43 i wish i knew where this whole #bisexualfacts thing started 16:53:51 but it amuses me 16:54:12 "A bisexual is a monoid in the category of endofunctors #bisexualfacts" 17:02:16 do you know what the difference between football and rape is? 17:02:49 Women just hate rape. 17:02:58 it's normally a bad idea to bring rape jokes into any communication forum whatsoever 17:03:00 dammit! I fucked it up 17:03:05 they hate football 17:03:28 i think the fuckup came some time earlier than that 17:04:06 naaah, also I mistook this channel from a different channel because of the bifact 17:04:20 it doesn't even really matter which channel it is 17:04:34 you're right 17:04:39 “Men don't date football.” 17:04:54 just means that I have another chance of tellign the joke right, in the right thannel :> 17:05:08 *channel 17:05:19 Zuu: you'll be better off once you realise why the joke's a fundamentally bad idea 17:05:34 Indeed. 17:05:53 ais523: I think you got something stick somewhere 17:05:57 *stuck 17:06:17 Zuu: this is what #xkcd has to say on the matter: http://www.xkcdb.com/6758 17:06:56 tldr 17:07:20 -!- callforjudgement has joined. 17:07:24 -!- ais523 has quit (Disconnected by services). 17:07:25 -!- callforjudgement has changed nick to ais523. 17:07:56 Feature added: result matrix cells now links. (They invoke the EgoJSout autorun behavior, so clicking 'margins' links is potentially somewhat hazardous.) 17:08:30 IMO, margins is the BF Joust equivalent of trolling, in terms of bot behaviour 17:12:05 -!- TieSoul has joined. 17:17:40 -!- atriq has quit (Ping timeout: 246 seconds). 17:17:43 -!- MoALTz has joined. 17:19:06 -!- callforjudgement has joined. 17:19:19 -!- ais523 has quit (Disconnected by services). 17:19:22 -!- callforjudgement has changed nick to ais523. 17:21:30 -!- ais523 has quit (Read error: Connection reset by peer). 17:21:37 -!- ais523 has joined. 17:33:41 ooh, I found a bug in space_hotel: length 29 polarity inverted versus growth, it gets itself stuck in an infinite loop doing what looks like an anti-shudder 17:34:56 I guess this is a good argument for antishudders being asymmetrical, although I do admit to having written [+--+] recently 17:35:34 one innovation I'm wondering about for growth is to tune its growth loop so that it has a better chance of accidentally locking programs due to happening to grow at the right instant in their clear loop 17:39:57 -!- conehead has joined. 17:41:12 Zuu: next time that'll get you a +b 17:42:01 it even came with the op-insulting, too 17:42:07 it was very close to a kick but I lost connection 17:42:20 your internet connection is too merciful 17:44:01 rap is not tragic :( 17:44:08 i mean some are i guess. 17:52:56 -!- AnotherTest has joined. 17:57:28 -!- drdanmaku has joined. 17:58:56 anyone here who has played frog fractions? 17:59:19 elliott_: lol! you guys seem a tad iverly sensitive 17:59:33 -!- ChanServ has set channel mode: +o elliott_. 17:59:38 GeekDude: it's fun 17:59:41 -!- elliott_ has kicked Zuu and you don't know how to take a hint. 17:59:45 I'm stuck 17:59:50 what part 18:00:07 There's a wire on a strut, and a can under a spigot 18:00:18 but I can't activate the spigot, or scoop up the goo with th can 18:01:43 oh yeah that part 18:01:51 -!- TodPunk has quit (Ping timeout: 272 seconds). 18:01:52 elliott_: not objecting to that at all 18:01:58 also I keep typing "ls" instead of "look" but it works anyways 18:02:06 especially because I can't ever remember Zuu contributing anything useful 18:02:25 let's see how does this go 18:02:27 do you have the tape? 18:02:27 it took some restraint not to add a +b 18:02:30 -!- TodPunk has joined. 18:02:33 Bike: there's tape? 18:02:33 -!- elliott_ has set channel mode: -o elliott_. 18:02:41 on the machine 18:02:45 oh 18:02:45 electrical tape or something 18:02:51 to hold the note on I suppose 18:02:54 * GeekDude experiments 18:02:57 you use it to fix the wire 18:03:06 * Bike looking at walkthrough, memory is hard. 18:03:18 ooh, something behind it 18:03:33 covered in goop to render it unuseable -.- 18:03:44 ooh, it worked 18:04:25 mmm, bacon 18:04:43 this conversation was really interesting before I scanned up high enough to see that it's about frog fractions 18:04:50 I was like wtf are you doing 18:04:54 lol 18:05:10 "You don't need to worry about the porn trading minigame at all - just order your staff to print money each turn, and buy the last upgrades" 18:05:40 - game devs for pg game 18:06:43 I can't eat the note :( 18:06:56 i'm looking forward to frog fractions 2, which i have discovered through my spy network is half life three 18:08:05 the goop is sleeping? 18:08:08 * GeekDude gets more goop 18:08:46 uhh... zorkmids? I thought that was a goop dispenser 18:09:08 ah... 18:10:35 -!- ais523 has quit. 18:11:03 -!- perrier has quit (Remote host closed the connection). 18:11:25 I have no clue what's going on anymore 18:11:58 -!- perrier has joined. 18:14:33 >Score 18:14:44 "I don't know whith whom you want to score" 18:14:55 oh wow 18:14:58 >Score with me 18:15:09 "Your score has gone up by three halves of a point" 18:15:25 do try to get onto the leaderboards 18:15:26 this thing is amazing 18:31:05 -!- shikhout has joined. 18:31:34 -!- shikhout has changed nick to Guest73499. 18:32:48 -!- Guest73499 has quit (Client Quit). 18:33:05 -!- shikhout_ has joined. 18:34:24 -!- shikhin has quit (Ping timeout: 272 seconds). 18:35:00 Bike: the ddr part was rediculously difficult 18:35:14 you've just got no groove 18:40:38 -!- shikhout_ has changed nick to shikhin. 18:43:08 I think I finished it 18:43:41 -!- erdic has quit (Ping timeout: 260 seconds). 18:43:59 Finally, a product sample for quality control http://i.imgur.com/wpwUbSW.png 18:44:30 And another! http://i.imgur.com/gheWPmq.png 18:44:59 quality is through the roof! 18:45:34 -!- erdic has joined. 18:48:26 Bike: the first time I played this I thought everyone was just making things up to confuse people 18:48:29 I have seen the light 18:48:39 yeah i got bored in the first section 18:48:45 "this is dumb" 18:51:34 Note to everyone else: It totally isn't just a fraction game 18:51:49 -!- AndoDaan_ has joined. 18:52:30 -!- AndoDaan has quit (Ping timeout: 246 seconds). 19:02:44 Bike: the ddr part was rediculously difficult 19:03:01 it doesn't actually matter how well you do in that section 19:03:05 mashing buttons is cheating! 19:03:19 also: when elliott_ first linked me to frog fractions i thought it was called 'frog factions' 19:03:28 and it was going to be some kind of frog-based strategy game 19:03:33 to this day i'm still a bit disappointed 19:03:37 nah, it's an rpg 19:03:52 GeekDude is lying. frog fractions is a game about learning and fractions and that is all there is to it. 19:04:04 and about indignity! 19:10:43 -!- nortti has changed nick to hvidie. 19:12:01 -!- hvidie has changed nick to nortti. 19:12:17 -!- ^v has joined. 19:26:12 -!- AndoDaan has joined. 19:28:12 -!- AndoDaan_ has quit (Ping timeout: 245 seconds). 20:00:23 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>)*1([(+)*5[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([+++++++[-]]>))*-1 20:00:24 AndoDaan.BeatYouMate: points -8.67, score 22.67/100, rank 44/47 (change: -13) 20:02:01 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>))*-1 20:02:02 AndoDaan.BeatYouMate: points -6.71, score 25.65/100, rank 35/47 (change: +9) 20:02:27 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>))*-1 20:02:28 AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: +6) 20:02:48 -13+9+6 > 0 20:03:20 Cant be be too difficalt about elegance 20:03:43 I'm just looking to increment up. 20:04:35 !bfjoust BeatYouMate (>------>+++++++>-)*2+>----->(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>))*-1 20:04:36 AndoDaan.BeatYouMate: points -8.52, score 23.62/100, rank 40/47 (change: -11) 20:05:10 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>))*-1 20:05:11 AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: +11) 20:07:34 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>[(-------)*3[+]]))*-1 20:07:34 AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: --) 20:07:48 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>[(-------)*4[+]]))*-1 20:07:48 AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: --) 20:07:57 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>[(------)*4[+]]))*-1 20:07:58 AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: --) 20:08:28 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 20:08:29 AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: --) 20:09:06 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 20:09:08 AndoDaan.BeatYouMate: points -4.38, score 28.72/100, rank 27/47 (change: +2) 20:11:18 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++)*3[-]]>[(-----)*4[+]]))*9([(+++++++)*6[-]]>[(-------)*4[+]]))-1 20:11:18 AndoDaan: error: parse error: terminating ) without a matching ( 20:11:52 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++)*3[-]]>[(-----)*4[+]])*9([(+++++++)*6[-]]>[(-------)*4[+]]))-1 20:11:52 AndoDaan.BeatYouMate: points -39.17, score 2.35/100, rank 47/47 (change: -20) 20:12:29 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++)*3[-]]>[(-----)*4[+]])*3([(+++++++)*6[-]]>[(-------)*4[+]]))-1 20:12:30 AndoDaan.BeatYouMate: points -39.17, score 2.35/100, rank 47/47 (change: --) 20:12:59 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 20:13:00 AndoDaan.BeatYouMate: points -4.38, score 28.72/100, rank 27/47 (change: +20) 20:13:10 Okey dokey. 20:14:12 Gained 5 places with trial improvements. I'm coming for you Preperation 20:16:28 -!- AnotherTest has quit (Remote host closed the connection). 20:21:01 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[-]>([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 20:22:58 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 20:22:58 AndoDaan.BeatYouMate: points -4.60, score 28.44/100, rank 27/47 (change: +4) 20:23:34 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 20:23:35 AndoDaan.BeatYouMate: points -4.60, score 28.79/100, rank 26/47 (change: +1) 20:23:41 !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 20:23:42 AndoDaan.BeatYouMate: points -4.60, score 28.79/100, rank 26/47 (change: --) 20:24:18 Hmm. 20:24:31 I wonder what those sporadic problems are all about. 20:24:48 yeah, the input is identical 20:25:08 but it doesn't seem to react until I send a new one twice 20:25:53 !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 20:25:53 AndoDaan.BeatYouMate: points -4.10, score 29.43/100, rank 24/47 (change: +2) 20:26:14 As far as I can tell, it did the actual running just fine, it's just that some of the (NMatrix-based) score computations it does when writing the JSON report (for the website) make it do weird things. 20:26:52 I think I should try to either upgrade to the latest, or back down from the 0.1.0-rc5 I installed to 0.0.9. 20:27:15 It's just annoying to compile, because of the not-enough-memory reasons. 20:30:07 -!- AndoDaan has quit (Ping timeout: 244 seconds). 20:31:11 -!- AndoDaan has joined. 20:54:21 -!- tromp has quit (Ping timeout: 260 seconds). 21:00:52 \n1 21:01:11 !bfjoust BeatYouMate +(>------>+++++++)*4(+)*5>---[(+)*6[-]>>>>>(([(+)*6[-]]>)*3>[(+)*5[-]]>>([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1]>(([(+)*6[-]]>)*3>[(+)*5[-]]>>([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 21:01:12 AndoDaan.BeatYouMate: points -6.60, score 26.62/100, rank 32/47 (change: -8) 21:01:52 !bfjoust BeatYouMate +(>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 21:01:53 AndoDaan.BeatYouMate: points -4.45, score 28.89/100, rank 25/47 (change: +7) 21:02:28 -!- Patashu has joined. 21:02:48 Trying to gain a better score by tailoring your code too much to one bot is a bad idea 21:04:23 -!- AndoDaan has quit. 21:06:12 -!- tromp has joined. 21:12:20 -!- Bike_ has joined. 21:14:45 -!- Bike_ has changed nick to Bicyclidine. 21:25:18 -!- Patashu has quit (Ping timeout: 258 seconds). 21:34:11 -!- pallokolmio has joined. 21:37:39 -!- Bicyclidine has quit (Quit: Lost terminal). 21:39:31 -!- Bike_ has joined. 21:39:41 -!- Bike_ has changed nick to Bicyclidine. 21:44:20 -!- AndoDaan has joined. 21:50:53 fizzie, what language is zemhill written in? 21:54:30 -!- lifthrasiir has quit (Ping timeout: 246 seconds). 22:00:27 -!- S1 has quit (Quit: "AAAAAAAAAAAAAAAAAHHH" - Konfuzius). 22:05:01 -!- vravn has left ("Leaving"). 22:07:00 Taneb: Ruby. 22:07:40 Also I had one written in Python for all of maybe a day. 22:08:11 I still haven't managed to find a plausible reason for the Ruby rewrite. Cosmic rays flipping bits, perhaps? 22:08:41 Statistical certainty 22:09:50 Q: does the game viewer http://zem.fi/bfjoust/game/ calculated the matches exactly like your ruby script? 22:11:02 I mean Egojsout.js 22:11:03 -!- lifthrasiir has joined. 22:11:22 It's not Ruby that's running the games; that's gearlance/gearlanced, written in C. 22:11:25 I was assuming Taneb meant the bot. 22:12:46 Ah. He could have. I thought you meant ruby interprets and runs the matches, with only js beings used if you wanna watch a game. 22:13:42 And gearlance/gearlanced is automatically tested against EgoJSout, though with a fixed set of programs; currently, about 60: all the examples from the wiki plus a snapshot of the codu.org hikk from October 2013. 22:14:48 -!- scounder has quit (Ping timeout: 272 seconds). 22:15:33 I might consider having the test scripts also use zemhill submissions from now on, though then I'd have to switch from the n^2 full-round-robin format at some point. 22:15:37 Grand. Not that I had any worries about it. 22:16:15 Yeah, I was kinda spamming the chat with my adjustments earlier. Sorry about that 22:17:16 That's quite okay; it's what it is there for. 22:17:49 -!- oerjan has joined. 22:19:01 @tell ais523 Now that I think of it, I have a feeling the (node.js-ified?) EgoJSout copy I have for testing gearlance against is significantly faster; I may have ripped the tracing out. Possibly an option for the web version for slow programs. 22:19:02 Consider it noted. 22:19:11 I wanted also ask/suggest, if it was possible to toggle the debugger box output in esjoustTrace.js ? 22:19:46 When it's a long match, the abundance of updates grinds my browser to a halt. 22:21:10 ais523 asked the same earlier. I don't know too much about EgoJSout (not my code), but it runs the tests quite fast (IIRC) so I probably did something to it. 22:51:12 [wiki] [[Special:Log/newusers]] create * GeraldiFinney * New user account 22:55:09 -!- GeekDude has changed nick to GeekAfk. 23:07:11 -!- Bicyclidine has quit (Ping timeout: 244 seconds). 23:09:47 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 23:15:47 -!- pallokolmio has quit. 23:21:03 -!- lifthrasiir has quit (Ping timeout: 272 seconds). 23:21:19 -!- lifthrasiir has joined. 23:24:59 -!- teuchter has joined. 23:28:07 -!- choochter has quit (Ping timeout: 245 seconds). 23:58:30 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 2014-09-24: 00:31:09 -!- shikhout has joined. 00:31:34 -!- shikhout has changed nick to Guest13726. 00:34:05 -!- shikhin has quit (Ping timeout: 260 seconds). 00:34:05 -!- boily has joined. 00:36:33 -!- vravn has joined. 00:50:58 `relcome vravn 00:50:59 ​vravn: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 00:51:11 -!- vravn has left ("Leaving"). 00:52:06 nooooooooooooooooooo! ouaïïïïïïïïïïlle! 00:53:39 biquausse 00:54:42 -!- Aniya_Bruen has joined. 00:54:55 that is so quintessentially French that I can only stare in beatification. 00:55:07 `relcome Aniya_Bruen 00:55:08 ​Aniya_Bruen: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 01:03:20 !bfjoust spitFire (>+[+])*-1 01:03:21 AndoDaan.spitFire: points -18.33, score 11.68/100, rank 47/47 01:03:56 Zuu: this is what #xkcd has to say on the matter: http://www.xkcdb.com/6758 <-- and this made me realize something ironic about the word "canola" 01:04:15 !bfjoust spitFire ([>{>+[+]}>])-1 01:04:17 AndoDaan.spitFire: points -26.62, score 3.87/100, rank 47/47 (change: --) 01:04:46 it sounds like how an english speaker would badly pronounce no:knulle ... which is en:fuck 01:05:59 !bfjoust spitFire (>)*10((-)*20[+]>)*-1 01:06:00 AndoDaan.spitFire: points -26.57, score 8.44/100, rank 47/47 (change: --) 01:06:04 (it's ironic because "canola" was a word invented _not_ to sound like "rape") 01:06:41 canola is cheap here, for some mysterious reason... 01:06:48 !bfjoust spitFire (>)*9(>[(-)*20[++.]))*-1 01:06:48 AndoDaan: error: parse error: terminating ) without a matching ( 01:06:53 !bfjoust spitFire (>)*9(>[(-)*20[++.])*-1 01:06:54 AndoDaan: error: parse error: [..] crossing out of a ({..}) level 01:07:29 !bfjoust spitFire (>)*9(>[(-)*20[++.]>]))*-1 01:07:29 AndoDaan: error: parse error: terminating ) without a matching ( 01:08:00 !bfjoust spitFire (>)*9>([(-)*20[++.]>])*-1 01:08:01 AndoDaan.spitFire: points -31.67, score 5.61/100, rank 47/47 (change: --) 01:08:36 !bfjoust spitFire (>)*9>([(-)*20(+.)*156>])*-1 01:08:37 AndoDaan.spitFire: points -29.00, score 8.33/100, rank 47/47 (change: --) 01:11:00 !bfjoust spitFire (>)*9>([(-)*20(++.-.)*78>])*-1 01:11:01 AndoDaan.spitFire: points -34.95, score 3.91/100, rank 47/47 (change: --) 01:11:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 01:11:53 !bfjoust broiled-lobster (>[-.])*31 01:11:53 boily.broiled-lobster: points -26.43, score 9.30/100, rank 47/47 01:13:46 -!- conehead has quit (Quit: Computer has gone to sleep). 01:13:52 !bfjoust spitFire (>)*9[-]([<[+{[+]}]])*3 01:13:52 AndoDaan.spitFire: points -31.95, score 5.63/100, rank 47/47 01:14:10 -!- conehead has joined. 01:14:11 f it 01:16:36 !bfjoust spitFire >+(>)*2(+)*2(>)*3(+)*3(>)*4(+)*32([+]>)-1 01:16:37 AndoDaan.spitFire: points -42.45, score 0.80/100, rank 47/47 (change: --) 01:17:17 !bfjoust spitFire >+(>)*2(+)*2(>)*3(+)*3(>)*2(+)*32([+]>)-1 01:17:18 AndoDaan.spitFire: points -41.36, score 1.68/100, rank 47/47 (change: --) 01:18:16 !bfjoust spitFire >+(>)*2(+)*2(>)*3(+)*3(>)*2(+)*32((-)*9[+]>(-)*9[+]>(+++)*9[-]>)-1 01:18:16 AndoDaan.spitFire: points -41.36, score 1.68/100, rank 47/47 (change: --) 01:18:22 -!- conehead has quit (Ping timeout: 240 seconds). 01:20:41 !bfjoust spitFire [>[<->][[+].>] 01:20:41 AndoDaan: error: parse error: starting [ without a matching ] 01:20:55 !bfjoust spitFire >[>[<->][[+].>] 01:20:55 AndoDaan: error: parse error: starting [ without a matching ] 01:21:04 bah, time for bed 01:21:14 -!- AndoDaan has left. 01:23:02 @ask AndoDaan will you have dreamt of fungot? 01:23:02 Consider it noted. 01:23:02 boily: alice was glad to think, the books are something like our books, only the words go the wrong fnord i know is, my uncles are all old men: and they fnord their defence." 01:23:26 fungot: a book with the wrong fnord? I don't think I'm ready for that. 01:23:26 boily: upon bruno the change came later: but it looked a little better. i know that!' 01:25:29 -!- Aniya_Bruen has quit (Remote host closed the connection). 01:27:01 time for deconstructive litterature. 01:27:06 -!- boily has quit (Quit: INESSIVE CHICKEN). 01:38:22 -!- drdanmaku has joined. 01:44:01 -!- Arlie_McClure5 has joined. 01:45:30 who owns Arlie_McClure5? 01:46:06 -!- ChanServ has set channel mode: +o elliott_. 01:46:18 -!- elliott_ has set channel mode: +b *!*nodebot@*.members.linode.com. 01:46:31 -!- elliott_ has kicked Arlie_McClure5 multiple-nickname bot (impersonating a human?) with no obvious owner -- let me know if it's yours. 01:46:40 -!- elliott_ has set channel mode: -o elliott_. 01:46:52 I wonder if that's one of those bots that joins random channels to log them secretly or something. 01:49:19 is that something that happens 01:51:56 -!- pi___ has joined. 02:00:47 There's a bot that's in a bunch of channels I'm in that watches for links and downloads them using Tor. 02:00:57 I don't know who it is. 02:01:13 http://s6.fi/do_not_click_this.txt 02:01:24 Apparently not in here. 02:02:39 what're y'all clicking that for 02:02:54 same reason i eat shiny candy 02:04:28 whoa, other people with ip addresses similar to yours have been to my website before 02:04:41 turns out i'm popular in pullman 02:04:50 there's a school. 02:04:54 yes 02:05:11 i've never been that far east 02:05:19 ...in that state, that is 02:06:31 Did you know Wikimedia publishes page view data for all projects? 02:41:10 -!- Guest13726 has quit (Ping timeout: 258 seconds). 02:51:19 * FreeFull clicked it 02:56:36 shachaf: Darn, why don't you have IPv6? 02:56:43 It doesn't get my awesome reverse DNS! 02:57:01 ... relatedly, I should probably get a static IPv4 too. 03:38:23 -!- tromp__ has joined. 03:40:16 -!- tromp_ has quit (Ping timeout: 260 seconds). 03:41:35 -!- Aglae56 has joined. 03:56:38 -!- ChanServ has set channel mode: +o elliott_. 03:56:46 -!- elliott_ has set channel mode: +b *!*@li604-225.members.linode.com. 03:56:50 -!- elliott_ has kicked Aglae56 ban evasion. 03:56:53 -!- elliott_ has set channel mode: -o elliott_. 03:57:37 oh, uh, hmm... 03:57:38 04:57:13 [freenode] -!- Aglae56 [~selbyk@li604-225.members.linode.com] 03:57:38 04:57:13 [freenode] -!- ircname : Selby Kendrick - http://selby.io 03:58:55 +b *!*@*.members.linode.com 03:59:18 sent a ping, I guess I'll unban for now 03:59:22 -!- ChanServ has set channel mode: +o elliott_. 03:59:28 -!- elliott_ has set channel mode: -b *!*@li604-224.members.linode.com. 03:59:30 -!- elliott_ has set channel mode: -o elliott_. 04:00:28 would be nice to know what those bots were though 04:00:37 -!- augur has quit (Quit: Leaving...). 04:02:16 Hmm, I take that back, I think they're related. 04:02:55 19:51 -!- Aurelia3 [~nodebot@li604-225.members.linode.com] has joined 04:02:57 20:39 -!- Aurelia3 [~nodebot@li604-225.members.linode.com] has quit [Remote host closed the connection] 04:03:12 20:44 -!- Alanna59 [~selbyk@li604-225.members.linode.com] has joined 04:03:26 In another channel. 04:03:42 yeah, I assumed they were. 04:03:49 Well, more than related. 04:03:55 Whatever, never mind. 04:03:57 I guess I was giving benefit of the doubt because why would a random bot identify its owner or whatever? 04:04:46 They've been joining a whole bunch of channels this way. 04:05:04 -!- augur has joined. 04:05:12 I already /msg'd apologising for the ban so I'd look silly if I re-added it. 04:05:54 http://www.smbc-comics.com/?id=3491 04:06:10 shachaf: I hovered over it. Quassel then loaded the page. I didn't click, but it's probably equivalent 04:06:52 Yes, I only meant web browser user-agents issuing GETs, not HEADs or IRC client GETs. 04:06:55 elliott_: you're probably in university now right 04:07:08 what are you studying? anything good? 04:08:09 http://www.xhaus.com/headers 04:08:27 I can't read the text from this 04:08:29 thats sort of out of nowhere. heh. hey elliott_! havent chatted in a while, chu been up to? yadda yadda 04:11:48 augur: doing lots of drugs, spending my millions, living the life, the usual 04:12:05 elliott_: sounds like a good plan! 04:17:22 http://www.whatsmyuseragent.com/ 04:18:09 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) Quassel IRC Safari/534.34 04:18:37 OK, now they've been K-Lined. 04:18:47 rip 04:45:41 -!- AndoDaan has joined. 05:11:00 `help 05:11:00 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 05:12:29 !help 05:15:45 -!- AndoDaan______ has joined. 05:16:57 -!- AndoDaan has quit (Ping timeout: 260 seconds). 05:17:54 -!- AndoDaan______ has changed nick to AndoDaan. 05:28:59 Re bots: an AI experiment gone wrong? 05:29:22 i think a !help command might be !helpful to avoid confusion 05:30:36 I didn't want to actually "take" the !prefix. But perhaps so. 05:30:38 better to have too many commands than too few 05:43:24 @help 05:43:25 help . Ask for help for . Try 'list' for all commands 05:43:30 @list 05:43:30 What module? Try @listmodules for some ideas. 05:43:41 @help list 05:43:41 list [module|command]. Show commands for [module] or the module providing [command]. 05:43:53 I've done that exact thing before. 05:43:58 @listmodules 05:43:58 activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search slap source spell system tell ticker todo topic type undo unlambda unmtl version where 05:44:37 someone needs to make a super bot 05:44:49 ^prefixes 05:44:49 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! 05:45:03 closest thing 05:45:16 Damn, I was actually thinking of adding a bot to this room. 05:45:17 ^help 05:45:17 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 05:45:22 (Just checking.) 05:45:24 But I'm sure I could contribute nothinkg 05:45:47 the unthinking void 05:45:53 @listmodules 05:45:53 activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search slap source spell system tell ticker todo topic type undo unlambda unmtl version where 05:46:56 +help 05:47:10 thutubot has not been seen in a while. 05:47:28 aww, but he was the coolest one. 05:47:47 best regex bot then? 05:48:31 @help compose 05:48:31 . [args]. 05:48:31 . [or compose] is the composition of two plugins 05:48:31 The following semantics are used: . f g xs == g xs >>= f 05:49:28 note the careful avoidance of specifying in which monad 05:50:23 Like x on = on x on 05:50:36 and on on and on 05:50:41 -!- zemhill has quit (Remote host closed the connection). 05:51:03 -!- zemhill has joined. 05:51:06 !help 05:51:15 Oops, I forgot to add the config file entry. 05:51:18 -!- zemhill has quit (Remote host closed the connection). 05:51:52 -!- zemhill has joined. 05:52:10 !help 05:52:10 fizzie: I do !bfjoust; see http://zem.fi/bfjoust/ for more information. 05:52:30 There, now it's not too bad if someone else shares ! with it. 05:53:19 !excellent 05:56:24 At least if whoever picks ! doesn't decide to say something on every "unknown" command. 05:56:34 something is wrong, girl genius has updated early several times in a row 05:57:01 ^bool 05:57:01 Yes. 05:57:05 ^bool false 05:57:13 oerjan: must be making up for olist 05:57:19 ah right 05:59:28 @help bf 05:59:28 bf . Evaluate a brainf*ck expression 06:01:07 @help where 06:01:07 where . Return element associated with key 06:01:37 @metar EFHK 06:01:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 06:01:37 EFHK 240550Z 27010KT 9999 FEW007 01/M01 Q1006 NOSIG 06:01:41 Brrr. 06:01:55 @help metar 06:01:55 metar 06:01:55 Look up METAR weather data for given airport. 06:02:02 I guess I shouldn't complain: it's a whole degree. 06:03:46 :D 06:04:00 It's hit freezing over here in Tampere. 06:04:33 It did briefly dip below zero in Otaniemi too, from maybe 4:30am to 8am. 06:06:04 Should go up to a sweltering 5-10 °C tomorrow, though. 06:06:33 -!- blsqbot has joined. 06:07:00 !rlisp (add 2 2) 06:07:00 Value 4 06:07:17 Now that I have a Ruby thing on the channel anyway, I'm afraid it's going to be hard to resist the temptation to add random (non-bfjoust) features to it instead of fungot. 06:07:18 fizzie: the professor cautiously produced a couple of shillings. 06:07:31 fungot: Is this going to be some kind of a parable? 06:07:32 fizzie: but the barrister, weary of proving in vain that the beaver's fnord was wrong, fell asleep, and snoring fnord to snore his head off!' 06:07:40 I think it is. 06:07:52 @metar KSJC 06:07:52 KSJC 240553Z 32005KT 10SM FEW008 BKN021 19/16 A2997 RMK AO2 SLP148 T01890161 10244 20183 51011 06:08:15 !rlisp (if== $0 0 (r 5) (if== $0 1 1 (if== 1 (odd $0) (r (add (mul 3 $0) 1)) (r (div $0 2))))) 06:08:16 Value 1 06:08:17 come to think of it i don't know what any of those numbers mean 06:08:21 !rlisp (times `(+++) 4 ) 06:08:21 That line gave me an error 06:08:27 good 06:08:33 just testing. 06:08:55 Heh. And now I want to write a Lisp again. XD Thanks for that. ;) 06:09:19 AndoDaan: It's a "LISP" with recursion only 06:09:25 i.e. r is the recursion operator 06:09:31 oh, it's been jammed up. is 19° the temperature? 06:09:31 no lambdas? 06:09:34 and $0 is argument 0 06:09:37 i.e. 06:09:51 !rlisp (if== $0 0 (r 5 3) (add $0 $1)) 06:09:52 Value 8 06:10:03 shachaf: yes 06:10:06 (the first recursion $0 is always initialized to 0) 06:10:27 shachaf: The 19/16 item (or 01/M01 in my case) is temperature (in Celsius) and the dew point. 06:10:41 !rlisp (if== $0 0 (r 0) (r 0)) 06:10:46 Ain't nobody got time fo' that! 06:11:10 !rlisp (if == $0 (r 4 1) (add $ $1 )) 06:11:11 That line gave me an error 06:11:17 !rlisp (if == $0 (r 4 1) (add $ $1 )) 06:11:17 That line gave me an error 06:11:22 it's if== 06:11:24 not if == 06:11:45 also that $ is probably a parser error 06:11:51 !rlisp (if== $0 0 (r 4 1)(add $0 $1)) 06:11:52 Value 5 06:13:20 (if== $0 0 (r 5) (if== $0 1 1 (if== 1 (odd $0) (r (add (mul 3 $0) 1)) (r (div $0 2))))) <- is obviously collatz 06:13:25 hm. Let's do Fib! 06:13:52 [wiki] [[Special:Log/newusers]] create * MargieBertles * New user account 06:14:04 WHY DON'T ANY OF Y'ALL BOT RUN NORMAL LANGUAGES 06:14:17 oh wait 06:14:18 shachaf: Also FEW clouds at 800 feet, BroKeN cloud layer at 2100 feet, visibility of 10 statute miles, 5 knot with direction of 320°, 24th dat at 05:53, barometric pressure of 29.97 inHg (you US folks and your units), and finally a set of automated weather station "ReMarKs" that I don't know how to read. 06:14:33 `runc printf "I have no idea what you mean.\n" 06:14:33 Add the word "wind" to the appropriate place in that sentence. 06:14:34 No output. 06:14:38 oops 06:14:40 !rlisp (if== $0 0 (r 10) (if== $0 1 1 (if== $0 2 1 (add (r (sub $0 1)) (r (sub $0 2))))) 06:14:41 That line gave me an error 06:14:43 :( 06:14:56 `runc printf("I have no idea what you mean.\n") 06:14:56 No output. 06:15:02 wat. 06:15:06 `cat bin/runc 06:15:06 ​#!/bin/bash \ t=`tempfile` \ echo -e "$@" | gcc -o $t -x c - 2>/dev/null && $t \ rm $t 06:15:13 !rlisp (if== $0 0 (r 10) (if== $0 1 1 (if== $0 2 1 (add (r (sub $0 1)) (r (sub $0 2)))))) 06:15:14 That line gave me an error 06:15:30 oh no expressions 06:15:40 fizzie: at least it's °C 06:15:43 `runc main(){printf("I have no idea what you mean.\n");} 06:15:44 No output. 06:16:05 this `runc command isn't very friendly. 06:17:08 `runc int main(){printf("I have no idea what you mean.\n");} 06:17:09 No output. 06:17:26 `run help 06:17:26 GNU bash, version 4.2.37(1)-release (x86_64-pc-linux-gnu) \ These shell commands are defined internally. Type `help' to see this list. \ Type `help name' to find out more about the function `name'. \ Use `info bash' to find out more about the shell in general. \ Use `man -k' or `info' to find out more about commands not in this list. \ \ A star ( 06:17:37 `help 06:17:37 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 06:18:08 `forth 0 s" either!" s" mean" s" you" s" what" s" idea" s" no" s" have" s" I" : w begin ?dup while type ." " repeat ; w 06:18:09 I have no idea what you mean either! 06:18:36 hmm 06:18:58 oerjan: It's the \n, it's expanded into newline to be able to do preprocessor stuff, but it also breaks string literals like that. 06:19:05 `runc int main(){printf("I have no idea what you mean.\\n");} 06:19:06 I have no idea what you mean. 06:19:07 bah 06:19:27 It's not very friendly, that's true. 06:19:58 shouldn't you use something else to mean a newline 06:20:03 maybe some kind of............... trigram 06:20:50 oerjan: wow, that's a scow 06:21:12 echo -e? 06:21:24 ^bf >>+++++++<[->+++++<]. 06:21:42 Did anyone ever write that HackEgo utility that checks if it has any arguments or any stdin input and chooses one or the other? 06:21:49 yes 06:21:57 !rlisp (if== $0 0 (r 10)(if== $0 1 1 (if== $0 2 1 (add (r (sub $0 1))(r (sub $0 2)))))) 06:21:58 Value 55 06:22:05 !rlisp (if== $0 0 (r 11)(if== $0 1 1 (if== $0 2 1 (add (r (sub $0 1))(r (sub $0 2)))))) 06:22:05 Value 89 06:22:07 ^bf 06:22:09 !rlisp (if== $0 0 (r 12)(if== $0 1 1 (if== $0 2 1 (add (r (sub $0 1))(r (sub $0 2)))))) 06:22:10 !bfjoust lose (<)*99 06:22:10 Value 144 06:22:10 b_jonas.lose: points -46.00, score 0.00/100, rank 47/47 06:22:12 shachaf: that doesn't do \n expansion, you know 06:22:22 damn parser is buggy and doesn't allow spaces after (r ...) 06:22:26 ^help 06:22:27 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 06:22:33 I guess \n expansion is important if you want to use CPP. 06:22:36 `run ls bin/*arg* 06:22:37 bin/print_args_or_input 06:22:59 ^bool 06:22:59 Yes. 06:23:41 `run sed -i -e 's/gcc/gcc -trigraphs/' bin/runc 06:23:42 No output. 06:23:43 `runc int main(){printf("I have no idea what you mean.??/n");} 06:23:44 I have no idea what you mean. 06:23:46 ^ul (Hello)S 06:23:46 Hello 06:23:50 There, now it's user-friendly. 06:24:02 I mean, everyone writes ??/n by default, right? 06:24:22 ^style 06:24:22 Available: agora alice* c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 06:24:56 -!- MoALTz has quit (Quit: Leaving). 06:24:56 !bfjoust nop2 (-)*9999999 06:24:58 b_jonas.nop2: points -15.31, score 13.96/100, rank 47/47 06:25:17 hmm, that's better than some of the stuff I tried yesterday 06:25:29 b_jonas: i think you were pointed out that -1 is equivalent to a sufficiently large number 06:25:50 also, the limit is 100000 anyway 06:26:06 It's not quite a "nop" since it does useful stuff. 06:26:13 yeah 06:26:17 that's why it's nop2 06:26:23 not would be (.)*999999 06:26:32 * (.)-1 06:26:39 !bfjoust nop (.)*-1 06:26:39 b_jonas.nop: points -34.29, score 4.32/100, rank 47/47 06:26:45 Logic, my worst enemy. 06:27:19 !bfjoust spin1 >(+)*-1 06:27:19 er, did it get worse? 06:27:19 also, there's an implicit (.)-1 at the end of a program anyway 06:27:24 b_jonas.spin1: points -7.40, score 13.49/100, rank 47/47 06:27:28 *+* 06:27:43 !bfjoust spin2 >>(+)*-1 06:27:48 b_jonas.spin2: points -14.86, score 4.71/100, rank 47/47 06:28:27 !bfjoust spin1a2 >((+)*9>(+)*9<)*-1 06:28:30 b_jonas.spin1a2: points -28.95, score 3.68/100, rank 47/47 06:28:32 !rlisp (r(r(r(r(r(0)))))) 06:28:32 That line gave me an error 06:28:36 !rlisp (r(r(r(r(r(0))))) 06:28:37 That line gave me an error 06:28:49 !rlisp (r(r(r(r(r 0))))) 06:28:52 That line gave me an error 06:29:06 good lisp 06:29:16 !rlisp (r(r(r(r(r 0))))) 06:29:21 That line gave me an error 06:29:32 probably stack overflow or something 06:29:33 !bfjoust spin1 >>>(+)*60<<(+)*-1 06:29:38 b_jonas.spin1: points -11.55, score 7.00/100, rank 47/47 06:29:45 !bfjoust spin1 >>(+)*60<(+)*-1 06:29:51 b_jonas.spin1: points -12.29, score 5.62/100, rank 47/47 (change: --) 06:29:58 !bfjoust spin1 >>+<(+)*-1 06:30:04 b_jonas.spin1: points -8.07, score 11.35/100, rank 47/47 (change: --) 06:30:09 !rlisp (r 0) 06:30:12 !bfjoust spin1 >.(+)*-1 06:30:14 That line gave me an error 06:30:18 b_jonas.spin1: points -7.38, score 13.51/100, rank 47/47 (change: --) 06:30:21 makes u think 06:30:23 !bfjoust spin1 >(+)*-1 06:30:28 b_jonas.spin1: points -7.40, score 13.49/100, rank 47/47 (change: --) 06:31:06 although (r 0) parses 06:31:20 !rlisp (if== $0 0 (r 123456789)(if== $0 1 1 (if== $0 2 1 (add (r (sub $0 1))(r (sub $0 2)))))) 06:31:25 Ain't nobody got time fo' that! 06:31:42 !rlisp (and (== 0 0)) 06:31:43 That line gave me an error 06:31:45 ^bf +++++[>+++++++++++<-]>. 06:31:46 7 06:31:55 it only has add,sub,mul,div,odd 06:32:10 add,mul,div,sub,if==,if<,odd 06:32:10 suxxx 06:32:15 !rlisp (odd 3) 06:32:15 Value 1 06:32:15 that's all it has 06:32:47 ^def lucknumber bf +++++[>+++++++++++<-]>. 06:32:47 Defined. 06:33:41 ^lucknumber 06:33:41 7 06:33:52 hmm 06:33:56 !rlisp (add 1 2 3 4 5) 06:33:57 Value 15 06:34:06 but it has at least varargs :) 06:34:21 ^help 06:34:21 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 06:34:30 !rlisp (if== $0 0 (if== $1 0 (r 3 3) (add $1 1)) (if== $1 0 (r (sub $0 1) 1) (r (sub $0 1) (r $0 (sub $1 1))))) 06:34:30 That line gave me an error 06:35:10 -!- oerjan has quit (Quit: Tiiired). 06:35:16 !rlisp (if== $0 0 (if== $1 0 (r 1 1) (add $1 1)) (if== $1 0 (r (sub $0 1) 1) (r (sub $0 1) (r $0 (sub $1 1))))) 06:35:17 That line gave me an error 06:35:21 i blame society. 06:36:40 you can't have a space after a closing paren for (r 06:36:58 your reader scares me, then. 06:37:01 it's buggy :) 06:37:12 !rlisp (if== $0 0 (if== $1 0 (r 3 3)(add $1 1)) (if== $1 0 (r (sub $0 1) 1)(r (sub $0 1) (r $0 (sub $1 1))))) 06:37:13 That line gave me an error 06:37:40 Prelude.(!!): index too large 06:37:48 Ha. 06:37:50 your accessing arguments that don't exist 06:38:14 !rlisp $1 06:38:15 That line gave me an error 06:38:19 !rlisp $0 06:38:19 Value 0 06:38:22 uh. 06:38:24 great. 06:38:43 !rlisp (0 0 0) 06:38:44 That line gave me an error 06:38:45 :( 06:39:04 yeah. I oughta redo it someday 06:39:41 !rlisp (if== $0 (r 1 0 0) (if== $1 0 (if== $2 0 (r 1 3 3)(add $2 1)) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1))))) 06:39:42 That line gave me an error 06:39:54 !rlisp (if== $0 0 (r 1 0 0) (if== $1 0 (if== $2 0 (r 1 3 3)(add $2 1)) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1))))) 06:39:55 That line gave me an error 06:39:58 unexpected end of input 06:39:59 expecting white space, "(", "-", digit or "$" 06:40:01 fuck's sake. 06:40:09 !rlisp (if== $0 0 (r 1 0 0) (if== $1 0 (if== $2 0 (r 1 3 3)(add $2 1)) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1)))))) 06:40:09 Value 61 06:40:32 hey, got it right. 06:40:46 !rlisp (if== $0 0 (r 1 4 4) (if== $1 0 (add $2 1) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1)))))) 06:40:50 Ain't nobody got time fo' that! 06:40:57 what's it doing? 06:41:19 ackermann function. with 4,4 the answer ought to be 2^2^2^65536 - 3. 06:41:27 it got 3,3 right though. 06:41:40 !rlisp (if== $0 0 (r 1 4 1) (if== $1 0 (add $2 1) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1)))))) 06:41:45 Ain't nobody got time fo' that! 06:41:55 what a wuss. 06:42:01 There's a strict time limit ;) 06:42:28 4,1 is reasonably small, but i the recursion's too deep i guess. 06:42:38 !rlisp (if== $0 0 (r 1 3 4) (if== $1 0 (add $2 1) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1)))))) 06:42:39 Value 125 06:42:48 !rlisp (if== $0 0 (r 1 3 17) (if== $1 0 (add $2 1) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1)))))) 06:42:52 Ain't nobody got time fo' that! 06:43:00 !rlisp (if== $0 0 (r 1 3 11) (if== $1 0 (add $2 1) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1)))))) 06:43:05 Ain't nobody got time fo' that! 06:43:09 oh well. 06:43:27 I think you have 50ms 06:44:40 hm wait no 06:44:49 timeout is in microseconds 06:44:53 which is 1/10^6 06:44:57 then 4*10^6 is 4 seconds? 06:46:25 !rlisp (if== $0 0 (r 1 4 1) (if== $1 0 (add $2 1) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1)))))) 06:46:29 Ain't nobody got time fo' that! 06:46:32 yeah. 4s 06:47:26 oh well. 06:47:28 ^ul (::**)(::**)* 06:47:53 ^ul (::**)(::**)* S 06:47:54 ...bad insn! 06:48:05 huh, ack 4 takes longer than i remembered. 06:48:07 ^ul ((::**)(::**)*)S 06:48:07 (::**)(::**)* 06:48:33 ^ul (::**)(::**)*S 06:48:33 ::**::** 06:48:34 i guess it's obvious though. 06:49:17 matter of fact i get a stack overflow in my fairly non shitty lisp, fuck 06:50:51 With a bit of optimization it works fine though, woo yeah. 06:51:21 !rlisp (if== $0 0 (r 1 4 1) (if== $1 0 (add $2 1) (if== $1 1 (add $2 2) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1))))))) 06:51:22 Value 65533 06:51:30 !rlisp (if== $0 0 (r 1 4 2) (if== $1 0 (add $2 1) (if== $1 1 (add $2 2) (if== $2 0 (r 1 (sub $1 1) 1)(r 1 (sub $1 1) (r 1 $1 (sub $2 1))))))) 06:51:34 Ain't nobody got time fo' that! 06:52:24 oh welllll 06:52:27 ? 06:52:36 What? 06:53:26 now I kinda wanna make a non-shitty lisp . 06:53:33 with bindings to burlesque . 06:53:40 that'd be fun. 06:54:12 well, without some serious analysis you can't run that particular without getting thousands of stack frames deep. imo, alas 06:55:53 I could really add a layer of LISP over burlesque 06:56:35 !blsq "hello"gn\[Q 06:56:35 helo 06:56:54 (pretty (concat (groupNub "hello"))) 06:57:14 ^- like that 06:59:22 !rlisp ($if== $0 0 (r 2 65)($if== $1 0 $0 (r (mul $0 $0) (sub $1 1)))) 06:59:22 That line gave me an error 06:59:23 (which would essentially mean to compile LISP-like stuff to Burlesque) 06:59:28 !rlisp ($if== $0 0 (r 2 63)($if== $1 0 $0 (r (mul $0 $0) (sub $1 1)))) 06:59:28 That line gave me an error 06:59:35 !rlisp ($if== $0 0 (r 2 11)($if== $1 0 $0 (r (mul $0 $0) (sub $1 1)))) 06:59:36 That line gave me an error 06:59:41 guess i messed up. 06:59:43 rlisp: (line 1, column 2): 06:59:43 unexpected "$" 06:59:44 expecting white space, "add", "mul", "div", "sub", "r", "if==", "if<" or "odd" 06:59:52 ... 06:59:56 !rlisp (mul $0 $0) 06:59:57 Value 0 06:59:57 you wrote $if 06:59:59 oh. 07:00:04 !rlisp ($if== $0 0 (r 2 11)(if== $1 0 $0 (r (mul $0 $0) (sub $1 1)))) 07:00:05 That line gave me an error 07:00:13 !rlisp (if== $0 0 (r 2 11)(if== $1 0 $0 (r (mul $0 $0) (sub $1 1)))) 07:00:13 you still wrote $if ;) 07:00:15 twice, even. 07:00:18 Ain't nobody got time fo' that! 07:01:05 can you show an IOException? 07:03:56 -!- blsqbot has quit (Quit: Exiting). 07:04:46 -!- blsqbot has joined. 07:04:54 !rlisp lulz 07:04:54 readProcess: ./rlisp "--ircbot" "lulz" (exit 1): failed 07:04:59 ok 07:05:05 !rlisp (add 0 0) 07:05:05 Value 0 07:05:29 !rlisp ($if==) 07:05:30 readProcess: ./rlisp "--ircbot" "($if==)" (exit 1): failed 07:05:33 damn 07:10:03 -!- blsqbot has quit (Quit: Exiting). 07:10:29 -!- blsqbot has joined. 07:10:32 !rlisp ($if==) 07:10:32 (line 1, column 2): 07:11:27 well... better than nothing :D 07:12:35 will it support emojilisp? 07:13:16 it won't support anything 07:17:02 also what's emojilisp 07:20:24 http://emojilisp.com/ 07:31:20 !blsq '+'2* 07:31:20 ERROR: (line 1, column 6): 07:31:57 !blsq '+'2.* 07:31:57 ERROR: Burlesque: (.*) Invalid arguments! 07:32:02 !blsq '+2.* 07:32:02 "++" 07:32:14 chars don't have a closing ' 07:32:21 since a closing ' is redundant and useless 07:32:26 !blsq grand 07:32:27 ERROR: (line 1, column 6): 07:32:38 it's the most redundant thing in computer programming languages 07:32:40 lol i'm useless 07:32:45 grand? 07:33:34 commands are 2 chars each 07:34:00 !blsq "fuck"ps 07:34:01 {fu ck} 07:34:17 !blsq "fuckthisshit"ps 07:34:18 {fu ck th is sh it} 07:34:28 !blsq "grand"ps 07:34:28 No output! 07:34:35 !blsq "grand"ps 07:34:36 {ERROR: (line 1, column 6): 07:34:43 !blsq "grand."ps 07:34:43 {gr an d.} 07:35:13 What are you trying to do? 07:35:14 !blsq "'g2*"ps 07:35:14 {ERROR: (line 1, column 5): 07:35:20 I'm sort of an export in Burlesque ;P 07:35:22 *expert 07:35:36 hehe, I know. You're the guy. 07:35:45 i don't think he is doing anything in particular 07:36:00 `learn mroman is an export in Burlesque 07:36:02 I knew that. 07:36:05 But I'm just messing around a bit. It's a fun toy. 07:36:27 `help 07:36:27 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 07:37:01 `def xxx blue 07:37:02 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: def: not found 07:37:30 Man, I need a break. 07:37:43 !blsq 0 300r@)?n{(m[)==}fi 07:37:43 57 07:37:55 mroman_ how serious are you about octo burlesque? 07:37:58 !blsq 0 300r@)?n{(gr)==}fi 07:37:58 212 07:38:08 Speaking of browser lisps, I'm hosting the Try Racket REPL now. 07:38:11 AndoDaan: octo burlesque? 07:38:20 You mean octo-frogscript? 07:38:32 hmm, I guess. 07:38:44 (If you are referring to my github repo) 07:39:00 yeah. 07:39:33 J_Arcane racket repl? 07:39:40 It was an attemp to create a successor for Burlesque 07:39:49 http://try-racket.org/ 07:40:00 but Burlesque has just so many stuff it will take years to support all those builtins in a successor 07:40:24 It's very fragile just yet though. 07:41:04 i'll just follow the tutorial 07:41:22 So I kinda cancelled it and continued work on Burlesque 07:41:31 even though it's somewhat "dirty" :) 07:41:36 *somewhat 07:41:48 dirty? 07:42:09 Yeah. Just look at the Eval.hs code ;) 07:42:46 Also I should probably switch to Data.Map someday 07:42:58 I think lookup on [(String,a)] is pretty much O(n) all the time 07:43:29 I mean. 07:43:42 Some commands just push a String with Code on the stack and execute parseEval :) 07:43:46 that's how dirty it is 07:44:02 pushToStack $ BlsqStr "x/Shx/\\/x/x/\\/P["; builtinParse; builtinEval; 07:44:38 you say dirty, I say driven 07:44:46 "driven"? 07:45:14 you really wanted to get it out there 07:45:33 :) 07:45:57 Well... there's a reason some Commands are implemented using existing Commands 07:46:03 rather than implementing new Commands in Haskell 07:46:13 this maximizes unintended sideffects 07:46:18 for example the multiplesOf command 07:46:22 !blsq 3mo10.+ 07:46:22 {3 6 9 12 15 18 21 24 27 30} 07:46:23 [wiki] [[Special:Log/newusers]] create * Pe4rcee3vk * New user account 07:46:34 It's supposed to generate a list of multiples... which it does 07:46:43 but since it's defined using other commands 07:46:52 it has side-effects even I didn't really know of 07:46:56 !blsq {"abc""def"}mo 07:46:57 {"1cba" "2fed"} 07:47:09 ^- like that 07:47:43 mo is defined as 1R@\/?* 07:47:56 which happens to do funny stuff if you don't actually supply an integer ;) 07:48:35 !blsq {1 2 3}mo 07:48:36 {1 4 9} 07:48:40 wait 07:48:45 this could be useful in golfing 07:51:02 J_Arcane this is a beautiful tutorial 07:51:53 It's quite nice, yes. Mostly based on the beginner's tutorial from the Racket site I think, but it's cool being able to do it in a browser. 07:51:58 -!- Phantom_Hoover has joined. 07:52:09 Pe4rcee3vk ... any bets that this account is going to spam? 07:52:23 !blsq {0 1 2 3 4}mo 07:52:24 {0 2 6 12 20} 07:52:34 funny thing this mo 07:52:50 ready to make my own webapp in racket 07:53:05 I'm gonna be the next big thing on the web! 07:53:47 But seriously, it looks like a usefull language. 07:55:08 It is a very lovely language; easily my favorite Lisp. 07:58:31 isn't racket ruby? 08:00:08 !blsq 1cymo 08:00:08 Ain't nobody got time fo' dat! 08:00:12 !blsq 1cymo20.+ 08:00:13 Ain't nobody got time fo' dat! 08:00:25 !blsq 1bxmo 08:00:25 {1} 08:03:11 !blsq "..6+**"mo 08:03:12 Ain't nobody got time fo' dat! 08:03:49 I'll see you guys later. Have fun. 08:03:52 -!- AndoDaan has quit. 08:12:40 :( YouTube suggested a video that has the usual "gravity is a depression in a sheet" explanation of gravity 08:12:42 :( 08:14:10 Still looks cool I guess 08:14:15 https://www.youtube.com/watch?v=MTY1Kje0yLg 08:14:47 !blsq "abc"mo20.+ 08:14:48 {"1cba" "2cba" "3cba" "4cba" "5cba" "6cba" "7cba" "8cba" "9cba" "01cba" "11cba" 08:20:19 There is a cool part in the video 08:25:36 Puzzle of the day: https://dl.dropboxusercontent.com/u/113389132/Misc/20140924-swennish.jpg -- is it the Finnish club, the Swedish club or a superposition of them? 08:26:08 -!- Patashu has joined. 08:27:14 -!- Lymia has joined. 08:30:53 -!- Patashu_ has joined. 08:31:05 -!- Patashu has quit (Disconnected by services). 08:32:03 Or two clubs with separate entrances? 08:34:22 I guess that's a possibility too. 08:34:36 fizzie: aha, it says "suomalainen" rather than "suomea" or something so whatever i was going to say about languages is invalid 08:35:20 probably "suomea" wouldn't be the right word anyway 08:43:52 -!- graue has joined. 09:18:18 -!- graue has quit (Quit: Leaving). 09:39:54 `dontaskdonttelllist 09:39:54 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 09:40:27 zzo38 really should write a flogscript docu 09:45:47 @tell zzo38 zzo38computer.org is pretty much unreachable. 09:45:47 Consider it noted. 10:01:02 -!- AnotherTest has joined. 10:30:29 -!- aloril_ has joined. 10:32:38 -!- aloril has quit (Ping timeout: 272 seconds). 10:33:12 -!- boily has joined. 10:34:59 -!- aloril__ has joined. 10:37:39 -!- aloril_ has quit (Ping timeout: 258 seconds). 10:38:09 -!- aloril__ has changed nick to aloril. 11:04:49 -!- aloril_ has joined. 11:07:28 -!- aloril has quit (Ping timeout: 272 seconds). 11:08:38 -!- aloril_ has changed nick to aloril. 11:11:05 -!- AnotherTest has quit (Ping timeout: 260 seconds). 11:19:05 -!- ais523 has joined. 11:22:10 -!- boily has quit (Quit: BACKUP CHICKEN). 11:26:17 ais523: I have no idea what my edits were :) 11:26:37 Except for the "my blog" and "numchallenges" link 11:26:50 but they are on the page so I guess they weren't caught by the spam filter 11:27:08 mroman_: right 11:27:15 if you're happy with the current situation, we'll just leave it 11:27:29 thought I'd let you know, because you're not a spambot and thus the software shouldn't be treating you as one 11:28:07 -!- Yonkie has quit. 11:28:41 I'm happy 11:28:46 I don't see anything missing or wrong. 11:31:04 -!- GeekDude has joined. 11:31:04 -!- GeekDude has quit (Changing host). 11:31:04 -!- GeekDude has joined. 11:35:05 [wiki] [[Talk:Bueue]] http://esolangs.org/w/index.php?diff=40526&oldid=40502 * Feuermonster * (+198) Why are they flawed? 11:36:10 It's a stupid language/idea anyway 11:36:19 but still. I don't see why the example programs are "flawed". 11:38:21 -!- AndoDaan has joined. 11:38:21 I'd pretty much delete BFFB, RCEM, X++, FRM and Bueue 11:38:55 Beam is neat. Stlisp/Stlang are okay-ish. Madbrain is strange. 11:39:00 and Burlesque is... 11:39:03 mroman_: I assume "It is known that 5 prints 0 and 13 prints 1" are the example programs the 'flawed' comment was referring to. 11:39:07 I'm not sure what it is. 11:39:10 Hey, I finally managed to compile something. 11:39:32 You have the honours, mroman_ burlesques wins 11:39:55 But there's 8 which prints one bit as a byte 11:40:12 so I assume 5 will expand to some integer containing an 8 11:41:10 Burlesque is a Rapid Oneliner Development System or something like that :D 11:42:10 echo 5 | python bueue.py 11:42:11 0 11:42:15 ^- it prints 0 11:42:39 Also 1313 prints 10000 11:42:49 mroman_: Yes, I don't know why they would be flawed; but it clearly wasn't about 11000011694. 11:43:45 111 for example prints (probably) infinite ones 11:44:03 whereas 11111 prints (probably) infinite zeroes 11:44:04 etc. 11:57:33 the language is mostly not turing complete anyway 11:57:36 no nested loops 11:57:59 although I'm not sure if you can make a language tc without nested loops 11:59:45 does nested loops always equal recursive? 12:00:07 or mayb I'm thinking the wrong way around. 12:02:04 anywhich way if you have a conditional loop, than it should have enough to be tc 12:02:10 Help I've volunteered to give a talk on Lambda Calculus at some point 12:02:41 !hoogle 12:02:44 !help 12:02:44 AndoDaan: I do !bfjoust; see http://zem.fi/bfjoust/ for more information. 12:02:46 Taneb: typed or untyped? 12:03:08 @help 12:03:08 `help 12:03:08 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 12:03:09 help . Ask for help for . Try 'list' for all commands 12:03:38 ais523, unspecified, probably untyped 12:03:48 I've got plenty of time to prepare one, though 12:03:53 typed lambda calculus and untyped lambda calculus are pretty much entirely unrelated langauges 12:03:55 *languages 12:04:05 well, that's exaggerating a bit 12:04:10 but they don't act at all similarly to each other 12:04:21 ^hlep 12:04:21 ^help 12:04:21 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 12:05:12 ^bool 12:05:12 No. 12:05:13 ^bool 12:05:14 No. 12:05:16 hmm 12:05:53 Taneb: If it's untyped then it's no problem. 12:06:21 If it's typed just show these fancy formulas with the horizontal lines nobody can follow them anyway 12:06:31 that or just show the easy examples 12:07:14 also simply typed lc isn't turing complete as I remember 12:07:35 it isn't 12:07:52 I spent several months trying to prove that a while back (it has an existing proof, but I thought I'd found a better way) 12:07:56 I failed but still think it's possible 12:08:08 "better" in that it's a more general result 12:09:06 You can't have recursion in simply typed? 12:09:30 I thought that's the reason it can't be tc 12:09:52 mroman_: yes, but it's hard to /prove/ you can't have recursion 12:10:09 it's not obvious that it's impossible to do something like the Y combinator 12:10:26 Hm. 12:11:22 @hoogle turing complete 12:11:24 No results found 12:11:32 good,. 12:11:44 ^bool 12:11:45 No. 12:11:49 fungot: Why so negative? 12:11:49 fizzie: " perhaps that would be like the sea. 12:11:56 fungot: The sea is negative? 12:11:56 fizzie: " i think. five little weeks will soon be fled: one scarcely will have time to wink! give me a year to fnord to it with a good grace. 12:12:00 okay, what's that about? 12:12:09 ^bool 12:12:09 No. 12:12:13 Come on! 12:12:14 ^bool 12:12:15 No. 12:12:19 ^Bool 12:12:26 ^bool 12:12:26 No. 12:12:27 ^fool 12:12:32 This is ridiculous, that's like 1/2^6 12:12:34 ^bool 12:12:34 Yes. 12:12:37 There. 12:12:39 ^cool 12:12:57 how strang. 12:13:02 e. 12:13:37 ^search 12:13:38 Is it supposed to be uniformly distributed? 12:13:43 Yes. 12:14:08 Is there a small chance that he will answer "Goedel"? 12:14:09 It's a "native" command, because otherwise it's not possible to get different outputs for a particular input. 12:14:14 Sadly, no. 12:14:42 There's a good chance the RNG is not very good; I think Deewiant ran it through the diehard tests and got a bad score. 12:14:42 ^show bool 12:14:51 wait 12:14:54 fizzie: clearly it needs a userinterp that has a random number instruction 12:14:55 is fizzie written in befunge? 12:14:55 like INTERCAL 12:15:00 no, fizzie's a human 12:15:03 ^show bf 12:15:05 fungot, however, is written in befunge 12:15:05 ais523: he dreamed that he stood in a shadowy court, where the fnord had come out.' thus we might have in life, by not really attending. take any instance you like: it doesn't matter how trivial the pleasure may fnord principle is the same thing, you know!' 12:15:21 oh 12:15:26 I thought fungot controls fizzie 12:15:26 mroman_: and your agony of sorrow is to count for nothing, then,' the rose added kindly: ' you're beginning to fade, you fnord like a fnord out of the wood into an open place, where she stood looking at her for the first ' bit.' 12:15:43 Maybe ^show should print something like "" for built-ins. 12:17:40 ^show show 12:18:32 ^show must go on 12:18:40 ^bool 12:18:40 No. 12:18:41 AndoDaan: gr is grep btw. 12:19:02 !blsq "Hi there\nHi bar\nBye.""Hi"gr 12:19:03 "Hi there\nHi bar" 12:19:49 I'm not too farmiliar with the various commands yet 12:20:01 what does grep mean? 12:20:38 "grep, n. Computing. A Unix command used to search files for the occurrence of a string of characters that matches a specified sequence or pattern, and to output all the lines matching this. Also grep command." 12:20:52 I'm impressed OED had an entry for grep and WordNet didn't. 12:20:53 Burlesque's grep returns all lines matching a regular expression 12:21:20 :g/re/p where :g is a vi command that stands for “global” (do something on each line), re stands for regexp, p stands for print. 12:21:51 The OED entry also has citations starting from 1973. 12:21:59 Sounds a lot more logical a name when you put it like that. 12:22:57 so gran is grep allAlphaNum 12:23:02 ion: it was originally some other editor, IIRC, not vi 12:23:08 ais523: ex perhaps 12:23:09 !blsq "\n"an 12:23:09 0 12:23:12 !blsq "ehtnu787"an 12:23:13 1 12:23:14 !blsq "ehtnu787."an 12:23:15 0 12:23:37 grand however is a syntax error :) 12:23:58 `run perl -e '@a = ("Hi there", "Hi bar", "Bye."); print join("\n", grep {/Hi/} @a);' 12:23:59 Hi there \ Hi bar 12:24:12 ed, the standard text editor. 12:24:13 !blsq {{}}fuckit 12:24:13 ERROR: Burlsque: (n!) Invalid arguments! 12:24:21 !blsq {{"abc"}{"abc"}}fuckit 12:24:21 ERROR: Burlsque: (n!) Invalid arguments! 12:24:24 hm 12:24:29 !blsq {{"abc"}{"abc"}}{}fuckit 12:24:30 'c 12:25:39 gr is the same as 12:26:07 !blsq "Hi there\nHi bar\nBye.\n"ln{"Hi"~=}f[un 12:26:08 "Hi there\nHi bar" 12:26:31 which is the same as 12:26:33 !blsq "Hi there\nHi bar\nBye.\n"ln{"Hi"~=}fu 12:26:34 "Hi there\nHi bar" 12:26:38 which is 12:26:45 !blsq "Hi there\nHi bar\nBye.\n""Hi"gr 12:26:46 "Hi there\nHi bar" 12:26:50 Questions? 12:27:24 Yes, how come "gr" can be the same as something as long as "Hi there\nHi bar\nBye.\n""Hi"gr 12:27:28 ^bf h,. 12:27:41 ^bf ,.!h 12:27:41 h 12:27:53 grand, thanks 12:28:10 well 12:28:17 how can succ be the same thing as (+1) 12:28:44 !blsq {1 6 3 2}vr 12:28:45 4.666666666666667 12:28:49 !blsq {1 6 3 2}^^^^avbx(?-)[+m[2?^++\/L[-.?/ 12:28:49 4.666666666666667 12:29:12 ^bf [,.]!hello world 12:29:28 mroman_: My poor joke was more about you implying that plain "gr" has an implicit "Hi there\nHi bar\nBye.\n" in it. 12:29:29 ^bf ,[.,.]!hello world 12:29:29 heelllloo wwoorrlldd 12:29:40 -!- Patashu_ has quit (Ping timeout: 250 seconds). 12:29:53 ,[.,] is the conventional print loop. 12:30:08 Er, the cat program, that is. 12:30:21 ^bf ,[..]!hello world 12:30:21 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ... 12:30:28 ^bf ,[.,]!hello world 12:30:28 hello world 12:30:36 ^echo hello world 12:30:36 hello world hello world 12:30:46 bah 12:30:54 ^show echo 12:30:54 >,[.>,]<[<]+32[.>] 12:31:04 ah cool 12:31:06 (vr is variance btw. A statistics command) 12:31:27 mroman_: What's the command to compute the covariance matrix of multidimensional data? 12:31:40 Do you know Haskell? 12:32:10 http://github.com/FMNSSun/Burlesque <- fork it, add the command (use any two unused chars you like), send me a pull request 12:33:02 You'll add anything any single person happens to want to use? (Or not even that, since I don't exactly need a covariance matrix right now.) 12:33:22 If that persons adds it then yes ;) 12:33:30 I have no idea what a covariance matrix even is 12:33:59 it would be nice to have some more matrix stuff in it though 12:34:29 fizzie: I made Burlesque as a tool for my bachelor studies 12:34:36 ^bf ++++++[->+++++++<]. 12:34:54 everything I needed to do to make homework easy or to verify what I did by hand I squished into burlesque 12:34:58 !bfjoust print_one_char ++++++[->+++++++<]. 12:34:58 ais523.print_one_char: points -36.52, score 3.87/100, rank 47/47 12:35:03 ^bf ++++++[>+++++++<-]. 12:35:26 AndoDaan: you need a > before the . 12:35:30 builtinStudentTDDensity <- I needed that for the statistics course 12:35:34 That's why it's in there 12:35:35 i'm stupid 12:35:37 ^bf ++++++[>+++++++<-]>. 12:35:37 * 12:35:44 ^bf ++++++[>+++++++<-]>+. 12:35:44 + 12:36:05 permutations and combinations were for combinatorics etc. 12:36:14 Of course there are other tools that do that 12:36:26 (i.e. you can google online permutations and some php website will do it for you.) 12:36:32 (but I wanted it locally and in a single tool) 12:37:19 !blsq "Hi ~ there ~"{"abc""def"}f~ 12:37:20 "Hi abc there def" 12:37:42 Also I don't know sed 12:37:43 ;) 12:37:51 so I used burlesque for stuff sed could do 12:40:17 so the "bar" for getting stuff added is rather low ;) 12:41:43 "^str 0-9 get/set/add [text]" why is '0-9' in there? 12:41:55 Covariance matrix is just E[(X - E[X])(X - E[X])^T] for a random column vector X, kind of like how variance is E[(x - E[x])^2] for a random variable x. 12:42:55 That's actually why I'm thinking about putting a lisp layer over burlesque 12:43:07 it has lots of stuff already in it 12:43:07 (So the diagonal elements are the component variances, and off-diagonal [Sigma]_ij is just the covariance E[(x_i - E[x_i])(x_j - E[x_j])].) 12:43:21 it just doesn't have variables etc. to do longer stuff conventiently 12:44:12 For some reason I've always thought Burlesque was just for golfing. 12:44:47 That's just a side-effect of it because everything is accesible with two-chars :) 12:45:15 but since I'm not studying anymore most of the new features are aimed at golfing, yes 12:45:53 -!- AndoDaan has quit (Ping timeout: 248 seconds). 12:45:55 -!- aloril_ has joined. 12:47:12 also for real/more complicated stuff the interpreter is probably too slow 12:47:17 -!- aloril has quit (Ping timeout: 245 seconds). 12:47:28 -!- AndoDaan has joined. 12:47:28 which is why it's probably not worth to add such features 12:47:42 (unless you need it for yourself) 12:48:09 I recently needed to do base64 encode/decode 12:48:23 which I ended up using some online website with ads etc 12:48:34 so I'm probably going to add base64 into burlesque now :D 12:48:46 in case I need it ever again 12:48:51 There's a "base64" command-line tool that I've found installed just about everywhere I've ever been. 12:49:07 Part of "coreutils" on Debian/Ubuntu. 12:49:58 yeah. but sometimes I'm on windows and sometimes on someone elses PC with internet connection 12:50:10 and I rather use the online burlesque shell than some ad-ridden webpage 12:50:53 but fair enough. 12:50:56 One fun fact is that some geocaching apps have huge collections of all kinds of miscellaneous tools (non-computer-crypto-related, and more generic) for solving puzzles on the go. 12:51:06 Currently I just golf in it on anagol. 12:51:48 there are about three people golfing in it 12:54:07 -!- aloril_ has quit (Ping timeout: 258 seconds). 12:54:32 fizzie: what puzzles? 12:55:07 Some geocaches are chained deals with puzzles related to the location of the next one. 12:56:13 http://www.onedollarapp.com/gctools/functionshelp/ that sort of stuff (first hit, I think I saw one with a longer feature list) 12:56:27 Still handy when you need resistor color codes or such. 12:57:04 (I don't do these, I just ran across the software when looking for something.) 12:57:04 ^def bf OnePlusPlease ++++++[>+++++++<-]>+. 12:57:04 Usage: ^def 12:57:30 ^def OnePlusPlease bf ++++++[>+++++++<-]>+. 12:57:30 Defined. 12:57:45 ^OnePlusPlease 12:57:45 + 12:57:46 That certainly is one plus, can't argue about that. 12:58:08 ^OneStickTongueOutPlease 12:58:13 argh stupid bot 12:58:52 I can't use OnePlusPlease as input for another bf code, right? 12:59:14 ^def OnePlusPlease bf ,++++++[>+++++++<-]>+. 12:59:14 Defined. 12:59:19 ^OnePlusPlease 12:59:19 + 12:59:20 ^OnePlusPlease 3 12:59:20 12:59:25 ^OnePlusPlease ? 12:59:25 12:59:43 ^OnePlusPlease # 12:59:43 12:59:45 ^OnePlusPlease 1 12:59:45 12:59:46 ^OnePlusPlease 9 12:59:46 12:59:50 No, it doesn't support pipelines or anything. 13:00:11 ^def OnePlusPlease bf ,++++++[>>,[-<+>]<+++++++<-]>+. 13:00:11 Defined. 13:00:14 ^OnePlusPlease 93fj 13:00:14 13:00:16 ^OnePlusPlease 13:00:16 + 13:00:24 ^def OneMinusPlease bf ,++++++[>+++++++<-]>+. 13:00:24 Defined. 13:00:25 ^OnePlusPlease 49i09ai3cima 13:00:25 9 13:00:27 ^OnePlusPlease 49i09ai3c 13:00:27 13:00:28 ^OnePlusPlease 49i09ai3ac 13:00:29 c 13:00:30 ^OnePlusPlease 49i09ai3acaaaaaaaa 13:00:30 k 13:00:38 What's this all about? 13:00:47 Me messing up a program 13:00:48 With extra ,s 13:00:56 ^OneMinusPlease . 13:00:57 m 13:01:02 ^OneMinusPlease + 13:01:02 X 13:01:07 ^OneMinusPlease 13:01:07 + 13:01:11 ^OneMinusPlease x 13:01:12 s 13:01:19 ^OneMinusPlease -2 13:01:19 f 13:01:27 ^OneMinusPlease 654654 13:01:27 13:01:35 ^OneMinusPlease 654654 13:01:35 13:02:26 ^OneMinusPlease % 13:02:26 . 13:02:28 ^def WhatIsAfterThis bf ,[.,] 13:02:28 Defined. 13:02:41 Close enough 13:02:42 ^WhatIsAfterThis What 13:02:42 What 13:03:02 ^OneMinusPlease n 13:03:02 - 13:03:05 There we go 13:03:15 ^def WhatIsAfterThis4 ^OneMinusPlease n 13:03:15 Usage: ^def 13:03:28 ^def WhatIsAfterThis4 ^OneMinusPlease 13:03:28 Usage: ^def 13:03:34 ^WhatIsAfterThis ^OneMinusPlease 13:03:34 ^OneMinusPlease 13:03:38 ^WhatIsAfterThis ^OneMinusPlease n 13:03:38 ^OneMinusPlease n 13:03:39 That won't do anything useful. 13:04:02 Would have revolutionized the game 13:04:11 ^bool 13:04:11 No. 13:04:16 critic 13:04:26 ^def meow bf ,[[+>+<],]>[->,[-<<+>>]<] 13:04:26 Defined. 13:04:30 ^meow aaa 13:04:40 ^def meow bf ,[[+>+<]>.<,]>[->,[-<<+>>]<] 13:04:40 Defined. 13:04:41 ^meow aaa 13:04:41 > 13:04:43 ^def meow bf ,[[+>+<]>.<,]>[->,[-<<+>>]<]. 13:04:43 Defined. 13:04:44 ^meow aaaaaa 13:04:45 >| 13:04:47 ^meow aaaaaabcdefg 13:04:48 >|X,_ 13:05:02 what languages does he support? 13:05:04 besides f 13:05:06 *bf 13:05:16 unlambda 13:05:48 ^ul (hello)S 13:05:48 hello 13:05:50 ^def meow bf ,[[+>+<]>.<,>++++[-<-------->]<]>[->,[-<<+>>]<]. 13:05:50 Defined. 13:05:53 ^meow aaaaaabcdefg 13:05:53 wwwwvm$ےIh` ... 13:05:59 ^meow aaaaaabcdefg. 13:06:00 wwwwvm$ےI: ... 13:06:02 ^meow aaaaaabcdefg.aaa 13:06:02 wwwwvm$ےI:7w ... 13:06:05 ^meow aaaaaefg.aaa 13:06:05 wwwsRI:7w ... 13:06:08 ^meow aaaaaefg..aaa 13:06:09 wwwsRI:7w ... 13:06:12 ^meow aaaaaefg..aaaa 13:06:12 wwwsRI:7ww ... 13:06:25 Nonsense generator! 13:06:47 ^scramble Nonsense 13:06:47 Nnesenso 13:07:02 ^def meow ,[[+>+<]>.<,] 13:07:02 Usage: ^def 13:07:06 ^def meow bf ,[[+>+<]>.<,] 13:07:06 Defined. 13:07:12 ^meow abcdefghijklmnopqrstuvwxyz 13:07:12 =vDs2Wx"9L[ 13:07:13 ^unscramble Nnesenso 13:07:13 Nonsense 13:07:27 ha, clever bot. 13:07:33 ^def unmeow bf ,[[->-<]>.<,] 13:07:33 Defined. 13:07:36 I don't think you need to *add* a nonsense generator to fungot, it's kind of got one built-in already. 13:07:36 fizzie: 4. no not-x exist. i.e. all nice are new. observe that this is merely another way of expressing " no new cakes are unwholesome; no nice cakes are unwholesome &there4 some new cakes are nice" 13:07:40 I thought someone pinged me but I think that noise just included a \007. 13:07:41 ^def unmeow Ÿ=Úv«DÜs ž2ÅWèx •"®9ÃLÔ[á 13:07:41 Usage: ^def 13:07:41 QED 13:07:45 ^unmeow Ÿ=Úv«DÜs ž2ÅWèx •"®9ÃLÔ[á 13:07:46 ^show scramble 13:07:46 >>,[>,]<[<]>[.>>]<[>>]<2[.<2] 13:08:00 ^def unmeow bf ,[[->-<]>.<,] 13:08:00 Defined. 13:08:03 ^unmeow Ÿ=Úv«DÜs ž2ÅWèx •"®9ÃLÔ[á 13:08:03 ;FsbR߿<.Gk 13:08:06 Lymia: ideally implement a proper CSPRNG in BF and make it use the input as a seed. 13:08:09 ^def unmeow bf ,[[+>-<]>.<,] 13:08:09 Defined. 13:08:10 ^unmeow Ÿ=Úv«DÜs ž2ÅWèx •"®9ÃLÔ[á 13:08:10 }}`O!A>X 13:08:15 elliott_, that'd be easier. :P 13:08:27 Lymia: it would make unmeow super fun to write, too 13:08:30 elliott_: I was trying to do that for a ^bool that you could ask questions for. 13:08:37 Hmm... 13:08:39 RC4 how 13:08:45 I don't remember if I got anywhere. 13:08:46 Too bad we can't use (<)*x in bf 13:08:51 ^bf (+)*32 13:08:52 ^bf (+)*32. 13:08:53 13:08:59 [CTCP] Received unknown CTCP- request from fungot to Channel #esoteric. 13:08:59 ais523: " some new cakes are not nice", and m " wholesome". ( everything inside the central square: that is, 13:09:07 not really CSPRNG but I bet xorshift in bf wouldn't be too hard 13:09:20 Sssh, I still have the CTCP issue on the TODO list. 13:09:37 ^def (+)*32 bf ++++++++++++++++++++++++++++++++ 13:09:37 Defined. 13:09:51 ^(+)*32 13:09:55 Lymia: The absurd thing is that if you do ++++++++ it does get compiled to a single "+8" instruction. 13:10:22 It just doesn't have an input side for that. 13:11:00 -!- aloril_ has joined. 13:11:28 I'm worried that I've accidentally invented ()*%-compressed BF as a new language 13:11:34 worried, because it'd be a BF derivative 13:11:45 that said, I guess BF Joust is technically a BF derivative (albeit, I didn't invent it) 13:12:00 ^def tmp bf +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ that's 129 pluses 13:12:00 Defined. 13:12:03 ^show tmp 13:12:03 -127 13:12:34 oh come on, that optimisation /clearly/ doesn't work in BF Joust 13:13:13 It's technically a "+129" instruction -- much like a single - turns into a +255 -- and the output logic just decides between + and - based on which results in the smaller number. 13:13:27 -!- zolbap has joined. 13:13:41 It doesn't collapse +++--- though, as far as I recall. 13:13:47 ^def tmp bf ++++++++---- 13:13:48 Defined. 13:13:49 ^show tmp 13:13:50 +8-4 13:13:51 Yeah. 13:14:09 ^(+)7 bf +++++++ 13:14:13 ^bf >-[[->>+>+<<<]>>>[-<<<+>>>]<<+>+] 13:14:16 ^def (+)7 bf +++++++ 13:14:16 Defined. 13:14:17 ^bf >-[[->>+>+<<<]>>>[-<<<+>>>]<<+>+.] 13:14:27 ^(+)7 13:14:31 ^bf +. 13:14:31 13:14:34 Erg. 13:14:38 Forgot it does that 13:14:44 ^bf (+)7 13:14:45 ^bf >-.[[->>+>+<<<]>>>[-<<<+>>>]<<+>+] 13:14:45 13:14:50 In retrospect, it really should do +- and <>; it'd just have been a single loop with a different initial value. 13:14:57 ^bf >-[.[->>+>+<<<]>>>[-<<<+>>>]<<+>+] 13:14:57 13:15:16 ^bf >+[.[->>+>+<<<]>>>[-<<<+>>>]<<+>+] 13:15:17 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 13:15:20 ^show (+)7 13:15:20 +7 13:15:40 ^bf >+[[->>+>+<<<]>>>[-<<<+>>>]<<+>+] 13:15:48 I don't think I'll be saving all those programs. 13:15:51 ^def (+)7 bf ,,,,,,,!+++++++ 13:15:51 Defined. 13:15:55 ^bf ++100. 13:15:56 13:15:59 ^bf +++100. 13:15:59 13:16:03 ^bf +++++30. 13:16:04 13:16:07 ^show (+)7 13:16:08 ,,,,,,, 13:16:17 hmmm 13:16:30 ^bf +++++++. # the most annoying one 13:16:30 13:16:39 The interaction between !input and ^def is not very well thought-of. 13:16:40 huh, that didn't ring the terminal bell 13:16:42 ^def (+)7 bf ,.,.,.,.,.,.,.!"+++++++" 13:16:43 Defined. 13:16:45 ...so why do the other things? 13:16:47 RC4 in BF is gona be fun. 13:16:52 ^(+)7 13:16:59 Lymia: RC4? O_O 13:17:00 ^(+)7 hope 13:17:00 hope 13:17:07 Yes. 13:17:31 ^show (+)7 13:17:33 ^bf >+[.[->>>+>+<<<<]>>>>[-<<<<+>>>>]<<+>+] 13:17:35 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 13:17:43 ^bf >+>>>+[.[->>>+>+<<<<]>>>>[-<<<<+>>>>]<<+>+] 13:17:45 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 13:17:49 ^bf >+>>>+[[->>>+>+<<<<]>>>>[-<<<<+>>>>]<<+>+] 13:17:50 You can use the bot via private messages too, you know. 13:18:01 I'm thinking a cell structure of 13:18:03 will do. 13:18:04 (Normally I don't mind botspam too much, but this is getting perhaps a bit ridiculous.) 13:18:18 [active][work][cell state] 13:19:21 got carried away 13:19:42 ^bf +.++++[>++++<-]>[<++>>++++>+++++>++++++>+++++++<<<<-]>+.++.>++++.<++++++.>-----.-.<<<.>>>>>++++.<+.>--------.-.++++++++.>+. 13:19:42 QShYcb(y 13:19:53 that wasn't it :) 13:20:01 fungot: what the? 13:20:02 GeekDude: " very," the other professor. " that's a secret!" he said. ' it isn't very likely there would be a wilderness.' said the lion, as any one can tell you all your faults. number one: you fnord it fnord, drank it off thoughtfully, smiled fnord on the contrary, he became every moment more excited as he turned them over. " 13:20:09 ^bf +.+++[>++++<-]>[<++>>++++>+++++>++++++>+++++++<<<<-]>+.++.>++++.<++++++.>-----.-.<<<.>>>>>++++.<+.>--------.-.++++++++.>+. 13:20:09 * fungot talks 13:20:33 who made fungot ctcp everyone 13:20:33 GeekDude: " sisters and brothers, little maid? there stands the inspector at thy door: like a dog, isn't there, mister sir?" bruno appealed to me. 13:20:34 sorry, stupid off-by-one error (and I didn't test the code) 13:20:36 or just me 13:21:25 HI 13:22:33 GeekDude: it's all on the channel. CTCP is just an ordinary IRC message (PRIVMSG that starts (and ends) with ^A (ascii code 1), and fungot doesn't do any filtering. 13:22:33 int-e: " no, no!" sylvie said: " an argument i heard only fnord not by a lady. ' why, look here!' alice said ( in a whisper, half afraid that it would hardly do for me to pretend to fnord. 13:22:51 int-e: I'm aware of how CTCP works 13:24:09 I'm asking who made fungot send/chat the ctcp, and if it was aimed directly at me, or aimed at just #esoteric 13:24:09 GeekDude: " what size will you be?" i cried. " we'll hunt it afterwards, bruno, wouldn't you? he hasn't fnord tea," she said. 13:24:20 GeekDude: was aimed at the channel 13:24:23 GeekDude: look at the ^bf commands 13:24:24 and people forgetting what ASCII 1 does 13:24:29 I don't speak brainf**** 13:24:34 spamming the entire channel is just +. in BF 13:24:48 in fact, it's the smallest program that does anything visible 13:24:56 ^bf +. 13:24:56 13:25:03 [CTCP] Received unknown CTCP- request from fungot to Channel #esoteric. 13:25:03 ais523: " but i know you are a bore. 13:25:21 so + pushes 1 onto the stack and . prints it? 13:25:23 ^bf ++[.+] 13:25:23 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 13:25:31 GeekDude: + increases the current tape element, . prints it 13:25:33 and it starts at 0 13:25:38 ah 13:25:41 I left 1 out of my ASCII table intentionally 13:25:48 but ASCII table programs are also pretty short 13:25:52 ^bf +[+.] 13:25:53 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 13:25:55 ^bf [+.] 13:25:59 technically, that table went beyond ascii 13:26:02 * GeekDude not so smart 13:26:04 elliott_: well, yes 13:26:07 GeekDude: [ is a while loop 13:26:08 well, and also before it 13:26:14 or, no 13:26:14 and while(0) doesn't do a whole lot 13:26:25 lol 13:27:00 here: +- adjust the current tape element; <> change which tape element is current (previous/next); ,. are input and output; [] is while (the current tape element is nonzero) 13:27:01 that's it 13:27:06 one line BF tutorial 13:27:10 lol 13:27:33 ^bf +[-.++] 13:27:44 hmm, that should have done something 13:28:10 oh, there's probably a bug in fungot that causes it to produce no further output after outputting 0 13:28:10 ais523: ' that was mean!' alice cried in a triumphant tone. ' now you understand the way things happen here.' 13:28:20 ^bf ++[-.++] 13:28:20 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 13:28:21 also, that's a /great/ fungot comment 13:28:22 ais523: " can you play chess? now, don't you see? let's go after him." and the sulky boy was violently fnord forwards, to walk at the baron's side. 13:28:39 Shouldn't that have printed Chr(1)? 13:29:09 GeekDude: it did, followed by the rest of the possible bytes 13:29:12 but chr(1) is a ctcp 13:29:17 so you just spammed the channel again :-) 13:29:22 [CTCP] Received unknown CTCP- .& . !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ ... request from fungot to Channel #esoteric. 13:29:22 ais523: " ' perturbed' referring, no doubt, a certain amount of fnord in their personal fnord nor do i believe that he would have gasped out " fnord!" 13:29:31 It just showed up as a chat for me 13:29:38 doesn't it have to end in Chr(1) too? 13:29:49 to be a proper ctcp, yes, but many clients don't care 13:29:54 Mine does, apparently 13:30:05 hmm, you know what? EgoBot being down means that we don't have… bf_txtgen! 13:30:11 someone needs to install that in hackego, if they haven't already 13:30:15 `ls bin 13:30:16 ​` \ ^.^ \ ̊ \ ? \ ¿ \ @ \ ؟ \ WELCOME \ \ \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ addwep \ allquotes \ analogy \ anonlog \ as86 \ aseen \ bienvenido \ botsnack \ bseen \ buttsnack \ calc \ CaT \ catcat \ cats \ cc \ cdecl \ c++decl \ chroot \ coins \ CoInS \ complain \ complaints \ danddreclist \ define \ delquote \ delv 13:30:31 `cat 13:30:31 cat: : No such file or directory 13:30:35 uhh 13:30:40 `cat \` 13:30:41 cat: \`: No such file or directory 13:30:45 there's no cat with that capitalisation 13:30:54 `CaT wisdom/welcome 13:31:04 that said, I don't know what CaT does 13:31:08 `help 13:31:09 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 13:31:11 `cat bin/CaT 13:31:12 ​#!/usr/bin/env python \ import sys \ sys.stdout.write ((lambda s: "".join([(s[i].upper() if i%2==0 else s[i].lower()) for i in range(len(s)) ]))(open("/dev/stdin").read())) 13:31:14 oh, I know what I did 13:31:19 aha, it's a filter 13:31:24 No output. 13:31:26 `run CaT < wisdom/welcome 13:31:26 `cat bin/ 13:31:27 WeLcOmE To tHe iNtErNaTiOnAl hUb fOr eSoTeRiC PrOgRaMmInG LaNgUaGe dEsIgN AnD DePlOyMeNt! FoR MoRe iNfOrMaTiOn, ChEcK OuT OuR WiKi: . (fOr tHe oThEr kInD Of eSoTeRiCa, TrY #eSoTeRiC On iRc.dAl.nEt.) 13:31:27 No output. 13:31:44 `cat bin/@ 13:31:45 ​#!/usr/bin/perl -w \ $_ = join " ", @ARGV; if (s/^([^ ]*) +([^ ]*) +//) { print "$1: "; exec $2, $_; } 13:32:04 ais523: see? cat. I was just looking in the wrong folder 13:32:07 `^.^ 13:32:17 ^bf ++++[->++++<]>[>+++++>++++++>+++++++>++++>++<<<<<-]>+++.>+++++..>>-.>.<+++.<++.<----.++++++++.+++++.--------.>+++.<---.++++++++.>>>.<<<--.>--.>>.<<<----.----.>.++++++.>>+. (but why am I encoding strings manually?) 13:32:17 See? Brainfuck is easy! 13:32:26 well, cat's a standard command 13:32:28 `ls .. 13:32:29 bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr 13:32:35 `ls ..\bin 13:32:36 ls: cannot access ..\bin: No such file or directory 13:32:38 No output. 13:32:41 `ls ../bin 13:32:42 bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ cpio \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ ed \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ kill \ kmod \ less \ 13:33:14 `cat /etc/passwd 13:33:15 cat: /etc/passwd: No such file or directory 13:33:17 aww 13:33:39 it's not like /etc/passwd is particularly secret anyway 13:34:39 -!- AndoDaan______ has joined. 13:34:47 ^8ball Should I write more brainfuck? 13:34:47 No. 13:34:50 ^8ball Should I write more befunge instead, then? 13:34:50 No. 13:34:52 ^8ball So I should just stick to plain old boring languages? 13:34:53 Yes. 13:35:03 There we go. 13:35:10 `` echo dog:x:666:666:toto:/kennel:/bin/bark > /etc/passwd 13:35:11 bash: /etc/passwd: Permission denied 13:35:24 fizzie: what RNG does it use? 13:35:54 presumably Befunge's ? 13:36:03 Vorpal probably knows how it's implemented in cfunge 13:36:08 ais523: You can't access Befunge's RNG from brainfuck. 13:36:13 ais523: It's a brainfuck program. 13:36:20 fizzie: I think elliott_'s referring to ^bool 13:36:30 I assume it was a reference to ^8ball. 13:36:39 Which is very different from ^bool. 13:36:41 `echo "\n\n\nlol" 13:36:42 ​"\n\n\nlol" 13:36:47 `echo "\\n\\n\\nlol" 13:36:48 ​"\\n\\n\\nlol" 13:36:48 For one thing, it always gives the same answer to a particular question. 13:36:50 uhh 13:37:02 elliott_: It's a very crypto-safe PRNG, don't you worry about that. 13:37:14 elliott_: (It's called "%2".) 13:37:15 -!- AndoDaan has quit (Ping timeout: 244 seconds). 13:37:29 ^8bool 13:37:29 (Of the sum of the input bytes.) 13:37:33 -!- AndoDaan______ has changed nick to AndoDaan. 13:37:53 ^show 8ball 13:37:54 ,[[->+<],]>2+2<[->-[>+>2]>[+[-<+>]>+>2]<5]>4+<2[>2-+11[>+8>+4<2-]>+.+12.+14.>+2.<4-]>2[+10[>+7>+4<2-]>+.+33.>+2.<2] 13:38:33 so, sum(input) MOD 2? 13:38:39 my favourite way to do a %2 in BF is to multiply by 128 13:38:41 then true is yes, fals is no? 13:38:42 ^8ball 13:38:42 No. 13:38:47 ^8ball 13:38:47 No. 13:38:48 ^8ball 13:38:48 No. 13:38:48 it's also quite efficient in most interps 13:38:49 ^8ball 13:38:49 No. 13:38:50 ^8ball 13:38:51 No. 13:38:53 Interesting 13:38:54 ^8ball a 13:38:54 Yes. 13:38:56 ^8ball b 13:38:56 No. 13:38:56 Interesting aiwjoi 13:38:58 Interesting aiwjoif 13:38:58 ais523: Oh, that would have been so much simpler. 13:38:59 ^8ball c 13:38:59 Yes. 13:39:00 ^8ball d 13:39:01 No. 13:39:02 ^8ball e 13:39:03 Yes. 13:39:05 ^8ball f 13:39:05 No. 13:39:07 ^8ball g 13:39:07 Yes. 13:39:10 ^8ball h 13:39:10 No. 13:39:13 I see a pattern here 13:39:19 `ls / 13:39:19 Mmmmm... no. 13:39:27 ^say `ls / 13:39:38 ^bf ,[.,]!`ls / 13:39:39 `ls / 13:39:40 bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr 13:39:41 -!- aloril_ has changed nick to aloril. 13:39:47 GeekDude: are you playing hangman? 13:39:54 lol 13:39:56 I could 13:40:00 * GeekDude makes noose 13:40:02 * GeekDude jumps 13:40:04 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 13:40:06 ^bf ,[.,]!`echo "^bf ,[.,]!test" 13:40:06 `echo "^bf ,[.,]!test" 13:40:07 ​"^bf ,[.,]!test" 13:40:12 ^bf ,[.,]!`echo ^bf ,[.,]!test 13:40:12 `echo ^bf ,[.,]!test 13:40:13 ​^bf ,[.,]!test 13:40:18 -!- GeekDude has joined. 13:40:21 Actually, I take that back 13:40:26 a ping timeout would be more realistic 13:40:29 brb, ping timeouting 13:40:57 So few IRC clients these days bother to show the server pings. 13:41:12 -!- `ls` has joined. 13:41:16 <`ls`> !bfjoust test < 13:41:16 `ls`.test: points -46.00, score 0.00/100, rank 47/47 13:41:17 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ls`.test:: not found 13:41:55 fizzie: mine sends server pings every now and then and uses it to update a lag value 13:41:58 Heh, I didn't even think of the output side of it. Maybe I should prefix the reply like HackEgo does. 13:42:03 it doesn't show them by default, but does have a mode where it does 13:42:04 -!- G33kDude has joined. 13:42:15 how was that? 13:42:17 oh shoot 13:42:20 he's still here 13:42:33 ais523: At least there's a mode. I'm not sure if irssi has one. 13:42:35 !bfjoust nop . 13:42:35 mroman_.nop: points -34.29, score 4.32/100, rank 47/47 13:42:38 G33kDude: /ns ghost password (where password is your password) 13:42:44 Who has been printing bells and why? 13:42:46 do it in the server tab so that you don't tell everyone your password if you screw up 13:42:51 ais523: I know how to ghost -.- 13:42:56 Melvar: various people testing BF, because they forget that 7 has a special meaning 13:42:57 !bfjoust nop (>+>-<+<)*-1 13:43:00 mroman_.nop: points -27.19, score 4.14/100, rank 47/47 (change: --) 13:43:03 And I'm logged in too 13:43:05 ^bf ,[.,]!`echo !bfoust vibrator (+)*-1 13:43:05 `echo !bfoust vibrator (+)*-1 13:43:06 ​!bfoust vibrator (+)*-1 13:43:11 ^bf ,[.,]!`echo !bfoust vibrator (+)*-1 13:43:11 `echo !bfoust vibrator (+)*-1 13:43:12 ​!bfoust vibrator (+)*-1 13:43:15 ^bf ,[.,]!`echo !bfjoust vibrator (+)*-1 13:43:15 `echo !bfjoust vibrator (+)*-1 13:43:17 ​!bfjoust vibrator (+)*-1 13:43:20 ais523: and you forgot the target 13:43:25 /ns ghost GeekDude 13:43:26 -!- GeekDude has quit (Disconnected by services). 13:43:29 poof 13:43:36 err right 13:43:36 -!- G33kDude has changed nick to GeekDude. 13:43:37 zwsp, hun. 13:43:40 Oh great, now I notice that it didn’t just bell, it broke the terminal. 13:43:45 !bfjoust nop (+>-<+.)*-1 13:43:45 mroman_.nop: points -35.93, score 3.26/100, rank 47/47 (change: --) 13:43:48 -!- nooblag has joined. 13:43:55 Melvar: the normal way to fix that is to run the "reset" command 13:43:55 !bfjoust nop (->+<-.)*-1 13:43:56 mroman_.nop: points -35.93, score 3.26/100, rank 47/47 (change: --) 13:44:00 -!- idris-bot has quit (Quit: Terminated). 13:44:09 <`ls`> hackego test 13:44:10 ^bf +++++++. 13:44:11 13:44:11 <`ls`> ! 13:44:13 before I learned about reset(1), I used to use cat /dev/random as a probabilistic method of resetting the terminal 13:44:13 <`ls`> !foo 13:44:16 -!- nooblag has left. 13:44:23 and broke the system's entropy in the process 13:44:24 -!- idris-bot has joined. 13:44:26 <`ls`> !bfjoust 13:44:26 `ls`: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:44:26 !bfjoust nop (->+<-)*-1 13:44:27 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ls`:: not found 13:44:31 mroman_.nop: points -7.67, score 18.32/100, rank 47/47 (change: --) 13:44:41 -!- `ls` has changed nick to `ls. 13:44:42 <`ls> !bfjoust 13:44:42 `ls: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:44:43 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ls:: not found 13:44:43 Lymia: HackEgo's clever enough to put it in only if the input starts with something that looks prefixy. 13:44:56 -!- `ls has changed nick to `ls``ls``ls. 13:44:57 <`ls``ls``ls> !bfjoust 13:44:57 `ls``ls``ls: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:44:58 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ls``ls``ls:: not found 13:45:00 !bfjoust nop (->+<-)*99(>)*4([-]>)*-1 13:45:00 mroman_.nop: points -23.29, score 13.18/100, rank 47/47 (change: --) 13:45:05 <`ls``ls``ls> Hun, oh. 13:45:09 !bfjoust nop (->+<-)*999(>)*4([-]>)*-1 13:45:10 mroman_.nop: points -19.24, score 15.07/100, rank 47/47 (change: --) 13:45:10 <`ls``ls``ls> That's zemhill triggering HackEgo 13:45:17 !bfjoust nop (->+<-)*9999(>)*4([-]>)*-1 13:45:20 mroman_.nop: points -21.43, score 12.82/100, rank 47/47 (change: --) 13:45:23 Yes, I should probably do the trick too. 13:45:23 -!- `ls``ls``ls has changed nick to ^mhmm. 13:45:25 <^mhmm> !bfjoust 13:45:25 ^mhmm: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:45:26 what 13:45:31 !bfjoust nop (->+<-)*5000(>)*4([-]>)*-1 13:45:33 mroman_.nop: points -19.81, score 16.25/100, rank 47/47 (change: --) 13:45:37 ais523: The annoyance was that I had to restart idris-bot to run it to unbreak idris-bot’s debug output. 13:45:39 !bfjoust nop (->+<-)*6000(>)*4([-]>)*-1 13:45:41 mroman_.nop: points -19.76, score 16.22/100, rank 47/47 (change: --) 13:45:41 <^mhmm> !def mhmm: bf ,[.,] 13:45:50 Melvar: right 13:45:56 oh, it broke idris-bot's terminal? that makes more sense 13:45:57 <^mhmm> ^def mhmm: bf ,[.,] 13:45:57 Defined. 13:46:00 <^mhmm> !bfjoust 13:46:00 ^mhmm: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:46:00 "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:46:02 ok so it's between 5k and 6k 13:46:06 most clients filter out SI/SO, which are the main offenders for terminal breaking 13:46:07 !bfjoust nop (->+<-)*5500(>)*4([-]>)*-1 13:46:08 mroman_.nop: points -20.12, score 15.98/100, rank 47/47 (change: --) 13:46:12 <^mhmm> I can totally loop with this 13:46:16 Most of the time I have no idea what this channel is doing 13:46:17 !bfjoust nop (->+<-)*5100(>)*4([-]>)*-1 13:46:19 mroman_.nop: points -20.21, score 16.17/100, rank 47/47 (change: --) 13:46:23 the other half I still have no idea 13:46:27 !bfjoust nop (->+<-)*4900(>)*4([-]>)*-1 13:46:28 <^mhmm> ^def mhmm: bf ,[.,]!!bfjoust 13:46:28 Defined. 13:46:29 mroman_.nop: points -20.05, score 15.82/100, rank 47/47 (change: --) 13:46:31 <^mhmm> !bfjoust 13:46:31 ^mhmm: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:46:31 "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:46:35 damn 13:46:39 !bfjoust nop (->+<-)*4999(>)*4([-]>)*-1 13:46:40 mroman_.nop: points -19.76, score 16.37/100, rank 47/47 (change: --) 13:46:53 !bfjoust nop (->+<-)*4999(>)*5([-]>)*-1 13:46:54 mroman_.nop: points -19.79, score 16.34/100, rank 47/47 (change: --) 13:46:57 <^mhmm> ^def mhmm: bf ++++[->++++++++<]>+.[->+++<]>-.++++.++++.+++++.++++++.--.+. 13:46:57 Defined. 13:46:58 `addquote Most of the time I have no idea what this channel is doing the other half I still have no idea 13:47:00 1219) Most of the time I have no idea what this channel is doing the other half I still have no idea 13:47:03 <^mhmm> !bfjoust 13:47:03 ^mhmm: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:47:03 !bfjoust 13:47:03 fungot: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 13:47:03 zemhill: " and what will oo be next?" said the march hare. visit either you fnord they're both mad." 13:47:04 that is a great summary of this channel 13:47:13 !bfjoust nop (>->-)*2<<<<(->+<-)*4999(>)*4([-]>)*-1 13:47:15 -.- 13:47:15 mroman_.nop: points -25.14, score 12.32/100, rank 47/47 (change: --) 13:47:24 `addquote `addquote Most of the time I have no idea what this channel is doing the other half I still have no idea 13:47:26 1220) `addquote Most of the time I have no idea what this channel is doing the other half I still have no idea 13:47:26 You can (quite easily) make fungot submit programs, if you insist. 13:47:26 fizzie: " why, he's actually invented three new diseases, besides a new way of getting over a fnord of gold around his head. 13:47:32 -!- ^mhmm has left ("Hug~♪"). 13:47:36 GeekDude: there's not much point in addquoting someone doing an addquote 13:47:45 `addquote GeekDude: there's not much point in addquoting someone doing an addquote 13:47:46 1221) GeekDude: there's not much point in addquoting someone doing an addquote 13:47:50 ok, I'm done now 13:47:51 Fun: I’ve set up a notify for idris-bot so I notice quicker when it crashes, which fairly unavoidably happens regularly when someone uses it. 13:47:55 elliott_: you are the Guardian of the Quotes, aren't you? 13:48:01 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf 13:48:03 Lymia.nyuroki: points -5.12, score 26.58/100, rank 34/47 13:48:11 Melvar: I'm always asleep when my bot crashes :/ 13:48:22 !bfjoust nop (->->+<-<-)*3000(>)*9([-]>)*-1 13:48:23 mroman_.nop: points -26.76, score 10.24/100, rank 47/47 13:48:44 !bfjoust nop (->->+<-<+)*3000(>)*9([-]>)*-1 13:48:45 mroman_.nop: points -27.81, score 9.79/100, rank 47/47 (change: --) 13:48:45 I've tried a couple of times to make irssi note fungot's quitting with a highlight, but never gotten it to work. 13:48:45 fizzie: " thank you, it's very pretty!" and she glanced, with a gentleness of tone that seemed to win their hearts at once." and when they wake up in the book!" 13:48:50 I'm wondering if nooblag was a spambot 13:48:57 it PMed me to say "hey there", then never spoke again 13:49:09 and has since left the server 13:49:27 lol 13:49:36 Sounds to me like a drive by hi 13:49:44 why? Pie 13:49:56 GeekDude: Fairly often the case for me as well, but then I usually take a couple hours to read the channel to the point where someone crashes it, and only then notice it crashed. Hopefully the notify will help me notice quicker. 13:50:02 *sigh* 13:50:06 !bfjoust nop >>>>((->+<-)*90<)*4(->+<-)*-1 13:50:09 GeekDude: a hi is quite a big threat in here 13:50:10 mroman_.nop: points -19.17, score 7.29/100, rank 47/47 (change: --) 13:50:13 crapppp 13:50:15 except when it's a greeting 13:50:20 sometimes it's hard to distinguish the two 13:50:22 I AM HI 13:50:24 `quote hi 13:50:25 712) Sgeo: I used to have strict requirements for when I said hi but then everyone started saying hi and it all got weird \ 823) usb sushi is dangerous. I think I would try to eat it \ 1043) i think delivery sushi is one of those habits that can rapidly consume all of one's money like cocaine 13:50:35 `quote hi 13:50:36 712) Sgeo: I used to have strict requirements for when I said hi but then everyone started saying hi and it all got weird 13:50:44 now I'm surprised that worked 13:50:46 !bfjoust nop (>)*9(>>[-]<)*-1 13:50:47 mroman_.nop: points -22.93, score 11.43/100, rank 47/47 (change: --) 13:50:57 Also, idris, and thus idris-bot, has :printdef now. 13:51:04 I have a waffle to go eat 13:51:09 WAFFLES? DONT YOU MEAN CARROTS? 13:51:10 !bfjoust die (>)*9(>[-])*-1 13:51:11 Lymia.die: points -20.62, score 13.15/100, rank 47/47 13:51:14 !bfjoust die (>)*9([-]>)*-1 13:51:14 Lymia.die: points -19.12, score 14.31/100, rank 47/47 (change: --) 13:51:16 -!- GeekDude has left ("carrot flavored waffles"). 13:51:24 !bfjoust die (>+++++++)*9([-]>)*-1 13:51:25 Lymia.die: points -16.50, score 16.16/100, rank 47/47 (change: --) 13:51:29 !bfjoust die (>+++++++)*9([+]>)*-1 13:51:30 Lymia.die: points -18.62, score 13.62/100, rank 47/47 (change: --) 13:51:32 !bfjoust die (>+++++++)*9([--]>)*-1 13:51:33 Lymia.die: points -36.79, score 4.05/100, rank 47/47 (change: --) 13:51:33 !bfjoust nop (>)*9+++[](<)*9(->+<-)*-1 13:51:36 mroman_.nop: points -22.10, score 7.83/100, rank 47/47 13:51:39 !bfjoust die (>+++++++)*9([-[-]]>)*-1 13:51:39 Lymia.die: points -18.62, score 13.46/100, rank 47/47 13:51:40 Lymia: Decided to start from scratch, did you? 13:51:45 !bfjoust die (>+++++++)*9([+[-]]>)*-1 13:51:45 Lymia.die: points -16.52, score 15.46/100, rank 47/47 (change: --) 13:51:46 Hmm. 13:51:52 ( :printdef (=) 13:51:52 Not found 13:52:21 = has a definition? I guess it'd be along the lines of (=) X X 13:53:52 ( :doc (=) 13:53:52 Data type (=) : (x : A) -> (y : B) -> Type 13:53:52 The propositional equality type. A proof that x = y. 13:53:52 To use such a proof, pattern-match on it, and the two equal things will then need to be the same pattern. 13:53:52 Note: Idris's equality type is potentially heterogeneous, which means that it is possible to state equalities between values of potentially different types. 13:53:52 However, Idris will attempt the homogeneous case unless it fails to typecheck.↵… 13:54:00 !bfjoust nyuroki http://pastebin.com/raw.php?i=ssDB81MS 13:54:01 Lymia.nyuroki: points -8.10, score 23.17/100, rank 45/47 (change: -9) 13:54:12 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf 13:54:13 Lymia.nyuroki: points -5.40, score 25.97/100, rank 36/47 (change: +9) 13:54:16 I believe it not 13:54:22 The [+.] actually helps it 13:54:38 Well, it’s builtin/predefined and has a special syntax, so that’s probably why :printdef doesn’t find it. 13:54:52 Lymia: ooh, it's not last 13:55:11 ( :printdef (==) 13:55:11 Prelude.Classes.(==) : Eq a => a -> a -> Bool 13:55:11 (==) = meth 13:55:11 also, a 3-cycle reverse offset clear is going to evade a /lot/ of locks 13:55:20 is this intended for the Stack Overflow tournament, or for ours, or for both? 13:55:33 It was originally on the Stack Overflow one. 13:55:34 Got #1 13:55:48 also, is there such a thing as a medium rush program? 13:55:49 But that's shooting fish in a barrel. :) 13:55:55 because that's too slow to be a fast rush, and too fast to be a slow rush 13:55:59 I guess there is now 13:56:41 btw, what's with all the unRLEd decoys? 13:56:59 Avoiding a bug in the interpreter used in the stack overflow hill 13:59:21 !bfjoust BeatYouMate +(>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*5[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 13:59:22 AndoDaan.BeatYouMate: points -4.55, score 29.81/100, rank 26/47 (change: --) 13:59:36 AndoDaan: can you please stop using () with nothing after them? 13:59:43 it confuses my interp and puts debug spam all over the console 13:59:43 !bfjoust diehard (>--->+++)*4>([-][+--]>)*-1 13:59:44 mroman_.diehard: points -22.36, score 12.13/100, rank 47/47 13:59:55 This ruins the magic. 14:00:09 Alright. 14:00:12 the program is apparently doing well despite being syntactically incorrect 14:00:19 not sure how zemhill interprets bare () 14:00:25 !bfjoust syntaxerr () 14:00:27 Lymia.syntaxerr: points -35.29, score 4.32/100, rank 47/47 14:00:27 I've been adding *1 after them 14:00:30 -!- GeekDude has joined. 14:00:32 !bfjoust diehard (>--->+++)*4>([-]+[]<++>[-]>)*-1 14:00:34 mroman_.diehard: points -37.24, score 2.80/100, rank 47/47 14:00:36 !bfjoust syntaxerr >(+)()< 14:00:37 Lymia.syntaxerr: points -35.29, score 4.32/100, rank 47/47 14:00:51 !bfjoust suicide_or_nop (<) 14:00:52 ais523.suicide_or_nop: points -35.29, score 4.32/100, rank 47/47 14:00:58 !bfjoust suicide < 14:00:58 ais523.suicide: points -46.00, score 0.00/100, rank 47/47 14:01:07 zemhill appears to interpret bare () as comments 14:01:10 !bfjoust slowersuicide .< 14:01:10 Lymia.slowersuicide: points -46.00, score 0.00/100, rank 47/47 14:01:20 !bfjoust slowersuicide (.)*1000< 14:01:20 Lymia.slowersuicide: points -36.48, score 4.14/100, rank 47/47 (change: --) 14:01:25 !bfjoust slowersuicide (.)*100< 14:01:25 Lymia.slowersuicide: points -40.00, score 2.05/100, rank 47/47 (change: --) 14:01:30 !bfjoust slowersuicide (.)*10< 14:01:52 I forget what exactly ()s not followed by *N mean in terms of gearlance. 14:01:58 Possibly (...)*0. 14:02:00 !bfjoust slowersuicide (.)*100< 14:02:00 Lymia.slowersuicide: points -40.00, score 2.05/100, rank 47/47 (change: --) 14:02:02 !bfjoust slowersuicide (.)*10< 14:02:02 Lymia.slowersuicide: points -46.00, score 0.00/100, rank 47/47 (change: --) 14:02:06 !bfjoust slowersuicide (.)*15< 14:02:08 !bfjoust slowersuicide (.)*15< 14:02:08 Lymia.slowersuicide: points -46.00, score 0.00/100, rank 47/47 (change: --) 14:02:12 !bfjoust slowersuicide (.)*50< 14:02:12 Lymia.slowersuicide: points -41.52, score 1.51/100, rank 47/47 (change: --) 14:02:15 !bfjoust slowersuicide (.)*25< 14:02:15 Lymia.slowersuicide: points -44.86, score 0.42/100, rank 47/47 (change: --) 14:02:18 !bfjoust slowersuicide (.)*22< 14:02:18 Lymia.slowersuicide: points -45.43, score 0.22/100, rank 47/47 (change: --) 14:02:20 !bfjoust slowersuicide (.)*18< 14:02:21 Lymia.slowersuicide: points -45.81, score 0.03/100, rank 47/47 (change: --) 14:02:23 !bfjoust slowersuicide (.)*16< 14:02:23 Lymia.slowersuicide: points -45.95, score 0.00/100, rank 47/47 (change: --) 14:02:25 !bfjoust slowersuicide (.)*17< 14:02:25 Lymia.slowersuicide: points -45.90, score 0.03/100, rank 47/47 (change: --) 14:02:33 Fastest suicide is in 17 cycles, hun... 14:02:39 Wonder which bot that is 14:03:11 You can check breakdown.txt for that, probably. 14:03:28 !bfjoust slowersuicide (.)*20< 14:03:29 Lymia.slowersuicide: points -45.67, score 0.16/100, rank 47/47 (change: --) 14:03:45 less_is_more 14:04:20 ais523, but I'm curious what you mean by a medium rush. :P 14:04:37 Lymia: well, a fast rush program tries to get inside the enemy decoy setup 14:04:51 a slow rush program spends a long time building its own decoys and doesn't worry about what the enemy is doing until its done 14:05:10 that program sets up too many decoys to have much of a chance of getting inside the enemy setup, but not enough to beat a typical slow rush program 14:05:26 -!- Syntaxerror has joined. 14:05:36 I heard about a CTCP-war? 14:05:56 Syntaxerror: sort-of, yes 14:06:03 mostly perpetuated by bots who don't realise ASCII 1 is special 14:06:05 I certainly don't think this clear is suitable for a fast rush. 14:06:22 ASCII 1? You mean ☺? 14:06:27 ^bf +[.+] 14:06:27 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 14:06:31 Syntaxerror: that's CP437 1 14:06:46 Lymia: well fast rushes are much more likely to use that sort of clear than slow rushes 14:06:51 so.... ASCII1 is a? 14:06:54 !bfjoust nyuroki http://pastebin.com/raw.php?i=ZkKw16tw 14:06:55 Lymia.nyuroki: points -16.83, score 15.88/100, rank 46/47 (change: -10) 14:06:59 because they're more confident that things that aren't small decoys will be flags 14:07:04 ASCII 1 is called SOH. 14:07:09 Lymia: pastebin.com's raw view is HTML-escaped 14:07:13 ^bf +[.+][-] 14:07:14 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 14:07:15 so it doesn't work well for this 14:07:16 ^bf +[.+][-]. 14:07:16 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 14:07:17 use sprunge 14:07:19 ah. I' more a fan of the NUL-char :D 14:07:21 I'm not good at this 14:07:27 * GeekDude should try this in PM 14:07:43 also, bf looks like regex 14:07:58 ais523: What I get from that URL doesn't look very HTML-escaped. 14:08:06 maybe they canged 14:08:07 *changed 14:08:37 Come to think of it, I don't have a breakdown-like view on the Fancy Website™. There's EgoJSout for individual pairs, and the matrix for all-pairs overview, but not a single-program-all-matches summary like breakdown.txt. 14:09:17 !bfjoust nyuroki http://pastebin.com/raw.php?i=CMBugaVX 14:09:18 Lymia.nyuroki: points -17.55, score 14.86/100, rank 46/47 (change: --) 14:09:56 !bfjoust nyuroki http://pastebin.com/raw.php?i=rhk7qDck 14:09:57 Lymia.nyuroki: points -11.29, score 19.25/100, rank 46/47 (change: --) 14:10:03 Less decoys dose not seem like a solution 14:10:12 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf 14:10:15 -!- AndoDaan has quit (Ping timeout: 272 seconds). 14:11:07 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf 14:11:07 Lymia.nyuroki: points -5.12, score 25.87/100, rank 36/47 (change: --) 14:11:10 !bfjoust nyuroki http://pastebin.com/raw.php?i=fca2kRna 14:11:11 Lymia.nyuroki: points -7.93, score 22.49/100, rank 46/47 (change: -10) 14:11:40 !bfjoust nyuroki http://pastebin.com/raw.php?i=fsneVCUb 14:11:41 Lymia.nyuroki: points -5.12, score 25.87/100, rank 36/47 (change: +10) 14:12:24 I guess it glitched out there again. Really should figure that out. 14:15:18 !bfjoust diehard (>--->+++)*4>([+]>)*-1 14:15:19 mroman_.diehard: points -22.50, score 12.00/100, rank 47/47 14:16:05 !bfjoust diehard (>--->+++)*4>([->])*-1 14:16:06 mroman_.diehard: points -44.00, score 0.47/100, rank 47/47 (change: --) 14:16:17 !bfjoust nyuroki http://pastebin.com/raw.php?i=Zwakin3B 14:16:18 Lymia.nyuroki: points -40.86, score 2.40/100, rank 46/47 (change: -10) 14:16:19 [->] searches for a cell containing 1, right? 14:16:23 More decoys! 14:16:24 Nope! 14:16:27 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf 14:16:28 Lymia.nyuroki: points -5.12, score 25.88/100, rank 36/47 (change: +10) 14:16:37 mroman_: no, you're thinking of [>-] 14:16:42 oh 14:16:56 or even [+>-] if you don't want to change the other cells you look at 14:17:14 !bfjoust diehard (>--->+++)*4>[>-]([-]>)*-1 14:17:14 mroman_.diehard: points -27.74, score 8.49/100, rank 47/47 (change: --) 14:17:35 ais523, what would be a conventional fast rush decoy setup then? 14:17:55 Lymia: probably nothing larger than 3 or 4, at most 14:18:08 for examples, see omnipotence and hippo_ballerina 14:18:09 !bfjoust diehard ([->-]+)*-1 14:18:09 mroman_.diehard: points -45.71, score 0.17/100, rank 47/47 (change: --) 14:18:11 And slow? 14:18:15 wth are you doing? Is this some kind of game in BF? If so: What's the goal? 14:18:21 hey ais523, you're smart 14:18:27 Lymia: like eight decoys of size 50 14:18:28 how can I avoid giant + strings 14:18:32 ie, ^bf +.++++++++++++++++++++++++++++++++++++++++++++++++++.>+. 14:18:34 Syntaxerror: yes, it's a BF-based game: http://esolangs.org/wiki/BF_Joust for the details 14:18:36 GeekDude: building loops 14:18:40 -.- 14:18:50 I was afraid of that 14:18:51 but in short, you're trying to set the cell the opponent started on to 0, without going past it 14:20:12 Lymia: actually, slow rush programs nowadays more commonly attempt to locate the opponent, and decoy /every/ cell the opponent doesn't know about 14:20:43 and the normal counterapproach to that is to start several cells beyond where you think is safe, depending on how long you took to find the opponent, on the basis that most programs set decoys 14:21:22 I guess nyuroki is a slow rush program 14:21:36 just it doesn't throw as much effort into its slow rushing as normal 14:21:49 !bfjoust nyuroki http://pastebin.com/raw.php?i=nnfBZf0L 14:21:51 Lymia.nyuroki: points -4.64, score 25.61/100, rank 35/47 (change: +1) 14:22:12 hippo_ballerina is actually a really good example of a fast rush program 14:22:22 it came about when I decided "let's just write a fast rush program and see how well it does" a few days ago 14:23:29 !bfjoust nyuroki http://pastebin.com/raw.php?i=HzeCN3wd 14:23:30 Lymia.nyuroki: points -8.48, score 21.74/100, rank 46/47 (change: -11) 14:23:52 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf 14:23:52 Lymia.nyuroki: points -5.12, score 25.88/100, rank 36/47 (change: +10) 14:24:46 redefines the program? 14:24:58 Syntaxerror: yes, or defines it if there isn't one yet 14:25:07 you can also give a program directly rather than an URL 14:25:13 but most top programs don't fit on one line 14:25:33 yeah, they look like they wint 14:25:34 *wont 14:25:41 !bfjoust monolith (>+)*4 (>--)*4 ((-)*5<)*4 ((+)*6<)*3 (+)*5 (>)*7 ((-)*20<)*4 ((+)*20<)*3 (+)*20 (>)*7 ((-)*20<)*4 ((+)*20<)*4 (+)*50 (>)*10 (>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21 14:25:44 there are exceptions 14:25:53 Do you get a penalty for the length of a program? 14:26:07 no, although there is a limit to stop people writing exponentially long programs 14:26:12 !bfjoust monolith (>+)*4 (>--)*4 ((-)*5<)*4 ((+)*6<)*3 (+)*5 (>)*7 ((-)*20<)*4 ((+)*20<)*3 (+)*20 (>)*7 ((-)*20<)*4 ((+)*20<)*4 (+)*50 (>)*10 (>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21 14:26:12 ais523.monolith: points 21.86, score 98.01/100, rank 2/47 (change: --) 14:26:17 there we go 14:26:45 I still have no idea why monolith does that well; it /shouldn't/ 14:28:01 it's just a bunch of stock ideas combined together 14:28:10 I guess it works by being simpler than the opponent 14:28:12 actually, hmm 14:28:23 I wonder what happens if I use the same improvement I did with growth 14:29:04 ^bf +.++++++++[>++++++++<-]>.<[-]+++++[>++++++<-]>-.+++++++..+++.[-]+. 14:29:05 Hello 14:29:08 aha! 14:29:10 I can BF 14:29:24 !bfjoust monolith (>+)*4 (>--)*4 ((-)*5<)*4 ((+)*6<)*3 (+)*5 (>)*7 ((-)*20<)*4 ((+)*20<)*3 (+)*20 (>)*7 ((-)*20<)*4 ((+)*20<)*4 (+)*50 (>)*10 (>[(-)*4([+{([+{[.---]}][.-[.-]]>)%2900}][.-[.-]]>(-)*12)%100][..++-----[..++-----]])*21 14:29:27 ais523.monolith: points 19.40, score 86.88/100, rank 3/47 (change: -1) 14:29:36 it gets worse 14:29:38 fair enough 14:29:42 !bfjoust monolith (>+)*4 (>--)*4 ((-)*5<)*4 ((+)*6<)*3 (+)*5 (>)*7 ((-)*20<)*4 ((+)*20<)*3 (+)*20 (>)*7 ((-)*20<)*4 ((+)*20<)*4 (+)*50 (>)*10 (>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21 14:29:43 ais523.monolith: points 21.86, score 98.01/100, rank 2/47 (change: +1) 14:29:50 is that some variant of BF? 14:29:55 GeekDude: BF Joust 14:29:59 http://esolangs.org/wiki/BF_Joust 14:30:03 it's a BF-based programming game 14:30:40 Can we extend gearlance a little? 14:30:52 ({}&c)&cn 14:30:56 Or something like that 14:31:11 what would that do? 14:31:17 (({{}&a}&b)&a30)&b30 14:31:21 also, the abbreviations can be a contentious topic 14:31:34 Explicitly assign {}s to ()%s 14:31:34 because they actually change which programs compress well 14:31:55 the HELLO CTCP-command won't get any replies 14:32:28 lol 14:32:29 if you have completely general abbreviations (e.g. subroutines), then there's no reason to ever execute a ] 14:32:52 !bfjoust monolith (>+)*4 (>--)*4 ((-)*5<)*4 ((+)*6<)*3 (+)*5 (>)*7 ((-)*20<)*4 ((+)*20<)*3 (+)*20 (>)*7 ((-)*20<)*4 ((+)*20<)*4 (+)*50 (>)*9 (>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21 14:32:53 Lymia.monolith: points 18.45, score 79.38/100, rank 5/47 14:32:56 !bfjoust monolith < 14:32:56 Lymia.monolith: points -46.00, score 0.00/100, rank 47/47 (change: -42) 14:32:57 Wht 14:33:00 It... 14:33:05 Violates the rule of 9 and wins? 14:33:23 Lymia: monolith had basically no chance of winning on tape length 10 or 11 anyway 14:33:28 it was a loss against pretty much every program 14:33:30 so I just start at 12 14:33:50 going past 9 was popular for a while years back, I think? 14:33:57 -!- ais523 has quit (Read error: Connection reset by peer). 14:34:06 -!- ais523 has joined. 14:34:21 ais523, can't copy your rush cycle a few times? 14:34:24 for extremely fast rushes and stuf 14:34:24 f 14:34:37 Like, when you enter a new cell 14:34:38 let me check logs, I think I missed something 14:34:44 [do fast rush] 14:34:51 On initial setup 14:35:05 you can certainly attack cells during decoy setup, but it's normally a bad idea 14:35:11 not always, cell 10 and 11 are common choices to attack 14:35:22 normally, though, if you're placing a decoy on a cell, it can't possibly be the opponent's flag 14:35:28 unless you have more than 8 decoys 14:35:53 Well. 14:35:55 elliott_: going past 9 was popular, then it went out of style because it hardly ever helped, differences in the clear loop were more important 14:35:55 If you see it that early 14:36:03 nowadays people have got better at decoys, so it's becoming more useful again 14:36:07 You're pretty much guarenteed to be on a tape length like 10-15, right? 14:36:12 So, might as well as do a specialized rush then 14:36:15 -!- Syntaxerror has left. 14:36:25 Lymia: oh, checking to see if cells are 0 during decoy setup is pretty common 14:36:32 many programs will change to a fast rush if the tape looks very short 14:36:39 preparation does that in order to have a chance on short tapes, for instance 14:37:11 !bfjoust nyuroki http://pastebin.com/raw.php?i=ijPGw9LJ 14:37:12 Lymia.nyuroki: points -2.50, score 29.32/100, rank 28/47 (change: +8) 14:37:16 margins does a turtle clear on 10 and 11 if the tape looks short 14:37:22 then goes back to trying to draw 14:37:23 Apparently skipping a few cells is a really good idea 14:37:39 modern programs set loads of decoys on average, so yes 14:37:49 if you skip too many, though, you start losing against the defence programs 14:37:58 e.g. omnipotence only sets one decoy and it's tiny 14:38:33 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:38:34 Lymia.nyuroki: points -2.50, score 29.32/100, rank 28/47 (change: --) 14:38:57 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:38:58 Lymia.nyuroki: points -2.57, score 29.98/100, rank 28/47 (change: --) 14:39:16 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:39:16 Lymia.nyuroki: points -3.83, score 27.89/100, rank 31/47 (change: -3) 14:39:34 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:39:34 Lymia.nyuroki: points -4.79, score 27.56/100, rank 33/47 (change: -2) 14:39:51 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:39:52 Lymia.nyuroki: points -2.57, score 29.98/100, rank 28/47 (change: +5) 14:41:11 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:41:11 Lymia.nyuroki: points -19.43, score 13.19/100, rank 46/47 (change: -18) 14:41:35 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:41:36 Lymia.nyuroki: points -4.00, score 27.28/100, rank 33/47 (change: +13) 14:41:45 !bfjoust nop (>[+]->[-]+)*-1 14:41:45 mroman_.nop: points -21.86, score 13.09/100, rank 47/47 14:41:54 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:41:55 Lymia.nyuroki: points -2.69, score 30.37/100, rank 26/47 (change: +6) 14:42:24 !bfjoust nop (>[+[-]]->[-[+]]+)*-1 14:42:24 mroman_.nop: points -21.45, score 13.02/100, rank 47/47 (change: --) 14:43:16 !bfjoust nop (>[+[-]]->[-[+]]+)*4(<)*8(->+<-)*-1 14:43:21 mroman_.nop: points -11.26, score 14.16/100, rank 47/47 (change: --) 14:43:34 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:43:35 Lymia.nyuroki: points 0.62, score 35.97/100, rank 17/47 (change: +11) 14:43:40 !bfjoust nop (>[-]->[+]+)*4(<)*8(->+<-)*-1 14:43:42 Lymia: ooh 14:43:46 mroman_.nop: points -12.36, score 13.14/100, rank 47/47 (change: --) 14:43:59 !bfjoust nop (>[+[-]]->[-[+]]+)*5(<)*10(->+<-)*-1 14:44:00 that's getting pretty good now 14:44:02 what did you change? 14:44:02 mroman_.nop: points -12.93, score 13.42/100, rank 47/47 (change: --) 14:44:18 ais523, skip to cell 13ish 14:44:22 also, that program looks like it could really do with ()% abbreviations 14:44:22 Then in initial decoy setup 14:44:28 If I see anything on cells 4-8 14:44:32 I go directly to rush 14:44:34 !bfjoust nop ((>[+[-]]->[-[+]]+)*4(<)*8(->+<-)*90)*-1 14:44:36 And skip the large decoys 14:44:37 mroman_.nop: points -17.10, score 8.63/100, rank 47/47 (change: --) 14:44:48 Lymia: this sounds like pretty sound strategy to me 14:44:58 it may not work as well against the StackOverflow hill, which has more people doing stupid things 14:45:00 !bfjoust nop (((>[+[-]]->[-[+]]+)*4(<)*8)*-1 14:45:01 mroman_: error: parse error: starting ( without a matching ) 14:45:03 some programs only work well against good programs 14:45:08 !bfjoust nop ((>[+[-]]->[-[+]]+)*4(<)*8)*-1 14:45:11 mroman_.nop: points -23.74, score 3.47/100, rank 47/47 (change: --) 14:45:32 hm 14:45:58 !bfjoust wait [-]+[] 14:46:00 mroman_.wait: points -26.67, score 4.79/100, rank 47/47 14:46:00 mroman_: it seems wrong to call a program nop if it actually does something 14:46:04 although I guess that program doesn't do very much 14:46:04 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:46:05 Lymia.nyuroki: points 0.07, score 34.58/100, rank 20/47 (change: -3) 14:46:17 mroman_: [-] will clear your flag for two cycles 14:46:21 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:46:22 Lymia.nyuroki: points 0.19, score 34.72/100, rank 20/47 (change: --) 14:46:26 one doing the -, one doing the ] 14:46:31 !bfjoust wait >+[](->+<-)*-1 14:46:34 mroman_.wait: points -23.95, score 5.51/100, rank 47/47 (change: --) 14:46:39 Can I set it to 1? 14:46:41 the flag? 14:46:42 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:46:43 Lymia.nyuroki: points 0.38, score 35.50/100, rank 18/47 (change: +2) 14:46:58 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:47:04 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:47:13 !bfjoust hello < 14:47:13 Lymia.hello: points -46.00, score 0.00/100, rank 47/47 14:47:14 !bfjoust wait >+[]<[+](->+<-)*-1 14:47:14 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:47:17 mroman_.wait: points -18.86, score 7.41/100, rank 47/47 14:47:18 uh 14:47:18 Lymia.nyuroki: points 0.88, score 35.78/100, rank 17/47 (change: --) 14:47:22 There we go. 14:47:37 mroman_: (-)*127 14:47:39 ais523: how long does [] take? 14:47:43 That +2 was me adjusting the offset clear size. 14:47:54 mroman_: each check takes one cycle 14:47:57 Er, wait. 14:48:00 [] should wait for my cell to drop to zero 14:48:02 I forgot to undo some stupid change 14:48:05 but after the loop I'm dead? 14:48:12 (if I do it on the flag) 14:48:13 so basically, entering the loop takes one cycle, exiting the loop takes one cycle, going back to the start takes one cycle 14:48:18 so yes, if you do [-] on the flag 14:48:19 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:48:20 Lymia.nyuroki: points 1.05, score 36.28/100, rank 17/47 (change: --) 14:48:26 you set it to 0 meaning you only have one more cycle to survive 14:48:31 then spend that cycle exiting the loop 14:48:37 No idea why 3 seems to be a "magic number" 14:48:46 For the outermost wiggle loop 14:49:11 Lymia: 3's about the size where you can still do a wiggle in a reasonable length of time 14:49:11 !bfjoust wait >+[]<[+-] 14:49:12 mroman_.wait: points -30.86, score 6.55/100, rank 47/47 (change: --) 14:49:17 I often use size-4 decoys because of this 14:49:21 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:49:21 [+-] actually inc/decs all the time 14:49:22 Lymia.nyuroki: points 1.33, score 37.96/100, rank 16/47 (change: +1) 14:49:25 until it reaches zero 14:49:35 so it keeps the number the same overall 14:49:36 mroman_: you might want (+-)*50000 14:49:47 until it reaches zero 14:49:47 which saves time returning to the start of the loop 14:49:49 ais523, I do my huge wiggle precisely because the reverse offset clear is dangerous though. 14:50:02 Lymia: right, but put it this way 14:50:07 suppose the cell actually does have a large decoy 14:50:17 you're going to be doing your clear no matter what 14:50:22 !bfjoust wait >+[]<[+-[+-]+-] 14:50:24 mroman_.wait: points -22.64, score 11.96/100, rank 47/47 (change: --) 14:50:29 so you don't want to waste even more time doing wiggles and offsets first 14:50:38 !bfjoust wait >+[]<[+-[+-[+-]+-]+-] 14:50:40 mroman_.wait: points -22.64, score 11.96/100, rank 47/47 (change: --) 14:50:45 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:50:46 Lymia.nyuroki: points 1.64, score 37.80/100, rank 16/47 (change: --) 14:51:02 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:51:03 Lymia.nyuroki: points -0.02, score 35.28/100, rank 18/47 (change: -2) 14:51:12 !bfjoust (>+++++>-----)*4(>[[[-]]])*21 14:51:13 int-e: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 14:51:23 !bfjoust progname (>+++++>-----)*4(>[[[-]]])*21 14:51:24 int-e.progname: points -19.14, score 13.82/100, rank 47/47 14:51:31 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:51:32 Lymia.nyuroki: points 1.62, score 38.08/100, rank 16/47 (change: +2) 14:51:35 !bfjoust progname (>+++++>-----)*4(>[[[-.]]])*21 14:51:35 !bfjoust wait (>->+)*4(>+[]<[+-[+-[+-]+-]+-]<<)*-1 14:51:36 int-e.progname: points -24.69, score 10.75/100, rank 47/47 (change: --) 14:51:39 mroman_.wait: points -33.52, score 2.53/100, rank 47/47 14:51:49 how can this possibly be worse 14:51:55 !bfjoust progname (>+++++>-----)*4(>[[-]])*21 14:51:56 int-e.progname: points -18.76, score 14.07/100, rank 47/47 14:52:06 !bfjoust progname (>+++++>-----)*4(>[-])*21 14:52:06 int-e.progname: points -16.76, score 15.93/100, rank 47/47 (change: --) 14:52:08 !bfjoust wait (>->+)*4(>+[]<[+-[+-[+-]+-]+-]<)*-1 14:52:09 mroman_.wait: points -35.67, score 1.26/100, rank 47/47 14:52:11 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:52:12 Lymia.nyuroki: points 1.62, score 37.40/100, rank 16/47 (change: --) 14:52:13 lulz 14:52:41 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:52:42 Lymia.nyuroki: points -0.21, score 34.86/100, rank 18/47 (change: -2) 14:52:47 !bfjoust wait (>-->++)*4(>+[]<[+-[+-[+-]+-]+-]<)*-1 14:52:49 mroman_.wait: points -36.19, score 1.40/100, rank 47/47 (change: --) 14:52:57 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:52:58 Lymia.nyuroki: points 1.26, score 37.38/100, rank 17/47 (change: +2) 14:53:29 Let's get a local scoring thing set up.. 14:53:36 !bfjoust wait (>->+)*4(<)*8>+[]<[+-[+-[+-]+-]+-] 14:53:38 mroman_.wait: points -27.95, score 7.83/100, rank 47/47 (change: --) 14:53:53 !bfjoust wait [+-[+-]+-] 14:53:54 mroman_.wait: points -21.76, score 11.38/100, rank 47/47 (change: --) 14:53:54 Can you PM zemhill? 14:54:00 !bfjoust 14:54:00 quintopia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 14:54:02 yeah. can you pm him? 14:54:09 Lymia: I like seeing development happen in-channel 14:54:11 Yep! 14:54:17 although I have an offline hill-runner 14:54:27 I'm just adjusting counts though 14:54:27 because I do much of my jousting offline 14:54:27 :P 14:54:35 to do things like count adjustment 14:54:42 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:54:43 Lymia.nyuroki: points -0.17, score 34.86/100, rank 19/47 (change: -2) 14:54:49 (actually I have an automated constant-tweaker, but don't use it much nowadays; it rarely helps) 14:54:50 -!- vyv_ has quit (Ping timeout: 272 seconds). 14:55:03 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:55:04 Lymia.nyuroki: points 0.81, score 37.41/100, rank 17/47 (change: +2) 14:55:34 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:55:38 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:55:39 Lymia.nyuroki: points 0.81, score 37.02/100, rank 17/47 (change: --) 14:55:41 zemhill doesn't react on queries 14:55:58 being able to secretly submit programs would be a bit silly 14:56:02 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:56:03 Lymia.nyuroki: points 0.50, score 37.02/100, rank 17/47 (change: --) 14:56:20 -!- vyv has joined. 14:56:45 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:56:46 Lymia.nyuroki: points -0.57, score 34.44/100, rank 18/47 (change: -1) 14:57:08 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:57:09 Lymia.nyuroki: points 0.83, score 37.26/100, rank 17/47 (change: +1) 14:57:39 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:57:40 Lymia.nyuroki: points -0.02, score 35.52/100, rank 17/47 (change: --) 14:58:10 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:58:11 Lymia.nyuroki: points 0.83, score 37.26/100, rank 17/47 (change: --) 14:58:14 hey does anyone feel like adding a link to the new hill on the wiki page? i certainly don't... 14:58:14 !bfjoust wait [++-[++-]++-] 14:58:14 mroman_.wait: points -24.33, score 8.56/100, rank 47/47 (change: --) 14:58:35 !bfjoust wait (>-->++)*4(>+[]<[++-[++-[++-]++-]++-]<)*-1 14:58:37 mroman_.wait: points -34.12, score 1.42/100, rank 47/47 (change: --) 14:59:01 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:59:02 Lymia.nyuroki: points -0.48, score 32.54/100, rank 20/47 (change: -4) 14:59:19 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 14:59:20 Lymia.nyuroki: points 1.31, score 37.72/100, rank 16/47 (change: +4) 14:59:22 Hun 14:59:25 The 3 cycle clear 14:59:34 Apparently kills lots more than it fails against 14:59:37 Are locks that common here? 15:00:38 many of the complex programs use locks somewhere 15:00:54 also, about half the top programs are heavily based on them 15:01:02 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:01:03 Lymia.nyuroki: points -0.19, score 34.62/100, rank 20/47 (change: -4) 15:01:23 partly, this is because I keep trying to get lock-based programs to the top of the leaderboard in order to prove statements by myself that locks are dead to be wrong 15:01:31 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:01:32 Lymia.nyuroki: points 1.48, score 37.83/100, rank 16/47 (change: +4) 15:01:36 then I discover a new locking algorithm, and the circle continues 15:01:56 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:01:57 Lymia.nyuroki: points 2.52, score 39.21/100, rank 16/47 (change: --) 15:02:10 What's %? 15:02:21 mroman_: it's an abbreviation that lets you create nested loops 15:02:30 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:02:31 Lymia.nyuroki: points 2.12, score 38.68/100, rank 16/47 (change: --) 15:02:35 (a{b}c)%n is equivalent to (a)*n b (c)*n, except that you can open a loop in a and close it in c 15:02:47 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:02:48 Lymia.nyuroki: points 1.71, score 37.89/100, rank 16/47 (change: --) 15:02:59 [+.].[-.]. seems surprisingly effective 15:03:30 that . in the middle looks out of place, but I guess it might help 15:03:33 wait 15:03:42 (a(b)*9c)*9 isn't legal? 15:03:48 mroman_: no, that's legal 15:03:56 ([)*9+(])*9 isn't legal 15:03:57 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:03:58 Lymia.nyuroki: points 1.38, score 38.33/100, rank 16/47 (change: --) 15:04:03 but ([{+}})%9 is 15:04:05 is nyuroki partially generated? 15:04:09 elliott_, yeah 15:04:11 err, or would be if I didn't typo 15:04:16 ([{+}])%9 15:04:29 for generated code, we tend to make the generators public (although it isn't required) 15:04:40 growth is generated, and I have the generator appended at the end of the program 15:04:43 (actually, it appends itself) 15:04:45 https://github.com/Lymia/JoustExt/blob/master/examples/nyuroki.jx 15:04:51 This is my terrible attempt at a generator 15:07:50 -!- ais523 has quit. 15:08:35 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:08:36 Lymia.nyuroki: points -12.90, score 18.97/100, rank 46/47 (change: -30) 15:09:03 I like how it has callcc 15:09:11 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:09:12 Lymia.nyuroki: points 2.52, score 39.21/100, rank 16/47 (change: +30) 15:09:46 I used to call it foo: {} and break foo 15:11:16 !bfjoust wait [++-[+.+-]++-] 15:11:17 mroman_.wait: points -27.64, score 7.15/100, rank 47/47 (change: --) 15:11:23 !bfjoust wait [+.+-[+.+-]+.+-] 15:11:24 mroman_.wait: points -26.38, score 7.84/100, rank 47/47 (change: --) 15:11:32 !bfjoust wait [+.+.-[+.+.-]+.+.-] 15:11:34 mroman_.wait: points -14.98, score 11.23/100, rank 47/47 (change: --) 15:11:45 !bfjoust wait [+.+.-.[+.+.-.]+.+.-.] 15:11:46 mroman_.wait: points -25.36, score 9.08/100, rank 47/47 (change: --) 15:11:50 !bfjoust wait [+.+.-[+.+.-.]+.+.-] 15:11:51 mroman_.wait: points -24.40, score 9.72/100, rank 47/47 (change: --) 15:11:54 !bfjoust wait [+.+.-[+.+.-]+.+.-] 15:11:55 Is this scoring system... OK? 15:11:56 mroman_.wait: points -14.98, score 11.23/100, rank 47/47 (change: --) 15:12:24 Seems most of its score is due to preperation losing 15:12:41 !bfjoust wait [++-[+.+.-[+.+.-]+.+.-]([-]>)*-1] 15:12:43 mroman_.wait: points -16.19, score 10.94/100, rank 47/47 (change: --) 15:13:16 !bfjoust wait >>[+.+.-[+.+.-]+.+.-]>>>>([-]>)*-1] 15:13:17 mroman_: error: parse error: terminating ] without a matching [ 15:13:19 !bfjoust wait >>[+.+.-[+.+.-]+.+.-]>>>>([-]>)*-1 15:13:20 mroman_.wait: points -22.69, score 12.18/100, rank 47/47 (change: --) 15:13:36 !bfjoust wait (>)*9[+.+.-[+.+.-]+.+.-]([-]>)*-1 15:13:37 mroman_.wait: points -22.90, score 11.76/100, rank 47/47 (change: --) 15:13:48 !bfjoust wait (>->+)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1 15:13:48 mroman_.wait: points -28.45, score 8.52/100, rank 47/47 (change: --) 15:14:01 !bfjoust wait (>--->+++++++)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1 15:14:02 mroman_.wait: points -21.90, score 11.66/100, rank 47/47 (change: --) 15:14:18 !bfjoust wait (>----------->+++++++)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1 15:14:18 mroman_.wait: points -18.71, score 14.46/100, rank 47/47 (change: --) 15:14:22 ic 15:14:28 !bfjoust betterwait (-)*127 (-+)*-1 15:14:30 Lymia.betterwait: points -14.07, score 15.93/100, rank 47/47 15:14:38 !bfjoust betterwait (-)*127 (---+++)*-1 15:14:40 Lymia.betterwait: points -14.67, score 16.70/100, rank 47/47 (change: --) 15:14:51 !bfjoust wait >(-)*100>(+)*100>(-)*100>(+)*100>[+.+.-[+.+.-]+.+.-]([-]>)*-1 15:14:52 mroman_.wait: points -28.26, score 10.06/100, rank 47/47 15:15:04 !bfjoust wait (>----------->++++++++)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1 15:15:05 mroman_.wait: points -19.21, score 14.04/100, rank 47/47 (change: --) 15:15:09 !bfjoust betterwait (-)*127 (--++)*-1 15:15:11 Lymia.betterwait: points -14.21, score 16.41/100, rank 47/47 15:15:13 !bfjoust wait (>---------->+++++++)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1 15:15:14 mroman_.wait: points -18.60, score 14.46/100, rank 47/47 15:15:35 !bfjoust wait (>---------->+++++++)*4>[+.+.-[+.+.-]+.+.-]([++-]>)*-1 15:15:35 mroman_.wait: points -27.45, score 9.39/100, rank 47/47 (change: --) 15:15:45 !bfjoust wait (>---------->+++++++)*4>[+.+.-[+.+.-]+.+.-]([-][+]>)*-1 15:15:45 mroman_.wait: points -19.79, score 13.61/100, rank 47/47 (change: --) 15:15:49 !bfjoust betterwait (-)*127>+[<(-+)*-1] 15:15:50 Lymia.betterwait: points -20.29, score 11.71/100, rank 47/47 15:15:56 !bfjoust betterwait (-)*127>+[.<(-+)*-1] 15:15:57 Lymia.betterwait: points -13.79, score 16.00/100, rank 47/47 (change: --) 15:15:59 !bfjoust wait (>---------->+++++++)*4>[+.+.-[+.+.-]+.+.-]((-)*9[-]>)*-1 15:16:00 mroman_.wait: points -28.79, score 7.87/100, rank 47/47 15:16:06 !bfjoust betterwait (-)*127>+[.<(--++)*-1] 15:16:06 interesting 15:16:07 Lymia.betterwait: points -14.90, score 15.34/100, rank 47/47 15:16:09 !bfjoust betterwait (-)*127>+[.<(---+++)*-1] 15:16:10 Lymia.betterwait: points -16.10, score 15.50/100, rank 47/47 (change: --) 15:16:13 !bfjoust betterwait (-)*126 (---+++)*-1 15:16:13 int-e.betterwait: points -15.48, score 16.04/100, rank 47/47 15:16:18 !bfjoust betterwait (-)*127>+[.<(-+)*-1] 15:16:19 Lymia.betterwait: points -13.79, score 16.00/100, rank 47/47 15:16:19 !bfjoust wait (>---------->+++++++)*4>[++-[++-]++-]((-)*9[-]>)*-1 15:16:20 mroman_.wait: points -28.55, score 7.89/100, rank 47/47 15:16:27 !bfjoust wait (>---------->+++++++)*4>[++-[++-]++-]([-]>)*-1 15:16:27 mroman_.wait: points -18.50, score 14.45/100, rank 47/47 (change: --) 15:16:28 !bfjoust betterwait (+)*127 (---+++)*-1 15:16:29 int-e.betterwait: points -20.45, score 12.55/100, rank 47/47 15:16:31 !bfjoust betterwait (-)*126>+[.<(-+)*-1] 15:16:32 Lymia.betterwait: points -23.17, score 9.89/100, rank 47/47 15:16:40 !bfjoust betterwait (-)*125>+[.<(-+)*-1] 15:16:40 odd. 15:16:41 Lymia.betterwait: points -23.48, score 9.19/100, rank 47/47 (change: --) 15:16:47 !bfjoust wait (>---------->+++++++)*4>[++-]([-]>)*-1 15:16:48 mroman_.wait: points -13.76, score 18.51/100, rank 47/47 15:16:52 wow 15:16:55 new record 15:17:14 !bfjoust betterwait (+)*127 (+++---)*-1 15:17:15 int-e.betterwait: points -14.67, score 16.70/100, rank 47/47 15:17:24 !bfjoust wait (>---------->+++++++)*4>[++-](+++[-]>)*-1 15:17:25 mroman_.wait: points -14.26, score 18.39/100, rank 47/47 15:17:26 !bfjoust betterwait (+)*126 (+++---)*-1 15:17:27 int-e.betterwait: points -15.48, score 16.04/100, rank 47/47 15:17:40 !bfjoust wait (>---------->+++++++)*4>([-]>)*-1 15:17:40 mroman_.wait: points -10.88, score 21.91/100, rank 47/47 15:17:43 !bfjoust unnyuroki >>>>>>>>[(>[(-)*10[+.].[-.]]--)*21]++<[>(>[(-)*10[+.].[-.]]--)*21]--<[>>(>[(-)*10[+.].[-.]]--)*21]+<[>>>(>[(-)*10[+.].[-.]]--)*21]--<[>>>>(>[(-)*10[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.]]--)*21 15:17:44 Lymia.unnyuroki: points -0.60, score 37.40/100, rank 18/47 15:17:44 lulz 15:17:47 ... 15:18:07 !bfjoust betterwait (+)*127 (+++>+<--->-<)*-1 15:18:08 int-e.betterwait: points -18.74, score 13.91/100, rank 47/47 15:18:11 !bfjoust unnyuroki < 15:18:12 Lymia.unnyuroki: points -46.00, score 0.00/100, rank 47/47 (change: -29) 15:18:19 !bfjoust wait (>---------->+++++++)*4>([-]>[+]>)*-1 15:18:19 mroman_.wait: points -7.64, score 24.40/100, rank 45/47 15:18:22 !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*10[+.].[-.]]--)*21]++<[>(>[(-)*10[+.].[-.]]--)*21]--<[>>(>[(-)*10[+.].[-.]]--)*21]+<[>>>(>[(-)*10[+.].[-.]]--)*21]--<[>>>>(>[(-)*10[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.]]--)*21 15:18:23 Lymia.simple_nyuroki: points -0.21, score 37.94/100, rank 18/47 15:18:24 ha 15:18:28 I M ON DA FREAKING HILL 15:18:43 That's a clear. 15:18:46 Not a wait 15:18:55 Well... 15:19:00 Maybe! 15:19:01 -!- S1 has joined. 15:19:19 !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*30[+.].[-.]]--)*21]++<[>(>[(-)*30[+.].[-.]]--)*21]--<[>>(>[(-)*30[+.].[-.]]--)*21]+<[>>>(>[(-)*30[+.].[-.]]--)*21]--<[>>>>(>[(-)*30[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*30[+.].[-.]]--)*21 15:19:19 Lymia.simple_nyuroki: points -2.69, score 34.58/100, rank 22/47 (change: -4) 15:19:30 !bfjoust wait (>---------->+++++++)*4>([-]>[+]>[+]>[-]>)*-1 15:19:30 mroman_.wait: points -8.93, score 24.24/100, rank 47/47 (change: -6) 15:19:33 what, alternating between [-] and [+] helps?! 15:19:37 !bfjoust wait (>---------->+++++++)*4>([-]>[+]>)*-1 15:19:37 mroman_.wait: points -7.07, score 26.35/100, rank 41/47 (change: +6) 15:19:41 on different positions, too 15:19:45 !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*5[+.].[-.]]--)*21]++<[>(>[(-)*5[+.].[-.]]--)*21]--<[>>(>[(-)*5[+.].[-.]]--)*21]+<[>>>(>[(-)*5[+.].[-.]]--)*21]--<[>>>>(>[(-)*5[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*5[+.].[-.]]--)*21 15:19:46 Lymia.simple_nyuroki: points -2.12, score 35.38/100, rank 20/47 (change: +2) 15:20:16 !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*15[+.].[-.]]--)*21]++<[>(>[(-)*15[+.].[-.]]--)*21]--<[>>(>[(-)*15[+.].[-.]]--)*21]+<[>>>(>[(-)*15[+.].[-.]]--)*21]--<[>>>>(>[(-)*15[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*15[+.].[-.]]--)*21 15:20:18 Lymia.simple_nyuroki: points -0.05, score 37.73/100, rank 18/47 (change: +2) 15:20:46 !bfjoust wait (>---------->+++++++)*4>([-][+]>)*-1 15:20:47 mroman_.wait: points -12.05, score 20.26/100, rank 47/47 (change: -3) 15:20:53 !bfjoust wait (>---------->+++++++)*4>([+]>[-]>)*-1 15:21:02 what is bfjoust? 15:21:11 !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*10[+.].[-.]]---)*21]++<[>(>[(-)*10[+.].[-.]]---)*21]--<[>>(>[(-)*10[+.].[-.]]---)*21]+<[>>>(>[(-)*10[+.].[-.]]---)*21]--<[>>>>(>[(-)*10[+.].[-.]]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.]]---)*21 15:21:11 Lymia.simple_nyuroki: points 0.93, score 40.53/100, rank 15/47 (change: +3) 15:21:17 !bfjoust simple_nyuroki < 15:21:17 Lymia.simple_nyuroki: points -46.00, score 0.00/100, rank 47/47 (change: -32) 15:21:19 bfjoust is a spamming tool for #esoteric 15:21:20 !bfjoust nyuroki < 15:21:20 Lymia.nyuroki: points -45.00, score 0.00/100, rank 46/47 (change: -31) 15:21:25 !bfjoust wait (>---------->+++++++)*4>([+]>[-]>)*-1 15:21:26 mroman_.wait: points -4.90, score 24.50/100, rank 39/47 (change: --) 15:21:37 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]-----)*21]++<[>(>[(-)*10[+.].[-.].]-----)*21]--<[>>(>[(-)*10[+.].[-.].]-----)*21]+<[>>>(>[(-)*10[+.].[-.].]-----)*21]--<[>>>>(>[(-)*10[+.].[-.].]-----)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.].]-----)*21 15:21:38 Lymia.nyuroki: points 0.98, score 38.29/100, rank 16/47 (change: +30) 15:21:39 int-e: exactly 15:21:42 S1: it's a game: http://esolangs.org/wiki/BF_Joust 15:21:49 `? bfjoust 15:21:50 bfjoust? ¯\(°​_o)/¯ 15:21:55 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.].]---)*21 15:21:55 Lymia.nyuroki: points 1.12, score 38.08/100, rank 16/47 (change: --) 15:22:09 `learn bfjoust is a spamming tool for #esoteric. 15:22:11 I knew that. 15:22:33 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21 15:22:33 Lymia.nyuroki: points 1.31, score 38.04/100, rank 16/47 (change: --) 15:22:36 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*15(>[(-)*10[+.].[-.].]---)*21 15:22:37 Lymia.nyuroki: points 0.64, score 37.40/100, rank 17/47 (change: -1) 15:22:53 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*29(>)*15(>[(-)*10[+.].[-.].]---)*21 15:22:53 Lymia.nyuroki: points 0.69, score 37.18/100, rank 16/47 (change: +1) 15:22:58 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21 15:22:58 Lymia.nyuroki: points 1.31, score 38.04/100, rank 16/47 (change: --) 15:23:05 int-e: it's on-topic :p 15:23:13 !bfjoust wait >(>---------->+++++++)*4>([-]>[+]>)*-1 15:23:13 mroman_.wait: points -8.36, score 22.48/100, rank 46/47 (change: -3) 15:23:14 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*37<(-)*37<(-)*37<(+)*37<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21 15:23:15 Lymia.nyuroki: points 1.10, score 37.68/100, rank 16/47 (change: --) 15:23:20 !bfjoust wait (>---------->+++++++)*4>([-]>[+]>)*-1 15:23:20 mroman_.wait: points -6.21, score 24.96/100, rank 43/47 (change: +3) 15:23:23 wow 15:23:24 elliott_: yes, and it's still spam spam spam spam, lovely spam, wonderful spam 15:23:29 that that even makes a difference 15:23:31 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*101<(-)*37<(-)*101<(+)*37<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21 15:23:32 Lymia.nyuroki: points 0.64, score 36.67/100, rank 17/47 (change: -1) 15:23:38 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*101<(-)*101<(-)*101<(+)*101<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21 15:23:38 !bfjoust wait (>---------->+++++++)*4>>([-]>[+]>)*-1 15:23:39 Lymia.nyuroki: points -2.38, score 32.55/100, rank 21/47 (change: -4) 15:23:40 mroman_.wait: points -5.10, score 26.61/100, rank 37/47 (change: +5) 15:23:47 !bfjoust wait (>---------->+++++++)*4>>>([-]>[+]>)*-1 15:23:47 mroman_.wait: points -4.62, score 27.82/100, rank 34/47 (change: +3) 15:23:48 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.].]---)*21 15:23:48 Lymia.nyuroki: points 1.31, score 38.96/100, rank 16/47 (change: +5) 15:23:54 !bfjoust wait (>---------->+++++++)*4>>>>([-]>[+]>)*-1 15:23:54 mroman_.wait: points -4.02, score 29.09/100, rank 31/47 (change: +2) 15:23:58 !bfjoust wait (>---------->+++++++)*4>>>>>([-]>[+]>)*-1 15:23:58 mroman_.wait: points -4.21, score 29.25/100, rank 31/47 (change: --) 15:24:09 (damn vikings) 15:24:09 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].]---)*21]++<[>(>[(-)*10[+.].]---)*21]--<[>>(>[(-)*10[+.].]---)*21]+<[>>>(>[(-)*10[+.].]---)*21]--<[>>>>(>[(-)*10[+.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].]---)*21 15:24:10 Lymia.nyuroki: points 0.43, score 38.30/100, rank 16/47 (change: --) 15:24:39 !bfjoust wait (>--------->+++++++)*4>>>>>([-]>[+]>)*-1 15:24:40 mroman_.wait: points -4.12, score 29.42/100, rank 31/47 (change: --) 15:24:56 -!- AnotherTest has joined. 15:24:59 !bfjoust wait >--------->+++++++>---->+++>>>>>([-]>[+]>)*-1 15:24:59 mroman_.wait: points -6.29, score 24.56/100, rank 44/47 (change: -13) 15:25:05 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 15:25:06 !bfjoust wait (>---------->+++++++)*4>>>>>([-]>[+]>)*-1 15:25:06 mroman_.wait: points -4.21, score 29.47/100, rank 31/47 (change: +13) 15:25:08 Lymia.nyuroki: points 1.45, score 39.27/100, rank 16/47 (change: --) 15:25:28 !bfjoust wait (>------------->+++++++)*4>>>>>([-]>[+]>)*-1 15:25:28 mroman_.wait: points -2.07, score 33.66/100, rank 22/47 (change: +9) 15:25:32 wow 15:25:41 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-..].]---)*21]++<[>(>[(-)*10[+.].[-..].]---)*21]--<[>>(>[(-)*10[+.].[-..].]---)*21]+<[>>>(>[(-)*10[+.].[-..].]---)*21]--<[>>>>(>[(-)*10[+.].[-..].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-..].]---)*21 15:25:42 Lymia.nyuroki: points 0.90, score 39.40/100, rank 16/47 (change: --) 15:25:56 !bfjoust wait (>------------->++++++++)*4>>>>>([-]>[+]>)*-1 15:25:56 mroman_.wait: points -2.36, score 33.27/100, rank 22/47 (change: --) 15:26:01 !bfjoust wait (>-------------->++++++++)*4>>>>>([-]>[+]>)*-1 15:26:01 mroman_.wait: points -3.24, score 32.03/100, rank 24/47 (change: -2) 15:26:03 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19(>)*14(>[(-)*10[+.].[-.].]---)*21 15:26:04 Lymia.nyuroki: points 1.29, score 40.44/100, rank 16/47 (change: --) 15:26:06 !bfjoust wait (>------------->++++++++)*4>>>>>([-]>[+]>)*-1 15:26:21 !bfjoust wait (>------------->++++++++)*4>>>>>([-]>[+]>)*-1 15:26:21 mroman_.wait: points -2.36, score 33.62/100, rank 22/47 (change: --) 15:26:37 hm 15:26:42 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*10>(+)*10>(-)*10>(+)*10(>)*6(>[(-)*10[+.].[-.].]---)*21 15:26:43 Lymia.nyuroki: points 3.12, score 43.34/100, rank 12/47 (change: +4) 15:27:00 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*20>(+)*20>(-)*20>(+)*20(>)*6(>[(-)*10[+.].[-.].]---)*21 15:27:00 Lymia.nyuroki: points 2.67, score 42.41/100, rank 12/47 (change: --) 15:27:01 !bfjoust wait >(-)*13>(+)*12>(-)*11>(+)*10>>>>>([-]>[+]>)*-1 15:27:02 mroman_.wait: points -6.79, score 24.96/100, rank 44/47 (change: -22) 15:27:05 :D 15:27:06 :( 15:27:27 !bfjoust wait >(-)*6>(+)*5>(-)*4>(+)*3>>>>>([-]>[+]>)*-1 15:27:28 mroman_.wait: points -7.81, score 22.87/100, rank 46/47 (change: -2) 15:27:29 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21](+)*10<[>(>[(-)*10[+.].[-.].]---)*21](-)*10<[>>(>[(-)*10[+.].[-.].]---)*21](+)*10<[>>>(>[(-)*10[+.].[-.].]---)*21](-)*10<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*10>(+)*10>(-)*10>(+)*10(>)*6(>[(-)*10[+.].[-.].]---)*21 15:27:30 Lymia.nyuroki: points 3.40, score 41.57/100, rank 12/47 (change: --) 15:27:32 !bfjoust wait (>------------->++++++++)*4>>>>>([-]>[+]>)*-1 15:27:33 mroman_.wait: points -2.21, score 32.98/100, rank 21/47 (change: +25) 15:27:39 ok. I'll leave it at that 15:27:58 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*10>(+)*10>(-)*10>(+)*10(>)*6(>[(-)*10[+.].[-.].]---)*21 15:27:59 Lymia.nyuroki: points 3.12, score 43.34/100, rank 12/47 (change: +1) 15:30:30 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+].[-].]---)*21]++<[>(>[(-)*10[+].[-].]---)*21]--<[>>(>[(-)*10[+].[-].]---)*21]+<[>>>(>[(-)*10[+].[-].]---)*21]--<[>>>>(>[(-)*10[+].[-].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*10>(+)*10>(-)*10>(+)*10(>)*6(>[(-)*10[+].[-].]---)*21 15:30:31 Lymia.nyuroki: points 15.05, score 72.85/100, rank 5/47 (change: +7) 15:31:14 !bfjoust nyruoki >>>>>>>>[(>[(-)*10[+].[-].]---)*21]++<[>(>[(-)*10[+].[-].]---)*21]--<[>>(>[(-)*10[+].[-].]---)*21]+<[>>>(>[(-)*10[+].[-].]---)*21]--<[>>>>(>[(-)*10[+].[-].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*10>(+)*10>(-)*10>(+)*10(>)*6(>[(-)*10[+.].[-.].]---)*21 15:31:14 Lymia.nyruoki: points 3.83, score 47.14/100, rank 11/47 15:31:36 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*10>(+)*10>(-)*10>(+)*10(>)*6(>[(-)*10[+].[-].]---)*21 15:31:36 Lymia.nyuroki: points 12.00, score 66.54/100, rank 5/47 (change: --) 15:31:48 nice 15:32:07 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+].[-].]---)*21]++<[>(>[(-)*10[+].[-].]---)*21]--<[>>(>[(-)*10[+].[-].]---)*21]+<[>>>(>[(-)*10[+].[-].]---)*21]--<[>>>>(>[(-)*10[+].[-].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*15>(+)*15>(-)*15>(+)*15(>)*6(>[(-)*10[+].[-].]---)*21 15:32:07 Lymia.nyuroki: points 15.43, score 84.30/100, rank 4/47 (change: +1) 15:32:15 you're like deewiant too. one liners that top the hill 15:32:28 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+].[-].]---)*21]++<[>(>[(-)*10[+].[-].]---)*21]--<[>>(>[(-)*10[+].[-].]---)*21]+<[>>>(>[(-)*10[+].[-].]---)*21]--<[>>>>(>[(-)*10[+].[-].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+].[-].]---)*21 15:32:28 Lymia.nyuroki: points 16.88, score 90.26/100, rank 3/47 (change: +1) 15:32:32 whoa 15:32:37 you're a machine :o 15:32:38 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+].[-].]---)*21]++<[>(>[(-)*10[+].[-].]---)*21]--<[>>(>[(-)*10[+].[-].]---)*21]+<[>>>(>[(-)*10[+].[-].]---)*21]--<[>>>>(>[(-)*10[+].[-].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*35>(+)*35>(-)*35>(+)*35(>)*6(>[(-)*10[+].[-].]---)*21 15:32:38 Lymia.nyuroki: points 16.43, score 87.90/100, rank 4/47 (change: -1) 15:32:52 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+].[-].]---)*21]++<[>(>[(-)*10[+].[-].]---)*21]--<[>>(>[(-)*10[+].[-].]---)*21]+<[>>>(>[(-)*10[+].[-].]---)*21]--<[>>>>(>[(-)*10[+].[-].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*30>(+)*30>(-)*30>(+)*30(>)*6(>[(-)*10[+].[-].]---)*21 15:32:52 Lymia.nyuroki: points 16.17, score 86.12/100, rank 4/47 (change: --) 15:33:08 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+].[-].]---)*21]++<[>(>[(-)*10[+].[-].]---)*21]--<[>>(>[(-)*10[+].[-].]---)*21]+<[>>>(>[(-)*10[+].[-].]---)*21]--<[>>>>(>[(-)*10[+].[-].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+].[-].]---)*21 15:33:09 Lymia.nyuroki: points 15.71, score 84.96/100, rank 4/47 (change: --) 15:33:09 are you even changing anything 15:33:13 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+].[-].]---)*21]++<[>(>[(-)*10[+].[-].]---)*21]--<[>>(>[(-)*10[+].[-].]---)*21]+<[>>>(>[(-)*10[+].[-].]---)*21]--<[>>>>(>[(-)*10[+].[-].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*30>(+)*30>(-)*30>(+)*30(>)*6(>[(-)*10[+].[-].]---)*21 15:33:13 Lymia.nyuroki: points 16.17, score 86.12/100, rank 4/47 (change: --) 15:33:18 Decoy counts. 15:33:23 ah yeah 15:33:36 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]---)*21]++<[>(>[(-)*10[+]]---)*21]--<[>>(>[(-)*10[+]]---)*21]+<[>>>(>[(-)*10[+]]---)*21]--<[>>>>(>[(-)*10[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]---)*21 15:33:37 Lymia.nyuroki: points 17.10, score 88.92/100, rank 3/47 (change: +1) 15:34:06 !bfjoust nyuroki >>>>>>>>[(>[(-)*20[+]]---)*21]++<[>(>[(-)*20[+]]---)*21]--<[>>(>[(-)*20[+]]---)*21]+<[>>>(>[(-)*20[+]]---)*21]--<[>>>>(>[(-)*20[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*20[+]]---)*21 15:34:06 Lymia.nyuroki: points 12.33, score 71.78/100, rank 5/47 (change: -2) 15:34:20 !bfjoust nyuroki >>>>>>>>[(>[(-)*5[+]]---)*21]++<[>(>[(-)*5[+]]---)*21]--<[>>(>[(-)*5[+]]---)*21]+<[>>>(>[(-)*5[+]]---)*21]--<[>>>>(>[(-)*5[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*5[+]]---)*21 15:34:21 -!- zemhill has quit (Remote host closed the connection). 15:34:24 ... 15:34:24 uh 15:34:28 oops 15:34:31 fizzie! 15:34:43 fizzie something went wrong 15:34:57 fizzie: lymia broke zemhill to death 15:34:58 you're wearing down the hill 15:36:38 Lymia++ 15:39:26 Lymia: I think you won 15:39:41 I love this game 15:40:19 I didn't mean to win like this :( 15:40:50 bf joust is over.... lymia crowned champion 15:42:33 ... oh 15:42:36 And I have a nyruoki to kill too 15:44:30 I wonder how this gets past locks though 15:44:30 What do you always mean by nyruoki? 15:44:43 S1, I have a typoed bot on the hill. 15:44:43 :( 15:45:13 [(-)*10[+]] should be extremely easily locked, right? 15:45:23 I do not understand but I think I'll ask again when I understood the game 15:45:53 So why is smartlock a win 15:46:37 Does the --- manage to completely kill tripwires or something? 15:46:43 perhaps tripwire avoidance 15:47:03 Whoops. 15:47:14 fizzie: is it a bug 15:47:40 Same segfault as last time. 15:47:47 -!- zemhill has joined. 15:47:56 !bfjoust nyruoki < 15:47:56 Lymia.nyruoki: points -46.00, score 0.00/100, rank 47/47 (change: -36) 15:48:01 From the matrix lib, when computing supplementary scores for the json report. 15:48:04 unbreak my bot.... 15:48:05 !bfjoust nyuroki >>>>>>>>[(>[(-)*5[+]]---)*21]++<[>(>[(-)*5[+]]---)*21]--<[>>(>[(-)*5[+]]---)*21]+<[>>>(>[(-)*5[+]]---)*21]--<[>>>>(>[(-)*5[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*5[+]]---)*21 15:48:06 Lymia.nyuroki: points 13.12, score 67.65/100, rank 5/47 (change: --) 15:48:26 !bfjoust >>>>>>>>[(>[(-)*6[+]]---)*21]++<[>(>[(-)*6[+]]---)*21]--<[>>(>[(-)*6[+]]---)*21]+<[>>>(>[(-)*6[+]]---)*21]--<[>>>>(>[(-)*6[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*6[+]]---)*21 15:48:27 Lymia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 15:48:32 !bfjoust nyuroki >>>>>>>>[(>[(-)*6[+]]---)*21]++<[>(>[(-)*6[+]]---)*21]--<[>>(>[(-)*6[+]]---)*21]+<[>>>(>[(-)*6[+]]---)*21]--<[>>>>(>[(-)*6[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*6[+]]---)*21 15:48:32 Lymia.nyuroki: points 14.19, score 70.81/100, rank 5/47 (change: --) 15:48:34 the highest you've gotten is 2, right? 15:48:39 3/47 15:48:55 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]---)*21]++<[>(>[(-)*10[+]]---)*21]--<[>>(>[(-)*10[+]]---)*21]+<[>>>(>[(-)*10[+]]---)*21]--<[>>>>(>[(-)*10[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]---)*21 15:48:56 Lymia.nyuroki: points 17.43, score 84.14/100, rank 4/47 (change: +1) 15:49:02 why is the hill 47 programs anyway 15:49:06 wasn't it 50 before? 15:49:07 But I had a clone nyuroki 15:49:12 Which inflated my score 15:49:29 It was 47 in codu.org too, I don't know where that comes from. 15:49:44 I could make it a bit bigger. 15:50:18 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.]]---)*21]++<[>(>[(-)*10[+.]]---)*21]--<[>>(>[(-)*10[+.]]---)*21]+<[>>>(>[(-)*10[+.]]---)*21]--<[>>>>(>[(-)*10[+.]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+.]]---)*21 15:50:19 Lymia.nyuroki: points 2.90, score 42.76/100, rank 12/47 (change: -8) 15:50:37 eh, random magical numbers are nice. 15:50:47 47 is a lot anyway. 15:50:57 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+][..++-----]]---)*21]++<[>(>[(-)*10[+][..++-----]]---)*21]--<[>>(>[(-)*10[+][..++-----]]---)*21]+<[>>>(>[(-)*10[+][..++-----]]---)*21]--<[>>>>(>[(-)*10[+][..++-----]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+][..++-----]]---)*21 15:50:57 Lymia.nyuroki: points 16.90, score 82.78/100, rank 4/47 (change: +8) 15:51:26 !bfjoust nyuroki >>>>>>>>[(>[(+)*120[+][..++-----]]---)*21]++<[>(>[(+)*120[+][..++-----]]---)*21]--<[>>(>[(+)*120[+][..++-----]]---)*21]+<[>>>(>[(+)*120[+][..++-----]]---)*21]--<[>>>>(>[(+)*120[+][..++-----]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(+)*120[+][..++-----]]---)*21 15:51:26 Lymia.nyuroki: points -1.48, score 34.52/100, rank 20/47 (change: -16) 15:51:33 !bfjoust nyuroki >>>>>>>>[(>[(+)*120[+][..++-----]]---)*21]++<[>(>[(+)*120[+][..++-----]]---)*21]--<[>>(>[(+)*120[+][..++-----]]---)*21]+<[>>>(>[(+)*120[+][..++-----]]---)*21]--<[>>>>(>[(+)*120[+][..++-----]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+][..++-----]]---)*21 15:51:34 Lymia.nyuroki: points 15.00, score 74.71/100, rank 5/47 (change: +15) 15:51:58 !bfjoust nyuroki >>>>>>>>[(>[(+)*120[+][..++-----]]---)*21]++<[>(>[(-)*10[+][..++-----]]---)*21]--<[>>(>[(-)*10[+][..++-----]]---)*21]+<[>>>(>[(-)*10[+][..++-----]]---)*21]--<[>>>>(>[(-)*10[+][..++-----]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+][..++-----]]---)*21 15:51:59 Lymia.nyuroki: points 16.19, score 79.17/100, rank 5/47 (change: --) 15:52:00 fizzie: make it *infinite* :D 15:52:07 !bfjoust nyuroki >>>>>>>>[(>[(+)*110[+][..++-----]]---)*21]++<[>(>[(-)*10[+][..++-----]]---)*21]--<[>>(>[(-)*10[+][..++-----]]---)*21]+<[>>>(>[(-)*10[+][..++-----]]---)*21]--<[>>>>(>[(-)*10[+][..++-----]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+][..++-----]]---)*21 15:52:08 Lymia.nyuroki: points 16.17, score 79.13/100, rank 5/47 (change: --) 15:52:13 !bfjoust nyuroki >>>>>>>>[(>[(+)*120[+][..++-----]]---)*21]++<[>(>[(+)*120[+][..++-----]]---)*21]--<[>>(>[(+)*120[+][..++-----]]---)*21]+<[>>>(>[(+)*120[+][..++-----]]---)*21]--<[>>>>(>[(+)*120[+][..++-----]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+][..++-----]]---)*21 15:52:13 Lymia.nyuroki: points 15.00, score 74.71/100, rank 5/47 (change: --) 15:52:19 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+][..++-----]]---)*21]++<[>(>[(-)*10[+][..++-----]]---)*21]--<[>>(>[(-)*10[+][..++-----]]---)*21]+<[>>>(>[(-)*10[+][..++-----]]---)*21]--<[>>>>(>[(-)*10[+][..++-----]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+][..++-----]]---)*21 15:52:20 Lymia.nyuroki: points 16.90, score 82.78/100, rank 4/47 (change: +1) 15:52:40 !bfjoust nyuroki >>>>>>>>[(>[(+)*120[+][..++-----]]-)*21]++<[>(>[(+)*120[+][..++-----]]-)*21]--<[>>(>[(+)*120[+][..++-----]]-)*21]+<[>>>(>[(+)*120[+][..++-----]]-)*21]--<[>>>>(>[(+)*120[+][..++-----]]-)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(+)*120[+][..++-----]]-)*21 15:52:41 Lymia.nyuroki: points -1.05, score 35.71/100, rank 20/47 (change: -16) 15:52:55 quintopia: that's making me think of the platonic BF Joust hill 15:53:02 where every possible program is run against each other 15:53:16 I wonder what would be on top 15:53:16 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]--)*21]++<[>(>[(-)*10[+]]--)*21]--<[>>(>[(-)*10[+]]--)*21]+<[>>>(>[(-)*10[+]]--)*21]--<[>>>>(>[(-)*10[+]]--)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]--)*21 15:53:16 Lymia.nyuroki: points 17.67, score 84.19/100, rank 4/47 (change: +16) 15:53:32 elliott_, I ran that once 15:53:38 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]-)*21]++<[>(>[(-)*10[+]]-)*21]--<[>>(>[(-)*10[+]]-)*21]+<[>>>(>[(-)*10[+]]-)*21]--<[>>>>(>[(-)*10[+]]-)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]-)*21 15:53:39 Lymia.nyuroki: points 17.43, score 84.58/100, rank 4/47 (change: --) 15:53:40 the value of constant tweaking would be much decreased if you had to beat *every* program that has ever been submitted. but that's not technically feasible i guess, so maybe just have a *hall of champions* where any program that has ever reached first place cannot be deleted? 15:53:42 Forgot who won though. :( 15:53:51 (but can still be replaced) 15:54:08 quintopia, I have a zip from the old egobot hill 15:54:09 Lymia: you... did? is that even possible? 15:54:14 it's kind of an infinite amount of computation 15:54:22 elliott_, oh. 15:54:26 Not quite. 15:54:34 Every single program ever submitted to EgoBot 15:54:36 Close enough. 15:54:39 not quite infinite. 15:54:56 !bfjoust >>>>>>>>[(>[(-)*10[+]]-)*21]++<[>(>[(-)*10[+]]-)*21]--<[>>(>[(-)*10[+]]-)*21]+<[>>>(>[(-)*10[+]]-)*21]--<[>>>>(>[(-)*10[+]]-)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]-)*21 15:55:09 Lymia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 15:55:09 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]-)*21]++<[>(>[(-)*10[+]]-)*21]--<[>>(>[(-)*10[+]]-)*21]+<[>>>(>[(-)*10[+]]-)*21]--<[>>>>(>[(-)*10[+]]-)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]-)*21 15:55:09 Lymia.nyuroki: points 17.43, score 84.58/100, rank 4/47 (change: --) 15:59:36 -!- esowiki has joined. 15:59:38 -!- glogbot has joined. 15:59:40 -!- esowiki has joined. 15:59:41 -!- esowiki has joined. 15:59:53 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]->[(+)*10[-]]-)*10>[+.].[-.]]++<[>(>[(-)*10[+]]->[(+)*10[-]]-)*10>[+.].[-.]]--<[>>(>[(-)*10[+]]->[(+)*10[-]]-)*10>[+.].[-.]]+<[>>>(>[(-)*10[+]]->[(+)*10[-]]-)*10>[+.].[-.]]--<[>>>>(>[(-)*10[+]]->[(+)*10[-]]-)*10>[+.].[-.]](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]->[(+)*10[-]]-)*10>[+.].[-.] 15:59:53 Lymia.nyuroki: points 14.24, score 72.65/100, rank 5/47 (change: --) 16:00:59 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]-----)*21]++<[>(>[(-)*10[+]]-----)*21]--<[>>(>[(-)*10[+]]-----)*21]+<[>>>(>[(-)*10[+]]-----)*21]--<[>>>>(>[(-)*10[+]]-----)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]-----)*21 16:01:00 Lymia.nyuroki: points 17.40, score 84.63/100, rank 4/47 (change: +1) 16:01:14 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]---)*21]++<[>(>[(-)*10[+]]---)*21]--<[>>(>[(-)*10[+]]---)*21]+<[>>>(>[(-)*10[+]]---)*21]--<[>>>>(>[(-)*10[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]---)*21 16:01:19 !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+]]---)*21]++<[>(>[(-)*10[+]]---)*21]--<[>>(>[(-)*10[+]]---)*21]+<[>>>(>[(-)*10[+]]---)*21]--<[>>>>(>[(-)*10[+]]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]---)*21 16:01:20 Lymia.nyuroki: points 17.43, score 84.14/100, rank 4/47 (change: --) 16:01:48 !bfjoust nyuroki (>)*8[(>[(-)*10[+]]-----)*21]++<[>(>[(-)*10[+]]-----)*21]--<[>>(>[(-)*10[+]]-----)*21]+<[>>>(>[(-)*10[+]]-----)*21]--<[>>>>(>[(-)*10[+]]-----)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]-----)*21 16:01:49 Lymia.nyuroki: points 17.40, score 84.63/100, rank 4/47 (change: --) 16:02:09 !bfjoust nyuroki (>)*8[(>[(-)*10[+]]+++++)*21]++<[>(>[(-)*10[+]]+++++)*21]--<[>>(>[(-)*10[+]]+++++)*21]+<[>>>(>[(-)*10[+]]+++++)*21]--<[>>>>(>[(-)*10[+]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]+++++)*21 16:02:10 Lymia.nyuroki: points 17.50, score 84.94/100, rank 4/47 (change: --) 16:02:29 !bfjoust nyuroki (>)*8[(>[(-)*15[+]]+++++)*21]++<[>(>[(-)*15[+]]+++++)*21]--<[>>(>[(-)*15[+]]+++++)*21]+<[>>>(>[(-)*15[+]]+++++)*21]--<[>>>>(>[(-)*15[+]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*15[+]]+++++)*21 16:02:30 Lymia.nyuroki: points 15.81, score 78.22/100, rank 5/47 (change: -1) 16:02:43 !bfjoust nyuroki (>)*8[(>[(-)*8[+]]+++++)*21]++<[>(>[(-)*8[+]]+++++)*21]--<[>>(>[(-)*8[+]]+++++)*21]+<[>>>(>[(-)*8[+]]+++++)*21]--<[>>>>(>[(-)*8[+]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*8[+]]+++++)*21 16:02:43 Lymia.nyuroki: points 16.29, score 79.14/100, rank 5/47 (change: --) 16:03:07 !bfjoust nyuroki (>)*8[(>[(-)*9[+]]+++++)*21]++<[>(>[(-)*9[+]]+++++)*21]--<[>>(>[(-)*9[+]]+++++)*21]+<[>>>(>[(-)*9[+]]+++++)*21]--<[>>>>(>[(-)*9[+]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*9[+]]+++++)*21 16:03:08 Lymia.nyuroki: points 16.33, score 79.17/100, rank 5/47 (change: --) 16:03:22 !bfjoust nyuroki (>)*8[(>[(-)*10[+]]+++++)*21]++<[>(>[(-)*10[+]]+++++)*21]--<[>>(>[(-)*10[+]]+++++)*21]+<[>>>(>[(-)*10[+]]+++++)*21]--<[>>>>(>[(-)*10[+]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]+++++)*21 16:03:22 Lymia.nyuroki: points 17.50, score 84.94/100, rank 4/47 (change: +1) 16:03:31 Urgh, it's like pokemon speed creeping :( 16:04:25 !bfjoust nyuroki (>)*8[(>[(-)*10[+]][[+.].[-.].]+++++)*21]++<[>(>[(-)*10[+]][[+.].[-.].]+++++)*21]--<[>>(>[(-)*10[+]][[+.].[-.].]+++++)*21]+<[>>>(>[(-)*10[+]][[+.].[-.].]+++++)*21]--<[>>>>(>[(-)*10[+]][[+.].[-.].]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]][[+.].[-.].]+++++)*21 16:04:26 Lymia.nyuroki: points 16.71, score 81.60/100, rank 4/47 (change: --) 16:04:54 !bfjoust nyuroki (>)*8[(>[(-)*10[+]][(>[+.].[-.].+++++)*21]+++++)*21]++<[>(>[(-)*10[+]][(>[+.].[-.].+++++)*21]+++++)*21]--<[>>(>[(-)*10[+]][(>[+.].[-.].+++++)*21]+++++)*21]+<[>>>(>[(-)*10[+]][(>[+.].[-.].+++++)*21]+++++)*21]--<[>>>>(>[(-)*10[+]][(>[+.].[-.].+++++)*21]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]][(>[+.].[-.].+++++)*21]+++++)*21 16:04:55 Lymia.nyuroki: points 17.12, score 82.91/100, rank 4/47 (change: --) 16:05:21 !bfjoust nyuroki (>)*8[(>[(-)*10[+]][(>[(-)*10[+.]]+++++)*21]+++++)*21]++<[>(>[(-)*10[+]][(>[(-)*10[+.]]+++++)*21]+++++)*21]--<[>>(>[(-)*10[+]][(>[(-)*10[+.]]+++++)*21]+++++)*21]+<[>>>(>[(-)*10[+]][(>[(-)*10[+.]]+++++)*21]+++++)*21]--<[>>>>(>[(-)*10[+]][(>[(-)*10[+.]]+++++)*21]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]][(>[(-)*10[+.]]+++++)*21]+++++)*21 16:05:22 Lymia.nyuroki: points 17.17, score 83.11/100, rank 4/47 (change: --) 16:06:00 !bfjoust nyuroki (>)*8[(>[(-)*10[+]]+++++)*21]++<[>(>[(-)*10[+]]+++++)*21]--<[>>(>[(-)*10[+]]+++++)*21]+<[>>>(>[(-)*10[+]]+++++)*21]--<[>>>>(>[(-)*10[+]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+]]+++++)*21 16:06:01 Lymia.nyuroki: points 17.50, score 84.94/100, rank 4/47 (change: --) 16:06:02 Oh well. 16:06:04 Lock weakness it is 16:07:19 !bfjoust frankenstein (>)*8[(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21]++<[>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21]--<[>>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21]+<[>>>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21]--<[>>>>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*2 16:07:19 5>(-)*25>(+)*25(>)*6(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21 16:07:20 Lymia.frankenstein: points -30.74, score 7.41/100, rank 47/47 16:07:24 !bfjoust frankenstein < 16:07:30 !bfjoust frankenstein < 16:07:30 Lymia.frankenstein: points -46.00, score 0.00/100, rank 47/47 (change: --) 16:07:45 !bfjoust frankenstein (>)*8[(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----])*21]++<[>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----])*21]--<[>>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----])*21]+<[>>>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----])*21]--<[>>>>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----])*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12 16:07:45 Lymia: error: parse error: starting ( without a matching ) 16:07:45 )%3000][..++-----])*21 16:08:14 !bfjoust frankenstein (>)*8[(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21]++<[>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21]--<[>>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21]+<[>>>(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21]--<(+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[. 16:08:14 Lymia: error: parse error: starting ( without a matching ) 16:08:14 .++-----]])*21 16:08:55 !bfjoust frakenstein http://pastebin.com/raw.php?i=9jq7wP8Z 16:08:56 Lymia.frakenstein: points 21.02, score 100.00/100, rank 1/47 16:09:16 Good job 16:09:19 !bfjoust frakenstein < 16:09:19 Lymia.frakenstein: points -46.00, score 0.00/100, rank 47/47 (change: -46) 16:09:37 I welded ais523.monolith's clear loop to nyuroki's body. 16:10:47 @tell ais523 I tried wielding monolith's clear loop to nyuroki's body. Lymia.frakenstein: points 21.02, score 100.00/100, rank 1/47 16:10:47 Consider it noted. 16:10:56 -!- lifthrasiir has quit (Ping timeout: 272 seconds). 16:11:39 @tell ais523 Perhaps we should cooperate, and put it back on the hill with your permission~? 16:11:40 Consider it noted. 16:12:17 elliott_, I'm allowed to do this, right? 16:13:03 ([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21 16:13:09 OK, let's analyse this and write my own variant... 16:14:59 !bfjoust nyuroki (>)*8[(>[(-)*10[+[+]]]+++++)*21]++<[>(>[(-)*10[+[+]]]+++++)*21]--<[>>(>[(-)*10[+[+]]]+++++)*21]+<[>>>(>[(-)*10[+[+]]]+++++)*21]--<[>>>>(>[(-)*10[+[+]]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+[+]]]+++++)*21 16:15:00 Lymia.nyuroki: points 16.45, score 80.28/100, rank 4/47 (change: --) 16:15:17 !bfjoust nyuroki (>)*8[(>[(-)*10[+.[+]]]+++++)*21]++<[>(>[(-)*10[+.[+]]]+++++)*21]--<[>>(>[(-)*10[+.[+]]]+++++)*21]+<[>>>(>[(-)*10[+.[+]]]+++++)*21]--<[>>>>(>[(-)*10[+.[+]]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+.[+]]]+++++)*21 16:15:18 Lymia.nyuroki: points 16.31, score 80.25/100, rank 4/47 (change: --) 16:15:33 !bfjoust nyuroki (>)*8[(>[(-)*10[+.[+.]]]+++++)*21]++<[>(>[(-)*10[+.[+.]]]+++++)*21]--<[>>(>[(-)*10[+.[+.]]]+++++)*21]+<[>>>(>[(-)*10[+.[+.]]]+++++)*21]--<[>>>>(>[(-)*10[+.[+.]]]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10[+.[+.]]]+++++)*21 16:15:33 Lymia.nyuroki: points 1.81, score 41.01/100, rank 15/47 (change: -11) 16:16:48 -!- lifthrasiir has joined. 16:16:51 -!- drdanmaku has joined. 16:16:54 !bfjoust nyuroki (>)*8[(>[(-)*10([+{}])*100{}]+++++)*21]++<[>(>[(-)*10([+{}])*100{}]+++++)*21]--<[>>(>[(-)*10([+{}])*100{}]+++++)*21]+<[>>>(>[(-)*10([+{}])*100{}]+++++)*21]--<[>>>>(>[(-)*10([+{}])*100{}]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10([+{}])*100{}]+++++)*21 16:16:54 Lymia.nyuroki: points -7.71, score 25.87/100, rank 41/47 (change: -26) 16:17:19 !bfjoust nyuroki (>)*8[(>[(-)*10([+{[-.]}])*1000{}]+++++)*21]++<[>(>[(-)*10([+{[-.]}])*1000{}]+++++)*21]--<[>>(>[(-)*10([+{[-.]}])*1000{}]+++++)*21]+<[>>>(>[(-)*10([+{[-.]}])*1000{}]+++++)*21]--<[>>>>(>[(-)*10([+{[-.]}])*1000{}]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10([+{[-.]}])*1000{}]+++++)*21 16:17:19 Lymia.nyuroki: points -8.88, score 25.60/100, rank 43/47 (change: -2) 16:18:02 !bfjoust nyuroki (>)*8[(>[(-)*10([+{[-.]}]{})*1000]+++++)*21]++<[>(>[(-)*10([+{[-.]}]{})*1000]+++++)*21]--<[>>(>[(-)*10([+{[-.]}]{})*1000]+++++)*21]+<[>>>(>[(-)*10([+{[-.]}]{})*1000]+++++)*21]--<[>>>>(>[(-)*10([+{[-.]}]{})*1000]+++++)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19>>>>>(-)*25>(+)*25>(-)*25>(+)*25(>)*6(>[(-)*10([+{[-.]}]{})*1000]+++++)*21 16:18:02 Lymia: error: parse error: encountered second { on a same level 16:19:42 -!- SirCmpwn has quit (Ping timeout: 272 seconds). 16:22:23 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:22:24 Lymia.nyuroki: points 20.57, score 100.00/100, rank 1/47 (change: +42) 16:23:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:23:06 Lymia.nyuroki: points 21.05, score 100.00/100, rank 1/47 (change: --) 16:27:50 -!- diginet has quit (Quit: diginet has quit!). 16:28:00 -!- lifthrasiir has quit (Ping timeout: 250 seconds). 16:28:41 -!- SirCmpwn has joined. 16:29:31 -!- conehead has joined. 16:29:48 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 16:29:48 Lymia.nyuroki: points 21.05, score 100.00/100, rank 1/47 (change: --) 16:31:54 -!- diginet has joined. 16:32:37 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:32:38 Lymia.nyuroki: points -5.50, score 26.64/100, rank 36/47 (change: -35) 16:33:11 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:33:12 Lymia.nyuroki: points 22.31, score 100.00/100, rank 1/47 (change: +35) 16:34:39 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:34:40 Lymia.nyuroki: points 18.14, score 92.05/100, rank 4/47 (change: -3) 16:34:57 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:34:58 Lymia.nyuroki: points 20.17, score 100.00/100, rank 1/47 (change: +3) 16:35:49 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:35:50 Lymia.nyuroki: points 16.52, score 84.03/100, rank 5/47 (change: -4) 16:36:08 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:36:08 Lymia.nyuroki: points 21.67, score 100.00/100, rank 1/47 (change: +4) 16:36:29 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:36:30 Lymia.nyuroki: points 21.76, score 100.00/100, rank 1/47 (change: --) 16:36:50 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:36:51 Lymia.nyuroki: points 22.43, score 100.00/100, rank 1/47 (change: --) 16:36:59 -!- lifthrasiir has joined. 16:37:17 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:37:18 Lymia.nyuroki: points 19.40, score 99.63/100, rank 2/47 (change: -1) 16:37:38 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:37:38 Lymia.nyuroki: points 21.50, score 100.00/100, rank 1/47 (change: +1) 16:37:56 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:37:57 Lymia.nyuroki: points 21.90, score 100.00/100, rank 1/47 (change: --) 16:38:16 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:38:16 Lymia.nyuroki: points 22.43, score 100.00/100, rank 1/47 (change: --) 16:38:44 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:38:45 Lymia.nyuroki: points 21.48, score 100.00/100, rank 1/47 (change: --) 16:39:01 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:39:02 Lymia.nyuroki: points 22.43, score 100.00/100, rank 1/47 (change: --) 16:39:36 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 16:39:36 Lymia.nyuroki: points 22.43, score 100.00/100, rank 1/47 (change: --) 16:40:55 -!- AndoDaan has joined. 16:42:47 Lymia: What is a hill? 16:43:04 1. (33) hill -- (a local and well-defined elevation of the land; "they loved to roam the hills of West Virginia") 16:43:48 So, yay 16:43:50 I won BF Joust! 16:44:02 FOR NOW 16:44:14 Oh I see 16:44:15 -!- AndoDaan has quit (Remote host closed the connection). 16:45:20 -!- AndoDaan has joined. 16:50:37 Rebuilding a non-prerelease version of the matrix lib at the moment, perhaps that'll cure the crashing. 16:50:48 distcc[6325] ERROR: compile math.cpp on fis@momus.zem.fi failed 16:50:52 Or perhaps not! 16:51:41 Hmm, it's missing some CBLAS function declarations. That's curious. 16:51:50 Maybe the ATLAS version is too old or something. 16:52:26 A population of size S has an upcoming vote. It is known that p% will vote YES and (100-p)% will vote NO. How many people can die before the day of the vote without changing the outcome? 16:53:46 /* Applies a plane rotation. From ATLAS 3.8.4. */ ii libatlas-base-dev 3.8.4-9+deb7u1 no, that should be fine. 16:54:21 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:54:25 Lymia.nyuroki: points -29.98, score 7.04/100, rank 46/47 (change: -45) 16:54:34 mroman_: If you're going to use mass murder as a tool of affecting the Scottish independence vote, you're a bit late. 16:55:41 I'm not under the crown. 16:55:43 -!- MoALTz has joined. 16:56:13 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:56:14 Lymia.nyuroki: points -29.98, score 7.04/100, rank 46/47 (change: --) 16:56:27 !bfjoust >(-)*13>(+)*7)*2(>(-)*10>(+)*5)*2>>>>>([-]>[+]>)*-1 16:56:27 mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 16:56:35 !bfjoust whoot >(-)*13>(+)*7)*2(>(-)*10>(+)*5)*2>>>>>([-]>[+]>)*-1 16:56:35 mroman_: error: parse error: terminating ) without a matching ( 16:56:38 http://sprunge.us/AYLB this library fills me with confidence 16:56:48 !bfjoust whoot (>(-)*13>(+)*7)*2(>(-)*10>(+)*5)*2>>>>>([-]>[+]>)*-1 16:56:49 mroman_.whoot: points -4.24, score 30.69/100, rank 31/47 16:57:11 !bfjoust whoot (>(-)*10>(+)*5)*2(>(-)*10>(+)*5)*2>>>>>([-]>[+]>)*-1 16:57:11 mroman_.whoot: points -6.05, score 28.13/100, rank 34/47 (change: -3) 16:57:29 !bfjoust whoot (>(-)*15>(+)*9)*2(>(-)*13>(+)*7)*2>>>>>([-]>[+]>)*-1 16:57:30 mroman_.whoot: points -4.57, score 31.78/100, rank 28/47 (change: +6) 16:57:42 !bfjoust whoot (>(-)*15>(+)*9)*2(>(-)*15>(+)*9)*2>>>>>([-]>[+]>)*-1 16:57:43 mroman_.whoot: points -5.00, score 30.80/100, rank 32/47 (change: -4) 16:57:59 !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*13>(+)*13)*2>>>>>([-]>[+]>)*-1 16:57:59 mroman_.whoot: points -4.67, score 31.67/100, rank 26/47 (change: +6) 16:58:10 "Word to the wise: These gems have been tested, but are not battle-hardened. If you’re thinking of using NMatrix (or other SciRuby components) to write mission critical code, such as for a self-driving car or controlling an ARKYD 100 satellite [or a BF Joust hill?], you should expect to encounter a few bugs — and be prepared for them." 16:58:17 !bfjoust whoot (>(-)*13>(+)*13)*2(>(+)*13>(+)*13)*2>>>>>([-]>[+]>)*-1 16:58:17 mroman_.whoot: points -5.55, score 29.81/100, rank 33/47 (change: -7) 16:58:30 !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*19>(+)*19)*2>>>>>([-]>[+]>)*-1 16:58:30 mroman_.whoot: points -5.64, score 30.29/100, rank 33/47 (change: --) 16:58:38 !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*13>(+)*13)*2>>>>>([-]>[+]>)*-1 16:58:39 mroman_.whoot: points -4.67, score 31.67/100, rank 26/47 (change: +7) 16:58:43 fungot: Do you think that thing is "mission critical"? 16:58:43 fizzie: what was the fnord of the baron, who yelled with the pain. easier i count it to explain the fnord of luggage, which announced their owner to be " fnord" 16:58:52 -!- AndoDaan has quit (Remote host closed the connection). 16:58:58 !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*13>(+)*13)*2(>-)*5([-]>[+]>)*-1 16:58:59 mroman_.whoot: points -11.14, score 24.22/100, rank 46/47 (change: -20) 16:59:09 !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*13>(+)*13)*2(>)*5([-]>[+]>)*-1 16:59:10 mroman_.whoot: points -4.67, score 31.67/100, rank 26/47 (change: +20) 16:59:13 -!- AndoDaan has joined. 16:59:15 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 16:59:16 Lymia.nyuroki: points -30.83, score 7.82/100, rank 47/47 (change: --) 16:59:29 so it's incredibly important to rush fast to the right 17:00:03 !bfjoust toggle_clear (>)*9([-]>[+]>)*-1 17:00:03 mroman_.toggle_clear: points -9.12, score 24.68/100, rank 46/47 17:00:11 !bfjoust toggle_clear (>)*13([-]>[+]>)*-1 17:00:12 mroman_.toggle_clear: points -16.33, score 17.25/100, rank 47/47 (change: -1) 17:00:19 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 17:00:20 Lymia.nyuroki: points -25.38, score 12.23/100, rank 47/47 17:00:53 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 17:00:54 Lymia.nyuroki: points -15.74, score 20.62/100, rank 47/47 (change: --) 17:01:05 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 17:01:06 Lymia.nyuroki: points 21.57, score 100.00/100, rank 1/47 (change: +46) 17:01:09 !bfjoust toggle_clear (>->-)*5([-]>[+]>)*-1 17:01:10 mroman_.toggle_clear: points -21.55, score 10.06/100, rank 47/47 17:02:59 -!- jix_ has quit (Remote host closed the connection). 17:03:58 !bfjoust toggle_wait_clear ((>)*9[-]>[+]>(<)*10(++-)*100(--+)*100)*-1 17:03:59 mroman_.toggle_wait_clear: points -27.19, score 8.78/100, rank 47/47 17:04:58 -!- jix has joined. 17:05:18 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:05:20 Lymia.fetch: points -4.48, score 28.87/100, rank 25/47 17:06:24 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:06:25 Lymia.fetch: points -8.19, score 23.73/100, rank 41/47 (change: -16) 17:07:54 !bfjoust whoot >->++>--->++++>----->++++++>------->++++++++>>>>>([-]>[+]>)*-1 17:07:54 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:07:54 mroman_.whoot: points -12.24, score 18.06/100, rank 47/47 (change: -18) 17:07:55 Lymia.fetch: points -6.36, score 28.89/100, rank 27/47 (change: +14) 17:08:52 -!- AndoDaan has quit (Remote host closed the connection). 17:09:04 !bfjoust whoot >->++>--->++++>----->++++++>------->>>>>>([-]>[+]>)*-1 17:09:05 mroman_.whoot: points -11.81, score 19.46/100, rank 47/47 (change: --) 17:09:14 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:09:15 Lymia.fetch: points 1.67, score 40.53/100, rank 11/47 (change: +16) 17:09:21 -!- AndoDaan has joined. 17:09:31 Yay, I think the concurrency didn't mess anything up, even though those were kind of interlaced. 17:09:41 (It's supposed to serialize the actual execution part.) 17:10:03 !bfjoust wait (>------------->+++++++)*4>>>>>([-]>[+]>)*-1 17:10:06 mroman_.wait: points -4.36, score 29.27/100, rank 23/47 (change: +3) 17:10:25 !bfjoust wait (>------------->+++++++)*4>>>>>([-[+]]>[+]>)*-1 17:10:26 mroman_.wait: points -6.05, score 26.55/100, rank 34/47 (change: -11) 17:10:36 !bfjoust wait (>------------->+++++++)*4>>>>>([-]>[+--]>)*-1 17:10:37 mroman_.wait: points -13.62, score 18.46/100, rank 46/47 (change: -12) 17:10:42 !bfjoust wait (>------------->+++++++)*4>>>>>([-]>[+[-]]>)*-1 17:10:43 mroman_.wait: points -6.07, score 27.04/100, rank 32/47 (change: +14) 17:11:03 !bfjoust wait (>------------->+++++++)*4>>>>>([-[+]]>[+[-]]>)*-1 17:11:04 mroman_.wait: points -3.24, score 30.81/100, rank 22/47 (change: +10) 17:11:14 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:11:15 Lymia.fetch: points 9.31, score 53.92/100, rank 6/47 (change: +6) 17:11:33 !bfjoust wait (>------------->+++++++)*4>>>>>([--[+]]>[++[-]]>)*-1 17:11:34 mroman_.wait: points -2.40, score 33.14/100, rank 21/47 (change: +1) 17:11:41 !bfjoust wait (>------------->+++++++)*4>>>>>([---[+]]>[+++[-]]>)*-1 17:11:42 mroman_.wait: points -0.71, score 35.86/100, rank 19/47 (change: +2) 17:11:54 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*3[+]]>[(+)*3[-]]>)*-1 17:11:55 mroman_.wait: points -0.71, score 35.86/100, rank 19/47 (change: --) 17:11:59 I was thinking of maybe at some point producing a big plot of all the rankings on the hill, with one line for each program name that's been used. Something a bit like those software timeline plots you see for all kinds of things. 17:12:03 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*4[+]]>[(+)*4[-]]>)*-1 17:12:05 mroman_.wait: points 0.50, score 38.41/100, rank 14/47 (change: +5) 17:12:12 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*5[+]]>[(+)*5[-]]>)*-1 17:12:13 mroman_.wait: points 2.17, score 40.87/100, rank 13/47 (change: +1) 17:12:18 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:12:19 mroman_.wait: points 3.19, score 42.38/100, rank 11/47 (change: +2) 17:12:25 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*7[+]]>[(+)*7[-]]>)*-1 17:12:27 mroman_.wait: points 4.21, score 44.39/100, rank 11/47 (change: --) 17:12:34 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*8[+]]>[(+)*8[-]]>)*-1 17:12:49 hm 17:12:52 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*8[+]]>[(+)*8[-]]>)*-1 17:12:52 mroman_.wait: points 3.64, score 42.93/100, rank 11/47 (change: --) 17:12:59 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*9[+]]>[(+)*9[-]]>)*-1 17:13:00 mroman_.wait: points 3.45, score 42.39/100, rank 11/47 (change: --) 17:13:05 ok then 17:13:33 fizzie: is there an url for the hill? 17:14:26 !bfjoust 17:14:26 fizzie: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 17:14:29 There. 17:14:43 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:14:44 Lymia.fetch: points 2.81, score 37.47/100, rank 13/47 (change: -7) 17:14:45 (It's slightly work-in-progress.) 17:15:07 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:15:08 Lymia.fetch: points 3.12, score 40.85/100, rank 13/47 (change: --) 17:15:40 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:15:41 Lymia.fetch: points 3.45, score 40.37/100, rank 13/47 (change: --) 17:16:09 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:16:13 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:16:15 Lymia.fetch: points 9.55, score 55.40/100, rank 6/47 (change: --) 17:16:23 also how does a careless clear work? 17:16:26 (-)*128. 17:16:33 ^- this never advances to the opponents flag? 17:16:53 oh 17:16:53 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:16:54 Lymia.fetch: points 9.40, score 54.86/100, rank 6/47 (change: --) 17:16:54 nvm 17:17:14 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:17:16 Lymia.fetch: points 8.45, score 52.79/100, rank 6/47 (change: --) 17:18:16 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:18:17 Lymia.fetch: points 9.55, score 55.40/100, rank 6/47 (change: --) 17:18:41 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:18:42 Lymia.fetch: points 9.55, score 55.40/100, rank 6/47 (change: --) 17:19:12 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*12[+]]>[(+)*12[-]]>)*-1 17:19:12 mroman_.wait: points 4.12, score 43.78/100, rank 11/47 (change: --) 17:19:16 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:19:17 Lymia.fetch: points 9.02, score 53.99/100, rank 6/47 (change: --) 17:19:22 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*20[+]]>[(+)*20[-]]>)*-1 17:19:23 mroman_.wait: points -0.62, score 33.94/100, rank 21/47 (change: -10) 17:19:32 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:19:33 mroman_.wait: points 3.19, score 42.38/100, rank 11/47 (change: +10) 17:19:47 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:19:48 Lymia.fetch: points 9.50, score 55.36/100, rank 6/47 (change: --) 17:20:02 -!- AndoDaan has quit (Remote host closed the connection). 17:20:55 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*3[(-)*6[+]]]>[(-)*3[(+)*6[-]]]>)*-1 17:20:56 mroman_.wait: points -1.86, score 34.19/100, rank 21/47 (change: -10) 17:21:06 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*3[(-)*9[+]]]>[(-)*3[(+)*9[-]]]>)*-1 17:21:06 mroman_.wait: points 2.24, score 40.91/100, rank 13/47 (change: +8) 17:21:17 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*8[(-)*9[+]]]>[(-)*8[(+)*9[-]]]>)*-1 17:21:17 mroman_.wait: points -7.21, score 26.40/100, rank 32/47 (change: -19) 17:21:23 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*2[(-)*9[+]]]>[(-)*2[(+)*9[-]]]>)*-1 17:21:24 mroman_.wait: points 2.48, score 40.71/100, rank 13/47 (change: +19) 17:21:33 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*1[(-)*9[+]]]>[(-)*1[(+)*9[-]]]>)*-1 17:21:42 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*1[(-)*9[+]]]>[(-)*1[(+)*9[-]]]>)*-1 17:21:43 mroman_.wait: points 3.10, score 41.69/100, rank 13/47 (change: --) 17:21:47 hm 17:22:07 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*9[(-)*2[+]]]>[(-)*9[(+)*1[-]]]>)*-1 17:22:08 mroman_.wait: points -12.31, score 21.66/100, rank 46/47 (change: -33) 17:22:13 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*9[(-)*2[+]]]>[(-)*9[(+)*2[-]]]>)*-1 17:22:13 mroman_.wait: points -12.36, score 21.57/100, rank 46/47 (change: --) 17:22:26 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*6[(-)*3[+]]]>[(-)*6[(+)*3[-]]]>)*-1 17:22:26 mroman_.wait: points -9.48, score 23.61/100, rank 44/47 (change: +2) 17:23:10 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*0[(-)*9[+]]]>[(-)*0[(+)*9[-]]]>)*-1 17:23:11 mroman_.wait: points 3.00, score 41.67/100, rank 13/47 (change: +31) 17:23:21 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*128[(-)*9[+]]]>[(-)*128[(+)*9[-]]]>)*-1 17:23:22 mroman_.wait: points -16.24, score 16.20/100, rank 47/47 (change: -34) 17:23:26 :( 17:23:39 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*64[(-)*9[+]]]>[(-)*64[(+)*9[-]]]>)*-1 17:23:40 mroman_.wait: points -15.02, score 17.87/100, rank 47/47 (change: --) 17:23:46 -!- AndoDaan has joined. 17:23:56 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*9[(-)*128[+]]]>[(-)*9[(+)*128[-]]]>)*-1 17:24:09 !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*9[(-)*128[+]]]>[(-)*9[(+)*128[-]]]>)*-1 17:24:09 mroman_.wait: points -22.76, score 11.96/100, rank 47/47 (change: --) 17:24:28 !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:24:29 mroman_.wait: points 3.19, score 42.38/100, rank 11/47 (change: +36) 17:24:49 I'd love to set up more decoys but it's not going well :( 17:24:53 !bfjoust wait (>------------->+++++++)*4>->>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:24:54 mroman_.wait: points 3.64, score 43.29/100, rank 11/47 (change: --) 17:24:58 !bfjoust wait (>------------->+++++++)*4>->+>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:24:58 mroman_.wait: points 3.55, score 43.23/100, rank 11/47 (change: --) 17:25:05 !bfjoust wait (>------------->+++++++)*4>-------->+>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:25:05 mroman_.wait: points 3.50, score 43.10/100, rank 11/47 (change: --) 17:25:10 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:25:11 Lymia.fetch: points -11.21, score 19.81/100, rank 46/47 (change: -40) 17:25:15 !bfjoust wait (>------------->+++++++)*4>-------->+>++++++++>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:25:23 !bfjoust wait (>------------->+++++++)*4>-------->+>++++++++>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:25:23 mroman_.wait: points 4.43, score 41.73/100, rank 11/47 (change: --) 17:25:43 !bfjoust wait (>------------->+++++++)*4>-------->+>++++++++>----------------->([(-)*6[+]]>[(+)*6[-]]>)*-1 17:25:44 mroman_.wait: points 4.24, score 41.34/100, rank 11/47 (change: --) 17:25:48 yeah 17:25:56 !bfjoust fetch http://lymia.moe/~lymia/fetch.bf 17:25:57 Lymia.fetch: points 9.31, score 54.79/100, rank 6/47 (change: +40) 17:26:11 !bfjoust fetch < 17:26:11 Lymia.fetch: points -46.00, score 0.00/100, rank 47/47 (change: -41) 17:26:25 !bfjoust wait (>------------->+++++++)*6>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:26:26 mroman_.wait: points 4.43, score 40.59/100, rank 11/47 (change: --) 17:26:43 doesn't seem to help to setup more decoys 17:27:11 !bfjoust wait (>------------->+++++++)*3>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:27:11 mroman_.wait: points 4.21, score 40.71/100, rank 11/47 (change: --) 17:27:20 neither does setting up less decoys 17:27:28 !bfjoust wait (>------------->+++++++)*2>>>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:27:29 mroman_.wait: points 3.83, score 38.98/100, rank 12/47 (change: -1) 17:27:33 ok 17:27:37 that's too few decoys then 17:27:41 !bfjoust wait (>------------->+++++++)*2>>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:27:41 mroman_.wait: points 5.10, score 41.04/100, rank 11/47 (change: +1) 17:27:46 !bfjoust 17:27:46 quintopia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 17:27:46 !bfjoust wait (>------------->+++++++)*2>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:27:47 mroman_.wait: points 5.33, score 41.09/100, rank 11/47 (change: --) 17:27:59 !bfjoust wait >>>>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:28:00 mroman_.wait: points -6.17, score 24.98/100, rank 35/47 (change: -24) 17:28:08 !bfjoust wait >>>>>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:28:09 mroman_.wait: points -7.67, score 23.28/100, rank 40/47 (change: -5) 17:28:13 !bfjoust wait >>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:28:20 !bfjoust wait >>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:28:20 mroman_.wait: points -6.60, score 24.53/100, rank 37/47 (change: --) 17:28:27 !bfjoust wait >([(-)*6[+]]>[(+)*6[-]]>)*-1 17:28:28 mroman_.wait: points -15.74, score 15.32/100, rank 46/47 (change: -9) 17:28:54 !bfoust wait (>------------->+++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:28:55 congratulations on topping the hill Lymia 17:29:06 !bfoust wait (>------------->+++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:29:12 !bfjoust wait (>------------->+++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:29:13 mroman_.wait: points 5.10, score 41.88/100, rank 11/47 (change: +35) 17:29:13 :D 17:29:24 !bfjoust wait (>------------->++++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:29:25 mroman_.wait: points 4.88, score 41.42/100, rank 11/47 (change: --) 17:29:33 !bfjoust wait (>------------->+++++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:29:42 bleh 17:29:44 this is buggy :) 17:29:46 !bfjoust wait (>------------->+++++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 17:29:47 mroman_.wait: points 5.14, score 42.00/100, rank 11/47 (change: --) 17:30:13 11 rank is pretty good for having no clue what I'm doing :) 17:30:19 indeed 17:30:33 well 17:30:36 so if I get this right the program competes against all other submitted programs? 17:30:39 I know sort of what I'm doing 17:30:51 usually decoys are >(-)*n>(+)*n 17:31:06 which means that by doing [-]>[+]> you can somehow counter that I guess 17:31:40 mroman_: only on half the tape lengths and polarities 17:32:06 polarity what? 17:32:20 -!- S1 has quit (Quit: S1). 17:32:40 I probably should read BF Joust 17:32:43 POLE AIR IT TEA 17:32:45 you should 17:33:09 and BF Joust Strategies 17:33:23 WHICH PROBABLY NEEDS TO BE UPDATED 17:33:26 Reading is for nerds though 17:33:30 to include the latest champions 17:33:34 BF Joust is for nerds 17:33:56 is it? 17:36:28 I guess the media was wrong about nerds then 17:36:36 I can easily do one-handed push ups 17:36:53 ...you think? 17:37:32 I am suspected of having Asperger's though 17:38:07 no one is willing to confirm a diagnosis? 17:39:15 They made some "test" asked me some questions but they said it was inconclusive 17:39:51 so it's obviously (if it is some form of asperger) not a really severe form of it 17:41:45 It wouldn't help anyway to know for sure. 17:42:02 hm. 17:42:11 I mean "it won't help if I know for sure" 17:42:23 damn. this is still two sided? 17:45:26 -!- AndoDaan has quit (Remote host closed the connection). 17:45:50 -!- AndoDaan has joined. 17:48:29 well if it's not very severe, that should mean you don't have to worry about the worst of the effects anyway, yes? 17:50:27 Gem::InstallError: rake-compiler requires RubyGems version >= 1.8.25. Try 'gem update --system' to update RubyGems itself. 17:50:32 Sigh. 17:50:49 what are you doing 17:51:22 I'm suicidal, depressive and some sort of anxiety disthingy 17:51:28 Trying to go either forward or backward from the broken library. 17:52:29 ^bf ++++++++[>++++++++<-]. 17:52:41 ^bf ++++++++[>+++++++++<-]. 17:52:47 uhh 17:52:54 You need to move right by one. 17:53:01 oh 17:53:05 ^bf ++++++++[>++++++++<-]>. 17:53:05 @ 17:53:07 thanks 17:54:57 So whatever side-effects of real aspergers are 17:55:04 I have enough effects already 17:56:06 ^bf +.++++++++[>+++++++++<-]>+++.<+++[>----<-]>+.++++.--------.<+. 17:56:07 TIME 17:56:07 TIME Wed Sep 24 19:56:06 CEST 2014 17:56:49 Shouldn't idris-bot be replying to fungot, not to #esoteric? 17:56:49 GeekDude: the girls ( just like them!" said the sub-warden: but he was very proud and fnord he said " you needn't shout so loud!" the vice-warden replied. " do the waiters invite the guests?" i said, and wondering looked at me inquisitively, but he was good for fnord fnord is: and then sometimes it's very difficult to get him to express his opinion as to uggug's cleverness, were in fnord of the fnord, she gave a fnord bark: he, 17:56:57 I think so. 17:57:29 Huh? 17:57:45 maybe idris-bot is time-exhibitionistic 17:58:06 what 17:58:13 Then again, channel CTCPs are kind of vague. 17:58:14 Oh fun, it sent a notice that I didn’t get or my client isn’t displaying. 17:58:29 Exhibitionism is the act of exposing in a public or semi-public context those parts of one's body that are not normally exposed 17:58:31 so... 17:58:35 my belly button? 17:58:48 [[ The first phase is to send the request. This is done with a "privmsg" command (either to a nick or to a channel -- it doesn't matter). The second phase is to send a reply. This is done with a "notice" command. ]] 17:59:01 It doesn't really say where the reply should go, but to the sender directly is what everyone else does. 17:59:33 Ah, it’s in the Freenode buffer. 18:04:44 * Melvar digs in simpleirc. 18:05:10 It replies CTCPs to the Origin, which is a channel if the received message was to a channel. 18:08:21 Isn't the channel the destination, not the origin? 18:11:52 Yeah, I’m referring to the mOrigin field of IrcMessage in simpleirc, which is equal to mNick if the message was directed to the simpleirc-using client and equal to mChan if it was to a channel. 18:19:54 -!- S1 has joined. 18:43:44 The bot thing I built zemhill on handles that by having "user" and "target" attributes that make (IRC-level) sense, and just providing a "reply" method that replies to the user (if it was a private message, with the bot as target) or on channel (if the target was a channel), optionally with a "nick: " prefix in the latter case. 18:56:19 -!- Sprocklem has joined. 18:58:17 I like how my wait beats some of the ridiculuously long and complicated programs 19:00:49 like space_elevator 19:01:05 It's 400 lines of bfjoust code o_O 19:01:57 really long programs are usually at least partially generated 19:03:50 Is there a minihill 19:03:53 for <50chars? 19:04:15 -!- not^v has joined. 19:04:15 http://i.4cdn.org/g/1411578633367.png 19:04:47 Lymia: allowed to do what? 19:05:26 Lymia: making derivatives of other people's programs? that's a large part of why I was ever at all high up on the hill, so I'd be a hypocrite to say no <_< 19:07:00 can you do x*9 19:07:06 instead of (x)*9? 19:07:38 no 19:08:16 !bfjoust wait (>(-)*13>(+)*9)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1 19:08:17 mroman_.wait: points 5.14, score 42.00/100, rank 11/47 (change: --) 19:09:10 !bfjoust decoy_only (>(-)*13>(+)*9)*4(.)*-1 19:09:11 mroman_.decoy_only: points -37.60, score 4.20/100, rank 47/47 19:09:30 !bfjoust decoy_only (>(-)*13>(+)*9)*4([-]>)*-1 19:09:31 mroman_.decoy_only: points -12.19, score 21.27/100, rank 46/47 (change: +1) 19:09:50 !bfjoust decoy_only (>(-)*13>(+)*9)*5([-]>)*-1 19:09:51 mroman_.decoy_only: points -6.83, score 26.25/100, rank 35/47 (change: +11) 19:09:59 !bfjoust decoy_only (>(-)*13>(+)*9)*6([-]>)*-1 19:09:59 mroman_.decoy_only: points -5.00, score 28.38/100, rank 29/47 (change: +6) 19:10:17 !bfjoust decoy_only (>(-)*13>(+)*9)*6([(+)*6[-]]>)*-1 19:10:18 mroman_.decoy_only: points 2.24, score 39.24/100, rank 14/47 (change: +15) 19:10:44 !bfjoust decoy_only (>(-)*19>(+)*13)*6([(+)*6[-]]>)*-1 19:10:45 mroman_.decoy_only: points -0.48, score 35.47/100, rank 17/47 (change: -3) 19:10:52 !bfjoust decoy_only (>(-)*10>(+)*10)*6([(+)*6[-]]>)*-1 19:10:53 mroman_.decoy_only: points -0.83, score 31.52/100, rank 21/47 (change: -4) 19:10:59 !bfjoust decoy_only (>(-)*13>(+)*13)*6([(+)*6[-]]>)*-1 19:11:01 mroman_.decoy_only: points 1.05, score 38.50/100, rank 15/47 (change: +6) 19:11:05 !bfjoust decoy_only (>(-)*13>(+)*9)*6([(+)*6[-]]>)*-1 19:11:05 mroman_.decoy_only: points 2.24, score 39.24/100, rank 14/47 (change: +1) 19:11:09 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*6[-]]>)*-1 19:11:10 mroman_.decoy_only: points 2.40, score 39.40/100, rank 14/47 (change: --) 19:11:14 !bfjoust decoy_only (>(-)*13>(+)*5)*6([(+)*6[-]]>)*-1 19:11:15 mroman_.decoy_only: points -1.24, score 34.14/100, rank 19/47 (change: -5) 19:11:20 !bfjoust decoy_only (>(-)*14>(+)*7)*6([(+)*6[-]]>)*-1 19:11:21 mroman_.decoy_only: points 1.79, score 38.40/100, rank 15/47 (change: +4) 19:11:27 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*6[-]]>)*-1 19:11:27 mroman_.decoy_only: points 2.40, score 39.40/100, rank 14/47 (change: +1) 19:11:35 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>)*-1 19:11:35 mroman_.decoy_only: points 2.50, score 38.99/100, rank 13/47 (change: +1) 19:12:04 ion: Avatar: The Last Phonebender. 19:12:13 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>[(+)*6[-]]>)*-1 19:12:13 mroman_.decoy_only: points 2.36, score 39.33/100, rank 13/47 (change: --) 19:12:18 hm. 19:12:57 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(-)*3[-]]>[(+)*9[-]]>[(+)*6[-]]>)*-1 19:12:58 mroman_.decoy_only: points -1.33, score 33.54/100, rank 21/47 (change: -8) 19:13:08 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*3[-]]>[(+)*9[-]]>[(+)*6[-]]>)*-1 19:13:10 mroman_.decoy_only: points 0.48, score 36.03/100, rank 16/47 (change: +5) 19:13:24 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>[(+)*11[-]]>)*-1 19:13:25 mroman_.decoy_only: points 1.52, score 37.15/100, rank 15/47 (change: +1) 19:13:39 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>[(+)*11[-]]>[-]>)*-1 19:13:39 mroman_.decoy_only: points -0.79, score 33.88/100, rank 21/47 (change: -6) 19:13:50 offset clears are probably really much better then 19:14:04 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>[(+)*13[-]]>)*-1 19:14:04 mroman_.decoy_only: points 1.31, score 36.80/100, rank 15/47 (change: +6) 19:14:28 !bfjoust decoy_only (>(-)*10>(+)*7)*6([(+)*9[-]]>[(+)*13[-]]>)*-1 19:14:29 mroman_.decoy_only: points -1.31, score 30.08/100, rank 22/47 (change: -7) 19:14:35 !bfjoust decoy_only (>(-)*13>(+)*8)*6([(+)*9[-]]>[(+)*13[-]]>)*-1 19:14:35 mroman_.decoy_only: points 1.33, score 36.42/100, rank 15/47 (change: +7) 19:14:55 660 commits already: that thing's been more popular than I thought. 19:15:00 !bfjoust decoy_only (>(-)*13>(+)*8)*6([(+)*9[-]]>[(+)*7[-]]>)*-1 19:15:01 mroman_.decoy_only: points 2.69, score 39.47/100, rank 13/47 (change: +2) 19:15:06 !bfjoust decoy_only (>(-)*13>(+)*8)*6([(+)*7[-]]>[(+)*7[-]]>)*-1 19:15:07 mroman_.decoy_only: points 3.00, score 40.36/100, rank 13/47 (change: --) 19:15:11 !bfjoust decoy_only (>(-)*13>(+)*9)*6([(+)*7[-]]>[(+)*7[-]]>)*-1 19:15:13 mroman_.decoy_only: points 2.69, score 39.61/100, rank 14/47 (change: -1) 19:15:19 !bfjoust decoy_only (>(-)*7>(+)*7)*6([(+)*7[-]]>[(+)*7[-]]>)*-1 19:15:20 mroman_.decoy_only: points -3.55, score 27.23/100, rank 28/47 (change: -14) 19:15:26 !bfjoust decoy_only (>(-)*13>(+)*1)*6([(+)*7[-]]>[(+)*7[-]]>)*-1 19:15:27 mroman_.decoy_only: points -2.60, score 31.94/100, rank 21/47 (change: +7) 19:15:34 !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*7[-]]>[(+)*7[-]]>)*-1 19:15:34 mroman_.decoy_only: points 3.12, score 40.62/100, rank 13/47 (change: +8) 19:15:46 fizzie: the size of decoys has so much influence o_O 19:15:54 !bfjoust decoy_only (>(-)*13>(+)*7)*5>>([(+)*7[-]]>[(+)*7[-]]>)*-1 19:15:55 mroman_.decoy_only: points 3.69, score 41.09/100, rank 13/47 (change: --) 19:16:02 !bfjoust decoy_only (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*7[-]]>)*-1 19:16:08 !bfjoust decoy_only (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*7[-]]>)*-1 19:16:08 mroman_.decoy_only: points 4.62, score 43.21/100, rank 10/47 (change: --) 19:16:16 wow 19:16:17 ok 19:16:23 that just beat wait 19:17:18 Isn't that quite close to wait except with different constants? (At least the latest wait.) 19:17:28 yeah 19:17:32 can you delete wait? 19:17:41 It evolved to become the same except for some constants 19:17:52 Conventional thing to do is just to replace it with <. 19:17:58 ah 19:17:58 ok 19:17:59 Then it'll drop off when something submits something new. 19:18:02 !bfjoust wait <. 19:18:03 mroman_.wait: points -46.00, score 0.00/100, rank 47/47 (change: -36) 19:18:08 !bfjoust decoy_only <. 19:18:08 mroman_.decoy_only: points -45.00, score 0.00/100, rank 47/47 (change: -37) 19:18:48 Aw, you've just made the first actual score-tie, and I didn't add my planned tie-breaking strategy yet, so it's perhaps completely arbitrary now. 19:19:05 !bfjoust (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*7[-]]>)*-1 19:19:06 mroman_.xsfoobar: points 5.43, score 42.41/100, rank 10/47 19:19:15 wha. no xml names? 19:19:20 nvm. xsfoobar is ok 19:19:43 I should have made it reject (instead of sanitizing) characters outside the allowed set. 19:20:24 !bfjoust <. 19:20:24 mroman_.xsfoobar: points -45.00, score 0.00/100, rank 47/47 (change: -37) 19:20:36 !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*7[-]]>)*-1 19:20:37 mroman_.athena: points 5.43, score 42.41/100, rank 10/47 19:20:40 there. much better. 19:21:10 !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*6[-]]>)*-1 19:21:10 mroman_.athena: points 4.95, score 41.47/100, rank 10/47 (change: --) 19:21:14 !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*8[-]]>)*-1 19:21:14 mroman_.athena: points 5.60, score 42.73/100, rank 10/47 (change: --) 19:21:17 -!- Sprocklem has quit (Ping timeout: 258 seconds). 19:21:18 !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*9[-]]>)*-1 19:21:18 mroman_.athena: points 5.48, score 42.40/100, rank 10/47 (change: --) 19:21:22 !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*5[-]]>[(+)*9[-]]>)*-1 19:21:23 mroman_.athena: points 3.81, score 39.49/100, rank 11/47 (change: -1) 19:21:33 !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:21:34 mroman_.athena: points 5.52, score 42.66/100, rank 10/47 (change: +1) 19:21:48 !bfjoust athena (>(-)*13>(+)*7)*5>->->([(+)*7[-]]>[(-)*7[+]]>)*-1 19:21:49 mroman_.athena: points 5.45, score 42.60/100, rank 10/47 (change: --) 19:21:56 !bfjoust athena (>(-)*13>(+)*7)*5>->+>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:21:57 mroman_.athena: points 5.45, score 42.60/100, rank 10/47 (change: --) 19:22:13 !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:22:13 mroman_.athena: points 5.52, score 42.66/100, rank 10/47 (change: --) 19:24:36 !bfjoust athena (>(-)*13>(+)*1)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:24:37 mroman_.athena: points 2.33, score 37.29/100, rank 13/47 (change: -3) 19:24:41 !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:24:43 mroman_.athena: points 5.52, score 42.66/100, rank 10/47 (change: +3) 19:25:04 !bfjoust athena (>(+)*13>(-)*7)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:25:05 mroman_.athena: points 5.43, score 42.60/100, rank 10/47 (change: --) 19:25:35 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*128>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:25:35 mroman_.athena: points 0.33, score 32.98/100, rank 19/47 (change: -9) 19:25:41 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*12>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:25:42 mroman_.athena: points 5.60, score 43.08/100, rank 10/47 (change: +9) 19:25:46 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*100>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:25:47 mroman_.athena: points 0.90, score 34.16/100, rank 17/47 (change: -7) 19:25:53 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*50>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:25:53 mroman_.athena: points 3.93, score 39.74/100, rank 11/47 (change: +6) 19:25:57 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:25:58 mroman_.athena: points 5.21, score 42.21/100, rank 10/47 (change: +1) 19:26:04 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(+)*25>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:26:04 mroman_.athena: points 3.62, score 39.21/100, rank 12/47 (change: -2) 19:26:10 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*25>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:26:11 mroman_.athena: points 4.26, score 40.41/100, rank 11/47 (change: +1) 19:26:31 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*20>(-)*20>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:26:32 mroman_.athena: points 4.86, score 42.24/100, rank 10/47 (change: +1) 19:26:43 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:26:44 mroman_.athena: points 5.24, score 41.97/100, rank 10/47 (change: --) 19:26:50 damnit I want rank 9 :) 19:27:04 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:27:11 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:27:12 mroman_.athena: points 4.90, score 41.76/100, rank 11/47 (change: --) 19:27:20 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:27:20 mroman_.athena: points 5.24, score 41.97/100, rank 10/47 (change: +1) 19:27:34 !bfjoust athena (>(+)*12>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:27:34 mroman_.athena: points 4.29, score 39.46/100, rank 11/47 (change: -1) 19:27:43 !bfjoust athena (>(+)*14>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:27:44 mroman_.athena: points 5.12, score 41.97/100, rank 10/47 (change: +1) 19:27:49 !bfjoust athena (>(+)*15>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:27:51 mroman_.athena: points 4.38, score 40.49/100, rank 11/47 (change: -1) 19:27:56 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1 19:27:57 mroman_.athena: points 5.24, score 41.97/100, rank 10/47 (change: +1) 19:28:02 :( 19:28:15 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+.]]>)*-1 19:28:15 mroman_.athena: points 1.74, score 35.38/100, rank 14/47 (change: -4) 19:28:19 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+].]>)*-1 19:28:20 mroman_.athena: points 5.45, score 42.44/100, rank 10/47 (change: +4) 19:28:25 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-].]>[(-)*7[+].]>)*-1 19:28:25 mroman_.athena: points 5.38, score 42.14/100, rank 10/47 (change: --) 19:28:37 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[.(-)*7[+]]>)*-1 19:28:37 mroman_.athena: points 6.19, score 44.06/100, rank 9/47 (change: +1) 19:28:40 hehe 19:28:56 why the hell inserting nops would be better 19:29:00 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[..(-)*7[+]]>)*-1 19:29:02 mroman_.athena: points 5.60, score 42.73/100, rank 10/47 (change: -1) 19:29:04 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[.(-)*7[+]]>)*-1 19:29:06 mroman_.athena: points 6.19, score 44.06/100, rank 9/47 (change: +1) 19:29:23 but ok 19:29:26 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[.(-)*7.[+]]>)*-1 19:29:27 mroman_.athena: points 5.48, score 42.44/100, rank 10/47 (change: -1) 19:29:32 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[(-)*7.[+]]>)*-1 19:29:32 mroman_.athena: points 6.14, score 43.95/100, rank 9/47 (change: +1) 19:29:37 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:29:38 mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: --) 19:30:31 probably messes up some syncing stuff 19:31:07 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>.)*-1 19:31:07 mroman_.athena: points 5.90, score 43.27/100, rank 9/47 (change: --) 19:31:11 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>+-)*-1 19:31:11 mroman_.athena: points 5.98, score 43.66/100, rank 9/47 (change: --) 19:31:16 -!- teuchter has changed nick to choochter. 19:31:16 -!- not^v has quit (Read error: Connection reset by peer). 19:31:45 -!- not^v has joined. 19:32:00 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]><[-]<[-]>>>)*-1 19:32:00 mroman_.athena: points -0.62, score 32.51/100, rank 20/47 (change: -11) 19:32:06 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:32:07 mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: +11) 19:32:13 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]][-]>)*-1 19:32:14 mroman_.athena: points 5.90, score 43.27/100, rank 9/47 (change: --) 19:32:19 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]][+]>[(-)*7.[+]][-]>)*-1 19:32:20 mroman_.athena: points 5.45, score 42.08/100, rank 10/47 (change: -1) 19:32:32 fungot, what's your favourite bfjoust strategy? 19:32:32 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]][-]>[(-)*7.[+]][-]>)*-1 19:32:32 b_jonas: " then you didn't find your way back to outland?" i stammered, a little ashamed of itself, so that he could understand. " you are such an utter donkey! kiss me, tabby!" her husband fnord replied, dragging out the sheet of brown paper on one of the difficult times: the professor lifted him up, ' if i wasn't real,' alice thought to herself, " king lear! i hadn't noticed the crown. 19:32:33 mroman_.athena: points 5.55, score 42.27/100, rank 10/47 (change: --) 19:32:48 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+][-]]>)*-1 19:32:49 mroman_.athena: points 5.88, score 43.20/100, rank 9/47 (change: +1) 19:32:56 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-][+]]>[(-)*7.[+][-]]>)*-1 19:32:57 mroman_.athena: points 5.10, score 41.74/100, rank 10/47 (change: -1) 19:33:01 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-][-]]>[(-)*7.[+][-]]>)*-1 19:33:01 mroman_.athena: points 4.71, score 40.99/100, rank 11/47 (change: -1) 19:33:28 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:33:40 would it help to setup decoys with 128? 19:33:41 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:33:41 mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: --) 19:33:48 !bfjoust athena >(>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:33:48 mroman_.athena: points 3.05, score 38.34/100, rank 12/47 (change: -3) 19:34:18 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:34:19 mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: +3) 19:34:25 no. I already tried that before 19:34:30 it wastes to much cycles I guess 19:34:48 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10[]>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:34:49 mroman_.athena: points -28.57, score 7.75/100, rank 46/47 (change: -37) 19:35:10 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10[[]]>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:35:12 mroman_.athena: points -30.05, score 6.82/100, rank 46/47 (change: --) 19:35:29 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 19:35:29 mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: +37) 19:35:52 !bfjoust wait >([+][-])*-1 19:35:54 mroman_.wait: points -30.76, score 6.31/100, rank 47/47 (change: --) 19:36:13 !bfjoust dumb_clear (>[+][-])*-1 19:36:13 mroman_.dumb_clear: points -27.10, score 9.07/100, rank 47/47 19:36:24 !bfjoust dumb_clear (>)*14(>[+][-])*-1 19:36:25 mroman_.dumb_clear: points -27.33, score 8.86/100, rank 47/47 (change: --) 19:36:30 !bfjoust dumb_clear (>)*9(>[+][-])*-1 19:36:30 mroman_.dumb_clear: points -22.81, score 11.57/100, rank 47/47 (change: --) 19:36:33 !bfjoust dumb_clear (>)*9(>[+]>[-])*-1 19:36:34 mroman_.dumb_clear: points -13.02, score 18.95/100, rank 46/47 (change: +1) 19:37:03 !bfjoust dumb_clear (>)*9(-)*128(>[+]>[-])*-1 19:37:04 mroman_.dumb_clear: points -23.48, score 10.58/100, rank 47/47 (change: -1) 19:37:10 !bfjoust dumb_clear (>-)*9(>[+]>[-])*-1 19:37:11 mroman_.dumb_clear: points -17.21, score 15.07/100, rank 47/47 (change: --) 19:37:19 !bfjoust dumb_clear (>---)*9(>[+]>[-])*-1 19:37:20 mroman_.dumb_clear: points -16.14, score 15.44/100, rank 47/47 (change: --) 19:37:23 !bfjoust dumb_clear (>--------)*9(>[+]>[-])*-1 19:37:23 mroman_.dumb_clear: points -8.05, score 22.74/100, rank 41/47 (change: +6) 19:37:28 !bfjoust dumb_clear (>----------)*9(>[+]>[-])*-1 19:37:28 mroman_.dumb_clear: points -7.17, score 23.84/100, rank 39/47 (change: +2) 19:37:35 !bfjoust dumb_clear (>--------------)*9(>[+]>[-])*-1 19:37:35 mroman_.dumb_clear: points -7.36, score 25.61/100, rank 36/47 (change: +3) 19:37:42 !bfjoust dumb_clear (>(-)*9)*9(>[+]>[-])*-1 19:37:43 mroman_.dumb_clear: points -6.45, score 24.67/100, rank 36/47 (change: --) 19:37:46 !bfjoust dumb_clear (>(-)*10)*9(>[+]>[-])*-1 19:37:46 mroman_.dumb_clear: points -7.17, score 23.84/100, rank 39/47 (change: -3) 19:37:56 !bfjoust dumb_clear (>(-)*9)*9(>[+]>[-])*-1 19:37:57 mroman_.dumb_clear: points -6.45, score 24.67/100, rank 36/47 (change: +3) 19:38:46 !bfjoust dumb_clear (>(-)*9>(-)*9>(+)*9)*3(>[+]>[-])*-1 19:38:48 mroman_.dumb_clear: points -6.12, score 24.90/100, rank 36/47 (change: --) 19:39:20 !bfjoust dumb_clear (>(-)*9>(-)*9>(+)*1)*3(>[+]>[-])*-1 19:39:20 mroman_.dumb_clear: points -7.93, score 22.78/100, rank 41/47 (change: -5) 19:39:23 !bfjoust dumb_clear (>(-)*9>(-)*9>(+)*3)*3(>[+]>[-])*-1 19:39:24 mroman_.dumb_clear: points -8.10, score 22.43/100, rank 42/47 (change: -1) 19:39:28 !bfjoust dumb_clear (>(-)*9>(-)*9>(+)*10)*3(>[+]>[-])*-1 19:39:29 mroman_.dumb_clear: points -6.02, score 25.17/100, rank 36/47 (change: +6) 19:39:35 !bfjoust dumb_clear (>(-)*9>(-)*5>(+)*10)*3(>[+]>[-])*-1 19:39:36 mroman_.dumb_clear: points -7.26, score 23.38/100, rank 40/47 (change: -4) 19:39:39 !bfjoust dumb_clear (>(-)*9>(-)*10>(+)*10)*3(>[+]>[-])*-1 19:39:39 mroman_.dumb_clear: points -6.12, score 25.29/100, rank 34/47 (change: +6) 19:39:43 !bfjoust dumb_clear (>(-)*10>(-)*10>(+)*10)*3(>[+]>[-])*-1 19:39:43 mroman_.dumb_clear: points -6.98, score 23.95/100, rank 38/47 (change: -4) 19:39:48 !bfjoust dumb_clear (>(-)*9>(-)*10>(+)*10)*3(>[+]>[-])*-1 19:39:48 mroman_.dumb_clear: points -6.12, score 25.29/100, rank 34/47 (change: +4) 19:39:59 Why did you call it dumb_clear? 19:40:29 it's a pretty dumb clear I guess 19:40:45 huh 19:40:50 well. 19:40:54 This isn't anything fancy at all 19:40:57 sry for interrupting 19:41:09 it just sets up some decoys 19:41:14 then a regular silly clear 19:41:16 Yea. I'll try it too later I think. 19:41:25 Still reading the specs 19:41:27 It's really easy 19:41:43 You can probably get on the hill with something like 19:41:45 But you didn't read your enemy programs, did you? 19:41:56 what the heck is "the hill" anyway? 19:42:22 !bfjoust hilly_billy (>(-)*4>(+)*4)*4>([-]>)*-1 19:42:23 mroman_.hilly_billy: points -16.07, score 14.95/100, rank 47/47 19:42:30 !bfjoust hilly_billy (>(-)*8>(+)*8)*4>([-]>)*-1 19:42:31 mroman_.hilly_billy: points -10.43, score 20.02/100, rank 47/47 (change: --) 19:42:34 !bfjoust hilly_billy (>(-)*8>(+)*8)*4>>([-]>)*-1 19:42:35 mroman_.hilly_billy: points -9.12, score 21.32/100, rank 46/47 (change: +1) 19:42:40 ^- there we go 19:42:53 S1: Well 19:42:58 it's "King of the hill" 19:43:06 ugh 19:43:13 you submit a program and it will be run against the top 47 19:43:20 k I get it 19:43:25 Yes I know the game 19:43:34 if it achieves at least rank 46 it enters the hill 19:43:34 But I did not know the name "King of the hill" 19:43:43 and other submissions will be matched against yours too 19:44:14 Oh that is where more emphasis is given to scores of other programs when they defeat yours? 19:44:40 (dumbest verbalization ever) 19:45:59 I don't know how the scoring system works 19:46:16 I am currently reading this 19:46:16 http://codu.org/eso/bfjoust/SCORES 19:46:32 for the last 15 minutes now, actually. 19:47:50 -!- Chrio has joined. 19:49:25 S1: When you get bored with that, read http://zem.fi/bfjoust/internals/ instead, because that's the current scoring in use. 19:50:46 thx 19:51:20 -!- Chrio has quit. 19:52:06 mroman_: Technically, no matter what you submit it does become part of "the hill", in the sense that it goes in the repository; but of course you can only count nontrivial ranks if you want. (That's slightly different from the old one, which I think disincluded the last one from the repository.) 19:55:08 So, every test, iteration, joke, mistake, and geniune entry is save? 19:57:03 But each time I use the same program name, my old versions are overwritten, of course, right? 19:57:33 AndoDaan: It's a matter of Historical Record. 19:57:44 !bfjoust message Hi, this isn't a bf joust program. I just wanted to say hi. 19:57:44 mroman_.message: points -34.14, score 5.11/100, rank 47/47 19:58:03 S1: Yes. The logic goes so that if there is an identically named program, that is replaced; otherwise the current rank 47 holder is. 19:58:12 The bots will be longer remembered than us. 19:58:51 But then one can easily overwrite programs that belong to others!? 20:00:53 Your IRC nickname is automatically added in front of the program name. 20:01:15 But sure, if you can change your nick to someone else's, then you can do that. 20:01:16 -!- pallokolmio has joined. 20:01:41 It doesn't aspire to be secure against that, since it has never been an issue. 20:01:45 -!- not^v has quit (Ping timeout: 272 seconds). 20:02:08 We trust each other, don't we 20:03:15 ^QuestionMark ,.[-]!? 20:03:27 ^def QuestionMark bf ,.[-]!? 20:03:27 Defined. 20:03:34 ^QuestionMark 20:03:54 You are very trying, fungot 20:03:54 AndoDaan: " it did, though!" cried alice in a melancholy voice. ' it's very hard,' she added in a louder tone. " but he needs a man like your lordship to draw him out! 20:05:26 ^def QuestionMark bf ++++++++>[-<++++++++]>. 20:05:26 Defined. 20:05:31 ^QuestionMark 20:05:54 oops 20:06:19 ^def QuestionMark bf >+++++++<[->++++++++<]>. 20:06:19 Defined. 20:06:25 ^QuestionMark 20:06:25 20:06:53 fizzie: clearly, you should allow pgp-signed programs 20:07:42 ^def QuestionMark bf >+++++++<[->++++++++<]>-. 20:07:42 Defined. 20:07:48 ^QuestionMark 20:07:48 20:07:50 Who wrote a bell *again*? 20:08:04 elliott_: come on, we're all trusty 20:08:06 ^def QuestionMark bf >++++++<[->+++++++<]>-. 20:08:06 Defined. 20:08:09 ^QuestionMark 20:08:09 20:08:17 S1: I'm not. 20:08:24 I thought so 20:08:50 ^def QuestionMark bf >++++++<[->++++++++<]>-. 20:08:51 Defined. 20:08:53 ^QuestionMark 20:08:53 20:09:06 forget it. 20:09:42 -!- not^v has joined. 20:09:59 grumpy fungot 20:09:59 S1: " what at?" said the cook. she carried the fnord in the forest. " am i awake now?" 20:10:19 ^style 20:10:19 Available: agora alice* c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 20:10:24 ^style sms 20:10:24 Selected style: sms (National University of Singapore SMS corpus, 2011-08-20) 20:10:33 fungot: yolo swag kthxbye 20:10:34 mroman_: leave it. u will always be singing praises for her.love will be when i start up screen where the fujitsu one... goin... huh? u in macs meet lar 20:10:51 fungot: yeah me macs meet lar 20:10:52 mroman_: it in raffle city got mac meh? haha. my mamavery happy wor lol... but i duneat beef ah 20:11:13 fungot: Your mother is a happy whore? 20:11:13 mroman_: use the src to play with any1 who understands them. prov. 4: 20:12:40 -!- Bicyclidine has joined. 20:16:08 a(n) = a(n-2)^a(n-1) is pretty steep growing :D 20:25:10 fungot, do you like regular languages? 20:25:10 b_jonas: dnt u tel ur feelngs 2 hr session. lol i can skip with u.hahaha. 20:25:25 fungot: now you have two problems 20:25:25 b_jonas: ya i also i since 1pm lo even worse. he's not around or just still asleep. i thought my dad wouldwake me up up high upon me? but that one shorter. th tuesday is difficultfor us. would watch it tonight bah 20:28:59 mroman_: What's the base case? 20:29:14 0, 0, controversy 20:29:31 a(0) = 0; a(1) = 0; would work 20:32:02 a(1) = a(2) = 2 20:33:26 a(1) = a(2) = sqrt(2), then lim n->\infty a(n) = 2 20:33:47 -!- AnotherTest has quit (Ping timeout: 272 seconds). 20:33:49 !blsq 2Jq?*3!C#s 20:33:49 maybe 20:33:49 {2 2 4 8 32} 20:33:52 !blsq 2Jq?*4!C#s 20:33:52 {2 2 4 8 32 256} 20:34:02 !blsq 2Jq?^3!C#s 20:34:02 {2 2 4 16 4294967296} 20:34:06 ^- that one 20:34:11 !blsq 2Jq?^4!C#s 20:34:11 Ain't nobody got time fo' dat! 20:34:14 4 is probably too much 20:34:15 yes 20:34:42 !blsq 16 4294967206 ?^ 20:34:42 Ain't nobody got time fo' dat! 20:34:49 !blsq 16 4294967206 ?^shL[ 20:34:50 Ain't nobody got time fo' dat! 20:40:23 -!- zzo38 has joined. 20:40:58 b 20:41:01 Whoops. 20:42:36 Added: webified breakdown: http://zem.fi/bfjoust/breakdown/#ais523.margins 20:42:51 !bfjoust wiggle (>)*9((++-)*1000<)*9(>)*9([+]>[-]>)*-1 20:42:53 mroman_.wiggle: points -32.88, score 6.68/100, rank 47/47 20:43:11 !bfjoust wiggle (>)*9((+++-)*1000<)*9(>)*9([+]>[-]>)*-1 20:43:13 mroman_.wiggle: points -32.69, score 6.52/100, rank 47/47 (change: --) 20:43:19 fizzie: how is this read exactly 20:43:26 !bfjoust wiggle (>)*9((+++-)*1000<)*3(>)*9([+]>[-]>)*-1 20:43:27 mroman_.wiggle: points -28.29, score 9.30/100, rank 47/47 (change: --) 20:43:35 !bfjoust wiggle (>)*9((+++-)*9000<)*9(>)*9([+]>[-]>)*-1 20:43:38 mroman_.wiggle: points -23.21, score 4.81/100, rank 47/47 (change: --) 20:43:58 !bfjoust wiggle (>)*9(([]+++-)<)*9(>)*9([+]>[-]>)*-1 20:43:59 mroman_.wiggle: points -16.43, score 16.87/100, rank 47/47 (change: --) 20:44:07 Bicyclidine: Pretty much the same as breakdown.txt, except I changed that too. The selected program is "left", the opponent is "right", and < > points at the winner (or X for a tie), and the left is the win margin for the selected program (so bigger numbers = better). 20:44:15 I just realized the webified breakdown should probably also default to the last program, like the .txt version. 20:44:20 !bfjoust no_wiggle (>+)*9(([]+++-)<)*9(>)*9([+]>[-]>)*-1 20:44:31 mroman_.no_wiggle: points -21.69, score 9.90/100, rank 47/47 20:44:31 The JSON report doesn't record who that was, though. 20:44:42 You should make a websubmission interface :) 20:44:45 probably 20:44:58 I asked around about that, and there are some reasons why not to. 20:45:45 Hypothetical spam (don't know how much of a problem that would be, at least with some web-only sanity heuristics for the program), and loss of an incentive to get BF Jousters to join #esoteric were the chief ones. 20:47:29 or 20:47:34 implement a queue 20:47:40 so you can submit multiple variants 20:47:48 and it will only report the best one(s) back 20:47:53 although 20:47:59 that wouldn't really prevent the spam here I guess 20:48:06 well 20:48:18 the web-interface could only test-submit it 20:48:27 without adding it to the hill or version control 20:48:42 If I added a web interface, I'd probably add a client-side 'test' button. 20:49:01 or I guess I can install it locally? 20:49:10 That's certainly possible. 20:49:22 so I can use some genetic modification approaches to tweak constants 20:50:06 There's a helper program for that in the repository. 20:50:17 I think ais523 uses a different interpreter for local testing. There are many approaches. 20:50:19 is the hill btw. infinite? 20:50:28 (i.e. no age limit) 20:51:01 No age limit. 20:52:52 !bfjoust snail (>(-)*5>(+)*5>)*4[>[-](+)*3] 20:52:52 mroman_.snail: points -33.55, score 5.83/100, rank 47/47 20:52:56 !bfjoust snail (>(-)*5>(+)*5>)*5[>[-](+)*3] 20:52:57 mroman_.snail: points -32.10, score 6.43/100, rank 47/47 (change: --) 20:53:03 !bfjoust snail (>(-)*8>(+)*8>)*5[>[-](+)*3] 20:53:03 mroman_.snail: points -27.76, score 8.97/100, rank 47/47 (change: --) 20:53:21 !bfjoust snail (>(-)*8>(+)*8>)*5[>[(+)*9[-]](+)*3] 20:53:21 mroman_.snail: points -23.71, score 11.89/100, rank 47/47 (change: --) 20:53:41 hm 20:53:49 !bfjoust snail (>(-)*8>(+)*8>)*5[>[(+)*9[-]](++)*3] 20:53:51 mroman_.snail: points -23.81, score 11.90/100, rank 47/47 (change: --) 20:53:54 thank you for replacing my program :D 20:54:02 hu? 20:54:07 what program? 20:54:13 I was experimenting in query with zemhill 20:54:17 oh 20:54:31 Just to see what approach might work. 20:54:32 well you can just resubmit it to get rank 47 20:54:37 rank 47 is pretty much "no rank" :) 20:54:46 I think I really really need to study the other programs 20:55:30 !bfjoust snail >([>[(+)*9[-]]])*-1 20:55:31 mroman_.snail: points -33.00, score 6.20/100, rank 47/47 (change: --) 20:55:40 !bfjoust snail (>)*9([>[(+)*9[-]]])*-1 20:55:41 mroman_.snail: points -29.29, score 7.96/100, rank 47/47 (change: --) 20:55:43 damn 20:55:55 !bfjoust snail (>)*9([>[(+)*9[-]]...+])*-1 20:55:56 mroman_.snail: points -22.36, score 12.20/100, rank 47/47 (change: --) 20:56:00 !bfjoust snail ([>[(+)*9[-]]...+])*-1 20:56:01 mroman_.snail: points -33.17, score 6.50/100, rank 47/47 (change: --) 20:56:16 shouldn't this set a cell to zero... wait three cycles (for opponent to die) 20:56:21 leave a cell with value 1 20:56:23 and move on? 20:56:51 !bfjoust snail (>(-)*8>(+)*8)*4>[>[(+)*9[-]]...+] 20:56:52 mroman_.snail: points -27.86, score 9.09/100, rank 47/47 (change: --) 20:56:56 !bfjoust snail (>(-)*8>(+)*8)*3>[>[(+)*9[-]]...+] 20:56:57 mroman_.snail: points -32.14, score 6.80/100, rank 47/47 (change: --) 20:57:32 !bfjoust snail [>[-]..(+)*13] 20:57:32 mroman_.snail: points -19.43, score 16.04/100, rank 47/47 (change: --) 20:57:52 !bfjoust snail [>[(-)*9[+]]..(+)*13] 20:57:52 mroman_.snail: points -14.79, score 19.47/100, rank 47/47 (change: --) 20:57:57 almost 20:57:59 !bfjoust snail [>[(-)*9[+]]..(+)*10] 20:58:00 mroman_.snail: points -15.71, score 16.58/100, rank 47/47 (change: --) 20:58:05 !bfjoust snail [>[(-)*9[+]]..(+)*19] 20:58:06 mroman_.snail: points -19.02, score 16.45/100, rank 47/47 (change: --) 20:58:12 !bfjoust snail [>[(-)*9[+]]..(+)*13] 20:58:13 mroman_.snail: points -14.79, score 19.47/100, rank 47/47 (change: --) 20:58:16 !bfjoust snail [>[(-)*6[+]]..(+)*13] 20:58:17 mroman_.snail: points -16.33, score 18.41/100, rank 47/47 (change: --) 20:58:21 !bfjoust snail [>[(-)*10[+]]..(+)*13] 20:58:22 mroman_.snail: points -12.76, score 21.25/100, rank 47/47 (change: --) 20:58:26 getting there 20:58:31 !bfjoust snail [>[(-)*11[+]]..(+)*13] 20:58:32 mroman_.snail: points -11.90, score 21.84/100, rank 45/47 (change: +2) 20:58:41 yeah! 20:58:48 !bfjoust S1test1 ([->+>+<<]>>[<<+>>]<)*6(>)*5([-]>]*-1 20:58:48 S1: error: parse error: starting ( without a matching ) 20:58:53 Why does this produce an error? 20:59:01 oh wait... 20:59:15 !bfjoust S1test1 ([->+>+<<]>>[<<+>>]<)*6(>)*5([-]>)*-1 20:59:16 S1.S1test1: points -37.33, score 3.71/100, rank 47/47 20:59:21 !bfjoust snail [>[(-)*12[+]]..(+)*13] 20:59:21 mroman_.snail: points -11.17, score 22.12/100, rank 45/47 (change: --) 20:59:25 !bfjoust snail [>[(-)*13[+]]..(+)*13] 20:59:26 mroman_.snail: points -10.02, score 23.09/100, rank 45/47 (change: --) 20:59:30 !bfjoust snail [>[(-)*14[+]]..(+)*13] 20:59:31 mroman_.snail: points -11.38, score 21.80/100, rank 45/47 (change: --) 20:59:40 !bfjoust snail [>[(-)*13[+]].(+)*13] 20:59:40 mroman_.snail: points -8.57, score 24.85/100, rank 40/47 (change: +5) 20:59:43 hehe 20:59:46 knew it .. was too much 20:59:49 !bfjoust snail [>[(-)*12[+]].(+)*13] 20:59:50 mroman_.snail: points -9.10, score 23.97/100, rank 42/47 (change: -2) 20:59:52 !bfjoust snail [>[(-)*13[+]].(+)*13] 20:59:53 mroman_.snail: points -8.57, score 24.85/100, rank 40/47 (change: +2) 20:59:55 !bfjoust snail [>[(-)*13[+]].(+)*10] 20:59:56 -!- zemhill has quit (Remote host closed the connection). 21:00:03 nooooo 21:00:26 the spam was too much. 21:03:15 gn8 anyway 21:03:18 it's late in this timezone 21:03:27 how late? 21:03:32 23:03 21:03:38 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 21:03:39 here too 21:03:48 S1: Just snail your way to the hill :) 21:04:00 I think I can get snail <40 21:04:12 tweaking some things and it should work a little bit better 21:04:19 mroman_: Schweiz ^^ 21:13:43 -!- diginet has quit (Quit: diginet has quit!). 21:16:18 -!- diginet has joined. 21:21:18 -!- Bicyclidine has joined. 21:22:03 -!- zemhill has joined. 21:22:04 Another NMatrix segfault. 21:22:52 I actually opened a GitHub issue about it (even though my bugreport was the vaguest ever, I'm sure) in case the developers would have had some immediate ideas. 21:24:20 -!- zzo38 has quit (Remote host closed the connection). 21:24:46 This time it happened in d /= d.max(1).to_f instead. 21:35:42 -!- not^v has quit (Ping timeout: 245 seconds). 21:39:33 -!- oerjan has joined. 21:50:42 -!- yorick has quit (Ping timeout: 245 seconds). 22:04:10 -!- not^v has joined. 22:04:22 -!- Bicyclidine has quit (Ping timeout: 240 seconds). 22:04:58 -!- S1 has quit (Quit: S1). 22:06:09 -!- Bicyclidine has joined. 22:07:26 !bfjoust reset < 22:07:27 Lymia.reset: points -46.00, score 0.00/100, rank 47/47 22:11:32 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:11:33 Lymia.nyuroki: points 22.24, score 100.00/100, rank 1/47 (change: --) 22:12:18 [wiki] [[Special:Log/newusers]] create * TraciBraswell * New user account 22:12:52 is it time to renew the captchas 22:13:01 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:13:02 Lymia.nyuroki: points 22.24, score 100.00/100, rank 1/47 (change: --) 22:15:30 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:15:31 Lymia.nyuroki: points 23.05, score 100.00/100, rank 1/47 (change: --) 22:15:57 Omnipotence down. 22:16:03 Now for slowpoke 22:17:09 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:17:09 Lymia.nyuroki: points 23.19, score 100.00/100, rank 1/47 (change: --) 22:18:34 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:18:35 Lymia.nyuroki: points 23.81, score 100.00/100, rank 1/47 (change: --) 22:18:37 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 22:19:25 -!- pallokolmio has quit (Ping timeout: 260 seconds). 22:19:58 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:19:58 Lymia.nyuroki: points 23.52, score 100.00/100, rank 1/47 (change: --) 22:20:27 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:20:27 Lymia.nyuroki: points 23.33, score 100.00/100, rank 1/47 (change: --) 22:20:49 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:20:50 Lymia.nyuroki: points 24.19, score 100.00/100, rank 1/47 (change: --) 22:22:03 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 22:22:04 Lymia.nyuroki: points 24.19, score 100.00/100, rank 1/47 (change: --) 22:26:34 -!- yorick has joined. 22:33:21 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 22:33:27 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:33:27 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 22:33:54 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:33:55 Lymia.nyuroki: points 24.50, score 100.00/100, rank 1/47 (change: --) 22:35:16 !blsq 1momo10.+ 22:35:16 hm 22:35:16 !blsq 1mo 22:35:16 mroman_: is it like, dead 22:35:16 hm mroman_ himself seems rather unreachable 22:35:16 @ping 22:35:16 ^ping 22:35:16 hm it's not him, it's me 22:35:16 -!- jix has quit (Ping timeout: 260 seconds). 22:35:17 {1 4 9 16 25 36 49 64 81 100} 22:35:17 That Pong alone cannot stop! 22:35:17 pong 22:35:17 Ain't nobody got time fo' dat! 22:35:38 -!- jix has joined. 22:35:39 ooh you're back 22:35:56 @ping 22:35:56 pong 22:36:22 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:36:23 Lymia.nyuroki: points -27.74, score 8.55/100, rank 46/47 (change: -45) 22:36:39 Lymia: Is your goal to get an all-pluses row or something? 22:36:44 Yes 22:36:53 !blsq 1momomo10.+ 22:36:54 {1 8 27 64 125 216 343 512 729 1000} 22:37:16 -!- Bicyclidine has joined. 22:37:49 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:37:50 Lymia.nyuroki: points 9.48, score 62.45/100, rank 5/47 (change: +41) 22:39:39 Just remember that nothing will ever be enough. After all-pluses, you'll start aiming for the "beats everyone at all tape lengths" program. 22:40:24 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:40:25 Lymia.nyuroki: points 9.48, score 62.45/100, rank 5/47 (change: --) 22:41:39 i vaguely recall proving that for every program, polarity and tape length, there exists another program that beats it. 22:42:10 -!- scounder has joined. 22:42:18 -!- scounder has quit (Changing host). 22:42:18 -!- scounder has joined. 22:42:40 I vaguely recall that too, but it of course doesn't mean you couldn't completely beat the finite set of programs currently on the hill. 22:42:53 of course 22:44:10 basically you rush to the other flag, clearing it at maximal efficiency; this will work against any program which doesn't do the same to you. 22:45:08 if a program _does_ that to you, shift your own flag one step first to get at least one turn advantage. 22:46:06 (this only works because you know both tape length, polarity and the opponent's code, of course.) 22:49:28 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:49:29 Lymia.nyuroki: points -9.76, score 25.00/100, rank 43/47 (change: -38) 22:49:45 !bfjoust BeatYouMate -+(>------>+++++++)*4(+)*5>---[(+)*6[-]>>>>>(([(+)*6[-]]>)*3>[(+)*5[-]]>>([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1]>(([(+)*6[-]]>)*3>[(+)*5[-]]>>([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 22:49:45 AndoDaan.BeatYouMate: points -6.31, score 29.10/100, rank 36/47 (change: -6) 22:50:23 oerjan: Then you just need to abuse a gearlance/zemhill bug to have your program act like the correct optimal attacker for the different jousts. 22:50:46 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:50:46 Lymia.nyuroki: points -3.95, score 32.50/100, rank 29/47 (change: +13) 22:52:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:52:07 Lymia.nyuroki: points -7.00, score 27.43/100, rank 39/47 (change: -10) 22:53:01 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:53:03 Lymia.nyuroki: points -2.24, score 35.79/100, rank 22/47 (change: +17) 22:53:24 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:53:24 Lymia.nyuroki: points -3.02, score 32.84/100, rank 27/47 (change: -5) 22:54:04 fizzie: ooh promising 22:55:21 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:55:22 Lymia.nyuroki: points 6.29, score 52.31/100, rank 7/47 (change: +20) 22:56:00 !bfjoust BeatYouMate -+(>------>+++++++)*4(+)*5>---[(+)*6[-]>>>>>(([(+)*6[-]]>)*3>[(+)*5[-]]>>([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1]>(([(+)*6[-]]>)*3>[(+)*5[-]]>>([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1 22:56:01 AndoDaan.BeatYouMate: points -7.07, score 28.55/100, rank 39/47 (change: --) 22:56:11 !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([((+))*6[-]]>[((-)*7)*4[+]]))*-1 22:56:11 AndoDaan.BeatYouMate: points -4.19, score 31.92/100, rank 33/47 (change: +6) 22:57:00 !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([((+)*6)*6[-]]>[((-)*7)*4[+]]))*-1 22:57:00 AndoDaan.BeatYouMate: points -4.19, score 31.92/100, rank 33/47 (change: --) 22:57:08 -!- Bicyclidine has quit (Ping timeout: 260 seconds). 22:58:22 !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*5[-]]>)*3[>>>[-]]([+[-]]>)([(-)*8[+]]>)*3([((+)*5)*6[-]]>[((-)*7)*4[+]]))*-1 22:58:34 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 22:58:34 Lymia.nyuroki: points -31.43, score 6.68/100, rank 46/47 (change: -39) 22:58:40 !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*5[-]]>)*3[>>>[-]]([+[-]]>)([(-)*8[+]]>)*3([((+)*5)*6[-]]>[((-)*7)*4[+]]))*-1 22:58:40 AndoDaan.BeatYouMate: points -3.19, score 31.22/100, rank 29/47 (change: --) 22:59:01 !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*18[-]]>)*3>([(+)*9[-]]>>)*1([(+)*5[-]]>)*3[>>>[-]]([+[-]]>)([(-)*8[+]]>)*3([((+)*5)*6[-]]>[((-)*7)*4[+]]))*-1 22:59:02 AndoDaan.BeatYouMate: points -5.10, score 28.15/100, rank 35/47 (change: -6) 22:59:24 !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*5[-]]>)*3[>>>[-]]([+[-]]>)([(-)*8[+]]>)*3([((+)*5)*6[-]]>[((-)*7)*4[+]]))*-1 22:59:24 AndoDaan.BeatYouMate: points -3.19, score 31.22/100, rank 29/47 (change: +6) 22:59:40 -!- AndoDaan has left. 23:00:01 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:00:02 Lymia.nyuroki: points 20.31, score 97.55/100, rank 2/47 (change: +44) 23:00:53 -!- not^v has quit (Ping timeout: 240 seconds). 23:01:27 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:01:28 Lymia.nyuroki: points 20.98, score 99.49/100, rank 2/47 (change: --) 23:03:01 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:03:03 Lymia.nyuroki: points 19.83, score 100.00/100, rank 1/47 (change: +1) 23:03:58 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:03:59 Lymia.nyuroki: points 22.24, score 100.00/100, rank 1/47 (change: --) 23:05:03 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:05:04 Lymia.nyuroki: points 21.52, score 100.00/100, rank 1/47 (change: --) 23:05:11 uh 23:05:14 congrats 23:06:37 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:06:39 Lymia.nyuroki: points 23.45, score 100.00/100, rank 1/47 (change: --) 23:06:41 what's the basic strategy, anyway? 23:07:26 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:07:27 Lymia.nyuroki: points 21.05, score 100.00/100, rank 1/47 (change: --) 23:07:45 elliott_, before, it... uh, set up decoys and started clearing, basically. 23:07:56 are you optimising points now that you're #1? :p 23:08:00 Before setting up its first small decoys, it checks if something's already in the cells. 23:08:03 -!- ener2 has joined. 23:08:13 huh, for small tape lengths? 23:08:21 If so, it abandons the rest of its decoys and jumps straight into clearing. 23:08:38 Then, if that hasn't tripped, I skip right to tape cell, like, 13 or 14 23:08:40 I have made compiler for brainfuck, it works fine for some code but hello world ends with index over 30k 23:08:46 Since most programs set up enough decoys to trip the first part. 23:09:12 http://pastebin.com/7QYFYvNW the compiler 23:09:17 I'm trying to modify it so it goes and pokes at the start to try and find the enemy 23:09:44 I wish I was good enough at bf joust to write actually good warriors... 23:10:00 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:10:01 Lymia.nyuroki: points 19.31, score 96.16/100, rank 2/47 (change: -1) 23:10:16 -!- Bicyclidine has joined. 23:10:29 I'm going to be setting up a hill for my uni 23:10:38 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:10:39 Lymia.nyuroki: points 18.19, score 89.56/100, rank 3/47 (change: -1) 23:10:54 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:10:55 Lymia.nyuroki: points 21.57, score 100.00/100, rank 1/47 (change: +2) 23:10:58 ener2: I don't know java bytecode enough to help, though for what it's worth 30k is kind of a historical limit 23:11:03 hello world shouldn't go over that though 23:11:08 elliott_: well it is my array limit 23:11:13 so I think this just goes > forever 23:11:17 until it hits the limit 23:11:19 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:11:20 Lymia.nyuroki: points 21.86, score 100.00/100, rank 1/47 (change: --) 23:11:30 ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 23:11:35 its this hello world 23:11:41 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:11:43 Lymia.nyuroki: points 18.86, score 92.00/100, rank 3/47 (change: -2) 23:11:50 but for instance ++>>[-]<<[->>+<<] works fine... 23:12:25 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:12:26 Lymia.nyuroki: points 18.86, score 92.00/100, rank 3/47 (change: --) 23:12:37 !bf ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 23:12:38 Hello World! 23:12:42 ener2: Based on a quick glance, beginloop/endloop sure look like they should use a Stack instead of a Queue. 23:13:06 oh you are absolutely right 23:13:10 it's 1am :D 23:13:23 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:13:24 Lymia.nyuroki: points 18.24, score 89.90/100, rank 3/47 (change: --) 23:14:05 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:14:07 -!- zemhill has quit (Remote host closed the connection). 23:14:09 ... 23:14:11 fizzie. 23:14:57 -!- Sorella has quit (Ping timeout: 260 seconds). 23:14:59 fizzie: http://pastebin.com/KKZ5pcB2 my output 23:15:01 thanks! 23:16:42 fizzie fizzie fizzie 23:18:48 fizzie fizzie fizzie 23:19:17 jason 23:28:29 @tell ais523 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 23:28:30 Consider it noted. 23:30:18 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:31:26 it's a bit sad when your program loses against the empty string 23:32:50 You need decoys to make it on the hill though. 23:32:54 So, if it gets on the hill 23:33:03 Nyuroki will probably not suicide 23:34:55 oh, I mean the program I was working on. 23:35:59 Ah 23:39:20 -!- Sorella has joined. 23:40:07 -!- Sorella has quit (Changing host). 23:40:07 -!- Sorella has joined. 23:40:46 Well, that's new: there was a segfault in printing out the backtrace from a segfault. 23:40:47 -!- zemhill has joined. 23:41:00 in ruby? 23:41:13 Yes. 23:41:17 fizzie, sounds like memory corruption 23:41:18 :/ 23:41:19 urgh 23:41:28 I won't be awake to restart that thing much longer, and based on https://github.com/SciRuby/nmatrix/issues/277 it doesn't sound likely to be fixed very shortly. 23:41:40 fizzie, it's segfaulting, right? 23:41:41 Just write 23:41:46 while true; do ./run; done 23:41:50 And let it restart itself 23:42:19 I really don't want to, but I guess I could, strictly for now. 23:42:33 error errors are the greatest 23:42:35 I'm pretty sure if I do, it'll manage to crunch up the repository somehow. 23:42:46 -!- zemhill has quit (Remote host closed the connection). 23:42:52 Let's put it under that sort of loop, then. 23:43:30 -!- zemhill has joined. 23:43:59 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:44:00 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 23:44:16 fizzie, there's a native code component, right? 23:44:41 Yes. 23:44:44 A big one. 23:45:02 Sounds like memory corruption :/ 23:45:04 Which is eew eew eew 23:45:29 You don't fix ugly things by putting more ugly things around them, though. 23:47:14 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:47:14 Lymia.nyuroki: points 24.88, score 100.00/100, rank 1/47 (change: --) 23:47:18 fizzie, yeah, but. 23:47:26 You aren't fixing memory corruption unless you go source diving 23:48:22 There's numerious reasons your bot could fail. 23:48:27 So, an auto restart isn't a bad thing/ 23:48:29 it'd be really nice to see the IPs at a certain moment in the trace in egojsout. 23:48:33 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:48:34 Lymia.nyuroki: points 24.19, score 100.00/100, rank 1/47 (change: --) 23:48:57 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:48:58 Lymia.nyuroki: points 24.69, score 100.00/100, rank 1/47 (change: --) 23:49:21 No matter how good your practical reasons are, an auto-restart feels pretty much like the high-level version of "on error resume next". 23:49:39 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:49:39 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 23:50:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:50:09 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:50:10 Lymia.nyuroki: points 17.81, score 87.18/100, rank 4/47 (change: --) 23:50:24 There's already an auto-reconnect for network troubles built in (I believe), and as for the segfault issue, there's no guarantee the repository will be left in a usable state, and then it'll just keep restarting and restarting and messing up more. 23:50:26 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:50:26 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: +3) 23:50:31 Yeah, I'm not sure how to improve this more. 23:50:32 ^.^ 23:50:43 It dies horribly on small tape sizes 23:50:49 But I can't fix that 23:51:30 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 23:51:30 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 23:54:26 Lymia: you lost .52 points from the earlier version <_< 23:54:56 that's 24.69, or do you mean something elseeeee 23:55:16 24.69 -> 25.17 23:55:19 That's 23:55:19 00:48:58 Lymia.nyuroki: points 24.69, score 100.00/100, rank 1/47 (change: --) 23:55:23 An plus. 23:55:31 24 and 25 elliott 23:55:32 24.x and 25.x 23:55:35 oh. 23:55:41 Hmm. 23:55:43 fuck arithmetic, amirite folks 23:55:45 okay look. I got less than seven hours of sleep 23:55:47 And a few bots are just faster rushes. 23:55:52 Or, well. 23:55:57 They have bigger and better decoys 23:56:25 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:56:26 Lymia.nyuroki: points 23.05, score 100.00/100, rank 1/47 (change: --) 23:56:48 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:56:48 Lymia.nyuroki: points 19.40, score 98.79/100, rank 2/47 (change: -1) 23:57:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:57:07 Lymia.nyuroki: points 22.74, score 100.00/100, rank 1/47 (change: +1) 23:57:13 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 23:57:14 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 23:57:33 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 23:57:34 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 23:57:35 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:57:36 Lymia.nyuroki: points 24.36, score 100.00/100, rank 1/47 (change: --) 23:57:42 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 23:57:42 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 23:58:45 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:58:46 Lymia.nyuroki: points 22.14, score 100.00/100, rank 1/47 (change: --) 23:59:26 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 23:59:27 Lymia.nyuroki: points 22.62, score 100.00/100, rank 1/47 (change: --) 23:59:52 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 23:59:53 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 23:59:56 Final version for now~ 2014-09-25: 00:00:01 oh, hey, you got a .moe. 00:01:09 mhmm? 00:04:57 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 00:06:59 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 00:07:00 Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --) 00:07:19 5 cycle clear instead of 2 00:07:23 -!- c4 has joined. 00:07:26 3* 00:07:44 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 00:07:44 Lymia.nyuroki: points 25.10, score 100.00/100, rank 1/47 (change: --) 00:07:46 Ugh, everyone is AFK in the J irc. Does anyone know enough J to help me with a pretty easy problem? 00:08:20 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 00:08:20 Lymia.nyuroki: points 24.83, score 100.00/100, rank 1/47 (change: --) 00:08:39 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 00:08:39 Lymia.nyuroki: points 24.60, score 100.00/100, rank 1/47 (change: --) 00:08:55 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 00:08:56 Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --) 00:10:07 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 00:10:07 Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --) 00:12:15 that's a pretty cool bot 00:19:33 -!- zolbap has left ("Leaving"). 00:20:39 -!- c4 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 00:25:42 -!- Bicyclidine has joined. 00:25:44 -!- Bicyclidine has quit (Client Quit). 00:29:04 i thought we had J experts here 00:29:44 `run ls bin/*txt 00:29:45 bin/UnicodeData.txt 00:30:09 `interp bf_txtgen Test 00:30:15 60 ++++++++++++++[>++++++>+++++++>++++++++><<<<-]>.>+++.>+++.+. [124] 00:30:33 -!- olsner has quit (Ping timeout: 260 seconds). 00:31:52 @tell ais523 bf_txtgen is in HackEgo under the imported interp stuff. `interp bf_txtgen works fine (i've used it before to generate longer bf than can fit in irc.) 00:31:52 Consider it noted. 00:32:08 -!- not^v has joined. 00:34:53 -!- olsner has joined. 00:35:21 -!- AndoDaan has joined. 00:42:19 -!- AndoDaan has quit (Ping timeout: 276 seconds). 00:42:30 -!- AndoDaan has joined. 00:51:57 -!- newsham has quit (*.net *.split). 00:53:50 -!- ener2 has quit (Quit: ChatZilla 0.9.90.1 [Firefox 28.0/20140331235340]). 01:00:57 -!- AndoDaan______ has joined. 01:02:19 -!- AndoDaan has quit (Ping timeout: 272 seconds). 01:13:02 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:13:03 Lymia.nyuroki: points 25.69, score 100.00/100, rank 1/47 (change: --) 01:13:20 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:13:21 Lymia.nyuroki: points 25.86, score 100.00/100, rank 1/47 (change: --) 01:13:39 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:13:40 Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --) 01:13:45 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 01:13:46 Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --) 01:19:49 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:19:49 Lymia.nyuroki: points 21.98, score 100.00/100, rank 1/47 (change: --) 01:20:13 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:20:14 Lymia.nyuroki: points 25.60, score 100.00/100, rank 1/47 (change: --) 01:20:33 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:20:34 Lymia.nyuroki: points 25.00, score 100.00/100, rank 1/47 (change: --) 01:20:52 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:20:53 Lymia.nyuroki: points 25.64, score 100.00/100, rank 1/47 (change: --) 01:21:12 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:21:13 Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --) 01:22:05 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 01:22:05 Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --) 01:23:32 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:23:33 Lymia.nyuroki: points 23.76, score 100.00/100, rank 1/47 (change: --) 01:23:55 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:23:55 Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --) 01:24:35 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:24:35 Lymia.nyuroki: points 25.95, score 100.00/100, rank 1/47 (change: --) 01:25:08 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:25:09 Lymia.nyuroki: points 25.95, score 100.00/100, rank 1/47 (change: --) 01:25:28 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 01:25:29 Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --) 01:28:05 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 01:28:06 Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --) 01:28:07 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:28:08 Lymia.nyuroki: points 24.19, score 100.00/100, rank 1/47 (change: --) 01:28:35 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:28:36 Lymia.nyuroki: points 22.55, score 100.00/100, rank 1/47 (change: --) 01:28:42 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 01:28:43 Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --) 01:33:18 -!- not^v has quit (Read error: Connection reset by peer). 01:33:45 -!- not^v has joined. 01:37:02 -!- L8D has joined. 01:37:30 I was told there was a BF Joust hill here 01:37:53 boy is there ever. 01:37:58 -!- AndoDaan______ has changed nick to AndoDaan. 01:38:08 !bfjoust 01:38:08 AndoDaan: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 01:38:27 Perhaps bfjoust should split into a separate channel. 01:38:31 L8D: it's so active we may still have to ban it. 01:38:54 It's cool now, so we hate it. 01:39:20 Is this something recent? 01:39:36 I didn't know of any bf jousting going on the last time I stayed in this channel 01:39:44 L8D: the new activity was spurred by someone writing a new bot for it 01:39:55 s/someone/fizzie/ 01:40:11 because EgoBot has disappeared for some reason 01:40:32 and the new bot has the improved scoring system that never got it into EgoBot 01:40:35 -!- not^v has quit (Ping timeout: 272 seconds). 01:40:47 and a nifty website, i hear. i should visit it some time. 01:42:30 basically, the scoring is now based on matrix calculations, so that it no longer depends on which order the bots are entered into the hill. 01:42:43 or well 01:42:56 well 01:42:56 well yes. 01:43:01 the problem is just 01:43:08 zemhill doesn't answer PMs 01:43:12 so 01:43:23 plus ais wants to see all this spam 01:43:27 !bfjoust firstbot >+[>[.]+] 01:43:27 L8D.firstbot: points -41.74, score 1.33/100, rank 47/47 01:43:37 -_ 01:44:44 [.] seems like a pretty bad idea. 01:44:55 wouldn't it stall? 01:45:09 fizzie: i don't much like the scaling the score so the top score is 100 thing. it means the "amount of score available" changes every time the top ranked warrior changes. Can you not make the total score constant? (say, 200 points?) 01:45:19 well it will loop indefinitely unless the opponent clears the cell for you... 01:46:05 fizzie: if you do that you could also meaningfully add a "delta-score" column so we could see how the last submission changed everyone's score. (i believe my implementation had this) 01:46:27 !bfjoust secondbot [>[[-]<]+++] 01:46:28 L8D.secondbot: points -32.55, score 3.22/100, rank 47/47 01:46:53 looks better 01:47:21 but maybe not much 01:47:24 L8D: you should read BF Joust Strategies :D 01:47:40 it won two games! 01:47:49 quintopia: I will before creating a third 01:49:22 why are there 47 bots btw 01:49:24 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:49:25 Lymia.nyuroki: points 25.88, score 100.00/100, rank 1/47 (change: --) 01:49:43 http://github.com/Lymia/JoustExt/blob/master/examples/nyuroki-esoteric.jx 01:49:52 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:49:55 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:49:56 Lymia.nyuroki: points 26.19, score 100.00/100, rank 1/47 (change: --) 01:50:18 oerjan: egobot's hill had 47 01:50:22 “In a world where even the sunrise is uncertain, a man may be excused for not knowing a great many things. But to not know my own heart? I hope to never be so hopeless a fool.” 01:50:39 hahahaha that's the silliest thing i eveer heard, unless i'm a hopeless fool 01:50:39 oerjan: so "because that's the way gregor's whims blew" 01:50:45 * Sgeo glares 01:50:55 Only thing in The Codeless Code I dislike, I think 01:51:06 ic 01:51:34 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:51:34 Lymia.nyuroki: points 24.98, score 100.00/100, rank 1/47 (change: --) 01:51:43 oerjan: personally, i'd like to see a MUCH bigger hill. like maybe 100. 01:52:14 maybe we could make it so the hill grows for a while whenever someone _doesn't_ get last place 01:52:28 *fizzie 01:52:41 ah not a bad idea 01:52:51 Maybe when a bot reaches >20 rank? 01:52:56 What's a good cutoff for "significant bot" 01:53:09 Lymia: oerjan's suggestion doesn't require that concept 01:53:58 Lymia: oerjan is saying "let's control how big the hill by letting us delete bots when they are irrelevant" 01:54:03 Ah 01:54:13 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 01:54:14 Lymia.nyuroki: points 26.19, score 100.00/100, rank 1/47 (change: --) 01:54:27 so much tweaking 01:54:45 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 01:54:46 Lymia.nyuroki: points 26.19, score 100.00/100, rank 1/47 (change: --) 01:54:57 Well, yeah 01:55:02 I want to make sure nyuroki stays on the hill. 01:55:05 <3 01:55:05 Lymia: can't you test locally and then only submit major versions? 01:55:12 I could probably, yeah. 01:55:16 But I don't have it set up 01:55:51 Lymia: What's .jx ? 01:55:59 Custom thing I made 01:56:08 interesting 01:56:15 It's basically a macro language for BF Joust 01:56:24 I tried nasm's preprocessor at first. 01:56:26 But that was anightmare. 01:56:29 a nightmare* 01:57:57 i started to write a macro language for bf joust once 01:58:06 but i couldn't figure out how to do some stuff 01:58:08 so i quit 01:58:35 Why not just write a BF program that prints out your desired BF program? 01:58:43 I figured out how to do some stuff. 01:58:44 just use a programming language as a macro language 01:58:56 It caused >1GB thoretical file sizes. 01:58:56 Lymia: implement .jx in BF 01:58:58 So I gave that up. 01:59:19 -!- Sorella has quit (Read error: Connection reset by peer). 02:00:05 Lymia: So...Do you have a job or something where you get paid to spend hours writing esoteric macro languages? 02:00:23 and writing BF Joust robots 02:00:51 Me being too lazy to revive my BFJoust hill seems to be the best thing that ever happened to BFJoust X-D 02:06:10 Gregor: yes but now you need to write an interface to the logs that hides !bfjoust messages 02:11:34 So 02:11:52 Who updates the BF Joust strategies page 02:11:56 Now that ais is dethroned 02:26:10 [wiki] [[BF Joust strategies]] http://esolangs.org/w/index.php?diff=40527&oldid=40506 * 108.205.143.75 * (+2) 02:30:07 !bfjoust thirdbot (>)*9([-.]+>)*21[[-]>+] 02:30:07 L8D.thirdbot: points -23.86, score 9.43/100, rank 47/47 02:31:47 !bfjoust fourthbot (>)*9([-.]>[-]+>)*21[[-]>+] 02:31:47 L8D.fourthbot: points -21.81, score 10.36/100, rank 47/47 02:32:04 surely ais will rise again. 02:32:55 ^bool. 02:33:25 !help 02:33:25 AndoDaan: I do !bfjoust; see http://zem.fi/bfjoust/ for more information. 02:37:57 fourthbot beats up smartlock? 02:37:58 Geez 02:38:01 smartlock sucks. 02:39:09 * Sgeo goes to try PCLinuxOS in a VM 02:40:59 Sgeo: Welcome to 2008? 02:41:18 Why is PCLinuxOS 2008ish in your mind? 02:41:24 Please tell me it's KDE4 :/ 02:41:28 !bfjoust finnel (>+)*9((-)*10([+{[-.+-]}[-.+-]+>])%500>)*21 02:41:29 Lymia.finnel: points -20.98, score 10.65/100, rank 47/47 02:41:39 !bfjoust finnel (>+++)*9((-)*10([+{[-.+-]}[-.+-]+>])%500>)*21 02:41:39 Lymia.finnel: points -18.38, score 11.71/100, rank 47/47 (change: --) 02:41:51 !bfjoust finnel (>+)*9((-)*10([+{[-.]}[-.]+>])%500>)*21 02:41:52 Lymia.finnel: points -20.07, score 11.23/100, rank 47/47 (change: --) 02:42:12 !bfjoust finnel (>+)*9((-)*10([+{[-.]{}}[-.]+>])%500>)*21 02:42:12 Lymia.finnel: points -23.50, score 9.32/100, rank 47/47 (change: --) 02:42:19 !bfjoust finnel (>+)*9((-)*10([+{[-.]+>{}}[-.]+>])%500>)*21 02:42:20 Lymia.finnel: points -23.50, score 9.60/100, rank 47/47 (change: --) 02:42:35 !bfjoust finnel (>+)*9((-)*10([+{[-.[-.]]+>{}}[-.[-.]]+>])%500>)*21 02:42:35 Lymia.finnel: points -23.55, score 9.07/100, rank 47/47 (change: --) 02:43:46 Why is PCLinuxOS 2008ish in your mind? // It's from that era of "let's make Linux an end-user thing" bullshit distros 02:43:47 !bfjoust finnel (>[<(<[(>[[-]]+)*-1](-)*10)*30])*30 02:43:48 Lymia.finnel: points -25.31, score 5.27/100, rank 47/47 (change: --) 02:44:43 Gregor: are there good end-user Linux distros? 02:44:54 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([+{[-.[-.]]+>{}}[-.[-.]]+>])%500>)*21 02:44:54 Lymia: error: parse error: encountered { without suitable enclosing ( 02:44:56 KDE is pretty 02:45:02 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((-)*10([+{[-.[-.]]+>{}}[-.[-.]]+>])%500>)*21 02:45:03 Lymia.finnel: points -20.26, score 10.03/100, rank 47/47 (change: --) 02:45:28 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((+)*40[-]+>)*-1 02:45:29 Lymia.finnel: points -8.93, score 16.14/100, rank 45/47 (change: +2) 02:45:38 !bfjoust finnel (>)*8(<(-)*20<(+)*20)*4(>)*9((+)*40[-]+>)*-1 02:45:39 Lymia.finnel: points -9.88, score 15.75/100, rank 46/47 (change: -1) 02:45:42 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((+)*40[-]+>)*-1 02:45:43 Lymia.finnel: points -8.93, score 16.14/100, rank 45/47 (change: +1) 02:46:23 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((+)*40[[-]]+>)*-1 02:46:24 Lymia.finnel: points -12.36, score 13.44/100, rank 47/47 (change: -2) 02:46:30 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((+)*40([-])*2+>)*-1 02:46:31 Lymia.finnel: points -10.31, score 15.13/100, rank 46/47 (change: +1) 02:46:43 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*40[-]]+>)*-1 02:46:44 Lymia.finnel: points -3.95, score 19.83/100, rank 34/47 (change: +12) 02:46:49 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*40[-]]>)*-1 02:46:51 Lymia.finnel: points -4.19, score 19.48/100, rank 36/47 (change: -2) 02:46:56 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*40([-])*2]+>)*-1 02:46:56 Lymia.finnel: points -2.62, score 21.19/100, rank 31/47 (change: +5) 02:47:16 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*30([-])*2]+>)*-1 02:47:16 Lymia.finnel: points -3.90, score 21.51/100, rank 31/47 (change: --) 02:47:27 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*30([-])*2]+++>)*-1 02:47:28 Lymia.finnel: points -5.31, score 19.89/100, rank 37/47 (change: -6) 02:47:31 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*30([-])*2]++>)*-1 02:47:32 Lymia.finnel: points -5.05, score 20.30/100, rank 35/47 (change: +2) 02:47:34 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*30([-])*2]+>)*-1 02:47:34 Lymia.finnel: points -3.90, score 21.51/100, rank 31/47 (change: +4) 02:47:43 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*3(>)*9([(+)*30([-])*2]+>)*-1 02:47:44 Lymia.finnel: points -0.69, score 24.48/100, rank 21/47 (change: +10) 02:47:47 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*2(>)*9([(+)*30([-])*2]+>)*-1 02:47:47 Lymia.finnel: points 0.07, score 25.97/100, rank 20/47 (change: +1) 02:47:50 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*1(>)*9([(+)*30([-])*2]+>)*-1 02:47:51 Lymia.finnel: points -4.21, score 22.67/100, rank 31/47 (change: -11) 02:47:53 !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*2(>)*9([(+)*30([-])*2]+>)*-1 02:47:54 Lymia.finnel: points 0.07, score 25.97/100, rank 20/47 (change: +11) 02:48:00 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*3(>)*9([(+)*30([-])*2]+>)*-1 02:48:00 Lymia.finnel: points -0.74, score 26.21/100, rank 22/47 (change: -2) 02:48:03 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*30([-])*2]+>)*-1 02:48:04 Lymia.finnel: points 1.45, score 26.97/100, rank 18/47 (change: +4) 02:48:47 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*30([-.])*2]+>)*-1 02:48:47 Lymia.finnel: points -5.98, score 18.22/100, rank 41/47 (change: -23) 02:48:48 Gregor: are there good end-user Linux distros? // No. 02:48:51 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*30([-])*2]+>)*-1 02:48:52 Lymia.finnel: points 1.45, score 26.97/100, rank 18/47 (change: +23) 02:48:54 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*20([-])*2]+>)*-1 02:48:56 Lymia.finnel: points 0.52, score 24.91/100, rank 20/47 (change: -2) 02:48:57 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*50([-])*2]+>)*-1 02:48:58 Lymia.finnel: points -0.05, score 27.89/100, rank 18/47 (change: +2) 02:49:04 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(-)*110([-])*2]+>)*-1 02:49:05 Lymia.finnel: points -17.69, score 11.42/100, rank 47/47 (change: -29) 02:49:13 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*110([+])*2]+>)*-1 02:49:14 Lymia.finnel: points -17.55, score 11.56/100, rank 47/47 (change: --) 02:49:25 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*20([-])*2]+>)*-1 02:49:26 Lymia.finnel: points 0.52, score 24.91/100, rank 20/47 (change: +27) 02:49:33 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 02:49:35 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*50([-])*2]+>)*-1 02:49:36 Lymia.finnel: points -0.05, score 27.89/100, rank 18/47 (change: +2) 02:50:29 -!- conehead has quit (Quit: Computer has gone to sleep). 02:51:36 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9(([+{(-)*3([-{(+)*50([-])*2}])%3}])%3+>)*-1 02:51:36 Lymia.finnel: points 0.69, score 25.06/100, rank 19/47 (change: -1) 02:51:47 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9(([+{(-)*3([-{(-)*100([-])*2}])%3}])%3+>)*-1 02:51:48 Lymia.finnel: points -15.55, score 12.50/100, rank 47/47 (change: -28) 02:51:53 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*50([-])*2]+>)*-1 02:51:54 Lymia.finnel: points -0.05, score 27.89/100, rank 18/47 (change: +29) 02:51:59 !bfjoust simple < 02:51:59 Lymia.simple: points -46.00, score 0.00/100, rank 47/47 (change: -11) 02:52:37 !bfjoust yoda (>)*9>+[-[-](+)*40>+] 02:52:38 L8D.yoda: points -26.36, score 7.69/100, rank 47/47 02:53:21 !bfjoust yoda (>)*9>+[-[-](+)*10>+] 02:53:21 L8D.yoda: points -24.38, score 8.61/100, rank 47/47 (change: --) 02:53:22 !bfjoust flow >(-)*5>(+)*5>(-)*5>(>[..>>([(+)*6[-]]->)*-1])*-1 02:53:23 Lymia.flow: points -12.26, score 15.03/100, rank 46/47 (change: -12) 02:53:28 !bfjoust flow >(-)*5>(+)*5>>(>[..>>([(+)*6[-]]->)*-1])*-1 02:53:29 Lymia.flow: points -8.88, score 18.14/100, rank 43/47 (change: +3) 02:53:32 !bfjoust flow >(-)*5>>>(>[..>>([(+)*6[-]]->)*-1])*-1 02:53:33 Lymia.flow: points -6.57, score 21.29/100, rank 34/47 (change: +9) 02:53:42 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*6[-]]->)*-1])*-1 02:53:43 Lymia.flow: points -5.81, score 21.76/100, rank 33/47 (change: +1) 02:53:49 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*15[-]]->)*-1])*-1 02:53:49 Lymia.flow: points -10.52, score 17.93/100, rank 44/47 (change: -11) 02:53:51 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*10[-]]->)*-1])*-1 02:53:52 Lymia.flow: points -7.21, score 21.11/100, rank 34/47 (change: +10) 02:53:56 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]->)*-1])*-1 02:53:57 Lymia.flow: points -4.69, score 23.37/100, rank 30/47 (change: +4) 02:54:05 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]-->)*-1])*-1 02:54:05 Lymia.flow: points -5.67, score 22.27/100, rank 32/47 (change: -2) 02:54:08 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]>)*-1])*-1 02:54:08 Lymia.flow: points -5.24, score 22.49/100, rank 32/47 (change: --) 02:54:11 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]+>)*-1])*-1 02:54:11 Lymia.flow: points -3.98, score 24.17/100, rank 25/47 (change: +7) 02:55:20 -!- Guest59309 has joined. 02:55:36 !bfjoust yoda (>)*9>+[-[-](+)*10>+] 02:55:36 L8D.yoda: points -24.38, score 8.57/100, rank 47/47 (change: --) 02:55:52 Ooh I can try out IE2 02:56:03 !bfjoust flow >(-)*5>>>>(>[>>([(+)*5[-]]>)*-1])*-1 02:56:04 Lymia.flow: points -4.57, score 23.28/100, rank 30/47 (change: -5) 02:56:07 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]>)*-1])*-1 02:56:08 Lymia.flow: points -5.24, score 22.49/100, rank 32/47 (change: -2) 02:56:09 My god. 02:56:15 I don't understand my own program from how long ago 02:56:18 !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]>)*-1])*-1 02:56:18 Lymia.flow: points -5.38, score 22.35/100, rank 32/47 (change: --) 02:56:21 !bfjoust yoda (>)*9>+[-[-](+)*-1>+] 02:56:23 !bfjoust flow >(-)*5>>>>(>[-->>([(+)*5[-]]>)*-1])*-1 02:56:23 L8D.yoda: points -22.38, score 4.28/100, rank 47/47 (change: --) 02:56:24 Lymia.flow: points -5.38, score 21.96/100, rank 32/47 (change: --) 02:56:27 Not sure how, the oldest Windows I have access to already has IE4 on it... 02:56:35 !bfjoust yoda (>)*9>+[-[-](+)*3>+] 02:56:36 L8D.yoda: points -24.38, score 9.31/100, rank 47/47 (change: --) 02:56:41 !bfjoust yoda --(>)*9>+[-[-](+)*3>+] 02:56:41 -!- zemhill has quit (Remote host closed the connection). 02:56:48 !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1 02:57:01 ... 02:57:11 I don't see an autorestart 02:57:22 did I do something? 02:57:31 -!- zemhill has joined. 02:57:33 No 02:57:37 It just likes to randomly die 02:57:39 !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1 02:57:39 Lymia.flow: points -3.98, score 24.78/100, rank 25/47 (change: +7) 02:57:43 !bfjoust yoda --(>)*9>+[-[-](+)*3>+] 02:57:44 L8D.yoda: points -24.33, score 9.41/100, rank 47/47 (change: --) 02:57:46 !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]+>)*-1])*-1 02:57:47 Lymia.flow: points -4.07, score 24.55/100, rank 25/47 (change: --) 02:57:54 !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1 02:57:54 Lymia.flow: points -3.98, score 24.78/100, rank 25/47 (change: --) 02:57:58 !bfjoust flow >(-)*4>>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1 02:57:59 Lymia.flow: points -5.57, score 22.53/100, rank 32/47 (change: -7) 02:58:01 !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1 02:58:01 Lymia.flow: points -3.98, score 24.78/100, rank 25/47 (change: +7) 02:59:16 !bfjoust yoda --(>)*9([-.](+)*6>)*21[-[-.]>+] 02:59:16 L8D.yoda: points -26.02, score 7.77/100, rank 47/47 (change: --) 02:59:49 !bfjoust sneaky >(+)*10>(-)*10<<(-)*127>[[]]<(-+)*-1 02:59:50 Lymia.sneaky: points -22.57, score 8.73/100, rank 47/47 03:00:09 !bfjoust sneaky >(+)*10>>>>>(-)*50<<<<<<(-)*127>[[]]<(-+)*-1 03:00:10 Lymia.sneaky: points -20.74, score 9.13/100, rank 47/47 (change: --) 03:00:20 !bfjoust sneaky >+>>>>>(-)*50<<<<<<(-)*127>[[]]<(-+)*-1 03:00:22 Lymia.sneaky: points -23.31, score 7.63/100, rank 47/47 (change: --) 03:00:23 !bfjoust sneaky >+>>>>>(-)*50<<<<<<(-)*127>[]<(-+)*-1 03:00:25 Lymia.sneaky: points -20.24, score 8.97/100, rank 47/47 (change: --) 03:00:28 boo 03:00:34 !bfjoust yoda --(>)*9([-.](+)*6>)*21[+[-.]>-] 03:00:35 L8D.yoda: points -26.02, score 7.77/100, rank 47/47 03:00:43 !bfjoust yoda --(>)*9([-.](+)*6>)*21[++[-.]>--] 03:00:44 L8D.yoda: points -26.02, score 7.77/100, rank 47/47 (change: --) 03:02:01 -!- Guest59309 has left ("http://quassel-irc.org - Chat comfortably. Anywhere."). 03:02:12 !bfjoust yoda --(>)*9([-.](+)*6>)*21[-[--.]>+] 03:02:13 -!- Guest59309 has joined. 03:02:13 L8D.yoda: points -26.02, score 7.77/100, rank 47/47 (change: --) 03:02:26 PCLinuxOS doesn't use Kicker by default :( 03:02:36 !bfjoust yoda --(>)*9([-.](+)*6>)*21[-[-]>+] 03:02:36 L8D.yoda: points -26.02, score 7.77/100, rank 47/47 (change: --) 03:02:47 !bfjoust yoda --(>)*9([-](+)*6>)*21[-[-]>+] 03:02:47 -!- Guest59309 has left ("http://quassel-irc.org - Chat comfortably. Anywhere."). 03:02:48 L8D.yoda: points -20.93, score 11.22/100, rank 47/47 (change: --) 03:03:03 -!- Guest59309 has joined. 03:03:12 -!- Guest59309 has left ("http://quassel-irc.org - Chat comfortably. Anywhere."). 03:03:16 What's a good KDE based distro? 03:03:24 !bfjoust yoda --(>(+)*3)*9([-](+)*6>)*21[-[-]>+] 03:03:24 L8D.yoda: points -19.81, score 10.82/100, rank 47/47 (change: --) 03:03:34 !bfjoust yoda --(>+)*9([-](+)*6>)*21[-[-]>+] 03:03:34 L8D.yoda: points -20.98, score 10.40/100, rank 47/47 (change: --) 03:03:38 KaOS seems KDE centered 03:04:35 !bfjoust yoda --(>+)*9([-](-)*6>)*21[-[-]>+] 03:04:35 L8D.yoda: points -20.02, score 10.82/100, rank 47/47 (change: --) 03:04:48 !bfjoust yoda --(>-)*9([-](-)*6>)*21[-[-]>+] 03:04:49 L8D.yoda: points -22.98, score 7.51/100, rank 47/47 (change: --) 03:05:09 !bfjoust yoda --(>++)*9([-](-)*6>)*21[-[-]>+] 03:05:09 L8D.yoda: points -20.36, score 10.83/100, rank 47/47 (change: --) 03:05:16 !bfjoust yoda --(>)*9([-](-)*6>)*21[-[-]>+] 03:05:17 L8D.yoda: points -20.88, score 11.13/100, rank 47/47 (change: --) 03:05:28 !bfjoust yoda --(>)*9([-](-)*6>)*21[-[+]>+] 03:05:29 L8D.yoda: points -20.88, score 11.13/100, rank 47/47 (change: --) 03:05:48 !bfjoust yoda ---(>)*9([-](-)*6>)*21[-[-]>+] 03:05:49 L8D.yoda: points -21.31, score 10.93/100, rank 47/47 (change: --) 03:05:57 !bfjoust yoda -(>)*9([-](-)*6>)*21[-[-]>+] 03:05:57 L8D.yoda: points -20.76, score 11.24/100, rank 47/47 (change: --) 03:06:04 !bfjoust yoda (>)*9([-](-)*6>)*21[-[-]>+] 03:06:04 L8D.yoda: points -19.86, score 11.89/100, rank 47/47 (change: --) 03:06:16 I should stop spamming 03:06:30 !bfjoust google https://www.google.com/images/srpr/logo11w.png 03:06:30 Lymia: error: parse error: terminating ) without a matching ( 03:08:16 !bfjoust yoda (>(+)*3>(-)*3)*4([-](-)*6>)*21[-[-]>+] 03:08:17 L8D.yoda: points -23.57, score 7.24/100, rank 47/47 (change: --) 03:09:05 you can maybe still !bfjoust with private messages 03:09:44 !bfjoust yoda (>(+)*3>(-)*3)*4(>(+)*10[-](-)*6)*21 03:09:44 Lymia.yoda: points -19.17, score 10.85/100, rank 47/47 03:09:54 !bfjoust yoda (>(+)*10>(-)*10)*4(>(+)*20[-]+)*21 03:09:55 Lymia.yoda: points -13.43, score 13.75/100, rank 47/47 (change: --) 03:10:04 Come on, look at what you're doing. :P 03:10:07 Don't just make random bots. 03:10:11 !bfjoust yoda < 03:10:11 Lymia.yoda: points -46.00, score 0.00/100, rank 47/47 (change: --) 03:13:10 !bfjoust yoda (>(-)*128)*9>+[-[-.]+>+] 03:13:11 L8D.yoda: points -30.45, score 6.01/100, rank 47/47 03:13:20 -_- 03:13:37 128 is way too big for decoys 03:13:43 And faster programs will find your decoys before you get one set up. 03:13:46 Try reverse decoys 03:13:55 (>)*8(<(-)*10)*8(>)*8 03:14:02 (>)*8(<(-)*10)*8(>(-)*50)*8 maybe 03:14:57 !bfjoust yoda ((>--)*8(<)*8)(10 >+[-[-.]+>+] 03:14:57 L8D: error: parse error: starting ( without a matching ) 03:15:02 !bfjoust yoda ((>--)*8(<)*8)*10 >+[-[-.]+>+] 03:15:05 L8D.yoda: points -29.69, score 3.69/100, rank 47/47 (change: --) 03:15:14 !bfjoust yoda ((>--)*8(<)*8)*5 >+[-[-.]+>+] 03:15:16 L8D.yoda: points -28.57, score 4.12/100, rank 47/47 (change: --) 03:15:23 -_- I can't really be creative 03:15:58 !bfjoust yoda ((>-)*8(<)*8)*10 >+[-[-.]+>+] 03:16:09 http://codu.org/eso/bfjoust/egojsout/ 03:16:17 This might get you a better feel for how your program actually behaves 03:16:18 thanks 03:16:28 (Type it in again, zemhill sometimes fails to receieve programs) 03:17:08 I see 03:17:18 the visualization really helps 03:21:04 As it stands, you have two big problems. 03:21:19 this is what I'm currently testing 03:21:22 You spend 240 cycle setting up 10 height decoys. 03:21:24 !bfjoust yoda (>)*8(<(-)*10)*7(>)*7 >+[---[-.]+>+++] 03:21:25 And you clear your own decoys 03:21:26 L8D.yoda: points -21.83, score 9.17/100, rank 47/47 (change: --) 03:21:54 You don't need to use [] to loop, mind 03:21:56 ()*21 03:22:00 Or ()*-1 03:22:07 For the outer loop of your clear cycle 03:22:13 "---[-.]" < This is bad 03:22:28 oooh I see 03:22:28 If there's no decoy, or a negative decoy, you now have to clear all 256 levels with a 3 cycle clear 03:22:29 thank you 03:23:07 -!- AndoDaan has quit (Excess Flood). 03:23:30 -!- AndoDaan has joined. 03:28:32 -!- AndoDaan has quit. 03:35:28 -!- Frooxius has quit (Read error: Connection reset by peer). 03:36:03 -!- Frooxius has joined. 03:39:14 -!- Frooxius has quit (Client Quit). 03:43:16 -!- AndoDaan has joined. 03:44:04 L8D: did you learn anything about strategies? 03:44:13 yes 03:45:25 Lymia: it's up to you to put your warrior on the strategies page, and decide exactly what needs to be said about it 03:45:44 Well 03:45:46 usually you would focus on the innovations it achieved 03:45:49 I doubt there's any new strategies. 03:45:55 Or even anything unexpected there. 03:45:55 -!- Frooxius has joined. 03:45:59 then not much need be said 03:46:09 you can just document the strategies used 03:48:11 !bfjoust yoda (>)*8(>[(>[(+)*6[-]]>)*21])*21 03:48:12 L8D.yoda: points -11.62, score 16.66/100, rank 46/47 (change: +1) 03:49:13 !bfjoust yoda (>)*8(>[(>[(+)*10[-]]>)*21])*21 03:49:14 L8D.yoda: points -11.36, score 16.76/100, rank 46/47 (change: --) 03:56:53 [wiki] [[Brainflow]] N http://esolangs.org/w/index.php?oldid=40528 * 96.33.169.118 * (+4721) Added page for BrainFlow 03:57:18 -!- Frooxius has quit (Quit: *bubbles away*). 03:57:39 -!- pi___ has quit (Quit: Lost terminal). 04:02:05 -!- Frooxius has joined. 04:02:56 -!- AndoDaan______ has joined. 04:04:44 -!- AndoDaan has quit (Ping timeout: 272 seconds). 04:05:01 -!- AndoDaan______ has changed nick to AndoDaan. 04:07:57 -!- ^v has quit (Remote host closed the connection). 04:08:04 hmmm. i wonder... 04:08:30 !bfjoust ais523_vibration_fool_faster #draw gridlines 04:08:30 if self.drawgrid: 04:08:30 for i in range(1,gridx): 04:08:30 self.create_line(self.gridsize*i,0,self.gridsize*i,gridy*self.gridsize,fill='gray') 04:08:31 quintopia.ais523_vibration_fool_faster: points -32.43, score 4.52/100, rank 47/47 04:08:34 for i in range(1,gridy): 04:08:41 bad at copying 04:08:53 !bfjoust ais523_vibration_fool_faster >>>++++<----<++++<(-)*127.(-+)*50000 04:08:55 quintopia.ais523_vibration_fool_faster: points -17.45, score 10.51/100, rank 47/47 (change: --) 04:09:06 okay good to know that still doesn't work 04:12:28 !bfjoust yoda (>)*9(>[(+)*10[-]])*21 04:12:29 L8D.yoda: points -12.67, score 16.36/100, rank 46/47 (change: -1) 04:13:58 -!- Frooxius has quit (Quit: *bubbles away*). 04:14:04 !bfjoust jix_wiggle3 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/raw-file/48730c91ec77/jix_wiggle3.bfjoust 04:14:07 quintopia: error: parse error: [..] crossing out of a ({..}) level 04:14:08 Wee 04:14:12 oh 04:14:22 Processing 15000 revisions of Egojoust history 04:14:28 Since Egojoust is finishsed 04:14:32 i should rewrite wiggle3 to use the new syntax 04:14:35 I'm going to find the winner of the whole Egojoust 04:14:36 <3 04:18:00 -!- ^v has joined. 04:19:16 !bfjoust jix_wiggle3 http://sprunge.us/SRXc 04:19:17 quintopia.jix_wiggle3: points -11.93, score 14.99/100, rank 47/47 04:19:28 it used to be so good 04:19:38 !bfjoust yoda (>)*8(>[(+)*3[-]]+)*21 04:19:39 L8D.yoda: points -12.57, score 16.60/100, rank 46/47 (change: --) 04:19:49 !bfjoust yoda (>)*8(>[(+)*5[-]]+)*21 04:19:50 L8D.yoda: points -10.93, score 17.83/100, rank 45/47 (change: +1) 04:19:56 !bfjoust yoda (>)*8(>[(+)*10[-]]+)*21 04:19:57 L8D.yoda: points -13.83, score 16.30/100, rank 46/47 (change: -1) 04:20:06 !bfjoust yoda (>)*8(>[-]+)*21 04:20:06 L8D.yoda: points -18.93, score 12.99/100, rank 47/47 (change: -1) 04:20:15 !bfjoust yoda (>)*8(>[+[-]]+)*21 04:20:15 L8D.yoda: points -16.98, score 14.26/100, rank 47/47 (change: --) 04:20:22 weid 04:20:26 !bfjoust myndzi_slowrush >(+)*22>(-)*22(>++++++>------)*1>+>->->+(>[[-(+)*22[-]]+>[+(-)*22[+]]->]+)*21 04:20:32 !bfjoust yoda (>)*8(>[+++[-]]+)*21 04:20:32 L8D.yoda: points -12.43, score 16.85/100, rank 47/47 04:20:44 !bfjoust myndzi_slowrush >(+)*22>(-)*22(>++++++>------)*1>+>->->+(>[[-(+)*22[-]]+>[+(-)*22[+]]->]+)*21 04:20:45 quintopia.myndzi_slowrush: points -10.00, score 17.73/100, rank 46/47 (change: --) 04:20:53 !bfjoust yoda (>)*8(>[++++[-]]+)*21 04:20:54 hey slowrush is still relevant barely 04:20:54 L8D.yoda: points -11.90, score 17.19/100, rank 47/47 (change: --) 04:21:00 wtf 04:21:16 !bfjoust yoda (>)*8(>[+++++[-]]+)*21 04:21:16 L8D.yoda: points -10.79, score 18.05/100, rank 45/47 (change: +2) 04:21:21 WTF? 04:21:28 4 poke it is... 04:21:30 -!- Frooxius has joined. 04:21:47 wait no 04:21:53 offset 04:21:59 !bfjoust yoda (>)*8(>[(+)*5[-]]+)*21 04:22:00 L8D.yoda: points -10.79, score 18.05/100, rank 45/47 (change: --) 04:22:06 offset? 04:22:12 !bfjoust ais523_defend9 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/raw-file/6f8e08560f66/ais523_defend9.bfjoust 04:22:15 quintopia: error: parse error: [..] crossing out of a ({..}) level 04:22:28 i think when you said "four poke" you meant "offset of four" 04:22:36 poke is something else 04:22:44 okay then yes offset 04:24:54 !bfjoust ais523_defend9 http://sprunge.us/faBM 04:24:56 quintopia.ais523_defend9: points -13.90, score 13.41/100, rank 47/47 04:25:02 oh well! 04:27:45 [wiki] [[BF Joust strategies]] http://esolangs.org/w/index.php?diff=40529&oldid=40527 * 108.205.143.75 * (+1085) 04:28:31 No good at techenical writeups. 04:28:31 ^.^ 04:29:19 [lymia@aurica ~/data/programming/bfjoust-versions]$ ls egojoust_versions/ | wc -l 04:29:19 9910 04:29:25 Who wants 9910 warriors to sort through? 04:30:49 !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21 04:30:50 L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: --) 04:30:57 !bfjoust yoda (>->)*4(>[(+)*5[-]]-)*21 04:30:57 L8D.yoda: points -9.90, score 17.51/100, rank 44/47 (change: --) 04:31:01 !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21 04:31:02 L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: --) 04:31:34 Lymia: 9910 individual warriors? 04:31:41 Yep. 04:31:49 This is every single distinct program that ever went through the dead EgoJoust hill 04:32:07 you should first compile each one down to brainfuck then checksum each one and eliminate duplicates 04:32:45 I already did. 04:32:51 Remove duplicates, at least. 04:33:40 https://lymia.moe/~lymia/egojoust_versions.tar.xz 04:33:44 If someone wants a bunch of BF Joust bots. 04:33:46 Unsorted 04:34:22 You couldn't write a script to sort them by rank? 04:34:39 or go through each individual one and upload it to the new hill 04:34:45 That takes a lot of computing power. 04:34:51 And I'm not going to screw up the new hill 04:35:45 couldn't you take the code of the new hill, start your own server somewhere and upload each warrior one at a time with a script 04:36:01 then take the top 47 or just the outstanding ones and upload them to the new hill 04:37:19 Let me put this in prospective 04:37:34 Running one warrior has, so far, taken about 20 seconds 04:37:58 quintopia, elliott_: Help 04:38:07 I need to run 9910*9909 warrior matchups 04:38:54 What about just 9910*1 matchups? 04:39:10 or just 9910*2 or 9910*3 04:39:36 you take the top 1, 2 or 3 best warriors of the existing strategies 04:41:10 !bfjoust yoda (>->)*4(>[(+)*5[-.]]+)*21 04:41:10 L8D.yoda: points -18.98, score 10.81/100, rank 47/47 (change: -3) 04:41:19 !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21 04:41:19 L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: +3) 04:41:36 Lymia: How do you suggest I solve this problem? 04:41:42 Lymia: there aren't that many warriors on the hill 04:41:49 quintopia, yes. 04:41:50 Lymia: eliminate all but the latest iteration of each 04:41:54 I'm losing to lockers, so I want a cheap fix to avoid nearly as many losses 04:41:57 I extracted every single bot that ever landed on egobot 04:42:29 "it hurts when i do this" "well don't do that" 04:43:46 !bfjoust yoda (>->)*4(>[(+)*5[--.]]+)*21 04:43:48 L8D.yoda: points -38.02, score 1.83/100, rank 47/47 (change: -3) 04:43:59 !bfjoust yoda (>->)*4(>[(+)*6[--.]]+)*21 04:44:00 L8D.yoda: points -33.95, score 4.29/100, rank 47/47 (change: --) 04:44:32 !bfjoust yoda ++(>->)*4(>[(+)*5[-]]+)*21 04:44:32 L8D.yoda: points -10.12, score 17.28/100, rank 44/47 (change: +3) 04:46:35 !bfjoust yoda (>->+)*4([(+)*5[-]]+)*21 04:46:37 L8D.yoda: points -34.00, score 1.37/100, rank 47/47 (change: -3) 04:46:55 !bfjoust yoda (>->>+>)*2([(+)*5[-]]+)*21 04:46:57 L8D.yoda: points -33.02, score 1.59/100, rank 47/47 (change: --) 04:47:05 !bfjoust yoda (>->)*4([(+)*5[-]]+)*21 04:47:07 L8D.yoda: points -32.88, score 1.74/100, rank 47/47 (change: --) 04:47:15 !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21 04:47:16 L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: +3) 04:47:41 !bfjoust yoda (>->+)*4(>[(+)*5[-]]+)*21 04:47:41 L8D.yoda: points -8.86, score 18.17/100, rank 44/47 (change: --) 04:47:58 !bfjoust yoda (>->>+>)*2(>[(+)*5[-]]+)*21 04:47:58 L8D.yoda: points -9.55, score 18.03/100, rank 44/47 (change: --) 04:48:27 !bfjoust yoda (>->)*4(>[(+)*5[-]]-)*21 04:48:28 L8D.yoda: points -9.90, score 17.51/100, rank 44/47 (change: --) 04:48:34 !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21 04:48:34 L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: --) 04:48:38 yrah... 04:48:48 someone really needs to make zemhill pmable 04:49:09 fizzie is the only someone 04:50:35 !bfjoust draw (+)*-1 04:50:37 quintopia.draw: points -15.48, score 11.87/100, rank 47/47 04:51:22 !bfjoust draw ((+)*256(-)*256)*-1 04:51:25 quintopia.draw: points -13.76, score 11.44/100, rank 47/47 (change: --) 04:52:53 !bfjoust lock <(+)*-1 04:52:53 L8D.lock: points -46.00, score 0.00/100, rank 47/47 04:53:00 !bfjoust draw >+[++]<(-)*-1 04:53:03 quintopia.draw: points -20.98, score 8.00/100, rank 47/47 04:53:04 !bfjoust lock >(+)*-1 04:53:10 L8D.lock: points -6.12, score 13.71/100, rank 47/47 04:53:21 not bad 04:54:31 !bfjoust draw >[(+)*128(-)*128]<(+)*-1 04:54:33 quintopia.draw: points -15.40, score 11.88/100, rank 47/47 04:55:35 !bfjoust draw >>>+++<+++<[(+)*128(-)*128]<(+)*-1 04:55:38 quintopia.draw: points -19.45, score 8.84/100, rank 47/47 (change: --) 04:55:43 quintopia: ha! mine is better than yours 04:55:47 yep 04:55:50 hehe 04:56:16 !bfjoust draw >>>+++<+++<[(+)*1000]<(+)*-1 04:56:18 quintopia.draw: points -19.45, score 8.84/100, rank 47/47 (change: --) 04:56:21 hmm 04:56:35 !bfjoust lock >(++-)*-1 04:56:39 o.O 04:56:41 L8D.lock: points -7.43, score 11.18/100, rank 47/47 04:56:54 !bfjoust lock >(-)*-1 04:57:01 L8D.lock: points -6.12, score 13.71/100, rank 47/47 (change: --) 04:57:29 !bfjoust lock >(+>+<)*-1 04:57:32 L8D.lock: points -26.57, score 3.42/100, rank 47/47 (change: --) 04:57:37 oh 04:57:38 duh 04:57:43 ._. 04:57:43 !bfjoust draw >>>+++<+++<+[(+)*1000]<(+)*-1 04:57:48 quintopia.draw: points -13.45, score 6.43/100, rank 47/47 04:57:55 hmm 04:58:27 yeah that draws as often as it should. kicks space_hotel's ass. 05:02:12 L8D: i think your simple one works well because it tricks nyuroki off the tape. nyuroki is based on the idea that locking doesn't happen on one's own flag right off the bat. apparently. 05:02:39 or not 05:02:48 interesting.... 05:02:49 !bfjoust draw >>>+++<+++<+[++]<(+)*-1 05:02:52 quintopia.draw: points -24.33, score 5.67/100, rank 47/47 (change: --) 05:03:07 that one gets such much drawing 05:04:19 !bfjoust lock >+((+)*120(-)*120)*-1 05:04:24 L8D.lock: points -6.31, score 12.69/100, rank 47/47 05:05:03 somehow, just barely, lesser 05:05:05 yeah the one that spins on the first cell BEATS nyuroki 05:05:29 !bfjoust lock >(+)*-1 05:05:35 L8D.lock: points -6.12, score 13.71/100, rank 47/47 (change: --) 05:05:47 oh wow it does 05:06:12 by 2 points though 05:06:13 because on short tapes, nyuroki says "fuck this i must be getting locked here" and immediately moves two cells to the right 05:06:20 which ... makes it suicide 05:06:24 with >80% of games being draws 05:07:06 !bfjoust lock ++>(+)*-1 05:07:12 L8D.lock: points -6.62, score 13.11/100, rank 47/47 (change: --) 05:08:49 !bfjoust lock +>(+)*-1 05:08:55 L8D.lock: points -6.10, score 13.74/100, rank 47/47 (change: --) 05:08:56 !bfjoust mad_rush >(+)*-1(>[(>)*8((+)*115[+]>)*20])*20 05:09:02 quintopia.mad_rush: points -6.12, score 13.71/100, rank 47/47 05:09:05 woah...interesting 05:09:29 mad_rush has the exact same score as >(+)*-1 05:09:30 oh wait 05:09:41 that's because the rest of the coden ever gets executes :P 05:09:46 lol 05:09:49 quintopia, rather. 05:09:53 !bfjoust mad_rush >(+)*2000(>[(>)*8((+)*115[+]>)*20])*20 05:09:53 quintopia.mad_rush: points -13.76, score 21.41/100, rank 43/47 (change: +4) 05:09:57 It, uh. 05:10:00 Assumes stuff makes decoys 05:10:05 quintopia: nicely done 05:10:06 !bfjoust mad_rush >(+)*3000(>[(>)*8((+)*115[+]>)*20])*20 05:10:06 quintopia.mad_rush: points -14.81, score 20.12/100, rank 45/47 (change: -2) 05:10:12 !bfjoust mad_rush >(+)*1000(>[(>)*8((+)*115[+]>)*20])*20 05:10:13 quintopia.mad_rush: points -14.31, score 19.30/100, rank 45/47 (change: --) 05:10:14 So that on short tapes, its checks before setting decoys would send it straight to its clear loop >_> 05:10:31 !bfjoust mad_rush >(+)*2000(>[(>)*8((+)*115[+]>)*20])*20 05:10:31 quintopia.mad_rush: points -13.76, score 21.41/100, rank 43/47 (change: +2) 05:10:45 When it thinks its getting locked, it switches to [-.-+] instead of going >> 05:11:49 i can see that 05:12:04 !bfjoust mad_rush >(+)*2000(>[(>)*7((+)*115[+]>)*20])*20 05:12:04 quintopia.mad_rush: points -20.48, score 14.08/100, rank 47/47 (change: -4) 05:12:09 !bfjoust mad_rush >(+)*2000(>[(>)*8((+)*115[+]>)*20])*20 05:12:10 quintopia.mad_rush: points -13.76, score 21.41/100, rank 43/47 (change: +4) 05:12:57 !bfjoust lock-nyuroki >+[]<(-++--+--++)*-1 05:12:59 Lymia.lock-nyuroki: points -25.69, score 7.42/100, rank 47/47 05:13:16 Uh, let's see... 05:13:44 !bfjoust lock-nyuroki >+[]<(-+)*500(+.+-)*-1 05:13:45 Lymia.lock-nyuroki: points -27.10, score 9.25/100, rank 47/47 (change: --) 05:14:16 !bfjoust blitz (>+)*8(<(+)*11)(>)*8(>[(+)*10[-]]) 05:14:17 L8D.blitz: points -44.90, score 0.10/100, rank 47/47 05:14:30 I suck 05:14:57 !bfjoust blitz (>+)*8(<(+)*11)(>)*8(>[(+)*10[-]])*21 05:14:58 L8D.blitz: points -16.60, score 14.69/100, rank 47/47 (change: --) 05:15:03 ...much butter 05:16:12 !bfjoust blitz (>+)*8(<(+)*11)*8(>)*8(>[(+)*10[-]])*21 05:16:13 L8D.blitz: points -5.81, score 24.88/100, rank 33/47 (change: +14) 05:16:20 holy shit 05:16:27 !bfjoust yolo (>+>-)*10([(+)*50([-])*2]+>)*-1 05:16:27 Lymia.yolo: points -31.62, score 6.27/100, rank 47/47 05:16:29 nice 05:16:41 !bfjoust yolo (>++++>---)*8([(+)*50([-])*2]+>)*-1 05:16:42 Lymia.yolo: points -25.83, score 8.53/100, rank 47/47 (change: --) 05:16:57 blitz draws nyuroki 05:17:22 !bfjoust blitz (>+)*8((+)*11<)*8(>)*8(>[(+)*10[-]])*21 05:17:22 L8D.blitz: points -5.55, score 25.26/100, rank 34/47 (change: -4) 05:17:24 hun 05:17:29 Looks like it's polarity decided? 05:17:52 polarity what? 05:17:55 Right 05:17:58 Bigger than my offset 05:18:00 One bigger. 05:18:15 oh yeah I did that because I saw a lot of warriors using the number 10 05:18:27 so I used the number 10 in my code except I decoy at 11 05:18:35 L8D: trying making it alternate polarity on the decoys? 05:18:43 Yeah 05:18:45 oooh 05:18:50 (blitz is winning on one polarity only) 05:18:51 The tie is because 05:19:00 !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21 05:19:01 L8D.blitz: points -4.55, score 26.21/100, rank 29/47 (change: +5) 05:19:05 On one polarity nyuroki blitzs through the decoys due to polarity 05:19:06 awesome! 05:19:06 nice 05:19:08 On the other, its offset fails 05:19:11 I feel so proud of myself 05:19:26 Lymia: time to use an offset of 11 instead? 05:19:31 Lymia: I'm using an offset of 10 to be fair 05:19:53 L8D: don't be fair. tweak constants to your heart's content! 05:19:54 Lymia: please don't update nyuroki 05:20:08 I don't want my dreams to be crushed 05:20:20 fuck your dreams. this is bf joust 05:21:00 !bfjoust blitz (>+>-)*4((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21 05:21:00 L8D.blitz: points -7.50, score 21.48/100, rank 44/47 (change: -15) 05:21:07 ... 05:21:14 !bfjoust blitz (>+>)*4((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21 05:21:15 L8D.blitz: points -6.45, score 24.04/100, rank 38/47 (change: +6) 05:21:18 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:21:19 Lymia.nyuroki: points 23.26, score 100.00/100, rank 1/47 (change: --) 05:21:24 !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21 05:21:24 L8D.blitz: points -4.55, score 26.21/100, rank 29/47 (change: +9) 05:21:47 Let's do something stupid 05:22:07 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:22:08 Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: --) 05:22:12 .... it lives 05:22:59 but it is still using an offset of 10 05:23:01 11* 05:23:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:23:06 Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: --) 05:23:26 Opps 05:23:28 Upload fail 05:23:29 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:23:30 Lymia.nyuroki: points 18.60, score 96.84/100, rank 2/47 (change: -1) 05:23:48 lol 05:23:50 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:23:50 Lymia.nyuroki: points 18.57, score 97.26/100, rank 2/47 (change: --) 05:24:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:24:07 Lymia.nyuroki: points 22.86, score 100.00/100, rank 1/47 (change: +1) 05:24:12 IT's getting beaten by your yolo script 05:24:22 wait nvm 05:24:30 it's getting beaten by quintopia's mad_rush 05:24:34 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:24:35 Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: --) 05:24:40 Unfortunely 05:24:41 which is why it's at #2 05:24:43 blitz can take the tie. 05:24:48 Other bots are more important 05:24:50 yay! 05:25:27 !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*5[-]])*21 05:25:27 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:25:28 L8D.blitz: points -6.67, score 23.12/100, rank 41/47 (change: -12) 05:25:29 Lymia.nyuroki: points 10.95, score 66.21/100, rank 5/47 (change: -4) 05:25:31 Giant offset! 05:25:36 !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21 05:25:36 L8D.blitz: points -4.98, score 31.98/100, rank 35/47 (change: +6) 05:25:37 Terrible idea 05:25:44 !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21 05:25:44 L8D.blitz: points -4.98, score 31.98/100, rank 35/47 (change: --) 05:25:49 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:25:50 Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: +4) 05:25:51 what happened 05:26:04 Lymia: make it beat ffspg! 05:26:09 ffspg? 05:26:14 Oh 05:26:40 FFSPG vs Nyuroki, unfortunely 05:26:58 Is matter of larger decoy sizes. :( 05:27:30 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:27:31 Lymia.nyuroki: points 21.07, score 100.00/100, rank 1/47 (change: --) 05:28:57 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:28:58 Lymia.nyuroki: points 21.71, score 100.00/100, rank 1/47 (change: --) 05:29:21 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:29:22 Lymia.nyuroki: points 21.62, score 100.00/100, rank 1/47 (change: --) 05:29:42 !bfjoust blitz (>+)*8((+)*11<<(-)*11<<)*2(>)*8(>[(+)*10[-]])*21 05:29:43 L8D.blitz: points -8.93, score 22.68/100, rank 46/47 (change: -17) 05:29:47 !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21 05:29:47 L8D.blitz: points -4.45, score 28.66/100, rank 29/47 (change: +17) 05:29:56 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:29:56 Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: --) 05:31:32 i have a convention idea. 05:31:49 we can easily represent a tape configuration by an integer 05:32:16 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:32:19 Lymia.nyuroki: points -18.76, score 12.18/100, rank 46/47 (change: -45) 05:32:39 by letting the sign be the polarity (negative for kettle) 05:32:44 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:32:45 Lymia.nyuroki: points -29.45, score 8.38/100, rank 47/47 (change: -1) 05:32:57 hahaha 05:33:01 and letting the number be 9 less than the tape length 05:33:08 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:33:09 Lymia.nyuroki: points -30.64, score 7.49/100, rank 47/47 (change: --) 05:33:18 *sigh* 05:33:20 Code restructures 05:33:20 :( 05:33:27 so that x in [-21,...,21], x!=0 are the possible tape configurations 05:33:46 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:33:48 Lymia.nyuroki: points -27.88, score 9.15/100, rank 47/47 (change: --) 05:34:04 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:34:06 Lymia.nyuroki: points -30.26, score 7.71/100, rank 47/47 (change: --) 05:36:00 OMG I have this brilliant idea for what we could be spending all this time writing bots doing... 05:36:15 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:36:16 Lymia.nyuroki: points 18.88, score 95.98/100, rank 3/47 (change: +44) 05:36:16 writing real software. 05:36:23 Lymia: You're *still* going on? 05:36:27 Nah 05:36:36 Just trying to integrate a poke into nyuroki. 05:36:40 As you can see, it's not going well 05:36:57 L8D: It should *be* "pmable" already. 05:37:03 (Perhaps I should point that out somewhere.) 05:37:22 today I learned ".moe" is a real TLD 05:37:37 fizzie: people were failing to get pms working earlier i think 05:38:08 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:38:09 Lymia.nyuroki: points 18.02, score 94.28/100, rank 3/47 (change: --) 05:38:20 fizzie: nothing happens when I do 05:38:29 fizzie: also can i just say that the zem bfjoust site is a masterpiece of web engineering and i just wish i had enough money to hire you to do stuff 05:39:02 Screw it~ 05:39:03 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 05:39:04 Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: +2) 05:39:05 I wouldn't say "masterpiece".... 05:39:07 Rip apart Nyuroki as you'd like 05:39:28 Why do I keep writing ellipses? I don't really know..... 05:39:36 quintopia: Yeah, pure-javascript-for-all-content sites are where it's at, nobody wants search engines and such to be able to index anything. 05:39:42 L8D: have you tried it? everything is interconnected and intelligently explained! 05:39:59 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*50([-])*2]+>)*-1 05:39:59 Lymia.finnel: points 1.10, score 32.15/100, rank 17/47 (change: --) 05:40:01 fizzie: yeah! fuck search engines! 05:40:02 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*40([-])*2]+>)*-1 05:40:02 Lymia.finnel: points 2.55, score 30.58/100, rank 17/47 (change: --) 05:40:04 quintopia: Yes. But I'm a fullstack JS dev too.... 05:40:06 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*60([-])*2]+>)*-1 05:40:08 Lymia.finnel: points -4.05, score 25.77/100, rank 31/47 (change: -14) 05:40:13 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*12([(+)*50([-])*2]+>)*-1 05:40:14 Lymia.finnel: points 6.12, score 41.20/100, rank 8/47 (change: +23) 05:40:16 http://sprunge.us/jEVa <- a query worked just fine for me. 05:40:20 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*14([(+)*50([-])*2]+>)*-1 05:40:20 Lymia.finnel: points 6.38, score 43.29/100, rank 7/47 (change: +1) 05:40:23 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*15([(+)*50([-])*2]+>)*-1 05:40:23 Lymia.finnel: points 5.93, score 42.71/100, rank 7/47 (change: --) 05:40:26 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*13([(+)*50([-])*2]+>)*-1 05:40:26 Lymia.finnel: points 6.71, score 43.44/100, rank 7/47 (change: --) 05:40:29 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*14([(+)*50([-])*2]+>)*-1 05:40:30 Lymia.finnel: points 6.38, score 43.29/100, rank 7/47 (change: --) 05:40:54 yep PMs work 05:41:07 Lymia: take it to PM man! 05:41:15 But I'm molesting the hill! 05:41:15 :( 05:41:18 !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]]+)*21 05:41:19 L8D.blitz: points -2.21, score 29.56/100, rank 25/47 (change: +3) 05:41:41 woot 05:42:11 Lymia: doesn't molestation usually happen in private? 05:42:19 ^ 05:42:29 How about "laying seige upon" 05:42:32 That's a better metaphor, right? 05:42:46 not really 05:43:05 an army stops laying siege once it has already conquered, you see 05:43:17 !bfjoust blitz (>+)*8((+)*10<(-)*11<)*4(>)*8(>[(+)*10[-]]+)*21 05:43:17 L8D.blitz: points -2.67, score 29.00/100, rank 26/47 (change: -1) 05:43:23 Committing genocide? 05:43:32 !bfjoust blitz (>+)*8((+)*11<(-)*12<)*4(>)*8(>[(+)*10[-]]+)*21 05:43:32 L8D.blitz: points -1.38, score 32.63/100, rank 21/47 (change: +5) 05:43:34 fizzie: so what do you think about my suggestion for score scaling 05:43:52 woot woot! 05:44:05 not blitz ACTUALLY BEATS NYUROKI 05:44:10 http://zem.fi/bfjoust/game/#joust,L8D.blitz,Lymia.nyuroki,90653d4 05:44:13 fuck yeah! 05:45:14 L8D: because of the small but just big enough decoys. good plan. 05:45:47 it also appears to beat space_hotel 05:45:50 for the same reason 05:46:00 that was my only goal from the start actually...I was trying to understand how nyuroki works 05:46:06 Should get my evolver back up sometime. 05:47:01 !bfjoust evolved ((-)*5>[(-)*4.[+.]].)*-1 05:47:02 Lymia.evolved: points -24.71, score 10.99/100, rank 47/47 05:47:12 !bfjoust evolved (-)*5(>.(-)*7)*3(>[(-)*8[.+]](-)*2)*-1 05:47:14 Lymia.evolved: points -15.05, score 17.44/100, rank 47/47 (change: --) 05:47:21 These two crummy things topped the stack overflow hill. 05:47:21 Yep 05:47:24 !bfjoust evolved (-)*5(>.(-)*7)*3(>[(-)*8[+]](-)*2)*-1 05:47:25 Lymia.evolved: points -11.48, score 20.40/100, rank 47/47 (change: --) 05:47:55 i just had an idea 05:48:37 most of the top programs on the hill right now have decoys that are all the same size 05:48:45 or close to it 05:49:03 what if a program searched for the optimal offset size the first time it reached a "real" decoy 05:49:18 or better 05:49:24 It'd hate stuff that sets up decoys in layers. 05:49:38 I tried it out with a total score of 100, but the numbers were too small. Even with 200, the range for most is just around 1-10, with only the top two breaking two digits (with 11.79 and 10.09). I guess I could just make the factor bigger, but I kind of like that there's a well-defined maximum score that's not completely in the stratosphere compared to the actual numbers. (Admittedly, the ... 05:49:40 Like, it says "Oh, about 5 high decoys" for Nyuroki 05:49:44 ... max-scaling is crude too.) 05:49:58 ... but those are only the forward ones while it sets up actual decoys 05:50:10 Lymia: i was about to revise the idea 05:50:26 Lymia: suppose it increased its offset size every time the offset it last used didn't work 05:50:39 fizzie: Isn't whatever is in 1st place supposed to have the 100 score? 05:50:41 So. 05:50:44 Start with a wiggle clear 05:50:53 And use information from that for every further clear? 05:51:21 L8D: That's the way it's now, but in the old scoring, a hypothetical "perfect" program would have gotten 100 score. 05:51:33 ahh 05:51:37 fizzie: 500 then! i want the absolute change in score to mean something dammit! 05:51:45 "hypothetical"? 05:51:56 Lymia: There has never been one submitted, I don't think. 05:52:34 Well 05:52:36 I could work on that 05:53:00 I have a good idea what my technique would be 05:53:01 fizzie: i don't mind at all that the maximum score is much higher than the actual numbers. that's what i'd expect in a good competitive ecosystem. 05:53:27 so you'd need to up your score of 25ish to, like, 500, huh 05:53:40 !bfjoust yoda (>)*8(>[(+)*10[-]]+)*21 05:53:40 L8D.yoda: points -11.31, score 20.69/100, rank 46/47 (change: --) 05:53:42 You need a total duel points of 42 against every other opponent to get 100 points in the old scoring. But even if you did that on the new one, it doesn't have any particular fixed value in the resulting distribution. 05:53:47 quintopia, in the stack overflow hill 05:53:58 The old nyuroki was achieveing a 93% win rate 05:54:02 !bfjoust yoda (>+>)*4(>[(+)*10[-]]+)*21 05:54:02 L8D.yoda: points -9.19, score 21.67/100, rank 46/47 (change: --) 05:54:12 !bfjoust yoda (>+>-)*4(>[(+)*10[-]]+)*21 05:54:13 L8D.yoda: points -7.19, score 23.58/100, rank 44/47 (change: +2) 05:54:17 Lymia: how does the new one do 05:54:21 I'm not sure. 05:54:32 how do I do pms? 05:54:39 It'd probably fall over badly because that hill has some insane programs, and some weird programs. 05:54:49 L8D: just pm the damn bot with the same damn messages :P 05:55:20 quintopia: it wasn't working earlier... 05:55:34 Lymia: do you have to actually post the code to enter, or can you submit it mechanically 05:55:47 Post the code. 05:55:51 lame 05:55:53 I had a local simulator 05:57:49 Lymia: teach me how to use bfjoustext 05:57:58 quintopia, I have a readme. 05:58:08 quintopia: I think "58.96/1000" for the top program looks slightly silly, especially since there's no way you can actually get the (1, 0, 0, ... 0) distribution no matter how good you make your program. But I'll think about it anyway. 05:58:09 And I'm terrible at coding and language design. 05:58:47 i like how your github is the second or third hit on google for nyuroki. makes it easy to find. 05:59:09 fizzie: why is there a /1000 there? is that necessary? 06:00:14 also, why wouldn't a perfect program get the (1,0,0,0,0...) distribution? 06:00:19 -!- StackOverflow has joined. 06:00:22 !bfjoust frederick_128Bot https://raw.githubusercontent.com/redevined/brainfuck/master/BrainFuckedBotsForBattling/bots/128Bot.bf 06:00:23 StackOverflow.frederick_128Bot: points -25.21, score 9.41/100, rank 47/47 06:00:27 Can I do this~ 06:00:29 Pretty please~? 06:00:38 have fun 06:01:06 "rank 47/47" 06:01:07 quintopia: Because you'd only get a 1/N transition probability from every opponent to your program, and quite a lot of the probability mass would be left to share between the opponents. 06:01:15 Most of these bots are bouncing right off the hill. 06:01:28 why is it 47, by the way 06:01:39 Bike: I just copied what it was, so I don't know. 06:01:49 -!- zemhill has quit (Quit: Abandon ship, abandon ship!). 06:01:55 rip 06:02:04 Well, that was interesting. 06:02:11 Sorry 06:02:33 "#" I wonder where that came from. 06:04:43 Lymia: yeah the readme didn't help 06:04:43 [wiki] [[Special:Log/newusers]] create * BettyeLocklear * New user account 06:04:47 [wiki] [[An Updated Introduction To Efficient Plans For Beginning Your Own Business]] N http://esolangs.org/w/index.php?oldid=40530 * BettyeLocklear * (+250) Created page with "Either If you cherished this posting and you would like to acquire more information concerning [http://greenwichdance.org.uk/member/410073/ look at this site] kindly pay a vi..." 06:04:49 How can @progs[newprog] || @progs[@ranking[-1]] result in nil. That doesn't make any sense. 06:05:34 [wiki] [[An Updated Introduction To Efficient Plans For Beginning Your Own Business]] http://esolangs.org/w/index.php?diff=40531&oldid=40530 * 108.205.143.75 * (-247) Replaced content with "die" 06:05:53 Well, I have a meeting to go to in an hour, so I'll again just let it restart. 06:05:56 -!- zemhill has joined. 06:06:22 fizzie: well in that case, wouldn't setting the sum to 1000 make 100 the maximum possible score? 06:06:26 Perhaps it was a race condition, that just shouldn't happen. 06:06:28 Is it... safe to upload a Google Webmaster verification thingy to a public place? 06:06:39 I want to verify my GitHub Pages site 06:07:01 fizzie: erm sorry, N is number of warriors 06:07:16 fizzie: wouldn't setting the sum to 4700 make 100 the max score? 06:07:37 (i'm still not convinced (1,0,0,0,0,0,...) is impossible) 06:07:42 -!- paul2520 has quit (Ping timeout: 245 seconds). 06:07:45 quintopia: I doubt that. But if you want to work it out, go ahead. (I was going to just test it empirically, but didn't yet get around it.) 06:07:47 -!- zemhill has quit (Client Quit). 06:08:07 -!- paul2520 has joined. 06:08:15 Almost certainly a race condition 06:08:22 Lymia: Could you possibly do it slower in that case. 06:08:25 What's happening to zemhill? 06:08:31 -!- paul2520 has changed nick to Guest51277. 06:08:38 -!- zemhill has joined. 06:09:02 fizzie: yeah i think (1,0,0,0,0,...) is possible. it doesn't matter what the other programs share with each other. they all feed some score into Top Program, and Top Program doesn't give anything back. thus, the only possible stationary distribution is (1,0,0,0,0,0...) 06:09:55 anyway, this is all moot. there's no reason to say what your score is "out of"...it's your score. it is what it is. 06:10:30 what matters is how it changes over time 06:10:40 and if there's a different scaling factor every time 06:10:46 how can you track that meaningfully? 06:10:58 -!- StackOverflow has changed nick to zemclear. 06:11:46 -!- zemclear has left ("Hug~♪"). 06:11:48 -!- Lymia has left ("Hug~♪"). 06:11:51 -!- Lymia has joined. 06:12:59 yes! blitz is now in 14th 06:13:12 I should send my updated Nyuroki back at the original hill 06:13:16 Might blow everything up 06:13:20 Lymia: how can i use joustext to write a goto($x) function, that moves the tape pointer to cell $x no matter what position it is in now? (aka generates a different branch of code for every possible current cell) 06:13:45 quintopia, it's a macro preprocessor, you can't really. 06:13:54 :( 06:14:04 If you know your current position, you can. 06:14:16 (<)*$offset or (>)*$offset 06:14:19 sure 06:14:26 that's easy enough to do by hand 06:14:44 Tracking position is super-hard 06:14:47 [>] 06:14:47 Opps 06:15:00 my ideal bf joust metalanguage would track the current cell in every branch of code to make that function possible 06:15:30 [>] would be a mess then 06:15:36 indeed 06:15:43 But I suppose I could try implementing that. 06:15:56 I can't guarentee you aren't asking for exponential codegen though 06:15:59 in that case, it would just say "um sorry i have no idea where you are anymore" 06:16:10 exponential codegen is fine 06:16:35 hrm 06:16:38 Let me think about how to implement that 06:16:45 I wouldn't want it to activate when goto isn't being used. 06:16:49 Since it'd unroll ()*-1s and stuff 06:17:04 yeah 06:17:47 > 256^30 06:17:48 1766847064778384329583297500742918515827483896875618958121606201292619776 06:19:27 -!- AndoDaan has quit (Ping timeout: 246 seconds). 06:20:51 > 256^256 06:20:53 3231700607131100730071487668866995196044410266971548403213034542752465513886... 06:21:04 > 10^10^100 06:21:09 mueval: ExitFailure 1 06:21:45 -!- zemhill has quit (Remote host closed the connection). 06:21:58 quintopia: You've convinced me, and the scoring is now as you suggest. 06:22:03 [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[An Updated Introduction To Efficient Plans For Beginning Your Own Business]]": Spam: content was: "die" 06:22:05 -!- zemhill has joined. 06:22:18 What's the correlation between program size and score? 06:22:34 Jafet: There's a plot about that. 06:22:42 quintopia: The Δscore field will have to wait, I can barely make my meeting as it is. 06:22:46 [wiki] [[Special:Log/block]] block * Oerjan * blocked [[User:BettyeLocklear]] with an expiry time of indefinite (account creation disabled): Spamming links to external sites 06:22:53 Jafet: http://zem.fi/egostats/plot_lenscore.png 06:23:17 If you mean quantitatively, "some positive number", based on eyeballing that scatter plot. 06:23:37 One sec 06:23:48 https://twitter.com/pwnallthethings 06:23:55 Was unaware of Firefox issues 06:24:17 https://twitter.com/sempf 06:24:35 Well, score isn't actually an absolute quantity. Maybe a rank correlation estimator would be more useful 06:25:05 http://nakedsecurity.sophos.com/2014/09/25/mozilla-fixes-phishing-friendly-cryptographic-bug-in-firefox-and-thunderbird/ 06:27:04 -!- MoALTz has quit (Quit: Leaving). 06:30:53 -!- oerjan has quit (Quit: how phishy). 07:29:10 -!- `^_^v has quit (Ping timeout: 272 seconds). 07:36:36 -!- not^v has joined. 07:51:15 -!- not^v has quit (Read error: Connection reset by peer). 07:51:41 -!- not^v has joined. 07:58:56 -!- not^v has quit (Ping timeout: 272 seconds). 08:16:56 !bfjoust 08:16:56 mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 08:17:40 no. my snail is gone :( 08:18:31 mroman_: your snail got HAMMERED 08:19:11 !bfjoust snail [>[(-)*13[+]].(+)*10] 08:19:12 mroman_.snail: points -13.55, score 9.60, rank 44/47 08:19:21 ok... 08:19:33 It's back on :) 08:19:36 !bfjoust snail [>[(-)*13[+]].(+)*11] 08:19:37 mroman_.snail: points -11.38, score 11.22, rank 44/47 (--) 08:19:46 !bfjoust snail (>[(-)*13[+]].(+)*10)*-1 08:19:47 mroman_.snail: points -12.19, score 10.20, rank 44/47 (--) 08:20:01 !bfjoust yoda (>)*8(>[(+)*6[-]])*21 08:20:02 L8D.yoda: points -0.81, score 17.66, rank 27/47 (--) 08:20:06 !bfjoust snail (>[(-)*13[+]](+)*10)*-1 08:20:07 mroman_.snail: points -12.36, score 10.12, rank 44/47 (--) 08:20:35 !bfjoust snail [>[(-)*13[+]].[-].(+)*10] 08:20:36 mroman_.snail: points -16.00, score 8.41, rank 44/47 (--) 08:20:43 !bfjoust snail [>[(-)*13[+]].[-](+)*10] 08:20:43 mroman_.snail: points -15.52, score 8.58, rank 44/47 (--) 08:21:03 !bfjoust snail >[>[(-)*13[+]].(+)*10] 08:21:03 mroman_.snail: points -28.05, score 3.44, rank 44/47 (--) 08:21:10 !bfjoust snail [>[(-)*13[+]].(+)*10] 08:21:10 mroman_.snail: points -13.55, score 9.60, rank 44/47 (--) 08:21:14 need them decoys 08:21:42 !bfjoust snail (>(-)*12>(+)*5)*4[>[(-)*13[+]].(+)*10] 08:21:43 mroman_.snail: points -3.86, score 15.92, rank 37/47 (+7) 08:21:56 !bfjoust snail (>(-)*12>(+)*5)*3[>[(-)*13[+]].(+)*10] 08:21:56 mroman_.snail: points -6.62, score 13.70, rank 43/47 (-6) 08:22:00 !bfjoust snail (>(-)*12>(+)*5)*5[>[(-)*13[+]].(+)*10] 08:22:01 mroman_.snail: points -2.67, score 16.76, rank 30/47 (+13) 08:22:18 nice 08:22:25 !bfjoust snail (>(-)*13>(+)*7)*5[>[(-)*13[+]].(+)*10] 08:22:32 race condition :) 08:22:34 !bfjoust snail (>(-)*13>(+)*7)*5[>[(-)*13[+]].(+)*10] 08:22:34 mroman_.snail: points -0.43, score 18.49, rank 24/47 (--) 08:23:26 wouldn't that run off the shortest tape immediately? 08:23:41 it seems to run eleven > operations unconditionally 08:24:04 well, almost unconditionally 08:25:55 and why is that last loop a bracket loop instead of an infinite loop? strange 08:26:42 because it's a snail 08:26:47 !bfjoust snail (>(-)*12>(+)*7)*5[>[(-)*13[+]].(+)*10] 08:26:48 mroman_.snail: points -0.95, score 17.59, rank 27/47 (-3) 08:26:52 !bfjoust snail (>(-)*14>(+)*7)*5[>[(-)*13[+]].(+)*10] 08:26:53 mroman_.snail: points -0.64, score 18.27, rank 26/47 (+1) 08:27:00 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*13[+]].(+)*10] 08:27:00 mroman_.snail: points 0.38, score 19.02, rank 22/47 (+4) 08:27:11 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*10] 08:27:11 mroman_.snail: points 1.17, score 19.99, rank 21/47 (+1) 08:27:15 !bfjoust snail (>(-)*14>(+)*10)*5[>[(-)*13[+]].(+)*10] 08:27:16 mroman_.snail: points 0.14, score 18.88, rank 22/47 (-1) 08:27:20 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*10] 08:27:20 mroman_.snail: points 1.17, score 19.99, rank 21/47 (+1) 08:27:33 nice 08:28:03 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*10](<)*11([-][+]>)*-1 08:28:04 mroman_.snail: points 1.17, score 19.99, rank 21/47 (--) 08:28:13 -!- Patashu has joined. 08:29:14 b_jonas: it looks like it's a good thing to rush more than 9 cells 08:29:49 My athena starts the clear at cell 13 08:29:54 and it's on rank 9 08:30:53 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]](+)*10](<)*11([-][+]>)*-1 08:30:54 mroman_.snail: points 0.86, score 19.75, rank 21/47 (--) 08:31:11 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*10](<)*11([-][+]>)*-1 08:31:12 mroman_.snail: points 1.17, score 19.99, rank 21/47 (--) 08:31:23 How long are tapes actually? 08:31:28 11-30? 08:31:46 I haven't even read the bfjoust specs yet :) 08:33:28 -!- TodPunk has quit (Ping timeout: 260 seconds). 08:35:12 Lymia: 9910*9909 doesn't sound too bad if you parallelise it 08:36:58 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*1](<)*11([-][+]>)*-1 08:36:58 mroman_.snail: points 1.43, score 20.18, rank 20/47 (+1) 08:37:07 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].](<)*11([-][+]>)*-1 08:37:08 mroman_.snail: points -32.24, score 1.56, rank 44/47 (-24) 08:37:16 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].+](<)*11([-][+]>)*-1 08:37:17 mroman_.snail: points 1.43, score 20.18, rank 20/47 (+24) 08:37:20 mroman_: 10..30. 08:37:40 I wonder if 14 9 makes athena better 08:37:53 !bfjoust athena (>(+)*14>(-)*9)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 08:37:53 mroman_.athena: points 5.86, score 25.44, rank 10/47 (--) 08:37:56 nope 08:38:04 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 08:38:04 mroman_.athena: points 5.21, score 24.77, rank 10/47 (--) 08:38:13 fizzie: can you make sure zemhill PM results are announced in #esoteric at least? I don't like the hill changing secretly. 08:38:55 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]]+](<)*11([-][+]>)*-1 08:38:55 mroman_.snail: points 1.36, score 20.26, rank 20/47 (--) 08:39:12 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*12[+]]+](<)*11([-][+]>)*-1 08:39:13 mroman_.snail: points 1.60, score 20.54, rank 19/47 (+1) 08:39:18 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*11[+]]+](<)*11([-][+]>)*-1 08:39:18 mroman_.snail: points 2.74, score 21.76, rank 17/47 (+2) 08:39:21 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*10[+]]+](<)*11([-][+]>)*-1 08:39:22 mroman_.snail: points 2.67, score 21.81, rank 17/47 (--) 08:39:27 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*9[+]]+](<)*11([-][+]>)*-1 08:39:28 mroman_.snail: points 2.57, score 21.80, rank 17/47 (--) 08:39:34 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*10[+]]+](<)*11([-][+]>)*-1 08:39:35 mroman_.snail: points 2.67, score 21.81, rank 17/47 (--) 08:40:41 That'd mean no reduction in the channel spam, asymptotically speaking. But I guess it could be done; perhaps the status messages are less off-putting as the code. 08:41:56 Maybe only print it when something "major" changes? 08:42:00 Say, change in top 20 08:43:02 fizzie: yes, I don't actually care about channel spam, I think people should know when the hill changes, which is why I don't like /msg submissions :p 08:43:11 When's ais get on? 08:43:15 !bfjoust isthisanygood (>(+)*128>(-)*128)*4([(-)*9[+]]>)*-1 08:43:15 mroman_.isthisanygood: points -28.74, score 4.38, rank 45/47 08:43:27 incidentally, it would be nice if zemhill could link to the source code of the program in the git repo, for when people overwrite with the same URL etc. 08:43:51 !bfjoust isthisanygood (>(+)*128>(-)*128)*4(>[(-)*9[+]])*-1 08:43:52 mroman_.isthisanygood: points -28.36, score 4.30, rank 45/47 (--) 08:43:54 elliott_, people who aren't me do that? 08:44:03 maybe not. but you do it! 08:44:35 !bfjoust isthisanygood (>(+)*128>(-)*128)*4(>[+<->])*-1 08:44:35 mroman_.isthisanygood: points -24.45, score 5.68, rank 45/47 (--) 08:44:43 !bfjoust isthisanygood (>(+)*18>(-)*18)*4(>[+<->])*-1 08:44:44 mroman_.isthisanygood: points -20.86, score 7.14, rank 45/47 (--) 08:44:54 !bfjoust isthisanygood (>[+<->])*-1 08:44:55 mroman_.isthisanygood: points -20.62, score 6.94, rank 45/47 (--) 08:44:58 :{ 08:45:17 !bfjoust isthisanygood (>[(+)*128<->])*-1 08:45:18 mroman_.isthisanygood: points -24.14, score 5.28, rank 45/47 (--) 08:45:24 !bfjoust isthisanygood (>[(+)*7<->])*-1 08:45:25 mroman_.isthisanygood: points -26.21, score 4.75, rank 45/47 (--) 08:46:06 !bfjoust isthisanygood (>[<+>-])*-1 08:46:06 mroman_.isthisanygood: points -16.90, score 8.54, rank 45/47 (--) 08:46:17 !bfjoust isthisanygood (>[<(+)*13>-])*-1 08:46:18 mroman_.isthisanygood: points -22.86, score 6.04, rank 45/47 (--) 08:46:21 blah 08:46:51 !bfjoust isthisanygood (>(+)*14>(-)*9)*4(<)*8(>[<+>-])*-1 08:46:53 mroman_.isthisanygood: points -21.26, score 6.16, rank 45/47 (--) 08:47:29 !bfjoust isthisanygood (>(-)*10[<+>-])*-1 08:47:30 mroman_.isthisanygood: points -33.26, score 2.37, rank 45/47 (--) 08:47:49 !bfjoust isthisanygood (>[<+>-]<)*-1 08:47:49 mroman_.isthisanygood: points -27.19, score 4.27, rank 45/47 (--) 08:47:54 :) 08:47:58 this doesn't even attack 08:48:15 hm 08:48:41 !bfjoust isthisanygood (>[<+>-]<)*5000(>[(-)*9[+]])*-1 08:48:42 mroman_.isthisanygood: points -26.24, score 4.88, rank 45/47 (--) 08:48:51 10k cycles is max right? 08:49:06 !bfjoust isthisanygood (>[<+>-]<)*5(>[(-)*9[+]])*-1 08:49:06 mroman_.isthisanygood: points -22.95, score 6.29, rank 45/47 (--) 08:49:32 !bfjoust isthisanygood (>[<+>-]<) 08:49:33 mroman_.isthisanygood: points -29.86, score 3.34, rank 45/47 (--) 08:50:30 nice 08:51:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:52:28 -!- zolbap has joined. 08:52:28 !bfjoust isthisanygood (>[<+>-]<)*1(+)*-1 08:52:30 mroman_.isthisanygood: points -11.38, score 9.45, rank 45/47 (--) 08:52:36 this should tie a lot 08:53:33 -!- L8D has quit (Ping timeout: 244 seconds). 08:57:14 -!- zolbap has left. 08:57:18 hehe 08:57:28 !bfjoust isthisanygood (>[<+>-]<[+[-]])*-1 08:57:29 mroman_.isthisanygood: points -25.02, score 2.24, rank 45/47 (--) 08:57:32 damn 08:59:42 -!- peyote99 has joined. 08:59:56 !bfjoust random_bot_out_of_nowhere ((>)*8(<(+)*10<(-)*12)*4)*4(>)*9(>[(-)*30[+]])*-1 08:59:56 Lymia.random_bot_out_of_nowhere: points 2.48, score 19.86, rank 21/47 09:00:29 !bfjoust isthisanygood (>[<+>-]<[+[-]+])*-1 09:00:31 mroman_.isthisanygood: points -27.83, score 2.05, rank 46/47 (--) 09:01:03 !bfjoust random_bot_out_of_nowhere < 09:01:03 Lymia.random_bot_out_of_nowhere: points -46.00, score 0.00, rank 47/47 (-26) 09:01:48 -!- ais523 has joined. 09:03:48 Lymia: Now. 09:03:55 Eh? :o 09:03:59 Hi ais523~ 09:05:47 hi 09:06:17 Lymia: re messages, that's an interesting idea 09:06:22 we should submit it as a joint program 09:06:30 I, uh. 09:06:31 I honestly couldn't believe that monolith's decoy setup worked 09:06:37 Have a #1 nyuroki by now though. 09:06:44 It uses a much simpler timer clear. 09:06:51 oh, even better 09:07:00 I can busily try to knock you off the #1 spot by myself, then 09:07:07 I like having competition 09:07:13 I've secured myself 6.31 points of lead. 09:07:20 did you use a flexible or inflexible clear? 09:07:28 meanwhile, I've been working on a new program that's unlikely to come #1 09:07:37 Flexible meaning it changes depending on cell position? 09:07:37 Nope. 09:07:57 inflexible ones do all cells on the same timer 09:08:06 Inflexible in that case. 09:08:16 It waits 500 ticks, then switches to [-.-+] 09:08:37 !bfjoust stealth < 09:08:37 ais523.stealth: points -45.00, score 0.00, rank 47/47 (-19) 09:08:47 !bfjoust stealth2 http://nethack4.org/esolangs/stealth2.bfjoust 09:08:49 ais523.stealth2: points 17.90, score 46.90, rank 2/47 09:09:00 OK, maybe I underestimated it 09:09:01 Unlikely to get #1? 09:09:12 I am in awe of you two 09:09:54 it beats the other five of the top six programs 09:09:59 which is probably why it scores so well 09:10:03 Huh, what are these "zemclear.fillerN" programs? 09:10:06 ... 09:10:13 Skip 5 decoys? 09:10:14 Geez. 09:10:22 the win against nyuroki is pretty marginal, thouh 09:10:28 Lymia: it skips five decoys, or to the first zero 09:10:42 With Nyuroki, that goes straight to flag. 09:10:43 lol 09:10:51 ais523: do you think it'd be possible to work out the resulting hill from running every possible program against each other? 09:10:55 fizzie, clearing off stuff from the stack overflow hill 09:11:03 Well. 09:11:09 :D 09:11:11 There's a limit to the number of possible programs, I'm pretty sure. 09:11:15 !bfjoust lazy (+.+.+.-.)*-1 09:11:16 Since at every tick you can only branch twice. 09:11:17 mroman_.lazy: points -15.64, score 6.99, rank 45/47 09:11:19 hehe 09:11:21 to two points* 09:11:27 yeah, traces are finite so programs are too 09:11:34 but the space is much too large to naively enumerate 09:11:35 the reasoning is: some programs use a reverse offset clear setup, so you can find a zero inside their setup and then go to their flag 09:11:36 lazy totally beats my athena 09:11:45 but otherwise it pretty much beats nothing :) 09:11:49 but it'd be interesting to see what's #1. 09:11:49 -!- peyote99 has quit (Quit: Leaving). 09:11:52 some programs trail during their setup, in which case they're very likely to leave at least six decoys nowadays 09:11:53 (I guess there'd be a lot of ties, maybe?) 09:12:03 ais523, innovation, hun... 09:12:05 and also how well that #1 did on an actual hill. 09:12:18 elliott_, the vast majority of programs won't rush. 09:12:31 elliott_: one thing I discovered is that there's a set of 768 programs, such that no program can beat all 768 of those programs on every tape length and polarity 09:12:34 So, I suspect that #1 will be a very fast clear. 09:12:44 But might, say, easily get locked. 09:12:50 well, if you're using markov scoring 09:12:51 I gues. 09:12:52 ais523: oerjan's "rush to where the flag is and clear it"? 09:12:52 guess* 09:12:59 It depends on what's the most common type of bot. 09:13:03 elliott_: yes, on tape length 10 09:13:08 plus shifting your own flag first if that doesn't work 09:13:10 you need 768 to allow for all possible defence programs 09:13:29 ais523: oh, oerjan's was a function (prog, tapelen, polarity) -> prog that beats it 09:13:46 ah right 09:13:51 23:44:10 basically you rush to the other flag, clearing it at maximal efficiency; this will work against any program which doesn't do the same to you. 09:13:54 23:45:08 if a program _does_ that to you, shift your own flag one step first to get at least one turn advantage. 09:13:57 23:46:06 (this only works because you know both tape length, polarity and the opponent's code, of course.) 09:14:17 elliott_: incidentally, I wrote a program to automatically search for a lock that would work against all the programs on the hill, with no [] involved 09:14:19 but it proved there wasn't one 09:14:41 i.e. you have to do some sort of synchronization or detection of the opponent if you want a universally correct lock, nowadays 09:15:37 Lymia: aha, nyuroki's using a reverse decoy setup, so stealth2 just rushes past all the decoys to the zero 09:15:50 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:15:51 Lymia.nyuroki: points 21.86, score 57.57, rank 1/47 (--) 09:15:56 許さない 09:16:00 now I don't get how nyuroki wins on sieve polarity sometimes 09:16:02 * ais523 looks 09:16:16 oh, the flag repair 09:16:31 happens at pretty much exactly the wrong time for stealth2 09:16:45 actually it loses a lot to programs that adjust their flags to beat turtles at inconvenient moments 09:17:07 Flag repair? 09:17:11 That's just an offset to kill turtles 09:18:54 -!- TodPunk has joined. 09:19:17 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:19:18 Lymia.nyuroki: points 21.19, score 55.64, rank 1/47 (--) 09:19:39 Lymia: I know, but it acts as a flag repair against stealth2 due to an unfortunate timing coincidence 09:19:48 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:19:49 Lymia.nyuroki: points 21.21, score 55.64, rank 1/47 (--) 09:19:53 ais523, ah 09:20:12 if only I could get stealth2 resistant to that thing happening, it'd do a lot better 09:21:37 I would find it amusing if there was a bug in the hill that would let you run essentially different code for different opponents/tape-lengths/polarities, and someone used that to submit an automatically tuned hill-beater. 09:22:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:22:07 Lymia.nyuroki: points 23.31, score 62.43, rank 1/47 (--) 09:22:07 (Also I still have no idea where that one race condition could come from, in the bot-code all references to the 'hill' object are inside a single synchronized block.) 09:22:38 fizzie, I want to write such a program 09:22:42 And I won't need different code. 09:22:52 Well, we'll see about that. 09:23:04 I need a rather esoteric component which is my problem. 09:23:15 Lymia: you just tweaked nyuroki to beat stealth2? 09:23:20 An interpter that A) Uses immutable data structures you can clone 09:23:22 ais523, yes. 09:23:27 B) Does one versus many 09:23:49 Lymia: haha :-) 09:24:05 that is beautifully blatant 09:24:09 Fun fact about the Markov scoring, as pointed out by quintopia: if you do write the perfect (in terms of rest of the hill) program, all other programs will get a flat 0 as a score. 09:25:17 !bfjoust funky [>(-)*23[>(+)*22[>(-)*21[>(+)*20[>(-)*19[>(+)*18[>(-)*17[>(+)*16[>(-)*15[>(+)*14[>(-)*13[[>(+)*12([(+)*7.[-]]>[(-)*7.[+]]>)*-1]]]]]]]]]]]]] 09:25:19 mroman_.funky: points -2.81, score 18.98, rank 24/47 09:26:46 !bfjoust funky [>(+)*25[>(-)*24[>(-)*23[>(+)*22[>(-)*21[>(+)*20[>(-)*19[>(+)*18[>(-)*17[>(+)*16[>(-)*15[>(+)*14[>(-)*13[[>(+)*12([(+)*7.[-]]>[(-)*7.[+]]>)*-1]]]]]]]]]]]]]]] 09:26:47 mroman_.funky: points -1.43, score 20.07, rank 20/47 (+4) 09:27:13 !bfjoust funky [>(+)*28[>(-)*26[>(+)*25[>(-)*24[>(-)*23[>(+)*22[>(-)*21[>(+)*20[>(-)*19[>(+)*18[>(-)*17[>(+)*16[>(-)*15[>(+)*14[>(-)*13[[>(+)*12([(+)*7.[-]]>[(-)*7.[+]]>)*-1]]]]]]]]]]]]]]]]] 09:27:14 mroman_.funky: points -4.07, score 17.87, rank 26/47 (-6) 09:27:15 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:27:16 Lymia.nyuroki: points 21.45, score 56.62, rank 1/47 (--) 09:27:18 !bfjoust funky [>(+)*25[>(-)*24[>(-)*23[>(+)*22[>(-)*21[>(+)*20[>(-)*19[>(+)*18[>(-)*17[>(+)*16[>(-)*15[>(+)*14[>(-)*13[[>(+)*12([(+)*7.[-]]>[(-)*7.[+]]>)*-1]]]]]]]]]]]]]]] 09:27:19 mroman_.funky: points -1.52, score 19.88, rank 21/47 (+5) 09:27:25 ais523, what's wrong with being blatant?? ;P 09:27:39 nothing 09:27:41 just, this means war :-) 09:27:56 ais523: As a mini-poll, what's your opinion on (elliott's suggestion of) zemhill printing those summary reports even on privmsg submissions, under the logic that people will then always know when the hill changes? 09:28:08 fizzie: I'm fine with that 09:28:23 That's two out of two for, zero against, so I guess I'll make it do that. 09:28:32 the git link would also be nice, so you don't have to check the website to see what the program is 09:28:38 or, well, you do, but it's easier to 09:28:40 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:28:41 Lymia.nyuroki: points 14.88, score 40.82, rank 2/47 (-1) 09:28:49 what's up with the StackOverflow submissions, btw? did we add them automatically? or did they add them? 09:29:08 Lymia did that, I guess to see how they would fare? 09:29:20 fair enough 09:29:49 Those 4 bots were the only ones out of 60something that stuck 09:29:54 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:29:55 Lymia.nyuroki: points 11.60, score 34.78, rank 6/47 (-4) 09:30:04 !bfjoust stealth2 http://nethack4.org/esolangs/stealth2.bj 09:30:04 ais523: URL fetch problems: 404 Not Found 09:30:08 !bfjoust stealth2 http://nethack4.org/esolangs/stealth2.bfjoust 09:30:08 ais523.stealth2: points 12.88, score 38.57, rank 5/47 (--) 09:30:19 it does a little worse, but at least it beats nyuroki now 09:30:29 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:30:30 Lymia.nyuroki: points 17.48, score 44.13, rank 1/47 (+6) 09:30:35 Doh, so easy to screw up your stack pointer 09:30:46 I was going to say "I wonder if I can get it to beat omnipotence" 09:30:48 but of course I can't 09:31:01 omnipotence is pretty high on the list of "programs ais523 has trouble beating" 09:31:12 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:31:13 Lymia.nyuroki: points 18.05, score 45.63, rank 1/47 (--) 09:31:48 huh, now it draws with preparation 09:32:12 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:32:12 Lymia.nyuroki: points 20.67, score 53.80, rank 1/47 (--) 09:32:25 Turn down the blatancy a bit. :P 09:33:38 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:33:39 Lymia.nyuroki: points 19.38, score 50.06, rank 1/47 (--) 09:34:01 elliott_: Maybe I can make a shortened git link; the gitweb URLs are a bit verbose, even when you manually abbreviate the commit hash. 09:35:04 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:35:05 Lymia.nyuroki: points 16.83, score 43.87, rank 1/47 (--) 09:35:12 Less blatant solution. :) 09:36:35 your score's down to just 43 09:36:40 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:36:41 Lymia.nyuroki: points 16.98, score 44.71, rank 1/47 (--) 09:37:16 hmm, if we're going down the serious war route 09:37:27 Either way. 09:37:31 I could always modify omnipotence to lose to stealth… 09:37:39 !bfjoust icare6 (>(-)*128.[(+)*9.[-]])*-1 09:37:41 Abusing reverse decoy setups is the most evil thing you've done. :( 09:37:41 mroman_.icare6: points -12.17, score 9.68, rank 46/47 09:37:55 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:37:56 Lymia.nyuroki: points 21.43, score 56.55, rank 1/47 (--) 09:39:00 ooh, stealth2 is up to 4th now 09:39:16 somehow I think changes to nyuroki have more impact on its ranking than changes to stealth2 do 09:39:41 how does the scoring work out if one program beats all but one other program, and that other program doesn't beat anything else? 09:39:50 !bfjoust icare6 >>>>>>>>(>(-)*128.[(+)*9.[-]])*-1 09:39:52 mroman_.icare6: points -18.14, score 6.68, rank 46/47 (--) 09:40:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:40:10 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:40:10 Lymia.nyuroki: points 3.86, score 23.54, rank 10/47 (--) 09:40:14 ouch 09:40:36 hu 09:40:36 what did you do? 09:40:42 wasn't nyuroki on place 1? 09:41:00 mroman_: it was, but Lymia's been changing it a lot 09:41:09 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:41:10 Lymia.nyuroki: points 21.79, score 57.04, rank 1/47 (+9) 09:41:16 Experiment with decoy layouts. 09:41:27 normally when I modify a program and it drops that low, it's because I accidentally changed the value of a tripwire without changing the code that checks it, or something like that 09:41:30 or unbalanced < with > 09:42:22 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:42:24 Lymia.nyuroki: points 22.05, score 57.78, rank 1/47 (--) 09:43:33 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:43:34 Lymia.nyuroki: points 16.24, score 41.75, rank 3/47 (-2) 09:44:30 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:44:36 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:44:36 Lymia.nyuroki: points 5.79, score 25.88, rank 7/47 (--) 09:45:06 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:45:07 Lymia.nyuroki: points 22.05, score 57.78, rank 1/47 (+6) 09:45:22 ais523: I can never really work through these in my head. The transition matrix is based on numbers of losses only -- of course wins are symmetric to lossses. Losing to a "worthless" program that uniformly loses against everything else should be (at least close to) equivalent to losing on a fraction of 1/N tapes/polarities -- less than one setting, that is -- to everything. 09:45:24 I concede. Abusing reverse clears is too clever. 09:45:25 ^.^ 09:45:44 What's a reverse clear? 09:45:48 fizzie: right 09:45:55 mroman_: I think Lymia meant reverse decoy setups 09:46:01 reverse decoy setup** 09:46:10 what's that? 09:46:11 :) 09:46:14 the whole stealth2/nyuroki thing is basically a stone-paper-scissors situation 09:46:27 it's easy to beat stealth2, but you end up typically losing to nyuroki if you do 09:46:36 mroman_: basically you set up the decoys nearer the opponent first 09:46:43 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:46:44 Lymia.nyuroki: points 3.81, score 23.77, rank 10/47 (-9) 09:46:47 to buy time to set up the more distant ones 09:47:45 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:47:47 Lymia.nyuroki: points 17.93, score 47.44, rank 1/47 (+9) 09:48:43 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:48:48 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:48:49 Lymia.nyuroki: points 16.86, score 44.37, rank 1/47 (--) 09:49:34 I was going to wait until it's a bit more officially stable, but since that thing is getting so much use (despite the bugs), perhaps I should add to the wiki's BF Joust page's "External resources" links. 09:50:01 I wonder what's punishing delaying on reverse clears so much 09:50:17 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 09:50:18 Lymia.nyuroki: points 21.79, score 57.04, rank 1/47 (--) 09:50:20 Fast pokse? 09:50:23 Fast pokes* 09:50:30 Lymia: delaying on the decoy setup, you mean? 09:50:40 yes, if you get poked before your decoys are set up, it is very very hard to win from there 09:51:02 setup setup 09:51:03 Yes. 09:51:03 almost the only exception I know is omnipotence, which specifically relies on that happening and then dedicates its entire strategy to winning in that situation 09:51:04 Setup. 09:51:28 it's quite hard to hold a technical conversation when some of the words are substituted with random other words 09:51:34 Now wtf is funky 09:51:37 It beats both nyuroki and stealth3 09:51:40 2* 09:51:52 this bash vulnerability is pretty serious 09:52:05 mroman_, it's hard to exploit though 09:52:18 `run env x='() { :;}; echo vulnerable > foo' bash -c "echo this is a test" 09:52:20 this is a test 09:52:23 `cat foo 09:52:23 vulnerable 09:53:12 `run rm foo # let's not leave toys around on the floor 09:53:12 Lymia: I'm not sure what happens if you embed it in a querystring for cgi programs 09:53:14 No output. 09:53:36 mroman_: wow that looks pretty bad 09:53:40 tar cvzf ../toys.tar.gz *; rm -rf * # Any toys at all 09:53:54 mroman_: From what I recall reading, Apache's CGI implementation isn't exploitable via the query string, but it is via some other CGI environment variables. 09:54:02 * Lymia already updated her server 09:54:03 you can embed a particular string into any arbitrary environment variable, and bash will run it? 09:54:10 ais523: yep 09:54:13 ais523, I think it only affects bash on startup 09:54:24 do CGI servers normally run programs via the shell? 09:54:34 but you have to launch a new bash shell I guess 09:54:50 ais523: system/popen is vulnerable too 09:54:55 because it spawns a shell. 09:55:28 mroman_: so CGI isn't globally vulnerable, but if the CGI program runs anything via a shell, it is? 09:56:28 it is vulnerably if you can control a environment variable and the webserver uses system/popen to spawn the cgi program 09:56:36 right 09:56:40 and since CGI exchanges data through environment variables 09:56:40 I wasn't sure how many webservers would 09:56:44 I think it could be really serious 09:56:55 I know about CGI and environment variables 09:57:01 hmm, what controls /which/ shell system() uses? 09:57:06 sh is not bash by default on Debian/Ubuntu 09:57:16 There's also OpenSSH's forced-command-for-a-key thing. 09:57:55 You can circumvent some related limitations implemented with that, since the original command is put into SSH_ORIGINAL_COMMAND. 09:58:43 Probably not as generally exploitable, since you'd need a public key with a set command. 10:00:22 now I'm suddenly very glad that NetHack 4's launcher executable deletes all environment variables without even inspecting them, and it's the first thing that runs 10:03:50 glibc manual says their system(3) is hardcoded to use whatever 'sh' corresponds to. 10:04:13 (Which would indeed be dash and not bash on Debian/Ubuntu by default.) 10:04:52 $ ls -l /proc/`echo $$`/exe 10:04:53 lrwxrwxrwx 1 ais523 ais523 0 Sep 25 11:04 /proc/24328/exe -> /bin/dash 10:04:59 OK, I'm actually very relieved now 10:05:08 that means that this bug is much less widespread than it could have been 10:06:28 I have a #! /bin/bash CGI script on zem.fi. :p 10:06:38 fizzie: might want to update it, then 10:06:43 the script or bash or both 10:06:46 Oh, it's got a new bash. 10:06:58 But the script doesn't have any excuse for being bash instead of sh, either. 10:10:54 well 10:11:02 you can hack debian servers with the HTTP_USER_AGENT 10:11:09 by supplying stuff like User-Agent: () { :;}; echo vulnerable > /tmp/foo 10:11:13 I just tested that. 10:11:17 on my server 10:11:20 so please don't hack it ;) 10:11:50 To a script explicitly starting bash, or just any general CGI program? 10:11:52 (also I've stopped apache on it anyway) 10:12:00 My Debian server is now patched. 10:12:01 ;P 10:12:06 Debian has patches out? 10:12:19 fizzie: It didn't work for haskell-cgi programs 10:12:21 Yes, at least for stable. 10:12:25 but it works for certain interpreters 10:12:30 I just did updates, Ubuntu was one of them 10:12:33 vivio@momoko:/home/lymia$ env x="() { :;}; echo vulnerable" bash -c "test" 10:12:33 bash: warning: x: ignoring function definition attempt 10:12:34 bash: error importing function definition for `x' 10:12:34 err, bash was 10:12:42 as well as for CGI programs written as shell scripts 10:12:42 There's no patch for testing yet 10:12:45 But I pulled one from sid 10:13:14 I have Debian 6.0 10:13:22 apt-get update && apt-get upgrade didn't install anything 10:13:24 mroman_: I don't think it should affect those if they're written as /bin/sh scripts and not /bin/bash ones. 10:13:36 it was a /bin/bash 10:13:37 apparently there's another, more complicated, way to exploit the same bug that the patch didn't get, though 10:13:37 :) 10:13:49 mroman_: Well, that's oldstable, I guess it lacks behind a bit. 10:13:51 but if it's a python/php script that launches via os.popen/system 10:13:58 you're screwed too ;) 10:14:28 mroman_, do you have security.debian on your sources list? 10:14:56 If not fix this immediately 10:15:01 aha, what happens is that if the function definition ends halfway through, on a trailing backslash 10:15:04 deb http://security.debian.org testing/updates main contrib non-free 10:15:26 the first token of the command given to bash is deleted 10:15:33 meaning that it tries to run the first command-line argument as a program 10:15:39 probably still exploitable, although a lot harder to exploit 10:17:54 Not reassuring 10:19:35 err, trailing > then backslash 10:19:49 mroman_: Debian 6.0 (squeeze) dropped out of regular support life on May 31, 2014, and apparently you need deb http://http.debian.net/debian/ squeeze-lts main contrib non-free in your sources.list for LTS patches. 10:20:08 Which is where the bash patch for squeeze is, according to https://tracker.debian.org/pkg/bash 10:20:23 Wait. 10:20:34 That server's on a specific release? 10:20:43 Though I'd kind of maybe suggest going 7 at some point. It's been out for over a year. 10:20:44 And not "stable" or "testing"? 10:20:50 People do that. 10:20:57 why 10:21:12 I don't know, stability? That's what the LTS support is for, after all. 10:21:49 Not that I know anything about the server in question, but it can't be just on "stable" if it's Debian 6.0. 10:22:24 At least. 10:22:45 I personally wouldn't use a stable (i.e. ancient and outdated) version of something for anything but mission critical systems 10:23:02 Like a BF Joust hill! 10:24:15 -!- boily has joined. 10:24:32 I should really work on developing the hill stomper. 10:24:36 I want the (1, 0, 0, 0, 0) 10:25:00 So, uh 10:25:07 If anyone would disagree with me attempting such a thing 10:25:10 Please raise your hand now. 10:25:10 ^.^ 10:25:44 go for it 10:26:42 !bfjoust aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 10:26:44 Lymia.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: points -32.19, score 3.79, rank 47/47 10:26:48 !bfjoust aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa < 10:26:48 Lymia.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: points -46.00, score 0.00, rank 47/47 (--) 10:27:01 !bfjoust sorry < 10:27:02 Lymia.sorry: points -46.00, score 0.00, rank 47/47 10:27:04 !bfjoust sorry .< 10:27:04 Lymia.sorry: points -46.00, score 0.00, rank 47/47 (--) 10:27:13 Oh, I was going to add a length limit. 10:27:30 For the name, not the program. (The programs actually already have one.) 10:28:10 Can you wait until I get my program out? 10:28:11 <3 10:30:58 !bfjoust test!!! < 10:30:58 Lymia: Program name looks like gibberish. Did you forget it? 10:33:18 -!- zemhill has quit (Remote host closed the connection). 10:33:28 No, I'm going to be all boring. 10:33:41 -!- zemhill has joined. 10:33:41 But 10:33:45 Isn't "DIE_THE_DEATH__SENTENCE_TO_DEATH__GREAT_EQUALIZER_IS_THE_DEATH" a great program name? 10:34:45 !bfjoust DIE_THE_DEATH__SENTENCE_TO_DEATH__GREAT_EQUALIZER_IS_THE_DEATH < 10:34:45 Lymia: Program name is overly long. 48 characters should be enough for everyone. 10:35:10 !bfjoust Lymia-is-insane +>>>>>>>>>-(>[-..])*31 10:35:11 boily.Lymia-is-insane: points -28.10, score 4.59, rank 47/47 10:36:41 "48 characters should be enough for everyone." 10:37:09 Maybe that was a bit too strict. 10:37:44 48 is a perfectly sane limit :-) 10:38:07 !bfjoust I-may-be-insane-but-too-bad-i-win >+[]<...(+...)*-1 10:38:08 Lymia.I-may-be-insane-but-too-bad-i-win: points -31.17, score 3.62, rank 47/47 10:38:28 Lymia: that's the worst shudder algorithm ever :-) 10:38:35 ais523, shudder? :) 10:38:39 or, lock? 10:38:41 It's a lock targeted at boily.Lymia-is-insane! 10:38:42 or, well 10:38:43 what /is/ it trying to do 10:38:46 oh, I see 10:39:01 I was going to say, it only locks 4-cycle clears, and even then normally only on one polarity 10:39:09 and it doesn't even do anything once it has the lock 10:39:11 Oh, good point. 10:39:16 I forgot an instruction 10:39:22 That should be -..(+...)*-1 10:39:38 I'm not convinced that helps 10:40:17 how could one target my brain-hared programs is beyond my current cognitive capacity. 10:40:24 hmm, I'm not sure if I've had an idea that completely doesn't work in BF Joust for ages 10:40:33 most ideas, I just tweak them until they end up working 10:40:43 I should try a defense program sometime 10:40:48 or, well, the half-cycle probabilistic lock was probably a bad idea, but I tweaked it until it became margins 10:40:48 All 3 I have right now are some sort of rush 10:40:56 which might also be a bad idea, but an /awesome/ bad idea 10:41:23 !bfjoust finnel (>)*14([(+)*50([-])*2]+>)*-1 10:41:24 Lymia.finnel: points -27.19, score 4.66, rank 46/47 (-35) 10:41:33 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*14([(+)*50([-])*2]+>)*-1 10:41:34 Lymia.finnel: points 3.24, score 23.53, rank 11/47 (+35) 10:41:40 Lymia: good defense programs are very hard to write nowadays 10:41:41 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*2(>)*14([(+)*50([-])*2]+>)*-1 10:41:42 Lymia.finnel: points -3.05, score 18.00, rank 27/47 (-16) 10:41:45 !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*14([(+)*50([-])*2]+>)*-1 10:41:46 Lymia.finnel: points 3.24, score 23.53, rank 11/47 (+16) 10:41:58 ais523, you think? 10:42:07 I spent most of 2013 finding new strategies that were impossible to defend against, and the rest finding ways to prove that I was wrong after all 10:42:33 actually I was worried that the invention of the timer clear would kill BF Joust forever, but luckily that didn't happen 10:42:36 I'm not sure how you'd lock Nyuroki's particular timer clear without targeting it in particular. 10:42:41 first I wrote anticipation, then preparation 10:42:49 how does nyuroki do against preparation? 10:43:03 Earlier versions fell off the tape. 10:43:15 I modified it to always check for stuff to be cleared two cycles 10:43:32 Roughly tied with preparation 10:43:33 right 10:43:57 if you want to see nyuroki being locked, check sieve 24 10:44:01 versus preparation 10:44:23 preparation's lock is probabilistic and tends not to do too well in that matchup (perhaps as a result of you constant-tweaking) 10:44:26 but it does hold sometimes 10:44:44 aaa long logs 10:44:54 that's what happens when a program's successfully locked 10:45:37 ah right, your final clear is very slow 10:45:46 which makes the odds of a probabilistic clear holding much lower, but not zero 10:46:00 Hun. So anticipation uses its clear to set up decoys 10:46:06 And then does a conventional rush? 10:46:25 My thought process was 10:46:30 Lymia: preparation, yes 10:46:35 "Uh, what's the next prime number after 3" 10:46:40 "OK, 5 it is" 10:46:40 this is because its lock doesn't have enough spare cycles to reach the other end of the tape 10:47:04 but the point of a probabilistic lock is that it can theoretically lock any integral clear cycle 10:47:10 and several rational ones too 10:47:13 but has to get lucky with the timing 10:47:58 Would there be a significant difference between [+.-+] and [+...] then? 10:48:14 The latter to the former (IIRC) gave a good bit of score 10:48:19 against a probabilistic lock, no 10:48:22 against a shudder, very yes 10:49:06 I'm not entirely clear what the theory behind probabilistic locks is, really. 10:49:36 basically, you have a 5-cycle clear, so every 1280 cycles, your clear is in the same state, right? 10:50:04 so in order to lock you, preparation needs to be changing the lock cell in the same direction as your clear whenever it happens to hit zero 10:50:24 it changes it in both directions, but when they're changing in the same direction, it changes faster 10:50:29 and when they're changing in opposite directions, it changes slower 10:50:35 -!- L8D has joined. 10:50:42 so probabilistically, the zero is more likely to happen when the bots are going in the same direction 10:51:39 the problem is, if you're doing something as slow as a 5-cycle clear 10:51:50 that effect isn't very pronounced, so the odds of the lock holding are kind-of low 10:52:21 Hrm, and, how does that interact with [-.-+]? 10:52:36 The tick before the clear is checked, it's going in the opposite direction as the lock 10:53:33 what matters is the overall change, not the specific tick 10:53:39 because you're not checking the value during the +- 10:53:43 and I'm not checking the value during the +- 10:53:48 you may as well have done .. 10:53:53 because nobody observes the change 10:54:20 I see. 10:54:50 only difference is if you're on a flag 10:54:54 -!- L8D has quit (Ping timeout: 246 seconds). 10:54:58 So, the point is that during the probabstic lock, the points that would fall to 0 during it are scattered, so to speak, right? 10:55:00 where +- is much better because it has a better chance of zeroing it against a shudder/vibrator 10:55:05 Lymia: yes 10:55:08 So there's a chance it'll miss th e0. 10:55:09 I see. 10:55:10 the* 10:55:26 And this actually punishes stuff that checks for clears on two cycles pretty bad. 10:55:37 also, even if it hits the 0, there's a good chance that… yes 10:56:10 this isn't rock-paper-scissors, but what I think of as the physical/special thing (from Pokémon) 10:56:27 physical attacker < physical defender < special attacker < special defender < physical attacker 10:56:36 you can defend against programs that don't check for two cycles, or against programs that do 10:56:46 or be greedy like margins, and try to do both, but that's less reliable 10:56:49 nyuroki checks for two cycles on the top level. 10:56:54 ([main clear])*2 10:57:00 and you have to do it on different cells 10:57:02 But none of the clears inside check for 2 cycles 10:57:09 Ah, I see Pokémon follows the well-known PHP relational operator there. 10:57:53 (Pokemon is fun because those categories aren't mutually exclusive. ;D) 10:58:08 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 10:58:10 Lymia.nyuroki: points 22.43, score 57.99, rank 1/47 (--) 10:58:15 -!- AnotherTest has joined. 10:58:40 Lymia: it'd be fun even if they were, but this way, it's /more/ fun 10:59:24 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 10:59:25 Lymia.nyuroki: points 21.57, score 55.80, rank 1/47 (--) 10:59:32 "123" < "456A", "456A" < "78" and "78" < "123", if you hadn't heard. 11:00:05 Begone, correctness problem! 11:00:09 !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf 11:00:10 Lymia.nyuroki: points 22.43, score 57.99, rank 1/47 (--) 11:00:16 fizzie: the first two are string comparisons, the last is numerical? 11:00:32 ais523: Something like that, yes. 11:00:43 ais523, I wonder how dangerous it'd be to make my inner loop a timer clear too 11:00:45 After 1000 cycles 11:00:46 > 11:00:57 "I give up" 11:01:14 fungot: do you even cycle? 11:01:14 boily: open letter box till wat time? daddy ask want go other group or. haha.cannot rem. at the repair and upgrade... or u orefer msn. btw how to go downfron bugis. u lookfor place 11:01:19 Lymia: many of the programs that are trying to lock you have code to detect that sort of situation 11:01:30 ^style 11:01:30 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms* speeches ss wp youtube 11:01:45 oh, that explains why fungot's even less intelligible than normal 11:01:45 ais523: want to eat chicken. buy 2,4,8,, grams of imported gold) has to leave not long ago sia.bo bao got leh 11:01:58 ^style youtube 11:01:58 Selected style: youtube (Some YouTube comments) 11:02:04 fungot, live! 11:02:04 Lymia: 1.) 11:02:10 fungot, l.... are you OK? 11:02:10 Lymia: simonnot right! i would've expected some kind... crew of 6 and 130 passengers. no one would have repressed this flight. i think is just trying to be sexy lol like hearing a dog miaawing hehehehehehe 11:04:43 ais523, how do they try to detect it? 11:04:44 Tripwires? 11:04:54 yes, tripwires 11:05:00 you'll see preparation doing a lot of tripwire checks 11:05:15 the alternative method is checking to see if the lock cell is 0 when it shouldn't be; that's less reliable but still kind-of works sometimes 11:05:21 I tried it with margins, but the tripwire method worked better 11:05:34 So. 11:05:53 After, say, 1500 ticks, switch to a clear loop that avoids tripwires, maybe? 11:06:03 Say, restores tripwires up from -3 to 3. 11:06:08 have you seen what a clear loop that avoids tripwires looks like :-) 11:06:12 there's one of those in stealth2 11:06:14 it's a mess 11:06:22 it has difficulty clearing cells of value /zero/ 11:06:28 I mean, it manages it eventually, most of the time 11:06:32 Ouch. 11:06:46 oh... 11:06:54 Innovation time? :) 11:07:14 basically how long it takes to clear a cell, and whether the value is restored afterwards, depends on the value of that cell, and the value of the preceding cell 11:07:23 and there's a whole bunch of innovation to make it possible at all 11:08:01 e.g. there's some "polyglot" programming where some of the loops are used for two different purposes in order to avoid having to break out of the loop 11:08:14 [+[--[++++[----[...]++++]---->]++>]->] maybe 11:08:26 Not sure that'd work though. 11:08:51 If you're willing to do it dirty and only care about 1-3 tripwires? 11:09:09 could we just add labels and an if-goto-else-goto statement to the bfjoust language to make the programs shorter? 11:09:17 or would that be too powerful? 11:09:32 Lymia: that doesn't work, although it's very similar to the loop I came up with 11:09:34 [+[--[]++ rest of code]- rest of code] rest of code 11:09:37 the problem is, after the > 11:09:42 :) 11:09:55 Supports 3^n tripwires 11:09:56 you've now lost track of the current value of the cell, because you don't know how much it was adjusted by 11:10:25 Or well. 11:10:28 O(3^n) 11:10:34 Cost for n tripwires. 11:10:37 ! 3^5 11:10:41 > 3^5 11:10:43 243 11:10:46 I can accept this 11:11:15 I have a sort-of moratorium on exponential strategies 11:11:25 basically because if you're willing to go exponential, there's never any reason to execute an ] ever 11:11:39 however, the byte limit on programs works pretty well at preventing them 11:12:22 ! 3^7 11:12:30 > 3^7 11:12:32 2187 11:12:38 I can easily go under 100KB or so 11:12:41 ais523: yes, that's why I'm suggesting there should be an if-goto-else-goto statement 11:12:48 And support 7 tripwires 11:12:55 of course, [] should still be allowed for compatibility 11:12:56 b_jonas: but that lets you write arbitrary programs 11:13:02 so it's not BF any more 11:13:14 ais523, it's not BF, no. 11:13:20 more to the point, it defeats the fundamental assumption that makes defense programs work 11:13:23 I don't have formal proof, but. 11:13:34 which is that there are at least some restrictions on what sort of clear loops the opponent might be losing 11:13:38 I'm almost certain that any program that can be written that way 11:13:52 Can also be represented with a sufficiently long .bf program 11:13:58 Lymia: yes 11:14:15 you replace if then x else y fi z with [xz]yz 11:14:25 but the duplication of z makes it blow up exponentially 11:15:04 exactly 11:15:32 make it arbitrary haskell programs whose only interaction with the environment is zero tests and the five statements < > + - . 11:15:48 so they can do any complicated deterministic computation inside 11:15:58 it's just the interaction that takes up steps 11:16:20 b_jonas: I don't think that would be as good a game 11:16:21 obviously for practical reasons we'll need some limit on the code size, memory and cpu usage, so that tournaments can be finished 11:16:26 yeah, probably 11:16:37 like, I just make the inner loop of a timer clear a PRNG 11:16:45 how are you going to lock /that/? 11:18:04 [lymia@aurica ~/data/programming/JoustExt]$ ls -alh tripclear.bf 11:18:04 -rw-r--r-- 1 lymia lymia 131K Sep 25 06:17 tripclear.bf 11:18:18 Supports up to 6 tripwires, range -2 to 2 11:19:35 whereas stealth2 can do it in just a few lines, and it normally works, except for some bad combinations of values 11:19:47 For the record, there's a two-megabyte current size limit in the bot. 11:19:50 and 131K is /already/ too large, and many programs have more than 6 tripwires 11:20:06 huh, 2MB might be enough for the full version of anticipation2 11:20:08 Why settle for an inferior subsitute when I can just waste 1/20 the size limit 11:21:16 err, anticipation1, I guess 11:21:44 If you do megabyte-sized programs, I'd kindly request to do constant optimization locally and only submit a couple, because the VPS is not made out of bytes. 11:22:05 !bfjoust tripclear http://lymia.moe/~lymia/tripclear.bf 11:22:07 Lymia.tripclear: points -15.88, score 9.20, rank 46/47 11:22:59 fizzie: apparently anticipation1 does terribly on the current hill even if I remove the hacks I needed to fit it within the size limit 11:23:06 so there's not much point in submitting 11:23:15 I'm glad knowing that the hacks are no longer necessary 11:23:27 (basically, I used an automated system to delete codepaths from it that weren't used against any of the programs on the hill) 11:25:07 * boily opens lymia.moe in his browser. “it's... it's pink. it's definitely pink.” 11:25:18 Because I like pink. 11:25:40 oh, a problem I have at work, anyone have advice? basically I have a graph, described as nodes and edges (except a lot more complicated), there are multiple types of node (although the types can be viewed as opaque for this purpose) 11:25:49 I want to pattern-match on the graph, with replacements, sort-of like eodermdrome 11:25:58 Lymia: and I like your github avatar ^^ 11:26:04 this would be really easy to write in Prolog, but I'm not sure how to write it in OCaml 11:27:01 -!- boily has quit (Quit: SPACED CHICKEN). 11:27:18 Still no patches for 6.0.10? 11:29:19 !bfjoust tripclear http://lymia.moe/~lymia/tripclear.bf 11:29:21 Lymia.tripclear: points -8.55, score 12.98, rank 45/47 (+1) 11:29:37 Yay for proofs of concept that are useless~ 11:31:17 mroman_: https://wiki.debian.org/LTS/Using 11:31:37 Lymia: did you skip six decoys first then use a reverse offset clear? :P 11:31:43 < ais523> apparently there's another, more complicated, way to exploit the same bug that the patch didn't get, though – Trying that one only provokes syntax errors for me, on an unpatched bash. 11:32:03 that's a nice shade of pink 11:32:06 Melvar: check to make sure it didn't have side effects 11:32:06 maybe you need lymia.pink too? 11:32:18 the problem is, the syntax error happens 11:32:22 and then the parser state isn't reset or something 11:32:37 so some of the text from the env var effectively gets prepended to the command it's running 11:33:19 Strange 11:33:29 I worked hard to get my website to load in under a second... with dialup 11:33:35 And now with BF Joust I'm going crazy with exponential growth. 11:33:36 ^.^ 11:34:04 Aha. 11:34:54 !bfjoust tripclear http://lymia.moe/~lymia/tripclear.bf 11:34:56 Lymia.tripclear: points -5.36, score 14.56, rank 42/47 (+3) 11:35:00 No more of this program. ^.6 11:35:01 ^.^ 11:35:09 Lymia: do you... have dialup? 11:35:13 So it deliberately provokes a parse error so obscure nobody ever tested it, then exploits the buggy results. 11:35:16 elliott_, no 11:35:29 If I did, why would I be throwing out multi-hundred-KB programs 11:35:57 you could be generating them on the server :p 11:36:22 Melvar: yes, and presumably it was only found because people were looking at the relevant code because of the other bug 11:37:03 This is why you use parser generators 11:37:06 Of course, bash doesn’t and can’t have a real parser. 11:37:07 And not hand-coded parsers 11:37:20 Lymia: the bug looks like it's in the handling of a parse error 11:37:27 as opposed to the parse error itself 11:38:20 Anyway 11:38:25 Firing up IntelliJ~ 11:40:34 ais523: I wonder how it actually happens, since you can’t leave arbitrary things in there, just a ‘>’ apparently. 11:40:58 a leading > is enough to utterly screw up the command you're trying to run, but hmm 11:41:04 what about that seems like the most similarly-parsing character 11:41:43 (I'm 6.0.10 btw) 11:41:48 ...why do we expose bash to the network again? 11:42:05 elliott_: you expose programs that do system() calls to the network 11:42:12 ais523: The file “echo” doesn’t exist :) 11:42:17 ais523: yes, why do we do that? <_< 11:42:29 also, system() is safe as long as sh isn't bash, I think 11:42:34 so, e.g. debian should be fine? 11:42:43 Melvar: it would exist if it was given as an absolute path 11:42:50 elliott_: yes, that was my reaction too 11:42:55 "lucky sh isn't bash on my system" 11:43:04 ais523: doesn't mean nothing invokes bash directly, though 11:43:30 indeed 11:43:49 system() isn't really the most robust of functions anyway though... 11:43:53 ais523: Of course, if it does exist, the tail of the command line runs (and if it ignores its input, without errors) 11:43:57 * Lymia sigh 11:44:00 at least, my decision to only use very small statically compiled binaries for the permission-sensitive bits of nethack4.org is vindicated 11:44:05 Now for something nasty. :( 11:44:16 my sh is dash 11:44:21 Writing a BF Joust interpreter 11:44:25 and it uses execle for the actual running of the next process along 11:44:27 That I can use for my ~special~ project 11:44:29 ais523: go further and compile it all into a kernel a la http://openmirage.org 11:44:30 also it completely resets the environment 11:44:37 Lymia: you could use/modify someone else's? 11:44:49 ais523, I have very special requirements 11:44:59 Which make that pretty impractiacl 11:45:01 impractical* 11:45:17 For one, the data structure must be immutable. 11:45:21 So I can branch off states 11:45:46 And I need single-stepping 11:46:14 * Melvar has set up a filter for bfjoust for the purpose of backscroll-reading. 11:46:31 How dare you.... 11:46:43 Lymia: are you sure copying a mutable state wouldn't be quicker/simpler? 11:46:44 It's tradition to read and analyze bfjoust spam 11:46:51 Lymia: a BF joust tape and two tape pointers can fit in a single AVX register :p 11:47:12 elliott_: Really? 11:47:26 elliott_: do you have an interp that exploits this? 11:47:31 ais523: no, but I should 11:47:40 elliott_, I also intend to reverse the state 11:47:47 Melvar: yes, 30 bytes + two integers in range [0,30) 11:47:48 And look ahead 100 cycles to see if something works 11:47:57 This is a search program. 11:48:04 -!- GeekDude has joined. 11:48:04 Working out when I need to copy would be a nightmare 11:48:29 Melvar: so 240 + just under 5 bits + just under 5 bits = just under 250 bits, you have over 6 bits spare! 11:48:57 unfortunately you'll need 32-bit integers for the IPs 11:49:35 Lymia: clearly reverse the tape with an AVX shuffle! 11:49:41 I'm going to write BFJoust JIT . 11:49:42 (unfortunately they only go down to shuffling 32-bit units, I think) 11:49:51 AVX2, that is 11:50:04 or, uh, no, AVX 1 has the shuffles too? I don't know, x86 is a mess 11:50:49 fizzie: what's the program length limit, anyway? 11:50:55 I'm going to write BFJoust JIT . ← do it 11:51:16 It's gonna be a pain to keep track of the flag reaching 0 for two cycles though 11:51:19 fizzie wrote a BF Joust JIT thing, I think? 11:51:20 I guess 11:51:24 the problem is cycle sync makes it slow 11:51:27 you'd have to check that after every instruction 11:52:02 compile both programs into one 11:52:07 cycle sync? 11:52:09 actually, hmm, no 11:52:12 yeah, that's a mess 11:52:14 I would have just interleaved the programs into a single one 11:52:20 ( Bits8x16 11:52:20 Bits8x16 : Type 11:52:25 somehow 11:52:30 although that's probably tricky for loops 11:52:33 :D 11:53:01 but not impossible 11:53:19 Melvar: now I'm scared that that type exists 11:54:03 It’s for SSE. I think it was introduced when the LLVM backend was. 11:54:20 No Bits8x32 though. No AVX. 11:55:59 ais523: What scares you about it? 11:56:19 Melvar: basically seeing something so relentlessly low-level in such a high-level language 11:56:21 I think you can do it in two SIMD registers: one 256-bit one (5-bit tape length + 5-bit tape pointer * 2 + up to 240-bit tape + 1-bit polarity) and one 128-bit one (24-bit program counter * 2 + 32-bit program identifier * 2, 16 bits spare) 11:56:51 whether you can use SIMD for anything useful is another question, but two-register (+ 32-bit identifier -> program storage mapping) BF Joust is pretty cool 11:57:01 oh wow... now I want to make a BF Joust FPGA 11:57:11 just think how much brute forcing you could do... 11:57:21 We'd finally be able to run the 10000*10000 hill :) 11:57:30 ( :doc Bits8x16 11:57:30 Primitive type Bits8x16 : Type 11:57:30 Vectors of sixteen eight-bit values 11:57:49 I wonder if it'd actually be faster than, like, a hand-optimised assembly implementation on conventional hardware 11:57:57 you could certainly do it with much lower storage requirements without sacrificing efficiency, I guess 11:58:07 !bfjoust catchmeifucan (-)*127(-+)*-1 11:58:09 mroman_.catchmeifucan: points -14.50, score 9.58, rank 47/47 11:58:10 since using SIMD registers for BF Joust would probably be hell on x86 11:58:11 elliott_: now you've got me thinking about what it'd look like in Verity 11:58:14 and what the resulting hardware would look like 11:58:20 ais523: do it!! 11:58:24 !bfjoust catchmeifucan (-)*127(-+.)*-1 11:58:24 I wonder if I can justify this as being connected with my job 11:58:26 mroman_.catchmeifucan: points -4.71, score 15.69, rank 33/47 (+14) 11:58:43 wtf 11:58:46 I guess the savings from using registers might be hurt by having to deal with the huge programs, though 11:58:47 mroman_: huh, that's an interesting variant on vibration 11:59:02 probably it works because many programs fall through to three-cycle clears if they detect a vibration program 11:59:03 some days ago a program with score 18 wouldn't get on the hell 11:59:08 but now with 15.69 you can? 11:59:12 *hill 11:59:24 mroman_: this is what happens if you score based on eigenvalues 11:59:30 the actual score /numbers/ are rather volatile 11:59:52 !bfjoust wait (->+<-)*-1 11:59:56 mroman_.wait: points -6.81, score 12.64, rank 47/47 12:00:03 ah. ok. it only gets 12.64 now 12:00:32 !bfjoust catchmeifucan (-)*127(-+.)*5000([(+)9[-].]>)*-1 12:00:33 mroman_.catchmeifucan: points -11.10, score 12.19, rank 47/47 (-7) 12:00:38 !bfjoust catchmeifucan (-)*127(-+.)*-1 12:00:39 mroman_.catchmeifucan: points -5.71, score 15.10, rank 40/47 (+7) 12:00:54 now it's suddenly 7 ranks worse? 12:00:55 wtf 12:00:58 !bfjoust catchmeifucan (-)*127(-+.)*-1 12:00:59 mroman_.catchmeifucan: points -5.71, score 15.10, rank 40/47 (--) 12:01:37 !bfjoust catchmeifucan (-)*127(-+)*-1 12:01:39 mroman_.catchmeifucan: points -14.55, score 9.48, rank 47/47 (-7) 12:01:40 mroman_: maybe it pushed something that it beats off the hill? 12:01:42 !bfjoust catchmeifucan (-)*127(-+.)*-1 12:01:43 mroman_.catchmeifucan: points -5.71, score 15.10, rank 40/47 (+7) 12:01:48 hm 12:01:51 maybe 12:02:44 During the last 20 years, the information density of storage media and thus the bandwidth of an avian carrier has increased 3 times faster than the bandwidth of the Internet. 12:03:11 three 128-bit registers might be best: [120-bit half-tape, 8-bit spares] [120-bit half-tape, 8-bit spares] [5-bit tape length, 1-bit polarity, [32-bit program identifier, 24-bit program counter, 5-bit tape pointer] * 2] 12:03:16 !bfjoust catchmeifucan (-)*127(-.+)*-1 12:03:17 mroman_.catchmeifucan: points -34.00, score 2.76, rank 47/47 (-7) 12:03:20 !bfjoust catchmeifucan (-)*127(-.+.)*-1 12:03:21 mroman_.catchmeifucan: points -32.43, score 2.80, rank 47/47 (--) 12:03:22 you can use the spares for, um, something 12:03:23 ais523: Just in case it wasn’t clear, this is the sort of thing Idris is trying to get good at. You get to use dependent types, and also write system utilities and hopefully drivers, is the idea. 12:03:28 !bfjoust catchmeifucan (-)*127(-++-.)*-1 12:03:29 mroman_.catchmeifucan: points -15.19, score 9.38, rank 47/47 (--) 12:03:32 !bfjoust catchmeifucan (-)*127(-++-)*-1 12:03:34 mroman_.catchmeifucan: points -15.71, score 8.88, rank 47/47 (--) 12:03:38 !bfjoust catchmeifucan (-)*127(-+.)*-1 12:03:39 mroman_.catchmeifucan: points -5.71, score 15.10, rank 40/47 (+7) 12:03:40 Melvar: right, it still worries me though 12:03:43 storing whether one of the flags are free, or something 12:03:48 Melvar: isn't idris GC'd? 12:03:55 if Rust becomes successful, that'll help 12:04:19 elliott_: this FPGA jouster, should it store the programs in RAM or hardcoded? 12:04:56 !bfjoust catchmeifucan (-)*127[-+] 12:04:57 ais523: I'm not sure... if you just wanted to run a huge hill it should just use ROM or something, I guess? 12:04:57 mroman_.catchmeifucan: points -18.69, score 7.95, rank 47/47 (-7) 12:04:59 !bfjoust catchmeifucan (-)*127[-+.] 12:05:01 mroman_.catchmeifucan: points -11.45, score 10.46, rank 47/47 (--) 12:05:10 ais523: but it'd probably be most interesting to use it to try and create new programs 12:05:13 !bfjoust catchmeifucan (-)*127([-+.])*-1 12:05:15 mroman_.catchmeifucan: points -9.43, score 12.28, rank 47/47 (--) 12:05:19 k 12:05:20 elliott_: FPGAs don't actually have a lot of ROM 12:05:41 elliott_: Generally yes. If you’re writing a hardware-timed / hard-realtime thing, you don’t get to use it there. 12:05:45 !bfjoust catchmeifucan (-)*127([-+[-+]-])*-1 12:05:46 mroman_.catchmeifucan: points -15.50, score 9.07, rank 47/47 (--) 12:05:47 Melvar: ...like drivers 12:05:50 you normally just use pre-initialized RAM 12:06:07 ais523: it'll probably want to use a compact program representation and load chunks of the program into something faster than RAM, I guess? 12:06:27 elliott_: you're possibly misunderstanding FPGAs here 12:06:32 all storage is RAM, but you have various speeds of it 12:06:34 very likely :/ 12:06:40 well, right 12:06:42 the fastest is a 1-bit RAM that's just directly in the middle of one of your wires 12:07:27 you can build arbitrary storage devices out of that, but they tend to be inefficient in terms of space on the chip (crazy fast, though) 12:07:31 !bfjoust catchmeifucan (-)*127([-+[-+]+-])*-1 12:07:33 mroman_.catchmeifucan: points -14.36, score 9.94, rank 47/47 (--) 12:07:49 ais523: I'm wondering how much mileage you could get out of hand-coded x86 SIMD BF Joust 12:07:52 then you get block RAM which is pretty much as fast, and works for nearby parts of the chip 12:07:53 Lymia: People do minmax search with mutable state, you just undo the changes when backing up. 12:07:58 probably not really much as RAM isn't the limiting factor anyway 12:08:12 and then below that, an external RAM chip, but that's basically like RAM in a computer rather than L1 cache in a computer 12:08:22 but it seems like you should be able to do /something/ cool with storing all the non-program state in three registers 12:08:25 oh! 12:08:31 perhaps the way to think about FPGAs is that you can make little L1 caches anywhere you like 12:08:32 you just have to precompile the programs 12:08:40 and have them operate on the three registers directly 12:08:50 that's probably about as good as you can get 12:08:58 although I guess the precompiled forms would actually likely be bigger than the originals... 12:09:10 The handwritten ASM versions I've done are not SIMD, but I am slightly suspicious about whether it would help any. 12:09:11 elliott_: I said trying to get good; there are some efforts at GC avoidance. If it’s possible, drivers are a longest-term goal at most. 12:09:59 Melvar: possibly best to see what people do with Rust first :-) 12:10:08 fizzie: theoretically if you precompile them, then it could be running code with no memory accesses (except, y'know, the program). optomized! 12:10:24 Melvar: yeah... I think you'd really want a language designed from the ground-up to handle memory without GC for drivers and stuff. 12:11:18 -!- ais523 has quit. 12:12:22 -!- yiyus_ has quit (Ping timeout: 245 seconds). 12:13:53 I know, but I don't think it's very optomized to index a SIMD register by a non-constant byte. If you only had one tape pointer, you might get by with some sort of a shuffle/rotation thing (even that's quite awkward with AVX instruction set, I think), but there's two. 12:14:40 fizzie: I was thinking maybe use SIMD registers as tape pointers. 12:15:01 fizzie: just shift around a single "1" aligned with the tape registers for <>, and add/sub for +- 12:15:14 elliott_: *nodnod* I probably just shouldn’t have gone so far as to mention drivers. 12:15:16 bitwise and to check for loops 12:15:50 of course it's more complicated with the 128-bit registers you'd probably have to use. 12:16:14 -!- yiyus has joined. 12:16:51 Yeah, I don't think you can even shift a full 256-bit value. 12:17:04 it can do shuffles on 32-bit units, I think? 12:17:10 so you could use that to shuffle the 1. 12:17:54 but I don't think it could do the arithmetic you'd want 12:19:58 I don't think L1 is that expensive to justify this act of desperation 12:20:23 Have you looked at the event counters? 12:21:45 wrenchlance's register usage is documented in https://github.com/fis/chainlance/blob/master/wrenchlance-ops.s if you're curious. It constructs the left program (the one that has to jump into the right program's control flow) out of my handwritten blocks into raw binary x86-64 code, and the right program into some assembly code that's compiled and linked with a stub program so that it doesn't ... 12:21:51 ... need to do a register-based jump at the end of the cycle. 12:22:07 But I just did that for fun, not as a serious benchmarking-based optimization thing. 12:22:17 Might be interesting to do a bit of perf on it, actually. 12:22:25 Or on gearlance. But not now. 12:25:01 I do wonder how loose you could make the sync between the two programs. 12:34:48 -!- Guest51277 has changed nick to paul2520. 12:35:05 -!- paul2520 has quit (Changing host). 12:35:05 -!- paul2520 has joined. 12:41:02 !bfjoust offclear (>(+)*14>(-)*10)*5([(+)*9[-]]>)*-1 12:41:03 mroman_.offclear: points -12.81, score 11.64, rank 47/47 12:41:12 okkk 12:41:38 -!- Patashu has quit (Quit: Soundcloud (Famitracker Chiptunes): http://www.soundcloud.com/patashu MSN: Patashu@hotmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .). 12:50:50 [wiki] [[Special:Log/newusers]] create * HarrisPmjiho * New user account 12:51:01 -!- L8D has joined. 12:51:05 [wiki] [[Some Thoughts On Establishing Major Details Of Indian Herbal Tea]] N http://esolangs.org/w/index.php?oldid=40532 * HarrisPmjiho * (+366) Created page with "Everything after that every activity requires a bit of The Huffington Post, Visalus is one of a friend or even troubled teens If you adored this information and you would cert..." 12:54:04 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 12:54:22 -!- GeekDude has joined. 12:55:23 -!- L8D has quit (Ping timeout: 240 seconds). 12:56:47 -!- ais523 has joined. 12:57:42 I think I like this connection 12:57:49 it is probably not 100% reliable 12:57:55 but it's the best one I've used in the past several months 12:59:39 you should get a grant for buying a decent internet connection. 13:00:25 that would mean I never got any work done 13:04:33 btw, I love these spam page titles 13:05:19 -!- L8D has joined. 13:05:52 elliott_: are the spambots beating the filter again? 13:05:56 I'm worried they've learned how to newline 13:06:06 in which case we're going to need a new strategy 13:06:27 -!- FreeFull has quit (Quit: Bbl). 13:06:43 oh, they're two different spambots 13:06:50 We should just make esolangs with those names 13:07:00 the one oerjan deleted was a oneliner naturally, so the spam filter couldn't determine that the lack of newlines was intentional 13:07:24 the one I deleted, the spambot prepended a newline to it and then did its normal nonsense 13:07:58 Jafet: http://esolangs.org/wiki/Befunge/index.php 13:09:42 I think there may have been another one, but I couldn't find it 13:10:00 I know there was one spam name so good we reserved it for an esolang 13:10:23 oh, http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php 13:12:12 aha: http://esolangs.org/wiki/Twisted_Python_Chat_Server 13:12:24 This page was spam, but the name is unintentionally brilliant and the page content looked kind-of like an esolang. So it's being kept around until someone can edit it into an actual language. -- User:ais523 13:12:53 hehe 13:13:40 but "Twisted" is not an actual esolang, it's just a randomized appearance that could be assigned to any esolang in this particular game, right? 13:13:55 Twisted Python Chat Server has to be the complete name of the esolang 13:14:01 feel free to design any esolang where that description could fit 13:14:54 Twisted is a Python networking library, y'know 13:15:03 -!- dianne has joined. 13:15:05 descriptions have to _fit_ the esolangs? I couldn't determine much correlation between the name and the esolang so far 13:15:33 fungot: what do you think Twisted Python Chat Server iz lied? 13:15:33 b_jonas: cheese and wine... lol... you cant tell me, pleeeeeease. 13:16:12 Twisted is a Python networking library, y'know ← I do know, but it's funnier if you design the language so as to ignore that connection 13:16:26 ais523: presumably it should be about snakes too, then 13:17:00 elliott_: definitely 13:17:03 I was thinking that as well 13:18:05 anyone who likes looking at spam page titles, btw, they're listed at http://esolangs.org/wiki/Special:Log/delete 13:18:29 Doesn't beat RFNHS3:SDD though 13:18:46 Jafet: that was a spam title? 13:18:59 abbreviating it is no fun 13:19:10 although the credit has to go to whoever named the original film, I guess 13:19:17 It's too absurd to even be a spam title 13:20:06 hm 13:20:23 elliott_: usually esolang names are one or two words 13:20:31 Hmm, Nora's Hair Salon II had no subtitle. 13:20:34 so titles with many words are probably more spam prone 13:20:42 s/elliott_/ais523 13:21:04 23:34, 27 March 2013 Ehird (Talk | contribs | block) deleted page 4-5 Benefits Of Using Bathroom Ventilation Freakouts 13:21:12 spam titles can be pretty weird 13:21:15 also can you create a User page for a user that has no account? 13:21:21 mroman_: yes, but you're not supposed to 13:21:30 that should be deactivated 13:21:33 doing that on Wikipedia will get it deleted and you shouted at 13:21:33 Yes, but they'll follow english statistical patterns 13:21:39 that would prevent the User:Kymuigcn spams etc 13:21:45 mroman_: those mostly are real users 13:21:48 oh 13:21:49 ok 13:21:50 ais523: wow, that's an amazing title I forgot about it 13:21:51 who are also spambots 13:21:58 elliott_: so did I 13:22:01 good thing I'm reading the log 13:22:04 well 13:22:08 ok then :) 13:22:13 mroman_: in fact, the #1 most likely page for a spambot to spam is its own user page 13:22:25 to the extent that if your first edit is to your own userpage, you're including links and you don't know how to newline 13:22:34 you automatically get blocked, or should do but it seems to be misconfigured 13:22:38 (it just prevents the page being edited instead) 13:22:52 manual "new user" confirmation is probably strange 13:23:04 also because you never know if somebody really wants to call himself Rhot46nz4s 13:23:23 17:13, 16 March 2013 Ehird (Talk | contribs | block) deleted page Jerk Brief History Of Flashlights (I have run out of things to say. this spam has left me in awe.) 13:23:50 hahaha 13:25:42 ais523: it was more confusing than you might expect even from that title: (change visibility) (diff) 10:44, 16 March 2013 . . GenesisUU (Talk | contribs | block) (1,107 bytes) (Created page with "As you can see by her recent success Stoya is clearly one of the fleshlight. Del Corro could also be found in the semen if infectious preputial fluid drained into the fleshl...") 13:26:04 "That's not illegal -- but it is insignifigant compared to the ribbed edges of fleshlight." 13:27:02 elliott_: it's /very/ weird being in a situation where you can just post the contents of deleted pages from the deletion log 13:27:11 at Wikipedia you had to be generic, unless the page was actually worthy of undeletion 13:27:17 so you'd look at it and say "not undeleting, it was spam2 13:27:19 s/2/"/ 13:27:28 ais523: that's weird 13:27:37 what's the harm of pasting nonsense in IRC? 13:27:48 even if they were looking to see if the page stayed up, they wouldn't check the IRC logs 13:28:12 well deleted pages often contain personal information or something like that 13:28:28 personal information about stoya being one of the fleshlight 13:28:58 I believe it is a well-known fact that Stoya is one of the fleshlight 13:29:45 should we add a trigger on some bot? 13:30:44 the spam problem is manageable 13:31:00 you should have seen what it was like before I took over hosting 13:31:13 that's because the spam filter was hilariously bad before you took over hosting 13:31:35 once we had a working filter, a better CAPTCHA, and you gave me access to edit the filter rules 13:31:37 things got a lot better 13:31:44 yeah 13:31:53 I just mean, going to the lengths of finding a way to hide all the spam deletions from recent changes :p 13:37:44 in the future pages can only be entered as brainfuck programs that generate the actual content 13:38:13 -!- drdanmaku has joined. 13:38:18 `interp bf_txtgen in the future pages can only be entered as brainfuck programs that generate the actual content 13:38:22 mroman_: knowing our luck, we'd still get spam 13:38:22 969 +++++++++++++++[>+++++++>++>+++++++>++++++<<<<-]>.>>+++++.<++.>++++++.<<-.---.>.<+.>>+.<++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+.---.<-.---------------------------------------------------------------------.>>-----.>+++++++.++++++.--.<<+.<.>>>--.--.<--.<<.>>>++++++++++++++.-.<--.<++++++.<.>>--------- 13:38:31 mroman_: the spambots figured out how to answer questions about esolangs to register, after all 13:38:43 `ls bin/! 13:38:44 ls: cannot access bin/!: No such file or directory 13:38:45 also you'd need some javascript to actually display it then 13:38:47 (I still think the solution to any registered-user spam is just to get fizzie to replace the questions) 13:38:55 `ls bin/interp 13:38:56 which mean spam can now DoS your browser 13:38:56 bin/interp 13:38:57 :D 13:39:07 `run ln -s interp bin/! 13:39:09 No output. 13:39:17 `! bf_txtgen this looks like a good EgoBot replacement syntax 13:39:20 348 +++++++++++++++[>+++++++>++++++++>++>++++++<<<<-]>>----.<-.+.>-.>++.<-------.<++++++..>-.<++++.>>.<<-------.>--.<-.>----.>.>+++++++.<.>++++++.<<<++++..>-.>.<-------------------------------.>>.<<<.>---.<.+++++.>>.<<--.-------------.>>>+++++++++.----.<<+++++++++++++++++++++++++++++++.++.++.++++++++.<.>+.>>++++++++.<.>-.++++++.<<.++++++.<----.>+++ 13:39:31 `! bf8 +++++++++++++++[>+++++++>++++++++>++>++++++<<<<-]>>----.<-.+.>-.>++.<-------.<++++++..>-.<++++.>>.<<-------.>--.<-.>----.>.>+++++++.<.>++++++.<<<++++..>-.>.<-------------------------------.>>.<<<.>---.<.+++++.>>.<<--.-------------.>>>+++++++++.----.<<+++++++++++++++++++++++++++++++.++.++.++++++++.<.>+.>>++++++++.<.>-.++++++.<<.++++++.<----.>+++ 13:39:32 this looks like a good EgoBot replacement synta 13:39:40 hmm 13:39:50 I wonder if it ran out of space on the line 13:40:23 !bfjoust silly +++++++++++++++[>+++++++>++++++++>++>++++++<<<<-]>>----.<-.+.>-.>++.<-------.<++++++..>-.<++++.>>.<<-------.>--.<-.>----.>.>+++++++.<.>++++++.<<<++++..>-.>.<-------------------------------.>>.<<<.>---.<.+++++.>>.<<--.-------------.>>>+++++++++.----.<<+++++++++++++++++++++++++++++++.++.++.++++++++.<.>+.>>++++++++.<.>-.++++++.<<.++++++.<----.>+++ 13:40:24 Lymia.silly: points -35.60, score 3.10, rank 47/47 13:40:51 !bfjoust google http://google.com 13:40:51 ais523: error: parse error: encountered { without suitable enclosing ( 13:41:07 hmm 13:41:08 `! bf_txtgen bfjoust 13:41:10 Google missed a trick there 13:41:12 62 +++++++++++[>+++++++++>>><<<<-]>-.++++.++++.+++++.++++++.--.+. [177] 13:41:25 !bfjoust bfjoust +++++++++++[>+++++++++>>><<<<-]>-.++++.++++.+++++.++++++.--.+. 13:41:25 mroman_.bfjoust: points -35.29, score 2.98, rank 47/47 13:41:36 Meta BF Joust! 13:41:52 you submit an ASCII String which is fed through bf textgen which is then used as a BF Joust program 13:42:29 sillyness level over (unsigned long)-1; 13:42:43 or was it unsigned long long? 13:42:49 or possibly unsigned long long int 13:43:02 hm 13:44:00 mroman_: bf_txtgen-generated programs cannot ever attack 13:44:13 in fact, they will all eventually zero their own flag 13:44:25 thus, the strategy would be trying to find a string that took as long as possible before it committed suicide 13:45:19 -!- FreeFull has joined. 13:45:59 what is the >>><<<< doing in there, that looks ridiculous. 13:46:15 int-e: bf_txtgen always has exactly four > and exactly four < in the loop 13:47:35 ... 13:47:44 `! bf_txtgen @ 13:47:46 can't you just do < and be done with it/ 13:47:49 29 ++++++++[>++++++++>>><<<<-]>. [39] 13:48:03 also, is bf_txtgen written in bf? 13:48:13 wow I used to be able to delete a lot of spam in a minute 13:48:17 and no, it's written in Java IIRC 13:48:23 int-e: how comes? 13:48:28 `! bf_txtgen CTCP FINGER 13:48:32 erm, ais523: how comes? 13:48:33 86 +++++++++++[>++++++>++++++++>+++><<<<-]>+.>----.<.>----.>-.<<+++.+++.>--.<--.--.>++++. [965] 13:48:47 myname: I didn't write it, don't blame me! 13:48:57 ^bf +.++++++++++[>++++++>++++++++>+++><<<<-]>+.>----.<.>----.>-.<<+++.+++.>--.<--.--.>++++.>>>>>>>+. 13:48:57 CTCP FINGER 13:49:00 lol 13:49:07 whoops 13:49:12 `! bf_txtgen FINGER 13:49:14 lol 13:49:16 59 ++++++++++++++[>+++++>+++++>><<<<-]>.+++.+++++.>+.--.<++++. [165] 13:49:36 +.+++++++++++++[>+++++>+++++<<-]>.+++.+++++.>+.--.<++++>>+. 13:49:40 ^bf +.+++++++++++++[>+++++>+++++<<-]>.+++.+++++.>+.--.<++++>>+. 13:49:40 FINGE 13:49:44 uhh 13:49:51 o 13:49:55 ^bf +.+++++++++++++[>+++++>+++++<<-]>.+++.+++++.>+.--.<++++.>>+. 13:49:55 FINGER 13:49:58 aha! 13:50:06 `! bf_textgen bf_textgen 13:50:07 ​/hackenv/bin/!: 4: exec: ibin/bf_textgen: not found 13:50:16 txt 13:50:17 not text 13:50:17 `! bf_txtgen bf_txtgen 13:50:23 90 ++++++++++++++[>+++++++>++++++++>+++++++><<<<-]>.++++.>>---.<++++.++++.----.<+.--.>------. [155] 13:50:32 `! bf_txtgen ++++++++++++++[>+++++++>++++++++>+++++++><<<<-]>.++++.>>---.<++++.++++.----.<+.--.>------. 13:50:36 381 +++++++++++[>++++++++>++++>++++>++++<<<<-]>>>-...<-...>>-..<<..>....<<+++.-----------------------------.>>.>.<.<..>.>.<<<.>>...<.....<.>>..>...<<..<.--.>+++++++++++++++++..<.---------------.>+++++++++++++++++++++++++++++++++.-------------------------------.>+++.---.>.<..+++.<..>-...>+++.<<--.>--....<--------------.<--....+++.-..>>>-..+.++++++++ 13:50:42 ^- finding a fixpoint is left as an exercise for the reader 13:50:54 i.e. txt = bf_txtgen(txt) 13:50:58 `! bf_txtgen `! bf_txtgen Hello World! 13:51:01 182 ++++++++++++[>++++++>+++>++++++++>++++++++<<<<-]>>----.>.<+.-.>++.++++.>-.<++++++++++++++.++++.----.>++++++++.--.<------.<.<.>>>.<--..+++.<.>>--------------.<.+++.------.--------.<+. [296] 13:51:04 impossible, bf_txtgen(txt) is always longer than txt 13:51:08 ^bf ++++++++++++[>++++++>+++>++++++++>++++++++<<<<-]>>----.>.<+.-.>++.++++.>-.<++++++++++++++.++++.----.>++++++++.--.<------.<.<.>>>.<--..+++.<.>>--------------.<.+++.------.--------.<+. 13:51:08 `! bf_txtgen Hello World! 13:51:10 as it never puts . inside a loop 13:51:16 er 13:51:17 ais523: can you prove that? 13:51:24 `! bf_txtgen `! bf_txtgen Hello World! 13:51:28 204 ++++++++++++++[>+++++++>++>+++++++>++++++++<<<<-]>--.>+++++.-.>.++++.<<-.>>>++++.++++.----.<+.>---------------.<+++++++.<.<-----------------------.>>>.+++++++..<+.<.<+++++++++++++++.>>.+++.>.--------.<<+. [607] 13:51:31 mroman_: it's at least 2x 13:51:35 mroman_: well unless the person who explained the algorithm it uses to me was lying 13:51:38 I haven't seen the source 13:51:39 er 13:51:44 that's not true 13:51:51 if you wanted nulls it'd be the same 13:51:57 though... 13:52:02 `! bf_txtgen ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt 13:52:05 ` !bf_txtgen aaaaaaaaaaaaaaaaaaaaaaaaaaaa 13:52:05 274 +++++++++++++[>+++++++++>+++++++++>+++++++++>+++++++++<<<<-]>-....>>>-....<-.<-.......>.>...<...<...<......>....>.>....<.<<....>..<..>.......>...<.>.>...<<<..>....>.>..<.<<...>>.<<.>....>..<.<..>.>.........>.<.<..>.>.......<....<..>..>..<.....<<..>..>.<...>..>.......<.<.>.. [937] 13:52:06 loops could make a lot of characters from just a few 13:52:06 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 13:52:06 having . outside of loops sounds like a reasonable proof 13:52:10 haha 13:52:22 wtf is it doing for tttttt? 13:52:26 bf_txtgen is not very good at that sort of input 13:52:29 wtf :D 13:52:41 `! bf_txtgen `! bf_txtgen Pizza is delicious! 13:52:44 245 ++++++++++++[>+++++++++>++++++++++>++++++++>+++<<<<-]>>>.>---.-.<++.++++.-------.<----.++++.----.-------------.--.<++.>>>.<---------------.<++++.<++++++++++++..>>+++++++++++++++++.>.<<.<-------.>>>.<+++.+.<+++.---.>--.++++++.++++++.++++++.--.>+. [752] 13:52:53 ^bf ++++++++++++[>+++++++++>++++++++++>++++++++>+++<<<<-]>>>.>---.-.<++.++++.-------.<----.++++.----.-------------.--.<++.>>>.<---------------.<++++.<++++++++++++..>>+++++++++++++++++.>.<<.<-------.>>>.<+++.+.<+++.---.>--.++++++.++++++.++++++.--.>+. 13:52:53 `! bf_txtgen Pizza is delicious! 13:52:53 ^bf +.++++++++++[>++++++++++>++++++++>++++++>+++<<<<-]>>>-.++.<----.>++++++.++++++.-.>-.<<<-.>+++++++++++++.+++++++++++++++.<++.---.-------.>+++.>>.<-------.<<..++++++.>>---.<++.<-------.+.<+. 13:52:54 * fungot mapoles GeekDude 13:52:56 150 +++++++++++++++[>++>+++++>+++++++>++++++++<<<<-]>>+++++.>.>++..<<+++++++++++++++++.<++.>>.>-------.<<<.>+++.+.>+++.---.<--.++++++.++++++.++++++.--.<+. [492] 13:53:12 wait, what causes fungot to mapole people 13:53:12 ais523: isn't he the dj? it kinda adds up the whole story was explained 5 million times and the government never took it serious... hope things chance now. and that of 136 people on board 13:53:17 ais523: no idea 13:53:19 oh, CTCP ACTION 13:53:33 `! bf_txtgen ACTION is an idiot 13:53:38 159 +++++++++++[>++++++>+++>+++++++++>+++++++++<<<<-]>-.++.+++++++++++++++++.-----------.++++++.-.>-.>++++++.++++++++++.<.>>--.<-----.<.>-----.>+++.<.++++++.+++++. [362] 13:53:40 int-e must have been running txtgen in PM 13:53:57 ^bf +.++++++++++[>++++++>+++>+++++++++>+++++++++<<<<-]>-.++.+++++++++++++++++.-----------.++++++.-.>-.>++++++.++++++++++.<.>>--.<-----.<.>-----.>+++.<.++++++.+++++.[-]+. 13:53:57 * fungot is an idiot 13:53:59 ais523: I did :P 13:54:08 hmmmm 13:54:09 * int-e is sneaky sometimes 13:54:17 * GeekDude hatches a plot 13:54:31 * int-e plots a hatch 13:54:36 ^bf +++++++++[>++++++++<-]>. 13:54:37 H 13:54:56 ^bf +++++++++[>++++++++<-]>.<+++++++++++++.>. 13:54:56 H.H 13:54:59 ^bf +++++++++[>++++++++<-]>.<++++++++++++.>. 13:55:00 HH 13:55:12 ^bf +++++++++[>++++++++<-]>.<[-]++++++++++++.>. 13:55:13 HH 13:55:15 ^bf +++++++++[>++++++++<-]>.<[-]+++++++++++++.>. 13:55:15 H.H 13:55:21 does he replace \r with .? 13:55:56 ^bf +++++++++[>++++++++<-]>.<++++++++++.>. 13:55:57 H.H 13:56:09 he replaces a bunch of chars, yes 13:56:10 looks like it does :( 13:56:14 i do think \n too 13:56:38 I tested \n 13:56:40 was . 13:56:45 so no sending raw NICK commands 13:56:54 sadly 13:56:59 someone did that to my bot 13:57:06 I handled `n and `r`n, but not `r 13:57:10 er 13:57:19 ` is the escape in the language I was using 13:57:20 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 13:57:56 @unlambda `r`.o`.l`.l`.e`.hi 13:57:57 hello 13:59:21 @metar rjcc 13:59:21 RJCC 251330Z 33015KT 9999 SCT025 BKN050 17/12 Q1008 RMK 3CU025 7CU050 A2977 14:02:58 Only \r and \n. 14:03:59 And you can tell how many "terms" (>s in the single loop, basically) you want to make to the command-line version of bf_txtgen. 14:04:18 It also makes better code if you let it run for a while, the cutoff for number of generations is pretty low on the bot. 14:04:33 (It's not my program, but I've looked at the code.) 14:05:13 ^bf .... 14:06:25 ^bf ....+++++++++[->+++++++++<]>.... 14:06:41 a thought for a really simple BF Joust "optimisation": if the tape pointers are distance n from each other, you can always run at least n cycles of each program independently 14:06:48 ^bf +[.+] 14:06:48 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 14:06:54 and then merge the resulting tapes 14:07:02 b_jonas: fungot ctcp spam was yesterday 14:07:02 ais523: i did not die for nothing. i've seen it too, and he said the plane hits the trees 14:07:06 possibly this could be generalised into something that allows loosening the sync further? 14:07:16 *n/2, rather 14:07:23 elliott_: check the distance to the next < or > instruction 14:07:28 ^bf +++++++++[->+++++++++<]>[.-] 14:07:28 QPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! .. 14:07:32 ^bf .+++++++++[->+++++++++<]>[.-] 14:07:41 aha, so if it outputs a zero byte, the line is truncated! 14:07:53 ais523: seeking ]s back to [s and taking the minimum of that and it passing the ], presumably? 14:07:54 ^bf +++++++++[->+++++++++<]>.-.-.-.->.<.-.-.-.- 14:07:54 QPON 14:07:55 see 14:07:57 b_jonas: Will you stop sending bells please! >.< 14:07:59 it doesn't filter zero bytes 14:08:04 Melvar: sorry 14:08:30 ascii is missing a "whistle" control character. 14:08:40 elliott_: yes 14:08:51 ais523: that sounds expensive, though 14:08:57 ais523: ooh, I suppose you could recompute it though 14:08:59 er, precompute 14:09:02 right 14:09:24 if you were compiling two programs into a program to battle them, then you could control how much you interleave/check things 14:09:27 -!- idris-bot has quit (Quit: Terminated). 14:09:43 I don't know how much of a win this would be. 14:09:44 Neat, broken terminal again. 14:09:49 -!- idris-bot has joined. 14:09:52 ideally you'd run the two programs completely independently and have them signal to each other when they need to sync. 14:09:57 ^bf +++++++++++++[->++++++++++++<]>[.--] 14:09:57 ~|zxvtrpnljhfdb`^\ZXVTRPNLJHFDB@><:86420.,*(&$" . 14:10:04 maybe the context-switching overhead would make that not worthwhile. 100k cycles isn't really much. 14:10:23 Melvar: what irc client are you using anyway? 14:10:24 fizzie: how long does gearlance take to go through a 100k cycle match? 14:10:58 int-e: It’s the bot’s debug output. 14:11:06 ideally you'd run the two programs completely independently and have them signal to each other when they need to sync. ← that's what I was considering for a Verity impl that has the programs hardcoded into the hardware 14:11:12 Melvar: oh, ouch :) 14:11:12 elliott_: I don't see how you'd do that, because they can basically sync any time 14:11:13 Oh yay. http://www.troyhunt.com/2014/09/everything-you-need-to-know-about.html 14:11:17 b_jonas: not true 14:11:21 b_jonas: Congratulations, once more. 14:11:22 although, even better 14:11:25 if you had cycle-accurate timing 14:11:26 -!- idris-bot has quit (Client Quit). 14:11:35 you could just make the two programs /literally/ run at the same speed 14:11:38 b_jonas: you only need to sync them when they cross the same place on the tape 14:11:39 it's hardware, you can do fun things like that 14:11:47 -!- idris-bot has joined. 14:11:50 Melvar: what? I thought that one only had even characters, and bell is odd 14:12:01 b_jonas: so if they're n distance apart on the tape, you can run n/2 cycles of each 14:12:16 b_jonas: even if they both run at each other at lightspeed, they can't observe each other at all 14:12:17 b_jonas: Not bell, messed-up terminal. 14:12:25 elliott_: uh yeah, but the tape is really short 14:12:27 (the exception is when one of the flags goes to 0) 14:12:34 Melvar: ah, you mean I shouldn't send you control-N and control-O! 14:12:37 why didn't you say so 14:12:38 sorry 14:12:44 so the bell tolls for fungot 14:12:44 int-e: oznaczono jako spam i shit on halo 3 odst or battlefield bad company 2 will have that much dedication with my own eyes. he had passengers on it. i can get this right? 14:12:45 b_jonas: well, yes 14:13:04 b_jonas: ESC can also be an offender, depending on what follows it 14:13:06 ^style 14:13:06 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube* 14:13:22 I see. Ouch. 14:13:45 ^style lovecraft 14:13:46 Selected style: lovecraft (H. P. Lovecraft's writings) 14:14:03 fungot fungot fungot 14:14:03 int-e: at last the action so carefully devised by the band of the faithful order 0' dagon, an' made o' fnord' their fnord fnord, 14:14:21 I usually type rlwrap netcat chat.freenode.net 6667 | cat -v specifically to avoid this 14:14:40 uhm, how did "fnord" get into the lovecraft style? 14:14:55 b_jonas: that's how you IRC? 14:14:59 int-e: rare words 14:15:00 fungot, cthulhu 14:15:00 FreeFull: the nameless stone labyrinth consisted, for the nights are cold in oriab; and when upon awaking once he thought he felt the bondage of local and partial? 14:15:19 int-e: fnord is just fungot's placeholder 14:15:20 elliott_: the vault was very deep in the arcane of the cosmos and various other symbols known to fnord wizards. there were 14:15:50 elliott_: evil 14:16:27 C 14:16:31 oops 14:16:55 let me send a control-o to restore it: 14:17:49 elliott_: no, that's just how I test raw irc stuff sometimes 14:19:23 -!- `^_^v has joined. 14:29:44 [wiki] [[Special:Log/newusers]] create * MellisaFlorey * New user account 14:30:05 hmm, a misspelt, camelcase, name 14:30:10 odds it's a spambot? 14:30:48 huh, I just found an XSS vector in MediaWiki 14:31:01 admin-exploitable only, though, and they still have plenty of ways to do that 14:31:06 elliott_: My quick timing test (with all the process-creation overhead and program loading and such included) seems to be around 20-30 ms. 14:31:15 (Gone for a while now.) 14:31:38 that sort of thing could be relevant if the superprotection debacle ever happens again 14:32:20 ouch, that's quite bad 14:32:34 so adding a program to the hill can take like 40 seconds, worst-case 14:32:54 -!- J_Arcane has quit (Quit: Nettalk6 - www.ntalk.de). 14:33:48 ais523: can't admins, like, put any html and javascript in the Mediawiki: namespace such that it shows up on most pages for all users? 14:33:59 hmm no, probably no 14:34:00 b_jonas: yes 14:34:07 well. normally 14:34:29 there was a big row a while back where Wikimedia tried to push their new image viewer thing onto the German Wikipedia, who didn't want it 14:34:37 and one of the admins added a script to disable it 14:35:03 if they can, then any project admin could steal the mediawiki cookies of all users, and that lets them impersonate them on any other language project under at least the same domain (eg. *.wikipedia.org or *.wiktionary.org) 14:35:06 and Wikimedia responded by coding a new "superprotect" protection status that admin perms weren't enough to change and superprotecting the relevant pages 14:35:28 b_jonas: yes, but the fact they'd done so would be publicly logged 14:35:29 oh man, I hate that new image viewer, is there a config option to disable it? 14:35:40 somewhere, I think 14:35:53 the WMF are trying to convince everyone that they actually like the image viewer 14:35:55 ais523: but admins can hide old versions of changes (not delete forever, but hide very well) 14:36:02 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 14:36:07 b_jonas: no, not at admin level 14:36:15 you can certainly hide a change, but not the fact it's been hidden 14:36:22 ok 14:36:28 um, so how do I disable the image viewer? 14:37:14 also, the worst hill will take 14 and a half minutes to run with gearlance 14:37:15 I don't know, my guess is it's in preferences 14:37:17 (all programs just waiting forever) 14:37:20 I don't get all this stuff where everyone is trying to add extra layers and features to images on commons, both for uploading and viewing 14:37:30 if not that, it's somewhere in the image viewer itself, in which case good luck finding it 14:38:51 -!- J_Arcane has joined. 14:38:54 if it's in preferences, I can't find it. I've searched already, and searching again 14:40:45 -!- ais523 has quit. 14:42:24 [wiki] [[Special:Log/delete]] delete * Ais523 * deleted "[[Some Thoughts On Establishing Major Details Of Indian Herbal Tea]]": Spam: (and the only contributor was "[[Special:Contributions/HarrisPmjiho|HarrisPmjiho]]") 14:42:34 [wiki] [[Special:Log/block]] block * Ais523 * blocked [[User:HarrisPmjiho]] with an expiry time of 2 decades, 4 years, 4 hours, 19 minutes and 12 seconds (account creation disabled): spambot 14:47:09 "2 decades, 4 years" hehe 14:48:06 that sounds like "two dimes, one nickel, one penny" 14:49:55 and note how it has no month, forthnight, week, or day components 14:51:04 I like how it has code for displaying decade-long blocks in the first place. 14:56:50 -!- shikhin has joined. 15:05:13 < b_jonas> um, so how do I disable the image viewer? – NoScript seems to? 15:06:31 Or, hmm. Actually I’m not blocking wikipedia’s scripts. 15:07:16 elliott_: Sorry, I mean, that time was for the 42M cycle match: all tape lengths and polarities, two empty programs that just spin the full 100k cycles. 15:07:31 fizzie: ah 15:07:51 Or is it 4.2M. 15:07:53 I can't count. 15:07:56 Yes. 15:08:05 fizzie: so 21s for the worst hill 15:08:15 b_jonas: Here we go: block cookies. 15:09:50 [wiki] [[Special:Log/newusers]] create * AlanaHuynh * New user account 15:12:33 Melvar: all cookies? even the login cookie? then I wouldn't be logged in to the wiki. 15:14:11 b_jonas: Well, I don’t have an account on wikipedia. I just tested right now that allowing cookies from there enables the image viewer, and removing the permission returns to the usual behavior. 15:14:43 Melvar: I'm not asking for wikipedia only, but for other projects using the image viewer too 15:14:51 not that there's much difference 15:15:22 anyway, I do want to be able to be logged in 15:15:38 You could try to find a particular cookie that does the trick, I don’t know and don’t want to experiment on it right now. 15:16:04 i've still got a far more sane version of bftxtgen sitting around somewhere. does much shorter output than the randomly evolved ones. 15:16:53 Melvar: ok, thanks for the help 15:17:17 I was thinking of the O(nm) thing, where you take two BF Joust programs a_1, a_2, ..., a_n and b_1, b_2, ..., b_m and make a single n x m -sized program in the obvious way, then compile all reachable execution paths of that program. 15:17:22 Discounting the shorthand notation, control flow always goes diagonally, except for loops, which jump either vertically or horizontally. And I guess ()s could be combined with the inner instructions, at the cost of more jumps. 15:17:25 I'm sure it'd be easy to have pathological pairs that approach the full O(nm) size, though. E.g. a and b having big loops with coprime lengths. 15:17:59 -!- MoALTz has joined. 15:20:18 (And you couldn't still combine all "<>+-"-only basic blocks willy-nilly when they touch either of the flags, so it'd need to be more carefuller than a regular bf optimizer.) 15:24:59 -!- GeekDude has joined. 15:25:17 fizzie: now I'm imagining an n-dimensional tape for running an entire hill at once 15:37:56 -!- Lorenzo64 has joined. 15:43:10 -!- idris-bot has quit (Quit: Terminated). 15:43:25 -!- idris-bot has joined. 15:56:59 !bfjoust strapon_fuck_machine (>)*9-<-<+(<(+)*63<(-)*63)*3(>)*8(>[(+)*7[-]])*-1 15:56:59 mroman_.strapon_fuck_machine: points -5.74, score 13.93, rank 45/47 15:57:11 :( 15:58:45 elliott_: yesssss 15:59:06 quintopia: I'm not sure it'd actually work. 15:59:53 elliott_: yeah i'm not sure it'd save anything. but it would look cool! 16:03:13 !bfjoust strapon_fuck_machine (>)*9(-)*16<(-)*10<(+)*10(<(+)*33<(-)*33)*3(>)*8(>[(+)*7[-]]>[(-)*7[+]])*-1 16:03:14 mroman_.strapon_fuck_machine: points -4.19, score 16.26, rank 31/47 (+14) 16:04:14 !bfjoust strapon_fuck_machine (>)*9(-)*16<(-)*10<(+)*10(<(+)*33<(-)*33)*3(>)*8(>[(+)*7[-].]>[(-)*7[+].])*-1 16:04:15 mroman_.strapon_fuck_machine: points -3.57, score 16.85, rank 29/47 (+2) 16:04:31 fizzie: come to think of it, couldn't you trivially parallelise running the hill? 16:04:56 [wiki] [[Special:Log/newusers]] create * ShawnaEisenhaue * New user account 16:05:30 elliott_: if he has the cores to parallelize on! 16:06:43 !bfjoust strapon_fuck_machine (>)*9(-)*2<(+)*2<(+)*10(<(+)*33<(-)*33)*3(>)*8(>[(+)*7[-].]>[(-)*7[+].])*-1 16:06:44 mroman_.strapon_fuck_machine: points -2.81, score 17.11, rank 28/47 (+1) 16:06:55 quintopia: now I'm thinking about GPU bf joust. 16:07:27 -!- S1 has joined. 16:07:54 !bfjoust strapon_fuck_machine (>)*9(-)*2<(+)*2<(+)*20(<(+)*23<(-)*23)*3(>)*8(>[(+)*7[-].]>[(-)*7[+].])*-1 16:07:54 mroman_.strapon_fuck_machine: points -2.14, score 18.36, rank 25/47 (+3) 16:08:08 I designed that just to beat nyuroki 16:08:14 (Lymia.nyuroki) 16:08:17 good luck 16:08:28 -!- L8D has quit (Ping timeout: 260 seconds). 16:08:38 It doesn't do generally well apparentely 16:08:43 but it beats the crap ot ouf nyuroki 16:09:44 How can you know how it competes against one specific other program? 16:10:38 zem.fi/bfjoust/game 16:11:10 Or http://zem.fi/bfjoust/breakdown/ 16:11:49 -!- Phantom_Hoover has joined. 16:23:41 -!- aloril_ has joined. 16:26:27 -!- aloril has quit (Ping timeout: 245 seconds). 16:31:58 -!- aloril_ has changed nick to aloril. 16:34:25 fizzie: I wonder if the computed goto is actually a net win? 16:34:27 maybe it messes up branch prediction 16:41:52 Thanks to some very helpful contributions from another Racketeer, http://try-racket.org is now significantly more bugless and stable. 16:47:01 elliott_: It was a win in ff (some version) over a table of function pointers. 16:47:06 But who knows. 16:47:16 fizzie: I was thinking more compared to switch. 16:49:17 Well. I think I had a reasonable speed benefit from switching from "program is a set of integer values, dispatch via goto *foo[i]" (which should be pretty much equivalent to a switch if the compiler decides to implement it as a jump table) to "program is a sequence of computed-goto labels". But this is all very anecdotal. 16:50:11 * elliott_ nod 16:50:12 mooz once made a befunge interpreter where the dispatching was a table-less jump table: it was just a jump to base + K*op, with K selected so that most opcode implementations fit in K bytes (and the few that didn't just branched off). 16:50:22 -!- drlemon has joined. 16:57:24 -!- J_Arcane has quit (Quit: WeeChat 0.4.4-dev). 16:59:02 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=40533&oldid=40523 * GermanyBoy * (+137) /* Goldfish */ 17:04:24 -!- J_Arcane has joined. 17:11:09 fizzie: wouldn't it be faster to put funcalls in the large opcode implementations instead? 17:11:16 oh, I guess that's what you meant 17:21:37 http://mroman.ch/mromansgame/spec.txt 17:22:12 probably needs some logic instructions like and/or/not 17:22:13 -!- conehead has joined. 17:23:18 -!- weissschloss has quit (Remote host closed the connection). 17:29:04 -!- weissschloss has joined. 17:41:07 http://mroman.ch/mromansgame/spec.txt <- updated. with pseudo example program now 17:41:49 -!- HackEgo has quit (Remote host closed the connection). 17:42:19 (you could also start by displacing the opponents figure) 17:42:24 -!- HackEgo has joined. 17:42:46 (which means to defend against that you'd have to search your figure) 17:43:36 technically you could just displace the enemies figure all the time 17:44:00 which makes it almost impossible without guessing to find it I guess 17:44:15 but it will never win (just draw all the time like an imp) 18:04:41 -!- L8D has joined. 18:06:02 !bfjoust (-.)*-1 (-.)*-1 18:06:02 mroman_: Program name ((-.)*-1) is restricted to characters in [a-zA-Z0-9_-], sorry. 18:06:07 pff 18:06:14 !bfjoust pff (-.)*-1 18:06:15 mroman_.pff: points -26.76, score 2.98, rank 47/47 18:06:23 !bfjoust pff (-.-)*-1 18:06:24 mroman_.pff: points -22.02, score 6.69, rank 47/47 (--) 18:06:28 !bfjoust pff (-.--)*-1 18:06:29 mroman_.pff: points -23.83, score 6.38, rank 47/47 (--) 18:06:42 !bfjoust pff (-.->+<)*-1 18:06:43 mroman_.pff: points -37.40, score 2.14, rank 47/47 (--) 18:06:46 !bfjoust pff (-.-)*-1 18:06:47 mroman_.pff: points -22.02, score 6.69, rank 47/47 (--) 18:07:10 !bfjoust pff (>)*9([-].>)*-1 18:07:10 mroman_.pff: points -15.93, score 9.90, rank 47/47 (--) 18:07:26 S1: ^- that's a pretty easy one for example 18:07:29 !bfjoust pff (>)*9([-]>)*-1 18:07:29 mroman_.pff: points -14.83, score 10.42, rank 47/47 (--) 18:07:39 It just rushes 9 cells forward and does a clear 18:07:49 !bfjoust pff (>)*11([-]>)*-1 18:07:49 mroman_.pff: points -18.00, score 8.81, rank 47/47 (--) 18:07:53 !bfjoust pff (>)*10([-]>)*-1 18:07:57 !bfjoust pff (>)*10([-]>)*-1 18:07:57 mroman_.pff: points -16.81, score 9.38, rank 47/47 (--) 18:08:06 !bfjoust pff (>)*9([-]>)*-1 18:08:06 mroman_.pff: points -14.83, score 10.42, rank 47/47 (--) 18:08:12 ^- rush 9 cells forward, clear 18:08:21 !bfjoust pff (>(-)*3)*9([-]>)*-1 18:08:22 mroman_.pff: points -27.38, score 4.07, rank 47/47 (--) 18:08:35 ^- rush forward with decoy setup, clear (it's bad though) 18:09:20 -!- L8D has quit (Ping timeout: 260 seconds). 18:09:40 !bfjoust pff (>)*9(-)*20<((-)*20<(+)*20<)*4(>)*9([-]>)*-1 18:09:41 mroman_.pff: points -13.98, score 10.29, rank 47/47 (--) 18:09:55 !bfjoust pff (>)*9(-)*20<((-)*20<(+)*20<)*4(>)*9([(+)*10[-]]>)*-1 18:09:57 mroman_.pff: points -13.52, score 9.44, rank 47/47 (--) 18:09:59 crap 18:10:11 !bfjoust pff (>)*9(-)*10<((-)*10<(+)*10<)*4(>)*9([(+)*10[-]]>)*-1 18:10:12 mroman_.pff: points -11.98, score 10.83, rank 47/47 (--) 18:10:16 almost 18:10:27 !bfjoust pff (>)*9(-)*10<((-)*10<(+)*10<)*3(>)*9([(+)*10[-]]>)*-1 18:10:28 mroman_.pff: points -9.12, score 12.66, rank 47/47 (--) 18:10:33 still almost 18:10:38 !bfjoust pff (>)*9(-)*10<((-)*10<(+)*10<)*3(>)*9([(+)*6[-]]>)*-1 18:10:38 mroman_.pff: points -13.02, score 10.53, rank 47/47 (--) 18:10:42 -!- S1 has quit (Ping timeout: 245 seconds). 18:10:52 !bfjoust pff (>)*9(-)*5<((-)*10<(+)*10<)*3(>)*9([(+)*10[-]]>)*-1 18:10:53 mroman_.pff: points -8.07, score 13.45, rank 47/47 (--) 18:10:59 ah. screw it 18:11:07 Reverse decoys suck 18:12:21 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*10.[-]]>[(-)*10.[+]]>)*-1 18:12:21 mroman_.athena: points 1.52, score 22.71, rank 13/47 (-3) 18:12:29 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*8.[-]]>[(-)*8.[+]]>)*-1 18:12:30 mroman_.athena: points 1.10, score 22.33, rank 14/47 (-1) 18:12:36 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:12:36 mroman_.athena: points 2.21, score 23.42, rank 10/47 (+4) 18:12:43 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*6.[-]]>[(-)*6.[+]]>)*-1 18:12:43 mroman_.athena: points 1.33, score 22.58, rank 13/47 (-3) 18:12:49 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:12:50 mroman_.athena: points 2.21, score 23.42, rank 10/47 (+3) 18:13:11 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*5>(-)*5>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:13:12 mroman_.athena: points 1.98, score 23.19, rank 10/47 (--) 18:13:17 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*15>(-)*5>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:13:18 mroman_.athena: points 2.36, score 23.53, rank 9/47 (+1) 18:13:21 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*15>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:13:22 mroman_.athena: points 2.21, score 23.64, rank 9/47 (--) 18:13:27 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:13:28 mroman_.athena: points 2.31, score 23.81, rank 9/47 (--) 18:13:33 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*25>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:13:33 mroman_.athena: points 1.36, score 22.63, rank 13/47 (-4) 18:13:38 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:13:39 mroman_.athena: points 1.83, score 23.12, rank 11/47 (+2) 18:13:43 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:13:43 mroman_.athena: points 2.31, score 23.81, rank 9/47 (+2) 18:13:46 hm 18:13:53 alright. 18:14:05 !bfjoust athena (>(+)*14>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:14:06 mroman_.athena: points 1.43, score 22.87, rank 13/47 (-4) 18:14:12 !bfjoust athena (>(+)*12>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:14:13 mroman_.athena: points 1.12, score 22.18, rank 14/47 (-1) 18:14:17 !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1 18:14:18 mroman_.athena: points 2.31, score 23.81, rank 9/47 (+5) 18:14:24 the timings are real o_O 18:15:07 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*7[+]]+](<)*11([-][+]>)*-1 18:15:08 mroman_.snail: points -0.10, score 21.33, rank 16/47 (-1) 18:15:12 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*11[+]]+](<)*11([-][+]>)*-1 18:15:13 mroman_.snail: points 1.29, score 21.99, rank 15/47 (+1) 18:15:21 !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*12[+]]+](<)*11([-][+]>)*-1 18:15:22 mroman_.snail: points 0.07, score 20.81, rank 17/47 (-2) 18:15:28 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*11([-][+]>)*-1 18:15:28 mroman_.snail: points 1.12, score 21.72, rank 15/47 (+2) 18:15:38 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*10([-][+]>)*-1 18:15:39 mroman_.snail: points 1.07, score 21.67, rank 15/47 (--) 18:15:51 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*11([-]>)*-1 18:15:51 mroman_.snail: points 1.19, score 21.79, rank 15/47 (--) 18:16:04 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*11([(+)*9[-]]>)*-1 18:16:05 mroman_.snail: points 1.24, score 21.84, rank 15/47 (--) 18:16:10 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+].]+](<)*11([(+)*9[-]]>)*-1 18:16:11 mroman_.snail: points 1.90, score 22.61, rank 14/47 (+1) 18:16:14 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+].]+](<)*11([(+)*9[-].]>)*-1 18:16:15 mroman_.snail: points 1.90, score 22.61, rank 14/47 (--) 18:16:18 hehe 18:16:24 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 18:16:28 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+].]+](<)*11([(+)*9[-]].>)*-1 18:16:28 mroman_.snail: points 2.02, score 22.73, rank 13/47 (+1) 18:16:35 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*11([(+)*9[-]].>)*-1 18:16:36 mroman_.snail: points 1.36, score 21.95, rank 15/47 (-2) 18:16:38 !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+].]+](<)*11([(+)*9[-]].>)*-1 18:16:39 mroman_.snail: points 2.02, score 22.73, rank 13/47 (+2) 18:36:23 !bfjoust wigglewigglewiggleyeah (+.+.-.)*-1 18:36:26 mroman_.wigglewigglewiggleyeah: points -14.52, score 7.91, rank 47/47 18:36:34 !bfjoust wigglewigglewiggleyeah (+.+.+.-.)*-1 18:36:36 mroman_.wigglewigglewiggleyeah: points -16.74, score 7.29, rank 47/47 (--) 18:36:39 !bfjoust wigglewigglewiggleyeah (+.+.+.-.-.)*-1 18:36:41 mroman_.wigglewigglewiggleyeah: points -12.52, score 9.15, rank 47/47 (--) 18:36:45 !bfjoust wigglewigglewiggleyeah (+.+.+.-.-)*-1 18:36:46 mroman_.wigglewigglewiggleyeah: points -24.67, score 6.18, rank 47/47 (--) 18:37:03 !bfjoust wigglewigglewiggleyeah >(128+)<(+.+.+.-.-.)*-1 18:37:04 mroman_.wigglewigglewiggleyeah: points -12.50, score 9.15, rank 47/47 (--) 18:37:17 !bfjoust wigglewigglewiggleyeah (>(128+))*3<<<(+.+.+.-.-.)*-1 18:37:19 mroman_.wigglewigglewiggleyeah: points -12.14, score 9.40, rank 47/47 (--) 18:37:29 !bfjoust wigglewigglewiggleyeah (>(128+))*3<<<(+.+.+.+.-.-.-.)*-1 18:37:31 mroman_.wigglewigglewiggleyeah: points -12.07, score 9.42, rank 47/47 (--) 18:37:42 !bfjoust wigglewigglewiggleyeah (>(128+))*8(<)*8(+.+.+.+.-.-.-.)*-1 18:37:43 mroman_.wigglewigglewiggleyeah: points -11.83, score 9.91, rank 47/47 (--) 18:38:10 !bfjoust wigglewigglewiggleyeah (>(+)*128)*8(<)*8(+.+.+.+.-.-.-.)*-1 18:38:12 mroman_.wigglewigglewiggleyeah: points -27.74, score 4.18, rank 47/47 (--) 18:38:19 !bfjoust wigglewigglewiggleyeah (>(+)*10)*8(<)*8(+.+.+.+.-.-.-.)*-1 18:38:21 mroman_.wigglewigglewiggleyeah: points -21.05, score 5.59, rank 47/47 (--) 18:38:30 !bfjoust wigglewigglewiggleyeah (>+)*8(<)*8(+.+.+.+.-.-.-.)*-1 18:38:32 mroman_.wigglewigglewiggleyeah: points -19.86, score 3.99, rank 47/47 (--) 18:38:45 !bfjoust wigglewigglewiggleyeah (>(+)*128)*3<<<(+.+.+.+.-.-.-.)*-1 18:38:47 mroman_.wigglewigglewiggleyeah: points -18.12, score 5.91, rank 47/47 (--) 18:38:52 :( 18:38:58 not working anymore 18:54:48 !bfjoust clear (>)*9([-[-].]>)*-1 18:54:49 mroman_.clear: points -16.69, score 9.63, rank 47/47 18:54:55 !bfjoust clear (>)*10([-[-].]>)*-1 18:54:55 mroman_.clear: points -18.62, score 8.64, rank 47/47 (--) 18:55:04 !bfjoust clear (>)*9([--[-].]>)*-1 18:55:05 mroman_.clear: points -17.43, score 9.37, rank 47/47 (--) 18:55:16 !bfjoust clear (>)*9([(+)*10[-].]>)*-1 18:55:21 !bfjoust clear (>)*9([(+)*10[-].]>)*-1 18:55:21 mroman_.clear: points -9.12, score 13.60, rank 47/47 (--) 18:55:27 !bfjoust clear (>)*9([(+)*20[-].]>)*-1 18:55:27 mroman_.clear: points -16.40, score 9.93, rank 47/47 (--) 18:55:39 !bfjoust clear (>)*9([(+)*10[(-)*3].]>)*-1 18:55:40 mroman_.clear: points -14.83, score 10.61, rank 47/47 (--) 19:18:46 -!- shikhout has joined. 19:22:13 -!- shikhin has quit (Ping timeout: 260 seconds). 19:42:43 -!- AnotherTest has quit (Remote host closed the connection). 20:03:38 -!- AndoDaan has joined. 20:18:26 !bfjoust clear (>-)*9([(+)*10[-].]>)*-1 20:18:27 mroman_.clear: points -19.64, score 7.62, rank 47/47 (--) 20:19:05 !bfjoust clear (>)*9(+)*32<(-)*32>>([(+)*10[-].]>)*-1 20:19:06 mroman_.clear: points -19.14, score 7.99, rank 47/47 (--) 20:19:15 hm 20:19:34 -!- GeekDude has joined. 20:20:04 !bfjoust clear (>)*9(>[-..>+<])*-1 20:20:05 mroman_.clear: points -34.62, score 2.59, rank 47/47 (--) 20:20:30 !bfjoust clear (>)*9(>[-..])*-1 20:20:31 mroman_.clear: points -24.62, score 6.61, rank 47/47 (--) 20:20:35 !bfjoust clear (>)*9(>[-.-.])*-1 20:20:35 mroman_.clear: points -22.24, score 7.19, rank 47/47 (--) 20:20:39 !bfjoust clear (>)*9(>[-.-.-])*-1 20:20:39 mroman_.clear: points -20.79, score 7.84, rank 47/47 (--) 20:20:43 !bfjoust clear (>)*9(>[-.-.-.-.])*-1 20:20:44 mroman_.clear: points -24.98, score 6.30, rank 47/47 (--) 20:20:49 !bfjoust clear (>)*9(>[-.-.-])*-1 20:20:49 mroman_.clear: points -20.79, score 7.84, rank 47/47 (--) 20:21:02 !bfjoust clear (>)*9(>[-.-.-]>[+.+.+])*-1 20:21:03 mroman_.clear: points -21.36, score 7.40, rank 47/47 (--) 20:21:24 !bfjoust clear (>------------->+++++++)*4>>>>>(>[-.-.-])*-1 20:21:25 mroman_.clear: points -22.90, score 7.18, rank 47/47 (--) 20:21:28 !bfjoust clear (>------------->+++++++)*4>>>>(>[-.-.-])*-1 20:21:29 mroman_.clear: points -22.69, score 7.17, rank 47/47 (--) 20:21:39 !bfjoust clear (>------------->+++++++)*4>>>>(>[-.+.-])*-1 20:21:40 mroman_.clear: points -26.10, score 5.97, rank 47/47 (--) 20:21:47 !bfjoust clear (>------------->+++++++)*4>>>>(>[-.[+].-])*-1 20:21:47 mroman_.clear: points -29.36, score 4.54, rank 47/47 (--) 20:22:02 hm. 20:22:07 can you detect polarity? 20:22:39 i.e detect that decoys are >(+)*a>(-)*b or >(-)*a>(+)*b 20:22:58 i. mean 20:23:08 you could clear the first decoy and check if it took more than n cycle 20:23:27 if it took more you chose the wrong polarity 20:24:00 also is there some C-like meta-language that compiles to BFjoust :D? 20:25:23 !bfjoust sleep (+[.-])*-1 20:25:24 mroman_.sleep: points -26.24, score 4.12, rank 47/47 20:25:32 !bfjoust sleep (+[>.-])*-1 20:25:32 mroman_.sleep: points -45.90, score 0.04, rank 47/47 (--) 20:25:43 !bfjoust sleep (+[>-<])*-1 20:25:45 mroman_.sleep: points -24.57, score 4.32, rank 47/47 (--) 20:26:16 !bfjoust sleep ([>--<])*-1 20:26:20 mroman_.sleep: points -20.83, score 4.63, rank 47/47 (--) 20:26:25 !bfjoust sleep ([>(-)*5<])*-1 20:26:28 mroman_.sleep: points -23.93, score 4.31, rank 47/47 (--) 20:26:32 !bfjoust sleep ([>(-)*3<])*-1 20:26:36 mroman_.sleep: points -18.57, score 5.27, rank 47/47 (--) 20:26:53 !bfjoust sleep ([>(-)*3<+-])*-1 20:26:56 mroman_.sleep: points -22.14, score 5.59, rank 47/47 (--) 20:27:11 !bfjoust sleep (>[>(-)*3<+-])*-1 20:27:12 mroman_.sleep: points -34.57, score 2.44, rank 47/47 (--) 20:27:46 clearing and leaving decoys after clear is inefficient 20:28:04 because changes are huge that the opponent already advanced further on the tape than his decoys 20:28:25 so clearing the decoy wait for the two cycles and set up a decoy at that location isn't really a good choice so it seems to me 20:29:05 I'm not sure whether a (>-)*9(<)*9 decoy-setup-rush 20:29:15 followed by the real decoy setup (with larger) decoys 20:29:20 then followed by a clear is much better 20:29:47 also it looks like some programs detect your decoys 20:29:52 and jump past three or five of them 20:30:00 which makes them advance to your flag pretty quickly 20:30:57 hm 20:31:16 (>[])*-1 searches for a non empty cell 20:31:22 but this blocks until the cell reaches zero 20:31:27 so it's not really good 20:31:52 [wiki] [[Mindcrush]] N http://esolangs.org/w/index.php?oldid=40534 * 76.198.18.197 * (+2008) Created page with "==Mindcrush== '''Mindcrush''' is a [[Category:Brainfuck derivatives|Brainfuck derivative]] created by [http://petitcomputer.wikia.com/wiki/User:IAmAPersson IAmAPersson] and im..." 20:32:22 !bfjoust detect_clear (>[(>)*2(>[(+)*10.[-]])*-1])*-1 20:32:22 mroman_.detect_clear: points -9.55, score 12.85, rank 47/47 20:32:27 like that I think 20:32:49 [wiki] [[Mindcrush]] http://esolangs.org/w/index.php?diff=40535&oldid=40534 * 76.198.18.197 * (-14) /* Mindcrush */ removed superfluous header 20:33:18 Can "brainfuck derivative" be added to the spam blacklist 20:33:59 [wiki] [[Mindcrush]] http://esolangs.org/w/index.php?diff=40536&oldid=40535 * 76.198.18.197 * (-31) 20:34:20 !bfjoust search_and_destroy (>[>>>([(+)*10.[-]]>)*-1])*-1 20:34:21 mroman_.search_and_destroy: points -9.55, score 12.85, rank 47/47 20:34:28 !bfjoust search_and_destroy (>[>>>>([(+)*10.[-]]>)*-1])*-1 20:34:28 mroman_.search_and_destroy: points -9.26, score 13.41, rank 47/47 (--) 20:34:31 !bfjoust search_and_destroy (>[>>>>>([(+)*10.[-]]>)*-1])*-1 20:34:31 mroman_.search_and_destroy: points -8.38, score 13.88, rank 45/47 (+2) 20:34:34 !bfjoust search_and_destroy (>[>>>>>>([(+)*10.[-]]>)*-1])*-1 20:34:35 mroman_.search_and_destroy: points -13.45, score 11.42, rank 47/47 (-2) 20:34:43 !bfjoust search_and_destroy (>[>>>>([(+)*6.[-]]>)*-1])*-1 20:34:43 mroman_.search_and_destroy: points -6.52, score 15.06, rank 39/47 (+8) 20:34:49 !bfjoust search_and_destroy (>[>>>([(+)*6.[-]]>)*-1])*-1 20:34:49 mroman_.search_and_destroy: points -4.88, score 15.70, rank 35/47 (+4) 20:34:53 !bfjoust search_and_destroy (>[>>([(+)*6.[-]]>)*-1])*-1 20:34:53 [wiki] [[Mindcrush]] http://esolangs.org/w/index.php?diff=40537&oldid=40536 * 76.198.18.197 * (+1) /* Language Definition */ formatting fixes. formatting fixes everywhere 20:34:55 mroman_.search_and_destroy: points -6.57, score 14.30, rank 44/47 (-9) 20:34:57 !bfjoust search_and_destroy (>[>>>([(+)*6.[-]]>)*-1])*-1 20:34:57 mroman_.search_and_destroy: points -4.88, score 15.70, rank 35/47 (+9) 20:35:00 !bfjoust search_and_destroy (>[>>>([(+)*7.[-]]>)*-1])*-1 20:35:00 mroman_.search_and_destroy: points -5.36, score 15.75, rank 34/47 (+1) 20:35:03 !bfjoust search_and_destroy (>[>>>([(+)*8.[-]]>)*-1])*-1 20:35:04 mroman_.search_and_destroy: points -7.95, score 13.85, rank 45/47 (-11) 20:35:08 !bfjoust search_and_destroy (>[>>>([(+)*7[-]]>)*-1])*-1 20:35:09 mroman_.search_and_destroy: points -5.55, score 15.54, rank 35/47 (+10) 20:35:15 !bfjoust search_and_destroy (>[>>>([(+)*7.[-]]>)*-1])*-1 20:35:16 mroman_.search_and_destroy: points -5.36, score 15.75, rank 34/47 (+1) 20:35:20 !bfjoust search_and_destroy (>[>>>([(+)*7.[-].]>)*-1])*-1 20:35:21 mroman_.search_and_destroy: points -6.67, score 14.85, rank 40/47 (-6) 20:35:23 !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1 20:35:24 mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+6) 20:35:35 !bfjoust search_and_destroy (>)*7(>[>>>([(+)*7[-].]>)*-1])*-1 20:35:36 mroman_.search_and_destroy: points -9.67, score 13.27, rank 47/47 (-13) 20:35:39 !bfjoust search_and_destroy (>)*3(>[>>>([(+)*7[-].]>)*-1])*-1 20:35:40 mroman_.search_and_destroy: points -7.05, score 14.86, rank 41/47 (+6) 20:35:47 !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1 20:35:47 mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+7) 20:36:12 !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>[(-)*7[+].]>)*-1])*-1 20:36:12 mroman_.search_and_destroy: points -5.90, score 15.07, rank 38/47 (-4) 20:36:17 !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1 20:36:17 mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+4) 20:36:23 ok 20:36:41 this should search for a decoy and then skip three cells and go in a clear 20:36:47 but it's obviously not that good :( 20:37:16 -!- S1 has joined. 20:38:04 Hey, mroman_, what exactly does the -1 do. In my current thinking, there isn't much use of having it exectued twice. 20:38:12 The loop looks like a lock 20:38:23 Oh, it's a clear 20:38:24 I thought it just means "keep doing this." 20:38:50 i think *-1 is the same as *9999 20:39:08 i.e. do this 9999 times 20:39:38 !bfjoust search_and_destroy (>[>([(+)*7[-].]>)*-1])*-1 20:39:39 mroman_.search_and_destroy: points -8.93, score 12.91, rank 47/47 (-13) 20:39:43 !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1 20:39:44 mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+13) 20:39:56 against slow decoy setups this will loose on small tapes 20:39:57 :) 20:40:04 because >>> just jumps of the tape 20:40:07 Why don't you skip 7 cells at the start? 20:40:13 Jafet: because that sucks 20:40:22 !bfjoust search_and_destroy (>)*7(>[>>>([(+)*7[-].]>)*-1])*-1 20:40:22 mroman_.search_and_destroy: points -9.67, score 13.27, rank 47/47 (-13) 20:40:25 ^- see 20:40:26 it sucks 20:40:33 !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1 20:40:33 mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+13) 20:40:44 I don't know why 20:40:49 but it does 20:40:54 !bfjoust search_and_destroy >(>[>>>([(+)*7[-].]>)*-1])*-1 20:40:55 mroman_.search_and_destroy: points -5.69, score 15.64, rank 35/47 (-1) 20:40:57 It sucks, but it looks more like a decoy hunter to me 20:41:01 !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1 20:41:01 mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+1) 20:41:02 -!- L8D has joined. 20:41:03 The mysteries of Brain Fuck. 20:41:14 Hello, L8D. 20:41:28 maybe with a decoy setup ... 20:41:29 AndoDaan: hi? that was weird 20:41:30 How's you're jousting going. 20:41:44 I know right. I'm still new here. 20:41:46 AndoDaan: Doing pretty well. My first and only two bots seem to have solid ranks 20:41:47 Too. 20:41:52 !bfjoust search_and_destroy (>(+)*13>(-)*7)*2(>[>>>([(+)*7[-].]>)*-1])*-1 20:41:52 mroman_.search_and_destroy: points -2.69, score 19.14, rank 23/47 (+11) 20:41:55 yeah 20:41:58 Good for yoda. 20:41:59 !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>([(+)*7[-].]>)*-1])*-1 20:42:00 mroman_.search_and_destroy: points 1.00, score 22.64, rank 13/47 (+10) 20:42:04 Well, the likely reason is there won't have been enough time after skipping 7 for the enemy to make decoys 20:42:04 !bfjoust search_and_destroy (>(+)*13>(-)*7)*4(>[>>>([(+)*7[-].]>)*-1])*-1 20:42:05 mroman_.search_and_destroy: points -1.17, score 20.43, rank 18/47 (-5) 20:42:12 !bfjoust search_and_destroy (>(+)*13>(-)*7)*4(>[([(+)*7[-].]>)*-1])*-1 20:42:13 mroman_.search_and_destroy: points -6.07, score 16.26, rank 31/47 (-13) 20:42:18 !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>([(+)*7[-].]>)*-1])*-1 20:42:18 mroman_.search_and_destroy: points 1.00, score 22.64, rank 13/47 (+18) 20:42:31 !bfjoust yoda (>)*8(>[(+)*5[-]])*21 20:42:31 So your program just runs off the end then 20:42:32 L8D.yoda: points -4.05, score 17.33, rank 30/47 (--) 20:42:37 !bfjoust yoda (>)*8(>[(+)*10[-]])*21 20:42:37 L8D.yoda: points -6.48, score 15.39, rank 37/47 (-7) 20:42:45 !bfjoust yoda (>)*8(>[(+)*3[-]])*21 20:42:45 L8D.yoda: points -5.45, score 16.40, rank 33/47 (+4) 20:42:50 !bfjoust yoda (>)*8(>[(+)*6[-]])*21 20:42:52 L8D.yoda: points -4.29, score 17.01, rank 30/47 (+3) 20:42:57 !bfjoust yoda (>)*8(>[(+)*5[-]])*21 20:42:58 L8D.yoda: points -4.05, score 17.33, rank 30/47 (--) 20:43:01 mwahahahaha 20:43:09 offset of 5 it is! 20:43:16 !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>([(+)*7[-].]>)*-1])*-1 20:43:16 mroman_.search_and_destroy: points 1.00, score 22.65, rank 13/47 (--) 20:43:19 !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>>([(+)*7[-].]>)*-1])*-1 20:43:20 mroman_.search_and_destroy: points 3.17, score 24.69, rank 8/47 (+5) 20:43:23 I prefer small and simplified programs... 20:43:25 !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>>>([(+)*7[-].]>)*-1])*-1 20:43:25 mroman_.search_and_destroy: points 4.31, score 26.06, rank 8/47 (--) 20:43:29 !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>>([(+)*7[-].]>)*-1])*-1 20:43:29 mroman_.search_and_destroy: points 3.17, score 24.69, rank 8/47 (--) 20:43:46 And L8D.blitz was one of the first out there that could beat nyuroki 20:44:07 ...because I specifically designed it to beat nyuroki... 20:44:27 I feel like I introduced a revolutionary concept to the bfjousting community 20:44:56 which is analyzing your competition and using offset/decoys that are just-high-enough 20:45:30 *-1 is actually the same as *100000. 20:45:41 Or any negative number, in fact. 20:48:46 now L8D.blitz is in 18th ;( 20:49:15 it was in 8th for a little bit and ventured back to 12-14th 20:51:34 Yeah 20:51:38 you got beat by me 20:51:42 who knows bfjoust for what 20:51:44 two days now? 20:51:49 ;) 20:52:09 I learned it last night... 20:52:16 hence why I've only maintained two bots 20:52:21 :( 20:52:34 but nice job with snail 20:52:35 hm 20:52:51 why snail? 20:52:57 search_and_destroy is way better 20:53:15 er...it barely beats blitz 20:53:20 ok 20:53:22 ah 20:53:31 snail leaves a slimy trail after clearing 20:54:05 !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*11[-]]+)*21 20:54:07 L8D.blitz: points -1.43, score 19.01, rank 22/47 (-4) 20:54:11 o.o 20:54:15 !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*9[-]]+)*21 20:54:15 L8D.blitz: points -2.71, score 18.33, rank 24/47 (-2) 20:54:20 !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*10[-]]+)*21 20:54:20 L8D.blitz: points -0.17, score 20.27, rank 18/47 (+6) 20:54:30 !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*12[-]]+)*21 20:54:30 L8D.blitz: points -1.88, score 18.61, rank 24/47 (-6) 20:54:38 You're decoys are uneven 20:54:48 !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*13[-]]+)*21 20:54:49 L8D.blitz: points -1.07, score 19.07, rank 22/47 (+2) 20:54:52 !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*14[-]]+)*21 20:54:53 L8D.blitz: points -1.74, score 18.60, rank 24/47 (-2) 20:54:56 !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*10[-]]+)*21 20:54:57 L8D.blitz: points -0.17, score 20.27, rank 18/47 (+6) 20:56:24 nyuroki loses against two of my bots 20:56:45 I see several bots have taken inspiration from my method... 20:57:14 with decoys of height 11 instead of 10 20:58:10 i use 13,7 alternating for decoys 20:58:35 [wiki] [[Mindcrush]] http://esolangs.org/w/index.php?diff=40538&oldid=40537 * 76.198.18.197 * (+8) added year 21:19:17 -!- AndoDaan has quit (Ping timeout: 260 seconds). 21:21:27 -!- AndoDaan has joined. 21:21:50 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 21:35:19 -!- GeekDude has joined. 21:53:44 -!- zolbap has joined. 21:54:52 -!- zolbap has quit (Client Quit). 21:55:23 -!- zolbap has joined. 21:57:25 -!- zolbap has quit (Client Quit). 21:58:08 -!- zolbap has joined. 22:05:49 -!- oerjan has joined. 22:08:06 [wiki] [[Special:Log/newusers]] create * BelleMendis * New user account 22:09:52 -!- AndoDaan has quit (Ping timeout: 250 seconds). 22:13:59 Hmm... 22:14:04 Now here's a conudrum 22:14:19 How do I combine an offset clear and an wiggle clear effectively 22:19:05 -!- zolbap has quit (Ping timeout: 260 seconds). 22:21:26 -!- AndoDaan has joined. 22:26:53 Lymia: http://esolangs.org/wiki/BF_Joust_strategies#Wiggle_clear 22:27:05 already covers how to do offsets with wiggle clears 22:36:49 -!- AndoDaan______ has joined. 22:37:02 -!- AndoDaan______ has quit (Client Quit). 22:37:23 -!- S1 has quit (Quit: S1). 22:39:39 -!- AndoDaan has quit (Ping timeout: 272 seconds). 22:46:28 -!- zolbap has joined. 22:46:34 -!- zzo38 has joined. 22:49:34 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 22:59:00 [wiki] [[Talk:German]] http://esolangs.org/w/index.php?diff=40539&oldid=39384 * 77.181.56.186 * (+307) /* German compiler in German doesn't work */ new section 22:59:34 Das ist nicht gut 23:05:30 -!- Sorella has joined. 23:06:20 -!- Sorella has quit (Changing host). 23:06:20 -!- Sorella has joined. 23:18:14 -!- zolbap has quit (Quit: Leaving). 23:18:46 yeah, traces are finite so programs are too <-- hm the number should be calculable 23:19:17 oerjan: it's a little subtle, since e.g. ] and . can look equivalent in one trace 23:19:26 (but not under different circumstances) 23:19:49 elliott_: well i mean the number of trivially non-equivalent programs in 100000 steps 23:20:01 right 23:20:12 I agree it's calculable, just it's not quite as simple as "count the unique traces" or whatever 23:20:18 i am thinking you do it via conversion to the never-running ] form which people have alluded to 23:20:27 (the exponential size one) 23:21:08 essentially a kind of CPS transform 23:21:40 so a conventionally-written program would appear as an equivalent in the set, just in the weirdo form? 23:22:14 yes. it's not hard to translate back and forth as long as you have exponential time 23:24:30 in exponential form, a program is either one of +-<>. followed by a program for one less step, or a branch with two programs for one less step 23:25:47 you could even use the notation [P]Q for the latter and it would be legal BF joust syntax. 23:27:25 right. 23:27:26 so if you want to count them, f(n) = 5*f(n-1) + f(n-1)^2 23:27:45 where n is the number of steps 23:27:52 f(0) = 1 presumably 23:27:58 what about [P]P? 23:28:01 you don't want to count that 23:28:16 it's equivalent to .P, I guess 23:28:17 hm oh you want that to be treated as equivalent to .P 23:28:24 ok i wasn't thinking that far 23:28:43 (was briefly considering how to ignore the initial polarity) 23:28:55 there are maybe cases where there is a branch where one branch is always taken, too? I guess you could probably always make a counterprogram to show the difference 23:29:38 i said _trivially_ non-equivalent above, didn't i? i certainly meant to exclude looking at actual tape contents 23:30:54 i wasn't considering tape lengths either. or you might want to treat anything moving outside the largest possible tape as equivalent at that point 23:31:45 although your counterprogram idea does have a point, it might make it at least _theoretically_ computable even with a more refined equivalence 23:32:12 well, actually, _theoretically_ it's all finite. 23:32:59 > iterate (\f -> f*(5 + f)) 1 23:33:01 [1,6,66,4686,21982026,483209576974806,233491495280173380882643611666,5451827... 23:33:11 looks somewhat large 23:33:22 I guess adding a duplicate to the hill shouldn't change any rankings with the markov score system? maybe? 23:33:27 maybe it does 23:33:44 really I just want to know what the platonically winningest BF Joust program is 23:33:53 (I suspect it's tied) 23:35:37 heh 23:36:00 there's going to be a nash equilibrium somewhere 23:36:07 (possibly more than one) 23:36:15 yeah. 23:36:34 I'd be interested in how well the higher-up programs do against the actual hill. 23:37:30 hm a duplicate will always tie against itself, i think? 23:38:26 since nothing can break the symmetry 23:38:29 does , do something? 23:38:35 Bike: no 23:38:58 oh. i was thinking it could input from a random stream just to fuck all this up. 23:39:03 why am i not eating again 23:40:21 -!- boily has joined. 23:42:18 yes, X ties X, but I guess other programs then have to fight X twice? 23:42:27 and maybe that could dilute the scores? I don't understand the scoring well enough to say 23:42:42 possibly each X would just be betting half the score because of the tie, though 23:48:00 [wiki] [[Talk:Pada]] http://esolangs.org/w/index.php?diff=40540&oldid=17375 * 77.181.56.186 * (+460) Requesting clarification on jump 23:51:07 [wiki] [[Talk:Pada]] http://esolangs.org/w/index.php?diff=40541&oldid=40540 * 77.181.56.186 * (+38) 2014-09-26: 00:00:16 hm one definition of equivalence could be: there exists at least one tape length, such that for both relative polarities of the tested programs, there exists a counterprogram that can get different outcome from the test programs. 00:00:26 *non-equivalence 00:01:01 the polarity part is because we might want flipped polarities not to change equivalence 00:02:43 this would be a non-trivial equivalence, of course. 00:05:54 if you can get a counterprogram that distinguishes between the two test programs and then reaches their IP before they have a chance to ensure win or suicide, then i suspect it can force different outcomes. 00:12:01 -!- Bicyclidine has joined. 00:12:40 you need 768 to allow for all possible defence programs <-- hm i think that's fewer than i need? 00:15:16 oh hm wait 00:16:26 > 768 `divMod` 11 00:16:28 (69,9) 00:17:35 although i didn't try to minimize it 00:18:01 [wiki] [[FALSE]] http://esolangs.org/w/index.php?diff=40542&oldid=34791 * 77.181.84.57 * (+122) External resources: add cksum implemtation 00:18:10 hm wait 00:18:26 am i reading the quantifiers in his claim wrong 00:19:08 i think he's solving a different problem 00:19:18 > 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 3 00:19:20 768 00:19:45 ok then my result is stronger i think 00:19:52 boily: ah 00:20:11 yup. insanely bored. 00:20:36 i think i can at least halve that 00:21:08 you need to beat his program on only one polarity and tape length 00:21:22 or wait 00:21:35 nah maybe that _is_ about the right order of magnitude 00:29:13 fungot: is it magnitudinally correct? 00:29:14 boily: fnord o'malley tells of devil-worship with box found in the shrine on the alert, is poignantly visible in every line of the fnord, and such is my knowledge that i am safe? those powers survive the life of the physical frame. her crowning rage, however, the syracusans obtained after a while, for my thoughts were still far from settled, but i produced an electric pocket lamp and viewed the crowning fnord as it was 00:29:40 oerjan: only if you worship the devil. (which, considered that it pertains to a bf joust, could be quite useful.) 00:37:11 a lovely crafted estimate 00:42:55 @tell fizzie Fun fact about the Markov scoring, as pointed out by quintopia: if you do write the perfect (in terms of rest of the hill) program, all other programs will get a flat 0 as a score. <-- hm if there _are_ programs getting a flat 0, then they must lose perfectly against all that don't. so you could rerun the 0's as a second tier or something. 00:42:55 Consider it noted. 00:45:14 > 2^200 00:45:16 1606938044258990275541962092341162602522202993782792835301376 00:56:14 > 2 ^ 2 ^ 2 ^ 2 00:56:16 65536 00:56:40 hm. (^) is infixr... 00:56:53 > 2 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2 00:56:57 that's the usual convention, no? 00:56:58 mueval: ExitFailure 1 00:57:11 YES! another bot with cryptic error messages! 00:57:26 Bicyclidine: I couldn't remember. 00:57:48 well, it is. of course if you need to worry about that you may have scary issues 00:58:08 oerjan: my defn of equivalence is p === q = forall r polarity 10<=tapelen<=30. trace(p,r,polarity,tapelen) = trace(q,r,polarity,tapelen) 00:58:18 where trace is limited to the 100k. 00:58:41 oh 00:58:49 I guess you actually want to omit polarity there 00:58:57 Bicyclidine: my issues aren't scary. unless you are mentioning redmine issues, in which case I may suddenly twitche and have uncontrollable urges to mapole somebody. 00:59:16 oerjan: though then you have the weird thing where you erase the polarity but not the tape lengths 00:59:18 boily: whatreya doin wi nested exponentials then? 00:59:36 oerjan: (as opposed to only considering warrior vs. warrior all-tape-lengths-and-polarities results, which seems obviously too coarse-grained) 00:59:49 Bicyclidine: exploring large numbers. 00:59:50 elliott_: is trace the exact list of commands the warriors execute? 01:00:00 note that for tail representation, (>)*30p = (>)*30q forall p, q 01:00:11 as in, the neverending ] representation 01:00:20 29, even 01:00:22 (I wonder if powers of two are normal...) 01:00:26 so there's lots of subtleties there. 01:00:38 elliott_: what exactly is trace 01:00:43 oerjan: yes, I suppose so 01:00:55 oerjan: I was thinking it'd just be the tape + tape pointers + flag count for each step 01:00:59 *flag counter 01:01:32 maybe you should include the instructions executed to differentiate ] and . in some cases, but conjecturally you can always pick r to distinguish those anyway? 01:01:36 boily: iirc the end digits are constant after a while 01:01:53 something to do with modular arithmetic, which i'm not nearly smart enough for 01:01:53 elliott_: oh. so ignoring the difference between []. 01:02:06 but everything else counts 01:02:24 oerjan: inside the quantifier... I think the forall r is generic enough that it'd catch a q that "fakes" p's loops? 01:02:36 because it has to fake the loop structure for every possible r. 01:02:42 which amounts to actually doing the loops. 01:03:03 also, I'm waving my hands really fast right now!! 01:03:04 Bicyclidine: I'll be putting that in my todo backlog list. 01:03:16 (that refering to modular arithmetic.) 01:04:07 it's why you can get graham's number digits from the right. 01:04:12 oerjan: how about this? p === q = forall hill. add(p,hill) = add(q,hill) (note: hills contain exact points/scoring numbers) 01:04:22 http://en.wikipedia.org/wiki/Graham%27s_number#Rightmost_decimal_digits right ok. 01:04:45 oerjan: that captures exactly what you want for a hill of all programs 01:06:34 i think my brain just turned off 01:07:34 I guess you can determine some things about the scoring property of the ur-hill using your beat-any-program programs 01:07:43 but before it turned off because you changed the definition again, i was going to say that you can only distinguish [] from . after a sufficent number of steps that r can possibly have reached your IP 01:08:01 oh, good point 01:08:12 I sort of feel like [] and . really are equivalent there though 01:08:16 since the results are "constant"? 01:08:31 oh and that the cell can possibly be either 0 or nonzero 01:08:36 a bf joust program starting [>] might as well be a bf joust program starting .>. 01:08:58 there'd certainly be no point having both on the same hill 01:10:19 right 01:11:11 so I think (forall hill. add(p,hill) = add(q,hill)) is equivalent to (forall r tapelen. exists polarity. winner(p,r,sieve,tapelen) = winner(q,r,polarity,tapelen)), which quantifies over the polarity and tapelen like you intended to. 01:12:34 I suppose you could get the exact same points/score by having it win the same number of matches but in a *different* pattern of tape lengths, since they're treated as unordered (like polarities), making the former different for reasons other than polarity, but presumably when quantifying over all hills (this is where my brain turns off too) 01:12:43 if it was even running in the first place. 01:13:02 argh 01:13:06 OKAY 01:13:35 yeah, my reaction too at this point. 01:14:04 here's my revised opinion: I knows an equivalent program when I sees it. 01:14:10 splendid 01:15:51 -!- boily has quit (Quit: RAINBOW CHICKEN). 01:18:17 god i almost caught him this time 01:18:21 it's always so close 01:19:22 -!- shikhin has joined. 01:20:27 you cannot catch rainbow chicken 01:20:37 oerjan: that's a good idea. if it's possible to write a perfect program, and who knows if it is, it would at least give a score. however, given that it's so unlikely to happen, is it really worth implementing? 01:22:29 -!- shikhout has quit (Ping timeout: 260 seconds). 01:23:19 I would bet money you can write a program that beats everything currently on the hill. 01:23:22 or maybe not. 01:24:06 -!- Lorenzo64 has quit (Ping timeout: 258 seconds). 01:28:33 -!- Sorella has quit (Remote host closed the connection). 01:32:47 elliott_: yes, but the only idea i have for such a thing would be that a single minor tweak to any other program would topple the whole edifice 01:33:26 that's okay. 01:33:40 anyway, it might not be possible 01:34:03 -!- Sorella has joined. 01:34:12 you might have to do a different thing at time t depending on whether the other program is p or q, and you may not have enough time to gather enough information to distinguish them and branch on that before you have to 01:34:52 -!- Sorella has quit (Changing host). 01:34:53 -!- Sorella has joined. 01:38:29 elliott_: it could be even worse. there could be a single program which you have to treat completely differently depending on the tape length, but which makes it extremely difficult to guess what the length is, for instance by having lots of flag-sized decoys adjacent to the flag. no way to tell whether you're on the flag or not until you've cleared it, and if they're smart, maybe not even then. 01:39:02 quintopia: my religion holds that for any program p there is a p' that beats it on all tape lengths and polarities. 01:39:18 for instance, how do you tell the difference between a clever on-flag lock and ais523.preparation's lock? 01:39:41 basically you are claiming that unbeatable programs exist 01:40:22 what I no longer believe is that for any set of programs {p_0,p_1,...,p_n} there is a p' that beats all p_n on all tape lengths and polarities. that's significantly stronger 01:44:15 > length "48 characters should be enough for everyone." 01:44:17 44 01:46:34 indeed there is not necessarily a p' that beats all p_n on a _particular_ tape length and polarity. 01:52:10 -!- Bicyclidine has quit (Ping timeout: 250 seconds). 01:57:47 i am not claiming that unbeatable programs exist. i am saying i see no proof that it is impossible to write a program such that it is guaranteed to win in at leaaast one configuration. perhaps it isn't, but i see no proof. 01:59:09 proof: no program wins against a duplicate of itself, ever. 02:00:06 oerjan: i mispoke. i meant "not lose" instead of "win" 02:00:20 OKAY 02:00:37 -!- shikhin has quit (Ping timeout: 245 seconds). 02:01:18 hm can you write a length 10 rush that is guaranteed to never lose 02:01:44 no 02:02:04 (on length 10, naturally) 02:02:12 consider the same rush using a reverse offset clear 02:02:28 or whatever 02:02:42 um i don't know the bfjoust terms very well. 02:03:00 one clears around 128 and up. one clears around 0 and up. 02:03:20 hmm 02:03:21 s/very well/much at all/ 02:04:25 bad example 02:04:45 for every rush there is a lock. let's leave it at that. 02:05:12 basically what i mean is, since you can assume the tape length is known, you can at least ignore all other cells than your own flag and the opponent's. 02:05:19 (it's impossible to write a program unbeatable on a *paritcular* configuration) 02:05:44 well, you would have to use the unknownness of the polarity to your advantage 02:05:54 oh wait 02:06:00 oerjan: how can it win against both fastrush and +fastrush? 02:06:02 i proved that myself earlier, duh 02:07:03 elliott_: it doesn't have to win. it just has to draw. 02:08:00 if you have perfectlength10rush, then perfectlength10rush draws it, and +perfectlength10rush should beat it? 02:08:03 maybe not 02:08:38 I'm too tired for this. goodnight! 02:09:38 night 02:12:05 so did anything interesting happen this evening? 02:15:27 isn't it about time the wiki had a new featured language 02:17:20 -!- Sorella has quit (Remote host closed the connection). 02:26:57 You ugys 02:26:58 guys* 02:27:13 Realize my current project is a program whose input is all the programs on the hill, and the output is a single program, right? 02:27:27 i realize nothing. 02:30:30 (basically, I used an automated system to delete codepaths from it that weren't used against any of the programs on the hill) <-- that sounds relevant to your project 02:30:55 if you did that, you might get an exponential program down to reasonable size, no? 02:31:39 after all, you have at most 22*47 opponent configurations 02:32:41 and that then is also the maximal number of branchings 02:32:47 hm 02:32:52 > 22*47*100000 02:32:54 103400000 02:33:12 ok 103 Mb is still above the current limit :P 02:34:00 although... 02:34:52 any compression of the 100000 steps that _doesn't_ contain a possible branch should still be compressible 02:35:19 > 22*47 02:35:21 1034 02:35:53 Lymia: ^ 02:37:02 of course doing it this way will probably cause crash and burn against any new program, but i assume you've considered that already. 02:38:46 this could be used to compile down my nested ({}) structure which the bot didn't seem to support, i think 02:45:36 -!- conehead has quit (Quit: Computer has gone to sleep). 02:50:20 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:08:34 oerjan, I'd need a large coprus of programs not on the hill 03:08:50 And switch to, say, monolith's clear loop. 03:13:00 Lymia: um the idea of deleting codepaths only works if you are willing to ignore all opponents not on the hill. 03:13:26 if even then. 03:13:57 Deleting all code paths... relative to wht? 03:14:01 what* 03:17:20 Lymia: relative to the hill you are trying to beat 03:17:55 mind you this is probably not _that_ relevant if you are autogenerating a program to beat it. 03:18:49 unless you make it out of parts of other programs, frankenstein-like. hm... 03:19:20 Deleting code paths from what? 03:21:08 if you are somehow generating a program that is over the size limit 03:21:31 but you only want to beat those 22*47 configurations that are on the hill already 03:21:45 then you can delete the code paths that none of them hit. 03:22:30 and with some luck the remainder might fit under the limit 03:22:58 Lymia: are you stealing my idea 03:30:06 quintopia, I had had it, like, a year ago 03:30:12 And gave up because I couldn't get my interpreter working right 03:31:10 i had it two years ago, but never had the gumption 03:31:23 still don't really 03:31:34 so go ahead. have fun. hope you succeed. 03:32:16 I believe the fact that we had the same idea then could be because we talked about it in ancient times. 03:37:25 _or_ maybe you had a cloning accident and were really the same person. 04:23:53 https://www.youtube.com/watch?v=qlPehnPkG8o "Norse theme" had some sounds that sounds vaguely Celtic. I don't know enough to know if it's a coincidence 04:23:59 Norse-Celtic did get some hits in Google 04:24:12 http://en.wikipedia.org/wiki/Norse%E2%80%93Gaels 04:25:42 -!- idris-bot has quit (Ping timeout: 245 seconds). 04:26:02 -!- Melvar has quit (Ping timeout: 245 seconds). 04:29:01 -!- conehead has joined. 05:30:13 "Searching for toothpaste in eye? Kelley blue book" 05:30:22 Apparently getting toothpaste in your eye is a used car 05:54:18 -!- MoALTz_ has joined. 05:57:17 -!- MoALTz has quit (Ping timeout: 245 seconds). 05:57:52 -!- MoALTz__ has joined. 06:01:29 -!- MoALTz_ has quit (Ping timeout: 260 seconds). 06:27:38 -!- ion has quit (Excess Flood). 06:27:46 -!- MoALTz__ has quit (Quit: Leaving). 06:29:22 -!- weissschloss has quit (Remote host closed the connection). 06:29:23 -!- paul2520 has quit (Ping timeout: 240 seconds). 06:29:48 -!- ion has joined. 06:29:53 -!- paul2520 has joined. 06:30:14 -!- paul2520 has changed nick to Guest82163. 06:30:40 -!- weissschloss has joined. 07:05:38 -!- oerjan has quit (Quit: nǫ́tt). 07:12:45 -!- conehead has quit (Quit: Computer has gone to sleep). 07:15:38 -!- weissschloss has quit (Write error: Broken pipe). 07:18:35 -!- weissschloss has joined. 07:21:52 -!- vyv has quit (Ping timeout: 240 seconds). 07:24:08 -!- vyv has joined. 08:10:49 -!- sebbu has quit (Ping timeout: 260 seconds). 08:30:47 -!- Patashu has joined. 08:34:23 -!- sebbu has joined. 08:35:03 -!- sebbu has quit (Changing host). 08:35:03 -!- sebbu has joined. 08:41:38 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:50:59 !bfjoust single_decoy (>)*6(+)*128(>[-.])*-1 08:51:00 mroman_.single_decoy: points -29.67, score 4.83, rank 47/47 08:51:17 !bfjoust single_decoy (>)*6(+)*128(>[(+)*10[-].])*-1 08:51:18 mroman_.single_decoy: points -30.24, score 4.49, rank 47/47 (--) 08:51:47 !bfjoust single_decoy >(+)*128>*7(>[(+)*10[-].])*-1 08:51:48 mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--) 08:51:53 !bfjoust single_decoy >(+)*128>*9(>[(+)*10[-].])*-1 08:51:53 mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--) 08:51:59 !bfjoust single_decoy >(+)*128>*7(>[(+)*10[-].])*-1 08:51:59 mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--) 08:52:08 !bfjoust single_decoy >(+)*128(>-)*7(>[(+)*10[-].])*-1 08:52:09 mroman_.single_decoy: points -20.17, score 8.13, rank 47/47 (--) 08:52:16 !bfjoust single_decoy >(+)*128(>->+)*4(>[(+)*10[-].])*-1 08:52:16 mroman_.single_decoy: points -18.50, score 8.82, rank 47/47 (--) 08:52:24 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*10[-].])*-1 08:52:25 mroman_.large_decoy: points -18.50, score 8.82, rank 47/47 08:52:35 !bfjoust large_decoy >(+)*128(>-->++)*4(>[(+)*10[-].])*-1 08:52:36 mroman_.large_decoy: points -19.24, score 8.50, rank 47/47 (--) 08:52:43 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*6[-].])*-1 08:52:44 mroman_.large_decoy: points -18.48, score 9.04, rank 47/47 (--) 08:52:48 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*5[-].])*-1 08:52:51 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*5[-].])*-1 08:52:52 mroman_.large_decoy: points -19.81, score 8.50, rank 47/47 (--) 08:52:55 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*7[-].])*-1 08:52:56 mroman_.large_decoy: points -19.67, score 8.57, rank 47/47 (--) 08:53:01 !bfjoust large_decoy >(+)*128(>->+)*5(>[(+)*6[-].])*-1 08:53:01 mroman_.large_decoy: points -15.67, score 10.41, rank 47/47 (--) 08:53:07 !bfjoust large_decoy >(+)*128(>->+)*6(>[(+)*6[-].])*-1 08:53:09 -!- zemhill has quit (Remote host closed the connection). 08:53:22 oh noes :( 08:54:02 -!- zemhill has joined. 08:55:46 !bfjoust large_decoy >(+)*128(>->+)*6(>[(+)*6[-].])*-1 08:55:46 mroman_.large_decoy: points -16.60, score 9.97, rank 47/47 (--) 08:55:52 !bfjoust large_decoy >(+)*128(>->+)*5(>[(+)*6[-].])*-1 08:55:53 mroman_.large_decoy: points -15.67, score 10.41, rank 47/47 (--) 08:56:03 !bfjoust large_decoy >(+)*128>(-)*128(>->+)*5(>[(+)*6[-].])*-1 08:56:04 mroman_.large_decoy: points -20.31, score 8.07, rank 47/47 (--) 08:56:08 !bfjoust large_decoy >(+)*128>(-)*128(>->+)*4(>[(+)*6[-].])*-1 08:56:08 mroman_.large_decoy: points -22.14, score 7.25, rank 47/47 (--) 08:56:12 !bfjoust large_decoy >(+)*128>(-)*128(>->+)*5(>[(+)*6[-].])*-1 08:56:12 mroman_.large_decoy: points -20.31, score 8.07, rank 47/47 (--) 08:56:20 !bfjoust large_decoy >(+)*64>(-)*64(>->+)*5(>[(+)*6[-].])*-1 08:56:20 mroman_.large_decoy: points -11.40, score 12.80, rank 47/47 (--) 08:56:28 !bfjoust large_decoy >(+)*64>(-)*64(>-->+)*5(>[(+)*6[-].])*-1 08:56:28 mroman_.large_decoy: points -11.36, score 12.82, rank 47/47 (--) 08:56:32 -!- FreeFull has quit (Ping timeout: 245 seconds). 08:56:32 !bfjoust large_decoy >(+)*64>(-)*64(>-->++)*5(>[(+)*6[-].])*-1 08:56:34 mroman_.large_decoy: points -12.14, score 12.43, rank 47/47 (--) 08:56:39 !bfjoust large_decoy >(+)*64>(-)*64(>--->+)*5(>[(+)*6[-].])*-1 08:56:40 mroman_.large_decoy: points -11.86, score 12.64, rank 47/47 (--) 08:56:47 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*10>+)*5(>[(+)*6[-].])*-1 08:56:47 mroman_.large_decoy: points -8.67, score 13.94, rank 46/47 (+1) 08:56:51 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*5(>[(+)*6[-].])*-1 08:56:52 mroman_.large_decoy: points -8.81, score 14.37, rank 44/47 (+2) 08:56:56 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*64>+)*5(>[(+)*6[-].])*-1 08:56:56 mroman_.large_decoy: points -14.76, score 11.15, rank 47/47 (-3) 08:57:06 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*25>+)*5(>[(+)*6[-].])*-1 08:57:07 mroman_.large_decoy: points -9.29, score 13.83, rank 46/47 (+1) 08:57:14 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*5(>[(+)*6[-].])*-1 08:57:15 mroman_.large_decoy: points -8.81, score 14.37, rank 44/47 (+2) 08:57:29 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*4(>[(+)*6[-].])*-1 08:57:30 mroman_.large_decoy: points -9.71, score 13.69, rank 47/47 (-3) 08:57:34 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*30>+)*4(>[(+)*6[-].])*-1 08:57:34 mroman_.large_decoy: points -11.64, score 12.37, rank 47/47 (--) 08:57:43 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>++)*5(>[(+)*6[-].])*-1 08:57:44 mroman_.large_decoy: points -8.52, score 14.57, rank 43/47 (+4) 08:57:51 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>(+)*20)*5(>[(+)*6[-].])*-1 08:57:51 mroman_.large_decoy: points -8.76, score 14.64, rank 43/47 (--) 08:58:34 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*20>(+)*20)*5(>[(+)*6[-].])*-1 08:58:35 mroman_.large_decoy: points -8.29, score 14.84, rank 41/47 (+2) 08:58:45 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:58:46 mroman_.large_decoy: points -7.43, score 15.47, rank 37/47 (+4) 08:58:49 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*25)*5(>[(+)*6[-].])*-1 08:58:50 mroman_.large_decoy: points -7.50, score 15.30, rank 37/47 (--) 08:58:55 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:58:55 mroman_.large_decoy: points -7.43, score 15.47, rank 37/47 (--) 08:59:09 !bfjoust large_decoy >(+)*16>(-)*16(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:59:11 mroman_.large_decoy: points -7.55, score 15.23, rank 37/47 (--) 08:59:19 !bfjoust large_decoy >(+)*25>(-)*25(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:59:20 mroman_.large_decoy: points -8.31, score 14.87, rank 39/47 (-2) 08:59:26 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:59:27 mroman_.large_decoy: points -7.43, score 15.47, rank 37/47 (+2) 09:28:28 -!- L8D has quit (Ping timeout: 250 seconds). 10:04:03 [wiki] [[Special:Log/newusers]] create * ChristeShannon * New user account 10:22:58 -!- boily has joined. 11:06:29 -!- GeekDude has joined. 11:07:31 -!- Melvar has joined. 11:11:14 hm 11:11:25 !blsq_uptime 11:11:26 2d 4h 1m 3s 11:12:22 !blsq "ChristeShannon")**)b2\[ 11:12:24 "1000011110100011100101101001111001111101001100101101001111010001100001110111011 11:12:31 !blsq "ChristeShannon")**)b2\[F:u[vv^^{1\/?/2\/LG}m[?*++ 11:12:31 0.9755259511264973 11:13:09 !blsq "aaaaaaaaa")**)b2\[F:u[vv^^{1\/?/2\/LG}m[?*++ 11:13:10 0.9852281360342514 11:13:13 weird 11:13:32 !blsq "aaaaaaaaa"F:u[vv^^{1\/?/2\/LG}m[?*++ 11:13:33 0.0 11:13:41 !blsq "ChristeShannon"F:u[vv^^{1\/?/2\/LG}m[?*++ 11:13:41 3.324862957617355 11:13:52 !blsq "Nqn87SQA"F:u[vv^^{1\/?/2\/LG}m[?*++ 11:13:52 3.0 11:14:05 who is Christe Shannon? 11:14:17 a new user on esolang org 11:14:35 oh, right. we do have a wiki. 11:14:44 -!- Sorella has joined. 11:15:24 !blsq "Nqn87SQA"F:u[vv^^{1\/?/l2}m[?*++ 11:15:24 3.0 11:15:34 -!- Sorella has quit (Changing host). 11:15:34 -!- Sorella has joined. 11:15:39 !blsq "Nqn87SQA"F:u[vvJ{1j?/l2}m[?*++ 11:15:40 3.0 11:16:09 How do these password entropy calculations work? 11:16:12 they are not shannon entropy? 11:16:22 !blsq "abcdefg"F:u[vvJ{1j?/l2}m[?*++ 11:16:22 2.807354922057604 11:16:29 ^- pretty much the same entropy as 11:16:38 !blsq "0bCdef!"F:u[vvJ{1j?/l2}m[?*++ 11:16:38 2.807354922057604 11:18:08 !blsq "0bCdef!"F: 11:18:08 {{0.14285714285714285 'f} {0.14285714285714285 'e} {0.14285714285714285 'd} {0.1 11:18:10 !blsq "0bCdef!"F:u[ 11:18:10 {'f 'e 'd 'b 'C '0 '!} 11:18:16 !blsq "0bCdef!"F:u[#s 11:18:16 {{'f 'e 'd 'b 'C '0 '!} {0.14285714285714285 0.14285714285714285 0.1428571428571 11:18:22 hm 11:18:27 > 1 / 7 11:18:29 0.14285714285714285 11:18:30 !blsq "0bCdef!"F:)[- 11:18:30 {{'f} {'e} {'d} {'b} {'C} {'0} {'!}} 11:18:37 !blsq "0bCdef!"F:)-] 11:18:38 {0.14285714285714285 0.14285714285714285 0.14285714285714285 0.14285714285714285 11:18:53 !blsq "0bCdef!"F:)-]J{1j?/l2}m[?*++ 11:18:53 2.807354922057604 11:21:01 !blsq "hunter2"F:)-]J{1j?/l2}m[?*++ 11:21:01 2.807354922057604 11:21:14 > 2.807 / 7 11:21:16 0.40099999999999997 11:21:32 0.41. there is your answer there. 11:21:43 * boily is going to think about the question while shampooing his hair 11:22:01 -!- boily has quit (Quit: OXYDOREDUCTING CHICKEN). 11:22:55 so 11:23:21 !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[#S 11:23:22 7 11:23:27 !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++#s 11:23:28 {2.807354922057604 "hunter2"} 11:23:34 !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[#s 11:23:35 {7 2.807354922057604} 11:23:38 !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[?/ 11:23:38 0.4010507031510863 11:24:02 !blsq "mOarSecUR_*EpasswordZ!"^^F:)-]J{1j?/l2}m[?*++jL[?/ 11:24:03 0.19030474299591013 11:24:15 ^- so... this is pretty insecure then? 11:25:02 -!- L8D has joined. 11:29:18 that isn't a terribly good password 11:29:33 -!- L8D has quit (Ping timeout: 260 seconds). 11:29:42 it's three dictionary words with a bit of case/spelling wteaking and a very small number of symbols 11:29:47 I wouldn't use it 11:29:57 I only use 6 char passwords anyway 11:30:07 and only lowercase letters 11:30:22 simply because 11:30:38 sites nowadays suggest using at least one uppercase letter, one digit and one symbol 11:30:57 so as a password cracker you can assume that there's at least one uppercase letter, one digit and one symbol 11:31:02 I hope you don't have a bank account. 11:31:10 which means you can rule out any combinations of lowercase letters only 11:31:24 okay I assume this is just a bad joke 11:31:34 the size of the set of all variations of lowercase,uppercas,digit and symbols is much larger 11:31:52 than the set of variations of that but with the constraint that every element needs to have a digit a symbol and an uppercase letter 11:31:55 -!- idris-bot has joined. 11:32:22 So I don't see why "qhtnbz" is less secure than "qHt)(7" 11:33:08 I mean, it is less secure if an attacker only tries lowercase passwords 11:33:27 They do. 11:33:40 but if attackers switch to only testing combinations with at least one digit and one upper case letter and one symbol 11:33:52 you're better of using "abcdahenotuaaexa" as your password 11:33:55 *off 11:34:50 password crackers tend to assume that most people use bad passwords, like you. 11:34:59 > 26^6 11:35:00 308915776 11:35:02 you make it nice and easy for them. 11:35:04 > 2^32 11:35:06 4294967296 11:35:11 Just sayin' 11:35:38 mroman_: why not give me an SHA-256 hash of your freenode password? 11:35:52 presumably you have nothing to worry about 11:36:04 6-byte lowercase passwords can be brute forced in about one millisecond 11:36:20 (consider that people are rather likely to already have hashes -- if not plaintexts -- of your passwords, thanks to widespread database compromises) 11:36:52 I can give you the hash of my root password 11:37:01 > 2^32 - (26+10)^6 11:37:03 2118184960 11:37:39 > 2^32 - (26+10+32)^6 11:37:41 -94572515328 11:37:50 apparently there are 32 symbols on a US keyboard, who knew? 11:38:12 8fc56e2acf7c40526fc7060b52c54f1a24e9778d 11:38:25 elliott: time to design an esolang 11:38:44 mroman_: what hash function is that? 11:39:01 sha-1? 11:39:53 anyway I'm going to assume that since it's your root password you don't use six lowercase letters for it and that's why you're comfortable giving it. 11:40:22 Or root logins are disabled 11:41:17 I assign Jafet to do the quick enumeration to check :p 11:41:49 The length matches SHA-1. 11:43:07 mroman_: anyway, read http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/ or whatever 11:43:30 or just wait for your accounts to get compromised and take that as a lesson 11:43:48 mroman_: hell, it's right there: "True to that pattern, Gosney's first stage cracked 10,233 hashes, or 62 percent of the leaked list, in just 16 minutes. It started with a brute-force crack for all passwords containing one to six characters, meaning his computer tried every possible combination starting with "a" and ending with "//////." " 11:44:10 bam, you just lost your passwords, even if you included numbers and symbols 11:44:18 [wiki] [[Special:Log/newusers]] create * JavierRojas * New user account 11:44:41 ...I don't know why I'm arguing this at all. 11:45:21 @tell oerjan That sounds like a HASSLE. (But in theory, sure.) 11:45:21 Consider it noted. 11:46:09 elliott_: 6 char passwords with all printable ascii chars can be cracked in 13 minutes on a standard modern machine 11:46:26 so if you have a machine for cracking 11:46:28 ... 11:46:29 it's way less than 13 minutes 11:46:42 ...is this meant to be a defence of 6 char passwords? 11:46:47 I'm intensely confused. 11:47:29 am I being trolled here. be honest. 11:49:48 There's also a freely available and reasonably small rainbow tables e.g. for sha1 hashes of all 1-10 letter lowercase-alphabetic-plus-digits passwords. 11:50:19 Maybe 587 gigabytes doesn't quite qualify as "reasonably small", but anyhow. 11:50:21 elliott_: sha-1 yes 11:50:27 @what hash function is that 11:50:37 that's... no longer the question I most want an answer to at this point. 11:52:10 well which question do you want answered? 11:52:21 let's say, my last two. 11:53:20 My bank account has two factor authentication 11:53:51 okay, so the answer to my last question is "yes" 12:01:57 but my real bank account password is 9 characters 12:03:39 ...really??? 12:03:56 do you just like losing all your money 12:08:30 hm? 12:08:34 9 is pretty good I think 12:08:43 it takes what 12:08:49 days to crack it if you have the hash locally 12:09:21 which you don't 12:10:16 of course, the official recommendation is using a length of 20 12:10:47 >_< 12:11:03 but I'm much more worried about a trojan sniffing my password rather than somebody actually brute-forcing it 12:11:20 especially because brute-forcing against online banking takes much much longer than a hash locally 12:11:28 please. never find yourself in a position of power or trust over others. other than that, do whatever. 12:11:40 I'm working in IT Security ;) 12:12:10 I... really hope you're joking. 12:14:04 No. 12:14:10 I'm really working in IT Security 12:14:21 * elliott_ sobs 12:14:45 Currently I'm working on privacy preserving attribute based credential systems 12:15:06 I give up. the universe wins. 12:15:26 But that doesn't mean I use a password of length 20 for my bank account 12:17:58 If anybody steals my money it's either on the street or because of a mitm-trojan that bypasses two factor authentication 12:19:10 How long is your bank account password? 12:19:12 http://youtu.be/boEb8zKfPBo | http://www.imdb.com/title/tt3514324/reviews?ref_=butt 12:19:38 I agree that 2FA makes your bank account comfortably secure. 12:19:45 I expect you to use a master-password and derive other passwords from it. 12:19:47 ...that doesn't mean you're not hopelessly wrong about password security. 12:19:51 that's how I'd do it. 12:20:13 my bank account password is 20 characters long because that is the limit. 12:20:39 Hash(hash("ebay") ++ hash("mysecretpassword")) 12:20:40 it is not derived from a master password (IIRC there are some potential security pitfalls with that in terms of leaking information about the master password); it is randomly generated. 12:20:43 something like that 12:21:17 anyway that system is useless if you want to periodically change your passwords. 12:21:25 since you need state anyway (a counter). 12:21:49 change the masterpassword periodically? 12:21:52 no. 12:21:55 the site passwords 12:22:10 the site passwords is derived from the masterpassword 12:22:16 ... 12:22:24 talking to you is frustrating. 12:22:27 sitePassword = hash(hash(site) + hash(masterpassword)) 12:22:32 that's what I meant 12:22:38 elliott_: So as the master password changes, so do the site passwords. 12:22:42 yes, I know what you meant. 12:22:59 Melvar: okay, but I'd rather not have to change every single one of my passwords all at once. 12:23:05 that's effort. 12:23:20 Melvar: and I also don't see the benefit in changing the master password very regularly 12:23:25 You can embed a counter if you want 12:23:37 I don't know how secure hash(hash(counter) + hash(site) + hash(master)) is 12:23:45 mroman_: at that point you need to remember/store the counter; the system is no longer stateless. so just randomly generate passwords and store them encrypted. 12:24:27 so 12:24:33 you encrypt all passwords with the same key? 12:25:42 I randomly generate all my passwords, and store them encrypted with a strong master password, yes. 12:26:43 anyway, you should at least use a proper KDF rather than hash and ++ like that 12:27:55 I'm no security expert btw. 12:28:06 I didn't study security nor cryptology nor anything like that. 12:28:11 you didn't have to tell me that. (neither am I) 12:29:22 can you do replay attacks on ssl? 12:31:20 I guess in very bad circumstances it can be done 12:36:46 -!- Guest82163 has changed nick to paul2520. 12:37:02 -!- paul2520 has quit (Changing host). 12:37:02 -!- paul2520 has joined. 13:00:29 -!- L8D has joined. 13:10:20 -!- sebbu has quit (Ping timeout: 260 seconds). 13:10:54 `learn mroman is a leading artist in password security 13:10:56 I knew that. 13:11:08 `learn mroman_ is probably mroman but you can never be sure. 13:11:09 I knew that. 13:11:31 `? HackEgo 13:11:32 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 13:11:53 `? hax0r 13:11:54 hax0r? ¯\(°​_o)/¯ 13:12:43 `learn hax0r (see ¯\(°​_o)/¯) 13:12:46 I knew that. 13:12:50 `? ¯\(°​_o)/¯ 13:12:51 ​¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯ 13:12:51 | 13:12:52 o/`¯º 13:17:57 there should be `append_learn 13:18:03 ``ls bin/ 13:18:04 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `ls: not found 13:18:08 `run ls bin 13:18:09 ​` \ ^.^ \ ̊ \ ! \ ? \ ¿ \ @ \ ؟ \ WELCOME \ \ \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ addwep \ allquotes \ analogy \ anonlog \ as86 \ aseen \ bienvenido \ botsnack \ bseen \ buttsnack \ calc \ CaT \ catcat \ cats \ cc \ cdecl \ c++decl \ chroot \ coins \ CoInS \ complain \ complaints \ danddreclist \ define \ delquote \ 13:18:20 `run find ./ | grep learn 13:18:22 ​./bin/learn \ ./.hg/store/data/bin/learn.i \ ./.hg/store/data/test/learn.i \ ./.hg/store/data/interps/clc-intercal/_c_l_c-_i_n_t_e_r_c_a_l-_docs-1.-94.-2/doc/examples/quantum/learn.i.i \ ./.hg/store/data/wisdom/`learn.i \ ./interps/clc-intercal/CLC-INTERCAL-Docs-1.-94.-2/doc/examples/quantum/learn.i 13:18:38 `run cat bin/learn 13:18:39 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." 13:19:12 `run echo #!/bin/bash > bin/append_learn 13:19:13 No output. 13:19:17 `run cat bin/? 13:19:17 exec bash -c "$1" \ echo hi \ #!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG"#!/bin/sh \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/nooodl/;s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "$topic1" = "ngevd" \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ 13:19:57 `run rm bin/append_learn 13:19:58 rm: cannot remove `bin/append_learn': No such file or directory 13:20:14 `run ls bin/a* 13:20:16 bin/aaaaaaaaa \ bin/addquote \ bin/addwep \ bin/allquotes \ bin/analogy \ bin/anonlog \ bin/as86 \ bin/aseen 13:21:07 `run echo "echo \$//" > test 13:21:09 No output. 13:21:11 `run cat test 13:21:12 echo $// 13:21:18 `run bin/bash test 13:21:18 bash: bin/bash: No such file or directory 13:21:22 `run ./bin/bash test 13:21:22 bash: ./bin/bash: No such file or directory 13:21:27 `run bash test 13:21:27 ​$// 13:21:42 `run echo "echo *\$" > test 13:21:43 No output. 13:21:44 `run bash test 13:21:45 ​*$ 13:21:47 `run bash test wo 13:21:48 ​*$ 13:21:55 my lack of bash knowledge is bad :D 13:22:17 `run rm test 13:22:18 No output. 13:22:39 `run cat bin/learn 13:22:40 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." 13:24:29 `fetch http://codepad.org/PW0O3FBY/raw.txt 13:24:30 2014-09-26 13:23:46 URL:http://codepad.org/PW0O3FBY/raw.txt [132/132] -> "raw.txt" [1] 13:24:56 `run mv raw.txt bin/learn_append 13:24:57 No output. 13:25:01 `run chmod +x bin/learn_append 13:25:02 No output. 13:25:07 `? test 13:25:08 test? ¯\(°​_o)/¯ 13:25:13 `learn test is a test 13:25:15 I knew that. 13:25:26 `learn_append test It's also not a test. 13:25:27 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: /hackenv/bin/learn_append: /bin/bash^M: bad interpreter: No such file or directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/learn_append: Success 13:25:37 grah 13:26:11 `run sed -e '/^M/d' bin/learn_append > bin/learn_append 13:26:13 No output. 13:26:15 `learn_append test It's also not a test. 13:26:16 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/learn_append: Success 13:26:31 `? test 13:26:32 test is a test 13:26:46 `cat bin/learn_append 13:26:46 No output. 13:26:51 `run cat bin/learn_append 13:26:53 No output. 13:26:56 what 13:27:19 `run ls bin/learn_* 13:27:20 bin/learn_append 13:27:23 damn 13:29:23 -!- zolbap has joined. 13:32:45 -!- FreeFull has joined. 13:34:06 `learn test Hi. 13:34:08 I knew that. 13:34:13 `learn_append test Bye. 13:34:14 I knew that. 13:34:17 `? test 13:34:17 test Hi. \ Bye. 13:37:25 `run curl 13:37:26 curl: try 'curl --help' or 'curl --manual' for more information 13:38:07 -!- MoALTz has joined. 13:38:14 `run curl -x POST http://eso.mroman.ch/cgi/burlesque.cgi 13:38:15 curl: (5) Couldn't resolve proxy 'POST' 13:38:21 `run curl -X POST http://eso.mroman.ch/cgi/burlesque.cgi 13:38:22 curl: (7) couldn't connect to host 13:40:40 !blsq "Hi\r\nthere\r\n"{**13/=}f[ 13:40:40 "Hi\r\nthere\r\n" 13:41:51 !blsq "Hi\r\nthere\r\n"{**13!=}f[ 13:41:52 "Hi\nthere\n" 13:41:55 :D 13:41:57 !blsq /= 13:41:58 ERROR: Unknown command: (/=)! 13:42:07 I like how ERROR-Values evaluate to true 13:42:11 !blsq /=ck 13:42:12 ERROR: Burlsque: (n!) Invalid arguments! 13:42:53 -!- Patashu has quit (Ping timeout: 240 seconds). 13:43:17 !blsq {1 0 2 0}{}f[ 13:43:17 {1 2} 13:44:39 !blsq {1 0 2 0}q f[ 13:44:39 {f[} 13:46:27 -!- sebbu has joined. 13:56:46 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 14:17:53 https://bitbucket.org/mroman_/emulathor/src/fc48fe22fdade5777099eea372e5f06e2b4d2b2b/src/rlang/std/string.rl?at=master#cl-65 14:17:56 wtf did I do there 14:23:49 IF (strlen [ src; ] != strlen [ dst; ]) THEN looks inefficient 14:24:08 -!- sebbu3 has joined. 14:24:35 Perhaps you expected Pascal strings instead. 14:25:18 -!- sebbu2 has joined. 14:26:26 I'm still a huge fan of the syntax though 14:26:40 -!- Phantom_Hoover has joined. 14:26:50 -!- Phantom_Hoover has quit (Changing host). 14:26:51 -!- Phantom_Hoover has joined. 14:26:54 -!- sebbu has quit (Ping timeout: 246 seconds). 14:27:26 -!- sebbu has joined. 14:28:02 -!- sebbu has quit (Changing host). 14:28:03 -!- sebbu has joined. 14:28:46 -!- sebbu3 has quit (Ping timeout: 250 seconds). 14:29:38 -!- sebbu2 has quit (Ping timeout: 250 seconds). 14:37:09 It's a clean readable not to pascal-ish syntax 14:49:22 -!- perrier has quit (Remote host closed the connection). 14:56:36 [wiki] [[Special:Log/newusers]] create * DeenaQKZuynoiz * New user account 14:59:41 -!- perrier has joined. 15:22:04 -!- drdanmaku has joined. 15:25:47 -!- perrier has quit (Remote host closed the connection). 15:27:51 -!- perrier has joined. 15:29:35 -!- zolbap has quit (Quit: Leaving). 15:34:11 -!- L8D has quit (Remote host closed the connection). 15:38:00 -!- FreeFull has quit (Quit: BBL). 15:42:17 -!- ais523 has joined. 15:47:15 -!- AnotherTest has joined. 15:47:31 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 15:48:00 -!- sebbu has quit (Ping timeout: 272 seconds). 15:55:34 -!- sebbu has joined. 15:56:11 -!- sebbu has quit (Changing host). 15:56:11 -!- sebbu has joined. 16:01:26 hello 16:01:45 what kind of strings does pascal have 16:02:43 length+pointer IIRC. 16:02:45 quintopia: "pascal strings" normally refers to strings where the first byte gives the length 16:02:49 and the others are the content 16:03:05 length+pointer is Rust strings; it's less efficient than C or Pascal strings but it has very cheap slicing 16:03:10 Oh, length inline? 16:03:21 Never heard of that idea before. 16:03:37 it died out, and probably for a good reason 16:04:45 Yeah, it precludes not only general slicing, but tailtaking which even null-terminated strings allow. 16:07:53 tromp: haskell@ is for announcements, not for jokes. It's meant to be low-volume. You can always send comments like that to -cafe@ 16:08:17 -!- Phantom_Hoover has quit (Remote host closed the connection). 16:10:50 -!- Phantom_Hoover has joined. 16:12:04 shachaf: ok, will restrain myself in future 16:16:47 #esoteric is for ... 16:19:26 -!- shikhin has joined. 16:26:36 The Internet is for... 16:27:44 #esoteric is the international hub for esoteric programming language design, development and deployment 16:31:37 how about BANCStar strings? 16:31:43 are those efficiently slicable? 16:32:05 I don't know BANCStar 16:34:10 I don't know how it is internally implemented, but I know a MID$ function is available; one BANCStar program uses it on a string containing the entire alphabet simply to assign "N" to a variable. I suppose other methods of doing so aren't available for some reason? 16:34:17 ?messages-loud 16:34:17 Sgeo asked 3d 13h 33m 30s ago: Do you have opinions on the speed of various interpreters? Supposedly this game is very impacted by such things http://emshort.wordpress.com/2012/12/31/counterfeit-monkey/ 16:34:17 mroman_ said 2d 6h 48m 29s ago: zzo38computer.org is pretty much unreachable. 16:34:31 zzo38: BANCStar doesn't have constants 16:35:13 it does have small integer constants 16:35:24 or not? 16:35:35 I don't think so 16:35:36 let me check the wiki page 16:35:41 maybe I remembered wrong, though 16:35:45 Yes, I suppose you are right; actually there are string constants but they have to take up part of the same space used for variables, which is limited to 2000. And yes there are integer literals. 16:35:49 here, it allows literal integers http://esolangs.org/wiki/BANCStar#Arithmetic_instructions 16:36:50 Also, the IP address for zzo38computer.org has been changed recently; try again. 16:38:15 zzo38: what was the TTL set to on the old domain? 16:38:31 changes won't get through to other people's computers until after the TTL expires 16:38:38 so, say, if it was a month 16:38:44 C++ strings best strings 16:38:54 then other people's compuers won't know about the new IP for up to a month 16:38:56 *computers 16:39:07 length + pointer, except for when they're short, in which case they're length + data 16:39:16 the distinction is made in the low bits of the pointer 16:40:26 ais523: I do not know what the TTL was set to; I don't have control over that; I only tell someone else to update it for me, and they then do so. 16:41:07 I have dyndns set up for my home domain 16:46:21 About the speed of the "Counterfeit Monkey" game, well, it is compiled using Inform7, which is known to be pretty bad at optimization and produces slow programs. It is also Glulx, which probably will run slower than Z-machine code anyways (although it does have some ultra-CISC instructions to speed up some normally slow things) 16:49:38 Does the "M" in "M-theory" stand for a word that hasn't been invented yet (but is known ahead of type to start with "M")? 16:50:44 -!- conehead has joined. 16:52:45 phew, I thought I'd accidentally set the TTL for motd.nethack4.org to 10 months 16:52:48 turns out it was 10 minutes 16:59:45 -!- mroman2 has joined. 16:59:54 interesting stuff going on 16:59:57 !blsq_uptime 16:59:57 2d 9h 49m 35s 17:00:02 ok 17:00:05 now 17:00:35 How can I get blsqbot to tell me his IP address 17:00:50 `run nslookup mroman.ch 17:00:51 bash: nslookup: command not found 17:01:05 dns is b0rken right now 17:02:33 ais523, hey, what's the deal with this nethack update business 17:02:55 Phantom_Hoover: some source code that wasn't intended to be public got leaked 17:05:42 Over the years I have found the following methods of logging out. None of them is guaranteed to work 17:05:48 * ais523 is trying to get a module onto CPAN 17:06:02 also, they threatened to spend up to a week to approve my account, three during holidays 17:06:14 but that only took like 10-20 minutes 17:07:59 ah 17:08:36 I'm back 17:08:45 -!- mroman2 has quit (Quit: Page closed). 17:09:32 "The new data are registered in table users." 17:09:43 had to read that a few times before I realised it was correct grammar 17:11:50 so incidentally 17:11:58 how long has this bash bug been around? 17:12:08 i saw some suggestions that it's been there since essentially the beginning 17:12:52 No action is required, but it would be a good idea if somebody would check the correctness of the new password. 17:13:02 this is the most awesome package manager ever 17:13:32 What package manager is that? 17:13:45 PAUSE is the backend to CPAN 17:14:01 I guess having a different name for the frontend and backend is also something unique to PAUSE/CPAN 17:14:15 dpkg/apt 17:16:13 Gregor: no, that's a little different 17:16:17 it's more like Debian/apt 17:16:25 but not exactly 17:16:36 basically, PAUSE is where you upload the packages, CPAN does the downloading 17:27:08 Do you know, people on NESdev argue about assigning a mapper number for Game Genie; I have also requested numbers for UNL-DripGame and other things too and it hasn't been done yet. Do you have any opinions about this too though? 17:30:34 These are the messages: http://forums.nesdev.com/viewtopic.php?f=3&t=11659 Maybe someone other than the people on NESdev would be possible to comment on it somehow 17:31:14 Phantom_Hoover: I saw somewhere the figure of 25 years. 17:31:27 yes, that would be essentially the beginning 17:39:39 lol, unicode has a ∰ character 17:41:01 ais523: nethack devteam code? 17:41:19 elliott_: yes 17:41:27 ais523: any links to details 17:41:35 this sounds exciting 17:41:44 front page of nethack.org has a statement about it, although not the code itself 17:41:58 I know where to find the code, but don't really want to spread links to it around, on the basis that the devteam didn't want it released 17:42:04 it's mostly bugfixes, though 17:42:10 and bug introductions 17:42:11 you think the devteam want you calling your release nethack 4? 17:42:41 also, who would leak nethack source, of all things? it's been 11 years 17:42:47 elliott_: they're aware of the name, and haven't objected 17:43:08 elliott_, changelog here: http://pastebin.com/raw.php?i=djZ5X2Hz 17:43:21 Phantom_Hoover: well, okay, but where was it leaked? usenet? 17:44:18 that's all i have, i'm afraid 17:45:23 "We know who made it available to the public. What we don't know is where exactly he got his copy; although the list of people who could have given it to him is fairly short." nethack secrets... 17:47:11 -!- newsham has joined. 17:47:45 hmm, so I guess the dev who leaked it is probably no longer on the devteam 17:48:16 Do you know when it is supposed to be released? 17:48:26 zzo38: there isn't an official release date, there never is 17:48:33 they have a policy of never officially setting a release date 17:48:37 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 17:48:45 they also have a policy of never officially releasing 17:54:34 -!- zemhill has quit (Remote host closed the connection). 17:54:59 -!- zemhill has joined. 17:55:49 -!- shikhout has joined. 17:56:17 !bftest this_will_not_modify_hill < 17:56:26 Whoops, I forgot to modify the config file again. 17:56:28 Every time same thing. 17:56:50 -!- zemhill has quit (Remote host closed the connection). 17:57:14 -!- zemhill has joined. 17:57:17 !bftest this_will_not_modify_hill < 17:57:17 fizzie: I broke down! Ask fizzie to help! The details are in the log! 17:57:18 -!- zemhill has quit (Client Quit). 17:57:19 ... 17:57:28 It worked when I tried it locally, honest. 17:57:50 i must say, it's nice that it tells you it's breaking isntead of just quitting 17:58:09 That's mostly so that (because my nick is in the message) I'll notice something bad has happened. 17:58:27 It could put something in the quit message. 17:58:47 It does, but for some reason it doesn't show up. 17:58:56 -!- shikhin has quit (Ping timeout: 250 seconds). 17:59:13 It tries to quit with "Abandon ship, abandon ship!" as the message. 17:59:37 Seems to have crashed in write_breakdown. 17:59:47 fizzie: possibly a race condition; are you waiting for the ERROR response before actually closing the connection? 18:00:18 That's up to the bot framework, really. 18:00:28 Perhaps it doesn't. 18:00:52 There is something wrong with the speakers in my computer; sometimes it just makes a lot of noise 18:01:11 isn't making a lot of noise what speakers are /supposed/ to do? 18:01:30 controlled noise. 18:02:01 I mean it makes noise without being commanded by the computer; it is just a lot of cracks and pops and stuff 18:02:13 hey ais523 18:02:28 hi 18:02:40 didn't you once write a warrior that tried to figure out an optimal offset? 18:02:57 yes, decoytuner, but it was awful 18:03:13 how did you go about it 18:03:24 basically assuming all the opposing decoys were the same size 18:03:32 ah 18:03:34 and measuring the first large one 18:03:42 that would work a lot better on the current hill i think :P 18:03:51 there was a second attempt, told, that I never submitted 18:03:52 -!- zemhill has joined. 18:03:55 !bftest this_will_not_modify_hill < 18:03:55 fizzie.this_will_not_modify_hill: points -46.00, score 0.00, rank 47/47 18:04:03 which tried to estimate the size of the decoys via the number of cycles before the opponent started attacking 18:04:08 I couldn't get it to work at all 18:04:10 Feel free to keep using it "normally" too, but if you don't want all parameter tunings end up on the hill, the !bftest command is also an option; you can then !bfjoust when you're happy with it. (Also if you !bftest in a query, it won't post the result on #esoteric.) 18:04:11 fizzie: oh neat 18:05:15 Inspired by few hundred overnight commits that, while in theory part of the Historical Record, are perhaps not all *that* useful for future BF Joust historians. 18:05:19 ais523: did you ever try to measure the first large decoy, use that offset until it didn't work, assume the offset should be larger and measure again? 18:05:20 -!- shikhout has changed nick to shikhin. 18:05:36 -!- ais523 has quit (Read error: Connection reset by peer). 18:05:39 -!- callforjudgement has joined. 18:05:53 are you nomicking too 18:06:02 quintopia: was that directed at me? 18:06:09 yes 18:06:20 sometimes i get the idea that's the main reason you irc 18:07:09 I do play nomic, but I don't IRC for nomic purposes; ##nomic is almost dead nowadays 18:07:12 -!- callforjudgement has changed nick to ais523. 18:07:30 not that I wouldn't join in a conversation there if one happened 18:07:38 but nomic is a very small consideration for me when choosing whether to join IRC 18:07:45 most of my IRCing is NetHack-related atm 18:07:51 although I just spent a while in #perl talking about my memory profiler 18:12:28 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*4(>[(+)*6[-].])*-1 18:12:28 mroman_.lilfuckabish: points -9.90, score 13.92, rank 46/47 18:13:10 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*3(>[(+)*6[-].])*-1 18:13:11 mroman_.lilfuckabish: points -12.00, score 12.72, rank 47/47 (-1) 18:13:14 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 18:13:15 mroman_.lilfuckabish: points -9.17, score 14.32, rank 45/47 (+2) 18:15:29 ais523: did you ever try to measure the first large decoy, use that offset until it didn't work, assume the offset should be larger and measure again? 18:15:44 quintopia: no, especially because that program would be very large 18:15:59 also, something to note: if a decoy is 86 or larger, you don't gain at all even from a correct offset 18:16:06 assuming that you can't also predict the parity 18:16:16 (you shouldn't be able to predict the parity against a well-written program) 18:16:36 i'd think if you could measure decoys, you could just say "switch to reverse offset clear" at that point 18:16:43 and polarity wouldn't matter 18:17:16 is there no compact way to measure decoys under the assumption that they always increase in size? 18:17:20 quintopia: actually, something I've been thinking about a lot recently 18:17:23 *do not decrease 18:17:34 is that once you find a large decoy, there's normally nothing but large decoys from there 18:17:41 and if they're large enough, reverse offset clear is fastest 18:17:52 so long as the offset's less than the size of the deocy 18:17:55 *decoy 18:18:23 yeah this would be the sane way to handle something like preparation too. there's no way to avoid chewing through lots of decoys there, so might as well be the fastest at it 18:18:51 also i think you should submit preparation to the stackoverflow hill just for funsies 18:19:15 quintopia: monolith was born when I realised you could beat preparation just by setting more than 7 decoys and having an equally good clear loop 18:19:22 and I don't have a stackoverflow account 18:19:37 i think i might... 18:19:59 submit space_hotel (although, might want to screw with it to beat nyuroki first) 18:20:27 well that's why we're discussing offset tuning :P 18:20:54 actually, i don't really want to submit space_hotel 18:21:01 it's time to try new things 18:23:22 I did try adding a /small/ reverse offset clear (as in, (+)*5[+]) to one of my programs after the early timer had expired 18:23:25 but it did terribly 18:23:36 I think because there are still several programs that don't decoy all the way to their flag 18:26:53 -!- ais523 has quit. 18:27:09 -!- ais523 has joined. 18:27:44 hmm 18:30:01 isn't the SO hill ridiculously buggy? 18:30:03 -!- SvenGek has joined. 18:30:03 or did Lymia fix the bus 18:30:04 bugs 18:31:09 it didn't accept ()% last I looked, not sure if it does now 18:31:33 i'm not sure if there is a way for space_hotel to beat nyuroki. 18:32:42 -!- sebbu has quit (Ping timeout: 245 seconds). 18:34:16 the only thing i can think of is adjust the polarity of decoys 18:34:33 which would take a lot of work since space_hotel has no script to generate it 18:35:12 but having the last two decoys go in opposite directions might improve things slightly 18:36:51 also maybe using your idea of having the offset be smaller depending on when the enemy is first seen on my side and how far away they were first seen on their side 18:40:14 there are some tape lengths where nyuroki wins by leaving a trail that happens to be the same as space_hotel's tripwire 19:01:17 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*30>(-)*30)*4(>)*5(>[(+)*6[-].])*-1 19:01:17 mroman_.lilfuckabish: points -11.62, score 12.57, rank 47/47 (-2) 19:01:26 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:01:26 mroman_.lilfuckabish: points -9.17, score 14.32, rank 45/47 (+2) 19:01:35 !bfjoust lilfuckabish (>++)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:01:35 mroman_.lilfuckabish: points -5.76, score 16.70, rank 33/47 (+12) 19:01:44 !bfjoust lilfuckabish (>+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:01:45 mroman_.lilfuckabish: points -4.02, score 17.96, rank 26/47 (+7) 19:01:58 !bfjoust lilfuckabish (>)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:01:58 mroman_.lilfuckabish: points -2.05, score 19.77, rank 21/47 (+5) 19:02:26 interesting 19:02:41 !bfjoust lilfuckabish (>)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:02:41 mroman_.lilfuckabish: points -22.74, score 6.96, rank 47/47 (-26) 19:02:44 !bfjoust lilfuckabish (>)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:02:44 mroman_.lilfuckabish: points -2.05, score 19.77, rank 21/47 (+26) 19:04:18 !bfjoust lilfuckabish (>)*9([-]>)*3(<-)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:19 mroman_.lilfuckabish: points 1.52, score 23.07, rank 11/47 (+10) 19:04:26 !bfjoust lilfuckabish (>)*9([-]>)*3(<---)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:27 mroman_.lilfuckabish: points 1.12, score 22.48, rank 15/47 (-4) 19:04:31 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:32 mroman_.lilfuckabish: points 1.83, score 23.30, rank 11/47 (+4) 19:04:44 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:44 mroman_.lilfuckabish: points 2.40, score 23.89, rank 10/47 (+1) 19:04:52 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<--)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:52 mroman_.lilfuckabish: points 1.67, score 23.01, rank 11/47 (-1) 19:05:00 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:05:00 mroman_.lilfuckabish: points 2.40, score 23.89, rank 10/47 (+1) 19:08:22 beats growth and nyuroki 19:08:27 I'm quite happy with that 19:10:43 -!- callforjudgement has joined. 19:11:04 -!- ais523 has quit (Disconnected by services). 19:11:06 -!- callforjudgement has changed nick to ais523. 19:15:07 mroman_: In case you didn't notice, I added a !bftest command that you can use if you want to 'quietly' do parameter tuning before submitting. (If you noticed but just want to do it the old-fashioned way, that's perfectly fine.) 19:17:45 -!- TieSoul_ has joined. 19:18:56 -!- TieSoul_ has quit (Remote host closed the connection). 19:18:58 also, you could pick a better program name than lilfuckabish 19:19:02 -!- TieSoul has quit (Ping timeout: 245 seconds). 19:19:26 -!- TieSoul has joined. 19:34:25 -!- Sorella has quit (Ping timeout: 260 seconds). 19:36:42 -!- Sorella has joined. 19:37:31 -!- Sorella has quit (Changing host). 19:37:31 -!- Sorella has joined. 19:38:55 ais523: does the leaked NH have that one feature that was known to appear in the next version? 19:39:09 I would be very surprised if it didn't 19:39:11 do you want me to check? 19:39:34 yes, just because that'd be hilarious 19:39:48 finally we can experience the first nethack feature in 11 years 19:40:09 yes, it does 19:40:19 however, at least one of the variants already implemented it before the leak 19:40:24 purely based on the fact it was known to exist 19:40:33 but does it behave identically?? 19:40:51 who knows; I'm not going to check that 19:41:00 as it'd require actually understanding the code in both ases 19:43:21 you should only have code in one ass at a time. 19:43:44 *cases 19:50:58 -!- Bicyclidine has joined. 19:51:54 If you copy code to multiple asses, do you have a posterior distribution 19:52:12 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 19:52:12 mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (+1) 19:52:15 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*9[-].])*-1 19:52:16 mroman_.lilfuckabish: points 3.12, score 24.56, rank 9/47 (--) 19:52:20 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 19:52:21 mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (--) 19:52:24 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-]])*-1 19:52:24 mroman_.lilfuckabish: points 4.02, score 25.40, rank 9/47 (--) 19:52:28 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 19:52:29 mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (--) 19:57:08 this is actually pretty good 19:57:20 you rush forward and perform a clear of some cells 19:57:25 works good on short tapes 19:57:29 -!- InputUsername has joined. 19:57:35 in case the tape is longer you go back into a decoy setup 19:57:44 followed by another whole-tape-offset-clear 19:59:38 how is furry_furry_strapon_pegging_girls still alive and kicking years later? 19:59:45 it's a good program 20:00:00 it's one of the longest-living ones on the hill now, surely? 20:00:13 * Bicyclidine salutes 20:00:43 elliott_: allegro/pendolino have been there for ages 20:01:28 I don't wanna know what he encoded in b64 there 20:01:48 the generator program 20:02:59 -!- InputUsername has left. 20:03:49 ais523: The trains are now gone, actually. 20:03:58 BeatYouMate lost a lot 20:04:03 I thought it was <20 once 20:05:00 how can you submit via StackOverflow? 20:05:17 ais523: pendolino was displaced by this "lilfuckabish", and allegro by a Lymia.yolo yesterday morning. 20:05:38 fizzie: well they were there for ages :-) 20:05:59 what about leviathan/juggernaught? 20:06:03 -!- idris-bot has quit (Ping timeout: 246 seconds). 20:06:15 -!- Melvar` has joined. 20:06:32 leviathan is on 22/47 20:06:43 dreadnought, leviathan and behemoth are still there. 20:06:50 Except I haven't remembered to fix their names. 20:06:56 -!- Melvar has quit (Disconnected by services). 20:06:59 -!- Melvar` has changed nick to Melvar. 20:08:30 !bfjoust lilfuckabish <. 20:08:30 mroman_.lilfuckabish: points -46.00, score 0.00, rank 47/47 (-38) 20:09:29 !bfjoust cupnoodles (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:09:30 mroman_.cupnoodles: points 4.05, score 25.47, rank 9/47 20:09:38 better name 20:12:22 -!- TieSoul has quit (Ping timeout: 245 seconds). 20:13:47 wait 20:13:52 isn't the tape at least 10? 20:13:53 so 20:13:57 -!- idris-bot has joined. 20:14:10 !bfjoust cupnoodles (>)*10([-]>)*3(<--)*3(<-)*10(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:14:11 mroman_.cupnoodles: points 2.05, score 23.17, rank 11/47 (-2) 20:14:16 !bfjoust cupnoodles (>)*10([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:14:17 mroman_.cupnoodles: points 2.02, score 23.15, rank 11/47 (--) 20:14:21 !bfjoust cupnoodles (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:14:22 mroman_.cupnoodles: points 4.05, score 25.37, rank 9/47 (+2) 20:14:27 mroman_: you start on cell 0, and if the valid tape positions are [0,9) that's 10 cells 20:14:34 ah 20:14:35 right 20:14:41 (>)*9 increments it by 9, so you end up on cell 9, which is the tenth cell 20:14:45 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:14:46 mroman_.cupnoodles: points 4.60, score 25.91, rank 9/47 (--) 20:15:08 !bfjoust cupnoodles (>)*9([-]>)*3(--<)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:15:08 mroman_.cupnoodles: points 3.74, score 25.04, rank 9/47 (--) 20:15:19 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:15:20 mroman_.cupnoodles: points 4.60, score 25.91, rank 9/47 (--) 20:16:15 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:16:16 mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (+1) 20:16:21 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*7[+].])*-1 20:16:21 mroman_.cupnoodles: points 7.26, score 29.11, rank 8/47 (--) 20:16:25 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*9[+].])*-1 20:16:25 mroman_.cupnoodles: points 7.33, score 29.23, rank 8/47 (--) 20:16:31 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:16:31 mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (--) 20:16:42 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+]])*-1 20:16:43 mroman_.cupnoodles: points 7.38, score 29.20, rank 8/47 (--) 20:16:46 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:16:46 mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (--) 20:16:57 neat 20:18:22 fizzie: I'm impressed that zemhill can immediately report the results 20:19:09 corewars hill aren't that fast 20:19:25 although part of that might be mail delay 20:25:49 -!- TieSoul has joined. 20:26:04 -!- Phantom_Hoover has joined. 20:31:08 mroman_: Well, it only takes to the order of 360 million cycles to run the whole hill, let alone just a single program (which would on average be just 15M cycles, and probably the median is smaller than the mean thanks to ais523.margins and such). 20:31:32 everyone loves margins :-) 20:34:21 I like margins 20:36:29 -!- sebbu2 has joined. 20:36:55 maybe I should enter the generator business 20:37:30 I don't use generators for most of my programs 20:37:32 but I do for some 20:38:02 entering the top 5 is going to be hard 20:39:09 !bfjoust cupnoodles (>)*9([-].>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:09 mroman_.cupnoodles: points 6.60, score 28.20, rank 8/47 (--) 20:39:28 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:29 mroman_.cupnoodles: points 9.95, score 32.82, rank 6/47 (+2) 20:39:34 or is it 20:39:39 !bfjoust cupnoodles (>)*9([(+)*9[-].]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:39 mroman_.cupnoodles: points 9.71, score 32.49, rank 6/47 (--) 20:39:48 !bfjoust cupnoodles (>)*9([(+)*10[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:49 mroman_.cupnoodles: points 9.76, score 32.54, rank 6/47 (--) 20:39:56 !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:57 mroman_.cupnoodles: points 9.95, score 32.77, rank 6/47 (--) 20:40:05 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:40:05 mroman_.cupnoodles: points 9.95, score 32.82, rank 6/47 (--) 20:40:14 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:40:15 mroman_.cupnoodles: points 10.26, score 33.01, rank 6/47 (--) 20:40:25 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*5(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:40:25 mroman_.cupnoodles: points 7.31, score 28.99, rank 8/47 (-2) 20:40:34 -!- callforjudgement has joined. 20:40:34 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:40:35 mroman_.cupnoodles: points 10.26, score 33.01, rank 6/47 (+2) 20:40:38 -!- ais523 has quit (Disconnected by services). 20:40:40 -!- callforjudgement has changed nick to ais523. 20:41:07 !bfjoust cupnoodles (>)*9([(+)*9[-]]>[(-)*9[+]]>)24(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:41:07 mroman_.cupnoodles: points -44.10, score 0.38, rank 47/47 (-41) 20:41:09 -!- sebbu2 has quit (Ping timeout: 260 seconds). 20:41:11 !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128]>[(+[{[+.]}])%128])*11 20:41:11 elliott_.loyalty: points -7.86, score 14.50, rank 44/47 20:41:17 !bfjoust cupnoodles (>)*9([(+)*9[-]]>[(-)*9[+]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:41:17 mroman_.cupnoodles: points 4.17, score 24.67, rank 9/47 20:41:22 !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128]])*21 20:41:22 elliott_: error: parse error: terminating ] without a matching [ 20:41:25 !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128])*21 20:41:25 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:41:25 elliott_.loyalty: points -13.48, score 11.43, rank 46/47 20:41:26 mroman_.cupnoodles: points 10.26, score 33.01, rank 6/47 20:41:30 it could be worse 20:41:55 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:41:55 mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--) 20:42:03 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<-+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:42:03 mroman_.cupnoodles: points 9.57, score 32.00, rank 6/47 (--) 20:42:23 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<--)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:42:24 mroman_.cupnoodles: points 9.90, score 32.49, rank 6/47 (--) 20:42:46 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:42:46 mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--) 20:42:50 k 20:42:51 -!- sebbu has joined. 20:43:02 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*9[-].]>[(-)*9[+].])*-1 20:43:03 mroman_.cupnoodles: points 10.62, score 33.48, rank 6/47 (--) 20:43:14 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*22>(-)*22)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:43:14 mroman_.cupnoodles: points 10.55, score 33.52, rank 6/47 (--) 20:43:15 How do function declarations (rather than definitions) work in K&R C? 20:43:25 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*15>(-)*15)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:43:26 mroman_.cupnoodles: points 9.19, score 31.87, rank 6/47 (--) 20:43:36 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:43:36 mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--) 20:43:40 comeon 20:43:43 i want rank 5 20:43:49 has anyone written a generator for that god-awful never execute a ] style? 20:44:04 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<----(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:44:04 mroman_.cupnoodles: points 10.69, score 33.66, rank 6/47 (--) 20:44:06 Oh, it's botspam o'clock again. 20:44:11 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:44:11 mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--) 20:44:16 I'm gonna stop now 20:44:20 until I have some other idea 20:45:02 elliott_: you mean [>[>[>]]] stuff? 20:45:22 like mroman_.funky? 20:45:33 bf joust is a lot more on-topic than telling people what haskell mailing lists to use 20:46:00 or telling people what articles they should correct on wikipedia 20:47:01 -!- sebbu has quit (Ping timeout: 244 seconds). 20:47:23 it's completely ontopic 20:47:37 I didn't say anything about the topic. 20:47:39 one of the few times the deployment has happened /right here in this channel/, and it inspires discussion, too 20:47:55 in case it's not clear, I'm telling you to shut up about what people use the channel for before I get annoyed enough to kick you. 20:48:18 You'll probably kick me anyway. 20:48:29 I don't expect anything less than nastiness from you at this point. I don't really know what I've done (though I have a couple of guesses) but I don't think paying attention to what you say to me will be useful. 20:48:39 I agree that telling people what to use the channel for isn't great. 20:48:51 I also agree that telling people to fix things on Wikipedia, or whatever, isn't great. 20:48:55 actually I'm just annoyed at your behaviour in the channel lately. 20:49:27 fwiw, my extended absences from the channel are normally caused by offtopic discussion I dislike 20:49:32 For the past ~year? 20:49:34 (this is the most common reason for me to leave /any/ IRC channel) 20:49:49 That is a reasonable reason to leave. 20:49:52 -!- FreeFull has joined. 20:50:50 (That wasn't a rhetorical question: I'm asking to confirm the general time interval when the annoyed-by-shachaf bit flipped in your head. Because it was fairly noticeable.) 20:52:49 -!- vyv has quit (Ping timeout: 272 seconds). 20:52:59 ok, I signed up for asking you to stop doing what you're doing, not grill me about your weird personal assumptions, so whatever 20:53:38 -!- vyv has joined. 20:54:17 !bfjoust rabbit ([>[-]]..+)*-1 20:54:19 Well, like I said, I don't expect much anyway. 20:54:36 !bfjoust rabbit ([>[-]]..+)*-1 20:54:36 mroman_.rabbit: points -30.95, score 4.50, rank 47/47 (--) 20:54:43 !bfjoust rabbit (>)*9([>[-]]..+)*-1 20:54:43 mroman_.rabbit: points -24.19, score 6.60, rank 47/47 (--) 20:54:46 !bfjoust rabbit (>-)*9([>[-]]..+)*-1 20:54:47 mroman_.rabbit: points -23.88, score 6.69, rank 47/47 (--) 20:54:53 !bfjoust rabbit (>->+)*4([>[-]]..+)*-1 20:54:53 mroman_.rabbit: points -23.45, score 6.82, rank 47/47 (--) 20:55:01 !bfjoust rabbit (>(-)*10>(+)*10)*4([>[-]]..+)*-1 20:55:02 mroman_.rabbit: points -13.90, score 11.15, rank 47/47 (--) 20:55:09 !bfjoust rabbit (>(-)*20>(+)*20)*4([>[-]]..+)*-1 20:55:09 mroman_.rabbit: points -14.48, score 11.43, rank 47/47 (--) 20:55:16 !bfjoust rabbit (>(-)*32>(+)*32)*4([>[-]]..+)*-1 20:55:16 mroman_.rabbit: points -15.00, score 11.03, rank 47/47 (--) 20:55:22 "trying to get a few words in before you're kicked" isn't a great way to formulate cohesive thoughts anyway. 20:55:25 !bfjoust rabbit (>(-)*32>(+)*32)*2>>>>([>[-]]..+)*-1 20:55:25 mroman_.rabbit: points -18.60, score 8.94, rank 47/47 (--) 20:55:32 !bfjoust rabbit (>(-)*10>(+)*10)*4([>[-]]..+)*-1 20:55:32 -!- zemhill has quit (Remote host closed the connection). 20:57:01 uh, is it not auto-restarting or is it just slow? 20:57:20 it doesn't autorestart 20:57:40 fizzie: zemhill just crashed again; suspiciously similar circumstances to the matrix segfault we had earlier 20:57:58 fizzie put an autorestart on it when it was being really crashy, I think? 20:59:09 It's supposed to autorestart. 20:59:21 Huh. 20:59:28 too many programs: 48 > 47 (RuntimeError) 20:59:48 There indeed are 48. 20:59:52 Now how'd that happen. 21:00:58 race condition? 21:01:10 "But I put in a mutex!" 21:01:57 I assume some logic broke and did not 'git rm' a file when it should have. 21:02:44 Though I don't know where. Latest non-update is 971e3e0 Replacing StackOverflow.Sylwester_TerribleThorV2 by mroman_.rabbit and that properly deletes StackOverflow.Sylwester_TerribleThorV2. 21:02:46 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 21:04:12 Okay, yes, I guess it must be a race thing, although I don't know how. 21:05:12 There's a commit that replaced mroman_.cupnoodles with elliott_.loyalty, and then right after that an edit to mroman_.cupnoodles that just created a new file. 21:07:07 -!- callforjudgement has joined. 21:07:17 -!- ais523 has quit (Disconnected by services). 21:07:19 -!- callforjudgement has changed nick to ais523. 21:08:23 fizzie: how are nested ()%s interpreted again? 21:08:40 e.g. (a(b{c{d}e}f)%mg)%n 21:09:34 -!- zemhill_ has joined. 21:09:51 elliott_: outermost % matches innermost {} 21:09:57 "abbbc abbbc abbbc d ..." and so on. Or if you mean the actual implementation, uglily. 21:09:58 however, I'm not sure all (any?) interps implement taht 21:11:42 ais523: Lymia was bugging me about not allowing e.g. (a(b{c(d{e{f}})*%1})%2)%3 so that the very innermost { would bind with the outermost ( because the middle level is "already filled". 21:11:59 fizzie: oh, there's another annoying interp bug you have 21:12:05 you treat () with nothing after them as a comment 21:12:16 which is annoyingly permissive, because such programs crash /my/ interp 21:12:20 and now I'm not sure which should change 21:12:29 (i.e. (+-+) is equivalent to (+-+)*0) 21:12:41 -!- Bicyclidine has joined. 21:12:45 Yes, I know. I think that was intentional, but I don't remember the rationale. 21:13:04 there's such a dubious comment in space_elevator 21:13:10 I actually have a local patch to remove the parens 21:13:18 annoyingly, the comment in question is "(thanks ais523)" 21:13:30 () working as a comment is kind of aesthetically pleasing. 21:13:35 !bfjoust rabbit (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*10>(-)*10)*4(>)*5([>[(+)*9[-]]]..+)*-1 21:13:35 mroman_.rabbit: points 5.40, score 26.47, rank 10/47 (+37) 21:13:42 !bfjoust rabbit <. 21:13:42 mroman_.rabbit: points -46.00, score 0.00, rank 47/47 (-37) 21:13:51 I wonder how I should poke that thing to make it notice the _ is unnecessary now. 21:14:16 Oh well, it'll segfault in the matrix lib sooner or later anyway. 21:14:29 this is an encouraging method of development :-) 21:14:58 actually, the reason I haven't set up my IRC bot for nethack4 yet is an argument over whether it should run all the time, or only when it has something to say 21:15:02 (also, I haven't written it yet) 21:15:23 really, I'd like the bot to join whenever it has something to say and it isn't already there, and stay the rest of the time 21:15:37 !bfjoust ([>[(+)*9[-]]]..+)*-1 21:15:38 mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 21:15:42 !bfjoust rabbit ([>[(+)*9[-]]]..+)*-1 21:15:43 mroman_.rabbit: points -31.55, score 4.29, rank 47/47 (--) 21:16:12 One of the authors of the library mentioned about possibly helping me to track down that bug. 21:16:14 !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]]..+)*-1 21:16:15 mroman_.rabbit: points -4.52, score 17.03, rank 31/47 (+16) 21:16:56 Also, I just switched that thing to a refactored version where there's an explicit queue of tasks (and a single thread communicating with gearlanced), hopefully that'll eliminate the races. 21:17:03 !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]].+)*-1 21:17:03 mroman_.rabbit: points -3.07, score 18.27, rank 25/47 (+6) 21:17:09 !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]]+)*-1 21:17:09 mroman_.rabbit: points -2.05, score 19.02, rank 23/47 (+2) 21:17:23 ais523: set -n on the channel and have it /msg without joining 21:17:29 I thought ]]] should be enough for wait until opponent dies 21:17:46 elliott_: huh, that's not an awful idea 21:17:52 is there a "-n exemption" mode? 21:17:57 spambots tend to really like non--n channels 21:18:01 err, non-+n 21:18:03 do they? 21:18:08 on other networks, maybe, but freenode? 21:19:08 !bfjoust rabbit <. 21:19:08 mroman_.rabbit: points -46.00, score 0.00, rank 47/47 (-24) 21:19:14 I don't want to much bots on the hill 21:19:20 It would arguably make some amount of sense if +I worked as a "can message freely" exemption, but it doesn't. 21:19:30 I guess that's not fair to have too many bots on the hill 21:19:54 -!- ChanServ has set channel mode: +o ais523. 21:19:58 -!- ais523 has set channel mode: +C. 21:20:00 -!- ais523 has set channel mode: -o ais523. 21:20:15 just realised there's a readymade solution to people running +. by mistake 21:20:28 how do I survey #esoteric client usage now? 21:20:38 ^bf +[.+] 21:20:58 RAW >>> :kornbluth.freenode.net 404 fungot #esoteric :Cannot send to channel <<< 21:20:58 fizzie: the effect of the monstrous sight was indescribable, for some peculiar atmospheric tensity made me feel that the tomb was very comfortable, and more than this, but i did not like the guidance of one long practised in these explorations, and possessed of a kind of reputation for feats of strength and closed in again. this time the second week charles began to be manifest, and i must cast off these impressions of weaker m 21:21:02 -!- ChanServ has set channel mode: +o elliott_. 21:21:04 -!- elliott_ has set channel mode: -n. 21:21:04 -!- ChanServ has set channel mode: +n. 21:21:09 let's see how much spam it actually causes -- oh come on 21:21:19 -!- AnotherTest has quit (Ping timeout: 272 seconds). 21:21:23 bleh, there's no such thing as a +n exemption 21:21:28 -!- elliott_ has set channel mode: -o elliott_. 21:21:48 -!- ChanServ has set channel mode: +o elliott_. 21:21:54 -!- elliott_ has set channel mode: -n. 21:22:05 -!- elliott_ has set channel mode: -o elliott_. 21:22:15 I'll give it 24 hours (I'm actually curious as to whether spambots even notice) 21:22:19 we're -n, -s now 21:22:20 !bfjoust skip (+[]+-)*-1 21:22:20 mroman_.skip: points -29.19, score 4.34, rank 47/47 21:22:28 so if anyone wanted to spam, we'd be a prime target 21:22:41 hmm, I wonder if any of the honeypot channels are -n -s 21:22:42 ais523: well, I'll set +n again before going to sleep, then 21:22:42 We use -n in #haskell-lens and have never had spam. 21:22:54 shachaf: is it -s or +s? 21:22:59 ais523: lots of continuous integration/git commit bots rely on -n 21:23:04 -s 21:23:04 including I think github's built-in support 21:23:06 -s, it seems 21:23:12 so I'd be surprised if you actually get spam, especially on a network as boring as freenode 21:23:14 being -n means I can check its /mode remotely :-) 21:23:32 elliott_: it's the largest network, isn't it? 21:23:41 that'd make it the best target for spam 21:23:56 ais523: it's the network least like efnet 21:24:01 now I'm wondering what +m -n does 21:24:26 I don't think it allows external messages even with -n if it's moderated. 21:24:42 What if you are +V in chanserv? 21:24:53 (Almost certainly still not.) 21:26:23 I haven't seen the $j ban yet in use, but I was wondering if it's going to lead to channels whose only purpose is to serve as a "blacklist" for other channels. 21:26:39 Also whether it allows you to go past the ban limit by making supplementary ban channels. 21:27:45 clearly you need a modified $j that bans people who are ops in specific channels, for channels that hate each other 21:36:00 -!- TieSoul_ has joined. 21:36:57 -!- TieSoul has quit (Ping timeout: 245 seconds). 21:39:30 -!- Sorella has quit (Ping timeout: 250 seconds). 21:44:34 -!- ais523 has quit (Remote host closed the connection). 21:44:44 -!- ais523 has joined. 21:45:20 -!- Patashu has joined. 21:48:55 -!- ais523 has quit (Read error: Connection reset by peer). 21:49:00 -!- callforjudgement has joined. 21:49:08 -!- callforjudgement has changed nick to ais523. 21:51:57 -!- GeekDude has joined. 22:04:00 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 22:08:27 -!- Sorella has joined. 22:09:24 -!- Sorella has quit (Changing host). 22:09:25 -!- Sorella has joined. 22:22:35 -!- callforjudgement has joined. 22:22:50 -!- ais523 has quit. 22:27:28 [wiki] [[Fishstacks]] http://esolangs.org/w/index.php?diff=40543&oldid=39829 * 67.78.57.11 * (+8) 22:39:52 -!- oerjan has joined. 22:40:55 @messages-foul 22:40:55 fizzie said 10h 55m 34s ago: That sounds like a HASSLE. (But in theory, sure.) 23:16:56 -!- Bicyclidine has joined. 23:19:09 -!- Melvar` has joined. 23:19:42 -!- idris-bot has quit (Ping timeout: 258 seconds). 23:20:51 -!- Melvar has quit (Ping timeout: 258 seconds). 23:21:14 -!- Melvar` has changed nick to Melvar. 23:21:17 -!- idris-bot has joined. 23:22:23 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 23:30:25 -!- Bicyclidine has joined. 23:41:18 -!- GeekDude has changed nick to ahk. 23:41:22 -!- ahk has changed nick to ahkscript. 23:41:38 -!- ahkscript has changed nick to smilebasic. 23:42:13 -!- smilebasic has changed nick to GeekTest. 23:42:23 -!- GeekTest has changed nick to smilebasic. 23:42:31 -!- smilebasic has changed nick to SmileBASIC. 23:42:37 -!- SmileBASIC has changed nick to GeoDude. 23:45:13 -!- Melvar` has joined. 23:46:36 -!- idris-bot has quit (Ping timeout: 272 seconds). 23:46:48 -!- Melvar has quit (Ping timeout: 272 seconds). 23:46:52 -!- Melvar` has changed nick to Melvar. 23:49:19 -!- idris-bot has joined. 23:50:29 -!- scarf has joined. 23:50:36 -!- scarf has changed nick to ais523. 23:50:40 -!- callforjudgement has quit (Read error: Connection reset by peer). 23:55:55 -!- shikhout has joined. 23:59:05 -!- shikhin has quit (Ping timeout: 260 seconds). 2014-09-27: 00:04:02 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 00:05:48 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 00:29:51 @metar ENVA 00:29:51 ENVA 262350Z 21019KT 9999 VCSH FEW010 SCT025 BKN035 08/04 Q0994 RMK WIND 670FT 21024G40KT 00:30:26 so which part of that says that the weather is awful today 00:32:48 the numbers 00:32:58 ah 00:33:20 i hate it when it pours _and_ is too windy to use my umbrella 00:33:28 also, thunder. 00:36:53 -!- copumpkin has joined. 00:48:49 the size of the set of all variations of lowercase,uppercas,digit and symbols is much larger <-- hm i'm skeptical actually 00:49:53 possibly that was entirely ironic, but i'm not convinced there's even a *2 difference 00:51:17 -!- SvenGek has changed nick to `SvenGek. 00:52:04 ok assuming ascii between 33 and 126 00:52:48 > let d = 10; lc = 26; uc = 26; s = 126-d-lc-uc in s 00:52:50 64 00:53:11 wait wat 00:53:21 > let d = 10; lc = 26; uc = 26; s = 126-32d-lc-uc in s 00:53:22 Could not deduce (GHC.Num.Num (a0 -> a)) 00:53:23 arising from the ambiguity check for ‘s’ 00:53:23 from the context (GHC.Num.Num (a1 -> a), 00:53:23 GHC.Num.Num a1, 00:53:23 GHC.Num.Num a) 00:53:28 argh 00:53:34 > let d = 10; lc = 26; uc = 26; s = 126-32-d-lc-uc in s 00:53:36 32 00:59:47 :t memo 00:59:48 Not in scope: ‘memo’ 01:08:58 -!- `SvenGek has quit. 01:16:54 `olist 963 01:16:54 olist 963: shachaf oerjan Sgeo FireFly boily nortti 01:36:37 -!- upgrayeddd has quit (Ping timeout: 260 seconds). 02:09:12 -!- contrapumpkin has joined. 02:11:05 -!- copumpkin has quit (Ping timeout: 260 seconds). 02:13:44 -!- GeoDude has changed nick to GeekDude. 02:32:17 -!- kcm1700_ has quit (Remote host closed the connection). 02:32:25 -!- kcm1700 has joined. 02:33:39 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 02:37:29 -!- kcm1700 has quit (Remote host closed the connection). 02:37:36 -!- kcm1700 has joined. 02:59:52 -!- Sorella has quit (Ping timeout: 245 seconds). 03:38:46 -!- callforjudgement has joined. 03:38:52 -!- ais523 has quit (Disconnected by services). 03:38:54 -!- callforjudgement has changed nick to ais523. 03:47:51 has anyone written a generator for that god-awful never execute a ] style? <-- well in general that gives exponential blowup 03:49:31 I hate that style too 03:49:41 and am very much in favour of designing the rules of BF Joust so that it doesn't work 03:52:45 e.g. via program size limits in the hundreds-of-kilobytes to low-megabytes range 03:52:59 i think some of the usefulness of ({})% is that it gives you _some_ of the power of that style 03:53:10 without the blowup 03:53:17 how much of it, i wonder 03:54:47 oerjan: see stealth2's behaviour against a program that sets scattered small decoys, and you get a very good idea 03:56:56 you can do [P]Q -> ([P{}]Q)%-1 but that probably does not compose 03:57:22 !bfjoust 03:57:22 oerjan: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 03:58:12 oerjan: that's actually a really useful transformation for timer-ing a clear 03:58:18 if you reduce the -1 to some smaller value 03:58:37 right 04:06:27 has anyone written a generator for that god-awful never execute a ] style? <-- well in general that gives exponential blowup 04:06:34 That's what I started writing JoustExt for. 04:06:49 -!- shikhout has quit (Ping timeout: 260 seconds). 04:06:51 I had to abandon runtime if {} else {} and similar constructs because the exponential blow up was too hard to control 04:08:28 and that's the way it should be 04:08:51 oerjan: I guess the reason I like ({})% is that it gives you symmetry between test-zero and test-nonzero 04:09:15 ()* lets you do any number of consecutive zero tests, but you need ({})% to do consecutive nonzero tests 04:09:27 * Lymia resolves to aim a fuzzer at gearlance 04:10:17 Lymia: looking for a bug? 04:16:21 -!- upgrayeddd has joined. 04:18:06 Howmany reasons could I have for pointing a fuzzer at something? 04:27:09 hmm, I was more trying to get at, were you planning to try to find a bug that let you defy the normal rules of BF Joust? 04:28:43 oh, more notes about that esolang I was developing 04:28:49 it uses a queue for recursion, rather than a stack 04:28:55 this wasn't even intentional, it just sort-of happened 04:29:17 there was a really good reason but I can't remember it offhand 04:30:42 ais523: it makes me want to write an alternate joust with goto labels. strategies would get far more complex far more quickly! 04:31:00 quintopia: defence programs would be close to unwritable 04:31:14 reverse tripwires would be very unlikely to work, unless pretty large 04:32:08 but also i was thinking it would be cool to have a cronjob hill. you submit a link instead of the actual code, and it runs once per night, updating by downloading codes from all the addresses that were modified TODAY and rerunning those. it's feasible now that we have fixed point. 04:32:18 and it could lead to a lot of surprises when multiple people update 04:34:43 that's pretty close to how the original hill worked 04:34:58 except it was weekly rather than daily, and there was IIRC a one-week lag on seeing each other's programs 04:35:16 it might be interesting to have a hill where egojsout-style traces are available but source isn't 04:35:17 no, i don't want any lag 04:35:31 oh that could be cool 04:35:38 so people would have to reverse-engineer each other's programs from behaviour 04:35:48 would definitely rule out the possibility of "program that beats/draws everything" 04:57:46 -!- Sorella has joined. 04:58:36 -!- Sorella has quit (Changing host). 04:58:36 -!- Sorella has joined. 05:19:46 What do people here think of Ethereum? 05:38:24 !bfjoust dotheywork (>[(+{>[-{-}]}.)%3])%9 05:38:25 oerjan.dotheywork: points -29.67, score 4.28, rank 47/47 05:38:36 ok it parsed 05:39:40 so zemhill_ _does_ support nested ({})s 05:39:49 or at least the syntax 05:41:17 just because it parses doesn't mean it does what you expect 05:41:54 i was afraid of that 05:42:48 although i sort of assume that anyone who would make it parse will also have listened to me blathering about how it _should_ be implemented. 05:42:49 !bftest test ((>{+}>{-})%3)%4 05:42:50 ais523: error: parse error: encountered second { on a same level 05:43:04 OK, at least something that is obviously meaningless fails to parse 05:49:07 Sgeo: the site is very confusing, and the lack of any sort of conventional research papers doesn't give me much confidence 05:49:16 hah looking at parser.h, the reason (...) is treated as a comment is so that it won't cause a parse error _inside_ a (...)*0 comment :P 05:49:43 *parser.c 05:50:55 Sgeo: in particular it looks like EVM doesn't do any sort of static analysis 05:52:38 incidentally, the answer to te problem that came up in here several weeks ago, "is it possible to securely trade between two cryptocoins that don't share a blockchain" is "yes" 05:52:45 although it needs certain features from each 05:53:18 what is the definition of secure, here? ensure atomicity? 05:53:23 without a third party 05:53:36 coppro: yes, as in the trade one way also forces the trade the other way 05:53:49 same definition of secure as it is within one blockchain, I'd think 05:54:11 in that once it's agreed on to have happened (part of the blockchain) it can't ever be reverted 05:54:23 Patashu: you need more than that 05:54:35 the main features are: a) a method to reserve funds for a specific length of time, such that they can only be transferred to one specific person within that time (but don't have to be; the reservation can time out); b) transactions that ignore unrecognised fields, and that are only accepted before a specific time and if they are signed with specific public keys (where the time and keys are part of the transaction itself) 05:54:39 Sgeo: maybe you've heard of IBM forking Ethereum, though 05:54:57 Patashu: in a single cryptocurrency, the currencies are fungible 05:55:05 Patashu: so the notion of an exchange is meaningless 05:55:23 basically, the way it works is, both of us reserve our cryptocoins to each other, until some specified deadline; then we create a transaction that does /both/ transfers, and requires both our signatures and times out before the deadline in question 05:55:28 right, that's true 05:55:44 drdanmaku: haven't heard of that 05:55:54 ais523: but aren't the transaction records separate? 05:55:56 if we both sign it, we can each submit the transaction to the blockchain where we're receiving, it goes through because all the conditions are met 05:56:11 if we don't both sign it, neither transaction can be submitted, and they both time out 05:56:20 also you need asymmetrical deadlines, to prevent timing scams 05:56:50 basically, you're creating a polyglot transaction, that's accepted by one side only if it's accepted by the other side 05:56:58 ah, ok 05:57:07 right, that makes sense 05:57:08 so that if you kick off my side of the transfer, I can grab the same transfer out of the blockchain and kick off your side 05:57:14 I'm kind of sad Ethereum contracts can't initiate transactions 05:57:16 (thus the asymmetrical deadlines) 05:57:26 Sgeo: https://gigaom.com/2014/09/09/check-out-ibms-proposal-for-an-internet-of-things-architecture-using-bitcoins-block-chain-tech/ and https://twitter.com/pbrody/status/510311550734073856 05:57:29 Loops that keep going as long as the contract is paid 05:57:44 and the hold means that the money has to be available 05:58:01 (we both put the holds onto our respective blockchains in advance, and verify they're there before starting the transaction proper) 05:58:27 actually the ability to do a hold would be useful generally to be able to do truly instantaneous transactions, so long as you predicted in advance that they might happen 05:59:31 do ya'll really trust the bitcoin implementation in light of recent stuff like heartbleed and shellshock :/ 05:59:59 it seems like a disaster waiting to happen if it wasn't well designed ahead of time 06:00:11 bitcoin was kind of just a code dump by an anonymous person 06:00:17 drdanmaku: I personally don't trust it; however, I think it's unlikely that a security hole will be found in the protocol itself, on the basis that if there was one, someone would probably have found and exploited it by now 06:00:21 drdanmaku: an academic, actually 06:00:35 security holes in various bitcoin manipulation software have been found frequently, I expect them to continue to be 06:00:37 coppro: "academic"? satoshi nakamoto? 06:02:05 his secret identity might be in academia, but if he wants that credibility it would come with having some accountability as well 06:03:02 academic code? credibility? hahahahahahahahahahhahaahahahahahahaha 06:03:06 you must be new here 06:03:21 not the code, the person 06:03:58 coppro: to be fair, academic code's pretty good when seen in the light of sturgeon's law 06:04:07 in that I think it bats a little below 90% crud 06:04:20 ais523: only a little 06:04:21 maybe i'm not making my point clearly, but in any case i don't really feel like diving too deeply in to stuff like bitcoin or ethereum since they seem pretty sketchy in terms of who's involved and who's responsible for things 06:04:37 drdanmaku: please, use dogecoin 06:05:11 isn't that even more sketchy? 06:05:29 maybe IBM and Samsung can make something more attractive with block chain tech 06:05:36 and currently trying very hard to get people to take it seriously, so that the people who already own it can become rich? 06:05:42 block chain tech itself is pretty awesome 06:05:45 although it sounds like their Adept thing is focused on the "internet of things" whatever that means 06:05:50 but mining-based money distribution isn't 06:06:06 ais523: yeah, i'd like some general purpose block chain stuff from software developers i'd heard of before 06:06:48 you could have a centrally managed currency, but you'd need a stupidly strong public key for that 06:07:22 you could easily make it cryptographically strong enough 06:07:29 but the social engineering issues would be another matter 06:07:51 yeah 06:08:28 one other option would just be to give your central bank an inordinately large supply of money, and only allow it to trade with certain other entities 06:08:37 (such as other banks) 06:09:20 not really any more vulnerable to social engineering than the current system, and you avoid actually having to create and destroy money by virtue of the volume 06:10:09 although I guess if you impose very strict transaction restrictions on the central key, socially engineering it out doesn't get you personally much money 06:10:22 and everyone will be watching the transactions carefully to see if anything is amiss 06:10:48 clearly, Bitcoin needs Agoran-style promises 06:11:15 I actually originally invented them as a currency for a work of fiction when I was wondering what a completely chaotic currency system would be like 06:12:56 -!- callforjudgement has joined. 06:13:01 !bfjoust oneshot (>)*9(-)*128. 06:13:01 mroman_.oneshot: points -33.52, score 2.99, rank 47/47 06:13:28 why do people end programs with dots? 06:14:00 it's sort-of like writing +(+)*10 06:14:12 -!- shikhin has joined. 06:14:15 !bfjoust oneshot (>)*9(-)*128(<--<++)*4(>)*8([-]>)*3(<--<++)*4(>)*8([-].>)*-1 06:14:16 mroman_.oneshot: points -22.40, score 5.64, rank 47/47 (--) 06:14:34 !bfjoust oneshot (>)*9(-)*128(<--<++)*4(>)*8([-]>)*3(<--<++)*4(>)*8([(+)*7[-]].>)*-1 06:14:35 mroman_.oneshot: points -24.12, score 4.85, rank 47/47 (--) 06:14:46 hm 06:15:19 !bfjoust oneshot (>-)*9((-)*128)*3([-].>)*-1 06:15:20 mroman_.oneshot: points -27.83, score 3.46, rank 47/47 (--) 06:15:25 !bfjoust oneshot (>-)*9((-)*128)*3([-.]>)*-1 06:15:26 mroman_.oneshot: points -31.40, score 3.04, rank 47/47 (--) 06:15:40 !bfjoust oneshot (>(-)*10)*9((-)*128)*3([-]>)*-1 06:15:40 mroman_.oneshot: points -21.17, score 7.21, rank 47/47 (--) 06:15:45 !bfjoust oneshot (>(-)*32)*9((-)*128)*3([-]>)*-1 06:15:46 mroman_.oneshot: points -23.26, score 6.96, rank 47/47 (--) 06:15:50 !bfjoust oneshot (>(-)*13)*9((-)*128)*3([-]>)*-1 06:15:50 mroman_.oneshot: points -18.69, score 8.67, rank 47/47 (--) 06:16:06 !bfjoust oneshot (>(-)*13)*9((-)*128)*3<<<([-]>)*-1 06:16:06 mroman_.oneshot: points -23.00, score 6.68, rank 47/47 (--) 06:17:28 -!- ais523 has quit (Ping timeout: 260 seconds). 06:17:47 -!- callforjudgement has changed nick to ais523. 06:39:38 -!- conehead has quit (Quit: Computer has gone to sleep). 06:40:12 -!- ais523 has quit (Read error: Connection reset by peer). 06:40:30 -!- ais523 has joined. 06:51:19 !bfjoust trip (>+[].<(++-)*-1)*-1 06:51:21 mroman_.trip: points -9.36, score 11.83, rank 47/47 06:51:44 !bfjoust trip (>+[]<(++-)*-1)*-1 06:51:46 mroman_.trip: points -12.12, score 9.86, rank 47/47 (--) 06:52:01 !bfjoust trip (>+[].<(++-.)*-1)*-1 06:52:02 mroman_.trip: points -24.52, score 5.40, rank 47/47 (--) 06:52:04 !bfjoust trip (>+[].<(++-)*-1)*-1 06:52:07 mroman_.trip: points -9.36, score 11.83, rank 47/47 (--) 06:52:16 !bfjoust trip (>+[].<(++-)*-1) 06:52:16 mroman_.trip: points -29.67, score 4.28, rank 47/47 (--) 06:52:19 mroman_: your programs seem to contain a lot of tripwires for the sake of having tripwires 06:52:41 they're only useful when writing a program that benefits from knowing what the opponent is doing 06:52:44 !bfjoust trip (>+[].<(++-)*-1)*10 06:52:47 mroman_.trip: points -9.36, score 11.83, rank 47/47 (--) 06:52:59 !bfjoust trip (>+[].<(++-)*-1)*10(>)*9([-].>)*-1 06:53:02 mroman_.trip: points -9.36, score 11.83, rank 47/47 (--) 06:53:16 I haven't figured out how tripwires can be used 06:54:41 the most common use nowadays is to detect if the opponent is near your flag, and change to a different strategy rather than setting decoys behind them 06:59:40 -!- ais523 has quit (Read error: Connection reset by peer). 06:59:51 -!- ais523 has joined. 07:01:46 oh well, I just got the updated fix to the bash bug people were talking about 07:01:55 and the fix was to change a .y file 07:02:03 so parser bug was pretty much spot on 07:04:33 but while you're detecting you can't do anything 07:04:38 because [] blocks 07:06:56 so, a forwards tripwire, like [], is mostly only useful for cycle-accurate synchronization, because of that 07:07:09 a common alternative is to set the tripwire to a known value, and see if it still has that value when you check 07:08:03 !bfjoust foo (->++<-)*-1 07:08:05 mroman_.foo: points -15.43, score 7.99, rank 47/47 07:08:21 !bfjoust foo (->(+)*3<-)*-1 07:08:24 mroman_.foo: points -16.50, score 7.07, rank 47/47 (--) 07:11:15 -!- oerjan has quit (Quit: leaving). 07:14:18 pffff 07:14:25 durkon allotrope thundershield 07:14:30 amazing middle name 07:18:46 !bfjoust rabbit (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-([>[(+)*9[-]]]..+)*-1 07:18:48 mroman_.rabbit: points -17.57, score 7.45, rank 47/47 07:20:09 !bfjoust rabbit ([>[(+)*9[-]]]..+)*-1 07:20:09 mroman_.rabbit: points -31.55, score 4.29, rank 47/47 (--) 07:20:34 !bfjoust oneshot (>)*9[-] 07:20:34 mroman_.oneshot: points -27.76, score 4.95, rank 47/47 07:20:48 !bfjoust oneshot (>)*9[[-]] 07:20:49 mroman_.oneshot: points -27.67, score 4.99, rank 47/47 (--) 07:20:57 !bfjoust oneshot (>)*9([[-]]>)*-1 07:20:58 mroman_.oneshot: points -14.40, score 10.88, rank 47/47 (--) 07:21:11 !bfjoust meow (>-)*9([[-]]>)*-1 07:21:12 mroman_.meow: points -25.86, score 3.92, rank 47/47 07:21:23 !bfjoust meow (>)*9([[-]]+>)*-1 07:21:23 mroman_.meow: points -16.55, score 10.10, rank 47/47 (--) 07:21:31 !bfjoust meow ([[-]]+>)*-1 07:21:32 mroman_.meow: points -25.50, score 3.68, rank 47/47 (--) 07:23:03 !bfjoust vibr4t3 (-)*127(-+.)*100000 07:23:04 mroman_.vibr4t3: points -5.05, score 15.50, rank 39/47 07:23:09 !bfjoust vibr4t3 (-)*127(-+)*100000 07:23:09 mroman_.vibr4t3: points -11.40, score 11.43, rank 47/47 (-8) 07:23:12 !bfjoust vibr4t3 (-)*127(-+.)*100000 07:23:13 mroman_.vibr4t3: points -5.05, score 15.50, rank 39/47 (+8) 07:25:44 -!- drdanmaku has quit (K-Lined). 07:25:46 -!- upgrayeddd has quit (K-Lined). 07:35:51 -!- drdanmaku has joined. 07:51:29 >+>->+>->+>->+(>-++-(.)*132[+]++>-++-(.)*132[-]--)*15 <- this was #1 on the hill? 07:51:42 it... just waits forever before advancing... 07:54:26 http://seclists.org/oss-sec/2014/q3/712 07:55:34 haha yeah i saw that 07:55:53 i wonder how many bugs you could find just by grepping for literal numbers, generally 07:56:38 (the patch replaces a *redir_stack[10] with **redir_stack, among other things 07:56:42 end parenthesis 07:57:01 hehe 07:59:05 there's still no patch for my php-injection-vuln for weathermap 0.97c 08:00:37 -!- scounder_ has joined. 08:01:02 I don't know if I should disclose that publicly 08:03:30 we're all doomed anyway 08:07:54 [wiki] [[Special:Log/newusers]] create * YoYoYonnY * New user account 08:09:07 `rm wisdom/tervetuloa 08:09:09 No output. 08:27:27 -!- ais523 has quit. 08:27:41 -!- ais523 has joined. 08:36:46 Reading seclists I probably will never use wordpress 09:03:11 -!- Phantom_Hoover has joined. 09:28:22 -!- zemhill_ has quit (Remote host closed the connection). 09:28:50 "too many programs: 49 > 47" gah 09:33:33 It says "replacing", but then it leaves some leftover record (don't know where), and when the same name is reused, considers it's "updating" an old one, which causes a new file to be created. 09:34:49 Oh, that's a silly bug. 09:41:44 -!- zemhill has joined. 09:46:35 -!- ais523 has quit (Read error: Connection reset by peer). 09:46:52 -!- ais523 has joined. 09:48:28 if(numPrograms > 47) throw new NullPointerException(); 09:48:56 or ((Object)null).toString(); 10:02:15 -!- ais523 has quit (Read error: Connection reset by peer). 10:02:19 -!- callforjudgement has joined. 10:02:24 -!- callforjudgement has changed nick to ais523. 10:43:41 -!- contrapumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 10:44:26 web.just_testing: points -12.67, score 11.69, rank 47/47 10:44:34 V. fancy. 10:44:45 (I will disable it if it becomes a problem.) 10:46:26 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 10:50:09 is that web-submission? 10:50:19 Yes. 10:50:31 Directly at http://zem.fi/bfjoust/ 10:50:56 web.joust_testing 10:52:20 fizzie: technically there's still /ignore zemhill ;) 11:04:35 -!- sebbu has joined. 11:04:35 -!- sebbu has quit (Changing host). 11:04:35 -!- sebbu has joined. 11:31:54 ais523: I think it's a flaw in BF Joust that it allows that style 11:32:03 and that hacking on arbitrary limits to prevent it is a bit disappointing 11:32:46 elliott_: well I did think of an interesting alternative, thinking about this problem 11:33:04 we add an extra command, which means "win"; it only does anything if you're on the enemy flag and that flag has value 0 11:33:10 otherwise, it's a nop 11:33:22 but you can only have one of them in the entire program 11:34:13 this sounds ugly. 11:34:39 I sort of think maybe we should just make ] take zero cycles and go from there 11:36:07 then you hit the instant triplock problem 11:36:40 yes, both ways have problems and need fixing 11:37:15 a really boring solution would be a [] nesting limit, btw 11:37:22 that's probably nicer than a program length limit 11:37:24 that said, I've had thoughts on how to win in an instant triplock hill 11:37:39 I don't think it'd be as deep, but there's /some/ depth there 11:40:25 -!- ais523 has quit. 11:44:43 what style? 11:47:32 Although I have nothing against a program length limit of 100 11:56:27 -!- shikhout has joined. 11:59:00 -!- shikhin has quit (Disconnected by services). 11:59:05 -!- shikhout has changed nick to shikhin. 12:00:24 -!- zolbap has joined. 12:00:36 /100/? 12:00:58 you think there's no value in the more complex programs at all...? many of the oneliners don't even fit in 100 12:01:38 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 12:03:05 -!- S1 has joined. 12:06:47 -!- S1 has quit (Client Quit). 12:12:23 -!- Frooxius has quit (Read error: Connection reset by peer). 12:12:35 -!- Frooxius has joined. 12:17:01 -!- upgrayeddd has joined. 12:23:35 -!- Sorella has quit (Read error: Connection reset by peer). 12:25:53 -!- Sorella has joined. 12:26:47 -!- Sorella has quit (Changing host). 12:26:47 -!- Sorella has joined. 12:33:55 Programmers using scanf with %f without setting a locale suck 12:35:55 because parsing suddenly breaks on systems without LC_NUMERIC=en_US 12:37:16 elliott_: Redcode has that too 12:37:23 There's the nano hill with 5 instructions 12:37:52 I don't know 12:38:17 BFJoust_Nano for <32, BFJoust_Mini for <100, BFJoust_Normal unrestricted 12:39:08 That doesn't mean large programs have no value 12:39:26 something like <256, <1024, <1M would be more reasonable 12:40:26 nano hills warriors are 100% evolved afaik :) 12:40:45 you just select a base strategy and set inital constants 12:40:55 and then feed it to an evolver and leat it tweak constants etc. 12:40:59 *let 12:41:51 bf joust evolvers haven't given good results so far 12:42:40 -!- sebbu has quit (Ping timeout: 272 seconds). 12:48:41 -!- zolbap has quit (Quit: Leaving). 12:58:03 I wouldn't say that 12:58:07 did you see my programs? 12:58:16 I just made a first attempt 12:58:23 then tweaked constants for offsets and decoys 12:58:33 and just by that you can loose or win 10 places 12:58:49 that tweaking of just constants could be automated I'm sure 12:59:13 -!- zolbap has joined. 13:03:04 that isn't quite full evolving 13:03:14 ais523 already partially automates that, I think 13:16:01 it's not full evolving yes 13:16:15 but you can just write (>)*x([-].>)*x etc 13:16:22 and it will find out what's best 13:38:05 -!- Sorella has quit (Ping timeout: 260 seconds). 13:40:20 -!- Sorella has joined. 13:41:10 -!- Sorella has quit (Changing host). 13:41:11 -!- Sorella has joined. 13:55:53 http://esolangs.com/ 13:55:56 ^- who's this? 13:57:20 !bfjoust tiny_tuned >(+)*12>(-)*8>(+)*8>(-)*0(>)*4(>[(-)*10[.+]])*21 13:57:22 fizzie.tiny_tuned: points 0.64, score 20.47, rank 18/47 13:57:26 fizzie_tiny dropped off the hill, and since you were talking about automatic constant tuning... 13:57:48 -!- Patashu has quit (Ping timeout: 272 seconds). 14:04:53 -!- boily has joined. 14:06:53 Sgeo: Sgello. thanks for the olist. 14:10:23 which one was the homestuck list, well, whatever 14:14:00 fizzie.tiny_tuned: points 2.00, score 21.33, rank 16/47 (+2) 14:15:33 -!- zolbap has quit (Quit: Leaving). 14:17:24 -!- drdanmaku has joined. 14:19:17 mroman_: I just pushed the updated wisdom, with (somewhat) all your updates. 14:38:51 -!- sebbu has joined. 14:39:28 -!- sebbu has quit (Changing host). 14:39:28 -!- sebbu has joined. 14:40:32 boily: ? 14:40:39 -!- Sorella has quit (Ping timeout: 244 seconds). 14:41:34 -!- Sorella has joined. 14:42:27 -!- Sorella has quit (Changing host). 14:42:27 -!- Sorella has joined. 14:48:47 mroman_: all your modifications to the `learndb and suchlike in the past few days. 14:49:28 and where did you push them? 14:50:31 to dropbox, as seen in the nice /topic, or to a private repo on github to which you probably have access. 14:50:43 s/or/and/ 14:51:43 -!- GeekDude has joined. 14:51:46 -!- GeekDude has quit (Changing host). 14:51:46 -!- GeekDude has joined. 14:57:15 interesting 15:10:14 -!- boily has quit (Quit: PULCHRITUDINOUS CHICKEN). 15:34:21 -!- conehead has joined. 15:49:06 -!- mauris has joined. 15:49:46 does anyone know who wrote the second program here? http://en.wikipedia.org/wiki/Malbolge#.22Hello_World.21.22_in_Malbolge 15:50:31 i was under the impression that you needed like, five weeks of cryptanalysis and brute force in order to write a five-megabyte program to do this. i'm quite amazed 15:55:07 mmm, User:ErichS8 on wikipedia added it 15:55:40 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 15:55:50 -!- paul2520 has quit (Ping timeout: 272 seconds). 15:57:10 It's not *that* hard, there's e.g. http://matthias-ernst.eu/malbolge.html to generate simple text-printing programs. 15:59:22 -!- MoALTz has quit (Ping timeout: 240 seconds). 16:01:54 There does not seem to be any description about the history of the Wikipedia example, though. 16:04:06 -!- MoALTz has joined. 16:13:21 -!- Phantom_Hoover has joined. 16:43:10 -!- SvenGek has joined. 16:50:11 -!- copumpkin has joined. 17:05:35 -!- SvenGek has changed nick to SvenNotSvenGek. 17:23:50 -!- GeekDude has joined. 17:30:42 -!- Jafet has quit (Ping timeout: 245 seconds). 17:30:49 -!- Jafet has joined. 17:37:41 -!- vyv has quit (*.net *.split). 17:37:41 -!- ^v has quit (*.net *.split). 17:37:42 -!- tromp__ has quit (*.net *.split). 17:37:42 -!- choochter has quit (*.net *.split). 17:37:42 -!- ski has quit (*.net *.split). 17:37:43 -!- Deewiant has quit (*.net *.split). 17:37:43 -!- Gregor has quit (*.net *.split). 17:37:43 -!- mtve has quit (*.net *.split). 17:37:43 -!- jameseb has quit (*.net *.split). 17:40:20 -!- Jafet has quit (Changing host). 17:40:21 -!- Jafet has joined. 17:40:25 -!- Jafet has left. 17:46:49 -!- vyv has joined. 17:46:49 -!- ^v has joined. 17:46:49 -!- tromp__ has joined. 17:46:49 -!- choochter has joined. 17:46:49 -!- ski has joined. 17:46:49 -!- Deewiant has joined. 17:46:49 -!- Gregor has joined. 17:46:49 -!- mtve has joined. 17:46:49 -!- jameseb has joined. 17:46:53 -!- perrier has quit (Read error: Connection reset by peer). 17:56:25 -!- shikhout has joined. 17:59:20 -!- shikhin has quit (Ping timeout: 260 seconds). 18:12:04 -!- SvenNotSvenGek has changed nick to SvenGek. 18:19:36 [wiki] [[$tonePits]] http://esolangs.org/w/index.php?diff=40544&oldid=38318 * 98.219.173.28 * (+3) Fixed some grammar/spelling mistakes. I have a feeling the writer of this page is ESL (English Second Language), and the page could use some more work, but I think I still helped clarify it a bit. 18:27:56 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 18:49:07 [wiki] [[Pancake Stack]] http://esolangs.org/w/index.php?diff=40545&oldid=37603 * Quincunx * (-4) Fix Syntax error in Hello World. Switch is not valid, you wanted Flip 18:56:20 [wiki] [[Pancake Stack]] http://esolangs.org/w/index.php?diff=40546&oldid=40545 * Quincunx * (+127) /* Syntax */ 18:56:22 Bike: list? 18:56:29 i dunno 18:56:30 `cat bin/list 18:56:31 ​#!/bin/sh \ grep '^..:..:..: <[^>]*> `list' /var/irclogs/_esoteric/201[3-9]-??-??.txt | sed 's/^.*.*//;s/_*$//' | sort -u | tr '\n' ' ' 18:56:35 anyway it's happening etc 18:56:37 Guess not 18:57:41 -!- AnotherTest has joined. 18:59:06 -!- scounder has quit (Ping timeout: 246 seconds). 18:59:37 [wiki] [[Pancake Stack]] http://esolangs.org/w/index.php?diff=40547&oldid=40546 * Quincunx * (+47) Added an interpreter 19:05:35 -!- scounder has joined. 19:06:33 -!- CrazyM4n has joined. 19:06:52 Hey, what´s a paste service that doesn´t wrap lines? 19:07:11 sprunge 19:07:13 sprunge.us 19:07:42 Thanks, I couldn´t remember the name to it 19:09:45 Gotta love cloud -> butt http://prntscr.com/4qvobv 19:27:50 Weather: Butty 19:50:35 -!- copumpkin has joined. 19:59:53 butty? 19:59:55 oh 19:59:56 cloudy 20:00:24 `! bf_txtgen Buttz 20:00:28 53 +++++++++++++[>+++++>+++++++++>><<<<-]>+.>.-..++++++. [85] 20:00:32 O_O http://neurokernel.github.io/index.html 20:01:06 ^bf +++++++++++++[>+++++>+++++++++<<-]>+.>.-..++++++.>+++++++++++++[>+++++>+++++++++<<-]>+.>.-..++++++.>+++++++++++++[>+++++>+++++++++<<-]>+.>.-..++++++.> 20:01:06 ButtzButtzButtz 20:02:11 ah indeed! 20:13:48 ^bf +++++++++++++[>+++++>+++++++++<<-]>+.>.-..++++++.<.>-----.-..++++++.<.>-----.-..++++++. that was HORRIBLY suboptimal what you did there 20:13:49 ButtzButtzButtz 20:13:52 -!- not^v has joined. 20:14:10 -!- not^v has quit (Read error: Connection reset by peer). 20:15:03 -!- AndoDaan has joined. 20:20:03 -!- copumpkin has quit. 20:25:15 mroman_: You here? 20:27:19 ^bf +++++++++++++[>+++++>+++++++++>><<<<-]+++[->+.->.-..++++++.-----<<] same to you!! 20:27:19 ButtzButtzButtz 20:30:17 -!- CrazyM4n has left ("Leaving"). 20:32:11 Do you have any METAFONT files for mahjong, and for Japanese hiragana and katakana? 20:33:46 I don't 20:34:02 -!- Tod-Autojoined has joined. 20:37:29 -!- jix_ has joined. 20:38:37 -!- Melvar` has joined. 20:38:45 -!- SirCmpwn has quit (Ping timeout: 260 seconds). 20:38:45 -!- jix has quit (Ping timeout: 260 seconds). 20:38:46 -!- TodPunk has quit (Ping timeout: 260 seconds). 20:38:46 -!- yiyus has quit (Ping timeout: 260 seconds). 20:38:46 -!- yiyus has joined. 20:39:59 -!- SirCmpwn has joined. 20:40:23 -!- nycs has joined. 20:43:20 -!- AndoDaan has quit. 20:43:43 -!- digitalc1ld has joined. 20:44:31 -!- idris-bot has quit (Ping timeout: 542 seconds). 20:44:32 -!- digitalcold has quit (Read error: Connection reset by peer). 20:46:57 -!- Melvar has quit (Ping timeout: 268 seconds). 20:46:57 -!- `^_^v has quit (Ping timeout: 268 seconds). 20:47:35 -!- idris-bot has joined. 20:53:50 -!- shikhout has changed nick to shikhin. 21:10:16 -!- conehead has quit (Quit: Computer has gone to sleep). 21:14:39 -!- shikhin has changed nick to lawpoker. 21:14:46 -!- lawpoker has changed nick to shikhin. 21:14:52 -!- AndoDaan has joined. 21:15:05 -!- nortti has changed nick to lawspeaker. 21:15:48 -!- Melvar` has changed nick to Melvar. 21:16:44 -!- lawspeaker has changed nick to nortti. 21:23:42 -!- copumpkin has joined. 21:24:43 -!- nortti has changed nick to lawspeaker. 21:26:53 -!- AnotherTest has quit (Ping timeout: 240 seconds). 21:28:27 -!- lawspeaker has changed nick to nortti. 21:29:23 Anyone here familiar with the Chalcraft-Greene train track automaton: http://esolangs.org/wiki/Chalcraft-Greene_train_track_automaton 21:32:10 i kind of doubt that, but hey, ian stewart! 21:32:27 Ian Stewart? 21:32:36 oh, wrote about it. 21:32:50 I probably should know him. 21:33:41 Definitely should know about him. I'm terrible. 21:34:00 no, knowing too many things is terrible. 21:34:11 anyway, did you have some kind of question, or what? i'm looking at the pdf now. 21:35:17 Yeah. They mention there are two kind of junctions, but sometimes three (the flipper one being third). And I wanted to be clear if two were enough for a turing complete language. 21:35:35 Like if you could make the flipper junction out of the lazy and stuck one. 21:36:11 I don't think it's just me, I think the paper and articles on http://www.zillions-of-games.com/cgi-bin/zilligames/submissions.cgi?do=show;id=1008 are confused 21:37:33 (I'm thinking/making a language of it, and of course I'll put in extra 'commands', but it would be nice to get the fundementals right.) 21:41:07 well, the pdf doesn't mention the third junction in its turing machine construction 21:42:35 actually it doesn't mention flippers at all. what's a flipper 21:42:41 (unless i'm missing it) 21:44:00 When I first learned it, and it's in the zillion game version, a flipper is with input A and output B and C: the train enters A, leaves B. Then the track flips to C. Train enters A leaves C. then back again 21:44:13 You can never enter B or C. only leave. 21:44:54 -!- FireFly has quit (Quit: WeeChat 0.4.0). 21:45:12 yeah, that's not in the pdf.\ 21:45:56 -!- FireFly has joined. 21:46:09 as far as i understand lazy points, you have entrance/exits: feed, siding1, siding2. entering siding1 always exits from feed. entering siding2 always exits from feed. entering feed exits from whichever siding was most recently entered from (or some initial value). 21:46:19 that and sprung points are all they use 21:46:26 yep. 21:46:40 Seems amazing that that is enough. 21:46:56 Well, stranger things have happened. SKI 21:47:33 i mostly wrote that out because i'm not familiar enough with physical trains to understand their description without thinking about it :V 21:47:37 -!- kcm1700_ has joined. 21:47:53 -!- kcm1700 has quit (Remote host closed the connection). 21:47:57 it seems reasonable to me. in electronic terms it's like a latch. 21:48:09 Yeah, I only got some grip on the concept with the Zillion game implementation. 21:48:10 (it's weird that terminology has evolved such that "latch" is electronic) 21:48:49 i have the sudden urge to read shannon's paper showing that boolean logic can in fact be done in circuitry. 21:48:58 Is a latch related to NAND? (I just know that NANDs are all you need for a computer) 21:49:14 Not really. It's also called a "flip-flop". 21:49:22 Ah. 21:49:23 It's basically one bit of state. 21:49:24 -!- Phantom__Hoover has joined. 21:49:38 or a bistable multivibrator, if you like using big important sounding words 21:49:47 A latch can be made out of NANDs 21:49:52 Who doesn't. 21:50:08 (I believe two NANDs is sufficient to make a simple latch) 21:50:10 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 21:50:18 Bike: That term tended to get giggles when I heard it. 21:50:33 Multivibrator 21:50:49 see, because sex, 21:51:04 i think you can do a latch with two crosslinked nands. nors definitely work. 21:51:27 http://en.wikipedia.org/wiki/File:SR_Flip-flop_Diagram.svg there we go. 21:51:47 i had a test on this less than a year ago, but remembering things is hard 21:51:51 Note the inverted set and reset signals, though. 21:51:58 Or "active-low", whatever. 21:53:18 MIT lets me view a "preview" version which is the whole text but not "printable". oh no, i guess 21:54:45 Alright, thanks for you help. I guess the fundamentals is not that important to me, because the base language will definitely have flippers junctions. 21:55:07 "It is, of course, always possible to analyze any given circuit by setting up all possible sets of initial conditions and following through the chain of events so instigated." 21:55:55 or 21:56:14 if you have all possible initial conditions you can just make a list or input/outputs and pretend 22:21:16 -!- Patashu has joined. 22:21:44 AndoDaan: ok, i messed up. you do need a flipper. they construct one in the paper out of sprung and lazy points, with the caveat that you need infinitely many. 22:22:10 they also called making one 'an infuriating problem' which matches with my wasting three pages of paper on it 22:22:13 fungot, do you like unfinished sentences in software manuals? 22:22:13 b_jonas: as the scene and inspiration of the romance. such an one had nothing to do. these objects moved intelligently about the great abyss; down whose sides paths, improved by the old ones, and the 22:22:27 Software manuals: so romantic. 22:22:28 :) Thanks that you kept on looking. 22:22:43 from that it seems fungot does like unfinished sentences, he makes them 22:22:44 b_jonas: naturally, danforth and i, by the jewish writer using the fnord " fnord" the reader toward a suitable degree of smirking optimism. but it is only at night when the moon is dark, and said to be 22:22:51 "this will be fun" i thought, "very educational" 22:22:55 Makes much more sense this way. 22:22:59 lol 22:23:19 Is a flipper what they call a distributor? 22:23:22 yes. 22:23:33 which i didn't notice my first look through. 22:23:35 fungot: How come you can't figure out paragraphs in text ever? 22:23:35 fizzie: earl sawyer now took the telescope and strained his vision to the utmost extent. selling a portion of the cemetery. the man of 1928, a vague report went round of things that should be dead. a boat put off, and visible only because of the remote and alien world he had chosen it, how he had seized robert, son of godfrey, 22:23:42 I really couldn't decipher that, above my paygrade 22:24:13 "Let us suppose the existence of a distributor D, which has two outputs, 0 and 1, and one input. Trains sent in the input come out of 0 and 1 alternately." 22:24:15 what? no, a flipper is foot fins used for swimming 22:24:16 not too bad. 22:24:51 My brain is often mush. 22:25:22 i like how they show you can avoid bridges, too 22:27:27 The four leaf clover diagram? 22:27:46 yeah. 22:27:53 though if you used it for traffic you'd get collisions. 22:28:45 Well, I'm planning on implementing multiple trains, so I'll have to account for that. (and on regular track as well of course) 22:30:56 -!- Sorella has quit (Remote host closed the connection). 22:33:14 -!- Sorella has joined. 22:34:02 -!- Sorella has quit (Changing host). 22:34:02 -!- Sorella has joined. 22:45:41 -!- oerjan has joined. 22:48:38 shannon talks about proving theorems by "perfect induction", for example proving that x + y = y + x in boolean algebra by trying it for all values of x and y 22:48:41 gonna call it that from now on 22:49:34 huh, "trying it" how so 22:49:44 hmm, you can only prove x + y = y + x by induction, right? 22:49:58 does it only work for finite domains 22:50:00 it's boolean algebra, meaning 0 and 1 are the only values. 22:50:02 so yes. 22:50:07 AndoDaan: depends on what the type is :) 22:50:11 aha 22:50:20 but chances are, that's true 22:50:26 Yeah, I'm think natural number, but there's more to life than that. 22:50:41 or "can be less to life" than that. 22:52:14 can be more or less to life. can be arbitrary amounts to life 22:52:59 i think the "induction" in "perfect induction" may be the philosophical concept, not the mathematical one 22:53:02 can be seven to life. 22:53:55 as in, philosophical induction is deducing laws from examples, so "perfect" induction would be deducing a law by checking _all_ examples. 22:54:14 oh, duh, this is just "proof by exhaustion" which i've heard lots before 22:55:00 right, i just think the name is kinda funny. 22:55:05 AndoDaan: you can prove x + y = y + x pretty simply for cardinalities without induction 22:55:53 -!- Phantom__Hoover has quit (Ping timeout: 272 seconds). 22:56:00 basically, just make a bijection that maps from each side to the other 22:57:03 oerjan: i.e. \(a, b) -> (b, a)? 22:57:11 :t let bij (Left x) = Right x; bij (Right y) = Left y in bij 22:57:12 Either b a -> Either a b 22:57:21 mauris: no, that would prove x * y = y * x 22:57:40 oh right 22:57:43 sums are like Eithers 22:58:38 What are differences and quotients? 22:58:40 now prove x ^ (y + z) = (x ^ y) * (x ^ z) :P 22:58:55 differences and quotients of what 22:59:02 In types 22:59:03 Sgeo: not always well defined 22:59:06 Either a b = a + b 22:59:15 ? a b = a - b 22:59:16 oh i thought you meant cardinalities 22:59:47 ooh, that's (Either y z -> x) <-> (y -> x, z -> x) 22:59:49 Sgeo: i think i saw a blog title on /r/haskell or thereabouts about that recently, but i didn't read it 23:00:19 mauris: right 23:01:02 -!- mauris_ has joined. 23:01:27 -!- mauris has quit (Disconnected by services). 23:01:31 -!- mauris_ has changed nick to mauris. 23:02:39 Sgeo: i think the basic problem with difference and quotients may be the same in types as in cardinalities: you don't have cancelation, x + y = x + z does not imply y = z 23:03:38 e.g. Nat = () + Nat 23:04:40 in fact one definition of infinity in cardinality theory is that a set is infinite if it's the same size as a proper subset of itself 23:06:09 which can be proved equivalent to it containing a copy of N 23:09:22 (i think you don't even need the axiom of choice, although slightly different formulations might) 23:16:43 oerjan: I think it becomes a lot more subtle without LEM though I don't really know the details. 23:17:14 oh i hardly ever consider that 23:17:58 newtype Nat = Nat (Maybe Nat); 23:18:12 You can end up with an uncountable subset of the naturals, or something like that, can't you? 23:20:37 -!- b_jonas has quit (Ping timeout: 245 seconds). 23:28:01 -!- b_jonas has joined. 23:29:09 oerjan: the basic difficulty is that you mustn't confuse ordinal power with cardinal power. they're two different operations that happen to coincide for finite arguments. 23:29:30 i remember reading http://math.andrej.com/2012/10/03/am-i-a-constructive-mathematician/ 23:29:35 or maybe it was a different page 23:34:54 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 23:38:28 -!- GeekDude has joined. 23:38:42 is Nat = Fix Maybe? 23:39:16 Yes. 23:40:03 "It may happen that the reals are in 1-1 correspondence with a subset of the natural numbers, while at the same time they form an uncountable set." help 23:40:49 I don't understand either, since the reals have a larger cardinality 23:41:17 presumably other definitions of some of the terms are involved. 23:41:49 such as "may happen" 23:44:30 How does it happen? 23:48:32 yeah 23:48:38 oops 23:49:19 answered a question without noticing i was in backscroll (and that it hadn't been answered) 23:49:24 *had 23:49:58 Isn't it great how you scroll up up a page, and then people say a few lines, and you scroll down a page, and you're still in scrollback mode? 23:51:03 intuitionism is bizarre sometimes 23:53:27 thus the name 23:55:02 At some point tswett rambled somewhere on a set theory with a universal set U, with the consequence that the power set of U is a proper subset of U. 23:57:07 -!- shikhout has joined. 23:57:32 -!- shikhout has changed nick to Guest15560. 23:59:17 -!- scounder has quit (Quit: Leaving). 2014-09-28: 00:00:12 -!- shikhin has quit (Ping timeout: 244 seconds). 00:02:29 I can see how a universal set would do that, but I thought there is no such things as a universal set. 00:02:47 A set cannot contain itself 00:03:12 the consequences is that universal set would not be, by definition, a set 00:03:53 http://en.wikipedia.org/wiki/Aczel%27s_anti-foundation_axiom 00:03:56 -!- dmstor has joined. 00:04:40 -!- dmstor has left. 00:06:06 to be fair, i've only seen an attempt at actually using it in a really shitty biology paper. 00:07:04 I don't deal with sets so much 00:07:16 But I can do Array = [], Array[Array] := Array 00:07:30 er, Array := [], Array[Array] := Array 00:07:34 missed a : on the first one 00:07:48 ( := is the assignment operator in the language I am using for this demonstration) 00:07:49 Command "=" not permitted. 00:17:33 GeekDude: Not in the usual set theories, but this was a set theory with such a universal set. It was probably NFU. 00:19:09 NFU? 00:19:44 Apparently this stands for “New Foundations with Urelements”. See https://en.wikipedia.org/wiki/New_Foundations . 00:20:46 -!- AndoDaan has quit (Ping timeout: 276 seconds). 00:21:00 My brain is frying here 00:21:14 I'm not too well versed in set theory 00:21:18 of any kind 00:23:13 I brought it up because there was already talking about the fact that if you take a different foundation, different axioms, you can get very different properties from what you’re used to. So I decided to give another example I’d heard of. 00:31:08 I need to write a simple PRNG, and am limited to only using integers between negative and positive 524287 00:32:13 A linear congruential generator sounds like it could work 00:32:29 with a small multiplier and increment 00:34:15 yeah, that should be easy. 00:34:59 724 for the modulus, that's roughly the square root of the max int limit 00:35:24 then perhaps something like 483 for the multiplier 00:35:35 and 238 for the increment 00:35:41 unless I'm completely misunderstanding the point 00:36:16 I could stuff a larger range of values in there I guess 00:36:33 hopefully you are not using this for crypto 00:36:37 nooooo way 00:36:47 who gives a damn then 00:36:58 I need values that look vaguely random 00:37:15 i had a school project last week where i got entropy by counting up until the user hit a button, #yolo 00:37:22 lol 00:37:42 no clock value you could mooch off? 00:39:15 that's basically what i was doing. didn't feel adventurous enough to figure out how to get at the oscillators directly 00:39:59 I've heard a last ditch effort for medium quality entropy is to ask the user to mash the keyboard 00:41:23 That's practically begging for bad entropy. 00:41:40 lol 00:41:46 you need high quality users 00:41:55 and maybe a blindfold 00:41:56 type without rhythm so as not to attract the worm. 00:42:01 Ah, "values that look vaguely random" though. 00:42:29 I hear the low bit of rdtsc is good enough. 00:43:42 rdtsc? 00:44:01 cycle counter on x86. 00:44:26 I'm not even close to using x86 though 00:44:44 Well then, that's a terrible idea. 00:44:49 I'm using BASIC on a 3ds 00:45:05 ... For a class project. 00:45:12 Is it SmileBASIC? 00:45:14 BASIC. On a 3DS. 00:45:16 Kay then. 00:45:26 zzo38: yes it is 00:45:29 the class project was me, geekdude might be doing some other shite 00:45:35 I know you can run SmileBASIC on 3DS, but it isn't really like BASIC; there are many differences too. 00:45:38 Bike: Oic 00:45:48 ¯\_(ツ)_/¯ all the variants have their giant quirks 00:45:52 me, i was doing a simon says game. security, of course, is paramount 00:46:20 Of course. 00:46:29 Someone might use it to choose passwords, or crypto keys. 00:46:46 I'm doing fractal trees 00:46:53 well, not really fractal 00:46:59 there was actually that pretty funny deniable encryption thing, but it used a game more like DDR 00:47:01 recursive trees 00:47:21 If it's self-similar it's fractal. 00:47:30 ARM has a cycle counter register, looks like 00:47:37 i imagine something is accessible on the 3ds 00:47:55 I just about guarantee that SmileBASIC does not expose that though. 00:47:55 The branches resemble eachother in that they each have two sub branches (although at psuedo-random angles) 00:48:02 so that's uh, four bytes of entropy, hooray 00:48:03 pikhq: sadly not 00:48:18 do like old dos basic, just write instructions into the memory space 00:48:23 as previously mentioned, #yolo 00:48:38 Bike: If SmileBASIC works like that then some hackers are gonna be very happy. 00:48:57 oh, this is an official product. 00:49:01 'tis 00:49:02 Yes. 00:49:12 there's a new version coming out very soon to the US 00:49:14 should be loads better 00:49:17 i know some emulator people now so i just assume all game systems are cracked. 00:49:20 and it will support 3d output 00:49:25 It's, uh, the BASIC variant in the PetiteComputer thing? 00:49:33 yeah, Petit computer 00:49:44 Sadly not really. The DSi is only tenuously cracked, and the 3DS is utterly uncracked at this point. 00:49:50 "Also, you can utilize data in your program from the built-in accelerometer, gyro-sensor, microphone and the circle pad. Get the most out of potential of Nintendo 3DS!" 00:49:53 *And* it's got fucking region locking! 00:49:56 Sounds like entropy to meeeee 00:50:03 Bike: that's in the new version though 00:50:06 not released to the US yet 00:50:16 And the DSi and 3DS are region locked. 00:50:17 i live on the edge 00:50:18 I'm using the DSi version 00:50:21 Because Nintendo hates people. 00:50:25 ..........of the US and europe 00:50:41 I would think it would be better to do differently, if instead it has a Forth interpreter built-in (rather than being external software), with a virtual machine that you can access the full address space of (you don't need to access address space outside of the VM) 00:50:50 i wonder how good the accelerometer is. i tried my phone's and it was one hell of a hot mess 00:50:51 The original Nintendo DS is not region locked. 00:50:54 pikhq: I think this is more of a SmileBoom thing, they have to translate everything into english, and make sure it still works 00:51:17 GeekDude: The thing is, though, if the platform weren't region locked you could at least *run* foreign software. 00:51:19 then they plug their PRNG into a countdown timer 00:51:26 It might not be in a language you speak, but still. 00:51:40 I do have one foreign game card on my Nintendo DS 00:52:14 http://smilebasic.com/en/image/ss-story-help-4.png wow, it's like i'm really on my TI 00:52:37 I get "TIME$" and "DATE$" as my only two time sensitive inputs 00:52:46 Bike: it looks like a shitty dos game 00:52:58 that amazing font!!! 00:53:06 I still write games on DOS sometimes 00:53:18 I'm doing this http://i.imgur.com/ryhFSIA.jpg 00:53:28 but imagine green and brown, and more branches 00:53:42 oh, it's like an l system. 00:53:46 or... something. 00:53:47 it actually is 00:53:52 I've implemented an L system 00:54:05 #nailed it 00:54:19 though, two of the operations include "and add a random number" 00:54:31 so YMMV as to reproducability 00:54:31 nuthin wrong with a lil stochasticism. 00:55:29 RAND = (433*RAND + 238) % 724 00:55:33 woo, 'random' 00:55:46 nsa gonna hack ur l system 00:56:23 idgi. wouldn't that have a period of at most 724 00:56:37 lol 00:56:52 I said 'vaguely random' 00:57:05 no, that's true, you might as well use the largest modulus you can. 00:57:13 ¯\_(ツ)_/¯ 00:57:23 I'm not sure how stack overflow is handled 00:57:29 it says values larger than the max limit are "ignored" 00:57:32 stack?? 00:57:41 There is not stack 00:57:43 no* 00:57:52 er 00:57:54 you just said stack overflow, did you mean numeric overflow. 00:57:55 integer overflow* 00:58:12 right, well, just find a prime around 500000 and call it good. 00:58:17 My head is on slightly crooked 00:58:29 "Ok google, closest prime to five hundred thousand" 00:58:41 er... well i don't remember the requirements... they're on wikipedia. 00:58:58 http://www.wolframalpha.com/input/?i=prime+near+50000 the future is great 00:59:49 * GeekDude needs to test integer overflow first 01:00:09 ah 01:00:17 seems to just print "overflow" and ignore the command 01:00:41 I need to do two commands then I think 01:00:49 one to multiply and the other to do other things 01:02:02 RAND = 483 * RAND:RAND = (RAND + 238) % (LIMIT - 238) 01:02:07 that would work I think 01:02:15 : is the command delimiter thing 01:02:18 like ; in C++ 01:02:47 what's LIMIT? 01:02:58 the maximum integer size 01:03:06 In BASIC a colon can be used for multiple commands in one line; otherwise line breaks delimit multiple commands. 01:03:07 in this case, roundabout 524287 01:03:25 hey zzo38, I'm starting up a SmileBASIC channel if you wanna join 01:03:28 It is different than in C and C++, where a semicolon marks the end of a statement, regardless of line breaks 01:03:37 well, a new SmileBASIC channel 01:03:43 the other one was on EFNet and only had 2 people 01:03:45 GeekDude: I saw your invitation, and no I don't have any Nintendo 3DS 01:03:47 me and 01:03:49 aww 01:04:00 Where'd you learn about SmileBASIC? 01:04:05 or was that just google talking 01:05:10 i think every random number you generate will be 1 (mod 3) 01:05:27 I like to program Famicom though 01:05:52 -!- AndoDaan has joined. 01:05:53 I did learn about SmileBASIC from a message on NESdev I think. 01:06:00 I do not remember. 01:06:22 because 3 | 524287 - 238, and 3 | 483, so your formula mod 3 becomes just (0r + 1) = 1 01:07:15 I'm not sure I'm following 01:09:24 256 * 1024 is the max integer limit 01:09:28 er 01:09:31 512 * 1024 01:09:51 so if I use a multiplier just below 512, I can use a max of just around 1024 01:11:32 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 01:13:12 IF RAND<1024 THEN RAND=RAND*503 01:13:12 RAND=(RAND+9203)%1024 01:13:22 That should be overflow free, and users primes for both M and C 01:13:29 er, a and c 01:13:34 m is 1024 01:14:04 multiples of two for m is standard 01:18:19 this seems to be working fairly okay 01:18:58 There is an actual PRNG on here, but I can't seed it 01:19:01 Famicom even has two game pads, microphone, keyboard, drawing tablet, light gun, tape recording, stereovision, dance mat, and more other things. 01:20:11 What's up with the connector port on the bottom? 01:20:26 at least, on the USA NES 01:20:36 The NES connector port was going to be used for the NES disk drive, but they never released that. 01:20:48 It connects also to the cartridge port and a few other things; it isn't very useful. 01:21:17 And not all versions of NES even have such a port anyways. 01:21:33 Perhaps the most useful thing to do with it would be to jumper the cartridge port lines and the sound lines, and then mod a Famicom adapter to put the sound lines on those pins. 01:22:11 (the Famicom had a sound line on the cartridge port; on the NES, this was moved to the expansion port. Unfortunately, Famicom games *actually used* the sound line.) 01:22:49 Sound input, output, or both? 01:23:32 Output. 01:23:53 and the famicom games used this for... ? 01:23:54 Actually, the Famicom has both. 01:23:57 I can't think of a goo use case 01:24:01 good* 01:24:10 Better synthesizers on the cartridge. 01:24:20 The FDS itself used this feature. 01:24:26 If you decide the output, can't you just use local feedback? 01:24:26 The audio goes through the cartridge; usually it is just a wire or mixed with extra audio on the cartridge, and another pin goes that to TV set. 01:25:02 zzo38: Ah. 01:25:09 I thhought it was mixed in the console. 01:25:59 -!- tromp_ has joined. 01:26:12 But yeah. The Famicom sound hardware was somewhat limited, and having an extra synth on the cartridge bought you a lot of extra power. 01:26:50 Least it's not as limited as the poor 2600 was. 01:28:02 I still think super famicom was where it was at 01:28:23 -!- tromp__ has quit (Ping timeout: 240 seconds). 01:28:27 It was overall a pretty awesome system. Crazy to emulate though. 01:29:11 Cartridges on there can bus master. 01:30:06 Emulating heterogenous multiprocessing like that is such a pain. 01:30:33 opencl to the rescue 01:31:02 I don't like Super Famicom; I like Famicom. 01:31:14 Bike: Doesn't help that much here. 01:31:36 It's shared memory heterogenous multiprocessing. 01:32:04 This is about where most people start sobbing. 01:32:20 Famicom is faster than Commodore 64, too. 01:33:18 By about 700kHz, sure. 01:33:52 I am even writing a Z-machine interpreter on Famicom. I designed a custom mapper for this purpose; I have the description of it if you want it. 01:34:02 Spiffy. 01:34:22 That's almost as awesome as the SCUMM interpreter on Famicom. 01:34:24 Infocom never did, but they did it on Commodore 64. However, looking at their codes they did many things slow. 01:36:30 The mapper I use is pretty unusual (although it can be made using a few 74xx series): For one thing, the story file is stored on a separate ROM chip, which is bankswitched two bytes at a time, and the 64K RAM in the cartridge is bankswitched one byte at a time. For another, the registers overlap mirrors of the Famicom's internal RAM. 01:37:01 pikhq: famicom SCUMM interpreter? 01:37:06 how's the audio? 01:38:08 Only thing that uses it is the official port of Maniac Mansion, so a bit hard to judge. :) 01:38:27 (I don't know any other mapper with such small bank sizes, or with registers overlapping the mirrors of internal RAM.) 01:50:08 hmm 01:50:18 My random number generator, expectedly, is quite bad 01:50:26 a small seed starts off with a small input 01:50:32 er, small starting random values 02:14:01 -!- Sorella has quit (Ping timeout: 244 seconds). 02:30:25 Another possible random number generator is ARCFOUR, which is what SQLite uses. 02:32:50 Finally found some good values for my random 02:34:09 IF RAND < 515 THEN RAND = RAND * 1018 02:34:10 RAND = (RAND + 1018) % 515 02:34:27 gives pretty good results 02:34:40 though... 02:34:46 now that I think about it it's always less than 515 02:35:19 actually, I think I have an overflow opportunity here too 02:35:25 I might try choosing a slightly lower coprime pair 02:35:32 or a slightly lower multiplier 02:36:10 -!- tromp__ has joined. 02:37:53 -!- SvenGek has quit (Quit: [Quit: [Quit: SvenGek] [Quit: SvenGek]]). 02:38:27 -!- tromp_ has quit (Ping timeout: 258 seconds). 02:40:15 ah 02:40:18 nope, I'm good 02:41:03 1018+514*1018 == 524270, which is less than 524287 02:44:23 What's the feature known to be introduced in new NetHack/ 02:46:14 -!- boily has joined. 03:02:07 -!- AndoDaan has left. 03:03:48 Sgeo, you can offer the amulet to moloch now or something 03:12:28 That can't be a win, can it 03:12:42 What happens? 03:30:12 -!- coppro has quit (Ping timeout: 258 seconds). 03:30:55 -!- coppro has joined. 03:32:17 How can you win an infinite collection of envelopes (the first containing $1, the second having $2, the third having $3, the fourth having $4, etc) from "Let's Make a Deal"? 03:34:15 you can't, there isn't an infinite number of envelopes to win 03:34:26 or would that be an arent 03:34:28 anyways, https://db.tt/NPeEG7ml 03:34:56 what's an arent? 03:34:57 And the output, http://i.imgur.com/unpvLzV.jpg 03:35:53 night all 03:36:09 GoodnightkDude! 03:36:11 Where would you keep all of them? In a black hole? Possibly it won't fit even in a black hole. Also, they would add up to a negative number. 03:36:47 wasn't there a "proof" out there about adding up all the positive integers equals -1/12? 03:36:50 i'm not sure the world financial system is down with ramanujan summation. 03:36:57 Yes, I have seen that 03:37:03 That it add up to -1/12 03:37:25 Bike: But the world financial system is not infinite. 03:37:28 ramanujan and... i think cesaro? give you -1/12 03:37:57 oh, no it's not cesaro summable. 03:38:07 Isn't that the one where you take averages? 03:38:16 Yes. 03:38:27 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:38:33 I say all positive numbers are, on average, about five. 03:38:45 (trust me, I'm an engineer.) 03:38:48 I don't think so. 03:39:18 you know what's weird? the erdos-kac theorem 03:39:54 -!- mauris has quit (Ping timeout: 246 seconds). 03:40:08 wikipedia even says "randomly chosen large integer". 03:41:54 that is strangely fascinating. 03:42:17 eh, any integer is gonna be about five anyway. 03:43:36 that's what I said, but zzo38 is being mean. *pfbfbfbfbt* 03:43:53 c'mon zzo, they're an engineer! they know all about numbers. and five. 03:45:30 me, i've never even seen a number in person, to be perfectly honest 03:45:45 Being an engineer is not quite good enough 03:46:08 It also mean, you need to be mathematician, and you also need to prove it, too. 03:46:29 IANAMAA. 03:47:13 http://existentialcomics.com/comic/36 03:47:40 -!- AndoDaan has joined. 03:48:39 Bike: :D 03:51:30 'night all! 03:51:45 -!- boily has quit (Quit: CHILLING CHICKEN). 04:01:25 "P.S. I can't end the post without sharing my favorite self-reproducing program: the one-line shell script #!/bin/cat." 04:02:21 -!- copumpkin has joined. 04:03:31 Sgeo: Sadly, not a shell script and won't work on all POSIX systems. 04:03:45 However, this one will: cat "$0" 04:07:42 Can't tell anything about a .zip file until the entire .zip file is loaded, but can quickly make changes 04:08:15 Although, the latter seems irrelevent... a central header should be sufficient these days, right? Since central footer mostly makes using floppies easier? 04:10:21 Puting the list at the end may also make it easier to write through a pipe in some cases (although might be more difficult to read), and possibly for cheating at Day of Zeux. 04:11:50 The footer of the .zip file is strictly necessary. 04:12:19 That's the only part of the file that most anything looks at first. 04:12:42 Day of Zeux? 04:13:04 Wait, .zip the Z-Machine format? 04:13:08 -!- Sorella has joined. 04:13:13 I meant sufficient in the sense of, if .zip were redesigned with modern requirements in mind, would we still want to place the directory data in the footer 04:13:46 The extension .zip (sometimes also .dat) is also used for Z-machine files, although this is not recommended due to confusion with ZIP archive files. 04:13:47 Oh. Yes. We would not do so at all. 04:13:58 -!- Sorella has quit (Changing host). 04:13:58 -!- Sorella has joined. 04:14:14 As evidenced by how ZIP is nearly unique in that property. :) 04:15:15 * Sgeo goes to read the DEFLATE spec 04:15:45 DEFLATE is a moronic and insane file format with equal parts weird microoptimization and utterly pointless redundancy. 04:16:40 Frankly, I'm pretty sure Phil Katz was drunk when he made it. 04:17:11 Is ZPAQ better then? 04:18:18 From what I know, it's a bit absurd in the sheer flexibility of the format, but it sure seems better designed. 04:19:05 o.O 04:19:28 (for those who don't know, ZPAQ is literally a compression format that specifies a VM for decompression algorithms.) 04:19:43 Ooh that sounds fun 04:20:07 I'm going to go read that instead even if no one uses it 04:20:46 Yep. It's not a common format, but it's certainly a unique design for a format. 04:21:35 I don't entirely like all the way that the VM in ZPAQ works; it requires more than one VM as well as a few other things. What I think would be good way, is the archive file is a memory image for a "Decompression Computer"; the decompression program then loads te memory image and emulates the Decompression Computer. The data on the output port is then treated as a tape archive. 04:22:56 But yeah. ZIP was devised by an alcoholic and it shows. :( 04:24:34 O, and I would then have Huffman-encoded instructions, and many of the instructions implement important parts of decompression algorithms and other high-level stuff too; it is a very CISC computer. 04:26:33 Also the output has to be made, it be set to go to a buffer or to stdout. (It could also have stdin, which is going to be used for encryption.) 04:48:02 -!- weissschloss has quit (Remote host closed the connection). 04:49:13 pikhq: Looks like adding data can get corrupted if there's a hash collision in SHA1? 04:50:49 ^^probably not relevent 04:52:10 -!- weissschloss has joined. 04:52:25 Although SHA1 is disliked these days, isn't it? 04:53:24 Yes, there's theoretical exploits against it that weaken its collision resistance. 04:54:11 GNU C is getting a bit slow even when I didn't turn on the optimization 04:54:18 Though strictly speaking it's not attackable in practice yet to our knowledge, it's to the point that you should really move away from it *now* so you don't get caught with your pants down. 04:54:52 Is it necessary to tell it to turn off the optimizations? 04:55:12 pikhq: is ZPAQ updatable to make dedup reliant on SHA-256 instead? 04:55:17 I do not know. 04:56:07 :( at C++ API... so many lesser known programming languages can talk to C but not C++ 04:57:27 Can you use it in C++ if you use a extern "C" block to load them? 04:58:44 "time gcc -g -O0 -o nanozil nanozil.c" says it is 15 seconds 05:00:00 pikhq: so... this model stuff... would it make sense to, say, make a specialized Brainfuck model to compress more easily brainfuck code? 05:00:18 Which presumably could then be decompressed with any compliant ZPAQ decompressor 05:00:50 Sgeo: Things like these are some of things I have wanted to do, too 05:04:09 "To mark the end of the data, each decoded byte 05:04:10 is preceded by a EOS (end of segment) bit, which is 1 after the last byte, coded with p1 very near 0. " 05:04:31 So, is it possible that a model that makes a strong prediction but gets it wrong confuses the decompressor? 05:08:25 Clearly, the optimization I have implemented is broken. 05:11:03 This is the input file: http://sprunge.us/JIdV This is output with optimization turned off: http://sprunge.us/TPAM This is output with optimization turned on: http://sprunge.us/SXPa 05:13:07 -!- Guest15560 has quit (Ping timeout: 245 seconds). 05:17:05 I suppose it is to be expected; I didn't test it until now. 05:17:49 Can you help me to fix it? 05:23:39 I added #ifndef OMIT_OPTIMIZATIONS and -DOMIT_OPTIMIZATIONS for now; it causes GCC to run much faster now. 05:26:13 -!- AndoDaan_ has joined. 05:29:09 -!- AndoDaan has quit (Ping timeout: 260 seconds). 05:30:15 -!- conehead has joined. 05:39:45 -!- conehead has quit (Quit: Computer has gone to sleep). 05:51:58 -!- augur has quit (Quit: Leaving...). 05:55:15 -!- conehead has joined. 06:04:19 I should stop being surprised when this Celtic music sometimes sounds Enya-esque 06:07:15 -!- shikhin has joined. 06:07:21 -!- shikhin has quit (Client Quit). 06:07:39 -!- shikhin has joined. 06:15:50 -!- augur has joined. 06:23:14 -!- password2 has joined. 06:27:33 -!- Patashu_ has joined. 06:27:34 -!- Patashu has quit (Disconnected by services). 06:27:39 -!- Patashu_ has changed nick to Patashu. 07:04:42 -!- Lymia has quit (Remote host closed the connection). 07:04:48 web.test: points 2.17, score 22.16, rank 14/47 07:05:52 is that a way to submit programs via the web 07:06:09 Yeah, http://zem.fi/bfjoust/ at the bottom 07:06:21 I just made a mistake submitting it for real. 07:07:10 web.test: points -46.00, score 0.00, rank 47/47 (-33) 07:08:16 -!- password2 has quit (Quit: Leaving). 07:08:51 !bfjoust BeatYouMate >(-)*6>(+)*7>-(+)*17>(-)*12>(+)*8>(-)*7>(+)*8>(+)*3>[(-)*7[+]]>>[(+)*7[-]]>>([(+)*14[-]]>)*3([(-)*14[+]]>)*3[(-)*7[+]]>>[(+)*8[-]]>>([(+)*14[-]]>)*3[(-)*14[+]]>[(+)*14[-]]>[(-)*16[+]]>[(-)*7[+]] 07:08:51 AndoDaan_.BeatYouMate: points 2.38, score 22.40, rank 13/47 07:09:03 -!- password2 has joined. 07:11:46 !bfjoust BeatYouMate <>< 07:11:46 AndoDaan_.BeatYouMate: points -46.00, score 0.00, rank 47/47 (-34) 07:11:55 -!- AndoDaan_ has changed nick to AndoDaan. 07:11:59 !bfjoust BeatYouMate >(-)*6>(+)*7>-(+)*17>(-)*12>(+)*8>(-)*7>(+)*8>(+)*3>[(-)*7[+]]>>[(+)*7[-]]>>([(+)*14[-]]>)*3([(-)*14[+]]>)*3[(-)*7[+]]>>[(+)*8[-]]>>([(+)*14[-]]>)*3[(-)*14[+]]>[(+)*14[-]]>[(-)*16[+]]>[(-)*7[+]] 07:11:59 AndoDaan.BeatYouMate: points 2.95, score 22.58, rank 13/47 (+26) 07:13:24 web.DeadFish: points -46.00, score 0.00, rank 47/47 07:14:03 oh jousting 07:14:12 Indeed. 07:17:09 penile jousting 07:25:11 -!- Tod-Autojoined has changed nick to TodPunk. 07:30:59 -!- oerjan has quit (Quit: More like piscile). 07:48:50 -!- conehead has quit (Quit: Computer has gone to sleep). 07:54:53 "Every compressor that can compress any input must also expand some of its input. However, the expansion never needs to be more than one symbol. Any compression algorithm can be modified by adding one bit to indicate that the rest of the data is stored uncompressed." 07:55:01 I wonder how many people fail to consider that last part 08:29:21 [wiki] [[Special:Log/newusers]] create * MaurineWooten * New user account 08:41:38 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:48:36 -!- shikhin has quit (Quit: Lost terminal). 08:49:07 -!- shikhin has joined. 09:04:48 Sgeo: i would imagine that any compression algorithm worth its salt would include that logic, or something equivalent to it? 09:05:54 quintopia: most compression algorithms include similar logic, but not exactly that strict, so they might expand strings by slightly more than one symbol 09:08:38 b_jonas: depends on how you define symbol :P but yeah, I'd expect them to at least expand no input by more than a constant 09:09:09 quintopia: they don't usually do that, because they want a streamable compression (with very large buffer), 09:09:37 so eg. if the first gigabyte of the input is uncompressible, they write that first gigabyte uncompressed with a length marker before reading the second gigabyte 09:09:44 so you get expansion by a small constant factor 09:10:06 they don't want to have to read the whole input to decide whether to use a constant long marker marking that all the data is uncompressible 09:10:29 b_jonas: not all compressed data needs to be streamed. for streamable data, i expect each encoded unit to expand by no more than a constant 09:11:19 sure, not all, but all the compression methods for very long input are. there's methods for limited sized inputs, where obviously the input extends only by a constant for any encoder with finite state. 09:13:12 in practice, the important part is that the compression doesn't expand the input by too much 09:14:36 also note that some compressions, such as gzip (zlib with the gzip header), are defined as concatenatable: if you concatenate two compressed outputs, you can decompress them as the catenation of the two inputs. that already precludes the compressor being able to compress with just a constant marker at the end, because after such marker it couldn't find where you concatenate the next gzip file. 09:14:48 presumably this was useful for casette tapes. 09:20:21 it doesn't preclude that each of the two parts that were concatenated has only a constant tag 09:26:16 quintopia: it does 09:26:39 quintopia: if there's a constant tag that quotes all the rest of the file, then you can't recognize where that file ends and the next compressed one starts 09:27:15 quintopia: this works even if the form of the constant length quote tag varies as long as you can quote any input with a constant length prefix tag 09:41:33 -!- impomatic_ has joined. 09:56:55 -!- Phantom_Hoover has joined. 10:16:48 -!- Lymia has joined. 10:16:50 Opps! 10:29:46 IDSPISPOPD 11:06:56 -!- Sorella has quit (Ping timeout: 260 seconds). 11:21:55 -!- evalj has joined. 11:56:55 -!- shikhout has joined. 12:00:13 -!- shikhin has quit (Ping timeout: 260 seconds). 12:14:22 -!- password2 has quit (Ping timeout: 240 seconds). 12:20:47 -!- GeekDude has joined. 12:46:12 b_jonas: not if the constant tag encodes the length of the file 12:46:27 -!- AndoDaan_ has joined. 12:47:14 quintopia: sure, but then it's no longer constant 12:47:27 b_jonas: with the qualification of course that "any length" is upper bounded by a constant 12:48:21 -!- AndoDaan has quit (Ping timeout: 246 seconds). 12:48:23 yeah 12:51:28 -!- AndoDaan_ has quit (Read error: Connection reset by peer). 12:51:47 -!- AndoDaan has joined. 12:53:50 -!- boily has joined. 13:00:17 -!- Patashu has quit (Ping timeout: 245 seconds). 13:02:28 Best webdesign: phone number form can't be tabbed out or moved within with cursor keys (part of input validation, apparently) and the submit button fires a jQuery $.ajax request with only a "success" handler, which proceeds to fail (20-second timeout) and leave the page to a "please wait" + spinning thing mode. 13:04:08 fizzie: yeah, typical 13:04:31 -!- FreeFull has quit (Quit: BBL). 13:07:37 -!- Sorella has joined. 13:08:29 -!- Sorella has quit (Changing host). 13:08:29 -!- Sorella has joined. 13:09:07 lol 13:09:22 Why would you need jquery to submit a form? 13:10:45 [wiki] [[Special:Log/newusers]] create * MarylinYagan * New user account 13:11:18 HackEgo: help 13:11:24 pfft 13:14:46 It's one of those multi-step "wizard"-style forms, except it's just the one page and they move from step to step with scripts that do ajax requests and populate the later steps based on the results, then animate fancy side-swipe things to move to the next step. 13:15:01 T_T 13:15:56 * GeekDude wonders if you could do it with a complicated css script that relies on the status of check boxes to hide or show other elements 13:20:37 fizzie: stupid 13:20:50 GeekDude, my guess? "Yes, but don't" 13:20:57 lol 13:21:02 I want to do it for the lulz 13:21:05 Which, this being #esoteric and me being me, I'll give it a go this evening probably 13:21:13 I don't know enough CSS though 13:22:36 GeekDude, can you send me a @tell to remind me? I'm heading out now 13:22:41 uhh 13:22:44 I can send youa mmemo 13:22:46 memo* 13:22:49 with memoserv 13:22:57 Or a tell with lambdabot 13:23:03 @tell GeekDude like this 13:23:04 Consider it noted. 13:23:05 I don't know these bots 13:23:17 ah 13:23:18 okay 13:23:55 @tell Taneb GeekDude wonders if you could do it with a complicated css script that relies on the status of check boxes to hide or show other elements 13:23:55 Consider it noted. 13:46:52 -!- Sorella has quit (Ping timeout: 245 seconds). 13:47:06 -!- AndoDaan_ has joined. 13:47:54 -!- AndoDaan has quit (Ping timeout: 244 seconds). 13:48:52 -!- AndoDaan_ has changed nick to AndoDaan. 13:50:19 GeekDude: the bots are our leaders. 13:50:23 @metar CYUL 13:50:24 CYUL 281300Z 25010KT 15SM FEW240 18/15 A3013 RMK CI1 CI TR SLP202 DENSITY ALT 200FT 13:51:00 I lead a guy on for a minute or two by copy and pasting into my IRC client. He though he had shell access on my bot 13:51:26 -!- paul2520 has joined. 13:52:47 -!- password2 has joined. 13:54:39 hunter2? 13:56:37 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 13:58:41 -!- GeekDude has joined. 14:05:22 [wiki] [[Object oriented thue]] http://esolangs.org/w/index.php?diff=40548&oldid=40515 * 4D enthusiast * (+139) /* stdio */ Simplified escpe codes, and made the description mroe explicit 14:09:29 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 14:11:12 @metar LOWI 14:11:13 LOWI 281350Z VRB03KT CAVOK 25/13 Q1024 NOSIG 14:13:13 -!- password2 has quit (Ping timeout: 244 seconds). 14:15:53 -!- GeekDude has joined. 14:22:14 @metar FLKK 14:22:15 No result. 14:23:27 @metar FBSK 14:23:28 FBSK 281400Z 04011KT CAVOK 33/00 Q1011 NOSIG 14:23:40 ah, there's at least one! 14:23:53 (also, 33/00? what the fungot is that?) 14:23:53 boily: trouble with memory. i see things i never knew. my father secured me a place in an upper room of sabin's tavern near the docks along the southerly part of the strictly imaginative writing of the middle ages, and the 14:24:11 fungot: ah, trouble with water memory. I see. 14:24:11 boily: millennially fnord substance and a very much smaller polyhedron of unknown colours and rapidly shifting surface angles seemed to take place. yet some quality about it disturbed me almost as poignantly as its noxious cause i beheld in the misty sky above the waves. 14:24:42 -!- sebbu has changed nick to sebb. 14:24:44 fungot: trouble with fnord substance pollution causes botswana's relative humidity to drop. 14:24:44 boily: worst of all, the victim was a writer and painter wholly devoted to this form is the living writer fnord level, whose very brief episodes have lent themselves so readily to theatrical fnord in the form of charles le sorcier!' 14:24:59 fungot: I can see clearly now the rain is gone 14:24:59 GeekDude: then, in the great mausoleum he built near the church as in the macabre posthumous novel dr. grimshawe's secret. i looked down upon the calm placid face lined with sorrow, stood by as i shouted my demands to be laid within the tomb, near the gate of deeper slumber. 14:25:08 -!- sebb has changed nick to sebbu. 14:40:13 -!- SvenGek has joined. 14:41:38 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 14:43:22 -!- scounder_ has changed nick to scounder. 14:43:34 -!- scounder has quit (Changing host). 14:43:35 -!- scounder has joined. 14:46:55 @metar EFHK 14:46:56 EFHK 281420Z 21014KT 9999 FEW045 BKN200 15/10 Q1009 NOSIG 14:47:23 Better than the 01/M01 from the beginning of the week, at least. 14:54:52 -!- boily has quit (Quit: APERIODIC CHICKEN). 14:58:10 -!- AndoDaan has quit (Ping timeout: 250 seconds). 14:59:06 -!- AndoDaan has joined. 15:14:44 -!- GeekDude has joined. 15:14:47 -!- evalj has quit (Ping timeout: 245 seconds). 15:27:15 -!- Phantom_Hoover has quit (Remote host closed the connection). 15:34:19 [wiki] [[Mang]] N http://esolangs.org/w/index.php?oldid=40549 * 204.88.29.130 * (+1432) create page 15:46:01 -!- Sorella has joined. 15:46:49 -!- Sorella has quit (Changing host). 15:46:49 -!- Sorella has joined. 15:49:53 @messages-loud 15:49:53 GeekDude said 2h 25m 58s ago: GeekDude wonders if you could do it with a complicated css script that relies on the status of check boxes to hide or show other elements 15:53:19 hi 15:54:46 so... mang is multitape-brainfuck? 15:56:43 I thought it was a "2D program, single tape for data" from the description. 15:57:21 But it's a bit vague. 15:57:56 Then again, I don't know at all what 04/05 would be in that case. 15:59:17 there should be something like voting how interesting a language is with an ordered list of results 16:01:15 piet is the most abstract language ever invented 16:01:33 Is it turing complete? 16:01:33 don't think so 16:02:13 It's a stack based language 16:02:29 and you have the normal push, pop, add, mul, div, etc 16:04:22 There's an arbitrary-depth "roll" in Piet. 16:05:01 So fun 16:05:06 For a bignum variant, I'd say odds are good. 16:05:42 fizzie: arbitrary depth roll should be enough even without bignums I guess (as long as you have integers large enough to index the store) 16:10:00 "The maximum size of integers is notionally infinite, though implementations may implement a finite maximum integer size." 16:10:10 It's the usual vague esolang spec. 16:12:19 yeah, well, do you expect to have computer implementations with truly unbounded integer size? a opposed to just really large integer size with several gigabytes of data? 16:13:43 No, but putting a sentence like that in is an open call to get implementations with, say, 32-bit integers. 16:14:31 sure 16:14:56 or 28 bit ones if the language has data types other the integers too 16:15:04 so that it keeps some bits for tags 16:15:24 or 8 bit integers on a brainfuck-based interpreter 16:16:06 you probably can't go under 5 bits because you need character input and output 16:20:36 ^style fisher 16:20:36 Selected style: fisher (Fisher corpus of transcribed telephone conversations) 16:20:37 fungot: What's up? 16:20:38 fizzie: i live near a hospital now 16:20:58 fungot: What, have you moved out? I thought you were still in the next room there, and there's no hospital very near. 16:20:59 fizzie: um i don't think it's such a waste of time and it's not so easy to talk about um 16:21:22 fungot: I didn't say it was. But you might've told me you've moved! 16:21:22 fizzie: mm uh we had decided early on two months after that sigh i dunno i don't see too much 16:22:12 -!- AndoDaan has quit (Ping timeout: 246 seconds). 16:31:44 Btw, there's no formal proof that piet is Turing complete 16:32:01 according to esolangs.org (it is thought to be however) 16:32:38 it's TC 16:33:01 it has stack rotation and that's enough 16:39:05 SvenGek, someone wrote a brainfuck -> Piet compiler 16:39:52 http://www.matthias-ernst.eu/pietbrainfuck.html 16:42:51 wow 16:43:16 and that's the smoking gun then 16:44:05 http://www.matthias-ernst.eu/pietbf/c8a92dcd9db101e8eed806df37b061a9.gif here's dbfi. mystery solved. 16:44:16 can't say it looks very exciting. 16:46:23 The bottom bit is not too bad. 16:47:27 Reminds me of this other project I saw recently 16:47:47 Awis, which is a BF compiler written in BF 16:47:59 Don't you mean "awib"? 16:48:02 yeah 16:48:10 I'm still amazed by it 16:48:48 fizzie: yeah it's a constant interpreter and the program's up top. so kind of a boring compiler... 16:48:49 The polyglot-ness was fun. 16:48:59 Do you know of any other "big" projects written in esoteric languages? 16:49:07 fungot's biggish for a Befunge program. 16:49:07 fizzie: it was also the same thing 16:49:18 ^source 16:49:18 https://github.com/fis/fungot/blob/master/fungot.b98 16:49:24 It's not "big" in absolute terms, though. 16:49:51 SvenGek: some of the ICFP and IOCCC stuff probably counts 16:50:15 SvenGek: some ICFP contests, including this year's, define an esoteric language or two, and ask for a submission in that language 16:51:09 Lol, that's pretty cool ^-^ 16:56:17 SvenGek: Does Minecraft's redstone count as a language? or are NOT gates discounted 16:57:07 is dwarf fortress considered an esolang? :p 16:58:28 iirc someone implemented GoL in GoL 16:58:52 game of life? 16:59:08 yeah 16:59:11 There are turing complete GoL rulesets. 16:59:14 https://www.youtube.com/watch?v=xP5-iIeKXE8 16:59:27 We have the http://esolangs.org/wiki/EsoInterpreters page if you're "into" that sort of stuff. 17:01:39 -!- FreeFull has joined. 17:03:05 rule seven: it's easy to be turing complete 17:06:16 -!- FreeFull has quit (Ping timeout: 260 seconds). 17:07:03 myname: yes 17:07:15 myname: and so is Openttd 17:08:23 pokemon yellow is turing complete 17:10:36 Accidental TC kinda just happens. 17:11:54 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 17:14:22 -!- FreeFull has joined. 17:16:02 wat 17:18:22 -!- evalj has joined. 17:19:37 pokemon yellow is a cheat, since it breaks out into the obviously TC processor. 17:19:51 you might be able to do an ingame computer with inventory management. would be boring tho. 17:23:28 -!- augur has quit (Read error: Connection reset by peer). 17:23:46 -!- augur has joined. 17:26:27 But... Magic: The Gathering TCness isn't a cheat 17:27:19 sure 17:37:52 i wish my brain were turing-complete 17:37:56 that'd be pretty cool 17:39:32 -!- GeekDude has joined. 17:40:16 -!- AndoDaan has joined. 17:41:06 fizzie: I think the piet BF interpreter needs to be added that list 17:45:26 [wiki] [[EsoInterpreters]] http://esolangs.org/w/index.php?diff=40550&oldid=37503 * Fizzie * (+529) /* Main table */ Link the brainfuck interpreter in Piet. 17:45:40 There. 17:47:35 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 17:50:02 fizzie: are you trying to make a complete table, or ...well what's your purpose? 17:50:54 It's not my page. But I guess the table is there to encourage people to fill in the blanks. 17:52:52 -!- augur has quit (Read error: Connection reset by peer). 17:52:59 -!- augur has joined. 17:53:05 what do the strikeouts mean? 17:53:09 i wonder what "part of cycle" means 17:53:37 quintopia: part of a cycle means it is an edge of a directed cycle in the digraph of interpreters among languages, 17:53:58 so it can probably be used indirectly with the interpreters on the other edges to self-interpret a language 17:54:13 I'm pretty sure there are some X's that could be parts of some cycles, though I haven't checked. 17:55:17 [wiki] [[BF Joust]] http://esolangs.org/w/index.php?diff=40551&oldid=39371 * Fizzie * (+657) Update to reflect current reality. 17:55:36 b_jonas: that was my guess 17:56:09 And I think the strikeouts are broken links. 17:57:36 -!- shikhin has joined. 17:58:17 Well, maybe there are no more cycles in the table, as it stands. 17:59:00 [wiki] [[EsoInterpreters]] http://esolangs.org/w/index.php?diff=40552&oldid=40550 * Quintopia * (+548) ais523's BCT->ResPlicate compiler (unsure whether to include oerjan's ResPairate-2 there or on its own line) 18:00:57 -!- shikhout has quit (Ping timeout: 260 seconds). 18:01:07 I know this is not a really well-defined question, but has anyone ever written a language, probably a forth-like or smalltalk-like or lisp-like, where not only the parser but also the memory allocator (cons) and garbage collector is implemented mostly in that same language (possibly with a little help from some primitives used only in those functions)? 18:02:48 I've heard T implemented its GC in itself. 18:02:57 what's "T"? 18:02:58 http://en.wikipedia.org/wiki/T_%28programming_language%29 that is 18:03:13 Oh, and maru, duh. 18:03:33 Probably most forths? I thought primitive memory was like half the point of forth. 18:03:57 does forth even have gc...? 18:04:17 Bike: the parser, sure, but I don't know whether they implement an allocator/gc in forth itself, or in machine code 18:05:10 ok, thanks 18:05:39 I was thinking on how possible this would be to do. I might try to implement one at some point. 18:05:49 http://galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm#memory yeah, i don't think forth even uses automatic memory managemetn. 18:06:20 Bike: does it at least have a malloc and free? 18:06:35 this is basically like malloc. 18:06:53 though i'm wondering about freeing. malloc is a pretty fucking complex function, this just says it's incrementing a pointer... 18:07:07 yep, if you don't want to free ever it's much easier 18:07:36 (or if you have a compacting garbage collector, but then everything else other than allocation becomes more complicated) 18:07:38 http://lars.nocrew.org/dpans/dpans14.htm#14.6.1.1605 well, there you go. 18:08:05 it even has realloc. 18:08:08 ah, that one has a malloc-free 18:08:10 nice 18:09:16 it's an optional module. looks like the "core" words are just a pointer to open memory, jesus. 18:09:21 of course I might still try to implement something in an interpreter I make of course 18:09:24 C is way more high level than forth, clearly 18:09:31 I think (not 100% on this) that the gforth memory allocation words just call C library's malloc/realloc/free. 18:09:43 fizzie: might depend on which forth 18:09:49 like, forth from which decade 18:09:56 That's why I said "gforth". 18:10:03 yeah, this is ansi i'm looking at. 18:10:03 ah, gforth 18:10:07 Oh, that's not the gforth manual. 18:10:12 It looked so similar. :p 18:10:13 where the primitives for memory allocation seem to be += and sbrk :p 18:10:33 and @ and ! yeah 18:10:35 Yes, that sounds right. 18:11:27 gonna bring this up next time someone tells me about using c for being Close To The Metal 18:11:52 "create x 10 cells allot" and so on. 18:11:56 Bike: To the best of my understanding, in original-sort-of forth everything is a machine word. So it’s more like B than C I would think. 18:12:05 yeah. 18:13:39 as for smalltalk, in -80 you had a defined VM, so probably they wrote the basic stuff in something "low level" like that 18:15:09 Bike: I'm not sure, but I think they wrote the gc in machine language for that. maybe not. 18:16:59 -!- drdanmaku has joined. 18:18:08 b_jonas: does C count? :p 18:18:21 elliott_: yes, I guess it does 18:18:35 I wanted more sort of a forth/smalltalk-like interpreter though 18:19:36 doing GC in the language itself is "easy" enough -- expose an allocator, expose the stack so you can walk it for roots, and have a way to trace the children of an object (lisp satisfies this with a finite set of types just by casing on them), and have a free function 18:19:43 and then wrap cons so it GCs if allocation fails, say 18:19:49 PLAI has a sublanguage/library for writing garbage collectors. 18:19:51 I'm sure you could find a Forth implementation of the allocate/free words. 18:20:13 elliott_: yes, but you also have to make sure not to use more allocation during executing all that than you can clean up for, 18:20:31 but at the same time not just call into machine language to do all the work. 18:20:59 and the point is, you'd implement the free and malloc functions in the language too, using @ and ! and sbrk 18:21:05 (and mmap and whatever) 18:21:30 Having a "low-level" subset language is prettu popular. 18:21:49 b_jonas: that applies in any language 18:21:56 elliott_: sure 18:21:58 b_jonas: just preallocate a bunch of cons cells to use for the GC ahead of time :p 18:22:14 and yeah, you can do malloc and free too. 18:22:43 just more fiddly. 18:22:44 I might try to implement something like this once 18:25:22 yay 18:25:24 I'm in the top 5 18:25:25 :D 18:26:04 but large_decoy seems to have lost plenty of points 18:26:05 mroman_: in what? bfjoust? 18:26:10 b_jonas: yes 18:26:31 great 18:26:37 is ais the only one above you? 18:26:48 ais, quintopia und Lymia 18:26:52 ugh 18:26:54 that's worse 18:27:08 -!- tromp_ has joined. 18:27:14 why? 18:27:18 Because they're good? 18:27:35 no, I mean now you can't just distract ais to get to the top 18:29:14 although on a lose-win basis Lymia isn't beter 18:29:49 -!- tromp__ has quit (Ping timeout: 260 seconds). 18:30:03 also Lymia.nyuroki doesn't stand a chance against cupnoodles :) 18:30:18 cupnoodles wins 38/40 18:31:28 nyuroki hangs on more decoys I guess 18:33:38 on short tapes it just looses because cupnoodles rushes straight to the flag 18:33:48 whereas nyuroki is busy setting up decoys 18:33:53 -!- tromp__ has joined. 18:34:10 nyuroki only wins on tape length 14 18:35:27 a zero cycle ] would btw make offset clears rather useless I guess 18:35:32 since you don't have to pay for it anymore 18:35:38 -!- tromp_ has quit (Ping timeout: 258 seconds). 18:36:31 ah right 18:36:43 I leave the tape at tape length 14 18:37:02 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 18:37:02 mroman_.cupnoodles: points 11.69, score 35.43, rank 5/47 (--) 18:37:07 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*4(>[(+)*8[-].]>[(-)*8[+].])*-1 18:37:09 mroman_.cupnoodles: points 10.24, score 33.30, rank 5/47 (--) 18:37:14 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:37:14 mroman_.cupnoodles: points 12.36, score 36.59, rank 4/47 (+1) 18:37:20 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*7(>[(+)*8[-].]>[(-)*8[+].])*-1 18:37:21 mroman_.cupnoodles: points 10.81, score 34.25, rank 5/47 (-1) 18:37:25 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:37:25 mroman_.cupnoodles: points 12.36, score 36.59, rank 4/47 (+1) 18:37:59 I guess growth can suck it 18:38:21 -!- idris-bot has quit (Quit: Terminated). 18:38:48 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*9[-].]>[(-)*9[+].])*-1 18:38:49 mroman_.cupnoodles: points 11.71, score 35.53, rank 4/47 (--) 18:38:56 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*7[-].]>[(-)*7[+].])*-1 18:38:57 mroman_.cupnoodles: points 11.60, score 35.47, rank 4/47 (--) 18:39:04 -!- Melvar has quit (Quit: WeeChat 0.4.3). 18:39:09 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:39:10 mroman_.cupnoodles: points 11.10, score 34.49, rank 5/47 (-1) 18:39:15 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*3(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:39:16 mroman_.cupnoodles: points 8.43, score 30.32, rank 7/47 (-2) 18:39:20 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:39:20 mroman_.cupnoodles: points 11.10, score 34.49, rank 5/47 (+2) 18:39:28 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:39:29 mroman_.cupnoodles: points 12.36, score 36.59, rank 4/47 (+1) 18:39:37 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<--<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:39:38 mroman_.cupnoodles: points 12.07, score 36.12, rank 4/47 (--) 18:39:47 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*21>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:39:48 mroman_.cupnoodles: points 12.17, score 36.36, rank 4/47 (--) 18:39:53 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*21>(-)*21)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:39:54 mroman_.cupnoodles: points 11.95, score 35.93, rank 4/47 (--) 18:39:58 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*21>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:39:59 mroman_.cupnoodles: points 12.17, score 36.36, rank 4/47 (--) 18:40:13 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*19>(-)*19)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:40:13 mroman_.cupnoodles: points 11.10, score 34.68, rank 5/47 (-1) 18:40:22 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 18:40:22 mroman_.cupnoodles: points 12.36, score 36.59, rank 4/47 (+1) 18:42:09 -!- conehead has joined. 18:42:15 -!- conehead has quit (Changing host). 18:42:15 -!- conehead has joined. 18:43:24 -!- Melvar has joined. 18:45:38 -!- Sprocklem has joined. 18:47:36 -!- idris-bot has joined. 18:58:00 [wiki] [[BF Joust]] http://esolangs.org/w/index.php?diff=40553&oldid=40551 * Quintopia * (-8) changed the tenses to read like history 19:04:57 [wiki] [[BF Joust strategies]] http://esolangs.org/w/index.php?diff=40554&oldid=40529 * Quintopia * (+220) /* 2014 */ NPOV to match the style of the rest of the page. 19:09:07 !bfjoust cupnoodles (>)*9([(+)*4[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:09:08 mroman_.cupnoodles: points 12.29, score 36.31, rank 4/47 (--) 19:09:11 "title: THE JAVELINISTS" "artist: A MINDLESS ROBOT DRONE" heh, I wonder what set these. 19:09:16 !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:09:16 mroman_.cupnoodles: points 12.21, score 36.31, rank 4/47 (--) 19:09:23 !bfjoust cupnoodles (>)*9([(+)*10[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:09:24 mroman_.cupnoodles: points 12.17, score 36.26, rank 4/47 (--) 19:09:25 Those were in a .mp3 file that contained a nonsense Finnish sentence, synthesized. 19:09:42 !bfjoust cupnoodles (>)*9([(+)*9[-].]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:09:42 mroman_.cupnoodles: points 12.00, score 36.03, rank 4/47 (--) 19:09:49 !bfjoust cupnoodles (>)*9([(+)*9[-.]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:09:50 mroman_.cupnoodles: points 10.31, score 33.67, rank 5/47 (-1) 19:10:09 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+]])*-1 19:10:09 mroman_.cupnoodles: points 12.17, score 36.17, rank 4/47 (+1) 19:10:18 !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:10:19 mroman_.cupnoodles: points 12.21, score 36.31, rank 4/47 (--) 19:10:25 !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-]]>[(-)*8[+]])*-1 19:10:26 mroman_.cupnoodles: points 11.67, score 35.23, rank 5/47 (-1) 19:10:29 !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-]]>[(-)*8[+]])*-1 19:10:29 mroman_.cupnoodles: points 11.67, score 35.23, rank 5/47 (--) 19:10:32 !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-]]>[(-)*8[+].])*-1 19:10:33 mroman_.cupnoodles: points 12.12, score 36.04, rank 4/47 (+1) 19:10:36 !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:10:36 mroman_.cupnoodles: points 12.21, score 36.31, rank 4/47 (--) 19:10:58 !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:10:58 mroman_.cupnoodles: points 12.17, score 36.21, rank 4/47 (--) 19:11:21 !bfjoust cupnoodles (>)*9([(+)*8[-]]>[(-)*8[+]]>)*2(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:11:21 mroman_.cupnoodles: points 12.07, score 35.98, rank 4/47 (--) 19:11:24 !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:11:24 mroman_.cupnoodles: points 12.17, score 36.21, rank 4/47 (--) 19:11:27 damnit it 19:11:52 !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:11:53 mroman_.cupnoodles: points 10.36, score 33.62, rank 5/47 (-1) 19:12:01 I cringe while thinking of the poor repository, every time I see these walls of parameter tunings. (Not that it's probably any sort of real problem.) 19:12:10 !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:12:11 mroman_.cupnoodles: points 12.29, score 36.46, rank 4/47 (+1) 19:12:19 !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<---(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:12:19 mroman_.cupnoodles: points 12.26, score 36.46, rank 4/47 (--) 19:12:25 !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<----(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:12:25 mroman_.cupnoodles: points 11.69, score 35.39, rank 5/47 (-1) 19:12:31 !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:12:31 mroman_.cupnoodles: points 12.29, score 36.46, rank 4/47 (+1) 19:12:34 fizzie: face it. people just don't seem to care about !bftest 19:12:43 !bftest 19:12:43 mroman_: "!bftest progname code". See http://zem.fi/bfjoust/ for documentation. 19:12:43 That seems to be the case. 19:12:48 oh 19:12:57 !bftest cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:12:57 mroman_.cupnoodles: points 12.29, score 36.46, rank 4/47 (--) 19:13:09 !bftest cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*7[-].]>[(-)*9[+].])*-1 19:13:09 mroman_.cupnoodles: points 11.93, score 35.86, rank 4/47 (--) 19:13:10 -!- AnotherTest has joined. 19:13:17 !bftest cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*9[-].]>[(-)*7[+].])*-1 19:13:17 mroman_.cupnoodles: points 11.86, score 35.66, rank 4/47 (--) 19:13:21 ok 19:13:33 It's exactly the same, except it doesn't change anything permanently, so if you find something good, you'll still want to submit it for reals. 19:13:40 [wiki] [[Special:Log/newusers]] create * JanetteFreud * New user account 19:13:46 what... 19:13:49 fuck. spam bot. 19:13:52 It does not look BF Jousty enough 19:15:13 fizzie: it could git commit --amend if the last !bfjoust was for that program and in the last minute or two 19:15:52 I guess. Though it's pushed immediately to the web, and I'm sure lots of people keep cloning/pulling the repository every second. 19:17:27 I doubt it's really any sort of performance problem for these oneliners. Was just thinking that only recording somehow "significant" changes would be a boon for BF Joust archeologists that analyze it in the 3000s. 19:18:09 they're smart enough to figure it out, i bet 19:19:56 yeah 19:19:59 It's the 3000s alright. 19:20:06 Give the future some credit. 19:20:35 Hmm. Cheap out on a Palauan domain or just buy the bloody .com and blow half my discretionary ... ? 19:21:11 really? 19:21:19 domains aren't that expensive 19:21:20 * J_Arcane is being somewhat facetious. 19:21:41 Also, I only budget about $20 for a silly project like this, so I'm not necessarily exaggerating. 19:24:28 Are Palauan domains cheaper, then? 19:24:47 what project? 19:25:57 !bfjoust cupnoodles (>)*9([(-)*8[+]]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:25:58 mroman_.cupnoodles: points 12.45, score 36.25, rank 3/47 (+1) 19:26:40 now I only have ais and lymia before me 19:26:48 fizzie: €3.13 a year on Namecheap. 19:27:41 fizzie: How comes that if I sumbit my rank 3 program 19:27:45 it only gets me to rank 6? 19:28:00 (submit as test) 19:28:02 (not for real) 19:28:18 !bfjoust cupnoodles (>)*9([(-)*8[+]]++>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:28:19 mroman_.cupnoodles: points 11.50, score 34.94, rank 4/47 (-1) 19:28:25 !bfjoust cupnoodles (>)*9([(-)*8[+]]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:28:25 mroman_.cupnoodles: points 12.45, score 36.30, rank 3/47 (+1) 19:29:02 !bfjoust cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:29:02 mroman_.cupnoodles: points 12.60, score 36.59, rank 3/47 (--) 19:29:18 If you submit as a test over the web, it will be replacing a different program than if you do it over IRC (since the name is different), which means the competitors are not the same. 19:29:22 !bfjoust cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*8<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:29:22 mroman_.cupnoodles: points 3.88, score 24.95, rank 11/47 (-8) 19:29:26 !bfjoust cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:29:26 mroman_.cupnoodles: points 12.60, score 36.56, rank 3/47 (+8) 19:30:01 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:01 mroman_.cupnoodles: points 12.60, score 36.58, rank 3/47 (--) 19:30:05 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:05 mroman_.cupnoodles: points 11.50, score 34.69, rank 5/47 (-2) 19:30:09 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*7(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:09 mroman_.cupnoodles: points 10.98, score 33.93, rank 5/47 (-2) 19:30:12 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:13 mroman_.cupnoodles: points 12.60, score 36.58, rank 3/47 (--) 19:30:26 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:26 mroman_.cupnoodles: points 12.38, score 36.65, rank 3/47 (--) 19:30:34 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<++)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:34 mroman_.cupnoodles: points 12.14, score 35.96, rank 3/47 (--) 19:30:42 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:42 mroman_.cupnoodles: points 12.36, score 36.33, rank 3/47 (--) 19:30:48 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<+)*4<---(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:48 mroman_.cupnoodles: points 12.29, score 36.28, rank 3/47 (--) 19:30:53 !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:30:53 mroman_.cupnoodles: points 12.38, score 36.42, rank 3/47 (--) 19:31:15 !bfjoust cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<++)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1 19:31:15 mroman_.cupnoodles: points 12.14, score 35.96, rank 3/47 (--) 19:31:18 oh well. 19:31:28 I don't think I'll get it into major programs :( 19:33:05 -!- ais523 has joined. 19:33:16 ais523: I hate preparation 19:34:41 -!- FreeFull has quit (Ping timeout: 272 seconds). 19:35:11 mroman_: trying to beat it, you mean? 19:35:29 No. I just hate it out of hatred. 19:35:34 Perhaps it was a general statement about the concept of preparing for something. 19:35:50 but it was aimed at ais523.preperation 19:35:56 *preparation 19:37:15 see 19:37:22 large_decoy just moved 34 ranks upwards 19:37:26 forwhatever reason 19:38:08 and athena moved down hard 19:38:17 [wiki] [[Special:Log/newusers]] create * AudraGottschalk * New user account 19:39:16 how many "real" accounts are there that never were here? 19:39:38 Why not implement IRC confirmation 19:39:42 rather than captcha 19:39:48 it's called two-factor-spam-protect 19:39:52 captcha + token over IRC 19:40:01 mroman_: that's exactly my idea 19:40:33 not that it would be impossible to write an ircbot for that to continue spamming 19:40:34 I don't think we want to make use of freenode a requirement for getting an esowiki account. 19:40:55 Even though it'd probably be very efficient. 19:41:15 meh 19:41:19 mroman_: well, i do think these spam accounts aren't really aimed at esolangs.org rather than any mediawiki 19:41:24 You can access it neatly through the webchat 19:41:52 Not if you have, say, philosophical objections about the network. 19:41:54 but didn't somebody add those stupid questions? 19:42:04 like "In which year was fukyobrainz invented"? 19:42:35 `learn fukyobrainz is yet another brainfuck derivative however with identical instructions. 19:42:37 I knew that. 19:42:42 "what is the current featured language" 19:43:10 The real challenge is to decide whether it's a brainfuck or fukyobrainz program 19:43:18 studies show it might be impossible. 19:43:24 mroman_: AFAICT, every now and then the spammers hire a human to teach the spambots all the CAPTCHA answers 19:43:30 the solution is to just give fizzie more captchas. 19:43:52 mroman_: make fukyobrainz needing a ; at the end of every line but the last 19:43:56 ideally someone would just download an XML wiki dump, and generate a billion was created in what year? questions 19:44:03 in the localsettings.php format 19:44:06 and then give them to fizzie 19:44:24 -!- AndoDaan has quit (Ping timeout: 244 seconds). 19:44:25 is the captcha used when signing up logged? that'd make it obvious which ones to delete 19:44:37 elliott_: you don't need a full wiki dump for that, just the yearh categories 19:44:45 b_jonas: true 19:44:49 there used to be a site which only had "insert 'php' here" as a captcha 19:44:52 b_jonas: you want to only include pages in Category:Languages, though 19:44:54 worked pretty well 19:45:09 b_jonas: but you kind of want to base it on the actual articles, because making people scroll down to the yearcats to sign up is mean 19:45:34 "insert a bfjoust program capable of entering the hill" 19:45:38 best captcha . 19:45:40 mroman_: hehe 19:45:48 but then they'd just copy ais's program 19:45:52 you could ask "name one of your favorite esolangs" 19:46:08 Oh, I didn't even realize I'm involved in the captcha-setting process, I was assuming they could be changed inside the wiki somehow. 19:46:22 myname: no, we want to involve new people who don't yet have one 19:46:32 plus we don't have a way to check that 19:46:38 we don't have articles on all esolangs yet 19:46:44 we don't? 19:46:51 I doubt even I could get on the hill in one attempt, without using an existing program 19:46:56 mroman_: I have like five todo listed on my user page 19:47:10 go for it 19:47:20 the hill's so good nowadays 19:47:20 http://esolangs.org/wiki/User:B_jonas 19:47:50 there's plenty of vaporware esolangs by me that don't have articles 19:47:57 due to being vaporware 19:48:03 how about “write a program printing the sequence of prime numbers in unary in brainfuck” 19:48:15 lol 19:48:23 we just have to interpret them and check the first few thousand characters of output 19:48:37 though... if they write something that takes like double exponential space and time, we might not be able to 19:48:43 so better give a restriction on time and space 19:48:57 fizzie: they're just hardcoded in LocalSettings.php. 19:49:09 fizzie: you could even programmatically generate them, though they'd have to persist across the two requests 19:49:20 openttd signals? 19:49:24 b_jonas: ++++++[>++++++++<-]>[.] 19:49:27 there's an esolang based on that? 19:49:34 mroman_: they're an esolang as is 19:49:36 you didn't say anything about seperators 19:49:36 fizzie: (and also doing expensive things in LocalSettings.php is a poor idea, obviously.) 19:49:51 oh, add a + 19:50:04 I wonder how much current crop of bots rely on the field element names. 19:50:09 mroman_: they have only a few primitives, but capable of much more than those were desigend for, that's certainly a mark of a esolang in my book 19:50:13 mroman_: just ask zzo 19:50:22 I'd rather not :) 19:50:24 fizzie: I think mediawiki randomises them? maybe it doesn't 19:50:39 The captcha input box is just called "wpCaptchaWord". 19:50:44 (you need railways and trains and maybe bridges and tunnels besides signals obviously) 19:50:45 hm 19:50:47 But they could easily go by document structure. 19:50:54 randomising POST/GET params would probably help 19:51:13 also you could insert fake ones 19:51:16 mroman_: no. spammers probably take those from the html anyway, to attack multiple webpages 19:51:33 like 19:51:48 just add some forms 19:51:51 and hide them with css 19:52:06 I've seen the "don't fill anything here" approach in a couple of places. 19:52:13 (and screw people who don't have css support) 19:52:29 mroman_: these days luckily you can hide stuff with a html5 attribute as well as css 19:52:34 sorry, missed a question; quintopia: This is the project. https://github.com/jarcane/HateStack 19:52:49 though I'm not sure how many browsers eat the html5 attribute, you can use both that and a css rule 19:53:04 it's very useful because it stops hidden stuff from showing up before the css has a chance to load 19:53:41 `perl -e$==0,(1x$_)=~/^(|()1(?1)(?1)\2)$(?{$=++})^/,print$=,$"for 0..13 19:53:44 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 19:53:51 what's that? 19:53:58 Catalan numbers 19:54:00 @oeis 1,2,5,14,42,132 19:54:02 Catalan numbers: C(n) = binomial(2n,n)/(n+1) = (2n)!/(n!(n+1)!). Also called... 19:54:03 variant of http://www.perlmonks.com/?node_id=813859 19:54:19 parent node has code for fibonacci 19:54:32 you can golf that down one character using print"$= " rather than print$=,$" 19:54:40 unless $, has been set, and I don't think it has been 19:54:52 `perl -e$==0,(1x$_)=~/^(|()1(?1)(?1)\2)$(?{$=++})^/,print"$= "for 0..13 19:54:53 ais523: the original obfu uses the -l switch instead to print newlines 19:54:56 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 19:55:08 `perl -le$==0,(1x$_)=~/^(|()1(?1)(?1)\2)$(?{$=++})^/,print$=for 0..13 19:55:12 1 \ 1 \ 2 \ 5 \ 14 \ 42 \ 132 \ 429 \ 1430 \ 4862 \ 16796 \ 58786 \ 208012 \ 742900 19:55:16 right 19:55:25 that doesn't look so good on irc so I wanted a quick fix 19:55:30 but you're right, that's one shorter 19:56:40 one shorter as in http://www.xkcd.com/670/ 19:57:29 `?brainfuck 19:57:29 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?brainfuck: not found 19:57:31 `? brainfuck 19:57:32 brainfuck is the integral of the family of terrible esolangs. 19:57:38 ha 19:57:46 `? brainfuck_derivative 19:57:47 brainfuck_derivative? ¯\(°​_o)/¯ 19:57:50 `? brainfuck derivative 19:57:51 brainfuck derivative? ¯\(°​_o)/¯ 19:58:11 hm 19:58:13 can you do that? 19:58:16 `learn "a b" is ab 19:58:18 I knew that. 19:58:19 `? a b 19:58:20 a b? ¯\(°​_o)/¯ 19:58:23 `? "a b" 19:58:25 ​"a b"? ¯\(°​_o)/¯ 19:58:27 hm 19:58:31 `? " 19:58:32 ​"? ¯\(°​_o)/¯ 19:58:34 `? "a 19:58:35 ​"a b" is ab 19:58:37 lol 19:58:38 ok 19:58:43 `forget "a 19:58:44 Forget what? 19:58:46 `perl -e$==1,(1x$_)=~/(^)(1|11\1)*(?{$=++})^/,print"$= "for 0..20 # Fibonacci 19:58:47 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 19:59:27 does this one fit in a line for HackEgo? 19:59:43 `perl -esub h($){($_=$_[0]=pack b208,0 .unpack b362,$_[0])=~tr/\0-\c?/\0/;tr/\0/\377/c;$_}do{$y=$r;$v=join$r='',a..z;$r^=h$r&"\217"x26^h$v&$y for 0..6;$r^=$_ x26}for"k6sNP2B}({ambrusLB%Ox)Z]n0*zf\0I3"=~/./g;print$r 19:59:44 Just another Perl hacker, 19:59:45 `? password 19:59:45 password? ¯\(°​_o)/¯ 19:59:50 it does fit, great 20:00:27 `? Burlesque 20:00:43 ok 20:00:47 burlesque is only the sexiest language on earth. 20:01:05 Ah right. I secretly added that a while ago. 20:02:07 http://esolangs.org/wiki/EsoInterpreters 20:02:14 ^- yeah. This is utterly incomplete :D 20:02:19 -!- FreeFull has joined. 20:02:27 but it would be really huge if it were complete. 20:03:51 !blsq "abcdefgh"0 0 8rn10.+si 20:03:51 "cfgdbbgebd" 20:03:56 !blsq "abcdefgh"1 0 8rn10.+si 20:03:56 "fhecebcbhh" 20:04:09 !blsq @AZr\1 0 8rn10.+si 20:04:10 "FHECEBCBHH" 20:04:17 !blsq @AZr\1 0 26rn10.+si 20:04:17 "XQELEKCTHZ" 20:04:24 !blsq @AZr\1 0 26rn16.+si 20:04:25 "XQELEKCTHZVBDBQR" 20:04:58 `learn password is XQELEKCTHZVBDBQR 20:05:00 I knew that. 20:05:14 (Most likely the password to life, the universe and all that) 20:06:26 how unsafe is unsafePeformIO randomRIO 20:06:29 what does that do? random generates 20:06:31 ? 20:06:37 rn is random integers 20:06:50 20:06:56 !blsq 0 0 10rn10.+ 20:06:57 {7 10 2 4 3 1 8 4 4 0} 20:07:01 [ ?16$26 20:07:06 ] ?16$26 20:07:06 (and it yields an infinite amount of random numbers) 20:07:07 b_jonas: 19 17 21 16 24 21 17 14 5 22 23 23 10 9 9 20 20:07:17 that's why 10.+ (.+ for lists is take) 20:07:23 !blsq 0 0 10rn10.+ 20:07:24 {7 10 2 4 3 1 8 4 4 0} 20:07:36 ] u:65+?16$26 20:07:37 b_jonas: WKUEHQXADALXNIUX 20:07:44 however, System.Random isn't consistent over plattforms 20:07:58 I recently discovered that Burlesque on anagol yields different numbers 20:10:21 `perl -eprint int(rand 100), " " for (1..10) 20:10:22 33 35 90 18 93 19 93 89 23 5 20:10:23 `perl -eprint int(rand 100), " " for (1..10) 20:10:29 71 97 74 98 81 74 13 29 32 73 20:10:30 Seeded automatically, I guess. 20:11:26 yes, perl is 20:11:45 Can't have auto-seed without IO 20:11:53 (but it doesn't use a very good random generator, or too much seed space) 20:11:59 > mkStdGen 0 20:12:01 mroman_: you could have the bot auto-seed the program 20:12:01 1 1 20:12:15 the environment the bot provides could pass a seed when it evals a line for you 20:12:20 > randomRs 0 10 (mkStdGen 0) 20:12:22 Couldn't match expected type ‘System.Random.StdGen -> t’ 20:12:22 with actual type ‘[a0]’ 20:12:27 @type randomRs 20:12:28 (Random a, RandomGen g) => (a, a) -> g -> [a] 20:12:42 > take 5 $ randomRs (0,10) (mkStdGen 0) 20:12:44 [0,3,6,8,7] 20:12:49 the jevalbot actually seeds the random generator, though you could do that directly inside the jeval prompt by hand too, so it's just convenience 20:12:50 !blsq 0 0 10rn5.+ 20:12:51 {7 10 2 4 3} 20:13:01 hm 20:13:06 lambdabot yields different numbers as well 20:13:31 What's up with hackage's every-now-and-then broken documentation? E.g. http://hackage.haskell.org/package/random-1.1 is gone; have to look at 1.0.1.3 instead. 20:13:49 I've noticed that too 20:13:54 recent packages usually have no doc 20:14:45 I guess it's recent, 12 days ago. 20:15:49 -!- FreeFull has quit (Ping timeout: 260 seconds). 20:20:55 -!- Sorella has quit (Ping timeout: 272 seconds). 20:34:28 -!- shikhin has quit (Ping timeout: 272 seconds). 20:35:57 -!- dianne has quit (Disconnected by services). 20:36:05 -!- dianne has joined. 20:38:02 -!- shikhin has joined. 20:52:25 -!- SvenGek has quit (Quit: bye). 20:52:36 -!- GeekDude has changed nick to GeekAfk. 21:01:39 -!- Patashu has joined. 21:06:54 -!- Sorella has joined. 21:07:43 -!- Sorella has quit (Changing host). 21:07:44 -!- Sorella has joined. 21:13:57 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 21:19:18 -!- AnotherTest has quit (Remote host closed the connection). 21:20:58 -!- Phantom_Hoover has joined. 21:24:22 -!- Patashu has quit (Ping timeout: 240 seconds). 21:43:08 -!- oerjan has joined. 22:04:42 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 22:15:09 -!- Frooxius has quit (Quit: *bubbles away*). 22:19:24 -!- perrier has joined. 22:20:19 -!- perrier has quit (Remote host closed the connection). 22:20:25 -!- TieSoul_ has quit (Read error: Connection reset by peer). 22:21:31 -!- perrier has joined. 22:48:32 -!- drlemon has quit (Remote host closed the connection). 22:59:51 -!- evalj has quit (Remote host closed the connection). 23:02:42 ideally someone would just download an XML wiki dump, and generate a billion was created in what year? questions <-- i'll point out that if ais523's theory of "occasionally hiring a human to break CAPTCHAs" is correct, we _don't_ want to use all of the CAPTCHAs simultaneously; rather we'd rotate to a new subset whenever the spam starts picking up. 23:03:18 oerjan: yeah. if you have hundreds, though, I doubt they'd bother cracking every single one. 23:03:29 especially since there's no real way to know when you're "done" or not other than refreshing a bunch. 23:03:45 I suspect they just occasionally get someone to solve one or two of them. 23:03:50 that's all they need 23:03:55 you can refresh until you get a captcha you know 23:04:00 hm right 23:04:20 which is why logging the ones used for registration would be useful 23:04:20 in which case we can have just _one_ captcha in each bunch :P 23:04:30 I like CLC-INTERCAL's CAPTCHA 23:04:31 true 23:04:36 we could try that 23:04:39 it asks you to evaluate some INTERCAL 23:04:50 more captchas feels intuitively better but I suppose there is no inherent reason for that 23:04:51 but it has a link to the relevant page of the manual, which is rigged to have the CAPTCHA you were just asked as an example 23:05:21 although i guess forcing them to refresh a lot before hitting the right one might slow them down... 23:05:33 so ideally we'd probably want your logging. 23:06:38 -!- GeekAfk has joined. 23:06:46 and then just replace the one used with the next in the unused queue 23:09:49 hm i guess if your suspicion they only solve one or two is right, there isn't really any point in having an unused queue, as long as there are plenty left. 23:10:32 because it would be too expensive for the spammers to pay someone to solve a lot of the captchas. 23:11:28 i guess i'm coming around to completely agreeing with elliott_ here 23:11:57 well, throttling them to only solve one per batch seems reasonable 23:12:48 I think we should have one simple CAPTCHA and replace it when they figure it out. the "slowdown" from making them refresh until they find a captcha they know wouldn't matter; it might matter if they skipped that registration attempt altogether and forgot about it if they didn't know the captcha but frankly spam that registers users doesn't seem to be very fast or common. 23:12:57 we might want to do some logging first to get data on how many they actually _are_ solving at once. 23:13:14 it takes them months to start registering after rotating the captchas 23:13:20 so I think we've already given it more thought than it warrants. 23:14:15 hm i guess you're right the spam isn't frequent enough that refreshing is a real issue 23:14:44 note that these are the spambots that haven't figured out newlines yet 23:15:04 which strongly implies that they aren't targeting our spam filter in particular 23:15:25 well unless they actually _are_ dropping the attempt until next time they come around, in which case they might not be refreshing and we are lucky that they only have solved one CAPTCHA or so 23:16:05 maybe we need to log refreshings too :P 23:18:56 I really don't think it would be that bad even if they knew every captcha. 23:19:10 90% of spam is anonymous stuff that's being caught just fine. 23:19:11 ais523: that's true, but there would still be different behavior whether they're doing (1) try registering with the CAPTCHA, once, then move on to next victim; or (2) try registering with the CAPTCHA, refresh several times at once before giving up and moving on 23:19:25 yes 23:19:32 I suspect it's (1). 23:19:34 if they're doing (1) then having very few captchas would greatly help them. 23:19:35 elliott_: it spams the new user log 23:19:38 (1) is believable, though 23:19:57 ais523: yes, but it's okay to have a few new users every few months 23:20:02 we just need to rotate out the captcha when it happens 23:20:15 -!- GeekAfk has changed nick to GeekDude. 23:20:57 (as in, if we had just one CAPTCHAs and (1) then the spammers might manage to completely flood recent changes with new registrations before we get around to stopping them) 23:21:19 of course they could easily achieve this by doing (2) instead 23:21:53 in either case (1) or (2), having hundreds of CAPTCHAs would cut back on the number of successes 23:24:11 there are online BF interpreters, right? could we link to one? 23:24:19 here's the #1 reason to use one captcha: ais523 is more likely to give fizzie one captcha when registrations start happening than we are to figure out how to track down what captchas were used to remove them 23:24:19 and give people some BF to run and type in the answer? 23:24:33 all this effort devoted to it is a waste. 23:24:39 we could use a script to generate thousands of captchas like that 23:25:49 yeah i think elliott_ is right, provisionally. 23:26:20 which is to say: we revise the plan if they are managing to get in every week 23:26:34 I like this BF CAPTCHA idea 23:26:39 fizzie: Q: In which year was 0x29A created? A: 2004 23:26:43 fizzie: please replace the existing captchas with this 23:26:49 the main reason i feel like logging is a good idea is that we'd then know without too many more attempts why our plan fails when it does 23:26:55 fizzie: unless that exact captcha is in the comments, in which case, heh 23:27:05 (I just pulled up Special:Random a few times.) 23:27:54 elliott_: i note one thing though: if all our CAPTCHAs keep being year numbers we'd eventually be vulnerable to a spammer who doesn't actually read the questions... 23:27:55 ais523: if you manage to find an online interp that takes code in its links so that the registerer doesn't have to do quite so much work, it is a good way of generating captchas. 23:28:17 oerjan: you know what'll be a problem before that? 23:28:27 in like 20 years, all of ais523's spam blocks are going to start getting undone in a trickle 23:28:28 elliott_: universe heat death hth 23:28:37 ah. 23:28:42 when you solve that you can spend this much time worrying about captchas 23:28:47 elliott_: I doubt they'll still be trying after 24 years 23:28:52 and if they are, we can just block again 23:28:57 elliott_: i'm sure we can programmatically prolong them 23:29:34 no i think elliott's onto something here. if we know the heat death is coming, why are we not working on the problem now? 23:30:34 here's the biggest problem: nobody will care about esolangs when we're all wireheads 23:30:55 the heat death of the universe is an existential threat. why is there no international organization dedicated to trying to prevent it? 23:32:13 I'm sure it's on some singularitarians' agenda. 23:32:43 quintopia: because we expect technological and scientific progress to get sufficiently far in a few centuries that it would be useless to start _now_ on planning against something which our current theories say is impossible to avoid 23:33:11 oerjan: those advances will come from what we do _now_. why procrastinate? 23:33:50 quintopia: you can help by trying to make the world more efficient 23:34:00 so that the needed scientific and technological advances come sooner 23:34:02 ais523: okay let's start with not wasting time on captchas 23:34:12 quintopia: because we're not at the point where we can distinguish "what we need to do to prevent heat death" from "what we need to do to achieve general scientific progress, at least in physics" 23:34:28 quintopia: "wasting" time on captchas now saves time wasted clearing up after spambots later 23:34:29 oerjan: then that's something we can work on! 23:34:38 quintopia: and people do! 23:35:37 oerjan: i've yet to see an organization whose stated purpose is "figuring out which direction to advance science and technology in order to find out how to prevent maxentropy" 23:36:46 -!- callforjudgement has joined. 23:37:12 -!- ais523 has quit (Disconnected by services). 23:37:16 -!- callforjudgement has changed nick to ais523. 23:38:02 quintopia: that's because we're busy at "figuring out how not to destroy ourselves long before we reach a level where we'd have a *chance* at figuring out how to prevent maxentropy". also, i should eat. 23:38:51 -!- Sprocklem has quit (Ping timeout: 258 seconds). 23:38:52 wait that's wrong. 23:39:17 we might very well have a chance, it just takes a surprise discovery in physics. 23:39:54 what we don't have is the _necessity_. 23:40:52 Here's a problem. You want to create a variable the same size as socklen_t. One fairly obvious solution would be to declare a variable of type socklen_t. That's not how OpenSSL does things, however. Instead, let's create a union of a couple different ints, call accept(), then inspect the different union members to determine which ones were overwritten by the kernel. Oh, and don't forget to check for big endian versus little endian. 23:41:17 also, after the heat death, doesn't entropy start decreasing as some of the homogenous cloud of mildly warm iron atoms end up expanding beyond the edge of the observable universe? 23:41:19 as in, the universe won't die in the < million years it will take us to either solve the problems we cause ourselves, or die. 23:43:21 you know, the second law doesn't state entropy always rises, just that it lowering is exponentially unlikely. what's to protect from! 23:50:39 Why does OpenSSL do such stupid way? 23:51:19 OpenSSL is a "fun way to learn C". 23:51:19 ais523: i don't think the second law says anything about entropy in the _observable_ universe. 23:51:44 oerjan: in that case, is it possible to keep going indefinitely via shipping off entropy past the edge of the observable universe? 23:51:50 however, i'd interpret that as entropy _density_ decreasing, not entropy itself. 23:52:13 you can't ship things out of the observable universe... 23:52:24 Bike: actually you can. 23:52:43 but you'd have to move stuff faster than you can see it. 23:52:47 and that's pretty fast. 23:52:54 speed of light is plenty fast enough, isn't it? 23:53:17 ofc, then you have another problem, whereby the observable universe runs out of energy 23:53:24 because I don't think it's possible to get energy in from outside 23:53:50 Bike: you just need to move it far enough away that the universe's general expansion takes over. 23:54:22 there are stars leaving our observable universe as we speak, probably. 23:55:52 ais523: the lack of energy means that the _maximal_ entropy density also decreases, i think 23:56:25 so entropy / maximal entropy for the energy remaining might still be increasing even if something leaves the OU 23:56:28 let's hope we find a way around both the first and second laws of thermodynamics, then 23:56:38 vacuum energy seems promising 23:57:46 i would like to point out that the expansion of the universe already violates conservation of energy 23:57:55 -!- shikhout has joined. 23:58:25 Phantom_Hoover: hmm, in that you could, say, take two weights, place them very far apart with an elastic band stretched between them? 23:58:30 pikhq: eh? What, did someone suggest they were writing OpenSSL code in order to learn C? 23:58:47 I'm not sure how you could get the energy out afterwards, though 23:58:48 Sgeo: *That's a quote from the guy who wrote it initially*. 23:58:48 the example i read was a photon being redshifted and losing energy into nothing 23:58:52 Been a while since I looked at OpenSSL Rampage 23:58:54 pikhq: o.O 23:59:42 but the real justification was that the expansion isn't time-symmetric and so noether's law doesn't apply 2014-09-29: 00:00:45 perhaps we'll be able to use the expansion of the universe as an energy and free-energy source some day, then 00:00:52 this makes me more hopeful 00:00:53 -!- shikhin has quit (Ping timeout: 240 seconds). 00:08:06 "In two OpenSSL manual pages, in the NAME section, the last word of the name list is followed by a stray trailing comma. While this may seem minor, it is worth fixing because it may confuse some makewhatis(8) implementations." 00:08:07 o.O 00:08:33 what 00:09:21 what the hell is makewhatis 00:10:02 It generates the whatis database. 00:11:17 Sgeo: CLC-INTERCAL once broke apropos throughout the whole of Debian 00:11:20 that was a fun bug report to read 00:11:32 ais523, what 00:11:49 imo packages should not be allowed to be capable of doing that 00:11:55 the developers acknowledged that it was technically mandb's fault, but asked CLC-INTERCAL to change it because it was a much less widely used program 00:12:02 Taneb: CLC-INTERCAL's executable name used to be oo, ick 00:12:06 with an embedded comma and space 00:12:12 Phantom_Hoover: does the expansion of the universe create locally usable energy? 00:12:16 and this blew up mandb, causing it to produce corrupted output 00:12:21 not afaik 00:12:42 ais523: I hope that shortly after it they fixed mandb 00:12:45 I think you end up with expansional potential energy, or something 00:12:47 Sgeo: no idea 00:13:21 you do but it's dumb 00:13:52 I try to avoid physics when I can 00:13:56 It's too close to reality 00:13:56 it's just saying 'oh energy is conserved because we put a name to the change in total energy' 00:14:42 aiui it doesn't even work like actual energy in e.g. the relativistic field equations 00:15:05 oh, dark energy apparently causes an increase in total energy 00:15:29 since it's a constant joules/volume thing, and expansion increases the volume 00:15:44 I have a book it mentions Einstein's equation, involving Ricci curvature tensor, scalar curvature, spacetime metric, Newton's constant, and energy-momentum tensor. Where does the factor of 8pi come from though? 00:16:29 because it's geometry and 8pi is exactly the kind of constant you normally see in geometry? 00:17:28 same as how maxwell's equations have a 4pi in them, it's a property of the geometric tools you're using 00:17:32 so perhaps some day we can use dark energy in order to stave off total thermodynamic apocalypse 00:17:40 I'm actually feeling surprisingly relieved at this 00:18:41 I also don't know what curvature tensor, scalar curvature, and energy-momentum tensor. I am not sure if I understand spacetime metric correctly either. Does it mean + for time and - for space (or vice-versa)? 00:19:32 zzo38, i can answer this! i did a hyperbolic geometry course last year 00:19:59 the answer is: you pick whichever one will cause maximum confusion to the reader 00:24:20 Phantom_Hoover: I do not understand you. Is one way more confusing? 00:24:55 no, but not being consistent in your choice is 00:25:42 proper choice of convention requires some foreknowledge of your audience, of course; if you know which option they're familiar with you can reliably choose the other one 00:27:30 OK, although I think you should be consistent whichever one you are using (unless you have a good reason to use other one) 00:28:00 -!- Bike has quit (Ping timeout: 250 seconds). 00:28:35 to be clear, i'm joking about the fact that i got fairly confused during the course over which convention i should be using in which circumstances 00:29:05 -!- Bike has joined. 00:29:24 `dontaskdonttelllist 00:29:25 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 00:29:36 @tell mroman_ `learn "a b" is ab <-- we've always created multiword wisdom entries directly 00:29:36 Consider it noted. 00:30:56 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:31:30 oerjan: i like how HackEgo doesn't highlight me 00:31:50 myname: took me a while to get that feature right 00:32:29 @tell mroman but it would be really huge if it were complete. <-- i'm secretly planning to split the table when it gets a bit wider. 00:32:29 Consider it noted. 00:32:50 oops 00:32:59 @tell mroman_ but it would be really huge if it were complete. <-- i'm secretly planning to split the table when it gets a bit wider. 00:32:59 Consider it noted. 00:33:05 myname: It contains "zero width codes" 00:33:05 is he ever on without the _ ? 00:33:16 So that's why it doesn't match. 00:33:21 zzo38: i suspected that 00:33:36 (They are visible on my computer, although still zero-width) 00:34:09 while we are at it 00:34:21 what's the deal with invisible plus? 00:34:31 For fractions, I suppose. 00:34:51 huh? 00:35:02 myname: 3 1/2 and stuff 00:35:08 i see 00:38:48 I wonder whether there's a point in making a `learn variant that can take multiword entries. 00:39:30 But then I'd have to split `learn up into pieces and it's be a hassle. 00:42:34 @tell fizzie What's up with hackage's every-now-and-then broken documentation? <-- the server has been severely overworked so they've turned off the doc generation. a new server should be up any day now. 00:42:35 Consider it noted. 00:43:15 Something about running out of disk space? 00:45:05 oh that post, i haven't been keeping up with /r/haskell. but no, what i'm referring to has been going on longer. 00:46:12 I haven't either. But someone said something in #haskell-infrastructure. 00:46:16 wait have i been ignoring it this long... 00:47:36 i'm referring to this post from 14 days ago, although that means they haven't solved the problem since then... http://www.reddit.com/r/haskell/comments/2gd1hl/did_hackage_stop_building_packages/ 00:48:20 @tell fizzie Actually it's been longer than I thought, the server should have been up already. But there seem to have been new problems recently. 00:48:21 Consider it noted. 00:49:15 -!- ais523 has changed nick to ais523[. 00:49:22 imo the solution is to have all sorts of datacenters all over the world with a large number of servers in each one 00:49:48 i'm sure haskell.org will have no problem paying for that 00:49:55 exactly 00:50:26 especially now that americans can donate to them tax-deductibly (iirc) 00:50:32 -!- Bike has quit (Ping timeout: 250 seconds). 00:51:23 yay finished logreading 00:51:43 what 00:51:51 Quickly, type faster than oerjan can read! 00:52:40 you really read all the stuff that gets posted here? 00:52:57 I know elliott does. 00:53:05 I don't 00:53:16 you people are crazy 00:53:21 those days are long gone 00:53:26 I don't even read the crap that I write 00:53:37 But then elliott isn't a human being, he's some sort of Jungian group consciousness entity formed from all the minds of the people of Hexham. 00:53:45 [wiki] [[Special:Log/newusers]] create * ChiSHAXtjo * New user account 00:54:07 -!- ais523[ has changed nick to ais523. 00:54:40 close enough 00:55:13 myname: not always, and of course i skip particularly boring parts 00:57:48 oerjan reads and analyses every single BF Joust program, trying to find their weaknesses. 00:58:08 that's been particularly annoying lately, yes. 00:58:08 sounds plauible 00:58:26 although i've found a sort of rhythm for skipping those 00:58:42 -!- Bike has joined. 00:59:07 (since mostly it's a long list with every second line !bfjoust and response from zemhill) 01:00:05 (the tricky part of it is not skipping anything else intermingled) 01:01:00 some days when the logs are just too long i just search for my nick and leave it at that. 01:01:49 I'd like to set up a hill for some BF Joust/CoreWars type game for my uni 01:01:54 But on the other hand I'm lazy 01:03:07 On which note, I've managed to procrastinate making dinner until after 2 AM 01:03:21 i'd like some interesting programming game that is either language independent or in befunge 01:03:22 *slow clap* 01:03:58 Taneb: Man after my own heart there. 01:04:32 It is rather funny needing to be reminded to eat at times. 01:04:46 pikhq, for me it can get problematic :( 01:05:21 I've gained something like 60 pounds after starting antidepressants... so I think I know what you mean. 01:05:28 i still get hungry 01:07:46 pikhq, can I PM you? 01:07:52 Sure. 01:08:24 pikhq: tbh that sounds depressing 01:08:43 Not especially. 01:08:50 Went from underweight to mildly overweight. 01:08:54 okay 01:09:05 Saying that, I've forgotten what I was going to message 01:09:09 sounded more like "want to get better? why not become fat first" to me 01:09:52 Nope, more like "I stopped being worryingly thin because I ate more regularly" 01:09:59 pikhq: from weight gain side-effects or just more motivation to eat? 01:10:03 uh, you don't have to answer that 01:10:10 elliott_: Bit of column A, bit of column B. 01:10:19 * elliott_ nod 01:14:07 is it just me or are computer scientists more likely to be depressive? 01:14:25 I want to send a fax by Famicom; do you know how to do it? 01:14:29 Admittedly I've still had some issues with the whole "eating regularly" thing. ... in that it might take me until 3 to realize that I am hungry. 01:15:14 But "ah jeeze I'm going to eat a cow RIGHT NOW" is probably more healthy than "... meh" 01:16:01 except for the cow hth 01:17:10 who cares 01:17:22 well not the cow because it's DEAD 01:17:35 Meh, cows. Even alive they don't care much. 01:17:36 good for the cow 01:17:50 * oerjan is not a vegetarian in case someone takes this seriously 01:19:01 oerjan: why wouldn't i take everything you say deadly seriously? you never joke. 01:19:31 oerjan, do you only eat living cows? 01:20:11 i seem to be procrastinating my procrastination, i just switched to my tatham puzzle from SO 01:20:11 -!- conehead has quit (Quit: Computer has gone to sleep). 01:20:17 no oerjan doesn't eat cow. he's norwegian 01:20:22 Taneb: no hth 01:20:32 As we all know, Norwegians only eat reindeer. 01:20:57 pikhq: and fish and occasionally people hth 01:21:02 i have eaten reindeer on occasion, also whale 01:21:18 I have had neither. 01:21:49 I've eaten kangaroo. 01:22:00 It was probably the nicest steak I have ever eaten 01:22:13 hm i cannot remember eating kangaroo, it would have been the one time i was in australia in case 01:22:19 "Perverse Norwegian comedian Harald Eia ate a part of his own body." It's only perverse if you're not Norwegian. totally makes sense to norwegians. 01:22:36 i've had ostrich though, there was a brief period when it was all the rage to farm ostriches in norway 01:23:01 Never had ostrich. Though I've seen an ostrich farm. 01:23:20 (then they lowered the tariffs as a gesture to poor african countries, and their ostrich outcompeted the norwegians :P) 01:23:21 I've eaten scampi at an ostrich farm 01:23:43 NORvegans eat neither meat nor eggs 01:23:44 well their ostrich farmers. although i doubt a norwegian could beat an ostrich in a fair race. 01:24:00 myname: Only the blood of their enemies? 01:24:38 quintopia: i don't quite remember that, but i assume it was a part he was going to remove anyhow. 01:25:12 although not having a TV, i'm seriously out of touch with the norwegian comedy scene. 01:26:01 not being in norway, so am I 01:26:11 of course, even in Norway, I still would be. 01:26:23 not speaking norgevian at all 01:26:39 Few speak Norgevian. 01:27:30 only the norgays speak norgevian 01:28:01 quintopia: you mean tenzing? 01:28:11 and his family 01:28:32 well they've always been an aloft bunch 01:29:20 indeed. quite a heavy burden for them to bear. 01:29:52 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:33:53 -!- copumpkin has joined. 01:35:36 -!- Sorella has quit (Ping timeout: 250 seconds). 01:38:39 -!- Sorella has joined. 01:39:27 -!- Sorella has quit (Changing host). 01:39:28 -!- Sorella has joined. 01:44:12 -!- copumpkin has quit (Ping timeout: 258 seconds). 01:54:43 [wiki] [[Special:Log/newusers]] create * Vernon76Cnr * New user account 02:00:33 -!- AndoDaan has joined. 02:09:12 `perl-e print 4 02:09:13 4 02:09:30 `perl-e if (false) { print "false is true!\n"; } 02:09:31 false is true! 02:10:25 `interp perl print 4 02:10:26 ​/hackenv/bin/interp: 4: exec: ibin/perl: not found 02:10:40 elliott_: we have `! now for `interp 02:10:49 yeah, I forgot 02:15:54 wtf false 02:16:27 i think that's a bareword interpreted as the string "false", right? 02:16:47 *an undefined bareword 02:17:05 if warnings were turned on, you'd get one. 02:17:38 `run perl -W -e 'if (false) { print "false is true!\n"; }' 02:17:39 Unquoted string "false" may clash with future reserved word at -e line 1. \ Bareword found in conditional at -e line 1. \ false is true! 02:18:22 Does perl have specific true and false values? 02:18:30 i don't think so. 02:18:40 `perl-e print (1 == 1) 02:18:41 1 02:19:02 oerjan: right 02:19:10 Melvar: no; the standard false and true are undef and 1 02:19:20 `perl-e print (1 == 0) 02:19:20 No output. 02:19:26 hm oh undef not 0 02:19:31 * Melvar nods. 02:19:37 but it's sort-of idiomatic to use a range of different true and false values to distinguish between different reasons something might be true or false 02:19:46 the null string and 1 is what == uses, I think 02:19:58 ah 02:20:00 there are only three falsey values AFAIK, though: undef, the null string, and 0 02:20:09 not sure about longer strings that are numerically 0 02:20:16 ais523: what about midnight? 02:20:24 `perl-e print +('0e1' ? "true" : "false") 02:20:24 true 02:20:32 ew 02:20:35 I guess it has to be '0' specifically 02:20:51 i guess i get where php has that crap from 02:21:01 Perl's semantics are, I think, intended to be "everything is a string, but some operators treat them like numbers" 02:21:08 i don't think there's any reason to write this program in C except that i can learn gdb from everything breaking, but that's bullshit 02:21:09 but every now and then, someone breaks the abstraction 02:21:13 tcl manages that a bit better 02:21:25 `perl-e print +('0' ? "true" : "false") 02:21:25 false 02:21:28 `perl-e print +('000' ? "true" : "false") 02:21:29 true 02:21:33 oh my. 02:21:43 `run perl -MData::Dumper -e '$x = 4; print Dumper($x); "$x"; print Dumper($x);' 02:21:43 ​$VAR1 = 4; \ $VAR1 = 4; 02:21:54 huh 02:21:58 `run perl -MData::Dumper -e '$x = 4; print Dumper($x); $y = "$x"; print Dumper($x);' 02:21:59 ​$VAR1 = 4; \ $VAR1 = 4; 02:22:02 hmm 02:22:06 maybe they've fixed it 02:22:12 ais523: Does perl have an empty list? 02:22:14 that used to print "4" for the second dump 02:22:33 no yuks from a python joke, tough crowd :< 02:22:34 Melvar: Perl doesn't have first-class list types; you can create an empty array, or use an empty list as a temporary 02:22:37 where it's written () 02:22:58 lists and arrays act marginally differently, though 02:23:17 -!- TodPunk has quit (Read error: Connection reset by peer). 02:23:26 So is () actually a thing there? 02:23:57 -!- callforjudgement has joined. 02:23:59 `run perl -le '@a = (3, 4); print scalar @a; print scalar (3, 4);' 02:24:00 2 \ 4 02:24:06 -!- ais523 has quit (Disconnected by services). 02:24:07 -!- callforjudgement has changed nick to ais523. 02:24:19 there, that's the difference between a list and an array 02:24:27 lists like (3, 4) are second-class; they scalar-ise as their last element 02:24:46 arrays are first-class; there's no array literal but you can assign a list literal to an array 02:24:46 … the last …? 02:24:49 they scalar-ise as their length 02:25:01 Melvar: to keep the "comma operator" working like in C, I guess 02:25:18 Ah. 02:25:36 that's uh... uh. 02:25:54 "fiendish" hth 02:26:28 -!- callforjudgement has joined. 02:26:30 [03:25] actually, I guess a good way to think about it is that lists are used as temporaries, and arrays are used for storage 02:26:32 [03:26] arrays decay into lists in list context 02:26:34 -!- ais523 has quit (Disconnected by services). 02:26:35 -!- callforjudgement has changed nick to ais523. 02:30:49 i wrote a lisp parser that works okay except it starts burning an entire cpu if i enter the empty list. this is cool 02:40:49 -!- TodPunk has joined. 02:43:17 if it burns your cpu, wouldn't it be more hot than cool? 02:46:16 not relative to planck temperature 02:47:21 what is the planck temperature? 02:47:26 I'm guessing very large, from that 02:47:57 yeah it's ten to the whatever kelvin. 02:48:29 I like how planck units are always very huge or very tiny 02:48:45 just to keep you on your toes 02:49:14 there should be just one that has a reasonable value, to confuse people 02:49:25 Planck impedance is quite reasonable. 02:49:30 planck charge is almost reasonable 02:49:31 It's about 29 ohms. 02:49:36 it's more than the electron's, for some reason? 02:49:49 29 ohms is a little small 02:49:56 but then, it's larger than, you know, the actual ohm 02:50:00 so I'll forgive it 02:50:02 -!- Sprocklem has joined. 02:50:12 hm, planck momentum is about six and a half kg*m/s, taht doesn't seem bad 02:50:29 meanwhile the planck force is like 10^44 newtons, these are some great units here 02:50:30 The planck mass is only a tad bit small. 02:50:39 It's about 21 micrograms. 02:51:32 10^19 GeV? huge!! 02:51:36 Which is even crazier considering it's a base unit... 02:52:01 Blanck density? 5x10^96 kg/m^3! 02:52:03 *Planck 02:52:51 Unlike all other Planck base units and most Planck derived units, the Planck mass has a scale more or less conceivable to humans. It is traditionally said to be about the mass of a flea, but more accurately it is about the mass of a flea egg. 02:53:04 ah yes, flea eggs, that common household object I have a solid grasp on the mass of 02:53:30 so an object with the planck mass and density would be 10^-60 times as big as an electron 02:53:38 makes sense, i can see why these are natural units 02:54:00 -!- [1]AndoDaan has joined. 02:54:13 -!- AndoDaan has quit (Ping timeout: 272 seconds). 02:54:14 -!- [1]AndoDaan has changed nick to AndoDaan. 02:54:31 Bike: But hey, c=1. 02:54:55 and, really, isn't that what's important. 02:55:44 * pikhq would be somewhat more pleased by a system that set $c=\pi$ though. 02:55:54 pikhq: Why? 02:55:56 It'd make some physics equations *hilarious*. 02:56:03 you are a bad person 02:56:03 I like c=1 02:56:31 I think we should set c=-1 02:56:31 i wonder if that would mess with angular velocities somehow 02:56:41 E=M/pi^2? Mmm. 02:57:24 you know what really grinds my gears, is metrics in physics not being a metrics in maths 02:57:27 terrible 02:58:04 Bike: i have an oil can, so while i can't help you with the metrics, i can keep your gears in better shape 02:59:33 I'm afraid they're already ground. 03:01:23 -!- AndoDaan has quit (Ping timeout: 240 seconds). 03:02:22 -!- Sorella has quit (Ping timeout: 272 seconds). 03:03:04 alright nerds, someone tell me what horrible magic i've done in C, because i don't know how this can happen. http://sprunge.us/KdaX 03:03:36 # being the output of my write function, except it's not supposed to do it a billion times 03:04:40 it would help to see your code...? 03:04:51 elliott_: he pasted it the line before 03:04:57 no i didn't 03:05:02 oh, is that the output? 03:05:04 I do enough psychic debugging at work. :P 03:05:09 -!- lambdabot has quit (Remote host closed the connection). 03:05:10 ais523: No, it's gdb session. 03:05:13 are you back to not clicking on links? :p 03:05:19 "back"? 03:05:28 I did turn off the thing that hides them altogether, ages ago 03:05:35 but that didn't mean I actually started clicking on them 03:05:43 I used a compromise, of making them the same color as normal text 03:06:07 can you correctly assume you know nothing about the links you haven't clicked, then? :p 03:06:08 anyway, weird failure mode: my IRC is still connected, but I can't DNS resolve anything 03:06:23 let me try reconnecting to the router 03:06:29 -!- ais523 has quit. 03:08:05 -!- AndoDaan has joined. 03:08:19 -!- ais523 has joined. 03:08:29 that seems better 03:08:36 it was particularly weird, the DNS didn't work no matter which DNS server I used 03:08:43 That is weird. 03:08:43 maybe the breakage was one that prevented new connections 03:09:27 http://sprunge.us/HZdb well, here's the relevant code, i didn't paste it because it was slightly more embarassing than my gdb ineptness, and also i think boring? 03:10:22 anyway, I had a really good IOCCC contest idea 03:10:24 like, really really good 03:10:31 that's pretty good 03:10:32 sometimes my internet connection just starts being slow at playing youtube videos but not normal webpages, except also the administration interface gets slow so it's hard to reset it, and then the admin interface gets so slow that it won't respond at all, but the rest of the internet stays normal (and youtube is just really slow, not completely dead), and then if you disconnect from wifi you ... 03:10:32 but I'm not sure I'll be able to get it ready in time for the deadline 03:10:38 ... can't reconnect, and also you lose connection entirely after a few hours of this 03:10:41 beat that 03:12:01 is that some sort of traffic shaping, I wonder? 03:12:44 Bike: it's taking the else branch in write_lisp, I guess? 03:13:01 ais523: shaping traffic to the 192.168.0.1 web interface...? 03:13:20 well, i know it's writing #... 03:13:22 -!- lambdabot has joined. 03:13:25 who's in control of your router firmware? s/?/>/ 03:13:37 hi lambdabot 03:13:55 i feel any good conspiracy should have a few seemingly extraneous question marks 03:13:58 Bike: I mean I assume the combine(user_write, list(2, obj, port), empty_environment) is doing weird things? you should set breaks on read_lisp and write_lisp and step through them I guess 03:14:08 ais523: you mean s/\?/>/ 03:14:51 s/\?/\?/ 03:14:54 well, break on combine doesn't fire, so i guess step it is... 03:14:57 -!- Sprocklem has quit (Ping timeout: 246 seconds). 03:15:02 i forgot i could do that, i'm good at debugging. 03:16:15 -!- Sprocklem has joined. 03:18:51 well, what it's doing is getting caught in a loop of... oh. I forgot to read another char when i continue. dumb. 03:19:07 i,i "does gdb have a way of stepping one instruction?" "si" 03:19:49 what's i,i again 03:19:59 shachaf: :D 03:20:48 some sort of Pennsylvanian owl 03:22:03 gotcha 03:22:25 It's probably the encoding of some obscure x86 instruction as well. 03:23:02 something is definitely up with this internet connection atm 03:23:14 some things are taking ages to load despite being measured in kb 03:23:17 other things are loading instantly 03:23:56 n1124.pdf is the document normally used as a C99 draft, right? 03:23:59 Yep. 03:24:03 Not DNS issues? 03:24:13 sadly, this is one of those things where an actual copy of the standard would be helpful 03:24:20 shachaf: it's possible, but it's due to third-party CDNs in that case 03:24:30 because some of these are internal link to the same site 03:24:52 Friendly advice, just hit up http://port70.net/~nsz/c/ for those... 03:25:23 (all the C specs, gathered by nsz of #musl) 03:27:06 iso646.h, the bobm 03:27:38 "The above mentioned identifiers are operator keywords in the ISO C++ programming language and do not require the inclusion of a header file. For consistency, the C++98 standard provides the header . However the latter file has no effect, being empty.[1] Notwithstanding some compilers, such as Microsoft Visual C++, do require the header to be included in order to use these identifiers." incredible 03:28:51 Yep. 03:29:09 The header, of course, actually does something in C99. 03:29:20 Terrible though it might be. 03:29:48 yeah, i learned about it looking through the includes for my Microchip crud. complete with an #ifdef to do nothing if it's C++ 03:31:42 https://pbs.twimg.com/media/BxOhDARCUAA1NLt.png:large also had this loveliness, but that's unrelated 03:34:37 But hey, lets you write C like this: http://sprunge.us/XNZh 03:35:30 it's like php or something, yay 03:35:55 i like how i can work out all the digrams from context... 03:36:11 The digraphs are nowhere near as crazy as the trigrams. 03:36:22 Erm, trigraphs 03:36:44 Both the choices are much more obvious and the actual implementation is much less insane. 03:37:13 The trigraphs are done as a sed process on the source before anything else is done, the digraphs are just alternate tokens. 03:37:20 what I don't get is how digraphs were added in 1994 03:37:28 surely they were obsolete from the start 03:37:44 IBM mainframes are GOD DAMNED MOTHERFUCKING INSANE. 03:38:18 ^ 03:38:53 The default charset there actually is missing these characters I kid you not. 03:39:52 yep 03:39:56 Oh, and before you ask, *yes*, you can code in C on there. 03:40:06 Can it be programmed to use ASCII though so that you can use ASCII-based programs? 03:40:25 If you use a charset with not-utterly-insane character selection you can even compile fairly normal C programs on there. 03:40:30 zzo38: No. 03:40:35 pikhq: IBM is kind of infamous in the C++ community for, when C++11 was being standardized and removal of trigraphs being suggeted, going "sorry guys, we suck and all, but we use them" 03:40:59 committee members are pushing for them to die by C++17 though. hopefully they succeed 03:41:09 TeX has an internal conversion table so that it can use ASCII internally and can still be used on non-ASCII computers. 03:41:22 Sadly it's unlikely. IBM mainframes are still going to use EBCDIC then. 03:41:39 pikhq: yes, but maybe they can be convinced to switch to digraphs 03:41:39 And there's just about no way IBM's going to actually deploy UTF-EBCDIC which would make me honestly rather happy. 03:41:45 Oh, sure. 03:41:54 That's a much easier selling point. 03:41:58 or basically told "at this point we don't actually care what you do. you're welcome to run trigraphs in your local compilers, we won't standardize them though" 03:42:07 And digraphs aren't utterly god damned insane. :P 03:42:11 IBM can't unilaterally block their removal 03:42:16 Although you might have to change the category codes in your program in order to get your file to work 03:42:29 I do wish they'd deploy UTF-EBCDIC though. 03:42:37 It'd make certain parts of my day job much easier. 03:43:02 pikhq: wait. your day job? 03:43:12 So, at least TeX can still be used even if other things don't work. 03:43:33 coppro: Some damned bastard client went "yeah, yeah we like your stuff but can it work with mainframes?" 03:44:03 ... long story short I've actually written a COBOL struct parser. 03:44:42 oh god 03:45:12 pikhq: You can try using the way TeX does; it can use ASCII without implementing Unicode. 03:45:19 Honestly the hardest part was just teasing out EBNF for it. 03:45:20 zzo38: that does not work 03:45:26 zzo38: Because the native encoding is EBDIC 03:45:37 IBM mainframe people have not heard of BNF of any sort. 03:45:45 And I mean *any* sort. 03:46:02 The actual damned spec gives vague syntax diagrams. :( 03:46:22 coppro: TeX can do it anyways; the program will convert everything so that it can use ASCII regardless of what the native encoding is. It also has a \catcode command and ^^ notations so that you can still work it even if some characters are missing on your computer. 03:46:37 zzo38: he's not dealing with internal stuff though 03:46:44 he needs to interact with the world around him 03:47:28 Well, yes, you convert out of ASCII format when making output, and convert into ASCII format when receiving the input. 03:47:31 Yeah. I'm on a stupid powerful Linux box that's got a dumb ass mainframe serializing data at it that's only described by a bit of COBOL source. 03:49:42 Even Z-machine codes, even though they are ASCII internally, can be used on non-ASCII computers. 03:50:10 note to self, do not try to be clever with strncmp, you are an idiot 03:50:30 [wiki] [[Bueue]] http://esolangs.org/w/index.php?diff=40555&oldid=40499 * Oerjan * (+19) /* Computational Class */ Some proof-reading 03:51:01 be more specific 03:54:34 -!- conehead has joined. 03:54:36 about cobol? 03:56:40 zzo38: pikhq's problem is the lack of a decent unicode encoding for him to export/import to/from 04:02:29 Another alternative would be to use external programs to do the conversions 04:03:00 EBCDIC is no good, and UTF-EBCDIC is also no good. 04:04:03 what the hell is wrong with android apps that force landscape mode and refuse to use reversed landscape 04:04:23 polarity warning 04:05:26 "reversed landscape"? 04:05:40 is that rotated 90 degrees the other way? 04:05:47 yes. 04:05:48 180 04:05:54 ah, yes 04:05:55 from portrait, I mean 04:10:25 [wiki] [[JSFuck]] M http://esolangs.org/w/index.php?diff=40556&oldid=40513 * Oerjan * (+10) Small fixes 04:10:28 myname: they are probably configured lazily to work best for phones with hardware keybaords 04:10:57 it's fucking annoying if my phone is charging 04:11:10 I have seen some Android which have a switch to make it to turn or not turn 04:11:27 yes, but that enables or disables turning in general 04:11:39 (on apps that don't force) 04:11:46 Yes, I know, it doesn't change software that doesn't ordinarily turn 04:12:15 also, it does not work in this case 04:14:38 -!- shikhout has quit (Ping timeout: 250 seconds). 04:14:41 [wiki] [[Object oriented thue]] M http://esolangs.org/w/index.php?diff=40557&oldid=40548 * Oerjan * (+8) /* stdfile */ Remove redundant lines 04:18:02 -!- ais523 has quit (Remote host closed the connection). 04:18:17 -!- ais523 has joined. 04:23:02 `! c int x = 127.0.0.1; 04:23:18 cat: x: No such file or directory \ Does not compile. \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource temporar 04:23:25 hmm 04:24:58 -!- Jafet has joined. 04:29:41 [wiki] [[Brainflow]] http://esolangs.org/w/index.php?diff=40558&oldid=40528 * Oerjan * (-207) Proofreading 04:37:19 -!- copumpkin has joined. 04:39:23 [wiki] [[Mindcrush]] http://esolangs.org/w/index.php?diff=40559&oldid=40538 * Oerjan * (+88) Proofread 04:44:46 this is fun, I've already got to write things like "b c = (b){ c.c} ;" 04:45:02 might have to remove some of the whitespace in that, depending on how length limits go 04:45:09 may be that I hit the whitespace limit before the non-whitespace limit 04:48:13 oh, they changed it 04:48:23 total 4096, non-whitespace 2053 04:50:01 the IOCCC people have really gone overboard with jokes in the rules and guidelines this time 04:50:09 | This line has a change mark at the beginning. 04:57:02 how does (b){c.c} parse, exactly 04:57:02 c.c.c 04:57:02 c.c 04:57:26 why did it not do that earlier... eh. 05:01:10 -!- Sorella has joined. 05:01:34 Bike: here, b is a typedef for a struct 05:01:49 so it parses as (struct struct_tag){object.field} 05:02:10 i guess i don't know what the {} part means. 05:02:12 -!- Sorella has quit (Changing host). 05:02:12 -!- Sorella has joined. 05:02:25 literal... something? array? 05:03:05 ais523: heh, are you trying to make an IOCCC entry? 05:03:27 lifthrasiir: yes 05:03:33 Bike: struct literal, in this case 05:03:37 I don't have any good idea this time 05:03:52 I'm not sure how much I should talk about my idea, in case someone steals it and thus reduces my chance of winning 05:03:56 i thought there should be a type, for some reason, but that doesn't really make sense 05:03:59 otoh it's probably silly to worry about theft of IOCC entry ideas 05:04:16 lifthrasiir: you can make use of the fact that "and", "or", etc., count as 1 letter + the reset of the word in whitespace 05:04:21 because they're in 05:04:29 I have a strong feeling that this loophole was placed in there intentionally 05:04:33 *IOCCC 05:04:34 and some _* reserved words. 05:04:38 (afaik) 05:04:45 yes but you can't use those as variables in any version of C 05:05:16 do judges use the most recent version of C for every entry? 05:05:18 is there some gdb command to keep steppin until you get back to some frame 05:05:39 fin? 05:06:10 thanks yeah 05:06:47 -!- [1]AndoDaan has joined. 05:08:14 -!- TieSoul has joined. 05:08:45 -!- AndoDaan has quit (Ping timeout: 260 seconds). 05:09:05 -!- [1]AndoDaan has changed nick to AndoDaan. 05:33:56 OK, I guess I'm going to have to ask for help 05:34:10 can anyone figure out any way in which an integer constant expression could have a value outside the range of its own type, without invoking UB? 05:34:56 because I'm stumped 05:35:16 the closest I've got is -1/INT_MIN, but gcc isn't acting as expected on it 05:39:21 ooh, sizeof(long[SIZE_MAX]) seems to work, but I'm worried that that's UB in its own right 05:42:42 /dev/stdin:1:1: error: ‘auto’ in file-scope empty declaration 05:42:49 oh well, at least I'm coming across errors I've never seen before 05:42:54 and probably none of you have either 05:44:55 Why would -1/INT_MIN have a value outside int instead of just 0? 05:45:24 oh, whoop 05:45:24 ais523: hmm, what do you mean "outside the range of its own type" 05:45:26 *whoops 05:45:29 needs to be INT_MIN/-1 05:45:43 oh, nvm 05:45:45 hmm 05:45:47 coppro: say, an expression of type of int, that evaluates to something of type int, with no UB involved 05:46:24 INT_MIN/-1 presumably involves UB due to signed integer overflow. 05:46:34 yes 05:46:43 however, I got the warning I was aiming for: /dev/stdin:2:1: warning: overflow in constant expression [-Woverflow] 05:46:52 not convinced that's a no-UB way to manage it, though 05:47:31 that said, it seems basically impossible that there's a way to get an out of range value without UB, because signed overflow is UB and unsigned overflow wraps 05:47:42 and float overflow saturates at infinity 05:48:12 yes 05:48:14 [wiki] [[Mang]] http://esolangs.org/w/index.php?diff=40560&oldid=40549 * Oerjan * (+5) fmt, sp 05:48:34 ais523: have you abused trigraphs enough yet? 05:48:40 Recently I learned: having INT_MIN with a larger absolute value than INT_MAX is not equivalent to having a two's-complement representation for signed integers: it's allowed also for two's-complement systems to reserve the one value (sign bit 1, other bits 0) as a trap representation. 05:48:49 coppro: trigraph abuse is effectively banned this year 05:48:54 they didn't say anything about /digraph/ abuse, though 05:49:02 so maybe I'll use some of that 05:49:45 are digraphs in C? 05:49:52 yes, but not C89 05:49:54 I think they're C99 05:49:58 also where did they effectively ban trigraphs? 05:50:14 guidelines, they say they trigraph-preprocess source pretty much before looking at it 05:50:46 ais523: C95, actually. 05:50:48 ah ok 05:51:23 hmm 05:51:31 fizzie: fair enough, that means they're also C99 05:51:35 which is what I'm targeting 05:51:39 I think my favourite objuscated program I've ever seen was that perl script that played game of life with itself 05:51:48 because a) it has the best-quality draft, b) it's smaller than C11 05:51:55 [wiki] [[EsoInterpreters]] http://esolangs.org/w/index.php?diff=40561&oldid=40552 * Oerjan * (-548) Undo revision 40552 by [[Special:Contributions/Quintopia|Quintopia]] ([[User talk:Quintopia|talk]]) That's a compiler not an interpreter 05:53:21 actually does anyone know where to find that life game? 05:53:44 int main(void) { auto auto int x; } 05:53:49 yet another error message I've never seen before 05:53:52 I guess, because nobody ever uses auto 05:54:02 What is the error message? 05:54:28 duplicate 'auto' 05:54:29 I've had [warning: function definition declared 'auto'] in my candide log. 05:54:47 For auto int f(int x) { return x; } apparently. 05:55:08 who writes such a thing? 05:55:12 other than me, I mean 05:57:48 There was something I thought was a illogical corner case in the standard, though upon closer reading it was consistent after all. Something involving storage-class specifiers for a function, but there was some rule forbidding them after all, just not where I was expecting. 05:59:39 no stack allocated functions, huh? rough. 06:00:31 fizzie: is that for C, or C++ before C++11, or for C++11? 06:00:44 I think they might differ in handling "auto" 06:00:54 For C. 06:01:10 oh well, think I found my first gcc bug doing this 06:01:15 I won't report it until after the IOCCC 06:01:19 (If you type "for C" with the left hand offset by one, you get "got V".) 06:01:27 ais523: nice 06:01:59 nope, it was a typo :-( 06:02:02 I think I have one gcc bug found so far, not counting back ten years ago when g++ 2.something was so unstable compiling anything could segfault 06:02:08 aww! 06:02:15 try it in clang! 06:02:33 the ioccc judges said in the guidelines they prefer clang (and portable code of course) 06:02:35 SMITE seems educational, if learning about mythology is your thing 06:10:26 here's the crazy bug I reported => https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59704 06:12:48 i agree, this is crazy 06:12:55 why did you want to do this 06:15:35 Bike: a moment 06:17:17 (v-v)'s getting optimized into 0, which is being interpreted as nullptr? 06:17:23 I can easily imagine that bug happening 06:17:56 in here Jens Gustedt claims that he can recognize compile time constants in portable C, which is useful for some macro hacks: https://gustedt.wordpress.com/2013/08/22/testing-compile-time-constness-and-null-pointers-with-c11s-_generic/ 06:18:12 Why would anyone want to attach candles while underwater? 06:18:17 for that he subtracts the number from itself and checks if it converts to a null pointer, 06:18:31 Sgeo: i suppose they just have a burning desire 06:18:33 Sgeo: didn't /you/ fix that bug? 06:18:35 he also claims he can't do this in C++, but I claimed I can do it in _old_ c++, 06:18:43 and tried to write a proof of concept, 06:18:59 ais523: yes. I'm being silly with the "why did you want to do this" for something unrelated 06:19:04 and I could write one, but can't make it reliable, for it seems to depend on the optimizations gcc does, which it shouldn't, 06:19:08 because of that bug. 06:19:22 I have no idea which scenario is actually more reasonable 06:19:31 `! c static int s; extern inline int f() {s=1;} 06:19:43 by my reading, that program has a mandatory warning 06:19:46 cat: int: No such file or directory \ Does not compile. \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource tempor 06:19:47 I actually have a working version, but as I also have a verion that should work but doesn't, my version could also break in the future unless they fix this bug consistently. 06:21:01 `! c int main () { printf("hm"); } 06:21:16 now what 06:21:17 cat: main: No such file or directory \ Does not compile. \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource tempo 06:21:29 ais523: i have a hunch `! c isn't working 06:21:47 ditto 06:22:19 `url interp 06:22:19 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/interp 06:22:49 that didn't seem to exist 06:23:31 oh wait duh 06:24:24 `! perl print "hi" 06:24:25 ​/hackenv/bin/!: 4: exec: ibin/perl: not found 06:24:44 okay, so it is isnane. good to know. 06:25:02 `run ln bin/perl-e ibin/perl 06:25:04 No output. 06:25:06 `! perl print "hi" 06:25:07 hi 06:25:12 one down 06:26:34 `which interp_file 06:26:35 No output. 06:27:48 This could mean not everyone is allowed to launch a website, but that a license would be required, for example. 06:29:17 mroman_: what? is that a reply to something? I don't get the context 06:29:32 is that related to attaching the candles underwater? 06:31:55 -!- MoALTz has quit (Quit: Leaving). 06:32:22 `! c printf("test"); 06:32:27 Why are you attaching candles underwater? Won't the fire go out? 06:32:35 `echo hi 06:32:36 hi 06:32:38 Does not compile. \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource temporarily unavailable 06:34:34 zzo38: there was a bug 06:34:39 the fire should go out, but it didn't 06:34:42 Sgeo: fixed the bug 06:36:45 `run echo 'int main () { printf("hm"); }' >test.c 06:36:46 No output. 06:36:51 `cat test.c 06:36:51 int main () { printf("hm"); } 06:37:14 b_jonas: that's a quote from slashdot 06:37:24 `run ./interps/gcccomp/gcccomp &1 06:37:40 cat: : No such file or directory \ Does not compile. \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource temporari 06:40:08 -!- int-e has quit (Ping timeout: 260 seconds). 06:40:15 -!- int-e has joined. 06:40:22 -!- conehead has quit (Quit: Computer has gone to sleep). 06:41:39 `run ./interps/gcccomp/gcccomp c &1 06:41:55 cat: : No such file or directory \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource temporarily unavailable 06:42:53 zzo38: attaching unlit candles to the candelabrum. When underwater, would complain about being unable to light stuff under water, despite most people being able to attach things without setting them aflame 06:43:32 wat 06:44:21 myname: are you able to attach things to other things without setting things aflame? 06:44:52 `run ./interps/gcccomp/gcccomp c test.c 2>&1 06:45:08 ​./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource temporarily unavailable 06:45:22 `uptime 06:45:22 ​ 06:45:19 up 0 min, 0 users, load average: 0.00, 0.00, 0.00 06:45:32 Sgeo: i do think so 06:45:40 `gcc test.c 06:45:42 test.c: In function ‘main’: \ test.c:1:15: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] 06:45:55 `ls 06:45:56 ​:-( \ a.out \ bdsmreclist \ bin \ binpipes \ canary \ cat \ complaints \ crunchfuck \ :-D \ dc \ dog \ etc \ factor \ head \ hej \ hello \ hello.c \ ibin \ interps \ lib \ moop.txt \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test.c \ Wierd \ wisdom \ wisdom.pdf 06:45:57 myname: this makes you smarter than a 3.4.3 NetHack character 06:46:02 `./a.out 06:46:03 hm 06:46:37 haha, Ubuntu are updating bash /again/ 06:46:41 well, if it's a /oFire 06:46:51 seems like they found another bug, possibly unrelated to the other two? 06:48:20 nethack is the only place i know where WoW is something other than a n mmmorpg 06:48:46 `printenv GCC 06:48:47 No output. 06:50:25 `run env GCC=gcc ./interps/gcccomp/gcccomp c test.c 2>&1 06:50:41 ​./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource temporarily unavailable 06:52:33 int f()() 06:52:38 wow, there are amazing things you can do in C 06:52:56 if you don't worry about it compiling 06:56:11 -!- [1]AndoDaan has joined. 06:56:35 `! cxx printf("test"); 06:56:59 ​./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource temporarily unavailable 06:57:15 `g++ test.c 06:57:16 test.c: In function ‘int main()’: \ test.c:1:26: error: ‘printf’ was not declared in this scope 06:58:18 `run (echo '#include `; echo 'int main () { printf("hm"); }') >test.c 06:58:18 bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `(echo '#include `; echo 'int main () { printf("hm"); }') >test.c' 06:58:27 `run (echo '#include ; echo 'int main () { printf("hm"); }') >test.c 06:58:28 bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `(echo '#include ; echo 'int main () { printf("hm"); }') >test.c' 06:58:41 `run (echo '#include '; echo 'int main () { printf("hm"); }') >test.c 06:58:43 No output. 06:58:47 `gcc test.c 06:58:48 test.c:1:17: fatal error: stdio: No such file or directory \ compilation terminated. 06:58:57 -!- AndoDaan has quit (Ping timeout: 245 seconds). 06:58:59 -!- [1]AndoDaan has changed nick to AndoDaan. 06:59:07 gah i don't remember C 06:59:34 `run (echo '#include '; echo 'int main () { printf("hm"); }') >test.c 06:59:36 No output. 06:59:38 `gcc test.c 06:59:38 No output. 06:59:44 `c++ test.c 06:59:46 No output. 07:00:46 `run ./interps/gcccomp/gcccomp c++ test.c 2>&1 07:00:58 zzo38: you don't light them underwater, just attach the candles 07:01:02 ​./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: retry: No child processes \ ./interps/gcccomp/gcccomp: fork: Resource temporarily unavailable 07:01:30 ok there must just be something _wrong_ with that gcccomp 07:01:35 `cat test.c 07:01:36 ​#include \ int main () { printf("hm"); } 07:01:41 ais523: no, they're just fixing the one bug properly, as opposed to a quick emergency fix 07:01:44 `run gcc -o test test.c 07:01:46 No output. 07:01:50 `run ./test 07:01:51 hm 07:01:59 mroman_: the program is fine. 07:02:12 i'm trying to fix `! c 07:03:07 -!- Sorella has quit (Ping timeout: 245 seconds). 07:04:09 `run gcc -x c test.c -o /tmp/compiled.$$ 2> /dev/null 07:04:10 No output. 07:04:28 I'd look into resource limits if I were you. 07:04:36 There's a suspicious ulimit -u 3 after the compilation in gcccomp. 07:04:47 hm... 07:04:56 Possibly HackEgo's machinery involves more user processes than EgoBot's did. 07:04:57 ok let's try removing that 07:05:39 `run sed -i 's/ulimit/#ulimit/' interps/gcccomp/gcccomp 07:05:40 No output. 07:05:59 `run ./interps/gcccomp/gcccomp c test.c 2>&1 07:06:00 No output. 07:06:02 hah 07:06:22 `! c++ printf("hm"); 07:06:23 ​/hackenv/bin/!: 4: exec: ibin/c++: not found 07:06:30 `! cxx printf("hm"); 07:06:31 hm 07:06:39 :) 07:06:44 `! c printf("hm"); 07:06:44 Does not compile. 07:06:54 thought so, i found another bug 07:07:14 `run sed -i 's/1/0/' ibin/c 07:07:15 No output. 07:07:23 `! c printf("hm"); 07:07:24 Does not compile. 07:07:26 oops 07:07:39 `cat ibin/c 07:07:39 ​#!/bin/sh \ . lib/interp \ interp_file "./interps/gcccomp/gcccomp $0" 07:08:36 `run sed -i 's/[$]0/c/' ibin/c 07:08:37 No output. 07:08:43 `! c printf("hm"); 07:08:44 hm 07:08:47 yay! 07:09:20 i assume HackEgo's own limits will take care of the missing ulimit 07:09:41 `! c int main () { printf("hm"); } 07:09:42 No output. 07:09:47 oops 07:11:19 `cat test.c 07:11:20 ​#include \ int main () { printf("hm"); } 07:11:35 `run echo 'int main () { printf("hm"); }' >test.c 07:11:36 No output. 07:11:40 `gcc test.c 07:11:42 test.c: In function ‘main’: \ test.c:1:15: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] 07:12:55 Perhaps we should just get candide here, it's got the best C-running capabilities I've seen in freenode. 07:13:05 Though I suppose our DIY tradition would balk at that. 07:13:07 hmph 07:13:20 well it's working _somewhat_ 07:13:44 `! c int main () { puts("hi\n"); } 07:13:45 Does not compile. 07:14:06 Yes, but it doesn't have a fancy prelude.h that includes all standard headers by default (except not if you specify custom includes), and a built-in gdb("foo") command to do stuff, and a built-in "pretty-print all local variables if execution ends with no output" function, and ... 07:15:03 And it "intelligently" does the main-wrapper and picks up functions, so that you can write int f(void) { return 42; } int x = f(); and it wraps a main around the latter. 07:15:19 Of course there's so much magic there that doing something very strange (not unlikely here?) can occasionally confuse it. 07:15:59 heh 07:18:29 `! java java.lang.System.out.println("hi"); 07:18:29 ​/hackenv/bin/!: 4: exec: ibin/java: not found 07:18:37 wat 07:18:53 You don't have to type "java.lang.", it's imported by default. 07:19:34 `run sed 's/p c/p java/' ibin/c >ibin/java 07:19:35 No output. 07:19:44 `! java System.out.println("hi"); 07:19:44 ​/hackenv/bin/!: 4: exec: ibin/java: Permission denied 07:19:57 `run chmod +x ibin/java 07:19:58 No output. 07:19:59 `! java System.out.println("hi"); 07:20:15 hi 07:20:15 Ooh, gcj. 07:20:26 Also only took 15 secunds to run. 07:21:14 perhaps there's a reason Gregor had disabled it :P 07:21:31 `java -version 07:21:31 java version "1.6.0_27" \ OpenJDK Runtime Environment (IcedTea6 1.12.5) (6b27-1.12.5-1) \ OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) 07:21:38 1.6! So old! 07:26:31 `! java System.out.println(Main.class); 07:26:34 class Main 07:26:49 That's less slow, I guess it's in disk cache for now. 07:27:59 -!- drdanmaku has quit. 07:35:49 this all should also have got `! asm working 07:36:09 `! asm mov eax, 0 07:36:10 Does not compile. 07:36:21 `! asm mov %eax, %ebp 07:36:21 Does not compile. 07:36:40 `run vim 07:36:41 bash: vim: command not found 07:36:43 `run vi 07:36:44 WELL IN THEORY 07:36:55 `echa bar 07:36:55 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: echa: not found 07:36:59 `echo bar 07:37:00 bar 07:37:01 it uses gcc as the assembler, like the other gcccomp programs 07:37:10 `run vi & 07:37:12 `ps axuw 07:37:12 Vim: Warning: Output is not to a terminal \ Vim: Warning: Input is not from a terminal \ [1;24r[?25h[?8c[?25h[?0c[27m[24m[0m[H[J[?25l[?1c[2;1H[1m[34m~ [3;1H~ [4;1H~ 07:37:13 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND \ 0 1 0.0 0.1 1012 272 ? S 07:37 0:00 /init \ 0 2 0.0 0.0 0 0 ? S 07:37 0:00 [kthreadd] \ 0 3 0.0 0.0 0 0 ? S 07:37 0:00 [ksoftirqd/0] \ 0 4 0.0 0.0 0 0 ? 07:37:13 Vim: Warning: Output is not to a terminal \ [1;24r[?25h[?8c[?25h[?0c[27m[24m[0m[H[J[?25l[?1c[2;1H[1m[34m~ [3;1H~ [4;1H~ 07:37:25 it doesn't have a vim, but vi is actually vim? 07:37:31 what sort of setup is that? 07:37:35 `ps axuw 07:37:35 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND \ 0 1 0.0 0.1 1012 272 ? S 07:37 0:00 /init \ 0 2 0.0 0.0 0 0 ? S 07:37 0:00 [kthreadd] \ 0 3 0.0 0.0 0 0 ? S 07:37 0:00 [ksoftirqd/0] \ 0 4 0.0 0.0 0 0 ? 07:38:11 `! c prinf(); 07:38:13 Does not compile. 07:38:19 HEAD='.globl main; main: pushq %rbp; movq %rsp, %rbp;' TAIL='movl $0, %eax; leave; ret;' 07:38:20 `! c printf(); 07:38:21 Does not compile. 07:38:24 what 07:38:27 `! c printf("a"); 07:38:27 a 07:38:33 `! c printf(lib64a()); 07:38:34 Does not compile. 07:38:39 `! c printf(printf); 07:38:40 ​% 07:38:48 the `! c is a little flaky 07:39:02 oh wait. it includes headers? 07:39:07 i can't quite recall if it worked any better on EgoBot. 07:39:10 then printf(); doesn't work 07:39:31 mroman_: it tries first with headers, then if that doesn't compile, without (but then you need a whole main) 07:39:45 also, i couldn't get a printf in main to work 07:39:51 um 07:40:06 HEAD='.globl main; main: pushq %rbp; movq %rsp, %rbp;' TAIL='movl $0, %eax; leave; ret;' is what it wraps asm in 07:40:26 although that too is tried without if it fails. 07:41:59 `! asm mov %eax, %ebp; 07:42:00 ​./interps/gcccomp/gcccomp: line 52: 307 Segmentation fault /tmp/compiled.$$ 07:43:10 well that compiled :P 07:43:32 mroman_: it seems to like a trailing ; 07:44:50 `! asm .globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret; 07:44:51 Does not compile. 07:44:56 hm 07:45:16 i just wrapped it inside the headers it _should_ use anyhow... 07:46:56 It ought to put those error messages somewhere, and dump them out when the result is "does not compile". 07:47:55 i think Gregor didn't want EgoBot to be that verbose. 07:47:56 Maybe 2> /dev/null to 2> /tmp/compile-errors.$$ and then (echo -n 'Does not compile: '; cat /tmp/compile-errors.$$) in the error message. 07:48:47 fizzie: well the problem here is that since it tries two different ways of compiling, at least one of them _will_ be meaningless 07:49:07 and so if it fails altogether you have two sets of error messages 07:49:15 >>, then. :p 07:49:24 although right now i'm wondering why the whole-program version seems to fail. 07:52:50 `run echo '.globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret;' | gcc -x assembler - -o /tmp/dummy 07:52:51 No output. 07:52:58 That should work out right. 07:53:08 The wrapped version of that should fail, of course. 07:53:25 so i think there's something generally failing with the attempt to get the non-wrapping working 07:54:36 `run sed -i '47iecho "$GCC" -x "$LANG" "$2" $FLAGS -o /tmp/compiled.$$ 2> /dev/null' interps/gcccomp/gcccomp 07:54:37 No output. 07:55:01 -!- digitalc1ld has changed nick to digitalcold. 07:55:03 um 07:55:06 `revert 07:55:07 Done. 07:55:19 `run sed -i '47iecho "$GCC" -x "$LANG" "$2" $FLAGS -o /tmp/compiled.$$' interps/gcccomp/gcccomp 07:55:20 No output. 07:55:36 "Does not compile" isn't a useful message for asm 07:55:44 `! asm .globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret; 07:55:45 gcc -x assembler /tmp/input.290 -o /tmp/compiled.299 \ Does not compile. 07:56:36 oh wait 07:57:22 How about just temporarily s|2> /dev/null||. 07:57:29 hm 07:57:48 `run sed -i '47d' interps/gcccomp/gcccomp 07:57:50 No output. 07:58:43 `run sed -i 's|2> /dev/null||' interps/gcccomp/gcccomp 07:58:45 No output. 07:59:01 The whole-program version has the wrong extension, but with -x $LANG that shouldn't matter. 07:59:06 `! asm .globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret; 07:59:07 ​/tmp/source.299.s: Assembler messages: \ /tmp/source.299.s:2: Error: symbol `main' is already defined \ /tmp/input.290: Assembler messages: \ /tmp/input.290: Warning: partial line at end of file ignored \ /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o: In function `_start': \ (.text+0x20): undefined reference to `main' \ coll 07:59:28 Ha. 07:59:32 "partial line at end of file ignored" 07:59:55 Perhaps it needs a forced newline at the end of the $2 file. 08:00:08 `! c int main () { printf("hm"); } 08:00:09 No output. 08:00:20 ... that didn't work either 08:00:35 `! c int main () { printf("hm"); }; printf("well"); 08:00:36 well 08:00:38 ic... 08:00:43 i suspected that 08:00:51 Right, it compiles just fine as the wrapped version. 08:01:06 `! c int main () { printf("hm"); }; main(); 08:01:07 hm 08:01:11 So silly. 08:01:15 :P 08:01:27 Thanks, nested functions. 08:01:40 `run thanks 'nested functions' # this still here? 08:01:40 Thanks, nested functions. Thested functions. 08:02:14 oh hm right maybe EgoBot always had an EOL at the end of things 08:02:32 in which case maybe this should be fixed in interp... 08:02:57 Just add \n in the printf, perhaps. 08:03:01 (The one in get_arg.) 08:03:19 oh 08:03:39 i didn't mean _that_ interp, but bin/interp 08:04:39 ok but if only asm has this problem so far... 08:05:06 Also explains why the trailing ; was needed for the wrapped version. 08:05:29 `revert 08:05:30 Done. 08:06:16 fizzie: um how so? 08:06:48 oerjan: If there's no newline in the $2 file, it will append the $TAIL directly. 08:07:04 oh 08:07:12 oerjan: So your movl %eax, %ebp with no terminating ; becomes movl %eax, %ebpmovl $0, %eax; leave; ret; 08:08:49 -!- olsner has quit (Quit: ZNC - http://znc.in). 08:09:43 `run sed -i '3s/1/1\\n/' bin/interp 08:09:44 No output. 08:10:07 hm wait that won't work 08:10:13 `revert 08:10:14 Done. 08:11:23 The difficulty of getting a newline in $ARG was why I suggested patching the printf in lib/interp. 08:12:02 oh right even a printf won't work 08:12:50 it's just that if there are other interpreters than those going via lib/interp that depend on this... 08:13:12 hm wait maybe they all do 08:13:26 If there was always a newline in EgoBot, they shouldn't mind. But who knows. 08:14:07 Oh, you mean, some might use the lib/interp facility. 08:14:12 Well, I guess that's always possible. 08:14:16 `ls ibin 08:14:16 1l \ 2l \ adjust \ asm \ axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ bf_txtgen \ boolfuck \ c \ cintercal \ clcintercal \ cxx \ dimensifuck \ forth \ glass \ glypho \ haskell \ java \ k \ kipple \ lambda \ lazyk \ linguine \ malbolge \ pbrain \ perl \ qbf \ rail \ rhotor \ sadol \ sceql \ sh \ trigger \ udage01 \ underload \ unlambda 08:14:26 bleh, I got pinged again 08:14:26 perl isn't showing up in the repository 08:14:37 ais523: what 08:14:43 I have a ping on "INTERCAL" 08:14:47 heh 08:14:50 it triggered earlier today in a channel other than #esoteric 08:14:55 so it's been quite worthwhile for me 08:15:00 well i checked a few esolangs in there, and they used lib/interp 08:15:17 so maybe it is the place to change 08:15:19 `run echo $(ls ibin | wc -l) vs $(grep interp_file ibin/* | wc -l) 08:15:20 43 vs 38 08:15:27 Well, maybe there's some that don't use it. 08:15:53 um 08:16:00 some might use interp_stdin instead 08:16:27 `run echo $(ls ibin | wc -l) vs $(grep interp_ ibin/* | wc -l) 08:16:27 `run for f in ibin/*; do if grep -q interp_ $f; then true; else echo $f; fi; done 08:16:27 43 vs 40 08:16:28 ibin/bf_txtgen \ ibin/k \ ibin/perl 08:16:37 Those don't have any "interp_" in it. 08:16:47 i just added perl as a link to perl-e, so no wonder :P 08:17:16 k is just a static echo '!"#$%^&* 0123456789' 08:17:21 I wonder what that's about. 08:17:32 actually bf_txtgen uses lib/interp too 08:17:40 Yes, it calls get_arg directly. 08:17:43 is k actually a language? 08:18:06 Though I don't think we'd really want a newline in the textgen string. 08:18:17 Incidentally, that used in fact to be a problem with EgoBot's bf_txtgen. 08:18:29 It force-fed in a newline; I ran it locally a couple of times to get rid of that. 08:18:37 But if we want to be bug-compatible... 08:18:39 oh right, I got stuck on 6.7.7p2, because I can't see how to create a non-block-scope typedef that defines a VLA, without also having a VLA somewhere it's not supposed to be 08:18:46 fizzie: huh :P 08:19:18 what scopes are typedefs legal in anyway? 08:21:07 Not in function parameter scope, because 6.7.6.3p2 and typedef is syntactically a storage class specifier. 08:21:18 [11:20:20] ,cc int f(typedef int q); 08:21:18 [11:20:22] fizzie: error: storage class specified for parameter 'q' 08:22:00 And only labels have function scope. 08:22:07 So I guess in block scope and file scope. 08:22:17 That covers all the four scopes there are. 08:25:21 `run sed -i '12s/s/s\\n/' lib/interp 08:25:22 No output. 08:26:02 `! asm .globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret; 08:26:03 ​./interps/gcccomp/gcccomp: line 52: 309 Segmentation fault /tmp/compiled.$$ 08:26:08 now that works 08:27:18 fizzie: right 08:27:19 i don't quite see how to avoid bf_txtgen doing it too without duplicating code 08:27:30 this is a problem, because 6.7.7p2 is thus entirely redundant 08:27:32 I'll leave it out 08:28:03 `! asm mov %eax, %ebp 08:28:04 ​./interps/gcccomp/gcccomp: line 52: 307 Segmentation fault /tmp/compiled.$$ 08:29:04 `! asm .globl main; main: pushq $0x00434241; movq %rsp,%rdi; call puts; popq %rdi; ret; 08:29:05 ABC 08:30:54 shachaf: are you omitting the frame pointer there? 08:31:35 You mean the whole push %rbp; mov %rsp,%rbp; business? 08:31:48 oerjan: Next, you can figure out why this doesn't work: 08:31:51 `! asm movq $msg, %rdi; xor %eax, %eax; call printf; jmp skip; msg: .asciz "hello wurld\n"; skip: 08:31:52 Does not compile. 08:31:54 `run printf "%s\n%s\n%s\n" '.globl main; main: pushq %rbp; movq %rsp, %rbp;' 'movq $msg, %rdi; xor %eax, %eax; call printf; jmp skip; msg: .asciz "hello wurld\n"; skip:' 'movl $0, %eax; leave; ret;' | gcc -x assembler - -o /tmp/x && /tmp/x 08:31:55 hello wurld 08:32:09 Those are exactly the HEAD and TAIL from gcccomp. 08:32:27 fizzie: Wait, is '.globl main; main:' included? 08:32:37 -!- Patashu has joined. 08:32:38 `run rm ibin/perl; cp ibin/c ibin/perl; sed -i 's/ c/ perl/' ibin/perl 08:32:39 shachaf: If it compiles with that; if not, then it's not. 08:32:39 No output. 08:32:46 `! perl print "hi" 08:32:47 Does not compile. 08:32:50 eek 08:32:59 shachaf: In other words, it's tried first with those wrappers, and then again "literally" if the wrapped version didn't compile. 08:33:11 oh wait duh 08:33:17 shachaf: I expect in your case the first attempt failed due to multiple definitions of main, and then the second attempt worked. 08:33:33 That explains the bizarre behavior I've been seeing. 08:33:35 `! asm pushq $0x00434241; movq %rsp,%rdi; call puts; popq %rdi 08:33:36 ABC 08:33:36 `run sed -i 's/".*/perl/' ibin/perl 08:33:38 No output. 08:33:40 `! perl print "hi" 08:33:41 hi 08:33:51 there you go, no perl also goes via the same system 08:33:54 *now 08:34:03 oerjan: But why doesn't my asm code work. :/ 08:34:22 the what 08:34:33 Should I repeat it? 08:34:42 `! asm movq $msg, %rdi; xor %eax, %eax; call printf; jmp skip; msg: .asciz "hello wurld\n"; skip: 08:34:42 Does not compile. 08:34:43 it printed ABC, is that not what it should? 08:34:49 `run printf "%s\n%s\n%s\n" '.globl main; main: pushq %rbp; movq %rsp, %rbp;' 'movq $msg, %rdi; xor %eax, %eax; call printf; jmp skip; msg: .asciz "hello wurld\n"; skip:' 'movl $0, %eax; leave; ret;' | gcc -x assembler - -o /tmp/x && /tmp/x 08:34:50 hello wurld 08:34:56 That wasn't my code, that was shachaf's. 08:35:04 oh 08:35:38 `! asm movq $msg, %rdi; xor %eax, %eax; call printf; jmp skip; msg: .asciz "hello wurld\\n"; skip: 08:35:39 hello wurld 08:35:41 hth 08:35:54 `cat ibin/perl 08:35:55 ​#!/bin/sh \ . lib/interp \ interp_file perl 08:36:01 It's not supposed to expand \n, is it? 08:36:11 Well, maybe it is. Who knows. 08:36:26 A better error message would be helpful. 08:36:29 Does make it easier for C preprocessor, like it is with `runc. 08:36:48 why not xor rax, rax? 08:37:01 Because xor eax, eax is shorter by one byte and does the same thing. 08:37:02 Those are the same, aren't they? 08:37:14 xor eax, eax clears the higher bits too? 08:37:17 mroman_: Yes. 08:37:19 Yes. 08:37:19 wtf 08:37:27 Seriously? 08:37:29 Yes. 08:37:33 That sounds broken 08:37:38 And the assemblers I've used add the (unnecessary) REX prefix if you write "xor rax, rax". 08:37:41 I'll stop answering because fizzie is faster. 08:37:55 xor al, al shouldn't clear the whole eax? 08:38:15 then xor eax, eax shouldn't clear the whole rax too 08:38:16 Yes, but that behavior didn't get extended to 64 bits. 08:38:18 "32-bit operands generate a 32-bit result, zero-extended to a 64-bit result in the 08:38:21 Such is x86. 08:38:21 destination general-purpose register. 08:38:37 "8-bit and 16-bit operands generate an 8-bit or 16-bit result. The upper 56 bits or 08:38:40 48 bits (respectively) of the destination general-purpose register are not 08:38:42 modified by the operation. 08:38:52 interesting. 08:39:09 there's no eal eah then? 08:39:17 No. 08:39:38 And there's no ah, bh, ch, dh if you are using a REX prefix, those access the low byte of edi, esi, ebp and esp. 08:39:46 There isn't even ah etc. for -- yes. 08:39:48 You can't do "mov r8b, ah" at all. 08:40:08 what's r8b? 08:40:13 Low byte of r8. 08:40:32 Also known as r8l. 08:40:45 (Intel used r8l .. r15l, AMD used r8b .. r15b.) 08:40:53 If you use that register too much you might get r8-limited. 08:40:53 hm 08:41:06 can you add al, ah on 8086? 08:41:13 ah nvm 08:41:15 sure you can 08:41:21 Yes, and on x86-64 too. 08:41:24 but it won't carry over 08:42:01 I haven't read much about x64 08:42:12 `! unlambda ```.h.\n.ii 08:42:12 No output. 08:42:14 besides rax, rbp etc. you have r1..r8? 08:42:20 mroman_: r8 .. r15. 08:42:24 `! unlambda ```.h.n.ii 08:42:25 hni 08:42:38 ok the expansion isn't happening for all interps 08:42:40 mroman_: And r0 .. r7 are aliases for rax, rbx, rcx, rdx, rsi, rdi, rbp, rsp if you want to be consistent. 08:43:14 is there rip? 08:43:14 (Probably not exactly in that order.) 08:43:18 Yes. 08:43:23 You can even finally use it for addressing. 08:43:29 lea rax, [rip+42] and so. 08:43:46 `run ibin/unlambda "```.h.\n.ii" 08:43:47 bash: -c: line 0: unexpected EOF while looking for matching ``' \ bash: -c: line 1: syntax error: unexpected end of file 08:43:50 No more "call next; next: pop rax" business. 08:44:00 so you can load data relative to the ip without using another register 08:44:08 That, too. 08:44:08 `run ibin/unlambda '```.h.'"\n.ii" 08:44:09 ​./interps/unlambda/unlambda.bin: file /tmp/input.290: parse error 08:44:25 `run ibin/unlambda '```.h.'"n.ii" 08:44:26 hni 08:44:41 `run echo '```.h.'"\n.ii" 08:44:42 ​```.h.\n.ii 08:44:48 I was wondering why I thought it was odd that that call was forward rather than backward. 08:44:56 But now I remember that you only do that to avoid 0 bytes. 08:45:00 although storing data in the instruction stream is probably not very good 08:45:27 `! asm leaq msg(%rip), %rdi; call puts; leave; ret; msg: .asciz "foo" 08:45:28 foo 08:45:38 `! c #include \nint main() { printf("hm"); } 08:45:39 No output. 08:45:42 darn 08:45:50 `! c #include \nint main() { printf("hm"); }; main () 08:45:50 No output. 08:46:06 It's reasonable enough to understand "msg(%rip)" as "the right displacement to reach msg from rip", not "literal value of symbol msg as an offset from rip". 08:46:29 why isn't it working for the one that could actually _use_ it :( 08:46:45 puts uses rdi? 08:46:48 oerjan: #include inside main()? 08:47:02 mroman_: x86-64 sysv calling convention puts arguments mostly in registers, starting from rdi. 08:47:14 The detailed rules are pretty complex, and involve classes. 08:47:32 (The Windows x64 calling convention is a lot simpler. Or at least a little bit simpler.) 08:48:35 SysV version would pass all the parameters of void f(int, int, int, int, int, int, float, float, float, float, float, float, float, float) in registers. 08:48:42 shachaf: i thought the #include should prevent it from compiling inside main. oh hm wait CPP doesn't work like that. 08:48:59 Windows x64 runs out of registers after void f(int, float, int, float), since it only uses four (IIRC), and leaves gaps. 08:49:06 oh well 08:49:14 `! underload (te\nst)S 08:49:14 Error: Unmatched ) 08:49:15 Wait, now I'm not sure what you're trying to do. 08:49:21 oh... 08:49:27 `! underload (test)S 08:49:28 testAttempt to execute unknown command 10 08:49:37 ...sheesh 08:49:49 ok that's one that cannot have a final newline. 08:50:40 void f(int a, float b, int c, float d) on Windows x64 would put a to rcx, b to xmm1, c to r8 and d to xmm3. The SysV abi packs in order of rdi, rsi, rdx, rcx, r8, r9 and xmm0 .. xmm7, and leaves no gaps. 08:52:38 `run echo 'double f(double a, double b) { return a + b; }' | gcc -mfpmath=387 -x c - -o - -S -O2 | paste 08:52:40 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.2318 08:53:11 Look at all that wrangling if you ask for x87 math but with ABI-mandated SSE registers for passing floats. 08:54:27 `run echo 'double f(double a, double b) { return a + b; }' | gcc -x c - -o - -S -O3 | paste 08:54:29 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.8444 08:54:36 `run du -hs paste 08:54:37 69Mpaste 08:54:43 So much stuff. 08:54:57 hm i think i'll do something else instead. 08:55:34 oh wow, does this rule seriously only apply to # followed by formfeed and # followed by vertical tab? 08:55:36 I think it does 08:55:39 `run echo 'double f(double a, int c, double b) { return c*(a + b)/c; }' | gcc -x c - -o - -S -O3 | paste 08:55:41 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.307 08:55:44 a new "rule nobody will ever hit by mistake" discovery 08:55:52 `undo 4924 08:55:53 can't find file to patch at input line 4 \ Perhaps you should have used the -p or --strip option? \ The text leading up to this was: \ -------------------------- \ |diff -r c9619115046f -r d6d2d7192923 lib/interp \ |--- a/lib/interpMon Sep 29 08:10:12 2014 +0000 \ |+++ b/lib/interpMon Sep 29 08:25:19 2014 +0000 \ -------------------------- \ File 08:55:59 Heh. 08:56:07 why the fuck isn't `undo working :( 08:56:16 I guess it can't optimise c*x/c away 08:56:19 do to rounding or stuff 08:56:42 /dev/stdin:1:2: warning: form feed in preprocessing directive [enabled by default] 08:56:56 how do you type a vertical tab anyway? 08:58:06 `run sed '12s/\\n//' lib/interp 08:58:06 ​#!/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 08:58:22 `run sed -i '12s/\\n//' lib/interp 08:58:24 No output. 08:59:00 `! perl print "test" 08:59:00 test 08:59:09 -!- Patashu has quit (Remote host closed the connection). 08:59:20 err, anyone know how to write a cast with no identifiers (not even keywords)? 08:59:24 or is this another unbreakable rule? 08:59:38 oh, I can just use a float constant 08:59:48 `run echo test; echo; echo test 08:59:49 test \ \ test 09:00:17 ais523: This for the "breaks every rule" program you mentioned? 09:00:18 -!- Patashu has joined. 09:00:43 `run sed -i '3iecho >>"$2"' interps/gcccomp/gcccomp 09:00:44 No output. 09:01:04 @oeis 1 2 3 4 09:01:19 fizzie: yes 09:01:24 `! c printf("test"); 09:01:24 @oeis 9,249,17,2,157,116 09:01:25 test 09:01:26 /dev/stdin:1:14: fatal error: //: No such file or directory 09:01:27 -!- AndoDaan has quit (Ping timeout: 245 seconds). 09:01:27 compilation terminated. 09:01:29 The bug is not reproducible, so it is likely a hardware or OS problem. 09:01:30 hu 09:02:08 oeis.org seems to have trouble searching also. 09:02:12 I guess I'm going to have to ban this "#include that doesn't find a file" constraint 09:02:18 `! asm pushq $0x00434241; movq %rsp,%rdi; call puts; popq %rdi 09:02:19 ABC 09:02:19 because it halts the compilation 09:02:24 -!- Sorella has joined. 09:02:27 `! underload (test)S 09:02:27 test 09:02:48 there, now it doesn't affect anything but the gcccomp interpreters 09:02:57 what language is that underload written in? 09:03:04 Plugin `oeis' failed with: <> 09:03:13 -!- Sorella has quit (Changing host). 09:03:13 -!- Sorella has joined. 09:03:27 ais523: C. 09:03:38 I remember we used to have all our Underload interps being in esolangs 09:03:45 EgoBot's was BF, Fungot's was Befunge 09:03:54 fungot's still is. 09:03:57 ... 09:04:05 Oh, I've probably hit the limit. 09:04:40 ^show 09:04:40 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2 lucknumber bf OnePlusPlease OneMinusPlease WhatIsAfterThis WhatIsAfterThis4 meow unmeow (+)*32 (+)7 "7+" +7 8ball eee 7+ mhmm: QuestionMark 09:04:47 what limit? 09:04:54 The "only replies four times" one. 09:05:05 There's also still the bf ul in fungot, you just can't access it because it's shadowed by the built-in command. 09:05:18 fungot: reset the limit for fizzie 09:05:18 ais523: no no i'm 09:05:29 Which is probably for the best, because the time limits of ^bf meant it couldn't quite execute more than about (foo)S. 09:05:44 fungot: You're what? 09:05:45 fizzie: and there was too much war coverage on like c._n._n. ' cause it's hard to know 09:06:08 fungot: That's not how you write out abbreviations. 09:06:08 fizzie: oh really what type of game you couldn't play jeopardy and 09:06:36 Sounds vaguely insulting. 09:08:18 int main(void) { int __VA_ARGS__; } 09:08:25 yet another rule that's unlikely to be triggered by mistake 09:08:44 What are you looking for? 09:08:53 `! c int main(void ) { return __VA_ARGS__; } 09:08:54 Does not compile. 09:10:03 shachaf: an error 09:10:24 or at least a warning 09:14:37 -!- Sorella has quit (Ping timeout: 260 seconds). 09:20:36 OK, I've finished looking through the mandatory warnings 09:22:02 one I couldn't find an example; two cannot happen in a syntactically correct program; one is entirely redundant to another; one I can't figure out what it means; one I couldn't get gcc to error out on but think it may be at fault; and the rest, I reproduced 09:24:07 -!- ais523 has quit (Read error: Connection reset by peer). 09:24:10 -!- callforjudgement has joined. 09:25:42 -!- ais523 has joined. 09:26:28 -!- AndoDaan has joined. 09:28:43 -!- callforjudgement has quit (Ping timeout: 272 seconds). 09:31:23 `! c typedef a int; a a; 09:31:24 Does not compile. 09:31:30 `! c typedef a int; a main(){} 09:31:31 Does not compile. 09:31:36 `! c typedef int a; a main(){} 09:31:37 No output. 09:31:45 `! c typedef int a; a main(a a){a a;} 09:31:45 Does not compile. 09:31:54 `! c typedef int a; a main(a i){a a;} 09:31:55 No output. 09:32:06 `! c typedef int a; a main(a i){a a;puts((a)a);} 09:32:07 Does not compile. 09:32:14 `! c typedef int a; a main(a i){a a;puts(a);} 09:32:15 No output. 09:32:25 `! c typedef int a; a main(a i){a a;puts(a);puts("a");} 09:32:26 No output. 09:32:28 weidr 09:32:39 `! c typedef int a; a main(a i, char* argv){a a;puts(a);puts("a");} 09:32:40 No output. 09:32:47 `! c typedef int a; a main(){a a;puts(a);puts("a");} 09:32:48 No output. 09:33:41 `! c typedef int a; a main(){a a;puts("a");} 09:33:42 No output. 09:34:05 typedef int a; a main(){a a;puts("a");} should actually write a though 09:34:15 puts(a) might segfault 09:34:39 `! c typedef int a; int main(){a a;puts("a");} 09:34:40 No output. 09:35:53 `! c typedef int a; int main(){a a;puts("a");}; main () 09:35:54 a 09:36:05 How do you do do "git log" in svn? 09:36:17 mroman: with git-svn 09:36:23 "svn log" doesn't really show all the stuff it should 09:36:25 mroman_: it's all wrapped inside main, which is allowed because gcc allows nested functions etc. 09:36:43 `! c main(); 09:36:44 Does not compile. 09:36:45 hm 09:36:55 `! c main() 09:36:55 Does not compile. 09:37:11 `! c return 1; 09:37:12 No output. 09:37:14 `! c return main(); 09:37:15 Does not compile. 09:37:26 `! c return main(0,0); 09:37:27 ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$ 09:37:38 wait 09:37:43 this is the compiler segfaulting? 09:37:55 `! c return *(NULL); 09:37:55 Does not compile. 09:38:02 `! c return *(0); 09:38:03 Does not compile. 09:38:03 “Segmentation fault /tmp/compiled.$$” 09:38:24 `! c int a; puts(a); 09:38:25 ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$ 09:38:30 ok. it's the program 09:38:55 `! c return main(0,""); 09:38:56 ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$ 09:39:00 mroman_: recursively calling main from main unguarded will overflow the stack 09:39:02 that's a segfault 09:39:12 !c puts("a"); return main(0, 0); 09:39:19 `! c puts("a"); return main(0, 0); 09:39:20 a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a \ a 09:39:32 `! c puts(argv[0]); 09:39:33 ​/tmp/compiled.299 09:39:45 `! c puts(argv[0]); main(0,"buar"); 09:39:45 ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$ 09:39:55 `! c puts(argv[0]); main(1,&"buar"); 09:39:55 ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$ 09:40:00 hm 09:40:15 `! c printf("%x", &"buar"); 09:40:17 4005ec 09:40:33 `! c char**p=&"foo";puts(p[0]); 09:40:33 ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$ 09:40:37 You're just taking the address of the array for &"foo". 09:41:42 `! c puts(argv[0]); main(0, (char*[]){"foo"}); 09:41:43 ​/tmp/compiled.299 \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo \ foo 09:42:15 A char ** (like p, or argv) needs an actual char * to point at. 09:43:19 `! c char*p="foo";char**q=&p;puts(q[0]); 09:43:20 foo 09:43:41 `! c puts(argv[0]); main(argc+1, (char*[]){ (char[]){ 'f', 'o', 'o', '0'+argc } }); 09:43:42 ​/tmp/compiled.299 \ foo1 \ foo2 \ foo3 \ foo4 \ foo5 \ foo6 \ foo7 \ foo8 \ foo9 \ foo: \ foo; \ foo< \ foo= \ foo> \ foo? \ foo@ \ fooA \ fooB \ fooC \ fooD \ fooE \ fooF \ fooG \ fooH \ fooI \ fooJ \ fooK \ fooL \ fooM \ fooN \ fooO \ fooP \ fooQ \ fooR \ fooS \ fooT \ fooU \ fooV \ fooW \ fooX \ fooY \ fooZ \ foo[ \ foo\ \ foo] \ foo^ \ foo_ 09:43:46 `! c char**q=&("foo");puts(q[0]); 09:43:47 ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$ 09:43:52 wtf 09:44:00 if "foo" is char* 09:44:02 &("foo") is no different from &foo. 09:44:06 then &"foo" should be char** 09:44:07 And "foo" is not a char *. 09:44:11 "foo" is a char[3]. 09:44:14 Er, char[4]. 09:44:20 `! c char**q=&((char*)"foo");puts(q[0]); 09:44:21 Does not compile. 09:44:22 &foo is a char (*)[4]. 09:44:25 `! c char**q=&((char*)"foo"); 09:44:26 Does not compile. 09:44:48 You need an object of type 'char *' for char ** to point at. A string literal is not a pointer to char. 09:45:04 `! c char **q = &(char *){"foo"}; puts(*q); /* if you insist */ 09:45:05 foo 09:45:06 makes sense 09:45:12 `! int* = &6; 09:45:13 ​/hackenv/bin/!: 4: exec: ibin/int*: not found 09:45:17 `! c8 int* = &6; 09:45:17 ​/hackenv/bin/!: 4: exec: ibin/c8: not found 09:45:19 `! c int* = &6; 09:45:20 Does not compile. 09:45:52 otherwise this would need to be legal too 09:46:04 Not without an identifier. 09:46:28 `! c printf("%x"); 09:46:30 bf883d18 09:46:40 `! c printf("%x%n"); 09:46:41 bfcc7d18 09:47:37 `! c if(printf("%x") bff29d084195854 09:48:05 There was some talk about %n being removed from the Microsoft C runtime library. 09:48:12 what 09:48:19 http://msdn.microsoft.com/en-us/library/hf4y5e3w.aspx "Because the %n format is inherently insecure, it is disabled by default. If %n is encountered in a format string, the invalid parameter handler is invoked, as described in Parameter Validation. To enable %n support, see _set_printf_count_output." 09:48:22 How will I do format string exploits then 09:48:58 You have to convince your targets to do _set_printf_count_output. 09:49:12 fizzie: do _set_printf_count_output 09:49:18 Done. 09:49:28 whoa, i completely forgot about https://en.wikipedia.org/wiki/Cuisenaire_rods 09:49:39 k. Prepare to be hax0red 09:50:27 An IRC client doing printf(msg); would be cool 09:51:25 Someone on ##c had their IRC client print out "zid: command not found" when a person with the nick "zid`" spoke to them. That sounded like a bad idea. 09:51:48 but it had a fizzie command? 09:51:50 There wasn't even a leading ` in the nick. 09:52:32 http://sprunge.us/RIhi so many choices. 09:53:16 !blsq_uptime 09:53:17 5d 2h 42m 54s 09:53:27 New record. 09:53:30 `uptime 09:53:30 ​ 09:53:27 up 0 min, 0 users, load average: 0.00, 0.00, 0.00 09:53:47 The drawbacks of running each command in a separate UML box. 09:53:54 I've also changed the secret passphrase 09:53:57 blsqbot please do quit 09:54:10 doesn't work anymore 09:54:25 blsqbot would you kindly quit 09:54:26 http://postimg.org/image/o2fdfk0cp Spoiler flag is useless. :| 09:54:31 Worth a try, I guess. 09:55:23 You have to nicely ask blsqbot 09:55:57 also I should implement nick recognition 09:56:01 as well as channel recogniton 09:56:07 otherwise people can abuse blsqbot for spam 09:56:38 Who's spamming here? 09:56:43 blsqbot, pretty please with a cheery on top quit and never show your face again 09:57:01 Lymia that's not a question. 09:57:34 although blsqbot serves as a neutral part to make neutral complaints about something 09:57:56 BF Joust sucks. 09:58:45 {1 4 9 16 25 36 49 64 81 100} 09:58:56 Lymia: you misspelled cherry, that's obviously why 09:59:14 I just copied the IRC bot from haskellwiki 09:59:23 but that bot doesn't have channel recognition 09:59:23 Didn't we have a regular by name of "cheery"? 09:59:46 i don't know, my memory is going... 10:00:27 [wiki] [[Special:Log/newusers]] create * FerminBazile * New user account 10:00:43 Hm. 10:00:56 lol 10:01:03 the blsqbot terminal is suddenly in blue color 10:01:14 somebody here used escape sequences to make it blue o_O 10:01:57 um HackEgo's wiki announcement ended in blue or maybe cyan 10:02:17 Those are in mIRC colors, though, not in terminal escapes. 10:02:23 hm 10:02:53 can somebody print the escape sequence to turn stuff red? 10:03:03 red text 10:03:37 > putStr "\x1b[30m" 10:03:39 10:03:46 > "\x1b[30m" 10:03:47 "\ESC[30m" 10:03:48 the 'mirc syntax' is an ETX then a 4 10:03:51 hm 10:04:01 [31;1mfoo 10:04:01 `! haskell i don't think this is working... 10:04:02 ​./interps/ghc/runghc: line 5: /opt/ghc/bin/runhaskell: No such file or directory 10:04:13 fizzie: now it's red 10:04:17 > "\0" 10:04:19 "\NUL" 10:04:26 That was the regular \x1b[31;1m. 10:04:37 what sort of evil stuff can you do with that o_O 10:04:57 `! c printf("\x1b[31;1mhi\n"); 10:04:57 Does not compile. 10:05:02 bah 10:05:15 I think there are some nasty things that would cause input. 10:05:46 [1J 10:05:54 I wonder if that got filtered out. 10:06:11 `! c printf("\0x1b[31;1mhi\n"); 10:06:12 Does not compile. 10:06:19 `! c printf("\\x1b[31;1mhi\n"); 10:06:20 Does not compile. 10:06:25 `! c printf("\\0x1b[31;1mhi\n"); 10:06:26 Does not compile. 10:06:38 `! c printf("\\0x1b[31;1mhi\\n"); 10:06:39 No output. 10:06:45 That's interesting. 10:06:54 i suppose that's an improvement. 10:06:56 hm 10:07:03 Where did the 0 come from, anyway. 10:07:17 i just tried to find something that worked 10:07:23 `! c printf("\x1b[31;1mhi\\n"); 10:07:24 ​[31;1mhi 10:07:47 Oh, I guess the \\0 was an extra null terminator, of course. 10:08:10 yeah 10:08:12 I'm not sure whether that had "\x1b" in the string literal as an escape or a, well, literal, but maybe it doesn't matter. 10:08:15 `! c printf("\x1b[1J\\n"); 10:08:16 ​[1J 10:08:29 CSI 1 J is just the "clear screen". 10:08:36 it worked 10:08:40 Er, erase from start to cursor, that is. 10:09:05 `! c printf("\\x1b[31;1mhi\\n"); 10:09:07 ​[31;1mhi 10:09:12 `! c printf("\x1b[0;6 8;"DIR";13p\\n"); 10:09:13 Does not compile. 10:09:20 `! c printf("\x1b[0;6 8;\"DIR\";13p\\n"); 10:09:23 ​[0;6 8;"DIR";13p 10:09:59 How dangerous it is depends on your terminal emulator: http://marc.info/?l=bugtraq&m=104612710031920 10:11:02 `run echo -e "\ec+ +\n\e];/tmp/rhosts\a" 10:11:03 ​c+ + \ ];/tmp/rhosts 10:11:45 `run echo -e "\e]2;This is the new window title\a" 10:11:45 ​]2;This is the new window title 10:11:54 :D 10:11:55 A proper IRC client should filter out any escape codes other than changing formatting of text, and then reset the text formatting afterward 10:11:56 this works 10:12:12 -!- Phantom_Hoover has joined. 10:12:20 -!- Phantom_Hoover has quit (Changing host). 10:12:20 -!- Phantom_Hoover has joined. 10:13:26 `run echo -e "\e]2;;touch /tmp/bar;xterm\aPress Enter>\e[8m;" 10:13:27 ​]2;;touch /tmp/bar;xtermPress Enter>[8m; 10:13:53 hm 10:14:40 I have made up a "Z-machine Reference Card" now (just a few minutes ago). I don't know if you like it or not, or if some thing should be added, or maybe it contains a mistake, etc? http://zzo38computer.org/zmachine/doc/zipquick.dvi 10:15:05 `run echo -e "\e[21t" 10:15:06 ​[21t 10:15:34 whats [21t? 10:16:02 isn't that a terminal code? 10:16:39 -!- boily has joined. 10:16:58 ah 10:17:01 "Report window title", it's supposed to put the title directly to the input buffer as if you had typed it. 10:17:02 it displays the window title 10:17:28 All those "query"-style escapes are quite strange. 10:17:48 -!- oerjan has quit (Quit: leaving). 10:18:50 It placed the window title 10:19:06 but since blsqbot isn't a terminal where you can press enter to execute something 10:19:13 it doesn't do much harm 10:19:48 It might still be on the shell input buffer when you terminate the bot, assuming it doesn't read its stdin. 10:22:15 `echo -e "\e[?1000h" 10:22:15 ​-e "\e[?1000h" 10:22:19 `run echo -e "\e[?1000h" 10:22:19 ​[?1000h 10:22:30 That may have put your terminal in one of the mouse-tracking modes. 10:22:48 Where clicking around will cause it to spew out ugly escape sequences. 10:24:55 If you are using PuTTY, you can disable many terminal features 10:26:36 (I am using PuTTY, although the IRC client filters out most control characters anyways, so it doesn't cause a problem.) 10:29:23 ah, that's what ncurses is doing, right? 10:44:37 -!- FreeFull has joined. 10:50:03 -!- Jafet has quit (Quit: Quit). 10:50:19 -!- Jafet has joined. 10:50:38 -!- Jafet has quit (Changing host). 10:50:38 -!- Jafet has joined. 11:00:47 fungot: good morning fungot. 11:00:47 boily: ah i know personally that was ah that was really 11:10:45 -!- FreeFull has quit (Ping timeout: 272 seconds). 11:12:03 -!- password2 has joined. 11:13:31 -!- Sorella has joined. 11:14:21 -!- Sorella has quit (Changing host). 11:14:21 -!- Sorella has joined. 11:19:45 fungot: It did. 11:19:45 mroman_: but so anyway like that has nothing but like disney movies on it but you 11:19:49 eh 11:19:52 fizzie: It did. 11:21:35 -!- boily has quit (Quit: UNDERHANDED CHICKEN). 11:22:04 although I'm not whether the culprit is screen or something else 11:22:09 *sure 11:23:16 `run echo -e "\e[?1000l" # let's turn it off anyway. 11:23:17 ​[?1000l 11:23:57 fungot: Are you pirating Disney movies or something there? 11:23:57 fizzie: you can't even p- park on the street and it it 11:29:31 -!- FreeFull has joined. 11:36:42 !blsq 1 2qlg10C!#s 11:36:42 {NaN NaN NaN NaN NaN NaN NaN NaN -0.36651292058166435 0.6931471805599453 2 1} 11:36:48 !blsq 1 2qlg10!C#s 11:36:49 {1 2 0.6931471805599453 -0.36651292058166435 NaN NaN NaN NaN NaN NaN NaN NaN} 11:36:58 !blsq 1 2qLG10!C#s 11:36:59 {1 2 Infinity Infinity NaN NaN NaN NaN NaN NaN NaN NaN} 11:37:05 !blsq 2 2qLG10!C#s 11:37:05 {2 2 1.0 0.0 -Infinity NaN NaN NaN NaN NaN NaN NaN} 11:37:09 !blsq 2 3qLG10!C#s 11:37:09 {2 3 1.5849625007211563 0.4192204592547559 -1.8876084101671844 NaN NaN NaN NaN N 11:37:18 !blsq 2 30qLG10!C#s 11:37:19 {2 30 4.906890595608519 0.46767072968457507 -0.4777891787829274 NaN NaN NaN NaN 11:37:24 !blsq 29 30qLG10!C#s 11:37:24 {29 30 1.010067886335908 0.002945298865150891 -581.7339748797842 NaN NaN NaN NaN 11:37:35 ic 11:37:46 !blsq 30q?s5!C#s 11:37:47 {30 5.477225575051661 2.340347319320716 1.5298193747370035 1.2368586720951604 1. 11:38:18 NaN'a'NaN. 11:38:18 > 64*64 11:38:20 4096 11:38:25 !blsq 4096q?s5!C#s 11:38:26 {4096 64.0 8.0 2.8284271247461903 1.6817928305074292 1.2968395546510096} 11:38:42 > 8**2**2**2**2**2 11:38:43 Infinity 11:38:46 > 8**2**2**2**2 11:38:47 Infinity 11:38:49 > 8**2**2**2 11:38:51 2.81474976710656e14 11:39:14 what's the limes of a(n) = sqrt(a(n-1))? 11:39:15 1? 11:39:23 !blsq 4096q?s10!C#s 11:39:24 {4096 64.0 8.0 2.8284271247461903 1.6817928305074292 1.2968395546510096 1.138788 11:39:32 !blsq 4096q?s10!C[- 11:39:32 96 11:39:39 !blsq 4096q?s10!C#s[- 11:39:40 {64.0 8.0 2.8284271247461903 1.6817928305074292 1.2968395546510096 1.13878863475 11:39:43 !blsq 4096q?s10!C#s[~ 11:39:43 1.0081558981184175 11:39:48 !blsq 4096q?s10000!C#s[~ 11:39:49 Ain't nobody got time fo' dat! 11:39:52 !blsq 4096q?s1000!C#s[~ 11:39:52 1.0 11:39:56 looks like it. 11:40:33 sqrt(a) for a > 1 is a number that's strictly between 1 and a, so... 11:43:08 !blsq 10 5qcr10!C#s[~ 11:43:08 ERROR: Unknown command: (cr)! 11:43:13 !blsq 10 5qnr10!C#s[~ 11:43:13 1 11:43:16 !blsq 10 5qnr10!C#s 11:43:16 {10 5 252 1 252 1 252 1 252 1 252 1} 11:43:22 !blsq 10 9qnr10!C#s 11:43:22 {10 9 10 1 10 1 10 1 10 1 10 1} 11:43:30 !blsq 9 10qnr10!C#s 11:43:30 {9 10 1 10 1 10 1 10 1 10 1 10} 11:43:31 Alternatively: sqrt(a) = a^(1/2), so a_n = a_0^(1/2^n) which will approach a_0^0 = 1. 11:43:43 !blsq 9 10{jnr}10!C#s 11:43:43 {9 10 10 1 1 1 1 1 1 1 1 1} 11:43:48 !blsq 10 5{jnr}10!C#s 11:43:48 {10 5 1 1 1 1 1 1 1 1 1 1} 11:43:59 !blsq 5 10{jnr}10!C#s 11:44:00 Ain't nobody got time fo' dat! 11:44:04 ok 11:44:06 !blsq 5 10{jnr}2!C#s 11:44:07 {5 10 252 237517990691968350} 11:44:10 !blsq 5 10{jnr}3!C#s 11:44:10 Ain't nobody got time fo' dat! 11:44:13 !blsq 5 10{jnr}2!C#s 11:44:14 {5 10 252 237517990691968350} 11:45:26 a(n) = nCr(a(n-1),a(n-2)) 11:46:15 !blsq 5 10{jnr}3!Cit 11:46:15 5 11:46:23 !blsq 5 10{jnr}4!Cit 11:46:24 5 11:46:26 !blsq 5 10{jnr}4!Cth 11:46:26 Ain't nobody got time fo' dat! 11:46:30 !blsq 5 10{jnr}3!Cth 11:46:30 Ain't nobody got time fo' dat! 11:46:34 why not :( 11:47:23 !blsq 1 3{jnr}2!C#s 11:47:23 {1 3 3 1} 11:47:27 !blsq 1 3{jnr}3!C#s 11:47:28 {1 3 3 1 1} 11:47:31 !blsq 2 3{jnr}3!C#s 11:47:31 {2 3 3 1 1} 11:47:40 !blsq 5 11{jnr}3!C#s 11:47:41 Ain't nobody got time fo' dat! 11:47:48 Is nr that slow? 11:48:38 ncr n k = product [k+1..n] `div` product [1..n-k] 11:49:07 !blsq 252 10nr 11:49:08 237517990691968350 11:49:30 !blsq 237517990691968350 252nr 11:49:30 Ain't nobody got time fo' dat! 11:50:02 > product [5+1..10] `div` product [1..5] 11:50:04 252 11:50:30 @let ncr n k = product [k+1..n] `div` product [1..n-k] 11:50:33 Defined. 11:50:40 > ncr 10 5 11:50:41 252 11:50:53 > ncr 237517990691968350 252 11:50:57 mueval-core: Time limit exceeded 11:51:27 Not sure if you can do ncr more efficiently 11:51:32 it is a pretty huge number. 11:54:50 elliott_: I've changed my password scheme to using nCr(secret, siteSpecific) 11:56:05 It can easily produce passwords thousands of digits long 11:56:23 > ncr 273 252 11:56:24 12832413319490100185605420936128 11:56:40 > 10^32 11:56:42 100000000000000000000000000000000 11:57:01 > (10^32) / (96^20) 11:57:03 2.2624309808050328e-8 11:57:06 You can replace k with (n-k) depending on whether it's closer to 0 or n in order to make those products smaller. 11:57:50 -!- AndoDaan_ has joined. 11:58:02 > 273/2 11:58:03 136.5 11:58:10 > ncr 274 137 11:58:12 1461797917332285816682186571523274129885025550897564128525125778686553583310... 11:58:21 > (ncr 274 137) - (ncr 274 138) 11:58:22 1059273853139337548320425051828459514409438804998234875742844767164169263268... 11:58:25 -!- AndoDaan has quit (Ping timeout: 260 seconds). 11:58:29 hm 11:58:37 fizzie: There's a k so that ncr n k is max? 11:58:42 I forgot where it is 11:58:51 It's right there in the middle, I'm pretty sure. 11:58:57 I thought so as well 11:59:05 since there's a symmetry law 11:59:44 it is in the middle. 11:59:50 -!- AndoDaan_ has changed nick to AndoDaan. 12:00:53 !blsq 8 1 7r@nr 12:00:54 {8 28 56 70 56 28 8} 12:01:07 !blsq 8 1 7r@nr[> 12:01:08 ERROR: Unknown command: ([>)! 12:01:10 !blsq 8 1 7r@nr>] 12:01:10 70 12:01:15 !blsq 8 1 7r@nrJ>]fi 12:01:16 ERROR: Burlesque: (fi) Invalid arguments! 12:01:18 !blsq 8 1 7r@nrJ>] 12:01:19 70 12:01:23 !blsq 8 1 7r@nr>] 12:01:23 70 12:01:27 !blsq 8 1 7r@nrJ>]jfi 12:01:27 ERROR: Burlesque: (fi) Invalid arguments! 12:01:29 really 12:01:30 wth 12:01:39 !blsq 8 1 7r@nrJ>]Fi 12:01:39 3 12:01:41 ah 12:01:47 upper-case f 12:02:26 AndoDaan: Some commands btw. automatically map/zip lists 12:02:56 If you write it in the factorial form -- n! / (k! (n-k)!) -- it's quite easy to see that it's (around, if odd n) n/2, because getting away from the midpoint replaces smaller numbers with bigger ones in the product in the denominator. 12:03:13 nr and b2 are one of them 12:03:16 what is zipping exactly? 12:03:23 Do you know haskell? 12:03:28 It's the same as zip in Haskell 12:03:34 > zip [1,2,3] [4,5,6] 12:03:36 [(1,4),(2,5),(3,6)] 12:03:36 A little 12:03:41 !blsq {1 2 3}{4 5 6}z[ 12:03:42 {{1 4} {2 5} {3 6}} 12:03:52 > zipWith (+) [1,2,3] [4,5,6] 12:03:53 [5,7,9] 12:04:09 > zipWith (+) [x,y] [z,z] 12:04:10 [x + z,y + z] 12:04:27 !blsq {1 2 3}{4 5 6}{.+}Z] 12:04:27 {5 7 9} 12:04:47 You take a value from each of the lists and apply a function to it 12:05:10 What Haskell can't do is 12:05:20 > zipWith (+) [1] [1,2,3,4] 12:05:21 [2] 12:05:37 !blsq 1{1 2 3 4}?+ 12:05:38 {2 3 4 5} 12:05:50 > (1+) <$> [1,2,3,4] 12:05:52 [2,3,4,5] 12:06:14 !blsq {1}{1 2 3 4}{.+}Z] 12:06:14 {2} 12:06:49 ?+ automatically box-cycles and zips 12:06:49 Maybe you meant: v @ ? . 12:06:56 !blsq 1bc 12:06:56 Ain't nobody got time fo' dat! 12:07:04 !blsq 1bc{1 2 3 4}?+ 12:07:05 {2 3 4 5} 12:07:13 what's the difference between <$> and map? 12:07:31 @src <$> 12:07:31 f <$> a = fmap f a 12:07:46 AndoDaan: Certain commands will check whether you supplied a list/block or not 12:07:49 so, there is none? 12:07:49 !blsq {72 101 108 108 111}{L[}Z[ 12:07:50 That line gave me an error 12:07:51 v? 12:07:53 !blsq {1 2 3 4 5}b2 12:07:53 {"1" "10" "11" "100" "101"} 12:08:03 !blsq {72 101 108 108 111}{L[}m[ 12:08:03 ^- b2 checks if it's a list and just maps over the list automatically 12:08:04 {'H 'e 'l 'l 'o} 12:08:04 ?v 12:08:04 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\" 12:08:07 myname: Well, there is a difference between fmap and map, unless you're only talking about lists. 12:08:14 uh, well. I see. 12:08:25 !blsq {72 101 108 108 111})L[ 12:08:26 {'H 'e 'l 'l 'o} 12:08:27 fizzie: yeah, sure, but besides that 12:08:38 ) wraps a single command in a map 12:08:44 (as does : for filter) 12:08:54 damn that's helpfull 12:08:59 so 12:09:05 {aabb}m[ 12:09:07 )aa)bb 12:09:19 it's shorter to do two maps instead of one 12:09:34 !blsq {72 101 108 108 111}L[.+ 12:09:34 ERROR: Burlesque: (.+) Invalid arguments! 12:09:51 !blsq {72 101 108 108 111}L[wd 12:09:52 ERROR: Burlesque: ([[) Invalid arguments! 12:09:58 NumPy has this thing called auto-broadcasting, you can apply most binary things to, say, operands of sizes (AxBxCxD) and (Ax1xCx1) and it'll repeat the latter along the singleton dimensions to make up the difference. 12:10:01 L[ is length for Blocks 12:10:05 !blsq {1 2 3 4}L[ 12:10:05 4 12:10:28 !blsq {72 101 108 108 111})L[wd 12:10:29 "H e l l o" 12:10:33 -!- GeekDude has joined. 12:10:46 !blsq {72 101 108 108 111})L[wd 12:10:47 "H e l l o" 12:10:58 !blsq {"abc" "" "def" "" "" "ppp"}:L[ 12:10:59 {"abc" "def" "ppp"} 12:11:09 !blsq {72 101 108 108 111})L[wD 12:11:09 H e l l o 12:11:29 !blsq {72 101 108 108 111})L[)L[ 12:11:30 {'A 'a 'a 'a 'a} 12:11:32 What's the logic of L[ being length for blocks/strings, conversion to character for int, and testing for upper/lowercase for char? 12:11:32 !blsq {72 101 108 108 111})L[2enwD 12:11:33 e l 12:12:02 !blsq {72 101 108 108 111})L[nwD2en 12:12:02 That line gave me an error 12:12:14 fizzie: Historical 12:12:18 !blsq {72 101 108 108 111})L[nwd2en 12:12:19 That line gave me an error 12:12:22 I tried to squish as much functionality into a single command 12:12:24 !blsq {72 101 108 108 111})L[nwd2 12:12:24 ERROR: Unknown command: (d2)! 12:12:45 which looking back wasn't a really good thing to do 12:13:09 what's en? 12:13:12 everyNth? 12:13:35 fizzie: In case I wanted to switch to single byte commands 12:13:56 Which I only could have about 200 commands 12:14:04 but I dropped that 12:14:10 It now has 12:14:14 !blsq ?n 12:14:14 That line gave me an error 12:14:16 !blsq ?_ 12:14:16 "I have 340 non-special builtins!" 12:14:27 340 non-special builtins 12:14:41 and some special builtins 12:14:49 !blsq 339?n 12:14:49 ?? 12:14:53 !blsq 338?n 12:14:53 ?n 12:15:17 AndoDaan: ?n is undocumented btw ;) 12:15:32 338?n returns the 338th command 12:15:53 !blsq 60?n 12:15:53 ^^ 12:16:09 ooh exciting 12:16:42 !blsq (^^) 12:16:42 ^^ 12:16:49 ^- in case you didn't know () 12:16:51 !blsq 1?n 12:16:51 J 12:17:13 (^^) is shorter than "^^"Q 12:17:20 for challenges where you have to exactly print two characters 12:17:29 !blsq 20rz{?n}m[ 12:17:29 {j J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == !=} 12:17:46 wat 12:17:58 !blsq 60rz{?n}m[ 12:17:58 {j J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == != <- ln un uN wl WL 12:18:26 -!- nortti has changed nick to hellortti. 12:18:28 fizzie: The most stupid decision was printing strings with "" 12:18:31 !blsq "foo" 12:18:31 "foo" 12:18:37 !blsq 60 100r@{?n}m[ 12:18:37 {^^ vv XX ~[ ~~ ~! !~ r~ R~ ^p p^ =[ sh FF ff Ff SH sH Sh ~= =~ || && $$ L[ ab s 12:18:40 that's why there's un and uN 12:18:40 -!- hellortti has changed nick to nortti. 12:19:02 most common used commands have a version with an implicit sh 12:19:08 !blsq {"ab""cd"}un 12:19:09 "ab\ncd" 12:19:11 !blsq {"ab""cd"}uN 12:19:11 ab 12:19:26 !blsq 150 100r@{?n}m[ 12:19:27 {} 12:19:33 !blsq 100 150r@{?n}m[ 12:19:34 {<> /v v/ ^/ /^ r& r| ZZ zz M[ M] m] [m ]m [M wd wD f[ z[ Z[ Z] !! fi Fi fI fe C 12:19:39 !blsq ((((q)))) 12:19:39 ERROR: (line 1, column 10): 12:19:46 !blsq ((q)) 12:19:47 ERROR: (line 1, column 6): 12:19:48 ok 12:19:51 !blsq 150 300r@{?n}m[ 12:19:52 {sb cm CM Cm B! g_ l_ tw dw tp FM r\ SP sp hd HD ld LD st #a #b #c `a `b `c !a ! 12:19:53 !blsq ((qa)) 12:19:54 ERROR: (line 1, column 7): 12:19:59 !blsq ((la)) 12:19:59 (la) 12:20:04 !blsq (((la))) 12:20:05 ((la)) 12:20:08 :) 12:20:12 !blsq (((la)))bxe! 12:20:12 (la) 12:20:21 !blsq 200 300r@{?n}m[ 12:20:22 {Wl si ro rz nu fl to sr rn RN >m !blsq 400 500r@{?n}m[ 12:20:42 !blsq (ta)to 12:20:42 That line gave me an error 12:20:42 "Ident" 12:20:55 !blsq ((ta))to 12:20:56 "Quoted" 12:21:04 !blsq 338 360r@{?n}m[ 12:21:05 That line gave me an error 12:21:10 there are only 340 12:21:18 `forth ." that string print thing is so Forthy!" 12:21:19 that string print thing is so Forthy! 12:21:22 !blsq 338 339r@{?n}m[ 12:21:22 {?n ??} 12:21:35 !blsq 316r@{?n}m[ 12:21:36 ERROR: Burlesque: (m[) Invalid arguments! 12:21:44 !blsq 316 320r@{?n}m[ 12:21:45 {sm fu ck it th} 12:21:53 fu ck it 12:21:56 :) 12:21:58 yeah 12:22:01 !blsq 316 321r@{?n}m[ 12:22:01 {sm fu ck it th bs} 12:22:21 !blsq {"abc""efg"}{L[}fuckit 12:22:21 I saw your transpose easter egg, btw. 12:22:21 ERROR: Burlsque: (n!) Invalid arguments! 12:22:32 !blsq {{"abc"}{"efg"}}{L[}fuckit 12:22:32 'g 12:22:52 !blsq 321 ?n 12:22:52 bs 12:22:56 !blsq 322 ?n 12:22:57 BS 12:23:00 !blsq 323 ?n 12:23:00 cn 12:23:01 It's weird that you can unline Blocks without strings 12:23:06 !blsq {1 2 3}un 12:23:06 "\n12\n3" 12:23:27 !blsq {1 2 3}uN 12:23:27 But the result is buggy :D 12:23:27 Ain't nobody got output fo' that! 12:23:38 !blsq {1 2 3}sh 12:23:38 [1, 2, 3] 12:23:45 !blsq {1 2 3}un 12:23:45 "\n12\n3" 12:23:52 !blsq ,{1 2 3}un 12:23:53 "\n12\n3" 12:24:02 !blsq ,{1 2 3}\/un 12:24:03 ERROR: Burlesque: (\[) Invalid arguments! 12:24:16 !blsq ,{1 2 3}^^[-un 12:24:16 "\n23" 12:24:23 !blsq ,{1 2 3}^^-]un 12:24:24 ERROR: Burlesque: (\[) Invalid arguments! 12:24:45 !blsq {1 2}un 12:24:46 "\n12" 12:24:49 weird 12:25:16 !blsq {2 3}un 12:25:16 !blsq #Qhithere. 12:25:16 "\n23" 12:25:16 ERROR: Unknown command: (e.)! 12:25:26 !blsq #qhithere. 12:25:27 ERROR: Unknown command: (e.)! 12:25:32 !blsq #q5 12:25:33 5 12:25:49 !blsq #q5 5#s 12:25:50 {5 5} 12:25:53 !blsq {2 3}57?n 12:25:53 m[ 12:26:10 !blsq {2 3}55?n 12:26:10 \m 12:26:11 (blsqbot only prints the first line) 12:27:21 !blsq {2 3} 150?n 12:27:21 sb 12:30:33 good ol' sortBy 12:30:59 !blsq {"abc""d""fegh"}(L[)cmsb 12:30:59 ERROR: Burlesque: (sb) Invalid arguments! 12:31:03 !blsq {"abc""d""fegh"}(L[)Cmsb 12:31:03 ERROR: Burlesque: (sb) Invalid arguments! 12:31:05 !blsq {"abc""d""fegh"}(L[)CMsb 12:31:06 {"d" "abc" "fegh"} 12:31:14 I can never remember which version of compare to use 12:31:34 !blsq {"abc""d""fegh"}{L[}Cmsb 12:31:35 {"d" "abc" "fegh"} 12:31:57 > sortBy (comparing length) ["abc","d","fegh"] 12:31:58 ["d","abc","fegh"] 12:32:27 Burlesque maps nicely to haskell :) 12:32:49 almost as if it were a stack-based haskell or something 12:33:14 !blsq {"abc""d""fegh"}{L[}Cmsbsh 12:33:15 ["d", "abc", "fegh"] 12:34:30 AndoDaan: You can also write fuckshit or something like that 12:35:09 !blsq fuckshit 12:35:09 ERROR: Burlsque: (n!) Invalid arguments! 12:35:22 !blsq "fuckshit"fuckshit 12:35:22 ERROR: Burlsque: (n!) Invalid arguments! 12:35:37 ck is n!n! 12:35:38 5n! 12:35:52 !blsq 5n! 12:35:53 0 12:35:54 !blsq 5n!n! 12:35:55 1 12:36:00 !blsq 5n! 12:36:00 0 12:36:12 !blsq 6n!5n! 12:36:13 0 12:36:36 !blsq -1n! 12:36:37 0 12:36:38 ck also returns the most common element of the most common block in a block 12:36:56 !blsq {{1 2 2 3}{1 2 2 3}{1 2 3}{1 4 4}}ck 12:36:57 2 12:38:16 !blsq 20q?nGO 12:38:17 {J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == !=} 12:38:18 btw ;) 12:38:38 !blsq 20rz)?N 12:38:38 {ERROR: Unknown command: (?N)! 0 ERROR: Unknown command: (?N)! 1 ERROR: Unknown 12:38:41 !blsq 20rz)?n 12:38:42 {j J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == !=} 12:38:50 !blsq 20q?n 12:38:50 {?n} 12:39:02 q just wraps the next "Token" in a Block 12:39:05 !blsq q9 12:39:05 {9} 12:39:07 !blsq q'a 12:39:07 {'a} 12:39:09 !blsq qq0 12:39:10 {{0}} 12:39:13 !blsq qqqqqqqqqqqq0 12:39:13 {{{{{{{{{{{{0}}}}}}}}}}}} 12:39:15 ah 12:39:27 !blsq 20?N 12:39:27 ERROR: Unknown command: (?N)! 12:39:30 !blsq ?N 12:39:31 ERROR: Unknown command: (?N)! 12:39:31 however, unlike jJQ q is on the syntax level 12:39:41 jJQ:)@ etc. are on eval level 12:39:51 !blsq @5 12:39:51 5.0 12:39:58 !blsq {@5} 12:39:59 {@ 5} 12:39:59 -!- Patashu has quit (Ping timeout: 272 seconds). 12:40:02 ^- see 12:40:08 {@5} isn't actually 5.0 12:40:25 which is kinda dumb :( 12:40:39 I hope I'll retain some of this info. 12:40:43 !blsq {0}{@5}m[ 12:40:43 {5.0 0} 12:40:51 ^- but it will be turned into 5.0 eventually 12:41:06 !blsq {q5} 12:41:06 {{5}} 12:41:12 ^- q is on the syntax level 12:41:26 !blsq (q) 12:41:27 ERROR: (line 1, column 4): 12:41:42 also () doesn't work with single character commands apparentely o_O 12:41:49 !blsq (j) 12:41:50 j 12:41:53 nvm. it does 12:42:07 !blsq @ @ @#s 12:42:07 's 12:42:13 !blsq @ @ 12:42:13 @ 12:42:30 !blsq {az}@+] 12:42:31 '] 12:42:35 !blsq {az}@ +] 12:42:35 '] 12:42:37 damn 12:42:44 !blsq {az}(@)+] 12:42:45 {@ az} 12:42:48 !blsq {az}(@)+]e! 12:42:49 'z 12:42:52 !blsq {az}(@)+]e!#s 12:42:52 {'z 'a} 12:42:56 I did notice that Q and J and j don't work when running --shell 12:43:05 hu? 12:43:32 I test my code in the shell 12:43:35 blsq ) 1 2j 12:43:35 1 12:43:35 2 12:43:42 so burlesque --shell 12:43:44 ^- they work on my computer 12:44:20 (also what happens when you run ?? in the shell?) 12:44:26 ah well, it's only minor 12:44:49 argh, 1.7.2b 12:44:51 yeah 12:44:52 sorry 12:44:56 you don't have the latest version then :) 12:45:03 I thought I had it updated. 12:45:27 but better like this I guess. Keeps to what anarchy golf is running. 12:45:38 anagol is running 1.7.3 12:45:49 well, fu ck it 12:48:12 okay, updating now. 12:48:19 !blsq "Hello"{**}mp 12:48:20 9415087488 12:48:33 !blsq "Hello")**pd 12:48:34 9415087488 12:48:54 I guess those map variations are mostly useless since the introduction of ) 12:49:37 ps deepmaps? 12:49:38 o_O 12:49:43 !blsq {"5 6" "7 8"}ps 12:49:43 {{5 6} {7 8}} 12:49:51 interesting 12:50:05 !blsq "5 6\n7 8"lnpssp 12:50:05 5 6 12:50:09 !blsq "5 6\n7 8"lnpsSP 12:50:09 "5 6\n7 8" 12:50:23 ok probably not so interesting 12:50:37 !blsq "5 6\n7 8"lnpe 12:50:38 {7 8} 12:50:41 !blsq "5 6\n7 8"lnpe#s 12:50:41 {{7 8} {5 6}} 12:50:51 unless you need this ^ 12:51:30 !blsq {1 7 8 6 2 0 1}{5.>}pt 12:51:30 {{7 8 6} {1 2 0 1}} 12:52:05 !blsq "5.0"td 12:52:06 5.0 12:52:09 !blsq "5.0"tdtd 12:52:10 5.0 12:52:14 !blsq 5.0pd 12:52:15 5 12:52:16 !blsq 5.0pdpd 12:52:16 5.0 12:52:24 !blsq 5td 12:52:24 5.0 12:52:32 !blsq tp 12:52:33 ERROR: You should not transpose what you can't transpose. Yes this is an eastere 12:52:41 ^- AndoDaan ;) 12:53:38 !blsq "hi9there""[[:digit:]]"sr 12:53:39 {"[[:digit:]]"} 12:53:46 hm 12:53:48 !blsq "hi9there""[[:digit:]]"jsr 12:53:49 {"hi" "there"} 12:54:42 -!- S1 has joined. 12:54:46 !blsq "fuckyou."ps 12:54:46 {fu ck yo u.} 12:55:11 !blsq "fuckyou."pswd 12:55:11 {ERROR: Burlesque: (_+) Invalid arguments!} 12:55:16 !blsq "fuckyou."psWd 12:55:16 ERROR: Unknown command: (Wd)! 12:55:18 !blsq "fuckyou."psWD 12:55:19 ERROR: Burlesque: (WD) Invalid arguments! 12:55:22 damn 12:55:30 what are you trying to do? 12:55:45 I hate that unlines/words don't auto-convert to string 12:55:59 I will fix that in 1.7.4 12:56:03 so that 12:56:06 !blsq {1 2 3}un 12:56:07 "\n12\n3" 12:56:10 actually works 12:56:39 although for full backwards compatability this will probably be a new command 12:56:40 what does blsq stand for? 12:56:46 `? blsq 12:56:46 blsq? ¯\(°​_o)/¯ 12:56:54 `learn blsq (see burlesque) 12:56:55 I knew that. 12:56:58 `? burlesque 12:56:59 burlesque is only the sexiest language on earth. 12:57:09 lol I updated my copy to 1.6.9 12:57:25 `learn_append burlesque (see: http://mroman.ch/burlesque) 12:57:27 I knew that. 12:57:30 `? burlesque 12:57:30 burlesque is only the sexiest language on earth. \ (see: http://mroman.ch/burlesque) 12:57:42 AndoDaan: lol 12:57:48 1.6.9 is pretty old :) 12:58:08 it is 12:58:10 more than 2 years 12:58:23 I used the 'ghc --make main.hs -o burlesque -O3 -fforce-recomp" 12:58:38 oh wait. 12:58:41 man... 12:58:44 hm? 12:59:04 Are you missing some packages? 13:04:08 -!- ais523 has quit (Read error: Connection reset by peer). 13:04:10 -!- callforjudgement has joined. 13:07:13 --okay, I managed that. 13:09:24 -!- callforjudgement has quit. 13:10:47 -!- S1 has quit (Quit: S1). 13:35:01 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 13:36:25 -!- AndoDaan has quit. 13:39:10 -!- augur has quit (Read error: Connection reset by peer). 13:39:17 -!- Sprocklem has quit (Ping timeout: 260 seconds). 13:39:24 -!- augur has joined. 13:43:43 -!- sebbu has quit (Ping timeout: 244 seconds). 13:45:10 -!- Phantom_Hoover has joined. 13:59:52 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 14:12:46 -!- nycs has changed nick to `^_^v. 14:22:14 -!- SvenGek has joined. 14:27:27 -!- Sprocklem has joined. 14:28:34 any of you dudes familiar with bacon.js? 14:29:24 or FRP in general, more likely 14:31:08 mmmm, delicious bacon 14:31:36 baconexplosion.js :V 14:31:49 ERROR 418 14:32:22 -!- shikhin has joined. 14:32:50 -!- shikhin has changed nick to Guest62969. 14:35:59 -!- Guest62969 has quit (Client Quit). 14:36:20 -!- shikhout has joined. 14:40:36 myndzi: no, but yes 14:41:06 I haven't used FRP "in practice" barely at all but I know about reactive-banana and some other libraries and have read papers. 14:41:09 !blsq {1}es 14:41:09 {1} 14:41:13 !blsq {}es 14:41:13 "" 14:41:16 interesting 14:42:01 HTCPCP ERROR 418 14:43:33 i've got a thing that i'm thinking may work well with the paradigm but having trouble figuring out how to phrase it 14:43:53 the js FRP libraries don't seem to have much irc presence :( 14:44:38 i suppose the core thing i'm trying to figure out at the moment is how to combine some event streams (or whatever) in such a way that a single stream drives the emission of events, but the latest value from some of the others is merged into its output 14:45:11 'properties' in baconjs seems to suit, but i don't want to get a stream output for every property that changes 14:45:37 some googling just stumbled me into 'sampledby', maybe that's near what i'm looking for 14:46:00 or maybe something like rxjs's 'schedulers' 14:50:28 "Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence." 14:50:31 ...wow 14:51:48 why the hell is it called bacon? 14:52:51 because bacon is delicious 14:54:28 prolly to add to the appeal 14:56:00 with language like the above (in rxjs), i don't think bacon needs a mouth-watering name to be more appealing :P 15:01:50 I only know about Elm (as in I know it exists and I've stared at code snippets) and some FRP libs/lang stuff for Racket. 15:03:14 Because bacon is a fruit, of course 15:03:16 Elm was interesting to me though because it compiles to JS, while looking a bit like Haskell. 15:03:21 -!- TieSoul has changed nick to kappa. 15:03:24 -!- kappa has changed nick to TieSoul. 15:03:28 i think i may have found some useful examples in the gaming concept-space 15:05:18 this is kind of sexy 15:05:29 http://baconjs.github.io/api.html#bacon-combinetemplate 15:05:44 this is close to what i want but i didn't want output updates on every change, only on the 'controlling' stream 15:05:55 but sampledBy will give me just that 15:08:27 -!- shikhout has changed nick to shikhin. 15:14:51 -!- AndoDaan has joined. 15:19:57 Hi 15:26:49 -!- password2 has quit (Quit: Leaving). 15:32:53 -!- drdanmaku has joined. 15:34:24 -!- heow has joined. 15:36:44 -!- heow has left. 15:48:31 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 15:58:51 -!- Sprocklem has quit (Ping timeout: 272 seconds). 16:04:52 -!- Bike has quit (Quit: leaving). 16:05:12 -!- Bike has joined. 16:05:37 -!- Bike has quit (Client Quit). 16:05:50 -!- Bike has joined. 16:08:43 -!- Bike has quit (Client Quit). 16:08:59 -!- Bike has joined. 16:18:37 -!- GeekDude has joined. 16:31:02 -!- sebbu has joined. 16:31:39 -!- sebbu has quit (Changing host). 16:31:39 -!- sebbu has joined. 16:39:27 -!- GeekDude has quit (Read error: Connection reset by peer). 16:39:48 -!- GeekDude has joined. 16:43:41 -!- DKordic`` has joined. 17:08:37 -!- MoALTz has joined. 17:26:27 -!- AndoDaan has quit (Ping timeout: 245 seconds). 17:28:31 -!- zzo38 has quit (Remote host closed the connection). 17:29:18 -!- AndoDaan has joined. 17:45:26 -!- TieSoul has quit (Excess Flood). 17:45:44 -!- TieSoul has joined. 17:47:54 -!- Sorella has quit (Ping timeout: 258 seconds). 18:00:21 -!- shikhout has joined. 18:03:37 -!- shikhin has quit (Ping timeout: 258 seconds). 18:11:16 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 18:12:07 `? Taneb 18:12:08 Taneb is not elliott, no matter who you ask. He also isn't a rabbi although he has pretended in the past. He has at least two backup keyboards, and five genders. (See also: tanebventions) 18:12:24 Disclaimer: I probably have less than 5 genders 18:12:58 But my two keyboards are reunited! 18:13:35 http://en.cppreference.com/w/cpp/language/user_literal C++ is more incredible the more i inadvertently learn about it 18:15:44 TANEB HAS 5 CORNER SIMULTANEOUS 5-GENDER IDENTITY CUBE IN ONLY 24 HOUR ROTATION 18:16:13 :) 18:17:57 also can i just not use c11 things, this is dumb 18:18:32 Taneb: how often do you rotate? 18:21:03 Roughly daily 18:25:09 `? fizzie 18:25:10 fizzie is not fnord with a monad but the king of #esoteric, see http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/src/fizziecoin.jpg 18:25:26 Is it allowed to edit someone's user-wisdom? 18:26:40 BrainFlow is an extension of BrainFuck with 3 additional commands for added functionality and confusion: 18:26:45 "confusion"? 18:26:49 What's confusing about that 18:27:23 has anybody actually considered extending BF Joust by some BF derivative with more functionality? 18:29:39 Why would somebody make a BF derivative not using ASCII? 18:31:04 User:ChiSHAXtjo I smell spam 18:31:11 fungot: Do you smell spam? 18:31:11 mroman_: they're just getting the treadmill in for me i 18:31:22 fungot: Are you trying to do more sports? 18:31:22 mroman_: ( ( um i)) don't think that's 18:40:26 -!- conehead has joined. 18:42:33 -!- GeekDude has joined. 18:47:20 -!- Sprocklem has joined. 18:47:50 -!- Sprocklem has changed nick to Guest86867. 18:56:04 -!- Guest86867 has quit (Ping timeout: 260 seconds). 18:59:57 -!- AnotherTest has joined. 19:03:23 -!- Bicyclidine has joined. 19:04:00 [wiki] [[Special:Log/newusers]] create * DTSCode * New user account 19:11:02 {'i ?i 'd ?d 's S[} 19:11:05 !blsq 9S[ 19:11:06 81 19:11:37 !blsq "iis"{{'i 'd 's}jFi} 19:11:37 {{'i 'd 's} j Fi} 19:11:41 !blsq "iis"{{'i 'd 's}jFi}m[ 19:11:41 {0 0 2} 19:11:51 so what's the best error handling regime, in general 19:12:00 !blsq "iis"{?i ?d ?s}j{{'i 'd 's}jFi}m[si 19:12:00 obviously a reasonable, easily answered question 19:12:01 {?i ?i ?s} 19:12:07 !blsq "iis"{?i ?d ?s}j{{'i 'd 's}jFi}m[si0je! 19:12:08 1.4142135623730951 19:12:11 oh 19:12:13 that's sqrt 19:12:20 !blsq "iis"{?i ?d S[}j{{'i 'd 's}jFi}m[si0je! 19:12:20 4 19:12:42 !blsq "iisdsii"{?i ?d S[}j{{'i 'd 's}jFi}m[si0je! 19:12:43 11 19:12:48 not fully compliant though 19:13:05 it performs modulo iff x=256 right? 19:13:12 oh. and -1 19:13:14 does anybody but you understand this language? it looks like hayes commands 19:13:36 !blsq {-1==}{256==}m| 19:13:36 0 19:13:40 !blsq -1{-1==}{256==}m| 19:13:41 1 19:13:55 !blsq 5{-1==}{256==}m|{256.%}if 19:13:56 No output! 19:14:00 !blsq 5J{-1==}{256==}m|{256.%}if 19:14:00 5 19:14:04 !blsq 256J{-1==}{256==}m|{256.%}if 19:14:05 0 19:14:31 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}[[ 19:14:32 {J {?i ?d} {-1 ==} {?i ?d} {256 ==} {?i ?d} m| {?i ?d} {256 .%} {?i ?d} if} 19:14:43 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}ic 19:14:43 {ERROR: Burlesque: (_+) Invalid arguments!} 19:14:47 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}IC 19:14:48 {ERROR: Burlesque: (_+) Invalid arguments!} 19:14:51 fuuu 19:14:54 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}bxIC 19:14:54 {ERROR: Burlesque: (_+) Invalid arguments!} 19:14:57 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if} 19:14:57 {J {-1 ==} {256 ==} m| {256 .%} if} 19:15:03 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}[[ 19:15:04 {J {?i ?d} {-1 ==} {?i ?d} {256 ==} {?i ?d} m| {?i ?d} {256 .%} {?i ?d} if} 19:15:14 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}j[[ 19:15:15 {?i {J {-1 ==} {256 ==} m| {256 .%} if} ?d} 19:15:18 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}jic 19:15:19 {ERROR: Burlesque: (_+) Invalid arguments!} 19:15:20 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}jIC 19:15:21 {ERROR: Burlesque: (_+) Invalid arguments!} 19:15:25 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}j[[\[ 19:15:26 {ERROR: Burlesque: (_+) Invalid arguments!} 19:15:29 !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}j[[ 19:15:30 {?i {J {-1 ==} {256 ==} m| {256 .%} if} ?d} 19:15:59 !blsq {?i ?d})bx{J{-1==}{256==}m|{256.%}if}jIC 19:15:59 {ERROR: Burlesque: (_+) Invalid arguments!} 19:16:02 !blsq {?i ?d})bx{J{-1==}{256==}m|{256.%}if}ic 19:16:03 {ERROR: Burlesque: (_+) Invalid arguments!} 19:16:04 !blsq {?i ?d})bx{J{-1==}{256==}m|{256.%}if}IC 19:16:05 {?i J {-1 ==} {256 ==} m| {256 .%} if ?d} 19:16:08 ah 19:16:10 -!- Sprocklem_ has joined. 19:16:11 now we're talking 19:16:40 -!- Sprocklem_ has changed nick to Sprocklem. 19:16:47 !blsq "d"{?i ?d ?s}j{{'i 'd 's}jFi}m[sibx{J{-1==}{256==}m|{256.%}if}IC0je! 19:16:47 -1 19:16:50 fuck 19:17:02 !blsq "d"{?i ?d ?s}j{{'i 'd 's}jFi}m[sibx{J{-1==}{256==}m|{256.%}if}IC 19:17:03 {?d} 19:17:13 !blsq "dd"{?i ?d ?s}j{{'i 'd 's}jFi}m[sibx{J{-1==}{256==}m|{256.%}if}IC 19:17:13 {?d ?d} 19:17:19 why isn't it intercalating stuff 19:17:39 !blsq "dd"{?i ?d ?s}j{{'i 'd 's}jFi}m[si)bx{J{-1==}{256==}m|{256.%}if}IC 19:17:40 {?d J {-1 ==} {256 ==} m| {256 .%} if ?d} 19:17:45 !blsq "dd"{?i ?d ?s}j{{'i 'd 's}jFi}m[si)bx{J{-1==}{256==}m|{256.%}if}IC0je! 19:17:46 254 19:17:49 ah 19:17:49 hehe 19:17:52 -!- AndoDaan has quit (Ping timeout: 240 seconds). 19:18:08 Bicyclidine: Of course 19:18:13 me and AndoDaan 19:18:22 and some guys on golf.shinh.org 19:18:52 coo 19:18:57 http://regex.alf.nu/ 19:19:04 "Sorry, crashy today. Need to find an actual server." 19:19:23 clearly they've been compromised by shellbleed 19:19:34 :O 19:19:52 I hear there's a notorious hacker named "4chan" going around 19:19:56 I hope it wasn't them 19:20:08 now for the 'o' 19:20:25 !blsq "dd"{?i ?d ?s J}j{{'i 'd 's 'o}jFi}m[si)bx{J{-1==}{256==}m|{256.%}if}IC0je! 19:20:26 254 19:20:37 !blsq "dodoso"{?i ?d ?s J}j{{'i 'd 's 'o}jFi}m[si)bx{J{-1==}{256==}m|{256.%}if}IC0je! 19:20:37 15.937377450509228 19:20:47 !blsq "dodoso"{?i ?d S[ J}j{{'i 'd 's 'o}jFi}m[si)bx{J{-1==}{256==}m|{256.%}if}IC0je! 19:20:47 64516 19:21:16 > 254*254 19:21:18 64516 19:21:24 > 6 19:21:24 !blsq "dodoso"{?i ?d S[ J}j{{'i 'd 's 'o}jFi}m[si)bx{J{-1==}{256==}m|{256.%}if}IC0je!#s 19:21:24 {64516 64516 254 255} 19:21:25 6 19:21:27 there 19:21:28 it works 19:21:34 > "6" 19:21:36 "6" 19:21:50 > 34567890987654**87654567 19:21:51 Infinity 19:21:54 :o 19:22:50 [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=40562&oldid=39867 * 81.62.136.104 * (+109) + Burlesque 19:23:09 Bicyclidine: The problem is that syntactically Burlesque is really easy 19:23:12 {} is a block 19:23:14 (a List) 19:23:18 {1 2 3} and that stuff 19:23:34 'a is a character, "a" is a string, 5 is an integer and 5.0 is a double 19:23:44 commands are two characters long 19:23:51 ) is a prefix that maps a command over a list 19:23:55 !blsq {1 2 3 4})?i 19:23:56 {2 3 4 5} 19:23:57 !blsq {1 2 3 4})?d 19:23:58 {0 1 2 3} 19:24:01 !blsq {1 2 3 4})S[ 19:24:02 {1 4 9 16} 19:24:15 ?i is increment, ?d is decrement and S[ 19:24:15 Maybe you meant: id ignore index instances instances-importing irc-connect irc-password v @ ? . 19:24:18 I don't know what S[ is 19:24:23 but it's square for integers at least 19:24:51 !blsq "0001229"'0S[ 19:24:51 "1229" 19:24:55 it's StripLeft 19:24:59 for strings 19:25:10 !blsq {1 1 2 3}1S[ 19:25:11 {2 3} 19:25:14 and lists 19:25:49 Bicyclidine: since most stuff is encoded as commands 19:25:57 to make sense of a Burlesque-Program you need to know the 19:26:00 !blsq ?_ 19:26:00 "I have 340 non-special builtins!" 19:26:03 340 builtins 19:26:22 which most of them have multiple uses depending on the arguments 19:26:29 so you need to know about 700 things commands do 19:26:33 it's just as easy as that 19:26:51 great. 19:27:04 !blsq "abc def"wd 19:27:04 {"abc" "def"} 19:27:06 ^- words 19:27:11 !blsq "abc def"wdwd 19:27:11 "abc def" 19:27:15 but wd is also unwords 19:27:27 !blsq "abc"** 19:27:27 ERROR: Burlesque: (**) Invalid arguments! 19:27:31 lol 19:27:37 what's ** again 19:27:38 a merge 19:27:43 !blsq "abc""def"** 19:27:44 "adbecf" 19:27:48 !blsq 'a** 19:27:49 97 19:28:18 !blsq "bicyclidine"su 19:28:19 {"b" "c" "d" "e" "i" "l" "n" "y" "bi" "cl" "cy" "di" "ic" "id" "in" "li" "ne" "y 19:28:28 !blsq "bars"su 19:28:28 {"a" "b" "r" "s" "ar" "ba" "rs" "ars" "bar" "bars"} 19:28:58 !blsq "barabarsa"su"barslala"suIN 19:28:58 {"a" "b" "r" "s" "ar" "ba" "rs" "ars" "bar" "bars"} 19:29:11 !blsq "blarabarsa"su"barslala"suIN 19:29:12 {"a" "b" "l" "r" "s" "ar" "ba" "la" "rs" "ars" "bar" "bars"} 19:29:27 !blsq "blarabarsa"su"barslala"suIN(L[)>m 19:29:27 ERROR: Burlesque: (-]) Invalid arguments! 19:29:29 what 19:29:37 !blsq "blarabarsa"su"barslala"suIN{L[}>m 19:29:37 "bars" 19:29:41 right 19:29:42 there you go 19:29:47 longest common substring 19:30:59 !blsq {1 2 3}m] 19:30:59 {"1" "2" "3"} 19:31:08 !blsq {1 2 3})Sh 19:31:09 {"1" "2" "3"} 19:31:15 hm neat 19:31:29 Bicyclidine: Also you need to know sideffects 19:31:37 because commands are sometimes implemented using different commands 19:31:45 !blsq 3mo10.+ 19:31:46 {3 6 9 12 15 18 21 24 27 30} 19:31:50 ^- mo is multiplesOf 19:31:56 it's defined using some other commands 19:32:00 which means 19:32:04 !blsq {1 2 3 4}mo 19:32:04 {1 4 9 16} 19:32:09 ^- this is undocumented 19:32:23 but it's a sideffect due to sideffects of commands it is implemented in 19:32:34 so it happens to be shorter than 19:32:40 !blsq {1 2 3 4})S[ 19:32:40 {1 4 9 16} 19:32:54 it was just recently discovered by me that mo can square a list 19:32:58 and it's been there for years 19:33:55 !blsq {1 2 3 4 5}4{3 4}pm 19:33:56 {1 2 3 4 5} 19:34:00 hu 19:34:13 !blsq {1 2 3 4 5}4.+ 19:34:14 {1 2 3 4} 19:34:27 !blsq {7 7 1 2 3 4}{1 2 3 4 5}4pm 19:34:28 {7 7} 19:34:55 also it can do Fibonacci better than golfscript2 19:34:57 -!- Bicyclidine has quit (Ping timeout: 246 seconds). 19:35:21 namely 9 bytes 19:35:40 !blsq 1Jq.+10C! 19:35:40 144 19:37:01 btw: Does anybode know whether there's an established term for C! 19:37:07 I just call it continuation 19:37:26 it performs operations without destroying the arguments to the it 19:37:37 kinda like 19:38:23 i.e. there's add := pop a, pop b, push a+b 19:38:47 the continuation of add is := pop a, pop b, push a, push b, push a+b 19:40:31 -!- AndoDaan has joined. 19:40:52 AndoDaan: you just missed the 10B solution for Fibonacci Numbers ;) 19:41:32 eventhough you wrote it, I'm still impress by how you handle burlesque 19:41:47 -!- conehead_ has joined. 19:41:48 what's that supposed to mean o_O? 19:44:44 You mean unlike zzo38 I actually take the time to document it ;)? 19:45:08 -!- AndoDaan_ has joined. 19:45:10 Damn lousy internet connection. 19:45:18 21:41 < mroman_> what's that supposed to mean o_O? 19:45:18 21:44 < mroman_> You mean unlike zzo38 I actually take the time to document it ;)? 19:46:12 see, I guess I'm still confused. 19:46:24 o_O? 19:46:26 -!- Sorella has joined. 19:46:27 Who came up with "Burlesque?" 19:46:32 I did. 19:46:37 -!- AndoDaan has quit (Ping timeout: 276 seconds). 19:46:43 -!- AndoDaan_ has changed nick to AndoDaan. 19:47:04 Ah. My brain is terrible. 19:47:19 21:41 < AndoDaan> eventhough you wrote it, I'm still impress by how you handle burlesque 19:47:19 and why... "Burlesque?" 19:47:28 ^- how so? 19:47:40 Burlesque? The name? It's some sort of ancient erotic dance 19:47:48 so it's offensive (to some) but doesn't have fuck in it 19:47:53 -!- Sorella has quit (Changing host). 19:47:53 -!- Sorella has joined. 19:48:07 although there usually is no nudity 19:48:12 it has class. 19:48:21 when you find that aspect of mo you took to it right away. 19:48:40 hmm 19:48:43 hm? 19:48:48 Your english is confusing :) 19:49:19 I'm very open about Burlesque 19:49:26 It's not fair if I keep stuff secret 19:49:40 because it would be so easy for me add secret stuff nobody knows and then win at golfing with secrets nobody knows 19:50:05 -!- conehead has quit (*.net *.split). 19:50:09 but I'm always amazed at finding secrets I didn't know about even though I've written the code 19:50:20 "ra" is also a good example 19:50:27 there was this golfing challenge once 19:50:30 with "5,6" 19:50:37 you can parse it 19:50:41 !blsq "5,6"ps 19:50:41 {5 , 6} 19:50:48 and then throw away the , with 19:50:53 !blsq "5,6"psrte! 19:50:53 5 19:50:55 !blsq "5,6"psrte!#s 19:50:55 {5 6} 19:50:58 !blsq "5,6"psrte!.+ 19:50:58 11 19:51:09 but ra (ReadArray) doesn't require [ ] 19:51:14 and it skips over , 19:51:23 which is based on how silly the parser was implemented 19:51:26 !blsq "5,6"ra 19:51:26 5 19:51:33 !blsq "5,6"ra#s 19:51:33 {5} 19:51:53 !blsq "1,2,3"ra 19:51:54 1 19:51:57 wait 19:51:59 is that GolfScript? 19:52:09 !blsq "1,2,3"^^ra 19:52:10 1 19:52:29 I guess it was a different challenge then 19:52:33 !blsq {1 2 3 4}Shra 19:52:33 {1 2 3 4} 19:52:36 ra hides? 19:52:41 no 19:52:45 ra is ReadArray 19:52:49 right 19:53:07 !blsq "[1,2,3]"ra 19:53:07 {1 2 3} 19:53:35 !blsq "[1,2,3]"ra?+ 19:53:36 ERROR: Burlesque: (.+) Invalid arguments! 19:54:10 !blsq "[1,2,3]"ra 19:54:11 {1 2 3} 19:54:18 !blsq "[1,2,3]"ra.+ 19:54:19 ERROR: Burlesque: (.+) Invalid arguments! 19:54:21 !blsq "[1,2,3]"ra.+) 19:54:22 ) 19:55:24 question: when has hiding part of the stack ever been usefull? 19:55:42 no case is known so far 19:55:56 cool. :p 19:56:02 due to how the parser behind ra is implemented you can use it as a fail-safe parser 19:56:05 !blsq "5a"ps 19:56:06 {ERROR: (line 1, column 3): 19:56:13 ^- won't work because it fails on the a 19:56:16 !blsq "5a"ra 19:56:16 5 19:56:20 ^- will stop at an error 19:56:57 probably will come in handy. 19:57:24 ra was added to be able to parse challenges that have lists as input 19:57:30 (i.e. python style lists) 19:58:13 also 19:58:22 !blsq "[5,,,,,1,]"ra 19:58:22 {5 1} 19:58:29 ^- in case you ever need that 19:58:56 !blsq "[,,,5,,,,1,]"ra 19:58:56 ERROR: (line 1, column 2): 19:59:02 !blsq "[5,,,,1,]"ra 19:59:03 {5 1} 19:59:06 !blsq "[5,,,,1,,,]"ra 19:59:06 {5 1} 19:59:19 I guess a list can't start with , then 19:59:23 interesting 19:59:36 !blsq "[,,,5,,,,1,,,]"rash 19:59:37 ERROR: (line 1, column 2): 19:59:46 !blsq "[,5]"ra 19:59:46 ERROR: (line 1, column 2): 19:59:54 nope. ra doesn't accept , at that position 20:00:12 !blsq "[,5,,,,1,,,]"ifra 20:00:13 ERROR: Burlesque: (ra) Invalid arguments! 20:00:22 !blsq "[,,5,,1]""[0-9]+"=~ 20:00:22 {} 20:00:24 !blsq "[,,5,,1]""[0-9]+"~= 20:00:24 1 20:00:29 !blsq "[,,5,,1]""[0-9]+"=~ 20:00:30 {} 20:00:37 !blsq "[,,5,,1]""[0123456789]+"=~ 20:00:37 {} 20:00:40 hu 20:00:51 !blsq "[,,5,,1]""[0123456789]+"j=~ 20:00:52 {} 20:00:55 wtf 20:01:02 !blsq "[,,5,,1]""[[:digit]]+"j=~ 20:01:03 {} 20:01:06 !blsq "[,,5,,1]""[[:digit]]+"=~ 20:01:06 That line gave me an error 20:01:11 !blsq "[,,5,,1]""[[:digit]]"=~ 20:01:12 That line gave me an error 20:01:14 hm 20:01:19 can't remember how this worked 20:02:50 !blsq "[,5]"sh 20:02:51 [,5] 20:03:04 !blsq "[,5]"sH 20:03:05 ERROR: Burlesque: (ff) Invalid arguments! 20:03:09 !blsq "[,5]"Sh 20:03:09 "[,5]" 20:03:15 !blsq "[,5]"Shra 20:03:16 ERROR: (line 1, column 2): 20:03:20 !blsq "[5]"Shra 20:03:21 {5} 20:04:01 !blsq "[5,,,,,1]"raL[ 20:04:02 2 20:04:13 !blsq "[5,,,,,1,]"raL[ 20:04:14 2 20:04:32 !blsq "[5,,,,,1,]"ra1en 20:04:32 {5 1} 20:05:44 alright, thanks for the insights. I'll do my best to wield them. 20:05:57 gtg cya mroman, bye guys 20:06:02 -!- AndoDaan has quit. 20:10:19 -!- Bicyclidine has joined. 20:10:49 `! bf_txtgen Go die in a hole 20:10:53 125 ++++++++++++++[>+++++>++++++++>++>+++++++<<<<-]>+.>-.>++++.>++.<<------.----.>.>+++++.+++++.<.<----.>.<+++++++.>>+.---.<<---. [435] 20:11:14 how rude. 20:12:43 Editing the nickname wisdom entries is positively commonplace. At least I'm pretty sure I haven't written my own. 20:14:04 !bf_txtgen balls of steel 20:14:10 durr 20:19:47 [wiki] [[Special:Log/newusers]] create * JannieOates * New user account 20:42:38 -!- `^_^v has quit (Ping timeout: 250 seconds). 20:47:47 -!- Sorella has quit (Ping timeout: 245 seconds). 20:48:36 -!- AnotherTest has quit (Ping timeout: 272 seconds). 20:59:42 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 21:02:40 -!- Patashu has joined. 21:04:29 -!- GeekDude has quit (Remote host closed the connection). 21:05:41 -!- Bicyclidine has joined. 21:15:12 -!- zzo38 has joined. 21:20:23 -!- Phantom_Hoover has joined. 21:23:37 -!- Sprocklem has quit (Ping timeout: 260 seconds). 21:25:32 -!- Patashu has quit (Ping timeout: 250 seconds). 21:40:42 holy crap, Haskell patten matching is cool. 21:49:29 -!- oerjan has joined. 21:49:42 -!- GeekDude has joined. 21:59:14 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 21:59:35 -!- Bicyclidine has joined. 22:09:14 -!- augur has quit (Quit: Leaving...). 22:22:17 -!- augur has joined. 22:47:10 -!- Sorella has joined. 22:47:59 -!- Sorella has quit (Changing host). 22:47:59 -!- Sorella has joined. 22:58:47 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 23:10:12 -!- Sorella has quit (Ping timeout: 246 seconds). 23:12:55 -!- Bicyclidine has joined. 23:22:27 -!- Sprocklem has joined. 23:47:57 indeed 23:56:28 -!- tromp__ has quit (Read error: Connection reset by peer). 2014-09-30: 00:00:01 -!- shikhin has joined. 00:03:22 -!- shikhout has quit (Ping timeout: 272 seconds). 00:04:09 `cat bin/learn_append 00:04:09 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 00:05:30 -!- Bicyclidine has quit (Ping timeout: 246 seconds). 00:08:05 -!- tromp_ has joined. 00:11:23 `run sed -i -e '4afmt -w "wisdom/$topic"' -e 's/[$]stuff/ $stuff/' bin/learn_append 00:11:24 No output. 00:11:31 `url bin/learn_append 00:11:32 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/learn_append 00:11:49 oops 00:11:53 `revert 00:11:54 Done. 00:12:09 `run sed -i -e '4afmt -w1000 "wisdom/$topic"' -e 's/[$]stuff/ $stuff/' bin/learn_append 00:12:11 No output. 00:12:43 oh hm 00:12:52 `revert 00:12:53 Done. 00:13:04 `run sed -i -e '4afmt -w1000 "wisdom/$topic"' bin/learn_append 00:13:06 No output. 00:13:57 `? burlesque 00:13:57 burlesque is only the sexiest language on earth. \ (see: http://mroman.ch/burlesque) 00:14:41 `learn_append burlesque 00:14:43 burlesque is only the sexiest language on earth. (see: http://mroman.ch/burlesque) \ \ I knew that. 00:14:49 wat 00:15:14 oh fmt isn't in place 00:15:18 fuck this 00:15:22 `revert 00:15:23 Done. 00:16:15 `revert 4933 00:16:16 Done. 00:16:17 Is there a standard HackEgo utility that splits a command line into two pieces (e.g. on the first whitespace)? 00:17:23 not that i recall 00:17:44 `dontaskdonttelllist 00:17:44 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 00:18:33 @tell mroman_ I find your `learn_append is failing to understand how `learn works, also, evil newlines. 00:18:33 Consider it noted. 00:19:36 a standar unix utility to strip the last newline of a file would be nice, too. 00:19:40 *+d 00:20:38 ok a standard utility to remove internal newlines which isn't quite as atrocious as sed's method 00:22:09 what was the command to write stdin to a file but only _after_ the whole stdin has been read 00:22:20 sponge? 00:22:24 `which sponge 00:22:24 No output. 00:22:34 of course it's not standard :( 00:23:01 please shoot half the unix inventors for not making this obvious utility standard hth 00:23:44 * oerjan is hungry and should not be fixing anything other than food in this state 00:26:22 What does one need it for? 00:27:01 why do > and < even exist anyway 00:27:04 it should all be | 00:27:49 then sponge would just be an option for the "write into file" command 00:33:59 -!- AndoDaan has joined. 00:37:14 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 00:43:23 `run fmt -w1000 bin/burlesque >b; mv b bin/burlesque; rm b 00:43:24 fmt: cannot open `bin/burlesque' for reading: No such file or directory \ rm: cannot remove `b': No such file or directory 00:43:27 oops 00:43:39 `run fmt -w1000 wisdom/burlesque >b; mv b wisdom/burlesque; rm b 00:43:41 rm: cannot remove `b': No such file or directory 00:43:49 ...ah. 00:43:57 `? burlesque 00:43:57 burlesque is only the sexiest language on earth. (see: http://mroman.ch/burlesque) 00:44:02 `? blsq 00:44:03 blsq (see burlesque) 00:44:08 `` cat bin/burlesque 00:44:09 No output. 00:44:26 `rm bin/burlesque 00:44:27 No output. 00:45:05 Where does the chain rule "come from"? Is there a simple answer? 00:45:30 `run echo "See Burlesque" >wisdom/blsq 00:45:31 No output. 00:45:51 `run sed -i 's/b/B/' wisdom/burlesque 00:45:52 No output. 00:45:55 `? burlesque 00:45:56 Burlesque is only the sexiest language on earth. (see: http://mroman.ch/burlesque) 00:46:01 `? blsq 00:46:01 See Burlesque 00:46:02 I heard that it's related to the functoriality of the tangent bundle mapping or something like that, but I don't entirely follow. But does that work for e.g. "types with holes"? 00:46:16 `run echo "See: Burlesque" >wisdom/blsq 00:46:17 No output. 00:47:53 Melvar: you need sponge whenever you want to change a file to the output of a pipe taking the same file as input. 00:48:43 `run sed -i 's/see/See/' wisdom/burlesque 00:48:44 No output. 00:48:49 `? burlesque 00:48:49 Burlesque is only the sexiest language on earth. (See: http://mroman.ch/burlesque) 00:49:02 hm... 00:49:15 `run sed -i 's/earth/Earth/' wisdom/burlesque 00:49:17 No output. 00:49:21 OKAY 00:49:42 * oerjan will put off a little the decision of whether to `rm bin/learn_append 00:50:58 oerjan: Somehow I have a feeling that sponge is not sufficient for that in all cases. 00:51:15 if you say so 00:52:14 I’m not sure enough about the concurrency semantics of pipelines though. 00:52:14 shachaf: well it's extremely intuitive from leibnitz notation: du/dt = du/dx * dx/dt 00:52:27 oerjan: yes, but what does that notation mean? 00:52:37 i would like an answer to this question 00:52:41 shachaf: infinitesimals hth 00:52:51 (see: non-standard analysis) 00:52:56 does it, though? 00:53:28 shachaf: that was the original intuition, then people discarded that as inconsistent, then abraham robinson showed it's a consistent viewpoint anyhow hth 00:53:34 in non-standard analysis, "the derivative of f(x) becomes f'(x) = {\rm st}\left( \frac{f(x+\Delta x)-f(x)}{\Delta x} \right) for an infinitesimal \Delta x" 00:53:45 that didn't copy quite as well as i'd hoped 00:54:11 but anyway you don't just have a dy divided by dx, you have a more complicated expression which you then take the standard part of 00:54:49 i think the "smooth infinitesimal analysis" perspective might be a bit more promising but i don't really know 00:55:17 How many people are using the UNIX "mail" program for their preference? 00:55:29 but at any rate dy/dx doesn't actually mean an infinitesimal dy divided by an infinitesimal dx as far as i can tell 00:55:37 even in the infinitesimal perspectives 00:56:19 shachaf: this is one of the cases where insisting on technicalities prevents understanding the perfectly valid intuitive reason 00:56:49 ok, so i want to understand the valid intuitive reason 00:57:33 and i want things like ∫E dy/dx dx = ∫E dy to make sense too 00:57:47 now my intuition is telling me to stop trying to explain this. 00:58:00 (sneaky bastard) 00:58:32 ok 00:59:25 Melvar: the point of sponge is that it does not open its output file for writing until after its input stream has been closed, to prevent such concurrency issues. 01:00:55 zzo38: an infinitesimal number hth 01:00:56 some_filter lifthrasiir: yeah 01:01:29 i,i cat foo | some_filter | cocat foo 01:02:14 oerjan: anyway the chain rule makes even more sense when you think about "structures with holes in them" 01:02:17 shachaf: oh a good name 01:02:20 oerjan: Is it guaranteed that things earlier in the pipe cannot read more input after closing their output? 01:02:29 "It also creates the output file atomically by renaming a temp file into place, and preserves the permissions of the output file if it already exists. If the output file is a special file or symlink, the data will be written to it." 01:02:41 Melvar: hm you've got a point. 01:03:11 ok, so _some_ uses still won't work. 01:03:12 Oh I see, any still-open things refer to the removed file then. 01:03:36 hm right that helps 01:03:49 That depends on whether sponge removes the file or writes over the old one. 01:04:01 shachaf: um see pasted line 01:04:29 Oh, I didn't see that. 01:05:21 OBVIOUSLY 01:05:42 shachaf: Btw how does your cat/cocat bit deal with redirections of stderr? 01:06:27 that would obviously require the ErrorT monad transformer hth 01:06:34 (or ExceptT, i hear) 01:06:39 Melvar: I guess you could have |f 2|g or something. 01:07:03 I've wondered a bit before about that. 01:10:54 shachaf: filter bar | thing ? 01:11:32 cat foo | filter 1|(thing) 2|(cocat bar) 01:11:35 I don't know. 01:11:43 cocat has a bunch of variations, like sponge and tee and pee 01:19:55 -!- AndoDaan_ has joined. 01:20:41 -!- AndoDaan has quit (Ping timeout: 260 seconds). 01:20:55 -!- AndoDaan_ has changed nick to AndoDaan. 01:21:39 So I finally figured out one of those "one person always tells the truth, one always lies, and one either tells the truth or lies" puzzles. 01:22:08 So which question do you ask? 01:22:15 If your goal is to figure out with one yes/no question whether the person you're talking to is predictable, you can ask: "Are you either predictable and answering this question truthfully, or unpredictable and answering this question untruthfully?" 01:22:40 The answer will be yes for a predictable person and no for an unpredictable person. 01:22:42 Not a yes/no question 01:22:50 sure it is 01:22:52 is it? 01:22:56 No, that's "either" as in logical or. 01:23:01 oh wait I'm dumb again 01:23:06 sorry 01:23:11 i mean, in normal people speak they'd answer they're "predictable" or whatever, but this is a logic puzzle 01:23:21 "is it either the case that ..." 01:24:00 http://www.xkcd.com/246/ 01:24:09 GeekDude: darn you beat my 1 second 01:24:15 *me by 01:24:16 lol 01:24:19 The trick is that the unpredictable person doesn't just say "yes"/"no" randomly, they say truth or falsehood randomly. 01:26:08 So you make a four-way "truth table", True/Yes, True/No, False/Yes, False/No, and see which options are possible. 01:26:28 For "are you answering this question truthfully?", the two possibilities are TY and FY. 01:26:29 Anyone want to go nerd sniping with me? 01:27:20 i have a homework problem about finding equivalent resistance, so uh 01:27:30 * GeekDude giggles 01:29:13 shachaf, now see if you can figure out which door they are guarding in the same question 01:29:25 Who said anything about doors? 01:29:43 If you just want to figure out the answer to a particular question, that's easy too. 01:30:10 Like, the original puzzle was there was a door to death and a door to freedom and two guards 01:30:13 And you had one question 01:31:05 !blsq {2 3 4 5}mo 01:31:06 {2 6 12 20} 01:31:30 @tell mroman_ mo doesn't actually square a list, it does zipWith (*) [1..] 01:31:30 Consider it noted. 01:31:45 Anyway I need to sleep now 01:32:02 -!- AndoDaan_ has joined. 01:32:16 -!- AndoDaan has quit (Ping timeout: 260 seconds). 01:32:21 what I wouldn't give for a decent internet connection. 01:32:25 -!- AndoDaan_ has changed nick to AndoDaan. 01:32:50 a kidney? 01:32:55 your firstborn? 01:33:30 your secret furry porn collection 01:33:36 I'd let my kidney impregnate me so I can offer the latter. 01:33:46 Secret? Ha! 01:33:52 OKAY 01:36:01 the autographed copy of "On Formally Undecidable Propositions in Principia Mathematica and Related Systems I" 01:37:35 tycho brahe's nose prosthetic 01:38:00 And his sister's glass eye. 01:38:15 the True Cross 01:38:38 Well, a couple of them. 01:38:46 ic 01:38:49 more than enough. 01:39:29 the sound of one hand clapping, on a phonograph recording made by edison 01:39:55 and finally, a partridge in a pear tree. 01:40:32 if i had any of those, I would... what was this about again? 01:41:07 what you wouldn't give for a decent internet connection 01:43:23 Solid gold brick? 01:44:08 -!- SvenGek has quit (Quit: Cuo-it). 01:44:46 hmm... Maybe not anything 01:45:14 the words of a desperate man 01:48:34 -!- AndoDaan_ has joined. 01:48:52 sadness 01:49:58 -!- AndoDaan has quit (Ping timeout: 276 seconds). 01:50:24 -!- AndoDaan_ has changed nick to AndoDaan. 01:50:29 I'd give a good wifi connection for a good wifi connection 02:04:22 * AndoDaan I am not here! 02:04:39 -!- AndoDaan has quit. 02:07:17 I believe to argue about pi vs tau, best way is to ignore circles while doing so. Circle is just one use of such thing. It shouldn't be the main point when figuring out what kind of constants to use, although it is one point just as much as the rest of mathematics is. 02:07:25 “On computable numbers, with an application to the Entscheidungsproblem” now a New York Times bestseller 02:08:49 zzo38: I believe that the symbols for pi and tau should be switched 02:08:54 then we should just call it a day 02:08:54 (I do use tau in some computer programs.) 02:09:37 #define TAU 6..... 02:10:10 6.28 02:10:15 Typographically, τ = ½ π. 02:10:18 It's tau: 6.28! 02:10:40 Actually I use a lot more digits than that, but that is a part of it 02:11:21 I believe tat neither pi or tau is wrong and that mathematics still works and still correct regardless. However, that doesn't tell you what is better. I think tau is probably better, but I don't really know everything about such thing. 02:11:53 what about M_2_SQRTPI 02:13:32 Only if you can construct it with straightedge and compass, Bike 02:13:42 atan(log(pi)) 02:14:33 what if i just draw a computer conforming to posix standards 02:15:18 That'd be fancy. 02:15:38 Does posix have a platonic form 02:15:51 yeah it's a bunch of squiggly-ass lines 02:18:47 http://xkcd.com/37/ 02:20:43 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 02:27:17 O, that that mean it is actually a bunch of squiggly ass-lines? 02:27:36 yes 02:34:43 [wiki] [[Mang]] http://esolangs.org/w/index.php?diff=40563&oldid=40560 * 66.229.243.72 * (+3800) Just did a ton of stuff with my language, including put the example interpreter implementation up 02:36:33 Maybe cards in Aberration Hater Card Game should be identified by their URI (which won't necessarily have to point to an existing file; it is only used as identifier and can be a "urn:" or "guid:" if you want, too), although the URI might not be printed on the card (or possibly it is as a kind of "small print barcode"). Do you like this? 02:36:57 It means that, if some people make up the card independently with the same name, that it can still be used anyways. 02:40:10 Did you see my All The Tropes Wiki user page? 02:42:58 [wiki] [[Mang]] http://esolangs.org/w/index.php?diff=40564&oldid=40563 * 66.229.243.72 * (+860) /* Hello world */ Edit with explaination of how it works 02:44:31 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=40565&oldid=40474 * 66.229.243.72 * (+11) Add my esolang to the giant list (Mang) 02:50:41 -!- Sgeo has quit (Read error: Connection reset by peer). 02:52:40 -!- Sgeo has joined. 03:26:22 -!- vyv has quit (Ping timeout: 240 seconds). 03:28:15 -!- vyv has joined. 03:56:17 -!- prooftechnique has joined. 04:03:50 Taneb: More generally, for any P, you can ask: "Is the truth of your answer equal to the truth of P?" 04:07:17 -!- Sprocklem has quit (Ping timeout: 245 seconds). 04:11:40 What are you refering to? 04:12:43 zzo38: The sort of puzzle where there are three people, where one tells the truth, one lies, and one either tells the truth or lies. 04:48:42 This Pokemon Card GB2 AI very often uses such things as DEFENDER and SELF-DESTRUCT at the worst possible times for them; it often gives me an advantage. 04:48:57 Why did they design such a stupid AI? 04:49:08 It is even worse than the first game. 04:55:12 It sounds as though they cloned the RPG AIs. 04:55:30 Maybe; I don't know. 04:55:40 You would not believe the number of times I've seen a trainer use Destruct with their last Pokemon. 04:55:45 Erm, Self-* 04:56:26 pikhq: I have seen it too a few times. How many times do you see? 04:56:41 I haven't counted. 04:57:09 I didn't think to during childhood, and those games were my life for a few years. 04:57:14 I can compare it to if you have a position in chess that you interpose check with a piece that prevents you from escaping your next move. 05:01:13 Maybe this comparison isn't quite as good, but it is something. 05:02:25 The use of SELF-DESTRUCT in these bad situations may be compared to a bad exchange in chess that loses the initiative. 05:05:03 Do you play chess at all? 05:05:19 I do, though it's been a while. 05:09:42 I don't really play chess very often, but sometimes I do, and I do sometimes read book describing chess, do some kind of chess problem, etc. 05:12:00 I also like the retroanalysis problems; I have seen one where it shows you the position of pieces on the board, but doesn't tell you whose turn it is or stuff like that; you are then asked: On which squares did captures occur? 05:23:11 -!- pikhq has quit (Read error: Connection reset by peer). 05:27:20 Bit shifting and binary arithmetic was invented far before computers were invented. 05:33:32 -!- pikhq has joined. 05:37:49 Is the Russian algorithm good for making multiplication in 6502? 05:45:27 oerjan: I tend to use tr '\n' ' ' to remove internal newlines. 05:45:44 -!- conehead_ has changed nick to conehead. 05:45:48 (Of course it converts a final newline to space too.) 05:45:57 aha 05:47:33 O, someone else mention a * b = f(a + b) - f(a - b) where f(x) = x * x / 4 and is of course stored in a precomputed lookup table. 05:47:49 hm that command also evilly does not edit in place. however... 05:47:58 `cat bin/learn_apply 05:47:58 cat: bin/learn_apply: No such file or directory 05:48:02 `cat bin/learn_append 05:48:02 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 05:49:04 It works very well for 8-bits multiplication, at least 05:50:38 `run sed -i "4ised -i 'y/"'\n'"/ /"'wisdom/$topic' bin/learn_append 05:50:39 No output. 05:50:42 `cat bin/learn_append 05:50:43 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ sed -i 'y/ \ / /wisdom/$topic \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 05:50:50 bah 05:50:54 `revert 05:50:56 Done. 05:51:11 `run sed -i "4ised -i 'y/"'\\n'"/ /"'wisdom/$topic' bin/learn_append 05:51:12 No output. 05:51:16 `cat bin/learn_append 05:51:16 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ sed -i 'y/\n/ /wisdom/$topic \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 05:51:27 `revert 05:51:28 Done. 05:51:59 `run sed -i "4ised -i 'y/"'\\n'"/ /' "'"wisdom/$topic"' bin/learn_append 05:52:01 No output. 05:52:04 `cat bin/learn_append 05:52:04 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ sed -i 'y/\n/ /' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 05:52:34 hm wait does sed support that 05:52:39 `? test 05:52:40 test failed. HackEgo-JUnit is not available. 05:52:50 `learn_append test test 05:52:52 I knew that. 05:52:54 `? test 05:52:55 test failed. HackEgo-JUnit is not available. \ test 05:52:59 fff 05:53:02 `revert 05:53:03 Done. 05:57:45 -!- tromp__ has joined. 05:58:09 fizzie: it also has the entirely fatal flaw of not allowing in-place editing hth 05:58:27 and sed's y does not seem to support \n 06:00:25 `revert 4949 06:00:27 Done. 06:00:34 -!- shikhout has joined. 06:00:37 -!- tromp_ has quit (Ping timeout: 260 seconds). 06:03:52 -!- shikhin has quit (Ping timeout: 260 seconds). 06:05:25 -!- AndoDaan has joined. 06:05:30 `run sed -i "4iperl -i -p -e 's/\n//' "'"wisdom/$topic"' bin/learn_append # from stackoverflow 06:05:31 No output. 06:05:41 `learn_append test test 06:05:44 I knew that. 06:05:47 `? test 06:05:48 test failed. HackEgo-JUnit is not available.test 06:05:52 oops 06:06:11 -!- prooftechnique has quit (Quit: return ()). 06:06:17 `run sed -i "4cperl -i -p -e 's/\n/ /' "'"wisdom/$topic"' bin/learn_append # from stackoverflow 06:06:18 No output. 06:06:21 `learn_append test test 06:06:24 ​/hackenv/bin/learn_append: line 6: unexpected EOF while looking for matching `'' \ /hackenv/bin/learn_append: line 9: syntax error: unexpected end of file 06:06:36 wtf 06:06:51 `cata bin/learn_append 06:06:51 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cata: not found 06:06:56 `cat bin/learn_append 06:06:57 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ perl -i -p -e 's/ \ / /' "wisdom/$topic" \ //' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 06:07:16 oh 06:07:28 `run sed -i "4cperl -i -p -e 's/\\n/ /' "'"wisdom/$topic"' bin/learn_append # from stackoverflow 06:07:30 No output. 06:07:34 `learn_append test test 06:07:36 ​/hackenv/bin/learn_append: line 7: /: Is a directory \ I knew that. 06:07:55 "/: Is a directory" impressive 06:08:00 god damn you unix derivatives 06:08:10 `cat bin/learn_append 06:08:11 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ perl -i -p -e 's/ \ / /' "wisdom/$topic" \ / /' "wisdom/$topic" \ //' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 06:08:40 ok something hideously wrong 06:08:55 `revert 4949 06:08:57 Done. 06:09:52 -!- MoALTz has quit (Quit: Leaving). 06:10:06 `run sed -i "4iperl -i -p -e 's/\n/ /' "'"wisdom/$topic"' bin/learn_append # from stackoverflow 06:10:08 No output. 06:10:14 `cat bin/learn_append 06:10:14 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ perl -i -p -e 's/ \ / /' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 06:10:26 `revert 06:10:27 Done. 06:10:44 `run sed -i "4iperl -i -p -e 's/"'\\n'"/ /' "'"wisdom/$topic"' bin/learn_append # from stackoverflow 06:10:47 No output. 06:10:51 `cat bin/learn_append 06:10:52 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ perl -i -p -e 's/\n/ /' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo "I knew that." 06:11:08 hm promising 06:11:16 `learn_append test test 06:11:17 I knew that. 06:11:21 `? test 06:11:22 test failed. HackEgo-JUnit is not available. test 06:11:29 `revert 06:11:30 Done. 06:14:38 -!- shikhout has quit (Ping timeout: 258 seconds). 06:25:39 -!- AndoDaan_ has joined. 06:27:13 -!- AndoDaan has quit (Ping timeout: 248 seconds). 06:27:51 -!- AndoDaan_ has changed nick to AndoDaan. 06:36:32 -!- AndoDaan_ has joined. 06:38:25 -!- AndoDaan has quit (Ping timeout: 248 seconds). 06:55:21 -!- oerjan has quit (Quit: leaving). 07:08:17 -!- S1 has joined. 07:16:35 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 07:26:59 -!- AndoDaan has joined. 07:28:02 @tell oerjan I knew that. But it works for lists [1..] which is usually what you have when golfing 07:28:02 Consider it noted. 07:28:20 Hey, mroman_. 07:28:38 The general purpose square a list is still )S[ 07:28:41 Did you submit the latest tast to Anarchy Golf? 07:28:53 There's a new problem? 07:28:53 tasks* 07:29:06 ah. 07:29:10 yes. two 07:29:10 two new 07:29:50 quit rare these days. new problems I mean. 07:30:15 hm 07:30:22 Highest power of 2 dividing n? 07:30:34 looks like a job for until 07:30:55 which burlesque hasn't 07:30:56 weird 07:31:45 !blsq 1R@2?^{24jdv}fi 07:31:46 0 07:32:15 !blsq 1R@2?^24.+{24jdv}FI 07:32:15 ERROR: Unknown command: (FI)! 07:32:30 !blsq 1R@2?^24.+{24jdv}fI 07:32:30 {0 1} 07:32:49 this doesn't look right 07:32:54 !blsq 1R@2?^24.+ 07:32:54 {1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 07:32:58 oh 07:33:04 !blsq 2 1R@?^24.+ 07:33:04 {2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 07:33:13 !blsq 2 1R@?^24.+{24jdv}fI 07:33:14 {0 1 2} 07:33:20 !blsq 2 1R@?^24.+{24jdv}fI[- 07:33:20 {1 2} 07:33:24 !blsq 2 1R@?^24.+{24jdv}fI[~ 07:33:25 2 07:33:35 !blsq 2 1R@?^^^24.+{24jdv}fI[~!! 07:33:35 8 07:34:15 !blsq 2 1R@?^^^12.+{12jdv}fI[~!! 07:34:16 4 07:34:21 !blsq 2 1R@?^^^{12jdv}fI[~!! 07:34:21 Ain't nobody got time fo' dat! 07:34:38 -!- conehead has quit (Quit: Computer has gone to sleep). 07:34:56 !blsq 2 1R@?^^^20.+{12jdv}fI[~!! 07:34:56 4 07:35:10 !blsq 10{1R@?^^^20.+{12jdv}fI[~!!}GO 07:35:11 That line gave me an error 07:35:43 !blsq 10{Pp2 1R@?^^^20.+{pPjdv}fI[~!!}GO 07:35:44 Ain't nobody got time fo' dat! 07:35:49 !blsq 5{Pp2 1R@?^^^20.+{pPjdv}fI[~!!}GO 07:35:49 Ain't nobody got time fo' dat! 07:35:57 !blsq 2 1R@?^^^20.+{5jdv}fI[~!! 07:35:58 That line gave me an error 07:36:05 yeah 07:36:10 !blsq 20r1 07:36:10 ERROR: Unknown command: (r1)! 07:36:11 this is difficult in Burlesque 07:36:27 !blsq 20r0 07:36:28 ERROR: Unknown command: (r0)! 07:36:36 !blsq 2 0R@?^^^20.+{5jdv}fI[~!! 07:36:36 1 07:36:38 ah 07:36:47 !blsq "20"r0 07:36:47 ERROR: Unknown command: (r0)! 07:36:49 !blsq 10{2 0R@?^^^20.+{5jdv}fI[~!!}GO 07:36:49 {1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10} 07:36:58 what's my problem 07:37:07 there's no r0 07:37:09 and no r1 07:37:15 !blsq 20ro 07:37:15 {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} 07:37:16 !blsq 20rz 07:37:17 {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} 07:37:18 ^- that? 07:37:24 I'm truly an idiot 07:37:33 since when is 9 a power of two o_O 07:37:53 !blsq 10{2 0R@?^^^20.+{5jdv}fI}GO 07:37:53 !blsq 20rz{fc}m[ 07:37:53 Ain't nobody got time fo' dat! 07:37:54 {{} {1} {1 2} {1 3} {1 2 4} {1 5} {1 2 3 6} {1 7} {1 2 4 8} {1 3 9} {1 2 5 10} { 07:38:30 !blsq 10{2 0R@?^^^20.+{5jdv}fI[~}GO 07:38:30 Ain't nobody got time fo' dat! 07:38:45 !blsq 10{2 0R@?^^^20.+{5jdv}fI[~vv}GO 07:38:46 Ain't nobody got time fo' dat! 07:38:59 !blsq 10{2 0R@?^^^20.+{5jdv}fI[~!!}GO 07:38:59 {1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10} 07:39:05 wth 07:39:21 !blsq 2 0R@?^^^20.+ 07:39:21 Ain't nobody got time fo' dat! 07:39:26 !blsq 2 0R@?^^^10.+ 07:39:26 Ain't nobody got time fo' dat! 07:39:39 !blsq 2 0R@?^20.+ 07:39:40 {1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 26214 07:39:43 !blsq 2 0R@?^20.+9!! 07:39:43 512 07:39:49 there's no 9 in that list 07:40:00 !blsq 10{2 0R@?^^^20.+{5jdv}fI[~j!!}GO 07:40:00 Ain't nobody got time fo' dat! 07:40:26 !blsq 20rz{fc{2**2}C!\\}m[ 07:40:27 That line gave me an error 07:40:42 also why am I getting more than 10 elements 07:40:44 for 10GO 07:40:46 wth 07:40:47 !blsq 20rz{fc{2**2}4C!}m[ 07:40:48 {2 2 2 2 {} 2 2 2 2 {1} 2 2 2 2 {1 2} 2 2 2 2 {1 3} 2 2 2 2 {1 2 4} 2 2 2 2 {1 5 07:41:15 !blsq { 1 3 9 24}{2 0R@?^^^20.+{5jdv}fI[~!!}m[ 07:41:16 {1 1 1 3 1 9 1 24} 07:41:38 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 07:41:42 !blsq 20rz{fc{2**-1}4C!}m[ 07:41:42 {-1 -1 -1 -1 {} -1 -1 -1 -1 {1} -1 -1 -1 -1 {1 2} -1 -1 -1 -1 {1 3} -1 -1 -1 -1 07:41:48 oh 07:41:52 right 07:42:08 !blsq 10{Pp2 0R@?^^^20.+{pPjdv}fI[~j!!}GO 07:42:09 Ain't nobody got time fo' dat! 07:42:17 !blsq 10{pP2 0R@?^^^20.+{Ppjdv}fI[~j!!}GO 07:42:17 !blsq 20rz{fc{-1 2**\/^^}4C!}m[ 07:42:17 That line gave me an error 07:42:17 {{} {} {} {} {} {1} {1} {1} {1} {1} {1 2} {1 2} {1 2} {1 2} {1 2} {1 3} {1 3} {1 07:42:44 !blsq 10{Pp2 0R@?^^^20.+{PPjdv}fI[~j!!}GO 07:42:44 Ain't nobody got time fo' dat! 07:42:54 this is insane :( 07:43:14 !blsq 10{Pp2 0R@?^^^20.+{PPjdv}fI[~!!}GO 07:43:15 Ain't nobody got time fo' dat! 07:43:20 !blsq 3{Pp2 0R@?^^^20.+{PPjdv}fI[~!!}GO 07:43:20 Ain't nobody got time fo' dat! 07:43:34 !blsq 20rz{fc 2{.*}4C!}m[ 07:43:35 {ERROR: Burlesque: (.*) Invalid arguments! ERROR: Burlesque: (.*) Invalid argume 07:43:36 !blsq 3{Pp2 20r@?^^^{PPjdv}fI[~!!}GO 07:43:37 {ERROR: Burlesque: (!!) Invalid arguments! ERROR: Burlesque: ([~) Invalid argume 07:43:47 !blsq 3{Pp2 20r@?^^^{PPjdv}fI}GO 07:43:47 !blsq 20rz{fc 2{^^.*}4C!}m[ 07:43:47 {ERROR: Burlesque: (fi) Invalid arguments! {PP j dv} ERROR: Burlesque: (**) Inva 07:43:47 {65536 256 16 4 2 {} 65536 256 16 4 2 {1} 65536 256 16 4 2 {1 2} 65536 256 16 4 07:44:00 !blsq 3{2 20r@?^^^{24jdv}fI}GO 07:44:00 {{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 07:44:05 !blsq 20rz{fc 2{^^.*}4C!\\}m[ 07:44:06 {2 16 4 2 {} 2 16 4 2 {1} 2 16 4 2 {1 2} 2 16 4 2 {1 3} 2 16 4 2 {1 2 4} 2 16 4 07:44:25 !blsq 10{Pp2 0 20r@?^^^{PPjdv}fI[~!!}GO 07:44:26 That line gave me an error 07:44:29 !blsq 20rz{fc 2{^^.*\\}4C!}m[ 07:44:29 {ERROR: Burlesque: (\\) Invalid arguments! ERROR: Burlesque: (\\) Invalid argume 07:44:34 !blsq 10{Pp2 0 20r@?^^^{PPjdv}fI}GO 07:44:34 That line gave me an error 07:44:40 what the 07:44:48 !blsq 20rz{fc 2{^^.*}4C!\/\\}m[ 07:44:48 {536 16 4 2 {} 536 16 4 2 {1} 536 16 4 2 {1 2} 536 16 4 2 {1 3} 536 16 4 2 {1 2 07:44:58 !blsq 10{Pp2 0 20r@?^^^{pPjdv}fI}GO 07:44:59 {{0} {1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 07:45:08 !blsq 10{Pp2 0 20r@?^^^{pPjdv}fI[~}GO 07:45:08 {0 {1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 26 07:45:12 !blsq 10{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO 07:45:12 {1 2 1 4 1 2 1 8 1 2} 07:45:20 haha! 07:45:23 !blsq 1{2}4c! 07:45:23 ERROR: Burlesque: (c!) Invalid arguments! 07:45:28 !blsq 1{2}4C! 07:45:28 2 07:45:33 !blsq 20{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO 07:45:34 {1 2 1 4 1 2 1 8 1 2 1 4 1 2 1 16 1 2 1 4} 07:45:46 now 07:45:49 what is a partial sum? 07:45:51 !blsq 1{2^^\/}4C! 07:45:51 2 07:46:09 why do you do 2^^\/ ? 07:46:13 !blsq 10{{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO++}GO 07:46:14 Ain't nobody got time fo' dat! 07:46:20 !blsq 1{^^2.*}4C! 07:46:20 16 07:46:25 !blsq 4{{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO++}GO 07:46:25 {1 3 4 8} 07:46:31 !blsq 5{{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO++}GO 07:46:31 {1 3 4 8 9} 07:46:37 -!- sebbu has quit (Ping timeout: 260 seconds). 07:46:47 !blsq 6{{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO++}GO 07:46:47 {1 3 4 8 9 11} 07:46:49 ok 07:46:52 thats A006520 07:46:56 it's pretty slow though 07:47:39 yep. too slow for anagol 07:47:57 -!- AndoDaan_ has joined. 07:47:58 !blsq 1{2.*^^2**}4C! 07:47:58 1073741824 07:48:12 !blsq 1{2.*^^2**++}4C! 07:48:13 19292178609371873283721881554959056663564876247763779584 07:48:30 no idea what that monstrosity is. 07:48:56 it's 07:49:10 192921.... 07:49:19 ....9584 07:49:20 (*2)^2 + digit sum 07:49:21 I guess 07:49:38 !blsq 1{2.*^^2**++}4C!#s 07:49:39 {19292178609371873283721881554959056663564876247763779584 964608930468593664 482 07:49:43 !blsq 1{2.*^^2**++}2C!#s 07:49:44 {482304 24 1} 07:49:57 -!- S1 has quit (Quit: S1). 07:49:58 burlesque has no limit on bignumbers? 07:50:09 !blsq 1 2.*^^2** 07:50:09 4 07:50:29 ah ** is power 07:50:30 ok 07:50:36 so 07:51:22 -!- AndoDaan has quit (Ping timeout: 276 seconds). 07:51:32 -!- AndoDaan_ has changed nick to AndoDaan. 07:51:39 ++ is concenatenate digits 07:51:47 !blsq 1 2.*^^2** 07:51:47 4 07:51:49 !blsq 1 2.*^^2**++ 07:51:50 24 07:52:10 (x*2)++(2^x) 07:52:38 !blsq 24 2.* 24 2** 07:52:38 576 07:53:05 !blsq 24 2.* 24 2**#s 07:53:06 {576 48} 07:53:18 !blsq 24 2.* 2 24** 07:53:19 16777216 07:53:28 !blsq 24 2.* 48 2** 07:53:29 2304 07:53:32 !blsq 24 2.* 48 2**++ 07:53:33 482304 07:53:43 (x*2)++(x*2)^2 07:53:48 ^- that's what you're doing 07:53:57 where ++ is concatenate digits 07:54:42 AndoDaan: and yes. Burlesque has no limit on integers 07:54:54 -!- sebbu has joined. 07:54:58 except for the haskell limits of course 07:54:59 If I'm not constantly checking with the langref, I have nearly no idea what 's what 07:55:04 okay thanks. 07:55:09 i.e. !! 07:55:13 @type (!!) 07:55:14 [a] -> Int -> a 07:55:19 !! want's an Int 07:55:33 -!- sebbu has quit (Changing host). 07:55:33 -!- sebbu has joined. 07:55:46 which means that when using !! in Burlesque it will convert the Unbounded Integer into a bounded integer 07:56:10 if you ever have that large lists :) 07:56:31 AndoDaan: I get that @checking with the langref 07:56:55 if you golf regularily you know the most used commands fluently ;) 07:57:11 I'm thinking of writing a little program to help me organize and look up the instruction set a bit better. 07:57:13 for other stuff I just know that it's there and I can look it up in the langref 07:57:20 until I get the hang of it. 07:57:35 I'm sure it's all slowly perculating into my brain. 07:57:42 I was seriously thinking about self-recursive 2D language somewhat akin to Orthogonal 07:57:53 not sure if it will every fly though 07:58:08 Only one way to find out. 07:58:15 right 07:58:17 also the Burlesque Shell has tabcompletion for commands btw ;) 07:58:46 nice. thanks. 07:59:12 technically you could write a little translater from verbose Burlesque to Burlesque 07:59:28 which would allow you to write using the Names of the Commands 07:59:30 suchas 08:00:10 20 {primeFactors sum} generateListO 08:00:14 instead of 08:00:23 20{fC++}GO 08:00:48 also I think some people have a regex collection for usual shortcuts ;) 08:00:53 I had one, but I lost it 08:01:10 i.e. it would detect that you wrote {aabb}m[ insteaf of )aa)bb or things like that 08:01:23 I might do that. atm I'm just bashing my fingers in the hopes of finding the right combination of characters. 08:02:33 -!- sebbu has quit (Ping timeout: 246 seconds). 08:07:05 -!- sebbu has joined. 08:07:42 -!- sebbu has quit (Changing host). 08:07:42 -!- sebbu has joined. 08:22:28 -!- sebbu has quit (Ping timeout: 250 seconds). 08:28:49 -!- Patashu has joined. 08:35:36 [wiki] [[Special:Log/newusers]] create * RonKnatchbull * New user account 08:45:48 -!- sebbu has joined. 08:45:49 -!- sebbu has quit (Changing host). 08:45:49 -!- sebbu has joined. 08:58:57 !blsq ?_ 08:58:58 "I have 340 non-special builtins!" 08:59:17 "I have 340 builtins, but that's nothing special." 09:03:23 presumably it also has 60 special builtins as well 09:10:15 -!- heroux has joined. 09:10:17 -!- heroux_ has joined. 09:17:56 -!- AndoDaan has quit (Ping timeout: 250 seconds). 09:18:22 -!- AndoDaan has joined. 09:45:47 b_jonas: Let me count them. 09:46:41 #Q #q #J #j @ ) : , 09:46:54 about 8 special built-ins 09:47:13 !blsq #Q#s 09:47:14 {{#s}} 09:47:32 #Q pushes the code on the right side of it to the stack 09:47:46 !blsq #Q{}#q1 2 3 4 09:47:46 {{} #q 1 2 3 4} 09:47:54 !blsq #Q{}#q1 2 3 4#s 09:47:54 {{} #q 1 2 3 4 #s} 09:48:08 where as #q pops code from the stack 09:48:19 !blsq {1 2 .+}#q3 4.+ 09:48:19 3 09:48:23 !blsq {1 2 .+}#q3 4.+#s 09:48:24 3 09:48:28 !blsq {1 2 .+}#q3 4.+ 09:48:29 3 09:48:34 so the 3 4 .+ isn't executed at all 09:48:57 !blsq {1 2 .+}#j3 4.+ 09:48:57 7 09:48:59 !blsq {1 2 .+}#j3 4.+#s 09:49:00 {7 3} 09:49:11 #j appends code but does not replace it 09:50:28 !blsq @'c10.+ 09:50:29 "cccccccccc" 09:50:44 !blsq 'c10.* 09:50:45 "cccccccccc" 09:54:02 mroman_: but aren't there like parenthesis or something for defining functions too? or is this so much forth-like that there's nothing 09:54:17 b_jonas: not yet, no 09:54:23 You can't define functions 09:54:33 Not in a reasonable way 09:54:44 oh.... 09:54:45 um 09:54:49 will you add a way later/ 09:54:50 ? 09:54:55 I will 09:55:31 also variables 09:55:35 so you can do stuff like 09:56:49 `X:=1 2 09:56:50 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: X:=1: not found 09:57:00 `Y:= %X ?+ 09:57:01 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Y:=: not found 09:59:22 -!- Majid_ has joined. 10:00:00 yeah, that would be useful 10:00:32 http://codepad.org/k9FhEYNg 10:00:37 ^- that's my sketch so far for that 10:01:38 also it will be shipped with predefined longversions of commands 10:01:40 i.e. 10:01:58 `add={?+} `group={=[} 10:01:58 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: add={?+}: not found 10:01:58 etc. 10:02:16 eh 10:02:19 `Add that is 10:02:19 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Add: not found 10:02:24 they must start with an uppercase letter 10:02:41 `a `b `c are already reserved 10:02:41 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: a: not found 10:02:49 there's not a single character that can be freely used I think 10:03:46 also it would be %Increment in the spec 10:04:18 b_jonas: the problem is that you need a prefix 10:04:19 because 10:04:22 !blsq "increment"ps 10:04:22 {ERROR: (line 1, column 10): 10:04:25 !blsq "increment."ps 10:04:25 {in cr em en t.} 10:04:33 would be parsed as a chain of commands 10:04:51 so you need to tell the parser with a prefix that it's not a chain of commands 10:05:00 there's no command that starts with % 10:05:04 so % is a good choice as a prefix 10:05:52 mroman_: could you just modify existing names so you free u psomething? 10:06:27 Like what? 10:06:35 ` and % are free prefixes 10:06:36 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 10:06:40 I can use them 10:06:49 ok 10:06:54 that is ` and % followed by an uppercase letter ;) 10:07:06 But no: I can't change existing commands 10:07:11 can you also have two-letter variables, or letter+number variables? 10:07:13 that would break programs on anagol using them 10:07:29 b_jonas: you mean like `foo0? 10:07:51 yes, like that 10:08:03 but that's too long, so more like %M2 and %Te 10:08:09 ah sure 10:08:11 no problem 10:08:15 -!- Majid_ has left ("Leaving"). 10:08:16 ok 10:08:26 they can't contain a = though ;) 10:08:31 `Xheutn=... 10:08:31 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Xheutn=...: not found 10:08:38 do you do a new incompatible major version every four years? 10:08:39 it'll just parse until it reaches a = for the assignment 10:08:54 b_jonas: all versions are fully backwards compatible 10:09:05 or, like, every triangular numbered year starting from the first release 10:09:11 ?? 10:09:34 or what do you mean with "incompatible"? 10:09:52 one with incompatible syntax so it doesn't run older programs 10:09:59 no 10:10:01 ok 10:10:01 like I said 10:10:07 it's backwards compatible 10:10:22 Burlesque will always be able to run older programs 10:11:16 I have a "contract" with golf.shinh.org that newer Burlesque versions must still run programs written for older versions 10:12:04 sure, I mean doing an incompatible release in such a way that it has a new name and you still maintain the old version and golf entries specify the version in their language 10:12:09 What happens if you take back the contract? Do they take out a contract? 10:12:55 wait 10:13:01 b_jonas: what are you actually talking about? 10:13:15 variables can be added to Burlesque without breaking existing programs. 10:13:22 sure 10:13:40 Well, adding a program prefix to switch to a different language still leaves it backwards compatible. 10:13:43 You want me to release a new Version of Burlesque under a different name? 10:13:54 no... never mind 10:14:12 I was just talking about the hypothetical for when you want to break compatibility. but you don't want to. so it's not important 10:14:15 let's forget it 10:14:21 I'm sorry 10:14:44 If I did break compatability then it would be a different language 10:15:12 b_jonas: I see no advantage in breaking compatability 10:15:40 I would only do that to make a fully fledged general purpose language out of it with the chance of being used by more than 5 people 10:15:47 but I doubt that this will ever be the case 10:16:04 Is it being golfed by more than 5 people? 10:16:07 so my "customers" are golfers on anagol and anagol requires full backwards compatability 10:16:33 Jafet: there's clock, teebe, hendrik, noodl, andodaan, me 10:16:43 and sometimes someone gives it a shot too 10:17:01 andodaan is the newest golfer so far in Burlesque 10:17:33 now when you said above `add={?+} 10:17:39 how would you invoke that then? 10:18:35 oh. and pooq also golfs in it 10:18:53 and how does the assignment knows where the assigned stuff ends? shouldn't it be a suffix so it pops a value from the stack and assigns that? 10:19:09 some other not so active burlesque golfers are desty, migo, whio 10:19:35 b_jonas: { ... } 10:19:39 `add={ ... } 10:19:40 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: add={: not found 10:19:46 the } specifies the end 10:19:47 of course 10:19:53 { ... }`Add is also fine 10:20:18 mroman_: um... but then why do you need the equals sign if the bracket already delimits? 10:20:22 oh 10:20:27 so it would work as suffix too 10:20:28 ok 10:21:35 -!- boily has joined. 11:07:45 `? burlesque 11:07:45 Burlesque is only the sexiest language on Earth. (See: http://mroman.ch/burlesque) 11:07:58 ah, so that's how the update is. 11:24:29 -!- boily has quit (Quit: MARSH CHICKEN). 11:36:38 !blsq !blsq ?? 11:36:39 That line gave me an error 11:36:44 !blsq !blsq ?? 11:36:45 That line gave me an error 11:36:56 ?? 11:37:10 !blsq ?? 11:37:10 "Burlesque - 1.7.3" 11:37:47 !blsq ??L[ 11:37:48 17 11:38:13 !blsq :a 11:38:14 ERROR: (line 1, column 3): 11:38:27 !blsq %a 11:38:27 ERROR: (line 1, column 3): 11:38:32 !blsq @ 11:38:32 @ 11:38:46 !blsq q5l 11:38:46 ERROR: (line 1, column 4): 11:38:49 !blsq q5 11:38:49 {5} 11:38:56 !blsq q1 5 6 11:38:56 6 11:39:10 !blsq q1128 11:39:10 {1128} 11:39:31 !blsq ?n 11:39:32 That line gave me an error 11:39:40 !blsq 156?n 11:39:40 l_ 11:40:14 !blsq 339rz 11:40:14 {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 11:40:45 !blsq 0 39ro 11:40:45 No output! 11:40:52 !blsq 0 39r@ 11:40:53 No output! 11:41:10 !blsq ,339rz 11:41:10 {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 11:42:28 !blsq "5"to 11:42:28 "Str" 11:43:05 !blsq "Str"\/to~= 11:43:05 0 11:44:06 !blsq 339rzfC 11:44:07 That line gave me an error 11:44:47 !blsq 339rz{fc>]}m[ 11:44:47 That line gave me an error 11:44:53 !blsq 339rz{f!>]}m[ 11:44:53 {ERROR: Burlesque: (>]) Invalid arguments! ERROR: Unknown command: (f!)! 0 ERROR 11:45:33 hu 11:45:39 !blsq 339rz 11:45:39 {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 11:45:41 !blsq 339rzfC 11:45:42 That line gave me an error 11:45:44 wtf 11:45:53 ah 11:45:57 div by zero 11:45:58 ;0 11:46:00 !blsq 1fC 11:46:01 {} 11:46:03 !blsq 0fC 11:46:04 That line gave me an error 11:46:05 I'm the worst. 11:46:38 !blsq 2 339rofC 11:46:38 {{} {2} {3} {2 2} {5} {2 3} {7} {2 2 2} {3 3} {2 5} {11} {2 2 3} {13} {2 7} {3 5 11:46:49 !blsq 2 339rofC<[ 11:46:49 ERROR: Unknown command: (<[)! 11:46:58 !blsq 2 339rofCe!>[ 11:46:59 ERROR: Unknown command: (>[)! 11:47:02 !blsq 2 339rofCe!>] 11:47:02 113 11:47:28 !blsq 2 339rofC){>]}n[ 11:47:28 ERROR: Unknown command: (n[)! 11:47:39 !blsq 2 339rofC){>]}m[ 11:47:39 ERROR: Burlesque: (m[) Invalid arguments! 11:48:01 !blsq 2 339rofC 11:48:01 {{} {2} {3} {2 2} {5} {2 3} {7} {2 2 2} {3 3} {2 5} {11} {2 2 3} {13} {2 7} {3 5 11:48:15 !blsq 2 339rofC){>]} 11:48:16 {{>]} {} {>]} {2} {>]} {3} {>]} {2 2} {>]} {5} {>]} {2 3} {>]} {7} {>]} {2 2 2} 11:48:35 map can actually be used to insert stuff between elements 11:48:44 !blsq 10ro)-1 11:48:45 {-1 1 -1 2 -1 3 -1 4 -1 5 -1 6 -1 7 -1 8 -1 9 -1 10} 11:48:49 !blsq 2 100rofC) >] 11:48:49 That line gave me an error 11:48:54 !blsq 2 100rofC>] 11:48:54 {97} 11:49:12 !blsq 2 100rofC^^>] 11:49:12 {97} 11:49:21 !blsq 2 100ro^^fC>] 11:49:21 {97} 11:49:30 !blsq 2 100ro\*fC>] 11:49:31 ERROR: Burlesque: (>]) Invalid arguments! 11:49:35 !blsq 2 100ro\^fC>] 11:49:35 ERROR: Burlesque: (>]) Invalid arguments! 11:49:48 !blsq 2 100rofC[< 11:49:48 ERROR: Unknown command: ([<)! 11:49:52 !blsq 2 100rofC[> 11:49:53 ERROR: Unknown command: ([>)! 11:49:59 !blsq 2 100rofC 11:49:59 {{} {2} {3} {2 2} {5} {2 3} {7} {2 2 2} {3 3} {2 5} {11} {2 2 3} {13} {2 7} {3 5 11:50:07 !blsq 2 100rofCe! 11:50:07 {2 2 5 5} 11:50:18 !blsq 2 100rofCpe 11:50:19 {ERROR: Burlesque: (ps) Invalid arguments! 2 ERROR: Burlesque: (ps) Invalid argu 11:50:22 !blsq 2 100rofCsp 11:50:22 Ain't nobody got output fo' that! 11:50:26 !blsq 2 100rofCspuN 11:50:26 ERROR: Burlesque: (\[) Invalid arguments! 11:50:31 !blsq 2 100rofCuN 11:50:32 ["\n", 2, "\n", 3, "\n", 2, 2, "\n", 5, "\n", 2, 3, "\n", 7, "\n", 2, 2, 2, "\n" 11:50:40 !blsq 2 100rofCun 11:50:41 {"\n" 2 "\n" 3 "\n" 2 2 "\n" 5 "\n" 2 3 "\n" 7 "\n" 2 2 2 "\n" 3 3 "\n" 2 5 "\n" 11:50:47 !blsq 2 100rofCln 11:50:47 ERROR: Burlesque: (ln) Invalid arguments! 11:51:01 !blsq 2 100rofC1co 11:51:01 {{{}} {{2}} {{3}} {{2 2}} {{5}} {{2 3}} {{7}} {{2 2 2}} {{3 3}} {{2 5}} {{11}} { 11:51:04 hu 11:51:09 !blsq 2 100rofC1CO 11:51:09 {{{}} {{2}} {{3}} {{2 2}} {{5}} {{2 3}} {{7}} {{2 2 2}} {{3 3}} {{2 5}} {{11}} { 11:51:10 Ain't nobody got output fo' that 11:51:11 wth is this 11:51:35 !blsq 2 100rofC<-uN 11:51:35 [2, 2, 5, 5, "\n", 3, 3, 11, "\n", 2, 7, 7, "\n", 97, "\n", 2, 2, 2, 2, 2, 3, "\ 11:51:47 ? 11:51:47 ah. if there's no output. 11:52:00 AndoDaan: un is broken for non-strings 11:52:10 not broken, but it doesn't unlines 11:52:24 !blsq 2 100rofCm]wd 11:52:24 "[] [2] [3] [2, 2] [5] [2, 3] [7] [2, 2, 2] [3, 3] [2, 5] [11] [2, 2, 3] [13] [2 11:52:32 !blsq 2 100rofCm]wD 11:52:33 [] [2] [3] [2, 2] [5] [2, 3] [7] [2, 2, 2] [3, 3] [2, 5] [11] [2, 2, 3] [13] [2, 11:52:36 !blsq 2 100rofCwd 11:52:37 {' 2 ' 3 ' 2 2 ' 5 ' 2 3 ' 7 ' 2 2 2 ' 3 3 ' 2 5 ' 11 ' 2 2 3 ' 13 ' 11:53:02 !blsq 2 100rofC[~wd 11:53:03 {ERROR: Burlesque: (_+) Invalid arguments!} 11:53:04 unlines and words just assume that it's a list of Strings 11:53:08 !blsq 2 100rofC[-wd 11:53:08 {2 ' 3 ' 2 2 ' 5 ' 2 3 ' 7 ' 2 2 2 ' 3 3 ' 2 5 ' 11 ' 2 2 3 ' 13 ' 2 11:53:12 if it's not a list of Strings then sideffects happen 11:53:21 okay 11:53:29 because unlines/words are defined as 11:53:48 !blsq 2 100rofC[-wdsh 11:53:48 [2, , 3, , 2, 2, , 5, , 2, 3, , 7, , 2, 2, 2, , 3, 3, , 2, 5, , 11, , 11:53:52 !blsq 2 100rofC[-wdsH 11:53:53 ERROR: Burlesque: (ff) Invalid arguments! 11:53:56 "\n"\/[[\[ 11:54:00 !blsq 2 100rofC[-Ff 11:54:00 ERROR: Burlesque: (ff) Invalid arguments! 11:54:06 !blsq {"hi" "there"}"\n"\/[[\[ 11:54:07 "hi\nthere" 11:54:14 !blsq {1 2 3}"\n"\/[[\[ 11:54:15 "\n12\n3" 11:54:26 unlines intersperses "\n" and then calls concat 11:54:26 !blsq 2 100rofC[-"\n"\/[[\[ 11:54:26 {2 "\n" 3 "\n" 2 2 "\n" 5 "\n" 2 3 "\n" 7 "\n" 2 2 2 "\n" 3 3 "\n" 2 5 "\n" 11 " 11:55:10 !blsq 2 100rofC[-vv"\n"\/[[\[ 11:55:11 ERROR: Burlesque: (\[) Invalid arguments! 11:55:16 !blsq 2 100rofC[-"\n"\/[[\[ 11:55:17 {2 "\n" 3 "\n" 2 2 "\n" 5 "\n" 2 3 "\n" 7 "\n" 2 2 2 "\n" 3 3 "\n" 2 5 "\n" 11 " 11:55:38 alright. enough messing around. 11:55:58 Time to write an OS in burlesque. 11:56:15 or something smaller. 11:56:16 You are welcome to implement I/O in Burlesque ;) 11:56:36 Maybe in time, I might have some ideas. 11:56:59 I'm still way too inexperienced. 11:57:09 If you need new features to do something just ask me ;) 11:57:13 to even think of adding to your language. 11:57:24 I'm happy to introduce new features if they will be needed. 11:57:24 Okay, thanks. 11:58:21 Probably shouldn't be dependant an what questions anarchy golf is outputing 11:58:57 Like now it would be read for a _a command 11:59:37 _a looks up the A045718 sequence online 11:59:45 and prints it out 12:00:09 whadda ya think? 12:02:02 no 12:02:09 good call. 12:02:19 (sorry, I'm being silly.) 12:02:48 New features must be of "general purpose" 12:03:04 and not just to solve one challenge 12:07:19 Q: how does regex work? 12:13:09 !blsq "hi there""i t"~= 12:13:09 1 12:13:14 !blsq "hithere""i t"~= 12:13:14 0 12:13:21 ~= is "does it match my regex" 12:13:33 !blsq "hi there""(i.t)"=~ 12:13:34 {"i t"} 12:13:40 !blsq "hixthere""(i.t)"=~ 12:13:40 {"ixt"} 12:13:48 =~ is "what matches my regex" 12:13:53 i.e. 12:14:07 !blsq "content""(.*)"=~ 12:14:08 {"content"} 12:14:11 . means any character? 12:14:17 yeah 12:14:27 and for digits and letters? 12:14:27 it's POSIX RegularExpression 12:14:38 you should google for posix regexp to learn how posix regexps work 12:14:44 that's not Burlesque specific 12:14:55 Okay, I'll look that up, 12:15:03 "man 7 regex" can often also help. 12:15:16 mroman_: Basic or extended? 12:16:28 fizzie: It uses regex-compat 12:16:32 wich uses Text.Regex.Posix 12:16:37 which is a wrapper for the c posix regex api 12:16:43 so I guess whatever the c posix regex api is doing 12:17:31 It can do both, depending on whether REG_EXTENDED flag is specified or not. 12:18:52 "compExtended (REG_EXTENDED) which can be set to use extended instead of basic regular expressions. This is set in the defaultCompOpt value." (Text.Regex.Posix.Wrap) 12:18:57 Apparently extended, then. 12:19:49 !blsq "today is weekday"(week.*)=~ 12:19:49 ERROR: (line 1, column 22): 12:19:57 !blsq "today is weekday"(week)=~ 12:19:57 ERROR: (line 1, column 22): 12:20:11 !blsq "today is weekday""(week.)"=~ 12:20:11 {"weekd"} 12:21:50 !blsq "just testing""(s)(t)"=~ 12:21:50 {"s" "t"} 12:22:38 !blsq "today is weekday""(week.[^[:space:]])"=~ 12:22:39 {"weekda"} 12:22:50 !blsq "today is weekday""(week.[^[:space:]]+)"=~ 12:22:51 {"weekday"} 12:23:11 You probably don't want the . in there. 12:23:21 !blsq "today is weekday, and the weekend is far away""(week[^[:space:]]+)"=~ 12:23:22 {"weekday,"} 12:24:13 !blsq "today is weekday, and the weekend is far away""{(week[^[:space:]]+)"=~}m[ 12:24:14 That line gave me an error 12:25:00 Damn, I need to start getting to grips with the control flow aspects. 12:26:01 hu 12:26:07 your { } are missmatched 12:26:19 !blsq "today is weekday, and the weekend is far away"{"(week[^[:space:]]+)"=~}m[ 12:26:20 {ERROR: Burlesque: (_+) Invalid arguments!} 12:26:30 !blsq "today is weekday, and the weekend is far away"{("week[^[:space:]]+)"=~}m[ 12:26:30 ERROR: (line 1, column 70): 12:26:37 !blsq "today is weekday, and the weekend is far away"{"(week[^[:space:]]+)"=~}m[ 12:26:38 {ERROR: Burlesque: (_+) Invalid arguments!} 12:26:48 but you can't map over a string like that 12:26:51 !blsq "today is weekday, and the weekend is far away"{^^"(week[^[:space:]]+)"=~}m[ 12:26:51 {ERROR: Burlesque: (_+) Invalid arguments!} 12:27:00 !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:]]+)"=~}m[ 12:27:01 {{} {} {"weekday,"} {} {} {"weekend"} {} {} {}} 12:27:24 ah. 12:27:35 you can only map over a string 12:27:39 if you work on characters 12:27:47 regex works on strings however 12:28:25 !blsq {"(week[^[:space:]]+)"~=}"today is weekday, and the weekend is far away"wdf[ 12:28:26 {"(week[^[:space:]]+)" ~=} 12:28:32 I got it wrong. :/ 12:28:47 what do you wan't to do? 12:29:03 Filter the words with {"(week[^[:space:]]+)"~=}. 12:29:32 !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:]]+)"~=}f[ 12:29:32 {"weekday," "weekend"} 12:29:52 I guess I misinterpreted the order of the arguments column for f[. 12:29:59 !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:],]+)"~=}f[ 12:30:00 {"weekday," "weekend"} 12:30:08 !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:]\,]+)"~=}f[ 12:30:09 {"weekday," "weekend"} 12:30:15 !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:]%,]+)"~=}f[ 12:30:15 {"weekday," "weekend"} 12:30:17 The first argument to filter is the list to filter and the second argument is the "filter" 12:30:55 The reference for f[ says "Block f, Block a -- Filters a list according to the predicate f" while m[ says "Block ls, Block f -- Apply f to every element in ls and collect the result in a block" -- how then can f[ and m[ have arguments in the same order? 12:30:59 , is a special character? 12:31:12 fizzie: Oh. 12:31:15 Thx for reporting that. 12:31:50 The documented order is indeed wrong. 12:32:34 AndoDaan: , is not a special character, but when filtering, you get the original word, not the part the regex's () matched. 12:33:23 exactly 12:33:28 Burlesque seems to be missing the Perl @a = ($s =~ m//g) -style "list of all matches of a regex" feature. 12:34:03 -!- Frooxius has joined. 12:34:05 you mean like 12:34:16 !blsq "abc""(.*)"=~ 12:34:17 {"abc"} 12:34:22 !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:digit:]^[:punct:]]+)"~=}f[ 12:34:23 {"weekday," "weekend"} 12:34:25 !blsq "abc""(.)"=~ 12:34:25 {"a"} 12:34:32 !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:digit:][:punct:]]+)"~=}f[ 12:34:32 {"weekday," "weekend"} 12:34:35 ^- you want {"a" "b" "c"} @fizzie 12:35:29 !blsq "today is weekday, and the weekend is far away"wd{"(week[a-z]+)"~=}f[ 12:35:29 {"weekday," "weekend"} 12:35:43 `perl-e @a = ("foo 123 bar 456 baz 789 quux" =~ /\d+/g); print join(" ", @a); 12:35:43 oh well, I tried. 12:35:44 123 456 789 12:35:48 That sort of thing. 12:36:17 And I don't exactly "want" it, I'm not doing anything in particular, just an observation. 12:36:22 !blsq "foo 123 bar 456 baz 789 quux""[[:digit:]]+"=~ 12:36:23 {} 12:36:27 !blsq "foo 123 bar 456 baz 789 quux""[[:digit:]+]"=~ 12:36:28 {} 12:36:31 !blsq "foo 123 bar 456 baz 789 quux""[[:digit:]]"=~ 12:36:31 {} 12:36:36 !blsq "foo 123 bar 456 baz 789 quux""[[:digit:]]*"=~ 12:36:37 {} 12:36:38 hm 12:36:46 !blsq "foo 123 bar 456 baz 789 quux""([[:digit:]]+)"=~ 12:36:46 {"123"} 12:37:08 !blsq "foo 123 bar 456 baz 789 quux""([[:digit:]]+)*"=~ 12:37:08 {""} 12:37:16 !blsq "foo 123 bar 456 baz 789 quux""([[:digit:]])*"=~ 12:37:16 {""} 12:37:23 yeah. I guess it can't do that 12:37:24 `perl-e @a = ("foo 123 bar 456 baz 789 quux 123456789" =~ /(\d)\d*(\d)/g); print join(" ", @a); # also does this if there are any capturing groups 12:37:25 1 3 4 6 7 9 1 9 12:38:05 fizzie: Thx for noticing that. 12:38:10 !blsq "foo 123 bar 456 baz 789 quux"{"([:digit:]+)"~=}f[ 12:38:10 "foo 123 bar 456 baz 789 quux" 12:38:11 :) 12:38:47 !blsq "foo 123 bar 456 baz 789 quux"{"(^[:digit:][:digit:]^[:digit:]+)"~=}f[ 12:38:48 "foo 123 bar 456 baz 789 quux" 12:39:07 !blsq "foo 123 bar 456 baz 789 quux"{"(^[:digit:]?[:digit:]+^[:digit:]?)"~=}f[ 12:39:07 "foo 123 bar 456 baz 789 quux" 12:39:21 !blsq "foo 123 bar 456 baz 789 quux"{"(\[:digit:]+\)"~=}f[ 12:39:22 "foo 123 bar 456 baz 789 quux" 12:39:35 !blsq "foo 123 bar 456 baz 789 quux"{"([:digit:]+)"~=}f[ 12:39:36 "foo 123 bar 456 baz 789 quux" 12:39:41 AndoDaan: An error in Burlesque is True 12:39:48 !blsq '*.+ 12:39:49 ERROR: Burlesque: (.+) Invalid arguments! 12:39:57 !blsq "hithere"{'*.+}f[ 12:39:58 "hithere" 12:40:02 The split-and-filter can probably do many tasks one can use m//g for (some even better), but sometimes it's non-trivial to say how to split if you, say, want inside-word matches. 12:40:54 !blsq "foo 123 bar 456 baz"wd{"[:digit:]+"~=}f[ 12:40:54 {} 12:40:59 !blsq "foo 123 bar 456 baz"wd{"[[:digit:]]+"~=}f[ 12:41:00 {"123" "456"} 12:41:04 !blsq "foo 123 bar 456 baz 789 quux"wd{'*.+}f[ 12:41:04 {"foo" "123" "bar" "456" "baz" "789" "quux"} 12:41:17 `perl-e print join(" ", grep {/^\d+$/} split " ", "foo 123 bar 456 baz 789 quux 123456789"); 12:41:17 123 456 789 123456789 12:41:34 AndoDaan: Everything that is NOT Integer 0 is True 12:41:51 which means 0 -> False, '8 -> True, {} -> True, -1 -> True 12:41:55 Error -> True 12:42:01 "hi there" -> True 12:42:10 !blsq {1 2 3}{"hi there"}f[ 12:42:11 {1 2 3} 12:42:17 !blsq {1 2 3}{0}f[ 12:42:17 {} 12:42:20 !blsq {1 2 3}{?d}f[ 12:42:21 {2 3} 12:42:37 {?i} for example removes every -1 12:42:44 !blsq {-1 2 3 -1 4}{?i}f[ 12:42:45 {2 3 4} 12:43:14 Burlesque has two kind of errors 12:43:17 !blsq 2 0?/ 12:43:17 That line gave me an error 12:43:24 errors that are underlying haskell errors 12:43:25 -!- prooftechnique has joined. 12:43:26 and 12:43:28 !blsq 2?/ 12:43:29 ERROR: Burlesque: (./) Invalid arguments! 12:43:33 Burlesque Error Values 12:43:36 !blsq 2?/to 12:43:36 "Error" 12:43:44 !blsq "foo 123 bar 456 baz 789 quux"wd{'*}f[ 12:43:44 {"foo" "123" "bar" "456" "baz" "789" "quux"} 12:43:49 ^- it's just a value on the stack with type error 12:43:53 !blsq 2?/toSh 12:43:54 "Error" 12:43:57 !blsq 2?/Sh 12:43:57 "ERROR: Burlesque: (./) Invalid arguments!" 12:44:00 !blsq 2?/Sh<-Q 12:44:00 !stnemugra dilavnI )/.( :euqselruB :RORRE 12:44:27 !blsq "foo 123 bar 456 baz 789 quux"wd{'*tito"int"~=}f[ 12:44:28 {} 12:44:47 (drop the '*) 12:45:00 !blsq "foo 123 bar 456 baz 789 quux"wd{tito"int"~=}f[ 12:45:00 {} 12:45:03 !blsq "foo 123 bar 456 baz 789 quux"wd{tito"Int"~=}f[ 12:45:03 {"foo" "123" "bar" "456" "baz" "789" "quux"} 12:45:09 !blsq "foo 123 bar 456 baz 789 quux"wd{tito"Int"==}f[ 12:45:09 {"foo" "123" "bar" "456" "baz" "789" "quux"} 12:45:16 lol 12:45:17 !blsq "foo 123 bar 456 baz 789 quux"wd{'*tito"int"sn}f[ 12:45:17 {"foo" "123" "bar" "456" "baz" "789" "quux"} 12:45:20 !blsq "foo"ti 12:45:20 That line gave me an error 12:45:24 !blsq "foo 123 bar 456 baz 789 quux"wd{'*tito"int"==}f[ 12:45:25 {} 12:45:25 ah 12:45:26 ok 12:45:41 !bslq 123to 12:45:54 !blsq "foo"ra 12:45:54 ERROR: (line 1, column 1): 12:45:57 !blsq "foo"rato 12:45:57 "Error" 12:45:59 :) 12:46:00 hehe 12:46:01 !bslq 123 to 12:46:13 !blsq "foo 123 bar 456 baz"{raisn!}f[ 12:46:14 "foo 123 bar 456 baz" 12:46:20 !blsq "foo 123 bar 456 baz"{rais}f[ 12:46:20 "" 12:46:31 !blsq "foo"rais 12:46:31 1 12:46:34 !blsq "123"rais 12:46:35 0 12:46:41 !blsq "foo 123 bar 456 baz"wd{rais}f[ 12:46:41 {"foo" "bar" "baz"} 12:46:44 !blsq "foo 123 bar 456 baz"wd{raisn!}f[ 12:46:45 {"123" "456"} 12:46:47 :) 12:46:55 I'm barking up the wrong tree. 12:47:01 raisn! filters out everything that can't be parsed by ra 12:47:12 !blsq "foo 123 bar 456 baz .+"wd{raisn!}f[ 12:47:12 {"123" "456"} 12:47:17 !blsq "foo 123 bar 456 baz .+ 9.0"wd{raisn!}f[ 12:47:17 {"123" "456" "9.0"} 12:47:22 !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"wd{raisn!}f[ 12:47:22 {"123" "456" "9.0" "[1,2]"} 12:47:25 alright, thanks. 12:47:32 !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"wd{raisn!}f[)ra 12:47:32 {123 456 9.0 {1 2}} 12:48:19 Raisins. 12:48:51 !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"wd{psisn!}f[)ps 12:48:52 {{ERROR: (line 1, column 4): 12:48:55 !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"wd{psisn!}f[ 12:48:55 {"foo" "123" "bar" "456" "baz" ".+" "9.0" "[1,2]"} 12:49:06 ah 12:49:07 ok 12:50:38 there's btw w[ 12:50:49 !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"{raisn!}w[ 12:50:50 "123 456 9.0 [1,2]" 12:50:56 w[ is FilterWords 12:51:04 W[ is FilterLines 12:52:23 I got too chummy with "m[" when I started. Time to date other mappers. 12:52:34 or filters or loopie thingies 12:53:11 I like how people not familiar with Burlesque get confused by missmatching square brackets 12:53:15 :D 12:53:35 or missmatching parantheses 12:53:47 !blsq 5}htenuehasheubewuv.pg'crlygkbx 12:53:48 5 12:54:05 the parser stops if it encounters a } without having seen a { 12:54:27 !blsq "hello all"}"end" 12:54:28 "hello all" 12:54:51 !blsq "hello all"'}"end" 12:54:51 "end" 12:54:52 -!- SvenGek has joined. 12:55:08 '} is a char 12:55:08 :) 12:55:30 Tried to pull the wool over blsqbot eyes. 12:55:59 !blsq 1223 2231IN 12:56:00 1223 12:56:09 !blsq 1232 2231IN 12:56:09 1232 12:56:15 !blsq 12432 22431IN 12:56:16 12432 12:56:19 !blsq 12432 2231IN 12:56:20 1232 12:56:42 intersection of integers is fun 12:56:51 What lang is that? GolfScript? 12:57:10 !blsq {69 0 1 rn}e!10co-] 12:57:10 {1 1 1 1 1 1 0 0 1 0} 12:57:20 !blsq {13 0 1 rn}e!10co-] 12:57:21 {1 1 0 1 0 1 1 1 1 0} 12:58:21 what does intersection do? 12:58:42 shared digits? 12:59:15 !blsq 9988 77877IN 12:59:16 88 12:59:26 !blsq 79988 77877IN 12:59:27 788 13:00:21 hmm, that can probably help me get an answer I have on codegolf SE down 13:02:01 you golf in Burlesque on StackExchange? 13:02:27 Only just started! 13:02:40 And I have to actually thank you. 13:02:49 Link? 13:03:05 If it wasn't for burlesque, id still be stuck with godf*cking lua 13:03:13 http://codegolf.stackexchange.com/questions/38325/minimum-excluded-number 13:04:18 burleques, AND you helping me out with getting to grips with it. 13:04:42 smallest non occuring number? 13:04:48 yes 13:05:19 !blsq {1 0 7 6 3 11 15 9 2 4 5 6 7 8 9}20ro\\ 13:05:20 {0 6 7 9} 13:05:32 !blsq {1 0 7 6 3 11 15 9 2 4 5 6 7 8 9}20roj\\ 13:05:32 {10 12 13 14 16 17 18 19 20} 13:05:37 !blsq {1 0 7 6 3 11 15 9 2 4 5 6 7 8 9}20roj\\ ERROR: Burlesque: (-]) Invalid arguments! 13:05:41 !blsq {1 0 7 6 3 11 15 9 2 4 5 6 7 8 9}20roj\\<] 13:05:41 10 13:06:11 Go right ahead, I'm happy with my original answer. my 1st 13:06:39 I'll just hope to improve with each task. 13:06:50 I'm not sure about he rules on anagol 13:06:59 s/anagol/se 13:07:06 on anagol you have limited testcases 13:07:13 so if the largest number in a given testcase is 18 13:07:25 then don't bother about finding the maximum number in the list first 13:07:28 and just assume it's 20 13:07:29 Yeah, kinda a big loose thread. 13:07:50 If nobody checks an submitted answer, then it stays. 13:08:18 there's no autmatic verification of your program. 13:08:25 I think it's great that you link to the online shell 13:08:38 so people can verify it without having to install Burlesque or anything 13:08:48 -!- Patashu has quit (Ping timeout: 246 seconds). 13:08:54 :) 13:09:16 I should make the textfield a little bit larger though 13:09:41 I'll edit a link to the language spec in there. Try and recruit some ppl. 13:10:30 Yay \o/ 13:10:30 | 13:10:30 >\ 13:10:47 I should also make a link to the homepage from the online shell 13:10:50 To the tutorial? 13:11:03 no just to mroman.ch/burlesque I guess 13:11:13 there's a link to the tutorial there 13:15:35 Ok then. 13:15:52 More people are good :) 13:15:56 More people means more feedback 13:16:01 more feedback means more/better stuff 13:16:11 and more competition :) 13:16:39 more fun 13:25:53 -!- password2 has joined. 13:28:20 -!- GeekDude has joined. 13:32:03 -!- SvenGek has quit (Quit: Bubuy). 13:33:20 -!- vyv has quit (Ping timeout: 244 seconds). 13:35:22 -!- vyv has joined. 13:42:47 -!- drdanmaku has joined. 14:31:05 AndoDaan: Increment every number in a String will be hard in Burlesque 14:31:15 because it will require the kind of state Burlesque sucks at 14:31:32 ooh 14:31:35 I'm trying to crack that one right now. 14:31:52 but you've convinced me. 14:31:54 oh wait 14:31:57 It's impossible. 14:31:59 there's gruyBy 14:32:01 *groupBy 14:33:05 wtf 14:33:10 there isn't any groupBy? 14:33:19 =[ 14:33:32 yeah 14:33:35 but that's group 14:33:37 not groupBy 14:34:47 `perl -eprint"zqa83p774753jm54mi63lel3m883155bfr5b"=~s/\d+/$&+1/ger 14:34:47 zqa84p774754jm55mi64lel4m883156bfr6b 14:35:44 `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/){substr($_,$-[0],$+[0]-$-[0])++}print 14:35:50 `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){substr($_,$-[0],$+[0]-$-[0])++}print 14:36:14 No output. 14:36:21 No output. 14:36:32 `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){}print 14:36:33 zqa83p774753jm54mi63lel3m883155bfr5b 14:36:50 `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){print"$-[0],$+[0],"}print 14:36:50 3,5,6,12,14,16,18,20,23,24,25,31,34,35,zqa83p774753jm54mi63lel3m883155bfr5b 14:37:10 `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){print"[".substr($_,$-[0],$+[0]-$-[0])."]"}print 14:37:11 ​[83][774753][54][63][3][883155][5]zqa83p774753jm54mi63lel3m883155bfr5b 14:37:29 `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){print"[".substr($_,$-[0],$+[0]-$-[0])++."]"}print 14:37:31 ​[83][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][ 14:37:41 oh damn, that breaks the pos 14:38:01 meh, just keep the s///ger method then 14:38:54 AndoDaan: It's mostly impossible 14:39:03 it can be done with using the secondary state stack and stuff 14:39:21 but it will probably be hundreds of characters long just to maintain state 14:39:47 -!- shikhin has joined. 14:39:54 a task for another day. 14:41:40 -!- mitch|chromebook has joined. 14:41:49 You know what would really be helpful, for me at least. a way to watch the internal to and fro of the stacks when the program is running. 14:41:59 like trace... I think. 14:42:31 that's what it's called when debugging befunge. 14:43:27 I see there's no splitBy too 14:43:29 damn 14:43:42 I knew there were important things still missing in 1.7.3 14:44:05 splitby is not ;; ? 14:44:30 "a_feio_ff""_":: 14:44:37 !bslq "a_feio_ff""_":: 14:44:40 no 14:44:46 i mean like 14:44:47 uhm 14:44:51 !bslq "a_feio_ff""_";; 14:44:54 @type splitBy 14:44:55 Not in scope: ‘splitBy’ 14:44:55 Perhaps you meant one of these: 14:44:55 ‘splitAt’ (imported from Data.List), 14:44:58 hm 14:45:03 i.e. 14:45:18 !blsq {1 2 3 4 5 6 7}{2dv} 14:45:19 ERROR: (line 1, column 30): 14:45:23 !bslq "a feio ff"" ";; 14:45:25 which would split the list at even numbers 14:45:31 i.e. instead of an element to split at 14:45:35 you provide a predicate 14:45:50 !bslq "a feio ff"'f;; 14:46:10 !blsq "a feio ff""f";; 14:46:10 {"a " "eio " "" ""} 14:46:21 !bslq "a feio ff""f";; 14:46:41 oops 14:46:47 !blsq "a feio ff""f";; 14:46:47 {"a " "eio " "" ""} 14:47:16 !blsq "a88feio123 ff""([0-9])";; 14:47:17 {"a88feio123 ff"} 14:47:25 !blsq "a88feio123 ff""([0-9]*)";; 14:47:25 {"a88feio123 ff"} 14:47:34 !blsq "a88feio123 ff""([1-9]*)";; 14:47:35 {"a88feio123 ff"} 14:47:45 ;; doesn't work with regex 14:47:48 you need to use sr 14:47:49 !blsq "a88feio123 ff""([]*)"sr 14:47:50 {"([]*)"} 14:47:55 !blsq "a88feio123 ff""([0-8]*)"sr 14:47:55 {"([0-8]*)"} 14:47:58 but sr has a different argument order ;) 14:48:01 !blsq "a88feio123 ff""([0-9])"sr 14:48:01 {"([0-9])"} 14:48:16 !blsq "a88feio123 ff""([0-9])"\/sr 14:48:17 {"a" "" "feio" "" "" " ff"} 14:48:36 well 14:48:47 if there are no '~ in the input string then 14:48:49 instead of split, we use replace 14:49:08 then change the numbers and merge 14:49:09 !blsq "[0-9]""a88b77c"sr 14:49:09 {"a" "" "b" "" "c"} 14:49:16 !blsq "[0-9]""a88b77c"Jx/sr 14:49:17 {"[0-9]"} 14:49:18 !blsq "[0-9]""a88b77c"Jx/sr#s 14:49:19 {{"[0-9]"} "a88b77c"} 14:49:24 !blsq "[0-9]""a88b77c"J#S 14:49:24 "a88b77c" 14:49:26 !blsq "[0-9]""a88b77c"J#s 14:49:27 {"a88b77c" "a88b77c" "[0-9]"} 14:49:32 !blsq "[0-9]""a88b77c"J#s#r 14:49:33 "a88b77c" 14:49:35 !blsq "[0-9]""a88b77c"J#r#s 14:49:36 {"a88b77c" "[0-9]" "a88b77c"} 14:49:41 !blsq "[0-9]""a88b77c"J#rsr 14:49:42 {"a" "" "b" "" "c"} 14:49:45 !blsq "[0-9]""a88b77c"J#rsr#s 14:49:46 {{"a" "" "b" "" "c"} "a88b77c"} 14:50:00 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 14:50:08 um, try input with 9 and 99 on it to see how it handles when the string gets longer by the way 14:50:31 hehe 14:50:35 this might work 14:50:40 !blsq "[0-9]""a88b77c"J#rsr#s 14:50:40 {{"a" "" "b" "" "c"} "a88b77c"} 14:50:46 !blsq "[0-9]""a88b77c"J#rsrj#s 14:50:46 {"a88b77c" {"a" "" "b" "" "c"}} 14:50:55 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#s 14:50:56 {{"" "88" "77" ""} {"a" "" "b" "" "c"}} 14:51:16 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#{L[}f[j{L[}f[#s 14:51:17 ERROR: Burlesque: (L[) Invalid arguments! 14:51:27 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#{L[}f[#s 14:51:27 ERROR: Burlesque: (L[) Invalid arguments! 14:51:32 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr# 14:51:32 ERROR: (line 1, column 34): 14:51:36 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#s 14:51:37 {{"" "88" "77" ""} {"a" "" "b" "" "c"}} 14:51:43 what 14:51:47 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr 14:51:47 {"" "88" "77" ""} 14:51:52 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{}f[ 14:51:52 {"" "88" "77" ""} 14:51:55 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{z?}f[ 14:51:56 {"" ""} 14:51:59 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[ 14:51:59 {"88" "77"} 14:52:05 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[j{nz}f[#s 14:52:06 {{"a" "b" "c"} {"88" "77"}} 14:52:14 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[ 14:52:14 {"88" "77"} 14:52:18 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?i 14:52:19 {89 78} 14:52:23 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im] 14:52:24 {"89" "78"} 14:52:29 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[ 14:52:29 {"a" "b" "c"} 14:52:32 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[#s 14:52:32 {{"a" "b" "c"} {"89" "78"}} 14:52:36 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[** 14:52:36 {"89" "a" "78" "b" "c"} 14:52:39 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j** 14:52:40 {"a" "89" "b" "78" "c"} 14:52:43 !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**\[Q 14:52:43 a89b78c 14:52:48 yeah 14:52:57 !blsq "[0-9]""a88b99dcd1234cdc"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**\[Q 14:52:58 a89b100dcd1235cdc 14:53:08 well done! 14:53:21 !blsq "a88b99dcd1234cdc""[0-9]"jJ#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**\[Q 14:53:21 a89b100dcd1235cdc 14:53:29 yeah. but this isn't nice burlesque code :) 14:53:30 the impossible achieved iin under 15 min. 14:53:48 code that works is the nicest code 14:53:53 !blsq "1a88b99dcd1234cdc1""[0-9]"jJ#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**\[Q 14:53:53 a2b89dcd100cdc12352 14:54:04 ^- and it's buggy in these edge cases 14:54:15 which you can circumvent 14:54:22 by adding a dummy character to the input first and remove it latter 14:55:00 I guess I add a mapRegex command :) 14:55:12 something like that 14:55:21 but groupBy/splitBy definitely make it to 1.7.4 14:55:24 That might be a useful command "any a any b concate aba" 14:56:19 or maybe middle. 14:56:23 !blsq "abc""123"** 14:56:23 "a1b2c3" 14:56:38 I split the list into non-digits and digits 14:56:41 or somthing like that. 14:56:44 increment the ints in the digits list 14:56:48 and then merge them together with ** 14:57:12 lol, see I shouldn't make suggestions until I hacve a couple more days under my belt. 14:57:20 example input: qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN 14:57:38 but at that point you're shorter using C than using Burlesque 14:57:40 `perl -eprint"qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN"=~s/\d+/$&+1/gre 14:57:41 qr50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4anPAN 14:57:42 and it's probably easier in C as well 14:57:44 ;) 14:58:46 !blsq "a77bc"{2.+}c! 14:58:46 "a7" 14:58:49 !blsq "a77bc"{2.+}c!#s 14:58:49 {"a7" "a77bc"} 14:58:54 !blsq "a77bc"{2.+}3C!#s 14:58:55 {"a7" "a7" "a7" "a77bc"} 14:59:04 !blsq "a77bc"{2.+j}3C!#s 14:59:05 {ERROR: Burlesque: (\/) Stack size error! 2 ERROR: Burlesque: (\/) Stack size er 14:59:11 !blsq "a77bc"{2.+Jj}3C!#s 14:59:11 {"a7" "a7" "a7" "a77bc"} 14:59:13 hm 14:59:23 no. there's no good way to do this sort of stuff 14:59:28 maybe clock/hendrik/teebee knows one 14:59:31 but I doubt it 15:00:17 !blsq "qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN""([0-9]+|[^0-9]+)"=~ 15:00:17 {"qr"} 15:00:38 sadly this stops after the first match 15:02:06 !blsq "a888b898""([0-9]+|[^0-9]+)([0-9]+|[^0-9]+)"=~ 15:02:07 {"a" "888"} 15:02:15 you'd have to do it this way 15:02:22 i.e. 15:02:31 !blsq "a888b898""([0-9]+|[^0-9]+)"10.* 15:02:31 {"([0-9]+|[^0-9]+)" "([0-9]+|[^0-9]+)" "([0-9]+|[^0-9]+)" "([0-9]+|[^0-9]+)" "([ 15:02:36 !blsq "a888b898""([0-9]+|[^0-9]+)"10.*\[=~ 15:02:36 {} 15:02:39 !blsq "a888b898""([0-9]+|[^0-9]+)"10.*\[~= 15:02:39 0 15:02:42 !blsq "a888b898""([0-9]+|[^0-9]+)"10.*\[ 15:02:43 "([0-9]+|[^0-9]+)([0-9]+|[^0-9]+)([0-9]+|[^0-9]+)([0-9]+|[^0-9]+)([0-9]+|[^0-9]+ 15:02:51 but not too many :) 15:03:53 but this is already on the todo list for 1.7.4 15:06:28 "More RegExp-Power for 1.7.4" 15:06:44 -!- TieSoul has left. 15:08:21 ah, that might work 15:08:32 dunno 15:08:40 b_jonas: what might work? 15:08:52 repeating the regex 15:08:59 You'd have to calculate how many teams to repeat it 15:09:13 let me try to make a solution in J 15:09:18 using the cut builtin 15:09:22 !blsq "a888b898""([0-9]+|[^0-9]+)"~= 15:09:22 1 15:09:25 !blsq "a888b898""([0-9]+|[^0-9]+)"=~ 15:09:26 {"a"} 15:09:30 !blsq "a888b898""([0-9]+|[^0-9]+)*"=~ 15:09:31 {"898"} 15:09:40 !blsq "a888b898""(([0-9]+|[^0-9]+))*"=~ 15:09:40 {"898" "898"} 15:09:46 hm 15:09:48 -!- zzo38 has quit (Remote host closed the connection). 15:09:58 !blsq "a888b898""((([0-9]+)|([^0-9])+))*"=~ 15:09:58 {"898" "898" "898" "b"} 15:10:32 !blsq "a888b898""(([0-9])|([a-z]))"=~ 15:10:32 {"a" "" "a"} 15:10:46 !blsq "a888b898""(([0-9]|[a-z]))"=~ 15:10:46 {"a" "a"} 15:11:01 !blsq "a888b898""(([0-9]+|[a-z]+))"=~ 15:11:02 {"a" "a"} 15:11:04 wth 15:11:07 why are there two as? 15:11:17 !blsq "a888b898""([0-9]+|[a-z]+)"=~ 15:11:18 {"a"} 15:11:26 !blsq "a888b898""([0-9]+|[a-z]+)*"=~ 15:11:27 {"898"} 15:11:32 !blsq "a888b898""([0-9]+|[a-z]+)+"=~ 15:11:33 {"898"} 15:11:39 !blsq "a888b898""([0-9]+|[a-z]+)?*"=~ 15:11:39 {"898"} 15:11:51 !blsq "a888b898""([0-9]+|[a-z]+){2}"=~ 15:11:52 {"888"} 15:11:55 !blsq "a888b898""([0-9]+|[a-z]+){1}"=~ 15:11:55 {"a"} 15:11:57 !blsq "a888b898""([0-9]+|[a-z]+){2}"=~ 15:11:58 {"888"} 15:12:00 !blsq "a888b898""([0-9]+|[a-z]+){3}"=~ 15:12:00 {"b"} 15:12:02 !blsq "a888b898""([0-9]+|[a-z]+){4}"=~ 15:12:03 {"898"} 15:12:13 hm 15:12:16 !blsq "a888b898""([0-9]+|[a-z]+){5}"=~ 15:12:16 {"8"} 15:12:24 !blsq "a888b898""([0-9]+|[a-z]+){1,4}"=~ 15:12:25 {"898"} 15:12:34 !blsq "a888b898""([0-9]+|[a-z]+)"=~ 15:12:34 {"a"} 15:12:39 !blsq "a888b898""([0-9]+|[a-z]+)"2.*\[=~ 15:12:40 {"a" "888"} 15:12:43 !blsq "a888b898""([0-9]+|[a-z]+)"3.*\[=~ 15:12:43 {"a" "888" "b"} 15:12:46 !blsq "a888b898""([0-9]+|[a-z]+)"4.*\[=~ 15:12:46 {"a" "888" "b" "898"} 15:12:49 !blsq "a888b898""([0-9]+|[a-z]+)"5.*\[=~ 15:12:49 {"a" "888" "b" "89" "8"} 15:12:52 !blsq "a888b898""([0-9]+|[a-z]+)"6.*\[=~ 15:12:53 {"a" "888" "b" "8" "9" "8"} 15:12:55 !blsq "a888b898""([0-9]+|[a-z]+)"5.*\[=~ 15:12:55 {"a" "888" "b" "89" "8"} 15:12:59 !blsq "a888b898""([0-9]+|[a-z]+)"4.*\[=~ 15:13:00 {"a" "888" "b" "898"} 15:14:06 !blsq {1 2 3}{Pp"a888b898""([0-9]+|[a-z]+)"pP.*\[=~}m[ 15:14:06 {{"a"} {"a" "888"} {"a" "888" "b"}} 15:14:13 !blsq {1 2 3 4 5}{Pp"a888b898""([0-9]+|[a-z]+)"pP.*\[=~}m[ 15:14:13 {{"a"} {"a" "888"} {"a" "888" "b"} {"a" "888" "b" "898"} {"a" "888" "b" "89" "8" 15:14:32 !blsq {1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[==}m[ 15:14:32 {0 0 0 1 1} 15:14:52 I guess you can do some hacky stuff 15:15:09 like just trying until you have the exact amount of repetitions you need 15:15:28 !blsq {1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[}m[ 15:15:29 {"a" "a888b898" "a888" "a888b898" "a888b" "a888b898" "a888b898" "a888b898" "a888 15:15:45 !blsq "a888b898"{1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[}m[Fi 15:15:45 ERROR: Burlesque: (fi) Invalid arguments! 15:15:54 !blsq "a888b898"{1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[}m[fI 15:15:55 {} 15:16:11 !blsq "a888b898"{1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[}m[jFi 15:16:12 1 15:16:28 whatever. 15:16:29 screw it :) 15:16:38 it's not nicely doable in Burlesque 15:16:40 Valiant effort. 15:17:24 as soon as you have to keep track of state like that Burlesque is the wrong tool for it :) 15:18:41 -!- S1 has joined. 15:18:44 there's no loop in Burlesque 15:18:49 other than the sucky w! 15:19:31 AndoDaan: You can use my solution with ** 15:19:43 [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' 'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN' 15:19:46 this seems to work 15:19:46 you just have to tweak it for the edge case where the string doesn't start with a non-digit 15:20:01 (in J, message it to j-bot to try) 15:20:52 I rather not. Your code should be seen, but I like to keep my submission strickly self created. 15:21:17 but yeah, that's quite ugly 15:21:23 but as soon as you have a real RegExp "findAllMatches" command or groupBy it will be much nicer :) 15:21:41 (i.e. one that doesn't stop after the first match) 15:22:36 b_jonas: it is an ugly "problem" 15:22:38 It's a nice problem 15:22:45 this probably could be improved, I should use the fact that every other group is number 15:22:58 so that I don't need that ugly test 15:23:00 let me try 15:23:16 it's essentially groupBy (\x y -> asciiGroup x == asciiGroup y) 15:23:23 where asciiGroup is Digit,Alpha 15:23:47 > groupBy 15:23:49 No instance for (Data.Typeable.Internal.Typeable a0) 15:23:49 arising from a use of ‘M734772146368920775316617.show_M7347721463689207753... 15:23:49 The type variable ‘a0’ is ambiguous 15:23:49 Note: there are several potential instances: 15:23:49 instance Data.Typeable.Internal.Typeable Data.Dynamic.Dynamic 15:24:09 > groupBy (\x y -> if isDigit x && isDigit y then EQ else LT) "abc87a" 15:24:10 Couldn't match expected type ‘GHC.Types.Bool’ 15:24:10 with actual type ‘GHC.Types.Ordering’Couldn't match expected typ... 15:24:10 with actual type ‘GHC.Types.Ordering’ 15:24:23 > groupBy (\x y -> if (isDigit x) && (isDigit y) then EQ else LT) "abc87a" 15:24:24 Couldn't match expected type ‘GHC.Types.Bool’ 15:24:25 with actual type ‘GHC.Types.Ordering’Couldn't match expected typ... 15:24:25 with actual type ‘GHC.Types.Ordering’ 15:24:26 hm 15:24:45 > groupBy (\x y -> if (isDigit x) && (isDigit y) then True else False) "abc87a" 15:24:46 ["a","b","c","87","a"] 15:24:48 ah 15:24:48 ok 15:25:04 > groupBy (\x y -> if (isDigit x) && (isDigit y) then True else False) "3123abc873a32qr2899" 15:25:06 ["3123","a","b","c","873","a","32","q","r","2899"] 15:25:53 @pl \x y z -> f x `z` f y 15:25:53 (. f) . flip . flip id . f 15:26:13 @pl \x y -> f x && f y 15:26:14 (. f) . (&&) . f 15:26:19 I'd rather not use that :D 15:27:26 @type on 15:27:26 (b -> b -> c) -> (a -> b) -> a -> a -> c 15:28:42 [ 3 :';_2(,>:&.".)&.:>/\y<;.1~1,2~:/\(48+i.10)e.~3 u:y' 'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN' NB. this works only if the string starts with a non-digit 15:28:51 yeah 15:28:55 that's the easy case! 15:29:01 ;D 15:29:27 the other case is easy, but you have to do them together with the same code 15:32:11 -!- j-bot has joined. 15:32:19 ah great 15:32:23 it lets anyone invite the bot 15:32:29 [ 3 :';_2(,>:&.".)&.:>/\y<;.1~1,2~:/\(48+i.10)e.~3 u:y' 'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN' 15:32:42 j-bot: 3 :';_2(,>:&.".)&.:>/\y<;.1~1,2~:/\(48+i.10)e.~3 u:y' 'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN' 15:32:42 b_jonas: qr50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4anPAN 15:33:12 [ 3 :';_2(,>:&.".)&.:>/\y<;.1~1,2~:/\(48+i.10)e.~3 u:y' '49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN' NB. fails if starts with digit 15:33:12 b_jonas: 4990991685296460073 15:33:50 -!- `^_^v has joined. 15:34:41 -!- prooftechnique has quit (Ping timeout: 260 seconds). 15:35:02 [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' 15:35:03 b_jonas: 3 : ';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' 15:35:20 [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' testcase=:'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN' 15:35:20 b_jonas: qr50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4anPAN 15:35:31 [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' 2}.testcase 15:35:32 b_jonas: 50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4anPAN 15:35:39 [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' _5}.testcase 15:35:39 b_jonas: qr50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4 15:36:08 that's a bit ugly. (it's not quite golfed, I could probably cut a few characters) 15:36:44 -!- prooftechnique has joined. 15:37:55 (it gets much worse if you want to handle negative numbers though) 15:40:38 what does it do 15:51:25 quintopia: increment each number in the string 15:52:40 -!- password2 has quit (Remote host closed the connection). 15:55:39 ah so it does 15:58:50 -!- shikhout has joined. 16:01:48 -!- shikhin has quit (Ping timeout: 250 seconds). 16:23:17 -!- DKordic`` has left ("ERC Version 5.3 (IRC client for Emacs)"). 17:04:38 -!- prooftechnique has quit (Read error: Connection reset by peer). 17:09:53 In what cases are limits of computable functions computable? 17:33:53 -!- conehead has joined. 17:38:17 -!- AndoDaan_ has joined. 17:40:37 -!- AndoDaan has quit (Ping timeout: 260 seconds). 17:41:58 -!- AndoDaan_ has quit (Client Quit). 17:42:18 -!- AndoDaan has joined. 17:48:53 -!- Sprocklem has joined. 18:05:03 -!- Phantom_Hoover has joined. 18:13:56 -!- ais523 has joined. 18:16:38 -!- S1 has quit (Quit: S1). 18:17:40 -!- AndoDaan_ has joined. 18:18:01 -!- AndoDaan has quit (Ping timeout: 260 seconds). 18:18:12 \n1 18:18:17 \n1 18:18:23 -!- AndoDaan_ has changed nick to AndoDaan. 18:18:27 dammit 18:19:48 -!- Sprocklem has quit (Ping timeout: 260 seconds). 18:21:34 -!- Sprocklem has joined. 18:21:38 -!- AndoDaan_ has joined. 18:22:58 -!- AndoDaan has quit (Ping timeout: 258 seconds). 18:25:07 -!- spiette has joined. 18:25:09 -!- AndoDaan_ has changed nick to AndoDaan. 18:28:36 -!- Sprocklem has quit (Ping timeout: 272 seconds). 18:30:01 mroman_: By the way, if I have a list like {1 2 3 4}, how do I turn that into an output of each of the numbers on its own line? {1 2 3 4}uN gives an empty line, a "12", a "3" and a "4" for some reason I'm not sure of. 18:32:28 Maybe it's because they are numbers and not strings, since {"1" "2" "3" "4"}uN works just fine, but OTOH I don't know how to go from number to string anyway. 18:34:41 Okay, {1 2 3 4})ShuN works, but I don't know if that's the intended way at all. 18:37:28 in J? 18:37:33 Burlesque. 18:41:46 is HELP TC? 18:41:50 by itself? 18:41:57 it has the flavor of TC things 18:42:23 Also I don't know at all how anagolf's Burlesque output goes, I guess it prints the stack or something? But if I type in just the code "1 2 3 4", the output is five lines containing (literally) 4 3 2 1 "" and I don't know how to get rid of the "". Maybe I should go look at an example program. 18:42:26 which is to say, it looks similar to /// 18:45:02 -!- Bicyclidine has joined. 18:48:22 fizzie: I think the "" is the input read from the stdin 18:49:16 b_jonas: Oh, so should I just add a... how do you even drop? (I'm a beginner in this thing.) 18:53:04 Oh, vv. Hmm. 18:56:55 Well, it worked, but the end result was probably horribly suboptimal. 18:59:52 -!- Sprocklem has joined. 19:07:25 -!- Sprocklem has quit (Ping timeout: 260 seconds). 19:10:20 -!- mauris has joined. 19:11:08 -!- Bicyclidine has quit (Ping timeout: 260 seconds). 19:11:18 fizzie: i didn't know you were on anagol!! 19:12:48 fizzie is on anagol? 19:13:13 mroman_: i saw him golfing Burlesque in #anagol just now even 19:13:15 fizzie: The stack is printed at the end 19:13:22 top to bottom 19:13:31 meaning 1 2 3 4 will produce 4\n3\n2\n1\n 19:14:05 fizzie: but on anagol the interpreter pushes stdin to the stack 19:14:09 which means you have to pop it 19:14:14 which is usually done with , 19:14:22 !blsq "",1 19:14:23 1 19:14:41 -!- MoALTz has joined. 19:14:42 , is a special built-in defined as pop if and only if the stack contains exactly one element 19:16:15 Okay, good to know. 19:16:17 fizzie: {1 2 3 4}p^ or {1 2 3 4}^p 19:16:29 p^ and ^p push every element in a Block to the stack 19:16:48 {1 2 3 4}p^ produces 1\n2\n\3\n4 19:17:03 wherease {1 2 3 4}^p is the same exact with the order reversed 19:17:08 *whereas 19:17:25 A006520 is mine, by the way. i was thinking about it on a recent bus ride home. i thought it was weird there wasn't a closed form for it 19:17:37 fizzie: sh is btw. not "print" 19:17:38 well, the golf problem is, not the oeis sequence 19:17:43 people usually confuse that with a print command 19:18:17 what sh does is: It tells the printer (who prints the stack at the end) that it shall be printed differently 19:18:31 And I don't normally golf, I just decided to fiddle a bit. 19:18:37 !blsq "abc"to 19:18:38 "Str" 19:18:42 ^- a String 19:18:44 !blsq "abc"shto 19:18:45 "Pretty" 19:18:54 ^- A String wrapped into a Pretty 19:19:21 !blsq {1 2 3} 19:19:21 {1 2 3} 19:19:27 !blsq {1 2 3}sh 19:19:27 [1, 2, 3] 19:19:37 the default pretty format for blocks is [1, 2, 3] 19:20:58 is there no negation, mroman_ 19:21:16 like, (*-1) i mean 19:21:17 I went with 0j.- 19:22:06 mauris: I don't think so 19:22:25 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 19:22:33 Not related, but looking at the language reference, what's the point of DupSwap? ^^ \/ sounds exactly like ^^ since \/ would have two identical elements, would it not? 19:23:17 :D yes 19:23:25 I copy pasted that 19:23:37 not knowing it's just ^^ :) 19:24:12 SwapDup, SwapPop why not DupSwap? 19:24:15 Ok *added DupSwap* 19:24:45 fizzie: But to answer your questions: There's no point using DupSwap 19:24:50 -!- Phantom_Hoover has joined. 19:25:38 mauris: I thought you meant "flip bits" @negate 19:25:46 but it doesn't have "flip bits" nor "*-1" 19:26:05 flipping bits with unbounded integers is kinda... 19:26:07 What's this "hide" business? 19:26:51 fizzie: That's to keep track of state 19:26:57 -!- AndoDaan has quit (Ping timeout: 248 seconds). 19:26:58 It's not a nice solution 19:27:11 It just allows you to hide stuff on the stack and access it later 19:27:26 in case x/ #r #R \/ aren't enough 19:27:39 !blsq 5hdto 19:27:40 "HiddenState" 19:27:42 -!- callforjudgement has joined. 19:27:46 sent 19:27:47 -!- callforjudgement has changed nick to asi523. 19:27:51 ^- That's an Integer wrapped into a "HiddenState" 19:27:54 -!- ais523 has quit (Disconnected by services). 19:27:56 -!- asi523 has changed nick to ais523. 19:28:01 the printer at the end just doesn't print stuff that's Hidden 19:28:04 !blsq 5hdbx 19:28:05 {} 19:28:09 ^- is that an empty list? 19:28:13 (It's not.) 19:28:17 !blsq 5hdbxL[ 19:28:17 1 19:28:24 !blsq 5hdbx 19:28:25 {} 19:28:30 ^- contains an invisible integer 19:28:43 and by invisible I mean it won't be displayed when printing ;) 19:29:12 fizzie: I've tried implementing state in Burlesque for a long time 19:29:21 but I didn't have the guts to rewrite thousands lines of code 19:29:24 so I tried hacking it in 19:29:37 which resulted in this ugly hidden state mess 19:29:43 now there's even a secondary stack 19:30:01 which is also not so much of a pleasant solution 19:30:28 1.7.4 is finally going to have variables for real 19:31:09 !blsq 5hd 4 7 8`a 19:31:09 7 19:31:28 !blsq 5hd 4 7 8 #a 19:31:29 5 19:31:43 you can access stuff hidden with #a for example 19:32:12 However, since map/filter runs on an empty stack 19:32:19 you can't access hidden stuff inside a map or filter 19:32:23 which made it pretty much useless 19:32:58 !blsq 5hd{1 2}{#a}m[ 19:32:59 {ERROR: Can't load non hidden state! Sorry. 1 ERROR: Can't load non hidden state 19:33:02 -!- GeekDude has joined. 19:33:13 !blsq 5Pp{1 2}{pP}m[ 19:33:14 {5 1 5 2} 19:33:21 -!- mihow has joined. 19:33:25 however, you can access the secondary stack within map/filter 19:33:48 before that you had to inject state into code 19:33:49 liku 19:34:11 !blsq 5{1 2}j{}jbx_+m[ 19:34:11 {5 1 5 2} 19:34:21 injects the 5 into the block used by map afterwards 19:38:37 -!- AndoDaan has joined. 19:39:11 fizzie: If you find an error in the doc please report it to me 19:39:32 Some people don't report error and just track errors in the lref in their own local lref 19:39:37 *errors 19:39:50 I really would like the documentation to be as accurate and correct as possible 19:40:13 (i.e. they have their own local doc of Burlesque related things) 19:40:25 which is ok for tricks etc. but not for wrongly documented commands 19:42:15 i.e. if you find something like 19:42:18 !blsq {1 2 3}mo 19:42:19 {1 4 9} 19:42:23 you don't have to report that 19:42:32 because that's not wrong or undocumented 19:42:42 it's a trick 19:47:44 So #r/#R rotates the entire stack, not just the top three elements like the Forth rot/-rot? 19:47:56 the whole stack 19:48:02 !blsq 1 2 3 4#s 19:48:03 {4 3 2 1} 19:48:07 !blsq 1 2 3 4x/#s 19:48:07 {2 4 3 1} 19:48:12 !blsq 1 2 3 4x/x/#s 19:48:12 {3 2 4 1} 19:48:25 use x/ for top three stuff 19:48:33 Oh, I didn't notice x/. 19:48:41 (#s captures the stack in a list, because blqsbot only prints the first line) 19:49:45 -!- mihow has quit (Quit: mihow). 19:52:33 actually #s catpures the stack in a list and pushes the list to the stack 19:52:50 unlike CL which captures the stack in a list and replace the stack's contents with only that list 19:52:55 !blsq 1 2 3#s#s 19:52:55 {{3 2 1} 3 2 1} 19:52:59 !blsq 1 2 3CLCL 19:52:59 {{3 2 1}} 19:56:55 Is there something like Forth "over", for stack "... x y" to "... x y x"? Other than "jJx/j"? 19:57:02 -!- AndoDaan has quit. 19:59:12 hm 19:59:47 !blsq 1 2 3 "x" "y"{j}c! 19:59:48 "x" 19:59:50 !blsq 1 2 3 "x" "y"{j}c!#s 19:59:50 {"x" "y" "x" 3 2 1} 20:00:04 fizzie: {j}c! should work 20:00:16 or shorter 20:00:24 !blsq 1 2 3 "x" "y"qjc!#s 20:00:25 {"x" "y" "x" 3 2 1} 20:00:27 qjc! 20:00:38 Okay, I don't know c! at all. (It's a big language.) 20:00:55 c! is what I call a continuation 20:01:06 it runs a command on the stack while preserving the stack 20:01:09 !blsq 1 2.+#s 20:01:09 {3} 20:01:13 ^- deletes 1 and 2 20:01:18 !blsq 1 2q.+c!#s 20:01:18 {3 2 1} 20:01:27 ^- preserves the stack before 20:02:39 So, um, how does that make j end up from x y to x y x? 20:03:24 A continuation is assumed to push one element to the stack 20:03:34 I.e. the return value of a continuation is the element on the top 20:03:40 I see. 20:03:43 x y -> swap y x 20:03:51 which means that the continuation returned x 20:03:59 then just push the result to the existing stack 20:04:16 fizzie: so... to go further 20:04:18 you can even do 20:04:26 !blsq 1 2 3 4 5{vvvv}c!#s 20:04:26 {3 5 4 3 2 1} 20:05:20 hm. Is this documented? 20:05:33 hm no. 20:05:49 TODO: Document Continuations in the lref. 20:07:22 !blsq 1 2 3 4 0mv 20:07:22 ERROR: Unknown command: (mv)! 20:07:25 !blsq 1 2 3 4 0MV 20:07:26 4 20:07:28 oh 20:07:30 ok 20:07:36 !blsq 1 2 3 "x" "y"1MV 20:07:36 "x" 20:07:39 !blsq 1 2 3 "x" "y"1MV#n 20:07:39 ERROR: Unknown command: (#n)! 20:07:42 !blsq 1 2 3 "x" "y"1MV#s 20:07:42 {"x" "y" 3 2 1} 20:07:58 oh 20:07:59 "move" 20:08:03 doesn't copy :D 20:09:28 hm 20:09:37 TODO: Add Copy (like MV) for 1.7.4 20:10:27 !blsq 1 2 3 4 2MV#s 20:10:27 {2 4 3 1} 20:15:28 Well, understanding continuations did cut one character off, so I guess that's a success. 20:16:12 (Also execution time from ~1.7s to 0.03s.) 20:22:32 -!- olsner has joined. 20:27:01 -!- incomprehensibly has joined. 20:32:20 http://www.nyx.net/~gthompso/self_brainf.txt 20:32:30 BF programs that print themselves 20:35:01 not much different from quines in any other language 20:35:18 all three obviously use the same principle 20:46:59 bf is a somewhat inefficient language to write quines in, but yes, there's no theoretical problem 20:47:23 well, brainfuck is an inefficient language to do anything really 20:48:01 even to interpret brainfuck 20:49:57 `perl -e print+("print+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g] 20:49:57 print+("print+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g] 20:51:44 b_jonas: that seems pretty long, as Perl quines go 20:51:49 although, most Perl quines aren't one-liners 20:52:20 my favourite perl quine is "#!/bin/cat" followed by absolutely anything at all, but it doesn't work with -e 20:52:21 sure, I have shorter ones 20:52:25 that's just my favourite one 20:52:43 http://www.perlmonks.com/?node_id=661934 lists shorter ones 20:53:17 `perl -e $a=q(;print"\$a=q($a)$a");print"\$a=q($a)$a" 20:53:18 ​$a=q(;print"\$a=q($a)$a");print"\$a=q($a)$a" 20:53:22 `perle $a=q(;print"\$a=q($a)$a");print"\$a=q($a)$a" 20:53:22 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: perle: not found 20:54:03 that's the shortest one-liner perl quine I know 20:54:50 it's 44 characters long, and the shortest non-empty perl quine I know is 28 characters I think 20:54:58 BLC's quine is 16.5 bytes 20:55:11 what... how do you get half a byte? 20:55:23 and what's BLC's quine? 20:55:27 IO is in bits 20:56:02 see http://en.wikipedia.org/wiki/Binary_lambda_calculus#A_quine 20:56:05 (maybe I should add non-cheating to the conditions) 20:56:19 I see 20:56:51 ^ul (:aS(:^)S):^ 20:56:51 (:aS(:^)S):^ 20:56:55 http://www.jsoftware.com/jwiki/Puzzles/Quine lists some J quines 20:57:07 I like that one more than the canonical (:aSS):aSS. 20:58:41 ^ul (:a(:^)*S):^ 20:58:42 (:a(:^)*S):^ 20:58:46 that one's my favourite 20:59:25 ok, now as for www.perlmonks.com/?node_id=1077628 , although it's not required for this quine to work, can you explain why perl stops parsing when it reads CORE::z instead of trying to continue parsing like for most syntax errors? 21:01:27 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 21:02:12 -!- Patashu has joined. 21:03:01 Illegal division by zero at /tmp/abc line 1. 21:03:07 `perl -e $_=q(print qq(\$_=q($_);eval\n));eval 21:03:08 ​$_=q(print qq(\$_=q($_);eval\n));eval 21:03:25 `perl -E say length q<$_=q(print qq(\$_=q($_);eval\n));eval> 21:03:25 37 21:03:32 that's shorter, nice 21:08:25 no really, why does it quit immediately? 21:09:21 `sh echo 1;(cat "-+";sleep 999)|perl 21:09:22 sh: 0: Can't open echo 1;(cat "-+";sleep 999)|perl 21:09:27 `sh -c echo 1;(cat "-+";sleep 999)|perl 21:09:27 sh: 0: Illegal option - 21:09:47 `bash -c echo 1;(cat "-+";sleep 999)|perl 21:09:48 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 \ 21:09:58 b_jonas: you need `run 21:10:03 if you want to give more than one command-line argument 21:10:40 why doesn't just one command line argument with the option value after -c in the same argument work? 21:10:44 `bash -cecho 1;(cat "-+";sleep 999)|perl 21:10:44 bash: - : invalid option \ allexport off \ braceexpand on \ emacs on \ errexit on \ errtrace off \ functrace off \ hashall on \ histexpand on \ history on \ ignoreeof off \ interactive-commentson \ keyword off \ monitor off \ noclobber off \ noexec o 21:10:49 `run echo 1;(cat "-+";sleep 999)|perl 21:10:57 `run echo 2;(cat "CORE::z";sleep 999)|perl 21:11:06 `run echo 3;(echo "CORE::z";sleep 999)|perl 21:11:13 `run echo 4;(echo "+-";sleep 999)|perl 21:11:19 1 \ cat: invalid option -- '+' \ Try `cat --help' for more information. 21:11:28 2 \ cat: CORE::z: No such file or directory 21:11:36 3 \ CORE::z is not a keyword at - line 1. 21:11:44 4 21:12:19 -!- callforjudgement has joined. 21:12:25 -!- callforjudgement has quit (Changing host). 21:12:25 -!- callforjudgement has joined. 21:14:27 -!- ais523 has quit (Ping timeout: 245 seconds). 21:14:51 -!- callforjudgement has changed nick to ais523. 21:25:17 -!- Patashu has quit (Ping timeout: 272 seconds). 21:45:47 !blsq {1 2 3 4}{}MP s# 21:45:48 ERROR: Unknown command: (s#)! 21:45:52 !blsq {1 2 3 4}{}MP #s 21:45:52 {4 3 2 1} 21:45:57 !blsq {1 2 3 4}{}m[p^ #s 21:45:57 {1 2 3 4} 21:46:00 !blsq {1 2 3 4}{}m[^p #s 21:46:01 {4 3 2 1} 21:46:34 mroman_: Documentation mismatch: language reference says "MapPush -- MP -- Defined as m[p^" but it seems to be m[^p instead. 21:49:02 (I'd have made a one character shorter thing if it were m[p^.) 21:49:38 -!- oerjan has joined. 21:50:56 @messages-bold 21:50:56 mroman_ said 14h 22m 53s ago: I knew that. But it works for lists [1..] which is usually what you have when golfing 21:55:18 (Actually, I did go from 28 to 25 by reading the language reference a bit. But it'd still be 23 with an abbreviated m[p^.) 21:59:46 -!- shikhin has joined. 22:03:17 -!- shikhout has quit (Ping timeout: 272 seconds). 22:07:28 -!- not^v has joined. 22:20:04 -!- not^v has quit (Read error: Connection reset by peer). 22:20:47 -!- not^v has joined. 22:26:24 -!- GeekDude has joined. 22:35:23 -!- not^v has quit (Ping timeout: 240 seconds). 22:35:51 -!- not^v has joined. 22:39:58 -!- not^v has quit (Ping timeout: 244 seconds). 22:41:43 -!- mauris has quit (Ping timeout: 258 seconds). 22:44:06 @tell mroman_ I'm just reading your haskell golfing tips and i'd just like to point out that c/=5||odd x can be shortened to 1>0 hth 22:44:07 Consider it noted. 22:44:34 * oerjan whistles innocently 22:57:44 -!- AndoDaan has joined. 23:00:41 -!- esowiki has joined. 23:00:45 -!- esowiki has joined. 23:00:46 -!- esowiki has joined. 23:01:02 -!- esowiki has joined. 23:01:06 -!- esowiki has joined. 23:01:07 -!- esowiki has joined. 23:01:45 -!- esowiki has joined. 23:01:49 -!- esowiki has joined. 23:01:50 -!- esowiki has joined. 23:02:06 -!- esowiki has joined. 23:02:10 -!- esowiki has joined. 23:02:11 -!- esowiki has joined. 23:02:27 -!- esowiki has joined. 23:02:31 -!- esowiki has joined. 23:02:32 -!- esowiki has joined. 23:03:13 -!- esowiki has joined. 23:03:14 -!- glogbot has joined. 23:03:17 -!- esowiki has joined. 23:03:18 -!- esowiki has joined. 23:07:14 1>0 is such a good jam 23:07:18 @where pi_10 23:07:18 (!!3)<$>transpose[show$foldr(\k a->2*10^2^n+a*k`div`(2*k+1))0[1..2^n]|n<-[0..]] 23:07:21 @where e_10 23:07:21 [show(sum$scanl div(100^n)[1..[4..]!!n])!!n|n<-[0..]] 23:07:36 hm 23:07:42 not sure where we used it 23:09:53 -!- S1 has joined. 23:10:04 -!- spiette has quit (Ping timeout: 260 seconds). 23:10:57 -!- AndoDaan has quit (Ping timeout: 248 seconds). 23:11:30 S1.S1test2: points -10.40, score 13.00, rank 46/47 23:11:39 S1.S1test2: points -10.40, score 13.00, rank 46/47 (--) 23:11:56 why does it print that here too 23:12:15 S1.S1test2: points -9.50, score 13.48, rank 45/47 (+1) 23:13:00 S1.S1test2: points -28.76, score 4.17, rank 47/47 (-2) 23:13:24 -!- AndoDaan has joined. 23:14:09 shachaf: 1>0 was from _another_ one of his golfing tips 23:14:28 yes, i remember using it but i don't remember where 23:14:34 S1.S1test2: points -32.33, score 3.13, rank 47/47 (--) 23:16:10 S1: we seem to have decided that all hill changes should be announced here, so people know about them 23:16:43 k if you want to track my failure ^^ have fun 23:17:02 well you got above 47, that's a start :) 23:17:11 it was luck 23:17:26 I am reading the strategies article from time to time, started today 23:19:22 S1: also you don't need to include your nick in the program name, it's prepended automatically 23:20:53 S1: there is also the !bftest command which you can use if you don't want announcement (but it won't change the hill either, so once you get a program good enough that you want it to stay you should use !bfjoust) 23:21:39 now food 23:22:17 oh I didn't know that 23:22:32 !bftest from now on it is 23:22:32 S1.from: points -28.76, score 4.17, rank 47/47 23:22:35 :3 23:23:28 -!- AndoDaan has quit (Ping timeout: 276 seconds). 23:32:17 -!- glogbot has quit (Ping timeout: 245 seconds). 23:32:23 -!- esowiki has joined. 23:32:25 -!- glogbot has joined. 23:32:27 -!- esowiki has joined. 23:32:28 -!- esowiki has joined. 23:35:01 [wiki] [[Special:Log/newusers]] create * Richardr051 * New user account 23:36:59 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:38:06 -!- AndoDaan has joined. 23:44:27 -!- vyv has quit (Ping timeout: 245 seconds). 23:46:35 -!- vyv has joined.