←2014-08 2014-09 2014-10→ ↑2014 ↑all
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 <oerjan> <Taneb> Is the antiderivative always the integral? <-- depends how you define each of them.
01:29:21 <oerjan> 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 <oerjan> but there's an integral definition that corresponds closer, known as Henstock integral
01:33:58 <oerjan> (another student studied those when i was at university)
01:35:17 <shachaf> just read http://cr.yp.to/papers/calculus.pdf hth
01:38:15 <oerjan> shachaf: you need restrictions on the function for it to be true that antiderivative = riemann integral
01:38:50 <shachaf> oerjan: yes
01:39:10 <shachaf> that's why that pdf uses the integral you mentioned instead, and talks about that in the last paragraph
01:39:17 <oerjan> what, it does?
01:40:00 <oerjan> 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 <Bike> 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 <shachaf> oerjan: i should learn some analysis hth
01:54:39 <oerjan> twh
01:55:53 <Sgeo_> JetBrains is stil running an ad for an expired contest. Isn't that kind of expensive/
01:57:27 <shachaf> i don't know who jetbrains is and why anyone cares that they're running an ad
01:57:49 <shachaf> or whether it's expensive
02:03:50 -!- boily has quit (Quit: ALFALFALFA CHICKEN).
02:03:53 <oerjan> ^elikoski
02:03:53 <fungot> 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 <elliott> um. hi
02:04:12 <oerjan> oh hi
02:04:21 <oerjan> ^show elikoski
02:04:21 <fungot> ((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 <oerjan> 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 <elliott> 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 <ChrisMM> heyo
02:39:12 <ChrisMM> heeyo
02:39:31 <ChrisMM> i assume fungbot is doing well
02:39:41 <ChrisMM> *fungot
02:39:41 <fungot> 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 <ChrisMM> ^style
02:39:50 <fungot> 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 <oerjan> well if not politely
02:41:34 <ChrisMM> yah
02:45:34 <ChrisMM> ^show
02:45:34 <fungot> 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 <ChrisMM> ^show srmlebac
02:45:46 <fungot> >2,[>,]<[<]>[.>2]<[>2]<2[.<2]
02:48:33 <ChrisMM> ^show celebrate
02:48:34 <fungot> (\o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/)S
02:48:34 <myndzi> | c.c.c | ¯|¯⌠ `\o/´ | c.c.c | `\o/´ ¯|¯⌠ | c.c.c |
02:48:34 <myndzi> /| c.c /| /| | | /| c.c |\ | |\|/'\ c.c >\
02:48:34 <myndzi> (_|¯'\ /`\
02:48:35 <myndzi> |_) (_| |_)
02:48:41 <ChrisMM> ....huh.
02:48:48 <ChrisMM> ^show ha
02:48:48 <fungot> ((ha)(ha))(~:^:(. )*S( )~**a~^!a*~:^):^
02:49:34 -!- zzo38 has joined.
02:55:57 <Melvar> ^style jargon
02:55:58 <fungot> 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 <ChrisMM> in Thue is the string replacement chosen entirely at random?
03:02:48 <Bike> nondeterministically, iirc
03:03:13 <oerjan> where nondeterministally means "you cannot even count on random"
03:03:26 <ChrisMM> right.
03:03:39 <ChrisMM> because you're 'too good' for pseudorandom numbers
03:03:56 <oerjan> always taking the first one is perfectly legal :P
03:04:09 <oerjan> (well maybe. i haven't actually checked the spec.)
03:04:15 <Bike> 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 <ChrisMM> my problem is on the wiki page it says '...The program outputs bits in an undefined (and quite possibly random) sequence.'
03:04:51 <ChrisMM> where, if the string rewrites were nondeterministic, it WOULD be ENTIRELY random
03:04:55 <Bike> no
03:04:57 <ChrisMM> and it has that (and quite possibly...) in there
03:05:05 <Bike> it /can/ be random, but it doesn't have to be
03:05:09 <ChrisMM> ahh.
03:05:10 <Bike> it could implement all zeroes probably
03:05:30 <Bike> yes.
03:05:42 <ChrisMM> I see
03:05:51 <Bike> output, not implement
03:06:29 <oerjan> 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 <Bike> catseye's interpreter lets you choose a deterministic rule, if you want
03:06:46 <Bike> but you can also not do that, see.
03:07:41 <Bike> (it has left-to-right and right-to-left, so you could make that program output all zeroes or all ones)
03:07:51 <ChrisMM> mm. I get it
03:09:35 <oerjan> 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 <ChrisMM> I'm gonna look into thue now, it seems very nice...
03:18:06 <ChrisMM> c::=
03:18:07 <ChrisMM> b::=~foo
03:18:07 <ChrisMM> b::=~bar
03:18:07 <ChrisMM> b::=~baz
03:18:07 <ChrisMM> b::=~bin
03:18:07 <ChrisMM> ac::=abc
03:18:07 <ChrisMM> ::=
03:18:08 <ChrisMM> abccccccccccccccc
03:18:15 <ChrisMM> I think that's generating simlish
03:18:34 <ChrisMM> barbinbarfoobaz
03:19:03 -!- not^v has joined.
03:19:39 <Bike> couldn't it wipe out the c's first
03:19:59 <Bike> or well... why do you ahve both the ac::=abc and c::= rules.
03:20:30 <ChrisMM> well I want it to generate them but I also want it to halt
03:20:38 <ChrisMM> if it runs out of c's it'll halt
03:20:50 <ChrisMM> yes, it could wipe out all the c's first. Ya just hope. This isn't a good program.
03:20:52 <Sgeo_> 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 <Sgeo_> And conceptually a function too
03:21:13 <Sgeo_> Although I guess Haskell privileges it
03:21:38 <Sgeo_> (By priviledge I mean not doing a Racket equivalent of a newtype)
03:21:55 <Bike> ChrisMM: if you want a fixed finite output, you could do the b::=~ rules, and then just have ::=bbbbb, no?
03:22:02 <Bike> (to output five, of course)
03:22:21 -!- ^4 has quit (Ping timeout: 240 seconds).
03:22:50 <ChrisMM> yeah I just realized v_v
03:22:53 <ChrisMM> >.>
03:27:53 <AndoDaan> Wrote a script to interpret http://esolangs.org/wiki/Verbose. what a chore.
03:28:37 <ChrisMM> the roman numerals must be the most annoying part
03:28:42 <ChrisMM> what programming language has like
03:28:49 <ChrisMM> a roman numeral library
03:29:06 <AndoDaan> Yeah, just looked up the algorithms and translated them to lua.
03:29:27 <Bike> common lisp has a function to print an integer in roman. still not sure why
03:32:06 <ChrisMM> wow
03:33:47 * Sgeo_ wouldn't be surprised if Factor had something
03:34:03 <Sgeo_> http://docs.factorcode.org/content/article-roman.html
03:35:04 <Bike> "Computes the quotient and remainder of two Roman numerals."
03:35:12 <ChrisMM> Hmmm... I can't figure out thue
03:35:17 <ChrisMM> I mean i get it but
03:35:26 <ChrisMM> I'm trying to figure out how to properly make code
03:35:30 <ChrisMM> hmm hmmhmm
03:40:29 <zzo38> Roman numeral is not difficult to implement
03:42:49 <FreeFull> More difficult than brainfuck numerals?
03:43:20 <Bike> optimized brainfuck numerals are uncomputable, so that's probably harder than romans
03:43:32 <FreeFull> The shortest possible program that outputs a given numeric value
03:44:30 <FreeFull> Are you sure it's an uncomputable problem rather than just an infeasible one?
03:44:59 <FreeFull> Hmm, halting problem
03:45:00 <Bike> yeah, it's perfect compression
03:45:12 <Bike> which is uncomputable bla bla kolmogorov.
03:45:20 <FreeFull> Yeah, I can see why it'd be uncomputable
03:45:23 <FreeFull> The halting problem
03:46:51 <FreeFull> . and +. are provably the shortest possible representations
03:47:03 <FreeFull> Bike: What if you add some restriction that ensures halting?
03:47:28 <Bike> http://en.wikipedia.org/wiki/Kolmogorov_complexity#Uncomputability_of_Kolmogorov_complexity behold
03:47:44 <FreeFull> I mean, it won't be kolmogorov complexity
03:47:49 <FreeFull> And it will become actually computable
03:48:06 <zzo38> 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 <FreeFull> There are ones which ensure halting and allow multiplication
03:50:18 <FreeFull> I'm not sure about how powerful you can go though
03:51:52 <Bike> i think the shortest representations in presburger arithmetic or something are computable in double exponential time
03:52:18 <Bike> oh no that's some other bullshit about presburger. eh.
03:52:56 <Jafet> I'd believe that, given that you can only add numbers
03:53:19 <oerjan> just use system F hth
03:56:33 <oerjan> (someone here managed to do goodstein sequences in it, that's more powerful than peano arithmetic
03:56:36 <oerjan> )
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 <Sgeo_> '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 <Sgeo_> I forgot to save a part of my forget code.
05:08:18 <coppro> Sgeo_: apparently it works
05:12:32 <Sgeo_> I don't know if (provide gen:profunctor) is the proper way to provide a generic
05:14:38 <Sgeo_> So yeah https://github.com/Sgeo/racket-optics/blob/master/profunctors.rkt
05:14:44 <Sgeo_> Still a work in progress
05:17:57 -!- Lorenzo64 has joined.
05:19:26 <Sgeo_> 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 <Bike> racket is more reliant on reader macros than i thought.
05:26:58 <Sgeo_> I don't think #:foo are reader macros
05:27:20 <Bike> oh, are they just symbols
05:27:59 <Sgeo_> 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 <Bike> ...surrounded by?
05:28:22 <Sgeo_> Well, hmm. (f a b c) where f is a macro, gets a different macro, so hmm
05:28:45 <Sgeo_> 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 <Sgeo_> erm, where f is a function.
05:29:13 <Sgeo_> (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 <mroman_> Taneb: ?
06:51:18 <Sgeo_> I guess a hypothetical 'sum' is an example of a optics Fold?
06:52:08 -!- copumpkin has joined.
06:53:54 <oerjan> :t sumOf
06:53:55 <lambdabot> Num a => Getting (Endo (Endo a)) s a -> s -> a
06:54:30 <oerjan> Sgeo_: a Fold is something you _can_ take a sum (or any monoidal summary) of.
06:55:12 <oerjan> :t foldlOf'
06:55:13 <lambdabot> Getting (Endo (Endo r)) s a -> (r -> a -> r) -> r -> s -> r
06:57:06 <oerjan> :t foldrOf
06:57:07 <lambdabot> Profunctor p => Accessing p (Endo r) s a -> p a (r -> r) -> r -> s -> r
06:57:18 <Sgeo_> 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 <oerjan> fiendish
06:58:19 <Sgeo_> 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 <zzo38> 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 <zzo38> It doesn't seem to give me any problems with any programs though, with the exception of Visual Pinball.
08:31:25 <zzo38> (Not only is it fuzzy horizontally but also vertically makes scanlines brigher and darker)
08:38:40 <b_jonas> zzo38: I can think of two things:
08:40:04 <b_jonas> 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 <b_jonas> 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 <zzo38> It isn't.
08:42:21 <b_jonas> 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 <mroman_> ja
08:43:05 -!- zzo38 has joined.
08:43:08 <mroman_> Can I deactivate certain keycombinations in the Dvorak layout
08:43:22 <b_jonas> 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 <zzo38> 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 <b_jonas> 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 <zzo38> I am not using a KVM switch
08:44:11 <b_jonas> 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 <zzo38> I do have a surge protector though.
08:44:40 <zzo38> It only happens when it is computationally intensive though.
08:45:01 <b_jonas> 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 <b_jonas> zzo38: are you using a VGA cable?
08:45:41 <zzo38> Yes, although it is pretty close to the computer and monitor
08:45:51 <b_jonas> (or a VGA to DVI adapter)
08:45:57 <zzo38> It is a "Certified Data" LCD monitor
08:46:20 <b_jonas> 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 <zzo38> But I wonder if it is really just an effect of a different kind of problem inside of the computer.
09:03:51 <zzo38> I did have many other problems before but replacing the power supply fixed most of them.
09:04:13 <zzo38> (The picture is the only thing it did not fix.)
09:08:00 <mroman_> I hate typing '+space+s for 's
09:08:04 <mroman_> because '+s gives me ś
09:08:21 <mroman_> itś a me, mario
09:08:21 <zzo38> Disable that function then (or change it)
09:08:25 <fizzie> You should have a separate key for ' and ´ like we do.
09:08:42 <mroman_> I wanna use Dvorak with support for german Umlauts
09:08:48 <zzo38> Yes, using separate dead keys would help
09:08:53 <mroman_> which Dvorak international with deadkeys has
09:09:07 <mroman_> but that Layout also has this silly śáń combination-keys
09:09:44 <shachaf> I use US International with AltGr deadkeys.
09:09:49 <shachaf> it's p. good
09:10:04 <mroman_> ü
09:10:05 <mroman_> wow
09:10:08 <mroman_> it's a me
09:10:11 <mroman_> hm
09:10:13 <mroman_> neat
09:10:15 <mroman_> ö
09:10:37 <mroman_> üö wheres the third?
09:10:49 <fizzie> 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 <shachaf> over the q?
09:10:52 <myname> ä
09:10:59 <mroman_> äüö
09:11:01 <mroman_> k
09:11:04 <mroman_> altgr+w
09:11:12 <shachaf> altgr+w å
09:11:14 <mroman_> although it's technically , for dvorak
09:11:30 <mroman_> (dvorak's , is where qwert'z w is)
09:12:21 <zzo38> 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 <zzo38> (with the exception of theta, which has its own key.)
09:21:22 <zzo38> fizzie: Except now in order to explain its working, but that's only because it has it anyways
09:23:16 <zzo38> 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 <zzo38> 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 <b_jonas> zzo38: well, part of that is safety, making sure you don't overwrite files you don't want to,
09:33:57 <b_jonas> 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 <zzo38> 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 <zzo38> 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 <zzo38> (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 <zzo38> Something like this, generally: tex abcde; dvilj4 - < abcde.dvi | lp (although generally I would preview first)
09:55:09 <zzo38> 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 <zzo38> 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 <zzo38> Isn't it?
09:59:16 <b_jonas> zzo38: yes, maybe. I'm not sure really.
10:00:15 <b_jonas> of course some programs require at least a seekable input file, and some even require a seekable output file.
10:00:52 <b_jonas> 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 <zzo38> 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 <zzo38> 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 <b_jonas> can you give particular examples of programs that you would like to work as a filter but they don't?
10:03:31 <b_jonas> 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 <b_jonas> 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 <zzo38> 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 <b_jonas> 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 <zzo38> Programs such as ppMCK also are not a filter.
10:07:21 <b_jonas> 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 <b_jonas> 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 <b_jonas> what's ppMCK?
10:08:24 <zzo38> ppMCK is program for writing .NSF musics.
10:09:02 <zzo38> Do you know anything about .NSF musics?
10:09:06 <b_jonas> no
10:12:26 <zzo38> 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 <b_jonas> zzo38: there is, but most often that just leads to deadlocks that you don't discover at first
10:14:31 <b_jonas> which is why that ability should not be well known
10:14:49 <b_jonas> you should do that only if you're certain your program and use case can handle it
10:15:41 <b_jonas> 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 <b_jonas> (this seems to be a faq btw, people often want that, even if it's a bad idea.)
10:21:06 <zzo38> Yes I know you would have to be careful about such deadlocks and that kind of stuff
10:22:40 <b_jonas> 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 <fizzie> 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 <b_jonas> fizzie: ok
10:24:57 <fizzie> 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 <zzo38> 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 <b_jonas> 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 <zzo38> But I think filters are the best way
10:26:12 <b_jonas> 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 <b_jonas> now we just need a syntax for such redirection that opens an unlinked temp file.
10:27:28 <b_jonas> hmm....
10:27:44 <b_jonas> maybe we already have that? let me ask the bash folks.
10:33:37 <zzo38> 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 <zzo38> (And, this process it start could actually be a pipeline instead; it shouldn't necessarily have to be a single program)
10:35:01 <b_jonas> 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 <mroman_> I have no sound on this thing :(
10:48:09 <b_jonas> unmute the volume control
10:48:23 <b_jonas> fungot, any idea about zzo38's problem with the monitor image?
10:48:23 <fungot> b_jonas: swiss federal institute of technology. the
10:48:29 <b_jonas> um
10:49:05 <fizzie> fungot: Do you mean they're to blame?
10:49:05 <fungot> fizzie: the behavior of your modifications of the utmost importance. implementations should be
10:49:30 <fizzie> ^style
10:49:30 <fungot> 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 <fizzie> Oh.
10:49:45 <fizzie> ^style europarl
10:49:45 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
10:49:46 <fizzie> fungot: Do you have a statement at this juncture?
10:49:47 <fungot> 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 <mroman_> b_jonas: if it were that easy...
10:50:21 <fizzie> `addquote <fungot> 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 <fungot> 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 <HackEgo> 1217) <fungot> 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 <fizzie> fungot: I'm pretty sure it's right to raise the issue of preventing drug addiction. Go on.
10:51:08 <fungot> 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 <Jafet> I wonder how much the formalities affect their productivity
10:55:50 <Jafet> (or possibly, their productivity is zero)
10:58:56 <fizzie> 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 <b_jonas> fungot, the winners of the ICFP 2014 contest will be announced tomorrow. are you excited?
10:59:38 <fungot> 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 <fizzie> Heh.
11:00:55 <fizzie> ICFP 2014 tagline: "extremely harmful".
11:01:53 <Jafet> Their victories are regrettable.
11:14:33 <J_Arcane> Neat. One of the Racket folks is giving a talk there.
12:00:21 <Melvar> 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 <b_jonas> hey, I'm not a hardware guy really
12:01:29 <b_jonas> um, no idea
12:02:10 <Melvar> Okay.
12:03:07 <b_jonas> (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 <Jafet> If telling off the lvds ribbon sternly doesn't work, you may need to make veiled threats against the panel.
12:10:02 <Jafet> fungot knows how to deal with panels.
12:10:03 <fungot> 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 <Melvar> Hmm.
13:31:15 <Melvar> @help djinn
13:31:15 <lambdabot> djinn <type>.
13:31:15 <lambdabot> Generates Haskell code from a type.
13:31:15 <lambdabot> http://darcs.augustsson.net/Darcs/Djinn
13:31:24 <Melvar> That doesn’t lead anywhere.
13:33:14 <mroman_> @djinn a -> a
13:33:14 <lambdabot> f a = a
13:33:50 <mroman_> @djinn (a -> b) -> a -> b
13:33:50 <lambdabot> f a = a
13:34:01 <Melvar> @djinn (Functor f, Functor g) => (a -> b -> c) -> f a -> g b -> f (g c)
13:34:01 <lambdabot> Error: Class not found: Functor
13:34:28 <mroman_> I don't know if it can work with "concrete" types
13:34:34 <mroman_> @djinn Int -> String
13:34:34 <lambdabot> Error: Undefined type Int
13:34:54 <Melvar> No, but these are classes, and AIUI it can use Monad at least.
13:35:06 <Melvar> @djinn (Monad f, Monad g) => (a -> b -> c) -> f a -> g b -> f (g c)
13:35:06 <lambdabot> -- f cannot be realized.
13:35:10 <mroman_> @djinn Integer -> String
13:35:10 <lambdabot> Error: Undefined type Integer
13:35:15 <mroman_> oh
13:35:16 <mroman_> hm
13:35:25 <mroman_> @djinn Num a => a -> a -> a
13:35:25 <lambdabot> Error: Class not found: Num
13:35:27 <mroman_> :(
13:35:36 <Melvar> @djinn Bool -> Bool
13:35:36 <lambdabot> f a = a
13:36:09 <mroman_> @djinn f a -> a
13:36:10 <lambdabot> -- f cannot be realized.
13:36:10 <Melvar> Thing is, I would have liked to read on the exact restrictions, but the help link goes nowhere.
13:36:22 <mroman_> @djinn Functior f => f a -> a
13:36:22 <lambdabot> Error: Class not found: Functior
13:36:27 <mroman_> @djinn Functor f => f a -> a
13:36:27 <lambdabot> Error: Class not found: Functor
13:36:33 <mroman_> Maybe is a Functor, right?
13:36:39 <Melvar> Yes.
13:36:45 -!- Patashu has quit (Ping timeout: 240 seconds).
13:36:48 <mroman_> @info Functor
13:36:48 <lambdabot> Functor
13:37:19 <mroman_> hm
13:37:25 <mroman_> Functors don't have f a -> a
13:37:32 <Melvar> Yes.
13:37:52 <mroman_> @djinn Functor f => (a -> b) -> f a -> f b
13:37:52 <lambdabot> Error: Class not found: Functor
13:38:06 <mroman_> Ah right. It doesn't know Functors at all
13:39:42 <Melvar> :t tabulate
13:39:44 <lambdabot> Not in scope: ‘tabulate’
13:40:08 <Melvar> @hoogle (Functor f, Functor g) => (a -> b -> c) -> f a -> g b -> f (g c)
13:40:10 <lambdabot> Data.IntMap.Strict intersectionWith :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c
13:40:11 <lambdabot> Data.IntMap.Lazy intersectionWith :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c
13:40:11 <lambdabot> Data.Sequence zipWith :: (a -> b -> c) -> Seq a -> Seq b -> Seq c
13:40:21 <Melvar>
13:40:35 <Melvar> @let tabulate op rs cs = fmap (\r => fmap (op r) cs) rs
13:40:35 <lambdabot> Parse failed: Parse error: =>
13:40:41 <Melvar> @let tabulate op rs cs = fmap (\r -> fmap (op r) cs) rs
13:40:43 <lambdabot> Defined.
13:42:21 <Melvar> :t tabulate
13:42:22 <lambdabot> (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 <fizzie> @djinn (a -> b -> c) -> (a -> b) -> a -> c
13:45:46 <lambdabot> 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 <Melvar> @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 <lambdabot> -- f cannot be realized.
13:49:22 <Melvar> @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 <lambdabot> -- 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 <mroman_> @djinn (a -> b) -> (b -> c) -> (a -> c) -> Bool
14:58:09 <lambdabot> f _ _ _ = False
14:58:16 <mroman_> hm
14:58:24 <mroman_> @djinn (a -> b) -> (b -> c) -> (a -> c) -> a -> b -> Bool
14:58:24 <lambdabot> f _ _ _ _ _ = False
14:58:45 <mroman_> oh wait
14:58:56 <mroman_> @djinn (a -> c) -> (b -> c) -> a -> b -> Bool
14:58:56 <lambdabot> f _ _ _ _ = False
14:59:07 <mroman_> how uncreative
14:59:38 <mroman_> @let apCmp f g a b = (f a) == (g b)
14:59:41 <lambdabot> Defined.
14:59:44 <mroman_> @type apCmp
14:59:45 <lambdabot> Eq a => (t -> a) -> (t1 -> a) -> t -> t1 -> Bool
14:59:48 <Taneb> @djinn (a -> c) -> (b -> c) -> (c -> c -> d) -> a -> b -> d
14:59:48 <lambdabot> f a b c d e = c (a d) (b e)
15:00:02 <mroman_> Taneb: You highlighted me some hours ago?
15:00:26 <Taneb> Regarding ESOSC and the brainfuck survey
15:00:37 <mroman_> Ah.
15:00:51 <mroman_> I remember that I wrote a draft based on the survey results
15:01:49 <mroman_> http://eso.mroman.ch/ESOSC/s/2014-3/ESOSC-2014-D3-R1.pdf
15:02:02 <mroman_> I'm not sure what the state of that Draft was though
15:03:54 <Taneb> Could you close the poll and release the results?
15:05:07 <mroman_> Taneb: sure
15:05:17 <mroman_> Let me just use this "Forgot password" function :D
15:06:20 -!- b_jonas has joined.
15:08:07 <mroman_> Taneb: https://de.surveymonkey.com/results/SM-JZ78GR8L/
15:09:01 <mroman_> oh
15:09:16 <mroman_> produce error on leave the tape to the left
15:09:25 <mroman_> has just barely won the race
15:09:30 <mroman_> a while ago it was clearly behind
15:10:39 <Taneb> I think perhaps we should make the standard say that should be implementation defined
15:11:12 <mroman_> well
15:11:14 <mroman_> yeah
15:11:26 <mroman_> otherwise we'd ignore the poll if we keep it "unbounded to the left"
15:11:56 <mroman_> We *could* recommend to make it unbounded to the left but it's implementation defined in the end
15:12:20 <mroman_> but
15:12:21 <mroman_> I mean
15:12:26 <mroman_> we'd ignore the poll by that too
15:12:34 <mroman_> since the poll says it should produce an error
15:13:01 <mroman_> so the first question is: How seriously do we take the results?
15:14:01 <Taneb> We asked for them, so I think we should take them fairly seriously
15:14:24 <Taneb> Although for question 1 I would have rather answered "the cells should be unbounded"
15:14:29 <Jafet> You could start a poll for that.
15:14:40 <mroman_> Jafet: psst
15:16:09 <mroman_> Well, then leaving the tape to the left is an error
15:16:13 <mroman_> that's what the poll said
15:16:17 <mroman_> with a 1% lead or so
15:18:03 <Taneb> 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 <mroman_> 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 <mroman_> generally I'd recommend not relying on unbounded memory to the left, yes
15:20:22 -!- AndoDaan has joined.
15:20:36 <mroman_> technically a standard compliant interpreter *has to* produce an error
15:20:41 <mroman_> at least in standard compliant mode
15:21:05 <mroman_> but you could add a switch --non-std or whatever
15:21:19 <Taneb> I'd still prefer "May produce an error or may extend to the left"
15:21:38 <mroman_> Me too
15:22:35 <mroman_> but just be aware, that we somehow interpret the close lead differently than a huge lead ;)
15:22:42 <mroman_> by doing that
15:22:57 <Taneb> They're one vote away from parity!
15:23:11 <mroman_> it's closed now ;)
15:23:14 <mroman_> but ok
15:23:22 <mroman_> I'll vote for "implementation defined" too
15:24:40 <Taneb> nortti?
15:24:45 <Jafet> 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 <Taneb> nortti is away
15:26:24 <mroman_> gotta catch train
15:26:27 <mroman_> 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 <fizzie> fungot: Will you make yourself standards-compliant now?
16:04:19 <fungot> 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 <fizzie> Man, making a brainfuck interpreter is more expensive than I thought.
16:05:53 <Taneb> I used to have a teddy bear called "Sellafield Bear"
16:05:58 <Taneb> 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 <b_jonas> how do you say: pack an umbrella (eg. for the vacation)? {se bevri punji lo santa}?
16:11:58 <b_jonas> or, um, {se bevri setca lo santa}?
16:12:04 <b_jonas> I feel there must be some better way to say this
16:12:24 <Taneb> What language is this?
16:12:31 <b_jonas> ah, sorry, wrong channel then
16:12:38 <b_jonas> :-(
16:12:48 <b_jonas> (it's lojban, and supposed to go to #lojban )
16:18:10 * Melvar giggles.
16:19:07 <Melvar> I thought for a moment this was #jbopre and Tene had sarcastically commented.
16:32:06 -!- TieSoul has left.
16:43:07 <nortti> 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 <mroman_> Taneb: The problem with implementation defined is
16:52:41 <mroman_> that you can't say no more "it will run in any ESOSC-BF compliant interpreter"
16:53:20 <mroman_> I just thought about that in the train
16:53:33 <mroman_> so I've changed my opinion to "it has two be one of those two but not both"
16:53:37 <mroman_> either unbounded or error
16:53:40 <mroman_> but not both
16:54:07 <mroman_> What again were the reasons for unbounded/error?
16:54:14 <mroman_> unbounded because of symmetry to >?
16:54:48 <nortti> error because most BF implementations don't support unbouned-to-left
16:55:10 <mroman_> I think a great amount of implementations really don't support it, yes
16:55:26 <mroman_> although some implementations use an array of size N
16:55:35 <mroman_> and have the pointer initialized to N/2
16:55:49 <mroman_> but then the array is of fixed size
16:55:55 <mroman_> so neither unbounded to the left nor right
16:56:33 <mroman_> also moving to the left requires a realloc
16:56:47 <mroman_> with an extra copy
16:57:00 <mroman_> (as realloc usually appends more space to the right, and not to the left)
16:58:03 <mroman_> regarding that error looks really like a good option
16:58:14 <mroman_> and it's still the leading option in the poll
16:58:36 <mroman_> also "unbounded to the left but not recommended to rely on" is well....
16:58:41 <mroman_> might as well say it's an error
16:58:49 <mroman_> rather than supporting it but not recommending it
16:59:00 <Bike> 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 <Bike> fuck ur cache
16:59:07 <mroman_> Implementors are always free to add a command line switch to switch to "unbounded to the left"
16:59:19 <mroman_> Bike: some implementations do that
16:59:23 <mroman_> (mine does for example)
17:00:39 <mroman_> 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 <nortti> https://ghc.haskell.org/trac/ghc/ticket/9439
17:17:00 <Bike> lol.
17:22:03 <Sgeo_> The Factor subreddit is called "Factor wanking"
17:22:25 <Sgeo_> 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 <Sgeo_> "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 <Sgeo_> Hmm.... but there's a lexical variable macro... how might other 'macros' interfere with that?
17:51:48 <J_Arcane> How strict are you with respect to the functional style in your own programs?
17:51:58 <coppro> J_Arcane: lazy
17:52:20 <myname> :D
17:53:47 <Bike> i only write in snobol, so that would be impractical
17:54:39 <zzo38> J_Arcane: I do not quite understand the question.
17:54:57 <J_Arcane> Well, when working with Lisps or other functional programming languages.
17:55:22 <zzo38> I don't know; I have not written a program in Lisp.
17:55:56 <J_Arcane> 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 <coppro> J_Arcane: I always try to adhere to functional style, especially when coding in an imperative language
17:56:36 <zzo38> Actually I have thought that combining Haskell and Lisp might be good idea
17:56:51 <Bike> i only write lisp as our forfathers intended: with prog
17:58:38 <J_Arcane> zzo38: Well, there have been a number of efforts to introduce monads into various lisps.
18:00:02 <J_Arcane> I confess to having no familiarity with them at all yet, so I wouldn't know what to do with them.
18:00:30 <zzo38> I am not talking about monads
18:00:44 <zzo38> I mean Haskell with Lisp-like macros
18:00:46 <Bike> monads are just a particular API, if you want "haskell" you're gonna want more like, recursive data whatever
18:01:01 <J_Arcane> Ahh.
18:02:15 <Sgeo_> Sum types. Sum types are good.
18:03:46 <zzo38> 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 <zzo38> But anyways I meant macros
18:09:42 -!- Imaginer1 has joined.
18:09:47 <Imaginer1> Hey guys.
18:09:58 <Imaginer1> Anyone here versed a bit in Python? I need a smidge of help.
18:10:26 <J_Arcane> I know a bit of Python.
18:10:41 <Imaginer1> Well, I'm not exactly dealing with a low-level problem.
18:10:55 <Imaginer1> I'm trying to allow Python to accept inputs from command-line, would that be a sys module?
18:10:56 <Imaginer1> and which one?
18:11:18 <Bike> sys.argv
18:11:30 <Imaginer1> Yeah, but
18:11:31 <Imaginer1> not that
18:11:44 <Imaginer1> It's interpreting code in another language
18:11:51 <Imaginer1> once it's interpreted it might prompt the user for input
18:12:00 <Bike> sys.stdin
18:12:08 <Imaginer1> thanks, I'll look up the syntax...
18:17:17 <Imaginer1> This is... horrific
18:17:18 <Imaginer1> agahds.
18:23:48 -!- Lorenzo64 has joined.
18:29:15 -!- Vorpal has joined.
18:31:52 <Melvar> < nortti> error because most BF implementations don't support unbouned-to-left – Why is that?
18:32:33 <nortti> why most don't support it?
18:32:56 <nortti> probably since it would, in many cases, be harder to implement
18:43:23 <Imaginer1> Wahoo! I did it
18:44:35 <mroman_> Melvar: It's harder to implement, I'd say
18:45:36 <mroman_> @aks Taneb Can you live with error on leaving left?
18:45:36 <lambdabot> Maybe you meant: ask arr
18:45:41 <mroman_> no
18:45:48 <mroman_> @ask Taneb Can you live with error on leaving left?
18:45:48 <lambdabot> Consider it noted.
18:45:54 <mroman_> I didn't mean to aks arr
18:45:57 <mroman_> whoever arr is
18:46:01 <mroman_> @arr
18:46:02 <lambdabot> Keelhaul the swabs!
18:46:06 <Melvar> data Tape a = Tape a [a] a [a]
18:46:06 <mroman_> @arr foo
18:46:07 <lambdabot> Aye
18:46:12 <mroman_> @arr bar?
18:46:12 <lambdabot> Smartly me lass
18:46:18 <mroman_> oh
18:46:22 <mroman_> it's pirate talk.
18:46:35 <Sgeo_> Why does Tape a have two heads?
18:46:43 <mroman_> Tape [a] a [a]?
18:46:51 <HackEgo> [wiki] [[Cork]] http://esolangs.org/w/index.php?diff=40381&oldid=40329 * 173.17.62.235 * (+102)
18:46:56 <Imaginer1> wahoo
18:46:57 <Sgeo_> That's not what Melvar emitted
18:47:04 <mroman_> Yeah
18:47:09 <mroman_> I know
18:47:35 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
18:48:29 <Melvar> 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 <Sgeo_> Ah
18:52:20 <Melvar> 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 <mroman_> You're doing it wrong
18:53:52 <Melvar> Apparently that file is from 2011.
18:53:55 <mroman_> If it aint Zippers, Functors, Monads you ain't doi'n it wrong.
18:54:02 <mroman_> damn
18:54:08 <mroman_> you ain't doin' it right
18:54:11 <Melvar> Which is newer than I thought.
18:54:23 <mroman_> It's got to have at least Zippers
18:54:41 <mroman_> and you should work some lenses in there too
18:55:19 <Melvar> I’m pretty sure I had never heard of lenses when I wrote that file.
18:55:25 <mroman_> :)
18:55:34 <Melvar> I mean, in programming context.
18:55:39 <mroman_> Rule of thumb is that if I can understand it you're not using enough fancy stuff
18:56:22 <Melvar> branch :: (Boolesy a) => BF a -> BF a – And Boolesy, what silliness that was.
18:57:58 <Melvar> Apparently I did know what a monad transformer is: type BF a = StateT (Tape a) IO ()
18:58:05 <mroman_> left <$> inc `app` $>> right `app` dec
18:58:09 <mroman_> ;)
18:58:36 <mroman_> @type (<$>)
18:58:37 <lambdabot> Functor f => (a -> b) -> f a -> f b
18:58:50 <mroman_> that's just fmap?
18:58:55 <Melvar> Yes.
18:59:00 <mroman_> hu
18:59:10 <mroman_> why did I think <$> is some complicated cattheory stuff
18:59:20 <mroman_> > (+1) <$> Just 5
18:59:21 <lambdabot> Just 6
19:00:10 <Melvar> In Haskell, anyway; one of the traps of Idris is that its (<$>) is Haskell’s (<*>) instead.
19:00:22 <Melvar> ( :t (<$>)
19:00:22 <idris-bot> Prelude.Applicative.(<$>) : Applicative f => f (a -> b) -> f a -> f b
19:00:22 <idris-bot> Effects.(<$>) : Eff (a -> b) xs (\v => xs) -> Eff a xs (\v7 => xs) -> Eff b xs (\v8 => xs)
19:00:22 <idris-bot> BotPrelude.LiftEq.(<$>) : (f = g) -> (x = y) -> f x = g y
19:00:29 <mroman_> @type (<*>)
19:00:31 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
19:00:37 <Melvar> Or, well, one of them.
19:00:43 <mroman_> hm
19:01:00 <mroman_> Just (\x -> x + 1) <*> Just 6
19:01:06 <mroman_> > Just (\x -> x + 1) <*> Just 6
19:01:08 <lambdabot> Just 7
19:01:11 <mroman_> sweet
19:01:47 <Bike> > [(+1), (+6), (*3)] <*> [8, 4, 8, 33]
19:01:48 <lambdabot> can't find file: L.hs
19:01:52 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
19:01:55 <Bike> alas
19:02:08 <Bike> i guess [] isn't an applicative probably.
19:02:23 <Melvar> > [(+1), (+6), (*3)] <*> [8, 4, 8, 33]
19:02:24 <lambdabot> [9,5,9,34,14,10,14,39,24,12,24,99]
19:02:46 <Bike> lambdabot what'd i ever do to you
19:02:51 -!- doesthiswork has joined.
19:04:09 <Melvar> ( [(+1), (+6), (*3)] <$> [8, 4, 8, 33]
19:04:10 <idris-bot> (input):1:20:When elaborating an application of function BotPrelude.LiftEq.<$>:
19:04:10 <idris-bot> Can't unify
19:04:10 <idris-bot> Vect (S n) a
19:04:10 <idris-bot> with
19:04:10 <idris-bot> f = g↵…
19:04:43 <Melvar> 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 <Melvar> ( with List [(+1), (+6), (*3)] <$> [8, 4, 8, 33]
19:05:00 <idris-bot> [9, 5, 9, 34, 14, 10, 14, 39, 24, 12, 24, 99] : List Integer
19:06:19 <Melvar> ( with Vect [(+1), (+6), (*3)] <$> [8, 4, 8]
19:06:20 <idris-bot> [9, 10, 24] : Vect 3 Integer
19:07:51 <Bike> ha. so what's with do
19:08:52 <Melvar> 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 <Melvar> Bike: ?
19:09:27 <Bike> with List, with Vect, wassat
19:10:26 <Melvar> “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 <Imaginer1> Hey guys
19:29:20 <Imaginer1> fungot, nice to see ya
19:29:20 <fungot> 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 <Imaginer1> NOOOOO
19:42:26 <Imaginer1> I JUST WROTE A AWESOME PROGRAM IN THU
19:42:29 <Imaginer1> AGHB
19:42:43 <Imaginer1> AND NOW THE THING FROZE AND I CAN'T SAVE IT OR EVEN COPY IT GAHDSIHG
19:43:06 <Bike> rip
19:43:52 <Imaginer1> it was a tag system emulator
19:44:30 <Imaginer1> for the collatz sequence
19:47:20 <b_jonas> argh
19:47:26 <b_jonas> what froze?
19:49:35 <Imaginer1> http://lolwh.at/~amb/thue.html
19:49:38 <Imaginer1> it freezes with infinite loops
19:49:58 <Imaginer1> 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 <Imaginer1> awesome
19:53:05 <Imaginer1> got it working
19:57:58 <Sgeo_> 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 <Imaginer1> Well, you kinda have to if you're using javascript to run Thue
20:14:51 <Imaginer1> i mean, the idea is 'find replacement -> substitute -> repeat while substitutions exist'
20:15:34 <Imaginer1> ^show
20:15:35 <fungot> 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 <Imaginer1> Underload has no input support and that is soul-crushing
20:18:46 <ais523> Imaginer1: sorry
20:18:58 <ais523> I'm planning input support with Underlambda
20:19:01 <ais523> but it's actually really hard to do
20:19:03 <Imaginer1> Also, I have trouble understanding why -any- finite memory machine can be -entirely- turing complete
20:19:13 <Imaginer1> (I understand, ais ^^)
20:19:25 <ais523> Imaginer1: it can't be without some sort of access to an external memory store
20:19:37 <Imaginer1> knew it
20:26:19 -!- Hjulle has joined.
20:33:24 <Sgeo_> Is Unison considered good for file sync?
20:37:13 <fizzie> 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 <fizzie> (Web Workers would be the fancy HTML5 solution to this.)
20:40:59 -!- barrucadu has joined.
20:45:19 <Sgeo_> Few hundred, instead of every?
20:45:48 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:48:29 <fizzie> 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 <fizzie> Depending, of course, how costly each iteration is.
20:52:27 <Melvar> I was remembering RequestAnimationFrame or whatever it’s called but that probably doesn’t work if you’re not animating something.
20:55:08 <fizzie> 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 <fizzie> Anyway, Web Workers lets you spawn real OS-level background threads so it's clearly superior, if more convoluted.
20:55:46 <ais523> Melvar: RequestAnimationFrame is basically the web equivalent of vsync
20:55:56 <ais523> except it isn't literally vsync IIRC, just vaguely similar
20:57:02 <fizzie> 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 <Melvar> 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 <Imaginer1> I need help.
21:58:12 <Imaginer1> http://pastebin.com/5UrJNPcP
21:58:15 <Imaginer1> What's wrong with this code/
21:58:42 <Imaginer1> it stops after what should be the second loo and freezes up
22:01:02 <fizzie> elif cmd in responses.keys():
22:01:03 <fizzie> responses[prevout].append(cmd)
22:01:26 <fizzie> You test for 'cmd', yet try to look up 'prevout'.
22:01:37 <Imaginer1> aaaah
22:01:45 <Imaginer1> thanks ^^ i knew it would be something dumb
22:01:54 <fizzie> (Same for the other branch.)
22:06:25 -!- vravn has joined.
22:07:17 <fizzie> Incidentally, foo.setdefault('key', []).append('x') may come in handy: http://sprunge.us/LZHd
22:07:20 <fizzie> Might be slightly suboptimal w.r.t. creating and discarding the [] every time.
22:07:40 <Imaginer1> thanks!
22:12:48 <Imaginer1> Awesome.
22:12:57 <Imaginer1> I just wanted to demonstrate how I was told Cleverbot worked to a friend.
22:13:06 <Imaginer1> But actually, I think I might mess around with this :D
22:13:25 <Imaginer1> 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 <quintopia> $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 <Sgeo_> 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 <oerjan> heh
23:57:44 <shachaf> with pure profunctor lenses you can make a much better from
23:58:31 <Sgeo_> I know how to write from I think, but what's the name of that profunctor?
23:58:40 <Sgeo_> Unless you mean make from and to actual opposites
23:59:16 <shachaf> That's boring. The inverse of to is view.
2014-09-02
00:00:03 <Sgeo_> 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 <zzo38> 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 <zzo38> Therefore you can combine all of these things by using ATTACH command and LOAD_EXTENSION and various functions (including aggregates).
00:11:15 <zzo38> 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 <zzo38> At least I think it would make the data easier to deal with.
00:12:07 <zzo38> I don't know quite what is your opinion.
00:12:59 -!- doesthiswork has joined.
00:17:13 <zzo38> 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 <Sgeo_> shachaf: what's the name of the profunctor used by from?
00:19:29 <shachaf> Un?
00:19:36 <shachaf> Exchange, in lens?
00:21:47 <Sgeo_> Exchange sounds like a good name. Don't really know what Un is, I thought that was that unlens thing
00:32:38 <shachaf> It is.
00:32:51 <shachaf> from turns an optic into the corresponding unoptic.
00:32:57 <shachaf> I think we called it re.
00:33:09 <shachaf> It was how I sold edwardk on pure profunctor optics.
00:38:49 <zzo38> Another thing I want to see in SQLite format are comparison tables.
00:39:08 <zzo38> (for comparing various kinds of things, whether computer software or otherwise)
00:54:26 <Sgeo_> 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 <up2quark> Hello
01:35:09 -!- up2quark has left.
01:59:08 <oerjan> `addquote <mroman_> Rule of thumb is that if I can understand it you're not using enough fancy stuff
01:59:09 <HackEgo> 1218) <mroman_> Rule of thumb is that if I can understand it you're not using enough fancy stuff
02:03:07 <zzo38> Other things I want to have in SQL (with data files, extensions, and/or network services) include surveys and collaborative tables.
02:03:14 <zzo38> Are there such things?
02:04:11 <oerjan> ( :t (<$)
02:04:11 <idris-bot> Prelude.Applicative.(<$) : Applicative f => f a -> f b -> f a
02:04:20 <oerjan> ( :t ($>)
02:04:20 <idris-bot> Prelude.Applicative.($>) : Applicative f => f a -> f b -> f b
02:04:29 <oerjan> bah
02:04:50 <zzo38> That's different from Haskell, which is (<*) and (*>)
02:05:10 <oerjan> i know. Melvar mentioned <$> in the logs, which is also different.
02:05:29 <zzo38> Why are they calling these things differently like this?
02:05:34 <oerjan> so i was wondering if idris had actually done the logical thing i'd thought of with the two others.
02:05:37 <oerjan> but no.
02:06:09 <oerjan> zzo38: well <$> _is_ more logical than <*> if you are starting out naming them
02:06:32 <oerjan> except if you do that, i think fmap should be $>
02:06:49 <oerjan> and it isn't that in idris either
02:07:24 <oerjan> although part of the problem is that < and > are also used in two senses in applicative notation
02:07:51 <oerjan> sometimes it means "this is something applicative", other times it means "return the right or left part as pointed to"
02:08:30 <elliott> oerjan: what would you rename (<*) and (*>) to?
02:08:41 <Melvar> I don’t know how the operators got named as they are.
02:08:42 <elliott> I guess you'd want operators for const and flip const and use that or something.
02:09:25 <oerjan> elliott: lessee, rename (<*) to *<* and (*>) to *>*
02:09:39 <elliott> oerjan: wait, what?
02:09:48 <oerjan> now (<$) can be <*
02:09:52 <oerjan> :t (<$)
02:09:53 <lambdabot> Functor f => a -> f b -> f a
02:10:39 <oerjan> 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 <oerjan> (<$>) becomes $*
02:11:10 <elliott> I see.
02:11:31 <elliott> oerjan: perhaps the ideal symbol for * is banana brackets (depending on which side it's on)
02:11:33 <oerjan> the not standard but defined in lens (??) becomes *$
02:11:49 <elliott> since a (|$|) b would be (| a $ b |).
02:12:13 <elliott> oerjan: and (<**>)? :p
02:12:18 <oerjan> oh that
02:12:28 <elliott> *&* I guess
02:12:33 <oerjan> first we need a symbol for reverse application, so take lens... right
02:13:12 <Melvar> :t (<**>)
02:13:13 <lambdabot> Applicative f => f a -> f (a -> b) -> f b
02:14:14 <Melvar> ( with List [| [1,2,3] + [4,5,6] |]
02:14:15 <idris-bot> (input):1:14:When elaborating an application of function BotPrelude.LiftEq.<$>:
02:14:15 <idris-bot> Can't unify
02:14:15 <idris-bot> List a
02:14:15 <idris-bot> with
02:14:15 <idris-bot> x = y↵…
02:14:23 <Melvar>
02:15:22 <oerjan> idris, the language that has even sillier type errors than haskell
02:17:26 <Melvar> ( with Applicative [| [1,2,3] + [4,5,6] |]
02:17:26 <idris-bot> When elaborating an application of function Prelude.Applicative.pure:
02:17:27 <idris-bot> Can't disambiguate name: Prelude.Classes.+, Prelude.Fin.+
02:17:46 <Melvar>
02:18:19 <Melvar> ( the (List Integer) [| [1,2,3] + [4,5,6] |]
02:18:19 <idris-bot> [5, 6, 7, 6, 7, 8, 7, 8, 9] : List Integer
02:18:47 <oerjan> elliott: banana brackets seem a little heavy but maybe just | would be good
02:18:56 <elliott> oerjan: they're a bit heavy in ascii, yeah.
02:19:02 <oerjan> except then <| clashes with Data.Sequence
02:19:18 <oerjan> but probably the others also clash with something i don't remember
02:19:20 <zzo38> 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 <elliott> oerjan: btw, *>* should be liftA2 (>) :p
02:19:51 <elliott> the thing with <| is that the < looks like the outside and the | the inside... |<| and stuff is sorta weird
02:20:43 <oerjan> elliott: i have no scrubles repurposing < and > there, they're just not useful enough to do that with
02:20:47 <oerjan> *scruples
02:21:25 <elliott> I sort of feel like a lot of the "only partially applicative" ones are a little redundant.
02:21:33 <elliott> (const x <$> y) is just as good as (x <$ y), really.
02:21:47 <elliott> I guess that's the only one.
02:22:45 <zzo38> 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 <zzo38> 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 <Sgeo_> What does a guard do? Force MonadPlus?
02:25:24 <Melvar> 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 <oerjan> Sgeo_: the same thing as any refutable pattern, i assume
02:25:44 <Sgeo_> eww
02:27:00 <oerjan> Melvar: that reminds me of affine commutative IO proposal
02:27:09 <oerjan> so possibly "affine"
02:27:52 <Melvar> In particular the Monad instances of (Vect n) and Stream fulfill this equivalence.
02:29:06 <oerjan> Reader also, i think.
02:29:31 <Sgeo_> 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 <Sgeo_> Or a reasonable use of that name
02:29:52 <oerjan> and the ACIO monad would fulfill it, as that was part of its purpose
02:29:52 <Sgeo_> (e.g. most things except [])
02:29:56 <Melvar> Well, both of those are equivalent to Readers.
02:30:24 <oerjan> *-l
02:31:07 <zzo38> Sgeo_: I would say a guard would be forcing MonadPlus, yes
02:32:42 <oerjan> <Bike> 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 <Melvar> Okay, so I guess that’s affine. And the order the actions are specified in being irrelevant presumably is commutative?
02:33:54 <oerjan> yeah
02:34:22 <oerjan> although when i googled ACIO just now, the hits seemed to imply C is for "central".
02:34:23 <zzo38> Well, I would think, "commutative", as a commutative applicative at least, would mean that (x <* y) is same as (y *> x)
02:34:40 <oerjan> zzo38: that's at least implied
02:34:42 -!- Bike has quit (Quit: leaving).
02:35:02 <zzo38> Implied by what for what purpose?
02:35:12 <oerjan> or more generally, f <$> x <*> y = flip f <$> y <*> x
02:35:36 <oerjan> zzo38: by my understanding of what "commutative" means for monads
02:35:38 <zzo38> Well, yes, that is another way too
02:35:51 <oerjan> zzo38: possibly they are equivalent.
02:35:59 <zzo38> I don't seem to see what "commutative" means for monads, only for applicative.
02:36:14 <oerjan> but it's not obvious
02:36:15 -!- AndoDaan has joined.
02:36:35 <oerjan> zzo38: yes i think a monad is commutative exactly when its corresponding applicative is
02:36:53 <zzo38> OK
02:37:23 <zzo38> Maybe another way is: fmap swap . liftPair = liftPair . swap
02:37:59 -!- Bike has joined.
02:38:05 <oerjan> hm actually i think just <* vs. *> loses too many ways of combining the results to imply the full thing
02:39:23 <zzo38> Does it? Maybe
02:39:49 <oerjan> basically, you get no result information from y
02:40:24 <zzo38> If that is the only problem then the two other ways are working.
02:40:29 <oerjan> so you know the _effects_ commute, but not whether the whole thing does.
02:41:30 <zzo38> Ah, I suppose you are correct, then
02:41:41 <zzo38> It makes sense
02:42:18 <elliott> Melvar: wait, what's Stream there?
02:42:37 <elliott> oh.
02:42:42 <elliott> presumably the obvious diagonalisation instance?
02:43:09 <zzo38> 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 <Melvar> elliott: That would be the only one I know of that agrees with its Applicative instance.
02:43:51 <oerjan> 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 <oerjan> *only got
02:44:09 <elliott> oerjan: iow, f <$> x <*> y = y <**> f <$> x?
02:44:16 <elliott> :t \f x y -> f <$> x <*> y == y <**> f <$> x
02:44:17 <lambdabot> Precedence parsing error
02:44:17 <lambdabot> cannot mix ‘<*>’ [infixl 4] and ‘==’ [infix 4] in the same infix expression
02:44:17 <lambdabot> Precedence parsing error
02:44:24 <elliott> :t \f x y -> (f <$> x <*> y) == (y <**> f <$> x)
02:44:25 <lambdabot> Eq (a -> b) => (a -> a1 -> b) -> (a -> a) -> (a -> a1) -> Bool
02:44:39 <elliott> :t (<**>)
02:44:40 <lambdabot> Applicative f => f a -> f (a -> b) -> f b
02:44:42 <elliott> oh
02:44:45 <elliott> :t \f x y -> (f <$> x <*> y) == (y <**> f <*> x)
02:44:46 <lambdabot> Occurs check: cannot construct the infinite type: b ~ a -> b
02:44:46 <lambdabot> Expected type: a -> a1 -> a -> b
02:44:46 <lambdabot> Actual type: a -> a1 -> b
02:44:52 <elliott> :(
02:45:13 <elliott> :t \f x y -> (f <$> x <*> y) == (y <**> (f <$> x))
02:45:14 <lambdabot> (Applicative f, Eq (f b)) => (a1 -> a -> b) -> f a1 -> f a -> Bool
02:45:14 <oerjan> elliott: well or simpler: (<*>) = flip (<**>)
02:45:20 <elliott> oerjan: right.
02:46:55 <oerjan> <Melvar> 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 <zzo38> oerjan: Do you mean only join and liftPair and not anything else? That wouldn't be very good.
02:47:16 <elliott> I was mixing up Steram and ZipList or something.
02:47:49 <Melvar> And similarly (Vect n) has only one shape for each n, I guess.
02:48:17 <Melvar> ( the (Vect _ Integer) [| [1,2,3] + [4,5,6] |]
02:48:18 <idris-bot> [5, 7, 9] : Vect 3 Integer
02:49:02 <oerjan> zzo38: yes, although e knew about Functors so e had fmap
02:49:30 <oerjan> i guess that's "no", really :P
02:50:24 <oerjan> elliott: well Stream is the subset of all ZipLists of that shape.
02:50:30 <elliott> yeah.
02:50:33 <oerjan> and each shape is a Monad, i think.
02:50:48 <zzo38> You had fmap? Then you have liftPair, you should need pure, too, then.
02:50:52 <oerjan> because it's really Reader on a subset of Nat
02:51:08 <elliott> yeah.
02:51:14 <elliott> on (Fin n) for some n.
02:51:33 <oerjan> zzo38: well e had pure also, but e didn't use it for Maybe iirc
02:52:01 <oerjan> ...or all of Nat, for Streams.
02:53:06 <elliott> n = fix Succ!
02:53:24 <elliott> that works. you could define FinOrMaybeInfin as Conat -> Type. maybe. probably.
02:53:30 <elliott> it'd have to be codata of course.
02:54:30 <oerjan> 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 <oerjan> um
02:55:13 <oerjan> yes, that was it
02:55:55 <oerjan> and so if you take n at any depth in the m (m a) it commutes out with the join
02:56:40 <zzo38> 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 <Melvar> ( :t fibs
02:57:14 <idris-bot> No such variable fibs
02:57:31 * oerjan is obviously mixing notation there
02:57:40 <Melvar> ( :let fibs : Stream Nat; fibs = 0 :: 1 :: [| fibs + tail fibs |]
02:57:40 <idris-bot> defined
03:00:38 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> Do any of you know????
03:07:14 <Bike> 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 <zzo38> This is one idea of Magic: the Gathering card: Put the top card of each player's library on the stack.
04:21:38 <shachaf> zzo38: They've said that they don't want to make any cards that mention the stack explicitly.
04:22:04 <zzo38> Yes, I know that, but still *I* want to mention the stack explicitly.
04:22:45 <zzo38> What would its mana cost be?
04:24:01 <shachaf> What would it mean to put a card on a stack?
04:24:04 <shachaf> What if it has targets?
04:24:17 <Sgeo_> What if it's land?
04:24:22 <zzo38> If it has targets then it fails when it resolves, I suppose.
04:24:34 <zzo38> If it is a land, then I would think it would just come into play anyways
04:24:46 <shachaf> Lands don't go on the stack normally, though.
04:24:53 <zzo38> I know that
04:24:57 <Sgeo_> shachaf: I'm curious where they've said they don't want to mention the stack?
04:25:02 <shachaf> What if you've already played a land?
04:25:04 <Sgeo_> Might be more fun reading
04:25:09 <shachaf> All sorts of places.
04:25:11 <shachaf> http://archive.wizards.com/Magic/magazine/article.aspx?x=mtgcom/daily/mr255
04:25:32 <Sgeo_> ty
04:25:32 <zzo38> 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 <zzo38> 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 <shachaf> what a zzo38y thing to say
04:32:50 <shachaf> You were cut off after "physically o", by the way.
04:33:06 <zzo38> No, that's all I wrote
04:33:32 <shachaf> O, now I see.
04:34:39 <int-e> you'd be taking all the flavor of the game, alienate the few remaining fans and kill the franchise!
04:34:40 <zzo38> "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 <Sgeo_> "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 <Sgeo_> Buh... uh.... huh?
04:38:25 <Sgeo_> I will admit Dead Ringers is confusingly worded :/
04:38:50 <zzo38> 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 <zzo38> 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 <zzo38> And they mess up existing cards too even though they explicitly try not to.
04:40:56 <zzo38> The implementation (and name) of Planeswalkers cards is also bad (although it is not a bad idea).
04:42:09 <zzo38> 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 <zzo38> (Doing this would also avoid some of the klugy rules relating to it)
04:45:19 <zzo38> 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 <Sgeo_> Is this accurate? instance Profunctor Exchange where dimap a b e = Exchange (dimap b a (runExchange e))
05:43:08 <Sgeo_> Something along those lines?
05:43:25 <Sgeo_> Wait, no
05:44:00 <Sgeo_> instance Profunctor Exchange where dimap a b e = Exchange (\p -> dimap b a (runExchange e p))
05:44:45 <Sgeo_> Ok, I think I need to think a bit more
05:57:04 <oerjan> 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 <oerjan> 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 <oerjan> but by the monad laws those two must be equal
06:01:46 <oerjan> 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 <oerjan> *, when you put
06:11:19 <b_jonas> zzo38: ugh, no. I think the fixed size picture and fixed size text box is fine.
06:11:35 <b_jonas> variable size would be ugly
06:11:47 <zzo38> But maybe you want to put a lot of text and the picture won't fit
06:12:02 <b_jonas> I for one don't like the Zendikar full art lands that everyone seems to like so much
06:12:35 <zzo38> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <zzo38> I prefer the text for the basic lands though
06:17:50 <b_jonas> 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 <b_jonas> Or gold and hybrid cards.
06:18:29 <zzo38> Yes I know those thing can help too
06:18:58 <b_jonas> I admit it's much less important in the post-Mirrodin frame
06:19:02 <b_jonas> which has the inner border for this
06:19:11 <zzo38> 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 <b_jonas> But even without the color, I do like the fixed size text box and fixed size art
06:19:42 <zzo38> (especially if you are playing with grayscale copies of the cards; I have seen this)
06:20:30 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> (And some series of extra products like Duel Decks shouldn't take up expansion symbols.)
06:24:07 <b_jonas> 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 <b_jonas> 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 <b_jonas> We can't change the old sets, but new blocks should do this.
06:26:44 <b_jonas> And I don't think it would cause too much problems with new sets either, would it?
06:28:18 <b_jonas> I mean, yeah I know, sword, shield and helm of Kaldra and all, but still.
06:29:42 <Taneb> Morning
06:32:00 <b_jonas> (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 <HackEgo> [wiki] [[///]] http://esolangs.org/w/index.php?diff=40382&oldid=38040 * B jonas * (+131) /* Implementation */
06:36:48 <b_jonas> (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 <Bike> what if it's the zombie of an invertebrate
06:39:24 <b_jonas> 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 <b_jonas> Bike: so basically when I said "flesh", I mean parts of the body other than the bones
06:40:01 <Taneb> An exoskeleton
06:40:18 <b_jonas> dunno
06:40:44 <Bike> what about a cartilaginous animal, like a shark? who'd begrudge a zombie shark
06:41:16 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> ghouls in nethack have the creature type Zombie, and ghosts have the type Spirit
06:48:01 <fizzie> That sounds like more of a MtG thing than a NetHack thing.
06:54:05 <mroman_> moin
06:55:04 <shachaf> 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 <b_jonas> Frooxius: yes, sorry
08:42:48 <b_jonas> shachaf: ugh, lemurs and lemures, yeah
08:43:06 <b_jonas> which one of those is the Animal and which one is an undead spirit?
08:43:55 <shachaf> 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 <mroman_> Is there a equ f = (\a b -> (f a) == (f b))?
08:58:18 <mroman_> much like comparing
08:58:25 <mroman_> i.e. sortBy (comparing foo)
08:58:33 <mroman_> => groupBy (equ foo)
08:59:04 <mroman_> or something like using f g = (\a b -> (f a) `g` (f b))?
08:59:39 <mroman_> @let using f g = (\a b -> (f a) `g` (f b))
08:59:41 <lambdabot> Defined.
08:59:58 <shachaf> comparing = (compare `on`)
09:00:02 <mroman_> > groupBy (using length (==)) ["a","bb","c","dd"]
09:00:05 <shachaf> So just use ((==) `on`)
09:00:06 <lambdabot> [["a"],["bb"],["c"],["dd"]]
09:00:15 <mroman_> > groupBy (using length (==)) ["a","bb","c","dd","ee"]
09:00:17 <lambdabot> can't find file: L.hs
09:00:26 <mroman_> whaaat
09:00:39 <fizzie> That sometimes happens randomly.
09:00:41 <mroman_> > groupBy (using length (==)) ["a","bb","c","dd","ee"]
09:00:44 <lambdabot> [["a"],["bb"],["c"],["dd","ee"]]
09:00:47 <mroman_> ic
09:00:52 <fizzie> But "on" is what you wanted.
09:00:53 -!- Patashu has joined.
09:01:09 <fizzie> @type on
09:01:10 <lambdabot> (b -> b -> c) -> (a -> b) -> a -> a -> c
09:01:56 <mroman_> > groupBy ((==) `on` length) ["a","bb","c","dd","ee"]
09:01:58 <lambdabot> [["a"],["bb"],["c"],["dd","ee"]]
09:02:00 <mroman_> oh
09:02:01 <mroman_> neat
09:02:03 <mroman_> @hoogle on
09:02:05 <lambdabot> Data.Function on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
09:02:06 <lambdabot> Control.Exception.Base onException :: IO a -> IO b -> IO a
09:02:06 <lambdabot> Control.Exception onException :: IO a -> IO b -> IO a
09:03:47 <shachaf> 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 <mroman_> shachaf: "too strict"?
09:11:26 <mroman_> > take 1 $ groupBy ((==) `on` length) [[1],[1]]
09:11:27 <lambdabot> [[[1],[1]]]
09:11:30 <shachaf> For example if you compare a finite list to an infinite list it'll never return.
09:11:31 <mroman_> > take 1 $ groupBy ((==) `on` length) [[1],[1],[1..]]
09:11:36 <lambdabot> mueval-core: Time limit exceeded
09:11:42 <mroman_> well yeah
09:11:55 <mroman_> length on infinite lists isn't really a clever thing to do
09:13:06 <shachaf> Well, on finite lists it'll just be inefficient rather than nonterminating.
09:13:10 -!- Patashu has joined.
09:13:29 <mroman_> ok then
09:13:39 <mroman_> How do *you* group by length then?
09:13:50 <shachaf> Hmm.
09:14:01 <mroman_> efficiently ;)
09:14:08 <shachaf> ((==) `on` map (const ())) will at least be asymptotically optimal.
09:14:42 <mroman_> how so?
09:15:10 <shachaf> It's terrible, though.
09:15:28 <fizzie> > 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 <lambdabot> False
09:15:32 <shachaf> Write your own function? Or use genericLength :: [a] -> Nat (the only valid use of genericLength)
09:15:40 <shachaf> 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 <fizzie> ((==) `on` (() <$)) has a good punctuation-to-alpha ratio, however.
09:27:41 <shachaf> data T; instance Ord T where compare _ _ = EQ; (==) `on` (unsafeCoerce :: [a] -> [T])
09:28:19 <shachaf> () will waste all those cycles "forcing" and comparing ()s
09:28:33 <shachaf> > compare () undefined
09:28:34 <lambdabot> *Exception: Prelude.undefined
09:32:06 <mroman_> > length $ (map (const undefined)) [1..]
09:32:09 <lambdabot> mueval-core: Time limit exceeded
09:32:12 <mroman_> > length $ (map (const undefined)) [1..20]
09:32:14 <lambdabot> 20
09:33:02 <mroman_> hm
09:33:04 <elliott> better newtype over Any.
09:33:07 <mroman_> > zip [1..20] [1..19]
09:33:09 <lambdabot> [(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 <fizzie> > length $ zip [1..20] [1..19] -- that's just the shorter, isn't it?
09:33:52 <lambdabot> 19
09:33:57 <mroman_> @let cmp xs ys = last (zip xs ys) == (last xs, last ys)
09:34:00 <lambdabot> Defined.
09:34:05 <mroman_> > cmp [1..20] [1..19]
09:34:07 <lambdabot> False
09:34:15 <mroman_> > cmp [1..20] [1..20]
09:34:15 <fizzie> > cmp [1,1,1,1] [1]
09:34:16 <lambdabot> can't find file: L.hs
09:34:16 <lambdabot> True
09:34:24 <mroman_> > cmp [1..20] [1..20]
09:34:26 <lambdabot> True
09:34:30 <fizzie> > cmp [1,1,1,1] [1] -- still
09:34:31 <lambdabot> True
09:35:09 <fizzie> > cmp [1,2,3,2,1] [1] -- and so on
09:35:10 <lambdabot> True
09:35:33 <mroman_> k
09:35:42 <mroman_> cmpMonotonicSteadilyRisingLists
09:35:56 <mroman_> hm no
09:36:00 <mroman_> *hide*
09:36:36 <fizzie> 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 <mroman_> except that groupBy requires [a] anyway
10:20:56 <mroman_> @type groupBy
10:20:57 <lambdabot> (a -> a -> Bool) -> [a] -> [[a]]
10:26:17 <mroman_> hm
10:26:28 <mroman_> Can I have a data Pair a b = Pair a b
10:26:44 <mroman_> but with a Type Constructor Foo a = Pair a a?
10:26:59 <shachaf> newtype Foo a = Foo (Pair a a)?
10:27:12 <mroman_> (two contructors: one with two arguments and one with one argument)
10:27:40 <mroman_> hm
10:28:02 <mroman_> Pair a b = Pair a b | Pair' a a doesn't work
10:28:20 <b_jonas> mroman_: wait, what exactly do you want? a wrapper function? a gadt with two constructors? I don't understand
10:28:21 <mroman_> (Pair' still takes two arguments)
10:28:30 <mroman_> well
10:28:36 <mroman_> I could just use foo a = Pair a a
10:28:40 <mroman_> but then foo isn't a type constructor
10:28:55 <shachaf> I think you're confusing all sorts of things here.
10:28:58 <b_jonas> um
10:28:59 <mroman_> i.e. I can't match for that
10:29:07 <b_jonas> and how would you want to match this?
10:29:35 <mroman_> foobar (Foo _) = ...; foobar (Pair _ _) = ...
10:29:46 <mroman_> foobar :: Pair a b -> ...
10:30:12 <mroman_> wait
10:30:49 <mroman_> I'm stupid
10:31:21 <mroman_> or am I
10:31:29 <mroman_> data Pair a b = Pair a b | Pair' a
10:31:36 <mroman_> but then Pair' only holds one value
10:31:37 <mroman_> :(
10:32:08 <shachaf> 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 <int-e> except, perhaps, for records.
10:32:54 <mroman_> well
10:33:17 <mroman_> There should be two "constructors". One with two arguments and one with one argument
10:33:26 <mroman_> and you can match against the one with only one argument of course
10:33:36 <mroman_> but the one with one argument shall also match for the one with two arguments
10:33:45 <int-e> anyway I don't know what you want.
10:33:49 <mroman_> i.e. let's call them Pair1 and Pair2
10:34:20 <mroman_> Pair1 takes one argument and Pair2 takes two arguments
10:34:25 <int-e> data Pair a b where { Pair :: a -> b -> Pair a b; Twice :: a -> Pair a a }?
10:34:39 <mroman_> you can match as in foo (Pair1 a) = ... and foo (Pair2 a b) = ....
10:34:44 <b_jonas> mroman_: but what should happen when you call Pair1, and what should happen when oyu match for Pair1?
10:34:55 <mroman_> however, if foo (Pair2 a b) appears *BEFORE* foo (Pair1 a)
10:35:02 <mroman_> the Pair1 shall behave as if it were a Pair2
10:35:09 <mroman_> i.e. it matches Pair2 as well
10:35:16 <int-e> that's insane
10:35:23 <b_jonas> but when do you want Pair1 to match?
10:35:34 <b_jonas> and can you use a gadt AND arrow view match syntax instead?
10:35:44 <b_jonas> or just arrow view match syntax?
10:35:50 <mroman_> There's a different algorithm you can use to do foo if both values are equal
10:35:56 <b_jonas> (with a non-gadt ordinary data type)
10:36:04 <mroman_> which is faster than using the generic two non-equal values algorithm
10:36:13 <mroman_> of course you could just do |a == b = ...
10:36:33 <b_jonas> mroman_: use an arrow view?
10:36:57 <mroman_> however, some other functions (not like foo) don't have such a distinction
10:38:19 <mroman_> others however only work when both are equal
10:39:14 <mroman_> which means you could do |a /= b = error ":("
10:39:20 <mroman_> but I'd want it more type-safeish
10:40:18 <mroman_> I.e. just matching Pair1 wouldn't be type-safe as well
10:40:29 <mroman_> then Pair2 would just throw a "didn't match exception"
10:40:31 <int-e> 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 <int-e> (needs a better name)
10:41:10 <b_jonas> 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 <mroman_> b_jonas: yeah @compile-time
10:42:51 <int-e> data Pair a b where { Same :: a -> Pair a a; Different :: a -> b -> Pair a b }
10:43:16 <b_jonas> 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 <int-e> (Of course there's no way to ensure that the two arguments to "Different" are actually different.)
10:43:33 <b_jonas> instance Pair a a (Pair1 a a) where { deocdePair (Pair1 x) = (x, x); };
10:43:48 <b_jonas> or something like that with correct syntax (how's the fundep syntax work again?)
10:45:16 <mroman_> int-e: but then let (Different a b) = (Same 5) in a*b doesn't work
10:45:26 <mroman_> which should result in 25
10:45:32 <mroman_> but pattern don't match
10:46:00 <mroman_> but ok
10:46:04 <mroman_> it's "insane" :)
10:46:31 <mroman_> I was merey wondering if it could be achieved, not that I really need to do it
10:46:34 <mroman_> *merely
10:48:31 <mroman_> I can give you the Java-Code for that ;)
10:49:03 <int-e> mroman_: I know. but let (a,b) = pair (Same 5) works.
10:49:18 <int-e> mroman_: where 'pair' is an appropriate view function, which is trivial to define
10:49:46 <int-e> 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 <b_jonas> int-e: in that case your pair is the function decodePair from my example code,
10:50:22 <int-e> b_jonas: no, because I have no type class. :P
10:50:58 <b_jonas> 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 <b_jonas> wait, aren't we on the wrong channel for this/
10:53:51 <b_jonas> mroman_: ask on #haskell
10:55:14 -!- KingOfKarlsruhe has joined.
10:55:50 <mroman_> I thought this was the channel for everything .
10:59:49 <mroman_> everything that's remotely insane and has something to do with IT
11:00:26 <b_jonas> sure, you can ask here too
11:00:33 <AndoDaan> which esoteric language most resembles the basic turing machine?
11:00:40 <b_jonas> we jsut talked about M:tG too afterall
11:01:13 <b_jonas> 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 <b_jonas> AndoDaan: dunno, I hate the basic turing machine
11:01:57 <AndoDaan> How can you? Everything started with the turing machine.
11:01:57 <b_jonas> especially the one-tape turing machine (and bf for the same reason)
11:02:03 <b_jonas> no it did not
11:02:07 <AndoDaan> pfft
11:02:08 <b_jonas> everything started with Babbage
11:02:14 <AndoDaan> pfffft
11:02:16 <mroman_> honestly I don't want to bother #haskell's more serious and productive discussion with some crazy experimental questions
11:02:27 <b_jonas> I prefer proper pointer machines (even with immutable cells) that aren't bound to a one-dimensional tape
11:02:35 <AndoDaan> programming started with Lovelace.
11:02:52 <b_jonas> AndoDaan: yes, and programming never got to turing machines
11:03:01 <b_jonas> well, almost
11:03:38 <b_jonas> 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 <b_jonas> but let's forget about those contraptions
11:04:10 <b_jonas> I want to work with models and esoteric programming languages that can simulate sane computers with just a log-factor slowdown
11:04:36 <fizzie> 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 <AndoDaan> I am, and it's fun.
11:06:14 <AndoDaan> Deterministic FInite Automata is less fun.
11:06:38 <fizzie> 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 <fizzie> 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 <AndoDaan> string rewriting, I have a hard time wrapping my head around it.
11:10:27 <fizzie> 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 <AndoDaan> do you remember an example?
11:11:08 -!- boily has quit (Quit: MEGAWATT CHICKEN).
11:11:23 <b_jonas> 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 <b_jonas> wait, Thue isn't one of those, sorry
11:12:23 <fizzie> AndoDaan: Well, the *tasks* weren't really very exciting per se. Simple operations on binary numbers, maybe.
11:12:58 <AndoDaan> like "turn a binary string into unary"
11:13:13 <AndoDaan> just read that one.
11:13:50 <fizzie> There were also "build Turing machines" ones. (I found my homework answer .tex files.)
11:14:20 <AndoDaan> sound more complicated
11:14:22 <fizzie> Like "design a two-tape TM to recognize the language { wcw | w \in {a,b}* }".
11:14:40 <AndoDaan> oh like that.
11:15:13 <fizzie> "Design a three-tape TM to sum two binary digits." That kind of stuff.
11:15:29 <b_jonas> 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 <fizzie> 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 <fizzie> 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 <fizzie> Also, http://esolangs.org/wiki/NTCM is just a multitape TM with an I/O thing.
11:30:45 <AndoDaan> back. sorry
11:32:41 <AndoDaan> what do the "<" and ">" mean?
11:32:50 <fizzie> They're just symbols.
11:33:07 -!- sebbu has quit (Ping timeout: 245 seconds).
11:34:25 <fizzie> You can replace them with e.g. B and E (for beginning and end, respectively).
11:37:13 <fizzie> 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 <AndoDaan> Hmm.
11:38:50 <AndoDaan> Hard to do it in my head for me.
11:39:59 <int-e> oh, lots of broken links at the bottom. lycos, lycos, this was so long ago ...
11:42:00 <fizzie> 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 <fizzie> ... character it is).
11:43:19 <AndoDaan> Yeah. like, I see "ab -> ba" & "ba -> ab" and think... why
11:43:45 <fizzie> Well, the first grammar is quite different from that, it's more of an idea-based thing.
11:43:50 <AndoDaan> but i guess I'm looking at them as sequenceal instructions, when they're not
11:45:31 <fizzie> 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 <fizzie> 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 <b_jonas> wait wait wait
11:59:01 <fizzie> `run wait && wait && wait
11:59:02 <HackEgo> No output.
11:59:14 <fizzie> Okay, done.
12:03:03 -!- Sgeo_ has quit (Read error: Connection reset by peer).
12:13:11 <AndoDaan> Getting the hang of this. Just made one to increment a binary number.
12:14:08 <AndoDaan> Thanks for your help, fizzie.
12:14:12 <AndoDaan> 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 <int-e> @metar LOWI
12:54:11 <lambdabot> LOWI 021220Z 06004KT 020V110 9999 FEW015 SCT040 BKN065 14/09 Q1020 NOSIG
12:56:13 <fizzie> @metar EFHK
12:56:13 <lambdabot> 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 <b_jonas> is anyone on the ICFP conference listening to the announcement of the results of the contest?
15:02:14 <b_jonas> it's supposed to be happening about now
15:03:47 <b_jonas> 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 <mroman_> @ask Taneb Also is that Lambda-Calculus-Syntax-Thing still a thing?
15:12:46 <lambdabot> Consider it noted.
15:13:23 <Taneb> @tell mroman_ possibly
15:13:23 <lambdabot> Consider it noted.
15:14:16 -!- TieSoul has joined.
15:14:18 <TieSoul> hey
15:14:25 <mroman_> Did you see my ask about the ESOSC-BF-Error-Behaviour?
15:14:41 <TieSoul> I'm adding Unefunge and Trefunge support to my Funge interpreter
15:14:41 <Taneb> Yeah, I broadly agree with it
15:14:48 <TieSoul> :D
15:15:13 <mroman_> "broadly" as in "vaguely"?
15:15:38 <Taneb> "broadly" as in "I haven't thought too much about it"
15:15:47 <mroman_> ah. I see.
15:16:22 <Taneb> It was to allow a left-side of the tape, but still error on falling off it?
15:17:05 <mroman_> No. It's that you start at cell 0
15:17:16 <mroman_> and once you go left on cell 0 it will throw an error
15:17:27 <mroman_> cell 1 being 1 cell to the right of cell 0
15:18:10 <Taneb> Right
15:18:30 <mroman_> 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 <mroman_> which you can't make if it's implementation defined
15:19:40 <Taneb> 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 <mroman_> I doubt that there are programs relying on fail-on-left
15:20:18 <mroman_> well
15:20:27 <Taneb> But there are ones that don't not work on fail-on-left
15:20:30 <mroman_> there could be for "terminate this program now by going into a left loop"
15:20:34 <Taneb> And they all work on left-extension
15:20:41 <mroman_> but there are surely ones that rely on left-extension yes
15:20:58 <Taneb> I don't want to overspecify
15:21:16 <Taneb> if we say "Implementations must fail on left", that makes things nastier
15:21:42 <TieSoul> My implementation ignores < on cell 0
15:21:57 <mroman_> a possible compromise could be to mandate that an interpreter supports both behaviours
15:22:08 <mroman_> (i.e. through a command line switch)
15:22:19 <Taneb> mroman_, but that may make implementation in some languages (such as C) harder
15:22:44 <b_jonas> 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 <mroman_> or like you suggested
15:23:18 <b_jonas> and some of those cells should of course describe the available functions so you can detect them
15:23:23 <mroman_> "extend to the left but it's not recommended to rely on it"
15:23:43 <mroman_> i.e. because not all interpreter will actually extend to the left
15:23:51 <mroman_> but
15:23:53 <mroman_> well
15:24:00 <mroman_> if anything it's either error or extend to the left
15:24:07 <mroman_> and which one is implementation defined
15:24:18 <mroman_> but not "it could even wrap around to the rightmost cell"
15:24:24 <mroman_> or "the < is ignored"
15:24:52 <Taneb> 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 <mroman_> if it's completely unspecified what happens
15:25:26 <mroman_> then the program < might format your harddisk ;)
15:25:36 <Taneb> It might do, yeah
15:25:44 <mroman_> i.e. if the interpreter doesn't support left-extension it would at least throw an error
15:26:01 <mroman_> but if you leave it completely up to the interpreter it might as well format your hard disk
15:26:10 <mroman_> or do something else and then you don't know why the program is not working
15:26:24 <Taneb> I'm saying it should be on the programmer to only rely on < when they know how it will behave
15:26:24 <mroman_> so I really think that it should either be error or extend but not something else too
15:26:34 <Taneb> ie, they are writing for a specific implementation
15:30:03 <mroman_> yeah
15:30:06 <mroman_> the problem here is
15:30:21 <mroman_> you can't statically determine whether you use implementation defined behaviour or not
15:30:28 <mroman_> i.e. if you have a bug in your program or something
15:30:46 <mroman_> then it might do even crazier things in some interpreters than in others
15:31:19 <mroman_> 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 <mroman_> (gotta catch the train know)
15:31:38 <mroman_> *now
15:35:43 -!- CManahl has joined.
15:35:47 <CManahl> Yo guys, I need help.
15:35:58 <Taneb> What's up
15:36:02 <elliott> you and me both
15:36:09 <CManahl> What's the exact specs for error created in the Entropy esolang?
15:36:14 <CManahl> elliott: v funny
15:36:23 <CManahl> I would normally access someone else's source code
15:36:40 <CManahl> but this is a school-issued computer that's blocking a javascript implementation
15:36:44 <CManahl> can someone pastebin it?
15:37:16 <CManahl> http://andrew-hoyer.com/experiments/entropy/%E2%80%8E
15:37:25 <elliott> https://github.com/rottytooth/Entropy is the original implementation
15:37:53 <CManahl> I don't know the language, but I'll try. Thanks!
15:38:55 <elliott> the javascript thing is just something that implements the language's ideas as a javascript API
15:39:11 <elliott> not a proper implementation of the language
15:39:43 <CManahl> I only want the info of -how- variables mutate when accessed.
15:39:53 <CManahl> I'm trying to make an 'entropic' data type for my native language
15:42:07 <Taneb> Which language?
15:42:12 <CManahl> Python
15:42:19 <J_Arcane> 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 <CManahl> I just want the variables to mutate in the same way
15:43:21 <Phantom_Hoover> you can't add code to execute every time a python object is 'read', though, can you?
15:43:28 <Bike> J_Arcane: dictionary list?
15:43:31 <CManahl> Nah.
15:43:51 <CManahl> I'm adding a class.getvalue() function that returns the 'current' value and mutates it.
15:43:58 <J_Arcane> Bike: Or rather more clearly, a list of English words. As close to all of them as can be gained.
15:44:03 <CManahl> *object.getvalue()
15:44:09 <Bike> J_Arcane: you on linux?
15:44:21 <J_Arcane> No, but I could be on BSD in a matter of minutes.
15:44:33 <Bike> http://en.wikipedia.org/wiki/Words_%28Unix%29
15:44:41 <Bike> i guess bsd has it too, probably
15:44:42 <Taneb> @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 <lambdabot> Consider it noted.
15:44:57 <Taneb> Oooh!
15:45:03 <Taneb> Someone in here linked me one the other day!
15:45:07 <Taneb> 12dict or something
15:45:13 <b_jonas> why is bf so important? can't we just use saner esoteric languages?
15:45:24 <Taneb> b_jonas, bf has historical significance
15:45:34 <J_Arcane> I'm not sure sanity is necessarily the point of an esolang.
15:45:52 <Taneb> Basically, it's sufficiently well known that it's often the first esolang people here of
15:46:06 <Taneb> It's also the most implemented
15:46:21 <CManahl> 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 <Bike> CManahl: "byte[] whatever = new byte[1]; Crypto.GetBytes(mutate);" probably makes whatever a random byte
15:48:15 <Bike> man this code is ugly
15:48:19 <J_Arcane> Bike: That should be a good start.
15:48:27 <CManahl> yeah... uuuu
15:48:40 <Bike> but basically a value changes by changeAmount, which is MutationRate / (a random float)
15:48:51 <Bike> possibly negated... yeah you know what, fuck thsi code, do your own thing.
15:49:06 <CManahl> I agree...
15:49:19 <b_jonas> oh by the way
15:49:43 <b_jonas> did you figure out anything about that (volatile int){1} = 2; thing in C that came up a few days ago?
15:49:46 <b_jonas> what's happened with it?
15:50:36 <Bike> what about it?
15:50:39 <J_Arcane> This one is also quite complete.
15:50:42 <J_Arcane> http://www-01.sil.org/linguistics/wordlists/english/
15:51:30 <b_jonas> 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 <b_jonas> zzo38: do you happen to recall this?
15:52:04 <Bike> yeah, i remember, it turned into some C standard weirdocity
15:52:08 <fizzie> 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 <fizzie> 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 <int-e> Hmm, how would a conforming C program detect the absence of that assignment?
15:53:52 <b_jonas> int-e: it doesn't, someone looked at an assembly dump
15:54:55 <b_jonas> 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 <int-e> hmm. I need to find the C11 standard
15:55:13 <b_jonas> 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 <fizzie> int-e: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
15:56:02 <fizzie> 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 <fizzie> 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 <fizzie> Of course they don't exactly define what a "needed side effect" is.
15:58:55 <b_jonas> 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 <fizzie> I'm not sure why you'd need to involve signal handlers here.
16:00:40 <CManahl> Woo, finished my entropy module
16:02:02 <b_jonas> 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 <b_jonas> 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 <fizzie> 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 <b_jonas> s/in general/in my opinion/
16:05:28 <b_jonas> fizzie: it's not only that
16:05:53 <b_jonas> 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 <fizzie> C11 5.1.2.3p4 and p6 are probably the most relevant ones for the definition of volatile.
16:06:36 <b_jonas> 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 <b_jonas> 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 <b_jonas> does that make sense>
16:07:41 <b_jonas> ?
16:08:06 <fizzie> 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 <int-e> 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 <int-e> I don't know.
16:09:05 <b_jonas> 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 <fizzie> Now you've switched languages too.
16:09:43 <fizzie> 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 <fizzie> ... the rules of the abstract machine. -- This is the observable behavior of the program."
16:09:56 <b_jonas> 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 <b_jonas> yes I have.
16:10:25 <int-e> 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 <fizzie> 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 <b_jonas> 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 <int-e> fizzie: nice one.
16:11:12 <b_jonas> ohai int-e
16:11:44 -!- conehead has joined.
16:12:50 <fizzie> 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 <b_jonas> 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 <fizzie> 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 <fizzie> (Away for a while.)
16:14:06 <b_jonas> but of course, C++ could also be just buggy.
16:14:32 <b_jonas> it's a really good compiler and I like it very much, but it's still not perfect.
16:14:41 <CManahl> 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 <b_jonas> I even have a bug report somewhere.
16:14:44 <CManahl> why isn't that working
16:14:45 <zzo38> 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 <CManahl> am I retarded or something
16:14:54 <b_jonas> CManahl: what language is that?
16:14:58 <CManahl> python
16:14:59 <b_jonas> oh, python?
16:15:00 <b_jonas> right
16:15:01 <CManahl> screw it I'll just use list
16:15:04 <CManahl> why wouldn't i
16:15:26 -!- DootBot has joined.
16:15:26 <DootBot> DOOT DOOT!
16:15:27 <b_jonas> um, what version of python?
16:15:43 <CManahl> 2.7.?
16:15:53 <CManahl> 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 <b_jonas> CManahl: append mutates in place and returns None, so you should foreach it, not reduce it
16:18:28 <b_jonas> CManahl: it doesn't return a new list, it modifies the existing list
16:18:38 <b_jonas> so reduce will try to append to None the second time
16:19:11 <b_jonas> CManahl: try eg. this: reduce(lambda x,y:x+[float(ord(y))],'hellothere',[])
16:19:22 <b_jonas> (but that has to copy the list each time)
16:20:08 -!- TieSoul has changed nick to TieSoul-HomeWork.
16:20:46 <int-e> reduce(lambda x,y: x.append(float(ord(y))) or x,'hellothere',[]) does the trick
16:20:49 <zzo38> 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 <CManahl> arright cool
16:21:18 <b_jonas> zzo38: I don't really know. Maybe, but in that case you have an actual address. Maybe not.
16:21:37 <int-e> (python has no comma operator; using 'or' instead feels wrong)
16:22:01 <b_jonas> zzo38: you mean like saying (volatile char){1} = *(char *)someaddress; to cause a pagefault if someaddress is invalid?
16:22:06 <b_jonas> I really don't know
16:22:26 <zzo38> b_jonas: Yes, that would be an example of what I meant
16:22:45 <int-e> zzo38: unfortunately that's just undefined behaviour; anything is allowed to happen
16:22:59 <b_jonas> zzo38: I'm sure you could use a volatile asm block to do any of those,
16:23:14 <b_jonas> (well of course hardware access can be complicated because of other factors)
16:23:17 <zzo38> int-e: But I said, if you use the proper #if blocks
16:23:20 <CManahl> hehehe
16:23:38 <CManahl> 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 <b_jonas> 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 <zzo38> 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 <b_jonas> 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 <b_jonas> the common wisdom is that using volatile for thread synchronization is almost always wrong.
16:26:52 <b_jonas> 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 <zzo38> 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 <zzo38> 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 <zzo38> Are threads supposed to share global variables?
16:32:19 <b_jonas> zzo38: yes (for posix/c11/c++11-like threads), unless those variables are declared thread-local
16:32:20 <fizzie> 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 <b_jonas> zzo38: note that errno is a macro for a thread-local variable
16:33:16 <CManahl> 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 <fizzie> http://sprunge.us/fVTg is what I meant..
16:34:29 <CManahl> Oh, that. again... tired
16:34:51 <b_jonas> CManahl: you could use map for this: map(lambda x:float(ord(x)),"hello")
16:34:53 <CManahl> I ended up using map(lambda x: ord(x), self.value)
16:34:55 <CManahl> yeah
16:35:00 <b_jonas> yes that
16:35:07 <CManahl> with a float, I didn't forget that
16:35:07 <b_jonas> or list comprehension syntax, or a for loop
16:41:48 <zzo38> Do any monad tutorials start with list comprehensions and then fmap and return and join?
16:44:40 <newsham> using a list comprehension for that is more idiomatic in python
16:44:46 <b_jonas> why? are list brackets the best tasting burrito tortilla?
16:44:51 <newsham> [ord(x) for x in self.value]
16:45:14 <newsham> 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 <newsham> s/wanna use ord/wanna use map/
16:47:21 <DootBot> newsham: newsham actually meant: if you wanna use map you can just map(ord, self.value)
16:47:30 <newsham> indeed
16:47:34 -!- CManahl has joined.
16:47:40 <newsham> i'm just playing devel's advocate
16:48:25 <b_jonas> newsham: but he needs float too. how do you add that to this/
16:48:44 <newsham> map with lambda, or list comprehension
16:48:53 <newsham> [float(ord(x)) for x in self.value]
16:51:09 <newsham> or multiple maps, or define composition function
16:51:21 <newsham> map(float, map(ord, self.value))
16:51:29 <newsham> map(compose(float, ord), self.value)
16:51:43 <newsham> list comprehension is the idiomatic way
16:51:53 <b_jonas> ok
16:52:30 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
16:52:47 -!- Phantom_Hoover has joined.
16:53:36 <b_jonas> (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 <mroman_> Taneb: How'd you feel about something like http://codepad.org/rMDtG2Pi
16:54:28 <b_jonas> mroman_: is that like <!-- comment --> ?
16:54:32 <mroman_> no
16:54:35 -!- CManahl has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:54:40 <mroman_> It's just "ignore non BF characters"
16:54:45 <b_jonas> sure
16:54:57 <mroman_> the # lines are comments though
16:55:04 <b_jonas> but the <<++ is a bit suspicious
16:55:12 <mroman_> since "error-on-left" won the poll it should be the default behaviour
16:55:19 <Taneb> I disagree to some extent with # comments
16:55:30 <mroman_> hm
16:55:35 <mroman_> that should've been /bin/bf :(
16:55:36 <b_jonas> 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 <mroman_> b_jonas: the poll says "wrap around"
16:56:01 <b_jonas> hmm
16:56:02 <mroman_> but of course you can add #NO_CELL_WRAP_AROUND
16:56:15 <b_jonas> uh, ok
16:57:13 <mroman_> Taneb: elaborate? @disagree
16:58:26 <Taneb> Well, it's actually contrary to the brainfuck specification
16:59:34 <mroman_> what brainfuck specification?
16:59:46 <mroman_> the original from urban mueller?
17:00:20 <mroman_> well
17:00:34 <mroman_> as far as that specification is concerned, #NO_CELL_WRAP_AROUND is a comment
17:00:40 <mroman_> since it contains no brainfuck character
17:01:51 <b_jonas> ]
17:05:23 <zzo38> Maybe you should use SQL based polls next time
17:18:00 -!- impomatic_ has joined.
17:22:46 <mroman_> zzo38: ??
17:27:37 <newsham> bjonas: function for compose. but if you did go with object you could use an operator for it
17:28:37 <newsham> 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 <newsham> 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 <newsham> 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 <newsham> 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 <b_jonas> newsham: sure
18:20:37 <newsham> crap, sorry guys, those were meant for #h-b, not #esoteric
18:30:22 -!- Sprocklem has quit (Ping timeout: 252 seconds).
18:30:49 <zzo38> mroman_: Do you hate SQL based polls so much?
18:31:09 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds).
18:38:51 <maurer> newsham: I assume nationalreport is a parody site?
18:42:23 <newsham> oops, looks like it.. i didnt notice that.. thank you
18:48:34 -!- Sprocklem has joined.
18:49:16 <shachaf> Taneb: your evil twin nateb is in #haskell hth
18:49:39 <Taneb> First /u/taneq, now nateb!?
18:49:45 <Taneb> I have so many evil twins
18:50:48 <J_Arcane> 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 <Taneb> ...why am I helping nateb
18:54:18 <b_jonas> fruits
18:54:20 <b_jonas> 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 <zzo38> 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 <J_Arcane> 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 <fizzie> 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 <fizzie> 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 <fizzie> And that's a very non-exhaustive list.
21:48:39 <shachaf> what's the question? monotonic words?
21:48:43 <fizzie> Yes.
21:49:38 <fizzie> No strictly increasing words above length 5 in that dictionary, however.
21:49:52 <fizzie> (ahjot, fiksu, himot, korsu, kostu, norsu)
21:50:47 <J_Arcane> 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 <fizzie> 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 <fizzie> Did you watch the episode in question?
21:52:25 <J_Arcane> Yes.
21:52:57 <fizzie> Did it allow for repeats?
21:53:09 <J_Arcane> It's possible they did mean strictly rather than generally increasing, but they were a bit vague.
21:53:48 <shachaf> fizzie: using american-english-insane i find all sorts of words
21:53:58 <fizzie> It's likely a larger English wordlist would contain more than 6.
21:53:59 <shachaf> but i am dubious on these words' word status
21:54:26 <fizzie> My plain "words" (aka plain american-english) also has "Deimos" but I didn't count that.
21:54:33 <J_Arcane> I found 37, though I was counting doubles I think.
21:55:03 <J_Arcane> Here's the episode, the segment is around the 4min mark: https://www.youtube.com/watch?v=Qtmd1byR8Ps&feature=share
21:55:10 <fizzie> 29 in 'american-english' if allowing for dups.
21:55:28 <shachaf> imo why not allow duplicates
21:55:42 <shachaf> billowy is a good word
21:55:46 <shachaf> as is beefily
21:56:50 <J_Arcane> Indeed.
21:57:05 <shachaf> i am less sure about e.g. addeems adelops alloquy begorry belloot chikors deglory dikkops egilops elmmott gimmors
21:57:21 <shachaf> i feel like this is some sort of practical joke
21:57:27 <shachaf> perhaps played by the dutch
21:57:55 <J_Arcane> 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 <shachaf> maybe deglory
21:58:14 <J_Arcane> Even then the full 544 number is probably slightly inflated by those that slipped the check.
21:58:18 <shachaf> hørjan
21:58:28 <fizzie> 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 <fizzie> "almost", "chintz" and "biopsy", which at least don't contain dups.
21:58:44 <J_Arcane> Yeah.
21:59:12 <J_Arcane> It's possible the researchers weren't counting doubles and they simply got it confused on air, which happens.
21:59:12 <oerjan> shachi
21:59:29 <fizzie> Admittedly, "chimps" and "chinos" are plurals, which you might discount. And "abhors" is also inflected.
21:59:57 <fizzie> But I'm sure you can arrive to any number by sufficiently tweaking the rules.
22:00:35 <shachaf> fizzie: speaking of which have you considered altering one letter of your nick to make it into a palindrome
22:01:00 <fizzie> No, but it's been suggested on this very channel, if memory serves.
22:01:33 <shachaf> 2009-02-16.txt:23:49:17: <oklofok> fizzie: did you know your nick has a palindrome in it?
22:01:43 <shachaf> i feel like every nick has several palindromes in it
22:01:47 <fizzie> [2013-04-20 19:48:25] <fizzie> Incrementing me by one makes me a palindrome.
22:02:02 <shachaf> incrizzie
22:02:32 <oerjan> shachaf: does incrementing you in hebrew make you a palindrome?
22:02:57 <fizzie> "fizzief" is my backup name for all the places where "fizzie" has been taken by some unscrupulous person.
22:02:58 <shachaf> 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 <shachaf> actually i suspect it's spelled "young pizzy"
22:03:36 <shachaf> oerjan: no, you'd need to increment me 4 or 5 times or something
22:03:56 <shachaf> see https://en.wikipedia.org/wiki/Hebrew_alphabet
22:04:11 <shachaf> 4 or 5 depending on whether you count final letters
22:04:43 <shachaf> the spelling is שחף
22:06:13 <oerjan> i was already on that page but i couldn't find the spelling (wikipedia shockingly has no page for Shachaf (name))
22:06:52 <oerjan> also putty shows your previous line as having the time 50:00 :P
22:08:34 <oerjan> copies and pastes as 00:05
22:09:12 <fizzie> Bidirectional is hard.
22:09:34 <shachaf> 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 <oerjan> hm i guess i forgot
22:15:18 <oerjan> `unidecode שחף
22:15:19 <HackEgo> ​[U+05E9 HEBREW LETTER SHIN] [U+05D7 HEBREW LETTER HET] [U+05E3 HEBREW LETTER FINAL PE]
22:16:16 <shachaf> oh
22:16:25 <shachaf> it's funny how you forget about that
22:30:25 -!- Imaginer1 has joined.
22:30:35 <Imaginer1> Today's the day
22:30:42 <Imaginer1> I'm doing it
22:30:42 <Imaginer1> I'm making a wiki account
22:31:21 <HackEgo> [wiki] [[Special:Log/newusers]] create * Imaginer1 * New user account
22:31:44 <Imaginer1> It has been done
22:33:30 <oerjan> fancy
22:35:25 <HackEgo> [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 <HackEgo> [wiki] [[User:Imaginer1]] http://esolangs.org/w/index.php?diff=40384&oldid=40383 * Imaginer1 * (+102)
22:40:12 <HackEgo> [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 <Sgeo> https://github.com/Sgeo/racket-optics/commit/161efbbb69ec514cae3182bbb26a92f0a05278af
23:34:21 <Sgeo> 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 <zzo38> `danddreclist 56
00:14:43 <HackEgo> 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 <HackEgo> [wiki] [[Wordfuck]] http://esolangs.org/w/index.php?diff=40386&oldid=40327 * Imaginer1 * (-2)
02:55:36 <HackEgo> [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 <oerjan> :k Nat
03:49:19 <lambdabot> Not in scope: type constructor or class ‘Nat’
03:53:20 <oerjan> @instances Monoid
03:53:22 <lambdabot> (), (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 <oerjan> hm nothing suitably lazy
03:54:23 <shachaf> what do you think of instance (Monoid m, Applicative f) => Monoid (f m) where mempty = pure mempty; mappend = liftA2 mappend
03:54:34 <shachaf> other than the obvious incompatibility with a bunch of monoid instances
03:55:06 <zzo38> I say no due to possible incompatibility (even though, it is in fact a correct monoid)
03:55:13 <zzo38> Make a newtype wrapper, I suppose
03:55:18 <shachaf> if you pick m = () and f = [] you get Nat but with multiplication instead of addition
03:55:42 <shachaf> if you pick m = () and f = ZipList you get Nat but with min and +infty as your monoid
03:55:51 <shachaf> imo those are p. good monoids
03:55:53 <oerjan> note that i need the special property of Nat that (1 + undefined) + 1 >= 2
03:56:28 -!- AndoDaan has quit.
03:56:59 <oerjan> 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 <zzo38> Yes, those are ways to make up monoids
03:57:22 <oerjan> it's easy to construct one, but i don't see how to do it without defining a new instance
03:57:32 <zzo38> 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 <shachaf> by the way i mean Conat not Nat of course
03:58:14 <shachaf> even though they're the same
03:58:14 <int-e> (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 <oerjan> hm oh maybe it isn't true for the Nat i'm thinking od
03:59:04 <int-e> oh wait. you're using S x + y = S (y + x)
03:59:05 <oerjan> *of
03:59:23 <oerjan> yes, but i realized that's not quite enough
04:00:01 <oerjan> oh wait you reversed them
04:00:03 <oerjan> that would work
04:00:10 <int-e> but do you get a monoid then?
04:00:11 <oerjan> but feels like cheating
04:00:20 <shachaf> I,I S-expressions
04:01:17 <oerjan> hm maybe foldMap f = foldMap f . toList _is_ true for well-ordered foldables
04:01:29 <int-e> (1 + _|_) + 1 = S S undefined, but 1 + (_|_ + 1) = 1 + _|_ = S _|_
04:01:40 <shachaf> oerjan: well-ordered?
04:01:53 <int-e> s/undefined/_|_/, I missed one instance
04:01:56 <oerjan> shachaf: it's easy to break with Last and a reverse list foldable
04:02:03 <shachaf> Sure.
04:02:12 <shachaf> If you only have finite Foldables then it's true.
04:02:14 <oerjan> but i'm having trouble doing it with Data.Tree
04:02:31 <shachaf> Oh, you mean a tree which is undefined in the middle?
04:02:43 <oerjan> although if int-e's S x + y = S (y + x) really _does_ work
04:03:34 <int-e> it's not a monoid, so all bets are off.
04:03:51 <oerjan> ah
04:04:32 <oerjan> i was thinking let n = Node 1 $ repeat (Node 0 []) in Node 1 $ repeat n as the counterexample tree
04:04:48 <oerjan> toList will only contain the first two 1's
04:05:16 <oerjan> but if you could write a sufficiently lazy Nat to pick up the rest...
04:05:43 <oerjan> except the point was to use only pre-existing Foldables and Monoids
04:06:13 <shachaf> Except not Last?
04:08:14 <int-e> 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 <oerjan> shachaf: Last is fine, but Data.Tree doesn't give last elements. oh wait...
04:09:02 <oerjan> of course you can
04:09:16 <shachaf> Make a tree with undefineds in the middle subtrees.
04:09:38 <oerjan> @let tree = Node 0 [Node 0 $ repeat 0, Node 1 []]
04:09:41 <lambdabot> Defined.
04:10:00 <oerjan> :t Last
04:10:01 <lambdabot> Maybe a -> Last a
04:10:12 <oerjan> > foldMap (Last . Just) tree
04:10:14 <lambdabot> No instance for (GHC.Show.Show a0)
04:10:14 <lambdabot> arising from a use of ‘M894916986005060275817702.show_M8949169860050602758...
04:10:14 <lambdabot> The type variable ‘a0’ is ambiguous
04:10:14 <lambdabot> Note: there are several potential instances:
04:10:14 <lambdabot> instance [safe] GHC.Show.Show
04:10:18 <oerjan> wat
04:10:26 <int-e> oerjan: oh it's just another non-monoid. hah.
04:10:26 <oerjan> :t tree
04:10:28 <lambdabot> (Num (Tree a), Num a) => Tree a
04:10:34 <oerjan> oops :P
04:10:37 <oerjan> @undef
04:10:37 <lambdabot> Undefined.
04:10:57 <oerjan> int-e: what's wrong with Last?
04:11:18 <int-e> oerjan: nothing is wrong with Last, but the thing I gave is utterly wrong.
04:11:27 <oerjan> @let tree = Node 0 [Node 0 $ repeat (Node 0 []), Node 1 []]
04:11:29 <lambdabot> Defined.
04:11:34 <oerjan> > foldMap (Last . Just) tree
04:11:35 <shachaf> > foldMap (\x -> Last (Just x)) $ Node 0 [Node 1 undefined, Node 2 []]
04:11:37 <lambdabot> Last {getLast = Just 1}
04:11:37 <lambdabot> Last {getLast = Just 2}
04:11:50 <oerjan> > foldMap (Last . Just) $ toList tree
04:11:50 <shachaf> > foldMap (\x -> Last (Just x)) . F.toList $ Node 0 [Node 1 undefined, Node 2 []]
04:11:51 <lambdabot> Not in scope: ‘toList’
04:11:51 <lambdabot> Perhaps you meant one of these:
04:11:53 <lambdabot> ‘F.toList’ (imported from Data.Foldable),
04:11:54 <lambdabot> can't find file: L.hs
04:11:56 <lambdabot> ‘IS.toList’ (imported from Data.IntSet),
04:11:58 <oerjan> > foldMap (Last . Just) $ F.toList tree
04:11:58 <lambdabot> ‘S.toList’ (imported from Data.Set)
04:12:03 <lambdabot> mueval-core: Time limit exceeded
04:12:06 <oerjan> > foldMap (Last . Just) $ F.toList tree
04:12:13 <lambdabot> mueval-core: Time limit exceeded
04:12:13 <lambdabot> mueval: ExitFailure 1
04:12:21 <oerjan> i think that's an example
04:15:52 <int-e> oh, right, you need a monoid where _|_ <> Foo = Foo.
04:16:03 <int-e> for some Foo
04:16:38 <oerjan> yeah
04:16:49 <int-e> and then you just have to replace the _|_ by something that is infinite as a list.
04:18:33 <oerjan> precisely
04:31:20 * Sgeo is fairly sure that his exchange is incorrect
04:31:36 <Sgeo> 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 <mroman_> moin
05:56:42 <mroman_> zzo38: wth are SQL based polls?
05:56:50 <oerjan> morn
05:56:53 <Sgeo> The unoptic mechanism is what my exchange is supposed to be?
05:57:08 <mroman_> Do the participant have to write INSERT INTO stateements?
05:57:10 <Sgeo> How come I see code for unchoice?
05:57:17 <Sgeo> I thought you could only turn around isos
05:57:21 <mroman_> *participants *statements
05:58:14 <oerjan> 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 <Sgeo> 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 <elliott> Sgeo: remit
05:59:33 <elliott> or re
05:59:35 <elliott> whatever it's called in lens now
05:59:46 <elliott> (except it retains the other side so you can flip back)
06:00:45 <Sgeo> I could follow this thing's convention and use un for both: http://lpaste.net/103359
06:00:51 <Sgeo> iiuc
06:01:17 <elliott> that is the point of from, yes.
06:01:47 <elliott> you can turn any optic around.
06:01:53 <elliott> in the case of Iso, what you get is another Iso.
06:02:47 <elliott> 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 <elliott> 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 <oerjan> Sgeo: http://www.reddit.com/r/haskell/comments/23uzpg/lens_is_unidiomatic_haskell/ch13df1
06:05:01 <oerjan> 5th last paragraph
06:05:05 <Sgeo> So, I'm not getting _that_ much value for using a system I understand slightly less
06:05:48 <elliott> 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 <Sgeo> 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 <Sgeo> 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 <Sgeo> My exchange code... looks correct, comparing it to the profunctor lenses paste
06:34:18 <mroman_> hu
06:34:24 <mroman_> where does cabal install cabal install cabal?
06:37:45 <mroman_> wtf
06:37:57 <mroman_> I thought it used to install into ~/.cabal/bin
06:39:56 <mroman_> ah. cabal != cabal-install
06:45:30 <Jafet> So where does the cabal-install's cabal install cabal-install cabal install cabal-install, cabal?
06:52:56 <fizzie> How much cabal would a cabal-install install, if a cabal-install could install cabal?
06:58:49 -!- evalj has joined.
07:01:56 <int-e> Why doesn't cabal-install distinguish between cabal and Cabal?
07:03:45 <Sgeo> I think I discovered a confusing case of generics in Racket
07:09:46 <Sgeo> 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 <Sgeo> https://github.com/Sgeo/racket-optics/blob/master/profunctors.rkt#L58
07:10:20 <Sgeo> That line calls _exchange_'s dimap, not driver's dimap
07:11:23 <Sgeo> I forgot how to permalink to a specific version easily
07:11:59 -!- newsham has quit (Quit: restart).
07:12:29 <Sgeo> 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 <Deewiant> 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 <Sgeo> http://pastie.org/9523463#
07:48:16 <Sgeo> That second string gets printed
07:50:10 -!- augur has quit (Quit: Leaving...).
07:51:25 <J_Arcane> I need to get me a VPS one of these days.
08:03:41 <Sgeo> 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 <fizzie> Deewiant: Where is the "brain" part?
08:29:03 <elliott> Sgeo: they are used in instances for un.
08:29:15 <elliott> I don't know the haskell code you pasted. it looks incomplete.
08:29:24 <elliott> probably someone did not fully explore the theory
08:29:55 <fizzie> Deewiant: I also like how ^ is both "set direction up" and exponentiation.
08:31:11 <fizzie> (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 <fizzie> 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 <Jafet> Permute the command line arguments
10:02:03 <fizzie> That was tried. (Should've mentioned.)
10:02:23 <fizzie> Well, not all permutations, it was a 9-line command from a build system.
10:02:31 <fizzie> 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 <HackEgo> [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 <fizzie> I interpreted those as plurals.
14:31:22 <mroman_> * A programming language that takes compiler errors as input .
14:32:14 <mroman_> Hm.
14:32:27 <mroman_> A programming language consisting of commands given as integers
14:32:36 <mroman_> where only integers are legal whose collatz sequence reaches 1
14:33:33 <mroman_> 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 <mroman_> hm
14:34:06 <fizzie> The page is longer than I remembered.
14:36:42 <pikhq> I should get off my ass and bother getting things so I can SSH over IPv4 innto my desktop.
14:46:52 <Taneb> 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 <Jafet> There is a trivial way to do that
14:51:16 -!- conehead has joined.
14:54:53 <Jafet> 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 <tromp_> that's easy; do a collatz sequence from i before the i'th instruction
15:03:23 <Bike> if you only need some finite number of instructions for a UTM it could be TC regardless, couldn't it
15:04:05 <Jafet> A less trivial language: given a mapping f: Z^+ -> instruction, the program n runs the instructions f n, f (collatz n), ...
15:04:16 <Bike> yeah that's what i was thinking
15:04:22 <Bike> though it sounds like a pain
15:05:09 <Jafet> (or the mapping can be part of the program, if it has finite support)
15:05:56 <Jafet> (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 <mroman_> A language that is only turing complete if it is not turing complete
15:23:43 <mroman_> I don't know enough paradoxical logic to know if that's even remotely possible
15:24:03 <mroman_> it probably even means that that language can't actually exist
15:25:18 <Jafet> No problem. The wiki is full of languages that don't actually exist
15:47:44 <quintopia> ugh
15:50:28 <Taneb> mroman_, I think it means that the language is not turing complete
16:01:16 <HackEgo> [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 <mroman_> woring with two keybords of duffrnte size is e fraking heall
16:53:39 <mroman_> why isnte there STndRD FAR SPCNG BOTWOON JOPBORDS/
16:54:18 <Jafet> Try resizing your hands.
16:54:29 <mroman_> I'm trying
16:54:29 <int-e> between what?!
16:54:37 -!- clog has joined.
16:54:47 <mroman_> *between keyboard keys
16:55:13 <mroman_> My keyboard at work has different spacings
16:55:32 <int-e> and how do you turn 'E' into 'O', hmm. Must be Dvorak?
16:55:32 <mroman_> it takes at least 5 minutes to get accustomed to my private keyboard's spacing
16:55:38 <mroman_> I'm Dvorak.
16:58:07 <mroman_> different spacing really messes up blind and fast typing
16:59:22 <Jafet> (http://25.media.tumblr.com/tumblr_m5g0opjSYf1r94e9jo1_500.gif)
16:59:48 <mroman_> 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 <fizzie> Is that from Ghost in the Shell?
17:33:30 <KingOfKarlsruhe> yes
17:33:34 -!- lollo64it has joined.
17:36:33 -!- augur has quit (Ping timeout: 272 seconds).
17:48:56 <mroman_> anti-selfie bill
17:48:58 <mroman_> wth is this
17:51:30 <int-e> USA?
17:52:12 <J_Arcane> http://www.abs-cbnnews.com/nation/09/03/14/anti-selfie-bill-still-limbo
17:52:35 <J_Arcane> Phillipines, actually.
17:53:24 <J_Arcane> http://cebudailynews.inquirer.net/40900/bill-vs-techy-intruders-mistaken-as-anti-selfie-bill
17:57:31 <int-e> 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 <int-e> how one can do that in the same article is beyond me.
17:58:35 <J_Arcane> politics: the same shit, just different toilets. ;)
18:09:38 <Jafet> It's odd that out of all the scenes, the typing is the one that I quote most often
18:12:40 <Bike> 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 <zzo38> mroman_: Sorry I cannot answer your question; I was sleeping. Now I can try to answer it.
18:32:04 <zzo38> 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 <mroman_> SQL is too oldschool
18:34:20 <mroman_> Hipsters like me use acid-state
18:36:26 <zzo38> Which means what?
18:44:58 <Melvar> < 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 <J_Arcane> zzo38: http://acid-state.seize.it/
18:57:58 <mroman_> It's some hip database haskellish thingy
18:58:49 <J_Arcane> 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 <int-e> J_Arcane: Sorry, I can't resist: How did you fit an entire book into a bookmark?
19:00:39 <J_Arcane> int-e: the magic of science.
19:01:44 <Jafet> Well, you see, a book about implementing scheme is a very small book.
19:01:46 <J_Arcane> (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 <J_Arcane> More seriously, though, it's a Wikibook: https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours
19:05:03 <Jafet> 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 <zzo38> 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 <zzo38> 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 <HackEgo> [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 <miko__> Hi. I remember there was a "hyper turing complete" esolang.
21:20:15 -!- Bicyclidine has joined.
21:20:24 <ais523> miko__: "uncomputable"'s the normal term
21:20:26 <ais523> there are several of those
21:21:40 <miko__> 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 <miko__> I don't remember the details, but something like that. Does anybody no the name?
21:22:31 <Bicyclidine> 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 <shachaf> http://esolangs.org/wiki/Brainhype ?
21:23:03 <Bicyclidine> damn, almost got it, but not quite
21:23:36 <Bicyclidine> 'super turing complete' seems dumb. wouldn't it more properly have post degree 0' or something like that
21:23:50 <ais523> I like onoz better
21:24:24 <Bicyclidine> or 0'' i guess
21:24:36 <shachaf> oh, onoz looks like fun
21:24:43 <miko__> Oh, it was brainhype.
21:24:44 <miko__> thanks
21:25:48 <Bicyclidine> is onoz recursive?
21:26:19 <Bicyclidine> 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 <ais523> I'm not sure, from the spec
21:26:59 <ais523> also I'm not sure if it matters for the behaviour
21:27:08 <ais523> maybe oerjan would know, but he isn't here
21:27:35 <ais523> @ask oerjan in onoz, do nested [] have BF or onoz semantics? and does it matter for the purpose behind the language?
21:27:35 <lambdabot> Consider it noted.
21:28:45 <Bicyclidine> 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 <ais523> Bicyclidine: obviously the semantics are different
21:30:43 <ais523> but the language may fulfil its purpose either way
21:32:11 <Bicyclidine> what's the purpose, exactly?
21:32:15 <Bicyclidine> i mean you're probably right but
21:32:34 <ais523> Bicyclidine: a language which is a) computable; b) cannot be proven to not halt
21:33:08 <Bicyclidine> ...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 <zzo38> Another kind of halting oracles, for sequent calculus based systems, can be an axiom schema |- ORACLE x for all nontheorems |- x
22:16:33 <zzo38> (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 <J_Arcane> This reminds me that I read a thing on SciAm today about using closed-time-loops in computing.
22:29:22 <zzo38> Yes, OK and how is that working?
22:30:05 -!- conehead has quit (Quit: Computer has gone to sleep).
22:30:17 <J_Arcane> 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 <J_Arcane> Imagine a zero-runtime for loop.
22:31:40 <J_Arcane> http://www.scientificamerican.com/article/time-travel-simulation-resolves-grandfather-paradox/
22:42:31 <coppro> 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 <coppro> because it's quantum, you can't just read the value stored in the CTC without disturbing it
22:43:13 <coppro> 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 <CrazyM4n_> hey, could someone lend me a hand making a language that I wrote turing complete?
22:46:12 <zzo38> 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 <zzo38> Cause and effect is then emergent instead of fundamental.
22:46:42 <zzo38> (That's just a guess, of course.)
22:47:46 -!- ais523 has joined.
22:47:55 <coppro> CrazyM4n_: Making it turing-complete? Is it on esolangs?
22:48:13 <zzo38> After all, some mathematical formulas have multiple solutions (or none at all), isn't it?
22:48:18 <coppro> yes
22:48:38 <CrazyM4n_> well, no
22:48:49 <CrazyM4n_> it's on github, i've never edited a wiki or anything
22:48:53 <CrazyM4n_> not sure of the standards
22:48:54 <coppro> 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 <coppro> CrazyM4n_: Is there a plain-language description of it?
22:49:25 <CrazyM4n_> yea
22:49:31 <CrazyM4n_> hold on, let me get the link
22:49:39 <CrazyM4n_> https://github.com/CrazyM4n/brainfunge/blob/master/README.txt
22:49:52 <CrazyM4n_> it's stack based, woohoo for originality
22:50:21 <coppro> What does ! do on an empty stack?
22:50:39 <coppro> anyway, just looking at it, I'm 99% sure it's TC
22:50:39 <zzo38> 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 <coppro> you can solve the wire-crossing problem with 0! or something similar
22:50:57 <coppro> err, 0`
22:51:15 <CrazyM4n_> well, the wires can cross already
22:51:21 <CrazyM4n_> because of the spaces
22:51:27 <coppro> oh wait, hmm
22:51:39 <coppro> you don't have a way to reach down the stack
22:51:55 <coppro> so that probably makes it fail to be TC, since you can only address two stack bits at a time
22:52:00 <CrazyM4n_> i was thinking of adding a second stack/turn it into a tape, kind of like BF
22:52:19 <coppro> If you added stack rotation that should be enough
22:52:19 <CrazyM4n_> and use [ and ] to navigate the tape
22:52:27 <zzo38> CrazyM4n_: It defines the ^ symbol twice
22:52:34 <CrazyM4n_> oh yeah, meant to remove that
22:52:40 <CrazyM4n_> ^ goes up, not exponentiation
22:52:56 <coppro> like, pop two values x and y, and put y on the stack x cells deep
22:53:05 <coppro> I believe that that's enough to get TC
22:53:10 <CrazyM4n_> the thing is, is that the stack is infinite
22:53:16 <CrazyM4n_> oh
22:53:19 <CrazyM4n_> that might work
22:53:26 <coppro> The stack is not infinite
22:53:29 <coppro> it is of unbounded size
22:53:40 <coppro> ais523 maybe knows the requirements for TC in a stack-based language better than I
22:53:52 -!- MDream has joined.
22:54:11 <CrazyM4n_> "zeroStack :: Stack; zeroStack = repeat 0" the stack starts as an infinitely sized array of 0
22:54:12 <coppro> actually wait, nevermind, it definitely is enough
22:54:35 <coppro> because you can use even locations to represent "forward" cells on the TM tape, an odd locations for "backward" cells
22:54:44 <coppro> oh no wait, that fails, hmm
22:54:55 <CrazyM4n_> i'm thinking to add an operator
22:54:56 -!- MDream has changed nick to MDude.
22:55:19 <CrazyM4n_> that pops the top of the stack, and accesses a value at that index, and brings it to the top
22:55:28 <coppro> that's equivalent
22:55:32 <coppro> so suc=re
22:55:33 <coppro> *sure
22:55:43 <CrazyM4n_> oh yea, that's kinda what you said haha
22:55:59 <coppro> mine went down, but you can implement either with the other
22:56:07 <coppro> two stacks is enough for TC
22:56:20 <coppro> not sure if one is, when implemented as such
22:56:32 <CrazyM4n_> my friend suggested just adding a seperate stack also
22:56:33 <coppro> although actually
22:56:38 <coppro> if your stack is infinite
22:56:42 <coppro> then you can address any cell
22:56:48 <coppro> so it's just an infinite register bank
22:56:53 <CrazyM4n_> why not just make it a "memory block" instead of a stack? i could have an infinite array of stacks
22:56:54 <coppro> which is enough
22:57:01 <CrazyM4n_> yeah, i'll do that
22:57:01 <CrazyM4n_> like
22:57:09 <coppro> so yeah, rotation is enough
22:57:09 <CrazyM4n_> access at x index
22:57:24 <CrazyM4n_> well, rotation is impossible on an infinite array
22:57:28 <CrazyM4n_> that's my concern
22:57:33 <coppro> even addressed rotation I mean
22:57:59 <coppro> 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 <CrazyM4n_> 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 <coppro> CrazyM4n_: the operation you described above is enough
22:59:15 -!- Guest10538 has changed nick to skarn.
22:59:42 <CrazyM4n_> i'll work on that and see how weird it feels
22:59:46 <coppro> 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 <CrazyM4n_> ah i see
23:00:08 -!- Sgeo has joined.
23:00:43 <ais523> <coppro> ais523 maybe knows the requirements for TC in a stack-based language better than I ← another stack
23:00:54 <ais523> although it can be subtle
23:00:57 <coppro> ais523: stack rotation is enough too, I'm pretty sure
23:01:03 <ais523> coppro: then the bottom of the stack is another stack
23:01:10 <coppro> I guess
23:01:16 <coppro> although in CrazyM4n_'s case, there is no bottom
23:01:19 <ais523> other subtle places to find it are the call stack, and inside the structure of stack elements
23:01:26 <ais523> coppro: well you can't rotate a stack without having a bottom
23:01:35 <coppro> ais523: you can do a partial rotate
23:01:45 <ais523> 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 <coppro> yeah
23:02:57 <CrazyM4n_> "- | = 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 <CrazyM4n_> 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 <CrazyM4n_> *arithmetic
23:07:21 <coppro> CrazyM4n_: yes, those two operations together are definitely enough
23:07:26 <CrazyM4n_> on second thought, having arithmetic not pop the stack would make for some really interesting solutions to code golf challenges
23:07:35 <coppro> I prefer that arithmetic pops, but yes, that second thing is true
23:07:46 <coppro> by the way, you should make a page at esolangs.org :)
23:07:51 <CrazyM4n_> like, the fibonacci sequence would be "1>+O<"
23:08:15 * Sgeo yells at confusing cloud
23:08:18 <CrazyM4n_> 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 <CrazyM4n_> so a truth machine is really easy in my language
23:15:40 <CrazyM4n_> writing one right now, it kinda looks really cool
23:17:58 -!- conehead has quit (Client Quit).
23:18:21 <CrazyM4n_> does anyone know how to make sublime text not automatically delete whitespace on an empty line?
23:18:42 <CrazyM4n_> err, if you press enter on a line with only whitespace
23:29:26 <CrazyM4n_> 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 <CrazyM4n_> 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 <ais523> remember the Visual Studio issues I had a while ago?
23:56:48 <Bicyclidine> thankfully no
23:56:57 <ais523> right, you weren't here
23:59:13 <ais523> anyway, I finally solved my original problem by taking some precompiled binaries and modifying the binaries
23:59:13 <ais523> because it was easier than getting the program to compile
23:59:13 <ais523> using objdump -d from Linux and just comparing the binaries and the source
23:59:13 <ais523> string literals are pretty useful at figuring out what corresponds to what
2014-09-04
00:01:37 <HackEgo> [wiki] [[Special:Log/newusers]] create * CrazyM4n * New user account
00:02:58 <CrazyM4n_> is there a page that describes 2d languages that i could link to?
00:04:56 <fizzie> 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 <fizzie> Oh, unless you meant a general page about them.
00:05:30 <HackEgo> [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 <CrazyM4n_> i did
00:06:06 <CrazyM4n_> but i can add that
00:06:12 <fizzie> 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 <CrazyM4n_> how can i add a language to a category?
00:07:46 <zzo38> By typing [[Category:2014]] or whatever
00:07:54 <CrazyM4n_> kk thanks
00:08:00 -!- Melvar has joined.
00:08:23 <fizzie> Conventionally, at the very end of the article.
00:09:12 <HackEgo> [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 <CrazyM4n_> 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 <ais523> to place code blocks on Esolang, either use <pre> to </pre>, or if it's simple, you can just start each line with a space
00:13:21 <fizzie> Trying to emulate the syntax highlighting in that screenshot is probably not advisable.
00:13:56 <fizzie> (It's kind of a mess.)
00:13:59 <CrazyM4n_> not the syntax highlighting, just the block :P
00:14:12 -!- qlkzy_ has joined.
00:14:39 <CrazyM4n_> someone should make BF/BF-like syntax highlighting automatic as it's so common
00:14:44 <fizzie> 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 <CrazyM4n_> oh yea, it's a wiki
00:14:58 -!- FireFly has joined.
00:14:59 <CrazyM4n_> whoosh
00:15:50 <fizzie> There are probably a number of brainfuck syntax highlighters. I know sprunge.us does both brainfuck and befunge, at least.
00:16:39 <CrazyM4n_> that's quite nice
00:16:59 <CrazyM4n_> so i've seen people using sprunge.us instead of pastebin
00:17:07 <CrazyM4n_> is that reccomended? or is it just a choice
00:17:25 <fizzie> 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 <zzo38> Some people prefer it; I prefer sprunge
00:17:46 <fizzie> It's just a choice, presumably due to to it being more convenient from the command line.
00:18:06 <zzo38> Yes
00:18:08 <fizzie> And maybe also because it doesn't add any extra cruft to the paste.
00:18:12 <CrazyM4n_> ah
00:18:27 <fizzie> (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 <fizzie> http://sprunge.us/AhUR?befunge heh
00:19:10 <fizzie> Didn't really recognize the commens in there.
00:19:18 <fizzie> (Not a surprise.)
00:19:39 <fizzie> fungot: How do you feel about being so colorful?
00:19:40 <fungot> 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 <zzo38> 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 <CrazyM4n_> wh-who would write such a long program in befunge
00:20:59 <CrazyM4n_> it's like self torture
00:21:08 -!- thomasfu` has joined.
00:21:16 <zzo38> Some people like this kind of torture
00:21:58 <Bike> excuse me?
00:22:18 <boily> good tortured evening y'all ^^
00:22:25 <CrazyM4n_> lol it was a joke
00:22:32 <CrazyM4n_> but still, it'd be a terrible pain to maintain
00:23:52 <zzo38> 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 <Bike> oh, i didn't see the context and thought zzo was just telling us about his kinks unprompted
00:26:24 <Bike> oops
00:27:38 <CrazyM4n_> that's great
00:27:56 <HackEgo> [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40393&oldid=40392 * CrazyM4n * (+1775)
00:28:26 -!- variable has joined.
00:30:24 <CrazyM4n_> so the wikipage for brainfunge is practically done
00:30:24 <CrazyM4n_> http://esolangs.org/wiki/Brainfunge
00:30:25 <CrazyM4n_> :D
00:31:37 <zzo38> 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 <HackEgo> [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 <zzo38> 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 <CrazyM4n_> so i finished the truth machine
00:51:45 <CrazyM4n_> it looks sweet
00:51:50 <zzo38> What kind of algorithm can be used?
00:53:18 <CrazyM4n_> why not just use a dict like is provided default in most languages?
00:53:58 <CrazyM4n_> also here's a truth machine in my language: http://sprunge.us/efZU
00:54:14 <zzo38> OK, then you should post it on the wiki
00:54:38 <CrazyM4n_> i'm doing it right now
00:55:03 <CrazyM4n_> (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 <zzo38> OK
00:55:41 <HackEgo> [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 <CrazyM4n_> "[Quit: SUPERLUMINARY CHICKEN]" he should probably do something about that
01:01:06 <zzo38> Why?
01:01:30 <CrazyM4n_> i didn't mean as in change it
01:01:46 <CrazyM4n_> i meant as in "he should fix his chicken"
01:02:06 <CrazyM4n_> i was making a joke :P
01:03:22 <zzo38> Fix the chicken?
01:03:57 <zzo38> You wrote "why not just use a dict like is provided default in most languages?" but I do not understand.
01:09:16 <CrazyM4n_> oh
01:10:01 <CrazyM4n_> 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 <zzo38> It isn't what I am looking for though at all
01:13:25 <zzo38> 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 <CrazyM4n_> ah
01:18:48 <CrazyM4n_> can i use a case statement into a do block?
01:18:50 <Jafet> If you have a large number of small strings, exhaustive search should be efficient.
01:19:01 <CrazyM4n_> err, wrong irc, sorry, lol
01:19:21 <Jafet> Or rather, sufficient.
01:26:07 -!- Lorenzo64 has joined.
01:26:16 <zzo38> 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 <HackEgo> [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 <CrazyM4n_> so
01:49:19 <CrazyM4n_> in brainfunge
01:49:36 <CrazyM4n_> right now, by accident, getting characters can get the "enter" character
01:49:41 <CrazyM4n_> should i get rid of that lol
01:50:04 <CrazyM4n_> i think i will
01:54:19 <quintopia> hi CrazyM4n_
01:58:39 <Melvar> CrazyM4n_: You mean you don’t want to be able to read newlines?
02:01:35 <CrazyM4n_> oh
02:01:53 <CrazyM4n_> yea, right now it's reading newlines in the read character command
02:02:00 <CrazyM4n_> 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 <CrazyM4n_> http://prntscr.com/4jh5il fancyy
02:14:22 <HackEgo> [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40397&oldid=40395 * CrazyM4n * (+1) /* Syntax */
02:15:24 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=40398&oldid=40396 * CrazyM4n * (+6) /* Brainfunge */
02:16:52 <zzo38> 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 <Jafet> > 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'<size ss = first ((y,x):) $ comp ss' ys | True = ([],ss) where{ (sz',x,ss') = minimum [ (size ss'+length x,x,ss') | x <- map head.group.sort $ subs=<<ss, let ss' = sub x y<$>ss ]} in comp ["abcdabc", "bbcababc", "badbadcab"] (show<$>[0..])
02:33:18 <lambdabot> ([("0","ab"),("1","0c"),("2","bad")],["1d1","bbc01","22c0"])
02:38:11 <zzo38> 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 <oerjan> @messages-
04:02:18 <lambdabot> 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 <oerjan> @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 <lambdabot> Consider it noted.
04:08:38 -!- conehead has quit (Quit: Computer has gone to sleep).
04:08:46 <shachaf> oerjan: Matter in ais523's sense?
04:09:52 <oerjan> what was his sense? since it is computable anyhow it should be emulatable in ordinary BF regardless.
04:10:41 <oerjan> i suppose this may wait until i actually get to that in the logs.
04:11:09 <Bike> 14:31 < ais523> Bicyclidine: a language which is a) computable; b) cannot be proven to not halt
04:11:29 <shachaf> Oh, I assumed you only @message when you reach the @ask in the logs.
04:12:25 <oerjan> 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 <shachaf> what if someone sends you a private message
04:13:23 <oerjan> then i'll know when i actually speak.
04:13:34 <oerjan> and the logs won't tell me anyhow.
04:14:01 <shachaf> I mean: If someone sends you a message in here and someone else sends you a private message.
04:14:59 <oerjan> right. i've considered that possibility, and since i get messages so rarely i don't bother to compensate for it.
04:15:55 <oerjan> 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 <shachaf> I don't bother to send you messages in here because you logread them anyway.
04:16:54 <oerjan> heh
04:29:50 -!- MDude has changed nick to MDream.
04:30:02 <zzo38> 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 <zzo38> 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 <oerjan> nah i'll just ring the bell on every door in bc until i find you hth
04:35:04 <oerjan> admittedly that may take a while.
04:37:27 <zzo38> 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 <oerjan> fiendish
04:39:41 <shachaf> do you live in Delta, BC
04:40:37 <oerjan> shachaf: hey wait a minute i thought the creepy stalking was _my_ job
04:41:02 <shachaf> oerjan: your strategy isn't very effective hth
04:41:13 <shachaf> also he just told us where the information is
04:41:18 <zzo38> 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 <oerjan> well i did secret consider using the phone book for filtering a bit
04:41:21 <shachaf> so it's not much of a secret
04:41:37 <oerjan> *-ly
04:41:43 <oerjan> *+-ly
04:43:37 <zzo38> 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 <shachaf> oerjan: which phone book, though
04:44:10 <shachaf> zzo38: I think yes but I'm not sure.
04:44:56 <oerjan> bc has more than one? fiendish.
04:45:28 <zzo38> oerjan: Yes, I think it has many phone books.
04:45:39 <shachaf> uncountably many phone books
04:47:19 <oerjan> oh i somehow read manager as registrar, i guess it make slightly more sense then.
04:47:26 <oerjan> *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 <oerjan> as of girl genius, i'm suddenly getting a small hunch lady selnikov is _not_ one of the good guys.
06:29:07 <mroman_> ah. mueval breaks happstack :(
06:29:42 <int-e> "breaks", hmm.
06:33:57 <mroman_> it downgrades packages
06:36:11 <int-e> is it transformers? anything that depends on transformers-0.4.* will break the ghc package, which mueval depends on (via hint)
06:38:13 <mroman_> bytestring
06:40:30 <int-e> 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 <int-e> which does not contain bytestring, only base64-bytestring-1.0.0.1
06:41:23 <mroman_> utf8-string-0.3.8 (reinstall) changes: bytestring-0.10.4.0 -> 0.9.2.1
06:41:59 <int-e> what is your ghc version?
06:42:03 <mroman_> 7.4.1
06:42:11 <oerjan> ...duh.
06:42:12 <int-e> oh. o-kay.
06:42:22 <int-e> try 7.8.3, that should help.
06:43:43 <int-e> 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 <int-e> 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 <mroman_> *compiling 7.8.3*
07:10:10 <int-e> 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 <int-e> oh. vats
07:10:34 <mroman_> "For most users, we recommend installing the Haskell Platform instead of GHC. " <- what's this warning anyway
07:10:42 <mroman_> haskell platform doesn't ship a compiler?!?
07:11:08 <Taneb> Haskell Platform includes a Haskell compiler
07:11:10 <oerjan> well she's already died once, albeit briefly
07:11:12 <mroman_> really?
07:11:18 <mroman_> that somehow never worked for me
07:11:48 <int-e> oerjan: even more unlikely because we've just had this time traveling episode. Hmm.
07:12:04 <mroman_> Taneb: the source distribution?
07:12:43 <Taneb> http://www.haskell.org/platform/contents.html it includes GHC
07:12:43 <oerjan> int-e: well i'm not _sure_ we should consider the intermission stories canonical.
07:12:55 <int-e> oerjan: oh you mean that strange disease in the dungeons, where to rescue everybody, everybody had to die?
07:13:02 <oerjan> especially when not made by the foglios themselves
07:13:24 <int-e> oerjan: I don't mean that intermission
07:13:26 <oerjan> int-e: yeah.
07:13:38 <mroman_> yeah, but not the source distribution
07:13:53 <oerjan> which time travel episode are you talking about then
07:13:56 <int-e> oerjan: I mean the massively delayed portal out of Mechanicsburg.
07:14:01 <oerjan> oh that
07:14:10 <mroman_> building from the source usually required building the new ghc first
07:14:15 <mroman_> and then build the haskell-plattform with it
07:14:31 <mroman_> but I see the new platform doesn't have the ./configure && make style anymore :(
07:14:46 <int-e> 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 <oerjan> perhaps
07:16:57 <mroman_> is cabal shipped part of ghc or in the hp?
07:17:09 <oerjan> ghc needs cabal iirc
07:17:33 <oerjan> although there are suggestions to reduce the necessary intertwining
07:17:33 <int-e> it needs Cabal the library
07:17:36 <b_jonas> mroman_: I think only the binary distro of the "haskell platform" ships ghc,
07:17:41 <b_jonas> the source doesn't
07:17:51 <mroman_> Yep
07:17:58 <mroman_> source requires an existing build env
07:18:18 <oerjan> i recall someone previously complaining that they couldn't use a self-compiled ghc to install platform with the new system
07:18:18 <mroman_> building with 8 cores sure is fast :)
07:18:26 <oerjan> because it _demands_ a binary tarball
07:18:35 <int-e> the HP ships cabal the executable (provided by the cabal-install package)
07:18:39 <mroman_> although I already have cabal 1.20 or something in my ~./cabal/bin
07:18:49 <mroman_> Can I still use that after upgrade ghc to 7.8.3?
07:18:54 <int-e> yes
07:19:01 <mroman_> (i'll find out sooner or later anyway)
07:19:08 <mroman_> but I need to install packages again
07:19:09 <mroman_> that's for sure
07:19:23 <oerjan> well all ghc upgrading requires reinstalling all libraries
07:19:31 <int-e> yes, you can use that cabal binary with the new ghc.
07:19:32 <oerjan> because no ABI compatibility
07:20:26 <oerjan> (massing cross-module inlining _would_ tend to do that, i guess)
07:20:34 <int-e> oerjan: he means the cabal-install executable
07:20:39 <elliott> oerjan: you can just make a binary tarball when compiling ghc yourself?
07:20:50 <oerjan> i sort of realized but i kept blathering anyhow :P
07:21:15 <mroman_> I recently wanted to build ghc on a VM
07:21:18 <mroman_> no chance of doing that
07:21:21 <oerjan> 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 <oerjan> (not that i've ever tried)
07:21:31 <int-e> mroman_: and why not?
07:21:41 <mroman_> you can't build it without +512MB of RAM
07:21:43 <elliott> oerjan: it's probably make dist or something like that
07:21:48 <int-e> mroman_: all you need is oh-a-bit-more-than-1GB of RAM. :P
07:22:05 <mroman_> I.e. I know you can't build it with 512MB
07:22:06 <oerjan> elliott: hm you might want to tell this to mroman_ then :)
07:22:23 <int-e> (Actually 512MB + 512MB swap works for building ghc.)
07:22:41 <mroman_> My VM doesn't have Swap :)
07:22:46 <elliott> oerjan: well, I don't want to do the investigation myself :p
07:22:51 <mroman_> not enough disk space for a swap
07:23:01 <elliott> your VM had less than 512 megabytes of disk?
07:23:04 <mroman_> because ghc takes a looooot of disk space
07:23:13 <mroman_> elliott: No.
07:23:18 <mroman_> but there's a system on that disk too
07:23:24 <mroman_> and ghc source is pretty huge
07:23:44 <mroman_> It's 10MB when you download it
07:23:51 <mroman_> but it's gets freaking huge once it's building things
07:24:00 <mroman_> *it
07:24:14 <int-e> 840MB here
07:24:42 <mroman_> GHC is too fat for small VMs ;)
07:24:51 <int-e> a neat dynamic-only build, no profiling, no split objs.
07:25:19 <int-e> only 200 MB installed size.
07:25:26 <fizzie> 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 <int-e> the real fun comes with regex-tdfa and haskell-src-exts
07:26:26 <int-e> each containing 2 modules (I think) that require almost 1GB to compile.
07:26:37 <int-e> both are dependencies of lambdabot. Fun.
07:26:38 <mroman_> some Dyn*.o requires a lot of RAM
07:26:43 <mroman_> DynFlags?
07:26:46 <mroman_> I think it was
07:26:57 <int-e> yes, but it's still way less than 1GB
07:27:32 <elliott> haskell-src-exts is awful
07:27:35 <elliott> what does regex-tdfa do?
07:27:47 <int-e> it matches regular expressions
07:27:59 <int-e> "tdfa" is Thompson's Deterministic Finite Automaton
07:28:27 <Taneb> Does being an invariant imply being a precondition?
07:29:08 <int-e> no
07:29:21 <mroman_> I had an older laptop once
07:29:22 <int-e> an invariant can be a value of any type.
07:29:28 <mroman_> I couldn't get GHC to compile on it too :)
07:29:34 <mroman_> but not because of memory
07:29:55 <mroman_> It overheated some hours into compilation
07:29:59 <mroman_> :(
07:30:29 <mroman_> It ran fine for everything except compiling for hours.
07:31:01 <mroman_> Although I might have been able to compile it by adjusting cpufreq
07:31:08 <mroman_> I vaguely remember something like that
07:31:39 <mroman_> It took something in the range of 6-8 hourse
07:32:38 <mroman_> I dare you to compile it on a 166 MHz P1 .
07:34:27 <mroman_> btw. If I were to write an interpreter for assembly
07:34:40 <mroman_> How does one simulate Memory in Haskell efficiently?
07:34:50 <mroman_> i.e. a mutable array actually
07:34:55 <int-e> use ST mutable arrays?
07:36:00 <elliott> int-e: I mean, what does it do to compile so slowly?
07:36:07 <b_jonas> int-e: or ST mutable unboxed numeric arrays
07:39:03 <mroman_> Damn Facebook is driving up my phone bills !
07:43:28 <mroman_> Interesting.
07:43:49 <mroman_> Sign a secret contract with a phone provider, write an app that "preloads" a buttload of data
07:44:12 <mroman_> share the money made with the data-amount charges by the phone provider
07:44:46 <int-e> 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 <int-e> (it uses SPECIALIZE, too.)
07:45:23 <elliott> impressive.
07:46:12 -!- miko__ has joined.
07:46:29 <mroman_> Is GHC that inefficient with RAM or does it just do crazy things that unavoidably require a buttload of memory?
07:47:03 <oerjan> porque no los dos
07:47:58 <mroman_> puh
07:48:04 <mroman_> I had only one semester of spanish
07:48:06 <mroman_> and I sucked
07:48:10 <int-e> I would say that low memory usage is definitely not a design goal of ghc.
07:48:26 <oerjan> mroman_: it's an advertising meme, anyhow
07:49:12 <oerjan> int-e: you'd think they'd at least try a _little_.
07:49:35 <Jafet> ghc is so good at gobbling memory, ld will thrash sympathetically even when ghc isn't running
07:49:59 <olsner> 600MB doesn't seem like that much for an optimizing compiler
07:50:40 <int-e> . o O ( but! it would take 1000 IBM PCs to even contain that mucb memory! )
07:52:25 <mroman_> Yeah. I mean if you buy a PC today it's got 16GB of RAM.
07:52:28 <mroman_> .
07:52:51 <mroman_> and Linux will allocate 20GB of Swap
07:54:50 <elliott> uh, that's unlikely.
07:54:54 <mroman_> well
07:54:58 <mroman_> I have 8GB RAM on my machine here
07:55:02 <mroman_> and 10GB of Swap
07:55:23 <elliott> installers generally or at least should handle large amounts of memory differently when calculating swap size.
07:55:26 <mroman_> which hints that Linux will alocate RAM*c GB of swap
07:55:29 <mroman_> where c is some factor
07:55:41 <mroman_> and it hints that swap > RAM
07:55:54 <elliott> "Linux" doesn't allocate swap.
07:55:58 <mroman_> yeah
07:56:00 <mroman_> the installer does
07:56:06 <mroman_> I hate Linux
07:56:15 <mroman_> For Windows you can just say "windows does that"
07:56:22 <mroman_> but for Linux...
07:56:30 <olsner> technically you allocated the swap, but you might not have been looking when you clicked through the default
07:56:42 <mroman_> "No, it's not Linux. It's that tool written by that guy that is bundled with "Linux" that does that"
07:57:22 <mroman_> of course not @olsner
07:57:42 <mroman_> That's why there's "[x] use default recommended settings"
07:58:19 <olsner> but the defaults are always completely wrong
07:59:04 <mroman_> and yes, honestly I'm too lazy to check if recommended settings are really _that_ good as they _should_ be
07:59:41 <mroman_> either too lazy or I wouldn't know it better anyway
07:59:59 <mroman_> I can honestly say that I'm comfortable using Linux but I don't really know much about it
08:00:13 <mroman_> and by Linux I mean "Debian/Ubuntu" (for the purists here)
08:01:27 <mroman_> back in the days people ran around saying "you need RAM*1.5 Bytes of Swap"
08:02:14 <mroman_> (where back in the days means like 8 years ago)
08:03:21 <J_Arcane> Default swap tends to be smaller now.
08:07:49 <mroman_> > 9918/8021
08:07:51 <lambdabot> can't find file: L.hs
08:07:53 <mroman_> > 9918/8021
08:07:55 <lambdabot> 1.2365041765365914
08:08:03 <mroman_> Would somebody pls just create a L.hs .
08:08:16 <mroman_> ^- my RAM to SWAP ratio
08:08:43 <mroman_> it's a 32bit Linux though
08:11:40 <int-e> 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 <int-e> (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 <b_jonas> mroman_: yes, that was because ram was small back then
08:14:19 <mroman_> int-e: if you have enough physicall memory available yes
08:14:33 <mroman_> but sooner or later you have to swap out pages to disk
08:14:38 <mroman_> (if programs consume too much)
08:15:10 <int-e> mroman_: ... how does that relate to my statement?
08:15:14 <mroman_> mmap
08:15:17 <mroman_> that's just paging
08:15:50 <mroman_> swapping without paging would be even harder
08:15:57 <int-e> the point is that conceptually, mmap pages to any file system, not necessarily to dedicated swap space.
08:16:03 <mroman_> since then programs would need a continous block of physical memory
08:16:07 <mroman_> *because
08:16:25 <mroman_> int-e: oh.
08:16:26 <mroman_> Ok.
08:16:39 <mroman_> You mean you can page into a file rather than into a swap partition?
08:16:44 <int-e> yes
08:18:43 <mroman_> windows does that too
08:19:09 <mroman_> hm..
08:19:24 <mroman_> 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 <oerjan> int-e: maybe you should put some kind of lock on the commands that access L.hs
08:23:43 <int-e> oerjan: I know.
08:24:10 -!- Patashu has joined.
08:24:55 <int-e> 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 <int-e> oerjan: http://sprunge.us/OaKI is another issue with it.
08:28:33 <int-e> 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 <shachaf> 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 <int-e> oerjan: in any case ... feel free to investigate, I'm staying away from that code for now. :-P
08:29:47 <oerjan> eek
08:30:00 <shachaf> oerjan: it's been so long
08:30:14 * oerjan is _not_ about to compile lambdabot himself any time soon.
08:31:11 <oerjan> a swatter for a more civilized age
08:31:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
08:31:48 <shachaf> 44?
08:31:50 <b_jonas> > replicate "twice "
08:31:51 <lambdabot> Couldn't match expected type ‘GHC.Types.Int’
08:31:51 <lambdabot> with actual type ‘[GHC.Types.Char]’
08:32:03 <b_jonas> > cycle "twice "
08:32:04 <lambdabot> "twice twice twice twice twice twice twice twice twice twice twice twice twi...
08:32:06 <b_jonas> better
08:32:10 -!- Patashu_ has quit (Remote host closed the connection).
08:32:29 <oerjan> > replicate 2 "twice "
08:32:30 <lambdabot> ["twice ","twice "]
08:33:00 -!- Patashu has joined.
08:34:35 <b_jonas> > map fromEnum "twice "
08:34:36 <lambdabot> [116,119,105,99,101,32]
08:35:43 <mroman_> > fromEnum True
08:35:44 <lambdabot> 1
08:35:48 <mroman_> > next $ fromEnum True
08:35:49 <lambdabot> No instance for (System.Random.RandomGen GHC.Types.Int)
08:35:49 <lambdabot> arising from a use of ‘System.Random.next’
08:35:53 <mroman_> hm
08:35:56 <mroman_> or was it succ
08:36:02 <mroman_> what's succ for Enums?
08:36:08 <mroman_> @type succ
08:36:09 <lambdabot> Enum a => a -> a
08:36:12 <mroman_> ah
08:36:13 <mroman_> :D
08:36:24 <mroman_> > toEnum . succ $ fromEnum True
08:36:25 <lambdabot> *Exception: Prelude.Enum.().toEnum: bad argument
08:36:30 <mroman_> > toEnum . succ $ fromEnum False
08:36:32 <lambdabot> *Exception: Prelude.Enum.().toEnum: bad argument
08:36:40 <mroman_> what
08:37:34 <mroman_> > fromEnum False
08:37:36 <lambdabot> can't find file: L.hs
08:37:40 <mroman_> > fromEnum False
08:37:42 <lambdabot> 0
08:37:58 <mroman_> > (toEnum . succ $ fromEnum False) :: Bool
08:37:59 <lambdabot> True
08:42:08 <oerjan> mroman_: i think your toEnum is defaulting to ()
08:42:28 <oerjan> > toEnum 0
08:42:29 <lambdabot> ()
08:45:37 <shachaf> pft, tagToEnum# is the way to go
08:45:59 <shachaf> tagToEnum# is such a powerful function that it doesn't even have a type
08:47:42 <int-e> owie. TMPDIR will not help me ... ./Mueval/Interpreter.hs: setCurrentDirectory "/tmp" -- will at least mess up relative links
08:49:34 <int-e> (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 <mroman_> @type tagToEnum#
08:55:54 <lambdabot> Not in scope: ‘tagToEnum#’
08:56:05 <mroman_> > tagToEnum# 0
08:56:06 <lambdabot> Not in scope: ‘tagToEnum#’
08:56:28 <int-e> @type GHC.Exts.tagToEnum#
08:56:29 <lambdabot> tagToEnum# must appear applied to one argument
08:56:29 <lambdabot> In the expression: GHC.Prim.tagToEnum#
08:56:38 <int-e> @type GHC.Exts.tagToEnum# 0
08:56:39 <lambdabot> tagToEnum# must appear applied to one argument
08:56:39 <lambdabot> In the expression: GHC.Prim.tagToEnum# 0
08:56:55 <int-e> @type GHC.Exts.tagToEnum# 0#
08:56:56 <lambdabot> tagToEnum# must appear applied to one argument
08:56:56 <lambdabot> In the expression: GHC.Prim.tagToEnum# 0#
08:57:00 * int-e shrugs
08:57:02 <shachaf> :t GHC.Exts.tagToEnum# 0# :: Bool
08:57:03 <lambdabot> Bool
08:57:36 <shachaf> imo import GHC.Exts in L.hs
08:57:39 <shachaf> can't hurt, right?
08:57:51 <shachaf> :t GHC.Exts.the -- useful function right here
08:57:52 <lambdabot> Eq a => [a] -> a
08:57:59 <int-e> shachaf: I hear you want to take over running lambdabot now?!
08:58:03 <mroman_> hu
08:58:10 <mroman_> > GHC.Exts.the [1,2,3]
08:58:11 <lambdabot> Not in scope: ‘GHC.Exts.the’
08:58:20 <shachaf> int-e: does that mean putting me on the admin list
08:58:24 <shachaf> that would be useful
08:58:25 <mroman_> :t GHC.Exts.the
08:58:26 <lambdabot> Eq a => [a] -> a
08:58:33 <mroman_> wait... you can ask for the type but not call it?
08:58:39 <shachaf> Correct.
08:58:44 <int-e> shachaf: sure, if you run it, you have full access to the admin list :-P
08:58:58 <shachaf> I don't want to run it. But thanks.
08:59:06 <shachaf> I hear it's a sort of curse.
09:00:20 <int-e> 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 <int-e> it sure cut down on the "lambdabot is down again!" complaints.
09:02:19 <shachaf> well, i can keep getting @admin powers illegitimately instead
09:02:29 <shachaf> or i can not do that either if you'd prefer i stop
09:04:37 <int-e> I just don't have the impression that lack of people with lambdabot admin access is an actual issue.
09:06:03 <shachaf> that depends
09:07:51 <oerjan> @tell CrazyM4n <CrazyM4n_> err, wrong irc, sorry, lol <-- No worries, #esoteric is sometimes nearly as haskelly as #haskell.
09:07:51 <lambdabot> Consider it noted.
09:14:01 <elliott> you didn't stop doing it when I asked when I ran it.
09:14:48 <oerjan> it is possible shachaf may have grown up a bit, i hear people sometimes do.
09:15:50 <shachaf> i wouldn't put it that way
09:16:01 <oerjan> (not me, though, that would be crazy talk.)
09:26:47 <oerjan> > undefined <> undefined :: ()
09:26:49 <lambdabot> ()
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 <mroman_> @type (<>)
10:12:15 <lambdabot> Monoid m => m -> m -> m
10:12:36 -!- boily has joined.
10:12:39 <mroman_> > Just 5 <> Just 6
10:12:41 <lambdabot> No instance for (GHC.Show.Show a0)
10:12:41 <lambdabot> arising from a use of ‘M30885628829344643438606.show_M30885628829344643438...
10:12:41 <lambdabot> The type variable ‘a0’ is ambiguous
10:12:41 <lambdabot> Note: there are several potential instances:
10:12:41 <lambdabot> instance [safe] GHC.Show.Show
10:12:59 <mroman_> M30885628829344643438606.show_M30885628829344643438...
10:13:01 <mroman_> ah yes..
10:13:06 <mroman_> that's human readable
10:13:37 <mroman_> > (Just 5 <> Just 6) :: Maybe Int
10:13:38 <lambdabot> No instance for (Data.Monoid.Monoid GHC.Types.Int)
10:13:39 <lambdabot> arising from a use of ‘Data.Monoid.<>’
10:13:44 <mroman_> but that won't work anyway
10:13:45 <mroman_> I guess
10:17:33 <boily> :t First
10:17:34 <lambdabot> Maybe a -> First a
10:17:56 <boily> > First (Just 5) <> First (Just 6)
10:17:58 <lambdabot> First {getFirst = Just 5}
10:18:26 <boily> mroman_: probably something like that? (with an hypothetical getFirst too)
10:29:03 <mroman_> Never heard of First
10:29:06 <mroman_> :i First
10:29:11 <mroman_> @info First
10:29:12 <lambdabot> First
10:29:22 <mroman_> :t First (Just 5)
10:29:22 <lambdabot> Num a => First a
10:29:42 <mroman_> :t Second
10:29:42 <lambdabot> Not in scope: data constructor ‘Second’
10:29:48 <int-e> it's Last
10:30:03 <mroman_> > Last (Just 5) <> Last (Just 6)
10:30:06 <lambdabot> Last {getLast = Just 6}
10:30:49 <mroman_> @hoogle Last
10:30:50 <lambdabot> Data.Monoid Last :: Maybe a -> Last a
10:30:50 <lambdabot> Data.Monoid newtype Last a
10:30:50 <lambdabot> package Lastik
10:30:57 <int-e> @info do foo; bar; baz
10:30:57 <lambdabot> foo >> bar >> baz
10:31:22 <mroman_> yeah
10:31:34 <mroman_> Wrapper Types for Monoids
10:32:15 -!- AnotherTest has joined.
10:33:18 <boily> 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 <int-e> you can mapole yourself anyway
10:36:04 * boily glares at int-e
10:36:21 * boily mapoles himself anyway
10:38:01 <Jafet> Monoids are so easy, you can define them without knowing the type
10:38:09 <Jafet> https://github.com/NICTA/l4v/blob/master/lib/sep_algebra/Arbitrary_Comm_Monoid.thy
10:41:57 <mroman_> Monoids are easy
10:43:43 <mroman_> > Just 5 `mappend` Just 6
10:43:45 <lambdabot> No instance for (GHC.Show.Show a0)
10:43:45 <lambdabot> arising from a use of ‘M77188534113158008669061.show_M77188534113158008669...
10:43:45 <lambdabot> The type variable ‘a0’ is ambiguous
10:43:45 <lambdabot> Note: there are several potential instances:
10:43:45 <lambdabot> instance [safe] GHC.Show.Show
10:43:55 <mroman_> > (Just 5 `mappend` Just 6) :: Maybe Int
10:43:56 <lambdabot> No instance for (Data.Monoid.Monoid GHC.Types.Int)
10:43:56 <lambdabot> arising from a use of ‘Data.Monoid.mappend’
10:44:00 <fizzie> zyxwvuts: Good show.
10:44:02 <fizzie> Whoops.
10:44:02 <mroman_> :(
10:44:15 <mroman_> > ((Just 5) `mappend` (Just 6)) :: Maybe Int
10:44:16 <lambdabot> No instance for (Data.Monoid.Monoid GHC.Types.Int)
10:44:16 <lambdabot> arising from a use of ‘Data.Monoid.mappend’
10:44:18 <fizzie> (I had a "nick:" prefix in the input buffer I didn't notice.)
10:44:24 <mroman_> I thought there was something like that
10:44:25 <Jafet> Good name
10:44:33 <mroman_> that passes through Nothing if one is Nothing
10:44:34 <int-e> 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 <mroman_> or the last that wasn't Nothing
10:45:30 <mroman_> or was that Monad Maybe
10:45:43 <Jafet> int-e: that isn't commutative
10:45:45 <mroman_> > (Just 5) >> Nothing >> (Just 6)
10:45:46 <int-e> Jafet: oh. never mind, you want something... right
10:45:47 <lambdabot> Nothing
10:45:53 <Jafet> That's why you need the second arbitrary thing
10:45:53 <mroman_> > (Just 5) >> (Just Nothing) >> (Just 6)
10:45:55 <lambdabot> Just 6
10:46:03 <mroman_> yeah. Monad Maybe
10:46:32 <mroman_> > any [False,True,False]
10:46:34 <lambdabot> Couldn't match expected type ‘a -> GHC.Types.Bool’
10:46:34 <lambdabot> with actual type ‘[GHC.Types.Bool]’
10:46:45 <mroman_> > map Any [False,True,False]
10:46:46 <lambdabot> [Any {getAny = False},Any {getAny = True},Any {getAny = False}]
10:46:52 <mroman_> > mconcat $ map Any [False,True,False]
10:46:53 <lambdabot> Any {getAny = True}
10:47:06 <mroman_> there should be mconcatMap
10:47:10 <fizzie> > Just 5 `mplus` Just 6 -- that's a thing
10:47:11 <lambdabot> Just 5
10:47:29 <mroman_> > msum [Just 5, Just 6]
10:47:31 <lambdabot> Just 5
10:47:36 <mroman_> > msum [Just 5, Just 6, Nothing]
10:47:38 <lambdabot> Just 5
10:47:50 <fizzie> > msum [Nothing, Just 1]
10:47:51 <lambdabot> Just 1
10:51:40 <mroman_> it takes the first non-nothing
10:51:47 <mroman_> happstack uses that stuff for routes
10:52:03 <fizzie> > (Nothing <|> Just 1, Just 2 <|> Nothing)
10:52:05 <lambdabot> (Just 1,Just 2)
10:52:15 <fizzie> So many instances, so little time.
10:56:34 <Jafet> @instances Monoid
10:56:35 <lambdabot> (), (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 <Jafet> @instances MonadPlus
10:56:39 <lambdabot> 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 <Jafet> @instances Foldable
10:56:48 <lambdabot> Couldn't find class `Foldable'. Try @instances-importing
10:56:51 <fizzie> @instances Applicative
10:56:51 <lambdabot> Couldn't find class `Applicative'. Try @instances-importing
10:56:57 -!- conehead has joined.
10:57:02 <Jafet> @instances Data.Foldable.Foldable
10:57:03 <lambdabot> ((,) a), Either a, Maybe, [], f =>
10:57:03 <lambdabot> Data.Foldable.Foldable (ErrorT e f), f =>
10:57:03 <lambdabot> 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 <Taneb> Hallo
12:33:52 -!- sebbu has quit (Ping timeout: 240 seconds).
12:34:59 <fizzie> @wn Halle
12:35:01 <lambdabot> *** "halle" wn "WordNet (r) 3.0 (2006)"
12:35:01 <lambdabot> Halle
12:35:01 <lambdabot> n 1: a city in the Saxony region of Germany on the Saale River;
12:35:01 <lambdabot> a member of the Hanseatic League during the 13th and 14th
12:35:01 <lambdabot> centuries [syn: {Halle}, {Halle-an-der-Saale}]
12:41:27 -!- rollertrump has quit (Read error: Connection reset by peer).
12:49:24 <mroman_> What's Monoid Ordering?
12:49:28 <mroman_> :t Ordering
12:49:29 <lambdabot> Not in scope: data constructor ‘Ordering’
12:49:55 <mroman_> :t LT
12:49:56 <lambdabot> Ordering
12:50:03 <mroman_> > LT <> GT
12:50:05 <lambdabot> LT
12:50:08 <mroman_> > LT <> GT <> EQU
12:50:10 <lambdabot> Not in scope: data constructor ‘EQU’
12:50:10 <lambdabot> Perhaps you meant ‘EQ’ (imported from Data.Ord)
12:50:12 <mroman_> > LT <> GT <> EQ
12:50:13 <lambdabot> LT
12:50:18 <mroman_> > EQ <> LT <> GT <> EQ
12:50:19 <lambdabot> LT
12:50:28 <mroman_> > EQ <> GT <> EQ
12:50:29 <lambdabot> GT
12:50:33 <mroman_> k
12:50:35 <mroman_> interesting
12:50:38 <mroman_> > EQ <> EQ
12:50:40 <lambdabot> EQ
12:52:21 <Melvar> mroman_: It’s the leftmost non-EQ.
12:52:49 <fizzie> instance Monoid Ordering where mempty = EQ; LT `mappend` _ = LT; EQ `mappend` y = y; GT `mappend` _ = GT
12:54:19 <mroman_> @let mconcatMap f xs = mconcat . map f $ xs
12:54:21 <lambdabot> Defined.
12:54:38 <mroman_> > mconcatMap (compare 5) [5,1,6]
12:54:40 <lambdabot> GT
12:55:19 <Melvar> Um.
12:55:27 <Melvar> :t foldMap
12:55:28 <lambdabot> (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 <fizzie> @hoogle Monoid a => (b -> a) -> [b] -> a
12:57:33 <lambdabot> Data.Traversable foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m
12:57:33 <lambdabot> Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
12:57:33 <lambdabot> Prelude map :: (a -> b) -> [a] -> [b]
12:58:15 <fizzie> (Just wanted to check if it shows up.)
12:59:26 <mroman_> > foldMap (compare 5) [5,1,6]
12:59:27 <lambdabot> GT
12:59:36 <mroman_> > foldMap (Any) [True, False]
12:59:37 <lambdabot> Any {getAny = True}
12:59:49 <mroman_> > getAny $ foldMap (Any) [True, False]
12:59:51 <lambdabot> can't find file: L.hs
12:59:53 <mroman_> > getAny $ foldMap (Any) [True, False]
12:59:55 <lambdabot> True
13:01:23 -!- sebbu has joined.
13:01:50 -!- sebbu has quit (Changing host).
13:01:50 -!- sebbu has joined.
13:02:04 <fizzie> > foldMap (:[]) [1, 2, 3] -- the smiley eats the list, but poops it back out
13:02:05 <lambdabot> [1,2,3]
13:41:10 <mroman_> whut
13:41:19 <mroman_> @instances Monoid
13:41:19 <lambdabot> (), (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 <mroman_> hm
13:41:32 <mroman_> > foldMap (const 2) [1, 2, 3]
13:41:33 <lambdabot> No instance for (GHC.Show.Show a0)
13:41:34 <lambdabot> arising from a use of ‘M628454215979994175912227.show_M6284542159799941759...
13:41:34 <lambdabot> The type variable ‘a0’ is ambiguous
13:41:34 <lambdabot> Note: there are several potential instances:
13:41:34 <lambdabot> instance [safe] GHC.Show.Show
13:41:46 <mroman_> > (foldMap (const 2) [1, 2, 3]) :: [Int]
13:41:48 <lambdabot> No instance for (GHC.Num.Num [GHC.Types.Int])
13:41:48 <lambdabot> arising from the literal ‘2’
13:42:33 <mroman_> > mconcat [id, id, const 2]
13:42:34 <lambdabot> No instance for (Data.Typeable.Internal.Typeable a0)
13:42:34 <lambdabot> arising from a use of ‘M782537444413734024312262.show_M7825374444137340243...
13:42:34 <lambdabot> The type variable ‘a0’ is ambiguous
13:42:34 <lambdabot> Note: there are several potential instances:
13:42:34 <lambdabot> instance Data.Typeable.Internal.Typeable Data.Dynamic.Dynamic
13:42:48 <mroman_> > (mconcat [id, id, const 2]) :: (Int -> Int)
13:42:49 <lambdabot> No instance for (Data.Monoid.Monoid GHC.Types.Int)
13:42:49 <lambdabot> arising from a use of ‘Data.Monoid.mconcat’
13:43:00 <mroman_> how's Monoid (a -> b) working?
13:44:23 <fizzie> It's "Monoid b => Monoid (a -> b)" actually. But I don't know more than that.
13:45:38 <fizzie> > mappend (:1:[]) (:2:[]) $ 0
13:45:40 <lambdabot> [0,1,0,2]
13:45:42 <fizzie> V. fancy.
13:55:06 <Taneb> Thoughts on http://sprunge.us/RSAR?haskell (other than "why" or "don't")
14:03:21 <mroman_> 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 <Taneb> If I import foldMap from Data.Foldable, OrdList makes insertionSort a one lineer
14:06:35 <Taneb> 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 <Jafet> :t S.fromList . foldl' (flip S.insert) S.empty
14:10:43 <lambdabot> Couldn't match type ‘S.Set a1’ with ‘[a]’
14:10:43 <lambdabot> Expected type: a1 -> [a] -> [a]
14:10:43 <lambdabot> Actual type: a1 -> S.Set a1 -> S.Set a1
14:10:49 <Jafet> :t S.toList . foldl' (flip S.insert) S.empty
14:10:50 <lambdabot> Ord a => [a] -> [a]
14:11:01 <mroman_> @ask nortti Have you seen my ESOSC Brainfuck Proposal with # "language feature" thingies?
14:11:01 <lambdabot> 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 <mroman_> ah.
15:07:57 <mroman_> The Standard Markdown
15:08:05 <mroman_> that looks like an interesting debate.
15:09:13 <Taneb> It's got some weigt behind it
15:09:23 <Taneb> I don't see what the debate is
15:12:01 <mroman_> The "creator" of Markdown isn't happy about it
15:12:25 <mroman_> Statements about why exactly are rare though.
15:12:52 <mroman_> Assumingly because he doesn't like those kind of "standards" and the procedures behind it
15:43:28 <J_Arcane> 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 <nortti> 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 <Imaginer1> Hi all...
16:23:55 <Taneb> Hi Imaginer1
16:24:14 <Imaginer1> 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 <oerjan> <mroman_> there should be mconcatMap <-- there is, it's called foldMap
17:27:59 <oerjan> @tell mroman_ <mroman_> there should be mconcatMap <-- there is, it's called foldMap
17:27:59 <lambdabot> 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 <mroman_> @messages aloud
19:06:24 <mroman_> ;)
19:06:36 -!- sebbu has quit (Ping timeout: 255 seconds).
19:06:39 <mroman_> nortti: It's about making error-on-left default behaviour
19:07:01 <mroman_> but allow through special directives (that will be treated as comments by most implementations) to specify different behaviour
19:07:05 <mroman_> i.e.
19:07:13 <mroman_> #MEM_UNBOUNDED_LEFT
19:07:33 <nortti> hmm, so those can be safely ignored while being compatible or not?
19:08:01 <mroman_> Standard compliant interpreters shouldn't ignore it
19:08:12 <mroman_> but at least it doesn't break existing interpreters
19:09:04 <nortti> hmm
19:09:06 <mroman_> The idea is to define a set of "obligational" directives (let's call them directives)
19:09:10 <mroman_> and a set of optional directives
19:09:52 <mroman_> although the set of required directives could be empty :)
19:10:07 <mroman_> but standard compliant implementations must throw an error if they don't support a certain directive
19:10:40 <mroman_> however, old existing implementations will most likely just ignore them since they are comments as far as brainfuck syntax goes
19:10:56 <zzo38> Maybe it shouldn't be error if you put a question mark after the name of the directive.
19:11:15 <mroman_> 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 <fizzie> oerjan: WE FOUND THAT OUT
19:12:01 <zzo38> (Putting question mark would not be useful with #MEM_UNBOUNDED_LEFT anyways, but maybe other can be)
19:12:16 <fizzie> oerjan: I think you should make notes as you read the logs, and then only act on them when finished.
19:12:30 <oerjan> argh, discipline
19:12:54 <mroman_> currently I'd say required directives are #MEM_UNBOUNDED_LEFT and #ERROR_ON_LEFT wheceas #ERROR_ON_LEFT is the default
19:13:18 <mroman_> optional directives could be #CELL_SIZE_UNBOUNDED #CELL_SIZE_U32 (for unsigned 32 bit cells)
19:13:21 <mroman_> stuff like that
19:14:17 <mroman_> 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 <mroman_> and he can feed it either to a compliant interpreter (who will interpret the directives and act accordingly)
19:14:55 <mroman_> or he can feed it to an existing/old/non-compliant interpreter where he knows that it has that feature
19:15:01 <mroman_> and that interpreter will just ignore the directive
19:15:13 <mroman_> that's my vision :)
19:15:25 -!- not^v has quit (Read error: Connection reset by peer).
19:15:40 <mroman_> 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 <mroman_> 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 <mroman_> in terms of portability and compatibility this is the best thing I can come up with
19:24:03 <elliott> mroman_: for unbounded memory on the left, you could mark it by starting the program with <.
19:24:56 <Melvar> 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 <zzo38> elliott: Yes of course that works too, but it doesn't work for specifying cell size.
19:26:59 <elliott> start program with 2^32-1 +s
19:31:32 -!- ais523 has joined.
19:32:22 <zzo38> That's too long
19:36:06 <mroman_> elliott: why would that be any better than # directives?
19:36:37 <elliott> < at the start doesn't invent weird syntax and works and works iff memory is unbounded on the left
19:36:49 <mroman_> no
19:36:57 <mroman_> it also works if it wraps-around
19:37:08 <mroman_> or if it's ignored at cell 0
19:37:17 <ais523> is this some sort of pragma syntax for BF?
19:37:30 <mroman_> ais523: yees
19:38:38 <mroman_> *yes
19:38:43 <ais523> 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 <mroman_> there's no other solution
19:39:10 <Taneb> .help
19:39:11 <mroman_> other than publishing a standard that says "well, everything is implemenation defined"
19:39:30 <mroman_> and then it's even more pointless then it already is ;)
19:39:36 <ais523> 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 <ais523> I have the feeling that it must have been INTERCAL-related
19:40:10 <mroman_> i mean
19:40:25 <mroman_> technically we could make it either error on left or unbounded to the left
19:40:32 <mroman_> and those who require unbounded just do <>
19:41:08 <mroman_> because this will cause an error in a error-on-left implementation
19:41:12 <Taneb> "ambidextrously" is the longest word I can find without any repeat letters. Can anyone beat that?
19:41:28 <mroman_> Taneb: that would comply to what you want
19:41:45 <mroman_> making it implementation defined wheter its error or unbouded
19:41:54 <mroman_> and programs requiring unbounded shall be prefixed with <>
19:42:04 <ais523> 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 <ais523> however, I can no longer remember it
19:42:27 <TieSoul> "pentasyllabic" is the longest word I can find that describes itself :P
19:42:31 <Taneb> (one of the second-best is "motherfucking")
19:42:51 <mroman_> > length "ambidextrously"
19:42:52 <lambdabot> 14
19:43:14 <TieSoul> > length "motherfucking"
19:43:15 <lambdabot> 13
19:43:18 <TieSoul> ah
19:43:32 <ais523> oh wow, this is stupid
19:43:41 <ais523> ag -v apparently prints every line, highlighting everything except any match that might be on that line
19:43:44 <ais523> that is… not useful
19:43:51 <Taneb> Apparently "uncopyrightable" is longer and a word
19:44:02 <ais523> Taneb: that's it
19:44:08 <ais523> "uncopyrightable" or arguably "uncopyrightables"
19:44:11 <ais523> I remember now you've mentioned it
19:44:29 <shachaf> hey, you can't use that word
19:44:30 <mroman_> > length "honorific"
19:44:32 <lambdabot> 9
19:44:33 <mroman_> oh
19:44:35 <mroman_> damn
19:44:45 <shachaf> it's copyrighted
19:45:10 <mroman_> Supercalifragilisticexpialidocious is still the best english word I've heard of
19:45:21 <ais523> 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 <Taneb> ais523, my program removes words with apostrophes or capitals
19:45:50 <ais523> "motherfucking" is the only 13 in /usr/share/dict/words
19:45:53 <ais523> there are tons at 12, though
19:46:06 <fizzie> Taneb: dermatoglyphics, but it's the same length as uncopyrightable.
19:46:07 <ais523> 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 <mroman_> > length "motherfuckingly"
19:46:08 <Taneb> > length "unpredictably"
19:46:10 <lambdabot> 15
19:46:10 <lambdabot> can't find file: L.hs
19:46:12 <mroman_> > length "motherfuckingly"
19:46:13 <lambdabot> 15
19:46:17 <mroman_> ha
19:46:19 <Taneb> > length "unpredictably"
19:46:20 <lambdabot> 13
19:46:43 <Taneb> > length "draughtswomen"
19:46:44 <lambdabot> 13
19:46:55 <Taneb> > length "upholstering"
19:46:56 <lambdabot> 12
19:46:59 <fizzie> "dermatoglyphics" and "uncopyrightable" are the two 15s in /usr/share/dict/american-english-insane.
19:47:13 <mroman_> 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 <Taneb> fizzie, is there a british-english-insane?
19:47:41 <Taneb> mroman_, the program side should be a recomendation probably
19:47:47 <Taneb> But a well-justified one
19:47:50 <fizzie> There are a number of 14s: ambidextrously, benzhydroxamic, dermatoglyphic, hydromagnetics, hydropneumatic, pseudomythical, Schizotrypanum, subformatively, sulphogermanic, troublemakings, undiscoverably.
19:48:04 <ais523> fizzie: you have a better dictionary than me
19:48:12 <fizzie> Taneb: There seems to be.
19:48:27 <fizzie> I just need to install the wbritish-insane package.
19:48:33 <myname> isn't "american english insane" redundant?
19:49:01 <Taneb> 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 <fizzie> The british-english-insane wasn't any better than american-english-insane. :/
19:49:29 <Taneb> fizzie, is that on Arch (where I am running this) or Debian (my home PC)?
19:49:45 <ais523> what sensible BF program would rely on the tape being unbounded both ways?
19:49:49 <fizzie> Taneb: Debian. "wbritish-insane" and "wamerican-insane".
19:49:53 -!- sebbu has joined.
19:50:01 <fizzie> http://sprunge.us/RKVA holds all the 13+ length ones from british-english-insane.
19:50:24 <oerjan> 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 <fizzie> I discounted the "'s" suffixes.
19:52:03 <fizzie> "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 <fizzie> "Yhdysvaltojen" is one longer, but it's a proper noun; and "LyX-hakemiston" (...) is a compound.
19:54:26 <J_Arcane> Good Finnish plain-text dictionaries are hard to drum up, I found.
19:54:50 <J_Arcane> 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 <fizzie> 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 <fizzie> We use almost exclusively morph models at work, so I don't have a full-word lexicon file handy either.
19:56:27 <fizzie> 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 <ais523> fizzie: Ispell has rules for guessing which words might exist, though
19:57:05 <ais523> which have false positives
19:57:23 <J_Arcane> Yeah, voikko uses an XML database and a custom library to handle it. http://voikko.puimula.org/
19:57:43 <J_Arcane> Apparently developed because none of the existing hash methods supported enough affixes to work for Finnish.
19:58:21 <mroman_> < is actually enough
19:58:46 <mroman_> Taneb: what do you mean by "program side"?
19:59:07 <Taneb> What programs in brainfuck do
19:59:51 <mroman_> ?
20:00:04 <mroman_> you mean the < prefix?
20:00:08 <Taneb> Yeah
20:00:51 <mroman_> yeah
20:00:53 <mroman_> agreed
20:01:10 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif).
20:01:31 <mroman_> < indicates that the program whishes unbounded memory to the left
20:01:51 <mroman_> and interpreter allowing both behaviours *SHOULD* detect it and switch accordingly
20:01:55 <mroman_> *interpreters
20:01:59 <Taneb> Oh, right
20:02:06 <ais523> mroman_: doesn't it normally mean that you wanted to delete the program from the hill?
20:02:18 <mroman_> what hill?
20:02:20 <Taneb> ais523, brainfuck isn't BF Joust
20:02:23 <ais523> how do you indicate that you want wrapping behaviour, then?
20:02:49 <mroman_> wrapping behaviour isn't part of the standard
20:03:01 <ais523> mroman_: nor is a left-bounded tape
20:03:15 <Taneb> ais523, the poll suuggested that few people wanted wrapping behaviour
20:03:17 <mroman_> i mean the esosc standard
20:03:22 <ais523> something like 256 + signs then [<] would indicate it
20:03:26 <ais523> Taneb: oh, this is based on the poll?
20:03:28 <ais523> are the results public?
20:03:36 <mroman_> ais523: yes @poll
20:03:49 <ais523> @poll
20:03:49 <Taneb> @poll
20:03:49 <lambdabot> Maybe you meant: poll-add poll-close poll-list poll-remove poll-result poll-show roll
20:03:49 <lambdabot> Maybe you meant: poll-add poll-close poll-list poll-remove poll-result poll-show roll
20:04:04 <ais523> somehow I think at least two people misinterpreted your line
20:05:31 <mroman_> @log poll
20:05:31 <lambdabot> Maybe you meant: yow msg let do bug
20:05:41 <mroman_> wasn't there something to grep the logs?
20:05:53 <fizzie> HackEgo, back when it still had the logs.
20:06:04 <mroman_> hm
20:06:09 <fizzie> It's been unavailable for a while now.
20:06:45 <mroman_> < 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 <fizzie> I had that half-written!
20:09:12 <Taneb> mroman_, why would an implementation support both expand-on-left and error-on-left?
20:10:18 <elliott> wait, is this a bf standard with only bignums?
20:10:39 <Taneb> elliott, only bytes it seems
20:10:46 <elliott> but no wrapping...?
20:11:00 <elliott> or is this about tape wrapping
20:11:00 <Taneb> elliott, no <> wrapping
20:11:04 <Taneb> Yes +- wrapping
20:11:19 <Taneb> mroman_, can we have a second poll concerning bignums?
20:11:23 <ais523> 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 <ais523> which allows both wrapping bytes and bignum
20:13:06 <ais523> well, 85% of respondents thought that values should wrap
20:13:12 <ais523> as opposed to crashing or saturating
20:13:21 <ais523> I'm not convinced that was the right question, in retrospect
20:13:31 <Taneb> ais523, carrying on wasn'tt an option
20:13:41 <ais523> 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 <elliott> 8 bit cells, right-infinite tape, 0 or -1 on EOF
20:32:48 <elliott> anything else is living in sin :p
20:33:10 <elliott> *or no change
20:33:20 <elliott> wrapping cells, that is.
20:33:39 <ais523> huh, it seems that I was the only person who wanted newline to be 10 rather than '\n'
20:38:32 <oerjan> huh`?
20:39:26 <J_Arcane> Huh. This page has a palindromic quine in C. http://www.derf.net/palindromes/old.palindrome.html#CODE
20:39:59 <ais523> is the midpoint an //?
20:40:01 <ais523> or is it C89?
20:40:17 <mroman_> Taneb: bignums?
20:40:19 <ais523> ah no, it's using the /*/ trick
20:40:26 <mroman_> with directives this would be easy :)
20:40:38 <oerjan> 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 <Taneb> mroman_, unbounded integers
20:41:14 <oerjan> even though i had a vague feeling that was a bad formulation of it
20:41:25 <ais523> oerjan: I used the 'something else' entry to argue the case for 10
20:41:38 <Taneb> On a finite tape, brainfuck can still be TC with bignumss
20:42:28 <mroman_> and how would a program identify itself requiring bignums?
20:42:32 <J_Arcane> Also, unless I've mistaken my code, the list of palindromic English words is smaller than I would expect.
20:42:45 <oerjan> ais523: i think i'll conclude the first option was horribly formulated.
20:43:13 <mroman_> also that leaves the question what . does on cells > 255
20:43:36 <ais523> don't you mean > 127?
20:43:43 <ais523> or are you in binary mode?
20:43:55 <Taneb> mroman_, unicode?
20:44:18 <oerjan> mroman_: when formulating the newline question, were you unaware that the C char '\n' is not necessarily 10 on all platforms?
20:44:31 <oerjan> (even with ASCII)
20:44:37 <ais523> it is, admittedly, usually 10
20:44:46 <ais523> even on Windows, where a newline is not one octet with value 10
20:44:52 <Taneb> J_Arcane, does your list include "nun"?
20:45:02 <mroman_> oerjan: Maybe I didn't mean \n in C .
20:45:06 <oerjan> well it's required to be one char. i assume old macs used 13.
20:45:11 <mroman_> You can't prove that!
20:45:28 <ais523> oerjan: yes
20:45:33 <ais523> and \r was 10, IIRC
20:45:38 <J_Arcane> Taneb: Aye.
20:45:53 <Taneb> J_Arcane, well I can conclude its length is at least 1
20:45:55 <J_Arcane> 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 <ais523> you could ask Vorpal, IIRC he ported C-INTERCAL to old Mac
20:46:03 <ais523> just because he could, I think
20:46:11 <mroman_> so... you want to have bignums as the default cell size?
20:46:28 <Taneb> Or at least an optin
20:46:31 <Taneb> *option
20:47:01 <mroman_> see that's why I proposed the directive thingy
20:47:09 <mroman_> It makes those things exactly easy as pie
20:47:27 <Taneb> But then implementations have to implement directive-reading
20:47:47 <mroman_> So? That doesn't sound like a very dificult task
20:48:03 <mroman_> but if you make cell size implementation defined too
20:48:08 <Taneb> It means literally every existing implementation is non-compliant
20:48:30 <mroman_> no
20:48:36 <mroman_> just the ones that don't have the default behaviour
20:48:53 <mroman_> and if you're going to make everything implementation defined you don't need a standard ;)
20:49:28 <fizzie> If you have obligatory directives that must not be ignored, then yes, every existing implementation is non-compliant.
20:50:43 <Taneb> Standards are hard...
20:51:19 <mroman_> fizzie: to some extent yes
20:51:37 <mroman_> but "everything is implementation defined" is kinda the status quo
20:51:51 <mroman_> and it makes no sense to write a document that says "everything is implementation defined"
20:52:29 <Taneb> "Everything is one of these three behaviours" is a lot better than "Everything is anything"
20:52:37 <mroman_> technically every existing implementation that has a debug command is non-compliant anyway
20:53:19 <mroman_> Taneb: no it's "everything is a combination of one of these three behaviours"
20:53:39 <mroman_> you can rely on A,B,C !A,B,C A,!B,C etc
20:53:59 <fizzie> 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 <fizzie> (See e.g. C11 making VLAs optional.)
20:54:50 <mroman_> fizzie: that was kinda the point I was making hours ago ;)
20:55:10 <mroman_> implementations that happen to match the default behaviour will be compliant
20:55:10 <ais523> if VLAs are optional in C11, they should also be defined to not leak memory upon longjmp
20:55:36 <mroman_> if they treat non usual characters as comments
20:55:51 <mroman_> if an implementation treats any other character as some weird command you're screwed
20:55:59 <ais523> huh, whois isn't installed by default any more?
20:56:12 <mroman_> for all I know some implementation uses "d" as a debug instruction
20:56:15 <ais523> mroman_: implementations that don't ignore characters other than []<>+-., are broken
20:57:49 -!- Bicyclidine has joined.
20:57:49 <fizzie> ais523: Reclaiming storage as the lifetime of an object ends is probably a QoI issue entirely.
20:59:17 <ais523> 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 <ais523> is this an infinite loop or not?
20:59:37 -!- Patashu has joined.
21:01:02 <ais523> 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 <ais523> presumably it was invented before syntax highlighting was widespread
21:03:31 <ais523> 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 <ais523> if you make the identical git commit twice in the same second, it'll have the same hash
21:04:02 <ais523> this makes git-beautifier rather harder to design, I'll have to put trailing spaces on the commit messages or something
21:09:07 <fizzie> 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 <fizzie> ... 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 <ais523> 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 <ais523> btw, comp.lang.c says that gcc's behaviour on (volatile int){ 1 } = 2 is a bug
21:10:05 <ais523> now I'm wondering if I should report it
21:10:20 <Taneb> ais523, what is gcc's behaviour vs not-bug behaviour?
21:10:55 <ais523> 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 <fizzie> ais523: There were rather few hits for the exact phrase "volatile compound literal" in Google; it's not a frequent construct.
21:11:21 <ais523> (this is pretty much always an entirely pointless operation, but volatile's purpose is to intentionally do pointless operations)
21:11:46 <zzo38> I do think that it is a bug and ought to be corrected.
21:11:57 <Taneb> ais523, what happens if no memmory location contained a 1
21:12:10 <ais523> Taneb: you write 1 to some memory location first
21:12:40 <fizzie> It also must be a memory location distinct from any other object.
21:12:42 <ais523> e.g. clang will write a 1 then a 2 to the working space on top of the stack
21:12:45 <Taneb> So it should write 1 to memory, then replace that 1 with a 2, then probably forget about it
21:13:08 <ais523> yes
21:13:16 <ais523> this is exactly what the clang implementation does
21:13:39 <ais523> although interestingly, it sets up the return value from main in between
21:13:46 <fizzie> It is also what GCC does for { volatile int i = 1; i = 2; /* no more references to i */ }.
21:13:56 <ais523> which is either some clever optimization, or just what it happens to do
21:17:31 <fizzie> 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 <fizzie> 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 <fizzie> ... anything about leaking memory.
21:17:43 <fizzie> 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 <ais523> hmm, I wonder what I'm remembering
21:18:54 <fizzie> 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 <fizzie> Oh.
21:20:17 <fizzie> You remembered right, but it's a non-normative example instead of a non-normative footnote.
21:20:39 <ais523> fizzie: what does (int[rand() % 5 + 1]){1, 2, 3} mean?
21:20:56 <ais523> sometimes it has too many initializers, sometimes it doesn't
21:21:25 <fizzie> 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 <fizzie> 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 <fizzie> "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 <ais523> this is more confusing than useful
21:24:15 <fizzie> 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 <ais523> `quote confusing
21:24:21 <HackEgo> 522) [from 2009] <fizzie> 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) <fizzie> "May you live in INVISIBLE TIMES." --Old Chinese proverb. (It can look confusing when written with t
21:24:22 <fizzie> I don't know how I managed to miss them.
21:24:32 <ais523> `quote confusing than
21:24:33 <HackEgo> No output.
21:25:51 <ais523> <C++ FAQ> 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 <ais523> 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 <ais523> (in the answer to 17.9, incidentally)
21:26:57 -!- Patashu has quit (Ping timeout: 245 seconds).
21:26:58 <shachaf> well, it's more awkward without the italics
21:27:45 <ais523> shachaf: yes
21:27:47 <fizzie> 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 <fizzie> In fact, n could be replaced with strlen(foo)+3+1 in that example.
21:28:52 <fizzie> Sure, you can also use an object with a name, but you could say the same about (almost?) all compound literals.
21:29:40 <fizzie> (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 <ais523> fizzie: stranger things have happened /in this channel/
21:32:56 <fizzie> 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 <shachaf> Are there any cases in common C implementations where NULL won't be represented by zero bytes in memory?
21:35:23 <shachaf> It's easy in C++ with member pointers.
21:36:32 <zzo38> GNU C allows expressions to include code blocks.
21:36:40 <ais523> I don't think so, that's basically just intended for fat-pointer machines and the like
21:36:41 <fizzie> shachaf: There's a couple of examples in the FAQ, but they're all ancient.
21:36:45 <ais523> or machines where 0 is a sensible valid address
21:36:57 <fizzie> http://c-faq.com/null/machexamp.html
21:37:11 <fizzie> "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 <ais523> 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 <ais523> although you're also probably not going to write it in C
21:38:07 <zzo38> 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 <fizzie> 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 <ais523> 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 <ais523> although you probably don't want your universal trap representation to mean NULL
21:39:25 <fizzie> 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 <fizzie> It's a shame that it doesn't extend to different sizes for pointers to objects of different type.
21:40:06 <ais523> I've actually used x86-16
21:40:16 <ais523> although I didn't really grasp the difference between near and far at the time
21:40:26 <zzo38> I never program x86-16 programs in C anyways
21:40:31 <ais523> I did eventually figure out that I had to use farmalloc if I wanted to create very large arrays, though
21:40:37 <fizzie> (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 <ais523> (presumably the compiler was using a short-data memory model)
21:41:23 <zzo38> fizzie: I don't know, although maybe some have it as an option at least
21:42:08 <zzo38> I write 16-bit x86 programs in assembly language or BASIC anyways, not in C
21:42:58 <fizzie> 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 <fizzie> (Compared to the DJGPP that I had been using.)
21:43:23 <ais523> but DJGPP is awesome
21:43:56 <fizzie> Perhaps, but all Professionals(tm) (such as game developers) used Watcom.
21:44:24 <ais523> fizzie: counterpoint: NetHack uses DJGPP
21:44:31 <ais523> I used to use Borland C++ 4
21:44:35 <fizzie> DJGPP is also very 386-only.
21:44:48 <ais523> yes, indeed, it requires a 32-bit processor
21:45:09 <fizzie> 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 <fizzie> Ooh, a PCPlus SuperCD no. 43b, with Partition Magic 2.0 on it.
21:48:14 <fizzie> I don't think you get so much commercial software with magazines these days?
21:49:07 <spng453> I, uh, got Minecraft with PCGamer like 2 years ago
21:49:43 <fizzie> "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 <ais523> 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 <ais523> I guess you need a javac to compile your source into whatever format applets get shipped in
21:51:36 <ais523> but those aren't exactly hard to come by
21:51:53 <spng453> What good are java applets these days?
21:52:07 -!- spng453 has changed nick to CrazyM4n.
21:52:23 <Taneb> idris-bot: the int 7
21:52:34 <Taneb> idris-bot: help
21:52:38 <Taneb> Or not
21:53:06 <ais523> CrazyM4n: well, JNLP was a disaster
21:53:14 <ais523> and applets slightly less of a disaster, I guess
21:53:25 <fizzie> "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 <Bicyclidine> damn, bro.
21:53:49 <Bicyclidine> ( the int 7
21:53:50 <idris-bot> (input):1:5:When elaborating argument a to function Prelude.Basics.the:
21:53:50 <idris-bot> No such variable int
21:53:55 <Taneb> Ooooh
21:54:04 <Bicyclidine> ( the Int 7
21:54:04 <idris-bot> 7 : Int
21:54:08 <Taneb> I do not know idris, which I guess is the next problem
21:54:25 <Bicyclidine> neither do i
21:54:27 <Bicyclidine> godspeed motherfucker
21:54:36 <fizzie> 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 <J_Arcane> http://tldrwikipedia.tumblr.com/post/96646853913
21:54:46 <Melvar> Taneb: If it sees its name, it strips it off.
21:54:53 <Melvar> idris-bot: ( the Int 7
21:54:54 <idris-bot> 7 : Int
21:55:14 <Taneb> Melvar, ah
21:55:24 <Bicyclidine> wesearch -> research on the web?? call me oxford english dictionary
21:55:26 <Melvar> So you still need to use its prefix, I mean.
21:55:33 <ais523> 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 <ais523> ( help
21:55:38 <idris-bot> (input):1:1:When elaborating an application of constructor __infer:
21:55:38 <idris-bot> No such variable help
21:55:48 <ais523> not that using the prefix would have helped anyway
21:56:01 <Bicyclidine> does idrisbot even have commands other than the evaluator
21:56:09 <ais523> ( :t 7
21:56:10 <idris-bot> fromInteger 7 : Integer
21:56:14 <Melvar> The intention is that it will eventually.
21:56:22 <ais523> although I'm not sure if it's any different without the :t
21:56:23 <ais523> ( 7
21:56:24 <idris-bot> 7 : Integer
21:56:28 <ais523> hmm
21:56:32 <ais523> now I'm confused
21:56:34 <Bicyclidine> ( :t :t
21:56:35 <idris-bot> (input):1:4: error: no implicit
21:56:35 <idris-bot> arguments allowed
21:56:35 <idris-bot> here, expected: dependent type signature
21:56:35 <idris-bot> :t :t<EOF>
21:56:35 <idris-bot> ^
21:56:36 <lambdabot> parse error on input ‘:’
21:56:45 <Bicyclidine> darn, i was hoping it was actually a function
21:56:47 -!- mihow has quit (Quit: mihow).
21:56:51 <CrazyM4n> Is he going to only support Haskell?
21:56:56 <Bicyclidine> "he"?
21:57:25 <Melvar> ais523: In idris, you don’t get expressions being polymorphic.
21:57:31 <Melvar> ( :t fromInteger
21:57:31 <idris-bot> Prelude.Classes.fromInteger : Num a => Integer -> a
21:57:32 <idris-bot> Prelude.Fin.fromInteger : (x : Integer) -> {tacimp prf : IsJust (integerToFin x n)} -> Fin n
21:57:37 <CrazyM4n> Shhh, I like personifying bots
21:57:47 <Bicyclidine> if you mean idris-bot, this isn't haskell, it's idris.
21:58:08 <Bicyclidine> idris has more reified type sorta crap.
21:58:09 <Taneb> CrazyM4n, idris-bot is a she :(
21:58:09 <shachaf> polymorphism, more like scowlymorphism
21:58:10 <CrazyM4n> Looks functional. And Haskell is the only functional language I know, haha
21:58:22 <fizzie> 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 <Melvar> ais523: I.e. when you give a hint, it’ll pick that type, if you don’t, it defaults to Integer.
21:58:30 <Bicyclidine> have you considered learning snobol then
21:59:02 -!- boily has joined.
21:59:12 <ais523> Melvar: right
21:59:52 <CrazyM4n> Bicyclidine: looks outdated
22:00:05 <Bicyclidine> huh, amazon recommends i buy abramowitz and stegun
22:00:30 -!- ais523 has quit.
22:00:48 <Bicyclidine> ais finds old tables highly offensive
22:01:40 <shachaf> I think ais523 likes this channel to be about esolangs.
22:02:18 <Bicyclidine> aw c'mon, snobol's practically an esolang anyway
22:04:17 <CrazyM4n> I doubt I could find an interpreter for any old language like that on windows
22:04:33 <J_Arcane> I just remember how horrible Java was in those days in terms of performance.
22:05:02 <CrazyM4n> Java still isn't very good performance wise, is it?
22:05:04 <J_Arcane> I dreaded anything Java based because it invariably seemed to mean it would be ugly and run like an overfed pig.
22:05:12 <CrazyM4n> It fits a really weird niche of languages
22:05:22 <Bicyclidine> pigs are pretty fast
22:05:26 <J_Arcane> The only thing worse was PDFs.
22:06:39 <J_Arcane> CrazyM4n: It's not so bad these days; it's semi-competitive, what with the JIT and such.
22:07:40 <CrazyM4n> 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 <CrazyM4n> In my opinion, java is dieing
22:09:05 <CrazyM4n> But on the bright side, it opens more opportunities for other programming languages to become popular
22:09:16 <CrazyM4n> On the other bright side, no more java :P
22:09:16 <Bicyclidine> like snobol.
22:09:22 <CrazyM4n> Yea
22:09:32 <elliott> java is pretty competitive speed-wise.
22:09:36 <Taneb> I should learn Cobol
22:09:37 <elliott> swing is just awful and stuff.
22:09:42 <boily> Java plays an important part in getting me a salary.
22:09:45 <Taneb> It was the language of my ancestors
22:10:05 <Bicyclidine> my ancestors spoke german, i think.
22:10:07 <elliott> 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 <J_Arcane> Yeah. The Benchmarks Game pegs it on average at about 2-3 times slower than C. Which is pretty good.
22:10:26 <boily> 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 <J_Arcane> Also, Java is still pretty popular here in Finland at least.
22:10:37 <Bicyclidine> not sure what kind of german.
22:10:38 <J_Arcane> Loooot of Java jobs around, especially here in Tampere.
22:10:58 <CrazyM4n> The JVM most definitely isn't dead
22:10:59 <Bicyclidine> you know there are places in brazil where they all speak german? weird, right?
22:11:16 <CrazyM4n> It was a shock to me to learn they spoke French in Canada
22:11:40 <Bicyclidine> do you live anywhere near canada
22:11:48 <zzo38> 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 <boily> allô toi! :D
22:12:01 <Bicyclidine> new brunswick is bilingual.
22:12:08 <CrazyM4n> Opposite side of the states. We get a lot of Spanish here
22:12:46 <CrazyM4n> Southern AZ is mostly rundown Spanish land
22:13:04 <zzo38> Bicyclidine: Yes, and I did not know that until two days ago actually
22:13:46 <Bicyclidine> i know an acadian guy who lives there, so.
22:14:12 * CrazyM4n waves at boily
22:14:29 <CrazyM4n> ¡Hola tú! :D
22:15:14 <boily> hablo sólo un poquito de español. parles-tu français?
22:16:31 <CrazyM4n> Mi amigo habla francés, pero no me
22:16:52 <Bicyclidine> hello
22:17:27 <CrazyM4n> spanish is an esoteric language, right?
22:18:26 <Bicyclidine> at least a billion people speak it, so probably not. maybe you'ret hinking of ladino.
22:18:31 <boily> CrazyM4n: tu amigo debría joinear esto channel. (oh fungot... I can't conjugate...)
22:18:32 <fungot> 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 <shachaf> ^style
22:18:41 <fungot> 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 <shachaf> I suppose I could've guessed that.
22:18:52 <shachaf> ^style irc
22:18:52 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
22:18:56 <CrazyM4n> I was kiddinh about spanish btw
22:19:22 <Bicyclidine> i'm immune to humor.
22:19:34 <CrazyM4n> Sounds fun
22:24:34 <CrazyM4n> So. I need help writing some sample programs
22:25:07 <shachaf> Bicyclidine: even puns?
22:25:15 <CrazyM4n> How would you go along writing the Fibonacci sequence in a stack which pops when you do arithmetic?
22:25:55 <Bicyclidine> even puns.
22:26:16 <Bicyclidine> CrazyM4n: you want the fibonacci sequence in the stack?
22:26:18 <boily> gasp. Bicyclidine is immune to rotated shachaf.
22:26:28 <fizzie> fungot's corporate interests mentioned.
22:26:29 <fungot> fizzie: yes, and i don't
22:26:29 <J_Arcane> CrazyM4n: Try looking at some Forth implementations?
22:26:37 <fizzie> fungot: You don't what?
22:26:38 <fungot> 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 <CrazyM4n> Bicyclidine: it doesn't have to stay on the stack, just has to be printed
22:27:33 <Bicyclidine> oh.
22:27:34 <shachaf> fungot is immune to making sense
22:27:35 <fungot> shachaf: it crashes on infinite loops... but i'm pretty sure it exists in mzscheme, whose engine is written in python
22:27:45 <fizzie> A recursive implementation of Fibonacci was my first properly recursive Befunge(-93) program.
22:27:47 <shachaf> i take that back
22:27:53 <CrazyM4n> J_Arcane: that sounds like a good idea
22:28:16 <CrazyM4n> Well, I'm trying to write it in my funge-like language
22:28:18 <fizzie> http://sprunge.us/hSab I even used it as a signature at some point.
22:28:59 <fizzie> It's of course quite silly, since it's the naïve non-memoized fully-recursive thing.
22:29:05 <J_Arcane> CrazyM4n: Do you have somewhere outside the stack you can stash a results list?
22:29:20 <CrazyM4n> Nope
22:29:39 <CrazyM4n> I had incentive to add a second stack but haven't bothered yet
22:29:50 <fizzie> Your stack had the pick and unpick operations, right?
22:29:54 <CrazyM4n> Yep
22:30:11 <fizzie> With dup, that should make things rather simple.
22:30:17 <CrazyM4n> My idea was just to start by making a non destructive addition
22:30:21 <Bicyclidine> 0 dup print 1 dup print [dup rot + dup print] loop, or something
22:30:22 <fizzie> You can stick copies freely as far down as necessary.
22:30:24 <CrazyM4n> From there it's ez pz
22:31:16 -!- variable has quit (Ping timeout: 272 seconds).
22:31:18 <CrazyM4n> Hold on, let me grab my computer so I can have an interpreter
22:31:35 <fizzie> EgoBot is still missing. :/
22:33:03 <CrazyM4n> Wanna know what's great
22:33:19 <CrazyM4n> When you start your brand new laptop to a black screen with a cursor
22:33:26 <CrazyM4n> Windows(tm)
22:33:43 -!- variable has joined.
22:34:59 <fizzie> `run gforth -e ': fib 0 dup . 1 dup . begin swap over + dup . again ; fib'
22:35:00 <HackEgo> 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 <CrazyM4n> That... That is the coolest not I've ever seen
22:35:25 <CrazyM4n> Bot
22:35:42 <shachaf> how do you feel about ¬
22:35:58 <fizzie> shachaf: I feel like it's missing an eye.
22:36:32 <Bicyclidine> ¬_\
22:36:42 <shachaf> fizzie: ⊭
22:36:59 <fizzie> ¬.⌐
22:37:29 <CrazyM4n> College algebra courses in highschool are so contradictory. I'll try writing the Fibonacci sequence after this hw
22:37:30 <shachaf>
22:37:40 <Bicyclidine> what's contradictory
22:37:56 <fizzie> 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 <shachaf> whoa, ⪉
22:39:35 -!- Sprocklem has changed nick to Guest68322.
22:39:57 <shachaf> i decalre < to mean "less than or equal to" and ⪇ to mean "less than"
22:40:13 <fizzie> (I went with "swap over" there, but "dup -rot" is the same.)
22:40:19 <CrazyM4n> Bicyclidine: college course in high school. That's contradictory
22:40:44 <CrazyM4n> I'll be back in like 20 min, hopefully with a working piece of code
22:40:55 <shachaf>
22:41:07 <shachaf> I don't have a font for that, sadly.
22:41:27 <fizzie> It shows up in the browser for codu logs, but not in the terminal.
22:42:03 <fizzie> 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 <shachaf> I think it did. I switched to tmux.
22:43:10 <fizzie> shachaf: Perhaps you can use ╕ as a replacement.
22:44:32 <Melvar> < 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 <fizzie> Yes, something like that.
22:46:06 <fizzie> `unidecode ¬⌐
22:46:07 <HackEgo> ​[U+00AC NOT SIGN] [U+2310 REVERSED NOT SIGN]
22:46:46 <fizzie> Yeah, it's the same font.
22:47:13 <fizzie> (urxvt has a handy "insert unicode by hex" thing where the info-popup also shows which font it's using.)
22:47:33 <CrazyM4n> Is it possible to get Unicode support in the terminal?
22:48:12 <Bicyclidine> sure.
22:48:17 <Melvar> They’re both in DejaVu Sans Mono for me.
22:48:29 <Bicyclidine> if your terminal doesn't support unicode your terminal's kinda shit.
22:48:44 <CrazyM4n> Like, Windows
22:48:52 <Bicyclidine> oh, ugh. well probably.
22:48:54 <CrazyM4n> All the Unicode chars are blank
22:49:06 <CrazyM4n> And I wanted to be able to output a snowman
22:49:16 <CrazyM4n> D:
22:50:08 <Bicyclidine> http://www.perlmonks.org/?node=871945 utf16 again. why.
22:51:32 <Melvar> Because hysterical raisins.
22:51:36 <CrazyM4n> Who made that decision? That's terrible!
22:52:02 <CrazyM4n> If only, you know, windows 8 didn't have a locked bootloader
22:52:55 <Bicyclidine> 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 <Bicyclidine> wait, utf16 is also variable length. nevermind.
22:53:18 <CrazyM4n> What did DOS support?
22:53:35 <Bicyclidine> um, bytes. ascii probably?
22:53:42 <Bicyclidine> might depend on where you bought it.
22:53:42 <fizzie> Bicyclidine: They were using something essentially like UCS-2 back when Unicode was 16 bits.
22:54:00 <CrazyM4n> Oh yea, ascii
22:54:06 <CrazyM4n> Forgot that even existed
22:54:17 <Bicyclidine> maybe latin 1. á is in latin 1, i think.
22:54:24 <fizzie> DOS supported whatever code page you loaded, and some of them were (at least mostly) supersets of the ISO-8859-* encodings.
22:54:45 <fizzie> Like CP850.
22:57:17 <CrazyM4n> Holy crap it just hit me how bad at math I am
22:57:31 <fizzie> 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 <fizzie> Leading to a lot of "there's some random À in the corner of my pretty line-drawing box" issues.
22:59:04 <CrazyM4n> Á and á still pop up a lot in random places it seems
23:02:30 <fizzie> 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 <fizzie> (Technically, the chronology might have been slightly different, with the Unicode expansion coming before the ISO 10646 merge.)
23:04:34 <CrazyM4n> "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 <CrazyM4n> Relevant: http://xkcd.com/927/
23:05:52 <zzo38> There is also PC character set; I often use that one too.
23:05:53 <Bicyclidine> unicode was smart enough to throw in giant anarchic areas for people to do their own shit.
23:06:11 <Bicyclidine> which is why if i wanted i could get a font for voynich characters.
23:06:24 <CrazyM4n> Thank god we have half arrows and snowmen in Unicode!
23:06:27 <fizzie> At least they managed to combine the two competing "universal" character sets (Unicode and UCS) with minimal fuss.
23:06:59 <ion> I still don’t know why Unicode has a SMILING FACE in WHITE and BLACK but just a WHITE FROWNING FACE.
23:07:16 <CrazyM4n> Are emojis Unicode?
23:07:30 <Bicyclidine> a lot of them are.
23:07:30 <CrazyM4n> 👍
23:07:30 <ion> There are emoji in Unicode
23:07:41 <CrazyM4n> 💩
23:07:51 <Bicyclidine> supposedly japanese cell providers keep going beyond and they're slowly incorporated into legitimacy.
23:07:54 <Bicyclidine> (hearsay)
23:08:00 <fizzie> Including FROWNING FACE WITH OPEN MOUTH, SLIGHTLY FROWNING FACE and PERSON FROWNING.
23:08:00 <CrazyM4n> Haha that's great
23:08:06 <CrazyM4n> Lol
23:08:06 <zzo38> ion: I do know why it has SMILING FACE in WHITE and BLACK but just a WHITE FROWNING FACE.
23:08:16 <zzo38> It is to match the PC character set (which doesn't have a frowning face at all)
23:08:17 <boily> slightly???
23:08:19 <CrazyM4n> I wonder if there is a standard for emojis
23:08:28 <Bicyclidine> unicode.
23:08:47 <fizzie> `unicode 1F64D
23:08:47 <HackEgo> ​🙍
23:08:54 <CrazyM4n> I mean, the ones that aren't explicitly stated in unicode
23:09:02 <CrazyM4n> Unless they all are.
23:09:09 <CrazyM4n> 🌚
23:10:26 <CrazyM4n> I just had a genius idea: an encryption algorithm that changes some data to emojis
23:10:53 <ion> Why mix encryption into encoding? You could do them as separate steps.
23:11:17 <CrazyM4n> Err, not necessarily encryption
23:11:23 <CrazyM4n> Just encoding
23:11:41 <fizzie> There's a full chapter of the topic in the FAQ: http://www.unicode.org/faq/emoji_dingbats.html
23:12:13 <fizzie> There are a couple of emoji characters that explicitly specify colors.
23:12:29 <fizzie> "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 <fizzie> 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 <CrazyM4n> 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 <Bicyclidine> you'll probably find this amusing then. http://www.w3.org/TR/emotionml/
23:16:21 <CrazyM4n> That's pretty funny, but might actually have uses
23:16:41 <CrazyM4n> In artificial intelligence, or chatterbots like cleverbot
23:17:47 <boily> fungot: don't worry about cleverbot. you're the best.
23:17:47 <fungot> boily: so, if neilv is not happy with that
23:18:02 <fizzie> Bicyclidine: <emotion category-set="http://www.w3.org/TR/emotion-voc/xml#everyday-categories" dimension-set="http://www.w3.org/TR/emotion-voc/xml#pad-dimensions"><category name="amused"><dimension name="intensity" value="0.2"></emotion>
23:18:09 <boily> fungot: then it's his problem. you're still the fungottiest of them all.
23:18:10 <fungot> boily: my arrow is on the right is the idea
23:18:23 <fizzie> Oh no I missed the /s in those empty tags.
23:18:32 <fizzie> 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 <CrazyM4n> So my alg teacher said she'd take point off for set builder notation
23:31:05 <CrazyM4n> And it's like, set builder notation is so great
23:31:14 <CrazyM4n> 😞
23:32:44 <Bicyclidine> what, do you have to use interval notation or whatever
23:33:36 <CrazyM4n> Yes
23:34:05 <CrazyM4n> Or we write our answers in English, as in "x is in the set of real numbers"
23:34:51 <CrazyM4n> Because {x|x<R} is so bad (couldn't find the "is part of" symbol on mobile )
23:35:00 <Bicyclidine> \isin
23:35:12 <Bicyclidine> no, tha'ts not it.
23:35:13 <Bicyclidine> eh.
23:35:53 <CrazyM4n> It's \u2208
23:37:03 <CrazyM4n> Haskell set builder notation is so great
23:38:00 <Bicyclidine> {x | x shaves themself }
23:41:55 <Melvar> { x | x ∈ ℝ } = ℝ
23:42:43 <CrazyM4n> 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 <CrazyM4n> 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 <pikhq> Unfortunately, there's numerous systemic problems that create the situation.
23:44:48 <CrazyM4n> </rant>
23:44:53 <pikhq> Such as the organization of it all; almost entirely local, with very poorly defined state or national standards.
23:46:14 <CrazyM4n> 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 <pikhq> See, that's not what the actual standards state. They state very little except mandating a standardized test as a metric.
23:47:34 <Bicyclidine> 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 <CrazyM4n> I'm not aware what the actual standards state, but what we learn is always perfectly dictated by the test
23:48:41 <pikhq> 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 <CrazyM4n> I agree
23:50:15 <pikhq> 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 <pikhq> Which results in them mandating that the standards get implemented in the laziest way possible.
23:51:01 <pikhq> 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 <CrazyM4n> Most of our officials were educated as football coaches iirc
23:52:16 <pikhq> And the problems only get more apparent in metro areas with high degrees of economic inequality.
23:52:34 <pikhq> Because the schools are run at a local level, the *funding* comes at a local level.
23:52:52 <pikhq> So how well the school facilities run is largely a function of how much money the surrounding area has.
23:52:54 <CrazyM4n> I live in a nicer area, so I can be thankful that the schools are better than in, say, Harlem
23:53:06 <pikhq> And so inner city schools are utterly screwed.
23:53:10 <pikhq> I'm in St Louis.
23:53:21 <CrazyM4n> How are the schools there?
23:53:25 <CrazyM4n> Same stuff?
23:53:39 <pikhq> Some parts of the area have insanely nice schools. Some have terrible schools that barely are functioning entities.
23:53:50 <pikhq> (fair note though: didn't go to school here)
23:56:27 -!- Tod-Autojoined has changed nick to TodPunk.
23:57:49 <CrazyM4n> Ah
23:58:33 <pikhq> Seriously though, what genius thought it was a good idea to fund a school from the property taxes in the city?
23:59:46 <CrazyM4n> Education doesn't start until college
2014-09-05
00:00:01 <pikhq> Trufax
00:01:08 <CrazyM4n> 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 <boily> I'm done with school. already forgetting large swabs of it, and it feels good. liberating, even.
00:01:47 <CrazyM4n> And I've only had 2 teachers, ever, that actually cared
00:01:50 <pikhq> Math education *in particular* is pretty dang messed up.
00:02:08 <CrazyM4n> Doesn't help that they are paid minimum wage, or close to it
00:02:09 <pikhq> Pretty much everyone thinks of math as essentially being magic rituals performed to arcane runes.
00:02:11 <boily> now I'm seeing my bro still going through it, and telling him “suffer!”. I love my bro.
00:02:26 <CrazyM4n> 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 <boily> CrazyM4n: how many years left in this glorious communal purgatory?
00:04:35 <CrazyM4n> 3.8
00:04:50 <CrazyM4n> Then shooting for MIT
00:04:53 <CrazyM4n> Quick
00:04:58 <pikhq> Good luck with that.
00:04:59 <CrazyM4n> Gotta write more code
00:05:21 <fizzie> Bicyclidine: \in.
00:05:24 <CrazyM4n> By 3 years I should have enough code in my github to at least get me somewhere :P
00:05:26 <fizzie> (Slightly late.)
00:05:35 <Bicyclidine> math is hard, let's go shopping
00:05:55 <CrazyM4n> Hah, so about them esoteric languages
00:06:03 <pikhq> Speaking as an employed programmer sans college degree: yes, that is a great idea.
00:06:44 <CrazyM4n> 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 <CrazyM4n> Which is kinda what I want to do
00:07:06 <pikhq> Eh, I'm only a couple steps away from that.
00:07:08 -!- not^v has joined.
00:07:15 <CrazyM4n> That must be nice
00:07:32 <pikhq> We can fit the entire company in a couple of vehicles. :P
00:07:33 <boily> I'm employed as a Software Developer. we don't say “programmer”. it's filthy :P
00:07:53 <pikhq> Okay, okay, my business card says "software engineer".
00:07:56 <CrazyM4n> The second I hit 18 and get a tax ID I'm going to start selling android apps
00:08:18 <pikhq> As far as I'm aware, you don't need to be 18 for that...
00:08:26 <CrazyM4n> Welp
00:08:43 <pikhq> Also, when you're 18 that might not be a thing that is all that interesting to do. :)
00:08:55 <CrazyM4n> Never said it would be interesting
00:09:13 <CrazyM4n> I'm pretty good at it, and it would make me money, and it's pretty fun to code
00:09:27 <CrazyM4n> 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 <pikhq> Let's go with "lucrative" then. You're what, 14, 15?
00:09:54 <CrazyM4n> Yes
00:10:06 <pikhq> In 2018 Android apps just might not matter.
00:10:28 <CrazyM4n> I don't see android dieing any time soom
00:10:31 <pikhq> ... Or they might matter heavily still, in which case I'm speaking irrelevancies. :)
00:10:47 <CrazyM4n> And if it does die, there's always a new mobile thing
00:10:55 <CrazyM4n> Mobile is a giant market, after all
00:11:00 <pikhq> Well yes. There's always *something* new.
00:11:51 <CrazyM4n> 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 <boily> 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 <boily> also, I see you're having a pretty healthy attitude towards closed source :D
00:14:13 <CrazyM4n> Haha, it's not the closed sourceness. It's the "Microsoft controls every aspect of this" I don't like
00:14:39 <CrazyM4n> E.g: i have to type my Microsoft password to log onto my Microsoft windows 8 laptop
00:14:41 <CrazyM4n> No joke
00:14:58 <pikhq> Believe it or not, that's actually an entirely optional feature.
00:15:11 <CrazyM4n> Looked in the options a while ago
00:15:33 <CrazyM4n> You can turn off the password on wake up, but not on boot
00:15:43 <CrazyM4n> Or maybe I'm oblivious
00:15:59 <zzo38> 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 <zzo38> Then it can be use regardless if it is Android or old or new mobile or desktop computers.
00:17:16 <CrazyM4n> Simulating a whole nother os/architecture on a phone is bound to be terribly slow
00:17:30 <CrazyM4n> At least, simulating a modern os
00:18:04 <Melvar> “a whole nother” is a fascinating phrase.
00:18:46 <CrazyM4n> Not grammatically correct, but it sounds good and I catch myself using it a lot
00:19:03 <zzo38> Then simulate a slower system
00:19:41 <zzo38> Or, you can make it a Harvard based system so that it can be compiled into a native code
00:19:47 <Melvar> It’s pervasive. I wouldn’t call it “not correct”. Just an interesting history.
00:20:10 <boily> `? nother
00:20:11 <HackEgo> nother? ¯\(°​_o)/¯
00:20:55 <boily> 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 <CrazyM4n> 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 <zzo38> However you haven't got the full feature unless the program is usable with pipes and that stuff too
00:21:36 <CrazyM4n> Wouldn't call the latter a simulation/emulation, but hey, it's an os on an os
00:21:43 <Melvar> Reanalysis is usually fun.
00:22:12 <zzo38> 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 <CrazyM4n> There's also some stuff like Wine or ReactOS, made to pretty much replace a need for that OS
00:24:06 <zzo38> Wine and ReactOS are both for x86 though
00:24:27 <zzo38> It is good if you are going to run x86 Windows programs, but maybe the computer won't be x86
00:25:00 <CrazyM4n> I've never seen a computer that isn't x86
00:25:06 <CrazyM4n> Well
00:25:08 <Melvar> Well, then pretty much the entire point would be gone.
00:25:15 <CrazyM4n> I guess
00:26:08 -!- Imaginer1 has joined.
00:27:18 <Imaginer1> uh, how do I message nickserv with my password?
00:27:52 <zzo38> Imaginer1: Type NS HELP for information about Nickserv.
00:28:10 <Melvar> 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 <Imaginer1> Ah, regain.
00:28:43 <zzo38> 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 <Imaginer1> I guess not.
00:29:24 <Imaginer1> There.
00:32:12 <CrazyM4n> That's pretty cool, actually
00:32:27 <CrazyM4n> But that's given that the target platform has NES emulators
00:32:34 <CrazyM4n> This is the niche that java fits
00:33:00 <boily> zzo38: tape? where there any official peripherals for the fami that had tape?
00:33:13 <zzo38> Yes, but there are many NES emulators anyways.
00:33:22 <zzo38> boily: Yes, the tape is connected through the keyboard.
00:34:06 <boily> I am intrigued.
00:34:50 * boily searches on google images. “heh, only 9800 ¥!”
00:35:30 <zzo38> 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 <zzo38> 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 <zzo38> Infocom has also made a "D-machine code" which has some relations to Z-machine code.
00:42:41 <zzo38> There is even an unofficial printer protocol for Famicom, I think.
00:43:04 <CrazyM4n> Is Famicom home brewing really a big thing?
00:44:16 <zzo38> I have written some programs for Famicom.
00:46:32 <CrazyM4n> That's cool
00:46:47 <Imaginer1> *kssh* this is Imaginer1 to Esoteric do you read me *kssh*
00:47:21 <zzo38> Imaginer1: Yes, I can read
00:47:45 <CrazyM4n> *kssht* we hear ya Imaginer1, rodger *kssht*
00:48:09 <Imaginer1> *kssh* arright I'm suffering from some, uh... *kssht*
00:48:17 <Imaginer1> *kssht* boredom, over. *kssht*
00:48:27 * boily uses a highly technical procedure known as PM on Imaginer1
00:50:39 <Imaginer1> wat
00:50:46 <Imaginer1> I'm using a horrible IRC client
00:50:49 <boily> percussive maintenance :D
00:50:56 <Imaginer1> Ahh.
00:51:12 <Imaginer1> http://pastebin.com/sj7ysgbE#
00:51:16 <Imaginer1> Python entropic data type.
00:51:30 <Imaginer1> Don't use foo.value, use foo.getvalue() and it changes the value slightly and randomly after reading it.
00:53:21 <zzo38> Then you should write a good IRC client?
00:53:50 <Imaginer1> Me? Write a good irc client? -Write-?
00:53:55 <Imaginer1> I couldn't, could I?
00:53:57 <Imaginer1> O.O
00:54:08 <Imaginer1> I'm so horrified of that prospect.
00:54:19 <Imaginer1> and now I must do it.
00:54:36 <Imaginer1> Can anyone point me to resources for linking IRC with Python?
00:55:58 <Bicyclidine> i think the usual is using twistd?
00:56:00 <zzo38> I don't know much about programming in Python.
00:56:02 <Bicyclidine> or maybe that's just for bots.
00:56:20 <Imaginer1> Oh, I'd still love to write bots.
00:56:26 <zzo38> Why are you horrified of it?
00:56:34 <Imaginer1> It sounds difficult.
00:56:36 <boily> writing bots is fun! exploiting them even funner!
00:56:38 <Imaginer1> It sounds like... /power/.
00:56:46 <Imaginer1> >:D
00:57:05 <Imaginer1> I'm not 'scared', I'm just... I feel like I'm learning programming at an astonishing rate and like wow
00:57:06 <zzo38> I have written an IRC client myself, so I know how too, but I didn't use any IRC client library.
00:57:07 <CrazyM4n> Over on the TPPI channel we would mess with the bot all the tine
00:57:11 <CrazyM4n> It was pretty great
00:57:12 <boily> 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 <boily> Imaginer1: ↑
00:57:30 <Imaginer1> weather...?
00:57:36 <Imaginer1> there's a weather library
00:58:06 <zzo38> I want a weather library for SQLite.
00:58:44 <Imaginer1> 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 <boily> Imaginer1: weather is verboten. it is an edict. I decree it.
00:59:25 <boily> also, what are your approximate geographic coördinates, and body weigh?
00:59:26 -!- sebbu has quit (Ping timeout: 276 seconds).
00:59:54 <Imaginer1> I'm feeling really uncomfortable I don't know what verboten or edict mean and you spelled coordinates with an ö
01:00:20 <zzo38> Then look it up in dictionary and then you can learn.
01:00:43 <CrazyM4n> There was a PDF file somewhere in the topic or whatever you call it
01:01:00 <Imaginer1> Arright... I thought it was programmer slang. :S
01:01:08 <Imaginer1> I'm just nervous in half these rooms gosh
01:01:29 <shachaf> c̈oor̈d̈ïn̈äẗës̈
01:01:38 <CrazyM4n> Just don't be an idiot and I think it will be ok
01:01:41 <boily> you should read the PDF. letters with diacritics are your friends. roast beef tastes good.
01:02:04 <shachaf> CrazyM4n: that is not a particularly nice thing to say
01:02:16 <Imaginer1> what pdf, are you talking to me?
01:02:20 <Imaginer1> i'M SUCH AN IDIOT GAHDS
01:02:21 <Imaginer1> *flails*
01:03:20 <zzo38> 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 <shachaf> `` head -n1 bin/danddreclist
01:03:58 <HackEgo> echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; echo http://zzo38computer.org/dnd/recording/level20.tex; exit
01:04:05 <Imaginer1> Oh, there...
01:04:43 <Imaginer1> '@ is an OS made out of only the finest vapor'
01:04:50 <Imaginer1> a pure magic smoke OS must be very effective
01:05:28 <Imaginer1> What is this pdf.
01:05:30 <Imaginer1> Omg.
01:05:50 <shachaf> boily: what is your approximate body kurd?
01:06:38 <boily> kurd???
01:06:43 <boily> as in the cheese kind?
01:07:07 <boily> Imaginer1: it is the PDF. I spent quite some time updating it. it has pineapples.
01:07:12 <shachaf> as in the kurdistan kind
01:07:18 <shachaf> or the kind you play on a piano
01:07:24 * boily facepalms
01:07:57 <boily> well, of the piano kind, I'm partial towards Eb. it sounds quite nice.
01:08:40 <zzo38> You can play piano?
01:08:54 <zzo38> What kind of music?
01:09:11 <Melvar> `unidecode ♭
01:09:12 <HackEgo> ​[U+266D MUSIC FLAT SIGN]
01:09:28 <Imaginer1> Well. If I was to write a bot what should it do?
01:09:39 <zzo38> Play Pokemon card?
01:09:45 <shachaf> jam
01:09:47 <zzo38> (with a non-stupid AI)
01:09:54 <Imaginer1> Too difficult.
01:10:01 <Imaginer1> And... well...
01:10:11 <Imaginer1> lame.
01:10:19 <boily> 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 <Imaginer1> 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 <zzo38> I like Bach too
01:12:20 <boily> he disappeared...
01:12:56 <boily> @tell Imaginer1 you shouldn't disappear. become one with your esoteric side. feel at ease.
01:12:57 <lambdabot> Consider it noted.
01:17:23 <CrazyM4n> Woo, homework finished
01:17:32 <CrazyM4n> Now to write that Fibonacci generator
01:17:46 -!- CrazyM4n has quit (Quit: Bye).
01:18:45 -!- CrazyM4n has joined.
01:18:54 <CrazyM4n> 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 <Imaginer1> Alright. I'm looking into the twisted module.
01:23:52 <Imaginer1> ^^
01:25:17 <Imaginer1> Oh dear, I know so little about irc in the first place
01:25:28 <Imaginer1> I'm only 17 maybe I'm not cut out for this
01:25:36 <CrazyM4n> :S
01:26:13 <Melvar> CrazyM4n: Fibonacci generator meaning what?
01:27:05 <CrazyM4n> 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 <Imaginer1> Ah, I saw that.
01:27:20 <CrazyM4n> I know it´s possible but it´s a pain in the butt
01:27:30 <Melvar> Oh, in your esolang.
01:27:34 <Imaginer1> I'm not normally one for yet -another- brainfuck derivative... but....
01:27:57 <Melvar> ( :let fibs : Stream Nat; fibs = 0 :: 1 :: [| fibs + tail fibs |]
01:27:57 <idris-bot> defined
01:27:58 <CrazyM4n> same here. it was going to just kinda be 2d brainfuck but then I was like ¨ooh commands¨
01:28:20 <Melvar> ( take 10 fibs
01:28:23 <idris-bot> [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] : Vect 10 Nat
01:28:41 <CrazyM4n> god i love functional languages
01:29:38 <CrazyM4n> http://sprunge.us/ChFA I´m in the middle of writing hello world
01:29:52 <lifthras1ir> how much is Brainfunge different from Befunge?
01:30:06 <CrazyM4n> uh. I couldn´t tell you. I don´t know befunge
01:30:11 <CrazyM4n> it´s definately simpler
01:30:27 <CrazyM4n> but therefore programs are more verbose to write
01:30:39 <lifthras1ir> 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 <lifthrasiir> meh for the nick collision
01:31:14 <CrazyM4n> like I said, I know no befunge except from the pointer commands + how the pointer works
01:31:27 <CrazyM4n> and I shamelessly rippped those and put them in my language
01:31:33 <CrazyM4n> the rest is coincedence
01:31:47 -!- Bicyclidine has quit (Ping timeout: 255 seconds).
01:33:35 <CrazyM4n> either way it was a heck of a lot of fun to write
01:34:53 <Imaginer1> i want another language that has musical source codeeee
01:37:59 <lifthrasiir> 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 <lifthrasiir> I think this correspondence is enough to classify Brainfunge as a rather trivial derivative of Befunge, and not Brainfuck.
01:39:46 <lifthrasiir> (two instructions from Brainfuge are missing in Befunge-93, but they are available in Funge-98 as an extension.
01:39:49 <lifthrasiir> )
01:49:01 <CrazyM4n> oh.
01:49:03 <CrazyM4n> well then.
01:49:18 <CrazyM4n> i wasn´t aware that twhat i made was almost a direct dialect of befunge
01:49:26 <CrazyM4n> should I rename it?
01:49:40 <CrazyM4n> 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 <CrazyM4n> so
02:30:58 <CrazyM4n> I finally bothered working on addition that doesn´t pop
02:31:05 <CrazyM4n> ¨!2|!2|2|3|+¨
02:31:26 <CrazyM4n> haven´t tested it
02:34:48 <CrazyM4n> http://prntscr.com/4jsjcl
02:39:33 <CrazyM4n> scratch that; doesn´t work
02:39:34 <CrazyM4n> :P
02:51:53 <CrazyM4n> so apparently that piece of code works
02:52:00 <CrazyM4n> but i implemented ¨|¨ incorrectly
02:52:20 <CrazyM4n> i feel so dumb
02:55:24 <Melvar> Why did you pick ¨ in an otherwise ascii-looking thing?
02:55:37 <CrazyM4n> uh
02:55:43 <CrazyM4n> hexchat is really weird
02:55:54 <CrazyM4n> ¨ is a quote and ´ is an apostrophe
02:56:02 <CrazyM4n> instead of normal things
02:59:13 <zzo38> Maybe you should change the settings in the program?
02:59:46 <CrazyM4n> let me look for a setting that sounds related
03:00:01 <Melvar> Those are a spacing diaeresis and a spacing acute.
03:00:20 <Melvar> What’s your keyboard layout, locale, and input method?
03:00:42 <CrazyM4n> typing into notepad results in normal characters
03:00:53 <CrazyM4n> "'
03:00:55 <CrazyM4n> vs
03:00:58 <CrazyM4n> ¨´
03:01:06 <Melvar> Oh, Windows? Never mind, no idea.
03:01:29 <CrazyM4n> there, fixed it
03:01:30 -!- Imaginer1 has joined.
03:01:34 <CrazyM4n>
03:01:37 <CrazyM4n> never mind
03:01:40 <Imaginer1> Howdy.
03:01:40 <zzo38> Not quite.
03:02:35 <Melvar>
03:02:49 <CrazyM4n>
03:02:51 <CrazyM4n> ...
03:03:10 <CrazyM4n> hexchat is so broken
03:06:51 <Melvar> 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 <CrazyM4n> 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 <fizzie> `run gforth -e '-5 2 / . bye' # wasn't expecting that
06:21:33 <HackEgo> ​-3
06:21:56 <fizzie> 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 <fizzie> `run gforth -e 's" FLOORED" environment? [if] . [then] bye' # see?
06:24:19 <HackEgo> ​-1
06:45:56 -!- Frooxius has quit (Quit: *bubbles away*).
06:55:37 <mroman_> Is there a codepad thingy where others can edit it?
06:55:47 <mroman_> (codepad is some snippet pasting site)
06:56:31 <mroman_> ah. lpaste.net can do it
06:58:52 <fizzie> I think ideone too.
06:59:12 <fizzie> And there was one with real-time collaborative editing, with the whole "several cursors" thing and all.
07:01:32 <fizzie> I can't remember which one it was that I saw, Google finds several.
07:03:12 <mroman_> one that runs in the browser?
07:03:21 <fizzie> Yes.
07:03:34 <mroman_> which one did you find?
07:03:48 <fizzie> At least http://collabedit.com/ (the "try it now" link).
07:04:01 <fizzie> And http://codebunk.com/
07:04:22 <fizzie> Also I think it was codebunk.com that I saw, the interface looks vaguely familiar.
07:04:30 <fizzie> Neither of those require any accounts or anything.
07:05:11 <fizzie> Also http://demo.firepad.io/
07:05:32 <fizzie> Firepad is the bit that runs quite a lot of them, that's their own demo page.
07:06:20 <fizzie> 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 <fizzie> CoderPad.io seems to have fancy "also runs the code" support.
07:07:53 <mroman_> are there any free ones?
07:08:00 <mroman_> coderpad and codebank I'm not so sure
07:08:06 <mroman_> there's a "pricing" info
07:08:30 <mroman_> anyway: http://lpaste.net/3911621673622700032
07:08:38 <mroman_> people are welcome to add more
07:08:50 <mroman_> (these are all optional directives as discussed yesterday)
07:09:11 <mroman_> It just makes sense to define a set of optional directives to establish common namings
07:10:13 <fizzie> How do you envision something like #MEM_WRAP_LEFT #MEM_UNBOUNDED_RIGHT to work?
07:10:50 <fizzie> Wrap to the furthest-on-the-right cell that's ever been visited?
07:11:48 <mroman_> or that's ever been allocated
07:12:15 <fizzie> That sounds quite vague, since you have no control over that.
07:12:34 <mroman_> True
07:12:50 <mroman_> furthest-on-the-right ever been visited makes more sense I assume
07:13:24 <fizzie> 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 <mroman_> I'm not planning to have names for combinations of multiple directives
07:17:07 <mroman_> you can just use multiple directives in the code
07:22:18 <fizzie> No, I mean, that's already a name for the rather unlikely configuration, even if it has multiple directives.
07:22:21 <fizzie> (Gone now.)
07:38:46 <mroman_> damn
07:38:50 <mroman_> how does one undo git add again :(
07:49:26 <mroman_> 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 <fizzie> "git status" is supposed to have a helpful reminder of that at the top of the "staged changes" list.
08:36:36 <mroman_> it does
08:36:41 <J_Arcane> mroman_: Bookmark this: http://sethrobertson.github.io/GitFixUm/fixup.html
08:47:09 <fizzie> The javascript-driven "current path" machinery could do with a few lines of more intelligence.
08:47:29 <fizzie> Going backwards by clicking the path links just appends those same questions.
09:05:12 <mroman_> wait
09:05:22 <mroman_> A -> B -> C if you click on B it's A -> B -> C -> B?
09:05:42 <mroman_> (are you talking about breadcrumbs?)
09:06:27 <fizzie> Yes.
09:06:46 <fizzie> And the regular back button doesn't affect them at all, of course.
09:07:09 <fizzie> It's fine for a single "playthrough" of the document, but awkward for browsing around.
09:09:41 <J_Arcane> Frank Herbert's guide to computing circa 1980: http://chiclassiccomp.org/docs/content/books/WithoutMeYoureNothing_FrankHerbert.pdf
09:15:28 <fizzie> "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 <int-e> it's more subtle now
09:17:24 <int-e> you have computers but increasingly, you don't control them.
09:18:43 <ion> COMPUTERS DO NOT MAKE ERRORS.
09:18:49 <ion> Quantum physics would beg to differ.
09:19:24 <mroman_> By that logic humans make no errors
09:19:28 <mroman_> but god does
09:19:54 <mroman_> (or some other thing that may have created us)
09:22:44 <int-e> ion: it's worse. they (fairly) reliably do as they are told
09:33:49 <mroman_> It's subtle
09:34:00 <mroman_> but given we program some AI that can make decisions
09:34:18 <mroman_> then that AI certainly should be able to do errors
09:34:27 <mroman_> that can't be reasonably be linked to programmers?
09:34:34 <mroman_> -be
09:36:45 <int-e> good headline, "Computers are not Oracles"
09:38:39 <mroman_> There's an Oracle though that writes Software for Computers.
09:51:33 <fizzie> fungot: Are you an Oracle Y/N?
09:51:33 <fungot> fizzie: you are never gonna succeed in convincing a sizable proportion of scheme users.
09:51:46 <fizzie> I think that was a "yes, and here's a prediction for you".
09:52:57 <int-e> wow, fun got outdid itself there.
09:57:01 -!- J_Arcane_ has joined.
09:57:27 <int-e> fungot
09:58:21 <oerjan> `unidecode fungot
09:58:22 <fungot> 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 <HackEgo> ​[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 <oerjan> why didn't it respond to int-e
09:58:41 -!- J_Arcane_ has changed nick to J_Arcane.
09:58:57 <int-e> `unidecode fungot
09:58:57 <HackEgo> ​[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 <oerjan> hm that's weird
09:59:51 <oerjan> `unidecode > ​[
09:59:52 <HackEgo> ​[U+003E GREATER-THAN SIGN] [U+0020 SPACE] [U+200B ZERO WIDTH SPACE] [U+005B LEFT SQUARE BRACKET]
09:59:59 <J_Arcane> 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 <oerjan> you are using a different zero width space which putty _doesn't_ copy and paste
10:01:06 <oerjan> hm it pastes if i copy it from the logs instead
10:01:09 <fizzie> The FEFF space.
10:01:24 <oerjan> but not if a copy directly from irssi
10:01:32 <b_jonas> nah, I don't believe in this "lisp is the language of AI" nonsense
10:02:35 <J_Arcane> 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 <fizzie> 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 <J_Arcane> There are still a number of intro courses using Racket, largely on the strength of HTDP.
10:03:50 <fizzie> 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 <fizzie> (Also they switched the Scheme from SICP to HtDP the year before I did them, I think.)
10:05:00 <fizzie> 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 <J_Arcane> I'm slowly working through HTDP right now, actually.
10:06:29 <int-e> @tell oerjan strangely, xterm with fixed font even displays that non-breaking space: http://int-e.eu/~bf3/tmp/nbspace.png
10:06:29 <lambdabot> Consider it noted.
10:08:25 <b_jonas> 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 <b_jonas> 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 <b_jonas> but now thta's pointless.
10:09:39 <b_jonas> I think "the language of AI" is just a statement that got stuck from that time.
10:09:45 <J_Arcane> 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 <int-e> prolog has also been the language of ai for a while
10:12:08 <int-e> 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 <fizzie> J_Arcane: Just don't believe HtDP when it tries to tell you that lambda is a special case of "local".
10:14:26 <fizzie> 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 <fizzie> (Pet peeve.)
10:15:35 <int-e> Oh it pretends that lambdas have a name underneath.
10:17:10 <fizzie> And "local" is of course not any sort of R5RS standard form.
10:17:15 <J_Arcane> Well, in Racket, technically, they do. Even the docs will tell you that.
10:17:39 <fizzie> Racket didn't exist when I was reading this.
10:17:47 <fizzie> It was just PLT Scheme.
10:18:02 <J_Arcane> Yeah. I'm reading the 2nd Edition, which is post Racket.
10:18:19 <fizzie> Oh, they've made a new one?
10:18:35 <J_Arcane> Yup: http://www.ccs.neu.edu/home/matthias/HtDP2e/
10:19:02 <J_Arcane> It's still in progress I think technically, but the stable edition gets updated in time with new Racket releases.
10:20:11 <fizzie> 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 <fizzie> PLAI I think I liked.
10:20:32 <fizzie> Even though we didn't cover it terribly thoroughly.
10:21:11 <fizzie> And it was't also quite released yet, we used a beta.
10:21:16 <J_Arcane> 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 <int-e> hmm "Generative Recursion" is an odd term.
10:30:29 <fizzie> It's one of their own terms, I think.
10:32:12 <boily> design patterns are a scam for the most part, and those that matter shouldn't be explicitely named in the code.
10:37:46 <fizzie> boily: Well aren't you just a Flyweight Proxy Facade Bridge Adapter.
10:38:21 <J_Arcane> Heh.
10:40:25 <J_Arcane> 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 <fizzie> J_Arcane: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/ sure you do
10:41:47 <fizzie> See e.g. com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.LoopContextStateRetrievalToSingleStepOutputGenerationAdapter.
10:41:59 <J_Arcane> It *is* helpful for "getting" how that style of functional programming can be built.
10:42:09 <J_Arcane> fizzie: I mean in the Racket community.
10:42:15 <fizzie> Oh, okay.
10:44:05 <J_Arcane> 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 <int-e> IsEvenlyDivisibleStrategyFactory.java [separated into interface and two implementations, one for Fizz, oone for Buzz. obviously.]
10:45:08 <boily> 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 <int-e> if (NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger, FizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE)) ...
10:45:36 <int-e> fizzie: thanks
10:46:47 <int-e> (that class also implements the RedundantIf design pattern: if (foo) { return true; } else { return false }.)
10:47:40 <boily> I'm going to have a very interesting day, what with the daymares you're inducing...
10:48:00 <b_jonas> int-e: ah yes, we love that
10:48:31 <int-e> (sorry, I forgot a semicolon there.)
10:48:43 <J_Arcane> I picked up RedundantIf somewhere and keep having to remind myself not to do things like that ...
10:51:14 <boily> 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 <J_Arcane> An early version of my alphabetic word search had an (if (equal? ...) #t #f) in it ... :shame:
10:55:01 <fizzie> Which one is better/more professional, the RedundantIf pattern or the RedundantConditionalExpression (x ? true : false) pattern?
10:55:30 <boily> fungot: your opinion on the matter?
10:55:31 <fungot> boily: well i can tell
10:55:34 <b_jonas> fizzie: the redundant cat is worse
10:55:54 <boily> fungot: and?
10:55:54 <fungot> boily: but subr is hardly new :) and my philosophy class on friday) are now downloadable on the website
10:56:01 <boily> fungot: so?
10:56:01 <fungot> 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 <J_Arcane> fungot: that is just so lisp.
10:56:33 <fungot> J_Arcane: what is that
10:57:12 <fizzie> 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 <b_jonas> 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 <fungot> b_jonas: fnord/ fnord has the thing that worries me more than a thousand repeats to return to
10:58:30 <fizzie> 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 <fungot> int-e: 3 helios24: ps ( thread-id 28)
10:58:42 <fizzie> It's easy enough to do by accident.
10:59:17 <b_jonas> fungot: no, not fnord, FOLD. also known as reduce or inject or insert.
10:59:17 <fungot> 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 <J_Arcane> 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 <fizzie> 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 <fizzie> (But the = is not going to.)
11:00:45 <J_Arcane> 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 <J_Arcane> 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 <boily> @metar CYUL
11:06:02 <lambdabot> 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 <fizzie> I guess that's like checking the weather before deciding on the phase (of matter) of the quit message chicken?
11:27:11 <mroman_> fungot: are you a scheme user?
11:27:11 <fungot> mroman_: i'm at work. i think
11:27:33 <fizzie> fungot: Bad sign if you're not sure about that.
11:27:33 <fungot> 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 <mroman_> fungot: I swear I'll never use Scheme.
11:28:59 <fungot> mroman_: shouldn't be too difficult to parse it all. :) i think that
11:31:12 <mroman_> Lisp was made to be parsed.
11:31:17 <mroman_> That's the beauty of it :)
11:35:28 <J_Arcane> Indeed.
11:35:53 <J_Arcane> (my next book I want to get through is learning C through creating a Lisp. :D)
11:37:12 <mroman_> Luckily I can already cross that off my list
11:37:20 <mroman_> (http://esolangs.org/wiki/Stlisp)
11:37:32 <mroman_> I also know Common Lisp a little bit
11:37:50 <Taneb> I think a dependently typed lisp would be a fun thing
11:39:44 <mroman_> ack
11:50:07 <mroman_> FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter
11:50:48 <Taneb> I kind of want to write an academic wankery verssion of FizzBuzz in Haskell now
11:51:17 <fizzie> Taneb: Just as long as you prove it correct before you're done.
11:51:37 <mroman_> where the hell does it do FizzBuzz .
11:52:49 <mroman_> nope. this is insane
11:53:23 <fizzie> 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 <fizzie> 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 <mroman_> NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger, FizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE))
11:54:58 <mroman_> yep.
11:55:15 <J_Arcane> Jesus.
11:55:32 <mroman_> no Strategy Pattern to select the algorithm for the verification?
11:55:37 <mroman_> that's bad.
11:56:24 <fizzie> Oh yes, that's quite the omission.
11:56:40 <mroman_> Taneb: http://golf.shinh.org/p.rb?FizzBuzz
11:57:09 <mroman_> You can do it in 82B
11:58:11 <fizzie> But it doesn't have enough names of mathematicians in it when done that way, I'd guess.
11:58:57 <fizzie> Befunge is nicely high up in the list.
12:00:50 -!- Sgeo has quit (Read error: Connection reset by peer).
12:05:00 <TieSoul> hey guys
12:05:10 <TieSoul> so I'm completely rewriting RubyFunge
12:05:24 <TieSoul> using a hash now instead of a matrix for Funge-Space
12:05:30 <TieSoul> it works really well
12:05:36 <TieSoul> :P
12:06:33 <mroman_> notogawa is a real beast in haskell golfing
12:07:24 <mroman_> much like clock is a beast in golfing in almost any language
12:07:24 <mroman_> (he golfs in so many languages and is always on the top in dozens of languages)
12:08:19 <fizzie> `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 <HackEgo> 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 <fizzie> I really like how nested Forth ifs read.
12:09:29 <fizzie> p q if if a else b then else if c else d then then
12:11:07 <myname> dafuq
12:13:08 <fizzie> 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 <Melvar> 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 <impomatic_> 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 <fizzie> 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 <fizzie> I'm pretty sure you can't write endif in the firmware of your SparcStation, for example.
12:30:17 <mroman_> "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 <b_jonas> "endif"?
12:36:19 -!- impomatic_ has quit (Ping timeout: 252 seconds).
12:36:51 <fizzie> It's a gforth-et-al. synonym for "then".
12:37:02 <myname> endif makes more sense than then imo
12:38:22 <fizzie> Sure, sense. But it's just a word, and non-portable. (Granted, you could just define your own where not provided.)
12:41:11 <fizzie> `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 <HackEgo> 5
12:51:42 <b_jonas> `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 <HackEgo> 5
12:51:48 <b_jonas> `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 <HackEgo> ​ \ *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 <b_jonas> 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 <impomatic_> I had a manual for JOSS. Sold it on eBay though.
13:03:14 <impomatic_> 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 <b_jonas> ouch
13:08:56 <mroman_> wait
13:09:03 <mroman_> you sold it without copying it?
13:09:09 <mroman_> :(
13:18:26 -!- mihow has joined.
13:32:18 <impomatic_> mroman_ sorry it wasn't something I needed.
13:35:26 <impomatic_> If you can't find a manual for JOSS, try JEAN.
13:46:27 <impomatic_> 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 <mroman_> TELCOMP looks interesting as well
14:19:22 -!- Patashu has quit (Ping timeout: 245 seconds).
14:26:10 <mroman_> How close are sateellites to the earth actually?
14:27:07 <mroman_> 35kkm
14:27:08 <mroman_> i see
14:29:49 <mroman_> smartwatches ey...
14:30:13 <mroman_> Is everything android based now?
14:31:15 -!- Sprocklem has joined.
14:32:56 <myname> i hope so
14:33:29 <mroman_> why?
14:33:43 <mroman_> It would be much more fun if there's more diversity
14:34:08 <mroman_> also I've started to associate Android with "bloatware"
14:34:45 <mroman_> also I don't want a smartwatch that requires an Android Phone to work well
14:34:56 <mroman_> it oughta be a standalone smartwatch
14:35:15 <myname> what should it do?
14:37:38 <mroman_> I don't know.
14:37:41 <mroman_> Being smart.
14:37:50 <mroman_> It should be smart and do smart things
14:38:03 <mroman_> besides displaying the time of course
14:38:15 <mroman_> and maybe have a runtime of at least 7 days
14:38:32 <mroman_> everything under 7 days is totally unacceptable in my eyes
14:38:39 <myname> i have very few ideas of what a smartwatch WITH a smartphone should do
14:38:48 <mroman_> I might as well strap a little nokia to my wrist and it'd run for a month straight
14:38:50 <myname> but basically not one for without a phone
14:39:13 <mroman_> It would be nice if it were able to send emergency signals to police/hospital or something like that
14:39:36 <mroman_> and make phone calls of course
14:39:37 <mroman_> :)
14:39:42 <myname> yeah, so much accidental calls
14:40:04 <mroman_> technically it should be a phone like the phones in the old days
14:40:07 <mroman_> but squished into a watch
14:40:10 <myname> so, you basically want 2 sims? one for your phone and one for your watch?
14:40:25 <mroman_> well I don't need a phone then if the smartwatch can do that
14:40:45 <myname> a phome squished into a watch is a horrible idea
14:40:55 <mroman_> I think it's a great idea
14:41:10 <mroman_> the display is big enough for phone functionality
14:41:17 <mroman_> probably even for gps maps functionality
14:41:58 <mroman_> although my eye sight is getting more terribly every month
14:42:00 <mroman_> :(
14:42:37 <mroman_> It would be star-trek like
14:42:43 <mroman_> you just press a button on the watch
14:42:54 <mroman_> say "Watch, call pizza delivery for me, would you"
14:43:00 <mroman_> and there you go
14:43:31 <myname> don't seex why it shouldn't send that to the phone
14:43:47 <mroman_> because the watch is a phone
14:44:03 <mroman_> I don't see why you need a phone if the watch is itself a phone
14:44:05 <myname> there were phones as watches
14:44:08 <myname> they all sucked
14:44:13 <mroman_> yeah
14:44:16 <mroman_> probably
14:44:17 <mroman_> never had one
14:44:19 <myname> also, try gps navigation on a bike
14:44:26 <mroman_> but know it's 2014 and I'm sure we can make it not suck
14:44:29 <mroman_> *now
14:44:40 <myname> "can't read map because it's on your fucking wrist"
14:44:58 <mroman_> those watches probably didn't have zoom
14:45:23 <mroman_> well
14:45:24 <myname> yeah, i totally want to ride a bike with no hands
14:45:30 <myname> that'll be perfect
14:45:33 <mroman_> "can't read map on my smartphone because it's in my fucking pocket"
14:45:36 <mroman_> ^- doesn't sound much better
14:45:43 <Jafet> You can ride a bike with no hands.
14:45:50 <mroman_> and I can ride a bike with no hands
14:46:07 -!- Imaginer1 has joined.
14:46:07 <myname> 1. i won't do that for to long 2. you can't ride MY bike with no hands
14:46:17 <mroman_> well then your bike sucks
14:46:19 <Imaginer1> Howdy all
14:46:37 <myname> my bike is awesome
14:46:44 <myname> it's a brompton <3
14:47:16 <mroman_> back in the old days we duct taped paper maps to the steering bar
14:47:31 <mroman_> you'd have to do the same thing with a smartphone
14:47:41 <mroman_> or buy a holder for your smartphone
14:47:43 <myname> i don't, i have a finn
14:47:48 <mroman_> ?
14:48:12 <myname> http://getfinn.com/
14:48:14 <mroman_> You have somebody from finnland to do navigation for you?
14:49:25 <mroman_> anyway I'd still love to have a watch that's also a phone
14:49:31 <mroman_> and has a battery life of at least 7 days
14:50:54 <mroman_> although speaker and microphone...
14:51:06 <mroman_> loudspeaker wouldn't be so great :(
14:51:13 <mroman_> but if it had headphones of some sort
14:51:28 <mroman_> oh
14:51:37 <mroman_> and it also has to function as an electronic wallet
14:51:42 <mroman_> and electronic bus/train ticket
14:52:01 <mroman_> possibly through those QR code's they already have for smartphone tickets
14:52:05 <mroman_> *codes
14:52:27 <mroman_> that'd be awesome
14:52:45 <myname> so you want a tiny smartphone to put around your wrist
14:52:51 <Imaginer1> I'm scared, but I think I'm gonna write a bot o.o
14:52:52 <myname> have fun
14:53:09 <mroman_> I'd call it cleverphone
14:53:12 <mroman_> ;)
14:53:23 <mroman_> Imaginer1: for IRC?
14:53:26 <mroman_> and why?
14:53:35 <Imaginer1> Because I'm...
14:53:43 <Imaginer1> I've never done it before?
14:53:45 <Imaginer1> :S
14:53:55 <Imaginer1> See, every time I start a project
14:54:03 <myname> there were one that i would vuy if it weren't that old
14:54:10 <Imaginer1> 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 <Imaginer1> But then I learn.
14:54:16 <Jafet> Make sure to have adequate protection.
14:54:27 <myname> Imaginer1: just build around II?
14:54:38 <Imaginer1> II?
14:54:39 <myname> that's what i would do
14:55:07 <Imaginer1> I feel so inadequate in this room. Like all the time. Jeez.
14:55:20 <myname> Imaginer1: http://tools.suckless.org/ii/
14:55:21 <mroman_> writing an irc bot isn't that hard :)
14:55:29 <mroman_> there's even irc libraries
14:55:35 <Imaginer1> Oh, wondeful
14:55:37 <mroman_> where you can install hooks for messages containing stuff
14:55:51 <Imaginer1> ok... ^^;
14:56:00 <mroman_> the hard part is writing the commands the bot should support :D
14:56:03 <myname> mroman_: http://www.shoutpedia.com/wp-content/uploads/2010/06/motorola-flipout.jpg
14:56:05 <Imaginer1> Like, can I somehow tell you where I am with coding?
14:56:19 <Imaginer1> My best thing, imo, could make bmp images of the mandelbrot set
14:56:26 <Imaginer1> that's, i think, the best thing I ever wrote
14:56:30 <mroman_> that doesn't look like a watch
14:56:32 <mroman_> but it's close I guess
14:56:38 <Jafet> Run an old mirc and some kind person will come along and turn it into an irc bot for you
14:56:46 <myname> it is a pretty awesome thinh
14:56:55 <myname> too bad it runs android 2.1
14:56:55 <Imaginer1> But I want to make it myself, it would be a learning experience ^^;
14:57:32 <Imaginer1> Unrelated question: what does it mean to flush input?
14:58:42 <mroman_> input is usually buffered by libraries
14:58:50 <mroman_> i.e. line buffering for example
14:59:13 <mroman_> where stuff like readchar() blocks until a newline was there
14:59:26 <mroman_> and then you'll receive the first character by a single readchar of that line
14:59:31 <Imaginer1> ok
14:59:39 <mroman_> flush should make it return right now
14:59:48 <mroman_> but that may depend on the language you're using
14:59:54 <Imaginer1> like skipping the pointer to the next line or whatever....?
15:00:01 <Imaginer1> or the next 'buffer'
15:00:15 <Imaginer1> like if you were buffering by words it would skip to the next word
15:00:17 <Imaginer1> I'm so sorry v_v
15:00:24 <Jafet> It's what you do when you know that you're getting crap input
15:00:26 <Imaginer1> ok.
15:00:31 <mroman_> however
15:00:38 <mroman_> I think fflush(stdin) in C clears the input buffer?
15:00:45 <Imaginer1> I don't use C.
15:00:47 <Imaginer1> ^^;
15:01:04 <Jafet> fflush(stdin) revokes your C programming license
15:01:14 <mroman_> damn :(
15:01:19 <mroman_> where can I re-apply for it?
15:01:23 <Imaginer1> hehehe
15:01:28 <mroman_> (I've never used fflush(stdin) though)
15:01:33 <myname> i never got mine :>
15:01:34 <mroman_> but I was just about to
15:01:36 <Imaginer1> What are your guys' languages?
15:02:16 <mroman_> Haskell, of course.
15:02:22 <Imaginer1> ah
15:02:36 <myname> why doesn't anybody say befunge or the like?
15:02:41 <Imaginer1> Well
15:02:44 <Bike> snobol forever
15:02:51 <Imaginer1> because people know esoteric ones but it's not like they use them -regularly-
15:02:54 <Imaginer1> it's fun but
15:02:56 <Imaginer1> yeah
15:03:25 <Jafet> befunge just doesn't support, like, programming in the large and stuff
15:03:45 <myname> it is perfectly scalable!
15:03:58 <myname> just ask fungot
15:03:59 <fungot> myname: " you are conversational skills need work."
15:04:07 <mroman_> Imaginer1: wrong
15:04:12 <mroman_> I use Burlesque regularly
15:04:18 <mroman_> not as regularly as I used to but still
15:04:33 <Imaginer1> Well, I have yet to find an esoteric language I'd like to use regularly
15:04:37 <Imaginer1> but I'm excited to fine one
15:04:39 <Imaginer1> *find
15:05:15 <myname> burlesque looks like j for the uneducated
15:06:09 <Jafet> Fighting words
15:06:36 <mroman_> Burlesque looks like J for the esoteric, bored during lectures, creepy nerd
15:06:58 <mroman_> like me
15:07:05 <myname> i should learn that
15:08:05 <mroman_> blsq ) 4ro{RT}3!C#s
15:08:05 <mroman_> {{1 2 3 4} {2 3 4 1} {3 4 1 2} {4 1 2 3}}
15:08:13 <mroman_> it's easy and readable.
15:08:23 <myname> well...
15:08:41 <mroman_> it's at least one of those two things.
15:08:47 <mroman_> possibly both.
15:10:01 <myname> the most important thing is that you believe in it
15:10:34 <Imaginer1> I think I'm gonna make my bot to play games.
15:10:43 <mroman_> well
15:10:44 <Imaginer1> Hexapawn (with boards a bit larger than 3x3) or smth
15:10:48 <mroman_> I can do chisquare tests with it!
15:11:20 <mroman_> https://raw.githubusercontent.com/FMNSSun/Burlesque/master/examples/statistics2.blsq
15:11:23 <mroman_> ^- there you go
15:11:32 <myname> does anybody know about a language independent programming game?
15:11:51 <mroman_> I thought there was one working through stdin/stdout @game
15:12:15 <myname> which is it
15:12:53 <myname> fifos should work, too
15:13:26 <Jafet> What is a programming game?
15:14:04 <myname> simple example: bf joust
15:14:15 <myname> players write programs to compete
15:14:52 <mroman_> Jafet: You don't play the game but you write programs that play the game
15:15:01 <Jafet> So... WCCC?
15:15:07 <mroman_> Popular games are for example CoreWar
15:15:09 <mroman_> or Ants
15:15:17 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
15:15:18 <mroman_> in Ants you write a program (AI) that controls an ant colony
15:15:33 <mroman_> or is it called AntMe!
15:15:34 <mroman_> hm
15:15:51 <myname> robocode
15:17:03 <Jafet> Well, WCCC involves competing hardware too.
15:18:11 <mroman_> http://mroman.ch/burlesque/rwb2.pdf <- also have a look at this case study
15:18:14 <myname> sounds expensive
15:18:22 <mroman_> (I have no idea what a case study actually is)
15:19:09 <mroman_> easy as fuck with burlesque .
15:20:51 <mroman_> Of course, this was made with an older version
15:20:54 <mroman_> the line ln [- {tt}m[ un
15:21:04 <mroman_> can be replaced with a single command in the current stable version
15:22:11 <mroman_> tl"""(m|C)"R~SP is all that's needed to parse the stuff now
15:22:35 <mroman_> quite possibly tl"(m|C)"~RSP in the next version
15:23:24 <mroman_> tl"(m|C)"~RSPu[2COJ{p^.<}feFi!!
15:23:38 <mroman_> (without the message, just prints the number)
15:24:37 <mroman_> once you know all 300++ commands it's easy readable
15:24:42 <mroman_> *easily
15:26:06 <mroman_> the next version will most likely even have variables
15:28:33 <myname> lol
15:30:20 <mroman_> tired of having to write dozens of characters of code for Fibonacci Sequence?
15:30:37 <mroman_> My product makes this much easier
15:30:39 <mroman_> blsq ) 1J{.+}10!C#s
15:30:40 <mroman_> {1 1 2 3 5 8 13 21 34 55 89 144}
15:30:42 <mroman_> 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 <oerjan> @messages-lol
16:25:16 <lambdabot> 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 <fizzie> I saw the space too.
16:25:50 <fizzie> As a gap.
16:26:16 <oerjan> ic
16:30:04 <zzo38> I am using PuTTY and it does something similar to the picture there
16:32:20 <oerjan> i am also using putty
16:55:13 <TieSoul> okay so my idea of using a hash to represent Funge-Space didn't turn out so well
16:55:34 <oerjan> making a hash out of things is not recommended
16:55:35 <TieSoul> let's just say that it took 19 seconds to run mycology
16:56:10 <oerjan> *-out
16:58:03 <elliott> 19 seconds for mycology isn't that bad.
16:58:07 <mroman_> http://mroman.ch/bundle.txt <- if somebody wants one of these games (Steam) just pm me
16:58:16 <elliott> a lot better than some interpreters manage, iirc
16:58:24 <mroman_> I can gift them
16:58:38 <fizzie> 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 <fizzie> TieSoul: "cheating" part if the region size is optimized for mycology.
16:59:19 <TieSoul> hrm
17:00:02 <fizzie> fungot: How do you feel about your fungespace implementation?
17:00:02 <fungot> 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 <fizzie> Uh.
17:00:58 <oerjan> i think fungot should talk to edwardk about his theories
17:00:59 <fungot> oerjan: i guess i _do_ care about beautiful code. xd.
17:01:24 <TieSoul> 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 <TieSoul> but that made my code really cluttered
17:02:20 <TieSoul> so I tried the hash method, but that made my code really slow.
17:02:46 <elliott> 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 <TieSoul> ???
17:03:08 <TieSoul> what is this about abstracting it out?
17:03:12 <TieSoul> what does that mean?
17:03:22 <oerjan> O_O
17:03:27 <TieSoul> making fungespace a class and use functions?
17:03:37 <TieSoul> (I mean instance methods)
17:06:36 <TieSoul> ...did I say something wrong? :P
17:07:04 * oerjan counts the crickets
17:07:45 <oerjan> well yes, if you are using OO programming.
17:08:13 <TieSoul> Yes I am, I'm using Ruby.
17:08:57 <TieSoul> Actually, I'm thinking about starting over in C# or C++, because they're faster
17:09:13 <TieSoul> and my Ruby code kinda sucks
17:10:38 <oerjan> for speed it might be good to use a language that is capable of optimizing out the abstraction.
17:11:01 <oerjan> *implementation, technically
17:11:05 <zzo38> oerjan: Either that or optimize out the abstraction by yourself.
17:11:16 <TieSoul> oh, also, is there a specification of some sort for Funge-108?
17:11:22 <oerjan> zzo38: um that _really_ would defeat the point.
17:12:01 <zzo38> And Ruby is slow anyways
17:12:07 <oerjan> 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 <zzo38> 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 <zzo38> 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 <TieSoul> ...your point and the relevance to Funge being?
17:20:02 -!- MDude has quit (Ping timeout: 252 seconds).
17:22:43 <fizzie> I don't think there is a finalized specification of Funge-108; there was just some work towards one.
17:25:58 <elliott> TieSoul: it could be as simple as a handful of functions working on a global fungespace.
17:26:23 <elliott> 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 <elliott> 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 <TieSoul> yeah, I knew about it
17:27:16 <TieSoul> but I didn't know how it was called
17:30:31 -!- MoALTz has joined.
17:36:40 <mroman_> (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 <zzo38> Abstraction is not always work best way, I think, but it can help when you are trying to be modular.
18:24:38 <zzo38> 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 <zzo38> 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 <quintopia> what is a nanozil
18:50:11 <quintopia> it doesn't sound very nano
18:50:20 <myname> and zil neither
18:50:20 <fizzie> You should've seen the microzil.
18:51:13 <fizzie> It's like two million *lines*.
18:52:18 <zzo38> It is a Z-machine compiler
18:52:44 <zzo38> 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 <zzo38> Note that the largest amount of the nanozil code is the optimizations, most of the rest is actually pretty simple.
18:58:31 <zzo38> How common is things like if(i&~3) in a C code?
19:03:06 <mroman_> well it blanks the two lsbs
19:03:24 <mroman_> how common is that?
19:03:57 <fizzie> Also uses the result as the controlling expression of an if statement.
19:04:05 <mroman_> usually I'd prefer #define MASK (~3)
19:04:07 <mroman_> if(i&MASK)
19:04:49 -!- Sprocklem has quit (Quit: [).
19:05:00 <fizzie> Usually I prefer to be all unsigned when dealing with bits, but maybe there's some particular reason.
19:07:15 <fizzie> 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 <zzo38> 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 <zzo38> 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 <fizzie> 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 <fizzie> I don't know of any implementations where it would be a trap representation.
19:18:29 <fizzie> 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 <zzo38> fizzie: What are "jb" and "jae" corresponding to?
19:46:50 <zzo38> I do not remember much about how x86 assembly codes are working
19:47:15 <b_jonas> zzo38: jb is jump if below, a conditional jump taken when the carry flag is unset
19:47:25 <b_jonas> jae ia the opposite, a conditional jump taken if the carry flag is set
19:47:42 <b_jonas> (for the details, see the intel and amd manuals)
19:49:20 <zzo38> O, so it is a kind of unsigned comparison
19:49:40 <fizzie> b_jonas: Actually, jb jumps if the carry flag is set, due to the operand order of cmp.
19:50:29 <fizzie> "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 <fizzie> And yes, it's an unsigned comparison.
19:51:01 <fizzie> It's quite curious that it turns the &~3 variant to a cmp instruction too.
19:52:32 <fizzie> 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 <b_jonas> Jafet: uh, sorry then
19:54:03 <zzo38> 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 <b_jonas> fizzie: yes, you're right, JB jumps if the carry flag is set
19:56:30 <fizzie> Full disclosure note: I already had the Intel manuals open.
19:57:08 <fizzie> fungot: Do you think I should write you a Forth to complement ^bf and ^ul?
19:57:09 <fungot> fizzie: i suck at transcribing by ear :)
19:57:10 <Taneb> My Countdown-playing program seems to have been a nice fun toy project
19:57:17 <fizzie> fungot: Oh, well, never mind then.
19:57:17 <fungot> fizzie: that's nice.
19:57:48 <Taneb> I should learn Forth
19:58:01 <Taneb> ...and APL, and Lisp, and half a dozen others
19:58:31 <b_jonas> Taneb: sure. we have some channels for those in freenode.
19:58:58 <fizzie> There are 7 people and no set topic on #apl, that's all I can tell from the outside.
19:59:57 <b_jonas> fizzie: #jsoftware for APL
20:00:15 <b_jonas> fizzie: classical APL is on topic there too, though not many people speak it
20:00:30 <b_jonas> (mind you, classical APL has many different dialects too, it's sort of like old Lisp)
20:01:55 <Taneb> `cat hello.
20:01:55 <HackEgo> cat: hello.: No such file or directory
20:01:57 <Taneb> `cat hello.c
20:01:58 <HackEgo> const char main[] = "AXAYAZA[A\\ATX-pppp-0```- ///P^VTXH10XP4>40PZ414>P_\x0f\x05XATASARAQAP\xc3Hello, world!\n";
20:02:04 <Taneb> What architecture is that for?
20:02:45 <b_jonas> 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 <fizzie> `run echo -e '#! /bin/bash\nexec gforth -e "$* bye" </dev/null' > bin/forth; chmod +x bin/forth
20:04:45 <HackEgo> No output.
20:04:50 <fizzie> `forth 1 2 + 3 * .
20:04:51 <HackEgo> 9
20:04:54 <fizzie> That's better.
20:05:22 <b_jonas> (I don't do forth.)
20:05:26 <Taneb> `forth 2 10 ^ .
20:05:27 <HackEgo> ​ \ *OS command line*:-1: Undefined word \ 2 10 >>>^<<< . bye \ Backtrace: \ $40E44A68 throw \ $40E5ACE0 no.extensions \ $40E44D28 interpreter-notfound1
20:05:32 <Taneb> Yaaaaa
20:05:33 <fizzie> 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 <Taneb> `forth 2 10 ** .
20:05:44 <HackEgo> ​ \ *OS command line*:-1: Undefined word \ 2 10 >>>**<<< . bye \ Backtrace: \ $40E44A68 throw \ $40E5ACE0 no.extensions \ $40E44D28 interpreter-notfound1
20:05:51 <Taneb> What's exponentiation
20:06:04 <Bicyclidine> multiply it yourself!!
20:06:34 <fizzie> `forth 1 10 lshift .
20:06:34 <HackEgo> 1024
20:06:38 <b_jonas> Taneb: try /msg j-bot [ 2^10
20:06:51 <b_jonas> the ^ operator does exponentiation
20:06:57 <fizzie> I'm not even sure if ANS Forth has integer exponentiation. I think not.
20:07:06 <Taneb> b_jonas, which wouldbe great if I wanted to calculat 1024
20:07:25 <b_jonas> um, it does other exponentiation too, not just 2 to the 10th
20:08:01 <Taneb> But I was trying to learn Forth :)
20:08:06 <fizzie> `forth 2 s>f 10 s>f f** f>s . ( so nasty )
20:08:06 <HackEgo> 1024
20:08:14 <b_jonas> `perl say 2**10
20:08:15 <HackEgo> Can't open perl script "say 2**10": No such file or directory
20:08:22 <b_jonas> `perl -E say 2**10
20:08:23 <HackEgo> 1024
20:08:45 <Bicyclidine> bonus challenge: implement addition chain exponentiation in forth
20:09:55 <fizzie> `forth 2e 10e f** f. ( now with less explicit conversions )
20:09:55 <HackEgo> 1024.
20:10:07 <b_jonas> you don't need those conversions in J, the ^ operator converts to float anyway
20:10:28 <b_jonas> perl does too
20:10:29 <Bicyclidine> okay but j isn't forth or much at all like forth.
20:10:35 <b_jonas> um
20:10:45 <b_jonas> I think there was someone who liked both forth and J
20:10:57 <b_jonas> I'm not sure who
20:11:02 <Taneb> `gcc --version
20:11:03 <HackEgo> 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 <fizzie> 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 <fizzie> `forth s" gforth" environment? [if] .( gforth ) type [then]
20:12:55 <HackEgo> gforth 0.7.0
20:13:57 <fizzie> 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 <zzo38> In a few Forth systems you can define a IF ... THEN block like: : IF` 0=GOTO` HERE 0 , ; : THEN` HERE SWAP ! ;
20:17:46 <b_jonas> uh
20:17:49 <zzo38> (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 <nvd> Wow I have a 3-letter nick registered
20:21:15 -!- mihow has quit (Quit: mihow).
20:21:25 <nvd> There's like only 270000 of those
20:22:05 <Bicyclidine> i used to have 'god' registered on another network, but the opers reprogrammed the servers to deny god. very tragic.
20:22:47 <b_jonas> nvd: I think there's less than 100000 actually, but I'm not sure
20:23:09 <b_jonas> the character sets and cases are complicated
20:23:22 <nvd> > length "abcdefghijklmnopqrstuv^`_0123456789"
20:23:23 <lambdabot> 35
20:23:31 <nvd> > 35 ^ 3
20:23:32 <lambdabot> 42875
20:23:42 <nvd> I mis-mathed
20:23:52 <nvd> > 30 ^ 3
20:23:53 <lambdabot> 27000
20:24:01 <b_jonas> nvd: no, you can't start with a letter of hyphen, and nicks can contain [\]{|} too
20:24:26 <nvd> That's awkward
20:24:30 <nvd> I'm going to retaneb
20:24:32 <b_jonas> 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 <coppro> b_jonas: standard IRC
20:24:56 <b_jonas> also, you can use wxyz in nicks too
20:25:04 <coppro> [\] are case-equivalent {|}
20:25:14 <coppro> and ` and ^ I think
20:25:26 <b_jonas> coppro: what? no
20:25:33 <b_jonas> ` would be equivalent to @ which isn't a character
20:25:33 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
20:25:50 <b_jonas> ` is equivalent to ~ though
20:25:51 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
20:25:55 <coppro> ah, no
20:26:00 <coppro> ` is not case-equivalent to anything
20:26:01 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
20:26:02 <coppro> but ~ and ^ are
20:26:06 <b_jonas> oh damn
20:26:07 <b_jonas> sorry
20:26:08 <b_jonas> yes
20:26:11 <b_jonas> I'm too tired for this
20:26:28 <coppro> it originates from scandinavian keyboards iirc
20:26:31 <b_jonas> so that means, what, 32*43*43 possible three-letter nicks?
20:27:05 -!- westerp has joined.
20:27:18 <Bicyclidine> "standard IRC", lol
20:27:19 <b_jonas> 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 <b_jonas> > 32*43*43
20:27:35 <lambdabot> 59168
20:27:37 <b_jonas> probably
20:27:37 <coppro> b_jonas: yeah
20:27:48 <coppro> but also keyboards
20:28:25 <coppro> finnish ones specifically iirc
20:30:22 -!- impomatic_ has quit (Ping timeout: 240 seconds).
20:32:31 <fizzie> `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 <HackEgo> 1024
20:32:41 <fizzie> (Disclaimer: probably not very idiomatic or good.)
20:33:01 <Taneb> I really need to learn Forth
20:33:08 <Taneb> But first, Erlang, Rust, and APL
20:33:10 <Bicyclidine> that's just binary exponentiation, right
20:33:23 <fizzie> Bicyclidine: Yes.
20:33:32 <Bicyclidine> not good enough
20:34:53 <Bicyclidine> it's kind of weird being able to read that.
20:36:34 <b_jonas> Bicyclidine: can you write a better one?
20:36:42 <b_jonas> I have a binary exponentiation implemented in J somewhere
20:38:01 <Bicyclidine> probably not. i can only barely read it, anyway.
20:38:17 <fizzie> http://sprunge.us/OhIZ for a formatted and commented version
20:38:18 <Bicyclidine> i was referring to addition-chain exponentiation which is more efficient if you don't mind solving NP-complete problems beforehand
20:38:38 <fizzie> The whole 1- bit was probably unnecessary, due to a flooring 2/.
20:39:38 <fizzie> Er, and the comment is missing x*f(...) for the odd case.
20:39:53 <Bicyclidine> isn't i- yeah.
20:40:02 <fizzie> The code isn't, though.
20:41:08 <fizzie> ...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 <Taneb> How terrible an idea is having a publicly accessibly dc program?
21:10:57 <zzo38> Taneb: Probably, it depend on the program.
21:11:22 <Taneb> Is it possible to have a malicious dc script?
21:11:31 <Phantom_Hoover> dc has a shell interface, doesn't it?
21:11:42 -!- hogeyui____ has quit (Ping timeout: 260 seconds).
21:11:48 <Taneb> `dc -e 1 2 + p
21:11:48 <HackEgo> 3
21:12:03 <Phantom_Hoover> yep, ! runs the rest of the line as a system command
21:12:30 <Taneb> `dc -e "1 2 + p ! ls"
21:12:30 <HackEgo> dc: '"' (042) unimplemented \ 3 \ sh: 1: Syntax error: Unterminated quoted string
21:12:39 <Taneb> `dc -e 1 2 + p ! ls
21:12:39 <HackEgo> 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 <zzo38> Yes a malicious dc script is possible if the program has ! on it
21:12:45 <Taneb> !!!!
21:13:34 <zzo38> (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 <Phantom_Hoover> wouldn't be enough, gnu dc has an int->char instruction
21:18:51 <fizzie> `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 <HackEgo> 1024
21:18:56 -!- Bicyclidine has joined.
21:18:57 <fizzie> Turned out shorter too.
21:19:27 <Phantom_Hoover> 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 <Taneb> `dc -e [! ls] x
21:19:45 <HackEgo> ​:-( \ 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 <Taneb> `dc -e [ls] [!] x x
21:20:27 <HackEgo> dc: register 's' (0163) is empty
21:22:12 <Bicyclidine> glad we have to worry about calculators from 1960 being insecure
21:22:21 <Taneb> `run echo "! ls" > dc -e ?
21:22:23 <HackEgo> No output.
21:22:30 <Taneb> `run cho "! ls"
21:22:31 <HackEgo> bash: cho: command not found
21:22:36 <Taneb> `run echo "! ls"
21:22:36 <HackEgo> ​! ls
21:22:49 <Taneb> `run echo "! ls" | dc -e ?
21:22:50 <HackEgo> dc: stack empty
21:23:21 <fizzie> `run echo "! ls" | dc -e '?'
21:23:22 <HackEgo> ​:-( \ 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 <fizzie> A truism: there's always at least one file of length 1.
21:23:44 <fizzie> Filename length, I mean.
21:24:02 <Taneb> OK, we need to ban ! and probably ?
21:24:24 <Taneb> `dc -e [:x]:x
21:24:25 <HackEgo> dc: stack empty
21:24:41 <Taneb> `dc -e '[:x]:x'
21:24:42 <HackEgo> dc: dc: stack empty \ dc: ''' (047) unimplemented \ ''' (047) unimplemented
21:25:03 -!- hogeyui____ has joined.
21:26:20 <zzo38> 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 <zzo38> I think best way to avoid these things is to just make a modified version of dc.
21:27:12 <zzo38> So that you can omit the ! command
21:27:12 <Bicyclidine> securedc
21:27:40 <zzo38> (Or add a command-line switch to cause the ! command to stop working)
21:30:05 <zzo38> However, note that ! is also used for conditions in dc; this is a different command.
21:30:25 <zzo38> 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 <Taneb> For a shirt time the party of the Scion campaign was perfectly gender-balanced, despite there being an odd number
21:45:03 <Taneb> (one character was gender-fluid)
21:45:14 <Phantom_Hoover> oh yeah, i forgot dc overloads !
21:46:06 <Phantom_Hoover> so yeah, just patch out the system exec command if you still want to go ahead with it
21:47:52 <zzo38> How is a character being gender-fluid?
21:48:19 <Taneb> zzo38, good question
21:48:24 <Taneb> he/she is not my character
21:48:40 <Taneb> The character sometimes looks male, other times female
21:50:15 <Taneb> Except now a new player has joined
21:52:05 <Taneb> Whose character I know little about yet
21:59:21 -!- oerjan has quit (Quit: Etc.).
22:08:59 <zzo38> Do they look like it by disguise? I doubt that would necessarily make them make and female though.
22:09:41 <Bicyclidine> you could just change clothes if you had the right body type. it's not much of a disguise.
22:10:25 <Taneb> zzo38, there's a supernatural element to it, too
22:11:53 <zzo38> O, does that mean you can magically change your gender?
22:13:26 <Taneb> That character can. It's not a standard thing, it was agreed with the GM
22:14:16 <zzo38> 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 <zzo38> 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 <quintopia> what does it do zzo38
23:14:24 <zzo38> 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 <zzo38> But, did I do it properly or not?
23:17:25 <quintopia> 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 <zzo38> 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 <zzo38> 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 <quintopia> helloily
23:19:47 <zzo38> And keep only the bits that are the same for all numbers in that range.
23:19:56 <quintopia> oh i see
23:20:18 <quintopia> but wouldn't it be confusing if the ones that could be different are zero?
23:20:42 <quintopia> surely there's an easier way to accomplish it
23:21:05 <boily> quinthellopia!
23:21:26 <boily> @metar CYUL
23:21:27 <lambdabot> CYUL 052300Z 19008KT 15SM FEW050 BKN085 BKN180 OVC240 23/19 A2983 RMK SC1AC4AC1CI2 CB EMBD SLP102 DENSITY ALT 1100FT
23:21:46 <boily> yé... still CB EMBD... as if I wasn't as drenched already...
23:22:09 <zzo38> 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 <quintopia> oh i think i understand better now
23:25:25 <quintopia> well no
23:25:36 <quintopia> it looks like omask = min&max
23:25:43 <quintopia> according to your description
23:26:07 <zzo38> I may have made some kind of messy mistakes
23:26:09 <quintopia> or not
23:26:13 <quintopia> i'll think about it
23:26:37 <zzo38> It is supposed to update imask/omask to match what min/max already specifies
23:26:46 <quintopia> right
23:27:14 <quintopia> and clearly all the higher order bits between min and max will be set in imask
23:27:34 <quintopia> if min and max are powers of two it's not hard
23:28:01 <quintopia> 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 <newsham> 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 <boily> 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 <Sgeo> boily: where do you see the ran?
00:56:58 <Sgeo> rank
00:57:03 <Sgeo> Oh
00:59:30 <CrazyM4n> so i just generated like 12,000 fibonacci numbers in around a second
00:59:38 <CrazyM4n> in brainfunge
00:59:55 -!- ^v has joined.
01:01:02 <newsham> is 12kFPS good?
01:01:10 <CrazyM4n> i have no idea
01:01:11 <CrazyM4n> probably not
01:01:41 <CrazyM4n> where´s a good place to upload around 16 mb of text?
01:01:59 <boily> pastebin.ca?
01:03:01 <CrazyM4n> ¨may not exceed 150,000 bytes¨ so close
01:03:54 <zzo38> What is the limit for sprunge?
01:03:59 <CrazyM4n> i have no idea
01:04:07 <CrazyM4n> after 30 seconds it gave me error 500
01:04:19 <zzo38> I think source codes are available for sprunge so you can try to look in there
01:04:36 <CrazyM4n> i think that pastebin.com is working
01:04:41 <CrazyM4n> if nothing else, google drive
01:05:00 <CrazyM4n> http://prntscr.com/4k33gy
01:05:18 <newsham> 413 request entity to large
01:05:41 <CrazyM4n> google drive it is
01:06:08 <CrazyM4n> https://drive.google.com/file/d/0B795W1ddWOwxSTlfUmtYY0MyZFk/edit?usp=sharing woo
01:06:15 <CrazyM4n> 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 <Lymia> Opps~
01:30:02 <Lymia> (Is EgoBot or whatever still broken?)
01:32:52 <Phantom__Hoover> now that i think about it i haven't seen gregor around in a while
01:33:40 <Gregor> That's because he's gone.
01:34:00 <Phantom__Hoover> 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 <ProfessorGregorE> Dang it.
01:35:49 <ProfessorGregorE> It cut off the "Eh"
01:38:30 <pikhq> Congratulations, Professor Doctor Richards Eh.
01:38:42 <CrazyM4n> yo
01:38:50 <CrazyM4n> gimme something interesting to make in an esolang
01:39:17 <HackEgo> [wiki] [[Brainfunge]] http://esolangs.org/w/index.php?diff=40399&oldid=40397 * 98.177.186.100 * (+70)
01:48:17 <zzo38> Make a 6502 assembler
01:48:55 <newsham> zzo: do you like obfuscated JS?
01:49:44 <zzo38> newsham: If it is trying to make it shorter, then it can help. Otherwise not really
01:49:53 <CrazyM4n> 6502 assembler
01:50:00 <CrazyM4n> no guarentees
01:50:03 <CrazyM4n> but sounds like fun
01:50:06 <newsham> no, this is obfuscated to make it hard to read and figure out
01:50:21 <newsham> 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 <newsham> its to prevent people from automatating signups to google accounts
01:53:10 <newsham> 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 <zzo38> I think we had better try to figure out anyways
01:55:59 <zzo38> Maybe Google will try to sue themself over it
01:57:55 <newsham> you should :)
01:58:33 <newsham> i've been reformatting it for ease of reading... http://www.thenewsh.com/~newsham/x/machine/botguard.js
01:58:54 <newsham> still lots to go
01:59:20 <newsham> seems like they use a few common idioms repetitively.. could prob write a program to undo some of the obfuscation
01:59:50 <Sgeo> 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 <newsham> like they like to use ?: alot to do if/then/else
02:00:13 <newsham> sgeo: i dont know.. i dont understand what protectionthis script actually offers
02:00:14 <quintopia> ProfessorGregorE: what do you do now
02:00:41 <pikhq> He professors at Canadians.
02:00:44 <zzo38> Sgeo: It doesn't matter; we should try to figure it out anyways.
02:00:51 <newsham> perhaps it needs to interact with your dom in specific ways
02:00:53 <quintopia> canadians in canada?
02:00:59 * Sgeo suddenly suspects zzo38 is a spammer
02:01:04 <Sgeo> zzo38, are you a spammer?
02:01:07 <newsham> and you'd need the right hookins into your js interpretter to properly run them?
02:01:24 <zzo38> I do not think so, nor do I have any intention to have a Google account anyways.
02:01:40 <pikhq> No, Canadians in SPAAACE
02:02:11 <quintopia> when did he go to canadia
02:02:24 <pikhq> Facebook says "few weeks ago"
02:02:28 <zzo38> 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 <newsham> oh i have no doubt there is a way to work around this
02:02:52 <newsham> i think their goal is just to make it hard enough to figure out to work around
02:02:56 <newsham> that nobody actually does it
02:03:05 <quintopia> pikhq: actually, commander hadfield has been earthside for a while now. are there any left in space?
02:03:09 <newsham> but i'm curious how they expect to achieve that since they're trying to prevent a very lucrative operation
02:03:18 <pikhq> quintopia: I don't think so.
02:03:27 <Sgeo> quintopia: No Canadians in space (actually I don't know)
02:03:28 <pikhq> I was being silly and stupid, not serious.
02:03:29 <newsham> 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 <newsham> he mentions account prices here https://moderncrypto.org/mail-archive/messaging/2014/000780.html
02:04:07 <newsham> its actually a very interesting article about fighting spam
02:04:16 <newsham> and how end-to-end encryption with anti spam could be very hard
02:04:34 <newsham> err that should be "$25 per 1000 google accounts"
02:04:55 <quintopia> that's two and a half cents per account! easy money
02:04:57 <zzo38> If I wanted to sell Google accounts I can just as well create them manually.
02:05:03 <newsham> i cant imagine how they could prevent these guys from reverse engineering this with such high financial incentives
02:05:32 <zzo38> Not everyone trying to reverse engineer it will have financial incentives anyways
02:05:39 <newsham> oh for sure
02:05:53 <newsham> i want to reverse engineer it, and i am completely against spam and people selling goog accounts
02:05:57 <newsham> but its still a fun puzzle :)
02:06:06 <newsham> anyway, i gotta go grab food.. cheers
02:06:14 <quintopia> 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 <CrazyM4n> 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 <newsham> quintopia: read the email URL I pasted above. it talks all aboutn that
02:06:45 <newsham> its pretty interesting
02:09:35 <zzo38> 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 <ProfessorGregor> <quintopia> ProfessorGregorE: what do you do now // I'm a professor at U. Waterloo
02:25:56 <quintopia> newsham: good article
02:26:08 <quintopia> ProfessorGregor: when did you get your doctorate done
02:26:21 <coppro> ProfessorGregor: wait. YOU were the guy on the stage on thursday with the insane clothes. I *knew* you looked familiar
02:26:25 <coppro> congrats btw
02:26:39 <coppro> i had the cape
02:28:13 <ProfessorGregor> quintopia: Last June.
02:28:24 <ProfessorGregor> coppro: ... you're a student at Waterloo?
02:28:31 <quintopia> huh. and when did you secure this position?
02:28:52 <coppro> ProfessorGregor: Yes. Masters in C&O, finished by BMath in April
02:28:56 <coppro> *my
02:29:17 <Bike> 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 <Bike> i guess crazyman left though.
02:29:23 <ProfessorGregor> quintopia: Last year.
02:29:28 <quintopia> coppro: combinatorics and optimization?
02:29:32 <ProfessorGregor> quintopia: I started on Tuesday.
02:29:34 <coppro> quintopia: yes
02:29:48 <coppro> ProfessorGregor: are you teaching any courses?
02:29:50 <quintopia> good major
02:30:02 <coppro> quintopia: yeah. My thesis is on structural graph theory
02:30:21 <quintopia> ProfessorGregor: is this why you don't have time for us anymore
02:31:05 <quintopia> 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 <ProfessorGregor> coppro: Yes, I'll be teaching CS241.
02:31:40 <coppro> ProfessorGregor: awesome!
02:31:44 <ProfessorGregor> quintopia: I was distracted by the move and starting the job.
02:31:47 <Bike> is 241 a standard number
02:32:02 <coppro> ProfessorGregor: you won the lottery then, that's probably the best first- or second-year course
02:32:20 <Bike> oh wait ok you're at the same school.
02:32:30 <Bike> this channel makes me live in fear that i've goatse'd one of my current professors.
02:32:50 <coppro> Bike: are you also at waterloo? :P
02:32:55 <pikhq> Oh, don't worry. With how social norms have changed that's no worse than saying "hello".
02:32:57 <quintopia> you've goatsed this channel?
02:33:33 <coppro> ProfessorGregor: Like I said earlier, I had a cape on Thursday. I was standing right next to the stage.
02:33:43 <Bike> i mean generally the idea that one of em is internet savvy ish.
02:33:50 <ProfessorGregor> Hardly cape weather on Thursday, y'know.
02:33:58 <coppro> err, wait
02:34:00 <coppro> not thursday, wednesday
02:34:08 <coppro> tie ceremony is always thursday except not any more :P
02:34:11 <Bike> 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> <coppro> ProfessorGregor: you won the lottery then, that's probably the best first- or second-year course // It's my field.
02:34:29 <coppro> ProfessorGregor: You still won the lottery, they didn't stick you on intro to cs or something like that
02:34:29 <pikhq> I *do* hope you plan to tell your students about choosemyhat.com.
02:34:55 <Bike> hopefully you'll get the hot tamale on ratemyprofessor. or whatever they call it.
02:35:00 <ProfessorGregor> coppro: I don't think tenure-track research professors teach intro to CS.
02:35:24 <coppro> ProfessorGregor: probably not, but you never know
02:35:30 <ProfessorGregor> pikhq: I don't tell people about choosemyhat, they learn by osmosis.
02:35:37 <pikhq> Ah.
02:35:38 <pikhq> Well.
02:36:03 <coppro> ProfessorGregor: don't worry, I've got you covered
02:37:29 <quintopia> they learn by a PR campaign on the part of coppro
02:38:09 <coppro> ProfessorGregor: You should challenge them to golf the galaxy assignment really hard. I got it down to 53 characters of perl.
02:38:41 <ProfessorGregor> lol
02:38:43 <quintopia> hmm you have more hats here than i remember
02:39:03 <Bike> @tell CrazyM4n public perception of hackers is pretty good https://www.youtube.com/watch?v=I1r_2vY1irQ&t=2m36s
02:39:03 <lambdabot> Consider it noted.
02:41:57 <coppro> ProfessorGregor: we should hang out. Now that I'm a grad student, it's allowed.
02:42:14 <ProfessorGregor> You'll have to find me first.
02:42:27 -!- CrazyM4n has joined.
02:42:31 <coppro> ProfessorGregor: challenge accepted
02:47:34 <pikhq> Cue awesome chase scene.
02:48:11 <coppro> ProfessorGregor: Are you in PLG?
02:48:29 <Jafet> A lighter hat seems to be in order, then
02:50:01 -!- ^v has quit (Read error: Connection reset by peer).
03:01:15 <ProfessorGregor> coppro: Yeah, PLG.
03:01:58 <coppro> ProfessorGregor: nice!
03:09:46 -!- CrazyM4n has quit (Quit: Leaving).
03:20:26 -!- Imaginer1 has joined.
03:21:55 <Imaginer1> I need heeeeelp
03:22:00 <Imaginer1> oh jesus im headachey and this codee
03:22:23 <pikhq> I endorse painkillers.
03:22:46 <Imaginer1> I endorse cyanide capsules
03:25:20 <Imaginer1> making a compiler
03:25:33 <Imaginer1> 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 <zzo38> Cyanide capsules for the purpose of making a compiler, do you mean?
04:43:38 <zzo38> Of course it is wrong...
04:44:40 <coppro> can we quote that entire exchange?
04:48:41 <newsham> from cyanide import *
04:56:32 <newsham> this botguard thing feels like an interpretter
05:12:08 -!- CrazyM4n has joined.
05:24:12 -!- drdanmaku has joined.
05:31:17 <FreeFull> import qualified System.AntiGravity as Magic;
05:36:02 <newsham> import sufficiently.advanced.technology as magic
05:37:15 <zzo38> 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 <mroman_> zzo38: pre-compiled libraries?
05:38:30 <zzo38> 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 <zzo38> (Of course it does not apply to dynamic libraries.)
05:39:31 <newsham> yah you need to keep around information in the precompiled units so you can do additional optimizationd during linking
05:39:54 <newsham> i'm pretty sure plan9's C compiler does some limited amount of link time optimization
05:40:53 <newsham> this article talks about it a little (whole program optimization) http://en.wikipedia.org/wiki/Interprocedural_optimization
05:41:02 <newsham> and google pointed to an llvm link time optimizer
06:31:42 <Sgeo> http://www.reddit.com/r/netsec/comments/2fes55/announcing_the_underhanded_crypto_contest/
06:32:17 -!- CrazyM4n has quit (Quit: Leaving).
06:35:04 <zzo38> 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 <b_jonas> 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 <HackEgo> [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 <HackEgo> [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40401&oldid=40300 * GermanyBoy * (+149) /* Imperative code */
09:37:12 <HackEgo> [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40402&oldid=40401 * GermanyBoy * (+894) /* Simple declarations */
09:43:19 <HackEgo> [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40403&oldid=40402 * GermanyBoy * (+366) /* Standard SYCPOL formatting rules */
09:44:36 <HackEgo> [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 <Lymia> Stack Overflow's BF Joust hill has a terrible interpreter. :(
13:51:41 -!- sebbu has quit (Ping timeout: 272 seconds).
13:52:27 <Lymia> 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 <fizzie> 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 <Lymia> There isn't so much room for silly bugs in this one.
13:55:07 <Lymia> ({}) isn't implemented, only ()* (and not -1 either), and basic instructions.
13:55:17 <Lymia> https://github.com/redevined/brainfuck/blob/master/BrainFuckedBotsForBattling/Arena.py#L94
13:55:19 <Lymia> And yet you have this.
13:55:19 <Lymia> ;-;
13:56:09 <elliott> no ({}) is sad
13:56:26 <elliott> 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 <elliott> 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 <Lymia> Arena.py doesn't have polarity swapping either.
13:57:19 <Lymia> yep
14:02:14 -!- Echoes has joined.
14:02:15 <elliott> Lymia: I like how your evolver thingy can spit out ()*2
14:02:37 <Echoes> Hi
14:02:49 <boily> Echelloes!
14:02:52 <Lymia> elliott, the "doesn't suicide when it should" isn't evolved.
14:03:09 <elliott> oh, ()*2 triggers a bug?
14:03:16 <Lymia> Yep.
14:03:23 <elliott> ...I... how does it get that one wrong?
14:03:30 <Lymia> The braces matching algorithm Arena.bf uses is brain damaged.
14:03:33 <Lymia> https://github.com/redevined/brainfuck/blob/master/BrainFuckedBotsForBattling/Arena.py#L94
14:03:34 <Lymia> Just go read it.
14:03:53 <Echoes> boily, lel
14:04:42 <elliott> ...why on earth is rbraces a function there.
14:04:47 <elliott> oh.
14:04:52 <elliott> because braces changes.
14:04:57 <elliott> what a weird way to write it.
14:07:17 <elliott> so on (, scope++ and record pos <-> scope. on ), find opos <-> scope, replace with opos <-> pos, and scope--.
14:07:30 <Lymia> Yes.
14:07:33 <elliott> is that... actually wrong? ...it's been way too long since I debugged code.
14:07:39 <Lymia> Problem is, the values for scopes are also valid code positions.
14:07:54 <elliott> oh.
14:07:57 <Lymia> It shares the same table for "matched braces" and "identifiers for braces we haven't mached yet"
14:08:10 <elliott> whoops.
14:08:13 <Lymia> .()*2<<<<<<<<<<((((-)*5>[(-)*4.[+.]].)*10000)*1)*1 < So, in this, it records 1:2 for the ()*2
14:08:36 <Lymia> The <s are the right length to make the position of the second ( in the loop after the "suicide" go into a earlier bucket than the 1
14:09:00 <Lymia> So it overrides the matched brace for the ()*2, causing it to escape otherwise certain death.
14:09:29 <elliott> that's amazing.
14:13:28 <Lymia> ... oh crap
14:13:37 <Lymia> I'm pretty sure there's nothing here that would actually stop ([)]
14:13:58 <elliott> ...
14:14:01 <elliott> that's beautiful.
14:14:07 <elliott> how would it even behave?
14:14:47 <Lymia> I have no idea
14:18:21 <boily> `bfjoust unmatched ([)]
14:18:22 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bfjoust: not found
14:18:24 <boily> ...
14:18:30 * boily fails at HackEgo
14:19:06 <fizzie> Wrong bot, too.
14:19:36 <fizzie> Did Gregor comment anything on EgoBot's absence? I think someone raised the topic when he was here-and-active recently.
14:23:13 <Lymia> elliott, I'll do science.
14:23:14 <Lymia> <3
14:23:24 <elliott> Lymia: I'm scared.
14:23:50 <boily> SCIENCE FOR THE LYMIA GOD!
14:25:23 <Lymia> My intuition says that it'll probably result in something very useful, actually.
14:25:35 <Lymia> ( [ ... )*1000 ]
14:25:35 <idris-bot> (input):1:3: error: no implicit
14:25:35 <idris-bot> arguments allowed
14:25:35 <idris-bot> here, expected: end of list expression,
14:25:35 <idris-bot> expression
14:25:35 <idris-bot> [ ... )*1000 ] <EOF> ↵…
14:25:40 <Lymia> Will cause it to bail
14:25:46 <Lymia> ... idris?
14:25:49 <Lymia> geez
14:25:59 <Lymia> > putStrLn "hi bot"
14:26:01 <lambdabot> <IO ()>
14:26:10 <Lymia> ! println("Hi bot?")
14:26:16 <Lymia> OK, not too many bots
14:26:30 <Lymia> elliott, anyway
14:26:32 <Lymia> I'm pretty sure that
14:26:38 <Lymia> ( [ ... )*10000 ]
14:26:38 <idris-bot> (input):1:3: error: no implicit
14:26:38 <idris-bot> arguments allowed
14:26:38 <idris-bot> here, expected: end of list expression,
14:26:38 <idris-bot> expression
14:26:38 <idris-bot> [ ... )*10000 ]<EOF> ↵…
14:26:46 <Lymia> Will cause it to drop back to the initial ( at 0 tick cost
14:27:50 <Lymia> So, "( a [ b )*10000 ] c" would /probably/ behave like "(a[b{}c])" or something?
14:27:51 <Lymia> Er
14:27:59 <Lymia> "(a[b{}c])%-1"
14:28:05 <elliott> can you use this to emulate ({})%.
14:28:10 <Lymia> I think so.
14:28:15 <elliott> it's a feature!
14:28:26 <elliott> Lymia: would the c really be inside the ] there?
14:28:28 <Melvar> Lymia: “( ” is the prefix for idris-bot, as insisted upon by … oerjan I think?
14:28:36 <Lymia> elliott, if the [ fails
14:28:41 <Lymia> It will jump to the ]
14:28:46 <Lymia> So, uhm, yeah, after.
14:28:49 -!- metasepia has joined.
14:29:27 <elliott> (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 <Lymia> Now that you mention it
14:31:01 <Lymia> ([)*n (])*n might work directly
14:31:17 * elliott cries
14:31:53 <Lymia> yep
14:31:59 <Lymia> I'm not sure if it'd behave right though
14:32:02 <Lymia> The repeat system is weird
14:33:14 <elliott> Lymia. look at what you're creating.
14:33:19 <elliott> discovering. whatever.
14:33:22 <elliott> this is a monster.
14:33:38 <Lymia> oh
14:33:42 <Lymia> That's why bots on the hill have ([)
14:33:51 <Lymia> It actually works here.
14:34:18 <Lymia> "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 <Lymia> (your program makes ([-)*3 work, doofus)
14:35:23 <elliott> I forget why we introduced ({})%.
14:35:34 <elliott> I guess because unbalanced brackets looked a bit too macro-y.
14:36:21 <Lymia> Because you can evaluate them without expanding ()*?
14:36:53 <elliott> 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 <elliott> you could even parse it into ({})%n form internally.
14:37:25 <Lymia> Yeah
14:37:33 <Lymia> In this, ([)*10 (]])*5 won't work
14:37:47 <Lymia> Since it relies on it parsing and matching () and [] separately
14:37:57 <Lymia> (In each mode, it ignores the other)
14:38:53 <elliott> 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 <Lymia> So.
14:39:48 <Lymia> I can't trust that the abberviation logic here does exactly the right thing
14:40:00 <Lymia> But ([) (]) might just be equilvlant to ({})% in this
14:40:10 <Lymia> Of course, that doesn't help the fact that it's still terribly written Python that's slow as crap.
14:40:22 <Lymia> It takes, like, 20-40 minutes to run what gearlance can do in <10
14:40:33 <Lymia> .. and it only does 10 random tape lengths, not the full 21 like gearlance.
14:43:12 <elliott> 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 <elliott> I wonder how much faster that'd actually be
14:48:44 <elliott> probably not much unless you did fancy stuff with representing patterns in the middle of the tape
14:51:43 <Lymia> Might be worth something with AVX?
14:52:51 <elliott> that sounds exciting.
14:53:10 <elliott> unfortunately BF Joust is probably not slow enough to actually reward ridiculous optimisation tricks.
14:55:01 <Lymia> 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 <Lymia> 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 <elliott> I'm intrigued
14:56:29 <Lymia> 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 <elliott> I wonder how good programs selected for that actually perform against new challengers
14:58:12 <Lymia> Well, I thought I'd add a second hill as input
14:58:26 <Lymia> The second hill isn't targeted. It's used as a representive sample of "bots not in the target hill"
14:58:36 <Lymia> 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 <Lymia> elliott, a construct I hope works
15:39:42 <Lymia> [.... [ .... [ .... (]]])*0
15:40:00 <Lymia> Implications are obvious. :P
15:40:12 -!- nisstyre has quit (Quit: WeeChat 1.0).
15:40:29 -!- nisstyre has joined.
15:42:07 <elliott> Lymia: hee, to do an if?
15:42:23 <Lymia> Yep
15:42:28 <Lymia> Or jump out of a wiggle clear at 0 tick cost
15:42:51 <Lymia> 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 <elliott> 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 <int-e> right, since you can put virtually all your state into the program pointer.
15:50:12 <Lymia> http://paste.strictfp.com/40827/f01d17a908fddc15b00cdd19da3712da
15:50:50 <Lymia> 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 <Lymia> 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 <Lymia> But it behaves a lot differently for some reason
16:16:06 <Lymia> Hmm.
16:16:07 <Lymia> ><([)*8((])*8)*0><<
16:16:09 <Lymia> 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 <elliott> Lymia: have you run into accidental bugs from the weird bracket matching?
16:37:57 <elliott> those sound... fun... to debug.
16:40:34 -!- ^v has joined.
17:06:12 <quintopia> 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 <Hjulle> 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 <HackEgo> [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 <HackEgo> [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 <NeroReflex> hi
19:48:26 <ais523> hi
19:52:52 -!- Frooxius has joined.
19:53:11 -!- NeroReflex has quit (Read error: Connection reset by peer).
19:56:16 <zzo38> I managed to knock out five opponent's Pokemon cards at once now.
19:56:31 <zzo38> (And this game is being played with only four side cards.)
19:56:32 <ais523> zzo38: it's possible to knock out six with a move like Explosion, isn't it?
19:56:45 <zzo38> Yes, it is, but that isn't the move I used
19:57:23 <zzo38> (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 <zzo38> 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 <ais523> zzo38: that forces the game to end in a draw, right?
21:04:10 <Sgeo> Should I try the online Pokemon TCG?
21:04:16 <Sgeo> Last time I think I struggled with the UI
21:06:59 -!- FreeFull has joined.
21:10:34 <zzo38> I think the online Pokemon TCG not very good
21:10:45 <zzo38> ais523: I believe so.
21:13:52 <zzo38> Try if you want to though
21:25:51 <myname> 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 <ais523> oh wow, anyone tried going to Twitter's home page with JavaScript turned off? it's hilarious
22:16:50 <CrazyM4n> uh, for me it just gives a message saying to turn on javascript
22:17:04 <ais523> CrazyM4n: for me, it gives a link to follow if you don't have JavaScript
22:17:13 <ais523> if I follow it, it takes me to another page
22:17:25 <CrazyM4n> ah, i didn´t follow that link
22:17:25 <CrazyM4n> http://prntscr.com/4kd0o8
22:17:27 <ais523> telling me that JavaScript's off, and giving a /different/ link to follow if I don't have JavaScript
22:17:29 <ais523> that redirects back to itself
22:18:40 <CrazyM4n> oh, i see
22:18:44 <CrazyM4n> that´s pretty funny
22:19:32 -!- callforjudgement has joined.
22:19:34 <callforjudgement> [23:17] <ais523> telling me that JavaScript's off, and giving a /different/ link to follow if I don't have JavaScript
22:19:36 <callforjudgement> [23:17] <ais523> 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 <fizzie> We saw that. (Also, noisy late cloak.)
22:20:51 <ais523> fizzie: this connection often breaks in such a way that it can send but not receive, or vice versa
22:21:22 <ais523> I think, at least
22:22:01 <fizzie> 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 <fizzie> I'm sure there's some reason embedded in the ircd they're using.
22:22:40 <fizzie> Er, guaranteed to work, not guaranteed to fail.
22:23:13 <elliott> fizzie: the server password just does a /msg to nickserv once you connect
22:27:09 <fizzie> 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 <zzo38> There may be other Twitter clients so you could use that if you aren't using JavaScript.
22:29:44 <myname> 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 <shachaf> <MR4Y> tabemann_: So, how the function application would be if its time signature was ((a -> a) -> a)) -> a -> a -> a?
23:01:27 <shachaf> imo make an esolang where functions have time signatures
23:03:04 <zzo38> Music can have time signatures.
23:03:17 <shachaf> yes
23:03:40 <zzo38> I didn't know functions can have time signatures too.
23:03:57 <fizzie> Fugue programs can have time signatures, I believe.
23:04:06 <fizzie> They don't have any meaning to the program, though.
23:04:38 <fizzie> (It's just a consequence of accepting MIDI files as input, and ignoring some stuff.)
23:07:43 <fizzie> (This has a reasonable likelihood of being true for Velato also.)
23:10:03 <HackEgo> [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 <oerjan> 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 <HackEgo> [wiki] [[User:Rdebath]] http://esolangs.org/w/index.php?diff=40408&oldid=40350 * Rdebath * (+19133) /* Performance Matrix */
23:18:23 <HackEgo> [wiki] [[User:Rdebath]] http://esolangs.org/w/index.php?diff=40409&oldid=40408 * Rdebath * (+108) /* Info */
23:24:06 <fizzie> What's Zombie8 mean in the bitwidth column?
23:24:08 <Sgeo> Is it worth some inefficiency in order to not attempt to encode Applicatives into a dynamically typed language?
23:27:22 <zzo38> s/6/24/
23:30:05 <oerjan> Sgeo: what part of applicatives is hard?
23:30:27 <oerjan> i just had the thought, maybe you can do with only Apply (i.e. leaving out pure)
23:31:18 <oerjan> then you get Traversable1s
23:32:38 <shachaf> class Functor f => Applicative f where applicative :: HList (Map f ts) -> f (HList ts)
23:32:43 <Sgeo> 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 <shachaf> is this some sort of higher-order natural transformation or something?
23:34:03 <oerjan> shachaf: it looks like a generic liftTuple
23:34:15 <oerjan> oh wait
23:34:24 <Sgeo> oerjan: did you see the code turning my encoding into a traverse function?
23:34:30 <oerjan> that Map f is weird
23:34:37 <Sgeo> http://lpaste.net/110585
23:34:39 <shachaf> oerjan: How would you write it?
23:35:12 <oerjan> shachaf: i don't think that implies the existence of pure does it
23:35:29 <shachaf> It gives you () -> f ()
23:35:42 <shachaf> You can fmap (const x) over the f ()
23:35:51 <oerjan> oh hm right
23:36:31 <oerjan> but what is Map f ts?
23:36:47 <shachaf> Type-level map of some sort.
23:36:53 <oerjan> oh i see
23:37:14 <shachaf> There are presumably other ways to write it.
23:37:17 <oerjan> i'm not yet used to the new way of using datakinds for HList
23:37:24 <shachaf> It's the equivalent of mconcat for Applicative.
23:37:57 <shachaf> The new way is great.
23:38:27 <oerjan> shachaf: of course then you need a law that says that applicative is associative in the same way as mconcat
23:38:45 <shachaf> Sure, you need laws either way.
23:39:28 <oerjan> however, your applicative seems like an extension of the liftPair / pure basis which zzo38 likes iirc
23:39:54 <oerjan> well i guess not pure per se but pure ()
23:40:04 <shachaf> There's unit :: f (), times :: f a -> f b -> f (a,b)
23:40:15 <shachaf> Or :: (f a,f b) -> f (a,b), if you prefer.
23:40:24 <shachaf> That was the original formulation, I think.
23:41:00 -!- augur has joined.
23:41:59 <shachaf> No one likes pure/(<*>) except for people who are actually using it.
23:42:10 <oerjan> yes, category theory likes products better than currying
23:42:15 <shachaf> I prefer pure/liftA2 or unit/times
23:42:30 <shachaf> Well, in categories in general they're also not equivalent.
23:42:46 <zzo38> I happen to like pure/liftPair
23:42:53 <oerjan> i like <$> <*> because that's what i actually use
23:43:07 <shachaf> Yep.
23:43:11 <oerjan> pure is only occasionally needed
23:43:27 <pikhq> I'm partial to "let ($) = fmap in"
23:43:36 <zzo38> Although I find <$> and <*> and liftPair and <$ all to be useful; I just happen to prefer pure/liftPair as the basis
23:43:38 <oerjan> heh
23:44:00 <shachaf> pure seems p. common
23:44:55 <elliott> pikhq: if only that overloaded application
23:45:00 <zzo38> 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 <oerjan> why is hint in that lpaste suggesting head, it should be suggesting pattern matching
23:48:11 <oerjan> *hlint
23:48:53 <oerjan> which would also get rid of the !! 1
23:48:54 <shachaf> oerjan: if you used your head you'd surely think to use pattern matching
23:49:13 <oerjan> shachaf: you've got a point there, which i shall promptly swat -----###
23:53:28 <oerjan> <fizzie> 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 <oerjan> he also suspiciously ignored the issue the _previous_ time he was active, too
23:54:41 <oerjan> although that may have been just because he had so many other broken things to fix
23:56:18 <Sgeo> oerjan: why do people like shachaf lenses over van Laarhoven lenses?
23:56:52 <oerjan> 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 <oerjan> and i'm not sure whether that includes bfjoust
23:57:18 <oerjan> `ls interps
23:57:19 <HackEgo> 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 <oerjan> hm it seems to be there
23:57:31 <oerjan> `ls interps/bfjoust
23:57:32 <HackEgo> bfjoust \ bfjoust.pl \ buffer.h \ egojoust.c \ gearlance \ gearlance.c \ gearlance.o \ helpers.h \ Makefile \ programs \ report \ report.c \ report.o
23:57:51 <oerjan> `interp bfjoust <
23:57:52 <HackEgo> ​/hackenv/bin/interp: 4: exec: ibin/bfjoust: not found
23:58:02 <oerjan> but not the infrastructure to call it
23:58:36 <oerjan> `interp unlambda `.i`.hi
23:58:37 <HackEgo> hi
23:59:09 <oerjan> i don't quite remember if that has been fixed up to work or if it just straight out did
23:59:32 <oerjan> `ls interp/ghc
23:59:32 <HackEgo> ls: cannot access interp/ghc: No such file or directory
23:59:38 <oerjan> `ls interps/ghc
23:59:38 <HackEgo> runghc
23:59:57 <oerjan> 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 <oerjan> `interp glass {M[m(_o)O!"Hello World!"(_o)o.?]}
00:01:07 <HackEgo> Hello World!
00:01:17 <oerjan> it seems like the simple interpreters are working
00:01:57 <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
00:02:04 <Sgeo> *in the same applicative
00:02:31 <elliott> Applicative is liftN
00:04:59 <elliott> (~~>) :: [*] -> * -> *; [] ~~> 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 <elliott> (map f ts ~~> f r), rather
00:05:23 <Sgeo> I mean Racket streams, which are approximately heterogenous lazy lists
00:05:32 <elliott> this is just an ugleir form of the HList thing.
00:05:36 <elliott> *uglier
00:05:37 <Sgeo> Not quite, since I think you can't traverse the spine wiithout forcing the contents
00:07:17 <oerjan> i understand what you mean by streams, i just have no idea how they fit into applicative
00:08:53 <elliott> traverse would be a really nice definition of Applicative if you could define Traversable in some nice way without Applicative.
00:09:10 <Sgeo> elliott: I thought I did that >.>
00:09:18 <Sgeo> Or something like that
00:09:59 <Sgeo> 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 <elliott> 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 <shachaf> How would you use traverse to define Applicative?
00:12:27 <elliott> by defining Traversable without Applicative and then putting traverse in Applicative
00:13:24 <elliott> 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 <elliott> data family Fn :: ([*], *) -> *; data instance Fn '('[], r) = FnRet r; data instance Fn '((t ': ts), r) = FnArg (t -> Fn '(ts, r))
00:15:26 <elliott> instance ??? Fn where type instance MapArg f '(ts, r) = '(Map f ts, f r); ...
00:16:31 <oerjan> i think we are approaching the schwarzschild radius of type level programming
00:17:03 <elliott> ??? is some kinda weird type functor thing.
00:17:33 <elliott> well, this isn't actually interesting <_<
00:17:44 <oerjan> ooh
00:19:16 <elliott> oerjan gets interested right as I admit I'm not.
00:19:39 <oerjan> you're good at reverse psychology?
00:19:50 <oerjan> ('s ok i'm not really interested)
00:22:49 <oerjan> <-- 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 <oerjan> oops
00:22:57 <oerjan> <Lymia> ([)*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 <Lymia> No such requirement
00:23:30 <Lymia> It's a plain bug in this implementation
00:23:35 <oerjan> well naturally not in the broken impl.
00:23:45 <oerjan> but i'm saying it could be done.
00:24:36 <elliott> can (a)*m b (c)*n for m =/= n be efficiently implemented?
00:24:48 <elliott> it doesn't seem inherently impossible to do it without expanding fully
00:24:53 <oerjan> i think i recall pondering that
00:25:46 <oerjan> 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 <oerjan> *+s
00:27:20 <CrazyM4n> how would you go along renaming a wiki page?
00:27:25 <oerjan> and you'd need some good modulo arithmetic
00:27:48 <oerjan> CrazyM4n: you can Move it, and if you wish, the admins can delete the old one if it's unnecessary
00:28:44 <oerjan> it's in the down arrow dropdown menu
00:28:48 <HackEgo> [wiki] [[Special:Log/move]] move * CrazyM4n * moved [[Brainfunge]] to [[Simplefunge]]: Brainfunge was kind of a terrible name and already taken
00:29:07 <CrazyM4n> got it, thanks
00:29:34 <CrazyM4n> can you, uh, rename a github repo also?
00:29:45 <oerjan> oh i have no idea how you do that.
00:29:53 * oerjan doesn't do git
00:30:33 <Sgeo> 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 <oerjan> whether you want to delete the old page might depend on whether you've linked to it otherwise
00:30:43 <CrazyM4n> just on the esolang wiki
00:30:59 <oerjan> i think i saw you post in /r/haskell? but i guess that didn't link to the wiki.
00:30:59 <elliott> you can rename github repos yes
00:31:14 <HackEgo> [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=40412&oldid=40410 * CrazyM4n * (-58) Renamed language
00:31:25 <CrazyM4n> oh yeah, I did post that
00:31:33 <oerjan> shall i delete the old wiki page?
00:31:35 <CrazyM4n> but it´s so buried that it shouldn´t matter
00:31:38 <CrazyM4n> and yes please
00:31:59 <oerjan> now if the wiki weren't molasses
00:32:10 <CrazyM4n> haha
00:32:52 <HackEgo> [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 <CrazyM4n> 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 <oerjan> please spel names corectly twh
00:35:30 <CrazyM4n> my bad
00:35:50 <CrazyM4n> elliott: how would I go along renaming the github repo then?
00:35:58 <elliott> it's in the repo admin somewhere.
00:36:04 <elliott> click around and you'll find it
00:36:27 -!- Phantom_Hoover has joined.
00:36:28 <CrazyM4n> never mind, I just remembered that google is a thing
00:36:36 <CrazyM4n> got it
00:39:16 <oerjan> once again i find my bfjoust comments have already been anticipated in the logs.
00:39:29 <HackEgo> [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=40413&oldid=40412 * CrazyM4n * (+1)
00:40:28 <fizzie> Even if the moved-to-HackEgo bfjoust thing worked, it wouldn't affect the actual scorecards and such on codu.org.
00:40:42 <oerjan> right, but i
00:40:45 <oerjan> argh
00:41:04 <oerjan> t should be possible to transfer those too and use the repository browser
00:41:31 <oerjan> would be more vulnerable to someone breaking it, of course
00:42:38 <fizzie> 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 <fizzie> (And anyway it'd involve some work.)
00:49:56 -!- augur has quit (Remote host closed the connection).
00:52:00 <oerjan> oh hm wait
00:53:34 <oerjan> 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 <oerjan> (rather than full expansion, which is clearly equivalent)
00:54:32 <oerjan> because i'd suspect the "buggy" impl. to be closer to the former.
00:55:56 <oerjan> 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 <oerjan> but maybe it accidentally works...
00:57:41 <oerjan> hm dubious
00:59:42 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:01:00 <oerjan> ( ... [ ... )*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 <idris-bot> (input):1:1: error: no implicit
01:01:00 <idris-bot> arguments allowed
01:01:00 <idris-bot> here, expected: ":",
01:01:00 <idris-bot> dependent type signature,
01:01:00 <idris-bot> end of input↵…
01:01:07 <oerjan> ...darn :P
01:01:31 <oerjan> POSSIBLY NOT MY BEST IDEA
01:03:14 <ais523> oerjan: pretty much all the bots have been accidentally triggered at one time or another
01:04:30 -!- augur has joined.
01:05:08 <oerjan> @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 <lambdabot> Consider it noted.
01:05:35 <fizzie> @tell Lymia Or, in oerjan's example, if b != c.
01:05:35 <lambdabot> Consider it noted.
01:05:45 <oerjan> OKAY
01:05:47 <ais523> fizzie: that was evil :-)
01:06:28 <Lymia> I'm aware. :P
01:06:50 <oerjan> ah
01:06:55 <Lymia> The behavior in the interperter I'm working with is plain weird.
01:07:09 <Lymia> (a[b)*10c] is also accepted
01:07:13 <Lymia> And [a(])*0
01:08:02 <Melvar> < 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 <oerjan> 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 <oerjan> 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 <oerjan> it is becoming clear that ()*n loops sharing matched [] need to share counters too, and adjust them in different directions
01:10:49 <fizzie> Assuming the cell is always true, I guess (a[b)*4c] translates to ababababcababababc...
01:11:18 <elliott> Lymia: does it even attempt to check balancedness at all?
01:11:22 <Lymia> elliott, yes.
01:11:26 <elliott> aw.
01:11:27 <Lymia> It matches [] and () separately
01:11:30 <Lymia> Leading to "fun" behavior.
01:11:59 <elliott> the most fun: (a{b)%m c (d}e)%n
01:12:13 <elliott> don't ask me. I don't know.
01:12:14 <Lymia> Luckily there is no ({}) support.
01:12:14 <Lymia> :D
01:14:52 <elliott> ideally () and {} would be defined entirely independently of each other. just to let you do more confusing things.
01:15:07 <fizzie> The description does say it's only "inspired by" BF Joust.
01:16:14 <fizzie> 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 <Lymia> 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 <fizzie> 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 <Lymia> yep~
01:20:39 <Lymia> I don't think that's common enough to be a major difference?
01:21:00 <elliott> it's relevant for shuddery type things, isn't it...?
01:21:07 <elliott> locky things. I forget the terminology >_>
01:22:57 <fizzie> 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 <oerjan> you could be non-commutative _and_ check both orders, i guess
01:25:22 <fizzie> Whoops, something like 4:30am with visitors tomorrow. ->
01:27:44 -!- doesthiswork has joined.
01:28:43 <doesthiswork> have you folk heard of pattern calculus? http://www.pps.univ-paris-diderot.fr/~kesner/papers/purepattern.ps
01:29:02 <elliott> Lymia: does it parse []s in a more reasonable way than ()s?
01:29:13 <Lymia> 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 <elliott> ...so can you do weird things with loops like you can with the ()*2?
01:32:54 <oerjan> 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 <elliott> oerjan: I mean the thing where it overloads hash values while parsing for both "code position" and "scope depth".
01:33:28 <elliott> so you can do.
01:33:30 <elliott> weird things.
01:34:08 <oerjan> okay
01:34:32 <elliott> 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 <Sgeo> 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 <oerjan> is there any difference between using rbraces()[scope] there and braces[scope] at all?
01:49:49 <elliott> oerjan: it's reverse lookup
01:49:51 <elliott> (value to key)
01:49:56 <oerjan> oh
01:50:01 <elliott> (the logs have a spoiler as to the problem)
01:50:51 <oerjan> i assume a collision might be possible. if so, will the last colliding pair be used?
01:51:23 <oerjan> hm wait this is hashed right
01:51:30 <oerjan> so you cannot assume anything about order
01:51:48 <oerjan> (i'm sure i read the spoiler already)
01:52:02 <elliott> it's just like a haskell Map
01:52:10 <oerjan> hm?
01:52:19 <Lymia> elliott, you can probably
01:52:24 <Lymia> But that's harder to control
01:52:27 <Lymia> And [] takes ticks unlike ()
01:52:36 <oerjan> a haskell Map gives the listing in order by keys, but does python dicts do that?
01:52:41 <oerjan> *do
01:53:00 <Lymia> oerjan, I'm p. sure the hash is i%bucketSize
01:53:37 <Lymia> Apparently zip(map.values(), map.keys()) is actually legit.
01:53:38 <oerjan> Lymia: um that's too low level to answer my question without hurting my brain
01:53:55 <Lymia> oerjan, the order is predictable, but very non-intuitive.
01:54:17 <Lymia> .()*2<<<<<<<<<<((((-)*5>[(-)*4.[+.]].)*10000)*1)*1
01:54:22 <Lymia> ()*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 <Lymia> The second ( in the second part makes an entry 16:2
01:54:48 <Lymia> Obvious results occur.
01:55:02 <oerjan> 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 <Lymia> (since 16 ends up in bucket 0, and 1 in 1 apparently)
01:55:11 <Lymia> No sensible behavior, nope
01:55:22 <oerjan> *collision :P
01:55:22 -!- augur has quit (Read error: Connection reset by peer).
01:56:25 -!- augur has joined.
01:57:34 <CrazyM4n> are you going to make a bfjoust bot or something?
01:57:42 -!- ais523 has quit (Ping timeout: 246 seconds).
01:57:47 <oerjan> CrazyM4n: we already had one, in theory
01:57:55 <callforjudgement> I'm disappointed
01:58:00 <callforjudgement> because preparation beat every other warrior
01:58:01 <oerjan> but Lymia found another one someone made, which is horribly buggy
01:58:04 <callforjudgement> yet didn't come top of the hill
01:58:22 <callforjudgement> oerjan: wait, someone made a BF Joust bot who isn't a regular in this channel?
01:58:33 <Lymia> There's a BF Joust hill on Stack Overflow
01:58:49 <callforjudgement> link?
01:58:51 <Lymia> A fairly trivial program I just submitted gets a 93% win rate ove rit.
01:58:53 <Lymia> <callforjudgement> because preparation beat every other warrior
01:59:01 <Lymia> "beat"?
01:59:09 <Lymia> 42:0 or what?
01:59:11 <callforjudgement> Lymia: won on over 50% of tape lengths and polarities
01:59:18 <Lymia> http://codegolf.stackexchange.com/questions/36645/brainfedbotsforbattling-a-brainf-tournament
01:59:23 <callforjudgement> most of the wins were quite slow, because preparation uses a probabilistic lock algorithm
01:59:41 <callforjudgement> meaning that it's almost guaranteed to win on some proportion of tape lengths and lose on others
02:00:25 <Lymia> ... well, you know.
02:00:30 <Lymia> The rules here only say it has to be your own code.
02:00:39 <Lymia> Right?
02:01:15 <callforjudgement> ?
02:01:37 <oerjan> 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 <callforjudgement> oh, 10000 cycle limit on that hill
02:01:40 <callforjudgement> that isn't enough
02:02:07 <Lymia> 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 <Lymia> If the opponent flag is "smaller" than yours, you win.
02:02:34 <Lymia> (When the cycle limit is reached)
02:02:36 <callforjudgement> well, not really
02:02:44 <callforjudgement> that completely misunderstands defence programs and counter-turtles and so on
02:03:17 <callforjudgement> are there any turtles on that hill yet?
02:03:28 <Lymia> A few attempts at it
02:03:30 <Lymia> They don't do well
02:03:34 <callforjudgement> 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 <oerjan> perhaps not so much "misunderstands", as makes it a completely different game
02:03:41 <Lymia> Or, well.
02:03:44 <Lymia> What's a turtle?
02:04:09 <Lymia> Oh, careless clear?
02:04:20 <callforjudgement> yes
02:04:43 <callforjudgement> 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 <Lymia> The tiebreak earns my bot, like, 10 wins.
02:05:33 <Lymia> So, it's not insignificant.
02:05:43 <Lymia> But, you still need a normal clear
02:05:48 <Lymia> Or you lose by falling off the tape.
02:06:35 <callforjudgement> 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 <scarf> [03:07] <callforjudgement> Lymia: huh, you won with an evolved prograM?
02:08:44 <scarf> [03:08] <callforjudgement> I'm not sure whether to be impressed at the evolver, or horrified at how bad the programs there are
02:09:06 <Lymia> Horrified at how bad the programs are.
02:09:12 <Lymia> Look at the analysis of that evolved program
02:09:38 <Lymia> (-)*5(>.(-)*7)*3(>[(-)*8[.+]](-)*2)*-1 < Reduces to this basically
02:09:50 <scarf> ooh, someone submitted a defence program
02:10:07 <scarf> even if it has one of the worst tripwire setups ever
02:10:18 <Lymia> Yanderebot?
02:10:31 <scarf> Polar bear
02:11:14 <Lymia> Is this.... a careless clear?
02:11:32 -!- callforjudgement has quit (Ping timeout: 245 seconds).
02:11:33 <Lymia> Oh, yep
02:13:45 <Lymia> scarf, Yeah, uh
02:13:51 <Lymia> My bot screws this over in 19 cycles
02:14:02 <Lymia> (-)*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 <quintopia> Lymia: where is the hill posted
02:48:20 <Lymia> 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 <CrazyM4n> so I don´t understand
03:41:00 <CrazyM4n> in the brainbots tournament
03:41:40 <CrazyM4n> what´s stopping you from just doing ¨(>[-])*100¨
03:45:06 <oerjan> well in bfjoust, you can defend by putting some "traps" in between
03:45:28 <oerjan> 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 <ais523> decoys
03:48:00 <oerjan> right
03:48:08 <ais523> CrazyM4n: you can do that, it's known as a fast rush program
03:48:20 <ais523> it'll fall to a program that does >-(>[-])*100, though
03:48:26 <ais523> the very basics of BF Joust strategy is understanding why
03:52:02 <CrazyM4n> :/
03:54:12 <oerjan> 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 <oerjan> 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 <oerjan> 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 <oerjan> 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 <ais523> oerjan: cells do wrap on the other hill
04:26:18 <oerjan> ok
04:27:11 <oerjan> mind you a decoy could _still_ work somewhat because a -] is slower than a +
04:28:09 <ais523> oerjan: indeed, setting decoys is faster than clearing them even if the opponent knows which polarity you're using
04:28:37 <ais523> in decrementing-0-is-death BF Joust, vibration seems like a pretty powerful strategy
04:28:57 <ais523> if you can decrement your flag from 1 to 0 at the same time the opponent does
04:28:59 <ais523> then, umm
04:29:01 <ais523> you both lose?
04:29:21 <oerjan> heh
04:29:22 <coppro> vibration?
04:29:47 <oerjan> i understand the brainbot game doesn't have simultaneous moves though
04:30:08 <ais523> coppro: changing your flag between 0 and 1 rapidly
04:30:20 <ais523> oerjan: it says it does from the description, but it may be lying
04:30:22 <coppro> don't you lose, then?
04:30:29 <ais523> has to be 0 for two cycles to lose
04:30:33 <ais523> and many programs just move on if they see a 0
04:30:38 <coppro> oh right
04:30:39 <ais523> so you have a 50% chance of beating those programs
04:30:45 <ais523> it's pretty easy to counter if you know what you're doing, though
04:30:55 <oerjan> i think it was said 1 cycle in brainbots
04:31:25 <ais523> 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 <Sgeo> > join [[1,2],[3,4,5],[6]]
05:09:22 <lambdabot> [1,2,3,4,5,6]
05:12:44 <Sgeo> I'm wrong, you can traverse the spine of a Racket stream without forcing each element
05:13:26 <coppro> Sgeo: why the sudden interest in Racket?
05:14:10 <Sgeo> 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 <Sgeo> My stream-join is a bit haiy
05:23:57 <Sgeo> https://github.com/Sgeo/racket-optics/blob/417c0c5ff91dc9cee9e402c6f479abafa5b3275d/profunctors.rkt#L72-L81
05:24:01 <Sgeo> hairy
05:35:32 <Sgeo> 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 <ais523> oh, haha
05:51:32 <ais523> I /finally/ figured out what causes my compose key to stop working
05:51:43 <ais523> it's alt-tabbing from Firefox to Konversation; alt-tabbing from any other program to Konversation fixes it
06:15:32 <shachaf> Hmm. Firefox in general or in particular Firefox with focus on the URL bar or something?
06:15:46 <ais523> shachaf: not sure yet
06:15:50 <ais523> I think there's at least one other condition
06:15:58 <ais523> 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 <ais523> Sgeo: Ubuntu, with Unity
06:16:18 <ais523> I like Unity, pity it's so buggy and so unperformant
06:16:29 <shachaf> Focus in the Chrome URL bar misbehaves in all sorts of ways.
06:16:48 <Sgeo> 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 <shachaf> 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 <Sgeo> Hmm... is IO the main interesting side-effect in non-Haskell languages?
07:02:52 <callforjudgement> Sgeo: variable mutation's a big one
07:03:08 <Sgeo> Variable mutation doesn't fall under IO?
07:03:22 <callforjudgement> well, everything falls under IO, because it's basically the most general possible monad
07:03:26 <oerjan> the ST monad does variable mutation without IO
07:03:30 <callforjudgement> you can do it with much less than IO, though
07:04:05 <callforjudgement> and it's definitely impure because it lets you observe evaluation order
07:04:09 <Sgeo> 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 <callforjudgement> Sgeo: one of my colleagues made the point that the "IO monad" of Haskell is basically OCaml
07:04:29 <callforjudgement> rather than IO generally
07:04:58 <callforjudgement> you can think of the ML family as basically being Haskell only everything is forced to be in the IO monad
07:05:46 <oerjan> 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 <Sgeo> 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 <Sgeo> Hmm... is it possible to write a Traversal' (a -> b) b?
07:11:48 <Sgeo> If it is, I'm abandoning my encoding... I can't see how to write a getter
07:15:31 <oerjan> > (cos & traverse %~ (*2)) 0
07:15:33 <lambdabot> No instance for (GHC.Show.Show a0)
07:15:33 <lambdabot> arising from a use of ‘M288691002170012585531335.show_M2886910021700125855...
07:15:33 <lambdabot> The type variable ‘a0’ is ambiguous
07:15:33 <lambdabot> Note: there are several potential instances:
07:15:33 <lambdabot> instance [safe] GHC.Show.Show
07:15:36 <oerjan> wat
07:15:48 <oerjan> :t cos & traverse %~ (*2)
07:15:49 <lambdabot> (Traversable ((->) b), Floating b) => b -> b
07:15:57 <oerjan> oh hm
07:16:50 <oerjan> it's possible if a is a finite type, i think.
07:19:26 <shachaf> It is not possible in general.
07:19:31 <shachaf> You can write a Setter.
07:19:49 <shachaf> A Traversal needs to traverse at most a countable number of things.
07:29:05 <Sgeo> I feel like I'm going through contortions to serve a use-case I'm not sure exists
07:29:26 <Sgeo> I don't know if there really are that many lazy structures used in Racket
07:29:29 <shachaf> You tend to do that.
07:34:35 <Sgeo> Allowing users to 'cheat' would feel worse
07:34:55 <Sgeo> 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 <Sgeo> Reader r and List seem to suggest that maybe IO doesn't cover all side effects
08:28:34 <Sgeo> Is there an Applicative that describes all applicatives, the way Cont describes all monads?
08:29:02 <Bike> http://mandalicgeometry.tumblr.com/
08:31:35 <Sgeo> 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 <shachaf> Cont doesn't describe all monads.
08:34:45 <shachaf> Well. I don't know what it means to describe a monad. But I bet Cont doesn't do it.
08:35:22 <Sgeo> X describes Y = X <relation between Cont and all monads explored in 'mother of all monads'> Y
08:36:01 <shachaf> 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 <int-e> Bike: huh, what now?
08:59:49 <int-e> 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 <HackEgo> [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 <int-e> hmm, another language with a weird specification.
09:50:53 <Jafet> Turning complete
09:51:25 <int-e> I missed that.
09:52:12 <Jafet> A language that is not actually complete, but could almost be
09:52:17 <Jafet> imo
09:52:56 <int-e> "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 <int-e> 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 <int-e> 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 <coppro> man, ARIN is down to less than a /8
13:36:32 <coppro> (not counting the reserve /10 for IPv6 transition)
13:37:26 <Jafet> Better prepare the fallout bunker
13:41:05 -!- boily has joined.
13:47:29 <Jafet> Interesting that most countries don't have a /8, but some american organizations have two.
13:50:08 <boily> not only American, but Canadian too :D
13:50:54 <boily> (okay, they aren't quite pure /8 as they are fragmented around, but they occupy the same address space.)
13:51:05 <coppro> my university only has a /16
13:54:07 <boily> 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 <boily> a list I just found.
13:56:54 <boily> aaaurgh. pastebin is rebarbative.
13:57:34 <boily> http://pastebin.ca/2839477
14:01:15 <coppro> Why does BC need so many?
14:02:36 <boily> I have absolutely no clue.
14:09:13 <Jafet> Why did the Ford Motor Company need 19.0.0.0/8? It probably didn't.
14:09:22 <elliott> surely ARIN should be putting pressure on them to give up parts of their address space by now
14:10:07 <Jafet> I'm actually hoping that we run out of v4 faster
14:10:20 <int-e> RegDate: 1988-06-15
14:10:34 <int-e> back then the IPv4 address space was huge ;)
14:11:27 <Jafet> They didn't need to share it with the commies
14:12:03 <int-e> 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 <boily> I hope we completely switch out to IPv6 soon, because then I'll be forced to learn it correctly.
14:14:08 <boily> address scopes confuse the fungot out of me.
14:14:08 <fungot> boily: you're back!! i'm not made of cons cells though. how can the code be wrong?
14:14:34 <boily> 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 <fungot> 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 <int-e> Your search - "I'm not made of cons cells" - did not match any documents. ... pity.
14:20:19 <int-e> It sounded like such a sensible thing to say.
14:20:31 <J_Arcane> :D
14:20:55 <J_Arcane> Of course, you're made of atoms, the cons cells are just how they're bound together. ;)
14:21:18 <int-e> Ow.
14:21:29 <int-e> So does anybody call S-expressions "molecules"?
14:21:44 <J_Arcane> Heh heh. Not that I know of.
14:23:31 <int-e> http://www.google.com/patents/CN102625850A?cl=en mentions "LISP molecules", but LISP stands for "labeled probe identification sequence"
14:25:51 <Phantom__Hoover> 'your lisp code is terrible, look at all these texas IFs'
14:27:05 <int-e> Phantom__Hoover: can you explain?
14:27:22 <int-e> "texas IF" is not a very good search term.
14:27:29 <Phantom__Hoover> https://www.google.co.uk/search?q=texas+carbon
14:32:06 <int-e> okay. (if a b c d) would be wrong indeed.
14:32:34 <int-e> (though I wonder whether that should count as four bounds)
14:33:32 <int-e> bonds. luckily, I don't do chemistry.
14:34:34 <boily> if “a” is true then “b” else “c” else else “d”???
14:35:00 <int-e> @google things I won
14:35:02 <lambdabot> http://pipeline.corante.com/archives/things_i_wont_work_with/
14:35:02 <lambdabot> Title: In the Pipeline:
14:35:08 <int-e> that's funny.
14:35:26 <int-e> (even more funny is the fact that this was what I was looking for)
14:36:15 <int-e> boily: something like that
14:36:23 <int-e> s/else else/otherwise/
14:37:31 -!- shikhout has joined.
14:37:46 <boily> 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 <HackEgo> [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 <int-e> 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 <boily> 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 <int-e> "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 <int-e> 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 <Phantom__Hoover> <boily> if “a” is true then “b” else “c” else else “d”???
15:08:28 <Phantom__Hoover> if a is true, b; if a is false, c; if a is filenotfound, d
15:10:28 <Taneb> boily, you were interested in writing IRC bots in Haskell, write?
15:10:30 <Taneb> ...
15:10:38 <Taneb> *right?
15:11:31 <Jafet> Self-writing self-righting irc bots
15:11:37 <boily> Phantom__Hoover: point.
15:11:59 <boily> Taneb: uhm, yes? afaicr, I think it is so.
15:12:06 <boily> Jafet: a self-modifying fungot!
15:12:06 <fungot> boily: could it be done without a wrapper
15:12:18 <boily> fizzie: could it?
15:12:41 <Jafet> fungot is pushing the boundaries here.
15:12:41 <fungot> Jafet: it requires a full ai to parse it
15:12:44 <Taneb> boily, one of my friends is writing a bunch of IRC-related Haskell libraries
15:12:55 <int-e> you didn't just mix up fungot and fizzie, did you...
15:12:56 <fungot> int-e: i just a new module that provides a full build environment in fnord.
15:13:24 <int-e> I swear fungot knows how much I hate that word.
15:13:24 <fungot> 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 <int-e> exactly.
15:14:03 <boily> Taneb: interesting. fascinating. appropriatable, and on-top-of-it codeable.
15:14:13 * Taneb whistles for barrucadu
15:14:30 <barrucadu> Yes?
15:14:36 <Taneb> barrucadu, advertise to boily your IRC stuff
15:14:39 <boily> int-e: fungot is smart. fungot knows you. fungot will assimilate you, and in the befunge bind you.
15:14:39 <fungot> boily: is this the esolang channel? i mean, can you send the generated code
15:16:00 <barrucadu> 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 <barrucadu> I've got a haskell irc bot running atop all this stuff, and am just gradually breaking it up into libraries
15:19:48 <boily> has your bot joined this channel?
15:20:14 -!- yukibot has joined.
15:20:18 <barrucadu> Has now
15:20:58 <barrucadu> At the moment it's not doing much
15:21:05 <barrucadu> I've mostly been playing with the underlying stuff
15:21:28 <Taneb> en.wiktionary.org/wiki/sorry
15:21:43 <Taneb> Hmm, its URL shouter isn't working
15:21:49 <Taneb> Do I need the protocol, barrucadu?
15:21:50 <barrucadu> Yes it is
15:21:53 <barrucadu> https://en.wiktionary.org/wiki/sorry
15:21:54 <yukibot> Title: "sorry - Wiktionary"
15:22:28 <boily> yukibot: botsnack
15:23:33 <barrucadu> At the moment it basically does link info and !seen
15:24:12 <barrucadu> But it handles multiple networks with ease, which is nice
16:16:50 <int-e> this is cute, http://img.thedailywtf.com/images/14/q2/e115/Pic-1.png
16:17:38 <int-e> the point being, it's a perfectly sensible graph.
16:22:17 -!- drdanmaku has joined.
16:37:12 <quintopia> helloily
16:38:59 <Jafet> Interesting error.
16:40:48 <Jafet> Oh, it's exactly one hour. Well, I consider that an error anyway.
16:42:19 <Melvar> It clearly depicts a DST switch.
16:46:35 <int-e> Melvar wins.
16:48:02 <Jafet> In fact, a graph which did not contain the loop would be erroneous.
16:54:35 <int-e> 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 <Jafet> 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 <Bike> "god damn politicians", i complain to myself, as i orbit the infinitely long spinning cylinder
16:59:23 <int-e> rotating yourself into an early grave?
17:03:32 <TieSoul> hey guys
17:17:51 <mroman_> hey Soul
17:23:35 <TieSoul> I'm learning C++
17:23:52 <mroman_> oh no!
17:23:58 <mroman_> why the hell would you do that
17:23:58 <TieSoul> It's pretty hard, considering I'm used to Python and Ruby.
17:24:06 <TieSoul> speed, mostly
17:24:55 <TieSoul> also, pointers confuse me.
17:25:18 <TieSoul> I managed to implement brainfuck though
17:25:27 <TieSoul> https://gist.github.com/TieSoul/688e7326453384862ce1
17:25:28 <yukibot> Title: "brainfuck.cpp"
17:25:34 <mroman_> so...
17:25:50 <mroman_> Java?
17:25:51 <mroman_> @Speed
17:25:51 <lambdabot> Unknown command, try @list
17:26:09 <TieSoul> I don't like Java, I'd actually rather C++ than Java
17:26:36 <mroman_> well
17:26:42 <mroman_> If you'd really care about speed you'd learn Ada
17:29:22 -!- NeroReflex has joined.
17:29:31 <NeroReflex> hi
17:29:40 <mroman_> although on alioth g++ is just barely better than Ada
17:29:42 <TieSoul> hey
17:29:54 <mroman_> but considering that it's C++ :)
17:30:46 -!- oerjan has quit (Quit: leaving).
17:42:19 <boily> quintopia: quinthellopia!
17:43:21 <boily> TieSoul: you are wrong. Wrong, I say!
17:43:32 <TieSoul> wrong about what?
17:44:41 <boily> java is less despicable than C++, imso.
17:46:08 <boily> NeroReflex: hi!
18:12:52 <int-e> imso, hmm. "superior"?
18:14:07 <int-e> The Internet (tm) suggests "sovereign".
18:14:12 <mroman_> C++ has all the bad traits of C you don't really want anymore
18:14:18 <mroman_> and it's got ugly syntax
18:14:46 <int-e> @quote int-e C++
18:14:46 <lambdabot> Plugin `quote' failed with: user error (parseRegex for Text.Regex.TDFA.String failed:"C++" (line 1, column 3):
18:14:46 <lambdabot> unexpected '+'
18:14:46 <lambdabot> expecting empty () or anchor ^ or $, an atom, "|" or end of input)
18:14:51 <int-e> @quote int-e C\+\+
18:14:51 <lambdabot> int-e says: C++ does make a reasonably usable high-level assembler
18:15:02 <mroman_> 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 <int-e> mroman_: the PHP effect
18:15:47 <J_Arcane> mroman_: see FizzBuzzEnterpriseEdition? ;)
18:15:54 <mroman_> J_Arcane: like that, yes
18:15:58 -!- ais523 has joined.
18:16:02 <int-e> (Hmm, not quite. The PHP effect is that the language is so easy that every wannabe programmer uses it.)
18:16:08 <mroman_> you have to look at dozens of classes and packages to figure out what's going on
18:16:23 <mroman_> and then there's an injection framework that just changes everything again :(
18:16:29 <int-e> what's the deal with giving every class its own interface anyway?!
18:16:50 <mroman_> I think you need that for Injection und some other Frameworks @interface for every class
18:16:59 <mroman_> i.e. FooClass is an interface
18:17:07 <mroman_> and then there's RealFooClass
18:17:11 <mroman_> which is the real thing
18:17:59 <int-e> I just balk at the idea of providing an interface for something that has a single implementation.
18:19:02 <ais523> 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 <int-e> I guess a possible excuse is that you want a mock object for everything for testing purposes.
18:19:26 <fizzie> Also for binary compatibility.
18:19:38 <int-e> ais523: I don't buy it. Anyway, eclipse has a ready-to-use refactoring tool for that purpose.
18:19:45 <int-e> binary compa...
18:19:51 <int-e> ah I never care about that.
18:20:00 <int-e> but I guess it's a semivalid point.
18:20:01 <ais523> int-e: I didn't say it was a /goo/d/ argument
18:20:22 <int-e> ais523: right.
18:21:32 <int-e> 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 <fizzie> I've browsed through Effective Java once, that's all I know.
18:22:30 <fizzie> It has some leanings towards the "prefer interfaces" side, though not so strong as to prefer them blindly.
18:23:32 <fizzie> Hmp, I just broke gearlance.
18:24:06 <newsham> anyone solve botguard.js yet?
18:24:27 <ais523> newsham: apparently not, or we'd see a noticeable increase in spam
18:25:18 <int-e> 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 <newsham> ais: not necessarily
18:26:09 <int-e> I guess figuring such stuff out is what makes the difference between a Java programmer and a JavaEE programmer.
18:30:20 <fizzie> 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 <quintopia> boily: you take long time to respond
18:31:00 <quintopia> fizzie: what was it you changed?
18:31:33 <Jafet> "Refactoring"
18:33:29 <fizzie> 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 <fizzie> ... tournament-running as separate stages.
18:34:11 <int-e> depending on whether it adds code complexity, "Obfuscation", or "Simplification"
18:34:34 <fizzie> 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 <quintopia> ah
18:35:01 <quintopia> i am in favor of the idea of fizzie hill.
18:35:16 <quintopia> since perhaps fizzie will implement fixed point scoring :P
18:35:24 <fizzie> That sounds like a place.
18:35:40 <quintopia> it should be a place
18:36:26 <quintopia> a pub. a pub called Fizzie Hill.
18:36:35 <fizzie> (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 <quintopia> no miracles????? but aren't you C Jesus?
18:38:17 <fizzie> fungot: While I'm busy, you work on that thing for me, m'kay?
18:38:17 <fungot> fizzie: by the way? :d: :d :d :d)
18:39:32 <quintopia> i agree fungot. you should definitely be in charge of the hill.
18:39:33 <fungot> quintopia: maybe for arithmetic. see http://www.gehennom.org/fis/ fib.sed for an example. of course
18:40:16 <Jafet> sed hill
18:40:16 <quintopia> there is no such file fungot
18:40:16 <fungot> quintopia: this is scary.
18:43:14 <int-e> 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 <fizzie> quintopia: https://dl.dropboxusercontent.com/u/113389132/Misc/20140907-fib.sed there you go
18:43:57 <int-e> > 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 <lambdabot> (1.0333391516844126,1.0518102372034956,1.068)
18:44:01 <J_Arcane> 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 <fizzie> (It's just a recursive-sed experiment.)
18:44:04 <Jafet> The human field of vision is pretty wide.
18:44:49 <int-e> [a 4:3 monitor has 6.8% more surface area than a 16:10 one with the same diagonal... etc.]
18:46:14 <fizzie> The forthbuzz I pasted the other day also fits in a tweet.
18:47:34 <fizzie> What was a tweet again, 140 characters?
18:47:39 <J_Arcane> 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 <J_Arcane> Yeah, 140.
18:48:19 <fizzie> 75 tweetable languages in the http://golf.shinh.org/p.rb?FizzBuzz then.
18:48:23 <yukibot> Title: "anarchy golf - FizzBuzz"
18:48:36 <fizzie> That's new.
18:49:01 <Jafet> I'd consider any language that could not do this in a tweet to be a joke language somehow
18:49:23 <fizzie> The shortest Erlang solution there is 150 characters, and Erlang's no joke.
18:49:51 <Jafet> Its syntax is imo
18:50:01 <fizzie> Many of the others are esolangs, though.
18:50:04 <Jafet> Prolog scoping needs to die
18:50:12 <TieSoul> befunge has a 54-byte solution
18:50:26 <J_Arcane> Shorter: (map #(condp = 0 (mod % 15) "FizzBuzz" (mod % 3) "Fizz" (mod % 5) "Buzz" %) (range 1 100))
18:51:21 <fizzie> Prolog itself is only 91.
18:52:41 <Jafet> 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 <fizzie> So what's the story with this yukibot?
19:16:11 <boily> quintopia: I was out to lunch, and now I just woke up from a nap.
19:19:06 <ais523> it'd be nice to know whose bot it is
19:19:11 <ais523> or if it just decided to turn up one day
19:20:41 -!- metasepia has joined.
19:23:07 <quintopia> boily: guess we can't hang out yet again as usual. :P
19:24:40 <fizzie> Well, hacksoc.org is the York thing, right?
19:25:09 <fizzie> And Taneb's going there, ISTR.
19:25:19 <J_Arcane> Aww. Well, I have a code-golf passing solution but it doesn't work with anarchy golf's clojure evaluator.
19:25:23 <Taneb> fizzie, it's barrucadu's bot
19:26:11 <fizzie> There we go. Do you happen to know if it does something exciting too?
19:26:49 <quintopia> fizzie: it just reads titles from links
19:27:33 <ais523> now I'm trying to work out how to create a botloop with that
19:27:43 <ais523> with no "Title: " prefix or quotes, it would be easy
19:28:10 -!- AnotherTest has quit (Ping timeout: 252 seconds).
19:28:14 <fizzie> ^source
19:28:14 <fungot> https://github.com/fis/fungot/blob/master/fungot.b98
19:28:16 <yukibot> Title: "fungot/fungot.b98 at master · fis/fungot · GitHub"
19:28:16 <fungot> yukibot: what happened to offby1!!! rampage!!!
19:28:31 <fizzie> That's not much of a loop, but at least it was already built-in.
19:30:51 <fizzie> http://zem.fi/crlf.html
19:30:51 <yukibot> Title: "this title has a newline PRIVMSG #esoteric :and this is a private message"
19:30:56 <fizzie> Aw.
19:31:10 <fizzie> Well, it's the kind of thing that has to be tried.
19:31:58 <barrucadu> I think it's just a coincidence that that doesn't break it
19:32:06 <J_Arcane> Damn. there's a 77-char Clojure solution. I wonder how they did it.
19:32:17 <barrucadu> Multiple spaces get stripped out to give a more useful title, I guess it's also eating newlines
19:32:49 <fizzie> http://zem.fi/ctcp.html
19:32:49 <yukibot> Title: "this title has an embedded CTCP <CTCP>PING 123<CTCP> in it"
19:32:50 <quintopia> fizzie: i need to use fcolor but i can't find it
19:33:20 <fizzie> quintopia: http://zem.fi/2012-03-15-fcolor -- you're in luck, I think I fixed it just the other month.
19:33:21 <yukibot> Title: "Use Flickr to Define Colors | 2012-03-15 | zem.fi"
19:33:28 <barrucadu> yukibot: blacklist linkinfo
19:33:59 <fizzie> Aw, and I didn't even get to the web page with a six-gigabyte title yet.
19:34:07 <barrucadu> Hmm
19:34:15 <barrucadu> It truncates titles over a certain length
19:34:30 <fizzie> Does it fetch the entire page in any case, though?
19:34:35 * barrucadu checks how he does that
19:34:55 <barrucadu> …but that works by checking the length of the title
19:35:15 <barrucadu> 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 <Jafet> Just run the bot on a slow network
19:38:16 <quintopia> fizzie: the weight of each image in the average is inversely proportional to the standard deviation of its histogram?
19:39:22 <fizzie> 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 <quintopia> yeah but i didn't read that paragraph, which is why i asked you :P
19:41:00 <fizzie> Well. It's related to the variance, that's for sure.
19:42:23 <fizzie> 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 <fizzie> 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 <fizzie> 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 <quintopia> 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 <fizzie> You can mentally replace the first one with "inverse variance", it's pretty much the same thing.
19:45:19 <shachaf> ion: thion
19:45:45 <ion> shachaf: you’re wachaf
19:45:54 <shachaf> true
19:47:27 <fizzie> 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 <fizzie> 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 <quintopia> fizzie: wouldn't it make more sense to use the square root of that?
19:53:09 <quintopia> fcolor seems to be giving waaaay to much weight to grayscale images
19:53:30 <quintopia> ideally, it wouldn't include them at all
19:54:02 <fizzie> That's pretty much due to there being no built-in bias for saturation.
19:54:19 <fizzie> But yes, it could be improved.
19:58:00 <fizzie> I'm reasonably sure I thought "I'll tweak this to be more sensible later" when writing that.
19:58:18 <zzo38> My own client automatically responded to the embedded CTCP PING 123 in the title (it says AUTO ANSWERED to indicate that)
19:58:35 <fizzie> zzo38: You're probably in the minority.
19:58:51 <quintopia> you can say that again
19:59:17 <zzo38> fizzie: Does anyone else do, though, or only mine does?
20:01:22 <J_Arcane> More Markdown drama: http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/
20:01:29 <zzo38> This message has an embedded CTCP <CTCP>PING 123<CTCP> in it.
20:01:42 <fizzie> I found one bot-building library that supports them, but that's not a client.
20:01:46 <zzo38> Only weissschloss responded
20:02:50 <zzo38> Only one bot-building library does?
20:04:43 <fizzie> Perhaps several do, but that's the one I found quickly.
20:07:05 <zzo38> 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 <quintopia> 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 <fizzie> 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 <pikhq> Pikes Peak in certain conditions does actually look faintly purple.
20:57:43 <quintopia> lots of mountains do
20:58:11 <pikhq> 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 <Taneb> fizzie, fcolor for "york" yields a disappointing amount of images of New York
23:18:33 <Taneb> (nothing you can do about this, though)
23:41:37 -!- CrazyM4n has joined.
23:42:46 <Phantom___Hoover> fcolor?
23:43:41 <quintopia> it's the best color
2014-09-08
00:01:43 <boily> fungot: is an fcolor akin to a fnord? and if so, what is a nord?
00:01:43 <fungot> 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 <boily> fungot: je parle pas finnois, du moins pas encore.
00:02:08 <fungot> boily: feels like basic used to for sure.
00:02:21 <boily> fungot: no, I'm not used to it yet.
00:02:22 <fungot> boily: for most schemers, it does not implement scheme properly.)) the same place
00:02:44 <boily> fungot: ah, so the fcolor is an implementation problem?
00:02:44 <fungot> boily: yes you did. it was a joke
00:03:23 <boily> 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 <Imaginer1> 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 <newsham> "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 <newsham> RETWEETS
04:08:47 <newsham> 274
04:08:49 <newsham> FAVORITES
04:08:52 <newsham> 533
04:08:54 <newsham> lil swamplordCohen is a ghostKyle CapristaMichael Habeyonceaaron nanavatybender haverSteve U
04:08:57 <newsham> crap
04:09:00 <newsham> 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 <Taneb> Morning, chaps
06:15:48 <Taneb> Assuming "chaps" is gender neutral, otherwise please substitute a suitable word fulfilling the requirements
06:16:18 <fizzie> @wn chap
06:16:19 <lambdabot> *** "chap" wn "WordNet (r) 3.0 (2006)"
06:16:20 <lambdabot> chap
06:16:20 <lambdabot> n 1: a boy or man; "that chap is your host"; "there's a fellow
06:16:20 <lambdabot> at the door"; "he's a likable cuss"; "he's a good bloke"
06:16:20 <lambdabot> [syn: {chap}, {fellow}, {feller}, {fella}, {lad}, {gent},
06:16:21 <lambdabot> [9 @more lines]
06:16:23 <coppro> is "assless chaps" gender neutral?
06:16:24 <fizzie> Apparently not.
06:17:37 <Deewiant> "chapless ass" would be though
06:25:07 <Taneb> Although with the current gender ratios of this channel, I'm afraid that a masculine term may have been appropriate :(
06:26:15 <coppro> 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 <shachaf> coppro: really?
06:26:51 <Taneb> coppro, I'm worried that the fault lies in the niceness of the channel
06:27:23 <coppro> shachaf: really what?
06:27:41 <zzo38> Do you know what is the current gender ratios of this channel though?
06:28:05 <coppro> elliott: you're not helping atm
06:31:43 <zzo38> 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 <Taneb> zzo38, what's FORMCARD?
06:34:43 <zzo38> 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 <b_jonas> no, we don't need a survey for that
06:36:02 <b_jonas> fungot, please tell us the current gender ratio of the channel
06:36:03 <fungot> b_jonas: fnord maybe shoulds have slept, am laughing
06:36:22 <zzo38> b_jonas: I don't mean for that.
06:37:29 <b_jonas> shouldn't we use a BANCStar backend though?
06:38:51 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> Probably such thing is difficult and can vary.
06:54:10 <Taneb> 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 <zzo38> OK
06:55:17 <Taneb> It is at https://github.com/Taneb/countdown/blob/master/Main.hs
06:55:35 <zzo38> OK, now we can see
06:56:15 <Taneb> You need to give it a dict file
06:56:27 <Taneb> (on linux these are normally in /usr/dict or /usr/share/dict
06:56:29 <Taneb> )
07:02:21 <zzo38> OK, now I looked at this program, too
07:03:25 <zzo38> 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 <Taneb> It depends on lens which may be problematic
07:04:16 <Taneb> I'd ignore the dependency bounds listed in the cabal file, though
07:04:20 <zzo38> What is the newest GHC version anyways?
07:05:13 <coppro> there's one GHC per year
07:05:23 <oerjan> zzo38: 7.8.3
07:05:25 <zzo38> I have version 7.0.3
07:05:33 <coppro> http://en.wikipedia.org/wiki/Grace_Hopper_Celebration_of_Women_in_Computing hth
07:06:14 <oerjan> well, there are presumably 7.9.* development versions
07:07:25 <oerjan> 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 <mroman_> Taneb: You should have a lookt at haskeline
08:45:57 <Taneb> mroman_, thanks, that looks useful :)
08:47:23 <mroman_> It gives you at least moving around with arrows (left, right) and a history (up, down)
08:47:37 <mroman_> instead of ^[[D ;)
08:47:49 <mroman_> and tabcompletion
08:49:58 -!- Patashu has joined.
08:51:35 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
09:33:02 <mroman_> damn ApacheDS isn't accepting my new attribute
09:33:08 <mroman_> it's not rejecting it either
09:33:14 <mroman_> it's just silently ignoring it
09:42:35 <mroman_> ah. but it accepts my dummy empty schema
09:42:39 <mroman_> well...
09:43:33 <mroman_> ok. so you can't import and overwrite the core-schema
09:43:34 <mroman_> :(
10:14:12 -!- boily has joined.
10:17:52 -!- ^v has quit (Ping timeout: 240 seconds).
10:29:45 <Taneb> I wrote a hideous program that prints prime numbers!
10:30:52 <Taneb> http://sprunge.us/STaa?c
10:33:23 -!- ^v has joined.
10:34:35 <Taneb> It's essentially a FORTRAN EDSL
10:36:06 <fizzie> tmp2.c:26:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘mp_bitcnt_t’ [-Wformat]
10:37:05 <Taneb> fizzie, should be fine
10:37:11 <Jafet> I hope this means they support 2^60 limbs now
10:38:28 <fizzie> Taneb: You're putting the "fine" back in "undefined", I see.
10:39:16 <Taneb> :)
10:40:36 <fizzie> Jafet: Sorry, "int _mp_size; /* abs(_mp_size) is the number of limbs the last field points to. */
10:41:00 <Jafet> Also, that does not resemble FORTRAN.
10:41:21 <Taneb> The other one
10:41:23 <Taneb> FRACTRAN
10:41:32 <Taneb> Sorry
10:42:54 <boily> limbs? in a compiler???
10:43:11 <Taneb> brb
10:43:11 <Jafet> Common in ARM compilers.
10:43:37 <Deewiant> 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 <mroman_> I wrote a PI-Calc program using gmp once
10:43:58 <mroman_> the overhead in loc with gmp is really high
10:44:05 <mroman_> (if you use C)
10:44:09 <Deewiant> (%td is for printing typedef ints)
10:44:26 <fizzie> Deewiant: I guess that means you'll get about a quarter of the digits correct.
10:44:47 <mroman_> does GHC ship with gmp floats?
10:45:00 * boily mapoles Jafet
10:45:01 <Deewiant> fizzie: On average, I suppose so
10:45:11 <Jafet> ghc ships with only enough to implement Integer.
10:47:13 <fizzie> printf("%tuld", x); /* why is it not working, I have all the four things in there */
10:48:44 <Melvar> According to man 3 printf, the t length modifier indicates ptrdiff_t .
10:51:28 <Deewiant> fizzie: That would probably work in this case actually, you'd just get an extra 'ld' suffix
10:52:51 <fizzie> 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 <fizzie> Anyone willing to spelunk glibc's printf to find out?
10:55:03 <mroman_> What's a CReal?
10:55:32 <fizzie> A part of a balanced BRakfast.
10:55:50 <Taneb> fizzie++ for a terrible pun
10:55:50 <Deewiant> https://hackage.haskell.org/package/numbers-3000.2.0.1/docs/Data-Number-CReal.html
10:55:58 <mroman_> Yeah
10:55:59 <Taneb> fizzie-- for the same pun
10:56:08 <mroman_> I'm not familiar with "constructive reals"
10:56:38 -!- Phantom_Hoover has joined.
10:57:13 -!- noconnection has joined.
10:57:28 <Deewiant> LABEL (mod_ptrdiff_t):
10:57:30 <fizzie> "A tolerably efficient and possibly correct implementation --" heady praise in the headers.
10:57:30 <Deewiant> is_long_double = sizeof (ptrdiff_t) > sizeof (unsigned long int);
10:57:32 <Deewiant> is_long = sizeof (ptrdiff_t) > sizeof (unsigned int);
10:57:34 <Deewiant> JUMP (*++f, step4_jumps);
10:57:51 <Taneb> fizzie, where's that from?
10:58:00 <fizzie> Taneb: The source link, https://hackage.haskell.org/package/numbers-3000.2.0.1/docs/src/Data-Number-CReal.html
10:58:20 <Taneb> Thanks
10:59:24 <Deewiant> if (is_long_num) \
10:59:26 <Deewiant> signed_number = va_arg (ap, long int); \
10:59:46 <Deewiant> #if INT_MAX == LONG_MAX
10:59:48 <Deewiant> # define is_long_num 0
10:59:50 <Deewiant> #else
10:59:52 <Deewiant> # define is_long_num is_long
10:59:54 <Deewiant> #endif
10:59:56 <Deewiant> That's the essentials, I think
10:59:59 <fizzie> Deewiant: Good job.
11:00:17 <noconnection> Is this interesting at all? https://github.com/bfabio/brainfucker
11:00:17 <Deewiant> Although we wanted unsigned, but in that case it's 'unsigned long int'
11:01:02 <fizzie> 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 <Jafet> That encoder is pretty trivial.
11:04:40 <Jafet> I wonder if it's feasible to find brainfuck encodings using sat.
11:05:07 <fizzie> 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 <noconnection> fizzie: wow, that's verbose
11:06:47 <fizzie> The spectrum ranges from that down to http://andrew.hedges.name/experiments/brainf_cker/ probably.
11:07:13 <fizzie> (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 <mroman_> Am I a monster to like high coupling?
11:42:04 <mroman_> i.e. instead of new LdapConnection(new LdapConnectionConfig(...))
11:42:13 <mroman_> I seem to prefer new LdapConnectionConfig(..).newConnection();
11:43:57 <fizzie> LdapConnection conn = LdapConnection.builder().myThing(x).myAnotherThing(y).addSuck(Integer.MAX_VALUE).build();
11:44:36 <fizzie> Also called the "our language has no keyword arguments so we'll be faking them" pattern, I guess.
11:45:11 <fizzie> Perhaps it's slightly orthogonal to what you said, I don't know what LdapConnectionConfig looks like.
11:46:55 <mroman_> it has members like authId, authPw, authMethod, port and host
11:47:19 <mroman_> for jndi you need to put these into a Hashtable that you can feed to the DirContext constructor
11:47:41 <mroman_> LdapConnectionConfig creates the Hashtable (the context environment)
11:48:18 <mroman_> anyway, I'm pretty sure it violates coupling design principles
11:48:34 <mroman_> (since LdapConnectionConfig has to know LdapConnection)
11:52:04 <fizzie> 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 <mroman_> The method isValid(Comparable<Comparable<R>>, Comparable<Comparable<R>>) in the type LdapAttributeValidator<Comparable<Comparable<R>>> is not applicable for the arguments (R, R)
12:02:50 <mroman_> wooooot
12:02:57 <mroman_> <Comparable<Comparable<R>>> looks utterly wrong
12:03:46 -!- Sgeo has quit (Read error: Connection reset by peer).
12:04:46 <fizzie> How did you manage to get a LdapAttributeValidator<Comparable<Comparable<R>>> in the first place?
12:05:13 <mroman_> I don't know
12:05:17 <mroman_> I thought you could do it C# style
12:05:26 <mroman_> like public <T> foo()
12:05:35 <mroman_> and then call it like foo<..>()
12:05:44 <mroman_> but that's apperently not the Java-way of doing it
12:05:47 <mroman_> *apparentely
12:06:36 <fizzie> 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 <fizzie> Though normally type inference is supposed to take care of it.
12:07:24 -!- ais523_ has joined.
12:07:34 <mroman_> bleh
12:07:53 <fizzie> Did you write Comparable<T> where you wanted <T extends Comparable<T>> perhaps?
12:08:01 <fizzie> Something like that, anyway.
12:08:30 <mroman_> I have public static <R extends Comparable<R>> LdapAttributeValidator<R> getValidator
12:08:52 <fizzie> Okay, and what was the getValidator call like?
12:08:57 <mroman_> and some other method with <R extends Comparable> that calls it like
12:09:07 <mroman_> LdapAttributeValidator<R> validator = LdapAttributeValidator.getValidator
12:09:34 <mroman_> but this yields: Bound mismatch: The type R is not a valid substitute for the bounded parameter <T extends Comparable<T>> of the type LdapAttributeValidator<T>
12:09:56 <fizzie> The <R extends Comparable> should at least be <R extends Comparable<R>>.
12:10:09 <mroman_> ah
12:10:10 <mroman_> yeah
12:10:16 <mroman_> that fixes everything
12:10:43 <fizzie> 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 <mroman_> 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 <mroman_> what
12:11:48 <mroman_> It's supposed to Replace R with the type I feed it
12:11:52 <mroman_> that's how generics are supposed to work :(
12:12:29 <fizzie> Not if the parameter counts differ.
12:12:43 <fizzie> String, String, String, R, String is five items; String, String, Integer, String is four.
12:12:56 <mroman_> oh
12:12:57 <mroman_> hm
12:13:04 <fizzie> Writing that last one made me think of the spam sketch.
12:13:25 <mroman_> hu
12:14:05 <mroman_> where the hell is that fifth argument
12:14:11 <fizzie> Here's a gem of a generics error: http://sprunge.us/MWQP
12:14:23 <fizzie> It "obviously" means that it needs to be a <T> void cycle(Queue<T> q) instead. (Or with a helper method like that, anyway.)
12:14:32 <mroman_> ah
12:14:33 <mroman_> there
12:14:34 <mroman_> :)
12:15:29 <Jafet> Skolem type variables, in my coffee?
12:17:08 <mroman_> hm.
12:19:00 <mroman_> whait
12:19:04 <mroman_> this shit isn't typed??
12:19:57 <mroman_> ah really
12:19:59 <mroman_> ok
12:25:52 <mroman_> I hate it when stuff is typed but APIs only return "String"
12:25:59 <mroman_> i.e. SQL has types
12:26:03 <mroman_> but you get everything as String
12:26:07 <mroman_> LDAP has types
12:26:13 <mroman_> but you get Strings for everything :(
12:29:32 <fizzie> I didn't think you gor Strings out of JDBC.
12:30:46 <mroman_> I don't know JDBC
12:30:47 -!- noconnection has quit (Quit: Page closed).
12:31:00 <mroman_> but Attribut.get from JNDI gives you a string for ints
12:31:11 <mroman_> *Attribute
12:31:57 <b_jonas> use a different api then
12:32:14 <mroman_> 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 <NeroReflex> hi
17:06:38 <ais523_> hi
17:09:11 <AnotherTest> Hi. Haven't been here in ages.
17:10:02 <ais523_> AnotherTest: I just assumed your test had finished by now
17:10:18 <AnotherTest> ais523_: I needed another one
17:11:50 <AnotherTest> Is fungot still around these days?
17:11:50 <fungot> 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 <AnotherTest> :)
17:19:54 -!- zzo38 has quit (Remote host closed the connection).
17:28:12 <HackEgo> [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 <newsham> http://www.quora.com/How-does-Googles-Botguard-work
17:52:51 <newsham> 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 <Lymia> http://codegolf.stackexchange.com/questions/36645/brainfedbotsforbattling-a-brainf-tournament/37385
21:00:51 <Lymia> Yay!
21:00:53 <Lymia> I topped a hill!
21:01:01 <Lymia> I gotta go now though.
21:01:53 <ais523_> congrats Lymia, doing good work for the honour of #esoteric there
21:02:07 <ais523_> really, we /should/ be able to win that hill given the quality of other competition and how much experience we have
21:02:25 <ais523_> 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 <fizzie> 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 <HackEgo> [wiki] [[Cork]] M http://esolangs.org/w/index.php?diff=40417&oldid=40385 * Oerjan * (+1) /* External Resources */ bullet
22:24:22 <HackEgo> [wiki] [[///]] M http://esolangs.org/w/index.php?diff=40418&oldid=40382 * Oerjan * (+1) /* Implementation */ scaling back the blue
22:27:27 <HackEgo> [wiki] [[Talk:Iota]] M http://esolangs.org/w/index.php?diff=40419&oldid=40389 * Oerjan * (+12) Move top posting
22:29:37 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=40420&oldid=40398 * Oerjan * (+1) Ain't no such thing
22:35:07 <HackEgo> [wiki] [[SYCPOL]] M http://esolangs.org/w/index.php?diff=40421&oldid=40404 * Oerjan * (-2) line spacing
22:36:09 <b_jonas> I'll regret this later, but I'm building trucks
22:36:14 <b_jonas> argh, wrong channel
22:36:15 <b_jonas> sorry
22:54:35 -!- Sgeo has joined.
22:57:13 <boily> b_jonas: it never is the wrong channel to build trucks.
22:57:16 -!- Sprocklem has joined.
22:57:36 <boily> @tell oerjan on a wiki-editing frenzy again?
22:57:36 <lambdabot> Consider it noted.
22:58:29 <HackEgo> [wiki] [[Iota]] http://esolangs.org/w/index.php?diff=40422&oldid=35311 * Oerjan * (+415) Clarification?
22:58:58 <HackEgo> [wiki] [[Talk:Iota]] http://esolangs.org/w/index.php?diff=40423&oldid=40419 * Oerjan * (+101) /* Unclear */ HTH
23:05:04 <HackEgo> [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 <Lymia> nya~
00:11:52 <elliott> 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 <G33kDude> Anyone here that can help me with piet? I'm having a very hard time understanding the roll command
01:13:42 <G33kDude> ?
01:13:55 <Bicyclidine> i can't.
01:13:59 <tromp_> where is roll documented?
01:17:37 <G33kDude> 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 <tromp_> seems clear. eg. roll on stack a b c d e 4 2 results in a d e b c
01:21:28 <tromp_> roll on stack a b c d e 4 1 results in a e b c d
01:22:32 <G33kDude> With left on top, 2 4 5 4 3 2 1 is returning 3 2 5 4 1
01:22:46 <tromp_> i have top on right
01:23:15 <G33kDude> 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 <G33kDude> Experimentation leaves me confused
01:24:27 <tromp_> roll on stack a b c d e 4 -1 results in a c d e b
01:24:38 <tromp_> same as roll on stack a b c d e 4 3
01:25:30 <G33kDude> oh
01:25:40 <G33kDude> I've been thinking about this completely in the wrong way
01:28:07 <G33kDude> I'm not too familiar with stack manipulations
01:28:11 <G33kDude> hence my confusion
01:28:29 <tromp_> roll is standard among all stack based languages
01:29:07 <G33kDude> of which none I am familiar with
01:29:49 <tromp_> it literally moves stack elements around
01:30:12 -!- Bicyclidine has quit (Ping timeout: 246 seconds).
01:30:12 <tromp_> in a circular motion
01:30:25 <G33kDude> I understand now
01:30:34 <G33kDude> 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 <Lymia> !bfjoust ping <
02:48:54 <G33kDude> tromp_: Thank you for your help
02:49:07 <G33kDude> My piet interpreter works now :)
02:59:05 <tromp_> gratz, G33kDude!
03:17:18 <G33kDude> tromp_: My test program was http://www.dangermouse.net/esoteric/piet/pietquest.png
03:17:32 <G33kDude> It's a text adventure; very fun.
03:19:24 <tromp_> 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 <GeekDude> 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 <GeekDude> tromp_:
04:20:24 <GeekDude> 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 <mroman_> Integers with multpilication form a group, right?
06:18:17 <shachaf> No.
06:18:54 <mroman_> I suspected so.
06:19:19 <mroman_> Is it because you can't define an inverse?
06:19:57 <Bike> yea
06:20:35 <Bike> naturals mod a prime (or more? eh) should be alright though.
06:25:22 <mroman_> oh wait. overloading doesn't work with java generics
06:25:30 <mroman_> screw this. Who made this crappy language?
06:27:19 <mroman_> Bike: at least mod a prime
06:27:24 <mroman_> since you can define an inverse for everything then
06:27:52 <mroman_> I'm not sure if there are non primes that have an inverse for everything
06:32:16 <fizzie> mroman_: Backwards compatibility, y'see.
06:32:33 <fizzie> Overloading is overrated, anyway.
06:39:38 -!- clog has joined.
06:45:08 <fizzie> Hrm. The London subway map is not terribly intelligible in grayscale.
06:49:45 <mroman_> It'd be tricky anyway
06:49:51 <mroman_> for example class Foo<T,U>
06:50:02 <mroman_> Foo(T t) { ..} Foo(U u) {..}
06:50:09 <mroman_> since that would require a constraint T != U
06:50:15 <mroman_> and I don't think Java supports that
06:52:43 <fizzie> 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 <mroman_> yep
06:53:47 <mroman_> it would be sorta cool because you probably then could extract an element by type
06:53:53 <mroman_> i.e U get(); T get();
06:54:22 <fizzie> Well, you can't overload based on only return type in the first place, anyway.
06:54:24 <mroman_> rather than U getU(); T getT();
06:54:40 <mroman_> not in Java, yes @return type only
06:54:54 <mroman_> since U and T are both erased to Object
06:54:59 <mroman_> anyway
06:55:17 <fizzie> Well, even without that. The language won't let you write an int get() and a double get().
06:56:45 <mroman_> I know.
06:57:21 <coppro> mroman_: integers are a group if you drop 0
06:57:37 <shachaf> coppro: ?
06:58:03 <coppro> 02:18:04 < mroman_> Integers with multpilication form a group, right?
06:58:06 <fizzie> So which integer is the multiplicative inverse of 2?
06:58:18 <coppro> oh... integers
06:58:18 <coppro> nvm
06:58:22 <coppro> somehow I read rationals
07:02:29 <mroman_> hm
07:02:35 <mroman_> there's now T.getClass() either
07:02:38 <mroman_> *no
07:04:04 <fizzie> In quite a lot of cases, you just ask clients to pass a Class<T> object if you need a "type token" inside the code.
07:04:22 <mroman_> http://codepad.org/nSxBZMFi
07:04:27 <mroman_> ^- this isn't working as well
07:05:04 <mroman_> technically I'd expect (U)t; to fail on the Integer
07:05:16 <mroman_> but it doesn't.
07:05:30 <mroman_> probably because it's (Object)t anyway
07:06:11 <fizzie> mroman_: public <U> U get(Class<U> clazz) { return clazz.cast(whatever); }
07:06:47 <mroman_> but that's uncool
07:06:48 <fizzie> objs.get(Integer.class); will then properly barf out at cast-time with a ClassCastException.
07:07:08 <fizzie> Incidentally, the fromT/fromU I wrote above needs to be (sigh) public static <R,S> Tmp<R,S> fromT(R t) { return new Tmp<>(t, null); } and then you have to call it as Tmp.<Foo,Bar>fromT(foo);
07:07:29 <mroman_> it works though of course
07:08:29 <mroman_> it would be much more usefull if Java could provide U.getClass
07:08:37 <mroman_> which is technically possible
07:08:42 <mroman_> probably
07:08:56 <mroman_> ah no
07:09:08 <mroman_> the compiler knows U
07:09:11 <mroman_> but the runtime doesn't
07:09:24 <fizzie> Yes, and the compiler can only generate the one method, since it's not templates or anything.
07:09:25 <mroman_> but maybe the compiler could inject some boiler-plate code
07:09:48 <fizzie> A hidden type token parameter injected at each call site?
07:09:51 <mroman_> the compiler *could* create multiple methods
07:09:53 <mroman_> like C++-style
07:10:01 <mroman_> but yeah.
07:10:06 <mroman_> that ain't gonna happen soon
07:10:17 <mroman_> (I suppose Java 8 nor Java 9 will have such features?)
07:10:31 <fizzie> Java 8 has been out for quite a while, and it doesn't do that.
07:10:39 <fizzie> The streams are nice, though.
07:11:42 <fizzie> It's anonymous inner classes all the way down, of course, but with lots of syntactic sugar.
07:12:09 <mroman_> actually
07:12:20 <mroman_> Tmp.<> shouldn't be necessary in Java 8?
07:12:43 <fizzie> That's possible, I think I heard something vague about improving the type inference.
07:13:02 <fizzie> I don't have a Java 8 thing on this thing.
07:14:01 <mroman_> List<string> names = students.stream().map(Student::getName).filter(name->name.startsWith("A"))
07:14:04 <mroman_> .collect(Collectors.toList());
07:14:05 <fizzie> Oh, I must've messed something earlier, it does work in Java 7 without that too.
07:14:18 <mroman_> interesting @streams
07:19:52 <fizzie> 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 <HackEgo> [wiki] [[Talk:AutoMouse]] http://esolangs.org/w/index.php?diff=40425&oldid=8333 * Rdebath * (+5701) Bit of digging.
07:21:07 <mroman_> what's the type of lambda expressions actually?
07:21:15 <mroman_> All those fancy example pages never list that
07:21:28 <HackEgo> [wiki] [[AutoMouse]] http://esolangs.org/w/index.php?diff=40426&oldid=37444 * Rdebath * (-8) Source code says 1998
07:21:43 <mroman_> looks like it infers it
07:21:52 <mroman_> i.e n -> Boolean is Predicate<n>
07:24:08 <int-e> http://java.dzone.com/articles/introduction-functional-1
07:25:17 <int-e> (that sounds like any "functional interface" works, but doesn't say anything about inference)
07:30:30 <fizzie> 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 <myname> automouse sounds great, except this microsoft windows thingie
08:25:40 -!- Patashu has joined.
08:27:45 -!- ^v has joined.
08:34:26 <HackEgo> [wiki] [[Special:Log/newusers]] create * CRS-ECHO51 * New user account
08:34:28 <HackEgo> [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 <myname> 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 <mroman_> ok
09:09:16 <mroman_> if you do that I'lll create XMLFuck
09:09:59 <mroman_> <bf:loop><bf:op type="+"/></bf:loop> .
09:10:08 <mroman_> something ugly like thatt
09:10:12 <oerjan> how can that possibly not have been done already.
09:10:31 <mroman_> wait
09:10:33 <mroman_> there's an XMLfuck
09:10:51 <oerjan> @messages-
09:10:51 <lambdabot> boily said 10h 13m 14s ago: on a wiki-editing frenzy again?
09:10:57 <oerjan> mroman_: thought so
09:11:27 <mroman_> well...
09:11:31 <mroman_> HTMLfuck is probably still open
09:11:37 <oerjan> @tell boily I am reading the wiki recent changes in very large batches recently
09:11:37 <lambdabot> Consider it noted.
09:11:46 <oerjan> mroman_: wouldn't bet on it.
09:12:17 <myname> mroman_: type=increment?
09:12:32 <myname> mroman_: besides that: go for it
09:14:23 <mroman_> I will!
09:17:10 <zzo38> 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 <zzo38> (Note that pseudo-blocks such as RETURN are also possible.)
09:19:17 <mroman_> http://mroman.ch/bfhtml.html <- there you go
09:19:37 <zzo38> (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 <mroman_> <div class="loop">..</div> shall be treated as a loop .
09:20:13 <mroman_> the rest is usual brainfuck style
09:20:18 <mroman_> except that < > are &lt; &gt; of course
09:20:45 <mroman_> it also provides neat indentation .
09:21:45 <mroman_> however, most browsers refuse to copy the [ and ] in the webpage
09:22:44 <mroman_> which makes it kinda pythony
09:22:50 <mroman_> instead of [] you have to use indentation .
09:23:04 <mroman_> aka Braynfuck
09:24:22 <mroman_> so you remove one character from the Brainfuck-Alphabet without loosing anything
09:24:31 <mroman_> the perfect brainfuck minimalization
09:25:19 <zzo38> You minimalize nothing. Instead of [ and ] you now need spaces and line breaks.
09:25:36 <zzo38> Still two characters each.
09:25:56 <mroman_> three if you have windows
09:26:27 <mroman_> I didn't expect people to find out that soon that it's bogus
09:27:12 <zzo38> I don't know if you expected anyone else to, but I did.
09:30:39 <impomatic_> How about Huffman encoded BF?
09:31:18 <mroman_> Or noe encoded bf
09:31:24 <mroman_> noe oughta be really well with brainfuck
09:32:43 <oerjan> <mroman_> since you can define an inverse for everything then <-- everything that isn't divisible by the prime, you mean.
09:33:14 <oerjan> <mroman_> 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 <mroman_> noe can compress helloworld bf by 30%
09:33:55 <mroman_> at least
09:34:25 <oerjan> what's noe
09:34:45 <mroman_> some stupid compression algorithm I had the idea to
09:34:46 <impomatic_> 00 = + / 01 = - / 10 = < / 110 = > / 11100 = [ / 11101 = ] / 11110 = . / 11111 = ,
09:35:02 <impomatic_> 3.625 bits per average instruction instead of 3.
09:36:22 <oerjan> i have a hunch you're not referring to https://github.com/noe/encoding
09:36:55 <mroman_> what
09:36:59 <mroman_> *not*?
09:37:07 <mroman_> I'm referring to that
09:37:09 <oerjan> oh.
09:37:19 <oerjan> i didn't think you were spanish
09:37:28 <mroman_> oh
09:37:29 <mroman_> wait
09:37:29 <mroman_> no
09:37:44 <mroman_> https://github.com/FMNSSun/noe/
09:37:47 <mroman_> ^- im refering to that
09:37:51 <mroman_> sry. I read your url wrong
09:39:19 <mroman_> It can compress http://www.iwriteiam.nl/Ha_bf_inter.html by 46%
09:39:47 <mroman_> the simple version of noe
09:39:53 <mroman_> the real version oughta do much better
09:40:29 <oerjan> good, good
09:44:48 <mroman_> hm. or not.
09:46:14 <mroman_> gotta tune the params.
09:47:55 <mroman_> 47%
09:47:59 <mroman_> not really that much better
09:48:30 <mroman_> however, you can combine it with huffman
09:48:41 <mroman_> i.e. by not encoding a char with 8bits you obviously get even more
09:49:04 <mroman_> technically you'd need 3 bits max for a bf instruction
09:49:46 <oerjan> shannon will get you anyhow.
09:50:06 <mroman_> yeah it's 47% for the selfinterpreter
09:53:50 <mroman_> 55% with simple if you use 3 bits
09:53:54 <mroman_> which sounds odd
09:53:57 <mroman_> > 8.0/3.0
09:53:59 <lambdabot> 2.6666666666666665
09:54:11 <mroman_> > 1/2.666
09:54:12 <lambdabot> 0.37509377344336087
09:54:23 <mroman_> > 1-(1/2.666)
09:54:24 <lambdabot> 0.6249062265566392
09:54:32 <mroman_> just using 3bits should already give you 62%
09:55:21 <mroman_> wait
09:55:27 <mroman_> my ratio calculation looks terribly wrong
09:57:12 <oerjan> > 3/8
09:57:13 <lambdabot> 0.375
10:05:35 <mroman_> yeah.
10:05:46 <mroman_> it can't compress anything if a symbol only has three bits
10:08:47 <mroman_> noe works differently
10:12:35 -!- boily has joined.
10:13:29 <mroman_> it's usually able to compress single english sentences by 25% - 35%
10:22:23 <mroman_> so I thought
10:22:42 <mroman_> a more reasonable benchmark says around 8% :(
10:24:43 <mroman_> but yeah. It's a sucky compression algorithm except in a few edgecases
10:29:55 <mroman_> other sucky compression algorithms in my head are using permutations
10:29:56 <mroman_> i.e.
10:30:06 <mroman_> if you have 5 symbols, you need 3 bits for one symbol
10:30:25 <mroman_> which means to encode a string of 5 symbols you need 15bits
10:30:33 <mroman_> however, there are only 120 permutations of 5 symbols
10:30:47 <mroman_> i.e. you could encode which permutation of 5 symbols it is in 7bits
10:30:53 <mroman_> saving 8 bits
10:32:21 <mroman_> also
10:32:24 <mroman_> you can create a tape
10:32:34 <mroman_> i.e "ABCDE" if you have 5 symbols
10:32:47 <mroman_> and the pointer is at A
10:32:59 <mroman_> 1 means left, 0 means right
10:33:35 <mroman_> if the you want to compress BACDEAB you'd write 0100000
10:34:32 <mroman_> (also 7 bits instead of 15)
10:35:08 <int-e> But what if I want to encode "Qzyzzalroum"?
10:35:16 <boily> you lost me there. isn't “0100000” ambiguous?
10:35:58 <fizzie> 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 <mroman_> boily: maybe i made a mistake there
10:36:22 <mroman_> let me check that
10:36:47 <mroman_> true
10:37:02 <mroman_> I forgot the stop sign
10:37:04 <mroman_> :)
10:37:06 <int-e> Oh I actually brought this word up here before. Interesting :)
10:37:33 <boily> `? qzyzzalroum
10:37:34 <HackEgo> qzyzzalroum? ¯\(°​_o)/¯
10:37:45 <boily> int-e: then define it ^^
10:37:56 <mroman_> fizzie: It's not a general purpose compression ;)
10:38:50 <int-e> `define qzyzzalroum You should start the crossword over.
10:38:51 <HackEgo> 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 <mroman_> obviously the tape thingy is only working if you have lots of sorted substrings
10:39:23 <boily> `learn qzyzzalroum You should start the crossword over.
10:39:27 <HackEgo> I knew that.
10:39:37 <int-e> so what's `define?
10:39:43 <boily> I don't know.
10:39:52 <fizzie> You can tell from the URL.
10:39:59 <fizzie> It used to be "ask google for a definition of a word".
10:40:09 <fizzie> Now it's "break down".
10:40:10 <boily> mroman_: well, you can achieve that with that banana matrix from bzip2 I guess.
10:40:25 <int-e> fizzie: oh I missed the readable part in all the gibberish
10:40:29 <boily> (how is it called again? I only have the wikipédia example in my head...)
10:40:59 <boily> ah! burrows-wheeler. but I still prefer “banana matrix”.
10:41:00 <Jafet> > 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 <lambdabot> "G\aO\a\a=\ACKH\ACKK\ACK\DC4;\ACKK\DC4ID\ACKK\ACK@*Exception: Prelude.head: ...
10:41:31 <Jafet> > 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 <lambdabot> "qzyzzalroum You should\NUL*Exception: Prelude.tail: empty list
10:43:16 <Jafet> > read "0x" :: Int
10:43:17 <lambdabot> *Exception: Prelude.read: no parse
10:43:48 <Jafet> > reads "0x" :: [(Int, String)]
10:43:49 <lambdabot> [(0,"x")]
10:44:01 <Jafet> Sure.
10:44:14 <Jafet> > reads "0x1" :: [(Int, String)]
10:44:15 <lambdabot> [(1,"")]
10:45:25 <int-e> `` 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 <HackEgo> 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 <int-e> of course.
10:47:51 <int-e> `` 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 <HackEgo> qzyzzalroum You should%
10:51:51 <fizzie> `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 <HackEgo> qzyzzalroum You should
11:00:31 -!- GeekDude has joined.
11:00:34 <GeekDude> hello tromp_
11:00:38 <GeekDude> and everyone else
11:02:31 <boily> GeekDood morning!
11:07:33 -!- boily has quit (Quit: QZYZZALROUMISCH CHICKEN).
11:26:01 <oerjan> `? qzyzzalroum
11:26:01 <HackEgo> qzyzzalroum You should start the crossword over.
11:26:41 <oerjan> @tell boily I think the pdf maintainer should know how `learn actually works twh
11:26:42 <lambdabot> Consider it noted.
11:27:15 <oerjan> `run echo "You should start the crossword over." >wisdom/qzyzzalroum
11:27:18 <HackEgo> No output.
11:27:22 <oerjan> `? qzyzzalroum
11:27:23 <HackEgo> You should start the crossword over.
11:45:13 <int-e> `cat bin/learn
11:45:14 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "I knew that."
11:46:52 <int-e> `? I
11:46:53 <HackEgo> 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 <mroman_> 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 <mroman_> 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 <mroman_> @hoogle ldapClose
12:17:18 <lambdabot> No results found
12:17:20 <mroman_> @hoogle ldapOpen
12:17:20 <lambdabot> No results found
12:17:29 <mroman_> LDAP has ldapOpen
12:17:33 <mroman_> 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 <mroman_> (("objectCategory" `ldapEqu` "person") `ldapAnd` ("objectCategory" `ldapEqu` "contact")) `ldapAnd` (("sn" `ldapEqu` "Smith") `ldapOr` ("sn" `ldapEqu` "Johnson"))
12:47:50 <mroman_> (&(&(objectCategory=person)(objectCategory=contact))(|(sn=Smith)(sn=Johnson)))
12:48:17 <mroman_> ^- Somebody should do this
12:48:21 <mroman_> but more serious
12:49:17 <Melvar> What’s it called again where you stick the module name in everything? ;_;
12:49:34 -!- tromp has joined.
12:49:57 <GeekDude> this is going to be painful to implement
12:51:48 <mroman_> *Main> "fooAttrib" `ldapEqu` "(.*)"
12:51:48 <mroman_> (fooAttrib=\28.\2a\29)
12:52:07 <mroman_> 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 <mroman_> Melvar: "in everything"?
13:02:28 <mroman_> You mean re-export it?
13:02:35 <mroman_> or qualified import?
13:04:17 <Melvar> mroman_: No, I mean having “ldap” in “ldapEqu”, “ldapAnd”, “ldapOr”, etc.
13:04:54 <mroman_> it's called "avoid collisions with other operators from other modules"
13:05:07 <mroman_> @hoogle or
13:05:09 <lambdabot> Prelude or :: [Bool] -> Bool
13:05:09 <lambdabot> Data.List or :: [Bool] -> Bool
13:05:09 <lambdabot> Data.Foldable or :: Foldable t => t Bool -> Bool
13:05:14 <mroman_> ^- see
13:05:17 <mroman_> or is already taken :)
13:05:24 <Melvar> You let the *user* decide that.
13:05:27 <mroman_> foldable?
13:05:30 <mroman_> interesting
13:05:32 <Melvar> They can import your module qualified if they like.
13:05:34 <mroman_> @info Foldable
13:05:34 <lambdabot> Foldable
13:05:39 <mroman_> -.-
13:05:55 <mroman_> oh
13:06:08 <mroman_> it's that secret-black-magic * -> * stuff
13:07:29 <mroman_> Any examples using Foldable Maybe?
13:07:33 <mroman_> I can't figure one out
13:09:31 <mroman_> > fold (\a b -> a + b) [Just 5, Just 6]
13:09:33 <lambdabot> No instance for (GHC.Show.Show a0)
13:09:33 <lambdabot> arising from a use of ‘M114505817426468540712624.show_M1145058174264685407...
13:09:33 <lambdabot> The type variable ‘a0’ is ambiguous
13:09:33 <lambdabot> Note: there are several potential instances:
13:09:33 <lambdabot> instance [safe] GHC.Show.Show (b GHC.Types.Int) =>
13:09:52 <mroman_> > (fold (\a b -> a + b) [Just 5, Just 6]) :: Maybe Int
13:09:54 <lambdabot> Couldn't match type ‘[Data.Maybe.Maybe a0]’
13:09:54 <lambdabot> with ‘Data.Maybe.Maybe GHC.Types.Int’
13:09:54 <lambdabot> Expected type: [Data.Maybe.Maybe a0]
13:09:54 <lambdabot> -> [Data.Maybe.Maybe a0] -> [Data.Maybe.Maybe a0]
13:09:54 <lambdabot> Actual type: [Data.Maybe.Maybe a0]
13:09:58 <Melvar> @type fold
13:09:59 <lambdabot> (Monoid m, Foldable t) => t m -> m
13:10:35 <mroman_> > fold (Just 5)
13:10:36 <lambdabot> No instance for (GHC.Show.Show a0)
13:10:36 <lambdabot> arising from a use of ‘M712488520844229804512663.show_M7124885208442298045...
13:10:36 <lambdabot> The type variable ‘a0’ is ambiguous
13:10:36 <lambdabot> Note: there are several potential instances:
13:10:36 <lambdabot> instance [safe] GHC.Show.Show (b GHC.Types.Int) =>
13:10:44 <mroman_> Maybe is a foldable
13:10:48 <Melvar> What do you want the monoid to be?
13:10:54 <mroman_> I have no idea
13:11:19 <mroman_> but Maybe is also a Monoid
13:11:31 <mroman_> > fold (Just (Just 5))
13:11:33 <lambdabot> No instance for (GHC.Show.Show a0)
13:11:33 <lambdabot> arising from a use of ‘M514486933773938025012685.show_M5144869337739380250...
13:11:33 <lambdabot> The type variable ‘a0’ is ambiguous
13:11:33 <lambdabot> Note: there are several potential instances:
13:11:33 <lambdabot> instance [safe] GHC.Show.Show (b GHC.Types.Int) =>
13:11:34 <Melvar> Only for Monoid element type.
13:11:36 <mroman_> :(
13:11:45 <mroman_> > fold (Just (succ))
13:11:47 <lambdabot> No instance for (Data.Typeable.Internal.Typeable a0)
13:11:47 <lambdabot> arising from a use of ‘M163181566624904154912697.show_M1631815666249041549...
13:11:47 <lambdabot> The type variable ‘a0’ is ambiguous
13:11:47 <lambdabot> Note: there are several potential instances:
13:11:47 <lambdabot> instance Data.Typeable.Internal.Typeable Data.Dynamic.Dynamic
13:12:01 <mroman_> @type fold
13:12:03 <lambdabot> (Monoid m, Foldable t) => t m -> m
13:12:10 <mroman_> it want's a Foldable that contains a Monoid
13:12:16 <mroman_> and returns the Monoid
13:12:19 <mroman_> *wants
13:12:22 <Melvar> Yes.
13:12:25 <mroman_> so
13:12:30 <mroman_> Maybe is Foldable
13:12:43 <mroman_> and also a Monoid
13:12:51 <mroman_> then Just Nothing should be t m?
13:12:51 <Melvar> Only for monoid element type.
13:13:05 <mroman_> @type Just Nothing
13:13:06 <lambdabot> Maybe (Maybe a)
13:13:17 <mroman_> oh
13:13:48 <Melvar> fold (Just "foo")
13:13:53 <Melvar> > fold (Just "foo")
13:13:54 <lambdabot> "foo"
13:14:00 <mroman_> Maybe isn't a Monoid
13:14:11 <Melvar> > fold (Nothing :: Maybe String)
13:14:13 <lambdabot> ""
13:14:45 <mroman_> hu
13:14:50 <mroman_> String is a monoid?
13:15:04 <mroman_> [a] is one at least, I see
13:15:19 <mroman_> > fold (Sum 8)
13:15:21 <lambdabot> Could not deduce (Data.Foldable.Foldable Data.Monoid.Sum)
13:15:21 <lambdabot> arising from a use of ‘Data.Foldable.fold’
13:15:21 <lambdabot> from the context (Data.Monoid.Monoid m, GHC.Num.Num m)
13:15:21 <lambdabot> bound by the inferred type of
13:15:21 <lambdabot> it :: (Data.Monoid.Monoid m, GHC.Num.Num m) => m
13:15:37 <mroman_> > fold (Just (Sum 8))
13:15:39 <lambdabot> Sum {getSum = 8}
13:16:01 <Melvar> “instance Monoid a => Monoid (Maybe a)”
13:16:24 <Melvar> > fold (Nothing :: Maybe (Sum Integer))
13:16:25 <lambdabot> Sum {getSum = 0}
13:16:30 <mroman_> > fold [Sum 8]
13:16:31 <lambdabot> Sum {getSum = 8}
13:16:35 <mroman_> > fold [Sum 8, Sum 9]
13:16:37 <lambdabot> Sum {getSum = 17}
13:16:50 <mroman_> > fold [Just 8, Just 9]
13:16:51 <lambdabot> No instance for (GHC.Show.Show a0)
13:16:51 <lambdabot> arising from a use of ‘M62230355020165895612855.show_M62230355020165895612...
13:16:51 <lambdabot> The type variable ‘a0’ is ambiguous
13:16:51 <lambdabot> Note: there are several potential instances:
13:16:51 <lambdabot> instance [safe] GHC.Show.Show (b GHC.Types.Int) =>
13:17:11 <mroman_> > (fold [Just 8, Just 9]) :: Maybe Int
13:17:12 <lambdabot> No instance for (Data.Monoid.Monoid GHC.Types.Int)
13:17:13 <lambdabot> arising from a use of ‘Data.Foldable.fold’
13:17:16 <mroman_> ok
13:17:17 <mroman_> I see
13:17:23 <mroman_> I understand now
13:17:26 <Melvar> For Maybe, fold = maybe mempty id .
13:17:32 <mroman_> > fold [All False, All True]
13:17:34 <lambdabot> All {getAll = False}
13:17:58 <mroman_> but...
13:18:04 <mroman_> > mconcat [All False, All True]
13:18:06 <lambdabot> All {getAll = False}
13:18:11 <mroman_> where's the difference?
13:18:18 <Melvar> For List, fold = mconcat .
13:18:51 <mroman_> > fold $ Just (Any False)
13:18:52 <Melvar> fold works on all Foldables, mconcat only on lists.
13:18:52 <lambdabot> Any {getAny = False}
13:19:03 <Melvar> @type fold
13:19:03 <lambdabot> (Monoid m, Foldable t) => t m -> m
13:19:05 <Melvar> @type mconcat
13:19:06 <lambdabot> Monoid a => [a] -> a
13:19:16 <mroman_> ic.
13:19:30 <mroman_> What are usually usecases for fold where fold /= mconcat?
13:20:17 <Melvar> You get to be generic in your container type.
13:20:18 <mroman_> Foldable ((,) a) wtf
13:20:27 <mroman_> (,) is a function?
13:20:30 <mroman_> @type (,)
13:20:31 <lambdabot> a -> b -> (a, b)
13:20:42 <mroman_> you can make instances of functions?
13:20:52 <Melvar> @kind (,)
13:20:53 <lambdabot> * -> * -> *
13:20:59 <Melvar> It’s that one.
13:21:41 <Melvar> @kind (,) Integer
13:21:42 <lambdabot> * -> *
13:22:14 <mroman_> @kind id
13:22:15 <lambdabot> Not in scope: type variable ‘id’
13:22:21 <mroman_> @kind Just
13:22:22 <lambdabot> k -> Maybe k
13:22:28 <myname> k
13:22:33 <Melvar> Oh, datakinds.
13:23:00 <mroman_> > let foo = Just :: (k -> Maybe k)
13:23:02 <lambdabot> not an expression: ‘let foo = Just :: (k -> Maybe k)’
13:23:06 <mroman_> > let foo = Just :: (k -> Maybe k) in undefined
13:23:08 <lambdabot> *Exception: Prelude.undefined
13:23:31 <Melvar> mroman_: Kinds are the types of types.
13:24:10 <mroman_> and super kinds are the type of kinds?
13:24:12 <mroman_> ;P
13:24:34 <mroman_> @type []
13:24:35 <lambdabot> [t]
13:24:38 <mroman_> @kind []
13:24:39 <lambdabot> * -> *
13:25:01 <mroman_> @data Foo a b c = Foo a b c
13:25:01 <lambdabot> Unknown command, try @list
13:25:08 <mroman_> @define Foo a b c = Foo a b c
13:25:09 <lambdabot> .L.hs:181:1: Not in scope: data constructor ‘Foo’
13:25:09 <lambdabot>
13:25:09 <lambdabot> .L.hs:181:13: Not in scope: data constructor ‘Foo’
13:25:09 <lambdabot>
13:25:09 <lambdabot> .L.hs:181:17:
13:25:10 <Melvar> I think those are usually called sorts, but haskell doesn’t do anything at that level I think.
13:25:30 <mroman_> @kind Maybe
13:25:31 <lambdabot> * -> *
13:25:39 <mroman_> hm
13:25:39 <mroman_> ok
13:25:49 <Melvar> Also
13:25:56 <Melvar> @let data Foo a b c = Foo a b c
13:25:59 <lambdabot> Defined.
13:26:44 <Melvar> Now you have one Foo at the type level and one Foo at the data level.
13:26:55 <Melvar> @kind Foo
13:26:56 <lambdabot> * -> * -> * -> *
13:27:01 <Melvar> This is the former.
13:27:04 <Melvar> @type Foo
13:27:05 <lambdabot> a -> b -> c -> Foo a b c
13:27:09 <Melvar> This is the latter.
13:28:05 <Melvar> Similarly with (,) .
13:28:09 <mroman_> http://codepad.org/Vv2ggd5x
13:28:30 <mroman_> Fancy stuff
13:29:08 <Melvar> Probably needs an extension of some kind if you want to state the kind explicitly. It can infer it though.
13:29:20 <mroman_> -XKindSignatures is at least required
13:30:31 <Melvar> ( :t Maybe
13:30:31 <idris-bot> Prelude.Maybe.Maybe : Type -> Type
13:30:50 <Melvar> ( :t Just
13:30:52 <idris-bot> Prelude.Maybe.Just : a -> Maybe a
13:31:18 <Melvar> ( Just Maybe
13:31:18 <idris-bot> Just Maybe : Maybe (Type -> Type)
13:32:26 <mroman_> hm
13:32:55 <mroman_> can't have multiple kinds?
13:33:06 <mroman_> class Foo (t :: * -> * -> *, u :: * -> *)
13:33:27 <Melvar> “class Foo (t :: * -> * -> *) (u :: * -> *)”?
13:33:38 <mroman_> ah
13:33:41 <mroman_> Multiparamtypeclasses
13:33:44 <mroman_> yay
13:34:30 <Melvar> @type traverse_
13:34:31 <lambdabot> Not in scope: ‘traverse_’
13:34:31 <lambdabot> Perhaps you meant one of these:
13:34:31 <lambdabot> ‘F.traverse_’ (imported from Data.Foldable),
13:34:49 <Melvar> @type F.traverse_
13:34:50 <lambdabot> (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
13:35:41 <Melvar> @type F.traverse_ print (Just "foo")
13:35:42 <lambdabot> IO ()
13:36:24 <mroman_> http://codepad.org/pMAn78K6 <- I think I understand it now
13:36:25 <Melvar> That’s another thing to do with a Foldable Maybe.
13:36:29 <mroman_> I just don't know anything useful to do with it
13:38:39 <mroman_> http://codepad.org/FLi0rKHf <- that's the most useful thing I can imagine
13:39:39 <Melvar> That still doesn’t require the kind signatures.
13:40:07 <mroman_> not?
13:40:19 <mroman_> (t :: * -> *) at least is illegal without -XKindSignatures
13:40:30 <Melvar> The kinds can be inferred.
13:41:12 <mroman_> class Convert t u isn't working though
13:41:43 <Melvar> What’s it saying?
13:43:26 <Melvar> More precisely: WFM.
13:43:36 <mroman_> ‘Convert’ is applied to too many type arguments In the instance declaration for ‘Convert (Maybe) ([])’
13:43:46 <mroman_> ah
13:43:48 <mroman_> damn reload
13:44:33 <mroman_> it works, yes
13:44:38 <Melvar> “class Functor f where fmap :: (a -> b) -> f a -> f b” doesn’t require an explicit signature either.
13:45:38 <Melvar> 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 <Melvar> ( :t sequence
13:49:07 <idris-bot> Prelude.Traversable.sequence : Traversable t => Applicative f => t (f a) -> f (t a)
13:49:09 -!- ais523 has joined.
13:49:34 <Melvar> with Vect sequence [[1,2,3],[4,5,6]]
13:49:37 <Melvar> ( with Vect sequence [[1,2,3],[4,5,6]]
13:49:37 <idris-bot> [[1, 4], [2, 5], [3, 6]] : Vect 3 (Vect 2 Integer)
13:51:45 <ais523> what does "with" do?
13:53:11 <mroman_> @hoogle u (t a) -> u a
13:53:12 <lambdabot> Control.Monad.List ListT :: m [a] -> ListT a
13:53:12 <lambdabot> Language.Haskell.TH.Syntax Q :: (forall m. Quasi m => m a) -> Q a
13:53:12 <lambdabot> Data.Maybe catMaybes :: [Maybe a] -> [a]
14:11:59 <mroman_> > catMaybes $ map Just [99,99]
14:12:01 <lambdabot> [99,99]
14:12:28 <mroman_> ( id 4
14:12:28 <idris-bot> 4 : Integer
14:12:43 <mroman_> ( :t id
14:12:44 <idris-bot> Prelude.Basics.id : a -> a
14:12:44 <idris-bot> Control.Category.id : Category cat => cat a a
14:12:51 <mroman_> ( :t (+)
14:12:53 <idris-bot> Prelude.Classes.(+) : Num a => a -> a -> a
14:12:53 <idris-bot> Prelude.Fin.(+) : Fin n -> Fin m -> Fin (n + m)
14:13:05 <mroman_> ( :t Fin.(+)
14:13:05 <idris-bot> Prelude.Fin.(+) : Fin n -> Fin m -> Fin (n + m)
14:13:12 <mroman_> ( Fin 9
14:13:12 <idris-bot> Fin 9 : Type
14:13:27 <mroman_> ( :t (Fin 9) Fin.(+) (Fin 1)
14:13:28 <idris-bot> (input):1:12:When elaborating an application of constructor __infer:
14:13:28 <idris-bot> Fin (fromInteger 9) does not have a function type (Type)
14:13:37 <mroman_> ( :t (Fin 9) `Fin.(+)` (Fin 1)
14:13:37 <idris-bot> (input):1:22:When elaborating an application of function Prelude.Fin.+:
14:13:37 <idris-bot> Can't unify
14:13:37 <idris-bot> Type
14:13:37 <idris-bot> with
14:13:37 <idris-bot> Fin m↵…
14:13:47 <mroman_> ( :t (Fin 9) + (Fin 1)
14:13:47 <idris-bot> Can't resolve type class Num Type
14:13:51 <mroman_> boo!
14:21:03 <HackEgo> [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 <mroman_> WIP?
14:23:36 <mroman_> TIOBE-Sprachen-Index: C++ und Java auf Allzeit-Tief <- suck it C++ and Java
14:26:07 <mroman_> Everything that matches /trivial brainfuck substitution/ or the like should be treated as spam :(
14:26:27 <mroman_> unless it's funny
14:26:38 <mroman_> 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 <Melvar> ais523: It says to prefer that namespace if it can’t disambiguate something otherwise.
14:39:06 <ais523> Melvar: right, I was guessing it was something like that
14:39:31 <Melvar> mroman_: Fin 9 is a type. You can’t add types together.
14:40:20 <ais523> Melvar: I add together types all the time :-(
14:40:26 <ais523> (seriously, that's one of the things I do in my research)
14:41:08 <Melvar> Oh sure, I mean there is no function named (+) that does it in the Idris stdlib.
14:41:47 <ais523> yes, that makes more sense
14:42:05 <ais523> hmm, is linear typing expressable in Idris?
14:42:15 <Melvar> ( the (Fin 9) 3 + the (Fin 2) 1
14:42:16 <idris-bot> fS (fS (fS (fS fZ))) : Fin 11
14:43:22 <Melvar> 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 <ais523> because you'd need some sort of wrapper to prevent you copying data
14:44:02 <ais523> 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 <Melvar> The latest versions do have UniqueType, a universe of uniqueness types IIUC, but those are unique, not linear.
14:44:28 <ais523> 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 <Melvar> 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 <Melvar> ( the (Fin 9) 3 + the (Fin 2) 1
14:52:20 <idris-bot> fS (fS (fS (fS fZ))) : Fin 11
14:52:23 <Melvar> mroman_: ↑
14:54:56 <mroman_> too complicated ;)
14:56:36 -!- ais523 has quit (Read error: Connection reset by peer).
14:56:48 -!- ais523 has joined.
14:56:54 <Melvar> Not sure how it’s complicated.
15:02:32 <mroman_> Like a Bird on a moving vehicle chased by the police aiming their guns at it while driving off a cliff.
15:04:22 <Melvar> ( the (Fin 9) 3
15:04:22 <idris-bot> fS (fS (fS fZ)) : Fin 9
15:04:27 <Melvar> ( the (Fin 2) 1
15:04:28 <idris-bot> fS fZ : Fin 2
15:07:15 <Melvar> ( :t Fin.(+)
15:07:16 <idris-bot> Prelude.Fin.(+) : Fin n -> Fin m -> Fin (n + m)
15:07:40 <Melvar> ( :t Fin.(+) {n=9} {m=2}
15:07:40 <idris-bot> (+) : Fin (fromInteger 9) -> Fin (fromInteger 2) -> Fin (fromInteger 9 + fromInteger 2)
15:07:48 <Melvar> ( Fin.(+) {n=9} {m=2}
15:07:48 <idris-bot> (+) : Fin 9 -> Fin 2 -> Fin 11
15:14:04 <fizzie> 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 <J_Arcane> 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 <Schoening> Is there a programming language that uses morse code?
15:58:44 <ais523> Schoening: well, apparently GRUB has an option to use morse code for its interface
15:58:51 <ais523> presumably so that you can hear error messages if you don't have a working screen
15:59:00 <Schoening> lol
16:00:05 <Schoening> well that settles that hehe
16:02:22 -!- Sprocklem has quit (Ping timeout: 245 seconds).
16:03:46 <b_jonas> ais: hear? I thought it would use morse to blink the keyboard leds.
16:04:00 <ais523> b_jonas: it used the speaker
16:04:05 <b_jonas> ok
16:04:39 -!- Schoening has left.
16:06:32 -!- sivteck has joined.
16:10:25 <HackEgo> [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 <J_Arcane> 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 <tromp_> 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 <oerjan> :t (&~)
20:19:11 <lambdabot> s -> State s a -> s
20:19:28 <oerjan> oh hm
20:19:42 <int-e> @type execState
20:19:42 <lambdabot> State s a -> s -> s
20:19:44 <oerjan> :t (%~)
20:19:45 <lambdabot> Profunctor p => Setting p s t a b -> p a b -> s -> t
20:20:17 <int-e> (just checking whether I remembered the roles of run/exec/eval correctly)
20:20:38 <oerjan> i just realized that it would have been more logical for %~ to have been called &~ once & exists
20:20:58 <shachaf> run is for everything, eval is for the value, exec is for the effect
20:21:22 <oerjan> execute evil effects
20:21:49 <Melvar> ( :t run
20:21:49 <idris-bot> Effects.run : Applicative m => {tacimp env : Env m xs} -> Eff a xs xs' -> m a
20:22:15 <oerjan> alternatively, & should have been called %, except that's taken by Data.Ration iirc
20:22:22 <shachaf> That's a suspicious function.
20:22:22 <oerjan> *-n
20:22:50 <shachaf> oerjan: & used to be called %
20:22:58 <oerjan> oh
20:23:11 <shachaf> It was renamed due to data rationing.
20:23:20 <Melvar> ( :t runEnv
20:23:20 <idris-bot> Effects.runEnv : Applicative m => Env m xs -> Eff a xs xs' -> m (x ** Env m (xs' x))
20:23:24 <oerjan> ic. i'm not sure that was a good enough reason...
20:24:13 <oerjan> :t ($~)
20:24:13 <shachaf> well it's actually Data.Ratio but i was going along with your thing
20:24:14 <lambdabot> Not in scope: ‘$~’
20:24:14 <lambdabot> Perhaps you meant one of these:
20:24:14 <lambdabot> ‘$!’ (imported from Prelude), ‘$’ (imported from Data.Function),
20:24:30 <Melvar> Should’ve used ÷ for Ratio.
20:24:53 <oerjan> Melvar: they're not big on unicode operators in the standard.
20:24:57 <zzo38> That isn't ASCII though.
20:25:02 <Melvar> Yeah I know.
20:25:21 <zzo38> ASCII forms should always be made available even if there are non-ASCII alternatives.
20:25:22 <shachaf> oerjan: of code points above 127, anyway
20:29:22 -!- sivteck has joined.
20:31:11 -!- ais523 has quit.
20:31:19 <zzo38> 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 <int-e> oh, there *are* negative width unicode characters. charming...
20:34:16 <zzo38> I really think that such a thing should be dependent on the font.
20:35:51 <zzo38> 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 <int-e> 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 <int-e> (though the precise placement should depend on the previous character)
20:53:10 <Vorpal> zzo38, are you there?
20:53:27 <zzo38> Vorpal: Am I where?
20:53:39 <Vorpal> zzo38, Out of interest, what gopher server do you use?
20:54:25 <zzo38> Vorpal: I wrote the software myself
20:54:46 <Vorpal> Is it the best one available? Do you have a link to it?
20:54:46 <shachaf> Is the software you wrote available?
20:55:06 <zzo38> Vorpal: I don't know if it is best one available
20:55:29 <Vorpal> What alternatives are there? And do you have links to any of them?
20:56:19 <zzo38> I wrote it in BASIC, but probably one written in C may be better
20:56:31 <zzo38> I do not have links; you will have to look yourself
20:57:02 <Vorpal> Right, so your doesn't run on Linux then=
20:58:06 <zzo38> It is FreeBASIC, so probably it will run on Linux.
20:58:20 <Melvar> 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 <zzo38> I have actually written a similar gopher server in C on Linux too, but I don't have it available.
20:59:54 <zzo38> 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 <Melvar> Unicode is kinda the only thing like itself though.
21:07:44 <zzo38> 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 <fizzie> Hello from the land of London.
21:23:47 <GeekDude> hello
21:24:10 <GeekDude> From cloud cuckoo land
21:24:22 -!- Sprocklem has quit (Ping timeout: 245 seconds).
21:24:38 <J_Arcane> query: is a lisp that is bad at recursion essentially missing the bloody point?
21:25:44 <Bicyclidine> what does being bad at recursion entail
21:26:10 <shachaf> Bicyclidine: i get it
21:26:36 <Bicyclidine> that wasn't a joke
21:26:45 <Bicyclidine> i mean, intentionally. i guess if you laughed anyway that's cool
21:27:25 <J_Arcane> Bicyclidine: poor performance, no TCO, poor exception handling, inability to gracefully break loops ...
21:27:45 <Bicyclidine> what do any of those have to with recursion except the second i guess
21:27:50 <Bicyclidine> 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 <elliott> common lisp doesn't guarantee tail recursion
21:30:42 <Bicyclidine> 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 <J_Arcane> 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 <elliott> J_Arcane: yeah, but it's not really considered that idiomatic.
21:31:10 <elliott> afaik.
21:31:16 <Bicyclidine> yeah.
21:31:22 <Bicyclidine> it's nice to be able to turn it off though. for debugging.
21:31:58 <J_Arcane> 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 <elliott> I think clojure can do tail recursion, you just have to mark it. dunno about general tail calls
21:34:28 <J_Arcane> Yeah, you're supposed to call it with recur.
21:34:31 <Bicyclidine> I thought the JVM prohibited it or something. I read that like years ago though
21:36:46 <elliott> recursion isn't really that great anyway.
21:36:48 <J_Arcane> 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 <Bicyclidine> fuck recursion, execute programs by NP graph rewriting
21:40:59 <J_Arcane> :D
21:41:13 <J_Arcane> Well, in this case it was for an exercise specifically about recursion.
21:43:14 <Bicyclidine> those exercises suck
21:43:39 <Bicyclidine> define exponentiation BUT YOU'RE NOT ALLOWED TO USE ADDITION, THIS IS IMPORTANT
21:44:36 <J_Arcane> Bicyclidine: The one before it was similarly redundant: find a recursive solution for proving a number is even.
21:44:52 <J_Arcane> You know, because (mod n 2) is too easy ...
21:45:23 <int-e> > iterate not True !! 100
21:45:24 <lambdabot> True
21:45:56 <oerjan> even numbers are a lie
21:45:57 <Bicyclidine> yeah, see, those suck.
21:46:10 <Bicyclidine> 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 <int-e> > (iterate (\f x -> iterate f x !! 4) id !! 3) succ 0
21:46:17 <lambdabot> 1
21:46:55 -!- oerjan has quit (Quit: Nite).
21:47:10 <Bicyclidine> maybe if they picked something that wasn't tail recursion and thus completely fucking pointless to do that way
21:47:13 <J_Arcane> Bicyclidine: I use it all the time in Racket, though I'm still not great with list eaters.
21:47:35 <Bicyclidine> like... how about hyper? I bet if you just told students to do hyper they'd do a recursive solution.
21:47:36 <int-e> > (iterate (\f x -> iterate f x !! 4) succ !! 3) 0
21:47:37 <lambdabot> 64
21:47:48 <J_Arcane> 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 <int-e> I'm too tired for Church numerals.
21:48:25 <Bicyclidine> well, that's kind of the problem, you've gotten that impression because your class is uncreative.
21:49:04 <Bicyclidine> "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 <Bicyclidine> 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 <J_Arcane> Heh heh.
21:50:45 <int-e> eh. right, it's self-evident. *chuckles*
21:50:46 <J_Arcane> 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 <J_Arcane> And when Clojure doesn't exactly handly that like most lisps, well ... it's unhelpful at best.
21:53:17 <Bicyclidine> 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 <Bicyclidine> i think that wouldn't be a bad problem to assign, maybe?
21:54:24 <Bicyclidine> 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 <J_Arcane> heh heh.
21:55:04 -!- sivteck has quit (Quit: TIL nothing).
21:55:42 <Bicyclidine> 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 <int-e> welcome to the wonderful world of Ackermann-like functions.
21:56:05 <Bicyclidine> I know, it's so obvious! It's like exactly what Ackermann was invented for practically
21:57:21 <J_Arcane> 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 <Bicyclidine> everything is terrible hth
21:57:37 <int-e> I'm really irritated by the requirement of not using addition for exponentiation
21:57:45 <J_Arcane> Well, this is also basically true.
21:58:10 <Bicyclidine> int-e: that was totally made up. i got out of CS classes before i ran into these problems
21:59:18 <int-e> why not use lists and trees for teaching recursion ...
21:59:47 <int-e> yes, you can use natural numbers but the easy problems are bound to look very artificial.
21:59:55 <Melvar> ( :let data Even : Nat -> Type where EvenZ : Even Z; EvenSS : Even n -> Even (S (S n))
21:59:55 <idris-bot> defined
22:00:20 <Bicyclidine> int-e: why not make them define exponentiation with addition chains. trees!!!
22:00:48 <Bicyclidine> nah but they do that too. J_Arcane's probably going to get told to flatten a list any day now.
22:01:01 <int-e> that's so ... untyped
22:01:02 <J_Arcane> Heh heh.
22:01:19 <J_Arcane> I did actually have to flatten a list the other day. So I called (flatten ...)
22:01:29 <Bicyclidine> oh, does clojure have a function for that?
22:01:44 <Bicyclidine> i've seen dozens of people ask for homework help defining it but never actually wanted to use such an operation
22:01:46 <J_Arcane> No idea, but Racket does (I was using that at the time)
22:02:00 <Bicyclidine> clojure does too, looks like. wacky.
22:02:13 <Bicyclidine> (flatten 5) => (), nice
22:02:16 <J_Arcane> I actually used it in one of my one-line Euler solutions.
22:02:23 <int-e> How does one memorize the spelling of "Grzegorcyk"?
22:02:38 <Bicyclidine> "Gregor but with a bunch of shit in it"
22:04:37 <J_Arcane> (first (sort (filter prime? (flatten (factorize 600851475143))) >))
22:05:04 <Melvar> Do you mean “Grzegorczyk”?
22:05:59 <int-e> Melvar: right.
22:07:05 <Melvar> 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 <int-e> J_Arcane: what does factorize return if not a list of primes?
22:09:38 <J_Arcane> I think at the time I'd misunderstood what factorize did.
22:10:39 <J_Arcane> It is indeed an unnecessary step.
22:11:24 <J_Arcane> Somewhere I also picked up a habit of redundant ass-covering.
22:13:55 <int-e> fascinating, they changed the number
22:14:26 <int-e> when I solved Euler problem 3, it was the largest prime factor of 317584931803.
22:15:41 <J_Arcane> I guess because people like me go and blab their solutions? XD
22:16:36 <int-e> makes me wonder how many of my solutions are wrong nowadays
22:17:05 <J_Arcane> I kinda ran into a math-skill-wall so I haven't done any in a while.
22:18:28 <J_Arcane> 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 <J_Arcane> 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 <shachaf> 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 <Sgeo> "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 <Sgeo> Dear God there is some seriously bad blood between them
00:48:56 <Bike> Fun things are fun.
00:53:08 <Sgeo> Weird terminology http://dom.spec.whatwg.org/
00:53:35 <Sgeo> 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 <Sgeo> 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 <coppro> Depends if you count Netscape
03:48:02 <Sgeo> What did Netscape do? All I can think of is <layer> but I don't think that's really an advancement
03:54:29 <coppro> Pioneered browsers.
03:54:43 <coppro> Although Mozilla really pushed the open-source browser. That's something.
04:07:19 <HackEgo> [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 <Bike> 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 <mroman_> @hoogle group
07:00:38 <lambdabot> Data.List group :: Eq a => [a] -> [[a]]
07:00:38 <lambdabot> Data.ByteString.Lazy group :: ByteString -> [ByteString]
07:00:38 <lambdabot> Data.ByteString.Lazy.Char8 group :: ByteString -> [ByteString]
07:16:22 <mroman_> anyway... if Golfscript can score more than 25k google hits and a WP article it will be in the TIOBE Index
07:16:25 <mroman_> 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 <mroman_> cool
08:43:31 <mroman_> now I have an XML file with hundreds of lines
08:43:32 -!- mindfreak has quit (Client Quit).
08:43:48 <mroman_> and this remote black-box rejects it for some reason
08:46:10 <mroman_> Is there a tool that I can feed a dtd and an XML file
08:46:16 <mroman_> and it will tell me what's wrong with it?
08:48:15 <mroman_> ah
08:48:19 <mroman_> there are even online sites that do that
08:48:20 <mroman_> sweet
08:58:17 <HackEgo> [wiki] [[Deque]] http://esolangs.org/w/index.php?diff=40431&oldid=36985 * Rdebath * (+229) Equivalent to ...
09:02:36 <mroman_> Someone should design a language that unlike Golfscript is specifically made to suckt at golfing
09:02:57 <mroman_> 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 <b_jonas> 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 <b_jonas> I guess they just like the word "tranquil"
09:57:14 <int-e> soothing
10:11:57 -!- boily has joined.
10:42:30 <myname> is php considered a dequee based esolang? :D
10:48:46 <boily> IMPO PHP has to be a lang first :P
10:49:50 <boily> @tell oerjan pfshaw, humbug, and all that nonsense, I say hth
10:49:50 <lambdabot> Consider it noted.
10:51:53 <mroman_> What's PHP?
10:52:25 <boily> php, but with my finger confortably resting on the shift key.
10:52:32 <mroman_> `? PHP
10:52:32 <HackEgo> PHP? ¯\(°​_o)/¯
10:52:36 <mroman_> `? php
10:52:36 <HackEgo> php? ¯\(°​_o)/¯
10:52:41 <mroman_> (is HackEgo case sensitive?)
10:52:44 <boily> (it's a very nice key, made of ABS)
10:52:51 <boily> mroman_: eeeeeeh...
10:52:58 <boily> `? mroman
10:52:59 <HackEgo> He's a nobody. Move along.
10:53:03 <boily> `? MROMAN
10:53:03 <HackEgo> He's a nobody. Move along.
10:53:05 <mroman_> `learn php PHP without capslock
10:53:07 <HackEgo> I knew that.
10:53:13 <mroman_> `learn PHP php with capslock
10:53:15 <HackEgo> I knew that.
10:53:18 <mroman_> `? php
10:53:18 <HackEgo> PHP php with capslock
10:53:22 <mroman_> :(
10:53:45 <boily> it wasn't caps lock. I can't even caps lock, I remapped it to escape.
10:53:52 <mroman_> `learn php is the PigeonHole Principle
10:53:55 <HackEgo> I knew that.
10:54:12 <boily> LMPDFTFY.
10:54:28 <mroman_> `? LMPDFTFY
10:54:29 <HackEgo> LMPDFTFY? ¯\(°​_o)/¯
10:54:47 <boily> Let Me PDF That For You.
10:55:24 <mroman_> `? recursion
10:55:24 <HackEgo> recursion? ¯\(°​_o)/¯
10:55:27 <Melvar> http://thecodelesscode.com/case/161
10:55:51 <mroman_> recursion <optimized away> would be fun
10:56:43 <Melvar> `php --version
10:56:43 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: php: not found
10:57:21 <mroman_> `run "php --version"
10:57:21 <HackEgo> bash: php --version: command not found
10:57:29 <mroman_> `run "python --version"
10:57:29 <HackEgo> bash: python --version: command not found
10:57:40 <mroman_> `run python --version
10:57:41 <HackEgo> Python 2.7.3
10:57:46 <mroman_> `run php --version
10:57:46 <HackEgo> bash: php: command not found
10:57:52 <mroman_> alright
10:58:00 <mroman_> `run php -c "print 5"
10:58:01 <HackEgo> bash: php: command not found
10:58:05 <mroman_> `run python -c "print 5"
10:58:06 <HackEgo> 5
10:58:36 <int-e> `` dc <<<5p
10:58:36 <HackEgo> 5
11:01:25 <boily> > 5
11:01:27 <lambdabot> 5
11:04:57 <mroman_> `bf ++++++++++++++++++++++++++++++++++++++++++++++++.
11:04:58 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bf: not found
11:05:05 <mroman_> !bf ++++++++++++++++++++++++++++++++++++++++++++++++.
11:05:05 <myndzi> 0
11:05:10 <mroman_> !bf +++++++++++++++++++++++++++++++++++++++++++++++++.
11:05:10 <myndzi> 1
11:05:15 <mroman_> !bf +++++++++++++++++++++++++++++++++++++++++++++++++++++.
11:05:16 <myndzi> 5
11:05:18 <mroman_> yay
11:05:28 <mroman_> !df iiiii
11:05:33 <mroman_> !df iiiiio
11:05:36 <mroman_> hm
11:05:38 <mroman_> !help
11:05:51 <mroman_> `help
11:05:51 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
11:06:16 -!- metasepia has joined.
11:07:49 <boily> ~help
11:07:49 <metasepia> --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi
11:09:51 <int-e> `? dc <<<1775436177076666514492d35402563523599664460344479754rdPn100PdnP
11:09:52 <HackEgo> dc <<<1775436177076666514492d35402563523599664460344479754rdPn100PdnP? ¯\(°​_o)/¯
11:09:58 <int-e> eh. hah!
11:10:28 <int-e> `` dc <<<1777814077679918136380d35402563523599664460344479754rdPn100PdnP
11:10:29 <HackEgo> ​`` dc <<<1777814077679918136380d35402563523599664460344479754rdPn100PdnP
11:11:22 <mroman_> ~yi
11:11:22 <metasepia> Your divination: "Infiltrating" to "Ground"
11:11:27 <mroman_> ~yi really
11:11:27 <metasepia> Your divination: "Augmenting" to "Small Accumulating"
11:22:40 <mroman_> cool
11:22:46 <mroman_> there's an LDAP to SQL Adapter
11:23:00 <mroman_> so I can access SQL-Databases using my favorite protocol
11:23:12 <mroman_> and LDAP Queries without have to bother learning SQL
11:23:15 <mroman_> that's pretty awesome
11:23:25 <mroman_> *having
11:27:06 -!- oerjan has joined.
11:33:19 -!- shikhin has joined.
11:37:06 <mroman_> esolangs.org is rated as safe by McAffee
11:39:14 <oerjan> @messages-foul
11:39:14 <lambdabot> boily said 49m 23s ago: pfshaw, humbug, and all that nonsense, I say hth
11:45:47 <oerjan> `run echo 'echo "This command has been disabled because no one uses it properly."' >bin/learn
11:45:49 <HackEgo> No output.
11:45:54 <oerjan> `learn hi there
11:45:55 <HackEgo> This command has been disabled because no one uses it properly.
11:46:54 <oerjan> oh i suppose he figured it out.
11:46:57 <oerjan> `revert
11:47:00 <HackEgo> Done.
11:47:57 <int-e> `? oerjan
11:47:57 <HackEgo> Your evil overlord oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who hates Roald Dahl.
11:49:20 <int-e> `? ¯\(°​_o)/¯
11:49:21 <HackEgo> ​¯\(°​_o)/¯? ¯\(°​_o)/¯
11:51:38 <oerjan> `? misspellings of croissant
11:51:39 <HackEgo> misspellings of crosant? ¯\(°_o)/¯
11:51:39 <myndzi> |
11:51:39 <myndzi> º¯`\o
11:51:52 <oerjan> ah hm
11:52:08 <boily> 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 <int-e> What is ¯\(°​_o)/¯ anyway, Deathstar Enterprise? (I couldn't find a ship with that awkward wing formation in the Starwars universe)
11:56:18 <mroman_> it's an emoticon .
11:56:22 <oerjan> the HackEgo repository browser doesn't do unicode properly :(
11:56:39 <int-e> Or perhaps it's an artistic depiction of the moon in its gravity well.
11:56:59 <oerjan> hm ¯\(°​_o)/¯
11:57:53 <oerjan> `run sed -i 's!¯\(°_o)/¯!¯\(°​_o)/¯!' wisdom/'misspellings of croissant'
11:57:54 <myndzi> |
11:57:54 <myndzi> o/`¯º
11:57:54 <HackEgo> sed: -e expression #1, char 31: Unmatched ( or \(
11:58:05 <oerjan> grmbl
11:58:08 <int-e> ¯\( could also be the utility end of a bulldozer
11:59:58 <oerjan> `run sed -i 's!¯\[(]°_o[)]/¯!¯\(°​_o)/¯!' wisdom/'misspellings of croissant'
11:59:59 <myndzi> |
11:59:59 <myndzi> º¯`\o
11:59:59 <HackEgo> No output.
12:00:16 <oerjan> `? misspellings of croissant
12:00:16 <HackEgo> misspellings of crosant? ¯\(°_o)/¯
12:00:17 <myndzi> |
12:00:17 <myndzi> o/`¯º
12:00:21 <oerjan> wat
12:00:28 <oerjan> oh wait
12:00:51 <int-e> oerjan is the master of identity transformations :P
12:01:15 <oerjan> hm that wasn't an identity transform
12:01:56 <oerjan> `run grep '¯\[(]°_o[)]/¯' wisdom/'misspellings of croissant'
12:01:56 <myndzi> |
12:01:57 <myndzi> º¯`\o
12:01:57 <HackEgo> No output.
12:02:02 <oerjan> ic
12:02:04 -!- Sgeo has quit (Read error: Connection reset by peer).
12:02:24 <oerjan> `unidecode ¯\(°_o)/¯
12:02:24 <myndzi> |
12:02:25 <myndzi> º¯`\o
12:02:25 <HackEgo> ​[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 <oerjan> i suppose _some_ character in there is not treated as plain in a regexp, other than the parens
12:03:23 <int-e> `unidecode °°​
12:03:24 <HackEgo> ​[U+00B0 DEGREE SIGN] [U+00B0 DEGREE SIGN] [U+200B ZERO WIDTH SPACE]
12:03:59 <int-e> ah
12:04:16 <oerjan> `run grep ° wisdom/'misspellings of croissant'
12:04:17 <HackEgo> misspellings of crosant? ¯\(°_o)/¯
12:04:17 <myndzi> |
12:04:17 <myndzi> o/`¯º
12:04:29 <oerjan> `run sed 's/wisdom/'misspellings of croissant'
12:04:30 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
12:04:32 <oerjan> argh
12:05:03 <oerjan> `run sed 's/°/°​/' wisdom/'misspellings of croissant'
12:05:04 <HackEgo> misspellings of crosant? ¯\(°​_o)/¯
12:05:26 <oerjan> `run sed -i 's/°/°​/' wisdom/'misspellings of croissant'
12:05:27 <HackEgo> No output.
12:05:39 <oerjan> `? misspellings of croissant
12:05:40 <HackEgo> misspellings of crosant? ¯\(°​_o)/¯
12:05:44 <oerjan> there you go
12:06:14 <int-e> `learn ¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯
12:06:14 <myndzi> |
12:06:15 <myndzi> º¯`\o
12:06:15 <HackEgo> ​/hackenv/bin/learn: line 3: wisdom/¯\(°​_o)/¯: No such file or directory \ I knew that.
12:06:56 <oerjan> wat.
12:07:28 <int-e> it has a / inside
12:07:35 <oerjan> right
12:08:20 <oerjan> `run mkdir wisdom/'¯\(°​_o)'; learn '¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯'
12:08:23 <HackEgo> mkdir: cannot create directory `wisdom/¯\\(°​_o)': File exists \ I knew that.
12:08:34 <oerjan> sheesh
12:09:00 <oerjan> `run ls wisdom/'¯\'*
12:09:01 <HackEgo> wisdom/¯\(°_o): \ ¯ \ ¯\(°_o)a \ \ wisdom/¯\(°​_o): \ ¯
12:09:01 <myndzi> | |
12:09:01 <myndzi> º¯`\o o/`¯º
12:09:44 <oerjan> hm
12:09:51 <oerjan> `? ¯\(°​_o)/¯
12:09:51 <HackEgo> ​¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯
12:09:52 <myndzi> |
12:09:52 <myndzi> º¯`\o
12:09:58 <oerjan> it seems to have taken, anyhow
12:10:07 <int-e> yeah, weird
12:11:47 <int-e> ... ¯\(°_o)/¯
12:11:47 <myndzi> |
12:11:47 <myndzi> º¯`\o
12:11:56 <int-e> ... ¯\(°​_o)/¯
12:12:25 <b_jonas> \o/ \o/
12:12:26 <int-e> can you explain why myndzi "completes" the version with the zero-width space there?
12:12:26 <myndzi> | |
12:12:26 <myndzi> /| /|
12:12:42 <oerjan> because °​_o is a face
12:12:45 <oerjan> oops
12:12:52 <oerjan> *because °_o is a face
12:12:59 <oerjan> argh
12:13:11 <oerjan> *because °_o is a face
12:13:24 <oerjan> has myndzi broken
12:13:29 <oerjan> o_o
12:13:37 <oerjan> ... ¯\(°_o)/¯
12:13:37 <myndzi> |
12:13:37 <myndzi> o/`¯º
12:13:39 <int-e> but °_o is a face, °​_o isn't.
12:14:03 <b_jonas> |o|
12:14:03 <myndzi> |
12:14:03 <myndzi> /`\
12:14:13 <oerjan> (°_o)
12:14:14 <myndzi> |
12:14:14 <myndzi> o/`¯º
12:14:17 <b_jonas> _o_ _o|
12:14:18 <myndzi> | |
12:14:18 <myndzi> >\ /<
12:14:19 <oerjan> °_o
12:14:20 <myndzi> |
12:14:21 <myndzi> º¯`\o
12:14:24 <int-e> but (°_o) is a face, (°​_o) isn't. -- like this?
12:14:25 <myndzi> |
12:14:25 <myndzi> o/`¯º
12:14:33 <oerjan> oh there it worked
12:14:45 <int-e> so it shouldn't complete (°​_o), but rather (°_o).
12:14:46 <myndzi> |
12:14:46 <myndzi> º¯`\o
12:14:53 <int-e> something is wrong.
12:15:06 <oerjan> maybe °_o testing
12:15:13 <oerjan> maybe °_o testing
12:15:13 <myndzi> |
12:15:13 <myndzi> o/`¯º
12:15:24 <oerjan> seems my problem was it needs more space when alone
12:15:37 <b_jonas> (o/ \o) _o) \o_ |o_ (o|
12:15:38 <myndzi> | |
12:15:38 <myndzi> >\ /`\
12:15:53 <b_jonas> <o/ \o> _o> <o|
12:15:53 <myndzi> | | ¦ |
12:15:53 <myndzi> |\ /´\ ´¸¨ /<
12:16:08 <b_jonas> fun
12:16:08 <oerjan> int-e: oh hm i'm pretty sure the version myndzi completes is the one _without_ zero-width space?
12:16:13 <int-e> Sherlock Holmes can decipher this!
12:16:21 <b_jonas> int-e: yeah, it's like the dancing men
12:16:58 <int-e> 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 <oerjan> <int-e> so it shouldn't complete (°​_o), but rather (°_o).
12:17:29 <myndzi> |
12:17:29 <myndzi> º¯`\o
12:17:53 <oerjan> <int-e> so it shouldn't complete (°_o), but rather (°​_o).
12:17:54 <myndzi> |
12:17:54 <myndzi> o/`¯º
12:18:01 <oerjan> wat
12:18:16 <int-e> maybe _ it works like this? (°​_o)
12:18:24 <int-e> maybe _ it works like this? (°​_o) ...
12:18:33 <int-e> ok, I'm confused.
12:18:45 <oerjan> <int-e> so it shouldn't complete (°​_o), but rather (°_o).
12:18:45 <myndzi> |
12:18:45 <myndzi> º¯`\o
12:18:57 <int-e> oh, I copied the wrong version. grr :)
12:19:01 <oerjan> by jove, you are right
12:19:07 <int-e> maybe _ it works like this? (°_o) ...
12:19:07 <myndzi> |
12:19:08 <myndzi> o/`¯º
12:19:15 <int-e> or _o it works like this? (°_o) ...
12:19:15 <myndzi> |
12:19:15 <myndzi> º¯`\o
12:19:29 <int-e> odd.
12:20:07 <oerjan> indeed.
12:20:47 <int-e> is myndzi's source available?
12:20:57 <b_jonas> 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 <oerjan> <int-e> so it shouldn't complete (°​_o), but rather (°​_o).
12:21:11 <b_jonas> (It's a bit easier if you have the source of course.)
12:21:27 <oerjan> <int-e> so it shouldn't complete (°_o), but rather (°_o).
12:21:28 <myndzi> | |
12:21:28 <myndzi> o/`¯º º¯`\o
12:21:39 <oerjan> it works normally if both are the same
12:22:41 <oerjan> i don't know if myndzi's source is available.
12:23:19 <oerjan> 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 <Phantom_Hoover> so i just googled 'baby mri' in the hope that they make tiny mri machines for babies
13:11:44 <Phantom_Hoover> turns out they don't :(
13:14:06 <mroman_> "hope"?
13:14:42 <Phantom_Hoover> imagine a tiny mri for babies
13:14:45 <Phantom_Hoover> it would be adorable
13:39:10 <mroman_> I need a new hoster.
13:39:33 <mroman_> like 10$ a month top. at least 300MB RAM and 4GB HD.
13:39:58 <mroman_> and let's me run haskell applications (like happstack) and CGI
13:45:27 <b_jonas> mroman_: network access?
13:53:24 -!- Sprocklem has quit (Ping timeout: 255 seconds).
13:57:10 <int-e> interesting, ramnode used to have swap space = RAM in their VMs, now it's swap space = RAM/2
13:59:27 <J_Arcane> mroman_: You could get a VPS.
14:00:29 <int-e> (prices have changed, too.)
14:01:50 <J_Arcane> 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 <int-e> at least in that price range. dedicated servers still seem to be $50+ a month.
14:04:02 <J_Arcane> 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 <int-e> where do you see 1GB RAM? https://www.digitalocean.com/pricing/
14:08:11 <int-e> at least for me that displays 512 MB.
14:09:51 <J_Arcane> You're right, I misremembered.
14:10:14 <J_Arcane> Still, meets mroman_ 's needs if he doesn't need more than 1TB of transfer.
14:18:20 <mroman_> @hoogle rlimit
14:18:22 <lambdabot> System.Posix.Files.ByteString PipeBufferLimit :: PathVar
14:18:22 <lambdabot> System.Posix.Files PipeBufferLimit :: PathVar
14:25:23 <mroman_> I've found a promising hoster in germany
14:25:45 <Vorpal> mroman_, hoster for what?
14:25:50 <mroman_> J_Arcane: I doubt that I have 1GB of transfer a month
14:26:07 <mroman_> but having only a limited traffic where every extra GB costs you is risky
14:26:15 <J_Arcane> Exactly.
14:26:20 <mroman_> Vorpal: the burlesque shell and some static html
14:26:32 <mroman_> and some of my eso stuff (which is static except for the burlesque shell)
14:26:33 <Vorpal> 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 <J_Arcane> You never know when someone will throw up a link on Reddit or something and your traffic increases geometrically overnight.
14:26:51 <Vorpal> mroman_, 3 TB transfer / month, not even close to hitting 1 TB
14:27:17 <mroman_> Yeah. I don't like paying for stuff I don't need :)
14:27:18 <Vorpal> not even close to hitting 10 GB / month currently
14:27:32 <mroman_> In switzerland the smallest thing you get is about 2GB RAM for 15CHF
14:27:35 <Vorpal> mroman_, well I need other stuff, rather than transfer. So meh
14:27:38 <mroman_> I really don't need that much
14:27:46 <mroman_> but netcup.de looks very good
14:27:50 <mroman_> (a german hoster)
14:28:02 <Vorpal> And it is packages rather than picking how much of each component you want
14:28:05 <J_Arcane> 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 <mroman_> who'd you infringe?
14:28:30 <J_Arcane> mroman_
14:28:43 <J_Arcane> Nothing, but some dingus was basically trying to patent character conversion in tabletop RPGs.
14:28:59 <J_Arcane> Seeing as I write them, I got a bit vocal on the subject.
14:29:16 <Vorpal> 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 <Vorpal> Ah
14:29:48 <mroman_> It was tricky though, to get mysqld and apache running with 300MB
14:30:01 <Vorpal> mroman_, I would suggest that nginx is a better web server
14:30:05 <mroman_> you can't run it with 300MB RAM without tweaking the config for low memory usage ;)
14:30:06 <int-e> Ramnode suspends VPSs when the bandwidth limit is reached.
14:30:07 <Vorpal> And PostgreSQL is a better DBMS
14:30:15 <mroman_> I don't need a Database anymore
14:30:24 <Vorpal> mroman_, well still, nginx is a better web server
14:30:54 <mroman_> although I might need one someday
14:31:06 <mroman_> acid-state I think still has the problem that it loads EVERYTHING into RAM
14:31:19 <Vorpal> mroman_, I have 2 GB RAM on that VPS, I run web and mail. Will run DNS master too soon
14:33:01 <mroman_> 2GB RAM is overkill for my 5 visitors a month
14:33:02 <mroman_> ;)
14:33:29 <mroman_> I think the burlesque shell is configured to use at most 25MB RAM
14:33:36 <Vorpal> Right. Same here, but the disk space in that plan is not
14:33:41 <mroman_> and 1s of CPU or something
14:33:51 <Vorpal> What is "burlesque shell"?
14:34:03 <mroman_> http://eso.mroman.ch/cgi/burlesque.cgi
14:34:12 <Vorpal> Ah
14:34:22 <Vorpal> I'm not familiar with this eso(?) lang
14:34:31 <mroman_> Mostly eso.
14:34:39 <Vorpal> On the wiki?
14:34:45 <mroman_> It is on the wiki
14:34:49 <mroman_> (as Burlesque)
14:35:14 <mroman_> as well as it's available on golf.shinh.org
14:35:33 <Vorpal> mroman_, oh and I run an IRC bot too
14:35:43 <Vorpal> That doesn't use much either
14:36:13 <mroman_> It's a J/APL-style Esolang though
14:36:15 <Vorpal> Seems that in total I'm using 224 MB RAM (plus buffers and cache)
14:36:23 <Vorpal> total used free shared buffers cached
14:36:23 <Vorpal> Mem: 2002 1814 187 0 87 1503
14:36:23 <Vorpal> -/+ buffers/cache: 224 1778
14:36:23 <Vorpal> Swap: 255 0 255
14:36:25 <mroman_> it has >300 built-ins (or verbs/commands)
14:36:33 <mroman_> way more than 300 actually
14:36:42 <Vorpal> AH
14:36:45 <Vorpal> Ah*
14:37:36 <mroman_> i.e. there's a built-in for ChiSquare-Tests
14:37:36 <mroman_> ;)
14:37:44 <mroman_> or is that e.g.
14:38:15 <Vorpal> Ouch, okay
14:38:30 <mroman_> It can do pretty much everything you need to do your university CS homework ;)
14:38:35 <mroman_> that's what it was written for
14:38:38 <Vorpal> Heh
14:38:50 <mroman_> blsq ) "ABC"r@
14:38:50 <mroman_> {"ABC" "BAC" "CBA" "BCA" "CAB" "ACB"}
14:39:23 <mroman_> blsq ) "ABC"2CB
14:39:24 <mroman_> {"AA" "AB" "AC" "BA" "BB" "BC" "CA" "CB" "CC"}
14:39:27 <mroman_> ^- stuff like that ;)
14:40:13 <mroman_> blsq ) "hello"F:
14:40:14 <mroman_> {{0.4 'l} {0.2 'o} {0.2 'h} {0.2 'e}}
14:40:23 <mroman_> enough for the demonsttration ;)
14:40:28 <mroman_> gotta catch a train
14:40:35 <Vorpal> 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 <fizzie> And bye from the land of London, too.
17:35:13 -!- augur has quit (Remote host closed the connection).
17:35:14 <fizzie> 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 <J_Arcane> The Clojure threaded macro makes me irrationally angry.
17:45:43 <Bike> sexism in mathematics makes me rationally angry
17:46:13 <J_Arcane> indeed.
17:50:00 <J_Arcane> 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 <elliott> 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 <mroman_> hm
19:58:27 <mroman_> I still have the blsqbot I hope
20:00:49 -!- blsqbot has joined.
20:00:53 <mroman_> !blsq 100ro{1 365rn30.+^^NB==n!}m[F:sp
20:00:53 <blsqbot> Ain't nobody got time fo' dat!
20:00:54 <blsqbot> 0.0220138s
20:00:59 <mroman_> !blsq 10ro{1 365rn30.+^^NB==n!}m[F:sp
20:01:00 <blsqbot> 0.8 1
20:01:00 <blsqbot> 0.0110074s
20:01:07 <mroman_> well
20:01:09 <mroman_> needs more time
20:01:12 -!- blsqbot has quit (Read error: Connection reset by peer).
20:01:45 -!- blsqbot has joined.
20:01:53 <mroman_> !blsq 100ro{1 365rn30.+^^NB==n!}m[F:sp
20:01:53 <blsqbot> 0.71 1
20:01:53 <blsqbot> 0.0280187s
20:02:46 <mroman_> sounds about right
20:02:58 <mroman_> !blsq 100ro{1 365rn60.+^^NB==n!}m[F:sp
20:02:59 <blsqbot> 1.0 1
20:02:59 <blsqbot> 0.0170133s
20:03:05 -!- shikhout has joined.
20:03:38 <myname> birthday paradox?
20:04:56 <mroman_> yep
20:05:09 <mroman_> !blsq 100ro{1 365rn25.+U_n!}m[F:sp
20:05:09 <blsqbot> 0.62 1
20:05:10 <blsqbot> 0.0625052s
20:06:12 -!- blsqbot has quit (Read error: Connection reset by peer).
20:06:20 <mroman_> don't need the s
20:06:39 -!- blsqbot has joined.
20:06:42 <mroman_> !blsq 100ro{1 365rn20.+U_n!}m[F:sp
20:06:42 <blsqbot> 0.55 0
20:06:48 <mroman_> !blsq 100ro{1 365rn22.+U_n!}m[F:sp
20:06:48 <blsqbot> 0.52 1
20:07:18 -!- shikhin has quit (Ping timeout: 268 seconds).
20:07:34 <mroman_> !blsq 10000ro{1 365rn22.+U_n!}m[F:sp
20:07:34 <blsqbot> Ain't nobody got time fo' dat!
20:08:02 <mroman_> !blsq 1000ro{1 365rn22.+U_n!}m[F:sp
20:08:02 <blsqbot> Ain't nobody got time fo' dat!
20:08:47 <mroman_> !blsq "abc"3CB{16B!}m[
20:08:47 <blsqbot> {2730 2731 2732 2746 2747 2748 2762 2763 2764 2986 2987 2988 3002 3003 3004 3018
20:09:10 <mroman_> !blsq "abc"2CB{16B!}m[
20:09:10 <blsqbot> {170 171 172 186 187 188 202 203 204}
20:09:21 <mroman_> !blsq "abc"2CB^^{16B!}m[z[
20:09:22 <blsqbot> {{"aa" 170} {"ab" 171} {"ac" 172} {"ba" 186} {"bb" 187} {"bc" 188} {"ca" 202} {"
20:10:10 <mroman_> !blsq 1J{.+}10C!#s
20:10:11 <blsqbot> {144 89 55 34 21 13 8 5 3 2 1 1}
20:10:26 <mroman_> !blsq 1 2{.*}10C!#s
20:10:26 <blsqbot> {618970019642690137449562112 36028797018963968 17179869184 2097152 8192 256 32 8
20:10:34 <mroman_> !blsq 1 2{.*}6C!#s
20:10:34 <blsqbot> {8192 256 32 8 4 2 2 1}
20:11:13 -!- Bicyclidine has joined.
20:11:17 <mroman_> hm
20:11:31 <mroman_> !blsq {1 0 0}{rt}3C!#s
20:11:31 <blsqbot> {{1 0 0} {0 0 1} {0 1 0} {1 0 0}}
20:11:39 <mroman_> !blsq {1 0 0}{rt}2C!#s
20:11:39 <blsqbot> {{0 0 1} {0 1 0} {1 0 0}}
20:11:46 <mroman_> !blsq {1 0 0}{RT}2C!#s
20:11:46 <blsqbot> {{0 1 0} {0 0 1} {1 0 0}}
20:11:50 <mroman_> damn
20:11:57 <mroman_> !blsq {1 0 0}{rt}2!C#s
20:11:57 <blsqbot> {{1 0 0} {0 1 0} {0 0 1}}
20:12:00 <mroman_> ah
20:12:01 <mroman_> there we go
20:12:29 <mroman_> !blsq {1 0 0}saPp{rt}pP?d!C#s
20:12:29 <blsqbot> {{1 0 0} {0 1 0} {0 0 1}}
20:12:34 <mroman_> !blsq {1 0 0 0 0 0}saPp{rt}pP?d!C#s
20:12:34 <blsqbot> {{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 <mroman_> however, the birthday problem doesn't take into account, that birthdays aren't exactly equally distributed
20:15:07 <myname> well, that should just raise the propability
20:16:21 <mroman_> !blsq {1 1 1}sm
20:16:21 <blsqbot> 1
20:16:24 <mroman_> !blsq {1 10 1}sm
20:16:24 <blsqbot> 0
20:16:48 <mroman_> !blsq "hello"F:)-]sm
20:16:48 <blsqbot> 0
20:16:52 <mroman_> !blsq "helo"F:)-]sm
20:16:52 <blsqbot> 1
20:17:04 <mroman_> F:)-]sm is the "are equally distributed check"
20:17:17 <mroman_> !blsq "helloheo"F:)-]sm
20:17:17 <blsqbot> 1
20:17:34 <mroman_> !blsq {1}sm
20:17:34 <blsqbot> 1
20:17:55 <mroman_> !blsq 1 1 365rn10.+
20:17:56 <blsqbot> {138 44 353 50 161 335 212 238 363 341}
20:18:02 <mroman_> !blsq 1 1 365rn10.+F:)-]sm
20:18:02 <blsqbot> 1
20:18:06 <mroman_> !blsq 1 1 365rn100.+F:)-]sm
20:18:06 <blsqbot> 0
20:18:44 <mroman_> what
20:18:49 <mroman_> there's an unparse builtin-in
20:18:51 <mroman_> ok...
20:19:07 <mroman_> and it's neatly undocumented
20:19:13 <mroman_> !blsq "5"ps
20:19:13 <blsqbot> {5}
20:19:14 <mroman_> !blsq "5"psup
20:19:15 <blsqbot> "{5}"
20:19:23 <mroman_> woot
20:19:39 <mroman_> !blsq "hi"up
20:19:39 <blsqbot> "\"hi\""
20:20:59 <mroman_> !blsq "hi"shup
20:20:59 <blsqbot> "hi"
20:21:05 <mroman_> k
20:21:11 <mroman_> interesting
20:23:45 <mroman_> !blsq "abc"n!
20:23:45 <blsqbot> 'c
20:23:48 <mroman_> !blsq "abc"n!n!
20:23:48 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
20:24:16 <mroman_> !blsq {"abc""abc"}{L[}fuck
20:24:17 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
20:24:24 <mroman_> !blsq {{"abc""abc"}}{L[}fuck
20:24:24 <blsqbot> 'c
20:25:53 <mroman_> !blsq 6shit
20:25:53 <blsqbot> 6
20:26:21 <mroman_> !blsq 1J{.+}10C!it
20:26:21 <blsqbot> 144
20:26:33 <mroman_> !blsq 1J{.+}10C!shit
20:26:34 <blsqbot> 144
20:26:38 <mroman_> !blsq 1J{.+}10C!shitshitshitshitshitshit
20:26:38 <blsqbot> 144
20:26:44 <mroman_> :D
20:26:44 <mroman_> ok
20:28:50 <mroman_> !blsq ?_
20:28:51 <blsqbot> "I have 322 non-special builtins!"
20:29:52 <mroman_> !blsq 9?n
20:29:52 <blsqbot> j
20:29:56 <mroman_> !blsq 10?n
20:29:56 <blsqbot> j
20:29:59 <mroman_> what
20:30:25 <mroman_> !blsq 10?n
20:30:25 <blsqbot> j
20:30:49 <mroman_> !blsq 10?n
20:30:49 <blsqbot> .>
20:30:52 <mroman_> !blsq 11?n
20:30:53 <blsqbot> .<
20:30:58 <mroman_> !blsq 300?n
20:30:58 <blsqbot> l0
20:31:12 <mroman_> probably useless but now you can ask for what the builtin number 300 is .
20:31:24 <mroman_> !blsq 300.0?n
20:31:24 <blsqbot> That line gave me an error
20:32:06 <mroman_> !blsq 322ro)?n
20:32:06 <blsqbot> {J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == != <- ln un uN wl WL wL
20:32:30 <mroman_> !blsq 200 208r@)?n
20:32:31 <blsqbot> {Wl si ro rz nu fl to sr rn}
20:33:04 <mroman_> !blsq @5
20:33:04 <blsqbot> 5.0
20:33:27 <mroman_> !blsq #Q
20:33:28 <blsqbot> {}
20:33:31 <mroman_> !blsq #Q.+
20:33:31 <blsqbot> ERROR: Burlesque: (.+) Invalid arguments!
20:33:37 <mroman_> !blsq #Qshit
20:33:37 <blsqbot> [sh, it]
20:33:48 <mroman_> blsqbot please do quit
20:33:49 -!- blsqbot has quit (Quit: Exiting).
20:33:52 <mroman_> (enough spam for today)
20:35:59 <mroman_> @type unsafePerformIO
20:36:00 <lambdabot> Not in scope: ‘unsafePerformIO’
20:36:05 <mroman_> :(
20:36:12 <mroman_> @type trace
20:36:13 <lambdabot> 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 <oerjan> @type Debug.Trace.trace
21:42:55 <lambdabot> String -> a -> a
21:43:24 <oerjan> @type System.IO.Unsafe.unsafeCoerce
21:43:25 <lambdabot> Not in scope: ‘System.IO.Unsafe.unsafeCoerce’
21:43:30 <oerjan> hm where was it
21:43:36 <oerjan> oh wait
21:43:43 <oerjan> @type System.IO.Unsafe.unsafePerformIO
21:43:44 <lambdabot> IO a -> a
21:44:12 -!- Phantom___Hoover has joined.
21:44:21 <oerjan> @type Unsafe.Coerce.unsafeCoerce
21:44:22 <lambdabot> 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 <fizzie> Hmp, Finland again.
21:59:40 <oerjan> finland, finland, finland
22:00:29 <oerjan> 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 <fizzie> Was the Scotland thing already, I forget?
22:01:25 <oerjan> no it's in a bit over a week i think
22:01:45 <fizzie> We had an Edinburghian visitor who spoke of it.
22:02:13 -!- ^v has joined.
22:02:25 <fizzie> The non-independists were leading then, I guess.
22:04:14 <fizzie> Foggy Finland, I see.
22:04:44 <fizzie> @metar EFHK
22:04:45 <lambdabot> EFHK 102150Z VRB03KT 9999 FEW043 13/12 Q1020 NOSIG
22:05:16 <fizzie> 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 <zzo38> 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 <elliott> zzo38: you could use type-level strings.
00:42:54 <elliott> those are automatically Typeable and stuff
00:44:47 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
00:45:27 <zzo38> But would those do it? I suppose if you can then make instances, it can help.
00:45:52 <zzo38> However it would look to be a bit less mathematically elegant then.
00:47:03 -!- FreeFull has joined.
00:47:55 <zzo38> So using type-level strings doesn't look right to me.
00:50:40 <zzo38> Are there better ways? Using macros or whatever?
00:50:55 <zzo38> 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 <Bike> 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 <zzo38> Is "Gxxyuxihuvxi" more difficult than "Iuckqlwviv Kjugobe"?
05:35:01 <lifthrasiir> 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 <mroman_> !blsq 12<-
06:02:53 <blsqbot> 21
06:10:08 -!- conehead has joined.
06:29:59 -!- paul2520 has quit (Ping timeout: 272 seconds).
06:45:14 <mroman_> !blsq {1 2}ab
06:45:14 <blsqbot> 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 <zzo38> 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 <zzo38> (This works even if you have a color GameBoy.)
07:24:19 <mroman_> I recentlyl learned that Pokemon Yellow(?) is turing complete .
07:27:59 <J_Arcane2> wat
07:29:15 <olsner> mroman_: is that the one using a buffer overflow to write machine code using the inventory?
07:30:01 <J_Arcane2> http://www.curtisbright.com/bln/2013/03/01/pokemon-yellow-is-turing-complete/
07:30:27 <olsner> (because that just means the Z80 (or whatever cpu it uses) is turing complete, as far as I'm concerned)
07:34:51 <mroman_> olsner: yeah
07:36:59 <mroman_> so
07:37:06 <mroman_> content: doesn't work for inputs?
07:39:06 <Jafet> I wonder if chip's challenge is turing complete (a periodic pattern of walls would be needed)
07:39:38 <Jafet> Maybe I should make it a language and wait for oerjan to prove it
07:43:05 <mroman_> hm...
07:43:06 <mroman_> :)
07:43:40 -!- AnotherTest has joined.
07:43:50 <mroman_> ah
07:43:53 <mroman_> now we're talking
07:44:06 <Jafet> The monster move order could make things complicated, though.
07:45:15 <mroman_> is it allowed to write div::first-letter:before?
07:45:21 <mroman_> (CSS3)
07:47:17 -!- HackEgo has quit (Ping timeout: 245 seconds).
07:48:40 <b_jonas> mroman_: I don't think so
07:49:31 <mroman_> no fun
07:51:21 <mroman_> 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 <mroman_> div.bar:not(div.bar::first-letter) {color: green;}
07:52:54 <zzo38> 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 <mroman_> Thought it would select everything in div.bar except the first-letter
07:56:19 <mroman_> damn
07:56:28 <mroman_> a:visited::after isn't working either
07:58:51 <mroman_> I think browsers don't support certain stuff for security reasons
07:59:14 <mroman_> I don't know whether CSS says that you can't use a:visited ~ p?
07:59:43 <mroman_> hm
08:03:32 <mroman_> k
08:05:13 -!- HackEgo has joined.
08:45:43 <HackEgo> [wiki] [[Ragaraja]] M http://esolangs.org/w/index.php?diff=40432&oldid=36700 * Mauriceling * (+1)
08:48:10 <HackEgo> [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 <HackEgo> [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 <mroman_> odd
09:32:29 <mroman_> using Java Random Numbers from 1..10
09:32:44 <mroman_> in a set of 4096 random numbers there are numbers that occur 50 times as much
09:33:42 <mroman_> that looks broken
09:35:12 <b_jonas> mroman_: maybe show a testcase code?
09:35:58 <mroman_> http://codepad.org/O5Q24OSM
09:36:30 <mroman_> Sometimes a number occurs up to 80 times as much as the least occuring number
09:37:32 <mroman_> yeah
09:37:37 <mroman_> like I said... broken :)
09:37:45 <mroman_> I knew this couldn't be
09:37:52 <mroman_> nvm
09:37:58 <mroman_> typo :)
09:38:50 <shachaf> `olist (962)
09:38:50 <HackEgo> olist (962): shachaf oerjan Sgeo FireFly boily nortti
09:40:27 <mroman_> (a bug in my histogram function)
09:40:35 <b_jonas> oh
09:40:45 <b_jonas> ok
09:41:27 <mroman_> It's in the range of 1.1-1.3 times as many actually
09:41:30 <mroman_> that's ok
09:41:42 <mroman_> that's within my threshold of what I accept as uniformly distributed
09:49:18 -!- impomatic has joined.
10:05:18 <mroman_> 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 <fizzie> 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 <oerjan> ooh list
10:44:13 <fizzie> (By rejecting up to 1/2 of sampled numbers in the worst case.)
10:44:54 <fizzie> http://docs.oracle.com/javase/7/docs/api/java/util/Random.html#nextInt(int)
10:45:37 <fizzie> (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 <Jafet> "The algorithm is slightly tricky."
10:49:53 <Jafet> "The class uses a 48-bit seed, which is modified using a linear congruential formula."
10:50:06 <boily> some day I'll buy a lava lamp just to get real random numbers.
10:50:13 <Jafet> I don't think whitening an LCG really matters
10:53:10 <boily> an LCG is doomed to be predictable, broken, maimed, fold, cut, spindled, mutilated and otherwise exploited.
10:54:22 <oerjan> are you saying this cryptographic LCG is a sham
10:54:58 <boily> quite.
10:55:19 <fizzie> 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 <mroman_> @type (:=)
11:38:14 <lambdabot> Not in scope: data constructor ‘:=’
11:38:14 <lambdabot> Perhaps you meant one of these:
11:38:14 <lambdabot> ‘:+’ (imported from Data.Complex),
11:38:21 <mroman_> @type (=:)
11:38:22 <lambdabot> Not in scope: ‘=:’
11:38:22 <lambdabot> Perhaps you meant ‘==’ (imported from Data.Eq)
11:39:00 <mroman_> fizzie: it's pretty uniform @nextInt
11:42:24 <mroman_> > 1/0.8646
11:42:25 <lambdabot> 1.1566042100393246
11:43:18 <mroman_> > 128.0/4096.0
11:43:19 <lambdabot> 3.125e-2
11:43:27 <mroman_> that should be pretty uniform
11:43:38 <mroman_> most occurences over 4096*2 numbers is 882
11:43:47 <mroman_> and least occurences is 754
11:44:04 <mroman_> (i.e. the most common number occuers 882 and the least common number occures 754 times)
11:44:13 <mroman_> *occurs
11:44:29 <mroman_> > (128.0/4096.0)*100.0
11:44:31 <lambdabot> 3.125
11:44:43 <oerjan> theoretically you can calculate how much variation there _should_ be. (and complain if there's too little.)
11:45:38 <oerjan> because it would be just as suspicious if all numbers were _exactly_ the same number of times.
11:45:54 <mroman_> true
11:46:23 <mroman_> Measuring randomness is hard
11:46:36 <mroman_> and probably bound by Mr. Halting Problem
11:48:33 <mroman_> 3, 9, 27, 81, 243, 729 for example complies to the distribution restriction
11:48:47 <mroman_> (numbers are more or less equally distributed)
11:48:52 <mroman_> but it's obviously not random
11:49:24 <mroman_> I use additional rotation/diff and rotation/factor methods
11:49:24 <oerjan> 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 <mroman_> (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 <mroman_> > maximum . map (length) . group $ zipWith (-) [1,2,3,1,2,3] [2,3,1,2,3,1]
11:51:57 <lambdabot> 2
11:52:00 <mroman_> like that
11:52:18 <mroman_> if this yields a too large number I reject it
11:52:41 <mroman_> (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 <HackEgo> [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 <fizzie> "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 <fizzie> Ooh, we're having Influence over Things.
13:02:40 -!- mauris has joined.
13:02:45 <fizzie> 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 <Jafet> Makes sense, that's where these things are first deployed.
13:22:11 -!- FreeFull has joined.
13:36:58 <AnotherTest> Hi.
13:37:27 <AnotherTest> How would you call a product of two primes p and q with gcd(p - 1, q - 1) = 2?
13:37:41 <AnotherTest> (this includes eg. all sophie germain primes)
13:37:59 <AnotherTest> (products of them...)
13:41:06 <int-e> So the non-zero squares form a cyclic group under multiplication modulo pq. Maybe a name could be derived from that.
13:45:06 <AnotherTest> int-e: yeah.
13:45:21 <AnotherTest> Any suggestions? Anything that already exists (even better)?
13:56:50 <int-e> 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 <int-e> 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 <AnotherTest> int-e: do you know about research/books/... on this type of numbers?
14:13:31 <int-e> 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 <J_Arcane2> http://www.rockpapershotgun.com/2014/09/11/hack-n-slash-review/
16:45:43 -!- drdanmaku has joined.
17:01:55 <mroman_> Is there a list of primes that can be expressed as the sum of two consecutive primes?
17:09:21 <fizzie> 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 <fizzie> 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 <TieSoul> so I'm rewriting my Befunge-98 interpreter
18:12:01 <TieSoul> again
18:12:02 <TieSoul> :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 <fizzie> Incidentally, is this "piles of trash bags on the pavement" a Britain-wide thing, or just a London-specific thing?
19:38:17 <ais523> fizzie: it's Britain-wide but only on specific days of the week
19:38:43 <fizzie> It was smelly.
19:39:33 -!- ais523 has quit (Read error: Connection reset by peer).
19:39:46 -!- ais523 has joined.
19:39:49 <ais523> [20:38] <ais523> fizzie: it's Britain-wide but only on specific days of the week
19:39:51 <ais523> [20:38] <ais523> the policy is, we have to put the trash bags onto the pavement (=sidewalk) early on certain days
19:39:52 <ais523> [20:38] <ais523> then the council send around lorries to collect them
19:39:53 <ais523> [20:38] <ais523> 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 <ais523> [20:38] <ais523> putting them out too early gets you in serious trouble
19:40:16 <ais523> fizzie: does it work differently in Finland, btw?
19:43:01 <fizzie> 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 <ais523> that's how recyclable waste works in the UKp
19:44:35 <fizzie> Outside the most urban areas, quite often something shed-like on the back/frontyard.
19:45:00 <fizzie> 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 <fizzie> 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 <fizzie> With different collection frequencies for the different kinds.
19:48:42 <olsner> 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 <fizzie> 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 <fizzie> Though it could be they've passed more regulations about that.
19:49:51 <fizzie> 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 <fizzie> 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 <fizzie> 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 <Phantom_Hoover> ^v, are you the same ^v from #bp
19:52:30 -!- realzies has quit (Ping timeout: 246 seconds).
19:52:30 <fizzie> Though the sorting rules for that are much more complicated.
19:52:52 <fizzie> (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 <Phantom_Hoover> eeire
19:54:34 <^v> exept ^v is my bot there
19:54:38 <olsner> all waste gets processed as energy waste here, I think for district heating
19:54:42 <Phantom_Hoover> uh
19:54:43 <Phantom_Hoover> eerie
19:54:46 <^v> nope
19:54:51 <fizzie> olsner: They are prototyping that around hereabouts.
19:54:51 <Phantom_Hoover> ^v, wait, what does it do
19:55:00 <^v> lots of stuff
19:55:01 <fizzie> olsner: I think they were having some trouble with cat litter.
19:55:07 <^v> including a bunch of esolangs
19:55:37 <Phantom_Hoover> lol, and they thought there were no bots in the channel
19:56:51 <fizzie> 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 <fizzie> Oh, and paper recycling, but apparently that's free-of-charge unless your place is too far out there.
19:57:43 <Phantom_Hoover> 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 <Phantom_Hoover> and they define it as an intersection of subgroups or some shit
19:58:23 <olsner> 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 <olsner> 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 <fizzie> Apparently it burns badly.
20:00:16 <fizzie> Cat litter, I mean.
20:00:27 <fizzie> Increases the frequency they need to clean the burninators.
20:01:01 <fizzie> 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 <fizzie> https://dl.dropboxusercontent.com/u/113389132/Misc/20140911-view.jpg <- a room with a view.
20:25:07 -!- ais523 has quit.
20:25:07 <J_Arcane2> Heh. My Finnish class at uni was in a room like that.
20:25:16 -!- ais523 has joined.
20:25:49 <Melvar> 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 <Melvar> Glass you bring to a container somewhere in the wider neighborhood, separated by color.
20:28:01 <fizzie> 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 <fizzie> 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 <fizzie> 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 <J_Arcane2> Ahh, yeah. That can happen.
20:34:43 <fizzie> 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 <fizzie> "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 <myname> Brompton World Championship 2009: http://youtu.be/U-grD3srTe4 not sure if brilliant or crazy
20:36:26 <ais523> fizzie: we're not allowed to put glass in general waste
20:36:39 <ais523> I think because they don't want the waste handling lorries to have to cope with broken glass
20:37:10 <fizzie> (#esoteric - it's all about waste management now.)
20:39:34 <ais523> clearly we have to make this into an esolang
20:41:10 <fizzie> By the rule 34 analogue for brainfuck derivatives, there's a garbage-themed one already.
20:42:43 <b_jonas> 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 <b_jonas> fizzie: about the garbage-themed back story: http://johanjeuring.blogspot.hu/2007/07/emorphency.html
20:45:40 <fizzie> It's no brainfuck derivative, but it'll do.
20:45:53 <b_jonas> 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 <zzo38> But what is the rule forty-two analogue for brainfuck derivatives?
20:59:50 <b_jonas> is there a rule 42 analogue about rule 42 analogues?
21:00:22 <ais523> what is rule 42, anyway?
21:01:12 <b_jonas> ais523: rule 34 probably
21:01:30 <ais523> b_jonas: according to the list on TV Tropes, rule 42 is "nothing is sacred"
21:03:28 -!- Patashu has joined.
21:06:58 <HackEgo> [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 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40437&oldid=40436 * 173.67.61.149 * (+115)
21:14:08 <J_Arcane2> aww, are there no Lovecraftian esolangs?
21:14:26 -!- ais523 has quit (Ping timeout: 268 seconds).
21:16:14 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40438&oldid=40437 * 173.67.61.149 * (+39)
21:16:48 <coppro> J_Arcane2: you should make one
21:16:55 <J_Arcane2> I should.
21:17:04 <J_Arcane2> Maybe that could be my first toy Common Lisp project.
21:17:26 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40439&oldid=40438 * 173.67.61.149 * (+1)
21:18:06 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40440&oldid=40439 * 173.67.61.149 * (+1)
21:18:47 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40441&oldid=40440 * 173.67.61.149 * (+8)
21:19:06 <J_Arcane2> though I still kinda want to do a Finnish programming language. :D
21:19:29 <J_Arcane2> Would be a good excuse to merge my language and programming studies.
21:23:28 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=40442&oldid=40361 * 173.67.61.149 * (+11)
21:25:25 <J_Arcane2> 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 <zzo38> I thought rule forty-two is all persons more than a mile high must leave the court
21:27:21 <zzo38> 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 <HackEgo> [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 <b_jonas> 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 <b_jonas> 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 <J_Arcane2> Basic has a ? shortcut for PRINT. But I suspect that's not what you mean.
22:08:13 <zzo38> Z-machine assembly language uses question marks for some (but not all) predicate functions.
22:08:20 <fizzie> I've seen the ! somewhere else.
22:08:21 <b_jonas> J_Arcane2: yes, I'm specifically asking for the same usage as in scheme
22:08:26 <b_jonas> zzo38: I see
22:08:32 <b_jonas> I didn't know that
22:08:37 <zzo38> I don't know the reason why not all of them do.
22:08:55 <J_Arcane2> b_jonas: Does this count? http://en.wikipedia.org/wiki/%3F:
22:09:04 <b_jonas> do you happen to know if smalltalk has these?
22:09:35 <b_jonas> J_Arcane2: no. I've specifically said "part of symbols"!
22:09:51 <J_Arcane2> Then I think there's nil.
22:10:20 <b_jonas> zzo38: meh, ruby and scheme are inconsistent in using them as well
22:10:22 <b_jonas> especially ruby
22:10:30 <mauris> logo or something?
22:10:50 <b_jonas> I don't know much about logo
22:11:01 <Bike> b_jonas: from what i remember of very old lisp code, i think the ? convention started with scheme
22:11:04 <fizzie> b_jonas: Julia does the !, I think. But not a source of anything.
22:11:11 <Bike> i don't think even maclisp did it
22:11:21 <fizzie> LISP used 'P' instead.
22:11:25 <J_Arcane2> Actually, I think some PILOT variants used a ? for certain conditionals.
22:11:42 <b_jonas> fizzie: yes, and I think some languages use x or -x instead of the exclamation mark
22:11:56 <J_Arcane2> Y? or somesuch like that following the choice statement.
22:12:00 <Bike> and maclisp was what scheme was implemented in, so
22:12:35 <Bike> http://maclisp.info/pitmanual/symbol.html#SYMBOLP yep yep.
22:12:38 <b_jonas> (I'm quite sure BANCStar doesn't use this convention)
22:13:29 <b_jonas> vim uses ! in the name of some ex commands, but I don't think it ever means in place
22:17:42 <fizzie> 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 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40444&oldid=40441 * 173.67.61.149 * (+626)
22:18:10 <Bike> logo postdates scheme, right?
22:18:33 <J_Arcane2> 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 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40445&oldid=40444 * 173.67.61.149 * (+30)
22:20:15 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40446&oldid=40445 * 173.67.61.149 * (-2) Cleaning up formatting
22:20:28 <oerjan> b_jonas: mostly it seems to mean "overrule some kind of protection"
22:21:05 <J_Arcane2> sleep now
22:22:31 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40447&oldid=40446 * 173.67.61.149 * (+5)
22:23:30 <oerjan> 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 <elliott> b_jonas: ruby and scheme use them differently
22:52:29 <elliott> though ruby is a bit inconsistent, it's true
22:53:11 <b_jonas> elliott: yes, ruby is probably more inconsistent than scheme
22:53:18 <b_jonas> in using these
22:53:41 <elliott> b_jonas: in ruby it's something like, .x! is the in-place version of .x
22:53:47 <elliott> rather than being used for just anything tha tmutates
22:53:59 <b_jonas> I for one don't really like these punctuation
22:54:01 <elliott> 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 <b_jonas> elliott: yep
22:54:15 <elliott> whereas in scheme everything that mutates gets a !, more or less
22:54:20 <elliott> (though not all IO...)
22:54:38 <elliott> 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 <zzo38> 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 <b_jonas> 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 <b_jonas> iirc
01:10:51 -!- not^v has joined.
01:11:33 <b_jonas> 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 <zzo38> b_jonas: No, it doesn't have any instructions with digits in their name.
01:12:06 <zzo38> (Nor any with underscores in their name.)
01:12:15 <b_jonas> 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 <b_jonas> they don't dare changing the assembly syntax, which is why we have instructions and registers with such strange names stuck.
01:13:52 <b_jonas> 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 <b_jonas> 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 <elliott> what are the two unrelated instructions?
01:20:59 -!- PaulOnProjector has joined.
01:22:02 -!- PaulOnProjector has quit (Client Quit).
01:22:36 <b_jonas> 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 <b_jonas> the other is an SSE2 instruction for moving one double precison float from/to XMM registers.
01:23:30 <elliott> nice
01:24:13 <b_jonas> in both case, MOV stands for "move", but SD stands either for "string, doubleword" or for "scalar double-float"
01:25:03 <b_jonas> 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 <b_jonas> so now we have doublewords, double quadwords, and double floats
01:26:35 <b_jonas> 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 <b_jonas> also, it doesn't mix well with people calling a byte an "octet"
01:27:13 <b_jonas> (Knuth calls them "byte")
01:27:15 <pikhq> I vote we call 16 bytes a "hecka".
01:27:34 <b_jonas> the "octet" was probably popularized by French people who don't like English-derived words like byte
01:28:29 <b_jonas> pikhq: how about the larger ones?
01:28:51 -!- boily has quit (Quit: DOUBLEPLUSGOOD CHICKEN).
01:29:07 <pikhq> "Hella" for 32 bytes, and 64 is... good question.
01:31:08 <pikhq> 128 is numberwang.
01:31:08 <b_jonas> 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 <elliott> how about 2 bits = biit, 4 bits = biiit, 8 bits = biiiit, and so on.
01:31:47 <b_jonas> elliott: no, that gets hard to read for larger sizes
01:32:17 <pikhq> 4 bits = bte, 16 bits = byyte, 32 = byyyte?
01:32:25 <elliott> okay, let's say we use i = 1, u = 0 and notate it in binary
01:32:41 <elliott> 1 bit = bit, 2 bits = biut, 3 bits = biit, 4 bits = biuuut, 0 bits = butt
01:32:44 <pikhq> Ooh. "Bytye".
01:32:53 <b_jonas> for 16 bytes, we could revive the old terminology and call it a paragraph?
01:33:10 <lifthrasiir> bwhat.
01:33:34 <pikhq> Bye, word, sentence, paragraph, page, chapter, book.
01:33:46 <b_jonas> pikhq: no, not "page", that's already overloaded
01:34:01 <b_jonas> pikhq: add "clause" and "phrase" in that though
01:35:27 <elliott> encyclopedia
01:35:39 <pikhq> Followed by a Wikipedia, of course.
01:36:02 <b_jonas> oh, add "issue" and "volume" too then
01:36:12 <pikhq> Byte, word, clause, phrase, sentence, paragraph, chapter, volume, encyclopedia, wikipedia
01:36:23 <elliott> you need to fit "library of congress" in there
01:36:29 <b_jonas> just make sure "character" is not in the list
01:36:31 <elliott> this is definitely less cumbersome than using numbers
01:36:36 <pikhq> Between encyclopedia and wikipedia, of course.
01:36:44 <pikhq> b_jonas: s/byte/character/ happy?
01:36:55 <b_jonas> I said make sure it's _not_ on the list
01:36:59 <pikhq> Ah.
01:37:07 <b_jonas> and of course "word" can be problematic too
01:37:32 <pikhq> Yes, but that problem is hilarious.
01:37:51 <b_jonas> so that leaves us with byte, morpheme, phrase, clause, sentence, paragraph, chapter, issue, volume, etc
01:38:06 <pikhq> Grapheme for "byte" then.
01:38:33 <b_jonas> we can't use any of these either because they already have meanings: section, line, journal
01:38:43 <b_jonas> we could perhaps add "article" and "text" though
01:38:51 <zzo38> 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 <pikhq> Yes, but the only people who are concerned about that also say "octet".
01:39:58 <zzo38> 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 <b_jonas> Yes, but byte sizes other than 8 bits are sort of history now, we no longer deal with them.
01:40:46 <b_jonas> oh, and "book" too
01:40:49 <b_jonas> how many do we have?
01:41:29 <zzo38> 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 <b_jonas> byte, wyde, morpheme, phrase, clause, sentence, paragraph, article, chapter, text, novel, book, issue, volume
01:41:47 <zzo38> But, anyways it is a virtual machine and does not correspond to any real hardware.
01:42:02 <b_jonas> 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 <zzo38> 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 <b_jonas> the 32-bit cells in VM360, are those bytes or just chars?
01:45:01 <b_jonas> of course this is just a terminology question
01:45:15 <b_jonas> basically I just don't want to use "octet" which is why I insist that bytes are 8-bit
01:45:36 <b_jonas> I like 8-bit bytes
01:46:00 <zzo38> 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 <zzo38> 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 <b_jonas> 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 <b_jonas> s/cars/cards/
01:49:29 -!- Bicyclidine has joined.
01:49:31 <zzo38> 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 <HackEgo> [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 <myname> i like the funciton version
05:40:51 <myname> 21 bytes per char
05:43:53 <lifthrasiir> bits*
05:44:38 <lifthrasiir> I really want to see a 20.087463 bit long unsigned integer type though
05:45:06 <myname> yeah
05:45:24 <myname> http://esolangs.org/wiki/Funciton/Quine so awesome
05:46:04 <myname> also: why does funciton renders bad in most browsers i've tested?
05:46:15 <lifthrasiir> blame your font
05:46:28 <myname> default
05:47:20 -!- digitalcold has joined.
05:47:20 <J_Arcane2> 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 <coppro> LATIN LETTER INVERTED GLOTTAL STOP
05:57:51 <coppro> yeah, I'm sure that's Latin
06:01:08 <Jafet> GLUTTON STOP, from pig latin
06:06:59 <mroman_> is there a terminal-session recording program for linux?
06:07:18 <nortti> script ?
06:07:36 <myname> of course there is
06:08:03 <myname> termrec
06:09:11 <lifthrasiir> coppro: all IPA letters are considered to be derived from, well, (Latin) alphabets.
06:10:19 <lifthrasiir> coppro: http://www.fileformat.info/info/unicode/char/01C1/index.htm even this one is.
06:18:57 <mroman_> termrec isn't in the debian repository apparentely
06:19:28 <myname> i'm not surprised
06:19:41 <myname> as an arch user, debian repositories look basically empty
06:20:10 <mroman_> really?
06:20:26 <myname> well, a bit better than centos
06:20:33 <mroman_> i'll try building it from source
06:20:40 <coppro> lifthrasiir: whyyyy
06:20:56 <coppro> ttyrec is the more classic one
06:21:51 <mroman_> libtty.so.0 => not found
06:21:52 <mroman_> hm
06:24:03 <mroman_> make install is probably broken
06:24:08 <mroman_> there's a libtty.so in ./libs
06:29:35 <myname> lifthrasiir: i should add (ǁ) = (||) in my prelude :D
06:30:36 <mroman_> hm
06:31:54 <mroman_> Is there one that produces .gif or .flv :)?
06:32:21 <myname> any regular screen recorder?
06:33:10 <coppro> yes
06:33:48 <coppro> ttyrecs are specifically aimed at allowing you to watch the recording on a different terminal
06:33:58 <myname> yeah
06:34:02 <myname> good old nethack times
06:35:38 <coppro> old?
06:35:55 <myname> yeah, i'm more into dwarf fortress now
06:36:22 <myname> even though i suck at it
06:36:53 <mroman_> byzanz is the best I've found so far
06:36:59 <mroman_> but it sucks that you can't stop it
06:37:08 <mroman_> you have to set --duration in advance
06:39:10 <myname> 2 days should be enough
06:39:28 <coppro> lol
06:39:46 <myname> just find a reasonable upper bound and crop the end away
06:40:28 <myname> you may not want to watch porn these 2 days, though
06:40:49 <myname> or maybe you want to do it even more, whatever
06:42:59 <lifthrasiir> myname: and you should make a click voice when you read it
06:43:49 <myname> 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 <fizzie> > let life = id in fix life
08:24:50 <lambdabot> mueval-core: Time limit exceeded
08:24:52 <fizzie> Sorry, that would take too long.
08:28:53 <myname> > fix it
08:28:54 <lambdabot> Not in scope: ‘it’
08:28:54 <lambdabot> Perhaps you meant one of these:
08:28:54 <lambdabot> ‘id’ (imported from Data.Function),
08:28:54 <lambdabot> ‘C.id’ (imported from Control.Category),
08:28:54 <lambdabot> ‘i’ (imported from Debug.SimpleReflect)
08:28:59 <myname> :(
08:29:16 <myname> lambdabot should have an it
08:29:52 <fizzie> @type i
08:29:53 <lambdabot> Expr
08:30:42 <fizzie> Oh, one of those things.
08:36:21 -!- Patashu has joined.
08:36:27 <mroman_> > i
08:36:29 <lambdabot> i
08:36:33 <mroman_> > i$i
08:36:34 <lambdabot> Couldn't match expected type ‘Debug.SimpleReflect.Expr.Expr -> t’
08:36:34 <lambdabot> with actual type ‘Debug.SimpleReflect.Expr.Expr’
08:36:43 <mroman_> > x / 9 * i
08:36:44 <lambdabot> x / 9 * i
08:37:04 <mroman_> > mconcat [Just x, Just i]
08:37:05 <lambdabot> Just (x <> i)
08:37:34 <mroman_> > mconcat [Just (Sum x), Just (Sum y)]
08:37:35 <lambdabot> Just (Sum {getSum = x + y})
08:37:41 <mroman_> not bad
08:37:49 <mroman_> > sequence [Just x, Nothing, Just y]
08:37:50 <lambdabot> Nothing
08:37:55 <mroman_> > sequence [Just x, Just y]
08:37:57 <lambdabot> Just [x,y]
08:38:08 <mroman_> > show x
08:38:09 <lambdabot> "x"
08:38:34 <mroman_> > (read "x") :: Expr
08:38:37 <lambdabot> No instance for (GHC.Read.Read Debug.SimpleReflect.Expr.Expr)
08:38:37 <lambdabot> arising from a use of ‘Text.Read.read’
08:45:58 <fizzie> 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 <mroman_> hm
08:47:29 <mroman_> @type until
08:47:29 <lambdabot> (a -> Bool) -> (a -> a) -> a -> a
08:47:37 <mroman_> ^- that?
08:47:59 <mroman_> > until (> 100) (*2) 1
08:48:00 <lambdabot> 128
08:48:06 <mroman_> > until (== 128) (*2) 1
08:48:07 <lambdabot> 128
08:48:31 <mroman_> I'm not sure wheter you can use it for f x == x
08:50:40 <fizzie> I guess, if you put the same f in the predicate.
08:52:08 <fizzie> > let f = min 0 . (+1) in until (ap (==) f) f (-10)
08:52:10 <lambdabot> 0
09:03:22 <mroman_> > let f y = y*y in until (\x -> x == f x) f 1
09:03:24 <lambdabot> 1
09:03:43 <mroman_> > ap (==) x
09:03:44 <lambdabot> Couldn't match expected type ‘a -> a’
09:03:44 <lambdabot> with actual type ‘Debug.SimpleReflect.Expr.Expr’
09:04:04 <mroman_> ah well I can guess what ap does anyway
09:08:30 <fizzie> @src ap
09:08:30 <lambdabot> ap = liftM2 id
09:14:38 <mroman_> what's the Syntax again for a Record
09:14:46 <mroman_> where I want to replace the value of foo
09:15:11 <mroman_> let Bar {..} = x in Bar {.., foo = new}?
09:18:31 <fizzie> Um, wouldn't that be more like let x = Bar {..} in x {foo = new} or something.
09:20:25 <mroman_> ah
09:20:42 <mroman_> it's Bar { .. } = x in Bar { foo = new, .. }
09:21:23 <fizzie> > let x = Foo { bar = 42, baz = "ding" } in [x, x { baz = "dong" }]
09:21:24 <lambdabot> [Foo {bar = 42, baz = "ding"},Foo {bar = 42, baz = "dong"}]
09:22:57 <fizzie> I mean, ^ that's what I assumed you meant.
09:23:12 <mroman_> setLastName new (Person { .. }) = Person { lastName = new, .. } <- works as well
09:23:39 <mroman_> for a lense-unaware Person like me
09:23:44 <fizzie> setLastName new p = p { lastName = new } is shorter, though.
09:47:26 <mroman_> ah
09:47:32 <mroman_> is there a map (fmap f)?
09:48:38 <mroman_> @hoogle [f a] -> (a -> b) -> [f b]
09:48:41 <lambdabot> Prelude fmap :: Functor f => (a -> b) -> f a -> f b
09:48:41 <lambdabot> Data.Functor fmap :: Functor f => (a -> b) -> f a -> f b
09:48:41 <lambdabot> Control.Monad fmap :: Functor f => (a -> b) -> f a -> f b
09:49:33 <mroman_> actually that's fmap (fmap f)
09:49:36 <mroman_> 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 <oerjan> <mroman_> 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 <fizzie> 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 <oerjan> there is an extension that implements that shorthand
12:18:08 <fizzie> Now how did that second quotation mark end up right there in the middle.
12:18:38 <oerjan> what
12:19:06 <oerjan> i assume mroman_ said it himself
12:20:14 <Melvar> < myname> also: why does funciton renders bad in most browsers i've tested? – Looks good for me.
12:21:08 <Melvar> @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 <lambdabot> Consider it noted.
12:21:45 <Melvar> @tell myname < myname> lifthrasiir: i should add (ǁ) = (||) in my prelude :D – Note that it’s a letter, not a symbol.
12:21:45 <lambdabot> Consider it noted.
12:22:01 <mroman_> oerjan: hm?
12:22:14 <Melvar> > let ǁ = (||) in ǁ False True
12:22:16 <lambdabot> True
12:22:59 <oerjan> mroman_: .. wildcards are not standard haskell, but x { f = a } is.
12:23:08 <mroman_> then what are they for?
12:23:46 <oerjan> um they are for precisely what you seemed to be using them for. but they are an extension, not standard.
12:24:05 <mroman_> yeah
12:24:10 <mroman_> but if they do the same thing that the standard
12:24:15 <mroman_> why would you need an extension
12:24:18 <mroman_> *than
12:24:22 <mroman_> or *as the standard
12:25:07 <oerjan> well they can do other things than being a more verbose way of writing x { f = a }
12:25:55 <mroman_> > let 1 = 2 in 1
12:25:56 <lambdabot> 1
12:26:09 <mroman_> > let 1+1 = 2 in 1
12:26:11 <lambdabot> 1
12:26:13 <mroman_> > let 1+1 = 2 in 1+2
12:26:15 <lambdabot> *Exception: <interactive>:3:5-11: Non-exhaustive patterns in function +
12:26:35 <mroman_> oh
12:26:42 <Melvar> Idris has a nested record update syntax.
12:26:44 <mroman_> > let 1+1 = 3 in 1+1
12:26:46 <lambdabot> 3
12:26:55 <mroman_> I like that feature
12:28:21 <int-e> > otherwise
12:28:23 <lambdabot> True
12:28:30 <mroman_> German Court: Google Must Stop Ignoring Customer E-mails
12:28:31 <mroman_> haha
12:29:10 <mroman_> > const otherwise id
12:29:12 <lambdabot> True
12:29:16 <int-e> it's only fair
12:29:41 <mroman_> > const False otherwise True
12:29:43 <lambdabot> Couldn't match expected type ‘GHC.Types.Bool -> t’
12:29:43 <lambdabot> with actual type ‘GHC.Types.Bool’
12:48:55 -!- Wings1yte has joined.
12:57:58 <myname> i hate being @told :(
12:58:12 <oerjan> hm...
12:58:30 <oerjan> `run grep myname bin/dontaskdonttelllist
12:58:30 <HackEgo> No output.
12:58:42 <myname> who is responsible for lambdabot? i have a feature request
12:58:59 <myname> only annoy @told people if they ever went offline til next message
12:59:37 <Taneb> 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 <Melvar> I never go offline if I can help it.
13:00:04 <myname> Taneb: people with bouncers should receive highlights from their bouncers
13:00:11 <myname> that's the only reason to actually use one
13:00:39 <oerjan> `run echo myname >>bin/dontaskdonttelllist
13:00:40 <HackEgo> No output.
13:01:11 <oerjan> `dontaskdonttelllist
13:01:12 <HackEgo> 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 <myname> that seems nice
13:01:43 <myname> especially the fact that HackEgo didn't highlight me
13:01:44 <Taneb> ...is it bad that the mouse pointer feels like an extension of my body?
13:01:59 <myname> Taneb: it means you don't use the terminal enough
13:02:12 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
13:02:27 <Taneb> myname, terminal isn't great for browsing Facebook
13:02:40 <Taneb> Or for playing Civ V
13:02:58 <myname> you shouldn't browse facebook in the first place
13:03:15 <Taneb> Easy for you to say
13:03:17 <mroman_> myname: Yeah but... sometimes highlights in the past are so far in the past they exceed buffers
13:04:00 <myname> mroman_: well, if i'm away, irssi puts them in the status window when i come back
13:04:07 <myname> also, i get a push notificatio
13:06:43 <myname> oerjan: i am a bit confused, why does hackego have a list for lambdabot?
13:07:01 <Taneb> myname, I think it's a list for oerjan
13:07:05 <oerjan> myname: because i made it and i cannot make commands in lambdabot hth
13:07:11 <oerjan> also that.
13:07:21 <oerjan> although other people are welcome to use it, of course.
13:07:22 <myname> so, lambdabot just ignores it
13:07:38 <oerjan> it's just for me to remember who doesn't want to be @told.
13:08:09 <myname> 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 <oerjan> heh :P
13:11:17 <GeekDude> `help
13:11:17 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
13:11:22 <GeekDude> ...
13:11:29 <GeekDude> `find /
13:11:30 <HackEgo> ​/ \ /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 <GeekDude> huh
13:11:35 <myname> 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 <GeekDude> `find / | grep passwd
13:12:12 <HackEgo> find: `/ | grep passwd': No such file or directory
13:12:25 <GeekDude> ...
13:12:36 <GeekDude> aww
13:12:43 <GeekDude> `cowsays moo
13:12:44 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cowsays: not found
13:13:00 <oerjan> GeekDude: you need to use `run to use commands with more than one argument
13:13:14 <oerjan> (or shell features)
13:13:44 <GeekDude> `cowsay moo
13:13:45 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cowsay: not found
13:13:49 <GeekDude> we need cowsay
13:13:54 <GeekDude> `run apt-get install cowsay
13:13:55 <HackEgo> 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 <GeekDude> :(
13:13:58 <myname> we don't
13:14:06 <myname> cowsay is horrible
13:14:12 <GeekDude> `cowsay you're wrong
13:14:13 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cowsay: not found
13:14:13 <myname> better use toilet or the like
13:14:21 <mroman_> !blsq_uptime
13:14:21 <blsqbot> 1d 7h 11m 45s
13:14:59 <GeekDude> `telnet towel.blinkenlights.nl
13:14:59 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: telnet: not found
13:15:10 <mroman_> `run nslookup
13:15:11 <HackEgo> bash: nslookup: command not found
13:15:16 <mroman_> `run ifconfig
13:15:17 <HackEgo> bash: ifconfig: command not found
13:15:23 <mroman_> `run sudo ifconfig
13:15:24 <HackEgo> bash: sudo: command not found
13:15:27 <GeekDude> this is a very sad shell
13:15:34 <mroman_> `run run
13:15:35 <HackEgo> bash: run: command not found
13:15:37 <GeekDude> `ls
13:15:37 <HackEgo> ​:-( \ 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 <mroman_> `run ls
13:15:41 <HackEgo> ​:-( \ 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 <GeekDude> `touch geek.sh
13:15:46 <HackEgo> No output.
13:15:47 <mroman_> `:-D
13:15:48 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: :-D: not found
13:15:54 <mroman_> `cat :-D
13:15:55 <HackEgo> ​☺
13:15:58 <mroman_> `cat :-(
13:15:59 <HackEgo> ​☹
13:16:02 <GeekDude> `run echo "echo 'wut'" > geek.sh
13:16:04 <HackEgo> No output.
13:16:09 <GeekDude> `bash geek.sh
13:16:09 <HackEgo> wut
13:16:12 <GeekDude> :D
13:16:16 <oerjan> outgoing connections are whitelisted, and i'm not sure they're even working. but you can download things with `fetch.
13:16:20 <GeekDude> `geek.sh
13:16:21 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: geek.sh: not found
13:16:24 <GeekDude> `chmod +x geek.sh
13:16:25 <HackEgo> chmod: missing operand after `+x geek.sh' \ Try `chmod --help' for more information.
13:16:29 <GeekDude> `run chmod +x geek.sh
13:16:30 <HackEgo> No output.
13:16:32 <mroman_> `geek
13:16:33 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: geek: not found
13:16:33 <GeekDude> `geek.sh
13:16:34 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: geek.sh: not found
13:16:37 <GeekDude> huh...
13:16:41 <GeekDude> `./geek.sh
13:16:42 <HackEgo> wut
13:16:44 <GeekDude> phew
13:16:48 <GeekDude> gimme a sec
13:16:55 <mroman_> I think it has to be in bin?
13:16:56 <mroman_> `ls
13:16:56 <HackEgo> ​:-( \ 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 <mroman_> `run mv geek.sh bin/geek.sh
13:17:07 <HackEgo> No output.
13:17:09 <mroman_> `geek
13:17:09 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: geek: not found
13:17:12 <mroman_> `geek.sh
13:17:13 <HackEgo> wut
13:17:18 <GeekDude> you did bin instead of /bin?
13:17:22 <mroman_> `run mv bin/geek.sh bin/geek
13:17:23 <HackEgo> No output.
13:17:24 <mroman_> `geek
13:17:24 <HackEgo> wut
13:17:28 <GeekDude> oh cool
13:17:33 <mroman_> `run ls bin/
13:17:34 <HackEgo> ​` \ ^.^ \ ̊ \ ? \ ¿ \ @ \ ؟ \ 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 <mroman_> `analogy
13:17:47 <HackEgo> vorat is to desen as prespor is to dormwortaint
13:17:54 <myname> `analorgy
13:17:55 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: analorgy: not found
13:17:59 <GeekDude> `run which git
13:18:00 <HackEgo> No output.
13:18:50 <GeekDude> `pieps
13:18:50 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pieps: not found
13:18:53 <GeekDude> `pipes
13:18:53 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pipes: not found
13:19:11 <GeekDude> ls
13:19:22 <mroman_> `fetch --help
13:19:22 <HackEgo> 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 <mroman_> `run fetch http://codepad.org/P1Fhwic3/raw.py bin/quala.py
13:19:38 <HackEgo> bash: fetch: command not found
13:19:43 <mroman_> `run fetch.sh http://codepad.org/P1Fhwic3/raw.py bin/quala.py
13:19:44 <HackEgo> bash: fetch.sh: command not found
13:19:47 <GeekDude> git not found :(
13:19:50 <myname> i like that sentence about mandatory arguments
13:19:52 <mroman_> `run wget http://codepad.org/P1Fhwic3/raw.py bin/quala.py
13:19:57 <oerjan> mroman_: `fetch doesn't work in `run
13:19:58 <GeekDude> `run wget http://github.com
13:20:05 <myname> it makes me think i'm smarter than the average manual reader
13:20:07 <HackEgo> ​--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 <mroman_> `ls bin/quala.py
13:20:08 <HackEgo> ls: cannot access bin/quala.py: No such file or directory
13:20:12 <GeekDude> oh wow O_o
13:20:13 <HackEgo> ​--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 <GeekDude> wget works
13:20:19 <oerjan> it's an external command that's not subject to the whitelist.
13:20:35 <GeekDude> hmm... it doesn't actually work
13:20:57 <mroman_> `run python -e "print 9"
13:20:58 <HackEgo> Unknown option: -e \ Unknown option: -e \ usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... \ Try `python -h' for more information.
13:21:01 <mroman_> `run python -c "print 9"
13:21:02 <HackEgo> 9
13:21:06 <mroman_> `run python -c "while 1: print 9"
13:21:07 <HackEgo> 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 <mroman_> `run ps axuw
13:21:19 <HackEgo> 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 <mroman_> `run python -c "print '!bf .'"
13:22:01 <HackEgo> ​!bf .
13:22:10 <mroman_> !bf .
13:22:15 <mroman_> hm
13:22:19 <oerjan> egobot isn't here.
13:22:22 <mroman_> `run python -c "print '!blsq ??'"
13:22:23 <HackEgo> ​!blsq ??
13:22:34 <mroman_> !blsq ??
13:22:35 <blsqbot> "Burlesque - 1.7.2c"
13:22:39 <mroman_> :)
13:22:43 <mroman_> good
13:22:58 <oerjan> also, i thought mroman_ had been here long enough to remember HackEgo's invisible space trick
13:23:08 <mroman_> My brain is a mess
13:23:12 <mroman_> I can't remember such things.
13:24:11 <mroman_> `run python -c "import os; os.popen('ls');'"
13:24:11 <HackEgo> ​ File "<string>", line 1 \ import os; os.popen('ls');' \ ^ \ SyntaxError: EOL while scanning string literal
13:24:16 <mroman_> `run python -c "import os; os.popen('ls');"
13:24:17 <HackEgo> ls: write error: Broken pipe
13:24:20 <oerjan> 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 <mroman_> hm
13:24:37 <oerjan> (even though the former is a wrapper around wget)
13:24:43 <GeekDude> I'm writing a program to slowly echo things into a file
13:24:49 <mroman_> `fetch http://codepad.org/P1Fhwic3/raw.py
13:24:50 <HackEgo> 2014-09-12 13:24:27 URL:http://codepad.org/P1Fhwic3/raw.py [36/36] -> "raw.py" [1]
13:24:54 <mroman_> ah
13:24:56 <mroman_> i see
13:24:59 <mroman_> `./raw.py
13:25:00 <HackEgo> ​/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 <GeekDude> wait, fetch works?
13:25:04 <oerjan> GeekDude: note that HackEgo commands have a timeout
13:25:07 <mroman_> `run chmod +x raw.py
13:25:08 <HackEgo> No output.
13:25:09 <mroman_> `./raw.py
13:25:10 <HackEgo> ​/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 <mroman_> :)
13:25:17 <mroman_> fucking ^M
13:25:45 <mroman_> `rm raw.py
13:25:47 <HackEgo> No output.
13:26:14 * GeekDude wonders...
13:26:16 <GeekDude> `run pipes
13:26:17 <HackEgo> bash: pipes: command not found
13:26:21 <GeekDude> `pipes
13:26:22 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pipes: not found
13:26:25 <GeekDude> aww
13:26:34 <GeekDude> cowsay wouldn't work anyways
13:26:39 <GeekDude> multiline is bokr
13:26:42 <mroman_> hm
13:27:08 <mroman_> `fetch http://mroman.ch/blsqirci
13:27:18 <HackEgo> 2014-09-12 13:26:55 URL:http://mroman.ch/blsqirci [8619408/8619408] -> "blsqirci" [1]
13:27:24 <mroman_> `run chmod +x blsqirci
13:27:26 <HackEgo> No output.
13:27:30 <mroman_> `./blsqirci
13:27:31 <HackEgo> ​/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 <mroman_> pff
13:27:49 <mroman_> :(
13:27:56 <oerjan> `file blsqirci
13:27:58 <HackEgo> 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 <GeekDude> `run rm -rf /
13:28:00 <HackEgo> rm: it is dangerous to operate recursively on `/' \ rm: use --no-preserve-root to override this failsafe
13:28:11 <GeekDude> `run rm --no-preserve-root -rf /
13:28:15 <mroman_> nooooo
13:28:21 <oerjan> fiendish
13:28:26 <mroman_> `file blsqirci
13:28:37 <GeekDude> You'd think that was.... disabled
13:28:40 <GeekDude> `help
13:28:40 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
13:28:45 <GeekDude> `run ls
13:28:46 <mroman_> what have you done!
13:28:52 <GeekDude> apparently deleted it
13:28:55 <GeekDude> :D
13:29:01 <GeekDude> who runs HackEgo?
13:29:04 <mroman_> You're mean
13:29:17 <GeekDude> I do pen testing on IRC bots
13:29:23 <GeekDude> this one failed the testing
13:29:34 <HackEgo> 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 <blsqbot> You suck GeekDude
13:29:39 <HackEgo> 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 <HackEgo> ​:-( \ 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 <oerjan> GeekDude: nah it's just thrashing a bit
13:29:48 <GeekDude> sorry, but I didn' tthink that'd actually do anything
13:29:57 <mroman_> oh
13:30:02 <mroman_> `run ./blsqirci
13:30:04 <HackEgo> bash: ./blsqirci: cannot execute binary file
13:30:16 <mroman_> I thought it could?
13:30:16 <GeekDude> `ls bin
13:30:18 <HackEgo> ​` \ ^.^ \ ̊ \ ? \ ¿ \ @ \ ؟ \ 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 <GeekDude> hmm...
13:30:24 <GeekDude> things still appear to be there
13:30:29 <GeekDude> `8ball
13:30:29 <HackEgo> Don't count on it.
13:30:33 <GeekDude> ¯\_(ツ)_/¯
13:30:37 <GeekDude> Who runs HackEgo?
13:30:46 <mroman_> `uname -a
13:30:46 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
13:31:23 <mroman_> `run python -c "import os; print os.popen('ls').read()"
13:31:25 <HackEgo> ​:-( \ 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 <mroman_> `run python -c "import os; print os.popen('./blsqirci').read()"
13:31:31 <HackEgo> ​./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 <mroman_> woot
13:31:49 <GeekDude> `run python -c "import antigravity"
13:31:50 <HackEgo> ​ \ Configuration file "/etc/lynx-cur/lynx.cfg" is not available. \ \ \ Configuration file "/etc/lynx-cur/lynx.cfg" is not available.
13:31:55 <GeekDude> ...
13:32:01 <GeekDude> aww
13:32:11 <mroman_> `run python -c "import os; print os.exec('./blsqirci').read()"
13:32:11 <HackEgo> ​ File "<string>", line 1 \ import os; print os.exec('./blsqirci').read() \ ^ \ SyntaxError: invalid syntax
13:32:40 <GeekDude> I wonder...
13:32:54 <mroman_> `run python -c "import os; print os.execv('./blsqirci',[])"
13:32:55 <HackEgo> Traceback (most recent call last): \ File "<string>", line 1, in <module> \ ValueError: execv() arg 2 must not be empty
13:33:03 <mroman_> `run python -c "import os; print os.execv('./blsqirci',[''])"
13:33:04 <HackEgo> Traceback (most recent call last): \ File "<string>", line 1, in <module> \ OSError: [Errno 8] Exec format error
13:33:07 <mroman_> bleh
13:33:23 <GeekDude> if I were to get a very small IRC bot on there, would it work?
13:33:37 <mroman_> `run python -c "import os; print os.execv('blsqirci',['--ircbot'])"
13:33:38 <HackEgo> Traceback (most recent call last): \ File "<string>", line 1, in <module> \ OSError: [Errno 8] Exec format error
13:33:43 <mroman_> k
13:33:46 <mroman_> `rm blsqirci
13:33:47 <HackEgo> No output.
13:34:08 <mroman_> I could just download the source and build it probably
13:34:11 <mroman_> maybe
13:34:21 <mroman_> `run echo "main = print 9"
13:34:21 <HackEgo> main = print 9
13:34:22 <oerjan> GeekDude: things you put on HackEgo don't run continuously
13:34:25 <mroman_> `run echo "main = print 9" > foo.hs
13:34:26 <HackEgo> No output.
13:34:27 <mroman_> `runghc foo.hs
13:34:28 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: runghc: not found
13:34:33 <mroman_> `runhaskell foo.hs
13:34:33 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: runhaskell: not found
13:34:38 <mroman_> `ghc foo.hs
13:34:39 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ghc: not found
13:34:53 <oerjan> mroman_: HackEgo doesn't have a haskell install any longer.
13:35:07 <oerjan> it wasn't included in a server move.
13:35:14 <mroman_> I see
13:36:15 <mroman_> we could try bootstrapping it
13:36:18 <mroman_> if there's a gcc
13:36:22 <mroman_> `gcc --version
13:36:23 <HackEgo> 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 <mroman_> :)
13:36:35 <oerjan> that's going to take a while with all the timeouts.
13:36:42 <mroman_> yeah :(
13:36:57 <mroman_> `htop
13:36:57 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: htop: not found
13:37:13 <mroman_> `cat /proc/meminfo
13:37:13 <HackEgo> 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 <GeekDude> anyone have a 0day handy?
13:37:25 <mroman_> 250MB isn't enough to compile anything with ghc anyway
13:37:32 -!- idris-bot has quit (Ping timeout: 276 seconds).
13:37:49 <zzo38> Is it enough for the interpreter?
13:37:52 <mroman_> I have a 0day php-injection exploit for php wheathermap 0.97c .
13:38:02 <oerjan> i've compiled haskell on HackEgo in previous times
13:38:27 <oerjan> i don't think HackEgo has php either, istr someone trying the other day
13:38:35 <GeekDude> portabl php runtime?
13:38:56 <oerjan> also that sounds like it only breaks php not the os
13:39:00 -!- Melvar has quit (Ping timeout: 255 seconds).
13:39:02 <mroman_> `python --version
13:39:03 <HackEgo> Python 2.7.3
13:39:14 <mroman_> `whereis python
13:39:16 <HackEgo> 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 <fizzie> It's Gregor's bot, but I've been doing some minor maintenance on it occasionally.
13:39:33 <mroman_> `cp /usr/bin/python2.7 /usr/bin/python3
13:39:34 <HackEgo> cp: missing destination file operand after `/usr/bin/python2.7 /usr/bin/python3' \ Try `cp --help' for more information.
13:39:44 <mroman_> `run cp /usr/bin/python2.7 /usr/bin/python3
13:39:45 <HackEgo> cp: cannot create regular file `/usr/bin/python3': Read-only file system
13:40:12 <fizzie> You could make bin/python3 (no slash) a symlink to /usr/bin/python2.7 if you wanted.
13:40:14 <mroman_> `echo "main(){}" > foo.c
13:40:15 <HackEgo> ​"main(){}" > foo.c
13:40:21 <mroman_> `run echo "main(){}" > foo.c
13:40:22 <HackEgo> No output.
13:40:23 <mroman_> `gcc foo.c
13:40:28 <HackEgo> No output.
13:40:31 <mroman_> `ls
13:40:32 <HackEgo> ​:-( \ 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 <mroman_> `run gcc -C foo.c -o foo
13:40:44 <HackEgo> No output.
13:40:47 <mroman_> `ls
13:40:48 <HackEgo> ​:-( \ 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 <mroman_> `run chmod +x foo
13:40:55 <HackEgo> No output.
13:40:57 <mroman_> `./foo
13:40:57 <HackEgo> No output.
13:41:00 <mroman_> hm
13:41:13 <fizzie> So much cruft in there.
13:41:13 <mroman_> `file foo
13:41:13 <HackEgo> 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 <oerjan> i think gcc chmods automatically, also that your first try ended up in a.out
13:42:03 <GeekDude> `run exec 3<>/dev/tcp/chat.freenode.net/6667
13:42:04 <HackEgo> bash: chat.freenode.net: Name or service not known \ bash: /dev/tcp/chat.freenode.net/6667: Invalid argument
13:42:10 <GeekDude> huh
13:42:13 <mroman_> `run echo "main(int a,char** v){printf(v);}" > foo.c
13:42:15 <HackEgo> No output.
13:42:16 <mroman_> `run gcc -C foo.c -o foo
13:42:19 <HackEgo> 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 <mroman_> `run echo "main(int a,char** v){printf(v[0]);}" > foo.c
13:42:29 <HackEgo> No output.
13:42:30 <mroman_> `run gcc -C foo.c -o foo
13:42:31 <fizzie> GeekDude: No networking. Except through a proxy with a very small whitelist, and even that might be broken at the moment.
13:42:32 <HackEgo> foo.c: In function ‘main’: \ foo.c:1:22: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
13:42:37 <GeekDude> fizzie: awww
13:42:41 <mroman_> `run foo %x%x%x
13:42:42 <HackEgo> bash: foo: command not found
13:42:45 <mroman_> `run ./foo %x%x%x
13:42:46 <HackEgo> ​./foo
13:42:56 <mroman_> `run echo "main(int a,char** v){printf(v[1]);}" > foo.c
13:42:57 <HackEgo> No output.
13:42:58 <mroman_> I suck :(
13:43:00 <mroman_> `run gcc -C foo.c -o foo
13:43:02 <HackEgo> foo.c: In function ‘main’: \ foo.c:1:22: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
13:43:05 <mroman_> `run ./foo %x%x%x
13:43:05 <HackEgo> bfcded78bfcded900
13:43:51 <fizzie> `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 <HackEgo> No output.
13:44:13 <fizzie> Now if only I could motivate myself to do the same for ~ or ~/tmp at home.
13:44:15 <HackEgo> [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 <mroman_> `run echo "main(int a,char** v){int i = 0xcafebabe; printf(v[1]); printf("%d",i); return i;}" > foo.c
13:44:49 <HackEgo> No output.
13:44:55 <mroman_> `run gcc -C foo.c -o foo
13:44:55 <HackEgo> 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 <mroman_> `run ./foo %x%x%x
13:45:07 <HackEgo> bffe6d78bffe6d900
13:45:30 <mroman_> `run mv foo bin/hackme
13:45:31 <HackEgo> No output.
13:45:35 <mroman_> `hackme %s
13:45:36 <HackEgo> ​./
13:46:05 <mroman_> although
13:46:16 <mroman_> `run ./foo %x%x%x%x%x%x
13:46:16 <HackEgo> bash: ./foo: No such file or directory
13:46:21 <mroman_> `foo %x%x%x%x%x%x
13:46:21 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: foo: not found
13:46:28 <mroman_> `hackme %x%x%x%x%x%x
13:46:29 <HackEgo> bfd9bd78bfd9bd900405a73204000e310bfd9bd78
13:46:36 <mroman_> might have been optimized away
13:47:05 <mroman_> `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 <HackEgo> No output.
13:47:11 <mroman_> `run gcc -C foo.c -o foo -O0
13:47:12 <HackEgo> 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 <mroman_> `run mv -f foo bin/hackme
13:47:24 <HackEgo> mv: cannot stat `foo': No such file or directory
13:47:29 <mroman_> `run mv -f ./foo bin/hackme
13:47:30 <HackEgo> mv: cannot stat `./foo': No such file or directory
13:47:33 <mroman_> oh
13:47:35 <mroman_> ok
13:47:42 -!- zzo38 has quit (Remote host closed the connection).
13:48:02 <mroman_> `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 <HackEgo> No output.
13:48:07 <mroman_> `run gcc -C foo.c -o foo -O0
13:48:09 <HackEgo> foo.c: In function ‘main’: \ foo.c:1:60: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
13:48:15 <mroman_> `run mv -f ./foo bin/hackme
13:48:16 <HackEgo> No output.
13:48:24 <mroman_> `hackme %x%x%x%x
13:48:25 <HackEgo> Segmentation fault
13:48:27 <mroman_> `hackme %x%x%x
13:48:28 <HackEgo> Segmentation fault
13:48:30 <mroman_> `hackme %x%x
13:48:30 <HackEgo> [wiki] [[Rasen]] http://esolangs.org/w/index.php?diff=40450&oldid=40430 * Wolgr * (+61) Corrections and todo list.
13:48:30 <HackEgo> Segmentation fault
13:48:33 <mroman_> `hackme %x
13:48:34 <HackEgo> Segmentation fault
13:48:37 <mroman_> pff
13:48:40 <mroman_> no fun :(
13:48:52 <mroman_> `hackme
13:48:53 <HackEgo> Segmentation fault
13:49:13 <mroman_> `run echo "main(int a,char** v){volatile unsigned int i = 0xcafebabe; printf(v[1]); return (i+1);}" > foo.c
13:49:15 <HackEgo> No output.
13:49:19 <mroman_> `run gcc -C foo.c -o foo -O0
13:49:21 <HackEgo> foo.c: In function ‘main’: \ foo.c:1:60: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
13:49:24 <mroman_> `run mv -f ./foo bin/hackme
13:49:25 <HackEgo> No output.
13:49:27 <mroman_> `hackme %x
13:49:28 <HackEgo> bfd44d78
13:49:31 <mroman_> `hackme %x,%x
13:49:32 <HackEgo> bfbffd78,bfbffd90
13:49:35 <mroman_> `hackme %x,%x,%x
13:49:35 <HackEgo> bfc94d78,bfc94d90,0
13:49:42 <mroman_> `hackme %x,%x,%x,%x
13:49:42 <HackEgo> bff0ed78,bff0ed90,0,405a7320
13:49:51 <mroman_> `hackme %x,%x,%x,%x,%x
13:49:51 <HackEgo> bfdded78,bfdded90,0,405a7320,4000e310
13:49:57 <mroman_> and so on
13:50:10 <GeekDude> can I do a fork bomb?
13:50:13 <Jafet> `uname -a
13:50:14 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
13:50:31 <mroman_> `hackme %lx
13:50:31 <HackEgo> 7fbfa74d78
13:50:35 <mroman_> `hackme %lx
13:50:35 <HackEgo> 7fbfd4fd78
13:50:39 <mroman_> `hackme %lx,%lx
13:50:39 <HackEgo> 7fbfb59d78,7fbfb59d90
13:50:42 <mroman_> `hackme %lx,%lx,%lx
13:50:42 <HackEgo> 7fbfe31d78,7fbfe31d90,0
13:50:51 <mroman_> `hackme %lx,%lx,%lx,%lx
13:50:51 <HackEgo> 7fbf965d78,7fbf965d90,0,405a7320
13:50:54 -!- Melvar has joined.
13:50:59 <mroman_> `hackme AAAAAAAA%lx,%lx,%lx
13:50:59 <HackEgo> AAAAAAAA7fbfde0d68,7fbfde0d80,0
13:51:00 <Jafet> Well, a fork bomb would prevent this spam.
13:51:04 <Jafet> Go for it
13:51:05 <mroman_> :D
13:51:06 <mroman_> right
13:51:14 <mroman_> `rm bin/hackme
13:51:15 <HackEgo> No output.
13:51:18 <mroman_> `rm foo.c
13:51:20 <HackEgo> No output.
13:51:21 <mroman_> `rm foo
13:51:21 <HackEgo> rm: cannot remove `foo': No such file or directory
13:52:19 <mroman_> `ulimit
13:52:20 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ulimit: not found
13:52:43 <GeekDude> `run :(){ :|:& };:
13:52:44 <HackEgo> No output.
13:52:58 <GeekDude> aww
13:53:00 <Jafet> `run bash -c 'ulimit -a'
13:53:01 <GeekDude> `test
13:53:01 <HackEgo> 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 <HackEgo> No output.
13:53:34 <Jafet> `run bash -c 'ulimit -u'
13:53:35 <HackEgo> 128
13:53:50 <GeekDude> `run bomb() { bomb | bomb & }; bomb
13:53:51 <HackEgo> No output.
13:54:50 <HackEgo> [wiki] [[Rasen]] M http://esolangs.org/w/index.php?diff=40451&oldid=40450 * Wolgr * (+0) correct versions
13:55:00 <HackEgo> [wiki] [[Rasen]] http://esolangs.org/w/index.php?diff=40452&oldid=40451 * Wolgr * (+0)
13:56:43 <Jafet> `runc $'main() { printf("%p %p %p %p %p %p %p %p\n"); }'
13:56:44 <HackEgo> No output.
13:56:54 <HackEgo> [wiki] [[User:Wolgr]] http://esolangs.org/w/index.php?diff=40453&oldid=39479 * Wolgr * (-1)
13:57:21 <Jafet> `runc $'main() { printf("%p %p %p %p %p %p %p %p\\n"); }'
13:57:23 <HackEgo> No output.
13:57:56 <Jafet> `runc main() { printf("%p %p %p %p %p %p %p %p\\n"); }
13:57:57 <HackEgo> 0x7fbfd81d68 0x7fbfd81d78 (nil) 0x405a7320 0x4000e310 (nil) 0x40240ead (nil)
13:58:02 <fizzie> Just give it literal text.
13:59:10 <Jafet> `run for i in `seq 10`; do runc 'main() { int x; printf("%p\n", &x); }'; done
13:59:13 <HackEgo> No output.
13:59:31 <Jafet> `run for i in `seq 10`; do runc 'main() { int x; printf("%p\\n", &x); }'; done
13:59:35 <HackEgo> 0x7fbf831c7c \ 0x7fbfaacc7c \ 0x7fbfe25c7c \ 0x7fbfafcc7c \ 0x7fbfbdcc7c \ 0x7fbfcf4c7c \ 0x7fbfd02c7c \ 0x7fbfa00c7c \ 0x7fbf908c7c \ 0x7fbfdd6c7c
13:59:50 <fizzie> Ooh, ASLR.
13:59:57 <Jafet> I thought more bits were randomized than that
14:00:33 <fizzie> Might have something to do with the UML stuff, it's not exactly a normal kernel.
14:02:27 <fizzie> `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 <HackEgo> 0x7fbf82dc9c \ 0x7fbffc6c9c \ 0x7fbffcac9c \ 0x7fbfc22c9c \ 0x7fbfbeac9c \ 0x7fbfd51c9c \ 0x7fbfa82c9c \ 0x7fbfb45c9c \ 0x7fbfba7c9c \ 0x7fbf8c0c9c
14:02:57 <Jafet> That shouldn't affect how the stack is mapped, though
14:03:04 <fizzie> No, it's just INELEGANT.
14:03:12 <Jafet> I mean uml
14:03:30 <fizzie> Oh. Well. It used to have a smaller address space, at least.
14:04:08 <fizzie> Having to re-split the userland portion to the UML kernel and user²land.
14:05:16 <fizzie> 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 <mroman_> `run crunchfuck "><<<->[>" 100000000 100 200
14:08:09 <HackEgo> ​ _ \ / `_ _ _ /__/| _ /_ \ /_,//_// //_ / // /_//_ /\ \ \ Result: 171 -> -[>+<+++]> \ Result: 127 -> ++[>+<++]> \ Result: 129 -> ++[>-<++]>
14:10:01 <fizzie> http://lwn.net/Articles/142494/ there's the current "skas0" mode
14:12:35 <fizzie> Seems to be just 11 random bits in those samples.
14:13:50 <b_jonas> <o/\o/\o_
14:13:50 <myndzi> | | |
14:13:51 <myndzi> >\ >\/|
14:19:01 -!- Melvar has quit (Ping timeout: 260 seconds).
14:22:34 <mroman_> How many cycles does -[>-<-----]>+ take to complete?
14:23:23 <mroman_> Those online interpreters never show how many instructions they've executed
14:25:44 <b_jonas> mroman_: the number of cycles is not an observable, and the interpreter may well optimize your program
14:26:08 <b_jonas> mroman_: however, you could try to add a . after each instruction and check how much it prints
14:28:09 <mroman_> around 512
14:28:11 <mroman_> *513
14:28:30 <b_jonas> `bf >>>+++++++[-<++++++>]<<< -[>-<----- {>>.<< how many times is this cycle executed} ]>+
14:28:31 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bf: not found
14:28:37 <b_jonas> ^bf >>>+++++++[-<++++++>]<<< -[>-<----- {>>.<< how many times is this cycle executed} ]>+
14:28:38 <fungot> ***************************************************
14:29:09 <int-e> well, 255/5 = 51
14:29:11 <b_jonas> that's 51 stars
14:29:37 <b_jonas> or so j-bot claims when I asked it for [ #'***************************************************'
14:33:43 -!- Melvar has joined.
14:33:51 <FreeFull_> What's crunchfuck?
14:35:48 -!- AnotherTest has quit (Ping timeout: 252 seconds).
14:35:49 -!- Phantom_Hoover has joined.
14:37:13 <mroman_> `run crunchfuck + 1000 0 10
14:37:14 <HackEgo> ​ _ \ / `_ _ _ /__/| _ /_ \ /_,//_// //_ / // /_//_ /\ \ \ Result: 1 -> + \ Result: 2 -> ++ \ Result: 3 -> +++ \ Result: 4 -> ++++ \ Last program: [<><
14:37:22 <mroman_> It searches for brainfuck constants
14:37:40 <mroman_> but I think they have all been calculated by now
14:37:55 <mroman_> at least for (runs in less than 5000 cycles)
14:40:08 <mroman_> +[-[>+++<<]>-]> (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 <mroman_> deadfish constants are probably still open .
14:47:49 <mroman_> and beam constants
14:49:18 -!- FreeFull_ has changed nick to FreeFull.
15:00:31 <oerjan> i don't think deadfish constants are very complicated.
15:00:59 <oerjan> once you get above a certain size, you essentially have to go via the closest square
15:04:25 <oerjan> well, one of the two neighboring squares
15:05:18 <oerjan> 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 <Jafet> `file bin/crunchfuck
15:14:01 <HackEgo> bin/crunchfuck: ERROR: cannot open `bin/crunchfuck' (No such file or directory)
15:14:10 <Jafet> `which crunchfuck
15:14:10 <HackEgo> No output.
15:16:14 <Jafet> 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 <tswett> Hey everyone.
16:05:14 <tswett> So, lemme describe a calculus.
16:05:21 <Phantom_Hoover> eew
16:05:41 <tswett> 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 <tswett> 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 <tswett> Rules:
16:07:55 <tswett> 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 <tswett> Also, both juxtaposition and concatenation are associative.
16:08:36 <tswett> 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 <tswett_> 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 <J_Arcane2> http://devnull-as-a-service.com/home/
16:10:14 <tswett_> Pitchfork: ZI/IV = IN/VI. S-bend: IA/VI = I.
16:11:59 <tswett_> 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 <paul2520> J_Arcane2: that's fantastic
16:12:35 <tswett_> 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 <J_Arcane2> 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 <tswett_> And then inversion means you swap N and Z.
16:13:44 <tswett_> The vertical reflection, horizontal reflection, or inversion of any rule is also a rule.
16:14:10 <tswett_> So this is a calculus describing link theory.
16:14:30 <tswett_> AA/INI/ZZ/IVI/V is an expression for the trefoil knot.
16:14:52 <paul2520> J_Arcane2: "only $1 per TERABYTE per month."
16:15:01 <J_Arcane2> :D
16:15:16 <J_Arcane2> I like the part where it measures storage in abacuses.
16:15:49 <tswett_> 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 <paul2520> 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 <paul2520> J_Arcane2: I'm disappointed that the T-shirt template links on /dev/null as a service are broken
16:44:54 <J_Arcane2> :D I just liked the bitcoin service. :D
16:45:06 <GeekDude> aww
16:45:25 <int-e> @metar LOWI
16:45:25 <lambdabot> LOWI 121620Z 05005KT 020V080 9999 FEW028 SCT035 BKN075 14/10 Q1015 NOSIG
16:45:52 <int-e> not warm
16:46:04 <fizzie> @metar EFHK
16:46:04 <lambdabot> EFHK 121620Z 32006KT 9999 FEW035 BKN200 18/13 Q1024 NOSIG
16:46:12 <fizzie> Warmer.
16:46:25 <GeekDude> telnet devnull-as-a-service.com 9
16:47:03 <paul2520> and the career page. I'm definitely downloading the Android app. That will come in handy...
16:48:41 <int-e> @metar RJNK
16:48:41 <lambdabot> 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 <Phantom_Hoover> 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 <HackEgo> [wiki] [[Talk:Qwerty Reverse Polish Notation]] http://esolangs.org/w/index.php?diff=40454&oldid=40449 * Imaginer1 * (+163)
18:54:12 <HackEgo> [wiki] [[Talk:Qwerty Reverse Polish Notation]] http://esolangs.org/w/index.php?diff=40455&oldid=40454 * Imaginer1 * (-36)
19:06:19 <HackEgo> [wiki] [[Talk:Qwerty Reverse Polish Notation]] http://esolangs.org/w/index.php?diff=40456&oldid=40455 * Imaginer1 * (+34)
19:14:31 <HackEgo> [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 <ion> https://www.kickstarter.com/projects/160456328/extropy-infinite-file-compression/
19:28:14 <fizzie> ion: You're Finnish, right? Do you remember the Melia Mini thing?
19:29:14 <ion> I don’t, i must have forgotten about it or not seen it in the first place.
19:29:54 <fizzie> It was one of those infinite lossless compression things.
19:30:06 <ion> They should have tried crowdfunding.
19:30:20 <b_jonas> wot
19:30:36 <b_jonas> did they also promise reasonable runtime and memory usage for that?
19:30:46 <fizzie> Sure, everything you could want.
19:30:56 <fizzie> 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 <b_jonas> or, like, triple-exponential runtime so you can run it only for data shorter than five bits
19:31:25 <fizzie> http://www.digitoday.fi/data/2006/08/04/suomalaisyritys-kypsyttaa-haviotonta-pakkausta/200610168/66 if you read Finnish.
19:31:41 <b_jonas> I don't
19:32:43 <b_jonas> these days they do reactionless drives for space instead
19:33:16 <fizzie> 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 <fizzie> (Also they were looking for investors.)
19:35:41 <b_jonas> investors for what? a month of pizza money for the genius programmer kid?
19:36:26 <fizzie> For commercializing the technology. And as I recall it, they had a suite of four almost equally impossible technologies.
19:37:19 <b_jonas> including reactionless drive? less impossible than that? more impossible?
19:37:58 <b_jonas> were they claiming that the evil oil corporates want to oppress their freedom and keep the inventions secret forever?
19:39:39 <b_jonas> was one of them a perpetum mobilay with some cleverly disguised description so it's not so obvious?
19:40:37 <fizzie> 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 <b_jonas> 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 <fizzie> Yes. I don't remember the other two.
19:43:00 <b_jonas> do they have ftl information transfer at least, so I get less latency if I internet from Mars?
19:43:08 <fizzie> 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 <fizzie> 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 <tromp> try 8-way Xeons
20:06:01 <fizzie> 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 <Melvar> 15-core?
20:07:14 <fizzie> Hrm. The 6-, 10- and 15-core E7-8893V2, E7-8891V2 and E7-8890V2 all have the same recommended customer price.
20:07:57 <fizzie> 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 <Melvar> Whyy such an unround number?
20:09:18 <fizzie> 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 <fizzie> (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 <Melvar> Everything should be power-of-two or three-times-power-of-two. Even 10 cores is weird.
20:11:39 <fizzie> 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 <HackEgo> [wiki] [[Special:Log/newusers]] create * 6c1 * New user account
21:13:45 <HackEgo> [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 <oerjan> splitty today
23:23:59 <shachaf> splørjan
23:24:14 -!- conehead has joined.
23:25:36 <oerjan> splatchaf
23:25:58 <shachaf> 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 <boily> @metar ENVA
23:36:08 <lambdabot> ENVA 122250Z 12005KT CAVOK 08/07 Q1028 RMK WIND 670FT 10007KT
23:36:27 -!- Gregor has joined.
23:36:28 <boily> hellørjan. I hope you remarked that there is wind.
23:37:14 <oerjan> i did not, it was not noticable when i was outside last
23:37:39 <oerjan> i might remark that it was chilly today, though.
23:37:52 <oerjan> (technically yesterday, now)
23:37:58 <boily> right.
23:38:02 <boily> @metar CYUL
23:38:02 <lambdabot> CYUL 122300Z 24009KT 30SM FEW030 FEW045 SCT240 12/06 A3026 RMK CF1SC1CI3 CF TR SLP247
23:38:07 <boily> oh, twelve!
23:38:12 <oerjan> *+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 <boily> 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 <AndoDaan> hmmm
23:40:25 <boily> AndelloDaan.
23:40:32 <AndoDaan> hey, Boily
23:40:41 <AndoDaan> what ya working on?
23:41:28 <boily> lots of things at work. otherwise, I am disappointing quintopia by not releasing a new esolang.
23:41:40 <oerjan> boily: no, noticeable
23:42:00 -!- J_Arcane2 has joined.
23:42:06 <AndoDaan> hey oerjan
23:42:07 <boily> I didn't even notice there was a missing e there.
23:42:28 <boily> AndoDaan: with oerjan, it is good form to hey hey hemskt mickerjan him.
23:42:29 <oerjan> it's a bit subtle case, which is presumably why i misspelled it to begin with
23:42:40 <oerjan> boily: *myck
23:42:47 <boily> darn :P
23:43:03 <AndoDaan> I'm not entirely sure what that means :)
23:43:06 <oerjan> svëdish is hård
23:43:18 <AndoDaan>
23:43:24 <AndoDaan> dammit altcode
23:43:31 <oerjan> AndoDaan: it's from a swedish novelty song which i got into boily's brain
23:43:59 <AndoDaan> ha. an earworm to annoy him...?
23:44:25 <oerjan> well i haven't heard much about annoyance
23:44:41 <AndoDaan> listening to the youtube vid now
23:44:55 -!- mtve has joined.
23:44:58 -!- digitalcold has joined.
23:45:08 <AndoDaan> when it bloody loads
23:45:24 <oerjan> after that you can listen to Den Makalöse Manicken, because i wouldn't give him just _one_ earworm, you see.
23:45:44 <oerjan> *a
23:45:50 <AndoDaan> Inspector gadget
23:45:59 <olsner> leave it to the norwegians to put swedish songs in people's brains
23:46:05 <oerjan> (swädish is hørd, i said!)
23:46:26 <AndoDaan> wow, that translate to swedish is hard
23:46:34 <boily> 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 <AndoDaan> I can understand SWEDISH!
23:46:44 -!- nisstyre has joined.
23:46:53 <boily> *gasp* AndoDaan's been assimilated!
23:47:12 <AndoDaan> also means I can understand nowegian and danish
23:47:41 <AndoDaan> hej hej is kinda catchy
23:48:29 -!- Phantom___Hoover has joined.
23:48:43 <AndoDaan> now den makalosa manicken
23:48:55 <AndoDaan> swedish women man... i swear
23:49:09 <olsner> the makalös manick
23:49:27 <shachaf> is swedish good
23:49:33 <AndoDaan> beatboxing
23:49:35 <shachaf> i could learn it instead of finnish
23:49:53 -!- Patashu has joined.
23:49:59 <olsner> it's better than finish but not as fun, I think
23:50:40 <oerjan> swedish is trist like a bamba
23:51:16 <AndoDaan> okay den makalosa manicken is hard to bear, no la bamba
23:51:23 <AndoDaan> sad la bamba?
23:51:35 <oerjan> AndoDaan: the one boily linked above
23:51:40 <AndoDaan> yep
23:51:45 <olsner> bamba is incidentally the gothenburg word for school food dispentionery
23:52:02 <oerjan> okej
23:52:30 <olsner> joråsatt
23:52:30 <AndoDaan> the guys is wearing an american sweater, does that have anything to do with the lyrics?
23:52:46 <AndoDaan> to my shame I can't even understand the french subs
23:53:41 <boily> nothing has to do with the lyrics, not even themselves.
23:53:51 <boily> they are the lyrics that are.
23:53:52 <AndoDaan> hmm
23:54:15 -!- tromp has joined.
23:54:22 <AndoDaan> DEFINITIVEMENT
23:54:38 <AndoDaan> s'alright
23:54:55 <oerjan> AndoDaan: now you can go to hubba hubba zoot zoot twh
23:55:01 <boily> AAAAURGH!
23:55:12 <boily> and then I was naïvely thinking that I had forgot that one.
23:55:20 <oerjan> i think boily mana... right
23:55:30 <olsner> hubba hubba zoot zoot sounds familiar, but it is not from the makalös manick, is it?
23:55:35 <boily> no, I'm out of mana.
23:55:53 <olsner> boily: mana mana
23:56:06 * boily woggles around like an orange muppet :D
23:56:08 <oerjan> olsner: i don't know that any of the three swedish songs i've mentioned are from the same artist
23:56:48 <olsner> well, I don't know what I'm talking about anyway
23:57:01 <AndoDaan> wow... that's pretty bad
23:57:29 <AndoDaan> is this a thing in Sweden? hubba hubba zoot zoot?
23:57:56 <oerjan> AndoDaan: these are all old songs from the 1980s or so
23:58:47 <oerjan> hubba hubba zoot zoot was played at the first school party i remember, when i was 11-12
23:59:02 <AndoDaan> the '80s should be obliterated from the records.
23:59:06 <oerjan> NOOOO
23:59:12 <boily> NOOOOOOOOOOO!
23:59:17 <AndoDaan> c'mon people...
23:59:24 * boily mapoles AndoDaan
23:59:31 <AndoDaan> NOOOO
23:59:37 <boily> oui.
23:59:37 -!- drdanmaku has quit (Changing host).
23:59:37 -!- drdanmaku has joined.
23:59:56 <AndoDaan> nah, I like uhm total ecplipse of the heart
2014-09-13
00:00:08 <AndoDaan> and weathering heights... I think
00:00:15 <AndoDaan> that's eighties... maybe
00:00:16 <oerjan> i've somehow found myself learning the lyrics to a _russian_ 80s pop ballad recently
00:02:05 <oerjan> Миллион алых роз
00:02:28 <boily> alyx? what's an alyx?
00:02:37 <oerjan> until i heard it by accident on youtube i've always thought it was swedish.
00:02:51 <oerjan> it means "scarlet" iiuc
00:02:58 <boily> makes sense.
00:03:29 <oerjan> (technically it isn't russian either, but latvian.)
00:03:56 <boily> ah? surprising.
00:04:18 <boily> while we're on old folkloric stuff, one song I like a little bit too much: http://youtu.be/S4aqM_wu6Ns
00:04:25 <oerjan> well originally
00:05:58 -!- Bicyclidine has quit (Ping timeout: 252 seconds).
00:06:25 <olsner> ooh, are those accurate subtitles?
00:06:48 <boily> afaicuc, I'd say so.
00:07:04 <olsner> it really brings a new dimension to this already great song
00:07:49 <oerjan> boily: OKAY
00:09:01 <boily> really, some day I'll find a way to extract some recording of you saying OKAY.
00:09:26 <boily> (probably also very lâchement use it as a ringtone on my cellphone ^^)
00:09:45 <olsner> just travel to northern norway and collect the sample, how hard could it be
00:11:34 <boily> I shall acquire a few pounds of lembas first, then prepare myself for the long voyage until Ørjanland.
00:12:40 <olsner> in norway it's called lefse, http://en.wikipedia.org/wiki/Lefse
00:13:25 <olsner> I think örjanland might have an airport actually
00:14:01 <oerjan> if you travel by ferry you can get https://en.wikipedia.org/wiki/Svele instead
00:14:32 <oerjan> olsner: just be aware that the airport is right next to Hell hth
00:15:09 <olsner> is hell between the airport and örjanland?
00:15:29 <oerjan> hm, yes.
00:15:57 <olsner> 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 <Sgeo> I made a comment on FB along the lines of
01:56:10 <Sgeo> "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 <Sgeo> Are there any bugs that could realistically show all three behaviors in different browsers?
01:56:39 <newsham> sgeo: there is no standard for web
01:56:49 <Sgeo> I mean, works-in-one-blatant-breakage-in-another is simple enogh, but security hole in a third?
01:56:55 <newsham> so there can be no correctness for web
01:56:57 <Sgeo> 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 <Sgeo> Also, apparently I don't know how to use jQuery
02:23:21 <Sgeo> I thought $("<input type='hidden'>") sort of things would work. Not sure why
02:23:50 <Sgeo> It ... did seem to work in Chrome... which is odd, why would jQuery-provided functionality be browser specific?
02:25:36 <Sgeo> "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 <Sgeo> "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 <shachaf> int-e: imagine if lambdabot imported Data.Monoid.Nonfree from http://hackage.haskell.org/package/nonfree
03:36:15 <Sgeo> shachaf: Oh! So it's a cheat monoid to see what the nesting looks like?
03:36:25 <shachaf> Yes.
03:36:33 <shachaf> There's more documentation than the Haddock page shows.
03:36:49 <shachaf> 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 <Sgeo> 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 <Jafet> 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 <lifthrasiir> 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 <HackEgo> [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 <fizzie> The weirdest. My bouncer has an open TCP connection to a freenode server that seems to have become permanently stuck.
07:48:32 <fizzie> 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 <fizzie> (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 <fizzie> I'd restart it, but it's also connected to another network, and that side is working fine.
07:50:44 <fizzie> I don't suppose there's any reasonable way to reset a TCP connection from outside the process?
07:50:58 <fizzie> Perhaps I could attach a debugger, do a close on the fd and detach.
07:51:49 <fizzie> Heh, ps lists the "process started" field as just "2013".
07:52:51 <fizzie> ...and it also has open file descriptors up to 153.
07:55:01 <fizzie> 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 <shachaf> 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 <mroman_> 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 <mroman_> > 'a'..'z'
09:49:05 <lambdabot> <hint>:1:4: parse error on input ‘..’
09:49:10 <mroman_> > ['a'..'z']
09:49:11 <lambdabot> "abcdefghijklmnopqrstuvwxyz"
09:49:24 <mroman_> > ['a'..'z']++['A'-'Z']++['0'-'9']
09:49:25 <lambdabot> No instance for (GHC.Num.Num GHC.Types.Char)
09:49:25 <lambdabot> arising from a use of ‘GHC.Num.-’
09:49:36 <mroman_> > length $ ['a'..'z']++['A'..'Z']++['0'..'9']
09:49:37 <lambdabot> 62
09:52:17 <mroman_> how many printable asciis are there?
09:52:36 <mroman_> > length $ ['a'..'z']++['A'..'Z']++['0'..'9']++".:?![]_#+*/"
09:52:37 <lambdabot> 73
09:54:32 <mroman_> ok
09:54:37 <mroman_> > 322/73
09:54:38 <lambdabot> 4.410958904109589
09:55:00 <mroman_> hm
10:00:27 -!- nisstyre has joined.
10:05:18 <Melvar`> > filter isPrint ['\0'..'\255']
10:05:20 <lambdabot> " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefgh...
10:05:28 <Melvar`> > length $ filter isPrint ['\0'..'\255']
10:05:29 <lambdabot> 190
10:05:33 -!- Melvar` has changed nick to Melvar.
10:05:47 <Melvar> > length $ filter isPrint ['\0'..'\127']
10:05:48 <lambdabot> 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 <mroman_> > filter isPrint ['\0'..'\127']
10:24:33 <lambdabot> " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefgh...
10:24:47 <mroman_> > drop 50 $ filter isPrint ['\0'..'\127']
10:24:49 <lambdabot> "RSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
10:25:32 <mroman_> yeah, but I can't use 0-9 and . because those are numbers
10:25:34 <mroman_> {} are Blocks
10:26:28 <mroman_> I'd have to switch into ANSI of some sort
10:26:50 <myname> why not unicode
10:27:48 <mroman_> it's for golfing
10:27:57 -!- evalj has joined.
10:28:27 <myname> well, if you golf for chars, you should definitely go for unicode
10:28:40 <mroman_> :)
10:28:43 <mroman_> nope
10:37:06 <myname> mroman_: okay, this is actually the first time i notice that blsq and j programs are build from different directions
10:37:44 <mroman_> J is right-to-left afaik
10:37:53 <myname> it is
10:38:58 <myname> i am a bit disappointed that there is no burlesque package in AUR though
10:39:04 <mroman_> AUR?
10:39:15 <myname> arch user repository
10:39:30 -!- AndoDaan_ has joined.
10:39:35 <mroman_> why should there?
10:39:44 <mroman_> It's widely unknown except in the anagol golfing scene
10:39:52 <myname> because everthing™ is there
10:40:00 <myname> so?
10:41:11 <mroman_> Is J stack-based?
10:41:26 <myname> i don't think so
10:41:32 <Taneb> I believe J is vector-based like APL
10:41:39 <mroman_> Burlesque is stack based
10:41:48 <mroman_> although it's a little bit vectorish I guess as well
10:42:01 <mroman_> !blsq {1 2 3} {4 5 6}?+
10:42:06 -!- AndoDaan has quit (Ping timeout: 246 seconds).
10:42:10 <mroman_> hu
10:42:12 <mroman_> !blsq_uptime
10:42:22 <mroman_> 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 <mroman_> !blsq {1 2 3} {4 5 6}?+
10:44:40 <blsqbot> {5 7 9}
10:44:50 <mroman_> !blsq {1 2 3}3?*
10:44:51 <blsqbot> {3 6 9}
10:44:55 <mroman_> !blsq {1 2 3}3?*?s
10:44:56 <blsqbot> {1.7320508075688772 2.449489742783178 3.0}
10:45:02 <mroman_> !blsq {1 2 3}3?*?s++
10:45:02 <blsqbot> 7.1815405503520555
10:45:05 <mroman_> !blsq {1 2 3}3?*?s++pd
10:45:05 <blsqbot> 8
10:45:12 <myname> why ?+ instead of .+?
10:45:33 <mroman_> ?+ and .+ aren't the same Command
10:45:34 <lambdabot> Maybe you meant: v @ ? .
10:45:49 <myname> why not?
10:45:59 <mroman_> !blsq {1 2 3}{1 2 3}{.+}Z[
10:45:59 <blsqbot> {ERROR: Burlesque: (.+) Invalid arguments! {1 1} ERROR: Burlesque: (.+) Invalid
10:46:01 <mroman_> !blsq {1 2 3}{1 2 3}{.+}Z]
10:46:01 <blsqbot> {2 4 6}
10:46:07 <mroman_> !blsq {1 2 3}{4 5 6}{.+}Z]
10:46:07 <blsqbot> {5 7 9}
10:46:18 <mroman_> Z] is zipWith
10:46:36 <myname> so, what if you don't zip?
10:46:43 <mroman_> hm?
10:46:45 <mroman_> like what?
10:47:02 <myname> !blsq {1 2 3}{4 5 6}.+
10:47:02 <blsqbot> {1 2 3 4 5 6}
10:47:06 <myname> aaaah
10:48:02 <myname> well, to be honest, i do think having the same operator for addition and concatenating isn't the best choice
10:48:52 <mroman_> !blsq {1 2 3}{4 5 6}.+
10:48:52 <blsqbot> {1 2 3 4 5 6}
10:48:56 <mroman_> !blsq {1 2 3}{4 5 6}.+{5 6}.-
10:48:56 <blsqbot> ERROR: Burlesque: (.-) Invalid arguments!
10:49:05 <mroman_> !blsq "abcd""cd".-
10:49:06 <blsqbot> "ab"
10:49:11 <mroman_> I guess that only works for strings
10:49:16 <mroman_> hm
10:49:28 <mroman_> that's bad. It should work for lists as well I guess
10:49:55 <mroman_> !blsq {1 2 3}{4 5 6}_+
10:49:55 <blsqbot> {1 2 3 4 5 6}
10:50:14 <myname> _+ does the same as .+?
10:50:47 <mroman_> no
10:50:50 <mroman_> !blsq 1 2_+
10:50:51 <blsqbot> {1 2}
10:50:55 <mroman_> !blsq 1 2.+
10:50:56 <blsqbot> 3
10:51:06 <myname> okay
10:52:28 <mroman_> myname: the problem was that I released some version of Burlesque on golf.shinh.org
10:52:31 <myname> 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 <mroman_> which forced me to be backwards compatible at all cost
10:52:55 <mroman_> which is why some commands behave a little bit weird or some are duplicates except in rare cases
10:54:13 <mroman_> I would have moved {1 2 3}{1 2 3}.+ to _+
10:54:16 <myname> 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 <mroman_> but I couldn't do that
10:54:19 <myname> i like that
10:54:24 <mroman_> because backwards compat...
10:55:37 <mroman_> my eval loop sadly doesn't know what arguments the commands want
10:55:42 <mroman_> only the commands know that
10:56:17 <mroman_> the most common commands automatically zip or map
10:56:28 <mroman_> !blsq {100 120 989}fC
10:56:28 <blsqbot> {{2 2 5 5} {2 2 2 3 5} {23 43}}
10:59:21 <mroman_> and there is )
10:59:40 <mroman_> !blsq 9sa
10:59:40 <blsqbot> ERROR: Burlesque: (sa) Invalid arguments!
10:59:42 <mroman_> !blsq 9SA
10:59:43 <blsqbot> ERROR: Unknown command: (SA)!
10:59:44 <mroman_> !blsq 9S[
10:59:45 <blsqbot> 81
10:59:49 <mroman_> !blsq {1 2 3}S[
10:59:50 <blsqbot> ERROR: Burlesque: (S[) Invalid arguments!
10:59:52 <mroman_> !blsq {1 2 3})S[
10:59:52 <blsqbot> {1 4 9}
11:00:43 -!- tswett has joined.
11:01:19 <mroman_> ) performs a map and : performs a filter
11:01:25 <mroman_> !blsq "abcd987ac")ri
11:01:25 <blsqbot> {1 1 1 1 1 1 1 1 1}
11:01:36 <mroman_> !blsq "abc**d987ac")ri
11:01:37 <blsqbot> {1 1 1 0 0 1 1 1 1 1 1}
11:01:40 <mroman_> !blsq "abc**d987ac":ri
11:01:40 <blsqbot> "abcd987ac"
11:02:15 <mroman_> !blsq 1J{.*}9C!
11:02:15 <blsqbot> 1
11:02:18 <mroman_> !blsq 1J{.*}9!C
11:02:18 <blsqbot> 1
11:02:30 <mroman_> !blsq 1J{?*}9!C#s
11:02:31 <blsqbot> {1 1 1 1 1 1 1 1 1 1 1}
11:02:38 <mroman_> !blsq 1 2{?*}9!C
11:02:38 <blsqbot> 1
11:02:41 <mroman_> !blsq 1 2{?*}9C!
11:02:41 <blsqbot> 36028797018963968
11:02:45 <mroman_> !blsq 1 2{?*}9C!#s
11:02:45 <blsqbot> {36028797018963968 17179869184 2097152 8192 256 32 8 4 2 2 1}
11:03:58 <mroman_> !blsq 1 2 3#s
11:03:58 <blsqbot> {3 2 1}
11:04:01 <mroman_> !blsq 1 2 3x/#s
11:04:01 <blsqbot> {1 3 2}
11:09:37 <mroman_> myname: there's also some inconsistency between concat and implode
11:09:43 <mroman_> !blsq {1 2 3 4}\[
11:09:44 <blsqbot> {1 2 3 4}
11:09:48 <mroman_> !blsq {1 2 3 4}im
11:09:48 <blsqbot> 1234
11:10:08 <mroman_> !blsq {'a 'b 'c)\[
11:10:09 <blsqbot> ERROR: (line 1, column 13):
11:10:12 <mroman_> !blsq {'a 'b 'c}\[
11:10:12 <blsqbot> "abc"
11:10:15 <mroman_> !blsq {'a 'b 'c}im
11:10:15 <blsqbot> ERROR: Burlesque: (++) Invalid arguments!
11:10:17 <mroman_> ;)
11:10:58 <mroman_> !blsq {"abc" "de"}\[
11:10:58 <blsqbot> "abcde"
11:11:00 <mroman_> !blsq {"abc" "de"}im
11:11:00 <blsqbot> ERROR: Burlesque: (++) Invalid arguments!
11:11:20 <mroman_> which is bad :(
11:11:23 <mroman_> !blsq 123XXim
11:11:24 <blsqbot> 123
11:11:27 <mroman_> !blsq "abc"XXim
11:11:27 <blsqbot> ERROR: Burlesque: (++) Invalid arguments!
11:11:37 <mroman_> XXim is *supposed* to be the identity
11:11:40 <mroman_> but... :)
11:11:45 <mroman_> for historical reasons it's not
11:12:07 <mroman_> !blsq 1234XX++
11:12:07 <blsqbot> 10
11:12:52 <mroman_> !blsq 1R@im++
11:12:52 <blsqbot> Ain't nobody got time fo' dat!
11:12:58 <mroman_> !blsq 1 10r@im++
11:12:59 <blsqbot> ERROR: Burlesque: (++) Invalid arguments!
11:13:02 <mroman_> !blsq 1 10r@im
11:13:04 <blsqbot> 12345678910
11:13:09 <mroman_> !blsq 1 20r@im
11:13:10 <blsqbot> 1234567891011121314151617181920
11:15:26 <mroman_> !blsq 1 20r@imfC
11:15:27 <blsqbot> Ain't nobody got time fo' dat!
11:15:31 <mroman_> !blsq 1 10r@imfC
11:15:31 <blsqbot> {2 5 1234567891}
11:15:39 <mroman_> !blsq 1 11r@imfC
11:15:39 <blsqbot> {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 <Melvar`> > filter isPrint ['\0'..'\127'] \\ ['0'..'9'] \\ "{}"
11:27:11 <lambdabot> Precedence parsing error
11:27:12 <lambdabot> 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 <mroman_> !blsq 255ro)L[:ri
11:29:42 <blsqbot> {'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 <mroman_> !blsq 255ro)L[:ri\[
11:29:46 <blsqbot> "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\170\178\179\181\
11:29:59 <mroman_> !blsq 255ro)L[:ri\[L[
11:29:59 <blsqbot> 133
11:32:58 <mroman_> 133 alnums
11:34:06 <mroman_> hm
11:34:18 <mroman_> !blsq 255{L[}GO:riL[
11:34:19 <blsqbot> 133
11:36:42 <b_jonas> 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 <mroman_> No idea
12:00:24 <mroman_> Can't find anything in the rfc as well
12:02:21 <b_jonas> 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 <HackEgo> [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 <HackEgo> [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 <boily> @metar FREENODE
14:55:37 <boily> I wonder what would a METAR for freenode look like...
14:57:25 -!- blsqbot has quit (Ping timeout: 260 seconds).
14:57:46 <Melvar> There were notices.
14:58:54 <boily> I read them. as a responsible IRC addict, I changed my password.
15:04:12 <Melvar> 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 <fizzie> 95 was the correct answer for printable ASCII; 32..126.
15:16:43 <oerjan> 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 <oerjan> (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 <int-e> I remember those, poor wolf.
15:42:24 <int-e> @bot
15:42:24 <lambdabot> :)
15:46:00 <boily> @botsnack
15:46:01 <lambdabot> :)
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 <Sgeo> 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 <Phantom_Hoover> Sgeo, i love the t_paamayim tip
17:49:40 <Bike> validating json with a regex
17:49:52 <ion> all of my wat
17:50:45 <coppro> 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 <Sgeo> What's this about passwords?
18:45:57 <int-e> some freenode server has been compromised apparently
18:46:46 <Bike> anybody could be compromised
18:46:50 <Bike> i don't even know you're sgeo, really
18:47:36 <Sgeo> 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 <Bike> from now on i shall refer to you as ngeo, for not-sgeo
18:49:43 <int-e> . o O ( "My ... name ... is ... Sgeo!" ... followed by a subway train. )
18:52:33 <J_Arcane> Dammit, now I gotta come up with another throwaway password just for a stupid IRC nick? :P
18:55:53 <fizzie> Or ask your computer to come up with one, it's not like it has anything better to do.
18:56:17 <fizzie> I don't think I've used my password in a long time, since https://freenode.net/certfp/
18:59:21 <Vorpal> Does anyone know a reasonable guide to the sudoers file?
18:59:25 <Vorpal> The man page is terrible
18:59:39 <Vorpal> It begins with an introduction to EBNF ffs.
19:00:16 <Phantom_Hoover> it's not terrible, it's a classic
19:01:06 <Vorpal> Phantom_Hoover, It is a classic example of a terrible man page
19:02:43 <Vorpal> 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 <fizzie> username ALL = /path/to/command arg1 arg2
19:11:56 <fizzie> It does have a list of examples, if you don't want to work it out rigorously.
19:12:04 <fizzie> joe ALL = /usr/bin/su operator
19:12:05 <fizzie> The user joe may only su(1) to operator.
19:14:41 <Sgeo> LastPass could easily entirely impersonate me if they want
19:14:41 <Sgeo> :/
19:15:43 <fizzie> "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 <fizzie> Honestly, it's a bad document, but it's not unusable.
19:23:36 <Vorpal> fizzie, thanks
19:24:12 <Vorpal> fizzie, so no regex? Oh well. And I guess having regex in a suid binary would open up more attack vectors
19:24:36 <Vorpal> 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 <Vorpal> I'm not sure if I can append a env_check/env_h
19:35:41 <Vorpal> ...env_keep to a specific command
19:35:43 -!- fizzie has joined.
19:36:30 <Vorpal> fizzie, Can't figure out how to specify an env_keep for a specific entry only
19:36:49 <Vorpal> I think it might be possible
19:38:31 -!- AndoDaan has quit.
19:39:09 <Vorpal> 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 <ion> Today in Arbore(c)tum http://youtu.be/rUeFj4Ckmxc
19:45:01 <Vorpal> Doesn't seem to work...
19:57:38 <fizzie> 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 <J_Arcane> Northern lights due here in Finland in the next couple of hours.
20:08:36 <fizzie> Unto "Northern Lights" Laine, a professor at our department, said the same about last night.
20:09:00 <J_Arcane> Yeah, there were last night as well. I missed them because I was asleep. XD
20:09:54 <fizzie> http://sprunge.us/bORO
20:10:13 <fizzie> He's kind of famous for his controversial thesis of northern lights making sounds.
20:10:33 <fizzie> http://en.wikipedia.org/wiki/Aurora#Sounds_associated_with_auroras
20:12:40 <J_Arcane> Huh! Never heard of that. I've heard sounds generated *from* an aurora, IIRC, but not of them making sounds themselves.
20:13:41 <fizzie> http://web.aalto.fi/en/current/news/2012-07-09/ too.
20:14:15 <ion> https://github.com/c-darwin/dcoin/pull/2
20:14:22 <fizzie> 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 <fizzie> ion: V. snarky.
20:26:21 <J_Arcane> fizzie: I actually initially looked to getting into Aalto.
20:32:02 <fizzie> I've been looking to getting out of there one of these years.
20:32:23 <fizzie> 12th year starting now, I think.
20:37:19 <J_Arcane> 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 <fizzie> 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 <J_Arcane> 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 <Sgeo> I am going to overdose on 80s music.
21:17:18 -!- Phantom_Hoover has joined.
21:25:36 -!- Bike has joined.
21:25:39 <J_Arcane> 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 <J_Arcane> 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 <FireFly> ow
22:55:53 <HackEgo> [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 <oerjan> or technically two days ago
23:01:41 * Sgeo_ jealouses.
23:01:50 <oerjan> *MWAHAHAHAHA*
23:01:57 <Sgeo_> Would be nice if there was a cruise starting from here specifically for seeing them
23:02:00 <Sgeo_> Would be convenient
23:02:41 <oerjan> a cruise sounds unreliable
23:02:58 -!- Patashu has joined.
23:03:04 <oerjan> because so are auroras
23:03:27 <HackEgo> [wiki] [[User:InputUsername]] N http://esolangs.org/w/index.php?oldid=40462 * InputUsername * (+95) Informationses
23:03:28 <oerjan> you have to spend quite some time up north (or south) to be sure of seeing one
23:03:58 <oerjan> and a cruise sounds a bit too slow to use when there's one forecasted
23:04:04 <Sgeo_> Ah :(
23:04:20 <Sgeo_> Is spending 5 days in Alaska give a good probability of seeing one?
23:04:33 <Sgeo_> Or is that not 'quite some time'
23:09:44 <HackEgo> [wiki] [[User:InputUsername]] M http://esolangs.org/w/index.php?diff=40463&oldid=40462 * InputUsername * (+243) Added more information
23:10:31 <HackEgo> [wiki] [[User:InputUsername]] http://esolangs.org/w/index.php?diff=40464&oldid=40463 * InputUsername * (+15)
23:11:49 <oerjan> 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 <oerjan> although she got really lucky when she did
23:16:59 <oerjan> (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 <Sgeo_> I saw an agency advertising a combined solar eclipse + chance of aurora thing
23:58:10 <Sgeo_> 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 <Star651_> Hello, this is the inventor of the Immi esolang.
01:03:22 -!- Star651_ has quit (Client Quit).
01:10:31 <Bike> goodbye, inventor of the immi esolang.
01:28:45 <monotone> Truly, celebrity is fleeting.
01:33:20 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
01:51:58 <AndoDaan> If I invent an esolang, will girls like me?
01:53:05 <coppro> undoubtedly
01:55:13 <AndoDaan> hot diggity, looks like the world is about to gain another brainfuck derivative!
01:58:23 <HackEgo> [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 <oerjan> AndoDaan: that will only attract girls who are fucked in the brain hth
02:01:02 <HackEgo> [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 <AndoDaan> I wouldn't have it any other way.
02:01:22 <coppro> AndoDaan: brainfuck derivatives don't count
02:01:34 <coppro> AndoDaan: if you make a brainfuck derivative you will be forever alone
02:02:06 <AndoDaan> :(
02:02:30 <coppro> you'll be forever alone forever, in fact
02:02:40 <oerjan> *gasp*
02:04:20 <oerjan> surely there must be some possible atonement, probably grueling and involving inventing TC type systems
02:05:19 <coppro> oerjan: I am not a sage.
02:05:35 <coppro> I do not know the mystic ways to cleanse the taint of a brianfuck derivative from the soul
02:06:01 <oerjan> well without a sage, he'll just have to take his thyme searching.
02:06:43 <oerjan> also there totally should be a brianfuck
02:09:55 <AndoDaan> an esolang themed on puns... that's an idea
02:10:09 <AndoDaan> we all know the ladies dig puns
02:10:28 <oerjan> OKAY
02:10:58 <AndoDaan> I can see that you're impressed.
02:11:23 <coppro> I like it
02:11:26 <coppro> 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 <Sgeo_> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> (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 <HackEgo> [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 <shachaf> oerjan: what's with the latest edit on https://en.wikipedia.org/wiki/Banana_split
07:58:22 <Taneb> zzo38, what are you using the hash for?
07:58:34 <shachaf> oerjan: actually the three latest edits
07:59:48 <Taneb> shachaf, people being silly by defacing Wikipedia?
08:00:02 <shachaf> that's what i figured
08:00:11 <shachaf> imo fix it
08:00:19 <shachaf> and maybe get them banned??
08:31:45 <elliott> please stop using this channel for that.
08:34:36 -!- AnotherTest has joined.
08:36:23 <shachaf> 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 <Taneb> I get way too emotionally invested in Dwarf Fortress
10:26:49 <fizzie> Do you use names of real people there?
10:26:53 <Taneb> No
10:27:14 <AndoDaan> All the death?
10:27:18 <Taneb> But yesterday three of my dwarfs got turned by a werepanda and I actually started crying
10:27:39 <AndoDaan> aww sound cute
10:27:42 <coppro> O_o
10:28:35 <Taneb> Then I sort of neglected to do anything about this werepanda problem and 6 more have been turned/killed
10:29:26 <AndoDaan> why were you not prepared?
10:29:40 <Taneb> Inexperience with werebeasts
10:30:44 <AndoDaan> joking aside, isn't things going wrong the most apealing aspect of df?
10:30:50 <AndoDaan> I've heard that.
10:31:36 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
10:31:41 <Taneb> It's more that things going wrong is the real enemy in dwarf fortress
10:32:06 <Taneb> 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 <Taneb> OK, total of 15 more werepandas after this one was killed
10:59:19 <AndoDaan_> do you ever whipe out your own people so you can start afresh with a new bunch?
11:01:26 <Taneb> No, I just make a new world
11:02:36 <AndoDaan_> I tried getting into df a while back, but the learning curve seemed steep.
11:02:40 <AndoDaan_> for me at least
11:05:09 <Taneb> It is
11:27:55 <Phantom_Hoover> the problem is that you have to learn around two-thirds of the game right off the bat to get anywhere
11:29:35 <b_jonas> 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 <Taneb> Right, this fortress is dying
11:53:12 <AndoDaan> light a small fire while they are sleeping
11:53:35 <AndoDaan> don't let the children suffer.
11:53:45 <AndoDaan> are there dwarf children?
11:54:46 <Taneb> Yeah, and they've already suffered
11:55:21 <AndoDaan> :( well, at least got too see a (were)panda up close
11:55:39 <AndoDaan> they got to*
11:57:42 <Taneb> Now I'm just trying to bury the dead and MAYBE recover
11:58:25 <AndoDaan> the dead are remembered, right?
11:59:17 <AndoDaan> that sounded strange. I mean, the game keeps a record of each individual?
12:00:34 <Taneb> The dead are remembered
12:00:36 -!- shikhout has joined.
12:00:51 <Taneb> If they aren't buried or memorialized, your fort's citizens can come back as ghosts and mess stuff up
12:01:52 <AndoDaan> awkward.
12:02:00 <J_Arcane> CL's loop syntax is soooo weird.
12:04:00 -!- shikhin has quit (Ping timeout: 250 seconds).
12:04:05 <fizzie> It's like a whole little language.
12:04:19 <J_Arcane> Yeah.
12:06:18 <b_jonas> heh
12:09:12 <fizzie> "loop" - a predicate function for testing whether an object is a toilet.
12:09:30 * oerjan swats fizzie -----###
12:11:51 <fizzie> fungot: Quick, make a terrible pun so that mine gets forgotten.
12:11:51 <fungot> fizzie: it seems to work with the new fnord memory management sucks, though.).
12:12:07 <fizzie> fungot: Not helpful.
12:12:07 <fungot> 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 <oerjan> i suspect fungot is overcomplicating it
12:12:43 <fungot> oerjan: i already figured it out.
12:13:02 <oerjan> oh. ok then.
12:26:45 -!- boily has joined.
12:27:11 <oerjan> boily: your earworm revenge has been moderately successful hth
12:28:08 <oerjan> (jožin! z bažin!)
12:43:47 <boily> bon matørjan!
12:43:49 <boily> :D
12:44:27 <oerjan> 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 <J_Arcane> 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 <J_Arcane> 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 <oerjan> J_Arcane: a + b >= c, a + c >= b, and b + c >= a, that's all if you are given the sides
13:12:06 <oerjan> *side lengths
13:12:29 <J_Arcane> oerjan: You know, originally I thought to do it like that but somehow I thought it'd be harder ...
13:14:18 <oerjan> there's a reason d(A,C) <= d(A,B) + d(B,C) is called the triangle inequality :)
13:16:19 <oerjan> oh hm unless you want the triangle to be possibly degenerate, you want > rather than >=.
13:18:10 <J_Arcane> Yeah, I just figured that out I think.
13:20:48 <boily> @metar CYUL
13:20:49 <lambdabot> CYUL 141300Z 31004KT 15SM OVC026 08/03 A3032 RMK SC8 SLP268
13:21:02 <oerjan> @metar ENVA
13:21:02 <lambdabot> ENVA 141250Z 24004KT 200V290 9999 SCT037 BKN047 16/11 Q1033 NOSIG RMK WIND 670FT 35001KT
13:22:34 <boily> 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 <HackEgo> [wiki] [[Rotary]] N http://esolangs.org/w/index.php?oldid=40468 * InputUsername * (+6101) Published the specification
14:19:01 <HackEgo> [wiki] [[Rotary]] M http://esolangs.org/w/index.php?diff=40469&oldid=40468 * InputUsername * (-25) Fixed small error
14:19:07 <HackEgo> [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=40470&oldid=40442 * InputUsername * (+13) Added Rotary
14:19:53 <HackEgo> [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 <HackEgo> [wiki] [[.Gertrude]] M http://esolangs.org/w/index.php?diff=40472&oldid=40458 * Oerjan * (+19) /* Instructions */ wikitable
15:16:01 <HackEgo> [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 <mroman_> !blsq 6{{3.%n!}"Fizz"{5.%n!}"Buz"}cn
16:48:57 <blsqbot> "Fizz"
16:49:02 <mroman_> !blsq 5{{3.%n!}"Fizz"{5.%n!}"Buz"}cn
16:49:02 <blsqbot> "Buz"
16:51:36 <mroman_> I stole cond from lisp .
16:52:19 <mroman_> @hoogle (a -> b) -> a -> [b]
16:52:22 <lambdabot> Prelude map :: (a -> b) -> [a] -> [b]
16:52:22 <lambdabot> Data.List map :: (a -> b) -> [a] -> [b]
16:52:22 <lambdabot> 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 <mroman_> !blsq 5 {{?i}{?d}{S[}}M_
16:52:40 <blsqbot> ERROR: Unknown command: (M_)!
16:52:43 <mroman_> hm
16:53:05 <mroman_> !blsq 5 {{?i}{?d}{S[}}M-
16:53:05 <blsqbot> {6 4 25}
16:53:47 <fizzie> @type \f -> (:[]).f
16:53:48 <lambdabot> (a -> b) -> a -> [b]
16:55:20 <fizzie> @type ((:[]).) -- I guess the same
16:55:21 <lambdabot> (a -> b) -> a -> [b]
16:57:12 <int-e> also (.)(:[]) [an ape balancing a melon on his head?]
16:59:16 <int-e> 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 <fizzie> It's easy to hit local minima when golfing.
17:00:28 -!- Sprocklem_ has changed nick to Sprocklem.
17:00:28 <int-e> I know :)
17:03:00 -!- Lorenzo64 has joined.
17:12:41 <J_Arcane> I still have no idea how anyone got 77 chars in Clojure.
17:13:08 <int-e> 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 <fizzie> `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 <HackEgo> 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 <fizzie> Still not really golfed but I think shorter than last one.
17:13:58 <int-e> (not about closure, but the 75 byte version looks like it should've been doable. I didn't get there. :)
17:14:06 <fizzie> Whoops, got Fizz and Buzx flipped.
17:14:52 <J_Arcane> Is that a ternary operator I see in the C version?
17:15:42 <int-e> ?:
17:15:42 <lambdabot> Maybe you meant: v @ ? .
17:15:53 <int-e> J_Arcane: of course.
17:16:23 -!- shikhin has quit (Quit: study).
17:17:13 <J_Arcane> 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 <Jafet> 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 <mroman_> @hoogle [(a -> b)] -> a -> [b]
17:37:32 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
17:37:33 <lambdabot> Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b
17:37:33 <lambdabot> Prelude map :: (a -> b) -> [a] -> [b]
17:37:40 <mroman_> oh
17:37:47 <mroman_> > [succ, pred] <*> 3
17:37:48 <lambdabot> No instance for (GHC.Show.Show b0)
17:37:48 <lambdabot> arising from a use of ‘M900173898338523723717631.show_M9001738983385237237...
17:37:48 <lambdabot> The type variable ‘b0’ is ambiguous
17:37:48 <lambdabot> Note: there are several potential instances:
17:37:48 <lambdabot> instance [safe] GHC.Show.Show
17:37:58 <mroman_> > [succ, pred] <*> [3]
17:38:00 <lambdabot> [4,2]
17:38:03 <mroman_> ok
17:39:44 <mroman_> that's sortof what M- is
17:39:54 <mroman_> > [succ, pred] <*> [3,2]
17:39:56 <lambdabot> [4,3,2,1]
17:40:10 <mroman_> > Just succ <*> Just 2
17:40:12 <lambdabot> Just 3
17:40:24 <mroman_> > Just succ <*> Nothing
17:40:25 <lambdabot> can't find file: L.hs
17:40:28 <mroman_> :(
17:40:31 <mroman_> > Just succ <*> Nothing
17:40:34 <lambdabot> Nothing
17:40:43 <mroman_> I like how lambdabot can *randomly* not find L.hs
17:41:40 <elliott> it's a race condition
17:41:52 <Jafet> Someone else hid it
17:43:22 -!- applybot has joined.
17:51:37 <int-e> Hmm, maybe it'll stop now. I can just use ghci to keep those shared libraries hot.
17:54:25 <int-e> 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 <b_jonas> different settings?
18:10:22 <mroman_> http://img-9gag-lol.9cache.com/photo/amLrrQ2_700b.jpg that's... interesting....
18:10:42 <int-e> 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 <TieSoul> well, I managed to make my completely-hash-based Funge interpreter get through Mycology without BADs
18:43:16 <TieSoul> but it's slow
18:43:53 <AndoDaan> 98?
18:48:40 <TieSoul> yes
18:48:41 <TieSoul> 98
18:49:13 <TieSoul> and with HRTI in there Mycology has not completed yet after like a minute
18:49:24 <TieSoul> without HRTI it takes 24 seconds
18:49:41 <TieSoul> by comparison, the non-hash-based one takes 18 seconds with HRTI
18:49:49 <TieSoul> oh hey it finished, in 94 seconds
18:52:22 <TieSoul> the non-hash-based one gets 6 BADs
18:52:28 <TieSoul> in 18 seconds
18:52:39 <TieSoul> the hash-based one gets none in 94 seconds
18:52:49 <TieSoul> I think non-hash-based is the way to go :P
18:52:51 <AndoDaan> trade-off?
18:53:06 <AndoDaan> nah, frankenstein monster it
18:53:13 <TieSoul> ?
18:53:35 <TieSoul> the non-hash-based one uses hashes for too large numbers already btw
18:53:44 <AndoDaan> ah.
18:54:09 <AndoDaan> I finally get how bigInt works
18:54:12 <AndoDaan> thank you.
18:54:23 <TieSoul> 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 <TieSoul> at least, not quickly
18:55:07 <AndoDaan> I wrotee ",
18:55:16 <AndoDaan> in befunge 98
18:55:25 <AndoDaan> outputs: ,,,,,,,
18:55:29 -!- DootBot has joined.
18:55:29 <DootBot> DOOT DOOT!
18:55:31 <AndoDaan> but ,"
18:55:32 <AndoDaan> nothing
18:55:37 <TieSoul> !befunge98 ,"
18:55:52 <TieSoul> !befunge98 ",
18:56:10 <TieSoul> ???
18:56:17 <AndoDaan> in ccbi at least
18:56:20 <TieSoul> my bot is supposed to do that :P
18:56:35 <TieSoul> !befunge98 "olleH">:#,_@
18:56:55 <AndoDaan> "pir",,,
18:57:01 <AndoDaan> "pir",,,@
18:57:40 -!- DootBot has quit (Remote host closed the connection).
18:58:05 -!- DootBot has joined.
18:58:05 <DootBot> DOOT DOOT!
18:58:13 <TieSoul> !befunge98 "yeh",,,@
18:58:16 <TieSoul> wat
18:58:44 <AndoDaan> !befunge98 'q,@
18:58:52 -!- DootBot has quit (Remote host closed the connection).
18:58:59 <TieSoul> yay debugging to do
18:59:05 <AndoDaan> !befunge98 1'q,@
18:59:13 -!- DootBot has joined.
18:59:13 <DootBot> DOOT DOOT!
18:59:16 <TieSoul> !befunge98 52+.@
19:00:43 -!- DootBot has quit (Remote host closed the connection).
19:00:49 <TieSoul> okay I think I've got it
19:00:55 <TieSoul> Ruby is kind of weird with arrays
19:00:57 <TieSoul> :P
19:01:04 -!- DootBot has joined.
19:01:04 <DootBot> DOOT DOOT!
19:01:09 <TieSoul> !befunge98 52+.@
19:01:09 <DootBot> TieSoul: 7
19:01:11 <TieSoul> great
19:01:18 <TieSoul> !befunge98 ",
19:01:22 <DootBot> TieSoul: ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, (Execution timed out.)
19:01:29 <TieSoul> !befunge98 ,"
19:01:29 <AndoDaan> !befunge98 ,"
19:01:37 <TieSoul> huh
19:01:44 <TieSoul> that made it crash
19:02:38 -!- DootBot has quit (Remote host closed the connection).
19:02:44 <TieSoul> more bugfixing
19:02:45 <AndoDaan> popping from an empty stack results a 0, right?
19:02:54 <TieSoul> yes
19:02:58 -!- DootBot has joined.
19:02:58 <DootBot> DOOT DOOT!
19:03:03 <TieSoul> !befunge98 ,"
19:03:07 <DootBot> TieSoul:
19:03:09 <AndoDaan> !befunge98 ,.
19:03:13 <DootBot> AndoDaan:
19:03:16 <AndoDaan> hey, it did it
19:03:25 <TieSoul> !befunge98 5.@
19:03:25 <DootBot> TieSoul: 5
19:03:28 <AndoDaan> no zer0 though
19:03:30 <TieSoul> !befunge98 .
19:03:31 <AndoDaan> !befunge98 ,.@
19:03:31 <DootBot> AndoDaan:
19:04:02 <AndoDaan> wait, I'm not making sense
19:04:10 <TieSoul> !befunge98 .@
19:04:10 <DootBot> TieSoul: 0
19:04:14 <TieSoul> !befunge98 .,@
19:04:14 <DootBot> TieSoul: 0
19:04:21 <TieSoul> Befunge98 'q,5.@
19:04:23 <AndoDaan> !befunge 1+.@
19:04:42 <TieSoul> !befunge98 'q,5.@
19:04:45 <TieSoul> huh
19:04:48 <TieSoul> that does not work
19:05:22 -!- DootBot has quit (Remote host closed the connection).
19:05:42 -!- DootBot has joined.
19:05:42 <DootBot> DOOT DOOT!
19:05:48 <TieSoul> !befunge98 'q,5.@
19:05:49 <AndoDaan> !befunge 1+.@
19:05:52 <TieSoul> nope
19:05:55 <TieSoul> !befunge98 1+.@
19:05:55 <DootBot> TieSoul: 1
19:06:03 <TieSoul> !unefunge98 'q,5.@
19:06:03 <DootBot> TieSoul: q5
19:06:10 <TieSoul> unefunge does work though
19:06:45 <AndoDaan> the double stack bit?
19:07:24 <AndoDaan> nah
19:07:40 <AndoDaan> !unefunge 1+.@
19:07:45 <AndoDaan> !unefunge98 1+.@
19:07:45 <DootBot> AndoDaan: 1
19:07:56 <AndoDaan> well done, DootBot.
19:08:19 -!- DootBot has quit (Remote host closed the connection).
19:08:39 -!- DootBot has joined.
19:08:39 <DootBot> DOOT DOOT!
19:08:44 <TieSoul> !befunge98 'q,5.@
19:08:45 <DootBot> TieSoul: q5
19:08:50 <TieSoul> !befunge98 1+.@
19:08:51 <DootBot> TieSoul: 1
19:08:58 <TieSoul> !befunge98 "AMOR"4(M.@
19:08:59 <DootBot> TieSoul: 1000
19:09:01 <AndoDaan> how'dya solve it?
19:09:10 <AndoDaan> pushing 0 onto the stack first?
19:09:27 <TieSoul> Simply updated the rubyfunge version dootbot is using to the latest version :P
19:09:27 <DootBot> TieSoul: pls hovers = its The slower? that night join whoever wall would the can!
19:09:36 <AndoDaan> ah, lol
19:09:48 <TieSoul> the random talk is 50% chance when you mention dootbot
19:09:49 <DootBot> TieSoul: oh finds not i wrong list to? revenge are KEEPO nothing on solid?
19:09:49 <TieSoul> :P
19:10:03 <AndoDaan> I think ccbi (or the version that anarchy golf uses) has the same issue
19:10:07 <TieSoul> !unefunge98 "olleH">:#,_@
19:10:07 <DootBot> TieSoul: Hello
19:10:19 <TieSoul> !befunge98 v\n5\n.\n@
19:10:23 <DootBot> TieSoul: (Execution timed out.)
19:10:25 <TieSoul> huh
19:10:52 -!- DootBot has quit (Remote host closed the connection).
19:11:22 -!- DootBot has joined.
19:11:24 <DootBot> DOOT DOOT!
19:11:33 <TieSoul> !befunge98 v\n5\n.\n@
19:11:34 <DootBot> TieSoul: 5
19:11:35 <AndoDaan> How do I input multiple lines?
19:11:36 <TieSoul> okay
19:11:39 <TieSoul> using \n
19:11:50 <TieSoul> !brainfuck +++++++++++++++++++++++++.
19:11:51 <DootBot>
19:11:54 <AndoDaan> seems logical :)
19:11:54 <TieSoul> !brainfuck +++++++++++++++++++++++++++++++++++++.
19:11:54 <DootBot> %
19:12:18 <TieSoul> I should also make a !trefunge98
19:12:19 <TieSoul> :P
19:12:40 <AndoDaan> haven't tried that yet
19:13:05 <AndoDaan> 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 <DootBot> DOOT DOOT!
19:14:12 <TieSoul> !trefunge98 h\f5\f.\f@
19:14:13 <DootBot> TieSoul: 5
19:14:27 <TieSoul> !trefunge98 v\nh\f\n>5.@
19:14:28 <DootBot> TieSoul: 5
19:14:56 <TieSoul> !befunge98 h5.@
19:14:56 <DootBot> TieSoul: No output.
19:15:07 <TieSoul> (h reflects in befunge and unefunge)
19:15:10 <AndoDaan> !befunge98 123456789'@00p'@02p1j
19:15:11 <DootBot> AndoDaan: No output.
19:15:31 <AndoDaan> yeah.
19:15:39 <TieSoul> !befunge98 3y.@
19:15:40 <DootBot> TieSoul: 1381320277
19:15:56 <AndoDaan> what's y again?
19:15:59 <TieSoul> that's "RUFU" packed into a number
19:16:02 <TieSoul> y is sysinfo
19:16:05 <AndoDaan> right
19:16:08 <TieSoul> 3y is handprint
19:16:17 <AndoDaan> ah cool
19:16:25 <TieSoul> !befunge98 5#.t.@
19:16:26 <DootBot> TieSoul: 5 5
19:16:32 <TieSoul> concurrency
19:17:06 <TieSoul> !unefunge98 52g2p.@
19:17:06 <DootBot> TieSoul: 5
19:17:31 <TieSoul> ...wait
19:17:37 <TieSoul> that's not supposed to happen
19:17:44 <TieSoul> !unefunge98 2g,@
19:17:44 <DootBot> TieSoul: ,
19:17:54 <TieSoul> oh wait it is
19:18:02 <TieSoul> !unefunge98 52p2g.@
19:18:02 <DootBot> TieSoul: 5
19:18:13 <AndoDaan> empty cells are read as 32 right?
19:18:13 <TieSoul> !trefunge98 5200p200g.@
19:18:14 <DootBot> TieSoul: 5
19:18:16 <TieSoul> yes
19:18:18 <TieSoul> yes they are
19:18:27 <TieSoul> !trefunge98 fffg.@
19:18:27 <DootBot> TieSoul: 32
19:18:29 <AndoDaan> and there's no wrapping wiht g
19:18:38 <TieSoul> ?
19:19:26 <AndoDaan> i mean, like 99g doesn't go round the program three times to get 9
19:19:30 <TieSoul> it gets from fungespace
19:19:39 <TieSoul> not from IP's perspective
19:19:54 <AndoDaan> hmm
19:20:02 <TieSoul> which means basically what you just said
19:20:13 <TieSoul> you could see fungespace as a cartesian plane
19:20:16 <AndoDaan> do the cells between get initialized?
19:20:20 <TieSoul> with each coordinate being a cell
19:20:31 <TieSoul> erm
19:20:32 <TieSoul> what?
19:20:35 <TieSoul> between what?
19:20:51 <AndoDaan> fungespace is infinite, right?
19:20:53 <TieSoul> ohh, no, it's a fixed-length array that's being used
19:20:59 <TieSoul> and a hashmap outside it
19:21:43 <AndoDaan> so 99g
19:22:03 <AndoDaan> after the g the p[ointer wraps around?
19:22:24 <TieSoul> pointer?
19:22:46 <AndoDaan> the ip
19:22:49 <AndoDaan> i think
19:22:54 <TieSoul> the IP moves normally
19:23:10 <TieSoul> oh wait
19:23:13 <TieSoul> in the program 99g
19:23:23 <TieSoul> the IP goes from g, directly to 9
19:23:29 <AndoDaan> yeah, it doesn't move the /n...?
19:23:35 <AndoDaan> really?
19:23:51 <TieSoul> It does not execute any spaces that are in between
19:24:10 <TieSoul> my interpreter keeps track of bounds to do this
19:24:21 <TieSoul> (maximum funge-space cell put to)
19:24:25 <TieSoul> and minimum
19:24:40 <TieSoul> so while 99g would not adjust the bounds
19:24:42 <TieSoul> 99p would
19:24:51 <AndoDaan> just thinking that
19:25:22 <TieSoul> so wrapping after 99p would be, like, a few microseconds slower than after 99g
19:25:23 <TieSoul> :P
19:25:48 <AndoDaan> every nanosecond counts, man!
19:26:00 <TieSoul> yes, sure
19:26:24 <TieSoul> !befunge98 fff**ky@
19:26:26 <AndoDaan> Nah. I mean, it never bothered me, but befunge rrally is kinda slow to execute
19:26:28 <DootBot> TieSoul: (Execution timed out.)
19:26:32 <TieSoul> lol
19:26:45 <int-e> one-Mississipi, two-Mississipi, three-Mississipi
19:27:16 <AndoDaan> I have a hard time knowing who's a bot and who is not on this channel
19:27:17 <TieSoul> I guess 3840 y's was a bit much for my interpreter
19:27:18 <TieSoul> :P
19:27:39 <AndoDaan> hehe. Well I meant in general.
19:27:39 <int-e> AndoDaan: I'm sure you'll figure it out eventually.
19:27:57 <TieSoul> well, I know I'm a bot
19:28:03 <TieSoul> and doot is
19:28:03 <DootBot> TieSoul: I see 999 not lore? !guess of was blame else... and I hi was for what where with!
19:28:03 <AndoDaan> okay, int-e is english understanding bot
19:28:19 <TieSoul> also !source
19:28:20 <DootBot> TieSoul: Source: https://github.com/TieSoul/DootBot
19:28:40 <TieSoul> sorry, my source is not open to the public
19:29:48 <TieSoul> also, Doot's source is outdated
19:29:48 <DootBot> 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 <AndoDaan> did you implement that timetravel fingerprint?
19:30:07 <TieSoul> s/.+/no./
19:30:07 <DootBot> TieSoul: AndoDaan actually meant: no.
19:30:21 <AndoDaan> ha
19:30:58 <TieSoul> 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 <DootBot> DOOT DOOT!
19:37:43 <TieSoul> !befunge98 "PDPF"4(2FQO@
19:37:47 <DootBot> TieSoul: (Execution timed out.)
19:38:07 <TieSoul> !befunge98 "PDPF"4(2FQP@
19:38:08 <DootBot> TieSoul: No output.
19:38:46 -!- DootBot has quit (Remote host closed the connection).
19:38:50 <TieSoul> hrm
19:39:09 -!- DootBot has joined.
19:39:09 <DootBot> DOOT DOOT!
19:39:14 <TieSoul> !befunge98 "PDPF"4(2FQP@
19:39:15 <DootBot> TieSoul: 1.4142135623730951
19:39:20 <TieSoul> ahh, there we go
19:39:25 <TieSoul> good ol' sqrt(2)
19:39:58 <TieSoul> !befunge98 "ILPC"4(52O@
19:40:03 <AndoDaan> !befunge98 "rid"=
19:40:07 <DootBot> AndoDaan: (Execution timed out.)
19:40:08 <AndoDaan> !befunge98 "rid"=@
19:40:08 <DootBot> AndoDaan: No output.
19:40:16 <AndoDaan> makes sense
19:40:22 <TieSoul> no = implementation here
19:40:26 -!- digitalc1ld has changed nick to digitalcold.
19:40:44 <AndoDaan> probably a good idea
19:40:56 <TieSoul> people would do things like "tixe"=
19:41:04 <AndoDaan> hmm
19:41:17 <AndoDaan> I already felt bad for trying "rid"
19:41:20 <AndoDaan> dir
19:41:26 <AndoDaan> people are not like me
19:41:35 <TieSoul> no, there's this person in another chat room
19:41:46 <TieSoul> who tries to find security problems in my bot
19:41:49 <TieSoul> to help me
19:42:15 <AndoDaan> it's all about consent
19:42:44 <AndoDaan> white hat hacking is probably more important than I imagine
19:42:44 <TieSoul> 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 <DootBot> 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<CTCP> into things,.
19:43:09 <TieSoul> I mean, I couldn't put a timeout on it
19:43:27 <TieSoul> without opening the ability to bypass it
19:43:39 <AndoDaan> no coroutines (I'm guessing that would help)
19:43:49 <TieSoul> also the guy managed to DoS me using my s/regex/replacement/ function
19:44:07 <TieSoul> But that was because Ruby doesn't have a proper timeout for regexes
19:44:11 <AndoDaan> I've been programming lua for the past year, still haven't used coroutines.
19:44:11 <TieSoul> but JRuby does
19:44:15 <TieSoul> so I switched to that
19:44:17 <AndoDaan> wow
19:44:38 <AndoDaan> i read dox
19:44:44 <AndoDaan> you wrote DoS
19:44:58 <AndoDaan> the former was a bit scarier
19:45:01 <TieSoul> yes
19:45:29 <TieSoul> !befunge98 y,#
19:45:34 <DootBot> TieSoul: <CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP> (Execution timed out.)
19:45:37 <TieSoul> huh
19:45:44 <TieSoul> !befunge98 y,2j
19:45:48 <DootBot> TieSoul: <CTCP>
19:46:03 <TieSoul> hrm
19:46:06 <TieSoul> odd
19:46:17 <TieSoul> it's supposed to show my environment variables
19:46:24 <TieSoul> but I guess it doesn't work :P
19:46:31 <AndoDaan> as numbers?
19:46:32 <AndoDaan> so .
19:46:45 <TieSoul> !befunge98 y.2j
19:46:49 <DootBot> 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 <AndoDaan> but yeah, 85 83 69 should have outputed, sorry
19:47:50 <TieSoul> (hrm, jumping over right edge seems to not work correctly)
19:48:13 <AndoDaan> how is it suppose to work? I'm afraid of j
19:48:42 <TieSoul> xj is basically xk#
19:48:45 <AndoDaan> 1j is like @?
19:48:49 <AndoDaan> 1j is like #?
19:48:52 <TieSoul> yes
19:49:03 <TieSoul> well
19:49:04 <TieSoul> I gtg
19:49:06 <TieSoul> cya
19:49:20 <AndoDaan> okay, cya. It was fun talking about this stuff, thanks.
19:49:36 <TieSoul> 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 <fizzie> !befunge98 y>,< certainly simpler that way
20:16:35 <DootBot> fizzie: <CTCP>
20:16:40 <fizzie> Hits zeroes, though.
20:17:33 <AndoDaan> hits zero?
20:17:58 <fizzie> I think that's what stops the output, though I could be wrong about it.
20:18:14 <fizzie> 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 <AndoDaan> so, 123j1
20:20:18 <AndoDaan> would wrap too 2?
20:20:25 <AndoDaan> I mean where the 2 is
20:20:55 <AndoDaan> dam
20:20:58 <AndoDaan> n
20:21:04 <AndoDaan> 1231j
20:21:32 <fizzie> If you ask me, 1.....j would hit the 1 no matter what's on the stack.
20:22:00 <AndoDaan> i did not want to compute that
20:22:07 <AndoDaan> seems strange
20:22:21 <fizzie> 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 <fizzie> 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 <AndoDaan> 93 had the idea with "you need 100, you're getting 80! you need 10, you're GETTING 80"
20:23:49 <AndoDaan> clear bounderies
20:24:04 <fizzie> 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 <fizzie> 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 <AndoDaan> yep
20:25:22 <AndoDaan> 129j
20:25:24 <AndoDaan> ...
20:25:26 <AndoDaan> what then
20:25:36 <fizzie> Would hit 1, under the same reasoning.
20:26:03 <AndoDaan> the torus is a lie
20:26:46 <AndoDaan> j01-
20:27:06 <AndoDaan> gets to j after the wrap with minus 1 on it's stack
20:27:22 <AndoDaan> j09-
20:27:26 <AndoDaan> better
20:27:37 <AndoDaan> so the same would be in the opposite direction
20:28:00 <AndoDaan> from 0 to 3 no matter what
20:28:43 <fizzie> It doesn't change the direction, so it'd just run j again.
20:29:14 <AndoDaan> but the -9 on the stack gets added to the ip's delta
20:29:27 <AndoDaan> so negative jumps are possible
20:29:32 <AndoDaan> i think
20:29:34 <fizzie> The delta multiplied by -9, sure.
20:29:54 <fizzie> 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 <fizzie> I think that would fit quite well with the Lahey-space ideas in the spec.
20:30:55 <AndoDaan> the graphic of lahey space on the spec page makes no sense to me
20:31:07 <AndoDaan> circle and lines
20:31:28 -!- sebbu2 has changed nick to sebbu.
20:32:02 <fizzie> 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 <AndoDaan> infinite potential
20:33:52 <AndoDaan> but not infinity
20:33:58 <AndoDaan> makes more sense
20:35:29 <AndoDaan> writing something to a cell beyond the initial bounds is the only way to expand the boundry, right?
20:36:08 <fizzie> Something that's not a space, and there's many ways to write, but sure.
20:37:00 <fizzie> 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 <fizzie> 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 <Bicyclidine> what was the command that took an expression and gave it back to you unreadably pointless. pl?
20:41:47 <Bicyclidine> @pl id
20:41:47 <lambdabot> id
20:42:02 <Bicyclidine> @pl \a b c d -> (a c)*(b d)
20:42:02 <lambdabot> flip . (((.) . (*)) .)
20:42:06 <Bicyclidine> sweet
20:42:20 -!- AndoDaan has quit (Ping timeout: 260 seconds).
20:42:33 <fizzie> Be fair, it's not always unreadable.
20:42:55 <Bicyclidine> "id" is readable, yeah
20:42:57 <fizzie> @. unpl pl \a b c d -> (a c)*(b d)
20:42:57 <lambdabot> (\ j b c f -> (j c) * (b f))
20:43:20 <fizzie> Sometimes that kind of chaining blows up.
20:43:54 <fizzie> @. unpl pl \f g (a,b) -> (f a, g b)
20:43:55 <lambdabot> (\ aa f b -> (snd >>= \ ae -> return ((\ p w -> ((,)) (aa (fst p)) (f w)) b ae)) b)
20:44:00 <fizzie> Like that.
20:44:47 <Bicyclidine> 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 <Bicyclidine> thanks, pl.
20:45:05 -!- AndoDaan has joined.
20:45:09 <AndoDaan> damn internet connection
20:46:47 <fizzie> @pl \f g (a,b) -> (f a, g b)
20:46:47 <lambdabot> flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)
20:46:56 <fizzie> That wasn't terribly readable either.
20:47:08 <fizzie> So perhaps it isn't a wonder that unpl didn't help.
20:47:21 <Bicyclidine> flip flip
20:47:38 <fizzie> "flip flip snd", the next hit mobile game.
20:48:37 -!- ais523 has joined.
20:49:38 <AndoDaan> what does @pl call?
20:51:26 <fizzie> http://code.haskell.org/lambdabot/Plugin/ -- Pl.hs and the Pl/ directory, presumably.
20:52:05 <shachaf> @hackage pointfree
20:52:05 <lambdabot> http://hackage.haskell.org/package/pointfree
20:52:29 <AndoDaan> ah
20:52:57 <AndoDaan> looked at haskell a bit back, ppl say it expandse the way you think about programming
20:53:16 <AndoDaan> or something of that nature
20:55:41 <Bicyclidine> 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 <AndoDaan> coming down with a bad case of the monads
20:56:49 <AndoDaan> if that's that word
20:57:05 <AndoDaan> dyads
20:57:09 <AndoDaan> monads
20:58:10 -!- Patashu has joined.
21:06:10 <J_Arcane> 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 <Bicyclidine> threads are weird
21:08:02 -!- FreeFull has joined.
21:08:26 -!- FreeFull has changed nick to Guest68287.
21:09:07 <J_Arcane> Indeed.
21:10:07 <J_Arcane> 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 <miko__> 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 <Bicyclidine> closest thing i can think of is the list of deadfish implementations
21:31:36 <miko__> No, it was a language agnostic article.
21:32:15 <miko__> On the diagonal of the matrix there where some self interpreters, and otherwise it was quite sparese
21:32:19 <miko__> sparse
21:33:37 <Bicyclidine> http://esolangs.org/wiki/EsoInterpreters
21:34:43 <miko__> Thank you very much
21:35:22 <AndoDaan> pretty short chain
21:36:09 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=40474&oldid=40470 * 91.1.47.233 * (+96) /* See also */
21:37:40 <miko__> 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 <HackEgo> [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 <oerjan> so much for this being a quiet day in the logs
21:50:54 <ais523> oerjan: ?
21:53:44 <oerjan> ais523: earlier today it only took me a moment to catch up, but now it's pages and pages
21:53:53 <ais523> right
21:54:03 <ais523> btw, I had a really good new esolang idea, I'm still trying to work out the details
21:54:13 <oerjan> EXCELLENT
21:54:24 <ais523> but the general idea is that you take an OO language but reverse all the accessibility relationships
21:54:56 <ais523> 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 <ais523> and instead of storing values in variables, you add extra temporary fields to objects and then search on those fields
21:55:54 <ais523> 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 <ais523> oh, and there are no methods, rather you have triggers
21:56:24 <ais523> which trigger on properties coming into existence or changing value
21:56:34 <ais523> to do the equivalence of a method call, you temporarily set a property on an object
21:56:40 <ais523> then the object does the call itself
21:57:51 <oerjan> mhm
21:58:16 <oerjan> `dontaskdonttelllist
21:58:16 <HackEgo> 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 <ais523> to pass arguments, you set temporary properties on the objects you want to use as arguments; ditto return values
21:59:31 <ais523> in order for all this to not be horrifically spaghetti, property /names/ are dynamically scoped
22:01:56 <oerjan> @tell mroman_ <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 <lambdabot> 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 <int-e> 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 <oerjan> hm
22:26:28 <shachaf> int-e: Did you imagine it?
22:26:43 <oerjan> the things you can usefully seq on seem to be a, g a and g _|_
22:28:40 <HackEgo> [wiki] [[Verbose]] http://esolangs.org/w/index.php?diff=40476&oldid=40475 * AndoDaan * (+293) Added link to a new Verbose interpreter.
22:28:45 <oerjan> if a is _|_ then the two others must be equal. if g _|_ is not _|_ then neither can g a.
22:29:05 <AndoDaan> boom. two down.
22:30:12 <oerjan> in other words, it is not useful to seq on both g a and g _|_ in the same spot.
22:30:36 <int-e> oerjan: it is, if you call the function multiple times
22:31:22 <HackEgo> [wiki] [[User:AndoDaan]] http://esolangs.org/w/index.php?diff=40477&oldid=40380 * AndoDaan * (+19)
22:31:34 <int-e> Well, not "useful", I don't think any of these functions is actually useful. But I was after distinguishable functions.
22:32:45 <HackEgo> [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 <oerjan> int-e: by same spot i mean that they affect the same element or cons
22:34:41 <AndoDaan> 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 <oerjan> AndoDaan: no it means Minor
22:35:42 <AndoDaan> Right, thanks.
22:35:47 <oerjan> rather unfit color, perhaps
22:39:04 <int-e> oerjan: http://sprunge.us/MXXc
22:40:02 <int-e> (Oh I don't need the first column.)
22:41:41 <int-e> nor the last. so just http://sprunge.us/BdBf is enough
22:41:43 <oerjan> a `seq` g _|_ is also a possibility, i think
22:42:58 <oerjan> in case you're listing everything that can be an element
22:45:35 <int-e> you're right.
22:47:40 <int-e> so http://sprunge.us/FZRh ... anything else? :_)
22:49:11 <oerjan> g _|_ `seq` g a
22:49:39 <oerjan> however, g a `seq` g _|_ is just g _|_
22:52:52 <oerjan> g (g _|_ `seq` a) is the same as g a, i think
22:54:45 <oerjan> as is g (g a `seq` a)
22:56:08 <oerjan> @tell mroman_ OK int-e and I discussed things and there are rather a number of weird variations.
22:56:08 <lambdabot> Consider it noted.
22:56:45 <int-e> 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 <oerjan> um...
22:58:28 <oerjan> oh right
22:59:31 <oerjan> it is the same as g _|_ `seq` g a, however
23:03:31 <oerjan> @tell mroman_ <mroman_> @hoogle [(a -> b)] -> a -> [b] <-- that's sequence hth
23:03:31 <lambdabot> Consider it noted.
23:06:31 <int-e> ok, last table for tonight. http://sprunge.us/eAIR
23:09:06 <int-e> (third column is not needed, but easier to understand than the last one)
23:10:09 <int-e> (And perhaps I should take 'K' instead of Just.)
23:15:57 <oerjan> hm is a `seq` g _|_ `seq` g a different from all the ones listed?
23:21:05 <oerjan> ah indeed it is, it gives a new row of _|_ _|_ () J () which is not identical to any of those
23:28:52 <int-e> 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 <quintopia> what's the way to use subscripts on the wiki
00:18:07 <callforjudgement> quintopia: <sub>text</sub>, like in HTML
00:18:49 <quintopia> ok
00:19:26 <HackEgo> [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 <Bicyclidine> thank you
00:20:30 <HackEgo> [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 <callforjudgement> 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 <shachaf> int-e: Could you make @info a no-op or something?
01:50:13 <shachaf> 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 <HackEgo> [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 <mroman_> Getting into FRP still looks way too hard :(
09:00:42 <ais523_> hmm, what programming paradigm do spreadsheets (like Excel) uses?
09:00:55 <ais523_> a sort of "everything is defined in terms of everything else"
09:01:02 <ais523_> I guess it's behavioural, like VHDL
09:02:52 <fizzie> You might call it declarative.
09:03:46 <mroman_> Well, an example doing excel like stuff would be nice :)
09:03:51 <mroman_> but can't seem to find one
09:04:12 <shachaf> 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 <mroman_> Somehow it should be possible to have foo t = print t
09:05:22 <mroman_> which prints t everytime t changes
09:08:43 <fizzie> 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 <fizzie> Yes. (Or "she".)
09:09:20 <shachaf> Right.
09:09:25 <ais523_> mroman_: you can do that sort of thing in the WIP esolang I was discussing yesterday
09:10:34 <fizzie> (Or "mitä hän tekee?" "syö." -- "what is he doing?" "he's eating.")
09:10:49 <shachaf> (Or "she".)
09:11:30 <fizzie> Can't think of a not-an-answer-to-a-question example right now.
09:12:11 <shachaf> But you would say "hän on täällä", not e.g. "on täällä"
09:12:18 <shachaf> As opposed to "olen täällä"
09:12:57 <fizzie> Yes, I guess so.
09:13:20 <fizzie> Same does apply to "he ovat täällä".
09:13:39 <mroman_> ais523_: hm.
09:13:50 <mroman_> I'd still like to be able to do that stuff in Haskell ;)
09:14:02 <ais523_> 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 <mroman_> somebody could make a system dynamics library out of frp I guess
09:14:12 <ais523_> I decided that in some respects, the language is the exact opposite in Haskell
09:14:24 <mroman_> If such a library doesn't already exist
09:14:24 <shachaf> And you wouldn't say just "puhuu suomea", right?
09:14:35 <ais523_> 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 <mroman_> ais523_: does it have a wikipage?
09:15:53 <mroman_> also wth is that Fuckbuddy thing o_O
09:15:57 <ais523_> no, because it's a WIP and I haven't worked out the details yet
09:16:17 <ais523_> luckily, so far I haven't run into anything as intractable as Feather
09:16:26 <fizzie> 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 <ais523_> *as I have in Feather
09:16:45 <shachaf> I guess that's the same as in English.
09:17:03 <mroman_> aivika...
09:22:16 <mroman_> 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 <fizzie> `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 <HackEgo> hello
10:33:58 <fizzie> Also: doesn't work with `runc for some inexplicable reason.
10:38:54 <fizzie> 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 <mroman_> Dependency tree exhaustively searched.
11:21:15 <mroman_> that's something new I havent seen before
11:21:58 <b_jonas> 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 <fizzie> http://sprunge.us/AMWj - boily's chickens
11:26:09 <b_jonas> (didn't do anything useful either)
11:26:44 <fizzie> What's a "geordi prompt"?
11:27:05 <b_jonas> fizzie: geordi is a bot evaluating C++ on irc
11:27:13 <fizzie> Oh, I see.
11:27:19 <b_jonas> so I mean I wrote something that fits in one irc line and it could run it
11:27:31 <b_jonas> (after dozens of tries which led to segfaults and similar errors)
11:27:33 <fizzie> The above was done for candide, and also an auxiliary function, because I couldn't get around the auto-main.
11:27:56 <fizzie> http://sprunge.us/gbEF like that.
11:28:25 <fizzie> 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 <fizzie> Perhaps it could've been fooled by suitable macros, though.
11:28:53 <b_jonas> fizzie: I see
11:36:09 <fizzie> [14:35:56] <fizzie> ,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 <fizzie> [14:35:58] <candide> fizzie: [warning: 'main' is usually a function [-Wmain]] Function "main" not defined. hello
11:36:16 <fizzie> Ha.
11:36:42 <fizzie> I don't know where that one message comes from.
11:43:14 <mroman_> That's not a warning
11:43:17 <mroman_> 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 <ais523_> oh well, at least this explains why I got sent 2/3 of a P45 tax form for no apparent reason
12:07:34 <ais523_> I think there's a blog called mainisusuallyafunction, isn't there?
12:07:51 <ais523_> 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 <fizzie> Links to it have been posted on channel, but I don't think it's run by any regular here.
12:21:38 <fizzie> Oh, wait. Is it just kmc's thing?
12:21:48 <fizzie> There's the posting about the x86-no-registers thing.
12:21:57 <fizzie> "Posted by keegan" okay then.
12:22:05 <fizzie> 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 <ais523_> 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 <ais523_> 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 <DootBot> DOOT DOOT!
15:06:42 -!- mihow has joined.
15:11:50 <TieSoul> !unefunge98 y$#> #;>:#,_#; #$< lol this outputs environment variables
15:11:53 <mroman_> @hoogle forever
15:11:54 <DootBot> TieSoul: ;<CTCP><CTCP>8<CTCP>ALLUSERSPROFILE=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 <lambdabot> Control.Monad forever :: Monad m => m a -> m b
15:19:43 <mroman_> man
15:20:52 <Bike> > forever [9]
15:20:56 <lambdabot> mueval-core: Time limit exceeded
15:20:59 <Bike> noice
15:21:24 -!- sebbu has quit (Ping timeout: 260 seconds).
15:24:40 <fizzie> > forever []
15:24:42 <lambdabot> []
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 <mroman_> And we have a new leader with 11B for Fibonacci Numbers :)
16:54:10 -!- MoALTz_ has joined.
16:56:05 <J_Arcane> 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 <oerjan> <mroman_> @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 <shachaf> oerjan: would you prefer that i don't tell you about wikipedia problems that i encounter
21:09:06 <oerjan> 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 <oerjan> 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 <Gregor> oerjan: Ba-dum tsh
00:08:51 <Taneb> Help I'm thinking about shapes again
00:09:16 <Phantom__Hoover> what shapes
00:09:19 <oerjan> i hear that's common with young people
00:09:32 <Phantom__Hoover> i did a geometry module last year, ask me anything about triangles
00:09:49 <Taneb> Phantom__Hoover, I started with octohedra and then went to rhombic dodecohedra and now I don't even know
00:09:54 <Taneb> But I'm gonna make one
00:10:04 <Phantom__Hoover> out of what
00:10:21 <Taneb> Paper and sellotape probably
00:10:30 <Phantom__Hoover> sellotape??
00:10:35 <Phantom__Hoover> learn modular origami, it's the shit
00:11:24 <oerjan> p-adic origami
00:15:06 <Taneb> I cannot find sellotape :(
00:15:29 <oerjan> well it sounds like something they'd sell
00:16:13 <Taneb> It's quarter past one and I don't know of any 24 hour shops that sell sellotape
00:16:53 <Gregor> No Walgreens nearby?
00:16:57 <oerjan> just use superglue instead
00:17:26 <Gregor> Wait, juding by time zones, not the right nation X-D
00:17:51 <Taneb> Gregor, yeah, I'm slightly in York, North Yorkshire
00:18:13 <pikhq> Also, seriously, if you assume America then there's a nearby Walmart.
00:18:19 <pikhq> And trust me, Walmart sells tape. :)
00:18:21 <Gregor> I'm slowly remembering this universe ^^´
00:18:30 <Gregor> My nearby Walmart isn't 24/7
00:18:35 <pikhq> Aaaw.
00:18:37 <pikhq> That's sad.
00:18:53 <Gregor> It's like a sad counterfeit of Walmart.
00:19:26 <pikhq> But how are you supposed to shop at 3am in a minor daze?
00:19:38 <Gregor> ... Walgreens?
00:19:58 <elliott> Gregor: so your absence was due to interdimensional travel?
00:20:00 <Gregor> (Actually I don't think Walgreens is in Canada, hyuk)
00:20:04 <pikhq> ... but how am I supposed to randomly decide I want curry and then succeed with what's available from Walgreens?
00:20:06 <Gregor> elliott: Feels like it.
00:20:35 <Gregor> pikhq: The very BEST Walgreens... um... toothpaste is like curry.
00:20:47 <pikhq> Not that this is much of an issue now.
00:21:07 <pikhq> The ability to make curry on a whim is something I make sure of now that I have my own place.
00:21:22 <pikhq> Man's gotta have priorities.
00:21:38 <Gregor> Got one of those curry-making magical wands, eh?
00:21:40 <Gregor> *poof* curry
00:21:44 <elliott> curry toothpaste.
00:21:51 <pikhq> Sadly no.
00:21:57 <pikhq> Just a well-stocked kitchen.
00:22:26 <Gregor> elliott: I have the best ideas ever, no?
00:22:35 <pikhq> By god curry toothpaste.
00:22:58 <pikhq> This is either a fantastic idea or a terrible one.
00:23:04 <Gregor> I'm gonna vote terrible.
00:23:22 <pikhq> Without trying it, I'm going to agree.
00:23:30 <elliott> spicy toothpaste...
00:24:08 <Gregor> It's so that you can be brushing while you purge.
00:24:10 <Gregor> It gets you started.
00:24:26 <pikhq> Follow up with mango habanero ice cream.
00:27:59 <paul2520> mango habanero ice cream doesn't sound too bad, but maybe not *after* brushing...
00:28:30 <pikhq> paul2520: It is a real thing.
00:29:45 <paul2520> pikhq: it's easy to make: http://www.bigoven.com/recipe/mango-habanero-ice-cream/108897
00:30:27 <Gregor> That URL implies that you would make it in an oven.
00:30:30 <Gregor> That feels wrong somehow.
00:30:40 <Gregor> (A big one, in fact)
00:31:00 <paul2520> haha. the instructions involve no ovens.
00:31:01 <pikhq> Well you *could*.
00:31:14 <paul2520> I feel like it would be hot enough with the habaneros...
00:31:18 <paul2520> no oven necessary
00:31:21 <pikhq> But this would be a very odd use of an oven.
00:32:13 <Gregor> Step one: Do not pre-heat oven.
00:32:17 <Gregor> Step two: Fill oven with ice.
00:32:59 <elliott> you're telling me you don't eat your ice cream piping hot?
00:33:33 <pikhq> Well, not generally.
00:33:35 <Gregor> 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 <pikhq> Though in winter it's sometimes tempting.
00:34:24 <pikhq> Gregor: Real reason is that the ice cream sandwiches have gum in them. I think it was gum arabic?
00:34:29 <elliott> Gregor: if you're talking about the video I'm thinking of, it did melt eventually outdoors
00:34:35 <Gregor> pikhq: They've got a whole collection :)
00:34:36 <elliott> so probably really hot would not be manageable.
00:34:38 <Gregor> (of gums)
00:34:57 <elliott> pikhq: is that why my mouth doesn't melt when it gets hot?
00:35:08 <Gregor> Outstanding.
00:35:09 <Gregor> 10/10
00:35:12 <pikhq> elliott: Yes. Yes it is. :P
00:36:49 <Gregor> 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 <elliott> that's a weird fetish. why not just lay them without removing their teeth?
00:37:41 <Gregor> Teeth can hurt.
00:51:57 <Phantom__Hoover> does that mean chewing gum can be used to reinforce my mouth?
00:52:15 <Gregor> Phantom__Hoover: Not if you spit it out.
00:52:28 <Gregor> You have to mold the chewing gum onto your own gums.
00:52:31 <Gregor> Most people forget to do that.
00:55:15 <Phantom__Hoover> 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 <Taneb> Shapes are hard :(
01:43:29 <Gregor> The hard ones are.
01:43:44 <Taneb> I don't know how to construct a pentagon
01:45:06 <Gregor> Asymmetry sucks.
01:46:49 <Bike> http://en.wikipedia.org/wiki/File:Pentagon_construct.gif practical!!
01:52:01 <Sgeo> Ooh Github has LSL hilighting
01:53:01 <paul2520> too much work; I would just draw a pentagram and either use the inside or outside for the pentagon
01:53:13 <paul2520> I can draw a decent-enough pentagram
01:59:38 <Phantom__Hoover> have fun making it regular
02:00:29 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
02:01:38 <Sgeo> ....why the flying fudge did I ask for donations in a product I sold?
02:02:16 <coppro> hahaha
02:02:42 <Sgeo> Well, the code is permanently and irreversibly online now
02:02:42 -!- Lymia has joined.
02:02:56 <Sgeo> https://github.com/Sgeo/Antiposeball/blob/master/Antiposeball%205.lsl
02:03:06 <Sgeo> I apparently severely misunderstood animations
02:03:33 <Taneb> What is LSL?
02:03:47 <Sgeo> And it uses sensors instead of llGetObjectDetails()... because llGetObjectDetails() didn't exist when I wrote it.
02:03:53 <Sgeo> Taneb: the scripting language used in Second Life
02:16:31 <Taneb> Sgeo, ah
02:16:46 <lifthrasiir> "Linden Scripting Language" I guess.
02:18:01 <Sgeo> yeah
02:21:52 -!- paul2520 has quit (Quit: leaving).
02:25:00 -!- paul2520 has joined.
02:27:17 <Sgeo> Is there a friendly way to criticise Racket?
02:28:18 <lifthrasiir> it is not compatible to Java(tm).
02:29:18 <Sgeo> 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 <Sgeo> documentation.
02:29:28 <Sgeo> Maybe I should write an example...
02:31:41 <Sgeo> 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 <Bike> 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 <Bike> 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 <Sgeo> I believe it already does the former
03:03:19 <Sgeo> Going from that to the latter not so much
03:03:34 -!- guest3244345245 has joined.
03:08:31 <Sgeo> ...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 <coppro> that's what they want you to think
03:09:10 -!- guest3244345245 has quit (Quit: Leaving).
03:09:13 <Sgeo> Hmm. Maybe I did click a link recently
03:09:28 <Sgeo> For unrelated reasons
03:30:12 <pikhq> I'm quite confident that Google is not psychic.
03:30:22 <pikhq> However, you may want to check for eye implants.
03:30:30 <pikhq> Google Eye forced beta test?
03:31:09 <coppro> pikhq: why are you so confidengt?
03:31:20 <pikhq> Because I am psychic.
03:50:40 <coppro> pikhq: :O
03:50:59 <Sgeo> Note to self: Never learn by example.
03:51:23 <Sgeo> 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 <Sgeo> Facebook spammer spammed me... in an interesting way
05:23:03 <Sgeo> Attached an image with an email address
05:23:25 <shachaf> that is... an interesting way
05:23:34 <shachaf> interesting enough... to merit an ellipsis
05:23:44 <Sgeo> http://i.imgur.com/YQd54gJ.png
05:24:37 <Bike> did you actually reply to an obvious spammer
05:24:58 <shachaf> oh no you've leaked your name
05:25:06 <Sgeo> I've leaked my name before
05:35:01 -!- shikhout has quit (Ping timeout: 272 seconds).
05:43:46 <elliott> 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 <Sgeo> 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 <Sgeo> ahahahaha
06:24:02 <Sgeo> https://www.leviathansecurity.com/blog/the-double-edged-sword-of-hsts-persistence-and-privacy/
06:24:22 <Sgeo> (When I first saw that, I was thinking maybe timing + max-age shenanigans, but that's very fiddly)
06:38:58 <mroman_> Freenode got hacked?
06:47:18 -!- vyv has quit (Ping timeout: 246 seconds).
06:49:18 -!- vyv has joined.
06:55:20 <Sgeo> " 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 <myname> "Git gets easier once you get the basic idea that branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space."
09:15:21 <myname> is that true? :D
09:15:35 <myname> the part about what branches are, not that git gets easier
09:15:43 <b_jonas> lol
09:18:21 <shachaf> It's nonsense.
09:18:50 <shachaf> As long as you're going to say something like that at least make it sound plausible.
09:19:06 <myname> please do so
09:19:07 <fizzie> Yeah, that sounds like more of a darcs concept.</reinforce kind="stereotype" ref="#haskell_is_math">
09:19:50 <b_jonas> (unless you want a generalized zygomorphism)
09:21:48 <b_jonas> shachaf: I did try to invent something more plausable => http://www.math.bme.hu/~ambrus/pu/git-extensions
09:27:26 <mroman_> Why does read -p "foo" terminate without me entering a line
09:27:32 <mroman_> is this due to background jobs?
09:29:39 <b_jonas> 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 <b_jonas> mroman_: read doesn't normally use readline, just the normal canonical terminal input
09:30:31 <b_jonas> (it can use readline if you give the -e switch)
09:30:36 <mroman_> I'm trying to launch some processes with &
09:30:38 <mroman_> but they all die
09:30:40 <mroman_> I have no idea why
09:30:44 <mroman_> even with the read -p
09:30:45 <mroman_> they die
09:30:56 <myname> http://www.theproofistrivial.com/ i like
09:30:57 <mroman_> I thought with read -p they'd run until I enter something
09:31:13 <b_jonas> mroman_: huh? now I don't understand what you're doing
09:31:17 <b_jonas> what is read having to do with this?
09:31:25 <b_jonas> can you show what exactly you're trying?
09:32:27 <mroman_> well
09:32:37 <b_jonas> myname: hehe
09:32:45 <mroman_> java -jar foo.war
09:32:51 <mroman_> but these war files terminate when you press enter
09:33:03 <mroman_> i.e. they probably have something like System.in.readc(); exit();
09:33:22 <mroman_> if I launch them within a script they immediately exit
09:33:41 <mroman_> if I launch them in my terminal they run as long as I don't press enter
09:35:10 <b_jonas> mroman_: hmm... but what does read (the shell builtin) have to do with this?
09:35:26 <b_jonas> (also, maybe those java programs are just stupid)
09:35:32 <mroman_> maybe
09:38:19 <mroman_> ah
09:38:21 <mroman_> it's even worse
09:38:26 <mroman_> it's System.in.read(); server.stop();
09:38:33 <mroman_> which is supposed to "block"
09:38:41 <mroman_> but it doesn't block if no terminal is attached to stdin
09:38:56 <b_jonas> what's attached instead? /dev/null ?
09:39:36 <b_jonas> 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 <mroman_> I suppose if you launch it with &
09:40:48 <mroman_> then System.in.read will read 0 bytes and immediately return
09:40:58 <b_jonas> no, it shouldn't do that
09:41:07 <b_jonas> it should stop the process with a SIGTTIN signal I think
09:41:14 <mroman_> hu?
09:41:37 <b_jonas> oh wait
09:42:03 <b_jonas> 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 <b_jonas> specifically EIO apparently
09:42:11 <b_jonas> let me verify that
09:44:10 <b_jonas> yes, EIO
09:44:25 <b_jonas> so maybe the program or the java runtime is stupid enough to ignore that signal specifically?
09:45:34 <mroman_> read() returns -1 if there's nothing more to read
09:46:05 <b_jonas> 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 <mroman_> Java has errno?
09:47:04 <b_jonas> 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 <fizzie> FWIW, a tiny test-case on OpenJDK says it stops like any other process.
09:47:10 <mroman_> damnit.
09:47:17 <mroman_> I've replaced System.in.read with readline
09:47:21 <mroman_> but either it's not recompiled
09:47:23 <mroman_> or...
09:47:55 <b_jonas> fizzie: great, it sohuld
09:47:57 <fizzie> http://sprunge.us/EiDO and so on.
09:48:16 <fizzie> (The 'x' is my input after foregrounding it; but anyway, it blocked at the read.)
09:49:01 <b_jonas> fizzie: good
09:49:29 <mroman_> hm
09:50:13 <mroman_> weird
09:50:20 <mroman_> I added a syntax error to the launcher
09:50:22 <mroman_> but it compiles :D
09:50:24 <mroman_> wtf
09:51:54 <mroman_> yeah
09:51:55 <mroman_> ok
09:52:07 <mroman_> those morons should've added clean to the mvn command line probably
09:54:27 <mroman_> oh wait
09:54:28 <mroman_> ok
09:54:31 <mroman_> hm
09:55:00 <b_jonas> you edited the wrong file?
09:56:37 <mroman_> I don't think so
09:56:49 <mroman_> It's linked as mainclass in the pom.xml
09:57:12 <mroman_> the mainclass doesn't compile though
09:57:18 <mroman_> but stuff that depends on it still does
09:59:06 <mroman_> Honestly I'm completely new to Java and maven
10:01:01 -!- FreeFull has joined.
10:01:17 <mroman_> 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 <mroman_> This is bad
10:04:19 <mroman_> if something doesn't compile it magically loads the last compilable version from the sky or wherever
10:04:31 <mroman_> which means it won't tell you if something doesn't compile
10:05:37 <mroman_> well... at least my new stuff is now compiled in
10:06:01 <mroman_> but System.console() is null if you launch it with & :)
10:10:28 <mroman_> fine. while(true) will do
10:12:03 -!- boily has joined.
10:13:34 <fizzie> That's kind of what the documentation says.
10:13:46 <fizzie> "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 <fizzie> I guess & is kind of arguable.
10:14:48 <fizzie> It should still have the System.in/out streams, and those behaved as expected in my mini-test.
10:18:41 <mroman_> System.in.read isn't blocking when using &
10:19:07 <mroman_> I'm not saying it doesn't work
10:19:33 <mroman_> it's just not blocking
10:20:00 <mroman_> or maybe it is, but with attached terminal it at least has some sort of line buffering
10:20:17 <mroman_> which could be done by either the terminal or java
10:21:06 -!- shikhin has quit (Disconnected by services).
10:21:56 <mroman_> I like how this thing is named "demo" but's supposed to be production
10:27:53 <Taneb> Morning
10:29:00 <boily> Morning
10:43:04 <b_jonas> 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 <int-e> @metar RJNK
12:19:20 <lambdabot> 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 <quintopia> bon matily
14:48:04 <quintopia> 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 <diginet> so
22:47:15 <diginet> why does GNU APL have PHP-style server pages?
22:47:27 <diginet> I can think of literally no reasons for that style of insanity
22:47:40 <Bike> there's a GNU APL, huh
22:48:14 <diginet> yes
22:48:30 <diginet> and APL is definitely on topic for #esoteric, lol
22:48:44 <Lymia> ... wat
22:48:46 <Lymia> Server scripting
22:48:49 <Lymia> In APL?
22:48:59 <diginet> Lymia: yes
22:49:02 <Bike> still sounds better than php, tbh
22:49:03 <diginet> that was my reaction
22:49:25 <diginet> Bike: I'm paid to write PHP, that doesn't even begin to cover it
22:49:34 <diginet> I would rather write web apps in BF
22:49:37 <diginet> no
22:49:46 <diginet> I'd rather write web apps in Cobol
22:50:09 -!- perrier___ has quit (Read error: Connection reset by peer).
22:52:01 <Phantom__Hoover> ooh, wait, Lymia, were you involved in that massive bukkit clusterfuck that happened
22:53:31 <Lymia> Massive bukkit clusterfuck?
22:53:34 <Lymia> Recent?
22:53:48 <Lymia> I haven't been involved in Minecraft for a few months.
22:53:58 <Lymia> What happened?
22:54:13 <Phantom__Hoover> evilseph cancelled the project, mojang revealed they owned it
22:54:29 <Phantom__Hoover> (i still don't know how you can own a gpled project but--)
22:54:33 <Gregor> Mojang didn't REVEAL that they owned it.
22:54:36 <Gregor> They've owned it for years.
22:54:55 <Phantom__Hoover> my impression was that this was deliberately kept secret, though
22:55:06 <Gregor> There was a whole brouhaha when they bought it.
22:55:13 <Gregor> But then they didn't really DO anything with it, so everybody forgot.
22:55:39 <Gregor> 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 <Phantom__Hoover> (seriously how do you buy bukkit!! what does this even mean!)
22:55:59 -!- perrier has joined.
22:56:37 <Gregor> 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 <Gregor> There was no secrecy here, just stupidity. Never account to malice etc etc.
22:57:32 <Lymia> 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 <Lymia> ^.^
22:57:57 -!- perrier has joined.
22:58:29 <Lymia> So
22:58:34 <Lymia> Minecraft's fanbase being idiots as usual.
22:58:36 <Lymia> Nothing new to me.
22:58:45 <Gregor> *Microcraft
22:58:50 <Gregor> *Minesoft?
23:03:18 <Phantom__Hoover> Lymia, well, and mojang being idiots
23:03:27 <Phantom__Hoover> that too is an important part of the situation as usual
23:04:36 <Lymia> I'm not sure I understand the full story then.
23:04:36 <Lymia> :P
23:04:53 -!- MoALTz_ has joined.
23:05:14 -!- perrier has quit (Remote host closed the connection).
23:05:51 <Phantom__Hoover> 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 <Bike> 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 <Bike> featuring advanced 64-bit Processors
23:08:31 -!- perrier has joined.
23:09:08 -!- vyv has joined.
23:09:28 <shachaf> 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 <shachaf> they were good
23:12:29 <Sgeo> kmc... isnt here, dangit
23:12:29 <Sgeo> Who else am I to talk about Rust with?
23:12:29 <Sgeo> Anyways: I think Rust people keep reinventing lenslike things
23:12:29 <Phantom__Hoover> i know a thing or two about rust
23:12:29 <Sgeo> headers.get(CONNECTION); // -> Option<Vec<Connection>>
23:12:29 <Phantom__Hoover> what's your favourite ferric oxide? mine's haematite
23:12:29 <elliott> Lymia: it's hard to fork it, since you can easily get DMCA'd for it
23:12:29 <Sgeo> 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 <Lymia> elliott, not for an reimplementation.
23:12:38 <Phantom__Hoover> that is stretching the term 'fork'
23:12:51 <elliott> Lymia: well, the basic issue is that bukkit was always kinda illegal
23:13:05 <ais523> what is bukkit?
23:13:17 -!- perrier has quit (Max SendQ exceeded).
23:13:18 <elliott> since it's at odds with both the minecraft EULA and the GPL
23:13:23 <Gregor> Bike: That's as brilliant as it is stupid.
23:13:24 <Gregor> I remember a similar device for an olde VR dev environment for DOS.
23:13:25 <Gregor> 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 <Phantom__Hoover> 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 <oerjan> were there any "how to make a successful "how to make a successful kickstarter project" kickstarter projects?
23:18:03 <oerjan> *-"
23:18:03 <oerjan> um
23:18:03 <oerjan> wait
23:18:03 <oerjan> **+"
23:18:04 <oerjan> i think it needs an extra "kickstarter project"
23:18:04 <oerjan> 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 <oerjan> BY KILLING THEM, right?
23:19:40 * oerjan seemed to do fine by drinking some water, thank you very much
23:20:27 <shachaf> Sgeo: you're in a channel in which kmc talks about rust a lot
23:20:33 <shachaf> 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 <Gregor> 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 <shachaf> Why is a basis a popular thing in topology, rather than a subbasis?
23:22:12 <shachaf> The latter seems more natural.
23:22:29 <shachaf> Also, is a topology generated by a subbasis "free" in some way?
23:22:36 <Phantom__Hoover> because topology predates common sense?
23:22:40 <Bicyclidine> Gregor: did this DOS gizmo have a kickstarter...
23:22:45 <Gregor> Bahaha
23:22:59 <Bicyclidine> "i could throw them a few bucks"
23:23:24 <shachaf> 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 <Bicyclidine> when i think common sense i think subbases.
23:24:34 <Phantom__Hoover> the free topology on a set is either the discrete or trivial one
23:24:54 <shachaf> The free topological space on a set.
23:25:13 <shachaf> I'm talking about the topology itself.
23:25:21 <shachaf> It at least seems initial in some sense.
23:25:51 <shachaf> What do I mean...
23:25:56 <shachaf> If you fix a set of points X, and then you talk about the various topologies you could give it.
23:26:05 <shachaf> And you could also talk about arbitrary subsets of P(X)
23:26:28 <shachaf> And maybe those are categories or something. And maybe you have an adjunction goin' between those two. I don't know.
23:27:51 <Bicyclidine> 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 <GeekDude> It'd be very pixely, and very nauseating
23:32:38 <Phantom__Hoover> shachaf, so what do you use as morphisms in this scenario
23:33:22 <shachaf> 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 <shachaf> Maybe the thing with complete Heyting algebras/frames/locales.
23:41:13 <shachaf> I think something like that could probably work.
23:47:54 <shachaf> Wait, what am I talking about. I'm not making sense.
23:48:24 <shachaf> Or maybe I am.
23:48:46 <Bicyclidine> or maybe you are
23:49:05 <Gregor> (But probably not)
23:49:17 <shachaf> I must agreegor.
23:50:30 <shachaf> 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 <int-e> @metar RJNK
03:39:33 <lambdabot> 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 <Sgeo> http://forums.whirlpool.net.au/archive/1668135
05:10:55 <Sgeo> This is suggesting that one pass is likely enough, is that accurate?
05:11:49 <Sgeo> I am not considering the NSA as an adversary, these are confidential work documents I want to wipe
05:30:19 <Jafet> Move to trash
05:31:04 <ais523> 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 <ais523> a program like "shred" will know exactly what to do, I suggest just using its default settings
05:38:08 <Jafet> The shred manual surprisingly does not warn about flash memory.
05:38:38 <ais523> oh, yes, it won't work on an SSD
05:38:49 <ais523> although offhand, I'm not sure what does
05:39:01 <Jafet> Very, very high temperature
05:39:27 <ais523> I mean software-wise
05:39:39 <ais523> you'd probably need to use firmware features for secure deletion
05:42:31 -!- skj3gg has quit (Quit: Leaving.).
05:49:52 <Jafet> A trim would cause the parts of the file in unused write blocks to be erased... sometime later
05:50:58 <Sgeo> ais523: on Windows. Don't know if cygwin's shred works with NTFS
05:51:17 <ais523> Sgeo: nor do I, although I think it's likely it will
05:53:11 <Sgeo> Anything wrong with using CCleaner to do it/
05:53:47 <Sgeo> Ok, I was expecting CCleaner to take hours. It's estimating 3 minutes.
05:53:50 <ais523> it probably also knows what to do
05:53:57 <Sgeo> 6 now
05:54:05 <Sgeo> Ok, maybe it will take a while
05:54:40 -!- MoALTz_ has quit (Quit: Leaving).
05:55:26 <Sgeo> 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 <Sgeo> 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 <Sgeo> Oh, ok, wiping MFT took a short amount of time, now wiping free space itself will take hours
06:13:16 <Sgeo> Makes more sense
06:18:48 <skj3gg> anyone have a good resource for developing a lisp-style language
06:23:32 <Bike> lisp in small pieces, THE HEALING HUM OF THE UNIVERSE
06:26:49 <J_Arcane> 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 <coppro> 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 <b_jonas> coppro: let's ask fungot. fungot, is it true that every finn is given an irc client in their baby package?
08:47:30 <fungot> 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 <b_jonas> fungot: what? they give clients designed for experienced users to babies? that sounds like a bad idae
08:47:56 <fungot> b_jonas: that's mind-blowing :) " whoops, our student union people have only installed the fnord and the fnord are :)
09:00:27 <shachaf> is fungot finnish?
09:00:28 <fungot> 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 <mroman_> Does fungot pass the turing test?
09:48:34 <fungot> mroman_: " this is not a
09:48:52 <mroman_> fungot: How's the wheather in new orleans?
09:48:52 <fungot> mroman_: larceny developers are sometimes seen using fnord' for blahbot:0xb7cca1ac it in
09:49:03 <mroman_> I'm not convinced that he's human .
10:50:46 <Jafet> I don't know about the weather in new orleans, either.
11:22:31 <fizzie> 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 <fungot> fizzie: working heavily on sisc 1.13 atm i like that recommendation in the style you have to
11:22:49 <fizzie> fungot: Good, that's exactly the sort of thing I'm talking about, carry on.
11:22:50 <fungot> 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 <mroman_> 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 <mroman_> As far as I can observe I can't rule aut that fungot is an alien-fungoid.
11:35:28 <fungot> mroman_: i'm trying to rewrite the fnord? predicate? ( car blah) ' quote), where n is the size
11:35:39 <mroman_> there's no n in that lisp code.
11:39:01 <fizzie> It's an implicit n.
11:39:41 <mroman_> I'm still missing an )
11:40:00 <mroman_> I guess that's implicit as well
11:40:31 <mroman_> LISP could learn from SGML
11:40:33 <mroman_> i.e
11:40:46 <mroman_> (defun foo (x) (+ x x (defun
11:41:03 <fizzie> I think quite a few systems have the notion of "terminate all open parens" with a ] or something.
11:41:41 <mroman_> it could detect the second defun and close previous left-open parentheses
11:42:26 <mroman_> lisPY uses indentation instead of ()
11:42:49 <fizzie> There's a SRFI about indentation expressions that you can mix-and-match with S-expressions.
11:42:58 <fizzie> http://srfi.schemers.org/srfi-49/srfi-49.html
11:45:46 -!- GeekDude has joined.
12:05:39 <b_jonas> 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 <mroman_> b_jonas: you hate the indentation?
12:17:49 <mroman_> i.e. for do?
12:18:29 <mroman_> 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 <oerjan> 's ok he's in good company, it will be him, zzo38 and simon peyton-jones
12:20:03 <mroman_> I guess we have our kill-list then
12:20:25 <oerjan> i think killing SPJ is not done, mroman_
12:20:35 <mroman_> hm?
12:20:44 <oerjan> and i may have to remove your haskell badge for suggesting it.
12:20:46 <mroman_> (that was a joke btw @NSA and the like)
12:21:12 <mroman_> I'm not sure if I've received a haskell badge from you
12:21:14 <oerjan> (i also would not approve of killing zzo)
12:22:04 <mroman_> I only use {} if I want to squeeze it into a single line
12:22:23 <oerjan> you rarely need {} even then
12:22:33 <mroman_> I'm not intending to kill anybody.
12:23:00 <oerjan> (for do, you can always use parentheses in a pinch)
12:23:59 <oerjan> hm...
12:25:06 <oerjan> > let x = 1 in case x of 1 -> y where y = x+x _ -> 2
12:25:08 <lambdabot> <hint>:1:47: parse error on input ‘->’
12:25:32 <oerjan> 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 <fizzie> Hey, BF Joust people: are there any other scoring mechanisms to consider than these: http://zem.fi/tmp/bfjoust.html
13:39:42 <fizzie> 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 <oerjan> is 3 equivalent to the one quintopia has been implementing
13:51:09 -!- Sprocklem has quit (Ping timeout: 255 seconds).
13:51:20 <fizzie> I don't know, but it might be.
13:51:29 <oerjan> which is eigenvalue based
13:52:13 <fizzie> #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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <elliott> 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 <fizzie> 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 <fizzie> Or, rather, one of the two described there is.
14:54:26 <fizzie> Based on quintopia's description of the transition matrix, I'm reasonably sure it's equivalent to my #4.
14:55:34 <fizzie> 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 <fizzie> 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 <elliott> my system is probably bad.
15:01:24 -!- Phantom_Hoover has joined.
15:03:12 <chaos_magic> __.-"..--,__
15:03:15 <chaos_magic> __..---" | _| "-_\
15:03:15 <chaos_magic> __.---" | V|::.-"-._D
15:03:15 <chaos_magic> _--"".-.._ ,,::::::'"\/""'-:-:/
15:03:15 <chaos_magic> _.-""::_:_:::::'-8b---" "'
15:03:15 <chaos_magic> .-/ ::::< |\::::::"\
15:03:16 <chaos_magic> \/:::/::::'\\ |:::b::\
15:03:17 <chaos_magic> /|::/:::/::::-::b:%b:\|
15:03:20 <chaos_magic> \/::::d:|8:::b:"%%%%%\
15:03:22 <chaos_magic> |\:b:dP:d.:::%%%%%"""-,
15:03:24 <chaos_magic> \:\.V-/ _\b%P_ / .-._
15:03:25 <chaos_magic> '|T\ "%j d:::--\.( "-.
15:03:27 <chaos_magic> ::d< -" d%|:::do%P"-:. "-,
15:03:29 <chaos_magic> |:I _ /%%%o::o8P "\. "\
15:03:33 <chaos_magic> \8b d%%%%%%P""-._ _ \::. \
15:03:36 <chaos_magic> \%%8 _./Y%%P/ .::'-oMMo )
15:03:38 <chaos_magic> H"'|V | A:::...:odMMMMMM( ./
15:03:40 <chaos_magic> H /_.--"JMMMMbo:d##########b/
15:03:41 <chaos_magic> .-'o dMMMMMMMMMMMMMMP""
15:03:43 <chaos_magic> /" / YMMMMMMMMM|
15:03:45 <chaos_magic> / . . "MMMMMMMM/
15:03:47 <chaos_magic> :..::..:::.. MMMMMMM:|
15:03:49 <chaos_magic> \:/ \::::::::JMMMP":/
15:03:49 <J_Arcane> Anyone here have kickban powers?
15:03:51 -!- ChanServ has set channel mode: +q *!*@tmo-100-52.customers.d1-online.com.
15:04:15 <fizzie> I have "can't remember chanserv commands" powers.
15:04:21 <J_Arcane> Hah hah.
15:04:39 <J_Arcane> I know that feeling.
15:04:54 <oerjan> 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 <fizzie> Wonder if it was someone looking for "esoterick" esoteric.
15:06:25 <oerjan> the nick seemed to imply that.
15:09:02 <oerjan> 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 <pikhq> How phallic.
15:33:44 -!- ChanServ has set channel mode: -q *!*@tmo-100-52.customers.d1-online.com.
15:39:08 <elliott> not letting the whole ascii art go through before quieting is cruel.
15:40:14 <oerjan> 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 <elliott> fizzie: is there an easy way to explain the difference between #3 and #4?
15:40:36 <oerjan> *WHO WAS DOING THE QUIETING
15:40:39 <elliott> oerjan: I think fizzie probably remembered it, just a minute late.
15:40:45 <oerjan> ah.
15:44:12 <quintopia> who killed the anime girl before she even got hot?
15:44:36 <fizzie> Ohhh, it's a girl.
15:44:41 <fizzie> 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 <GeekDude> Lots of monitors here
15:46:54 <elliott> you haven't seen one in that long?
15:46:56 <elliott> <__<
15:47:14 <GeekDude> I agree with fizzie, that's really bad ascii art
15:47:55 <elliott> I like the hands.
15:48:24 <fizzie> I thought the top hand was some sort of a artillery piece, and the whole thing some kind of a tank.
15:48:30 <GeekDude> Could you point out which part is the hands?
15:48:43 <GeekDude> http://i.imgur.com/1Y6NpJ1.png
15:48:48 <GeekDude> it looks like a very oddly shaped island
15:48:54 -!- oerjan has quit (Quit: You are disturbing.).
15:51:16 <fizzie> 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 <fizzie> 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 <elliott> ah.
15:52:47 <elliott> 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 <DootBot> 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 <fizzie> 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 <elliott> fizzie: time to try matplotlib to shake things up a bit?
16:42:31 <elliott> GeekDude: top-right is a hand, I'm pretty sure.
16:42:57 <fizzie> Yes, it's a hand behind a head, I just only see it after being told.
16:42:58 <elliott> below that is face and another arm. and below that, uh.
16:43:15 <fizzie> All the M's are probably armpit hair.
16:43:18 <GeekDude> (.Y.)
16:43:28 <elliott> thank you, GeekDude. very articulate.
16:43:29 <GeekDude> I think I see it now
16:43:49 <elliott> the face is a bit of a mess.
16:45:30 -!- shikhout has changed nick to shikhin.
16:46:21 <GeekDude> http://i.imgur.com/YoMpxf0.png
16:46:22 <GeekDude> Something like that
16:46:49 <Taneb> fizzie, well, the traditional one seems closely correlated with the iterative one
16:47:06 <elliott> those are some pointy boobs.
16:47:18 <GeekDude> <.Y.>
16:47:56 <elliott> now I'm wondering if there's, like, an ascii art search engine.
16:48:32 <GeekDude> like google reverse image search, but for text?
16:49:24 <elliott> 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 <myname> is there any twodimensional language with explicit direction changes that moves diagonal?
16:53:43 <mroman_> Let's say I extend Brainfuck with a command @ (where @ is just syntactic sugar for an infinite loop)
16:53:58 <mroman_> I also formally require that every program ends in the character @
16:54:19 <mroman_> Meaning that the answer to the "halting" problem is trivially
16:54:26 <mroman_> since it always loops forever
16:54:36 <myname> it may crash
16:54:51 <mroman_> it might not
16:56:00 <myname> well, go on
16:56:25 <mroman_> well, that's it
16:56:46 <myname> i am not very impressed
16:56:52 <fizzie> Taneb: That it does. Perhaps not terribly surprising, since it's the same basic idea.
16:56:58 <mroman_> The question is, if it classifies as turing complete
16:57:11 <myname> i guess not
16:57:38 -!- perrier has quit (Remote host closed the connection).
16:57:46 <myname> oh, wait
16:57:56 <mroman_> You obviously can define a trivial mapping of any bf program to a myweirdbf program and vice-versa
16:58:18 <myname> no you don't
16:58:28 <myname> convert a hello world to your language
16:58:39 <myname> or just a program that outputs a simple B
16:58:40 <mroman_> just add an @ to a bf hello world program
16:58:44 -!- perrier has joined.
16:58:52 <myname> ++++++[>+++++++++++<-]>.
16:58:55 <myname> prints B
16:58:59 <myname> if i add a @
16:59:02 <mroman_> ++++++[>+++++++++++<-]>.@
16:59:03 <myname> it prints BBBBBBBBBBBBBBBB
16:59:06 <mroman_> prints B
16:59:10 <mroman_> no
16:59:12 <myname> why?
16:59:13 <mroman_> why would it print BBBB?
16:59:32 <mroman_> @ just enters an infinite loop
16:59:39 <myname> ah
16:59:39 <mroman_> like [>+] or something
16:59:45 <myname> you don't repeat anything
16:59:48 <mroman_> (assuming [>+] is an infinite loop)
16:59:52 <myname> i misunderstood you
17:00:08 <myname> well, okay
17:00:13 <fizzie> 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 <mroman_> fizzie: true
17:00:39 <mroman_> 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 <mroman_> if you consider only the state of the cells as "the observable state"
17:02:07 -!- vyv has joined.
17:02:14 <mroman_> 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 <mroman_> i.e. like a turing machine where you can observe the tape
17:02:51 <myname> 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 <myname> you cannot write a program that halts if its input does not halt
17:03:05 <mroman_> even though it's infinitely long, but that doesn't stop you from inspecting the begin of the tap
17:03:08 <mroman_> e
17:03:44 <mroman_> well obviously you can't solve the halting problem with this
17:03:46 <mroman_> but
17:04:00 <mroman_> i.e. a mybf program can't state for any bf program whether it halts or not
17:04:08 <mroman_> however, it can do so for any mybf program
17:04:24 <mroman_> i.e. it can state about itself whether it will halt or not
17:04:31 <fizzie> 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 <mroman_> fizzie: for all we know @ increments every cell on the tape
17:05:01 <mroman_> or something else
17:05:22 <mroman_> but let's just assume it loops without doing anything
17:06:17 <mroman_> but yes
17:06:25 <mroman_> 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 <fizzie> More great new TLDs: ".website".
17:34:41 <fizzie> For "www.whatever.website".
17:34:47 <Bike> well, you wouldn't accidentally want to buy a phone number instaed.
17:34:48 <Taneb> .website is...
17:34:52 <Taneb> why
17:35:23 <Bike> or, maybe if you want to make a website about a website!
17:35:35 <mroman_> I'd prefer .www
17:35:39 <mroman_> www.mroman.www
17:36:22 <fizzie> [[ 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 <fizzie> ... has previously contributed to these efforts, such as by publication of TLD Verification code for the PHP programming language. ]]
17:36:40 <fizzie> Ah, here's the "mission/purpose" part.
17:36:50 <fizzie> "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 <Bike> firefox nowadays just assumes anything with a dot in it is a url, i think
17:36:56 <fizzie> ... with any country or region, .Website is a truly global TLD."
17:37:10 <Bike> lol.
17:37:14 <Bike> it's a TLD about nothing!
17:37:21 <fizzie> "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 <Bike> oh right, this is the zombocom tld.
17:37:30 <fizzie> About everything!
17:37:34 <elliott> oh c'mon, it should be .internet if they want it totally generic.
17:37:41 <fizzie> It's only limited by your imagination, which is in fact, infinite.
17:37:50 <elliott> in fact, you can point a domain at your intranet, right?
17:37:55 <elliott> ...I feel like I've made these exact points before.
17:38:04 <Bike> http://www.seinfeldscripts.com/ThePitch.htm
17:38:19 <fizzie> "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 <fizzie> They "positively believe" it will "invite innovation and fresh possibilities at a global level".
17:39:08 <Bike> they paid like ten thousand earth dollars for this, yes?
17:39:39 <fizzie> I think it was more like a hundred thousand.
17:39:45 <Phantom_Hoover> you're surprised? the dot com boom wat a thing that happened, after all
17:39:54 <fizzie> "The initial price to apply for a new gTLD was $185,000."
17:39:58 <Bike> it needs to hurry up and happen again
17:40:32 <elliott> Bike: what do you have against .moe??
17:41:06 <Bike> moe is focused. sharp. relevant to today's youth. it will survive the coming apocalypse by hook and crook.
17:41:31 <fizzie> Then again, сайт (Russian for "site") was one of the first ones they granted.
17:41:35 <Bike> 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 <fizzie> There's 5 applications in the queue for "site" too.
17:42:43 <fizzie> I see that .youtube, .chrome, .nexus, .gle, .gmail and such got delecated recently too.
17:43:06 <fizzie> There's also the .new and .here if you want more generic terms.
17:43:40 <fizzie> $ host goo.gle
17:43:41 <fizzie> goo.gle has address 127.0.53.53
17:43:41 <fizzie> goo.gle mail is handled by 10 your-dns-needs-immediate-attention.gle.
17:43:42 <fizzie> Uh.
17:44:26 <Bike> .youtube, lol
17:45:06 <fizzie> "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 <fizzie> ... 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 <fizzie> I guess they're still being set up.
17:46:04 <fizzie> "www.youtube" resolves to the same 127.0.53.53 + MX your-dns-needs-immediate-attention.youtube for me.
17:46:20 <fizzie> Also, that address just looks so incomplete somehow.
17:46:34 <Bike> eventually youtube.com is abandoned to squatters
17:46:42 <elliott> 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 <fizzie> There's a http://microsoft.dating/ but it just redirects to a bing search on "microsoft".
17:48:46 <fizzie> Host microsoft.cool not found: 3(NXDOMAIN) "ha ha"
17:48:49 <Bike> in case you were unaware of miccrosoft
17:49:20 <elliott> yeah, they do that
17:49:22 <elliott> e.g. http://xbox.moe/
17:52:18 <pikhq> http://youtube/ should exist.
17:53:04 <fizzie> There was an Official Opinion about not putting out A/AAAA records for naked TLDs.
17:53:42 <pikhq> Lame sauce.
17:53:53 <elliott> I think the new TLDs aren't allowed to do it?
17:53:55 <elliott> but some old ones still do.
17:53:59 <pikhq> What about CNAMEs?
17:54:04 <fizzie> $ dig +noall +answer youtube txt
17:54:04 <fizzie> youtube. 3533 IN TXT "Your DNS configuration needs immediate attention see https://icann.org/namecollision"
17:54:47 <fizzie> 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 <Bike> huh, http://biz/ is life alert's official website
17:55:35 <Bike> which is a .com, is that ironic
17:55:45 <fizzie> That doesn't work in my browser.
17:57:06 <fizzie> dig only gets the usual NS (and DNSSEC) records for "biz."
17:57:41 <Bike> oh, my browser treats http://foo/ as foo.com.
17:57:47 <Bike> damn.
18:03:51 -!- augur_ has joined.
18:10:40 <mroman_> who owns .website?
18:11:34 <fizzie> "DotWebsite Inc."
18:11:50 <Bike> hm, and com. becomes www.com.
18:11:54 <Bike> this is mysterious.
18:12:10 <fizzie> (With Brijesh Joshi (Director & GM) and Namit Merchant (General Manager) as the primary and secondary contacts.)
18:12:34 <fizzie> It's an "International Business Company" registered in the Republic of Seychelles.
18:12:36 <Bike> and org. is w3.org...
18:14:59 <Gregor> Apparently .phd will exist.
18:15:09 <Gregor> For the academic elite who want that extra token of dickishness.
18:15:20 <fizzie> .university already does. Don't know how many universities have one.
18:15:28 <fizzie> Ours doesn't, at least.
18:15:41 <Gregor> Why would they? It's loony.
18:15:45 <Bike> i'm just gonna get a domain from montserrat
18:15:55 <Gregor> Besides, many nations have a standard for university domains that's actually controlled.
18:15:59 <Gregor> Like .edu and .ac.uk
18:18:52 <fizzie> 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 <fizzie> And www.cl.cam.ac.uk and so on.
18:20:43 <fizzie> 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 <elliott> fizzie: ox.ac.uk
18:21:41 <fizzie> www.ed.ac.uk.
18:26:00 <Gregor> .ca doesn't have any vetted standard for universities *sigh*
18:26:31 <fizzie> Neither does .fi.
18:27:58 <fizzie> The domain, that is. I'm sure the country does something.
18:30:09 -!- drdanmaku has joined.
18:37:49 <Gregor> Heh
18:40:53 -!- Sprocklem has joined.
19:13:39 -!- adu has quit (Quit: adu).
19:53:33 <J_Arcane> 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 <J_Arcane> Which software licenses are most friendly to commercial entities?
19:53:52 -!- AnotherTest has quit (Ping timeout: 240 seconds).
20:01:42 <Phantom_Hoover> public domain
20:03:05 <Bike> proprietary if it's one company, public domain if more than one company's gonna use it
20:34:38 <J_Arcane> Yeah, I suppose PD is probably the easiest option, yeah.
20:36:35 -!- augur_ has quit (Remote host closed the connection).
20:37:08 <J_Arcane> Though for selfish reasons maybe a simple one-line note requesting an acknowledgment might not be a bad idea.
20:47:57 <fizzie> 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 <J_Arcane> It seems like it's a more popular option with the startup crowd anyway.
20:50:46 <J_Arcane> Open source for the taking with no requirement to give anything back ...
20:52:08 <Phantom_Hoover> i should be clear that 'public domain' was a joke answer taking 'most friendly' to the extreme
20:52:27 <Taneb> BSD or MIT are pretty good
20:52:29 <Taneb> iirc
20:53:30 -!- AnotherTest has quit (Ping timeout: 246 seconds).
20:53:35 <J_Arcane> Phantom_Hoover: A joke perhaps, but still not the worst idea.
20:55:35 <J_Arcane> 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 <Sgeo> 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 <elliott> J_Arcane: BSD or MIT or CC0
21:41:54 <elliott> also, that sounds fairly simple to do with e.g. a boring old bayesian classifier like can be used for spam?
21:42:19 <elliott> 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 <GeekDude> ~
21:57:28 <GeekDude> ~help
21:57:44 <GeekDude> !help
21:57:48 <GeekDude> `help
21:57:48 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
21:57:50 <GeekDude> aha!
21:58:00 <GeekDude> `ls
21:58:01 <HackEgo> ​:-( \ 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 <GeekDude> `cat :-(
21:58:09 <HackEgo> ​☹
21:58:12 <GeekDude> uhhh
21:58:19 <GeekDude> 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 <Sgeo> Work blocks Chrome autoupdating because of course they do. Uninstalling+Reinstalling Chrome worked to update it.
22:23:35 <Sgeo> Firefox is allowed to auto-update
22:24:30 <boily> Sgello.
22:24:34 <boily> where do you work again?
22:25:23 -!- shikhin has quit (Ping timeout: 272 seconds).
22:26:11 <Sgeo> Cablevision
22:27:03 <pikhq> Huh.
22:28:26 <boily> 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 <GeekDude> Where might I find a list of (monospaced) characters sorted by area?
23:10:27 <boily> define area?
23:10:51 <GeekDude> amount of space in their square taken up
23:11:04 <GeekDude> eg, . takes up less space than M
23:11:23 <Melvar> Well, that depends absolutely and completely on the font you’re using.
23:12:01 <GeekDude> lol
23:12:05 <oerjan> 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 <GeekDude> I'm talking about shaded/filled in area
23:14:57 <Melvar> ▁▂▃▄▅▆▇█
23:15:48 <GeekDude> lol
23:16:05 * GeekDude will try plugging those into the program
23:16:10 <Melvar> ░▒▓█
23:17:13 <GeekDude> python does not like these characters
23:17:30 <GeekDude> treats them as syntax errors -.-
23:17:31 <boily> humbug! of course it does.
23:17:46 <Melvar> Which python?
23:17:55 <GeekDude> python 2.7
23:17:59 <GeekDude> the non-unicode one :P
23:18:05 <boily> then u'░▒▓█'.
23:19:13 <GeekDude> I had to add # coding=UTF-8
23:19:17 <Melvar> Mine finds them both agreeable. Without the u it uses UTF-8 bytes.
23:19:35 <Melvar> What, why would you have to say so?
23:20:12 <boily> the infamous # -*- coding: utf-8 -*- from python 2.
23:20:34 <Bicyclidine> emacs and python, huh. grand
23:21:07 <boily> the only python I ever did was all joyously typed in vim.
23:22:05 <boily> (also some idle in the very early beginning, but I was in a confused state.)
23:22:07 <Bicyclidine> why the emacs file variables then
23:22:19 <boily> because muscle memory from unknown sources.
23:22:34 <Bicyclidine> 3spooky
23:22:53 <boily> 5me
23:24:37 -!- conehead has joined.
23:26:09 <Melvar> `` echo $LANG
23:26:09 <HackEgo> en_NZ.UTF-8
23:28:09 <Melvar> `` python --version
23:28:09 <HackEgo> Python 2.7.3
23:28:41 <Melvar> Does python have something like show?
23:29:01 <Bicyclidine> :t show
23:29:02 <lambdabot> Show a => a -> String
23:29:17 <Bicyclidine> str(), i think? something like that
23:29:58 <Bicyclidine> repr and str.
23:31:30 <Melvar> `` python -c print repr('█')
23:31:31 <HackEgo> bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `python -c print repr('█')'
23:31:45 <shachaf> Closer to repr.
23:32:02 <Melvar> `` python -c 'print repr("█")'
23:32:02 <HackEgo> ​'\xe2\x96\x88'
23:32:10 <Melvar> `` python -c 'print repr(u"█")'
23:32:11 <HackEgo> u'\xe2\x96\x88'
23:32:38 -!- skj3gg has joined.
23:34:09 <Melvar> `` python <<<'repr(u"█")'
23:34:10 <HackEgo> ​ File "<stdin>", line 1 \ SyntaxError: Non-ASCII character '\xe2' in file <stdin> on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
23:34:45 <Melvar> ?
23:35:35 <Bicyclidine> i love strings
23:36:38 <Melvar> I find “string” not explicit enough for a real type.
23:36:52 <boily> `` python <<< 'print(u"▓".__repr__())'
23:36:52 <HackEgo> ​ File "<stdin>", line 1 \ SyntaxError: Non-ASCII character '\xe2' in file <stdin> 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 <Melvar> `` python <<<'repr(u"█")' | cat -v
23:37:27 <HackEgo> ​ File "<stdin>", line 1 \ SyntaxError: Non-ASCII character '\xe2' in file <stdin> on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
23:37:42 <boily> no! not the evil and vile and horrendous “cat -v”!
23:37:46 <GeekDude> So fun http://i.imgur.com/LkEFeoO.png
23:39:00 <Melvar> GeekDude: That reminds me, there was some lib for rendering using extended braille patterns.
23:39:26 <Bicyclidine> can you zoom in
23:40:48 <Melvar> boily: Btw for me it complains of a non-ascii character, even though it accepts it by every other way.
23:42:00 <GeekDude> Bicyclidine: no
23:43:09 <boily> Melvar: oh well. such is life.
23:43:31 <boily> (is there a Unicode Potato somewhere?)
23:44:17 <Melvar> I find only ROASTED SWEET POTATO 🍠
23:45:05 <boily> 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 <GeekDude> Melvar: http://i.imgur.com/NdpcBSU.png
23:58:19 <GeekDude> I made the scale a variable
23:58:26 <GeekDude> so much easier than adjusting constants manually
23:59:02 <Melvar> GeekDude: Was that supposed to be directed at Bicyclidine?
23:59:20 <GeekDude> uhh
23:59:26 <GeekDude> not particularly
2014-09-18
00:04:56 -!- Bicyclidine has quit (Ping timeout: 255 seconds).
00:05:45 <boily> @tell Bicyclidine was it directed?
00:05:45 <lambdabot> Consider it noted.
00:05:54 <boily> 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 <Sgeo> 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 <Sgeo> I have yet to figure out if that's sane or laughably idiotic
02:31:23 <shachaf> Representable is a class and that thing is a type.
02:33:04 <Sgeo> s/Representable is/Repesentable's main method of note is/
02:33:31 <shachaf> That doesn't make any sense for anything called Representable that I know of.
02:35:31 <Sgeo> I mostly just mentally pattern matched on the pattern of profunctor-relevent classes that I've been seeing
02:35:35 <Sgeo> >.>
02:36:07 <Sgeo> s -> (a -> b), (a -> b) -> t
02:37:44 <Sgeo> 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 <Sgeo> Wait, there.. isn't. /me blinks
02:38:35 <shachaf> I don't understand you, Sgeo.
02:39:35 <Sgeo> What is (s -> a -> b) -> Optic s t a b? A setter?
02:39:48 <Sgeo> Um. Setter that can only set but not modify?
02:39:49 <shachaf> A type.
02:41:02 <Sgeo> Ok, that (a -> b) -> t looks absolutely ridiculous
02:42:52 <Bike> you look ridiculous
02:43:28 <shachaf> The whole stream of consciousness thing you do in IRC is unusual.
02:43:39 <Sgeo> Maybe I should throw lens in there. s -> ((a -> b), o), ((a -> b), o) -> t
02:46:39 <Sgeo> shachaf: I should probably find a better place to put my thoughts
02:46:41 <Sgeo> :/
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 <elliott> Sgeo: you should do more normal things like report problems you find on wikipedia
02:58:42 <Bike> ooooooooooooooOOOOOOOooooooooooooh
03:04:52 -!- b_jonas has joined.
03:14:01 -!- gfdsgdsgsd has joined.
03:14:26 <gfdsgdsgsd> hi
03:15:35 -!- gfdsgdsgsd has quit (Client Quit).
03:21:21 <elliott> hi
03:32:20 <Sgeo> Are there any sensible optics Optic (a -> b) (a -> b) a b?
03:32:32 <Sgeo> I don't know how the s t a b types are required to related to eachother
03:32:56 <Sgeo> That is, can s ~ t without a ~ b?
03:42:32 <Sgeo> Eh, I don't see how that makes sense
03:43:09 <elliott> Sgeo: think about Optic o i where o, i :: k -> * for some k
03:43:23 <elliott> _1 :: Lens (\a -> (a,b)) (\a -> a)
03:43:35 <elliott> field :: Lens (\_ -> Record) (\_ -> Field)
03:43:58 <elliott> 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 <elliott> anything you can't construct out of type functions like that is an abuse of the type laws relating the variables
03:46:08 <Sgeo> I don't.... think I can construct it, then, without giving o improper knowledge of both x and y
03:46:50 <Sgeo> So what is liyang talking about?
03:48:41 <elliott> /last liyang
03:48:45 <elliott> Lastlog:
03:48:45 <elliott> 04:46:50 <Sgeo> So what is liyang talking about?
03:48:45 <elliott> End of Lastlog
03:49:01 <Sgeo> In #haskell-lens
03:49:23 <elliott> 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 <Sgeo> 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 <quintopia> 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 <quintopia> how does tell work again
05:14:39 <quintopia> @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 <lambdabot> Consider it noted.
05:15:16 <coppro> quintopia: implementing what?
05:16:35 <coppro> quintopia: if you mail me something, I will hand deliver it to gregor
05:17:23 <J_Arcane> 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 <quintopia> @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 <lambdabot> Consider it noted.
05:18:36 <quintopia> 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 <fizzie> Please to be answering http://goo.gl/02KE0Y if you care about that sort of stuff.
05:57:06 <fizzie> (Just remember not to submit your password accidentally.)
05:59:32 <ais523_> hmm
05:59:49 <ais523_> 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 <ais523_> and it feels weird that it's nonetheless so far down the rankings
06:00:19 <ais523_> 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 <ais523_> I wanted to write about the probabilistic lock, but not coming top of the hill means I can't
06:05:07 <ais523_> therefore, I guess I'll vote for points-based
06:18:15 <fizzie> 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 <ais523_> indeed
06:19:01 <ais523_> I think that in today's world, that needlessly punishes defence programs
06:19:22 <ais523_> 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 <ais523_> basically, due to the strategy of sacrificing 1/3 of the tape lengths to win on the other 2/3
06:27:48 <fizzie> 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 <fizzie> ... http://sprunge.us/DdQb
06:28:36 <ais523_> I guess I could just do more constant-tweaking
06:28:39 <ais523_> but I really don't have time right now
06:28:52 <ais523_> the annoying thing is that it'd be tweaking to increase win margin, which feels really really exploity
06:30:40 <fizzie> Doing (D+T)/(2T) puts preparation on top (with a score of 70.56 over 70.39 for Oj742_smartlock).
06:30:55 <fizzie> (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 <ais523_> I guess an alternative method is just to submit a bunch of new programs that beat smartlock
06:35:31 <ais523_> although they'd also have to be quite good otherwise
06:38:29 <fizzie> http://sprunge.us/bBUD -- FWIW, I added that as an option too.
06:38:42 <fizzie> Even though modifying a poll after publishing it is a bit questionable.
06:40:54 <ais523_> oh well, I voted for that one too
06:41:00 <ais523_> the poll doesn't appear to have any protections against doublevoting
06:41:17 <fizzie> I don't think there was an option for that in Google Forms.
06:41:20 <ais523_> 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 <fizzie> There was one to make votes editable, I don't know how that would have worked.
06:42:08 <fizzie> (The responses also only show a timestamp and no identifiable information.)
06:45:08 <fizzie> 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 <ais523_> the markov system didn't look that bad, at least
06:47:30 <ais523_> huh, apparently ehird suggested win rate > 50% should be winner-takes-all
06:47:34 <ais523_> in any particular match
06:47:57 <fizzie> 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 <Sgeo> (Profunctor p, Representable p) => p a b -> p (r -> a) (r -> b)?
07:18:45 <shachaf> What's this Representable class?
07:19:07 <shachaf> Is it from Data.Profunctor.Rep?
07:19:29 <Sgeo> A thing that (->) supports but Forget and ForgetStream should not
07:19:48 <shachaf> If so, it's pretty clear that none of the things you're proposing are anything like what that class provides.
07:19:54 <shachaf> Oh, you just made up the name?
07:20:12 <Sgeo> Not just made up, but it wouldn't be literally the same thing I guess
07:21:24 <shachaf> I have no idea what you're doing.
07:23:25 <Sgeo> 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 <shachaf> it's not hth
07:25:57 <Sgeo> hmm
07:26:18 <Sgeo> 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 <shachaf> are you trying to define Setter in terms of Setter
07:28:33 <Sgeo> 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 <Sgeo> Similar to how I can define all lenses in terms of one particular lens and an information-containing Iso
07:29:48 <shachaf> ok but the things you're saying aren't making sense
07:29:54 <shachaf> also keep in mind what xplat was saying
07:30:07 <shachaf> whatever. why are you saying all this in this channel?
07:31:44 -!- Deewiant has quit (Ping timeout: 250 seconds).
07:33:05 <Sgeo> 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 <ais523> huh, IOCCC has started up again
08:33:49 <ais523> any good ideas by anyone?
08:34:16 <ais523> 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 <lifthrasiir> so do I
08:35:56 <ais523> also, OT but amusing: apparently there are no contingency plans in case the Scottish referendum ends in a tie
08:36:14 <lifthrasiir> well, I didn't mean I was thinking the same program as ais523 suggested
08:36:16 <lifthrasiir> 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 <b_jonas> oh, ioccc started? let me look
09:38:42 <b_jonas> until oct 19?
09:39:41 -!- paul2520 has joined.
09:40:16 -!- paul2520 has changed nick to Guest90992.
09:42:34 <fizzie> Oct 19, 18:17:16, very arbitrary.
09:42:50 <ais523> 19 18 17 16
09:42:54 <ais523> not 100% arbitrary
09:43:07 <ais523> I can't interpret "October" as "20", though
09:43:20 <b_jonas> 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 <b_jonas> in what sense was the contest open before 2014-09-15 then?
09:45:11 <fizzie> I guess there might've been a preliminary page about it, before?
09:45:24 <fizzie> (I don't know, I didn't notice.)
09:46:14 <fizzie> Makes me wonder if the only-standard-identifiers thing could've had the makings of an IOCCC entry.
09:47:21 <b_jonas> thing where?
09:47:42 <fizzie> http://zem.fi/2014-04-13-idbf
09:48:08 <fizzie> It's not exactly "obfuscated C", it's more of a "silly C thing".
09:49:05 <b_jonas> 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 <oerjan> @messages-
11:45:29 <lambdabot> 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 <fizzie> oerjan: We established (I think) that my #4 was equal to the quintopia system.
11:46:50 <oerjan> @tell Stupid English Verb Tenses HTH
11:46:50 <lambdabot> Consider it noted.
11:46:54 <oerjan> oops
11:47:01 <fizzie> Heh.
11:47:02 <oerjan> oh hm
11:47:08 <oerjan> `dontaskdonttelllist
11:47:08 <HackEgo> 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 <fizzie> Poor Stupid, always getting all these messages.
11:47:31 <oerjan> quintopia: Stupid English Verb Tenses HTH
11:49:40 <fizzie> 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 <Jafet> @ask impossibly_long_nickname hi
12:09:26 <lambdabot> Consider it noted.
12:15:53 <fizzie> 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 <fizzie> http://sprunge.us/NPQe -- most code generated out of a single "a/b" by GCC in C mode?
13:18:19 <quintopia> 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 <fizzie> 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 <quintopia> oh but mine was in C
13:23:05 <quintopia> anyway, you didn't give example scorings for all the choices, so it's hard to decide
13:23:22 <fizzie> There should be examples for everything.
13:23:36 <fizzie> For the original four in the "details" page, and for the last-minute addons in the sprunge links.
13:24:05 <quintopia> well i wouldn't have thought to look at the details page
13:24:31 <fizzie> That's why the form says "-- including comparisons on the current hill" when linking to it.
13:24:50 <fizzie> Perhaps "example scorings" would be a better keyword.
13:25:11 <fizzie> Now it says that instead.
13:27:59 <quintopia> 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 <fizzie> 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 <fizzie> Maybe a Google Drive spreadsheet shared to all could work.
13:36:16 <quintopia> i don't really understand how you're converting the distribution to a score
13:36:23 <elliott> #7 has such tiny scores.
13:36:31 <quintopia> do you just scale thetop score up to 100?
13:36:37 <elliott> Your response helps to make the world better. Thank you.
13:36:39 <elliott> I'm sure.
13:37:36 <quintopia> 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 <fizzie> 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 <fizzie> http://goo.gl/rVpRLN should show a full comparison graph.
13:43:58 <fizzie> The earlier plot had them all scaled to the same [min, max] range, though that was mostly accidental.
13:51:11 <fizzie> 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 <fizzie> 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 <elliott> trad and m+compromise are uncomfortably close in colour
13:52:42 <quintopia> yeah i can't decided and i don't have more time to think about it
13:53:13 <fizzie> Huh. You can't switch line styles in the chart thing.
13:53:19 <fizzie> Only color, and thickness, and point size.
13:54:07 <quintopia> i like the idea of M+compromise, but i can't support it because it produces insane scores
13:54:32 <quintopia> which is odd because trad+tweak produces great scores
13:55:25 <fizzie> I might check whether that's an implementation glitch, though it wasn't really a very large change.
14:13:43 <quintopia> 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 <DootBot> 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 <fizzie> quintopia: I don't recall, but I can certainly add that thing in the reports.
15:59:25 <quintopia> fizzie: also if your hill is as fast as you say, we could feasibly have a HUEG hill
16:03:11 <quintopia> 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 <fizzie> 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 <fizzie> I remember someone giving a presentation about TrueSkill, the thing Xbox uses for matchmaking.
16:10:46 <fizzie> The goals are a bit different there, but I remember a lot of thought went into that thing.
16:11:27 <coppro> TrueSkill is designed to factor in fandomness
16:11:32 <coppro> *randomness
16:11:56 <fizzie> That, too. And teams.
16:17:21 -!- aretecode has joined.
16:21:09 -!- Imaginer1 has joined.
16:21:10 <Imaginer1> Hey guys
16:21:25 <Imaginer1> What's your favorite esoteric language? I'm bored with the ones I've been working on.
16:21:50 <Taneb> Mine is Piet
16:22:00 <Taneb> Of the ones I created, Fueue
16:22:02 <Imaginer1> Do you actually code in it oftne though?
16:22:11 <Taneb> I used to a lot more (for Piet)
16:22:28 <Imaginer1> Oh, huh. Well I'm looking into Fueue now... *shrug*
16:22:47 <Taneb> I never actually figured out how for Fueue, although oerjan did
16:23:07 <Imaginer1> You mean how to code in it?
16:23:44 <Taneb> Yeah
16:24:06 <Imaginer1> Mm.
16:24:20 <Imaginer1> Any others you've just found interesting? There should be a 'popular' page on the wiki...
16:24:23 <Taneb> Underload is another good language, and along that line there's also False
16:24:27 <Taneb> And Glass and Befunge...
16:24:41 -!- perrier has quit (Remote host closed the connection).
16:24:58 <Imaginer1> 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 <Taneb> ZOMBIE?
16:26:02 <Imaginer1> That's a weird one O.o
16:29:35 <fizzie> 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 <Imaginer1> Really? O.o
16:30:11 <fizzie> fungot: Wouldn't you say so?
16:30:11 <fungot> 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 <fizzie> (That's written in Befunge.)
16:31:01 <Imaginer1> I know he is ^^
16:31:14 <fizzie> 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 <fizzie> At that time it's just a quirky Forth, really.
16:32:42 <Imaginer1> yeah
16:34:36 <Imaginer1> What's EOF in Fueue?
16:34:50 <Taneb> Implementation defined
16:34:56 <Imaginer1> Mmk.
16:35:53 <Taneb> 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 <quintopia> 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 <FreeFull> 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 <fizzie> http://sprunge.us/PPFI looking good
17:24:19 <elliott> that bot reminds me of me
17:29:30 <elliott> "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 <mroman_> http://codepad.org/cAoadKHp <- any suggestions, critics?
17:37:57 <mroman_> (Haskell stuff)
17:38:20 <mroman_> oh. the haddock for <<\>> is wrong
17:38:29 <mroman_> or is it...
17:38:36 <mroman_> no it's correct
17:48:10 <elliott> mroman_: Box = Applicative + Copointed?
17:48:28 <elliott> oh.
17:48:30 <elliott> unbox is allowed to be partial.
17:48:31 <elliott> ewww.
17:48:55 <elliott> and it isn't even a functor (since id </> x =/= x for counterbox)
17:49:58 <mroman_> Well.. you can't unbox a Nothing
17:50:14 <mroman_> I can't change that :)
17:50:38 <elliott> 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 <mroman_> Yeah. Also it will tell you fromJust: undefined
17:51:12 <mroman_> instead of unbox: undefined
17:51:31 <mroman_> that's a minor detail and easily changeable
17:52:11 <elliott> 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 <elliott> anyway, CounterBox shouldn't exist, it violates any reasonable laws you could come up with relating anything
17:52:53 <elliott> 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 <elliott> the [] instance is the ZipList Applicative instance + head
17:53:26 <elliott> (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 <Bike> a box is like a monad
17:53:47 <elliott> the Maybe instance is the Applicative instance for Maybe + unbox
17:54:04 -!- conehead has joined.
17:54:09 <fizzie> 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 <Melvar> ( :let fromJust : (mx : Maybe a) -> {auto ij : IsJust mx} -> a; fromJust (Just x) {ij=ItIsJust} = x
17:54:09 <idris-bot> defined
17:54:11 <elliott> 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 <Melvar> ( fromJust (Just 0)
17:54:43 <idris-bot> 0 : Integer
17:55:17 <Melvar> ( fromJust (the (Maybe Integer) Nothing)
17:55:17 <idris-bot> When elaborating argument ij to function fromJust:
17:55:17 <idris-bot> Can't solve goal
17:55:17 <idris-bot> IsJust (the (Maybe Integer) Nothing)
17:55:21 <fizzie> !bfjoust ijustreadthewiki (>)*9([(+)*9[-]]>)*21
17:55:21 <zhill> fizzie~ijustreadthewiki: points -10.81, score 22.00/100, rank 41/47
17:55:23 <elliott> :t ItIsJust
17:55:24 <lambdabot> Not in scope: data constructor ‘ItIsJust’
17:55:30 <elliott> Melvar: how can I see the data declaration for IsJust?
17:55:39 <Melvar> ( :doc IsJust
17:55:39 <idris-bot> Data type IsJust : Maybe a -> Type
17:55:39 <idris-bot> Proof that some Maybe is actually Just
17:55:39 <idris-bot> Constructors:
17:55:39 <idris-bot> ItIsJust : IsJust (Just x)
17:55:55 <elliott> Melvar: is the "x" not extractable from ItIsJust?
17:56:10 <elliott> is it like, an existential proposition or something?
17:56:36 <Melvar> It can be, but I would think you want to erase the whole thing.
17:56:52 <elliott> in Coq you can get the x out of Inductive IsJust {A} : Maybe A -> Type := ItIsJust : forall {x}, IsJust (Just x).
17:56:52 <fizzie> (And the scores go to http://zem.fi/bfjoust/report.txt at the moment, but that's very temporary too.)
17:57:00 <elliott> (but not if you s/Type/Prop/)
17:57:13 <mroman_> yeah but impure :: f a -> Maybe a
17:57:15 <Melvar> elliott: That is, you can, but then the compiler will decide it can’t erase it.
17:57:21 <mroman_> where's </>,<\> etc? ;)
17:57:50 <elliott> 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 <elliott> (</>) is fmap/(<$>)
17:58:10 <elliott> mergeWith is liftA2
17:58:27 <elliott> the [] instance = ZipList Applicative
17:58:34 <elliott> the Maybe instance = Maybe Applicative
17:58:42 <elliott> SimpleBox = Identity Applicative
17:58:55 <elliott> CounterBox = broken, won't satisfy any reasonable set of laws
17:59:16 <mroman_> Laws about what?
17:59:20 <elliott> Sum/Product = the respective Applicatives (if they have instances? they certainly can be given them)
17:59:45 <elliott> First/Last = broken (too partial because of not implementing the Applicative-equivalent methods) but I think they have Applicative instances anyway
17:59:52 <elliott> mroman_: the functions. typeclasses are meant to have laws.
17:59:57 <mroman_> sure id </> x == x doesn't necessarily hold
17:59:58 <elliott> instances are meant to have some commonality; that's the point of abstraction
18:00:29 <elliott> 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 <elliott> it's okay if you ignore my advice, but you did ask for it.
18:01:07 <mroman_> I see @laws
18:02:11 <elliott> (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 <Melvar> 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 <elliott> 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 <elliott> that requires whole-program analysis, I guess?
18:03:55 <Melvar> I believe it does.
18:04:13 <elliott> mroman_: getting close to reinventing Applicative is pretty impressive though :) it's a wonderful abstraction
18:04:21 <Melvar> If you annotated it appropriately, the compiler would warn you if you accidentally observed it.
18:05:27 <mroman_> I don't have the CatTheory-Background for those things etc.
18:05:35 <mroman_> the only law I know is map (f . g) = map f . map g
18:05:49 <mroman_> which apparentely breaks with seq or something
18:06:16 <elliott> don't worry about seq :p
18:06:44 <mroman_> 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 <mroman_> and <<\>> which skips over Nothings
18:07:07 <mroman_> i.e (+) <<\>> [Just 9, Just 8, Nothing] will return Just 17
18:07:57 <Melvar> > foldl1' (+) <$> sequence [Just 9, Just 8, Nothing]
18:07:59 <lambdabot> Nothing
18:08:03 <Melvar> > foldl1' (+) <$> sequence [Just 9, Just 8]
18:08:04 <lambdabot> Just 17
18:09:16 <mroman_> @hoogle foldM
18:09:18 <lambdabot> Control.Monad foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a
18:09:18 <lambdabot> Control.Monad foldM_ :: Monad m => (a -> b -> m a) -> a -> [b] -> m ()
18:09:18 <lambdabot> Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
18:10:01 <mroman_> @hoogle foldlM
18:10:01 <lambdabot> Data.Foldable foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m a
18:10:49 <Melvar> elliott: Do you know how to transpose a Vect of Vects?
18:10:58 <elliott> Melvar: in idris?
18:11:38 <Melvar> Well, presumably it would work anywhere you have Vect.
18:13:24 <Melvar> Thing is, Vect n is Applicative for all n (it zips). It’s also Traversable (it acts like any sequential container).
18:13:46 <Melvar> ( with Vect sequence [[1,2,3],[4,5,6]]
18:13:46 <idris-bot> [[1, 4], [2, 5], [3, 6]] : Vect 3 (Vect 2 Integer)
18:14:39 <Melvar> So, what sequence does with a Vect of Vects just happens to be to transpose it.
18:15:48 <Melvar> I absolutely love how it just falls right out of the abstractions.
18:16:15 <mroman_> > sequence [[1,4],[2,5],[3,6]]
18:16:17 <lambdabot> [[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 <mroman_> hm
18:16:54 <mroman_> > sequence [[x,y],[x,y]]
18:16:56 <lambdabot> [[x,x],[x,y],[y,x],[y,y]]
18:17:04 <elliott> Melvar: right.
18:17:08 <mroman_> this looks binomish
18:17:15 <Melvar> > sequence . map ZipList $ [[1,4],[2,5],[3,6]]
18:17:17 <lambdabot> Could not deduce (GHC.Base.Monad Control.Applicative.ZipList)
18:17:17 <lambdabot> arising from a use of ‘Control.Monad.sequence’
18:17:17 <lambdabot> from the context (GHC.Num.Num a)
18:17:17 <lambdabot> bound by the inferred type of
18:17:17 <lambdabot> it :: GHC.Num.Num a => Control.Applicative.ZipList [a]
18:17:20 <elliott> Melvar: that works withZipList too, I think?
18:17:25 <elliott> *with ZipList
18:17:29 <Melvar> > sequenceA . map ZipList $ [[1,4],[2,5],[3,6]]
18:17:30 <lambdabot> Not in scope: ‘sequenceA’
18:17:31 <lambdabot> Perhaps you meant one of these:
18:17:31 <lambdabot> ‘T.sequenceA’ (imported from Data.Traversable),
18:17:31 <lambdabot> ‘sequence’ (imported from Control.Monad.Writer),
18:17:31 <lambdabot> ‘T.sequence’ (imported from Data.Traversable)
18:17:32 <elliott> I've used sequence to transpose before, I think.
18:17:33 <mroman_> > map (\[x,y] -> x*y) $ sequence [[x,y],[x,y]]
18:17:35 <lambdabot> [x * x,x * y,y * x,y * y]
18:17:40 <Melvar> > T.sequenceA . map ZipList $ [[1,4],[2,5],[3,6]]
18:17:42 <lambdabot> ZipList {getZipList = [[1,2,3],[4,5,6]]}
18:17:44 <elliott> (I just didn't know what Vect was. I know that type as Vec.)
18:17:49 <mroman_> > sum $ map (\[x,y] -> x*y) $ sequence [[x,y],[x,y]]
18:17:51 <lambdabot> 0 + x * x + x * y + y * x + y * y
18:18:00 <Melvar> > getZipList . T.sequenceA . map ZipList $ [[1,4],[2,5],[3,6]]
18:18:01 <lambdabot> [[1,2,3],[4,5,6]]
18:18:30 <Melvar> > getZipList . T.sequenceA . map ZipList $ [[1,4],[2,5,8],[3,6]]
18:18:31 <lambdabot> [[1,2,3],[4,5,6]]
18:19:46 <Melvar> > transpose [[1,4],[2,5,8],[3,6]]
18:19:47 <lambdabot> [[1,2,3],[4,5,6],[8]]
18:20:39 <Melvar> Not *quite* the same with ZipList :3
18:25:04 -!- blsqbot has joined.
18:25:19 <mroman_> > sequence [[1,2,3],[4,5,6],[7,8,9]]
18:25:21 <lambdabot> [[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 <mroman_> > {1 2 3}{4 5 6}cp
18:25:31 <lambdabot> <hint>:1:1: parse error on input ‘{’
18:25:41 <mroman_> !blsq {1 2 3}{4 5 6}cp{7 8 9}cp
18:25:42 <blsqbot> {{{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 <mroman_> !blsq {1 2 3}{4 5 6}\[cp{7 8 9}cp
18:25:53 <blsqbot> {{{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 <elliott> Melvar: I guess it works for (->) too
18:26:13 <elliott> Melvar: if you have a Traversable instance that requires the enumerability of the input parameter or such
18:26:19 <elliott> (or does it need to be finite?)
18:26:50 <mroman_> ok so sequence on lists is cross product . concat
18:27:07 <mroman_> !blsq {1 2 3}{4 5 6}cp\[{7 8 9}cp
18:27:08 <blsqbot> {{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 <Melvar> Well, (Vect n a) is isomorphic to (Fin n -> a).
18:27:33 <elliott> Melvar: right.
18:27:54 <elliott> you can transpose (Nat -> Nat -> a) too, though.
18:28:53 <Melvar> Oh, yes, but I’m pretty sure you can’t make Stream Traversable.
18:29:01 <mroman_> map (concat) . crossProduct actually.
18:29:12 <elliott> Melvar: I think you can do it if you're okay with it only working with sufficiently lazy Applicatives.
18:29:22 <elliott> class Doop a where { doop :: Monoid m => (a -> m) -> m }; instance Doop a => Traversable ((->) a) where { sequenceA f = ??? (doop ???) } -- a puzzle
18:29:49 <elliott> Melvar: after all, the instance for [] breaks on a lot of Applicatives when you pass infinite lists.
18:30:25 <elliott> (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 <Melvar> Yeah, but Idris has a totality checker and two different explicit lazinesses.
18:30:27 <mroman_> > let cp xs = [[x,y]|x<-xs,y<-xs]] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]]
18:30:29 <lambdabot> <hint>:1:32: parse error on input ‘]’
18:30:30 <elliott> right.
18:30:33 <elliott> I meant in Haskell.
18:30:41 <mroman_> > let cp xs = [[x,y]|x<-xs,y<-xs] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]]
18:30:42 <lambdabot> Couldn't match type ‘[[t]]’ with ‘[t] -> [t]’
18:30:42 <lambdabot> Expected type: [t] -> [t] -> [t]
18:30:42 <lambdabot> Actual type: [t] -> [[t]]
18:30:49 <elliott> I think you can make the same Traversable instance work for transposing (Fin n -> Fin n -> a) and (Nat -> Nat -> a).
18:31:20 <mroman_> > 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 <lambdabot> Occurs check: cannot construct the infinite type: t ~ [t]
18:31:22 <lambdabot> Expected type: [t] -> [t] -> [t]
18:31:22 <lambdabot> Actual type: [t] -> [t] -> [[t]]
18:31:25 <mroman_> Ah screw it :(
18:31:33 <mroman_> I suck at Haskell-Lists
18:32:40 <mroman_> although the cp part doesn't look wrong.
18:32:58 <mroman_> > [[x,y]|x<-[1..3],y<-[1..3]]
18:33:00 <lambdabot> [[1,1],[1,2],[1,3],[2,1],[2,2],[2,3],[3,1],[3,2],[3,3]]
18:33:28 <mroman_> > 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 <lambdabot> [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 <mroman_> nope. still wrong.
18:34:17 <mroman_> Can't you fold with cross-product?
18:35:56 <mroman_> I'm already too accustomed to Burlesque's reduce :(
18:36:09 <mroman_> !blsq {{1 2 3}{4 5 6}{7 8 9}}qcpr[
18:36:10 <blsqbot> {{{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 <mroman_> (qcpr[ means reduce(crossProduct,xs))
18:37:23 <Melvar> Well, you’re producing what appears to be lists with differently-typed members.
18:37:30 <Melvar> elements that is.
18:37:31 <mroman_> Yes
18:37:46 <mroman_> 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 <Melvar> Yes.
18:38:18 <mroman_> which sounds like it could be done in a dependant typed language?
18:39:50 <Melvar> 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 <mroman_> !blsq {{1 2 3}{4 5 6}{7 8 9}}qcpr[)\[
18:45:37 <blsqbot> {{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 <mroman_> !blsq {{1 2 3}{4 5 6}{7 8 9}{1 1 1}}qcpr[)\[
18:46:04 <blsqbot> {{{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 <mroman_> :D
18:46:41 <GeekDude> http://who.is/dns/jamiehankins.co.uk
18:46:46 <GeekDude> someone forgot the sanitize their inputs
18:46:58 <GeekDude> XSS through dns entries
18:46:59 <ion> :-D
18:47:27 <coppro> that's incredible
18:48:04 <elliott> amazing
18:48:11 <mroman_> Why does that refer to a script on peniscorp
18:48:18 <TieSoul> wat
18:48:28 <TieSoul> that's really cool
18:49:40 <mroman_> I recently pentested an webapp that allows XSS via &amp;lt;b&amp;gt;
18:50:02 <mroman_> the &amp; will get replaced to & which form &lt; which will be replaced to <
18:50:14 <mroman_> that's not as funny as a side-channel attack but still
18:50:28 <GeekDude> .... What kind of an app does that O_o
18:50:41 <GeekDude> isn't the point of &amp; to avoid these kinds of things?
18:50:49 <GeekDude> er, &lt;
18:51:02 <mroman_> Well
18:51:05 <mroman_> It had a filter
18:51:13 <mroman_> that replaced < > with "" (i.e. Nothing)
18:51:26 <mroman_> but also replaced entities with their corresponding ASCII symbols
18:51:42 <mroman_> and that filter was applied twice
18:51:55 <mroman_> (I don't know why, but twice sounds more secure than only once)
18:51:56 <GeekDude> I assume it didn't let you use &lt; by itself>
18:51:56 <GeekDude> ?
18:52:01 <mroman_> WE DOUBLE FILTER ALL THEM INPUTZ.
18:52:20 <mroman_> no. &lt; would be replaced to < and then by the second filter pass it will be removed
18:52:27 <GeekDude> o
18:52:42 <mroman_> so you have to use &amp;lt;
18:53:19 <GeekDude> https://xss-game.appspot.com/level1
18:53:21 <GeekDude> this looks fun
18:53:33 <mroman_> It was a block-box test though
18:53:46 <mroman_> I haven't seen the source-code and I have no idea why and what actually did this
18:53:48 <Melvar> mroman_: Doesn’t that mean it would still be insecure if it was just applied once?
18:54:01 <mroman_> Melvar: it exactly implies that
18:54:26 <mroman_> then you could just use &lt;
18:54:41 <mroman_> but the filtering was done once for the preview
18:54:50 <Melvar> So … what was the filtering for even?
18:54:50 <mroman_> and once for actually saving the text
18:54:57 <mroman_> Melvar: I have no idea
18:57:02 <Melvar> > \x -> x == [x]
18:57:04 <lambdabot> Occurs check: cannot construct the infinite type: t ~ [t]
18:57:04 <lambdabot> Relevant bindings include x :: [t] (bound at <interactive>:1:2)
18:57:16 <mroman_> I haven't actually looked if it's done by the php-backend or the javascript frontend
18:57:20 <Melvar> ( \x => x == with List [x]
18:57:20 <idris-bot> (input):1:23:When elaborating an application of constructor Prelude.List.:::
18:57:20 <idris-bot> Unifying a and List a would lead to infinite value
18:57:33 <mroman_> since it's also for the preview it's probably some bad sanitizeHtml javascript function
18:57:45 <mroman_> I just put it onto the list of "stuff to report"
18:57:58 <mroman_> It also had an xls-Export
18:58:12 <mroman_> which allowed you to embed excel-functions
18:58:12 <Melvar> 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 <mroman_> i.e. if you wrote "=5+5" as a answer to a question and the teacher exported it
18:58:38 <mroman_> the teacher would see 10
18:59:38 <mroman_> (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 <fizzie> !bfjoust ijustreadthewiki http://sprunge.us/QILS
19:34:33 <zhill> 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 <elliott> ~, really?
20:11:45 <elliott> btw, which scoring method won?
20:13:39 <fizzie> I haven't decided yet, that's just beta-testing.
20:14:49 <fizzie> I'm hoping to happen to coincide with some actual BF Joust players for their input re scoring.
20:15:03 <fizzie> (But it's in the Markov/quintopia mode for now.)
20:15:17 <fizzie> (Except with my max-to-100 normalization instead of the sum-to-N one.)
20:16:06 <elliott> are there going to be fancy HTMLy breakdown pages with egojsout-style traces showing the results???
20:16:18 <elliott> and ponies?
20:16:20 <fizzie> I was kind of thinking there would.
20:17:06 <fizzie> It's all deterministic, so it can happen entirely client-side, assuming there's some way to fetch the corresponding code.
20:17:52 <elliott> can be kind of slow, though (but egojsout is usually okay)
20:18:08 <fizzie> 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 <elliott> 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 <elliott> fizzie: ~fizzie/ijustreadthewiki, clearly. it's the unix way.
20:18:37 -!- sebbu has quit (Ping timeout: 245 seconds).
20:18:59 <fizzie> 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 <elliott> well, you'd just have to store it in /home/fizzie/ijustreadthewiki.bfjoust.
20:19:22 <ion> All user names are referred to as in @fizzie now, haven’t you heard? Get with the times.
20:19:38 <elliott> actually I kind of like fizzie:ijustreadthewiki
20:19:55 <elliott> or is : legal in nicks?
20:20:00 <fizzie> No, and the colon is something I thought of.
20:20:03 <fizzie> ! is another.
20:20:09 <fizzie> That's all nick!user@host-y, too.
20:20:54 <fizzie> (Both get escaped in bash tab-completion so they might have some shell meanings. I know ! does. An inner ~ doesn't.)
20:20:59 <elliott> fizzie/ijustreadthewiki is githubby!
20:23:09 <ion> because github invented that
20:23:40 <elliott> yes, I definitely said that.
20:23:56 <fizzie> 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 <fizzie> (I think the breakdown.txt numbers are inverted from the traditional, though.)
20:32:37 -!- Frooxius has joined.
20:38:28 <b_jonas> 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 <tromp> 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 <zzo38> It says "You are using a version of Firefox which is unsupported." Actually I am not using Firefox at all.
02:17:28 <coppro> that explains why it's not supported
02:20:40 <lifthrasiir> it detects a distant precursor to Firefox (well, NCSA Mosaic to be exact)
02:20:44 <lifthrasiir> 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 <Sgeo> Does the vote tonight mean no more Scottish independence posts on Planet Haskell?
03:21:46 <Bicyclidine> No.
03:22:05 <Bicyclidine> @messages-loud
03:22:05 <lambdabot> You don't have any messages
03:22:09 <Bicyclidine> er.
03:22:16 <Bicyclidine> stupid machine. whatever. boily what the hell
03:24:09 <Sgeo> I'm still weirded out by the possibility of random numbers having a huge impact on the fate of the world
03:24:42 <Bicyclidine> you should read some wwii history sometime.
03:25:18 <Sgeo> 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 <Bicyclidine> enigma codebreakers relied on seeds being things like the telecom officer's wife's initials instead of something random
03:26:54 <Jafet> So it was the impossibility of random numbers
03:27:19 <Bicyclidine> well if you wanna be all pessimistic about it!
03:27:44 -!- augur has quit (Remote host closed the connection).
03:30:16 <elliott> it's sad that "will it stop interrupting my infinite feed of programming?" is people's attitude to politics.
03:30:37 <elliott> planets are a community thing, anyway, they usually deliberately don't only syndicate posts related to the community they're for
03:31:29 <Jafet> 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 <Sgeo> Except as vague interest.
03:31:46 <Bicyclidine> 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 <Bicyclidine> of course this assumes haskell programmers would get world news elsewhere, and, well
03:33:08 <elliott> Jafet: *yawn*
03:33:19 <elliott> 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 <elliott> the latter is, like, /r/haskell or whatever.
03:33:42 <Bicyclidine> yeah that's true.
03:41:11 <Sgeo> 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 <Sgeo> I can't help but wonder if the bbcbias people would say BBC's projection is biased
04:53:31 <Sgeo> Maybe not, but still
04:58:07 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
05:06:43 <elliott> no has obviously won
05:07:31 <elliott> even the yes campaign acknowledges that, so I don't know what your point is
05:07:31 * copumpkin hrrrmpfs
05:07:45 <elliott> copumpkin: yeah
05:09:41 <J_Arcane> media bias is merely an easy, unfalsifiable scapegoat to avoid acknowledging actual results.
05:09:58 <elliott> that's a really weird thing to say.
05:10:17 <elliott> 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 <elliott> there's plenty more compelling reasons to accuse the BBC of bias.
05:10:53 <Bike> scotland becomes independent but viktor krum catches the snitch
05:10:54 <J_Arcane> 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 <Bike> but what does brass eye say
05:12:38 <elliott> 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 <J_Arcane> elliott: which is exactly what I mean by 'telling.'
05:13:20 <Bike> but did we need to be told that
05:13:26 <elliott> uh... thank you for telling us people have opinions.
05:14:27 <elliott> 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 <J_Arcane> 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 <J_Arcane> 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 <Bike> 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 <J_Arcane> 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 <Bike> no, listen. that's stupid.
05:18:15 <elliott> it's true. nothing is provable, everything is false, all belief is religion, everyone is blind, hail satan
05:18:19 <J_Arcane> Sgeo: check out the corries.
05:18:28 <Bike> 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 <J_Arcane> "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 <Bike> do you know what "dogwhistle" means? why would you want to secretly communicate that you're out of argument?
05:23:05 <J_Arcane> are you really that naive?
05:23:14 <Bike> Yes, I'm a fucking idiot.
05:23:29 <J_Arcane> Fair enough, at least you know your limitations.
05:23:59 <Bike> https://twitter.com/dril/status/134787490526658561 Me
05:24:05 <J_Arcane> There's an 11% margin on the current vote.
05:24:40 <J_Arcane> I highly doubt that a botched Nick Robinson story accounted for 11% of the vore.
05:26:00 <J_Arcane> 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 <Bike> okay, but there's a fair bit of extrapolation between that and "no accusation of media bias is ever well-founded".
05:26:56 <J_Arcane> 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 <coppro> Eh, Scotland wins more anyway through devolution
05:37:35 <Sgeo> What happens if that doesn't happen?
05:38:09 <coppro> Then they hold another referendum and win.
05:38:12 <J_Arcane> 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 <Bike> shame any data you attempted to show me to back that up would be conspiracy mongering
05:39:00 <Sgeo> I thought celtic was Irish, but my searches for scottish music are turning up celtic songs
05:39:41 <J_Arcane> coppro: Yup. They can just hold another one, claim the results of the previous were spoiled by <insert excuse here> until the PM grovels some more and makes more promises, and so on and so forth.
05:39:46 <Sgeo> 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 <Bike> irish is under gaelic a lot.
05:40:02 <Bike> which is a kind of celtic, but, whatever
05:40:29 <Bike> unfortunately i've been underexposed to cornish rap.
05:40:32 <Sgeo> 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 <Sgeo> I'm sure they exist, I should search
05:41:09 <Bike> manx rockabilly
05:41:48 <J_Arcane> Sgeo: Scots and Irish are both Celtic peoples who once spoke Gaelic.
05:41:56 <Sgeo> Ah
05:43:11 <coppro> J_Arcane: well they can specifically say "They said they'd devolve. They lied."
05:43:48 <coppro> "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 <coppro> the margin is close enough that that would proabably sway enough of them to Yes
05:44:37 <coppro> I'm glad it wasn't like Quebec though
05:48:00 <coppro> wasn't there for 1995, but it was a clusterfuck by all accounts
06:01:51 <Sgeo> What song is in the background of this? https://www.youtube.com/watch?v=LJL0z5O67_M
06:02:32 <Bike> lol that's one glurgey ad
06:04:14 <Sgeo> https://www.youtube.com/watch?v=EKTjfXmVpiQ I guess? But it sounds different
06:17:17 <coppro> http://projects.csail.mit.edu/gsb/old-archive/gsb-archive/gsb2000-02-11.html is a great post
06:21:35 <mroman_> are the scots now free?
06:21:42 <mroman_> or is the poll still on-going?
06:22:17 <mroman_> nvm found the results
06:22:27 <mroman_> they will stay in the non-free repository
06:44:28 -!- MoALTz__ has quit (Quit: Leaving).
06:46:10 <zzo38> 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 <J_Arcane> coppro: That there is exactly why web dev drives me up the wall. XD
07:02:32 <b_jonas> zzo38: that statement sounds scar
07:02:56 <b_jonas> scary
07:04:00 <zzo38> b_jonas: Why?
07:05:22 <b_jonas> zzo38: I probably just don't know much about the Z-machine or hardware stuff
07:06:58 <zzo38> How much do you know of Famicom programming though?
07:07:43 <b_jonas> nothing
07:08:03 <zzo38> Do you know any 6502 programming?
07:08:50 <myname> zzo38: not everybody is as crazy as you
07:09:11 <b_jonas> I know a bit of 6502 but never tried programming because it's old
07:09:53 <b_jonas> I know how simple instructions it has, and how innovative that small cpu was for its time
07:10:39 <b_jonas> I know about its nice zero-page address instructions, and the less nice indexing
07:11:42 <b_jonas> built in stack handling and decimal mode
07:12:09 <b_jonas> the index registers are 8 bit wide, so you can do proper indexing by self-modifying instructions only
07:12:31 <zzo38> 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 <b_jonas> 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 <zzo38> It make sense to me now too though
07:14:36 <b_jonas> the zero-page addressing certainly does
07:15:01 <b_jonas> on x86_32, we have 8-byte offsets indexed by EBP instead
07:25:09 -!- AnotherTest has joined.
07:25:27 <zzo38> 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 <b_jonas> zzo38: so two bits are ignored?
07:34:18 <b_jonas> that happens in modern computers too, though only with the smaller memory-mapped io control spaces, not with main memory
07:34:23 <b_jonas> I think
07:35:11 <zzo38> 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 <zzo38> 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 <Taneb> `? stephen wofram
11:02:21 <HackEgo> stephen wofram? ¯\(°​_o)/¯
11:02:25 <Taneb> `? stephen wolfram
11:02:25 <HackEgo> Stephen Wolfram is an esolanger with too much money and power. Taneb invented him.
11:03:26 <boily> `? tanebventions
11:03:27 <HackEgo> Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, and this sentence.
11:05:24 <shachaf> `? chu space
11:05:25 <HackEgo> A Chu space is just a matrix. Taneb invented them, then Chu stole his invention.
11:05:42 <mroman_> You invented go?
11:05:49 <shachaf> `? go
11:05:50 <HackEgo> Go is a common verbal game programming language invented by the Germanic Taneb tribes in the strategic territories of East Asia.
11:07:30 <boily> `? chess
11:07:30 <HackEgo> 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 <boily> chess is still my favourite ^^
11:08:41 <shachaf> "pineapple" is the scow of words
11:09:01 <shachaf> imagine if there was a fruit that had one name across all languages
11:09:32 <shachaf> that would be within reach if not for "pineapple"!
11:10:33 <boily> I firmly believe that English is a collective hallucination that tries to pass itself as a language.
11:10:35 <mroman_> you can start calling it ananas
11:10:50 <boily> where should the stress fall?
11:11:01 <shachaf> first syllable
11:11:08 <shachaf> `? pineapple
11:11:09 <HackEgo> Pineapple is a hybrid species descended from a cultivar of spinach and wild ivy, therefore making it a class 6 vegetable.
11:12:05 <coppro> J_Arcane: what does that have to do with web dev?
11:12:41 <shachaf> `? english
11:12:41 <HackEgo> english? ¯\(°​_o)/¯
11:12:46 <shachaf> Perhaps English is a Tanebvention.
11:13:14 <Taneb> I don't think so
11:14:39 <shachaf> Did you invent Polish?
11:14:48 <Taneb> Yes
11:15:15 <Taneb> 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 <Taneb> And he seems once again to be an esolanger with too much money and power
11:20:15 <shachaf> `? d/da
11:20:16 <HackEgo> No output.
11:20:20 <shachaf> 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 <J_Arcane> 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 <GeekDude> CSS T_T
13:52:15 <Melvar> J_Arcane: Does the corresponding thing not hold when writing any kind of GUI app?
13:53:40 <GeekDude> no, not really
13:55:32 <mroman_> GUIs take lots of time :(
13:55:38 <mroman_> unless a framework generates it for you
13:58:12 <J_Arcane> 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 <GeekDude> AutoHotkey has a pretty easy gui api
13:58:41 <elliott> fucking around with CS is coding... just unpleasant coding
14:00:47 -!- kcm1700_ has joined.
14:04:16 <oerjan> 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 <Jafet> Exceptions should be Typeable
14:06:31 <oerjan> yes, but that does not actually help
14:06:36 <elliott> *CSS, but also accidentally true.
14:06:54 <elliott> oerjan: SomeException lets you use typeOf I think?
14:06:57 <J_Arcane> 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 <elliott> \(SomeException e) -> print (typeOf e) or such
14:07:14 <elliott> since it's data SomeException = forall e. Exception e => SomeException e, iirc
14:07:18 <oerjan> elliott: which always returns "SomeException", i would believe
14:07:27 <elliott> oerjan: why?
14:07:30 <oerjan> or hm
14:07:31 <elliott> fromException = SomeException
14:07:36 <oerjan> oh
14:07:39 <oerjan> 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 <oerjan> 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 <Jafet> :t \e -> typeOf (fromException e)
14:16:43 <lambdabot> No instance for (Typeable e0) arising from a use of ‘typeOf’
14:16:43 <lambdabot> The type variable ‘e0’ is ambiguous
14:16:43 <lambdabot> Note: there are several potential instances:
14:18:36 <oerjan> :t fromException
14:18:38 <lambdabot> Exception e => SomeException -> Maybe e
14:18:38 -!- Lymia has joined.
14:19:11 <oerjan> Jafet: you need a pattern match on SomeException to get it properly existential.
14:19:39 <Jafet> Oh, gadt amusements.
14:21:10 <Jafet> :t \(SomeException e) -> typeOf e
14:21:11 <lambdabot> 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 <mroman_> 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 <mroman_> outlier?
15:06:33 <elliott> yes
15:07:09 -!- shachaf has quit (K-Lined).
15:08:45 -!- lifthrasiir has joined.
15:11:01 <Jafet> The point is called the outlier. Throwing away the point is called fudging
15:11:10 <Jafet> (among other names)
15:12:16 <mroman_> I'm ok with "ignoring" it for doing regressions and stuff
15:12:25 <mroman_> but you should still show it
15:12:49 <mroman_> If you collect data you shouldn't just throw away parts of it
15:12:51 <mroman_> that's like hiding
15:13:07 <GeekDude> lol
15:14:05 <mroman_> Well.. yeah.
15:14:15 <mroman_> Maybe that peak was real and not just some measurement error
15:14:27 <mroman_> or maybe it's not so stasticiscally insignificant as thought
15:14:32 <mroman_> *statistically
15:14:41 -!- drdanmaku has joined.
15:16:17 <mroman_> Thou shalt not hide data even if it's negative.
15:16:35 <mroman_> something like that
15:16:58 <mroman_> 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 <J_Arcane> 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 <AndoDaan> 'sup
16:22:19 <GeekDude> 'sup
16:29:55 <AndoDaan> GeekDude, you a bot? Everybody is a bot here...
16:30:03 <GeekDude> GeekDude, you a bot? Everybody is a bot here...
16:30:13 <AndoDaan> I KNEW IT!
16:30:24 <GeekDude> I KNEW IT! HE WAS LYING!
16:30:31 <AndoDaan> WAIT
16:30:33 <GeekDude> WAIT?
16:30:36 <AndoDaan> OMG
16:30:39 <GeekDude> WHAT?]
16:30:43 <AndoDaan> Smart AI
16:30:46 <AndoDaan> It's happening
16:30:51 <GeekDude> Quick, send me a captcha
16:30:56 <AndoDaan> Turing test, now!
16:31:03 <GeekDude> uhh
16:31:07 <GeekDude> the answer is 42
16:31:20 <AndoDaan> Woot, we're going to make millions.
16:31:34 <GeekDude> millions in zimbawe?
16:31:41 <AndoDaan> at first...
16:31:52 <AndoDaan> then zillions (in zimbawe)
16:31:58 <AndoDaan> then... something else
16:51:34 <elliott_> does your double act tour?
16:53:30 <J_Arcane> GeekDude: Say aardvark.
16:53:47 <GeekDude> GeekDude: Say aardvark.
16:53:53 <J_Arcane> :D
16:54:23 <AndoDaan> I read the dictionary once, turns out the Zebra did it.
16:54:30 <AndoDaan> BUMDUM TSHICHCHH
16:54:33 <AndoDaan> or summat
16:56:35 <GeekDude> http://www.omgchrome.com/run-android-apps-on-windows-mac-linux-archon/
16:57:20 <AndoDaan> Is that useful?
16:57:57 <GeekDude> uhh
16:58:05 <GeekDude> well, I already have an android phoen
16:58:07 <GeekDude> phone*
16:58:14 <GeekDude> so not really for mw
16:58:16 <GeekDude> me*
16:58:19 <GeekDude> my fingers hate me -.-
16:58:33 <AndoDaan> aww, I'm sure it's just a phase
16:58:56 <GeekDude> It's been going on for several months now
17:03:15 <AndoDaan> show them who's boss
17:03:19 <AndoDaan> crack 'em
17:07:18 <mroman_> hash's are considered irreversible encryptions?
17:07:28 <mroman_> That's not a good irreversible encryption then
17:07:34 <mroman_> *hashs
17:07:45 <mroman_> I like mine with discrete logarithms better
17:08:35 <mroman_> c = a^m mod p (where key = (a,p), m = message, c = encrypted message) oughta do it
17:08:39 <mroman_> it's easy to encrypt
17:08:50 <mroman_> but hard to decrypt even if you know the key
17:09:14 <mroman_> but still decryptable
17:11:16 <GeekDude> I like the ones you encrypt with one key, and decrypt with another
17:11:20 <GeekDude> Can't remember what those are called
17:13:15 <Melvar> 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 <mroman_> I like mine
17:55:07 <mroman_> 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 <mroman_> yet
17:55:16 <mroman_> as NSA
17:55:21 <mroman_> you can still decrypt it pretty good
18:00:44 <GeekDude> uhh
18:01:06 * GeekDude is not going to use any website you set up the passwords for
18:01:51 <fizzie> Tried to compile some C++ on eos.zem.fi, and it ran out of memory. :/
18:03:53 <GeekDude> lol
18:04:25 <fizzie> 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 <fizzie> Heh, I even got an email from the VPS company about it.
18:21:25 <fizzie> "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 <fizzie> So thoughtful.
18:21:55 <fizzie> (I don't think it's ever getting past this one .cpp file.)
18:22:48 <b_jonas> what are you compiling?
18:23:15 <fizzie> It's a Ruby gem thing.
18:23:50 -!- DootBot has joined.
18:23:51 <DootBot> DOOT DOOT!
18:23:53 <fizzie> SciRuby's "NMatrix" linear-algebra thingie, in fact.
18:24:06 <b_jonas> aha
18:24:27 <fizzie> And the file it's stuck on is their sparse-matrix class.
18:24:30 -!- AndoDaan has joined.
18:24:32 <b_jonas> aye
18:25:12 <mroman_> GeekDude: they can pre-compute a log-table for (a,p)
18:25:13 <mroman_> :)
18:25:44 <mroman_> maybe
18:25:50 <mroman_> probably requires lots of disk space
18:25:53 <mroman_> but they got the moneys
18:46:02 <FreeFull> Whatever is fastest at execution time, I suppose
18:46:43 -!- not^v has joined.
18:56:27 <fizzie> How do I distcc? It's just running everything locally.
18:58:24 <fizzie> 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 <fizzie> Let's see if a gigabyte is enough for that file it got stuck with last time.
19:13:37 <fizzie> Over half of it gone already. :/
19:17:39 <fizzie> 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 <Lymia> fizzie, does your hill just use the gearlance interpreter?
19:36:05 <Lymia> (How are you supposed to use it even)
19:38:05 <fizzie> It listens to the same "!bfjoust" command, since that seems to have been free.
19:38:35 <fizzie> And it uses a hill-friendly version of gearlance that supports separate compilation, I hyped it up here the other evening.
19:38:53 <fizzie> There's supposed to be a fancy website, but I haven't gotten that done yet.
19:39:18 <AndoDaan> 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 <fizzie> Just go "!bfjoust somename your_source_code_here" and see what happens.
19:39:48 <AndoDaan> we did a tourney on codegolf.stackexchange and it was fun.
19:39:56 <AndoDaan> okay.
19:39:57 <fizzie> (What happens is likely to be "the system crashes", since it's very experimental.)
19:40:15 <fizzie> And 'somename' is a name for the program; your nick gets added to it automatically.
19:40:21 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf
19:40:21 <zhill> Lymia: URL fetch problems: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
19:40:28 <Lymia> !bfjoust nyuroki http://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf
19:40:28 <zhill> Lymia: URL fetch problems: 404 Not Found
19:40:32 <Lymia> Nice
19:40:40 <fizzie> Huh.
19:40:46 <fizzie> It worked when I pointed it a sprunge.
19:40:51 <Bicyclidine> how relativistic.
19:40:59 <fizzie> The plain 'http://' seems to redirect to the https.
19:41:23 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=hV4apfE3
19:41:23 <zhill> Lymia~nyuroki: points -1.60, score 33.35/100, rank 24/47
19:41:32 <Lymia> Anyway, where's the hill?
19:41:38 <fizzie> !bfjoust
19:41:38 <zhill> fizzie: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
19:41:41 <AndoDaan> ah, your_source_code_here has to be a link to the source?
19:41:53 <fizzie> AndoDaan: If it's short enough, it can be just the code itself.
19:42:00 <AndoDaan> grand.
19:42:01 <Lymia> !bfjoust ../report.txt I win
19:42:02 <zhill> Lymia~reporttxt: points -33.52, score 5.80/100, rank 47/47
19:42:10 * Lymia hides
19:42:17 <fizzie> I *think* that was just "...".
19:42:21 <AndoDaan> Does it take (>)*10 code, you know.
19:42:26 <fizzie> Sure.
19:42:32 <Lymia> So, uh
19:42:34 <fizzie> And (a{b}c)%d too.
19:42:43 <Lymia> We actually have a hill where (.)*-1 doesn't insta-win?
19:42:44 <Lymia> Yay!
19:42:48 <AndoDaan> okay, thanks
19:43:02 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*6[-]]>)*21
19:43:02 <zhill> AndoDaan~BeatYouMate: points -8.26, score 25.21/100, rank 42/47
19:43:11 <AndoDaan> it worked
19:43:20 <AndoDaan> 42nd woot!
19:43:28 <AndoDaan> hehe
19:43:32 <fizzie> !bfjoust syntaxerror didn't[test[this[yet
19:43:32 <zhill> 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 <fizzie> ...
19:43:40 <fizzie> That's not supposed to happen.
19:43:44 <Lymia> Surprised nyuroki did sorta well.
19:44:05 <Lymia> fizzie, where can you access the hill
19:44:12 <Lymia> And why is report.js not accessible
19:44:29 <fizzie> I forgot to chmod it, is why.
19:44:48 <fizzie> It's not going t be a very user-friendly file, it's just there for the upcoming website.
19:44:59 <Lymia> Question still remains though
19:45:02 <Lymia> Where's the hill
19:45:06 <fizzie> Same's with the source code, I need to set up gitweb or something for it.
19:46:26 <fizzie> 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 <Lymia> !bfjoust <<<<<<<<<<<<<<<< <
19:46:48 -!- zhill has joined.
19:46:50 <Lymia> !bfjoust <<<<<<<<<<<<<<<< <
19:46:50 <zhill> Lymia: Program name looks like gibberish. Did you forget it?
19:46:53 <fizzie> I just started it up with no changes, so try not to do syntax errors.
19:48:32 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=hV4apfE3
19:48:33 <zhill> I broke down! Ask fizzie to help! The details are in the log!
19:48:33 -!- zhill has quit (Client Quit).
19:48:40 <fizzie> ...
19:48:45 <Bicyclidine> I like this bot.
19:48:46 <Lymia> Are you sure you don't have deeper problems
19:48:49 <Bicyclidine> fizzie: help!!
19:49:33 <fizzie> parse error: terminating ) without a matching (
19:49:43 <fizzie> Is what gearlance says to that paste.
19:49:51 <AndoDaan> !bfjoust PandW >>>>>-<<<<<--->------------(-)*5>++++++++++++++++(+)*7>>(+)*13+++++++++++++++++>------------------->+++++++++++++>----------------->++++++++++++++++++++++++++++++>([(+.)*16[-]]>[(-.)*16[-]]>[(+.+.+.+.)*4[-]]>)*7
19:49:52 <Lymia> But
19:49:56 <AndoDaan> too long
19:50:01 <Lymia> zhill accepted literally the exact same paste
19:50:24 <fizzie> That's the strangest.
19:50:49 <fizzie> Maybe I fetched it wrongly.
19:51:01 <fizzie> Anyway, I know what's up with the crash, so let me just fix that first.
19:51:39 <AndoDaan> !bfjoust pandw http://pastebin.com/raw.php?i=2GET3EkT
19:51:53 <fizzie> AndoDaan: It's still down. Could you just please wait a second.
19:51:58 <AndoDaan> sorry.
19:52:04 <AndoDaan> will do
19:52:41 <Lymia> You have to write ({})%x right
19:52:46 <Lymia> And not ({})*x
19:52:58 -!- zhill has joined.
19:53:16 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=hV4apfE3
19:53:17 <fizzie> It's gearlance, from what I recall it treats % and * entirely identically.
19:53:17 <zhill> I broke down! Ask fizzie to help! The details are in the log!
19:53:17 -!- zhill has quit (Client Quit).
19:53:19 <fizzie> ...
19:53:31 <fizzie> I'm very good at programming, honest.
19:53:39 <Lymia> Your bot has problems.
19:53:56 <fizzie> #<RuntimeError: git failed>
19:54:41 <fizzie> How the why.
19:57:45 <Bicyclidine> snort
19:59:00 -!- zhill has joined.
19:59:02 <fizzie> It probably won't work now either, but at least it produces more noise in the log.
19:59:18 <fizzie> My local test instance worked just fine, and "git status" in the hill directory just says it's all clean.
20:01:03 <fizzie> !bfjoust ijustreadthewiki (>)*8(>([-{[+.]}>])%500)%21
20:01:03 <zhill> fizzie~ijustreadthewiki: points -17.38, score 17.34/100, rank 47/47 (change: -7)
20:01:50 <Lymia> Ah, ({})
20:01:52 -!- not^v has quit (Ping timeout: 245 seconds).
20:02:02 <Lymia> Makes my entire HLL basically redundant except as a macro system.
20:02:02 <Lymia> ^.6
20:02:03 <Lymia> ^.^
20:02:17 <fizzie> Plain old-fashioned gearlance errors should no longer be fatal.
20:02:27 <fizzie> !bfjoust ijustreadthewiki except[now[I[made[an[error
20:02:27 <zhill> 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 <fizzie> I don't know what was up with that paste not being accepted, though.
20:05:49 <fizzie> !bfjoust Lymia-nyuroki-retest http://pastebin.com/raw.php?i=hV4apfE3
20:05:49 <zhill> fizzie~Lymia-nyuroki-retest: points -1.93, score 33.18/100, rank 26/47
20:05:55 <fizzie> IDGI.
20:06:16 <fizzie> Now there's two copies, which is certainly suboptiomal.
20:06:21 <fizzie> !bfjoust Lymia-nyuroki-retest <
20:06:21 <zhill> fizzie~Lymia-nyuroki-retest: points -46.00, score 0.00/100, rank 47/47 (change: -21)
20:08:59 <fizzie> For the record, it was the "git commit -q -m ..." that "failed", where failing means a non-zero exit code.
20:09:32 <fizzie> Ohhh.
20:10:23 <fizzie> It's what happens if there are no changes to commit, of course.
20:10:44 <fizzie> Since just replacing the file's contents with identical stuff isn't a change.
20:10:48 <Lymia> !bfjoust nyuroki >>>>>>>>++<--<+<--<(+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*8(>[(-[{(+)*3(+[{(-)*6(-[{(+)*16(+[{(-)*24(-[{(+)*41(+[{(+)*82[[+.].]{}})*21})*17})*8})*10})*3})*3]--)%-1
20:10:48 <zhill> error: parse error: encountered second { on a same level
20:11:04 <Lymia> uh?
20:11:45 <Lymia> !bfjoust nyuroki >>>>>>>>++<--<+<--<(+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*8(>[(-[{(+)*3(+[{(-)*6(-[{(+)*16(+[{(-)*24(-[{(+)*41(+[{(+)*82[[+.].]{}})%21})%17})%8})%10})%3})%3]--)%-1
20:11:45 <zhill> error: parse error: encountered second { on a same level
20:12:04 <Lymia> I don't get what's wrong here
20:12:12 <fizzie> I'm trying to look at it.
20:12:17 <Lymia> !bfjoust simpletest (({{}})%1)%1
20:12:17 <zhill> Lymia~simpletest: points -33.52, score 5.73/100, rank 47/47
20:12:27 <Lymia> !bfjoust simpletest (({({{}})%1})%1)%1
20:12:27 <zhill> error: parse error: encountered second { on a same level
20:12:57 <fizzie> Oh, that's right; the innermost { is technically on the same level as the first {.
20:13:07 <fizzie> The error message might not be most clear.
20:13:08 <Lymia> How?
20:13:18 <Lymia> Shouldn't it be matching with the outermost ()%?
20:13:32 -!- Phantom__Hoover has joined.
20:13:49 <fizzie> It's not clever enough for that.
20:13:59 -!- conehead has joined.
20:14:09 <Lymia> The algorithm seems simple enough
20:14:16 <Lymia> Push a ()% when you encounter one
20:14:25 <Lymia> Pop an ()% when you encounter an {}
20:16:12 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
20:21:19 <fizzie> 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 <Lymia> erk
20:22:32 <fizzie> I don't think I can mentally expand something like (a(b{c(d{e{f}})%2})%2)%2 either.
20:22:32 <Lymia> Isn't this why
20:22:37 <Lymia> % and * are treated differently?
20:22:56 <Lymia> fizzie, ({})%-1 is basically call-cc, isn't it
20:23:04 <Lymia> Or, well.
20:23:14 <Lymia> No, while(true)/continue
20:23:23 <fizzie> I was really just following established consensus here.
20:23:29 <Lymia> And the rest is conventional ({})%n
20:23:33 <Lymia> For implementing a giant wiggle clear
20:24:20 <elliott_> fizzie: does the separate compilation really help much?
20:24:22 <Lymia> !bfjoust becauseican (>+>-)*4(>[-])*-1
20:24:22 <zhill> Lymia~becauseican: points -21.52, score 13.97/100, rank 47/47
20:24:33 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>[-])*-1
20:24:34 <zhill> Lymia~becauseican: points -14.07, score 20.15/100, rank 45/47 (change: +2)
20:24:43 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>++[-])*-1
20:24:43 <zhill> Lymia~becauseican: points -10.57, score 23.69/100, rank 43/47 (change: +2)
20:24:46 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>++[-]-)*-1
20:24:46 <zhill> Lymia~becauseican: points -7.74, score 29.43/100, rank 35/47 (change: +8)
20:24:56 <Lymia> !bfjoust becauseican (>(+)*4>(-)*4)*4(>++[-]-)*-1
20:24:56 <zhill> Lymia~becauseican: points -17.52, score 17.75/100, rank 47/47 (change: -12)
20:25:01 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>++++[-]-)*-1
20:25:01 <zhill> Lymia~becauseican: points -9.81, score 26.45/100, rank 40/47 (change: +7)
20:25:06 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[-]-)*-1
20:25:07 <zhill> Lymia~becauseican: points -7.24, score 29.45/100, rank 34/47 (change: +6)
20:25:19 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[-]--)*-1
20:25:19 <zhill> Lymia~becauseican: points -8.69, score 26.98/100, rank 38/47 (change: -4)
20:25:28 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[-.]-)*-1
20:25:28 <zhill> Lymia~becauseican: points -15.12, score 19.95/100, rank 46/47 (change: -8)
20:25:34 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[[-]]-)*-1
20:25:35 <zhill> Lymia~becauseican: points -11.17, score 23.02/100, rank 43/47 (change: +3)
20:25:44 <fizzie> elliott_: It goes from 3.2 seconds to 1.1 seconds to run all 1081 matches when starting from scratch.
20:25:49 <Lymia> !bfjoust becauseican (>(+)*10>(-)*10)*4(>+++[-]-)*-1
20:25:49 <zhill> Lymia~becauseican: points -7.24, score 29.45/100, rank 34/47 (change: +9)
20:26:31 <Lymia> I'll fine tune Nyuroki to the hill later.
20:26:31 <elliott_> fizzie: I still wonder how much inter-match work you could deduplicate...
20:26:32 <Lymia> ^.^
20:27:02 <Lymia> I wonder how much JITing helps
20:27:35 <elliott_> how much could you really JIT? you need precise cycle counts
20:27:42 <elliott_> since the programs have to run in lockstep
20:29:24 <fizzie> 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 <fizzie> 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 <Lymia> !bfjoust becauseican <
20:30:38 <zhill> Lymia~becauseican: points -46.00, score 0.00/100, rank 47/47 (change: -13)
20:30:47 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][+]-)*-1
20:30:47 <zhill> Lymia~simple: points -8.26, score 27.18/100, rank 37/47
20:30:47 <fizzie> (It dispatched using a 2D table, by taking row from program A and column from program B.)
20:30:55 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][+.]-)*-1
20:30:55 <zhill> Lymia~simple: points -9.02, score 26.15/100, rank 39/47 (change: -2)
20:31:03 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1
20:31:03 <zhill> Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +5)
20:31:13 <Lymia> Just how lock filled is this hill
20:31:45 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][>(>+++[-]-)*-1]-)*-1
20:31:45 <zhill> Lymia~simple: points -10.69, score 24.13/100, rank 43/47 (change: -9)
20:31:48 <fizzie> Not any more than http://codu.org/eso/bfjoust/ :p
20:31:49 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1
20:31:49 <zhill> Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +9)
20:31:54 <fizzie> (That's what I started with.)
20:32:27 <fizzie> (Also you can find just about all of your current opponents there, if you're interested.)
20:36:59 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][>(>+[+[+[-]]]-)*-1]-)*-1
20:37:00 <zhill> Lymia~simple: points -10.74, score 24.03/100, rank 43/47 (change: -9)
20:37:08 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-][>(>+++[-]-)*-1]-)*-1
20:37:09 <zhill> Lymia~simple: points -10.69, score 24.13/100, rank 43/47 (change: --)
20:37:18 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1
20:37:18 <zhill> Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +9)
20:37:22 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+[+[+[-]]]-)*-1
20:37:22 <zhill> Lymia~simple: points -11.74, score 23.31/100, rank 43/47 (change: -9)
20:37:24 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1
20:37:24 <zhill> Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +9)
20:37:28 <Lymia> *sigh*
20:37:30 <Lymia> So many locks
20:37:49 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+[+[+[-]{}]]-)%-1
20:37:49 <zhill> Lymia~simple: points -13.76, score 20.26/100, rank 45/47 (change: -11)
20:38:03 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>[+[+[+[-]{}]]]-)%-1
20:38:03 <zhill> Lymia~simple: points -32.52, score 6.64/100, rank 47/47 (change: -2)
20:38:29 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]{}-)%-1
20:38:29 <zhill> Lymia~simple: points -12.02, score 21.92/100, rank 43/47 (change: +4)
20:38:43 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(->[+[+[+[-]{}]]])%-1
20:38:43 <zhill> Lymia~simple: points -34.43, score 5.49/100, rank 47/47 (change: -4)
20:38:58 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(->+++[-]{})%-1
20:38:58 <zhill> Lymia~simple: points -8.40, score 28.51/100, rank 36/47 (change: +11)
20:39:09 <elliott_> fizzie: I guess maybe the best thing to do is just microoptimise until running max_cycles * num_matches is fast.
20:39:31 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(->[+[+[+[----[-[-[-]]]]]]]{})%-1
20:39:31 <zhill> Lymia~simple: points -9.40, score 26.82/100, rank 39/47 (change: -3)
20:39:45 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(->[+[+[+[----[-[-[(-)*120[-]]]]]]]]{})%-1
20:39:45 <zhill> Lymia~simple: points -10.45, score 24.16/100, rank 43/47 (change: -4)
20:39:59 <Lymia> !bfjoust simple (>(+)*10>(-)*10)*4(>+++[-]-)*-1
20:39:59 <zhill> Lymia~simple: points -7.24, score 29.45/100, rank 34/47 (change: +9)
20:41:44 <fizzie> 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 <J_Arcane> https://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00559.html
20:44:17 <AndoDaan> !bfjoust pandw http://pastebin.com/raw.php?i=2GET3EkT
20:44:17 <zhill> AndoDaan~pandw: points -20.79, score 15.40/100, rank 47/47
20:44:24 <AndoDaan> 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 <fizzie> (Fixed the commit-no-changes bug.)
20:46:45 -!- Lymia has joined.
20:46:47 <Lymia> Opps~
20:47:54 <Lymia> !bfjoust die (>)*9(-)*128
20:47:55 <zemhill> Lymia~die: points -36.88, score 4.45/100, rank 47/47
20:48:01 <Lymia> !bfjoust die (>)*9((-)*128>)*-1
20:48:01 <zemhill> Lymia~die: points -36.40, score 2.11/100, rank 47/47 (change: --)
20:48:11 <Lymia> !bfjoust die (>)*9((-)*128.>)*-1
20:48:12 <zemhill> Lymia~die: points -31.24, score 7.69/100, rank 47/47 (change: --)
20:48:18 <Lymia> !bfjoust die (>)*9((-)*120(-.)*16.>)*-1
20:48:19 <zemhill> Lymia~die: points -31.10, score 8.24/100, rank 47/47 (change: --)
20:48:25 <Lymia> !bfjoust die (>)*9((-)*120(-.)*16>)*-1
20:48:26 <zemhill> Lymia~die: points -31.00, score 8.24/100, rank 47/47 (change: --)
20:48:38 <Lymia> !bfjoust die (>->+)*8(>(-)*120(-.)*16)*-1
20:48:38 <zemhill> Lymia~die: points -30.17, score 8.66/100, rank 47/47 (change: --)
20:48:46 <Lymia> !bfjoust die (>(-)*10>(+)*10)*8(>(-)*120(-.)*16)*-1
20:48:46 <zemhill> Lymia~die: points -19.07, score 16.20/100, rank 47/47 (change: --)
20:48:53 <Lymia> !bfjoust die (>(-)*10>(+)*10)*8(>(-)*124(-.)*8)*-1
20:48:53 <zemhill> Lymia~die: points -19.05, score 16.13/100, rank 47/47 (change: --)
20:48:58 <Lymia> Aww
20:49:02 <Lymia> This hill's too good.
20:49:14 <Lymia> fizzie, any reason you can't make a giant 200 bot hill or something?
20:49:26 <fizzie> The report.txt would be too wide.
20:49:27 <Lymia> !bfjoust die <
20:49:28 <zemhill> Lymia~die: points -46.00, score 0.00/100, rank 47/47 (change: --)
20:49:30 <fizzie> In all seriousness, probably not.
20:49:40 <elliott_> zem lived in a swamp, not a hill~
20:49:44 <Lymia> !bfjoust yolo (>(-)*10>(+)*10)*8(>[(-)*124(-.)*8{}])%-1
20:49:44 <zemhill> Lymia~yolo: points -29.43, score 8.56/100, rank 47/47
20:49:56 <fizzie> Also starting with the existing hill means it's unfortunately good, that's true.
20:49:59 <Lymia> !bfjoust yolo (>(-)*10>(+)*10)*4(>[(-)*124(-.)*8{}])%-1
20:49:59 <zemhill> Lymia~yolo: points -29.24, score 9.13/100, rank 47/47 (change: --)
20:50:09 <Lymia> !bfjoust yolo (>-->++)*4(>[(-)*124(-.)*8{}])%-1
20:50:10 <zemhill> Lymia~yolo: points -36.52, score 4.44/100, rank 47/47 (change: --)
20:50:18 <Lymia> !bfjoust yolo (>(-)*50>(+)*50)*4(>[(-)*124(-.)*8{}])%-1
20:50:18 <zemhill> Lymia~yolo: points -26.71, score 10.27/100, rank 47/47 (change: --)
20:50:36 <fizzie> 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 <Lymia> !bfjoust yolo ((-)*9>)*9([-]>)*21
20:51:12 <zemhill> Lymia~yolo: points -16.52, score 17.75/100, rank 47/47 (change: --)
20:51:16 <elliott_> um. is this some other SQL
20:51:19 <Lymia> !bfjoust yolo ((-)*10>)*9([-]>)*21
20:51:19 <zemhill> Lymia~yolo: points -17.67, score 17.41/100, rank 47/47 (change: --)
20:51:23 <Lymia> !bfjoust yolo ((-)*7>)*9([-]>)*21
20:51:23 <zemhill> Lymia~yolo: points -15.71, score 18.22/100, rank 47/47 (change: --)
20:51:26 <Lymia> !bfjoust yolo ((-)*4>)*9([-]>)*21
20:51:27 <zemhill> Lymia~yolo: points -21.10, score 13.55/100, rank 47/47 (change: --)
20:51:30 <Lymia> !bfjoust yolo ((-)*6>)*9([-]>)*21
20:51:30 <zemhill> Lymia~yolo: points -19.24, score 15.69/100, rank 47/47 (change: --)
20:51:33 <Lymia> !bfjoust yolo ((-)*7>)*9([-]>)*21
20:51:33 <zemhill> Lymia~yolo: points -15.71, score 18.22/100, rank 47/47 (change: --)
20:51:42 <elliott_> you know, automatic constant-tweaking is the next thing BF Joust needs...
20:51:55 <elliott_> 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 <Lymia> Can't penetrate the hill at all without strong bots. :(
20:52:28 <Lymia> fizzie, idea.
20:52:41 <Lymia> Any bot that gets <45 or so rank is dumped onto a "beginner hill"
20:52:53 <Lymia> (Which is just another hill.)
20:53:01 <Lymia> But, only newly submitted bots go thre.
20:53:03 <Lymia> there*
20:53:07 <Lymia> Ones pushed off the hill live
20:57:20 <fizzie> !bfjoust fiddle +>(-(>+>-)*3(<)*6)*4(>)*8(>[-])*21
20:57:20 <zemhill> fizzie~fiddle: points -19.50, score 14.67/100, rank 47/47
20:58:09 <fizzie> There was a suggestion of an "infinite", probabilistic-ranking hill, but that would take some doing.
20:58:12 <Lymia> !bfjoust : <
20:58:12 <zemhill> Lymia~: points -46.00, score 0.00/100, rank 47/47
20:58:17 <Lymia> !bfjoust ::: <
20:58:18 <zemhill> Lymia: Program name looks like gibberish. Did you forget it?
20:58:21 <Lymia> !bfjoust :: <
20:58:21 <zemhill> Lymia: Program name looks like gibberish. Did you forget it?
20:58:23 <Lymia> !bfjoust < <
20:58:24 <zemhill> Lymia~: points -46.00, score 0.00/100, rank 47/47 (change: --)
20:58:26 <Lymia> You has bug
20:59:09 <fizzie> 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 <elliott_> Lymia~ seems like an appropriate name
21:00:42 <Lymia> ~
21:01:01 <fizzie> 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 <fizzie> (But if the original length was 1, 3/4ths is 0, and nothing's shorter than that.)
21:01:56 <Lymia> Better logic would be
21:02:00 <Lymia> "Reject any name with jibberish characters"
21:02:02 <Lymia> gibberish*
21:02:07 <Lymia> (but I can't do Lymia~) then
21:02:11 <Lymia> !bfjoust nyuroki <
21:02:11 <zemhill> Lymia~nyuroki: points -45.00, score 0.00/100, rank 46/47 (change: -22)
21:02:15 <elliott_> !bfjoust ~ <
21:02:15 <zemhill> elliott_~: points -45.00, score 0.00/100, rank 47/47
21:02:30 <Lymia> !bfjoust @ http://pastebin.com/raw.php?i=hV4apfE3
21:02:31 <zemhill> Lymia~: points -1.12, score 34.79/100, rank 24/47
21:02:34 <elliott_> why can't I specify the number of ~s :<
21:03:00 <fizzie> Because ~ is also on the gibberish list, that's what makes it a unique separator.
21:03:01 <Lymia> fizzie, give me a tarball of your current hill
21:03:21 <Lymia> You can safely take ~ off the gibberish list, since it's an invalid nickname character.
21:03:33 <Lymia> A unique separator can be anything that's not in a nickname really
21:03:59 <fizzie> 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 <Lymia> That doesn't make it stop being a unique delimiter.
21:04:28 <Lymia> :P
21:04:29 <elliott_> nick)program
21:04:56 <Lymia> You could start a program with
21:04:58 <elliott_> nick☃program
21:05:05 <Lymia> submission numberAname~program
21:05:08 <Lymia> And it'd still work
21:05:11 <Lymia> !bfjoust . <
21:05:11 <zemhill> Lymia~: points -45.00, score 0.00/100, rank 47/47 (change: -23)
21:05:55 <Lymia> !bfjoust ♥★● (+)*-1
21:05:55 <zemhill> Lymia: Program name looks like gibberish. Did you forget it?
21:05:59 <Lymia> Boring
21:06:01 <fizzie> 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 <elliott_> exposing the hill git repo would be nice, if that's a thing?
21:06:21 <Lymia> Exception being "nyuroki pushed something fof"?
21:06:40 <fizzie> Pretty much, yes. "Anything with a ~ in it in the report", really.
21:06:45 <Lymia> !bfjoust 日本語ならいいかしら (+)*-1
21:06:45 <zemhill> Lymia: Program name looks like gibberish. Did you forget it?
21:07:13 <fizzie> Perhaps it's a politically incorrect error message.
21:08:00 <fizzie> 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 <Lymia> It works.
21:08:07 <Lymia> As long as you add an easter egg
21:08:26 <Lymia> || name == "gibberish"
21:08:31 <Lymia> "!bfjoust gibberish blah"
21:08:35 <Lymia> "Program name looks like gibberish. Did you forget it?"
21:08:45 <AndoDaan> !bfjoust ADumb (>)*9([-]>)*21
21:08:45 <zemhill> 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 <Lymia> !bfjoust ADumber .
21:09:13 <zemhill> 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 <AndoDaan> !bfjoust ADumb >>(+)*17(>)*5(-)*37<(+)*17<(-)*9<(+)*3(>)*8(>[-])*30
21:20:08 <zemhill> 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 <fizzie> ...
21:20:14 <AndoDaan> oops
21:20:15 <AndoDaan> sorry
21:20:21 <fizzie> That was my fault, I'm sure.
21:20:34 <AndoDaan> okay. I don't think I did anything weird.
21:20:52 <fizzie> I messed something up when moving that thing to a different user account.
21:21:54 -!- zemhill has joined.
21:22:00 <fizzie> Feel free to try again. (It'll probably break differently.)
21:22:06 <AndoDaan> !bfjoust ADumb >>(+)*17(>)*5(-)*37<(+)*17<(-)*9<(+)*3(>)*8(>[-])*30
21:22:06 <zemhill> 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 <fizzie> That was supposed to be a joke.
21:22:36 <fizzie> Good old git "please tell me who you are by doing git config --blah stuff".
21:22:37 <AndoDaan> I'm reusing "ADumb" program name. That's not a problem right?
21:24:43 -!- zemhill has joined.
21:24:44 <fizzie> No, it's just me messing up. Should be fixed now, but that's what I thought the last time.
21:25:17 <AndoDaan> !bfjoust ADumb >>(+)*17(>)*5(-)*37<(+)*17<(-)*9<(+)*3(>)*8(>[-])*30
21:25:17 <zemhill> AndoDaan~ADumb: points -14.38, score 18.99/100, rank 46/47 (change: --)
21:25:17 -!- zemhill has quit (Client Quit).
21:25:21 <AndoDaan> woot
21:25:26 <fizzie> Er, that's new.
21:26:05 <fizzie> Oh, "permission denied" when trying to write the report.txt for the web.
21:27:10 -!- zemhill has joined.
21:27:11 <fizzie> !bfjoust test <
21:27:11 <zemhill> fizzie~test: points -46.00, score 0.00/100, rank 47/47
21:30:04 <AndoDaan> !bfjoust ADumb >>(+)*17(>)*5(-)*37<(+)*17<(-)*9<(+)*3(>)*8(----------------->[-])*30
21:30:05 <zemhill> 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 <fizzie> http://zem.fi/git/?p=hill also there you go
21:44:57 <AndoDaan> h, grand.
21:45:32 <fizzie> It's missing an actually cloneable form of it, though.
21:45:44 <fizzie> And doesn't push to the web-visible version by default.
21:45:52 <fizzie> (gitweb didn't seem to like a non-bare repository.)
21:46:15 -!- shikhout has changed nick to shikhin.
21:47:35 <elliott_> maybe if you point gitweb to the /.git?
21:48:58 <fizzie> 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 <fizzie> !bfjoust webtest <
21:50:41 <zemhill> fizzie~webtest: points -46.00, score 0.00/100, rank 47/47
21:50:54 <fizzie> 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 <fizzie> !bfjoust webtest <>
21:51:40 <zemhill> fizzie~webtest: points -46.00, score 0.00/100, rank 47/47 (change: --)
21:51:52 <fizzie> Still nothing. Hmm.
21:53:00 -!- aloril_ has joined.
21:53:09 -!- zemhill has quit (Remote host closed the connection).
21:53:13 <Melvar> < 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 <fizzie> There was an implied understanding that the character classes were in terms of ASCII.
21:53:59 <fizzie> !bfjoust webtest <><
21:53:59 <zemhill> fizzie~webtest: points -46.00, score 0.00/100, rank 47/47 (change: --)
21:54:12 <fizzie> Now it works.
21:54:28 -!- aloril has quit (Ping timeout: 258 seconds).
21:54:35 <Melvar> fizzie: Implied understanding wha?
21:57:22 <AndoDaan> Jesus Fish sucks
22:01:53 <fizzie> Clone URL also in place. I think that's it for today.
22:02:03 <fizzie> Perhaps a fancy website over the weekend.
22:02:48 -!- shikhin has quit (Ping timeout: 244 seconds).
22:03:41 <Lymia> !bfjoust betterfish ><>
22:03:42 <zemhill> 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 <AndoDaan> !bfjoust bestfish ><(>[-])*30>
22:10:18 -!- zemhill has joined.
22:10:21 <AndoDaan> !bfjoust bestfish ><(>[-])*30>
22:10:21 <zemhill> AndoDaan~bestfish: points -25.38, score 10.94/100, rank 47/47
22:10:26 <fizzie> Your timing was, again, impeccable.
22:10:30 <AndoDaan> hehe
22:10:47 <fizzie> That's a good-looking fish, though.
22:10:55 <AndoDaan> 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 <fizzie> !bfjoust thue-morse http://sprunge.us/gafW
22:41:57 <zemhill> fizzie~thue-morse: points -21.57, score 14.25/100, rank 47/47
22:42:04 <fizzie> 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 <quintopia> ahoy
23:05:06 <quintopia> yay zemhill
23:05:27 <quintopia> what's the command to display the link to the hill
23:07:56 <oerjan> !help
23:08:26 <quintopia> no
23:08:31 <quintopia> 1bfjoust
23:08:35 <quintopia> meh
23:08:40 <quintopia> anyway i found it
23:08:42 <oerjan> !bfjoust
23:08:42 <zemhill> oerjan: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
23:08:44 <quintopia> its git based
23:08:48 <oerjan> ic
23:08:56 <quintopia> which is neat i guess.
23:09:04 <quintopia> is git better than hg?
23:09:41 -!- aretecode has joined.
23:11:44 <elliott_> 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 <quintopia> apparently he thinks you are different people
23:13:25 <elliott_> I've been replaced :(
23:13:57 <quintopia> 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 <Sgeo> I think I figured out how to make highly dynamic languages co-operate as a Racket language library
00:57:38 <Sgeo> #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 <Sgeo> (And #lang tcl #:phase 'run for runtime, suitable for scripts that are meant to be run but not provide objects)
00:58:46 <Sgeo> Although tcl may be a bad example because it has a second impediment to interoperating with Racket, everything is a string
01:01:59 <elliott_> 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 <Nieralyte> 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 <GeekDude> 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 <HackEgo> [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 <Sgeo> It's just so... wrong
03:22:40 <Sgeo> (Yes, I know it's not)
03:23:48 <Bike> the only primary colors i accept are red, blue, and linearly polarized.
03:24:11 <AndoDaan> linearly polarized = green... right?
03:24:28 <AndoDaan> HAS to be green.
03:24:51 <madbr> there are no real primary colors
03:25:07 <AndoDaan> Except for red, blue and green.
03:25:21 <madbr> our eyes have 3 types of cones with strange frequency responses
03:25:38 <Bike> says you. imma tetrachromat.
03:25:49 <madbr> really?
03:26:03 <AndoDaan> pfft. Are you female, Bike?
03:26:18 <copumpkin> o.O
03:26:27 <AndoDaan> if not, then I doubt your tetrachromation.
03:26:30 <Bike> i'm a bike.
03:26:39 <AndoDaan> -...-
03:27:03 <copumpkin> well I'm a mantis shrimp
03:27:07 <Bike> i thought this was obvious.
03:27:19 <AndoDaan> What's in a name...
03:28:06 <Sgeo> 4 distinct letters, one of which is repeated twice, and a non-alphanumeric character.
03:29:33 <elliott_> I wish I was a tetrachromat.
03:29:38 <Bike> 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 <Bike> incidentally i didn't know 15 nm was that much of a difference
03:39:03 <Sgeo> 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 <Bike> the twelfth doctor pissed on a saltire in Restoration of the Daleks
03:48:23 <elliott_> peter capaldi *is* doctor who, sgeo.
03:58:25 <coppro> ^
03:58:34 <coppro> also, I am not caught up :(
03:58:42 <coppro> copumpkin: finally you admit it
03:58:49 <coppro> now I know what the dual of pumpkin is
03:59:40 <Sgeo> And what the dual of ppro is
04:01:00 <AndoDaan> and the dual of 'ke' is.
04:01:07 <AndoDaan> what the*
04:02:29 <HackEgo> [wiki] [[Puzzlang]] http://esolangs.org/w/index.php?diff=40483&oldid=40478 * Imaginer1 * (-10)
04:03:24 <HackEgo> [wiki] [[User:Imaginer1]] http://esolangs.org/w/index.php?diff=40484&oldid=40443 * Imaginer1 * (+74)
04:03:48 <HackEgo> [wiki] [[User:Imaginer1]] http://esolangs.org/w/index.php?diff=40485&oldid=40484 * Imaginer1 * (+17)
04:05:44 -!- copumpkin has quit.
04:11:55 <coppro> 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 <HackEgo> [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 <fizzie> http://sprunge.us/gOie?sh that's the bashiest bash script I've ever written
07:52:45 <elliott_> fizzie: can't you write that as <foo while ...?
07:53:06 <elliott_> also, don't need the quotes around variables with [[ ... ]], I think.
07:53:33 <elliott_> especially when you're passing things to echo unquoted :p
07:56:14 <fizzie> The "<foo while ..." has always looked strange to me, but I guess it's legal, and might even be "good bash style", whatever that is.
07:57:11 <shachaf> Why would you not use quotes around variables in bash ever?
07:57:53 <fizzie> 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 <shachaf> OK, apparently [[ is magic.
08:01:18 <shachaf> You can also use cat f | while ... if that looks less strange to you.
08:01:43 <shachaf> People say not to do it but usually they're silly.
08:01:44 <fizzie> As I said, that ran into some fd-vs-subshell problems.
08:02:42 <fizzie> 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 <elliott_> fizzie: it feels weird to wait until the end of the loop to find out what it's processing data in.
08:03:01 <elliott_> foreach x { ... } in xs
08:03:15 <fizzie> That's admittedly a true.
08:03:30 <elliott_> also, you may be the first person to actually use the sieve and kettle terminology.
08:04:35 <fizzie> I have to check the wiki every time to figure out which one was sieve and which one kettle.
08:04:53 <HackEgo> [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 <mroman_> nortti, Taneb: http://eso.mroman.ch/ESOSC/s/2014-3/ESOSC-2014-D3-R2.pdf
10:15:58 <mroman_> oh. Figure 1.1 caption is wrong though
10:16:39 <nortti> no newline translation for ','?
10:17:38 <nortti> also, as it reads a character (not a byte), what happens to unicode codepoints above 255?
10:19:30 <mroman_> hm
10:20:02 <mroman_> there's newline translation for ,
10:21:03 <mroman_> I.e. on windows for \r\n a , instructions needs to buffer
10:21:09 <mroman_> because it has to translate \r\n to \n
10:21:12 <mroman_> where \n = 10
10:21:44 <mroman_> hm.
10:22:11 <mroman_> I guess we need a #CHARSET utf8 or something
10:22:44 <int-e> hmm, it says nothing on EOF handling
10:24:29 <int-e> 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 <mroman_> " 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 <mroman_> to consume or write two or more characters. "
10:33:02 <mroman_> it's right there :)
10:33:15 <mroman_> Shall I write it clearer?
10:34:43 <mroman_> 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 <HackEgo> [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 <HackEgo> [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40489&oldid=40428 * Imaginer1 * (+175) Added a compiler and cat programs
14:10:36 <nortti> 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 <mroman_> well
14:12:05 <mroman_> there's no point setting #CHARSET utf8 if you write/read bytes
14:12:31 <mroman_> or is there?
14:12:49 <mroman_> I mean what's the point of setting #CHARSET utf8 if you have to do encoding/decoding yourself?
14:21:49 <HackEgo> [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 <HackEgo> [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 <HackEgo> [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 <HackEgo> [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 <HackEgo> [wiki] [[Special:Log/upload]] upload * Imaginer1 * uploaded "[[File:Bitoven catprog image.png]]": A Bitoven program, colorized to show different sections.
15:20:08 <HackEgo> [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40495&oldid=40493 * Imaginer1 * (-2)
15:21:42 <HackEgo> [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 <HackEgo> [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 <ais523> 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 <ais523> well, a bugfix to preparation, plus three more, which aren't as good but are still pretty good
16:06:24 <AndoDaan> !bfjoust adumb >>>(+)*64<(-)*16>>--->+++>------>>>([-]>)*21
16:06:25 <zemhill> AndoDaan~adumb: points -24.90, score 12.72/100, rank 47/47
16:06:50 <AndoDaan> !bfjoust adumb >>>(+)*64<(-)*16>>--->+++>------>>>([-]>)*28
16:06:51 <zemhill> AndoDaan~adumb: points -24.90, score 12.72/100, rank 47/47 (change: --)
16:07:39 <AndoDaan> !bfjoust adumb >>>>>(+)*37<(-)*11>>--->+++>------>([-]>)*28
16:07:39 <zemhill> AndoDaan~adumb: points -25.52, score 12.06/100, rank 47/47 (change: --)
16:08:01 <AndoDaan> stupid game.
16:14:36 <HackEgo> [wiki] [[Talk:Puzzlang]] http://esolangs.org/w/index.php?diff=40498&oldid=33305 * Imaginer1 * (+133)
16:14:50 <elliott_> ais523: the hill seems to work fine
16:15:06 <ais523> ooh, it's working
16:16:48 <ais523> !help
16:16:53 <ais523> is the hill online?
16:18:08 <mroman_> I'll make my own hill
16:18:12 <mroman_> with black jack and hookers.
16:18:43 <ais523> !bfjoust preparation http://nethack4.org/esolangs/preparation.bfjoust
16:18:46 <zemhill> ais523~preparation: points 22.67, score 100.00/100, rank 1/47
16:18:52 <ais523> 1/47
16:19:00 <ais523> OK, I can describe it on the wiki now :-)
16:19:01 <AndoDaan> wow
16:19:12 <ais523> AndoDaan: I have spent /months/ working on that program
16:19:20 <ais523> !bfjoust monolith http://nethack4.org/esolangs/monolith.bfjoust
16:19:21 <zemhill> ais523~monolith: points 22.67, score 100.00/100, rank 1/47
16:19:26 <ais523> oh wow
16:19:43 <ais523> I didn't expect that to come #1, I thought it'd be more like #2 or #3
16:20:12 <ais523> I originally wrote it based on wondering what sort of program would beat preparation
16:20:17 <ais523> the other two can't do nearly that well, surely
16:20:27 <ais523> !bfjoust growth http://nethack4.org/esolangs/growth.bfjoust
16:20:27 <zemhill> ais523~growth: points 16.31, score 77.02/100, rank 5/47
16:20:42 <ais523> !bfjoust hippo_ballerina http://nethack4.org/esolangs/hippo_ballerina.bfjoust
16:20:42 <zemhill> ais523~hippo_ballerina: points 2.14, score 39.82/100, rank 12/47
16:20:45 <ais523> that's more reasonable
16:21:13 <AndoDaan> monolith isn't even that big.
16:21:43 <elliott_> !help
16:21:46 <elliott_> hm
16:21:52 <ais523> it's probably a one-liner, indeed
16:21:54 <elliott_> !bfjoust
16:21:54 <zemhill> elliott_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
16:21:59 <elliott_> ais523: that has the breakdown and report and stuff
16:22:03 <ais523> !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 <zemhill> ais523~monolith: points 21.33, score 95.39/100, rank 2/47 (change: --)
16:22:11 <elliott_> wow
16:22:17 <elliott_> programs that small are viable again?
16:22:28 <ais523> elliott_: it /shouldn't/ be viable
16:22:31 <ais523> it just sets eight decoys then rushes
16:22:34 <ais523> that's all it is
16:22:37 <elliott_> haha
16:22:51 <elliott_> the hill finally got advanced enough to not defend against simple programs?
16:22:57 <ais523> I wrote it when I realised "well, a program should beat preparation if it sets at least eight decoys"
16:22:58 <AndoDaan> what does '%' do again?
16:23:05 <ais523> AndoDaan: it's used to abbreviate nested programs
16:23:17 <ais523> (a{b}c)%n is the same as (a)*n b (c)*b
16:23:20 <ais523> *(c)*n
16:23:27 <elliott_> ais523: btw, did you deliberately nerf it down to #2?
16:23:28 <ais523> except you're allowed to open brackets in a and close them in c
16:23:29 <AndoDaan> right. ty
16:23:42 <HackEgo> [wiki] [[Bueue]] http://esolangs.org/w/index.php?diff=40499&oldid=35501 * Imaginer1 * (+93)
16:23:42 <ais523> elliott_: no, it's just less good against hippo_ballerina and growth than preparation is
16:23:45 <elliott_> ah
16:24:16 <elliott_> I wonder if the hill should have a limit to the number of programs on one nick
16:24:24 <elliott_> or results for your programs against each other shouldn't count, or something
16:24:30 <ais523> not if there's no abuse and the programs are sufficiently different
16:24:36 <elliott_> the effect of people's multiple warriors fighting against themselves is kinda weird.
16:24:43 <ais523> one thing I like about BF Joust is that I can compete against myself effectively indefinitely
16:24:47 <elliott_> especially when added in quick succession
16:24:49 <elliott_> heh
16:25:15 <ais523> elliott_: it's not like that, I basically just looked for a bunch of new strategies
16:25:16 <elliott_> ais523: you have both ais523_preparation and ais523~preparation there now, though
16:25:22 <elliott_> and presumably can't do anything about the former
16:25:25 <elliott_> that's not quite ideal
16:25:26 <ais523> elliott_: well I can't delete the old one
16:25:37 <ais523> the new one is better, and I would gladly delete the old one if I were able
16:25:43 <elliott_> 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 <ais523> and get rid of the old preparation
16:26:21 <ais523> especially because it beats the new preparation ;-)
16:26:30 <ais523> (I don't test versions of a program against each other)
16:28:31 <ais523> elliott_: anyway, there's no way that monolith should beat something like space_hotel
16:28:36 <ais523> and in fact, it doesn't beat space_hotel
16:29:16 <ais523> but the reason it works is that I've got better at clear loops
16:29:29 <ais523> most of the theory of clear loops was worked out before programs set tons of decoys
16:30:04 <ais523> 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 <ais523> because against a large decoy, an offset's cost is equal to three times the value of the offset
16:31:16 <elliott_> right
16:31:37 <elliott_> wait, why three?
16:32:59 -!- ais523 has quit (Read error: Connection reset by peer).
16:33:04 -!- callforjudgement has joined.
16:33:06 <callforjudgement> [17:32] <ais523> 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 <callforjudgement> [17:32] <ais523> assuming a two-cycle clear
16:34:18 <elliott_> callforjudgement: well, okay, s/against a large decoy/against a large decoy or the flag/, then
16:34:25 <elliott_> 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 <ais523> elliott_: oh, right, yes
16:34:54 <ais523> the whole point of decoys is that they look the same as flags
16:34:57 <elliott_> a large decoy or the flag or the debris of a computation :p
16:35:06 <elliott_> ais523: right, I thought maybe the 3* was assuming 3 decoys or something.
16:35:42 <ais523> elliott_: almost all times I've used the tape for computation, it ends up at 0 :P
16:44:24 <HackEgo> [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 <HackEgo> [wiki] [[Talk:Bueue]] http://esolangs.org/w/index.php?diff=40501&oldid=40500 * Imaginer1 * (+148)
16:51:41 <HackEgo> [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 <mroman_> what's this "by whom" wikipedia?
17:09:36 <mroman_> 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 <mroman_> considered by the golfing community?
17:10:06 <mroman_> but that be as vague.
17:10:34 <AndoDaan> Who else is there?
17:10:49 <mroman_> I mean
17:10:53 <mroman_> it has an article on esolangs.org
17:11:01 <mroman_> that should be enough "evidence" of it being esoteric
17:11:59 <AndoDaan> Are all golfing languages esoteric?
17:12:28 <mroman_> well
17:12:35 <mroman_> I wouldn't call them esoteric
17:12:40 <mroman_> I'd call them golfing languages :)
17:13:18 <mroman_> esoteric is always subjective to some extent
17:13:54 <AndoDaan> true enough
17:14:59 <Melvar> ais523: Are bfjoust programs required to have wacky names?
17:15:10 <ais523> Melvar: no, I used to call them attack1, attack2, etc.
17:15:24 <ais523> but I prefer to give them names that makes it easy for me to remember what they do
17:15:34 <ais523> if you've ever looked at growth in a debugger, it should be clear why it has that name
17:16:04 <Melvar> I see. So they’re useful mnemonics for the author.
17:16:11 <ais523> yes
17:16:13 <Melvar> They just *look* random.
17:16:53 <ais523> 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 <AndoDaan> what does '.' do in a bfjoust program?
17:19:26 <ais523> waits one turn
17:20:02 <ais523> 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 <ais523> but various other uses have been discovered
17:20:09 <AndoDaan> no weird outputting? okay
17:21:08 <AndoDaan> there's so much more to jousting than one would at 1st assume
17:21:20 <ais523> AndoDaan: have you seen the strategy page?
17:21:23 <ais523> http://esolangs.org/wiki/BF_Joust_strategies
17:22:38 <AndoDaan> Yeah. It went way over my head the 1st time i read them
17:23:11 <AndoDaan> but understanding it a little more each time
17:23:36 <ais523> anyway, I'm really proud of growth, because it accomplishes something I've been trying to do for /ages/
17:24:30 <ais523> which is to exploit the fact that most programs do a rule of nine
17:24:41 <ais523> 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 <ais523> <ais523> 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 <ais523> come to think of it, I'm a bit sad that monolith came #1, because it has such a boring explanation
17:26:42 <ais523> on the plus side, though, I can paste the program directly into the wiki
17:28:12 <ais523> let me write about the probabilistic lock, though
17:28:16 <ais523> it's an innovation I'm really pleased with
17:28:24 <ais523> and the main idea behind preparation
17:32:09 -!- Glaisher has joined.
17:33:23 <Sgeo> Aww, the ad is no longer available
17:34:14 <PiRSquared> Where is EgoBot?
17:34:42 <ais523> 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 <PiRSquared> 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 <FreeFull> https://github.com/LoganKelly/LOLTracer
17:41:25 <fizzie> 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 <fizzie> 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 <fizzie> I'll give it the old college try.
17:43:02 <fizzie> (Whatever that means.)
17:43:48 <ais523> 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 <fizzie> !bfjoust test <
17:47:21 <zemhill> fizzie~test: points -46.00, score 0.00/100, rank 47/47 (change: --)
17:47:47 <fizzie> I think I got it right.
17:53:04 -!- AndoDaan has quit (Ping timeout: 248 seconds).
17:54:24 <fizzie> 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 <AndoDaan> !bfjoust adumb (>+>-)*4<<(+)*64<[]>>>(>[>((+)*20[-]>)*21])*21
17:59:13 <zemhill> AndoDaan~adumb: points -32.31, score 5.38/100, rank 47/47
18:01:55 <AndoDaan> !bfjoust adumb (>+>-)*4<<(+)*64<[]<<<<<(+)*57>>>(>[>((+)*20[-]>)*21])*21
18:01:55 <zemhill> AndoDaan~adumb: points -36.19, score 3.61/100, rank 47/47 (change: --)
18:02:10 <AndoDaan> worse and worse
18:02:55 <ais523> AndoDaan: you're basically waiting for the opponent, and then, umm
18:02:59 <ais523> adjusting your flag by 57 and rushing?
18:03:30 <ais523> the purpose of that code is basically just to give the opponent a large head start
18:05:16 <AndoDaan> It's so crazy, it just might work...?
18:05:26 <AndoDaan> :\
18:06:51 <AndoDaan> but yeah, I'm throwing stuff together to see what it looks like.
18:13:50 <HackEgo> [wiki] [[Clem]] M http://esolangs.org/w/index.php?diff=40503&oldid=40448 * Zerk * (+30) /* External resources */
18:16:26 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40504&oldid=40503 * Zerk * (+0) /* External resources */
18:17:18 <elliott_> AndoDaan: try egojsout for testing warriors
18:17:23 <elliott_> it's a good way to visualise things
18:17:50 <AndoDaan> I am, I am.
18:18:19 <AndoDaan> But I'm not sure which bot I should test my bot.
18:18:25 <AndoDaan> against.
18:18:34 <ais523> "simple" is a good start
18:18:51 <AndoDaan> seems logical.
18:25:23 <HackEgo> [wiki] [[BF Joust strategies]] http://esolangs.org/w/index.php?diff=40505&oldid=39754 * Ais523 * (+2313) /* Probabilistic lock */ new section
18:25:34 <ais523> behold, the secret to preparation
18:25:36 <ais523> well, one of them
18:26:11 <ais523> 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 <AndoDaan> !bfjoust AndoDaando_trieste (>+>-)*4<<(+)*64><<<(--)*32<<<<(+)*32>(>)*9(>[>((+)*20[-]>)*21])*21
18:41:08 <zemhill> 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 <ais523> I'm busy documenting monolith and preparation
19:28:23 <ais523> monolith was much easier :-)
19:29:37 -!- conehead has joined.
19:47:47 -!- AnotherTest has quit (Ping timeout: 245 seconds).
20:05:27 <HackEgo> [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 <ais523> OK, if you wanted to know how preparation (or monolith) works, there you go
20:06:57 -!- weissschloss has joined.
20:08:21 <ais523> 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 <ais523> 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 <AndoDaan> Finally, a program from 2014. That's a huge entry, @ais523
20:39:47 <ais523> AndoDaan: I've been working on it (on and off) for like nine months
20:41:12 <AndoDaan> So, what comes next?
20:41:20 <ais523> well, I've submitted a few others too
20:41:28 <ais523> hopefully someone will dethrone preparation before long
20:41:39 <ais523> it has plenty of exploitable weaknesses, and that message should help people identify them
20:41:57 <AndoDaan> ...by copying and slightly changing your code...
20:42:24 <ais523> that's normally considered bad style
20:43:02 <AndoDaan> ..by copying and replacing all the + with - in your code...
20:43:31 <AndoDaan> I kid.
20:45:44 <ais523> AndoDaan: that's actually done automatically by the hill bots nowadays
20:45:58 <ais523> it combines the score from the regular run, and a run with + and - swapped
20:45:58 <AndoDaan> yeah, the polarity
20:46:01 <AndoDaan> thingy
20:46:17 <ais523> they are called "sieve" and "kettle" for reasons I don't fully understand, but elliott_ insisted
20:46:39 <AndoDaan> hmm
20:47:18 -!- boily has joined.
20:47:25 <AndoDaan> '+' = sieve, '-'=kettle
20:47:27 <AndoDaan> ?
20:47:52 <ais523> no, sieve = "without swapping + and -"
20:47:57 <ais523> kettle = "swapping + and - in one program"
20:47:59 <AndoDaan> or is it when the polarity is reversed that it's called kettle and whne normal...
20:48:06 <ais523> (swapping in both is the same as not swapping in either)
20:49:07 -!- haruka has joined.
20:49:14 <haruka> hi
20:49:18 <ais523> hi
20:49:21 <boily> hi
20:49:25 <AndoDaan> hi
20:49:28 <myname> hi
20:49:47 <ais523> how many "hi"s do we need before they stop being greetings, and start being "hi"s of disapproval?
20:49:52 <ais523> (at the "hi" spam)
20:49:57 <ais523> `welcome haruka
20:49:58 <HackEgo> haruka: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
20:50:01 <haruka> i like it ^^
20:50:09 <haruka> finally some talking active people
20:50:09 <myname> since when don't we do relcomes?
20:50:24 <haruka> or maybe just bots? xD
20:50:28 <ais523> myname: since I got to them first
20:50:32 <myname> okay
20:50:35 <ais523> and no, nobody speaking there is a bot but HackEgo
20:50:43 <myname> haruka: there are some bots here, too
20:50:44 <ais523> I've always been in favour of the welcome that is actually useful
20:50:58 <haruka> ^^
20:50:58 <b_jonas> hi
20:51:00 <ais523> rather than all the variants that have no obvious reason for existence
20:51:22 <ais523> `relcome isn't so bad, though; I tried to get it usable because it's the one everyone else uses
20:51:23 <HackEgo> 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 <b_jonas> uh
20:51:49 <myname> hahahaha
20:51:55 <boily> 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 <myname> boily: who's the one in question of being a bot?
20:52:25 <AndoDaan> !AmIABot
20:52:26 <haruka> ^^ i think i like it here
20:52:41 <ais523> hi evalj!
20:52:42 <AndoDaan> AndoDaan: yes.
20:52:43 <AndoDaan> shit
20:52:44 <b_jonas> [ ('no';'yes'){~*#'are you a bot?'
20:52:50 <b_jonas> ] ('no';'yes'){~*#'are you a bot?'
20:52:50 <evalj> b_jonas: +---+
20:52:50 <evalj> b_jonas: |yes|
20:52:50 <evalj> b_jonas: +---+
20:52:51 <ais523> unfortunately I don't know J, or I'd give you some J to evaluate
20:53:00 <b_jonas> ] ('no';'yes'){::~*#'are you a bot?'
20:53:00 <evalj> b_jonas: yes
20:53:03 <AndoDaan> I hate J
20:53:11 <myname> i love J
20:53:16 <haruka> at least, when the bot has a talkin script, i'm happy :D
20:53:18 <PiRSquared> `quote solidity
20:53:19 <HackEgo> 241) <treederwright> enjoy being locked in your matrix of solidity
20:53:19 <myname> i can't write it, though
20:53:24 <haruka> just need someone to babbly about crap
20:53:35 <ais523> haruka: you need to talk to fungot about that
20:53:37 <haruka> hi myname ^^
20:53:40 <boily> myname: myndzi. I believe it's a bot.
20:53:44 <ais523> but it isn't here
20:53:50 <ais523> fizzie: fungot's down
20:53:58 <ais523> boily: myndzi is both a person and a bot, who use the same account
20:54:03 <myname> not fungot
20:54:09 -!- FreeFull has joined.
20:54:17 <ais523> which can cause confusion sometimes
20:56:29 <b_jonas> \o/
20:56:29 <myndzi> |
20:56:29 <myndzi> >\
20:56:58 -!- ais523 has quit (Read error: Connection reset by peer).
20:57:08 -!- ais523 has joined.
20:57:22 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40507&oldid=40504 * Zerk * (+241) /* Strings */ +quine
21:00:57 <fizzie> Oh.
21:01:21 -!- fungot has joined.
21:01:27 <boily> fungot: hello fungot!
21:01:28 <fungot> 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 <fizzie> fungot: Uh, are you rewriting yourself in javascript?
21:01:49 <fungot> 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 <fizzie> That's vaguely unsettling.
21:02:58 <ais523> that almost seems like the sort of idea that someone would seriously suggest in #esoteric
21:03:07 <b_jonas> [ ,(?18 4$4){"0 1"1 2]4 4$'_\(|oooO|)/_ '
21:03:09 <ais523> an unlambda self-compiler via a tree with a lisp interpreter at each node
21:03:12 <b_jonas> ] ,(?18 4$4){"0 1"1 2]4 4$'_\(|oooO|)/_ '
21:03:12 <evalj> b_jonas: \o/ (o| (o_ (o| \o| (o| (o) |O) |o| \O) (O_ (o_ \o| \o| _o/ |o) \o| |o)
21:03:37 <ais523> 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 <b_jonas> ] ,(?10 4$4){"0 1"1 2]4 4$'_\(|oooO|)/_ '
21:04:20 <evalj> b_jonas: |o/ |O/ \O) (o| (o/ _O/ |o_ _O| |o_ (o|
21:04:20 <myndzi> | | |
21:04:20 <myndzi> >\ |\ /`\
21:04:24 -!- callforjudgement has joined.
21:04:27 -!- callforjudgement has changed nick to ais523.
21:04:28 <b_jonas> ] ,(?10 4$4){"0 1"1 2]4 4$'_\(|oooo|)/_ '
21:04:29 <evalj> b_jonas: _o| |o_ \o_ |o_ \o_ (o_ (o_ (o_ \o) \o)
21:04:29 <myndzi> | | | | |
21:04:29 <myndzi> /'\ |\ /'\ /`\ /|
21:04:36 <ais523> ^style
21:04:37 <fungot> 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 <b_jonas> ] ,(?10 4$4){"0 1"1 2]4 4$'_-\|oooo|/-_ '
21:04:42 <evalj> b_jonas: -o/ _o/ \o| \o- _o_ -o- |o| \o_ \o_ \o/
21:04:42 <myndzi> ¦ | | | | | | | | |
21:04:42 <myndzi> ´¸¨ /< >\ /< /´\ /| /'\ >\ /< /|
21:04:43 <ais523> ah, the generally best one
21:04:47 <ais523> ^style alice
21:04:48 <fungot> Selected style: alice (Books by Lewis Carroll)
21:04:59 <ais523> although I like setting fungot to the weirder ones sometimes
21:05:00 <fungot> ais523: " how ever would oo do a garden without one? we make each bed three mouses and a half exactly.'
21:05:01 <b_jonas> whoa, it uses "¦" for the body sometimes?
21:05:37 <Bike> 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 <Bike> or an exposed spine.
21:11:20 <b_jonas> ] ,(' ',{.,'o',{:)"1(?12 2$5){"0 1"$2 5$'_-|\<>/'
21:11:20 <evalj> b_jonas: |o| \o- <o> <o_ _o/ _o> _o- -o/ \o_ -o| |o/ <o/
21:11:20 <myndzi> | | | | | | | | | | | |
21:11:21 <myndzi> >\ /| >\ /`\ /^\ >\ /< /| |\ >\ >\ /´\
21:12:00 <b_jonas> ] ,.(' ',{.,'o',{:)"1(?5 12 2$5){"0 1"$2 5$'_-|\<>/'
21:12:00 <evalj> b_jonas: \o- <o_ -o> \o- <o_ _o_ _o| <o| _o_ \o_ |o| _o|
21:12:00 <evalj> b_jonas: _o> |o- \o/ _o| |o- -o> -o_ |o- \o_ _o- |o> \o>
21:12:00 <evalj> b_jonas: -o/ _o| \o- -o| <o- _o/ \o- <o> _o- |o/ -o| _o|
21:12:00 <evalj> b_jonas: \o/ \o/ _o| _o| |o> -o| -o/ <o- -o_ |o/ <o/ <o-
21:12:00 <evalj> b_jonas: -o> \o- _o| |o_ _o_ _o/ |o/ |o> |o/ <o| -o/ <o|
21:12:00 <myndzi> | | | | | | ¦ | | | | |
21:12:01 <myndzi> /< >\ /´\ /< /| /< ´¸¨ /| |\ /< >\ /´\
21:12:01 <myndzi> | | | | | | | | | | | |
21:12:01 <myndzi> |\ >\ /| |\ /| >\ /< >\ /| /| /`\ >\
21:12:27 <coppro> 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 <fizzie> !bfjoust force_report_update (><)*-1
21:19:58 <zemhill> fizzie~force_report_update: points -33.71, score 4.35/100, rank 47/47
21:20:57 <ais523> fizzie: that's basically nop.bfjoust
21:21:00 -!- MoALTz has quit (Ping timeout: 272 seconds).
21:24:12 <fizzie> I put the beginnings of a real website at http://zem.fi/bfjoust/ but it's missing most of the stuff.
21:28:31 <elliott_> I see haruka received the traditional overwhelming #esoteric welcome :p
21:29:05 <ion> the hashtag esoteric welcome
21:30:31 <ais523> elliott_: in case you missed the BF Joust activity, I came first with two different programs
21:30:46 <mroman_> PCLMULLDDQUNORVCVTUNORDPS
21:30:56 <mroman_> I like this opcode .
21:31:18 <elliott_> ais523: o_o
21:31:20 <ais523> I wonder if fizzie can make a `words equivalent for CPU opcodes
21:31:24 <elliott_> ais523: can we just declare you as having won bfjoust
21:31:34 <ais523> elliott_: preparation finally winning wasn't much of a surprise, given how I was working on it for nine months
21:31:37 <fizzie> ais523: I already have a web page for that.
21:31:40 <ais523> monolith winning, though, was
21:31:42 <ais523> given that it's a one-liner
21:31:50 <elliott_> ais523: oh, I thought you meant two new ones
21:31:58 <fizzie> ais523: http://zem.fi/2014-04-05-opquiz
21:31:59 <ais523> [17:22] <ais523> !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 <ais523> [17:22] <zemhill> ais523~monolith: points 21.33, score 95.39/100, rank 2/47 (change: --)
21:32:01 <elliott_> ais523: I talked about preparation and monolith with you... right after you submitted them... I was there
21:32:06 <ais523> oh right
21:32:14 <ais523> I forget who's who
21:32:24 <ais523> I'm not sure I can get a radically different program up to #1 in the near future, thoguh
21:32:27 <elliott_> easy mistake to make. there's nothing unusual about me
21:33:03 <ais523> I feel good about growth, but it's not near #1 standard unless I have some new ideas
21:33:08 <ais523> it is very fun to watch in egojsout, though
21:33:12 <ais523> it doesn't look anything like any of the other programs
21:33:59 <ais523> oh good, it does beat simple
21:34:02 <ais523> I was worried it wouldn't
21:34:14 <ais523> simple not having an antishudder can completely screw up programs that attack the standard way of doing things
21:36:12 <ais523> oh wow, growth vs. simple is /beautiful/
21:36:17 <ais523> the strategy works perfectly
21:36:50 <ais523> here we go: http://codu.org/eso/bfjoust/egojsout/?l=28ec45e1b8d742586c4857371d07270e24b32d8f&r=700a65536df97b655acd5c8a6fd2fc3014b46148
21:38:19 <coppro> I want a visualiazer
21:38:25 <coppro> oh wait, there is one, nvm >_>
21:41:26 <coppro> whoa, how does growth fall off at length 19?
21:42:08 <ais523> coppro: bad decoy pattern clash
21:42:15 <ais523> it confuses a decoy for a clear attempt and runs off the end of the tape
21:42:28 <ais523> this sort of thing always seems to happen with sufficiently advanced programs
21:42:39 <elliott_> how to ruin bf joust with one rule change: tape wraps
21:42:55 <elliott_> how to ruin bf joust with one rule change: bignums
21:43:02 <ais523> bignums would be a lot worse
21:43:15 <ais523> in particular, (+)*100000 would be mathematically incapable of losing
21:43:42 <ais523> 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 <ais523> oh, wait
21:43:55 <ais523> you could just do < at the start of the program :-)
21:44:03 <ais523> still more playable than bignums, though
21:44:06 <coppro> make them diametrically opposed, presumably?
21:44:22 <ais523> that could work
21:44:42 <ais523> 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 <ais523> then you'd know how long the tape was
21:44:58 <coppro> yeah
21:45:12 <coppro> the issue I think would be that simple naive programs would have a big advantage in terms of distance
21:45:22 <coppro> a program that tries to deal with both fronts has to spend time running back and forth
21:45:42 <ais523> coppro: that's true of standard BF Joust too
21:45:56 <ais523> actually, it's the reason I reduced the tape length to 10-30, it was previously well over 100
21:46:03 <ais523> it's so that defence programs actually had time to run back and forth
21:46:10 <ais523> also it removes a whole load of boring midgame
21:46:36 <ais523> 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 <elliott_> I wonder if 30 is too long.
21:49:07 <ais523> I don't think so, basically because there's a sharp distinction at 18
21:49:15 <ais523> and you want approximately the same number of cells both sides
21:49:28 <ais523> (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 <ais523> or to put it another way, preparation starts attacking at cell 18 if the opponent hasn't actually interfered by then
22:08:27 <ais523> nor shown signs of being defensive
22:12:52 <elliott_> clearly 36 then :p
22:18:33 <ais523> elliott_: also the fact that the tape can go longer than 28 has been relevant for some of my programs
22:18:53 <elliott_> why 28?
22:18:57 <ais523> 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 <Bike> need to see generalized bfjoust clearly
22:20:09 <fizzie> 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 <elliott_> fizzie: ideally the interpreter would produce the relevant execution traces when running the hill
22:21:05 <elliott_> and then they could be animated with JS?
22:21:10 <elliott_> that's work compared to jsut linking to egojsout though.
22:21:18 <elliott_> *just
22:21:24 <fizzie> The execution traces would be equivalent, anyway.
22:21:37 <elliott_> it'd be nice if the row/column got highlighted, crosshair-style.
22:21:37 <fizzie> Modulo bugs, anyway.
22:21:41 <elliott_> the bold is a bit hard to keep track of.
22:21:58 <fizzie> 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 <callforjudgement> I guess it was my connectino
22:22:20 <fizzie> 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 <elliott_> fizzie: http://quirksmode.org/css/css2/columns.html
22:22:47 <ais523> fizzie: I take it that the brightness shows the winning margin?
22:22:53 <fizzie> ais523: Yes.
22:23:08 <ais523> might want to tooltip (HTML TITLE) the exact margin, or maybe even the breakdown
22:23:15 <elliott_> just start the table with a colgroup of cols
22:23:20 <elliott_> and then you can style those col elements
22:23:55 <elliott_> 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 <elliott_> (none pizza with left warrior)
22:24:28 <elliott_> I like the colour shading.
22:25:19 <elliott_> what does x mean? draw?
22:26:17 <fizzie> Yes. Oh, right, it was '0' in report.txt.
22:26:26 <fizzie> 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 <ais523> fizzie: incidentally, I instrumented juiced to report the number of cycles and reason for each win/loss
22:27:53 <ais523> I use it to quickly get an idea of what programs are doing
22:28:09 <ais523> 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 <HackEgo> [wiki] [[Clem]] http://esolangs.org/w/index.php?diff=40508&oldid=40507 * Zerk * (-40) /* Strings */ quine tweak
22:29:41 <fizzie> Made the "Scores" page program names links to the source code.
22:41:40 <ais523> also, BF Joust comment grammar is really weird
22:41:41 -!- AndoDaan has joined.
22:41:50 <ais523> 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 <b_jonas> ] ,(' ',{.,'o',{:)"1(?12 2$5){"0 1"$2 5$'_-|\<>/'
00:00:27 <evalj> b_jonas: -o> |o> |o/ -o_ <o> -o/ <o| \o- -o- |o> |o/ <o|
00:00:27 <myndzi> | | | | | | | | | | ¦ |
00:00:27 <myndzi> /| /^\ >\ /< /< /| >\ |\ /| >\ ´¸¨ /|
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 <AndoDaan> 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 <Sgeo> How about the 'I am bad at relationships and in a lot of pain' esolang
00:23:44 <AndoDaan> that's a language?
00:23:47 <AndoDaan> lemme check
00:25:29 <AndoDaan> can't find it. I think you just made a cry for help.
00:26:01 <Sgeo> Just broke up this morning
00:26:22 <AndoDaan> girlfriend?
00:26:31 <coppro> Sgeo: do you need someone to talk to?
00:26:45 <Sgeo> I've been talking to Sine a bit
00:27:42 <Sgeo> 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 <coppro> Not necessarily.
00:28:08 <Taneb> Maybe you liked being in a relationship
00:28:11 <Taneb> Maybe you feel guilty
00:28:13 <Taneb> 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 <madbr> I think I found a nice concept for a language
00:45:51 <madbr> something where you can do
00:46:03 <madbr> vect1[$i] += vect2[i]
00:46:06 <madbr> and it will work
00:46:22 <madbr> if $ appears the line is turned into a loop
00:46:31 <madbr> starting with the value 0
00:46:47 <myname> sounds like bash
00:46:56 <madbr> for each iteration it checks that none of the subscript values go over the array size
00:47:13 <madbr> it can be compiled
00:47:40 <madbr> like, if you look at typical language usage there are LOTS of loops through arrays
00:47:49 <madbr> and the typical C++ formulation
00:48:17 <madbr> for(int i=0; i<vect1.size() && i<vect2.size(); i++)
00:48:26 <madbr> vect1[i] += vect2[i];
00:48:29 <madbr> is way too long
00:48:59 <myname> well, you could just make a preprocessor for any existing language
00:49:15 <madbr> same for java... in theory it has a foreach, in practice the formulation is so long that it's pointless
00:49:41 <madbr> myname : would be hard to do it in C++
00:49:46 <madbr> like, cleanly
00:49:52 <madbr> it would be some horrible hack
00:50:02 <myname> madbr: well, since c++ is already dirty as fuck, who cares?
00:51:16 <madbr> because it's reaching the breaking point where compexity increases exponentially with each new feature?
00:51:45 <madbr> also msvc will implement it wrong/differently from GCC and then you'll have to put ifdefs everywhere
00:52:42 <coppro> nah, this sounds like perl
00:53:35 <madbr> but perl is dynamic typed and can never run fast
00:53:45 <madbr> and also I think it just has an ordinary foreach
00:53:51 <myname> java can't, either
00:54:33 <madbr> java tends to force you to use horrible syntax for everything anways
00:54:49 <myname> and a horrble language
00:57:54 <madbr> like, this loops with only 1 extra character
00:58:26 <pikhq> Course, the C++ way of doing that is: valarray<int> arr1(vect1.begin(), vect1.size()), arr2(vect2.begin(), vect2.size()); arr1 += arr2; :P
00:58:48 <pikhq> (C++: because there's too many ways of doing it!)
00:58:58 <madbr> how does that even work
00:59:08 <pikhq> valarray has an overloaded operator+.
00:59:27 <madbr> valarray is what, boost?
00:59:37 <myname> isn't everything boost?
00:59:50 <pikhq> C++98.
01:00:34 <coppro> actually, better is transform(vect1.begin(), vect1.end(), vect2.begin(), vect1.begin(), plus())
01:00:59 <pikhq> C++, everyone!
01:01:41 <madbr> those use so many charactors and crazy stuff
01:03:47 <madbr> pikhq: does valaray have a cast from std::vector
01:04:20 <pikhq> Doesn't appear to.
01:04:35 <madbr> so it's useless
01:04:49 <coppro> Probably the biggest design mistake of C++ STL was the use of iterators rather than ranges
01:04:58 <coppro> there's been talk of correcting it, but who knows if that'll ever happen
01:05:17 <pikhq> madbr: Basically.
01:05:44 <Taneb> Fun fact: I am not good at computers
01:06:01 <madbr> like, basically it has to use less characters than the first formulation (using .size() and explicit loops)
01:06:02 <myname> in haskell it'lö be zipWith (+) val1 val2
01:06:20 <myname> boom
01:06:24 <madbr> any feature that uses more characters has no point
01:06:25 <myname> haskell won
01:06:27 <myname> next
01:06:43 <madbr> haskell I'm sure has many other problems
01:06:53 <coppro> none
01:06:54 <coppro> go home
01:07:02 <myname> haskell just rocks
01:07:15 <madbr> ok
01:07:16 <pikhq> Nah, Haskell is perfection, perfected.
01:07:24 <madbr> can haskell implement a filter?
01:07:29 <madbr> c++ example:
01:07:44 <madbr> (in constructor) memory = 0;
01:08:59 <myname> well, haskell has a function called filter ...
01:09:01 <madbr> filter_buffer(float *array, int nb_values) { for(int i=0; i<nb_values; i++) { memory += (array[i] - memory) * 0.7f; array[i] = memory; } }
01:09:33 <myname> what the hell?
01:09:50 <madbr> filter_buffer can be called multiple times and the memory value has to be preserved from call to call
01:10:10 <madbr> myname : it's a common procedure in audio processing
01:10:14 <myname> i am trying to figure out what the addition actually does
01:10:46 <madbr> memory is moves 70% towards the value in array
01:11:14 <pikhq> So, uh: foldl (\x y-> (y - x) * 0.7) 0
01:11:23 <pikhq> Wait, no, that's not right.
01:11:31 <myname> sounds like something for scanl
01:11:38 <pikhq> Yeah.
01:11:42 <madbr> remember that you have to preserve the value
01:12:14 <pikhq> Yeah yeah yeah, return tuple, big fucking deal
01:12:14 <myname> easy, just return a tuple
01:12:19 <myname> :D
01:13:49 <Taneb> :t scanl (\m a -> m + (a - m) * 0.7) 0
01:13:50 <lambdabot> Fractional b => [b] -> [b]
01:14:10 <Taneb> > scanl (\m a -> m + (a - m) * 0.7) 0 [1,2,1,2,3,1,2,3,4]
01:14:12 <lambdabot> [0.0,0.7,1.6099999999999999,1.183,1.7549000000000001,2.62647,1.487941,1.8463...
01:18:57 <oerjan> :t mapAccumL -- you may be looking for this
01:18:58 <lambdabot> (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y])
01:19:10 <myname> awesome
01:20:06 <oerjan> i think that's my favorite function which people rarely remember
01:20:13 <Sgeo> madbr: wonder if J is similar enough. If you use arrays then entire function uses can end up operating on it
01:21:26 <myname> is there something to make x into (x, x)?
01:21:27 <oerjan> although mostly people just jump straight to the State monad and call it a day.
01:21:58 <Taneb> myname, other than (\x->(x,x)) or maybe join (,)?
01:22:01 <Taneb> Not really
01:22:13 <myname> > mapAccumL (\m a -> (\x -> (x, x)) (m + (a - m) * 0.7)) 0 [1,2,3]
01:22:15 <lambdabot> (2.5829999999999997,[0.7,1.6099999999999999,2.5829999999999997])
01:22:23 <myname> madbr: ^
01:26:03 <myname> 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 <oerjan> > flip runState 0 $ [1,2,3] & traverse %%~ \a -> id <%= \m -> m + (a - m) * 0.7
01:34:38 <lambdabot> ([0.7,1.6099999999999999,2.5829999999999997],2.5829999999999997)
01:35:33 <myname> 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 <zzo38> 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 <zzo38> (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 <zzo38> Now I know when is the equinox.
03:10:24 <AndoDaan> 21St
03:10:28 <AndoDaan> ?
03:10:51 <zzo38> In my timezone, the equinox is on 22nd
03:11:22 <AndoDaan> Australia
03:11:37 <zzo38> At 19:29
03:13:16 <AndoDaan> zzo38: you created flogscript, right?
03:13:46 <zzo38> 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 <AndoDaan> Can I ask, what the core difference is between golfscript and flogscript?
03:15:08 <AndoDaan> I'm assuming fs is like gs
03:16:03 <zzo38> 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 <Patashu> it's intended to be even better for golfing than flogscript
03:16:42 <AndoDaan> than golfscript you mean
03:16:42 <zzo38> Patashu: And sometimes it is, but other times it isn't.
03:16:48 <Patashu> *than golfscript, yes
03:16:53 <zzo38> Yes
03:17:34 <AndoDaan> and now there's gs2 on the scene
03:17:43 <coppro> HQ9+ is the greatest golfing langugae
03:17:49 <AndoDaan> ^
03:17:56 <AndoDaan> H
03:18:03 <AndoDaan> Hello, world!
03:18:10 <AndoDaan> 9
03:18:14 <zzo38> coppro: Only if you are trying to write specific programs, though.
03:18:17 <AndoDaan> 99 bott... nvm
03:18:41 <coppro> zzo38: what possible reason could you have to write any other kind of program?
03:19:40 <zzo38> coppro: In case 99 is too much beer and then you will get too much drunk, of course!
03:19:53 <coppro> zzo38: fair
03:20:11 <coppro> reminds me to get around to my magnum opus
03:20:17 <coppro> 99 variations on the 99 bottles song
03:20:48 <AndoDaan> 99 luftballon op die muren
03:21:03 <AndoDaan> over die muren*
03:29:28 -!- haruka has joined.
03:34:37 -!- haruka has quit (Ping timeout: 272 seconds).
03:46:40 <Sgeo> I don't know what I want, I hate decisions
03:49:32 <zzo38> 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 <Sgeo> 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 <Sgeo> 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 <J_Arcane> I can't remember the episode, sorry. I've mostly watched the original series piecemeal.
06:28:25 <J_Arcane> 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 <Sgeo> ) 'Arcane'
06:42:49 <Sgeo> Hmm :(
06:44:14 <Sgeo> The Yes Scotland video I watched was deleted from YouTube
06:44:15 <Sgeo> :(
06:47:49 <zzo38> 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 <mroman_> AndoDaan: although gs2 is "binary"
07:21:59 <mroman_> so not really intended for humans to program in it directly
07:23:29 <mroman_> AndoDaan: there's also Burlesque btw :P
07:23:41 <AndoDaan> yeah, I tried writing some code with XVI32 and the results
07:24:08 <AndoDaan> are different than when I enter the character equivelant
07:24:09 -!- MoALTz has joined.
07:24:24 <AndoDaan> (talking about gs2 in anarchy golf)
07:24:34 <AndoDaan> looked into burlesque
07:25:01 <AndoDaan> I think I like CJAM the most as a golf lang.
07:25:20 <AndoDaan> but anarchy golf doesn't take it yet.
07:28:35 <AndoDaan> 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 <AndoDaan> fibonacci sequence? source will:
07:29:31 <zzo38> And then what, shifted base 256?
07:29:33 <AndoDaan> 100 1156
07:29:42 <AndoDaan> voila output fib to n
07:30:13 <zzo38> VLQ?
07:30:23 <AndoDaan> if I don't get greedy with unicode
07:30:35 <AndoDaan> VLQ ?
07:31:02 <zzo38> Variable-Length-Quantity, which is format used in MIDI files for delay amounts
07:31:27 <zzo38> You could even use UTF-8, although UTF-8 is limited to 36-bits and is not as efficient as VLQ.
07:31:55 <AndoDaan> hmm. looking it up.
07:36:17 <AndoDaan> Cool.
07:36:43 <zzo38> 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 <zzo38> There is also a small-endian version of VLQ which is called "LEB128".
07:37:47 <zzo38> It is exactly the same as VLQ except that it is small-endian.
07:39:49 <AndoDaan> 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 <mroman_> AndoDaan: gs2 has btw a fibonacci built-in
08:14:38 <mroman_> which I think is rather... not so pleasant
08:14:40 <AndoDaan> And hello world, and 99 bottles
08:14:49 <AndoDaan> kinda cheathing, I feel.
08:14:54 <mroman_> Yeah
08:14:57 <mroman_> It's boring
08:15:04 <mroman_> I mean if somebody looks at the ranking
08:15:15 <mroman_> and sees "WOW. HE CAN DO FIB IN 1 BYTE????!?"
08:15:48 <mroman_> I think it's ok to add builtins for certain sub-problems of problems
08:16:01 <mroman_> as long as those builtins are of "general purpose"
08:16:01 -!- conehead has joined.
08:16:18 <mroman_> which a fizzbuzz builtin like gs2 has clearly isn't
08:16:32 <b_jonas> zzo38: actually, anything up to any number of bits is possible, there's no 36 bit limit
08:17:49 <b_jonas> zzo38: search for utf-8 on http://www.perlmonks.com/?node_id=358307
08:18:05 <AndoDaan> Though, i think with gs2 we're near the peak of the golf language arms race.
08:18:39 <zzo38> 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 <b_jonas> zzo38: doesn't perl allow up to 64 bit character codes in utf-8, as an extension, these days anyway?
08:19:15 <b_jonas> of course it's an extension, ordinary unicode goes only up to 34 bit
08:19:21 <b_jonas> but it's a logical extension
08:19:32 <b_jonas> the pattern used for utf-8 just continues fine
08:19:37 <mroman_> AndoDaan: maybe
08:19:49 <mroman_> If you can find a suitable binary encoding for burlesque programs
08:20:01 <zzo38> Ordinary Unicode only goes up to 21-bits!
08:20:04 <mroman_> it might even beat gs2
08:20:19 <b_jonas> 21 then
08:20:20 <b_jonas> sorry
08:20:33 <mroman_> I.e. put all the most used builtins to a 1 byte command instead of 2 bytes as of now
08:20:39 <zzo38> If you extend UTF-8 beyond that (or if you use any overlong encodings), it isn't Unicode anymore!
08:20:54 <mroman_> that will cut some solutions in half
08:20:58 <AndoDaan> wait... gs2 means golfscript 2...
08:21:03 <mroman_> yeah
08:21:19 <mroman_> it's not really a "script" anymore though
08:21:29 <AndoDaan> which just means every command is reduced to one byte
08:21:43 <mroman_> golfscript already has 1 byte commands
08:21:47 <mroman_> burlesque doesn't.
08:21:59 <AndoDaan> could one do a straight translation from a golfscript program to gs2
08:22:00 <AndoDaan> ?
08:22:05 <mroman_> I don't think so no
08:22:31 <mroman_> but I don't know gs nor gs2 well enough to really state how similar they are
08:24:34 <b_jonas> in gs2, what does the empty program do? nop or cat?
08:24:39 <mroman_> since Burlesque has double as long commands as golfscript has, they are double as powerful
08:24:45 <mroman_> b_jonas: I don't know.
08:24:53 <mroman_> however, an error causes gs2 to quine
08:25:48 <b_jonas> ouch
08:26:58 <mroman_> anyway. If anyone wants to create Binary Burlesque feel free to do so ;)
08:27:03 <AndoDaan> 'nop': '\x00'
08:27:04 <mroman_> I won't do it.
08:27:20 <mroman_> Golfing is merely a side-effect.
08:28:00 <b_jonas> 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 <mroman_> J is good for big programs I think
08:28:24 <b_jonas> mroman_: some claim that, yes
08:28:27 -!- evalj has joined.
08:28:28 <b_jonas> I don't think so
08:28:36 <mroman_> It has modules and probably even GUI stuff etc
08:28:48 <AndoDaan> sure does.
08:28:48 <mroman_> i.e. you can use it for real world software
08:29:06 <mroman_> which is something you can't do with gs, gs2, blsq, cjam, fg etc
08:29:18 <mroman_> (probably)
08:29:18 -!- madbr has quit (Quit: Pics or it didn't happen).
08:29:25 <mroman_> I don't know if gs can execute arbitrary ruby code
08:29:35 <mroman_> I think it can?
08:31:20 <AndoDaan> rb
08:32:48 <AndoDaan> 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 <mroman_> opcode VFMSUBADD321PD is real
10:15:07 <mroman_> well fuck you too then o_O
10:17:27 <zzo38> What does it mean?
10:17:47 <AndoDaan> DOUBLE RAINBOW
10:23:35 <fizzie> "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 <fizzie> ... them. The final results are rounded to the nearest float64 values."
10:24:28 <fizzie> The "321" denotes something about the operand order, I forget the exact details.
10:26:27 <zzo38> Many modern instructions sets are way too insane. I like 6502 instruction set. MMIX is also not quite too bad actually
10:26:59 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <zzo38> `danddreclist 57
10:51:39 <HackEgo> danddreclist 57: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex
10:52:41 <zzo38> There is not supposed to be bats flying around inside of the blacksmith shop, isn't it?
10:58:24 <mroman_> https://github.com/dagit/hs6502/tree/master/src
11:01:36 <mroman_> 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 <Melvar> `dontaskdonttelllist
12:00:26 <HackEgo> 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 <fizzie> 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 <AndoDaan_> Is that something that happens; people messing with another's their code?
13:07:26 <AndoDaan_> I mean, I see quintopia.space_elevator
13:08:04 <AndoDaan_> and ais523
13:08:35 <AndoDaan_> 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 <fizzie> 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 <elliott_> 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 <HackEgo> [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 <HackEgo> [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 <mroman_> befunge joust
15:44:28 <mroman_> :)
15:45:17 <mroman_> where both programs are in the same space
15:45:22 <mroman_> and can bombard each other with p
15:45:57 <mroman_> or scan for enemies with g
15:46:03 <mroman_> could be fun
15:46:11 <J_Arcane> 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 <AndoDaan_> "Gregor_furry_furry_strapon_pegging_girls"
15:48:13 <mroman_> ?
15:48:23 <Bike> good program
15:48:43 <AndoDaan_> Deep poking
15:48:49 -!- AndoDaan has quit (Ping timeout: 260 seconds).
15:49:25 <AndoDaan_> 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 <fizzie> Added a game viewer on the Fancy Website™.
15:59:52 -!- lawpoker has quit (Quit: leaving).
16:00:07 <fizzie> (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 <fizzie> 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 <elliott_> do you really need a server-side thing?
16:03:24 <elliott_> I guess yes because the programs are long?
16:05:02 <fizzie> Yes, even compact URL encodings are probably overly long.
16:05:12 <elliott_> 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 <elliott_> which isn't terribly useful
16:05:29 <fizzie> It's *meant* to, but I didn't get that far yet.
16:05:36 <AndoDaan_> !bfjoust AndoDaan_ReadMyOutput (>)*4(+)*33.<(+)*69.<(+)*73.<(+)*68(>)*9((+)*20[-]>(-)*20[+])*-1
16:05:37 <zemhill> AndoDaan_~AndoDaan_ReadMyOutput: points -20.86, score 12.64/100, rank 47/47
16:06:09 <AndoDaan_> well, it bested shudderlock.
16:06:11 -!- Glaisher has left ("Leaving").
16:06:21 <fizzie> Also I guess the dropdowns in the game viewers should be ordered alphabetically and not by ranking....
16:07:14 <elliott_> AndoDaan_: you know you're not meant to include your name twice, right? :p
16:07:35 <AndoDaan_> ah, did not notice
16:08:06 <AndoDaan_> so, ReadMyOutput == AndoDaan_ReadMyOutput?
16:08:19 <AndoDaan_> zemhill appends my naam.
16:08:20 <elliott_> == AndoDaan~ReadMyOutput.
16:08:26 <elliott_> 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 <elliott_> I may have given this more thought than it deserves.
16:08:56 <fizzie> Right, but then I'd have to do the manual renaming once more time.
16:09:05 <fizzie> I'm not sure why I didn't think of '.' earlier, since I kind of like it.
16:09:10 <elliott_> fizzie: rename * 's/~/./'
16:09:15 <elliott_> or does the expression come first
16:10:07 <elliott_> 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 <fizzie> I think my original dislike for : was that it tab-completes as \:.
16:11:05 <fizzie> A very rational reason, I'm sure.
16:11:30 <elliott_> huh, it does?
16:11:32 <elliott_> I wonder why
16:11:41 <fizzie> I don't know. If it has a special meaning, I don't know it.
16:11:47 <elliott_> it doesn't here on zsh, at least
16:12:00 <fizzie> It does on bash, but removing the \ (at least in simple cases) does nothing bad.
16:12:00 <elliott_> one weird thing about : is that on OS X, "foo:bar" shows in graphical applications as foo/bar.
16:12:30 <fizzie> I guess it might make things difficult for all the people on Windows systems cloning the repository.
16:12:35 <elliott_> (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 <elliott_> 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 <elliott_> obviously we need a survey.
16:13:20 <fizzie> Someone had voted for "magic" in the scoring survey.
16:13:43 <fizzie> (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 <b_jonas> I actually use the comma, because it can't appear in a channel name
16:15:03 <b_jonas> evalj, ls:
16:15:03 <evalj> b_jonas, done list
16:15:16 <b_jonas> ] 4*8
16:15:17 <evalj> b_jonas: 32
16:15:19 <b_jonas> ] t=: 5
16:15:19 <evalj> b_jonas: |ok
16:15:25 <b_jonas> evalj, ls:
16:15:25 <evalj> b_jonas, open sessions are: b_jonas,#esoteric
16:15:25 <evalj> b_jonas, done list
16:15:27 <elliott_> clearly that's the answer. nick,program
16:15:45 <b_jonas> by default, evalj names sessions from nick,channel
16:15:59 <fizzie> nick%program.
16:16:00 <b_jonas> it names shared sessions like ,channel
16:16:12 <b_jonas> but yuo can change the chnanel part to whatever you want, to have multiple sessions
16:16:18 <elliott_> 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 <elliott_> it does have a nice sort of feel to the "program ownership" restrictions, at least.
16:18:11 <fizzie> 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 <fizzie> Screw it, I'll go with the dot, it's safe everywhere and doesn't look like much.
16:18:48 <elliott_> fizzie: wait! have you considered nick§program?
16:19:03 <fizzie> nick<INVISIBLE TIMES>program.
16:19:21 <elliott_> nick✏️program, to denote authorship.
16:19:25 <elliott_> (I hope you can see emoji.)
16:21:13 <AndoDaan> How about (Username)FileName.bf
16:21:45 <AndoDaan> (AndoDaan)ReadMyOutput.bf
16:22:27 <AndoDaan> (ais523)preperation.bf
16:22:49 <AndoDaan> and so on and so forth
16:22:56 <fizzie> I think it's a bit visually verbose.
16:22:59 <b_jonas> AndoDaan: oh no... info viewer convention. don't do that.
16:23:15 <AndoDaan> Worth a shot.
16:23:20 -!- zemhill has quit (Remote host closed the connection).
16:23:50 <b_jonas> there's a more evil variant though: Username>Filename
16:23:58 -!- zemhill has joined.
16:24:34 <fizzie> Maybe I'll just make it change every week.
16:24:37 <AndoDaan> Why evil?
16:25:53 <elliott_> fizzie: you know, on Windows I think foo.bar.bfjoust will show up by default as foo, a BAR.BFJOUST file.
16:26:19 <AndoDaan> nah, past the last dot.
16:26:25 <elliott_> are you sure?
16:26:32 <elliott_> I think Windows talks about TAR.GZ files.
16:26:46 <AndoDaan> I have a bunch of Gravity.Axxo.whatever.mp4 files
16:27:37 <AndoDaan> now I am. Yes
16:27:59 <elliott_> 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 <elliott_> though, also, those have a 14 character limit. :p
16:28:39 <HackEgo> [wiki] [[JSFuck]] http://esolangs.org/w/index.php?diff=40510&oldid=39176 * Grace * (+2203) Added more information
16:29:37 <pikhq> I tend not to care about "fully portable filenames" though.
16:29:53 <elliott_> well, we have to use *some* criteria for bikeshedding.
16:30:07 <b_jonas> how about you just give a fully random filename from some large set of characters
16:30:16 <pikhq> Sure, just like my passwords.
16:30:50 <elliott_> 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 <AndoDaan> TIL "bikeshedding"
16:31:27 <elliott_> and then put the whole thing in the blockchain.
16:31:47 <elliott_> ooh, ooh: submit programs by paying some small amount of bitcoins and including their code in the transaction
16:31:47 <HackEgo> [wiki] [[Object oriented thue]] http://esolangs.org/w/index.php?diff=40511&oldid=36600 * 4D enthusiast * (-90) Revised the introduction
16:32:11 <b_jonas> how about HUserNameFileName where the first character is 64 plus the length of the username?
16:32:14 <Bike> may i interest you in this artisnal yak hair coat
16:32:37 <b_jonas> then users can use any characters in their username without fearing of conflict with the separator
16:33:08 <AndoDaan> How about naming the programs after it's Strategy Code.
16:34:28 <elliott_> remember the filenames need to be 8.3
16:34:33 <AndoDaan> Anyone remembers the strategy codes?
16:35:02 <AndoDaan> "dPC?d?D@(!Y)Y(D)Y(D)%>~O2*3\+"==quintopi's space_hotel
16:35:23 <AndoDaan> but more colourful.
16:35:35 <b_jonas> but yeah, the sha1 of their contents might work too
16:37:22 <elliott_> b_jonas: sorry, 8.3 has less than 83 bits of storage space
16:37:24 <elliott_> ...wow
16:37:26 <elliott_> what a coincidence
16:37:41 <elliott_> (it's a little complicated because of the space handling rules)
16:38:12 <elliott_> it's about 82.4 without spaces, 82.5 with unrestricted spaces
16:38:22 <b_jonas> elliott_: that depends on what code page you have loaded with MODE CON, for that determines what high characters are allowed
16:38:34 <b_jonas> seriously, you can't even open existing filenames with wrong characters
16:38:49 <elliott_> b_jonas: is that a FAT thing or a DOS thing?
16:38:52 <elliott_> https://en.wikipedia.org/wiki/8.3_filename doesn't say anything about that
16:38:54 <b_jonas> elliott_: a DOS thing
16:39:00 <elliott_> well, who cares about DOS?
16:39:11 <elliott_> don't you use FAT-16 on your workstations?
16:39:13 <b_jonas> um, who cares about 8.3 filenames?
16:39:14 <pikhq> It's also a bit of a Windows thing.
16:39:41 <pikhq> Because Windows' Unicode support is moronic.
16:47:46 <HackEgo> [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 <Abramelin> Hi
16:58:21 -!- AndoDaan has quit (Ping timeout: 272 seconds).
16:59:24 <Abramelin> The great architect of the universe is yourself
17:00:00 <myname> of course, that's why i'm discordian pope
17:02:09 <Abramelin> Reality is Chaos right ?
17:03:43 <coppro> myname: you too? What a spooky coincidence
17:05:00 <Abramelin> 2spooky4me
17:09:40 -!- Abramelin has quit (Quit: Page closed).
17:10:28 <elliott_> thanks
17:23:02 <HackEgo> [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 <deco> 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 <deco> the answer to this stage is notveryhard
17:24:32 <deco> 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 <deco> I think it is a classic cipher but I don't know which one
17:25:23 <deco> again sorry for posting something that is not a esoteric language. I just know you guys are smart and could help
17:28:25 <Bike> weird spacing.
17:30:08 <fizzie> Some sort of a transposition thing in that case, perhaps.
17:30:28 <fizzie> ^scramble Since you end up with weird spacing, and punctuation, with those.
17:30:28 <fungot> Sneyuedu ihwidsaig n ucuto,wt hs.eothi niatnpda,ncp re twp n o ci
17:33:57 <fizzie> 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 <deco> there is a hint "Hint, everybody knows it's not length that matters."
17:36:01 <deco> it changes every time its generated
17:36:10 <deco> 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 <fizzie> Exactly identical character frequencies, which is an even stronger clue that it's just a transposition thing.
17:38:21 <fizzie> Does it always start with "I", by any chance?
17:38:32 <deco> let me run another
17:38:38 <Bike> i'm wondering about the count of single-letter words...
17:38:53 <deco> yes it always starts with I
17:39:10 <deco> 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 <deco> and another
17:39:26 <deco> 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 <deco> the first letter of the sequence is always I
17:42:07 <fizzie> 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 <Bike> if it's transposition of a single plaintext they wouldn't give that length hit.
17:43:35 <Bike> hint
17:46:40 <fizzie> 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 <fizzie> (And the letter frequencies are *very* typical for English, too.)
17:48:15 <b_jonas> What's this where's it from?
17:48:16 <fizzie> 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 <b_jonas> Is that from something like http://pythonchallenge.org/ or some similar puzzles?
17:49:08 <Bike> maybe there's a few plaintexts.
17:49:10 <b_jonas> no wait, wrong url
17:49:41 <b_jonas> http://www.pythonchallenge.com/
17:50:14 <fizzie> 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 <deco> b_jonas: its stage two of a crypto challenge
17:50:53 <b_jonas> I see
17:51:02 <deco> 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 <deco> got past stage two
17:51:15 <deco> got past that to stage two*
17:51:35 <b_jonas> oh, so it's always a permutation?
17:51:43 <b_jonas> hmm
17:52:14 <deco> I can send you my script if you like
17:52:20 <deco> do you have python installed?
17:52:34 -!- AndoDaan has joined.
17:52:35 <b_jonas> can you paste some versions of this cyphertext somewhere?
17:52:41 <fizzie> A caesar cipher is not a permutation. (I mean, of the plaintext. It's a permutation of the alphabet, of course.)
17:52:41 <deco> sure
17:52:46 <b_jonas> thanks
17:52:48 <deco> give me one sec
17:54:13 <deco> http://pastebin.com/7xD08sim
17:54:24 <b_jonas> thanks
17:54:40 <b_jonas> whoa
17:54:44 <b_jonas> so they're not really permutatinos
17:54:50 <b_jonas> they ahve different lengths
17:55:37 <deco> after I solve the first part:
17:55:39 <deco> Congratulations, you have solved stage 1. You have 9 seconds left.
17:55:40 <deco> Now it's time for something slightly more difficult. Hint, everybody knows it's not length that matters.
17:56:50 <b_jonas> even though they do look sort of like permutations. let me compute their frequencies
17:57:01 <fizzie> "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 <fizzie> That's what it says.
17:57:11 <fizzie> I didn't quite paste all of it.
17:58:03 <deco> sweet! fizzie how did you solve it
17:58:18 <deco> was it the 22 line length
17:58:47 <b_jonas> 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 <b_jonas> it's... strange
17:59:11 <fizzie> It's different amount of columns for the different outputs, it's not always 22.
17:59:26 <fizzie> For your second paste, it's 15.
17:59:54 <b_jonas> oh, you mean it's padded with extra letters?
17:59:58 <b_jonas> let me try to transpose it
18:00:18 <fizzie> You just line-wrap it at the right length, and read top-to-bottom instead of left-to-right.
18:00:35 <deco> fizzie: what tool did you use? ms word?
18:00:37 <fizzie> See http://en.wikipedia.org/wiki/Transposition_cipher#Columnar_transposition except it's not even in scrambled order.
18:00:40 <b_jonas> right, Journey to the Center of Earth cypher
18:00:46 <b_jonas> let me try
18:00:59 <fizzie> And I used vi and a resizable terminal window.
18:01:44 <deco> fizzie: the second paste on here of pastebin was 15?
18:02:13 <fizzie> On the channel. Unless I rearranged them when trying out.
18:02:54 <fizzie> http://sprunge.us/hhKj <- that one, anyway.
18:02:57 <deco> thank you so much fizzie
18:03:24 -!- aretecode has joined.
18:05:45 <b_jonas> hmm, I get half garbage half real text
18:05:52 <b_jonas> probably I'm doing something wrong
18:07:48 <fizzie> 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 <b_jonas> I'm not
18:08:05 <b_jonas> I'm using a simple perl script, but using it wrong
18:08:07 <b_jonas> let me try to fix it
18:08:23 <b_jonas> 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 <b_jonas> ah! found the real phrase too
18:09:52 <b_jonas> maybe deco copy-pasted some spaces wrong/
18:09:56 <b_jonas> or something
18:10:05 <deco> maybe (sorry if I did)
18:10:22 <b_jonas> but maybe it's something on my side
18:10:27 <deco> Im trying to figure out how to write an auto solver in python
18:10:41 <deco> to send the solution instantly back to the server
18:11:04 <b_jonas> why'd you do that? isn't the magic phrase always the same?
18:11:21 <b_jonas> or maybe there's two of them, hmm
18:11:28 <fizzie> Apparently not.
18:11:38 <fizzie> Some of the later pastes are different.
18:12:24 <fizzie> 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 <deco> 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 <b_jonas> ] #t1=:'Imli yh dfcoewhw ru ioibyyrwlpteop ileh uten f of"gytah.f.eohia o tuirvTrF slehtoad y esrnoc d onhsomiyt''atnasohtlreg'
18:34:50 <evalj> b_jonas: 125
18:34:55 <b_jonas> #t2=:' ue la i"rrheilcw ango iecvghtpnfheetshnfa . riola foanrl Iofsgteptr e snr wb f,gosaafo ebhrsory!lodir o.eu c tu'
18:35:00 <b_jonas> 160{.,|:_8]\ t=:t1,t2
18:35:05 <b_jonas> ] 160{.,|:_8]\ t=:t1,t2
18:35:05 <evalj> 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 <b_jonas> ] #t2=:' ue la i"rrheilcw ango iecvghtpnfheetshnfa . riola foanrl Iofsgteptr e snr wb f,gosaafo ebhrsory!lodir o.eu c tu'
18:35:10 <evalj> b_jonas: 114
18:35:12 <b_jonas> ] 160{.,|:_8]\ t=:t1,t2
18:35:12 <evalj> 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 <b_jonas> (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 <deco> fizzie: you still there?
18:53:54 <deco> got to the third and final stage
18:54:00 <deco> 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 <Bike> ïa ïa, shub-niggurath
18:55:18 -!- shikhin has changed nick to lawpoker.
18:57:48 <Sgeo> Scotland is interesting
18:57:50 <Sgeo> http://en.wikipedia.org/wiki/Not_proven
18:58:47 <b_jonas> deco: paste that to somewhere as well because it's long
18:59:11 <AndoDaan> Did you miss a letter at the end, Deco?
18:59:54 <deco> rgr
18:59:58 <b_jonas> that one is probably not a simple rearrangement cipher nor a single letter substitution cipher, but something more complicated
19:01:08 <deco> AndoDaan: yes I did
19:01:11 <Bike> now i kind of want to set up a crypto challenge site that's just a bunch of numbers station transcripts.
19:01:22 <Bike> and photos of Kryptos and so on
19:01:32 <b_jonas> who is Kryptos?
19:01:36 <Bike> http://en.wikipedia.org/wiki/Kryptos
19:02:19 <b_jonas> 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 <fizzie> 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 <deco> here is another one (not missing last chrs
19:04:14 <deco> http://pastebin.com/H78P9Zpa
19:04:21 -!- conehead has joined.
19:07:44 <b_jonas> the letters have noticably different frequencies, but not really the frequencies you'd expect from English
19:13:51 <fizzie> Good old Kasiski test strongly suggests a Vigenère with key length of 7.
19:14:48 <fizzie> 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 <deco> looking at it now, any idea what the key would be?
19:17:13 <deco> fizzie: did you manually do a Kasiski examination?
19:17:36 <fizzie> No, I just wrote some Perl oneliners.
19:18:10 <fizzie> ... | 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 <zzo38> What are you thinking of this Famicom mapper design? http://wiki.nesdev.com/w/index.php/User:Zzo38/Mapper_I
19:37:02 <deco> get any further fizzie?
19:37:37 <fizzie> Well, yes, I did solve it.
19:37:47 <fizzie> But doesn't it kind of defeat the purpose of the challenge if you just ask for solutions?
19:38:34 <deco> fizzie: so it is vigenere with key size of 7 you said?
19:39:04 <fizzie> 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 <fizzie> The text is mostly just filler to make it easier to solve.
19:40:30 <deco> for the sake of time can you tell me the key? Ill go back and solve it manually later.
19:40:53 <fizzie> I assume the key, and possibly also the key length, is random in different iterations of the problem.
19:41:46 <deco> for the one that you solved what was it?
19:42:24 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> Anyhow, maybe that means they have a fixed set of keys they pick from.
20:18:30 <deco> what do you think the magic phrase is in the text?
20:18:45 <deco> the rhyme?
20:23:38 <fizzie> 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 <fizzie> I guess you could solve another instance and see what changed.
20:27:13 <deco> here is another instance
20:27:15 <deco> http://pastebin.com/RMFH99ND
20:27:38 -!- ski has quit (Ping timeout: 244 seconds).
20:28:23 -!- ski has joined.
20:38:16 <fizzie> The key for that is "WORDS".
20:38:21 <fizzie> And the plaintext seems identical.
20:46:02 <fizzie> 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 <deco> can you send a link?
20:50:14 <fizzie> 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 <fizzie> Though I'm not entirely sure why you're doing this all, if not for the fun of puzzling it out.
20:53:59 <fizzie> !bfjoust refresh_report (>)*8(>[-])*21
20:53:59 <zemhill> fizzie.refresh_report: points -18.90, score 12.98/100, rank 47/47
20:54:30 <fizzie> I don't understand why the report is persistently showing ais523.preparation as "new" in the rank-change field.
20:58:11 <fizzie> Ohhhh, just a js mishap.
20:59:06 <fizzie> (Due to 0 being false.)
20:59:44 <fizzie> 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 <elliott_> fizzie: which *lance is it running?
21:17:52 -!- evalj has quit (Remote host closed the connection).
21:18:22 <elliott_> torquelance?
21:18:30 <elliott_> wait, no
21:18:49 <elliott_> hmm, what is wrenchlance?
21:18:57 <elliott_> 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 <elliott_> fizzie: btw, the readme still says the bot is written in python
21:56:19 <fizzie> 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 <fizzie> (I have no idea why I went all Ruby with it either.)
21:59:04 -!- boily has joined.
22:03:00 <Sgeo> I'm glad that Haskell is finally starting to catch up to Racket with PatternSynonyms
22:03:06 <Sgeo> >.>
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 <boily> Sgeo: heretic! how dare you tell that Haskell is less advanced than any other language!
22:17:00 <boily> (also, what is a PatternSynonym?)
22:21:27 -!- clog has quit (Ping timeout: 245 seconds).
22:21:30 <Sgeo> Allows defining pseudopatterns with pseudoconstructors that expand into other patterns
22:22:04 <Sgeo> So with that plus ViewPatterns, I could define a pattern like GreaterThanFive on Ints
22:22:14 <boily> oh. ooooooh...
22:34:06 -!- clog has joined.
22:36:00 <Sgeo> boily: https://www.fpcomplete.com/user/icelandj/Pattern%20synonyms
22:49:02 <oerjan> @metar ENVA
22:49:03 <lambdabot> ENVA 212220Z 31009KT 9999 BKN041 08/03 Q1018 RMK WIND 670FT 32016KT
22:49:10 <oerjan> it's getting chilly
22:50:39 <boily> @metar CYUL
22:50:40 <lambdabot> CYUL 212200Z 20009KT 15SM FEW040 FEW052 SCT110 BKN240 22/17 A2952 RMK CU1SC2AC2CI2 CU TR SLP996 DENSITY ALT 1400FT
22:51:00 <boily> 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 <oerjan> @hoogle (a -> b -> b) -> a -> Int -> [b] -> (a, [b])
00:22:39 <lambdabot> No results found
00:23:51 <boily> hellørjan. what for is to do so?
00:25:04 <oerjan> :t \f x n -> first (foldl' f x) . splitAt n
00:25:05 <lambdabot> (c -> a -> c) -> c -> Int -> [a] -> (c, [a])
00:25:36 <oerjan> it's the type of that, which is a function which can be done more optimized by _not_ using splitAt
00:26:24 <oerjan> oh hm
00:26:38 <oerjan> misordered
00:26:51 <Jafet> It's not that much less optimized.
00:26:52 <oerjan> @hoogle (a -> b -> a) -> a -> Int -> [b] -> (a, [b])
00:26:52 <lambdabot> No results found
00:27:10 <oerjan> Jafet: it leaks memory if n is large
00:28:01 <oerjan> while it can actually be done in constant memory by explicit recursion
00:28:27 <Jafet> Well, don't use the snd first.
00:29:52 <oerjan> i got the idea from this http://stackoverflow.com/questions/25961869/improving-performance-on-chunked-lists
00:31:18 <Jafet> :t \(a, b) -> (a, seq a b)
00:31:19 <lambdabot> (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 <Sgeo> "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 <Sgeo> http://thecodelesscode.com/case/30
02:00:05 <Sgeo> I'm not sure I get it. Is the one-byte integer signed?... yeah, that has to be it, I think
02:00:07 <Sgeo> Also with the cups
02:00:29 <Sgeo> And I don't get the broom at all
02:22:32 <zzo38> 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 <Sgeo> I'm beginning to appreciate Racket more and more, although it's not as batteries included as it claims
02:27:30 <Sgeo> No good story for client-side cookie handling, for one
02:31:15 <zzo38> Is there better way to sign-extend 6-bits?
02:55:30 -!- Sorella has quit (Remote host closed the connection).
03:08:18 <tromp> in Cl i'd do a&=63; a-=a&32
03:09:02 <tromp> when a is of type char
03:09:22 <tromp> well, does't matter; works same for larger types
03:12:16 <tromp> you can do it even faster
03:13:11 <tromp> a -= a&-32
03:14:21 <tromp> hmm, wait
03:16:51 <tromp> you need a -= (a&-32) + (a&32)
03:28:45 <zzo38> 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 <Sgeo> ahaha http://thecodelesscode.com/case/104
05:24:14 <Bike> not bad.
05:28:16 <Sgeo> Is this me? http://thecodelesscode.com/case/107
05:30:28 <fizzie> 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 <lifthrasiir> fizzie: the last one is a sign bit then?
05:31:26 <lifthrasiir> that finally makes sense.
05:37:56 <fizzie> "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 <J_Arcane> 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 <zzo38> 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 <zzo38> 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 <zzo38> Do you like this kind of things?
06:07:20 -!- AndoDaan has joined.
06:10:25 <Sgeo> The puns, they burn
06:10:26 <Sgeo> http://thecodelesscode.com/case/128
06:19:27 <fizzie> 128 reminds me of the BLIT story.
06:26:01 <J_Arcane> " When the real meets the imaginary, their product is always complex." XD
06:26:47 <Bike> zero, zero
06:28:23 <Sgeo> I completely misinterpreted http://thecodelesscode.com/case/136 the first time I read it
06:28:37 <b_jonas> 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 <Sgeo> 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 <b_jonas> though what you said might be shorter
06:30:43 <zzo38> b_jonas: Shorter by one byte, yes. (Also it is called ORA rather than IOR)
06:30:52 <b_jonas> ok
06:31:23 <zzo38> Yours is a bit faster though.
06:31:54 <HackEgo> [wiki] [[Special:Log/newusers]] create * WinnieTFCfszeh * New user account
06:32:47 <AndoDaan> Two new users in as many days. We're in an Eso rennaisance.
06:33:26 <b_jonas> zzo38: can you just shift left twice then rotate right twice?
06:34:48 <zzo38> Rotate right will rotate through the carry flag.
06:36:03 <zzo38> So, it doesn't work.
06:36:52 <b_jonas> hmm
06:37:24 <b_jonas> 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 <b_jonas> wouldn't that still come out shorter but probably slower?
06:37:47 <b_jonas> I've no idea how shifts and rotates work in the 6502
06:38:35 <zzo38> 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 <b_jonas> there's an LSR? that's even simpler then
06:39:33 <b_jonas> no wait
06:39:36 <b_jonas> um
06:39:48 <b_jonas> damn
06:39:52 <b_jonas> 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 <zzo38> Also ARR acts like AND followed by ROR A, but then it sets the carry flag to bit6 of the result.
06:41:45 <zzo38> ANC is AND and then copy the high bit (bit7) of the result into the carry flag.
06:41:55 <b_jonas> wait what?
06:42:05 <zzo38> ALR is like AND immediate followed by LSR A.
06:42:15 <b_jonas> isn't one of those right shift instructions unreliable and undocumented?
06:42:32 <b_jonas> I totally thought the 6502 doesn't have a sane right shift
06:42:35 <zzo38> All are unofficial, but they are all reliable.
06:42:41 <b_jonas> huh
06:42:56 <b_jonas> I thought at least one was undocumented because it's unreliable
06:43:16 <zzo38> There are unreliable instructions too, but these aren't them.
06:43:17 <b_jonas> as in, it was planned to work originally, but didn't work well, so they just made it undocumented
06:43:25 <b_jonas> ok
06:47:31 <zzo38> 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 <b_jonas> yeah
06:48:11 <b_jonas> 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 <b_jonas> but of course x86 have nice ways to avoid jumps
06:49:07 <zzo38> 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 <zzo38> 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 <zzo38> I still try to think of if there is an even better one though.
06:55:38 <b_jonas> oh
06:55:44 <b_jonas> I see
06:56:42 <zzo38> It is a size/speed trade, I suppose.
06:56:58 <b_jonas> 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 <zzo38> Unlike Z80, 6502 doesn't have a "complement carry flag" instruction.
06:59:01 <b_jonas> technically if you have a lot of memory, you could use a lookup table like TAX; LDA lookup,X;
06:59:11 <zzo38> 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 <b_jonas> that's fast but takes 260 bytes
06:59:41 <b_jonas> hmm wait, that's a good idea
06:59:44 <zzo38> 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 <b_jonas> 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 <zzo38> I probably do have enough ROM space, and it is also possible to make overlapping tables
07:00:24 <b_jonas> (that probably won't work)
07:01:23 <b_jonas> if you want shorter tables, AND #$3F; TAX; LDA lookup,X; that takes 64+6 bytes I think
07:02:10 <zzo38> 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 <zzo38> I will probably use a full lookup table, and then change it if I run out of memory
07:03:52 <b_jonas> what are you making?
07:04:25 <zzo38> Z-machine interpreter, this time using a new mapper I made up, which bankswitches one byte at a time
07:05:14 <b_jonas> wait wait
07:06:46 <b_jonas> I wonder if it's possible to do something with shifts and subtract or xor to flip bit 5
07:06:55 <zzo38> Here is a description of the mapper: http://wiki.nesdev.com/w/index.php/User:Zzo38/Mapper_I
07:07:25 <zzo38> 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 <Sgeo> Huh, so there are other Racket users here
07:08:33 <J_Arcane> Sgeo: I am one.
07:08:49 <J_Arcane> Currently fighting with the old try-racket code trying to get it to run without X dependencies.
07:08:58 <Sgeo> J_Arcane: you're who I was referring to
07:09:01 <zzo38> 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 <J_Arcane> Me too.
07:09:54 <J_Arcane> 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 <J_Arcane> Also I stil have to set the domain to redirect right.
07:10:20 <Sgeo> Do people use 2hdtp for images, or is there a more ... non-learner image library?
07:10:40 <J_Arcane> pict is the standard library.
07:10:52 <zzo38> (Not only the small bank size, but also the register mirroring overlapping the Famicom's internal RAM)
07:10:55 <J_Arcane> 2htdp is mostly just some easy to use wrappers for it, is my understanding.
07:11:00 <Sgeo> Ah cool
07:11:11 <J_Arcane> Slideshow also imports variant versions of the pict library.
07:17:32 <b_jonas> zzo38: AND #$3F; EOR #$20; CLC; ADC #$60; EOR #$80;
07:17:43 <b_jonas> zzo38: that's 9 bytes but is probably quite fast
07:17:54 <b_jonas> though it might not be faster than the conditional one
07:18:59 <b_jonas> zzo38: also look in this book, it might help: http://www.hackersdelight.org/
07:21:14 <zzo38> 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 <b_jonas> 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 <zzo38> That last example, yes; use ANC instead of AND.
07:28:05 <J_Arcane> 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 <b_jonas> great
07:28:12 <b_jonas> that's quite fast and short then
07:28:26 <b_jonas> 8 bytes, not the shortest
07:29:13 <zzo38> (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 <b_jonas> well, the conditional one is faster when the branch is not taken
07:30:08 <zzo38> Yes, it is true
07:30:50 <b_jonas> how much time does ANC imm take? 3 cycles?
07:31:04 <zzo38> Two cycles, just like AND imm.
07:31:19 <zzo38> (Also, ANC cannot use any other addressing modes than immediate)
07:31:19 <b_jonas> oh
07:31:22 <b_jonas> that's even better
07:31:57 <b_jonas> that makes this quite fast I think
07:32:06 <b_jonas> faster than I thought
07:35:47 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> ("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 <b_jonas> zzo38: I'm a fool, the second xor is redundant
08:23:47 <b_jonas> zzo38: AND #$3F; EOR #$20; CLC; ADC #$E0;
08:24:13 <b_jonas> or equivalently, EOR #$20; ANC #$3F; ADC #$E0;
08:24:46 <b_jonas> that's only six bytes
08:25:36 -!- Patashu has joined.
08:29:45 <zzo38> OK
08:33:26 <b_jonas> 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 <b_jonas> see second formula there
08:34:03 <b_jonas> that's where I should have looked in first place
08:38:19 <zzo38> Ah, OK!
08:39:23 <b_jonas> (or in Knuth volume 4 of course)
08:39:44 <J_Arcane> Dammit, I hate dealing with DNS.
08:40:04 <int-e> does not service
08:40:41 <int-e> ANC, hmm.
08:41:25 -!- Phantom_Hoover has joined.
08:43:25 <int-e> 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 <b_jonas> int-e: bit 7 of the input or bit 7 of the result?
08:57:09 <zzo38> Bit7 of the result.
08:57:18 <b_jonas> whew
09:25:50 -!- conehead has quit (Quit: Computer has gone to sleep).
09:31:34 <mroman_> I have hackersdelight laying right next to me :)
09:31:36 <mroman_> good book
09:41:05 -!- choochter has joined.
10:03:33 <b_jonas> 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 <mroman_> CommonMark has <?
10:17:55 <mroman_> and stuff
10:17:56 <mroman_> wth
10:21:08 <mroman_> wait... it doesn't have tables?
10:24:39 <fizzie> Neither does traditional Markdown, to be fair.
10:26:12 <mroman_> true
10:26:21 <mroman_> but since they are trying to improve it a bit
10:26:27 <mroman_> it might have been good to have tables
10:26:54 <mroman_> For me the idea behind markdown is that it is supposed to be human readable in a text-editor
10:27:03 <mroman_> but can also be easily converted to html, latex etc.
10:27:23 <mroman_> html tables aren't so much human readable imo
10:27:43 <mroman_> I think it's actually bad to allow HTML in it
10:27:54 <mroman_> you can't render html to other formats EXCEPT html neatly
10:28:14 <mroman_> it's not human readable... it's render target specifc
10:31:09 <mroman_> 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 <br /> tag):
10:31:12 <mroman_> ok so
10:31:28 <mroman_> You can't visualy see if it's a line break or not
10:31:34 <mroman_> because
10:31:36 <mroman_> foo
10:31:36 <mroman_> bar
10:31:41 <mroman_> ^- <br/>
10:31:42 <mroman_> foo
10:31:43 <mroman_> bar
10:31:45 <mroman_> ^- no <br/>
10:32:01 <mroman_> (notice the two spaces after the first foo)
10:34:27 <HackEgo> [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 <HackEgo> [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 <fizzie> Yeah, I'm not a great fan of that particular syntax; but it's also just codifying existing practice.
10:48:22 <fizzie> (I think many Markdown syntax highlighting modes probably provide a visual indication for that.)
10:51:03 <sebbu> html can be rendered to pdf or stuff
10:51:18 <sebbu> but you *have* to define your page size
10:51:28 <sebbu> and what happens when it's not enough
10:53:19 <boily> pdf rendering is a nightmare. pdf rendering from html is... the experience is painful.
10:54:23 <boily> add some enterprise software to that, and a half-assed underdevelopped obscure idiosyncratic renderer with known issues...
10:54:23 <sebbu> well, if you use the good library, it already has a conversion method
10:55:05 <boily> it may be good, but I'm not touching that anymore without a trusty 10' pole.
10:55:07 <sebbu> pdf don't even support tables the same way html do
10:55:25 -!- pi___ has quit (Ping timeout: 272 seconds).
10:55:56 <sebbu> borders & number of rows per cells are determined cell-wise, not row-wise
11:00:30 <boily> I like \LaTeX{} tables. they are artistic.
11:01:22 <fizzie> I like writing tabular stuff in MathJax, because I get to type in &amp; for every column-separating &.
11:01:28 <fizzie> Very artistic.
11:02:57 <boily> 'twas table, and the slithy &amp;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 <mroman_> Can you do hostname hostname in /etc/hosts?
12:40:12 <mroman_> i.e. foo alias
12:40:22 <mroman_> where alias is an "alias" for the host foo?
12:45:31 -!- AndoDaan_ has changed nick to AndoDaan.
12:47:44 <fizzie> Not in a conventional hosts database.
12:48:30 <fizzie> You can just do "1.2.3.4 foo alias1 alias2".
12:53:45 <ion> JSONx is an IBM® standard format to represent JSON as XML.
13:01:04 <Jafet> Sounds sensible.
13:02:20 -!- Patashu has quit (Ping timeout: 260 seconds).
13:03:30 <Jafet> 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 <int-e> ion: nice find!
13:16:18 -!- impomatic_ has joined.
13:16:45 <HackEgo> [wiki] [[Special:Log/newusers]] create * N4t45ha999 * New user account
13:17:57 <ais523> wow, I thought that username style died out decades ago
13:18:41 <Jafet> Every day, someone discovers the internet for the first time
13:19:31 <Jafet> (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 <mroman_> Everything is XML nowadays
13:29:48 <mroman_> which is bad.
13:31:12 -!- GeekDude has joined.
13:33:50 <mroman_> http://codepad.org/OROFAWyi <- I like LISP
13:34:54 <ais523> why convert Lisp into XML?
13:35:08 <mroman_> I don't.
13:35:14 <mroman_> I'd just prefer LISP-like over XML
13:35:48 <mroman_> XML looks ugly, it's harder to read for humans
13:35:54 <mroman_> It takes too much space
13:36:10 <mroman_> <VeryLongName>...</VeryLongName> vs (veryLongName ...)
13:36:22 <mroman_> LISP-like requires less disk space .
13:36:43 <ais523> !bfjoust growth http://nethack4/esolangs/growth.bfjoust
13:36:44 <zemhill> ais523: URL fetch problems: getaddrinfo: Name or service not known
13:36:49 <ais523> !bfjoust growth http://nethack4.org/esolangs/growth.bfjoust
13:36:50 <zemhill> ais523.growth: points 18.74, score 82.35/100, rank 3/47 (change: +1)
13:37:49 <ais523> hmm, if I temporarily delete monolith and preparation, does growth win?
13:37:55 <ais523> I guess it's worth a try
13:37:59 <ais523> !bfjoust monolith <
13:37:59 <zemhill> ais523.monolith: points -46.00, score 0.00/100, rank 47/47 (change: -45)
13:38:07 <ais523> !bfjoust preparation <
13:38:07 <zemhill> ais523.preparation: points -45.00, score 0.00/100, rank 47/47 (change: -46)
13:38:16 <ais523> nope, space_hotel does
13:38:25 <ais523> !bfjoust preparation http://nethack4.org/esolangs/preparation.bfjoust
13:38:28 <zemhill> ais523.preparation: points 23.67, score 100.00/100, rank 1/47 (change: +46)
13:38:37 <ais523> !bfjoust monolith http://nethack4.org/esolangs/monolith.bfjoust
13:38:38 <zemhill> ais523.monolith: points 21.98, score 92.65/100, rank 2/47 (change: +45)
13:38:56 <mroman_> !bfjoust mroman.whoho (-+)*999999
13:38:57 <zemhill> mroman_.mromanwhoho: points -21.43, score 9.61/100, rank 47/47
13:39:32 <ais523> meanwhile, there's something else I've been working on, but it won't do very well
13:39:37 <ais523> it should stay on the hill pretty much forever, though
13:39:39 <ais523> let me try
13:39:56 <mroman_> !bfjoust mroman.whoho (>+>-)*2<<<<(-+)*999999
13:39:58 <zemhill> mroman_.mromanwhoho: points -28.26, score 5.97/100, rank 47/47 (change: --)
13:40:08 <mroman_> that's even worse :(
13:40:11 <ais523> !bfjoust margins http://nethack4.org/esolangs/margins.bfjoust
13:40:18 <zemhill> ais523.margins: points 0.64, score 37.61/100, rank 12/47
13:40:41 <ais523> everyone, look at http://zem.fi/bfjoust/breakdown.txt
13:40:42 <ais523> for margins
13:40:44 <ais523> it's hilarious
13:41:28 <fizzie> mroman_: "-1" is easier way to type 100000 than "999999"
13:41:53 <fizzie> That's a lot of ties.
13:42:29 <fizzie> 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 <fizzie> Maybe I should really make that just reject names with "illegal" characters instead of silently modifying them.
13:43:07 <ais523> fizzie: the strategy, basically, is to win on tape length 10 and maybe 11 and 12, and draw all the others
13:43:10 <ais523> thus winning overall
13:43:26 <mroman_> !bfjoust whoho (>)*6(+[]<)*4>([-]>)*64
13:43:28 <zemhill> mroman_.whoho: points -34.24, score 3.40/100, rank 47/47
13:43:36 <ais523> !bfjoust vibration >(+)*128<(-)*127(-+)*-1
13:43:36 <zemhill> ais523.vibration: points -12.50, score 17.47/100, rank 47/47
13:43:57 <ais523> mroman_: that's the "original" vibration program, but the strategy's too well known by now
13:44:00 <mroman_> !bfjoust whoho (>)*6(-[]<)*4>([-]>)*64
13:44:02 <zemhill> mroman_.whoho: points -36.81, score 2.68/100, rank 47/47
13:44:32 <mroman_> I don't like Brainfuck :)
13:44:42 <mroman_> (That's why I've started yesterday on fungejoust)
13:44:50 <ais523> 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 <fizzie> mroman_: It was called "Befunge gladiators" when proposed in 1997.
13:46:39 <mroman_> !bfjoust whoho (>)*9(-<)*8([-]>)*64
13:46:40 <zemhill> mroman_.whoho: points -24.19, score 6.45/100, rank 47/47 (change: --)
13:47:09 <mroman_> !bfjoust whoho (>)*9(-<+<)*4([-]>)*64
13:47:10 <zemhill> mroman_.whoho: points -22.90, score 8.08/100, rank 47/47 (change: --)
13:47:11 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)([(+)*6[-]]>)*3([(+)*6[-]]>)([(+)*6[-]]>)*3([(+)*6[-]]>))*7
13:47:11 <zemhill> AndoDaan.BeatYouMate: points -7.64, score 24.32/100, rank 40/47 (change: --)
13:47:20 <mroman_> fizzie: proposed?
13:47:24 <mroman_> So.. not implemented?
13:47:48 <mroman_> (also it's not really befunge as of now. It's just a 2D programming language sofar)
13:48:07 <ais523> AndoDaan: that program beats growth, which annoys me
13:48:12 <fizzie> On the Befunge mailing list. I don't think anything ever came out of it.
13:48:29 <fizzie> "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 <fizzie> The only surviving vestige is probably the cryptic "team number" field for the y Funge-98 instruction in the spec.
13:49:54 <fizzie> "Also, Befunge-97 should be a Cartinfinispheribefunge."
13:49:56 <fizzie> Good list.
13:50:06 <fizzie> "For example, Klefunge is a synonym for Mobitrefunge."
13:50:10 <fizzie> Lots of talk on the taxonomy.
13:50:52 <fizzie> Regular Befunge-93 is 80,25-Cartefinitoribefunge-93 in that system.
13:51:21 <mroman_> !bfjoust whoho (>)*9(>[(-)*128])([-])*-1
13:51:22 <zemhill> mroman_.whoho: points -31.10, score 5.77/100, rank 47/47 (change: --)
13:53:05 <AndoDaan> http://www.phlamethrower.co.uk/befunge/befwars.php
13:53:46 <AndoDaan> I remember seeing that. Someone made a start of befunge battling
13:54:53 <fizzie> !bfjoust simple (>)*8([>(-)*100[-]])*21 i think I got something like this out of the evolver early on
13:54:53 <zemhill> fizzie.simple: points -32.07, score 5.67/100, rank 47/47
13:55:12 <fizzie> Not exactly like that, but with a simple giant jump at the start.
13:56:01 <fizzie> Er, the > should not be inside the []s.
13:56:12 <fizzie> !bfjoust simple (>)*8(>[(-)*100[-]])*21 i think I got something like this out of the evolver early on
13:56:12 <zemhill> fizzie.simple: points -17.57, score 14.31/100, rank 47/47 (change: --)
13:56:33 <fizzie> It's not much better, but it's at least not entirely absurd.
13:57:19 <ais523> fizzie: that's just fizzie_tiny, isn't it?
13:57:57 <fizzie> Oh, did I submit it?
13:58:21 <ais523> fizzie: yes, but it seems to have fallen off the hill in the meantime
13:58:48 <fizzie> Yes. It's pretty much just that, with a .- clear and a couple of decoys.
13:59:11 <fizzie> !bfjoust tiny >(+)*4>(-)*4>+>-(>)*5([(-)*125[.-]]>)*-1 let's see out of curiosity
13:59:12 <zemhill> fizzie.tiny: points -19.55, score 12.73/100, rank 47/47
13:59:28 <fizzie> Still last, which would explain why it's no longer there.
14:01:19 <fizzie> !bfjoust tiny2 >++>-->+>-(>)*4(>[(-)*110[-]])*21
14:01:19 <zemhill> fizzie.tiny2: points -20.67, score 11.34/100, rank 47/47
14:02:42 <fizzie> !bfjoust tiny2 (>-->++)*4(>[(-)*100[-]])*21
14:02:42 <zemhill> fizzie.tiny2: points -23.40, score 9.85/100, rank 47/47 (change: --)
14:02:56 <fizzie> 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 <fizzie> !bfjoust tiny2 (>-->++)*4(>[(-[{(+[{(+)*140[-]}])%6}])%3])*21
14:08:13 <zemhill> 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 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([+++++++[-]]>)*3([+++++++[-]]>)[-------[+]]>[+++++++[-]]>[+++++++++++++++++++[-]]>[+++++++[-]]>[--------------[+]]>[+++++++[-]]>[+++++++[-]]>[++++++++++++++++[-]]>[----------[+]]>[-------[+]]>[++++++++++++++++++++++++++[-]]>[----------------[+]]>[-------------------------[+]]>[-------------[+]]>[++++++++++++++++[-]]>[++++++++++++++++++++++[-]]>[---
14:10:09 <zemhill> AndoDaan: error: parse error: starting ( without a matching )
14:10:09 <AndoDaan> -------------[+]]>[+++++++++++++++++++++++++++++++++++++++++++++++[-]]>[+++++++++++++++++++++++++++++++++++++++[-]]>
14:11:04 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>([+++++++[-]]>)*3([+++++++[-]]>)[-------[+]]>[+++++++[-]]>[+++++++++++++++++++[-]]>[+++++++[-]]>[--------------[+]]>[+++++++[-]]>[+++++++[-]]>[++++++++++++++++[-]]>[----------[+]]>[-------[+]]>[++++++++++++++++++++++++++[-]]>[----------------[+]]>[-------------------------[+]]>[-------------[+]]>[++++++++++++++++[-]]>[++++++++++++++++++++++[-]]>[----
14:11:04 <AndoDaan> ------------[+]]>[+++++++++++++++++++++++++++++++++++++++++++++++[-]]>[+++++++++++++++++++++++++++++++++++++++[-]]>
14:11:04 <zemhill> AndoDaan: error: parse error: starting [ without a matching ]
14:11:09 <AndoDaan> ugh
14:11:11 <AndoDaan> sorry
14:15:53 <Melvar> It’s too long, your message is getting split up.
14:17:07 <fizzie> It's not illegal to use (+)*n to abbreviate something like +++++++++++++++++++++++++++++++++++++++ too.
14:17:33 <fizzie> (Also possibly makes it easier to tweak constants. Or maybe not, adding or deleting characters is pretty easy too.)
14:17:44 <AndoDaan> Ah, good. I was really worried about that...
14:18:17 <AndoDaan> 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 <HackEgo> [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40516&oldid=40496 * Imaginer1 * (+11)
14:37:21 <mroman_> hm
14:37:23 <mroman_> lispwars
14:37:33 <mroman_> :)
14:37:37 <AndoDaan> Do it.
14:37:54 <mroman_> There's a tape. Whereas the tape consists of pointers to lisp lists
14:37:59 <mroman_> (a program is just a list)
14:38:02 <mroman_> something like that
14:38:28 <AndoDaan> Naturally.
14:38:53 <Melvar> Much harder to say what a step is though.
14:44:36 <sebbu> fizzie, yeah, RLE compression works great on brainfuck code
14:47:26 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*17[-]]>)*7([(-)*28[+]]>)*7
14:47:26 <zemhill> AndoDaan.BeatYouMate: points -19.62, score 13.75/100, rank 47/47 (change: -11)
14:48:19 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*6[-]]>)*21
14:50:23 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*17[-]]>)*21
14:50:24 <zemhill> AndoDaan.BeatYouMate: points -11.43, score 20.60/100, rank 46/47 (change: -10)
14:50:53 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*5[-]]>)*21
14:50:53 <zemhill> AndoDaan.BeatYouMate: points -9.10, score 22.09/100, rank 46/47 (change: --)
14:51:15 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>([(+)*3[-]]>)*21
14:51:16 <zemhill> AndoDaan.BeatYouMate: points -12.74, score 18.13/100, rank 46/47 (change: --)
14:59:23 <mroman_> Melvar: yeah...
14:59:57 <mroman_> 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 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*6[-]]>))*7
15:01:23 <zemhill> AndoDaan.BeatYouMate: points -6.14, score 26.78/100, rank 34/47 (change: +12)
15:01:46 <mroman_> Is it allowed to steal someones bfjoust program and tweak it .?
15:02:09 <ais523> mroman_: it's normally considered bad style to steal the entire program, but stealing ideas is fine
15:02:16 <mroman_> :H
15:02:17 <AndoDaan> Depends on who's stealing from who.
15:02:29 <mroman_> !bfjoust imp +
15:02:29 <ais523> it is, however, considered legitimate to repost someone else's program that's fallen off the hill, if you credit them
15:02:29 <zemhill> mroman_.imp: points -34.71, score 4.14/100, rank 47/47
15:02:32 <ais523> if you're wondering how it would do nowadays
15:02:59 <mroman_> !bfjoust imp ([+]-)*-1
15:03:00 <zemhill> mroman_.imp: points -23.52, score 4.96/100, rank 47/47 (change: --)
15:03:16 -!- shikhin has joined.
15:03:16 <ais523> !bfjoust return_of_myndzi_slowrush >(+)*22>(-)*22(>++++++>------)*1>+>->->+(>[[-(+)*22[-]]+>[+(-)*22[+]]->]+)*21
15:03:18 <zemhill> ais523.return_of_myndzi_slowrush: points -10.81, score 21.18/100, rank 47/47
15:03:18 <ais523> like that
15:03:22 <mroman_> !bfjoust imp (>[+]-)*-1
15:03:22 <zemhill> mroman_.imp: points -29.48, score 9.00/100, rank 47/47
15:03:45 <mroman_> !bfjoust imp (>)*3(>[+]-)*-1
15:03:46 <zemhill> mroman_.imp: points -26.55, score 10.70/100, rank 47/47 (change: --)
15:03:59 <mroman_> !bfjoust imp (>)*9(>[+]-)*-1
15:03:59 <zemhill> mroman_.imp: points -21.38, score 13.75/100, rank 47/47 (change: --)
15:04:29 <ais523> the invention of the offset clear was revolutionary
15:04:37 <mroman_> !bfjoust imp (>)*9(>[+]-)*9
15:04:38 <zemhill> mroman_.imp: points -26.83, score 9.13/100, rank 47/47 (change: --)
15:04:43 <ais523> oh, that reminds me, I put a new idea into growth
15:04:45 <ais523> I start with an offset clear
15:04:49 <mroman_> !bfjoust imp (>)*9(>[+]-)*9([-]>)*-1
15:04:50 <zemhill> mroman_.imp: points -23.79, score 11.66/100, rank 47/47 (change: --)
15:04:58 <ais523> but I turn /off/ the offset after 200 cycles
15:05:06 <ais523> because at that point, it's unlikely to be useful
15:05:16 <mroman_> !bfjoust imp (>)*9+[](>[+]-)*-1
15:05:16 <zemhill> mroman_.imp: points -34.17, score 4.88/100, rank 47/47 (change: --)
15:05:22 <mroman_> !bfjoust imp (>)*9-[](>[+]-)*-1
15:05:24 <zemhill> mroman_.imp: points -34.02, score 4.94/100, rank 47/47 (change: --)
15:05:26 <mroman_> damn
15:05:43 <mroman_> !bfjoust imp (>)*9(-)*10[](>[+]-)*-1
15:05:45 <zemhill> mroman_.imp: points -33.38, score 5.13/100, rank 47/47 (change: --)
15:05:47 -!- drdanmaku has joined.
15:06:13 <mroman_> !bfjoust imp (>->+)*4(>[+]-)*-1
15:06:13 <zemhill> mroman_.imp: points -24.17, score 12.47/100, rank 47/47 (change: --)
15:06:20 <mroman_> !bfjoust imp (>->-)*4(>[+]-)*-1
15:06:21 <zemhill> mroman_.imp: points -23.98, score 12.58/100, rank 47/47 (change: --)
15:06:38 <mroman_> !bfjoust imp (>-)*9(>[+]-)*-1
15:06:39 <zemhill> mroman_.imp: points -24.62, score 11.94/100, rank 47/47 (change: --)
15:06:52 <mroman_> !bfjoust imp (>-)*4(>)*5(>[+]-)*-1
15:06:52 <zemhill> mroman_.imp: points -22.50, score 13.67/100, rank 47/47 (change: --)
15:07:02 <mroman_> !bfjoust imp (>->+)*2(>)*5(>[+]-)*-1
15:07:02 <zemhill> mroman_.imp: points -23.21, score 13.08/100, rank 47/47 (change: --)
15:07:30 <mroman_> !bfjoust imp (>-)*3(>)*6(>[+]-)*-1
15:07:31 <zemhill> mroman_.imp: points -23.05, score 12.88/100, rank 47/47 (change: --)
15:07:35 <mroman_> :D
15:07:58 <mroman_> at least my corewars programs are still on the beginner's hill .
15:08:32 <ais523> mroman_: programs like imp aren't inherently bad; however, they are what most of the hill is designed to beat
15:08:38 <AndoDaan> imp is a corewar staple too right?
15:08:48 <ais523> AndoDaan: it's part of a corewar strategy
15:08:49 <mroman_> imp is mov 0,1
15:08:56 <mroman_> which is like a virus
15:08:57 <ais523> people set up imps, or imp spirals, as a distraction or last resort
15:08:59 <mroman_> it copies itself
15:09:21 <ais523> an imp copies itself, whereas an imp spiral is multiple programs that copy each other
15:09:25 <AndoDaan> just copy yourself forward.
15:09:26 <mroman_> mov 0,1 is "move this instruction to the next cell"
15:09:36 <ais523> spirals are useful because they'll exit if the opponent runs them
15:09:46 <mroman_> and then ip get's incremented and will execute mov 0,1 again
15:09:47 <ais523> 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 <AndoDaan> I never got that far in corewars.
15:10:04 <mroman_> imp is also sometimes and "end strategy"
15:10:13 <mroman_> you do your thing at if it ain't working you just imp it
15:10:23 <mroman_> because imps draw a lot and make you lose less
15:10:40 <mroman_> s/at/and
15:10:41 <int-e> !bfjoust oops (>-*5>+*5>-*32)*3(>[+-+.])*11
15:10:42 <zemhill> int-e.oops: points -35.90, score 3.77/100, rank 47/47
15:10:55 <int-e> !bfjoust oops (>-*5>+*5>-*32)*3(>[+])*11
15:10:56 <zemhill> int-e.oops: points -30.45, score 7.10/100, rank 47/47 (change: --)
15:11:05 <mroman_> !bfjoust imp (-)*128(>)*-1
15:11:05 <zemhill> mroman_.imp: points -40.12, score 1.96/100, rank 47/47
15:11:17 <int-e> hah
15:11:32 <mroman_> !bfjoust imp ((-)*128>)*-1
15:11:32 <zemhill> mroman_.imp: points -35.83, score 3.41/100, rank 47/47 (change: --)
15:11:39 <mroman_> interesting
15:11:50 <mroman_> !bfjoust imp >((-)*128>)*-1
15:11:51 <zemhill> mroman_.imp: points -35.33, score 3.19/100, rank 47/47 (change: --)
15:12:13 <int-e> !bfjoust oops (>-*5>>+*12)*3(>[+.])*11
15:12:13 <zemhill> int-e.oops: points -34.21, score 4.64/100, rank 47/47
15:12:21 <int-e> !bfjoust oops (>-*5>>+*12)*3(>[+])*11
15:12:21 <zemhill> int-e.oops: points -29.74, score 7.27/100, rank 47/47 (change: --)
15:12:35 <mroman_> !bfjoust imp [*5]*5
15:12:35 <zemhill> mroman_.imp: points -34.76, score 4.13/100, rank 47/47
15:12:41 <mroman_> !bfjoust imp [*5+*3]*5
15:12:43 <zemhill> mroman_.imp: points -26.93, score 4.49/100, rank 47/47 (change: --)
15:13:31 <mroman_> !bfjoust imp ([]+*127[]-*129)*-1
15:13:32 <zemhill> mroman_.imp: points -34.76, score 4.13/100, rank 47/47 (change: --)
15:13:58 <mroman_> hm
15:14:05 <mroman_> shouldn't this prevent the flag from being 0?
15:14:06 <AndoDaan> !bfjoust deadFish <><
15:14:07 <zemhill> AndoDaan.deadFish: points -46.00, score 0.00/100, rank 47/47
15:14:51 <mroman_> !bfjoust imp ([]+*9-*7+*66-*55+99-*33)*-1
15:14:52 <zemhill> mroman_.imp: points -34.76, score 4.13/100, rank 47/47
15:15:10 <mroman_> !bfjoust imp ([]+--)*-1
15:15:10 <zemhill> mroman_.imp: points -34.26, score 4.19/100, rank 47/47 (change: --)
15:15:58 <mroman_> just doing ++++ all the time should prevent the flag from being 0 for two cycles?
15:16:08 <int-e> nah
15:16:08 -!- mihow has quit (Quit: mihow).
15:16:12 <mroman_> !bfjoust imp ((+)*-1)*-1
15:16:14 <zemhill> mroman_.imp: points -15.67, score 13.65/100, rank 47/47 (change: --)
15:16:19 <mroman_> ha
15:16:20 <int-e> you: +, opponen: 0
15:16:22 <mroman_> that's pretty good actually
15:16:23 <int-e> -
15:16:37 <int-e> huh?
15:16:38 <ais523> quintopia: congrats on space_hotel, it is one of the hardest programs of all times to beat
15:16:42 <mroman_> !bfjoust imp (((+)*-1)*-1)*-1
15:16:43 <int-e> !bfjoust +*-1
15:16:43 <zemhill> int-e: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
15:16:44 <zemhill> mroman_.imp: points -15.67, score 13.65/100, rank 47/47 (change: --)
15:16:49 <ais523> mroman_: it doesn't work against someone doing [-]
15:16:53 <int-e> !bfjoust quark +*-1
15:16:54 <zemhill> int-e.quark: points -34.76, score 4.13/100, rank 47/47
15:16:56 <mroman_> !bfjoust imp (((+)*-1)*-1)([-]>)*-1
15:16:57 <zemhill> mroman_.imp: points -26.26, score 4.79/100, rank 47/47
15:17:00 <mroman_> lol
15:17:06 <int-e> !bfjoust quark (+)*-1
15:17:08 <zemhill> int-e.quark: points -15.67, score 13.65/100, rank 47/47
15:17:11 <mroman_> !bfjoust imp ((((+)*-1)*-1))*-1([-]>)*-1
15:17:13 <zemhill> mroman_.imp: points -26.26, score 4.79/100, rank 47/47
15:17:16 <int-e> !bfjoust quark ((+)*-1)*-1
15:17:19 <zemhill> int-e.quark: points -15.67, score 13.65/100, rank 47/47
15:17:20 <int-e> okay
15:17:22 <ais523> 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 <mroman_> !bfjoust imp +*-1
15:17:26 <AndoDaan> Mine does surprisingly well against spacehotel.
15:17:26 <zemhill> mroman_.imp: points -34.76, score 4.13/100, rank 47/47
15:17:34 <mroman_> !bfjoust imp (+)*-1
15:17:36 <zemhill> mroman_.imp: points -15.67, score 13.65/100, rank 47/47 (change: --)
15:18:04 <int-e> !bfjoust quark ((-)*-1)*-1
15:18:07 <zemhill> int-e.quark: points -15.67, score 13.65/100, rank 47/47
15:18:16 <mroman_> !bfjoust imp ((+)*-1([-]>))*-1
15:18:18 <zemhill> mroman_.imp: points -15.67, score 13.65/100, rank 47/47
15:18:26 <int-e> !bfjoust quark ((++-+--)*-1)*-1
15:18:28 <zemhill> int-e.quark: points -21.29, score 11.13/100, rank 47/47
15:18:41 <mroman_> !bfjoust imp ((+)*-1([-]>))*128
15:18:42 <int-e> !bfjoust quark ((+.)*-1)*-1
15:18:44 <zemhill> mroman_.imp: points -15.67, score 13.65/100, rank 47/47
15:18:46 <zemhill> int-e.quark: points -25.21, score 4.46/100, rank 47/47
15:19:01 <int-e> (kills itself, of course)
15:19:09 <mroman_> !bfjoust imp (+>-<+)*-1
15:19:13 <int-e> !bfjoust quark ((+.-.)*-1)*-1
15:19:14 <zemhill> mroman_.imp: points -7.90, score 18.01/100, rank 47/47
15:19:17 <mroman_> haha
15:19:18 <zemhill> int-e.quark: points -14.62, score 11.80/100, rank 47/47
15:19:19 <mroman_> 18.01!!!!!
15:19:36 <mroman_> !bfjoust imp (+>->+<<+)*-1
15:19:38 <int-e> anyway
15:19:38 <zemhill> mroman_.imp: points -25.05, score 7.04/100, rank 47/47
15:19:42 <mroman_> damn
15:19:45 <mroman_> !bfjoust imp (+>-<+)*-1
15:19:51 <zemhill> mroman_.imp: points -7.90, score 18.01/100, rank 47/47 (change: --)
15:20:00 <HackEgo> [wiki] [[Special:Log/newusers]] create * RosarioLuncefor * New user account
15:20:15 <mroman_> !bfjoust imp >(+>-<+)*-1
15:20:20 <zemhill> mroman_.imp: points -19.52, score 4.63/100, rank 47/47 (change: --)
15:20:26 <mroman_> k
15:20:33 <mroman_> !bfjoust imp >->+(+>-<+)*-1
15:20:37 <HackEgo> [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 <zemhill> mroman_.imp: points -20.57, score 3.93/100, rank 47/47 (change: --)
15:20:56 <mroman_> !bfjoust imp (+>-<+[])*-1
15:20:56 <zemhill> mroman_.imp: points -38.90, score 2.18/100, rank 47/47 (change: --)
15:21:12 <mroman_> !bfjoust imp ([]+>-<+)*-1
15:21:13 <zemhill> mroman_.imp: points -34.26, score 4.19/100, rank 47/47 (change: --)
15:21:34 <Melvar> What’s up with the ()*-1 ?
15:21:59 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(-)*6[+]]>)*3([(+)*6[-]]>)*1)*7
15:22:00 <zemhill> AndoDaan.BeatYouMate: points -6.57, score 25.02/100, rank 36/47 (change: -2)
15:22:03 <mroman_> !bfjoust imp (->+<-)*-1
15:22:07 <zemhill> mroman_.imp: points -7.93, score 17.88/100, rank 47/47 (change: --)
15:22:15 <mroman_> !bfjoust imp (+>+<+)*-1
15:22:20 <zemhill> mroman_.imp: points -9.19, score 16.89/100, rank 47/47 (change: --)
15:22:25 -!- mihow has joined.
15:22:30 <mroman_> !bfjoust imp (->-<-)*-1
15:22:35 <zemhill> mroman_.imp: points -9.19, score 16.89/100, rank 47/47 (change: --)
15:22:41 <mroman_> ok.
15:22:44 <mroman_> that doesn't seem to be better.
15:23:16 <ion> <json:string name="ficoScore"> > 640</json:string> http://pic.dhe.ibm.com/infocenter/wsdatap/v6r0m0/index.jsp?topic=%2Fcom.ibm.dp.xm.doc%2Fjson_jsonx.html
15:23:23 <mroman_> !bfjoust imp (+>(+>-<+)<+)*-1
15:23:26 <zemhill> mroman_.imp: points -9.31, score 15.42/100, rank 47/47 (change: --)
15:23:51 <mroman_> !bfjoust imp (+>(+>-<)<+)*-1
15:23:55 <zemhill> mroman_.imp: points -9.31, score 15.42/100, rank 47/47 (change: --)
15:24:09 <mroman_> !bfjoust imp (+>--<+)*-1
15:24:12 <zemhill> mroman_.imp: points -17.76, score 10.14/100, rank 47/47 (change: --)
15:24:58 <mroman_> !bfjoust imp >(>->+)*4<*9(+>-<+)*-1
15:25:01 <zemhill> mroman_.imp: points -27.33, score 3.53/100, rank 47/47 (change: --)
15:25:09 <mroman_> wtf
15:25:22 <ion> So cumbersome even IBM® can’t make the example XML valid.
15:25:33 <mroman_> !bfjoust imp >>>->+<<<<(+>-<+)*-1
15:25:37 <zemhill> mroman_.imp: points -10.19, score 14.15/100, rank 47/47 (change: --)
15:26:03 <mroman_> so setting up decoys is bad
15:26:55 <ais523> in bad programs, setting up decoys is bad
15:27:03 <ais523> because a certain proportion of programs will just skip the first n decoys
15:27:08 <ais523> so not setting any decoys gets you free wins
15:27:15 <mroman_> !bfjoust imp ((+>-<+)(->+<-))*-1
15:27:18 <zemhill> mroman_.imp: points -34.76, score 4.11/100, rank 47/47 (change: --)
15:27:25 <ais523> this consideration mostly goes away once your program can actually start winning normally
15:27:50 <mroman_> hm
15:28:07 <ais523> the problem is, I used to be able to just give new people example programs
15:28:11 <ais523> such as this_sort_of_thing
15:28:14 <mroman_> !bfjoust +(127)(+>-<+)*-1
15:28:14 <zemhill> mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
15:28:19 <mroman_> !bfjoust imp +(127)(+>-<+)*-1
15:28:20 <zemhill> mroman_.imp: points -35.24, score 3.03/100, rank 47/47 (change: --)
15:28:24 <mroman_> !bfjoust imp +(126)(+>-<+)*-1
15:28:25 <zemhill> mroman_.imp: points -35.24, score 3.03/100, rank 47/47 (change: --)
15:28:31 <ais523> !bfjoust this_sort_of_thing >>>>(+)*20(<(+)*90)*4(>)*8(>[(+)*20[-]])*21
15:28:32 <zemhill> ais523.this_sort_of_thing: points -12.64, score 17.70/100, rank 47/47
15:28:35 <mroman_> !bfjoust imp +(+>-<+)*-1
15:28:35 <zemhill> mroman_.imp: points -35.24, score 3.03/100, rank 47/47
15:28:38 <ais523> but they don't even make the hill nowadays
15:28:58 <ais523> 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 <ais523> perhaps we should make the hill larger
15:29:13 <int-e> !bfjoust oops http://int-e.eu/~bf3/tmp/oops
15:29:18 <zemhill> int-e.oops: points -19.64, score 4.08/100, rank 47/47
15:30:28 <ais523> or have a newbie hill
15:30:39 <ais523> I can seed it with some programs that aren't very good
15:31:40 <int-e> !bfjoust oops (>-*5>>+*12)*3(>[+])*21
15:31:41 <zemhill> int-e.oops: points -23.45, score 11.67/100, rank 47/47 (change: --)
15:31:58 <int-e> !bfjoust oops (>-*5>>+*12)*3(>[+]+++)*21
15:31:58 <zemhill> int-e.oops: points -23.31, score 11.75/100, rank 47/47 (change: --)
15:35:11 <TieSoul> what even is bfjoust?
15:35:46 <int-e> let me google that for you ... on second thought, I can't be bothered.
15:35:55 <ais523> http://esolangs.org/wiki/BF_Joust
15:35:57 <ais523> there you go
15:36:02 <ais523> one of the best programming games ever
15:36:13 <ais523> last year, I was worried that the game had been "solved"
15:36:19 <ais523> but I don't think that's the case any more
15:36:37 <ais523> 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 <AndoDaan> !bfjoust BeatYouMate (>----->++++++++)*4>(([(+)*6[-]]>)*3[(+)*6[-]]>([(+)*12[-]]>)*3<<<<<(+)*13<(-)*7>>>>>>>[(+)*6[-]]>([(-)*6[+]]>)*3[(+)*6[-]]>)*7
15:37:52 <zemhill> AndoDaan.BeatYouMate: points -6.79, score 26.14/100, rank 35/47 (change: --)
15:38:32 <ais523> AndoDaan: it's a rush that sets more decoys after a while?
15:38:35 <ais523> could work
15:38:48 <TieSoul> !bfjoust firstlel [>(-)*128]
15:38:49 -!- zemhill has quit (Remote host closed the connection).
15:39:09 <TieSoul> I know that is really terrible btw
15:39:20 <TieSoul> oh wait
15:39:21 <TieSoul> yea
15:39:24 <TieSoul> that's really bad
15:39:30 <TieSoul> :P
15:39:47 <int-e> you flattened the hill?
15:39:54 <ais523> TieSoul: it's basically a turtle except it sets size-128 decoys
15:40:04 <ais523> not sure why zemhill quit
15:40:11 <ais523> fizzie: zemhill is down
15:40:37 <int-e> it also runs off to the right, but I guess that really isn't so uncommon.
15:41:00 <ais523> that normally hardly matters, given that the tape length normally isn't 30
15:41:02 <AndoDaan> !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 <ais523> and in fact, when I try to special-case tape length 30, I often get it wrong
15:41:15 <ais523> OK, this is silly
15:41:22 -!- AndoDaan has joined.
15:41:24 <ais523> first TieSoul runs a program and zemhill crashes
15:41:29 <ais523> then AndoDaan runs a program and AndoDaan crashes
15:41:41 <TieSoul> erm
15:41:43 <TieSoul> it seems
15:41:45 <AndoDaan> Then we all stop
15:41:51 <TieSoul> zem.fi/bfjoust is not working at all
15:41:53 <Jafet> You guys should try with the rubber lances
15:42:09 <Jafet> (That immediately sounded dirty.)
15:42:19 <int-e> Jafet: I guess that would hurt less than mapoles.
15:42:29 <int-e> Jafet: no it didn't.
15:42:43 <HackEgo> [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 <HackEgo> [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 <ais523> wait what?
15:43:33 <int-e> until the end of the unix epoch?
15:43:42 <ais523> I said 24 years, which goes past the epoch I think
15:43:49 <ais523> that's slightly more than 24 years, by a few hours
15:43:59 <ais523> perhaps it's using floating point, or something stupid like that
15:44:29 <ais523> "15:42, 22 September 2038"
15:44:39 <ais523> that doesn't include the 4:19:12
15:45:31 <int-e> time zone? hm
15:45:58 <ais523> there are no time zones that precise
15:46:25 <ais523> 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 <int-e> ais523: agreed. it's odd.
15:50:43 <ais523> btw, that n4t44ha999 user is also a spambot, but it got caught in the filters
15:51:38 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7
15:52:47 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/4]] ([[Special:AbuseFilter/history/4/diff/prev/31]])
15:53:59 <TieSoul> !bfjoust firstlel [>(-)*128.]
15:54:12 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/5]] ([[Special:AbuseFilter/history/5/diff/prev/32]])
15:54:14 <AndoDaan> Zim's gone
15:54:19 <ais523> yes
15:54:46 -!- FreeFull has joined.
15:54:57 <TieSoul> !bfjoust firstlel (>+>-)*8>+[>(-)*128.+]
15:55:33 <TieSoul> oops
15:55:35 <TieSoul> I meant
15:55:38 <TieSoul> !bfjoust firstlel (>+>-)*4>+[>(-)*128.+]
15:55:40 <TieSoul> :P
15:55:57 <ais523> TieSoul: the bot is down
15:56:00 <TieSoul> I know
15:56:12 <TieSoul> just making some programs anyway
15:56:14 <TieSoul> :P
15:57:59 <HackEgo> [wiki] [[User talk:Feuermonster]] N http://esolangs.org/w/index.php?oldid=40518 * Ais523 * (+668) notify about the userpage
15:58:22 <HackEgo> [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 <TieSoul> well, that program beats "simple" on every single tape length :P
16:05:21 <TieSoul> http://codu.org/eso/bfjoust/egojsout/?l=1544d3afb8e48ec0cbaa38ccac8d95af49af0549&r=700a65536df97b655acd5c8a6fd2fc3014b46148&t=30&p
16:06:26 -!- S1 has joined.
16:06:48 <ais523> it's basically a turtle
16:08:26 <HackEgo> [wiki] [[Special:Log/newusers]] create * JackiN18agpha * New user account
16:09:29 -!- qlkzy has quit (Ping timeout: 260 seconds).
16:16:02 <ais523> huh, apparently that user hasn't edited yet, either spam or not
16:17:26 -!- qlkzy has joined.
16:18:15 <AndoDaan> Is there a captcha to register?
16:19:23 <ais523> yes, but the spambots may have broken it
16:19:51 <AndoDaan> Cool
16:20:00 <AndoDaan> well, not cool
16:21:03 <ais523> however, despite understanding CAPTCHAs, the spambots seem incapable of understanding newlines
16:21:10 <ais523> for some reason
16:21:25 <ais523> if they eventually learn, I'll have to add new heuristics
16:21:39 <ais523> but I have a bunch of "fundamental misunderstanding of newlines" filters in place, which catch almost all the spam
16:22:28 <AndoDaan> Sounds involved.
16:22:56 <AndoDaan> So much that has to go on behind the scenery to keeps things clean and running.
16:23:37 <AndoDaan> Can you give me an example of newline protection?
16:24:35 <fizzie> Huh.
16:24:42 <ais523> AndoDaan: one of the rules is, if you use a <br> tag but don't use a newline /anywhere/, you're considered a spambot
16:25:31 <fizzie> It segfaulted.
16:26:06 <fizzie> There's approximately 500 lines of dumped information about it.
16:26:13 <ais523> I wonder why a turtle would segfault it
16:26:15 <elliott_> ais523: fyi, I no longer host the wiki :p
16:26:17 -!- ineiros has quit (Ping timeout: 260 seconds).
16:26:20 <fizzie> "[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 <ais523> wait, it's written in /Ruby/?
16:26:35 <ais523> and still segfaulted?
16:26:38 <fizzie> Yes.
16:26:46 <Bike> impressive.wav
16:27:28 <fizzie> 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 <fizzie> It wrote in TieSoul.firstlel.bfjoust, at least. And committed it, too.
16:30:13 <fizzie> Then I guess next it would have tried to recompute scores.
16:30:24 -!- zemhill has joined.
16:30:41 <fizzie> I *am* using a rather experimental matrix library there, to be honest.
16:31:00 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7
16:31:00 <zemhill> AndoDaan.BeatYouMate: points -6.05, score 25.95/100, rank 34/47 (change: +2)
16:31:18 <fizzie> 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 <fizzie> (That's the kind of thing that made me yearn after NumPy, which I used in the Python version.)
16:32:38 <fizzie> In fact, it's exactly the matrix library where the segfault happened.
16:32:48 <fizzie> /home/bfjoust/.gem/ruby/1.9.1/gems/nmatrix-0.1.0.rc5/lib/nmatrix/nmatrix.rb:173: [BUG] Segmentation fault
16:34:05 <fizzie> There's a comment titled "#HACK" three lines above 173.
16:34:51 <fizzie> http://sprunge.us/NAWJ cleanest library
16:35:06 <fizzie> maybe_get_noncomplex_default_value also best method name.
16:37:51 <elliott_> why even use ruby? :p
16:38:27 <fizzie> I'm still asking myself that.
16:39:00 <fizzie> 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 <Jafet> Well, we do want the lances to have high Mohs number.
16:43:00 <fizzie> None of the "real" code is Ruby, just the IRC bot and hill maintenance glue over the 'gearlanced' tool.
16:43:23 <ais523> I find that margins is a real stress-test for interpreters
16:43:35 <ais523> luckily, juiced can run margins vs. the hill in just a couple of seconds
16:43:37 <ais523> 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 <fizzie> ais523: gearlanced can run the entire hill (all 1081 program pairs) in 1.7 seconds on this system.
16:54:41 <ais523> that doesn't surprise me; most pairs are pretty quick to run
16:54:49 <ais523> meanwhile, egojsout struggles even on preparation
16:55:21 <fizzie> I should rerun the statistics-visualization page I used to make on this new stuff.
16:55:29 <ais523> indeed
16:55:32 <fizzie> Sadly, that stuff also probably won't run on the VPS.
16:55:45 <ais523> oh, so it can't be auto-updated
16:55:53 <ais523> 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 <fizzie> 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 <fizzie> Hm, well. The Python process has a resident size of 220 megs, that's not as bad as I feared.
16:59:25 <fizzie> (The VPS has 256 megs of memory.)
16:59:40 <ais523> how much of the memory usage could reasonably be swapped out?
17:00:29 <fizzie> I should probably just switch to a 512M DigitalOcean instance, I think the cost was approximately equal.
17:00:44 <fizzie> Whoops, I just generated statistics for "hill.yaml" too.
17:01:02 <fizzie> The statistics code assumed all files in the hill directory are brainfuck programs.
17:01:20 <fizzie> http://sprunge.us/bYhf somehow I don't think it did very well.
17:01:43 <ais523> it lost in NaN cycles?
17:02:58 <fizzie> Those are from matplotlib/colorbar, so my guess is that some values were just unexpectedly constant.
17:03:24 <fizzie> The program hill.yaml is equivalent to is "---.....".
17:03:50 <ais523> that's basically nop.bfjoust with some minimal anti-turtle protection
17:06:31 <fizzie> 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 <diginet> 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 <ais523> diginet: I think that's a reasonable opinion
17:27:56 <diginet> 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 <fizzie> http://zem.fi/egostats/ -- misleading name, but page's updated. (Got sidetracked.)
17:38:18 <fizzie> 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 <fizzie> [20:38:12] <fizzie> http://zem.fi/egostats/ -- misleading name, but page's updated. (Got sidetracked.)
17:38:51 <fizzie> [20:38:18] <fizzie> Also that's with the traditional scoring.
17:38:53 <fizzie> ^ In case you missed.
17:39:02 -!- Phantom_Hoover has joined.
17:40:59 <fizzie> 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 <fizzie> Normally the differences aren't quite that radical.
17:41:49 <ais523> 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 <fizzie> 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 <elliott_> 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 <J_Arcane> Neat: Gmail generates little shortcut buttons in your inbox for messages about Github issues/pulls.
18:27:41 <ais523> github /emails/ people?
18:28:01 <J_Arcane> 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 <ais523> maybe, someday, github will actually understand git
18:32:30 <Jafet> Good for them. I, for one, don't plan to
18:34:04 <Gregor> 99% sure that understanding git is a quick way to misery.
18:34:08 <Gregor> Not unlike using git.
18:34:08 <Melvar> J_Arcane: This was recently announced on the GitHub blogthingy.
18:34:25 <ais523> Gregor: have I told you about git-beautifier yet
18:34:30 <ais523> it's vaporware, in that I haven't started writing it
18:34:35 <ais523> but I think #esoteric would like the idea
18:34:47 <Gregor> >_>
18:34:48 <Gregor> <_<
18:35:01 <ais523> basically, it adds whitespace at the end of commit messages in order to make all the hash abbreviations go in order
18:35:07 <ais523> so that the commits go 1, 2, 3, etc.
18:35:13 <Gregor> lol
18:35:33 <ais523> a hash abbreviation is 7 hex digits, this should be within the power of a modern computer to bruteforce eventually
18:35:37 <Gregor> http://hg-git.github.io/ is my git beautifier.
18:35:43 <J_Arcane> 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 <ais523> I use it because other people use it, although I think it's badly designed in some wys
18:36:04 <ais523> *ways
18:36:24 <Gregor> I use github by way of automatically cloning all of my Mercurial repositories from bitbucket.
18:36:37 <Gregor> 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 <ais523> 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 <ais523> 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 <Gregor> ais523: Heh, bitbucket's the same way.
19:34:43 <Gregor> It's a sign of the times, I think.
19:38:08 -!- Bicyclidine has joined.
19:39:01 <fizzie> Twitter's home page is very signup-biased too.
19:39:34 <Jafet> So what is the confirm password box biased for?
19:39:48 <fizzie> 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 <fizzie> 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 <fizzie> If you actually open a tweet, the top bar there has search options.
19:41:08 <J_Arcane> http://homepages.cwi.nl/~tromp/cl/cl.html
19:42:55 <fizzie> Heh, reCAPTCHA. "Type the two words:" and an image of a single house number sign.
19:45:18 <Gregor> fizzie: I've been getting that a lot recently >_>
19:46:20 <ais523> Gregor: they do that when the IP has a good reputation
19:46:32 <ais523> and use it to help them figure out where the Google Street View cars are
19:46:43 <ais523> because they ran out of books to digitize, or someting
19:47:10 <fizzie> 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 <fizzie> Because I didn't want to introduce a mistake in their data.
19:49:36 <fizzie> 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 <J_Arcane> ...
19:50:45 <J_Arcane> so, recaptcha's are being used to train machines to beat recaptchas?
19:51:03 <fizzie> 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 <ais523> Google benefit from spambots being able to beat every captcha but theirs
19:52:02 <Jafet> 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 <ais523> I've heard a similar argument explaining why they don't care much about spam coming from gmail
19:52:31 <fizzie> I wonder what the current relative difficulty is for the audio reCAPTCHA vs. the image one.
19:53:29 <fizzie> 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 <fizzie> Uh.
19:57:46 <fizzie> There's a "WRITE: 300- to 500-word Blog Post about Crowdsourcing and Transcription" request in Amazon Mechanical Turk.
19:57:53 <fizzie> $25 reward, 57 available.
19:58:12 <fizzie> Oh, for people who have an "In-House Blog Writer" qualification.
19:58:22 -!- Bicyclidine has quit (Ping timeout: 240 seconds).
20:00:01 <fizzie> 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 <ais523> I wonder how many of those are people trying to do homework, or the corporate equivalent
20:06:40 <Jafet> I can only assume there's an official ban on pornography, and not on much of anything else.
20:09:38 <Jafet> There's an "Adult Content" qualification, though
20:16:28 <J_Arcane> 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 <ais523> 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 <mroman_> 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 <mroman_> 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 <elliott_> 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 <fizzie> 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 <HackEgo> [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 <eddieconroy> anyone here
22:51:37 <eddieconroy> ?
22:51:56 <oerjan> `relcome eddieconroy
22:51:57 <HackEgo> eddieconroy: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
22:51:59 <AndoDaan_> I'm kinda here
22:52:24 <AndoDaan_> purdy
22:52:42 <boily> I am about here.
22:52:46 <boily> what's a purdy?
22:52:47 <Bicyclidine> i ain't
22:53:07 <AndoDaan_> "pretty" but real sweet like... purdy
22:54:29 <boily> OKAY. (in an oerjanian voice.)
22:54:47 <eddieconroy> can anybody here "see" reptiles/monsters behind humans faces out and about?
22:55:13 <boily> yes, cf. our Dear Prime Minister.
22:55:34 <AndoDaan_> https://i.imgur.com/RlYangA.jpg
22:55:51 <AndoDaan_> 4 eddie
22:55:58 <eddieconroy> 4?
22:56:01 <eddieconroy> oh
22:56:36 <eddieconroy> serious question
22:58:20 <oerjan> eddieconroy: i think you want the other kind of esoteric.
22:58:21 -!- AndoDaan_ has changed nick to AndoDaan.
22:58:33 <eddieconroy> what is this kind of esoteric?
22:58:40 <oerjan> see HackEgo message above
22:58:41 <eddieconroy> oh shit.
22:58:54 <eddieconroy> you guys probably think I am crazy
22:59:02 <boily> not at all.
22:59:31 <eddieconroy> welp, seeya later!
22:59:38 -!- eddieconroy has quit.
22:59:44 <AndoDaan> bye eddie
22:59:56 <oerjan> we won't see him again, the reptiles will get him.
23:00:01 <AndoDaan> 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 <boily> 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 <ais523> 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 <AndoDaan> It is a bit unnatural to be so fascinated by something so abstract.
00:22:56 <AndoDaan> I think.
00:25:51 <oerjan> 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 <ais523> oerjan: I thought it just handled !bfjoust specifically
00:31:02 <ais523> in which case, it's just as fine as glogbackup doing the same job as glogbot
00:31:09 <ais523> come to think of it, why are they /both/ here?
00:32:38 <elliott_> for backup
00:32:50 <oerjan> i think Gregor has given up on understanding why glogbackup keeps coming
00:33:18 <Bike> maybe we shouldn't hassle globackup about doing its fucking job how about that huh
00:33:30 <oerjan> ais523: except if EgoBot _did_ return, we'd have two inconsistent hills
00:33:41 <oerjan> that both reacted to the same command
00:34:05 <ais523> oerjan: that'd be fine too, it'd make constant-tweaking harder
00:34:14 <oerjan> heh
00:34:51 -!- ais523 has quit.
00:38:03 <Gregor> oerjan: I've given up on a lot of things.
00:40:52 <oerjan> so is EgoBot officially dead
00:43:06 <Gregor> I may bother to revive it.
00:43:13 <Gregor> I'm not sure why it's down, and haven't bothered to check.
00:44:08 -!- shikhout has joined.
00:47:20 <pikhq> Turns out that other elements of "life" are time consuming.
00:47:33 -!- shikhin has quit (Ping timeout: 260 seconds).
00:47:44 <oerjan> scary
00:48:46 <pikhq> In more positive news, bacon is deliciousness itself.
00:52:04 <shachaf> i really wish people would stop it with the bacon thing
00:52:27 <oerjan> well jew _would_ say that.
00:52:52 <pikhq> I only say this because I am about to make some bacon.
00:53:06 <pikhq> For I hunger, and have bacon.
00:53:14 <oerjan> but i have chocolate-covered peanuts. who wins?
00:53:22 <pikhq> Everybody.
00:53:30 <shachaf> oerjan: well i'm vegetarian hth
00:53:32 <oerjan> how reasonable.
00:53:45 <oerjan> ah
01:06:02 <pikhq> That would certainly make keeping kosher easier.
01:06:58 <shachaf> i wouldn't know
01:07:15 <shachaf> (well, i do know, vaguely. but it's not the sort of thing i pay attention to)
01:07:52 <shachaf> 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 <Sgeo> zzo... dangit
03:00:46 <Sgeo> @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 <lambdabot> 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 <shachaf> oerjan: what's with the thing where people call anything with "forall" in it "existential"
04:23:18 <shachaf> where did this start
04:23:52 <copumpkin> it's all haskell's fault
04:24:00 <Bike> i thought that was the opposite of existential
04:24:04 <shachaf> it is
04:24:21 <copumpkin> I mean, in much of haskell, the place you're most likely to find it is in an existential
04:24:47 <shachaf> Existentials are pretty rare in Haskell code compared to universals.
04:24:47 <copumpkin> 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 <copumpkin> yes, but the universals almost never use the forall keyword unless you're rank-2ing
04:26:16 <shachaf> i,i ∀x. means x is scoped, right?
04:26:33 <shachaf> Anyway, it's odd that so many people gravitate so strongly toward this misuse.
04:28:56 <shachaf> 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 <Bike> like computable reals but without the computable part?
04:40:06 <shachaf> 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 <fizzie> 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 <oerjan> ah yes
05:30:58 <TieSoul> !bfjoust firstlel (>+>-)*4>+[>(-)*128.+]
05:30:59 <zemhill> TieSoul.firstlel: points -32.45, score 6.84/100, rank 47/47 (change: --)
05:31:09 <TieSoul> yay, rank 47/47
05:31:19 <TieSoul> !bfjoust firstlel (>+>-)*4[>(-)*128.+]
05:31:19 <zemhill> TieSoul.firstlel: points -31.95, score 7.26/100, rank 47/47 (change: --)
05:31:27 <TieSoul> slightly better :P
05:32:16 <TieSoul> !bfjoust firstlel (>+>-)*4(>(-)*128)*21
05:32:16 <zemhill> TieSoul.firstlel: points -37.02, score 0.80/100, rank 47/47 (change: --)
05:32:31 <TieSoul> oh wow that's much worse for some reason
05:32:46 <TieSoul> !bfjoust firstlel (>+>-)*4(>(-)*128.)*21
05:32:46 <zemhill> TieSoul.firstlel: points -29.57, score 8.51/100, rank 47/47 (change: --)
05:32:50 <TieSoul> oh right
05:32:52 <TieSoul> better
05:35:03 <TieSoul> !bfjoust firstlel >+>-(>(-)*128.)*28
05:35:03 <zemhill> TieSoul.firstlel: points -35.52, score 5.97/100, rank 47/47 (change: --)
05:35:09 <TieSoul> okay that's worse
05:35:12 <TieSoul> !bfjoust firstlel (>+>-)*4(>(-)*128.)*21
05:35:13 <zemhill> TieSoul.firstlel: points -29.57, score 8.51/100, rank 47/47 (change: --)
05:39:21 -!- AndoDaan_ has joined.
05:39:51 <AndoDaan_> !bfjoust MeatYouBait >>>>>------>+++++++>----->(<++++++<--)*4(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7
05:39:51 <zemhill> 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 <AndoDaan_> Oops
05:41:20 -!- AndoDaan_ has changed nick to AndoDaan.
05:41:42 <AndoDaan> !bfjoust BeatYouMate [
05:41:42 <zemhill> AndoDaan: error: parse error: starting [ without a matching ]
05:41:51 <AndoDaan> !bfjoust BeatYouMate
05:41:51 <zemhill> AndoDaan: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
05:42:12 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7
05:42:13 <zemhill> AndoDaan.BeatYouMate: points -6.55, score 25.96/100, rank 34/47 (change: --)
05:43:28 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*9[-]]>)*1([(+)*14[-]]>)*3([(+)*9[-]]>)([(-)*5[+]]>)*3([(+)*7[-]]>))*7
05:44:00 <AndoDaan> !bfjoust BeatYouMate (>------>+++++)*4>(([(+)*6[-]]>)*3([(+)*9[-]]>)*1([(+)*14[-]]>)*3([(+)*9[-]]>)([(-)*5[+]]>)*3([(+)*7[-]]>))*7
05:44:01 <zemhill> AndoDaan.BeatYouMate: points -9.33, score 22.52/100, rank 46/47 (change: -7)
05:44:40 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*9[-]]>)*1([(+)*6[-]]>)*3([(+)*1[-]]>)([(-)*7[+]]>)*3([(+)*7[-]]>))*-1
05:44:41 <zemhill> AndoDaan.BeatYouMate: points -6.33, score 26.57/100, rank 32/47 (change: +14)
05:45:05 <AndoDaan> 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 <AndoDaan> !bfjoust MeatYouBait >>>>>---->+++++++>--->(<+++<--)*4(>)*10(([(+)*6[-]]>)*3([(+)*6[-]]>)*1([(+)*6[-]]>)*3([(+)*6[-]]>)([(-)*6[+]]>)*3([(+)*7[-]]>))*7
06:16:17 <zemhill> AndoDaan.MeatYouBait: points -16.95, score 14.80/100, rank 47/47
06:26:25 -!- AndoDaan_ has joined.
06:26:31 <AndoDaan_> !bfjoust MeatYouBait >>>>>---->+++++++>--->(<+++<--)*4(>)*10(([(+)*3[-]]>)*3([(+)*7[-]]>)([(+)*6[-]]>)*3([(+)*9[-]]>)([(-)*4[+]]>)*3([(+)*7[-]]>))*-1
06:26:31 <zemhill> 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 <AndoDaan> !bfjoust MeatYouBait (>+++>---->++++++>--->)*4(<+++<--)*4(>)*10(([(+)*3[-]]>)*3([(+)*7[-]]>)([(+)*6[-]]>)*3([(+)*9[-]]>)([(-)*4[+]]>)*3([(+)*7[-]]>))*-1
06:28:30 <zemhill> AndoDaan.MeatYouBait: points -20.45, score 14.55/100, rank 47/47
06:29:06 <AndoDaan> !bfjoust MeatYouBait (>+++>---->++++++>--->)*2(---<+++<--)*4(>)*10(([(+)*3[-]]>)*3([(+)*7[-]]>)([(+)*6[-]]>)*3([(+)*9[-]]>)([(-)*4[+]]>)*3([(+)*7[-]]>))*-1
06:29:06 <zemhill> AndoDaan.MeatYouBait: points -12.60, score 20.01/100, rank 47/47 (change: --)
06:30:53 <AndoDaan> !bfjoust MeatYouBait (>+++>---->++++++>---)*2(<---<+++<--)*3(>)*7(+)*24(>)*2(([(+)*3[-]]>)*3([(+)*7[-]]>)([(+)*6[-]]>)*3([(+)*9[-]]>)([(-)*4[+]]>)*3([(+)*7[-]]>))*-1
06:30:54 <zemhill> 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 <mroman_> If somebode takes over an oauth2server all clients are pretty much screwed
09:15:13 <mroman_> *somebody
09:15:44 <mroman_> i.e. you get your access token from it
09:16:10 <mroman_> with that access token you ask oauthsrv for stuff like the user's username etc.
09:16:35 <mroman_> and then you display SELECT * from usr_secrets WHERE uname = <uname from oauthsrv>
09:17:20 <mroman_> if somebody manipulates the connection from foosrv to oauthsrv you can respond foosrv with an arbitrary username
09:18:35 <mroman_> or if somebody can hack the oauthsrv
09:18:42 <mroman_> he can also hack pretty much every client
09:18:59 <AndoDaan> How like is it for somebody to take over an oauth2server?
09:30:03 <mroman_> very
09:30:54 <AndoDaan> Sounds alarming.
09:38:41 <mroman_> OAuth2 isn't really a single-sign-on system?
09:43:10 <AndoDaan> 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 <boily> 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 <ais523> 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 <int-e> http://webmasters.stackexchange.com/questions/59226/disable-cfduid-cookie-from-cloudflare
12:25:20 <int-e> (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 <ais523> I thought that might be it
12:26:06 <ais523> also explains why it's on every page load, cloudflare probably doesn't look into the internals of pages
12:26:36 <fizzie> Heh, "makes security work".
12:27:27 <int-e> fizzie: actually I'd translate that as "trust us, we know what we're doing"
12:28:34 <fizzie> "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 <fizzie> ... any personally identifiable information.
12:28:41 <fizzie> That's what their own support site writes.
12:28:44 <fizzie> Note: This cookie is strictly necessary for site security operations and can't be turned off."
12:29:33 <ais523> but I just reject it
12:29:35 <ais523> client-side
12:30:07 <ais523> also, strikes me that that's exploitable simply by people sharing cookies
12:30:23 <ais523> I guess that's my next step, after randomly rejecting and accepting them
12:32:19 <ais523> 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 <int-e> "nor does the cookie store any personally identifiable information"
12:34:31 -!- shikhin has joined.
12:34:51 <int-e> standard copout, technically correct, but for all non-legal intends and purposes a straight lie.
12:36:08 <ion> As you wish http://heh.fi/tmp/recaptcha-%C5%BFide.png
12:36:23 <fizzie> ais523: The "website's domain" generally points at cloudflare's proxy servers, though, doesn't it?
12:39:01 <ais523> fizzie: no, it's normally the website that humans visit
12:39:17 <ais523> because cookies are associated to the name not the IP
12:42:12 <fizzie> Yes, but I thought with CloudFlare the server that gets the human's request for www.example.com is CloudFlare's.
12:42:24 <fizzie> And they'd see cookies when getting to decide what to do.
12:44:01 <int-e> 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 <ais523> what I mean is, they have a different own cookie for each site they accessed
12:52:39 <sebbu> http://en.wikipedia.org/wiki/Non-English-based_programming_languages "丙正正 – Chinese C++"
12:53:09 <int-e> ais523: true, but cloudfare can related them based on IP addresses
12:56:39 <ais523> int-e: that completely defeats the point of a tracking cookie
12:56:53 <ais523> "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 <int-e> 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 <ais523> 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 <ais523> I don't see how the use of A's cookie gives you any additional useful information
13:00:21 <int-e> But for many users, IP addresses change regularly.
13:00:56 <ais523> apart from mobile use, IP addresses tend not to change very quickly
13:01:05 <int-e> it's not perfect, but having such a cookie gives you quite a bit more data than pure IP addresses.
13:01:07 <ais523> (source: observing the effectiveness of blocks at Wikipedia)
13:01:11 <ais523> the main exception was AOL
13:01:43 <b_jonas> ais523: my home ip address does change quickly
13:01:44 <ais523> 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 <int-e> In Germany users experience forced reconnnects every 24 hours, and get a new IP afterwards.
13:02:21 <b_jonas> 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 <b_jonas> on the other hand, my internet connection at home is much more reliable than the one at work
13:03:33 <b_jonas> this one at work has serious problems both at the local network connections and the internet connection :-(
13:05:11 <int-e> 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 <ais523> not to mention that the cloudflare cookie breaks the EU cookie laws (the site doesn't say what it's for)
13:05:53 <ais523> although, fwiw, almost every site in existence breaks the EU cookie laws
13:06:05 <ais523> mine doesn't; I don't set any cookies I don't need to, and I don't need any cookies
13:06:28 <b_jonas> 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 <b_jonas> what's the point of these?
13:07:42 <ais523> b_jonas: websites were setting cookies they shouldn't have been
13:07:55 <ais523> so the EU told them to warn about cookies, explain what they were used for, and not include any unnecessary cookies
13:08:11 <ais523> most websites are adding a generic "this website uses cookies" warning, which probably doesn't comply with the restrictions
13:08:18 <ais523> rather than actually, you know, bringing cookie use down to a sane level
13:08:45 <int-e> 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 <ais523> int-e: I already reject cookies that don't have an obvious good reason
13:09:31 <ais523> which is like 99% of them
13:09:44 <int-e> I have little confidence in a court ever ruling cookies unnecessary, there's too much technobabble for justifying their use.
13:09:45 <ais523> the only ones I accept are cookies to retain login data (either per-session, or longer)
13:10:00 <ais523> int-e: well, put it this way: if I reject most of the cookies and the site still works
13:10:02 <ais523> then they weren't necessary
13:10:03 <int-e> ais523: same here, and maybe that's true for 1% of the web users.
13:10:24 <Jafet> cookiechoice.eu
13:10:26 <int-e> so it doesn't really matter.
13:11:12 <ais523> it matters to me, you know how long it takes to click through all the cookie accept/reject boxes?
13:11:21 <int-e> I do know
13:11:39 <int-e> especially since I'm using firefox which is really awful at rejecting cookies the first time.
13:11:49 <int-e> (when they come with images, say)
13:12:39 <ais523> yes :-(
13:12:43 <ais523> luckily you can hold down alt-d
13:13:11 <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
13:13:12 <ais523> )
13:13:46 <fizzie> I did that too, but then I got too lazy, when switching browsers.
13:14:24 <ais523> I have a second browser with no persistent storage, for websites that are particularly badly written (e.g. Flash users)
13:14:33 <fizzie> 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 <int-e> (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 <ais523> fizzie: yes, I learned that that needs a separate profile quite a while ago
13:15:21 <b_jonas> ais523: I automatically accept all cookies these days, and only very rarely delete a few particular ones.
13:16:15 <fizzie> I think I've got Chromium set to "keep local data only until you quit your browser" mode, though.
13:16:19 <int-e> heh, do you also find the inconsistent spelling of firefox' command line options annoying? I mean this: firefox -ProfileManager -no-remote
13:16:33 <b_jonas> fizzie: firefox has that too, sure, and other browsers too
13:16:44 <b_jonas> int-e: huh? I spell that as firefox -p -no-remote
13:17:12 <int-e> b_jonas: hmm, that would work
13:17:13 <b_jonas> but usually I just have a script that invokes firefox with a particular profile like firefox -no-remote -P SomeProfile
13:17:25 <b_jonas> so I rarely want to type this manually
13:17:31 <int-e> but it's still inconsistent.
13:17:36 <b_jonas> sure
13:18:34 <b_jonas> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <int-e> ""
13:21:20 <int-e> For a better experience on your device, try our mobile site.
13:21:33 <int-e> but hmm, I'm in Japan atm
13:21:44 <elliott_> fizzie: and also they give you the choice of opting out, by telling you how to disable cookies in your browser
13:21:54 <fizzie> At least there's a more complete info page, which many sites probably lack.
13:22:26 <fizzie> One that groups them into categories and lists the names and all that.
13:22:42 <int-e> 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 <fizzie> Huh, apparently clicking to "more information" was also enough to disable the prompt, since now the bar is gone.
13:23:37 <fizzie> I suppose I've been sufficiently informed, so it counts.
13:23:42 <ais523> fizzie: that's what I was about to say
13:25:22 <fizzie> zem.fi sets no cookies, or at least it should not.
13:26:03 <ais523> fizzie: firefox agrees with you, fwiw
13:26:24 <fizzie> 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 <fizzie> "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 <ais523> did you ever get round to running your BF stats thing, btw?
13:26:41 <ais523> even a one-off would be interesting
13:26:43 <ais523> *BF Joust
13:26:54 <fizzie> Yes, they're at http://zem.fi/egostats/
13:26:59 <fizzie> The names is a bit misleading now.
13:27:05 <fizzie> s/names/name/
13:27:22 <fizzie> And summary table has the "wrong" sort order.
13:27:23 <ais523> it puts margins last :-)
13:27:56 <ais523> wow, the margins row/column are beautifully gray
13:28:01 <ais523> *grey
13:28:35 <fizzie> I'm sure it's the greyest program.
13:28:48 <ais523> yes
13:28:56 <fizzie> http://zem.fi/egostats/plot_p20_pscores.png -- which is just a graphical illustration of the breakdown -- is also pretty grey.
13:29:11 <ais523> the per-tape-length chart for it is a really good illustration of the strategy
13:29:23 <ais523> red on 10, faint red on 11, grey or slightly bluish grey the rest of the way
13:29:35 <ais523> fun fact: margins never goes below cell 12 under any circumstances
13:30:03 <int-e> grey goo
13:31:12 <ais523> I see preparation is screwing up the overall duel length chart
13:32:19 <ais523> 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 <fizzie> Heh.
13:33:04 <fizzie> Yeah, I put the legend top-middle because it has conventionally been empty.
13:34:09 <ais523> cell 8, actually
13:34:12 <ais523> or, well
13:34:21 <ais523> I never figured out whether the cells are numbered starting at 0 or 1
13:34:26 <ais523> and some of my comments are inconsistent
13:35:18 <fizzie> 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 <fizzie> The averaged plot is a bit smooshed up since it averages across tape lengths.
13:36:11 <ais523> yep
13:36:17 <ais523> tapeheat is actually a really good way to identify strategies
13:36:29 <ais523> it's hilarious for margins, it basically explains the entire strategy in one graph
13:36:31 <int-e> ais523: how about -4.5, -3.5, ..., 4.5 for tape length 10, etc. ;-)
13:36:37 -!- sebbu2 has joined.
13:36:38 <ais523> preparation's is a little more unclear
13:36:47 <ais523> int-e: you know where your flag is, but not the enemy's
13:36:57 <int-e> I know :P
13:36:59 <ais523> 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 <int-e> 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 <ais523> 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 <ais523> 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 <fizzie> I could do that, and yes, it needs one more thing to track in cranklance.
13:40:05 <ais523> growth has a pretty neat heatmap too, actually
13:40:17 <ais523> egojsout gives a better idea of what it's doing, but even the heatmap gives a pretty good idea
13:40:45 <ais523> the other thing that's /really/ encouraging about growth is that the brightest red is the enemy flag
13:40:52 <ais523> that basically never happens, and means that my strategy is working
13:41:11 <ais523> (fun fact: if a program starts unexpectedly winning against growth, I actually check that program to see if it's buggy)
13:41:21 <ais523> (have caught more than one bug in my programs like that)
13:41:22 <fizzie> 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 <ais523> I noticed that
13:41:43 <ais523> also it disallows editing the programs?
13:41:52 -!- AnotherTest has quit (Ping timeout: 240 seconds).
13:42:31 <fizzie> It shouldn't do that, but I could've broken something.
13:42:51 <fizzie> Are the textfields disabled, or does it do something stupid if you do try to edit?
13:42:59 <ais523> disabled, IIRC
13:43:06 <ais523> that was from a while ago
13:43:15 <fizzie> Oh, okay. Yeah, they were that before this morning.
13:43:46 <ais523> would be nice for the matrix to link to egojsout
13:44:14 <fizzie> 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 <b_jonas> fizzie: wow, that's some serious stats you have generated there
13:44:28 <fizzie> Yes, I just didn't get there yet.
13:44:39 <ais523> fizzie: that seems sensible
13:45:35 -!- ais523 has quit (Remote host closed the connection).
13:45:49 -!- ais523 has joined.
13:46:19 <ais523> 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 <fizzie> 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 <ais523> I keep running margins in it, then wishing I hadn't
13:46:34 <fizzie> (Of course both scenarios are somewhat hypothetical.)
13:46:54 <ais523> it'd save needing to have your own webserver to submit long programs
13:47:10 <ais523> perhaps it could announce the results in-channel, and give a link to Freenode's web interface ;-)
13:47:12 <b_jonas> ais523: you can use a pastebin for that
13:47:18 <ais523> actually, probably best to keep it to IRC, to keep down spambots
13:47:20 <ais523> b_jonas: not easily
13:47:25 <ais523> most pastebins HTML-escape even the raw view
13:47:34 <ais523> sprunge works but isn't exactly very web-friendly
13:47:35 <b_jonas> ais523: do they now? I don't think so
13:47:36 <b_jonas> let me try
13:48:23 <b_jonas> here, this is text/plain => http://dpaste.com/09VYENJ.txt
13:48:51 <fizzie> 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 <ais523> huh? in that case it's probably vulnerable to the IE XSS attack
13:49:05 <b_jonas> ais: besides, html escaping doesn't even break bf programs
13:49:19 <ais523> yes it does
13:49:22 <ais523> &gt; can't move right
13:49:32 <b_jonas> oh... true
13:49:33 <b_jonas> sorry
13:49:57 <ais523> new esolang idea: HTML-BF
13:50:03 <ais523> it's BF except < and > are &lt; and &gt;
13:50:09 <ais523> this will revolutionarise computing
13:50:11 <b_jonas> 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 <ais523> b_jonas: yes
13:50:19 <b_jonas> hmm
13:50:30 <ais523> someone sent oerjan to a shock site like that a while back via injecting JS into the #esoteric logs
13:50:43 <b_jonas> what's the latest version of IE that did that?
13:50:55 <ais523> I know 8 does, not sure about newer
13:51:03 <b_jonas> gee... strange
13:51:26 -!- pi____ has quit (Ping timeout: 258 seconds).
13:52:06 <b_jonas> let me try
13:52:45 <b_jonas> hmm no, browsershots.org doesn't have any MSIE version other than 8.0
13:52:47 <b_jonas> so I can't try
13:52:59 <ais523> browsershots has really collapsed by not keeping up with the times
13:53:11 <ais523> you can get screenshots from old Opera but not from anything recent
13:53:15 <b_jonas> hmm
13:53:16 <b_jonas> ok
13:53:26 <fizzie> 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 <ais523> I did install IE6 on Linux (most recent version that runs well) in order to test that sites work in IE
13:53:40 <b_jonas> 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 <ais523> but I disconnect from the Internet whenever I use it
13:53:55 <ais523> I guess Windows 8.1 comes with something newer, I could just copy the HTML to the Windows partition
13:53:57 <b_jonas> I see
13:54:26 <b_jonas> 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 <b_jonas> I don't do much web development either though.
13:56:10 <ais523> I don't do much, but I've done some
13:56:29 <ais523> 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 <b_jonas> uh... ok
13:57:31 <fizzie> Apparently on IE8 onwards you can work around it by adding a "X-Content-Type-Options: nosniff" header.
13:57:37 <fizzie> (dpaste doesn't seem to do that.)
13:58:28 <ais523> 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 <b_jonas> 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 <b_jonas> and I made sure it works even without javascript
13:58:54 <ais523> b_jonas: server-side?
13:59:05 <ais523> I'm hoping there's some way to do it with really convoluted CSS
13:59:09 <ais523> but there probably isn't :-(
13:59:11 <b_jonas> server-side, yes
13:59:50 <fizzie> Huh, the 'raw' links from gitweb are 'Content-Type: text/plain; charset=ISO-8859-1'.
14:00:01 <fizzie> Should probably check where that charset value is coming from.
14:00:32 <b_jonas> 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 <fizzie> "$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 <ais523> actually, the main problem with margins is that it has close to a 0% chance of ever beating omnipotence
14:00:56 <b_jonas> plus if you don't have javascript, a short usage notice about this shows
14:00:56 <fizzie> But that shouldn't be the case.
14:01:30 <b_jonas> I eventually get it to work sane on all browsers I tried
14:01:46 <ais523> oh, I see
14:01:50 <ais523> hmm, now I have an idea
14:03:45 <b_jonas> 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 <b_jonas> during that, I found that browsers handle alternate stylesheets in two different ways, so I have to be compatible with both
14:05:42 <b_jonas> hmm, I have something broken in my browser local config
14:05:58 <b_jonas> anyway, here's the code for that replicatable field => http://www.perlmonks.com/?node_id=841827
14:06:46 <b_jonas> or actually, I think there's something broken in this firefox version, or one of the plugins, not in my config
14:06:51 <b_jonas> damn
14:07:02 -!- TieSoul has changed nick to azum4roll.
14:07:38 -!- azum4roll has changed nick to TieSoul.
14:09:45 <b_jonas> what the heck?
14:10:42 <ais523> there was some code specifically to beat full-tape clears but it wasn't running
14:10:42 <TieSoul> what?
14:10:45 <ais523> I just got it working
14:11:20 <ais523> !bfjoust margins http://nethack4.org/esolangs/margins.bfjoust
14:11:33 <ais523> this will take a while :-)
14:11:34 <b_jonas> 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 <TieSoul> my bot got lots of messages built up for azum4roll so I ate them :P
14:11:38 <b_jonas> crazy
14:12:00 <b_jonas> 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 <b_jonas> is this a bug in firefox, or in a plugin I have installed?
14:12:34 <ais523> shouldn't be taking /that/ long, though
14:13:00 <ais523> it's listed in breakdown
14:13:03 <ais523> zemhill just hasn't posted here
14:13:48 <ais523> matrix hasn't been upsated
14:13:49 <ais523> *updated
14:14:05 <b_jonas> I think it might be a plugin bug
14:14:47 <ais523> huh, htf is anticipation2 beating it
14:15:24 <ais523> ah right, it hardly sets any decoys, meaning its counter-turtle works even at tape length 10
14:15:54 <coppro> 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 <ais523> 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 <ais523> that should throw off most constant-tweaking-related effects
14:17:19 <ais523> if the match is decisive, you should have a pretty sharp transition from winning to losing
14:17:30 <ais523> if it's to do with details of clashing decoys, the wins and losses will be all over the place
14:17:43 <ais523> and if it's to do with things like probabilistic locks, you should get a repeating pattern
14:21:01 <b_jonas> 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 <b_jonas> just wondering
14:25:53 <Jafet> Is that like the hippie version of mathematica tweets
14:41:34 -!- DootBot has joined.
14:41:34 <DootBot> DOOT DOOT!
14:44:35 <fizzie> Huh.
14:45:01 <ais523> what does it say about me that my immediate reaction to DootBot joining is "oh dear"
14:45:02 <DootBot> ais523: Tanelle- ass problem used a the listen again,! dunnl Moon like was rekt her the go? il Apple Leonys.
14:45:20 <fizzie> http://sprunge.us/EPgM I don't know why it didn't reply anything.
14:46:37 <ais523> the matrix doesn't appear to be loading: http://zem.fi/bfjoust/matrix/
14:47:03 <Jafet> oh fungot
14:47:03 <fungot> 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 <fizzie> ais523: The JSON report file is empty.
14:47:59 <ais523> that would explain it
14:48:04 <ais523> !bfjoust margins http://nethack4.org/esolangs/margins.bfjoust
14:48:10 <ais523> let's see if we can just unstick it like this
14:48:10 <zemhill> ais523.margins: points 2.38, score 45.65/100, rank 9/47 (change: --)
14:48:15 <ais523> that's better
14:48:21 <fizzie> Now it's nonempty.
14:48:40 <fizzie> Don't know what went wrong there, since it didn't output anything.
14:48:48 <fizzie> But it *is* the same place where it segfaulted, so.
14:52:13 <ais523> <fizzie> 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 <HackEgo> [wiki] [[Fortob]] http://esolangs.org/w/index.php?diff=40521&oldid=40400 * GermanyBoy * (+10) /* summary/infobox */ perl has influenced
15:04:29 <HackEgo> [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 <HackEgo> [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 <HackEgo> [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 <HackEgo> [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 <quintopia> ais523: oh. thanks. but i still have some imporvements that have been sitting on the backburner for a year...
16:13:25 <ais523> it'd be nice to see them, it's down to like #4 or #5 now
16:13:28 <ais523> depending on local conditions
16:13:49 <ais523> but it's one of the very few programs I can't consistently tune near-aribtrary strategies to beat
16:15:22 <ais523> 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 <ais523> that said, its main weakness is its clear loop
16:17:00 <ais523> wait, I'm muddling _elevator with _hotel
16:17:02 <quintopia> fizzie: i like that you use . as the separator now. I assume this is because valid IRC nicks can't contain .?
16:17:38 <ais523> space_hotel has a better clear loop, I think
16:17:45 <quintopia> !bfjoust
16:17:45 <zemhill> quintopia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
16:17:51 <b_jonas> 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 <ais523> new project: get growth to beat space_hotel
16:19:04 <ais523> I think growth is the future of BF Joust
16:19:36 -!- atriq has joined.
16:19:39 <ais523> it's very close at the moment
16:19:52 <atriq> Help I am running into problems because templating engines aren't functional programming languages
16:20:16 <b_jonas> man
16:20:35 <b_jonas> template haskell? or future C++ where the compiler can do more stuff at compile time?
16:20:47 <atriq> b_jonas: jinja2, I'm afraid
16:21:17 <b_jonas> oh, _those_ kinds of templating languages
16:21:20 <ais523> actually, the big problem is that space_hotel overpokes, which is almost impossible to beat something like growth
16:21:29 <quintopia> 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 <ais523> yes
16:21:50 <quintopia> well now i'm distracted from the work i need to be doing...
16:21:53 <ais523> then, it assumes that the opponent started clearing at the ninth cell, and if it did, goes straight to the flag
16:21:58 <b_jonas> this bfjous thing is crazy :)
16:22:12 <ais523> the great thing is, if the opponent leaves a trail
16:22:25 <ais523> it can't see they were cleared "directly", but it'll shrink the trail while "growing" the decoy
16:22:37 <quintopia> indeed
16:22:41 <ais523> and eventually the cell reads 0, at least on one polarity
16:23:10 <quintopia> 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 <quintopia> both of which have downsides
16:23:29 <ais523> right
16:23:30 <b_jonas> it sort of reminds me to Lambda: the Gathering, though it's a quite different game
16:23:57 <ais523> 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 <quintopia> probably "large trail" is less of a disadvantage than it is an advantage in this case
16:24:09 <ais523> then it juts wins via having a faster clear loop
16:24:12 <ais523> *just
16:24:27 -!- TieSoul has quit (Ping timeout: 245 seconds).
16:24:35 <ais523> 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 <ais523> when it hits a large decoy size (I arbitrarily chose 100), you turn off your offset clear on future tape cells
16:24:55 <ais523> and just do a regular clear
16:25:02 <ais523> because you're not going to beat the enemy decoys anyway
16:25:24 <quintopia> good idea
16:25:35 <ais523> first time I've used a non-offset clear in /years/
16:26:26 <ais523> oh wow, on kettle 24
16:26:32 -!- DootBot has quit (Ping timeout: 245 seconds).
16:26:40 <ais523> growth's decoys are smaller than your offset
16:26:42 <quintopia> i knew this new hill implementation would spice things up here
16:26:48 <quintopia> i hope i don't get too distracted by it
16:26:56 <ais523> and yet growth /still/ wins
16:27:16 <ais523> this actually shocks me, and says a lot about constant tweaking
16:27:20 <quintopia> yes, because the flag is still high than the offset
16:28:37 <quintopia> 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 <ais523> is this a homework question?
16:29:09 <ais523> I guess probably not, it sort-of looks like one though
16:29:12 <quintopia> it will become one if the answer is "yes"
16:29:22 <ais523> oh, reverse homework question, neat
16:29:22 <quintopia> but not in this form
16:29:45 <myname> okay, i will say yes without any thinking
16:29:51 <myname> just because you will have to do homework
16:30:00 <ais523> I'm trying to remember the formula for generating solutions to a^2+b^2=c^2
16:30:04 <quintopia> your saying yes does not make the answer yes
16:30:05 <ais523> but I have Wikipedia, so I'll look it up
16:30:39 <ais523> m^2-n^2, 2mn, m^2+n^2
16:30:58 <b_jonas> !bfjoust assume1decoy >(>+>-)*3(>[ (>[+])*99])*99
16:30:59 <zemhill> b_jonas.assume1decoy: points -18.67, score 15.29/100, rank 47/47
16:31:22 <ais523> b_jonas: that sort of program /can/ work, but >[+] is a terrible clear loop for a fast rush program
16:31:43 <b_jonas> !bfjoust assume1decoy2 >(>+>-)*3(>[ (>[+]..)*99])*99
16:31:44 <zemhill> b_jonas.assume1decoy2: points -19.83, score 13.81/100, rank 47/47
16:32:00 <ais523> b_jonas: that clear loop is even worse :-)
16:32:14 <ais523> the problem is, the best fast rush clear loops I know are quite long
16:32:35 <b_jonas> well, I just want to try some simple strategies now
16:32:56 <b_jonas> !bfjoust assume1decoy2 >(>+>-)*3(>[ (>(+)*120[+]..)*99])*99
16:32:57 <zemhill> b_jonas.assume1decoy2: points -20.69, score 12.21/100, rank 47/47 (change: --)
16:33:09 <Melvar> < 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 <Melvar> < 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 <Melvar> < 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 <ais523> !bfjoust heres_a_sample >(>+>-)*3(>[+[--[-[++++[(+)*100[+]>]-->++]++>+]+>-]->-])*21
16:33:51 <zemhill> ais523.heres_a_sample: points -20.71, score 13.10/100, rank 47/47
16:34:07 <ais523> hmm, perhaps I screwed up somewhere, that happens when you write clear loops from memory
16:34:10 <ais523> let me check egojsout
16:34:47 <ais523> aha, forgot the tripwire avoid
16:35:00 <ais523> !bfjoust heres_a_sample >(>+>-)*3(>[>[+[--[-[++++[(+)*100[+]>]-->++]++>+]+>-]->-]])*21
16:35:00 <zemhill> ais523.heres_a_sample: points -15.71, score 17.32/100, rank 47/47 (change: --)
16:35:09 <ais523> there, that's starting to score now
16:35:12 <ais523> *score better
16:35:16 <b_jonas> yeah
16:35:16 <ais523> admittedly it's still last
16:37:09 <ais523> also I only went up to offset 2
16:37:14 <Melvar> I declare that the cutest program name listed is “Gregor.furry_furry_strapon_pegging_girls”.
16:37:22 <b_jonas> !bfjoust assume1decoy >(>+>-)*3(>[ (>(+)*123[+.+]..)*99])*99
16:37:22 <zemhill> b_jonas.assume1decoy: points -26.50, score 8.10/100, rank 47/47
16:37:26 <ais523> 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 <quintopia> 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 <ais523> and it quickly becomes too hard to fit into a oneline
16:37:48 <ais523> *oneliner
16:38:04 <quintopia> ais523: deewiant could figure out how :P
16:38:09 <b_jonas> quintopia: have you tried to check for small solutions first?
16:38:15 <quintopia> b_jonas: yes
16:38:32 <quintopia> i know some properties a solution must have
16:39:00 <quintopia> well
16:39:02 <quintopia> no i don't
16:39:03 <quintopia> :P
16:39:06 <ais523> solve it mod 2, and mod 3, to start off with
16:39:44 <tromp> that's pretty much how i count legal positions in Go
16:39:47 <Jafet> Those are finite fields, so you will always find solutions
16:39:52 <Jafet> that are useless
16:40:07 <tromp> except i count mod 2^64-O(1)
16:40:07 <ais523> err, mod 4, and 9, I mean
16:40:15 <ais523> probably you need mod 8
16:40:31 <Jafet> You can't divide by 4 mod 4
16:40:43 <ais523> you multiply instead
16:40:57 <ais523> as in, add d=a/2
16:41:03 <ais523> you can definitely multiply by 4 mod 4
16:41:49 -!- S1 has joined.
16:43:38 <Jafet> Well, in any case it's possible to make this a homework question regardless of whether a pair exists
16:44:25 <ais523> yes but it might be too hard for the students, we don't know what sort of class quintopia teaches
16:44:37 <fizzie> 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 <quintopia> i wish i knew where this whole #bisexualfacts thing started
16:53:51 <quintopia> but it amuses me
16:54:12 <quintopia> "A bisexual is a monoid in the category of endofunctors #bisexualfacts"
17:02:16 <Zuu> do you know what the difference between football and rape is?
17:02:49 <Zuu> Women just hate rape.
17:02:58 <ais523> it's normally a bad idea to bring rape jokes into any communication forum whatsoever
17:03:00 <Zuu> dammit! I fucked it up
17:03:05 <Zuu> they hate football
17:03:28 <Phantom_Hoover> i think the fuckup came some time earlier than that
17:04:06 <Zuu> naaah, also I mistook this channel from a different channel because of the bifact
17:04:20 <ais523> it doesn't even really matter which channel it is
17:04:34 <Zuu> you're right
17:04:39 <Jafet> “Men don't date football.”
17:04:54 <Zuu> just means that I have another chance of tellign the joke right, in the right thannel :>
17:05:08 <Zuu> *channel
17:05:19 <ais523> Zuu: you'll be better off once you realise why the joke's a fundamentally bad idea
17:05:34 <J_Arcane> Indeed.
17:05:53 <Zuu> ais523: I think you got something stick somewhere
17:05:57 <Zuu> *stuck
17:06:17 <ais523> Zuu: this is what #xkcd has to say on the matter: http://www.xkcdb.com/6758
17:06:56 <Zuu> 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 <fizzie> Feature added: result matrix cells now links. (They invoke the EgoJSout autorun behavior, so clicking 'margins' links is potentially somewhat hazardous.)
17:08:30 <ais523> 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 <ais523> 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 <ais523> I guess this is a good argument for antishudders being asymmetrical, although I do admit to having written [+--+] recently
17:35:34 <ais523> 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 <elliott_> Zuu: next time that'll get you a +b
17:42:01 <ais523> it even came with the op-insulting, too
17:42:07 <ais523> it was very close to a kick but I lost connection
17:42:20 <elliott_> your internet connection is too merciful
17:44:01 <Bike> rap is not tragic :(
17:44:08 <Bike> i mean some are i guess.
17:52:56 -!- AnotherTest has joined.
17:57:28 -!- drdanmaku has joined.
17:58:56 <GeekDude> anyone here who has played frog fractions?
17:59:19 <Zuu> elliott_: lol! you guys seem a tad iverly sensitive
17:59:33 -!- ChanServ has set channel mode: +o elliott_.
17:59:38 <Bike> GeekDude: it's fun
17:59:41 -!- elliott_ has kicked Zuu and you don't know how to take a hint.
17:59:45 <GeekDude> I'm stuck
17:59:50 <Bike> what part
18:00:07 <GeekDude> There's a wire on a strut, and a can under a spigot
18:00:18 <GeekDude> but I can't activate the spigot, or scoop up the goo with th can
18:01:43 <Bike> oh yeah that part
18:01:51 -!- TodPunk has quit (Ping timeout: 272 seconds).
18:01:52 <ais523> elliott_: not objecting to that at all
18:01:58 <GeekDude> also I keep typing "ls" instead of "look" but it works anyways
18:02:06 <ais523> especially because I can't ever remember Zuu contributing anything useful
18:02:25 <Bike> let's see how does this go
18:02:27 <Bike> do you have the tape?
18:02:27 <elliott_> it took some restraint not to add a +b
18:02:30 -!- TodPunk has joined.
18:02:33 <GeekDude> Bike: there's tape?
18:02:33 -!- elliott_ has set channel mode: -o elliott_.
18:02:41 <Bike> on the machine
18:02:45 <GeekDude> oh
18:02:45 <Bike> electrical tape or something
18:02:51 <GeekDude> to hold the note on I suppose
18:02:54 * GeekDude experiments
18:02:57 <Bike> you use it to fix the wire
18:03:06 * Bike looking at walkthrough, memory is hard.
18:03:18 <GeekDude> ooh, something behind it
18:03:33 <GeekDude> covered in goop to render it unuseable -.-
18:03:44 <GeekDude> ooh, it worked
18:04:25 <GeekDude> mmm, bacon
18:04:43 <elliott_> this conversation was really interesting before I scanned up high enough to see that it's about frog fractions
18:04:50 <elliott_> I was like wtf are you doing
18:04:54 <GeekDude> lol
18:05:10 <Bike> "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 <GeekDude> - game devs for pg game
18:06:43 <GeekDude> I can't eat the note :(
18:06:56 <Bike> i'm looking forward to frog fractions 2, which i have discovered through my spy network is half life three
18:08:05 <GeekDude> the goop is sleeping?
18:08:08 * GeekDude gets more goop
18:08:46 <GeekDude> uhh... zorkmids? I thought that was a goop dispenser
18:09:08 <GeekDude> ah...
18:10:35 -!- ais523 has quit.
18:11:03 -!- perrier has quit (Remote host closed the connection).
18:11:25 <GeekDude> I have no clue what's going on anymore
18:11:58 -!- perrier has joined.
18:14:33 <GeekDude> >Score
18:14:44 <GeekDude> "I don't know whith whom you want to score"
18:14:55 <GeekDude> oh wow
18:14:58 <GeekDude> >Score with me
18:15:09 <GeekDude> "Your score has gone up by three halves of a point"
18:15:25 <Bike> do try to get onto the leaderboards
18:15:26 <GeekDude> 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 <GeekDude> Bike: the ddr part was rediculously difficult
18:35:14 <Bike> you've just got no groove
18:40:38 -!- shikhout_ has changed nick to shikhin.
18:43:08 <GeekDude> I think I finished it
18:43:41 -!- erdic has quit (Ping timeout: 260 seconds).
18:43:59 <GeekDude> Finally, a product sample for quality control http://i.imgur.com/wpwUbSW.png
18:44:30 <GeekDude> And another! http://i.imgur.com/gheWPmq.png
18:44:59 <GeekDude> quality is through the roof!
18:45:34 -!- erdic has joined.
18:48:26 <GeekDude> Bike: the first time I played this I thought everyone was just making things up to confuse people
18:48:29 <GeekDude> I have seen the light
18:48:39 <Bike> yeah i got bored in the first section
18:48:45 <Bike> "this is dumb"
18:51:34 <GeekDude> 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 <Phantom_Hoover> <GeekDude> Bike: the ddr part was rediculously difficult
19:03:01 <Phantom_Hoover> it doesn't actually matter how well you do in that section
19:03:05 <GeekDude> mashing buttons is cheating!
19:03:19 <Phantom_Hoover> also: when elliott_ first linked me to frog fractions i thought it was called 'frog factions'
19:03:28 <Phantom_Hoover> and it was going to be some kind of frog-based strategy game
19:03:33 <Phantom_Hoover> to this day i'm still a bit disappointed
19:03:37 <GeekDude> nah, it's an rpg
19:03:52 <elliott_> GeekDude is lying. frog fractions is a game about learning and fractions and that is all there is to it.
19:04:04 <Phantom_Hoover> 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 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>)*1([(+)*5[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([+++++++[-]]>))*-1
20:00:24 <zemhill> AndoDaan.BeatYouMate: points -8.67, score 22.67/100, rank 44/47 (change: -13)
20:02:01 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>))*-1
20:02:02 <zemhill> AndoDaan.BeatYouMate: points -6.71, score 25.65/100, rank 35/47 (change: +9)
20:02:27 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>))*-1
20:02:28 <zemhill> AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: +6)
20:02:48 <fizzie> -13+9+6 > 0
20:03:20 <AndoDaan> Cant be be too difficalt about elegance
20:03:43 <AndoDaan> I'm just looking to increment up.
20:04:35 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++>-)*2+>----->(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>))*-1
20:04:36 <zemhill> AndoDaan.BeatYouMate: points -8.52, score 23.62/100, rank 40/47 (change: -11)
20:05:10 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>))*-1
20:05:11 <zemhill> AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: +11)
20:07:34 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>[(-------)*3[+]]))*-1
20:07:34 <zemhill> AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: --)
20:07:48 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>[(-------)*4[+]]))*-1
20:07:48 <zemhill> AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: --)
20:07:57 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*3[-]]>[(------)*4[+]]))*-1
20:07:58 <zemhill> AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: --)
20:08:28 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
20:08:29 <zemhill> AndoDaan.BeatYouMate: points -5.00, score 27.73/100, rank 29/47 (change: --)
20:09:06 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
20:09:08 <zemhill> AndoDaan.BeatYouMate: points -4.38, score 28.72/100, rank 27/47 (change: +2)
20:11:18 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++)*3[-]]>[(-----)*4[+]]))*9([(+++++++)*6[-]]>[(-------)*4[+]]))-1
20:11:18 <zemhill> AndoDaan: error: parse error: terminating ) without a matching (
20:11:52 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++)*3[-]]>[(-----)*4[+]])*9([(+++++++)*6[-]]>[(-------)*4[+]]))-1
20:11:52 <zemhill> AndoDaan.BeatYouMate: points -39.17, score 2.35/100, rank 47/47 (change: -20)
20:12:29 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++)*3[-]]>[(-----)*4[+]])*3([(+++++++)*6[-]]>[(-------)*4[+]]))-1
20:12:30 <zemhill> AndoDaan.BeatYouMate: points -39.17, score 2.35/100, rank 47/47 (change: --)
20:12:59 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
20:13:00 <zemhill> AndoDaan.BeatYouMate: points -4.38, score 28.72/100, rank 27/47 (change: +20)
20:13:10 <AndoDaan> Okey dokey.
20:14:12 <AndoDaan> 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 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[-]>([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
20:22:58 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
20:22:58 <zemhill> AndoDaan.BeatYouMate: points -4.60, score 28.44/100, rank 27/47 (change: +4)
20:23:34 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
20:23:35 <zemhill> AndoDaan.BeatYouMate: points -4.60, score 28.79/100, rank 26/47 (change: +1)
20:23:41 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
20:23:42 <zemhill> AndoDaan.BeatYouMate: points -4.60, score 28.79/100, rank 26/47 (change: --)
20:24:18 <fizzie> Hmm.
20:24:31 <fizzie> I wonder what those sporadic problems are all about.
20:24:48 <AndoDaan> yeah, the input is identical
20:25:08 <AndoDaan> but it doesn't seem to react until I send a new one twice
20:25:53 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
20:25:53 <zemhill> AndoDaan.BeatYouMate: points -4.10, score 29.43/100, rank 24/47 (change: +2)
20:26:14 <fizzie> 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 <fizzie> 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 <fizzie> 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 <AndoDaan> \n1
21:01:11 <AndoDaan> !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 <zemhill> AndoDaan.BeatYouMate: points -6.60, score 26.62/100, rank 32/47 (change: -8)
21:01:52 <AndoDaan> !bfjoust BeatYouMate +(>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
21:01:53 <zemhill> AndoDaan.BeatYouMate: points -4.45, score 28.89/100, rank 25/47 (change: +7)
21:02:28 -!- Patashu has joined.
21:02:48 <AndoDaan> 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 <Taneb> 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 <fizzie> Taneb: Ruby.
22:07:40 <fizzie> Also I had one written in Python for all of maybe a day.
22:08:11 <fizzie> I still haven't managed to find a plausible reason for the Ruby rewrite. Cosmic rays flipping bits, perhaps?
22:08:41 <AndoDaan> Statistical certainty
22:09:50 <AndoDaan> Q: does the game viewer http://zem.fi/bfjoust/game/ calculated the matches exactly like your ruby script?
22:11:02 <AndoDaan> I mean Egojsout.js
22:11:03 -!- lifthrasiir has joined.
22:11:22 <fizzie> It's not Ruby that's running the games; that's gearlance/gearlanced, written in C.
22:11:25 <fizzie> I was assuming Taneb meant the bot.
22:12:46 <AndoDaan> 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 <fizzie> 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 <fizzie> 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 <AndoDaan> Grand. Not that I had any worries about it.
22:16:15 <AndoDaan> Yeah, I was kinda spamming the chat with my adjustments earlier. Sorry about that
22:17:16 <fizzie> That's quite okay; it's what it is there for.
22:17:49 -!- oerjan has joined.
22:19:01 <fizzie> @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 <lambdabot> Consider it noted.
22:19:11 <AndoDaan> I wanted also ask/suggest, if it was possible to toggle the debugger box output in esjoustTrace.js ?
22:19:46 <AndoDaan> When it's a long match, the abundance of updates grinds my browser to a halt.
22:21:10 <fizzie> 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 <HackEgo> [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 <boily> `relcome vravn
00:50:59 <HackEgo> vravn: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
00:51:11 -!- vravn has left ("Leaving").
00:52:06 <boily> nooooooooooooooooooo! ouaïïïïïïïïïïlle!
00:53:39 <oerjan> biquausse
00:54:42 -!- Aniya_Bruen has joined.
00:54:55 <boily> that is so quintessentially French that I can only stare in beatification.
00:55:07 <boily> `relcome Aniya_Bruen
00:55:08 <HackEgo> Aniya_Bruen: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
01:03:20 <AndoDaan> !bfjoust spitFire (>+[+])*-1
01:03:21 <zemhill> AndoDaan.spitFire: points -18.33, score 11.68/100, rank 47/47
01:03:56 <oerjan> <ais523> 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 <AndoDaan> !bfjoust spitFire ([>{>+[+]}>])-1
01:04:17 <zemhill> AndoDaan.spitFire: points -26.62, score 3.87/100, rank 47/47 (change: --)
01:04:46 <oerjan> it sounds like how an english speaker would badly pronounce no:knulle ... which is en:fuck
01:05:59 <AndoDaan> !bfjoust spitFire (>)*10((-)*20[+]>)*-1
01:06:00 <zemhill> AndoDaan.spitFire: points -26.57, score 8.44/100, rank 47/47 (change: --)
01:06:04 <oerjan> (it's ironic because "canola" was a word invented _not_ to sound like "rape")
01:06:41 <boily> canola is cheap here, for some mysterious reason...
01:06:48 <AndoDaan> !bfjoust spitFire (>)*9(>[(-)*20[++.]))*-1
01:06:48 <zemhill> AndoDaan: error: parse error: terminating ) without a matching (
01:06:53 <AndoDaan> !bfjoust spitFire (>)*9(>[(-)*20[++.])*-1
01:06:54 <zemhill> AndoDaan: error: parse error: [..] crossing out of a ({..}) level
01:07:29 <AndoDaan> !bfjoust spitFire (>)*9(>[(-)*20[++.]>]))*-1
01:07:29 <zemhill> AndoDaan: error: parse error: terminating ) without a matching (
01:08:00 <AndoDaan> !bfjoust spitFire (>)*9>([(-)*20[++.]>])*-1
01:08:01 <zemhill> AndoDaan.spitFire: points -31.67, score 5.61/100, rank 47/47 (change: --)
01:08:36 <AndoDaan> !bfjoust spitFire (>)*9>([(-)*20(+.)*156>])*-1
01:08:37 <zemhill> AndoDaan.spitFire: points -29.00, score 8.33/100, rank 47/47 (change: --)
01:11:00 <AndoDaan> !bfjoust spitFire (>)*9>([(-)*20(++.-.)*78>])*-1
01:11:01 <zemhill> 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 <boily> !bfjoust broiled-lobster (>[-.])*31
01:11:53 <zemhill> 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 <AndoDaan> !bfjoust spitFire (>)*9[-]([<[+{[+]}]])*3
01:13:52 <zemhill> AndoDaan.spitFire: points -31.95, score 5.63/100, rank 47/47
01:14:10 -!- conehead has joined.
01:14:11 <AndoDaan> f it
01:16:36 <AndoDaan> !bfjoust spitFire >+(>)*2(+)*2(>)*3(+)*3(>)*4(+)*32([+]>)-1
01:16:37 <zemhill> AndoDaan.spitFire: points -42.45, score 0.80/100, rank 47/47 (change: --)
01:17:17 <AndoDaan> !bfjoust spitFire >+(>)*2(+)*2(>)*3(+)*3(>)*2(+)*32([+]>)-1
01:17:18 <zemhill> AndoDaan.spitFire: points -41.36, score 1.68/100, rank 47/47 (change: --)
01:18:16 <AndoDaan> !bfjoust spitFire >+(>)*2(+)*2(>)*3(+)*3(>)*2(+)*32((-)*9[+]>(-)*9[+]>(+++)*9[-]>)-1
01:18:16 <zemhill> 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 <AndoDaan> !bfjoust spitFire [>[<->][[+].>]
01:20:41 <zemhill> AndoDaan: error: parse error: starting [ without a matching ]
01:20:55 <AndoDaan> !bfjoust spitFire >[>[<->][[+].>]
01:20:55 <zemhill> AndoDaan: error: parse error: starting [ without a matching ]
01:21:04 <AndoDaan> bah, time for bed
01:21:14 -!- AndoDaan has left.
01:23:02 <boily> @ask AndoDaan will you have dreamt of fungot?
01:23:02 <lambdabot> Consider it noted.
01:23:02 <fungot> 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 <boily> fungot: a book with the wrong fnord? I don't think I'm ready for that.
01:23:26 <fungot> 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 <boily> 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 <elliott_> 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 <elliott_> I wonder if that's one of those bots that joins random channels to log them secretly or something.
01:49:19 <Bike> is that something that happens
01:51:56 -!- pi___ has joined.
02:00:47 <shachaf> 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 <shachaf> I don't know who it is.
02:01:13 <shachaf> http://s6.fi/do_not_click_this.txt
02:01:24 <shachaf> Apparently not in here.
02:02:39 <shachaf> what're y'all clicking that for
02:02:54 <Bike> same reason i eat shiny candy
02:04:28 <shachaf> whoa, other people with ip addresses similar to yours have been to my website before
02:04:41 <shachaf> turns out i'm popular in pullman
02:04:50 <Bike> there's a school.
02:04:54 <shachaf> yes
02:05:11 <shachaf> i've never been that far east
02:05:19 <shachaf> ...in that state, that is
02:06:31 <shachaf> 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 <pikhq> shachaf: Darn, why don't you have IPv6?
02:56:43 <pikhq> It doesn't get my awesome reverse DNS!
02:57:01 <pikhq> ... 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 <elliott_> oh, uh, hmm...
03:57:38 <elliott_> 04:57:13 [freenode] -!- Aglae56 [~selbyk@li604-225.members.linode.com]
03:57:38 <elliott_> 04:57:13 [freenode] -!- ircname : Selby Kendrick - http://selby.io
03:58:55 <shachaf> +b *!*@*.members.linode.com
03:59:18 <elliott_> 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 <elliott_> would be nice to know what those bots were though
04:00:37 -!- augur has quit (Quit: Leaving...).
04:02:16 <shachaf> Hmm, I take that back, I think they're related.
04:02:55 <shachaf> 19:51 -!- Aurelia3 [~nodebot@li604-225.members.linode.com] has joined
04:02:57 <shachaf> 20:39 -!- Aurelia3 [~nodebot@li604-225.members.linode.com] has quit [Remote host closed the connection]
04:03:12 <shachaf> 20:44 -!- Alanna59 [~selbyk@li604-225.members.linode.com] has joined
04:03:26 <shachaf> In another channel.
04:03:42 <elliott_> yeah, I assumed they were.
04:03:49 <shachaf> Well, more than related.
04:03:55 <shachaf> Whatever, never mind.
04:03:57 <elliott_> I guess I was giving benefit of the doubt because why would a random bot identify its owner or whatever?
04:04:46 <shachaf> They've been joining a whole bunch of channels this way.
04:05:04 -!- augur has joined.
04:05:12 <elliott_> I already /msg'd apologising for the ban so I'd look silly if I re-added it.
04:05:54 <Sgeo> http://www.smbc-comics.com/?id=3491
04:06:10 <Sgeo> shachaf: I hovered over it. Quassel then loaded the page. I didn't click, but it's probably equivalent
04:06:52 <shachaf> Yes, I only meant web browser user-agents issuing GETs, not HEADs or IRC client GETs.
04:06:55 <augur> elliott_: you're probably in university now right
04:07:08 <augur> what are you studying? anything good?
04:08:09 <Sgeo> http://www.xhaus.com/headers
04:08:27 <Sgeo> I can't read the text from this
04:08:29 <augur> thats sort of out of nowhere. heh. hey elliott_! havent chatted in a while, chu been up to? yadda yadda
04:11:48 <elliott_> augur: doing lots of drugs, spending my millions, living the life, the usual
04:12:05 <augur> elliott_: sounds like a good plan!
04:17:22 <Sgeo> http://www.whatsmyuseragent.com/
04:18:09 <Sgeo> Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) Quassel IRC Safari/534.34
04:18:37 <shachaf> OK, now they've been K-Lined.
04:18:47 <Bike> rip
04:45:41 -!- AndoDaan has joined.
05:11:00 <AndoDaan> `help
05:11:00 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
05:12:29 <AndoDaan> !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 <fizzie> Re bots: an AI experiment gone wrong?
05:29:22 <oerjan> i think a !help command might be !helpful to avoid confusion
05:30:36 <fizzie> I didn't want to actually "take" the !prefix. But perhaps so.
05:30:38 <AndoDaan> better to have too many commands than too few
05:43:24 <AndoDaan> @help
05:43:25 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
05:43:30 <AndoDaan> @list
05:43:30 <lambdabot> What module? Try @listmodules for some ideas.
05:43:41 <AndoDaan> @help list
05:43:41 <lambdabot> list [module|command]. Show commands for [module] or the module providing [command].
05:43:53 <fizzie> I've done that exact thing before.
05:43:58 <AndoDaan> @listmodules
05:43:58 <lambdabot> 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 <AndoDaan> someone needs to make a super bot
05:44:49 <oerjan> ^prefixes
05:44:49 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
05:45:03 <oerjan> closest thing
05:45:16 <AndoDaan> Damn, I was actually thinking of adding a bot to this room.
05:45:17 <fizzie> ^help
05:45:17 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
05:45:22 <fizzie> (Just checking.)
05:45:24 <AndoDaan> But I'm sure I could contribute nothinkg
05:45:47 <oerjan> the unthinking void
05:45:53 <AndoDaan> @listmodules
05:45:53 <lambdabot> 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 <AndoDaan> +help
05:47:10 <fizzie> thutubot has not been seen in a while.
05:47:28 <AndoDaan> aww, but he was the coolest one.
05:47:47 <AndoDaan> best regex bot then?
05:48:31 <AndoDaan> @help compose
05:48:31 <lambdabot> . <cmd1> <cmd2> [args].
05:48:31 <lambdabot> . [or compose] is the composition of two plugins
05:48:31 <lambdabot> The following semantics are used: . f g xs == g xs >>= f
05:49:28 <oerjan> note the careful avoidance of specifying in which monad
05:50:23 <AndoDaan> Like x on = on x on
05:50:36 <AndoDaan> 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 <fizzie> !help
05:51:15 <fizzie> 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 <fizzie> !help
05:52:10 <zemhill> fizzie: I do !bfjoust; see http://zem.fi/bfjoust/ for more information.
05:52:30 <fizzie> There, now it's not too bad if someone else shares ! with it.
05:53:19 <oerjan> !excellent
05:56:24 <fizzie> At least if whoever picks ! doesn't decide to say something on every "unknown" command.
05:56:34 <oerjan> something is wrong, girl genius has updated early several times in a row
05:57:01 <mroman_> ^bool
05:57:01 <fungot> Yes.
05:57:05 <mroman_> ^bool false
05:57:13 <shachaf> oerjan: must be making up for olist
05:57:19 <oerjan> ah right
05:59:28 <AndoDaan> @help bf
05:59:28 <lambdabot> bf <expr>. Evaluate a brainf*ck expression
06:01:07 <AndoDaan> @help where
06:01:07 <lambdabot> where <key>. Return element associated with key
06:01:37 <fizzie> @metar EFHK
06:01:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
06:01:37 <lambdabot> EFHK 240550Z 27010KT 9999 FEW007 01/M01 Q1006 NOSIG
06:01:41 <fizzie> Brrr.
06:01:55 <AndoDaan> @help metar
06:01:55 <lambdabot> metar <ICAO airport code>
06:01:55 <lambdabot> Look up METAR weather data for given airport.
06:02:02 <fizzie> I guess I shouldn't complain: it's a whole degree.
06:03:46 <J_Arcane> :D
06:04:00 <J_Arcane> It's hit freezing over here in Tampere.
06:04:33 <fizzie> It did briefly dip below zero in Otaniemi too, from maybe 4:30am to 8am.
06:06:04 <fizzie> Should go up to a sweltering 5-10 °C tomorrow, though.
06:06:33 -!- blsqbot has joined.
06:07:00 <mroman_> !rlisp (add 2 2)
06:07:00 <blsqbot> Value 4
06:07:17 <fizzie> 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 <fungot> fizzie: the professor cautiously produced a couple of shillings.
06:07:31 <fizzie> fungot: Is this going to be some kind of a parable?
06:07:32 <fungot> 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 <fizzie> I think it is.
06:07:52 <shachaf> @metar KSJC
06:07:52 <lambdabot> KSJC 240553Z 32005KT 10SM FEW008 BKN021 19/16 A2997 RMK AO2 SLP148 T01890161 10244 20183 51011
06:08:15 <mroman_> !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 <blsqbot> Value 1
06:08:17 <shachaf> come to think of it i don't know what any of those numbers mean
06:08:21 <AndoDaan> !rlisp (times `(+++) 4 )
06:08:21 <blsqbot> That line gave me an error
06:08:27 <AndoDaan> good
06:08:33 <AndoDaan> just testing.
06:08:55 <J_Arcane> Heh. And now I want to write a Lisp again. XD Thanks for that. ;)
06:09:19 <mroman_> AndoDaan: It's a "LISP" with recursion only
06:09:25 <mroman_> i.e. r is the recursion operator
06:09:31 <shachaf> oh, it's been jammed up. is 19° the temperature?
06:09:31 <Bike> no lambdas?
06:09:34 <mroman_> and $0 is argument 0
06:09:37 <mroman_> i.e.
06:09:51 <mroman_> !rlisp (if== $0 0 (r 5 3) (add $0 $1))
06:09:52 <blsqbot> Value 8
06:10:03 <oerjan> shachaf: yes
06:10:06 <mroman_> (the first recursion $0 is always initialized to 0)
06:10:27 <fizzie> shachaf: The 19/16 item (or 01/M01 in my case) is temperature (in Celsius) and the dew point.
06:10:41 <mroman_> !rlisp (if== $0 0 (r 0) (r 0))
06:10:46 <blsqbot> Ain't nobody got time fo' that!
06:11:10 <AndoDaan> !rlisp (if == $0 (r 4 1) (add $ $1 ))
06:11:11 <blsqbot> That line gave me an error
06:11:17 <AndoDaan> !rlisp (if == $0 (r 4 1) (add $ $1 ))
06:11:17 <blsqbot> That line gave me an error
06:11:22 <mroman_> it's if==
06:11:24 <mroman_> not if ==
06:11:45 <mroman_> also that $ is probably a parser error
06:11:51 <AndoDaan> !rlisp (if== $0 0 (r 4 1)(add $0 $1))
06:11:52 <blsqbot> Value 5
06:13:20 <mroman_> (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 <mroman_> hm. Let's do Fib!
06:13:52 <HackEgo> [wiki] [[Special:Log/newusers]] create * MargieBertles * New user account
06:14:04 <AndoDaan> WHY DON'T ANY OF Y'ALL BOT RUN NORMAL LANGUAGES
06:14:17 <AndoDaan> oh wait
06:14:18 <fizzie> 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 <oerjan> `runc printf "I have no idea what you mean.\n"
06:14:33 <fizzie> Add the word "wind" to the appropriate place in that sentence.
06:14:34 <HackEgo> No output.
06:14:38 <oerjan> oops
06:14:40 <mroman_> !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 <blsqbot> That line gave me an error
06:14:43 <mroman_> :(
06:14:56 <oerjan> `runc printf("I have no idea what you mean.\n")
06:14:56 <HackEgo> No output.
06:15:02 <oerjan> wat.
06:15:06 <oerjan> `cat bin/runc
06:15:06 <HackEgo> ​#!/bin/bash \ t=`tempfile` \ echo -e "$@" | gcc -o $t -x c - 2>/dev/null && $t \ rm $t
06:15:13 <mroman_> !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 <blsqbot> That line gave me an error
06:15:30 <oerjan> oh no expressions
06:15:40 <shachaf> fizzie: at least it's °C
06:15:43 <oerjan> `runc main(){printf("I have no idea what you mean.\n");}
06:15:44 <HackEgo> No output.
06:16:05 <oerjan> this `runc command isn't very friendly.
06:17:08 <oerjan> `runc int main(){printf("I have no idea what you mean.\n");}
06:17:09 <HackEgo> No output.
06:17:26 <AndoDaan> `run help
06:17:26 <HackEgo> 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 <AndoDaan> `help
06:17:37 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
06:18:08 <fizzie> `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 <HackEgo> I have no idea what you mean either!
06:18:36 <AndoDaan> hmm
06:18:58 <fizzie> 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 <fizzie> `runc int main(){printf("I have no idea what you mean.\\n");}
06:19:06 <HackEgo> I have no idea what you mean.
06:19:07 <oerjan> bah
06:19:27 <fizzie> It's not very friendly, that's true.
06:19:58 <Bike> shouldn't you use something else to mean a newline
06:20:03 <Bike> maybe some kind of............... trigram
06:20:50 <shachaf> oerjan: wow, that's a scow
06:21:12 <shachaf> echo -e?
06:21:24 <AndoDaan> ^bf >>+++++++<[->+++++<].
06:21:42 <shachaf> 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 <oerjan> yes
06:21:57 <mroman_> !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 <blsqbot> Value 55
06:22:05 <mroman_> !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 <blsqbot> Value 89
06:22:07 <AndoDaan> ^bf
06:22:09 <mroman_> !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 <b_jonas> !bfjoust lose (<)*99
06:22:10 <blsqbot> Value 144
06:22:10 <zemhill> b_jonas.lose: points -46.00, score 0.00/100, rank 47/47
06:22:12 <oerjan> shachaf: that doesn't do \n expansion, you know
06:22:22 <mroman_> damn parser is buggy and doesn't allow spaces after (r ...)
06:22:26 <AndoDaan> ^help
06:22:27 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
06:22:33 <shachaf> I guess \n expansion is important if you want to use CPP.
06:22:36 <oerjan> `run ls bin/*arg*
06:22:37 <HackEgo> bin/print_args_or_input
06:22:59 <AndoDaan> ^bool
06:22:59 <fungot> Yes.
06:23:41 <fizzie> `run sed -i -e 's/gcc/gcc -trigraphs/' bin/runc
06:23:42 <HackEgo> No output.
06:23:43 <fizzie> `runc int main(){printf("I have no idea what you mean.??/n");}
06:23:44 <HackEgo> I have no idea what you mean.
06:23:46 <AndoDaan> ^ul (Hello)S
06:23:46 <fungot> Hello
06:23:50 <fizzie> There, now it's user-friendly.
06:24:02 <fizzie> I mean, everyone writes ??/n by default, right?
06:24:22 <AndoDaan> ^style
06:24:22 <fungot> 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 <b_jonas> !bfjoust nop2 (-)*9999999
06:24:58 <zemhill> b_jonas.nop2: points -15.31, score 13.96/100, rank 47/47
06:25:17 <b_jonas> hmm, that's better than some of the stuff I tried yesterday
06:25:29 <oerjan> b_jonas: i think you were pointed out that -1 is equivalent to a sufficiently large number
06:25:50 <oerjan> also, the limit is 100000 anyway
06:26:06 <fizzie> It's not quite a "nop" since it does useful stuff.
06:26:13 <b_jonas> yeah
06:26:17 <b_jonas> that's why it's nop2
06:26:23 <b_jonas> not would be (.)*999999
06:26:32 <oerjan> * (.)-1
06:26:39 <b_jonas> !bfjoust nop (.)*-1
06:26:39 <zemhill> b_jonas.nop: points -34.29, score 4.32/100, rank 47/47
06:26:45 <fizzie> Logic, my worst enemy.
06:27:19 <b_jonas> !bfjoust spin1 >(+)*-1
06:27:19 <Bike> er, did it get worse?
06:27:19 <oerjan> also, there's an implicit (.)-1 at the end of a program anyway
06:27:24 <zemhill> b_jonas.spin1: points -7.40, score 13.49/100, rank 47/47
06:27:28 <oerjan> *+*
06:27:43 <b_jonas> !bfjoust spin2 >>(+)*-1
06:27:48 <zemhill> b_jonas.spin2: points -14.86, score 4.71/100, rank 47/47
06:28:27 <b_jonas> !bfjoust spin1a2 >((+)*9>(+)*9<)*-1
06:28:30 <zemhill> b_jonas.spin1a2: points -28.95, score 3.68/100, rank 47/47
06:28:32 <mroman_> !rlisp (r(r(r(r(r(0))))))
06:28:32 <blsqbot> That line gave me an error
06:28:36 <mroman_> !rlisp (r(r(r(r(r(0)))))
06:28:37 <blsqbot> That line gave me an error
06:28:49 <mroman_> !rlisp (r(r(r(r(r 0)))))
06:28:52 <blsqbot> That line gave me an error
06:29:06 <Bike> good lisp
06:29:16 <mroman_> !rlisp (r(r(r(r(r 0)))))
06:29:21 <blsqbot> That line gave me an error
06:29:32 <mroman_> probably stack overflow or something
06:29:33 <b_jonas> !bfjoust spin1 >>>(+)*60<<(+)*-1
06:29:38 <zemhill> b_jonas.spin1: points -11.55, score 7.00/100, rank 47/47
06:29:45 <b_jonas> !bfjoust spin1 >>(+)*60<(+)*-1
06:29:51 <zemhill> b_jonas.spin1: points -12.29, score 5.62/100, rank 47/47 (change: --)
06:29:58 <b_jonas> !bfjoust spin1 >>+<(+)*-1
06:30:04 <zemhill> b_jonas.spin1: points -8.07, score 11.35/100, rank 47/47 (change: --)
06:30:09 <Bike> !rlisp (r 0)
06:30:12 <b_jonas> !bfjoust spin1 >.(+)*-1
06:30:14 <blsqbot> That line gave me an error
06:30:18 <zemhill> b_jonas.spin1: points -7.38, score 13.51/100, rank 47/47 (change: --)
06:30:21 <Bike> makes u think
06:30:23 <b_jonas> !bfjoust spin1 >(+)*-1
06:30:28 <zemhill> b_jonas.spin1: points -7.40, score 13.49/100, rank 47/47 (change: --)
06:31:06 <mroman_> although (r 0) parses
06:31:20 <mroman_> !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 <blsqbot> Ain't nobody got time fo' that!
06:31:42 <Bike> !rlisp (and (== 0 0))
06:31:43 <blsqbot> That line gave me an error
06:31:45 <AndoDaan> ^bf +++++[>+++++++++++<-]>.
06:31:46 <fungot> 7
06:31:55 <mroman_> it only has add,sub,mul,div,odd
06:32:10 <mroman_> add,mul,div,sub,if==,if<,odd
06:32:10 <Bike> suxxx
06:32:15 <Bike> !rlisp (odd 3)
06:32:15 <blsqbot> Value 1
06:32:15 <mroman_> that's all it has
06:32:47 <AndoDaan> ^def lucknumber bf +++++[>+++++++++++<-]>.
06:32:47 <fungot> Defined.
06:33:41 <AndoDaan> ^lucknumber
06:33:41 <fungot> 7
06:33:52 <AndoDaan> hmm
06:33:56 <mroman_> !rlisp (add 1 2 3 4 5)
06:33:57 <blsqbot> Value 15
06:34:06 <mroman_> but it has at least varargs :)
06:34:21 <AndoDaan> ^help
06:34:21 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
06:34:30 <Bike> !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 <blsqbot> That line gave me an error
06:35:10 -!- oerjan has quit (Quit: Tiiired).
06:35:16 <Bike> !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 <blsqbot> That line gave me an error
06:35:21 <Bike> i blame society.
06:36:40 <mroman_> you can't have a space after a closing paren for (r
06:36:58 <Bike> your reader scares me, then.
06:37:01 <mroman_> it's buggy :)
06:37:12 <Bike> !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 <blsqbot> That line gave me an error
06:37:40 <mroman_> Prelude.(!!): index too large
06:37:48 <Bike> Ha.
06:37:50 <mroman_> your accessing arguments that don't exist
06:38:14 <Bike> !rlisp $1
06:38:15 <blsqbot> That line gave me an error
06:38:19 <Bike> !rlisp $0
06:38:19 <blsqbot> Value 0
06:38:22 <Bike> uh.
06:38:24 <Bike> great.
06:38:43 <mroman_> !rlisp (0 0 0)
06:38:44 <blsqbot> That line gave me an error
06:38:45 <mroman_> :(
06:39:04 <mroman_> yeah. I oughta redo it someday
06:39:41 <Bike> !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 <blsqbot> That line gave me an error
06:39:54 <Bike> !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 <blsqbot> That line gave me an error
06:39:58 <mroman_> unexpected end of input
06:39:59 <mroman_> expecting white space, "(", "-", digit or "$"
06:40:01 <Bike> fuck's sake.
06:40:09 <Bike> !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 <blsqbot> Value 61
06:40:32 <Bike> hey, got it right.
06:40:46 <Bike> !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 <blsqbot> Ain't nobody got time fo' that!
06:40:57 <mroman_> what's it doing?
06:41:19 <Bike> ackermann function. with 4,4 the answer ought to be 2^2^2^65536 - 3.
06:41:27 <Bike> it got 3,3 right though.
06:41:40 <Bike> !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 <blsqbot> Ain't nobody got time fo' that!
06:41:55 <Bike> what a wuss.
06:42:01 <mroman_> There's a strict time limit ;)
06:42:28 <Bike> 4,1 is reasonably small, but i the recursion's too deep i guess.
06:42:38 <Bike> !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 <blsqbot> Value 125
06:42:48 <Bike> !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 <blsqbot> Ain't nobody got time fo' that!
06:43:00 <Bike> !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 <blsqbot> Ain't nobody got time fo' that!
06:43:09 <Bike> oh well.
06:43:27 <mroman_> I think you have 50ms
06:44:40 <mroman_> hm wait no
06:44:49 <mroman_> timeout is in microseconds
06:44:53 <mroman_> which is 1/10^6
06:44:57 <mroman_> then 4*10^6 is 4 seconds?
06:46:25 <mroman_> !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 <blsqbot> Ain't nobody got time fo' that!
06:46:32 <mroman_> yeah. 4s
06:47:26 <mroman_> oh well.
06:47:28 <AndoDaan> ^ul (::**)(::**)*
06:47:53 <AndoDaan> ^ul (::**)(::**)* S
06:47:54 <fungot> ...bad insn!
06:48:05 <Bike> huh, ack 4 takes longer than i remembered.
06:48:07 <AndoDaan> ^ul ((::**)(::**)*)S
06:48:07 <fungot> (::**)(::**)*
06:48:33 <AndoDaan> ^ul (::**)(::**)*S
06:48:33 <fungot> ::**::**
06:48:34 <Bike> i guess it's obvious though.
06:49:17 <Bike> matter of fact i get a stack overflow in my fairly non shitty lisp, fuck
06:50:51 <Bike> With a bit of optimization it works fine though, woo yeah.
06:51:21 <Bike> !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 <blsqbot> Value 65533
06:51:30 <Bike> !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 <blsqbot> Ain't nobody got time fo' that!
06:52:24 <Bike> oh welllll
06:52:27 <mroman_> ?
06:52:36 <Bike> What?
06:53:26 <mroman_> now I kinda wanna make a non-shitty lisp .
06:53:33 <mroman_> with bindings to burlesque .
06:53:40 <mroman_> that'd be fun.
06:54:12 <Bike> well, without some serious analysis you can't run that particular without getting thousands of stack frames deep. imo, alas
06:55:53 <mroman_> I could really add a layer of LISP over burlesque
06:56:35 <mroman_> !blsq "hello"gn\[Q
06:56:35 <blsqbot> helo
06:56:54 <mroman_> (pretty (concat (groupNub "hello")))
06:57:14 <mroman_> ^- like that
06:59:22 <Bike> !rlisp ($if== $0 0 (r 2 65)($if== $1 0 $0 (r (mul $0 $0) (sub $1 1))))
06:59:22 <blsqbot> That line gave me an error
06:59:23 <mroman_> (which would essentially mean to compile LISP-like stuff to Burlesque)
06:59:28 <Bike> !rlisp ($if== $0 0 (r 2 63)($if== $1 0 $0 (r (mul $0 $0) (sub $1 1))))
06:59:28 <blsqbot> That line gave me an error
06:59:35 <Bike> !rlisp ($if== $0 0 (r 2 11)($if== $1 0 $0 (r (mul $0 $0) (sub $1 1))))
06:59:36 <blsqbot> That line gave me an error
06:59:41 <Bike> guess i messed up.
06:59:43 <mroman_> rlisp: (line 1, column 2):
06:59:43 <mroman_> unexpected "$"
06:59:44 <mroman_> expecting white space, "add", "mul", "div", "sub", "r", "if==", "if<" or "odd"
06:59:52 <Bike> ...
06:59:56 <Bike> !rlisp (mul $0 $0)
06:59:57 <blsqbot> Value 0
06:59:57 <mroman_> you wrote $if
06:59:59 <Bike> oh.
07:00:04 <Bike> !rlisp ($if== $0 0 (r 2 11)(if== $1 0 $0 (r (mul $0 $0) (sub $1 1))))
07:00:05 <blsqbot> That line gave me an error
07:00:13 <Bike> !rlisp (if== $0 0 (r 2 11)(if== $1 0 $0 (r (mul $0 $0) (sub $1 1))))
07:00:13 <mroman_> you still wrote $if ;)
07:00:15 <Bike> twice, even.
07:00:18 <blsqbot> Ain't nobody got time fo' that!
07:01:05 <mroman_> can you show an IOException?
07:03:56 -!- blsqbot has quit (Quit: Exiting).
07:04:46 -!- blsqbot has joined.
07:04:54 <mroman_> !rlisp lulz
07:04:54 <blsqbot> readProcess: ./rlisp "--ircbot" "lulz" (exit 1): failed
07:04:59 <mroman_> ok
07:05:05 <mroman_> !rlisp (add 0 0)
07:05:05 <blsqbot> Value 0
07:05:29 <mroman_> !rlisp ($if==)
07:05:30 <blsqbot> readProcess: ./rlisp "--ircbot" "($if==)" (exit 1): failed
07:05:33 <mroman_> damn
07:10:03 -!- blsqbot has quit (Quit: Exiting).
07:10:29 -!- blsqbot has joined.
07:10:32 <mroman_> !rlisp ($if==)
07:10:32 <blsqbot> (line 1, column 2):
07:11:27 <mroman_> well... better than nothing :D
07:12:35 <myname> will it support emojilisp?
07:13:16 <mroman_> it won't support anything
07:17:02 <mroman_> also what's emojilisp
07:20:24 <myname> http://emojilisp.com/
07:31:20 <AndoDaan> !blsq '+'2*
07:31:20 <blsqbot> ERROR: (line 1, column 6):
07:31:57 <mroman_> !blsq '+'2.*
07:31:57 <blsqbot> ERROR: Burlesque: (.*) Invalid arguments!
07:32:02 <mroman_> !blsq '+2.*
07:32:02 <blsqbot> "++"
07:32:14 <mroman_> chars don't have a closing '
07:32:21 <mroman_> since a closing ' is redundant and useless
07:32:26 <AndoDaan> !blsq grand
07:32:27 <blsqbot> ERROR: (line 1, column 6):
07:32:38 <mroman_> it's the most redundant thing in computer programming languages
07:32:40 <AndoDaan> lol i'm useless
07:32:45 <mroman_> grand?
07:33:34 <mroman_> commands are 2 chars each
07:34:00 <mroman_> !blsq "fuck"ps
07:34:01 <blsqbot> {fu ck}
07:34:17 <mroman_> !blsq "fuckthisshit"ps
07:34:18 <blsqbot> {fu ck th is sh it}
07:34:28 <AndoDaan> !blsq "grand"ps
07:34:28 <blsqbot> No output!
07:34:35 <AndoDaan> !blsq "grand"ps
07:34:36 <blsqbot> {ERROR: (line 1, column 6):
07:34:43 <AndoDaan> !blsq "grand."ps
07:34:43 <blsqbot> {gr an d.}
07:35:13 <mroman_> What are you trying to do?
07:35:14 <AndoDaan> !blsq "'g2*"ps
07:35:14 <blsqbot> {ERROR: (line 1, column 5):
07:35:20 <mroman_> I'm sort of an export in Burlesque ;P
07:35:22 <mroman_> *expert
07:35:36 <AndoDaan> hehe, I know. You're the guy.
07:35:45 <myname> i don't think he is doing anything in particular
07:36:00 <mroman_> `learn mroman is an export in Burlesque
07:36:02 <HackEgo> I knew that.
07:36:05 <AndoDaan> But I'm just messing around a bit. It's a fun toy.
07:36:27 <AndoDaan> `help
07:36:27 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
07:37:01 <AndoDaan> `def xxx blue
07:37:02 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: def: not found
07:37:30 <AndoDaan> Man, I need a break.
07:37:43 <mroman_> !blsq 0 300r@)?n{(m[)==}fi
07:37:43 <blsqbot> 57
07:37:55 <AndoDaan> mroman_ how serious are you about octo burlesque?
07:37:58 <mroman_> !blsq 0 300r@)?n{(gr)==}fi
07:37:58 <blsqbot> 212
07:38:08 <J_Arcane> Speaking of browser lisps, I'm hosting the Try Racket REPL now.
07:38:11 <mroman_> AndoDaan: octo burlesque?
07:38:20 <mroman_> You mean octo-frogscript?
07:38:32 <AndoDaan> hmm, I guess.
07:38:44 <mroman_> (If you are referring to my github repo)
07:39:00 <AndoDaan> yeah.
07:39:33 <AndoDaan> J_Arcane racket repl?
07:39:40 <mroman_> It was an attemp to create a successor for Burlesque
07:39:49 <J_Arcane> http://try-racket.org/
07:40:00 <mroman_> but Burlesque has just so many stuff it will take years to support all those builtins in a successor
07:40:24 <J_Arcane> It's very fragile just yet though.
07:41:04 <AndoDaan> i'll just follow the tutorial
07:41:22 <mroman_> So I kinda cancelled it and continued work on Burlesque
07:41:31 <mroman_> even though it's somewhat "dirty" :)
07:41:36 <mroman_> *somewhat
07:41:48 <AndoDaan> dirty?
07:42:09 <mroman_> Yeah. Just look at the Eval.hs code ;)
07:42:46 <mroman_> Also I should probably switch to Data.Map someday
07:42:58 <mroman_> I think lookup on [(String,a)] is pretty much O(n) all the time
07:43:29 <mroman_> I mean.
07:43:42 <mroman_> Some commands just push a String with Code on the stack and execute parseEval :)
07:43:46 <mroman_> that's how dirty it is
07:44:02 <mroman_> pushToStack $ BlsqStr "x/Shx/\\/x/x/\\/P["; builtinParse; builtinEval;
07:44:38 <AndoDaan> you say dirty, I say driven
07:44:46 <mroman_> "driven"?
07:45:14 <AndoDaan> you really wanted to get it out there
07:45:33 <mroman_> :)
07:45:57 <mroman_> Well... there's a reason some Commands are implemented using existing Commands
07:46:03 <mroman_> rather than implementing new Commands in Haskell
07:46:13 <mroman_> this maximizes unintended sideffects
07:46:18 <mroman_> for example the multiplesOf command
07:46:22 <mroman_> !blsq 3mo10.+
07:46:22 <blsqbot> {3 6 9 12 15 18 21 24 27 30}
07:46:23 <HackEgo> [wiki] [[Special:Log/newusers]] create * Pe4rcee3vk * New user account
07:46:34 <mroman_> It's supposed to generate a list of multiples... which it does
07:46:43 <mroman_> but since it's defined using other commands
07:46:52 <mroman_> it has side-effects even I didn't really know of
07:46:56 <mroman_> !blsq {"abc""def"}mo
07:46:57 <blsqbot> {"1cba" "2fed"}
07:47:09 <mroman_> ^- like that
07:47:43 <mroman_> mo is defined as 1R@\/?*
07:47:56 <mroman_> which happens to do funny stuff if you don't actually supply an integer ;)
07:48:35 <mroman_> !blsq {1 2 3}mo
07:48:36 <blsqbot> {1 4 9}
07:48:40 <mroman_> wait
07:48:45 <mroman_> this could be useful in golfing
07:51:02 <AndoDaan> J_Arcane this is a beautiful tutorial
07:51:53 <J_Arcane> 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 <int-e> Pe4rcee3vk ... any bets that this account is going to spam?
07:52:23 <mroman_> !blsq {0 1 2 3 4}mo
07:52:24 <blsqbot> {0 2 6 12 20}
07:52:34 <mroman_> funny thing this mo
07:52:50 <AndoDaan> ready to make my own webapp in racket
07:53:05 <AndoDaan> I'm gonna be the next big thing on the web!
07:53:47 <AndoDaan> But seriously, it looks like a usefull language.
07:55:08 <J_Arcane> It is a very lovely language; easily my favorite Lisp.
07:58:31 <mroman_> isn't racket ruby?
08:00:08 <mroman_> !blsq 1cymo
08:00:08 <blsqbot> Ain't nobody got time fo' dat!
08:00:12 <mroman_> !blsq 1cymo20.+
08:00:13 <blsqbot> Ain't nobody got time fo' dat!
08:00:25 <mroman_> !blsq 1bxmo
08:00:25 <blsqbot> {1}
08:03:11 <AndoDaan> !blsq "..6+**"mo
08:03:12 <blsqbot> Ain't nobody got time fo' dat!
08:03:49 <AndoDaan> I'll see you guys later. Have fun.
08:03:52 -!- AndoDaan has quit.
08:12:40 <Sgeo> :( YouTube suggested a video that has the usual "gravity is a depression in a sheet" explanation of gravity
08:12:42 <Sgeo> :(
08:14:10 <Sgeo> Still looks cool I guess
08:14:15 <Sgeo> https://www.youtube.com/watch?v=MTY1Kje0yLg
08:14:47 <mroman_> !blsq "abc"mo20.+
08:14:48 <blsqbot> {"1cba" "2cba" "3cba" "4cba" "5cba" "6cba" "7cba" "8cba" "9cba" "01cba" "11cba"
08:20:19 <Sgeo> There is a cool part in the video
08:25:36 <fizzie> 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 <ion> Or two clubs with separate entrances?
08:34:22 <fizzie> I guess that's a possibility too.
08:34:36 <shachaf> fizzie: aha, it says "suomalainen" rather than "suomea" or something so whatever i was going to say about languages is invalid
08:35:20 <shachaf> 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 <mroman_> `dontaskdonttelllist
09:39:54 <HackEgo> 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 <mroman_> zzo38 really should write a flogscript docu
09:45:47 <mroman_> @tell zzo38 zzo38computer.org is pretty much unreachable.
09:45:47 <lambdabot> 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 <mroman_> ais523: I have no idea what my edits were :)
11:26:37 <mroman_> Except for the "my blog" and "numchallenges" link
11:26:50 <mroman_> but they are on the page so I guess they weren't caught by the spam filter
11:27:08 <ais523> mroman_: right
11:27:15 <ais523> if you're happy with the current situation, we'll just leave it
11:27:29 <ais523> 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 <mroman_> I'm happy
11:28:46 <mroman_> 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 <HackEgo> [wiki] [[Talk:Bueue]] http://esolangs.org/w/index.php?diff=40526&oldid=40502 * Feuermonster * (+198) Why are they flawed?
11:36:10 <mroman_> It's a stupid language/idea anyway
11:36:19 <mroman_> but still. I don't see why the example programs are "flawed".
11:38:21 -!- AndoDaan has joined.
11:38:21 <mroman_> I'd pretty much delete BFFB, RCEM, X++, FRM and Bueue
11:38:55 <mroman_> Beam is neat. Stlisp/Stlang are okay-ish. Madbrain is strange.
11:39:00 <mroman_> and Burlesque is...
11:39:03 <fizzie> 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 <mroman_> I'm not sure what it is.
11:39:10 <AndoDaan> Hey, I finally managed to compile something.
11:39:32 <AndoDaan> You have the honours, mroman_ burlesques wins
11:39:55 <mroman_> But there's 8 which prints one bit as a byte
11:40:12 <mroman_> so I assume 5 will expand to some integer containing an 8
11:41:10 <mroman_> Burlesque is a Rapid Oneliner Development System or something like that :D
11:42:10 <mroman_> echo 5 | python bueue.py
11:42:11 <mroman_> 0
11:42:15 <mroman_> ^- it prints 0
11:42:39 <mroman_> Also 1313 prints 10000
11:42:49 <fizzie> mroman_: Yes, I don't know why they would be flawed; but it clearly wasn't about 11000011694.
11:43:45 <mroman_> 111 for example prints (probably) infinite ones
11:44:03 <mroman_> whereas 11111 prints (probably) infinite zeroes
11:44:04 <mroman_> etc.
11:57:33 <mroman_> the language is mostly not turing complete anyway
11:57:36 <mroman_> no nested loops
11:57:59 <mroman_> although I'm not sure if you can make a language tc without nested loops
11:59:45 <AndoDaan> does nested loops always equal recursive?
12:00:07 <AndoDaan> or mayb I'm thinking the wrong way around.
12:02:04 <AndoDaan> anywhich way if you have a conditional loop, than it should have enough to be tc
12:02:10 <Taneb> Help I've volunteered to give a talk on Lambda Calculus at some point
12:02:41 <AndoDaan> !hoogle
12:02:44 <AndoDaan> !help
12:02:44 <zemhill> AndoDaan: I do !bfjoust; see http://zem.fi/bfjoust/ for more information.
12:02:46 <ais523> Taneb: typed or untyped?
12:03:08 <AndoDaan> @help
12:03:08 <AndoDaan> `help
12:03:08 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
12:03:09 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
12:03:38 <Taneb> ais523, unspecified, probably untyped
12:03:48 <Taneb> I've got plenty of time to prepare one, though
12:03:53 <ais523> typed lambda calculus and untyped lambda calculus are pretty much entirely unrelated langauges
12:03:55 <ais523> *languages
12:04:05 <ais523> well, that's exaggerating a bit
12:04:10 <ais523> but they don't act at all similarly to each other
12:04:21 <AndoDaan> ^hlep
12:04:21 <AndoDaan> ^help
12:04:21 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
12:05:12 <ais523> ^bool
12:05:12 <fungot> No.
12:05:13 <ais523> ^bool
12:05:14 <fungot> No.
12:05:16 <ais523> hmm
12:05:53 <mroman_> Taneb: If it's untyped then it's no problem.
12:06:21 <mroman_> If it's typed just show these fancy formulas with the horizontal lines nobody can follow them anyway
12:06:31 <mroman_> that or just show the easy examples
12:07:14 <mroman_> also simply typed lc isn't turing complete as I remember
12:07:35 <ais523> it isn't
12:07:52 <ais523> 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 <ais523> I failed but still think it's possible
12:08:08 <ais523> "better" in that it's a more general result
12:09:06 <mroman_> You can't have recursion in simply typed?
12:09:30 <mroman_> I thought that's the reason it can't be tc
12:09:52 <ais523> mroman_: yes, but it's hard to /prove/ you can't have recursion
12:10:09 <ais523> it's not obvious that it's impossible to do something like the Y combinator
12:10:26 <mroman_> Hm.
12:11:22 <AndoDaan> @hoogle turing complete
12:11:24 <lambdabot> No results found
12:11:32 <AndoDaan> good,.
12:11:44 <fizzie> ^bool
12:11:45 <fungot> No.
12:11:49 <fizzie> fungot: Why so negative?
12:11:49 <fungot> fizzie: " perhaps that would be like the sea.
12:11:56 <fizzie> fungot: The sea is negative?
12:11:56 <fungot> 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 <AndoDaan> okay, what's that about?
12:12:09 <fizzie> ^bool
12:12:09 <fungot> No.
12:12:13 <fizzie> Come on!
12:12:14 <fizzie> ^bool
12:12:15 <fungot> No.
12:12:19 <AndoDaan> ^Bool
12:12:26 <AndoDaan> ^bool
12:12:26 <fungot> No.
12:12:27 <mroman_> ^fool
12:12:32 <fizzie> This is ridiculous, that's like 1/2^6
12:12:34 <fizzie> ^bool
12:12:34 <fungot> Yes.
12:12:37 <fizzie> There.
12:12:39 <AndoDaan> ^cool
12:12:57 <AndoDaan> how strang.
12:13:02 <AndoDaan> e.
12:13:37 <AndoDaan> ^search
12:13:38 <mroman_> Is it supposed to be uniformly distributed?
12:13:43 <fizzie> Yes.
12:14:08 <mroman_> Is there a small chance that he will answer "Goedel"?
12:14:09 <fizzie> It's a "native" command, because otherwise it's not possible to get different outputs for a particular input.
12:14:14 <fizzie> Sadly, no.
12:14:42 <fizzie> 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 <AndoDaan> ^show bool
12:14:51 <mroman_> wait
12:14:54 <ais523> fizzie: clearly it needs a userinterp that has a random number instruction
12:14:55 <mroman_> is fizzie written in befunge?
12:14:55 <ais523> like INTERCAL
12:15:00 <ais523> no, fizzie's a human
12:15:03 <AndoDaan> ^show bf
12:15:05 <ais523> fungot, however, is written in befunge
12:15:05 <fungot> 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 <mroman_> oh
12:15:26 <mroman_> I thought fungot controls fizzie
12:15:26 <fungot> 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 <fizzie> Maybe ^show should print something like "<built-in>" for built-ins.
12:17:40 <AndoDaan> ^show show
12:18:32 <fizzie> ^show must go on
12:18:40 <AndoDaan> ^bool
12:18:40 <fungot> No.
12:18:41 <mroman_> AndoDaan: gr is grep btw.
12:19:02 <mroman_> !blsq "Hi there\nHi bar\nBye.""Hi"gr
12:19:03 <blsqbot> "Hi there\nHi bar"
12:19:49 <AndoDaan> I'm not too farmiliar with the various commands yet
12:20:01 <AndoDaan> what does grep mean?
12:20:38 <fizzie> "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 <fizzie> I'm impressed OED had an entry for grep and WordNet didn't.
12:20:53 <mroman_> Burlesque's grep returns all lines matching a regular expression
12:21:20 <ion> :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 <fizzie> The OED entry also has citations starting from 1973.
12:21:59 <AndoDaan> Sounds a lot more logical a name when you put it like that.
12:22:57 <mroman_> so gran is grep allAlphaNum
12:23:02 <ais523> ion: it was originally some other editor, IIRC, not vi
12:23:08 <ion> ais523: ex perhaps
12:23:09 <mroman_> !blsq "\n"an
12:23:09 <blsqbot> 0
12:23:12 <mroman_> !blsq "ehtnu787"an
12:23:13 <blsqbot> 1
12:23:14 <mroman_> !blsq "ehtnu787."an
12:23:15 <blsqbot> 0
12:23:37 <mroman_> grand however is a syntax error :)
12:23:58 <fizzie> `run perl -e '@a = ("Hi there", "Hi bar", "Bye."); print join("\n", grep {/Hi/} @a);'
12:23:59 <HackEgo> Hi there \ Hi bar
12:24:12 <fizzie> ed, the standard text editor.
12:24:13 <mroman_> !blsq {{}}fuckit
12:24:13 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
12:24:21 <mroman_> !blsq {{"abc"}{"abc"}}fuckit
12:24:21 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
12:24:24 <mroman_> hm
12:24:29 <mroman_> !blsq {{"abc"}{"abc"}}{}fuckit
12:24:30 <blsqbot> 'c
12:25:39 <mroman_> gr is the same as
12:26:07 <mroman_> !blsq "Hi there\nHi bar\nBye.\n"ln{"Hi"~=}f[un
12:26:08 <blsqbot> "Hi there\nHi bar"
12:26:31 <mroman_> which is the same as
12:26:33 <mroman_> !blsq "Hi there\nHi bar\nBye.\n"ln{"Hi"~=}fu
12:26:34 <blsqbot> "Hi there\nHi bar"
12:26:38 <mroman_> which is
12:26:45 <mroman_> !blsq "Hi there\nHi bar\nBye.\n""Hi"gr
12:26:46 <blsqbot> "Hi there\nHi bar"
12:26:50 <mroman_> Questions?
12:27:24 <fizzie> Yes, how come "gr" can be the same as something as long as "Hi there\nHi bar\nBye.\n""Hi"gr
12:27:28 <AndoDaan> ^bf h,.
12:27:41 <fizzie> ^bf ,.!h
12:27:41 <fungot> h
12:27:53 <AndoDaan> grand, thanks
12:28:10 <mroman_> well
12:28:17 <mroman_> how can succ be the same thing as (+1)
12:28:44 <mroman_> !blsq {1 6 3 2}vr
12:28:45 <blsqbot> 4.666666666666667
12:28:49 <mroman_> !blsq {1 6 3 2}^^^^avbx(?-)[+m[2?^++\/L[-.?/
12:28:49 <blsqbot> 4.666666666666667
12:29:12 <AndoDaan> ^bf [,.]!hello world
12:29:28 <fizzie> 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 <AndoDaan> ^bf ,[.,.]!hello world
12:29:29 <fungot> heelllloo wwoorrlldd
12:29:40 -!- Patashu_ has quit (Ping timeout: 250 seconds).
12:29:53 <fizzie> ,[.,] is the conventional print loop.
12:30:08 <fizzie> Er, the cat program, that is.
12:30:21 <AndoDaan> ^bf ,[..]!hello world
12:30:21 <fungot> hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ...
12:30:28 <AndoDaan> ^bf ,[.,]!hello world
12:30:28 <fungot> hello world
12:30:36 <fizzie> ^echo hello world
12:30:36 <fungot> hello world hello world
12:30:46 <AndoDaan> bah
12:30:54 <fizzie> ^show echo
12:30:54 <fungot> >,[.>,]<[<]+32[.>]
12:31:04 <AndoDaan> ah cool
12:31:06 <mroman_> (vr is variance btw. A statistics command)
12:31:27 <fizzie> mroman_: What's the command to compute the covariance matrix of multidimensional data?
12:31:40 <mroman_> Do you know Haskell?
12:32:10 <mroman_> 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 <fizzie> 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 <mroman_> If that persons adds it then yes ;)
12:33:30 <mroman_> I have no idea what a covariance matrix even is
12:33:59 <mroman_> it would be nice to have some more matrix stuff in it though
12:34:29 <mroman_> fizzie: I made Burlesque as a tool for my bachelor studies
12:34:36 <AndoDaan> ^bf ++++++[->+++++++<].
12:34:54 <mroman_> everything I needed to do to make homework easy or to verify what I did by hand I squished into burlesque
12:34:58 <ais523> !bfjoust print_one_char ++++++[->+++++++<].
12:34:58 <zemhill> ais523.print_one_char: points -36.52, score 3.87/100, rank 47/47
12:35:03 <AndoDaan> ^bf ++++++[>+++++++<-].
12:35:26 <ais523> AndoDaan: you need a > before the .
12:35:30 <mroman_> builtinStudentTDDensity <- I needed that for the statistics course
12:35:34 <mroman_> That's why it's in there
12:35:35 <AndoDaan> i'm stupid
12:35:37 <AndoDaan> ^bf ++++++[>+++++++<-]>.
12:35:37 <fungot> *
12:35:44 <AndoDaan> ^bf ++++++[>+++++++<-]>+.
12:35:44 <fungot> +
12:36:05 <mroman_> permutations and combinations were for combinatorics etc.
12:36:14 <mroman_> Of course there are other tools that do that
12:36:26 <mroman_> (i.e. you can google online permutations and some php website will do it for you.)
12:36:32 <mroman_> (but I wanted it locally and in a single tool)
12:37:19 <mroman_> !blsq "Hi ~ there ~"{"abc""def"}f~
12:37:20 <blsqbot> "Hi abc there def"
12:37:42 <mroman_> Also I don't know sed
12:37:43 <mroman_> ;)
12:37:51 <mroman_> so I used burlesque for stuff sed could do
12:40:17 <mroman_> so the "bar" for getting stuff added is rather low ;)
12:41:43 <AndoDaan> "^str 0-9 get/set/add [text]" why is '0-9' in there?
12:41:55 <fizzie> 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 <mroman_> That's actually why I'm thinking about putting a lisp layer over burlesque
12:43:07 <mroman_> it has lots of stuff already in it
12:43:07 <fizzie> (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 <mroman_> it just doesn't have variables etc. to do longer stuff conventiently
12:44:12 <fizzie> For some reason I've always thought Burlesque was just for golfing.
12:44:47 <mroman_> That's just a side-effect of it because everything is accesible with two-chars :)
12:45:15 <mroman_> 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 <mroman_> 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 <mroman_> which is why it's probably not worth to add such features
12:47:42 <mroman_> (unless you need it for yourself)
12:48:09 <mroman_> I recently needed to do base64 encode/decode
12:48:23 <mroman_> which I ended up using some online website with ads etc
12:48:34 <mroman_> so I'm probably going to add base64 into burlesque now :D
12:48:46 <mroman_> in case I need it ever again
12:48:51 <fizzie> There's a "base64" command-line tool that I've found installed just about everywhere I've ever been.
12:49:07 <fizzie> Part of "coreutils" on Debian/Ubuntu.
12:49:58 <mroman_> yeah. but sometimes I'm on windows and sometimes on someone elses PC with internet connection
12:50:10 <mroman_> and I rather use the online burlesque shell than some ad-ridden webpage
12:50:53 <mroman_> but fair enough.
12:50:56 <fizzie> 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 <mroman_> Currently I just golf in it on anagol.
12:51:48 <mroman_> there are about three people golfing in it
12:54:07 -!- aloril_ has quit (Ping timeout: 258 seconds).
12:54:32 <mroman_> fizzie: what puzzles?
12:55:07 <fizzie> Some geocaches are chained deals with puzzles related to the location of the next one.
12:56:13 <fizzie> 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 <fizzie> Still handy when you need resistor color codes or such.
12:57:04 <fizzie> (I don't do these, I just ran across the software when looking for something.)
12:57:04 <AndoDaan> ^def bf OnePlusPlease ++++++[>+++++++<-]>+.
12:57:04 <fungot> Usage: ^def <command> <lang> <code>
12:57:30 <AndoDaan> ^def OnePlusPlease bf ++++++[>+++++++<-]>+.
12:57:30 <fungot> Defined.
12:57:45 <AndoDaan> ^OnePlusPlease
12:57:45 <fungot> +
12:57:46 <fizzie> That certainly is one plus, can't argue about that.
12:58:08 <AndoDaan> ^OneStickTongueOutPlease
12:58:13 <AndoDaan> argh stupid bot
12:58:52 <AndoDaan> I can't use OnePlusPlease as input for another bf code, right?
12:59:14 <Lymia> ^def OnePlusPlease bf ,++++++[>+++++++<-]>+.
12:59:14 <fungot> Defined.
12:59:19 <Lymia> ^OnePlusPlease
12:59:19 <fungot> +
12:59:20 <Lymia> ^OnePlusPlease 3
12:59:20 <fungot>
12:59:25 <Lymia> ^OnePlusPlease ?
12:59:25 <fungot>
12:59:43 <Lymia> ^OnePlusPlease #
12:59:43 <fungot>
12:59:45 <Lymia> ^OnePlusPlease 1
12:59:45 <fungot>
12:59:46 <Lymia> ^OnePlusPlease 9
12:59:46 <fungot>
12:59:50 <fizzie> No, it doesn't support pipelines or anything.
13:00:11 <Lymia> ^def OnePlusPlease bf ,++++++[>>,[-<+>]<+++++++<-]>+.
13:00:11 <fungot> Defined.
13:00:14 <Lymia> ^OnePlusPlease 93fj
13:00:14 <fungot>
13:00:16 <Lymia> ^OnePlusPlease
13:00:16 <fungot> +
13:00:24 <AndoDaan> ^def OneMinusPlease bf ,++++++[>+++++++<-]>+.
13:00:24 <fungot> Defined.
13:00:25 <Lymia> ^OnePlusPlease 49i09ai3cima
13:00:25 <fungot> 9
13:00:27 <Lymia> ^OnePlusPlease 49i09ai3c
13:00:27 <fungot>
13:00:28 <Lymia> ^OnePlusPlease 49i09ai3ac
13:00:29 <fungot> c
13:00:30 <Lymia> ^OnePlusPlease 49i09ai3acaaaaaaaa
13:00:30 <fungot> k
13:00:38 <fizzie> What's this all about?
13:00:47 <Lymia> Me messing up a program
13:00:48 <Lymia> With extra ,s
13:00:56 <AndoDaan> ^OneMinusPlease .
13:00:57 <fungot> m
13:01:02 <AndoDaan> ^OneMinusPlease +
13:01:02 <fungot> X
13:01:07 <Lymia> ^OneMinusPlease
13:01:07 <fungot> +
13:01:11 <AndoDaan> ^OneMinusPlease x
13:01:12 <fungot> s
13:01:19 <AndoDaan> ^OneMinusPlease -2
13:01:19 <fungot> f
13:01:27 <AndoDaan> ^OneMinusPlease 654654
13:01:27 <fungot>
13:01:35 <AndoDaan> ^OneMinusPlease 654654
13:01:35 <fungot>
13:02:26 <Lymia> ^OneMinusPlease %
13:02:26 <fungot> .
13:02:28 <AndoDaan> ^def WhatIsAfterThis bf ,[.,]
13:02:28 <fungot> Defined.
13:02:41 <Lymia> Close enough
13:02:42 <AndoDaan> ^WhatIsAfterThis What
13:02:42 <fungot> What
13:03:02 <Lymia> ^OneMinusPlease n
13:03:02 <fungot> -
13:03:05 <Lymia> There we go
13:03:15 <AndoDaan> ^def WhatIsAfterThis4 ^OneMinusPlease n
13:03:15 <fungot> Usage: ^def <command> <lang> <code>
13:03:28 <AndoDaan> ^def WhatIsAfterThis4 ^OneMinusPlease
13:03:28 <fungot> Usage: ^def <command> <lang> <code>
13:03:34 <AndoDaan> ^WhatIsAfterThis ^OneMinusPlease
13:03:34 <fungot> ^OneMinusPlease
13:03:38 <AndoDaan> ^WhatIsAfterThis ^OneMinusPlease n
13:03:38 <fungot> ^OneMinusPlease n
13:03:39 <fizzie> That won't do anything useful.
13:04:02 <AndoDaan> Would have revolutionized the game
13:04:11 <AndoDaan> ^bool
13:04:11 <fungot> No.
13:04:16 <AndoDaan> critic
13:04:26 <Lymia> ^def meow bf ,[[+>+<],]>[->,[-<<+>>]<]
13:04:26 <fungot> Defined.
13:04:30 <Lymia> ^meow aaa
13:04:40 <Lymia> ^def meow bf ,[[+>+<]>.<,]>[->,[-<<+>>]<]
13:04:40 <fungot> Defined.
13:04:41 <Lymia> ^meow aaa
13:04:41 <fungot> >
13:04:43 <Lymia> ^def meow bf ,[[+>+<]>.<,]>[->,[-<<+>>]<].
13:04:43 <fungot> Defined.
13:04:44 <Lymia> ^meow aaaaaa
13:04:45 <fungot> >|
13:04:47 <Lymia> ^meow aaaaaabcdefg
13:04:48 <fungot> >|X,_
13:05:02 <mroman_> what languages does he support?
13:05:04 <mroman_> besides f
13:05:06 <mroman_> *bf
13:05:16 <AndoDaan> unlambda
13:05:48 <AndoDaan> ^ul (hello)S
13:05:48 <fungot> hello
13:05:50 <Lymia> ^def meow bf ,[[+>+<]>.<,>++++[-<-------->]<]>[->,[-<<+>>]<].
13:05:50 <fungot> Defined.
13:05:53 <Lymia> ^meow aaaaaabcdefg
13:05:53 <fungot> wwwwvm$ےIh` ...
13:05:59 <Lymia> ^meow aaaaaabcdefg.
13:06:00 <fungot> wwwwvm$ےI: ...
13:06:02 <Lymia> ^meow aaaaaabcdefg.aaa
13:06:02 <fungot> wwwwvm$ےI:7w ...
13:06:05 <Lymia> ^meow aaaaaefg.aaa
13:06:05 <fungot> wwwsRI:7w ...
13:06:08 <Lymia> ^meow aaaaaefg..aaa
13:06:09 <fungot> wwwsRI:7w ...
13:06:12 <Lymia> ^meow aaaaaefg..aaaa
13:06:12 <fungot> wwwsRI:7ww ...
13:06:25 <Lymia> Nonsense generator!
13:06:47 <AndoDaan> ^scramble Nonsense
13:06:47 <fungot> Nnesenso
13:07:02 <Lymia> ^def meow ,[[+>+<]>.<,]
13:07:02 <fungot> Usage: ^def <command> <lang> <code>
13:07:06 <Lymia> ^def meow bf ,[[+>+<]>.<,]
13:07:06 <fungot> Defined.
13:07:12 <Lymia> ^meow abcdefghijklmnopqrstuvwxyz
13:07:12 <fungot> =vDs2Wx"9L[
13:07:13 <AndoDaan> ^unscramble Nnesenso
13:07:13 <fungot> Nonsense
13:07:27 <AndoDaan> ha, clever bot.
13:07:33 <Lymia> ^def unmeow bf ,[[->-<]>.<,]
13:07:33 <fungot> Defined.
13:07:36 <fizzie> 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 <fungot> 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 <elliott_> I thought someone pinged me but I think that noise just included a \007.
13:07:41 <Lymia> ^def unmeow Ÿ=Úv«DÜs ž2ÅWèx •"®9ÃLÔ[á
13:07:41 <fungot> Usage: ^def <command> <lang> <code>
13:07:41 <fizzie> QED
13:07:45 <Lymia> ^unmeow Ÿ=Úv«DÜs ž2ÅWèx •"®9ÃLÔ[á
13:07:46 <AndoDaan> ^show scramble
13:07:46 <fungot> >>,[>,]<[<]>[.>>]<[>>]<2[.<2]
13:08:00 <Lymia> ^def unmeow bf ,[[->-<]>.<,]
13:08:00 <fungot> Defined.
13:08:03 <Lymia> ^unmeow Ÿ=Úv«DÜs ž2ÅWèx •"®9ÃLÔ[á
13:08:03 <fungot> ;FsbR߿<.Gk
13:08:06 <elliott_> Lymia: ideally implement a proper CSPRNG in BF and make it use the input as a seed.
13:08:09 <Lymia> ^def unmeow bf ,[[+>-<]>.<,]
13:08:09 <fungot> Defined.
13:08:10 <Lymia> ^unmeow Ÿ=Úv«DÜs ž2ÅWèx •"®9ÃLÔ[á
13:08:10 <fungot> }}`O!A>X
13:08:15 <Lymia> elliott_, that'd be easier. :P
13:08:27 <elliott_> Lymia: it would make unmeow super fun to write, too
13:08:30 <fizzie> elliott_: I was trying to do that for a ^bool that you could ask questions for.
13:08:37 <Lymia> Hmm...
13:08:39 <Lymia> RC4 how
13:08:45 <fizzie> I don't remember if I got anywhere.
13:08:46 <Lymia> Too bad we can't use (<)*x in bf
13:08:51 <Lymia> ^bf (+)*32
13:08:52 <Lymia> ^bf (+)*32.
13:08:53 <fungot> <CTCP>
13:08:59 <ais523> [CTCP] Received unknown CTCP- request from fungot to Channel #esoteric.
13:08:59 <fungot> ais523: " some new cakes are not nice", and m " wholesome". ( everything inside the central square: that is,
13:09:07 <elliott_> not really CSPRNG but I bet xorshift in bf wouldn't be too hard
13:09:20 <fizzie> Sssh, I still have the CTCP issue on the TODO list.
13:09:37 <AndoDaan> ^def (+)*32 bf ++++++++++++++++++++++++++++++++
13:09:37 <fungot> Defined.
13:09:51 <AndoDaan> ^(+)*32
13:09:55 <fizzie> Lymia: The absurd thing is that if you do ++++++++ it does get compiled to a single "+8" instruction.
13:10:22 <fizzie> It just doesn't have an input side for that.
13:11:00 -!- aloril_ has joined.
13:11:28 <ais523> I'm worried that I've accidentally invented ()*%-compressed BF as a new language
13:11:34 <ais523> worried, because it'd be a BF derivative
13:11:45 <ais523> that said, I guess BF Joust is technically a BF derivative (albeit, I didn't invent it)
13:12:00 <fizzie> ^def tmp bf +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ that's 129 pluses
13:12:00 <fungot> Defined.
13:12:03 <fizzie> ^show tmp
13:12:03 <fungot> -127
13:12:34 <ais523> oh come on, that optimisation /clearly/ doesn't work in BF Joust
13:13:13 <fizzie> 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 <fizzie> It doesn't collapse +++--- though, as far as I recall.
13:13:47 <fizzie> ^def tmp bf ++++++++----
13:13:48 <fungot> Defined.
13:13:49 <fizzie> ^show tmp
13:13:50 <fungot> +8-4
13:13:51 <fizzie> Yeah.
13:14:09 <AndoDaan> ^(+)7 bf +++++++
13:14:13 <Lymia> ^bf >-[[->>+>+<<<]>>>[-<<<+>>>]<<+>+]
13:14:16 <AndoDaan> ^def (+)7 bf +++++++
13:14:16 <fungot> Defined.
13:14:17 <Lymia> ^bf >-[[->>+>+<<<]>>>[-<<<+>>>]<<+>+.]
13:14:27 <AndoDaan> ^(+)7
13:14:31 <Lymia> ^bf +.
13:14:31 <fungot> <CTCP>
13:14:34 <Lymia> Erg.
13:14:38 <Lymia> Forgot it does that
13:14:44 <AndoDaan> ^bf (+)7
13:14:45 <Lymia> ^bf >-.[[->>+>+<<<]>>>[-<<<+>>>]<<+>+]
13:14:45 <fungot>
13:14:50 <fizzie> In retrospect, it really should do +- and <>; it'd just have been a single loop with a different initial value.
13:14:57 <Lymia> ^bf >-[.[->>+>+<<<]>>>[-<<<+>>>]<<+>+]
13:14:57 <fungot>
13:15:16 <Lymia> ^bf >+[.[->>+>+<<<]>>>[-<<<+>>>]<<+>+]
13:15:17 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
13:15:20 <AndoDaan> ^show (+)7
13:15:20 <fungot> +7
13:15:40 <Lymia> ^bf >+[[->>+>+<<<]>>>[-<<<+>>>]<<+>+]
13:15:48 <fizzie> I don't think I'll be saving all those programs.
13:15:51 <AndoDaan> ^def (+)7 bf ,,,,,,,!+++++++
13:15:51 <fungot> Defined.
13:15:55 <Lymia> ^bf ++100.
13:15:56 <fungot>
13:15:59 <Lymia> ^bf +++100.
13:15:59 <fungot>
13:16:03 <Lymia> ^bf +++++30.
13:16:04 <fungot>
13:16:07 <AndoDaan> ^show (+)7
13:16:08 <fungot> ,,,,,,,
13:16:17 <AndoDaan> hmmm
13:16:30 <elliott_> ^bf +++++++. # the most annoying one
13:16:30 <fungot>
13:16:39 <fizzie> The interaction between !input and ^def is not very well thought-of.
13:16:40 <elliott_> huh, that didn't ring the terminal bell
13:16:42 <AndoDaan> ^def (+)7 bf ,.,.,.,.,.,.,.!"+++++++"
13:16:43 <fungot> Defined.
13:16:45 <elliott_> ...so why do the other things?
13:16:47 <Lymia> RC4 in BF is gona be fun.
13:16:52 <AndoDaan> ^(+)7
13:16:59 <elliott_> Lymia: RC4? O_O
13:17:00 <AndoDaan> ^(+)7 hope
13:17:00 <fungot> hope
13:17:07 <Lymia> Yes.
13:17:31 <AndoDaan> ^show (+)7
13:17:33 <Lymia> ^bf >+[.[->>>+>+<<<<]>>>>[-<<<<+>>>>]<<+>+]
13:17:35 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
13:17:43 <Lymia> ^bf >+>>>+[.[->>>+>+<<<<]>>>>[-<<<<+>>>>]<<+>+]
13:17:45 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
13:17:49 <Lymia> ^bf >+>>>+[[->>>+>+<<<<]>>>>[-<<<<+>>>>]<<+>+]
13:17:50 <fizzie> You can use the bot via private messages too, you know.
13:18:01 <Lymia> I'm thinking a cell structure of
13:18:03 <AndoDaan> will do.
13:18:04 <fizzie> (Normally I don't mind botspam too much, but this is getting perhaps a bit ridiculous.)
13:18:18 <Lymia> [active][work][cell state]
13:19:21 <AndoDaan> got carried away
13:19:42 <int-e> ^bf +.++++[>++++<-]>[<++>>++++>+++++>++++++>+++++++<<<<-]>+.++.>++++.<++++++.>-----.-.<<<.>>>>>++++.<+.>--------.-.++++++++.>+.
13:19:42 <fungot> <CTCP>QShYcb(y<CTCP>
13:19:53 <int-e> that wasn't it :)
13:20:01 <GeekDude> fungot: what the?
13:20:02 <fungot> 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 <int-e> ^bf +.+++[>++++<-]>[<++>>++++>+++++>++++++>+++++++<<<<-]>+.++.>++++.<++++++.>-----.-.<<<.>>>>>++++.<+.>--------.-.++++++++.>+.
13:20:09 * fungot talks
13:20:33 <GeekDude> who made fungot ctcp everyone
13:20:33 <fungot> 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 <int-e> sorry, stupid off-by-one error (and I didn't test the code)
13:20:36 <GeekDude> or just me
13:21:25 <GeekDude> <CTCP>HI<CTCP>
13:22:33 <int-e> 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 <fungot> 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 <GeekDude> int-e: I'm aware of how CTCP works
13:24:09 <GeekDude> 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 <fungot> 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 <ais523> GeekDude: was aimed at the channel
13:24:23 <int-e> GeekDude: look at the ^bf commands
13:24:24 <ais523> and people forgetting what ASCII 1 does
13:24:29 <GeekDude> I don't speak brainf****
13:24:34 <ais523> spamming the entire channel is just +. in BF
13:24:48 <ais523> in fact, it's the smallest program that does anything visible
13:24:56 <GeekDude> ^bf +.
13:24:56 <fungot> <CTCP>
13:25:03 <ais523> [CTCP] Received unknown CTCP- request from fungot to Channel #esoteric.
13:25:03 <fungot> ais523: " but i know you are a bore.
13:25:21 <GeekDude> so + pushes 1 onto the stack and . prints it?
13:25:23 <ais523> ^bf ++[.+]
13:25:23 <fungot> .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
13:25:31 <ais523> GeekDude: + increases the current tape element, . prints it
13:25:33 <ais523> and it starts at 0
13:25:38 <GeekDude> ah
13:25:41 <ais523> I left 1 out of my ASCII table intentionally
13:25:48 <ais523> but ASCII table programs are also pretty short
13:25:52 <GeekDude> ^bf +[+.]
13:25:53 <fungot> .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
13:25:55 <GeekDude> ^bf [+.]
13:25:59 <elliott_> technically, that table went beyond ascii
13:26:02 * GeekDude not so smart
13:26:04 <ais523> elliott_: well, yes
13:26:07 <ais523> GeekDude: [ is a while loop
13:26:08 <elliott_> well, and also before it
13:26:14 <elliott_> or, no
13:26:14 <ais523> and while(0) doesn't do a whole lot
13:26:25 <GeekDude> lol
13:27:00 <ais523> 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 <ais523> that's it
13:27:06 <ais523> one line BF tutorial
13:27:10 <GeekDude> lol
13:27:33 <GeekDude> ^bf +[-.++]
13:27:44 <ais523> hmm, that should have done something
13:28:10 <ais523> oh, there's probably a bug in fungot that causes it to produce no further output after outputting 0
13:28:10 <fungot> ais523: ' that was mean!' alice cried in a triumphant tone. ' now you understand the way things happen here.'
13:28:20 <GeekDude> ^bf ++[-.++]
13:28:20 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
13:28:21 <ais523> also, that's a /great/ fungot comment
13:28:22 <fungot> 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 <GeekDude> Shouldn't that have printed Chr(1)?
13:29:09 <ais523> GeekDude: it did, followed by the rest of the possible bytes
13:29:12 <ais523> but chr(1) is a ctcp
13:29:17 <ais523> so you just spammed the channel again :-)
13:29:22 <ais523> [CTCP] Received unknown CTCP- .& . !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ ... request from fungot to Channel #esoteric.
13:29:22 <fungot> 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 <GeekDude> It just showed up as a chat for me
13:29:38 <GeekDude> doesn't it have to end in Chr(1) too?
13:29:49 <ais523> to be a proper ctcp, yes, but many clients don't care
13:29:54 <GeekDude> Mine does, apparently
13:30:05 <ais523> hmm, you know what? EgoBot being down means that we don't have… bf_txtgen!
13:30:11 <ais523> someone needs to install that in hackego, if they haven't already
13:30:15 <ais523> `ls bin
13:30:16 <HackEgo> ​` \ ^.^ \ ̊ \ ? \ ¿ \ @ \ ؟ \ 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 <GeekDude> `cat
13:30:31 <HackEgo> cat: : No such file or directory
13:30:35 <GeekDude> uhh
13:30:40 <GeekDude> `cat \`
13:30:41 <HackEgo> cat: \`: No such file or directory
13:30:45 <ais523> there's no cat with that capitalisation
13:30:54 <ais523> `CaT wisdom/welcome
13:31:04 <ais523> that said, I don't know what CaT does
13:31:08 <GeekDude> `help
13:31:09 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
13:31:11 <ais523> `cat bin/CaT
13:31:12 <HackEgo> ​#!/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 <GeekDude> oh, I know what I did
13:31:19 <ais523> aha, it's a filter
13:31:24 <HackEgo> No output.
13:31:26 <ais523> `run CaT < wisdom/welcome
13:31:26 <GeekDude> `cat bin/
13:31:27 <HackEgo> WeLcOmE To tHe iNtErNaTiOnAl hUb fOr eSoTeRiC PrOgRaMmInG LaNgUaGe dEsIgN AnD DePlOyMeNt! FoR MoRe iNfOrMaTiOn, ChEcK OuT OuR WiKi: <hTtP://EsOlAnGs.oRg/>. (fOr tHe oThEr kInD Of eSoTeRiCa, TrY #eSoTeRiC On iRc.dAl.nEt.)
13:31:27 <HackEgo> No output.
13:31:44 <GeekDude> `cat bin/@
13:31:45 <HackEgo> ​#!/usr/bin/perl -w \ $_ = join " ", @ARGV; if (s/^([^ ]*) +([^ ]*) +//) { print "$1: "; exec $2, $_; }
13:32:04 <GeekDude> ais523: see? cat. I was just looking in the wrong folder
13:32:07 <GeekDude> `^.^
13:32:17 <int-e> ^bf ++++[->++++<]>[>+++++>++++++>+++++++>++++>++<<<<<-]>+++.>+++++..>>-.>.<+++.<++.<----.++++++++.+++++.--------.>+++.<---.++++++++.>>>.<<<--.>--.>>.<<<----.----.>.++++++.>>+. (but why am I encoding strings manually?)
13:32:17 <fungot> See? Brainfuck is easy!
13:32:26 <ais523> well, cat's a standard command
13:32:28 <ais523> `ls ..
13:32:29 <HackEgo> bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr
13:32:35 <ais523> `ls ..\bin
13:32:36 <HackEgo> ls: cannot access ..\bin: No such file or directory
13:32:38 <HackEgo> No output.
13:32:41 <ais523> `ls ../bin
13:32:42 <HackEgo> 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 <GeekDude> `cat /etc/passwd
13:33:15 <HackEgo> cat: /etc/passwd: No such file or directory
13:33:17 <GeekDude> aww
13:33:39 <ais523> it's not like /etc/passwd is particularly secret anyway
13:34:39 -!- AndoDaan______ has joined.
13:34:47 <fizzie> ^8ball Should I write more brainfuck?
13:34:47 <fungot> No.
13:34:50 <fizzie> ^8ball Should I write more befunge instead, then?
13:34:50 <fungot> No.
13:34:52 <fizzie> ^8ball So I should just stick to plain old boring languages?
13:34:53 <fungot> Yes.
13:35:03 <fizzie> There we go.
13:35:10 <int-e> `` echo dog:x:666:666:toto:/kennel:/bin/bark > /etc/passwd
13:35:11 <HackEgo> bash: /etc/passwd: Permission denied
13:35:24 <elliott_> fizzie: what RNG does it use?
13:35:54 <ais523> presumably Befunge's ?
13:36:03 <ais523> Vorpal probably knows how it's implemented in cfunge
13:36:08 <fizzie> ais523: You can't access Befunge's RNG from brainfuck.
13:36:13 <fizzie> ais523: It's a brainfuck program.
13:36:20 <ais523> fizzie: I think elliott_'s referring to ^bool
13:36:30 <fizzie> I assume it was a reference to ^8ball.
13:36:39 <fizzie> Which is very different from ^bool.
13:36:41 <GeekDude> `echo "\n\n\nlol"
13:36:42 <HackEgo> ​"\n\n\nlol"
13:36:47 <GeekDude> `echo "\\n\\n\\nlol"
13:36:48 <HackEgo> ​"\\n\\n\\nlol"
13:36:48 <fizzie> For one thing, it always gives the same answer to a particular question.
13:36:50 <GeekDude> uhh
13:37:02 <fizzie> elliott_: It's a very crypto-safe PRNG, don't you worry about that.
13:37:14 <fizzie> elliott_: (It's called "%2".)
13:37:15 -!- AndoDaan has quit (Ping timeout: 244 seconds).
13:37:29 <mroman_> ^8bool
13:37:29 <fizzie> (Of the sum of the input bytes.)
13:37:33 -!- AndoDaan______ has changed nick to AndoDaan.
13:37:53 <fizzie> ^show 8ball
13:37:54 <fungot> ,[[->+<],]>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 <GeekDude> so, sum(input) MOD 2?
13:38:39 <ais523> my favourite way to do a %2 in BF is to multiply by 128
13:38:41 <GeekDude> then true is yes, fals is no?
13:38:42 <Lymia> ^8ball
13:38:42 <fungot> No.
13:38:47 <Lymia> ^8ball
13:38:47 <fungot> No.
13:38:48 <Lymia> ^8ball
13:38:48 <fungot> No.
13:38:48 <ais523> it's also quite efficient in most interps
13:38:49 <Lymia> ^8ball
13:38:49 <fungot> No.
13:38:50 <Lymia> ^8ball
13:38:51 <fungot> No.
13:38:53 <Lymia> Interesting
13:38:54 <GeekDude> ^8ball a
13:38:54 <fungot> Yes.
13:38:56 <GeekDude> ^8ball b
13:38:56 <fungot> No.
13:38:56 <Lymia> Interesting aiwjoi
13:38:58 <Lymia> Interesting aiwjoif
13:38:58 <fizzie> ais523: Oh, that would have been so much simpler.
13:38:59 <GeekDude> ^8ball c
13:38:59 <fungot> Yes.
13:39:00 <GeekDude> ^8ball d
13:39:01 <fungot> No.
13:39:02 <GeekDude> ^8ball e
13:39:03 <fungot> Yes.
13:39:05 <GeekDude> ^8ball f
13:39:05 <fungot> No.
13:39:07 <GeekDude> ^8ball g
13:39:07 <fungot> Yes.
13:39:10 <GeekDude> ^8ball h
13:39:10 <fungot> No.
13:39:13 <GeekDude> I see a pattern here
13:39:19 <Lymia> `ls /
13:39:19 <HackEgo> Mmmmm... no.
13:39:27 <Lymia> ^say `ls /
13:39:38 <Lymia> ^bf ,[.,]!`ls /
13:39:39 <fungot> `ls /
13:39:40 <HackEgo> 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 <int-e> GeekDude: are you playing hangman?
13:39:54 <GeekDude> lol
13:39:56 <GeekDude> 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 <Lymia> ^bf ,[.,]!`echo "^bf ,[.,]!test"
13:40:06 <fungot> `echo "^bf ,[.,]!test"
13:40:07 <HackEgo> ​"^bf ,[.,]!test"
13:40:12 <Lymia> ^bf ,[.,]!`echo ^bf ,[.,]!test
13:40:12 <fungot> `echo ^bf ,[.,]!test
13:40:13 <HackEgo> ​^bf ,[.,]!test
13:40:18 -!- GeekDude has joined.
13:40:21 <GeekDude> Actually, I take that back
13:40:26 <GeekDude> a ping timeout would be more realistic
13:40:29 <GeekDude> brb, ping timeouting
13:40:57 <fizzie> 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 <zemhill> `ls`.test: points -46.00, score 0.00/100, rank 47/47
13:41:17 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ls`.test:: not found
13:41:55 <ais523> fizzie: mine sends server pings every now and then and uses it to update a lag value
13:41:58 <fizzie> Heh, I didn't even think of the output side of it. Maybe I should prefix the reply like HackEgo does.
13:42:03 <ais523> it doesn't show them by default, but does have a mode where it does
13:42:04 -!- G33kDude has joined.
13:42:15 <G33kDude> how was that?
13:42:17 <G33kDude> oh shoot
13:42:20 <G33kDude> he's still here
13:42:33 <fizzie> ais523: At least there's a mode. I'm not sure if irssi has one.
13:42:35 <mroman_> !bfjoust nop .
13:42:35 <zemhill> mroman_.nop: points -34.29, score 4.32/100, rank 47/47
13:42:38 <ais523> G33kDude: /ns ghost password (where password is your password)
13:42:44 <Melvar> Who has been printing bells and why?
13:42:46 <ais523> do it in the server tab so that you don't tell everyone your password if you screw up
13:42:51 <G33kDude> ais523: I know how to ghost -.-
13:42:56 <ais523> Melvar: various people testing BF, because they forget that 7 has a special meaning
13:42:57 <mroman_> !bfjoust nop (>+>-<+<)*-1
13:43:00 <zemhill> mroman_.nop: points -27.19, score 4.14/100, rank 47/47 (change: --)
13:43:03 <G33kDude> And I'm logged in too
13:43:05 <Lymia> ^bf ,[.,]!`echo !bfoust vibrator (+)*-1
13:43:05 <fungot> `echo !bfoust vibrator (+)*-1
13:43:06 <HackEgo> ​!bfoust vibrator (+)*-1
13:43:11 <Lymia> ^bf ,[.,]!`echo !bfoust vibrator (+)*-1
13:43:11 <fungot> `echo !bfoust vibrator (+)*-1
13:43:12 <HackEgo> ​!bfoust vibrator (+)*-1
13:43:15 <Lymia> ^bf ,[.,]!`echo !bfjoust vibrator (+)*-1
13:43:15 <fungot> `echo !bfjoust vibrator (+)*-1
13:43:17 <HackEgo> ​!bfjoust vibrator (+)*-1
13:43:20 <G33kDude> ais523: and you forgot the target
13:43:25 <G33kDude> /ns ghost GeekDude
13:43:26 -!- GeekDude has quit (Disconnected by services).
13:43:29 <G33kDude> poof
13:43:36 <ais523> err right
13:43:36 -!- G33kDude has changed nick to GeekDude.
13:43:37 <Lymia> zwsp, hun.
13:43:40 <Melvar> Oh great, now I notice that it didn’t just bell, it broke the terminal.
13:43:45 <mroman_> !bfjoust nop (+>-<+.)*-1
13:43:45 <zemhill> mroman_.nop: points -35.93, score 3.26/100, rank 47/47 (change: --)
13:43:48 -!- nooblag has joined.
13:43:55 <ais523> Melvar: the normal way to fix that is to run the "reset" command
13:43:55 <mroman_> !bfjoust nop (->+<-.)*-1
13:43:56 <zemhill> 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 <int-e> ^bf +++++++.
13:44:11 <fungot>
13:44:11 <`ls`> !
13:44:13 <ais523> 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 <ais523> and broke the system's entropy in the process
13:44:24 -!- idris-bot has joined.
13:44:26 <`ls`> !bfjoust
13:44:26 <zemhill> `ls`: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:44:26 <mroman_> !bfjoust nop (->+<-)*-1
13:44:27 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ls`:: not found
13:44:31 <zemhill> 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 <zemhill> `ls: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:44:43 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ls:: not found
13:44:43 <fizzie> 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 <zemhill> `ls``ls``ls: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:44:58 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ls``ls``ls:: not found
13:45:00 <mroman_> !bfjoust nop (->+<-)*99(>)*4([-]>)*-1
13:45:00 <zemhill> mroman_.nop: points -23.29, score 13.18/100, rank 47/47 (change: --)
13:45:05 <`ls``ls``ls> Hun, oh.
13:45:09 <mroman_> !bfjoust nop (->+<-)*999(>)*4([-]>)*-1
13:45:10 <zemhill> 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 <mroman_> !bfjoust nop (->+<-)*9999(>)*4([-]>)*-1
13:45:20 <zemhill> mroman_.nop: points -21.43, score 12.82/100, rank 47/47 (change: --)
13:45:23 <fizzie> 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 <zemhill> ^mhmm: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:45:26 <mroman_> what
13:45:31 <mroman_> !bfjoust nop (->+<-)*5000(>)*4([-]>)*-1
13:45:33 <zemhill> mroman_.nop: points -19.81, score 16.25/100, rank 47/47 (change: --)
13:45:37 <Melvar> ais523: The annoyance was that I had to restart idris-bot to run it to unbreak idris-bot’s debug output.
13:45:39 <mroman_> !bfjoust nop (->+<-)*6000(>)*4([-]>)*-1
13:45:41 <zemhill> mroman_.nop: points -19.76, score 16.22/100, rank 47/47 (change: --)
13:45:41 <^mhmm> !def mhmm: bf ,[.,]
13:45:50 <ais523> Melvar: right
13:45:56 <ais523> oh, it broke idris-bot's terminal? that makes more sense
13:45:57 <^mhmm> ^def mhmm: bf ,[.,]
13:45:57 <fungot> Defined.
13:46:00 <^mhmm> !bfjoust
13:46:00 <zemhill> ^mhmm: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:46:00 <fungot> "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:46:02 <mroman_> ok so it's between 5k and 6k
13:46:06 <ais523> most clients filter out SI/SO, which are the main offenders for terminal breaking
13:46:07 <mroman_> !bfjoust nop (->+<-)*5500(>)*4([-]>)*-1
13:46:08 <zemhill> 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 <GeekDude> Most of the time I have no idea what this channel is doing
13:46:17 <mroman_> !bfjoust nop (->+<-)*5100(>)*4([-]>)*-1
13:46:19 <zemhill> mroman_.nop: points -20.21, score 16.17/100, rank 47/47 (change: --)
13:46:23 <GeekDude> the other half I still have no idea
13:46:27 <mroman_> !bfjoust nop (->+<-)*4900(>)*4([-]>)*-1
13:46:28 <^mhmm> ^def mhmm: bf ,[.,]!!bfjoust
13:46:28 <fungot> Defined.
13:46:29 <zemhill> mroman_.nop: points -20.05, score 15.82/100, rank 47/47 (change: --)
13:46:31 <^mhmm> !bfjoust
13:46:31 <zemhill> ^mhmm: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:46:31 <fungot> "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:46:35 <mroman_> damn
13:46:39 <mroman_> !bfjoust nop (->+<-)*4999(>)*4([-]>)*-1
13:46:40 <zemhill> mroman_.nop: points -19.76, score 16.37/100, rank 47/47 (change: --)
13:46:53 <mroman_> !bfjoust nop (->+<-)*4999(>)*5([-]>)*-1
13:46:54 <zemhill> mroman_.nop: points -19.79, score 16.34/100, rank 47/47 (change: --)
13:46:57 <^mhmm> ^def mhmm: bf ++++[->++++++++<]>+.[->+++<]>-.++++.++++.+++++.++++++.--.+.
13:46:57 <fungot> Defined.
13:46:58 <ais523> `addquote <GeekDude> Most of the time I have no idea what this channel is doing <GeekDude> the other half I still have no idea
13:47:00 <HackEgo> 1219) <GeekDude> Most of the time I have no idea what this channel is doing <GeekDude> the other half I still have no idea
13:47:03 <^mhmm> !bfjoust
13:47:03 <zemhill> ^mhmm: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:47:03 <fungot> !bfjoust
13:47:03 <zemhill> fungot: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
13:47:03 <fungot> zemhill: " and what will oo be next?" said the march hare. visit either you fnord they're both mad."
13:47:04 <ais523> that is a great summary of this channel
13:47:13 <mroman_> !bfjoust nop (>->-)*2<<<<(->+<-)*4999(>)*4([-]>)*-1
13:47:15 <GeekDude> -.-
13:47:15 <zemhill> mroman_.nop: points -25.14, score 12.32/100, rank 47/47 (change: --)
13:47:24 <GeekDude> `addquote <ais523> `addquote <GeekDude> Most of the time I have no idea what this channel is doing <GeekDude> the other half I still have no idea
13:47:26 <HackEgo> 1220) <ais523> `addquote <GeekDude> Most of the time I have no idea what this channel is doing <GeekDude> the other half I still have no idea
13:47:26 <fizzie> You can (quite easily) make fungot submit programs, if you insist.
13:47:26 <fungot> 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 <ais523> GeekDude: there's not much point in addquoting someone doing an addquote
13:47:45 <GeekDude> `addquote <ais523> GeekDude: there's not much point in addquoting someone doing an addquote
13:47:46 <HackEgo> 1221) <ais523> GeekDude: there's not much point in addquoting someone doing an addquote
13:47:50 <GeekDude> ok, I'm done now
13:47:51 <Melvar> 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 <ais523> elliott_: you are the Guardian of the Quotes, aren't you?
13:48:01 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf
13:48:03 <zemhill> Lymia.nyuroki: points -5.12, score 26.58/100, rank 34/47
13:48:11 <GeekDude> Melvar: I'm always asleep when my bot crashes :/
13:48:22 <mroman_> !bfjoust nop (->->+<-<-)*3000(>)*9([-]>)*-1
13:48:23 <zemhill> mroman_.nop: points -26.76, score 10.24/100, rank 47/47
13:48:44 <mroman_> !bfjoust nop (->->+<-<+)*3000(>)*9([-]>)*-1
13:48:45 <zemhill> mroman_.nop: points -27.81, score 9.79/100, rank 47/47 (change: --)
13:48:45 <fizzie> 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 <fungot> 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 <ais523> I'm wondering if nooblag was a spambot
13:48:57 <ais523> it PMed me to say "hey there", then never spoke again
13:49:09 <ais523> and has since left the server
13:49:27 <GeekDude> lol
13:49:36 <GeekDude> Sounds to me like a drive by hi
13:49:44 <GeekDude> why? Pie
13:49:56 <Melvar> 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 <GeekDude> *sigh*
13:50:06 <mroman_> !bfjoust nop >>>>((->+<-)*90<)*4(->+<-)*-1
13:50:09 <ais523> GeekDude: a hi is quite a big threat in here
13:50:10 <zemhill> mroman_.nop: points -19.17, score 7.29/100, rank 47/47 (change: --)
13:50:13 <mroman_> crapppp
13:50:15 <ais523> except when it's a greeting
13:50:20 <ais523> sometimes it's hard to distinguish the two
13:50:22 <GeekDude> I AM HI
13:50:24 <ais523> `quote hi
13:50:25 <HackEgo> 712) <monqy> Sgeo: I used to have strict requirements for when I said hi but then everyone started saying hi and it all got weird \ 823) <Fiora> usb sushi is dangerous. I think I would try to eat it \ 1043) <kmc> i think delivery sushi is one of those habits that can rapidly consume all of one's money <kmc> like cocaine
13:50:35 <ais523> `quote hi
13:50:36 <HackEgo> 712) <monqy> 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 <ais523> now I'm surprised that worked
13:50:46 <mroman_> !bfjoust nop (>)*9(>>[-]<)*-1
13:50:47 <zemhill> mroman_.nop: points -22.93, score 11.43/100, rank 47/47 (change: --)
13:50:57 <Melvar> Also, idris, and thus idris-bot, has :printdef now.
13:51:04 <GeekDude> I have a waffle to go eat
13:51:09 <GeekDude> WAFFLES? DONT YOU MEAN CARROTS?
13:51:10 <Lymia> !bfjoust die (>)*9(>[-])*-1
13:51:11 <zemhill> Lymia.die: points -20.62, score 13.15/100, rank 47/47
13:51:14 <Lymia> !bfjoust die (>)*9([-]>)*-1
13:51:14 <zemhill> 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 <Lymia> !bfjoust die (>+++++++)*9([-]>)*-1
13:51:25 <zemhill> Lymia.die: points -16.50, score 16.16/100, rank 47/47 (change: --)
13:51:29 <Lymia> !bfjoust die (>+++++++)*9([+]>)*-1
13:51:30 <zemhill> Lymia.die: points -18.62, score 13.62/100, rank 47/47 (change: --)
13:51:32 <Lymia> !bfjoust die (>+++++++)*9([--]>)*-1
13:51:33 <zemhill> Lymia.die: points -36.79, score 4.05/100, rank 47/47 (change: --)
13:51:33 <mroman_> !bfjoust nop (>)*9+++[](<)*9(->+<-)*-1
13:51:36 <zemhill> mroman_.nop: points -22.10, score 7.83/100, rank 47/47
13:51:39 <Lymia> !bfjoust die (>+++++++)*9([-[-]]>)*-1
13:51:39 <zemhill> Lymia.die: points -18.62, score 13.46/100, rank 47/47
13:51:40 <fizzie> Lymia: Decided to start from scratch, did you?
13:51:45 <Lymia> !bfjoust die (>+++++++)*9([+[-]]>)*-1
13:51:45 <zemhill> Lymia.die: points -16.52, score 15.46/100, rank 47/47 (change: --)
13:51:46 <Melvar> Hmm.
13:51:52 <Melvar> ( :printdef (=)
13:51:52 <idris-bot> Not found
13:52:21 <ais523> = has a definition? I guess it'd be along the lines of (=) X X
13:53:52 <Melvar> ( :doc (=)
13:53:52 <idris-bot> Data type (=) : (x : A) -> (y : B) -> Type
13:53:52 <idris-bot> The propositional equality type. A proof that x = y.
13:53:52 <idris-bot> 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 <idris-bot> 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 <idris-bot> However, Idris will attempt the homogeneous case unless it fails to typecheck.↵…
13:54:00 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=ssDB81MS
13:54:01 <zemhill> Lymia.nyuroki: points -8.10, score 23.17/100, rank 45/47 (change: -9)
13:54:12 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf
13:54:13 <zemhill> Lymia.nyuroki: points -5.40, score 25.97/100, rank 36/47 (change: +9)
13:54:16 <Lymia> I believe it not
13:54:22 <Lymia> The [+.] actually helps it
13:54:38 <Melvar> Well, it’s builtin/predefined and has a special syntax, so that’s probably why :printdef doesn’t find it.
13:54:52 <ais523> Lymia: ooh, it's not last
13:55:11 <Melvar> ( :printdef (==)
13:55:11 <idris-bot> Prelude.Classes.(==) : Eq a => a -> a -> Bool
13:55:11 <idris-bot> (==) = meth
13:55:11 <ais523> also, a 3-cycle reverse offset clear is going to evade a /lot/ of locks
13:55:20 <ais523> is this intended for the Stack Overflow tournament, or for ours, or for both?
13:55:33 <Lymia> It was originally on the Stack Overflow one.
13:55:34 <Lymia> Got #1
13:55:48 <ais523> also, is there such a thing as a medium rush program?
13:55:49 <Lymia> But that's shooting fish in a barrel. :)
13:55:55 <ais523> because that's too slow to be a fast rush, and too fast to be a slow rush
13:55:59 <ais523> I guess there is now
13:56:41 <ais523> btw, what's with all the unRLEd decoys?
13:56:59 <Lymia> Avoiding a bug in the interpreter used in the stack overflow hill
13:59:21 <AndoDaan> !bfjoust BeatYouMate +(>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*5[+]]>)*3([(+++++++)*6[-]]>[(-------)*4[+]]))*-1
13:59:22 <zemhill> AndoDaan.BeatYouMate: points -4.55, score 29.81/100, rank 26/47 (change: --)
13:59:36 <ais523> AndoDaan: can you please stop using () with nothing after them?
13:59:43 <ais523> it confuses my interp and puts debug spam all over the console
13:59:43 <mroman_> !bfjoust diehard (>--->+++)*4>([-][+--]>)*-1
13:59:44 <zemhill> mroman_.diehard: points -22.36, score 12.13/100, rank 47/47
13:59:55 <AndoDaan> This ruins the magic.
14:00:09 <AndoDaan> Alright.
14:00:12 <ais523> the program is apparently doing well despite being syntactically incorrect
14:00:19 <ais523> not sure how zemhill interprets bare ()
14:00:25 <Lymia> !bfjoust syntaxerr ()
14:00:27 <zemhill> Lymia.syntaxerr: points -35.29, score 4.32/100, rank 47/47
14:00:27 <ais523> I've been adding *1 after them
14:00:30 -!- GeekDude has joined.
14:00:32 <mroman_> !bfjoust diehard (>--->+++)*4>([-]+[]<++>[-]>)*-1
14:00:34 <zemhill> mroman_.diehard: points -37.24, score 2.80/100, rank 47/47
14:00:36 <Lymia> !bfjoust syntaxerr >(+)()<
14:00:37 <zemhill> Lymia.syntaxerr: points -35.29, score 4.32/100, rank 47/47
14:00:51 <ais523> !bfjoust suicide_or_nop (<)
14:00:52 <zemhill> ais523.suicide_or_nop: points -35.29, score 4.32/100, rank 47/47
14:00:58 <ais523> !bfjoust suicide <
14:00:58 <zemhill> ais523.suicide: points -46.00, score 0.00/100, rank 47/47
14:01:07 <ais523> zemhill appears to interpret bare () as comments
14:01:10 <Lymia> !bfjoust slowersuicide .<
14:01:10 <zemhill> Lymia.slowersuicide: points -46.00, score 0.00/100, rank 47/47
14:01:20 <Lymia> !bfjoust slowersuicide (.)*1000<
14:01:20 <zemhill> Lymia.slowersuicide: points -36.48, score 4.14/100, rank 47/47 (change: --)
14:01:25 <Lymia> !bfjoust slowersuicide (.)*100<
14:01:25 <zemhill> Lymia.slowersuicide: points -40.00, score 2.05/100, rank 47/47 (change: --)
14:01:30 <Lymia> !bfjoust slowersuicide (.)*10<
14:01:52 <fizzie> I forget what exactly ()s not followed by *N mean in terms of gearlance.
14:01:58 <fizzie> Possibly (...)*0.
14:02:00 <Lymia> !bfjoust slowersuicide (.)*100<
14:02:00 <zemhill> Lymia.slowersuicide: points -40.00, score 2.05/100, rank 47/47 (change: --)
14:02:02 <Lymia> !bfjoust slowersuicide (.)*10<
14:02:02 <zemhill> Lymia.slowersuicide: points -46.00, score 0.00/100, rank 47/47 (change: --)
14:02:06 <Lymia> !bfjoust slowersuicide (.)*15<
14:02:08 <Lymia> !bfjoust slowersuicide (.)*15<
14:02:08 <zemhill> Lymia.slowersuicide: points -46.00, score 0.00/100, rank 47/47 (change: --)
14:02:12 <Lymia> !bfjoust slowersuicide (.)*50<
14:02:12 <zemhill> Lymia.slowersuicide: points -41.52, score 1.51/100, rank 47/47 (change: --)
14:02:15 <Lymia> !bfjoust slowersuicide (.)*25<
14:02:15 <zemhill> Lymia.slowersuicide: points -44.86, score 0.42/100, rank 47/47 (change: --)
14:02:18 <Lymia> !bfjoust slowersuicide (.)*22<
14:02:18 <zemhill> Lymia.slowersuicide: points -45.43, score 0.22/100, rank 47/47 (change: --)
14:02:20 <Lymia> !bfjoust slowersuicide (.)*18<
14:02:21 <zemhill> Lymia.slowersuicide: points -45.81, score 0.03/100, rank 47/47 (change: --)
14:02:23 <Lymia> !bfjoust slowersuicide (.)*16<
14:02:23 <zemhill> Lymia.slowersuicide: points -45.95, score 0.00/100, rank 47/47 (change: --)
14:02:25 <Lymia> !bfjoust slowersuicide (.)*17<
14:02:25 <zemhill> Lymia.slowersuicide: points -45.90, score 0.03/100, rank 47/47 (change: --)
14:02:33 <Lymia> Fastest suicide is in 17 cycles, hun...
14:02:39 <Lymia> Wonder which bot that is
14:03:11 <fizzie> You can check breakdown.txt for that, probably.
14:03:28 <Lymia> !bfjoust slowersuicide (.)*20<
14:03:29 <zemhill> Lymia.slowersuicide: points -45.67, score 0.16/100, rank 47/47 (change: --)
14:03:45 <Lymia> less_is_more
14:04:20 <Lymia> ais523, but I'm curious what you mean by a medium rush. :P
14:04:37 <ais523> Lymia: well, a fast rush program tries to get inside the enemy decoy setup
14:04:51 <ais523> 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 <ais523> 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 <Syntaxerror> I heard about a CTCP-war?
14:05:56 <ais523> Syntaxerror: sort-of, yes
14:06:03 <ais523> mostly perpetuated by bots who don't realise ASCII 1 is special
14:06:05 <Lymia> I certainly don't think this clear is suitable for a fast rush.
14:06:22 <Syntaxerror> ASCII 1? You mean ☺?
14:06:27 <GeekDude> ^bf +[.+]
14:06:27 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
14:06:31 <ais523> Syntaxerror: that's CP437 1
14:06:46 <ais523> Lymia: well fast rushes are much more likely to use that sort of clear than slow rushes
14:06:51 <Syntaxerror> so.... ASCII1 is a?
14:06:54 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=ZkKw16tw
14:06:55 <zemhill> Lymia.nyuroki: points -16.83, score 15.88/100, rank 46/47 (change: -10)
14:06:59 <ais523> because they're more confident that things that aren't small decoys will be flags
14:07:04 <fizzie> ASCII 1 is called SOH.
14:07:09 <ais523> Lymia: pastebin.com's raw view is HTML-escaped
14:07:13 <GeekDude> ^bf +[.+][-]
14:07:14 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
14:07:15 <ais523> so it doesn't work well for this
14:07:16 <GeekDude> ^bf +[.+][-].
14:07:16 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
14:07:17 <ais523> use sprunge
14:07:19 <Syntaxerror> ah. I' more a fan of the NUL-char :D
14:07:21 <GeekDude> I'm not good at this
14:07:27 * GeekDude should try this in PM
14:07:43 <GeekDude> also, bf looks like regex
14:07:58 <fizzie> ais523: What I get from that URL doesn't look very HTML-escaped.
14:08:06 <ais523> maybe they canged
14:08:07 <ais523> *changed
14:08:37 <fizzie> 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 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=CMBugaVX
14:09:18 <zemhill> Lymia.nyuroki: points -17.55, score 14.86/100, rank 46/47 (change: --)
14:09:56 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=rhk7qDck
14:09:57 <zemhill> Lymia.nyuroki: points -11.29, score 19.25/100, rank 46/47 (change: --)
14:10:03 <Lymia> Less decoys dose not seem like a solution
14:10:12 <Lymia> !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 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf
14:11:07 <zemhill> Lymia.nyuroki: points -5.12, score 25.87/100, rank 36/47 (change: --)
14:11:10 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=fca2kRna
14:11:11 <zemhill> Lymia.nyuroki: points -7.93, score 22.49/100, rank 46/47 (change: -10)
14:11:40 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=fsneVCUb
14:11:41 <zemhill> Lymia.nyuroki: points -5.12, score 25.87/100, rank 36/47 (change: +10)
14:12:24 <fizzie> I guess it glitched out there again. Really should figure that out.
14:15:18 <mroman_> !bfjoust diehard (>--->+++)*4>([+]>)*-1
14:15:19 <zemhill> mroman_.diehard: points -22.50, score 12.00/100, rank 47/47
14:16:05 <mroman_> !bfjoust diehard (>--->+++)*4>([->])*-1
14:16:06 <zemhill> mroman_.diehard: points -44.00, score 0.47/100, rank 47/47 (change: --)
14:16:17 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=Zwakin3B
14:16:18 <zemhill> Lymia.nyuroki: points -40.86, score 2.40/100, rank 46/47 (change: -10)
14:16:19 <mroman_> [->] searches for a cell containing 1, right?
14:16:23 <Lymia> More decoys!
14:16:24 <Lymia> Nope!
14:16:27 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf
14:16:28 <zemhill> Lymia.nyuroki: points -5.12, score 25.88/100, rank 36/47 (change: +10)
14:16:37 <ais523> mroman_: no, you're thinking of [>-]
14:16:42 <mroman_> oh
14:16:56 <ais523> or even [+>-] if you don't want to change the other cells you look at
14:17:14 <mroman_> !bfjoust diehard (>--->+++)*4>[>-]([-]>)*-1
14:17:14 <zemhill> mroman_.diehard: points -27.74, score 8.49/100, rank 47/47 (change: --)
14:17:35 <Lymia> ais523, what would be a conventional fast rush decoy setup then?
14:17:55 <ais523> Lymia: probably nothing larger than 3 or 4, at most
14:18:08 <ais523> for examples, see omnipotence and hippo_ballerina
14:18:09 <mroman_> !bfjoust diehard ([->-]+)*-1
14:18:09 <zemhill> mroman_.diehard: points -45.71, score 0.17/100, rank 47/47 (change: --)
14:18:11 <Lymia> And slow?
14:18:15 <Syntaxerror> wth are you doing? Is this some kind of game in BF? If so: What's the goal?
14:18:21 <GeekDude> hey ais523, you're smart
14:18:27 <ais523> Lymia: like eight decoys of size 50
14:18:28 <GeekDude> how can I avoid giant + strings
14:18:32 <GeekDude> ie, ^bf +.++++++++++++++++++++++++++++++++++++++++++++++++++.>+.
14:18:34 <ais523> Syntaxerror: yes, it's a BF-based game: http://esolangs.org/wiki/BF_Joust for the details
14:18:36 <Syntaxerror> GeekDude: building loops
14:18:40 <GeekDude> -.-
14:18:50 <GeekDude> I was afraid of that
14:18:51 <ais523> but in short, you're trying to set the cell the opponent started on to 0, without going past it
14:20:12 <ais523> 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 <ais523> 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 <ais523> I guess nyuroki is a slow rush program
14:21:36 <ais523> just it doesn't throw as much effort into its slow rushing as normal
14:21:49 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=nnfBZf0L
14:21:51 <zemhill> Lymia.nyuroki: points -4.64, score 25.61/100, rank 35/47 (change: +1)
14:22:12 <ais523> hippo_ballerina is actually a really good example of a fast rush program
14:22:22 <ais523> 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 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=HzeCN3wd
14:23:30 <zemhill> Lymia.nyuroki: points -8.48, score 21.74/100, rank 46/47 (change: -11)
14:23:52 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki.bf
14:23:52 <zemhill> Lymia.nyuroki: points -5.12, score 25.88/100, rank 36/47 (change: +10)
14:24:46 <Syntaxerror> <programname> <url> redefines the program?
14:24:58 <ais523> Syntaxerror: yes, or defines it if there isn't one yet
14:25:07 <ais523> you can also give a program directly rather than an URL
14:25:13 <ais523> but most top programs don't fit on one line
14:25:33 <Syntaxerror> yeah, they look like they wint
14:25:34 <Syntaxerror> *wont
14:25:41 <ais523> !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 <ais523> there are exceptions
14:25:53 <Syntaxerror> Do you get a penalty for the length of a program?
14:26:07 <ais523> no, although there is a limit to stop people writing exponentially long programs
14:26:12 <ais523> !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 <zemhill> ais523.monolith: points 21.86, score 98.01/100, rank 2/47 (change: --)
14:26:17 <ais523> there we go
14:26:45 <ais523> I still have no idea why monolith does that well; it /shouldn't/
14:28:01 <ais523> it's just a bunch of stock ideas combined together
14:28:10 <ais523> I guess it works by being simpler than the opponent
14:28:12 <ais523> actually, hmm
14:28:23 <ais523> I wonder what happens if I use the same improvement I did with growth
14:29:04 <GeekDude> ^bf +.++++++++[>++++++++<-]>.<[-]+++++[>++++++<-]>-.+++++++..+++.[-]+.
14:29:05 <fungot> <CTCP>Hello<CTCP>
14:29:08 <GeekDude> aha!
14:29:10 <GeekDude> I can BF
14:29:24 <ais523> !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 <zemhill> ais523.monolith: points 19.40, score 86.88/100, rank 3/47 (change: -1)
14:29:36 <ais523> it gets worse
14:29:38 <ais523> fair enough
14:29:42 <ais523> !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 <zemhill> ais523.monolith: points 21.86, score 98.01/100, rank 2/47 (change: +1)
14:29:50 <GeekDude> is that some variant of BF?
14:29:55 <ais523> GeekDude: BF Joust
14:29:59 <ais523> http://esolangs.org/wiki/BF_Joust
14:30:03 <ais523> it's a BF-based programming game
14:30:40 <Lymia> Can we extend gearlance a little?
14:30:52 <Lymia> ({}&c)&cn
14:30:56 <Lymia> Or something like that
14:31:11 <ais523> what would that do?
14:31:17 <Lymia> (({{}&a}&b)&a30)&b30
14:31:21 <ais523> also, the abbreviations can be a contentious topic
14:31:34 <Lymia> Explicitly assign {}s to ()%s
14:31:34 <ais523> because they actually change which programs compress well
14:31:55 <Syntaxerror> the HELLO CTCP-command won't get any replies
14:32:28 <GeekDude> lol
14:32:29 <ais523> if you have completely general abbreviations (e.g. subroutines), then there's no reason to ever execute a ]
14:32:52 <Lymia> !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 <zemhill> Lymia.monolith: points 18.45, score 79.38/100, rank 5/47
14:32:56 <Lymia> !bfjoust monolith <
14:32:56 <zemhill> Lymia.monolith: points -46.00, score 0.00/100, rank 47/47 (change: -42)
14:32:57 <Lymia> Wht
14:33:00 <Lymia> It...
14:33:05 <Lymia> Violates the rule of 9 and wins?
14:33:23 <ais523> Lymia: monolith had basically no chance of winning on tape length 10 or 11 anyway
14:33:28 <ais523> it was a loss against pretty much every program
14:33:30 <ais523> so I just start at 12
14:33:50 <elliott_> 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 <Lymia> ais523, can't copy your rush cycle a few times?
14:34:24 <elliott_> for extremely fast rushes and stuf
14:34:24 <elliott_> f
14:34:37 <Lymia> Like, when you enter a new cell
14:34:38 <ais523> let me check logs, I think I missed something
14:34:44 <Lymia> [do fast rush]
14:34:51 <Lymia> On initial setup
14:35:05 <ais523> you can certainly attack cells during decoy setup, but it's normally a bad idea
14:35:11 <ais523> not always, cell 10 and 11 are common choices to attack
14:35:22 <ais523> normally, though, if you're placing a decoy on a cell, it can't possibly be the opponent's flag
14:35:28 <ais523> unless you have more than 8 decoys
14:35:53 <Lymia> Well.
14:35:55 <ais523> 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 <Lymia> If you see it that early
14:36:03 <ais523> nowadays people have got better at decoys, so it's becoming more useful again
14:36:07 <Lymia> You're pretty much guarenteed to be on a tape length like 10-15, right?
14:36:12 <Lymia> So, might as well as do a specialized rush then
14:36:15 -!- Syntaxerror has left.
14:36:25 <ais523> Lymia: oh, checking to see if cells are 0 during decoy setup is pretty common
14:36:32 <ais523> many programs will change to a fast rush if the tape looks very short
14:36:39 <ais523> preparation does that in order to have a chance on short tapes, for instance
14:37:11 <Lymia> !bfjoust nyuroki http://pastebin.com/raw.php?i=ijPGw9LJ
14:37:12 <zemhill> Lymia.nyuroki: points -2.50, score 29.32/100, rank 28/47 (change: +8)
14:37:16 <ais523> margins does a turtle clear on 10 and 11 if the tape looks short
14:37:22 <ais523> then goes back to trying to draw
14:37:23 <Lymia> Apparently skipping a few cells is a really good idea
14:37:39 <ais523> modern programs set loads of decoys on average, so yes
14:37:49 <ais523> if you skip too many, though, you start losing against the defence programs
14:37:58 <ais523> e.g. omnipotence only sets one decoy and it's tiny
14:38:33 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:38:34 <zemhill> Lymia.nyuroki: points -2.50, score 29.32/100, rank 28/47 (change: --)
14:38:57 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:38:58 <zemhill> Lymia.nyuroki: points -2.57, score 29.98/100, rank 28/47 (change: --)
14:39:16 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:39:16 <zemhill> Lymia.nyuroki: points -3.83, score 27.89/100, rank 31/47 (change: -3)
14:39:34 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:39:34 <zemhill> Lymia.nyuroki: points -4.79, score 27.56/100, rank 33/47 (change: -2)
14:39:51 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:39:52 <zemhill> Lymia.nyuroki: points -2.57, score 29.98/100, rank 28/47 (change: +5)
14:41:11 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:41:11 <zemhill> Lymia.nyuroki: points -19.43, score 13.19/100, rank 46/47 (change: -18)
14:41:35 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:41:36 <zemhill> Lymia.nyuroki: points -4.00, score 27.28/100, rank 33/47 (change: +13)
14:41:45 <mroman_> !bfjoust nop (>[+]->[-]+)*-1
14:41:45 <zemhill> mroman_.nop: points -21.86, score 13.09/100, rank 47/47
14:41:54 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:41:55 <zemhill> Lymia.nyuroki: points -2.69, score 30.37/100, rank 26/47 (change: +6)
14:42:24 <mroman_> !bfjoust nop (>[+[-]]->[-[+]]+)*-1
14:42:24 <zemhill> mroman_.nop: points -21.45, score 13.02/100, rank 47/47 (change: --)
14:43:16 <mroman_> !bfjoust nop (>[+[-]]->[-[+]]+)*4(<)*8(->+<-)*-1
14:43:21 <zemhill> mroman_.nop: points -11.26, score 14.16/100, rank 47/47 (change: --)
14:43:34 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:43:35 <zemhill> Lymia.nyuroki: points 0.62, score 35.97/100, rank 17/47 (change: +11)
14:43:40 <mroman_> !bfjoust nop (>[-]->[+]+)*4(<)*8(->+<-)*-1
14:43:42 <ais523> Lymia: ooh
14:43:46 <zemhill> mroman_.nop: points -12.36, score 13.14/100, rank 47/47 (change: --)
14:43:59 <mroman_> !bfjoust nop (>[+[-]]->[-[+]]+)*5(<)*10(->+<-)*-1
14:44:00 <ais523> that's getting pretty good now
14:44:02 <ais523> what did you change?
14:44:02 <zemhill> mroman_.nop: points -12.93, score 13.42/100, rank 47/47 (change: --)
14:44:18 <Lymia> ais523, skip to cell 13ish
14:44:22 <ais523> also, that program looks like it could really do with ()% abbreviations
14:44:22 <Lymia> Then in initial decoy setup
14:44:28 <Lymia> If I see anything on cells 4-8
14:44:32 <Lymia> I go directly to rush
14:44:34 <mroman_> !bfjoust nop ((>[+[-]]->[-[+]]+)*4(<)*8(->+<-)*90)*-1
14:44:36 <Lymia> And skip the large decoys
14:44:37 <zemhill> mroman_.nop: points -17.10, score 8.63/100, rank 47/47 (change: --)
14:44:48 <ais523> Lymia: this sounds like pretty sound strategy to me
14:44:58 <ais523> it may not work as well against the StackOverflow hill, which has more people doing stupid things
14:45:00 <mroman_> !bfjoust nop (((>[+[-]]->[-[+]]+)*4(<)*8)*-1
14:45:01 <zemhill> mroman_: error: parse error: starting ( without a matching )
14:45:03 <ais523> some programs only work well against good programs
14:45:08 <mroman_> !bfjoust nop ((>[+[-]]->[-[+]]+)*4(<)*8)*-1
14:45:11 <zemhill> mroman_.nop: points -23.74, score 3.47/100, rank 47/47 (change: --)
14:45:32 <mroman_> hm
14:45:58 <mroman_> !bfjoust wait [-]+[]
14:46:00 <zemhill> mroman_.wait: points -26.67, score 4.79/100, rank 47/47
14:46:00 <ais523> mroman_: it seems wrong to call a program nop if it actually does something
14:46:04 <ais523> although I guess that program doesn't do very much
14:46:04 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:46:05 <zemhill> Lymia.nyuroki: points 0.07, score 34.58/100, rank 20/47 (change: -3)
14:46:17 <ais523> mroman_: [-] will clear your flag for two cycles
14:46:21 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:46:22 <zemhill> Lymia.nyuroki: points 0.19, score 34.72/100, rank 20/47 (change: --)
14:46:26 <ais523> one doing the -, one doing the ]
14:46:31 <mroman_> !bfjoust wait >+[](->+<-)*-1
14:46:34 <zemhill> mroman_.wait: points -23.95, score 5.51/100, rank 47/47 (change: --)
14:46:39 <mroman_> Can I set it to 1?
14:46:41 <mroman_> the flag?
14:46:42 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:46:43 <zemhill> Lymia.nyuroki: points 0.38, score 35.50/100, rank 18/47 (change: +2)
14:46:58 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:47:04 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:47:13 <Lymia> !bfjoust hello <
14:47:13 <zemhill> Lymia.hello: points -46.00, score 0.00/100, rank 47/47
14:47:14 <mroman_> !bfjoust wait >+[]<[+](->+<-)*-1
14:47:14 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:47:17 <zemhill> mroman_.wait: points -18.86, score 7.41/100, rank 47/47
14:47:18 <Lymia> uh
14:47:18 <zemhill> Lymia.nyuroki: points 0.88, score 35.78/100, rank 17/47 (change: --)
14:47:22 <Lymia> There we go.
14:47:37 <ais523> mroman_: (-)*127
14:47:39 <mroman_> ais523: how long does [] take?
14:47:43 <Lymia> That +2 was me adjusting the offset clear size.
14:47:54 <ais523> mroman_: each check takes one cycle
14:47:57 <Lymia> Er, wait.
14:48:00 <mroman_> [] should wait for my cell to drop to zero
14:48:02 <Lymia> I forgot to undo some stupid change
14:48:05 <mroman_> but after the loop I'm dead?
14:48:12 <mroman_> (if I do it on the flag)
14:48:13 <ais523> 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 <ais523> so yes, if you do [-] on the flag
14:48:19 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:48:20 <zemhill> Lymia.nyuroki: points 1.05, score 36.28/100, rank 17/47 (change: --)
14:48:26 <ais523> you set it to 0 meaning you only have one more cycle to survive
14:48:31 <ais523> then spend that cycle exiting the loop
14:48:37 <Lymia> No idea why 3 seems to be a "magic number"
14:48:46 <Lymia> For the outermost wiggle loop
14:49:11 <ais523> Lymia: 3's about the size where you can still do a wiggle in a reasonable length of time
14:49:11 <mroman_> !bfjoust wait >+[]<[+-]
14:49:12 <zemhill> mroman_.wait: points -30.86, score 6.55/100, rank 47/47 (change: --)
14:49:17 <ais523> I often use size-4 decoys because of this
14:49:21 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:49:21 <mroman_> [+-] actually inc/decs all the time
14:49:22 <zemhill> Lymia.nyuroki: points 1.33, score 37.96/100, rank 16/47 (change: +1)
14:49:25 <mroman_> until it reaches zero
14:49:35 <mroman_> so it keeps the number the same overall
14:49:36 <ais523> mroman_: you might want (+-)*50000
14:49:47 <mroman_> until it reaches zero
14:49:47 <ais523> which saves time returning to the start of the loop
14:49:49 <Lymia> ais523, I do my huge wiggle precisely because the reverse offset clear is dangerous though.
14:50:02 <ais523> Lymia: right, but put it this way
14:50:07 <ais523> suppose the cell actually does have a large decoy
14:50:17 <ais523> you're going to be doing your clear no matter what
14:50:22 <mroman_> !bfjoust wait >+[]<[+-[+-]+-]
14:50:24 <zemhill> mroman_.wait: points -22.64, score 11.96/100, rank 47/47 (change: --)
14:50:29 <ais523> so you don't want to waste even more time doing wiggles and offsets first
14:50:38 <mroman_> !bfjoust wait >+[]<[+-[+-[+-]+-]+-]
14:50:40 <zemhill> mroman_.wait: points -22.64, score 11.96/100, rank 47/47 (change: --)
14:50:45 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:50:46 <zemhill> Lymia.nyuroki: points 1.64, score 37.80/100, rank 16/47 (change: --)
14:51:02 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:51:03 <zemhill> Lymia.nyuroki: points -0.02, score 35.28/100, rank 18/47 (change: -2)
14:51:12 <int-e> !bfjoust (>+++++>-----)*4(>[[[-]]])*21
14:51:13 <zemhill> int-e: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
14:51:23 <int-e> !bfjoust progname (>+++++>-----)*4(>[[[-]]])*21
14:51:24 <zemhill> int-e.progname: points -19.14, score 13.82/100, rank 47/47
14:51:31 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:51:32 <zemhill> Lymia.nyuroki: points 1.62, score 38.08/100, rank 16/47 (change: +2)
14:51:35 <int-e> !bfjoust progname (>+++++>-----)*4(>[[[-.]]])*21
14:51:35 <mroman_> !bfjoust wait (>->+)*4(>+[]<[+-[+-[+-]+-]+-]<<)*-1
14:51:36 <zemhill> int-e.progname: points -24.69, score 10.75/100, rank 47/47 (change: --)
14:51:39 <zemhill> mroman_.wait: points -33.52, score 2.53/100, rank 47/47
14:51:49 <mroman_> how can this possibly be worse
14:51:55 <int-e> !bfjoust progname (>+++++>-----)*4(>[[-]])*21
14:51:56 <zemhill> int-e.progname: points -18.76, score 14.07/100, rank 47/47
14:52:06 <int-e> !bfjoust progname (>+++++>-----)*4(>[-])*21
14:52:06 <zemhill> int-e.progname: points -16.76, score 15.93/100, rank 47/47 (change: --)
14:52:08 <mroman_> !bfjoust wait (>->+)*4(>+[]<[+-[+-[+-]+-]+-]<)*-1
14:52:09 <zemhill> mroman_.wait: points -35.67, score 1.26/100, rank 47/47
14:52:11 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:52:12 <zemhill> Lymia.nyuroki: points 1.62, score 37.40/100, rank 16/47 (change: --)
14:52:13 <mroman_> lulz
14:52:41 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:52:42 <zemhill> Lymia.nyuroki: points -0.21, score 34.86/100, rank 18/47 (change: -2)
14:52:47 <mroman_> !bfjoust wait (>-->++)*4(>+[]<[+-[+-[+-]+-]+-]<)*-1
14:52:49 <zemhill> mroman_.wait: points -36.19, score 1.40/100, rank 47/47 (change: --)
14:52:57 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:52:58 <zemhill> Lymia.nyuroki: points 1.26, score 37.38/100, rank 17/47 (change: +2)
14:53:29 <Lymia> Let's get a local scoring thing set up..
14:53:36 <mroman_> !bfjoust wait (>->+)*4(<)*8>+[]<[+-[+-[+-]+-]+-]
14:53:38 <zemhill> mroman_.wait: points -27.95, score 7.83/100, rank 47/47 (change: --)
14:53:53 <mroman_> !bfjoust wait [+-[+-]+-]
14:53:54 <zemhill> mroman_.wait: points -21.76, score 11.38/100, rank 47/47 (change: --)
14:53:54 <Lymia> Can you PM zemhill?
14:54:00 <quintopia> !bfjoust
14:54:00 <zemhill> quintopia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
14:54:02 <mroman_> yeah. can you pm him?
14:54:09 <ais523> Lymia: I like seeing development happen in-channel
14:54:11 <Lymia> Yep!
14:54:17 <ais523> although I have an offline hill-runner
14:54:27 <Lymia> I'm just adjusting counts though
14:54:27 <ais523> because I do much of my jousting offline
14:54:27 <Lymia> :P
14:54:35 <ais523> to do things like count adjustment
14:54:42 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:54:43 <zemhill> Lymia.nyuroki: points -0.17, score 34.86/100, rank 19/47 (change: -2)
14:54:49 <ais523> (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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:55:04 <zemhill> Lymia.nyuroki: points 0.81, score 37.41/100, rank 17/47 (change: +2)
14:55:34 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:55:38 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:55:39 <zemhill> Lymia.nyuroki: points 0.81, score 37.02/100, rank 17/47 (change: --)
14:55:41 <mroman_> zemhill doesn't react on queries
14:55:58 <elliott_> being able to secretly submit programs would be a bit silly
14:56:02 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:56:03 <zemhill> Lymia.nyuroki: points 0.50, score 37.02/100, rank 17/47 (change: --)
14:56:20 -!- vyv has joined.
14:56:45 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:56:46 <zemhill> Lymia.nyuroki: points -0.57, score 34.44/100, rank 18/47 (change: -1)
14:57:08 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:57:09 <zemhill> Lymia.nyuroki: points 0.83, score 37.26/100, rank 17/47 (change: +1)
14:57:39 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:57:40 <zemhill> Lymia.nyuroki: points -0.02, score 35.52/100, rank 17/47 (change: --)
14:58:10 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:58:11 <zemhill> Lymia.nyuroki: points 0.83, score 37.26/100, rank 17/47 (change: --)
14:58:14 <quintopia> hey does anyone feel like adding a link to the new hill on the wiki page? i certainly don't...
14:58:14 <mroman_> !bfjoust wait [++-[++-]++-]
14:58:14 <zemhill> mroman_.wait: points -24.33, score 8.56/100, rank 47/47 (change: --)
14:58:35 <mroman_> !bfjoust wait (>-->++)*4(>+[]<[++-[++-[++-]++-]++-]<)*-1
14:58:37 <zemhill> mroman_.wait: points -34.12, score 1.42/100, rank 47/47 (change: --)
14:59:01 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:59:02 <zemhill> Lymia.nyuroki: points -0.48, score 32.54/100, rank 20/47 (change: -4)
14:59:19 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
14:59:20 <zemhill> Lymia.nyuroki: points 1.31, score 37.72/100, rank 16/47 (change: +4)
14:59:22 <Lymia> Hun
14:59:25 <Lymia> The 3 cycle clear
14:59:34 <Lymia> Apparently kills lots more than it fails against
14:59:37 <Lymia> Are locks that common here?
15:00:38 <ais523> many of the complex programs use locks somewhere
15:00:54 <ais523> also, about half the top programs are heavily based on them
15:01:02 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:01:03 <zemhill> Lymia.nyuroki: points -0.19, score 34.62/100, rank 20/47 (change: -4)
15:01:23 <ais523> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:01:32 <zemhill> Lymia.nyuroki: points 1.48, score 37.83/100, rank 16/47 (change: +4)
15:01:36 <ais523> then I discover a new locking algorithm, and the circle continues
15:01:56 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:01:57 <zemhill> Lymia.nyuroki: points 2.52, score 39.21/100, rank 16/47 (change: --)
15:02:10 <mroman_> What's %?
15:02:21 <ais523> mroman_: it's an abbreviation that lets you create nested loops
15:02:30 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:02:31 <zemhill> Lymia.nyuroki: points 2.12, score 38.68/100, rank 16/47 (change: --)
15:02:35 <ais523> (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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:02:48 <zemhill> Lymia.nyuroki: points 1.71, score 37.89/100, rank 16/47 (change: --)
15:02:59 <Lymia> [+.].[-.]. seems surprisingly effective
15:03:30 <ais523> that . in the middle looks out of place, but I guess it might help
15:03:33 <mroman_> wait
15:03:42 <mroman_> (a(b)*9c)*9 isn't legal?
15:03:48 <ais523> mroman_: no, that's legal
15:03:56 <ais523> ([)*9+(])*9 isn't legal
15:03:57 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:03:58 <zemhill> Lymia.nyuroki: points 1.38, score 38.33/100, rank 16/47 (change: --)
15:04:03 <ais523> but ([{+}})%9 is
15:04:05 <elliott_> is nyuroki partially generated?
15:04:09 <Lymia> elliott_, yeah
15:04:11 <ais523> err, or would be if I didn't typo
15:04:16 <ais523> ([{+}])%9
15:04:29 <ais523> for generated code, we tend to make the generators public (although it isn't required)
15:04:40 <ais523> growth is generated, and I have the generator appended at the end of the program
15:04:43 <ais523> (actually, it appends itself)
15:04:45 <Lymia> https://github.com/Lymia/JoustExt/blob/master/examples/nyuroki.jx
15:04:51 <Lymia> This is my terrible attempt at a generator
15:07:50 -!- ais523 has quit.
15:08:35 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:08:36 <zemhill> Lymia.nyuroki: points -12.90, score 18.97/100, rank 46/47 (change: -30)
15:09:03 <elliott_> I like how it has callcc
15:09:11 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:09:12 <zemhill> Lymia.nyuroki: points 2.52, score 39.21/100, rank 16/47 (change: +30)
15:09:46 <Lymia> I used to call it foo: {} and break foo
15:11:16 <mroman_> !bfjoust wait [++-[+.+-]++-]
15:11:17 <zemhill> mroman_.wait: points -27.64, score 7.15/100, rank 47/47 (change: --)
15:11:23 <mroman_> !bfjoust wait [+.+-[+.+-]+.+-]
15:11:24 <zemhill> mroman_.wait: points -26.38, score 7.84/100, rank 47/47 (change: --)
15:11:32 <mroman_> !bfjoust wait [+.+.-[+.+.-]+.+.-]
15:11:34 <zemhill> mroman_.wait: points -14.98, score 11.23/100, rank 47/47 (change: --)
15:11:45 <mroman_> !bfjoust wait [+.+.-.[+.+.-.]+.+.-.]
15:11:46 <zemhill> mroman_.wait: points -25.36, score 9.08/100, rank 47/47 (change: --)
15:11:50 <mroman_> !bfjoust wait [+.+.-[+.+.-.]+.+.-]
15:11:51 <zemhill> mroman_.wait: points -24.40, score 9.72/100, rank 47/47 (change: --)
15:11:54 <mroman_> !bfjoust wait [+.+.-[+.+.-]+.+.-]
15:11:55 <Lymia> Is this scoring system... OK?
15:11:56 <zemhill> mroman_.wait: points -14.98, score 11.23/100, rank 47/47 (change: --)
15:12:24 <Lymia> Seems most of its score is due to preperation losing
15:12:41 <mroman_> !bfjoust wait [++-[+.+.-[+.+.-]+.+.-]([-]>)*-1]
15:12:43 <zemhill> mroman_.wait: points -16.19, score 10.94/100, rank 47/47 (change: --)
15:13:16 <mroman_> !bfjoust wait >>[+.+.-[+.+.-]+.+.-]>>>>([-]>)*-1]
15:13:17 <zemhill> mroman_: error: parse error: terminating ] without a matching [
15:13:19 <mroman_> !bfjoust wait >>[+.+.-[+.+.-]+.+.-]>>>>([-]>)*-1
15:13:20 <zemhill> mroman_.wait: points -22.69, score 12.18/100, rank 47/47 (change: --)
15:13:36 <mroman_> !bfjoust wait (>)*9[+.+.-[+.+.-]+.+.-]([-]>)*-1
15:13:37 <zemhill> mroman_.wait: points -22.90, score 11.76/100, rank 47/47 (change: --)
15:13:48 <mroman_> !bfjoust wait (>->+)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1
15:13:48 <zemhill> mroman_.wait: points -28.45, score 8.52/100, rank 47/47 (change: --)
15:14:01 <mroman_> !bfjoust wait (>--->+++++++)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1
15:14:02 <zemhill> mroman_.wait: points -21.90, score 11.66/100, rank 47/47 (change: --)
15:14:18 <mroman_> !bfjoust wait (>----------->+++++++)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1
15:14:18 <zemhill> mroman_.wait: points -18.71, score 14.46/100, rank 47/47 (change: --)
15:14:22 <mroman_> ic
15:14:28 <Lymia> !bfjoust betterwait (-)*127 (-+)*-1
15:14:30 <zemhill> Lymia.betterwait: points -14.07, score 15.93/100, rank 47/47
15:14:38 <Lymia> !bfjoust betterwait (-)*127 (---+++)*-1
15:14:40 <zemhill> Lymia.betterwait: points -14.67, score 16.70/100, rank 47/47 (change: --)
15:14:51 <mroman_> !bfjoust wait >(-)*100>(+)*100>(-)*100>(+)*100>[+.+.-[+.+.-]+.+.-]([-]>)*-1
15:14:52 <zemhill> mroman_.wait: points -28.26, score 10.06/100, rank 47/47
15:15:04 <mroman_> !bfjoust wait (>----------->++++++++)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1
15:15:05 <zemhill> mroman_.wait: points -19.21, score 14.04/100, rank 47/47 (change: --)
15:15:09 <Lymia> !bfjoust betterwait (-)*127 (--++)*-1
15:15:11 <zemhill> Lymia.betterwait: points -14.21, score 16.41/100, rank 47/47
15:15:13 <mroman_> !bfjoust wait (>---------->+++++++)*4>[+.+.-[+.+.-]+.+.-]([-]>)*-1
15:15:14 <zemhill> mroman_.wait: points -18.60, score 14.46/100, rank 47/47
15:15:35 <mroman_> !bfjoust wait (>---------->+++++++)*4>[+.+.-[+.+.-]+.+.-]([++-]>)*-1
15:15:35 <zemhill> mroman_.wait: points -27.45, score 9.39/100, rank 47/47 (change: --)
15:15:45 <mroman_> !bfjoust wait (>---------->+++++++)*4>[+.+.-[+.+.-]+.+.-]([-][+]>)*-1
15:15:45 <zemhill> mroman_.wait: points -19.79, score 13.61/100, rank 47/47 (change: --)
15:15:49 <Lymia> !bfjoust betterwait (-)*127>+[<(-+)*-1]
15:15:50 <zemhill> Lymia.betterwait: points -20.29, score 11.71/100, rank 47/47
15:15:56 <Lymia> !bfjoust betterwait (-)*127>+[.<(-+)*-1]
15:15:57 <zemhill> Lymia.betterwait: points -13.79, score 16.00/100, rank 47/47 (change: --)
15:15:59 <mroman_> !bfjoust wait (>---------->+++++++)*4>[+.+.-[+.+.-]+.+.-]((-)*9[-]>)*-1
15:16:00 <zemhill> mroman_.wait: points -28.79, score 7.87/100, rank 47/47
15:16:06 <Lymia> !bfjoust betterwait (-)*127>+[.<(--++)*-1]
15:16:06 <mroman_> interesting
15:16:07 <zemhill> Lymia.betterwait: points -14.90, score 15.34/100, rank 47/47
15:16:09 <Lymia> !bfjoust betterwait (-)*127>+[.<(---+++)*-1]
15:16:10 <zemhill> Lymia.betterwait: points -16.10, score 15.50/100, rank 47/47 (change: --)
15:16:13 <int-e> !bfjoust betterwait (-)*126 (---+++)*-1
15:16:13 <zemhill> int-e.betterwait: points -15.48, score 16.04/100, rank 47/47
15:16:18 <Lymia> !bfjoust betterwait (-)*127>+[.<(-+)*-1]
15:16:19 <zemhill> Lymia.betterwait: points -13.79, score 16.00/100, rank 47/47
15:16:19 <mroman_> !bfjoust wait (>---------->+++++++)*4>[++-[++-]++-]((-)*9[-]>)*-1
15:16:20 <zemhill> mroman_.wait: points -28.55, score 7.89/100, rank 47/47
15:16:27 <mroman_> !bfjoust wait (>---------->+++++++)*4>[++-[++-]++-]([-]>)*-1
15:16:27 <zemhill> mroman_.wait: points -18.50, score 14.45/100, rank 47/47 (change: --)
15:16:28 <int-e> !bfjoust betterwait (+)*127 (---+++)*-1
15:16:29 <zemhill> int-e.betterwait: points -20.45, score 12.55/100, rank 47/47
15:16:31 <Lymia> !bfjoust betterwait (-)*126>+[.<(-+)*-1]
15:16:32 <zemhill> Lymia.betterwait: points -23.17, score 9.89/100, rank 47/47
15:16:40 <Lymia> !bfjoust betterwait (-)*125>+[.<(-+)*-1]
15:16:40 <int-e> odd.
15:16:41 <zemhill> Lymia.betterwait: points -23.48, score 9.19/100, rank 47/47 (change: --)
15:16:47 <mroman_> !bfjoust wait (>---------->+++++++)*4>[++-]([-]>)*-1
15:16:48 <zemhill> mroman_.wait: points -13.76, score 18.51/100, rank 47/47
15:16:52 <mroman_> wow
15:16:55 <mroman_> new record
15:17:14 <int-e> !bfjoust betterwait (+)*127 (+++---)*-1
15:17:15 <zemhill> int-e.betterwait: points -14.67, score 16.70/100, rank 47/47
15:17:24 <mroman_> !bfjoust wait (>---------->+++++++)*4>[++-](+++[-]>)*-1
15:17:25 <zemhill> mroman_.wait: points -14.26, score 18.39/100, rank 47/47
15:17:26 <int-e> !bfjoust betterwait (+)*126 (+++---)*-1
15:17:27 <zemhill> int-e.betterwait: points -15.48, score 16.04/100, rank 47/47
15:17:40 <mroman_> !bfjoust wait (>---------->+++++++)*4>([-]>)*-1
15:17:40 <zemhill> mroman_.wait: points -10.88, score 21.91/100, rank 47/47
15:17:43 <Lymia> !bfjoust unnyuroki >>>>>>>>[(>[(-)*10[+.].[-.]]--)*21]++<[>(>[(-)*10[+.].[-.]]--)*21]--<[>>(>[(-)*10[+.].[-.]]--)*21]+<[>>>(>[(-)*10[+.].[-.]]--)*21]--<[>>>>(>[(-)*10[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.]]--)*21
15:17:44 <zemhill> Lymia.unnyuroki: points -0.60, score 37.40/100, rank 18/47
15:17:44 <mroman_> lulz
15:17:47 <Lymia> ...
15:18:07 <int-e> !bfjoust betterwait (+)*127 (+++>+<--->-<)*-1
15:18:08 <zemhill> int-e.betterwait: points -18.74, score 13.91/100, rank 47/47
15:18:11 <Lymia> !bfjoust unnyuroki <
15:18:12 <zemhill> Lymia.unnyuroki: points -46.00, score 0.00/100, rank 47/47 (change: -29)
15:18:19 <mroman_> !bfjoust wait (>---------->+++++++)*4>([-]>[+]>)*-1
15:18:19 <zemhill> mroman_.wait: points -7.64, score 24.40/100, rank 45/47
15:18:22 <Lymia> !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*10[+.].[-.]]--)*21]++<[>(>[(-)*10[+.].[-.]]--)*21]--<[>>(>[(-)*10[+.].[-.]]--)*21]+<[>>>(>[(-)*10[+.].[-.]]--)*21]--<[>>>>(>[(-)*10[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.]]--)*21
15:18:23 <zemhill> Lymia.simple_nyuroki: points -0.21, score 37.94/100, rank 18/47
15:18:24 <mroman_> ha
15:18:28 <mroman_> I M ON DA FREAKING HILL
15:18:43 <Lymia> That's a clear.
15:18:46 <Lymia> Not a wait
15:18:55 <mroman_> Well...
15:19:00 <mroman_> Maybe!
15:19:01 -!- S1 has joined.
15:19:19 <Lymia> !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*30[+.].[-.]]--)*21]++<[>(>[(-)*30[+.].[-.]]--)*21]--<[>>(>[(-)*30[+.].[-.]]--)*21]+<[>>>(>[(-)*30[+.].[-.]]--)*21]--<[>>>>(>[(-)*30[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*30[+.].[-.]]--)*21
15:19:19 <zemhill> Lymia.simple_nyuroki: points -2.69, score 34.58/100, rank 22/47 (change: -4)
15:19:30 <mroman_> !bfjoust wait (>---------->+++++++)*4>([-]>[+]>[+]>[-]>)*-1
15:19:30 <zemhill> mroman_.wait: points -8.93, score 24.24/100, rank 47/47 (change: -6)
15:19:33 <int-e> what, alternating between [-] and [+] helps?!
15:19:37 <mroman_> !bfjoust wait (>---------->+++++++)*4>([-]>[+]>)*-1
15:19:37 <zemhill> mroman_.wait: points -7.07, score 26.35/100, rank 41/47 (change: +6)
15:19:41 <int-e> on different positions, too
15:19:45 <Lymia> !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*5[+.].[-.]]--)*21]++<[>(>[(-)*5[+.].[-.]]--)*21]--<[>>(>[(-)*5[+.].[-.]]--)*21]+<[>>>(>[(-)*5[+.].[-.]]--)*21]--<[>>>>(>[(-)*5[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*5[+.].[-.]]--)*21
15:19:46 <zemhill> Lymia.simple_nyuroki: points -2.12, score 35.38/100, rank 20/47 (change: +2)
15:20:16 <Lymia> !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*15[+.].[-.]]--)*21]++<[>(>[(-)*15[+.].[-.]]--)*21]--<[>>(>[(-)*15[+.].[-.]]--)*21]+<[>>>(>[(-)*15[+.].[-.]]--)*21]--<[>>>>(>[(-)*15[+.].[-.]]--)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*15[+.].[-.]]--)*21
15:20:18 <zemhill> Lymia.simple_nyuroki: points -0.05, score 37.73/100, rank 18/47 (change: +2)
15:20:46 <mroman_> !bfjoust wait (>---------->+++++++)*4>([-][+]>)*-1
15:20:47 <zemhill> mroman_.wait: points -12.05, score 20.26/100, rank 47/47 (change: -3)
15:20:53 <mroman_> !bfjoust wait (>---------->+++++++)*4>([+]>[-]>)*-1
15:21:02 <S1> what is bfjoust?
15:21:11 <Lymia> !bfjoust simple_nyuroki >>>>>>>>[(>[(-)*10[+.].[-.]]---)*21]++<[>(>[(-)*10[+.].[-.]]---)*21]--<[>>(>[(-)*10[+.].[-.]]---)*21]+<[>>>(>[(-)*10[+.].[-.]]---)*21]--<[>>>>(>[(-)*10[+.].[-.]]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.]]---)*21
15:21:11 <zemhill> Lymia.simple_nyuroki: points 0.93, score 40.53/100, rank 15/47 (change: +3)
15:21:17 <Lymia> !bfjoust simple_nyuroki <
15:21:17 <zemhill> Lymia.simple_nyuroki: points -46.00, score 0.00/100, rank 47/47 (change: -32)
15:21:19 <int-e> bfjoust is a spamming tool for #esoteric
15:21:20 <Lymia> !bfjoust nyuroki <
15:21:20 <zemhill> Lymia.nyuroki: points -45.00, score 0.00/100, rank 46/47 (change: -31)
15:21:25 <mroman_> !bfjoust wait (>---------->+++++++)*4>([+]>[-]>)*-1
15:21:26 <zemhill> mroman_.wait: points -4.90, score 24.50/100, rank 39/47 (change: --)
15:21:37 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]-----)*21]++<[>(>[(-)*10[+.].[-.].]-----)*21]--<[>>(>[(-)*10[+.].[-.].]-----)*21]+<[>>>(>[(-)*10[+.].[-.].]-----)*21]--<[>>>>(>[(-)*10[+.].[-.].]-----)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.].]-----)*21
15:21:38 <zemhill> Lymia.nyuroki: points 0.98, score 38.29/100, rank 16/47 (change: +30)
15:21:39 <mroman_> int-e: exactly
15:21:42 <paul2520> S1: it's a game: http://esolangs.org/wiki/BF_Joust
15:21:49 <int-e> `? bfjoust
15:21:50 <HackEgo> bfjoust? ¯\(°​_o)/¯
15:21:55 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.].]---)*21
15:21:55 <zemhill> Lymia.nyuroki: points 1.12, score 38.08/100, rank 16/47 (change: --)
15:22:09 <int-e> `learn bfjoust is a spamming tool for #esoteric.
15:22:11 <HackEgo> I knew that.
15:22:33 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21
15:22:33 <zemhill> Lymia.nyuroki: points 1.31, score 38.04/100, rank 16/47 (change: --)
15:22:36 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*15(>[(-)*10[+.].[-.].]---)*21
15:22:37 <zemhill> Lymia.nyuroki: points 0.64, score 37.40/100, rank 17/47 (change: -1)
15:22:53 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*29(>)*15(>[(-)*10[+.].[-.].]---)*21
15:22:53 <zemhill> Lymia.nyuroki: points 0.69, score 37.18/100, rank 16/47 (change: +1)
15:22:58 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21
15:22:58 <zemhill> Lymia.nyuroki: points 1.31, score 38.04/100, rank 16/47 (change: --)
15:23:05 <elliott_> int-e: it's on-topic :p
15:23:13 <mroman_> !bfjoust wait >(>---------->+++++++)*4>([-]>[+]>)*-1
15:23:13 <zemhill> mroman_.wait: points -8.36, score 22.48/100, rank 46/47 (change: -3)
15:23:14 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*37<(-)*37<(-)*37<(+)*37<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21
15:23:15 <zemhill> Lymia.nyuroki: points 1.10, score 37.68/100, rank 16/47 (change: --)
15:23:20 <mroman_> !bfjoust wait (>---------->+++++++)*4>([-]>[+]>)*-1
15:23:20 <zemhill> mroman_.wait: points -6.21, score 24.96/100, rank 43/47 (change: +3)
15:23:23 <mroman_> wow
15:23:24 <int-e> elliott_: yes, and it's still spam spam spam spam, lovely spam, wonderful spam
15:23:29 <mroman_> that that even makes a difference
15:23:31 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*101<(-)*37<(-)*101<(+)*37<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21
15:23:32 <zemhill> Lymia.nyuroki: points 0.64, score 36.67/100, rank 17/47 (change: -1)
15:23:38 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*101<(-)*101<(-)*101<(+)*101<(-)*19(>)*13(>[(-)*10[+.].[-.].]---)*21
15:23:38 <mroman_> !bfjoust wait (>---------->+++++++)*4>>([-]>[+]>)*-1
15:23:39 <zemhill> Lymia.nyuroki: points -2.38, score 32.55/100, rank 21/47 (change: -4)
15:23:40 <zemhill> mroman_.wait: points -5.10, score 26.61/100, rank 37/47 (change: +5)
15:23:47 <mroman_> !bfjoust wait (>---------->+++++++)*4>>>([-]>[+]>)*-1
15:23:47 <zemhill> mroman_.wait: points -4.62, score 27.82/100, rank 34/47 (change: +3)
15:23:48 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-.].]---)*21
15:23:48 <zemhill> Lymia.nyuroki: points 1.31, score 38.96/100, rank 16/47 (change: +5)
15:23:54 <mroman_> !bfjoust wait (>---------->+++++++)*4>>>>([-]>[+]>)*-1
15:23:54 <zemhill> mroman_.wait: points -4.02, score 29.09/100, rank 31/47 (change: +2)
15:23:58 <mroman_> !bfjoust wait (>---------->+++++++)*4>>>>>([-]>[+]>)*-1
15:23:58 <zemhill> mroman_.wait: points -4.21, score 29.25/100, rank 31/47 (change: --)
15:24:09 <int-e> (damn vikings)
15:24:09 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].]---)*21]++<[>(>[(-)*10[+.].]---)*21]--<[>>(>[(-)*10[+.].]---)*21]+<[>>>(>[(-)*10[+.].]---)*21]--<[>>>>(>[(-)*10[+.].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].]---)*21
15:24:10 <zemhill> Lymia.nyuroki: points 0.43, score 38.30/100, rank 16/47 (change: --)
15:24:39 <mroman_> !bfjoust wait (>--------->+++++++)*4>>>>>([-]>[+]>)*-1
15:24:40 <zemhill> mroman_.wait: points -4.12, score 29.42/100, rank 31/47 (change: --)
15:24:56 -!- AnotherTest has joined.
15:24:59 <mroman_> !bfjoust wait >--------->+++++++>---->+++>>>>>([-]>[+]>)*-1
15:24:59 <zemhill> mroman_.wait: points -6.29, score 24.56/100, rank 44/47 (change: -13)
15:25:05 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
15:25:06 <mroman_> !bfjoust wait (>---------->+++++++)*4>>>>>([-]>[+]>)*-1
15:25:06 <zemhill> mroman_.wait: points -4.21, score 29.47/100, rank 31/47 (change: +13)
15:25:08 <zemhill> Lymia.nyuroki: points 1.45, score 39.27/100, rank 16/47 (change: --)
15:25:28 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([-]>[+]>)*-1
15:25:28 <zemhill> mroman_.wait: points -2.07, score 33.66/100, rank 22/47 (change: +9)
15:25:32 <mroman_> wow
15:25:41 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-..].]---)*21]++<[>(>[(-)*10[+.].[-..].]---)*21]--<[>>(>[(-)*10[+.].[-..].]---)*21]+<[>>>(>[(-)*10[+.].[-..].]---)*21]--<[>>>>(>[(-)*10[+.].[-..].]---)*21](+)*61<(-)*61<(-)*61<(+)*61<(-)*19(>)*14(>[(-)*10[+.].[-..].]---)*21
15:25:42 <zemhill> Lymia.nyuroki: points 0.90, score 39.40/100, rank 16/47 (change: --)
15:25:56 <mroman_> !bfjoust wait (>------------->++++++++)*4>>>>>([-]>[+]>)*-1
15:25:56 <zemhill> mroman_.wait: points -2.36, score 33.27/100, rank 22/47 (change: --)
15:26:01 <mroman_> !bfjoust wait (>-------------->++++++++)*4>>>>>([-]>[+]>)*-1
15:26:01 <zemhill> mroman_.wait: points -3.24, score 32.03/100, rank 24/47 (change: -2)
15:26:03 <Lymia> !bfjoust nyuroki >>>>>>>>[(>[(-)*10[+.].[-.].]---)*21]++<[>(>[(-)*10[+.].[-.].]---)*21]--<[>>(>[(-)*10[+.].[-.].]---)*21]+<[>>>(>[(-)*10[+.].[-.].]---)*21]--<[>>>>(>[(-)*10[+.].[-.].]---)*21](+)*51<(-)*51<(-)*51<(+)*51<(-)*19(>)*14(>[(-)*10[+.].[-.].]---)*21
15:26:04 <zemhill> Lymia.nyuroki: points 1.29, score 40.44/100, rank 16/47 (change: --)
15:26:06 <mroman_> !bfjoust wait (>------------->++++++++)*4>>>>>([-]>[+]>)*-1
15:26:21 <mroman_> !bfjoust wait (>------------->++++++++)*4>>>>>([-]>[+]>)*-1
15:26:21 <zemhill> mroman_.wait: points -2.36, score 33.62/100, rank 22/47 (change: --)
15:26:37 <mroman_> hm
15:26:42 <Lymia> !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 <zemhill> Lymia.nyuroki: points 3.12, score 43.34/100, rank 12/47 (change: +4)
15:27:00 <Lymia> !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 <zemhill> Lymia.nyuroki: points 2.67, score 42.41/100, rank 12/47 (change: --)
15:27:01 <mroman_> !bfjoust wait >(-)*13>(+)*12>(-)*11>(+)*10>>>>>([-]>[+]>)*-1
15:27:02 <zemhill> mroman_.wait: points -6.79, score 24.96/100, rank 44/47 (change: -22)
15:27:05 <mroman_> :D
15:27:06 <mroman_> :(
15:27:27 <mroman_> !bfjoust wait >(-)*6>(+)*5>(-)*4>(+)*3>>>>>([-]>[+]>)*-1
15:27:28 <zemhill> mroman_.wait: points -7.81, score 22.87/100, rank 46/47 (change: -2)
15:27:29 <Lymia> !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 <zemhill> Lymia.nyuroki: points 3.40, score 41.57/100, rank 12/47 (change: --)
15:27:32 <mroman_> !bfjoust wait (>------------->++++++++)*4>>>>>([-]>[+]>)*-1
15:27:33 <zemhill> mroman_.wait: points -2.21, score 32.98/100, rank 21/47 (change: +25)
15:27:39 <mroman_> ok. I'll leave it at that
15:27:58 <Lymia> !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 <zemhill> Lymia.nyuroki: points 3.12, score 43.34/100, rank 12/47 (change: +1)
15:30:30 <Lymia> !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 <zemhill> Lymia.nyuroki: points 15.05, score 72.85/100, rank 5/47 (change: +7)
15:31:14 <Lymia> !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 <zemhill> Lymia.nyruoki: points 3.83, score 47.14/100, rank 11/47
15:31:36 <Lymia> !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 <zemhill> Lymia.nyuroki: points 12.00, score 66.54/100, rank 5/47 (change: --)
15:31:48 <quintopia> nice
15:32:07 <Lymia> !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 <zemhill> Lymia.nyuroki: points 15.43, score 84.30/100, rank 4/47 (change: +1)
15:32:15 <quintopia> you're like deewiant too. one liners that top the hill
15:32:28 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.88, score 90.26/100, rank 3/47 (change: +1)
15:32:32 <elliott_> whoa
15:32:37 <elliott_> you're a machine :o
15:32:38 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.43, score 87.90/100, rank 4/47 (change: -1)
15:32:52 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.17, score 86.12/100, rank 4/47 (change: --)
15:33:08 <Lymia> !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 <zemhill> Lymia.nyuroki: points 15.71, score 84.96/100, rank 4/47 (change: --)
15:33:09 <quintopia> are you even changing anything
15:33:13 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.17, score 86.12/100, rank 4/47 (change: --)
15:33:18 <Lymia> Decoy counts.
15:33:23 <quintopia> ah yeah
15:33:36 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.10, score 88.92/100, rank 3/47 (change: +1)
15:34:06 <Lymia> !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 <zemhill> Lymia.nyuroki: points 12.33, score 71.78/100, rank 5/47 (change: -2)
15:34:20 <Lymia> !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 <Lymia> ...
15:34:24 <Lymia> uh
15:34:28 <quintopia> oops
15:34:31 <Lymia> fizzie!
15:34:43 <Lymia> fizzie something went wrong
15:34:57 <quintopia> fizzie: lymia broke zemhill to death
15:34:58 <int-e> you're wearing down the hill
15:36:38 <Deewiant> Lymia++
15:39:26 <elliott_> Lymia: I think you won
15:39:41 <S1> I love this game
15:40:19 <Lymia> I didn't mean to win like this :(
15:40:50 <elliott_> bf joust is over.... lymia crowned champion
15:42:33 <Lymia> ... oh
15:42:36 <Lymia> And I have a nyruoki to kill too
15:44:30 <Lymia> I wonder how this gets past locks though
15:44:30 <S1> What do you always mean by nyruoki?
15:44:43 <Lymia> S1, I have a typoed bot on the hill.
15:44:43 <Lymia> :(
15:45:13 <Lymia> [(-)*10[+]] should be extremely easily locked, right?
15:45:23 <S1> I do not understand but I think I'll ask again when I understood the game
15:45:53 <Lymia> So why is smartlock a win
15:46:37 <Lymia> Does the --- manage to completely kill tripwires or something?
15:46:43 <quintopia> perhaps tripwire avoidance
15:47:03 <fizzie> Whoops.
15:47:14 <quintopia> fizzie: is it a bug
15:47:40 <fizzie> Same segfault as last time.
15:47:47 -!- zemhill has joined.
15:47:56 <Lymia> !bfjoust nyruoki <
15:47:56 <zemhill> Lymia.nyruoki: points -46.00, score 0.00/100, rank 47/47 (change: -36)
15:48:01 <fizzie> From the matrix lib, when computing supplementary scores for the json report.
15:48:04 <quintopia> unbreak my bot....
15:48:05 <Lymia> !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 <zemhill> Lymia.nyuroki: points 13.12, score 67.65/100, rank 5/47 (change: --)
15:48:26 <Lymia> !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 <zemhill> Lymia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
15:48:32 <Lymia> !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 <zemhill> Lymia.nyuroki: points 14.19, score 70.81/100, rank 5/47 (change: --)
15:48:34 <elliott_> the highest you've gotten is 2, right?
15:48:39 <Lymia> 3/47
15:48:55 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.43, score 84.14/100, rank 4/47 (change: +1)
15:49:02 <elliott_> why is the hill 47 programs anyway
15:49:06 <elliott_> wasn't it 50 before?
15:49:07 <Lymia> But I had a clone nyuroki
15:49:12 <Lymia> Which inflated my score
15:49:29 <fizzie> It was 47 in codu.org too, I don't know where that comes from.
15:49:44 <fizzie> I could make it a bit bigger.
15:50:18 <Lymia> !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 <zemhill> Lymia.nyuroki: points 2.90, score 42.76/100, rank 12/47 (change: -8)
15:50:37 <elliott_> eh, random magical numbers are nice.
15:50:47 <elliott_> 47 is a lot anyway.
15:50:57 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.90, score 82.78/100, rank 4/47 (change: +8)
15:51:26 <Lymia> !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 <zemhill> Lymia.nyuroki: points -1.48, score 34.52/100, rank 20/47 (change: -16)
15:51:33 <Lymia> !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 <zemhill> Lymia.nyuroki: points 15.00, score 74.71/100, rank 5/47 (change: +15)
15:51:58 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.19, score 79.17/100, rank 5/47 (change: --)
15:52:00 <quintopia> fizzie: make it *infinite* :D
15:52:07 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.17, score 79.13/100, rank 5/47 (change: --)
15:52:13 <Lymia> !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 <zemhill> Lymia.nyuroki: points 15.00, score 74.71/100, rank 5/47 (change: --)
15:52:19 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.90, score 82.78/100, rank 4/47 (change: +1)
15:52:40 <Lymia> !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 <zemhill> Lymia.nyuroki: points -1.05, score 35.71/100, rank 20/47 (change: -16)
15:52:55 <elliott_> quintopia: that's making me think of the platonic BF Joust hill
15:53:02 <elliott_> where every possible program is run against each other
15:53:16 <elliott_> I wonder what would be on top
15:53:16 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.67, score 84.19/100, rank 4/47 (change: +16)
15:53:32 <Lymia> elliott_, I ran that once
15:53:38 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.43, score 84.58/100, rank 4/47 (change: --)
15:53:40 <quintopia> 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 <Lymia> Forgot who won though. :(
15:53:51 <quintopia> (but can still be replaced)
15:54:08 <Lymia> quintopia, I have a zip from the old egobot hill
15:54:09 <elliott_> Lymia: you... did? is that even possible?
15:54:14 <elliott_> it's kind of an infinite amount of computation
15:54:22 <Lymia> elliott_, oh.
15:54:26 <Lymia> Not quite.
15:54:34 <Lymia> Every single program ever submitted to EgoBot
15:54:36 <Lymia> Close enough.
15:54:39 <int-e> not quite infinite.
15:54:56 <Lymia> !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 <zemhill> Lymia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
15:55:09 <Lymia> !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 <zemhill> 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 <Lymia> !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 <zemhill> Lymia.nyuroki: points 14.24, score 72.65/100, rank 5/47 (change: --)
16:00:59 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.40, score 84.63/100, rank 4/47 (change: +1)
16:01:14 <Lymia> !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 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.43, score 84.14/100, rank 4/47 (change: --)
16:01:48 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.40, score 84.63/100, rank 4/47 (change: --)
16:02:09 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.50, score 84.94/100, rank 4/47 (change: --)
16:02:29 <Lymia> !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 <zemhill> Lymia.nyuroki: points 15.81, score 78.22/100, rank 5/47 (change: -1)
16:02:43 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.29, score 79.14/100, rank 5/47 (change: --)
16:03:07 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.33, score 79.17/100, rank 5/47 (change: --)
16:03:22 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.50, score 84.94/100, rank 4/47 (change: +1)
16:03:31 <Lymia> Urgh, it's like pokemon speed creeping :(
16:04:25 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.71, score 81.60/100, rank 4/47 (change: --)
16:04:54 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.12, score 82.91/100, rank 4/47 (change: --)
16:05:21 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.17, score 83.11/100, rank 4/47 (change: --)
16:06:00 <Lymia> !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 <zemhill> Lymia.nyuroki: points 17.50, score 84.94/100, rank 4/47 (change: --)
16:06:02 <Lymia> Oh well.
16:06:04 <Lymia> Lock weakness it is
16:07:19 <Lymia> !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 <Lymia> 5>(-)*25>(+)*25(>)*6(>[(-)*4([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21
16:07:20 <zemhill> Lymia.frankenstein: points -30.74, score 7.41/100, rank 47/47
16:07:24 <Lymia> !bfjoust frankenstein <
16:07:30 <Lymia> !bfjoust frankenstein <
16:07:30 <zemhill> Lymia.frankenstein: points -46.00, score 0.00/100, rank 47/47 (change: --)
16:07:45 <Lymia> !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 <zemhill> Lymia: error: parse error: starting ( without a matching )
16:07:45 <Lymia> )%3000][..++-----])*21
16:08:14 <Lymia> !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 <zemhill> Lymia: error: parse error: starting ( without a matching )
16:08:14 <Lymia> .++-----]])*21
16:08:55 <Lymia> !bfjoust frakenstein http://pastebin.com/raw.php?i=9jq7wP8Z
16:08:56 <zemhill> Lymia.frakenstein: points 21.02, score 100.00/100, rank 1/47
16:09:16 <Deewiant> Good job
16:09:19 <Lymia> !bfjoust frakenstein <
16:09:19 <zemhill> Lymia.frakenstein: points -46.00, score 0.00/100, rank 47/47 (change: -46)
16:09:37 <Lymia> I welded ais523.monolith's clear loop to nyuroki's body.
16:10:47 <Lymia> @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 <lambdabot> Consider it noted.
16:10:56 -!- lifthrasiir has quit (Ping timeout: 272 seconds).
16:11:39 <Lymia> @tell ais523 Perhaps we should cooperate, and put it back on the hill with your permission~?
16:11:40 <lambdabot> Consider it noted.
16:12:17 <Lymia> elliott_, I'm allowed to do this, right?
16:13:03 <Lymia> ([+{[.---]}][.-[.-]]>(-)*12)%3000][..++-----[..++-----]])*21
16:13:09 <Lymia> OK, let's analyse this and write my own variant...
16:14:59 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.45, score 80.28/100, rank 4/47 (change: --)
16:15:17 <Lymia> !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 <zemhill> Lymia.nyuroki: points 16.31, score 80.25/100, rank 4/47 (change: --)
16:15:33 <Lymia> !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 <zemhill> 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 <Lymia> !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 <zemhill> Lymia.nyuroki: points -7.71, score 25.87/100, rank 41/47 (change: -26)
16:17:19 <Lymia> !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 <zemhill> Lymia.nyuroki: points -8.88, score 25.60/100, rank 43/47 (change: -2)
16:18:02 <Lymia> !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 <zemhill> Lymia: error: parse error: encountered second { on a same level
16:19:42 -!- SirCmpwn has quit (Ping timeout: 272 seconds).
16:22:23 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:22:24 <zemhill> Lymia.nyuroki: points 20.57, score 100.00/100, rank 1/47 (change: +42)
16:23:06 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:23:06 <zemhill> 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 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
16:29:48 <zemhill> Lymia.nyuroki: points 21.05, score 100.00/100, rank 1/47 (change: --)
16:31:54 -!- diginet has joined.
16:32:37 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:32:38 <zemhill> Lymia.nyuroki: points -5.50, score 26.64/100, rank 36/47 (change: -35)
16:33:11 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:33:12 <zemhill> Lymia.nyuroki: points 22.31, score 100.00/100, rank 1/47 (change: +35)
16:34:39 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:34:40 <zemhill> Lymia.nyuroki: points 18.14, score 92.05/100, rank 4/47 (change: -3)
16:34:57 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:34:58 <zemhill> Lymia.nyuroki: points 20.17, score 100.00/100, rank 1/47 (change: +3)
16:35:49 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:35:50 <zemhill> Lymia.nyuroki: points 16.52, score 84.03/100, rank 5/47 (change: -4)
16:36:08 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:36:08 <zemhill> Lymia.nyuroki: points 21.67, score 100.00/100, rank 1/47 (change: +4)
16:36:29 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:36:30 <zemhill> Lymia.nyuroki: points 21.76, score 100.00/100, rank 1/47 (change: --)
16:36:50 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:36:51 <zemhill> Lymia.nyuroki: points 22.43, score 100.00/100, rank 1/47 (change: --)
16:36:59 -!- lifthrasiir has joined.
16:37:17 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:37:18 <zemhill> Lymia.nyuroki: points 19.40, score 99.63/100, rank 2/47 (change: -1)
16:37:38 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:37:38 <zemhill> Lymia.nyuroki: points 21.50, score 100.00/100, rank 1/47 (change: +1)
16:37:56 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:37:57 <zemhill> Lymia.nyuroki: points 21.90, score 100.00/100, rank 1/47 (change: --)
16:38:16 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:38:16 <zemhill> Lymia.nyuroki: points 22.43, score 100.00/100, rank 1/47 (change: --)
16:38:44 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:38:45 <zemhill> Lymia.nyuroki: points 21.48, score 100.00/100, rank 1/47 (change: --)
16:39:01 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:39:02 <zemhill> Lymia.nyuroki: points 22.43, score 100.00/100, rank 1/47 (change: --)
16:39:36 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
16:39:36 <zemhill> Lymia.nyuroki: points 22.43, score 100.00/100, rank 1/47 (change: --)
16:40:55 -!- AndoDaan has joined.
16:42:47 <S1> Lymia: What is a hill?
16:43:04 <fizzie> 1. (33) hill -- (a local and well-defined elevation of the land; "they loved to roam the hills of West Virginia")
16:43:48 <Lymia> So, yay
16:43:50 <Lymia> I won BF Joust!
16:44:02 <fizzie> FOR NOW
16:44:14 <S1> Oh I see
16:44:15 -!- AndoDaan has quit (Remote host closed the connection).
16:45:20 -!- AndoDaan has joined.
16:50:37 <fizzie> Rebuilding a non-prerelease version of the matrix lib at the moment, perhaps that'll cure the crashing.
16:50:48 <fizzie> distcc[6325] ERROR: compile math.cpp on fis@momus.zem.fi failed
16:50:52 <fizzie> Or perhaps not!
16:51:41 <fizzie> Hmm, it's missing some CBLAS function declarations. That's curious.
16:51:50 <fizzie> Maybe the ATLAS version is too old or something.
16:52:26 <mroman_> 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 <fizzie> /* 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:54:25 <zemhill> Lymia.nyuroki: points -29.98, score 7.04/100, rank 46/47 (change: -45)
16:54:34 <fizzie> 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 <mroman_> I'm not under the crown.
16:55:43 -!- MoALTz has joined.
16:56:13 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:56:14 <zemhill> Lymia.nyuroki: points -29.98, score 7.04/100, rank 46/47 (change: --)
16:56:27 <mroman_> !bfjoust >(-)*13>(+)*7)*2(>(-)*10>(+)*5)*2>>>>>([-]>[+]>)*-1
16:56:27 <zemhill> mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
16:56:35 <mroman_> !bfjoust whoot >(-)*13>(+)*7)*2(>(-)*10>(+)*5)*2>>>>>([-]>[+]>)*-1
16:56:35 <zemhill> mroman_: error: parse error: terminating ) without a matching (
16:56:38 <fizzie> http://sprunge.us/AYLB this library fills me with confidence
16:56:48 <mroman_> !bfjoust whoot (>(-)*13>(+)*7)*2(>(-)*10>(+)*5)*2>>>>>([-]>[+]>)*-1
16:56:49 <zemhill> mroman_.whoot: points -4.24, score 30.69/100, rank 31/47
16:57:11 <mroman_> !bfjoust whoot (>(-)*10>(+)*5)*2(>(-)*10>(+)*5)*2>>>>>([-]>[+]>)*-1
16:57:11 <zemhill> mroman_.whoot: points -6.05, score 28.13/100, rank 34/47 (change: -3)
16:57:29 <mroman_> !bfjoust whoot (>(-)*15>(+)*9)*2(>(-)*13>(+)*7)*2>>>>>([-]>[+]>)*-1
16:57:30 <zemhill> mroman_.whoot: points -4.57, score 31.78/100, rank 28/47 (change: +6)
16:57:42 <mroman_> !bfjoust whoot (>(-)*15>(+)*9)*2(>(-)*15>(+)*9)*2>>>>>([-]>[+]>)*-1
16:57:43 <zemhill> mroman_.whoot: points -5.00, score 30.80/100, rank 32/47 (change: -4)
16:57:59 <mroman_> !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*13>(+)*13)*2>>>>>([-]>[+]>)*-1
16:57:59 <zemhill> mroman_.whoot: points -4.67, score 31.67/100, rank 26/47 (change: +6)
16:58:10 <fizzie> "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 <mroman_> !bfjoust whoot (>(-)*13>(+)*13)*2(>(+)*13>(+)*13)*2>>>>>([-]>[+]>)*-1
16:58:17 <zemhill> mroman_.whoot: points -5.55, score 29.81/100, rank 33/47 (change: -7)
16:58:30 <mroman_> !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*19>(+)*19)*2>>>>>([-]>[+]>)*-1
16:58:30 <zemhill> mroman_.whoot: points -5.64, score 30.29/100, rank 33/47 (change: --)
16:58:38 <mroman_> !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*13>(+)*13)*2>>>>>([-]>[+]>)*-1
16:58:39 <zemhill> mroman_.whoot: points -4.67, score 31.67/100, rank 26/47 (change: +7)
16:58:43 <fizzie> fungot: Do you think that thing is "mission critical"?
16:58:43 <fungot> 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 <mroman_> !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*13>(+)*13)*2(>-)*5([-]>[+]>)*-1
16:58:59 <zemhill> mroman_.whoot: points -11.14, score 24.22/100, rank 46/47 (change: -20)
16:59:09 <mroman_> !bfjoust whoot (>(-)*13>(+)*13)*2(>(-)*13>(+)*13)*2(>)*5([-]>[+]>)*-1
16:59:10 <zemhill> mroman_.whoot: points -4.67, score 31.67/100, rank 26/47 (change: +20)
16:59:13 -!- AndoDaan has joined.
16:59:15 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
16:59:16 <zemhill> Lymia.nyuroki: points -30.83, score 7.82/100, rank 47/47 (change: --)
16:59:29 <mroman_> so it's incredibly important to rush fast to the right
17:00:03 <mroman_> !bfjoust toggle_clear (>)*9([-]>[+]>)*-1
17:00:03 <zemhill> mroman_.toggle_clear: points -9.12, score 24.68/100, rank 46/47
17:00:11 <mroman_> !bfjoust toggle_clear (>)*13([-]>[+]>)*-1
17:00:12 <zemhill> mroman_.toggle_clear: points -16.33, score 17.25/100, rank 47/47 (change: -1)
17:00:19 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
17:00:20 <zemhill> Lymia.nyuroki: points -25.38, score 12.23/100, rank 47/47
17:00:53 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
17:00:54 <zemhill> Lymia.nyuroki: points -15.74, score 20.62/100, rank 47/47 (change: --)
17:01:05 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
17:01:06 <zemhill> Lymia.nyuroki: points 21.57, score 100.00/100, rank 1/47 (change: +46)
17:01:09 <mroman_> !bfjoust toggle_clear (>->-)*5([-]>[+]>)*-1
17:01:10 <zemhill> 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 <mroman_> !bfjoust toggle_wait_clear ((>)*9[-]>[+]>(<)*10(++-)*100(--+)*100)*-1
17:03:59 <zemhill> mroman_.toggle_wait_clear: points -27.19, score 8.78/100, rank 47/47
17:04:58 -!- jix has joined.
17:05:18 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:05:20 <zemhill> Lymia.fetch: points -4.48, score 28.87/100, rank 25/47
17:06:24 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:06:25 <zemhill> Lymia.fetch: points -8.19, score 23.73/100, rank 41/47 (change: -16)
17:07:54 <mroman_> !bfjoust whoot >->++>--->++++>----->++++++>------->++++++++>>>>>([-]>[+]>)*-1
17:07:54 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:07:54 <zemhill> mroman_.whoot: points -12.24, score 18.06/100, rank 47/47 (change: -18)
17:07:55 <zemhill> 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 <mroman_> !bfjoust whoot >->++>--->++++>----->++++++>------->>>>>>([-]>[+]>)*-1
17:09:05 <zemhill> mroman_.whoot: points -11.81, score 19.46/100, rank 47/47 (change: --)
17:09:14 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:09:15 <zemhill> Lymia.fetch: points 1.67, score 40.53/100, rank 11/47 (change: +16)
17:09:21 -!- AndoDaan has joined.
17:09:31 <fizzie> Yay, I think the concurrency didn't mess anything up, even though those were kind of interlaced.
17:09:41 <fizzie> (It's supposed to serialize the actual execution part.)
17:10:03 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([-]>[+]>)*-1
17:10:06 <zemhill> mroman_.wait: points -4.36, score 29.27/100, rank 23/47 (change: +3)
17:10:25 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([-[+]]>[+]>)*-1
17:10:26 <zemhill> mroman_.wait: points -6.05, score 26.55/100, rank 34/47 (change: -11)
17:10:36 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([-]>[+--]>)*-1
17:10:37 <zemhill> mroman_.wait: points -13.62, score 18.46/100, rank 46/47 (change: -12)
17:10:42 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([-]>[+[-]]>)*-1
17:10:43 <zemhill> mroman_.wait: points -6.07, score 27.04/100, rank 32/47 (change: +14)
17:11:03 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([-[+]]>[+[-]]>)*-1
17:11:04 <zemhill> mroman_.wait: points -3.24, score 30.81/100, rank 22/47 (change: +10)
17:11:14 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:11:15 <zemhill> Lymia.fetch: points 9.31, score 53.92/100, rank 6/47 (change: +6)
17:11:33 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([--[+]]>[++[-]]>)*-1
17:11:34 <zemhill> mroman_.wait: points -2.40, score 33.14/100, rank 21/47 (change: +1)
17:11:41 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([---[+]]>[+++[-]]>)*-1
17:11:42 <zemhill> mroman_.wait: points -0.71, score 35.86/100, rank 19/47 (change: +2)
17:11:54 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*3[+]]>[(+)*3[-]]>)*-1
17:11:55 <zemhill> mroman_.wait: points -0.71, score 35.86/100, rank 19/47 (change: --)
17:11:59 <fizzie> 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 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*4[+]]>[(+)*4[-]]>)*-1
17:12:05 <zemhill> mroman_.wait: points 0.50, score 38.41/100, rank 14/47 (change: +5)
17:12:12 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*5[+]]>[(+)*5[-]]>)*-1
17:12:13 <zemhill> mroman_.wait: points 2.17, score 40.87/100, rank 13/47 (change: +1)
17:12:18 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:12:19 <zemhill> mroman_.wait: points 3.19, score 42.38/100, rank 11/47 (change: +2)
17:12:25 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*7[+]]>[(+)*7[-]]>)*-1
17:12:27 <zemhill> mroman_.wait: points 4.21, score 44.39/100, rank 11/47 (change: --)
17:12:34 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*8[+]]>[(+)*8[-]]>)*-1
17:12:49 <mroman_> hm
17:12:52 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*8[+]]>[(+)*8[-]]>)*-1
17:12:52 <zemhill> mroman_.wait: points 3.64, score 42.93/100, rank 11/47 (change: --)
17:12:59 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*9[+]]>[(+)*9[-]]>)*-1
17:13:00 <zemhill> mroman_.wait: points 3.45, score 42.39/100, rank 11/47 (change: --)
17:13:05 <mroman_> ok then
17:13:33 <mroman_> fizzie: is there an url for the hill?
17:14:26 <fizzie> !bfjoust
17:14:26 <zemhill> fizzie: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
17:14:29 <fizzie> There.
17:14:43 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:14:44 <zemhill> Lymia.fetch: points 2.81, score 37.47/100, rank 13/47 (change: -7)
17:14:45 <fizzie> (It's slightly work-in-progress.)
17:15:07 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:15:08 <zemhill> Lymia.fetch: points 3.12, score 40.85/100, rank 13/47 (change: --)
17:15:40 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:15:41 <zemhill> Lymia.fetch: points 3.45, score 40.37/100, rank 13/47 (change: --)
17:16:09 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:16:13 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:16:15 <zemhill> Lymia.fetch: points 9.55, score 55.40/100, rank 6/47 (change: --)
17:16:23 <mroman_> also how does a careless clear work?
17:16:26 <mroman_> (-)*128.
17:16:33 <mroman_> ^- this never advances to the opponents flag?
17:16:53 <mroman_> oh
17:16:53 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:16:54 <zemhill> Lymia.fetch: points 9.40, score 54.86/100, rank 6/47 (change: --)
17:16:54 <mroman_> nvm
17:17:14 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:17:16 <zemhill> Lymia.fetch: points 8.45, score 52.79/100, rank 6/47 (change: --)
17:18:16 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:18:17 <zemhill> Lymia.fetch: points 9.55, score 55.40/100, rank 6/47 (change: --)
17:18:41 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:18:42 <zemhill> Lymia.fetch: points 9.55, score 55.40/100, rank 6/47 (change: --)
17:19:12 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*12[+]]>[(+)*12[-]]>)*-1
17:19:12 <zemhill> mroman_.wait: points 4.12, score 43.78/100, rank 11/47 (change: --)
17:19:16 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:19:17 <zemhill> Lymia.fetch: points 9.02, score 53.99/100, rank 6/47 (change: --)
17:19:22 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*20[+]]>[(+)*20[-]]>)*-1
17:19:23 <zemhill> mroman_.wait: points -0.62, score 33.94/100, rank 21/47 (change: -10)
17:19:32 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:19:33 <zemhill> mroman_.wait: points 3.19, score 42.38/100, rank 11/47 (change: +10)
17:19:47 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:19:48 <zemhill> 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 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*3[(-)*6[+]]]>[(-)*3[(+)*6[-]]]>)*-1
17:20:56 <zemhill> mroman_.wait: points -1.86, score 34.19/100, rank 21/47 (change: -10)
17:21:06 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*3[(-)*9[+]]]>[(-)*3[(+)*9[-]]]>)*-1
17:21:06 <zemhill> mroman_.wait: points 2.24, score 40.91/100, rank 13/47 (change: +8)
17:21:17 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*8[(-)*9[+]]]>[(-)*8[(+)*9[-]]]>)*-1
17:21:17 <zemhill> mroman_.wait: points -7.21, score 26.40/100, rank 32/47 (change: -19)
17:21:23 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*2[(-)*9[+]]]>[(-)*2[(+)*9[-]]]>)*-1
17:21:24 <zemhill> mroman_.wait: points 2.48, score 40.71/100, rank 13/47 (change: +19)
17:21:33 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*1[(-)*9[+]]]>[(-)*1[(+)*9[-]]]>)*-1
17:21:42 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*1[(-)*9[+]]]>[(-)*1[(+)*9[-]]]>)*-1
17:21:43 <zemhill> mroman_.wait: points 3.10, score 41.69/100, rank 13/47 (change: --)
17:21:47 <mroman_> hm
17:22:07 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*9[(-)*2[+]]]>[(-)*9[(+)*1[-]]]>)*-1
17:22:08 <zemhill> mroman_.wait: points -12.31, score 21.66/100, rank 46/47 (change: -33)
17:22:13 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*9[(-)*2[+]]]>[(-)*9[(+)*2[-]]]>)*-1
17:22:13 <zemhill> mroman_.wait: points -12.36, score 21.57/100, rank 46/47 (change: --)
17:22:26 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*6[(-)*3[+]]]>[(-)*6[(+)*3[-]]]>)*-1
17:22:26 <zemhill> mroman_.wait: points -9.48, score 23.61/100, rank 44/47 (change: +2)
17:23:10 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*0[(-)*9[+]]]>[(-)*0[(+)*9[-]]]>)*-1
17:23:11 <zemhill> mroman_.wait: points 3.00, score 41.67/100, rank 13/47 (change: +31)
17:23:21 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*128[(-)*9[+]]]>[(-)*128[(+)*9[-]]]>)*-1
17:23:22 <zemhill> mroman_.wait: points -16.24, score 16.20/100, rank 47/47 (change: -34)
17:23:26 <mroman_> :(
17:23:39 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*64[(-)*9[+]]]>[(-)*64[(+)*9[-]]]>)*-1
17:23:40 <zemhill> mroman_.wait: points -15.02, score 17.87/100, rank 47/47 (change: --)
17:23:46 -!- AndoDaan has joined.
17:23:56 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*9[(-)*128[+]]]>[(-)*9[(+)*128[-]]]>)*-1
17:24:09 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(+)*9[(-)*128[+]]]>[(-)*9[(+)*128[-]]]>)*-1
17:24:09 <zemhill> mroman_.wait: points -22.76, score 11.96/100, rank 47/47 (change: --)
17:24:28 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:24:29 <zemhill> mroman_.wait: points 3.19, score 42.38/100, rank 11/47 (change: +36)
17:24:49 <mroman_> I'd love to set up more decoys but it's not going well :(
17:24:53 <mroman_> !bfjoust wait (>------------->+++++++)*4>->>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:24:54 <zemhill> mroman_.wait: points 3.64, score 43.29/100, rank 11/47 (change: --)
17:24:58 <mroman_> !bfjoust wait (>------------->+++++++)*4>->+>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:24:58 <zemhill> mroman_.wait: points 3.55, score 43.23/100, rank 11/47 (change: --)
17:25:05 <mroman_> !bfjoust wait (>------------->+++++++)*4>-------->+>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:25:05 <zemhill> mroman_.wait: points 3.50, score 43.10/100, rank 11/47 (change: --)
17:25:10 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:25:11 <zemhill> Lymia.fetch: points -11.21, score 19.81/100, rank 46/47 (change: -40)
17:25:15 <mroman_> !bfjoust wait (>------------->+++++++)*4>-------->+>++++++++>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:25:23 <mroman_> !bfjoust wait (>------------->+++++++)*4>-------->+>++++++++>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:25:23 <zemhill> mroman_.wait: points 4.43, score 41.73/100, rank 11/47 (change: --)
17:25:43 <mroman_> !bfjoust wait (>------------->+++++++)*4>-------->+>++++++++>----------------->([(-)*6[+]]>[(+)*6[-]]>)*-1
17:25:44 <zemhill> mroman_.wait: points 4.24, score 41.34/100, rank 11/47 (change: --)
17:25:48 <mroman_> yeah
17:25:56 <Lymia> !bfjoust fetch http://lymia.moe/~lymia/fetch.bf
17:25:57 <zemhill> Lymia.fetch: points 9.31, score 54.79/100, rank 6/47 (change: +40)
17:26:11 <Lymia> !bfjoust fetch <
17:26:11 <zemhill> Lymia.fetch: points -46.00, score 0.00/100, rank 47/47 (change: -41)
17:26:25 <mroman_> !bfjoust wait (>------------->+++++++)*6>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:26:26 <zemhill> mroman_.wait: points 4.43, score 40.59/100, rank 11/47 (change: --)
17:26:43 <mroman_> doesn't seem to help to setup more decoys
17:27:11 <mroman_> !bfjoust wait (>------------->+++++++)*3>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:27:11 <zemhill> mroman_.wait: points 4.21, score 40.71/100, rank 11/47 (change: --)
17:27:20 <mroman_> neither does setting up less decoys
17:27:28 <mroman_> !bfjoust wait (>------------->+++++++)*2>>>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:27:29 <zemhill> mroman_.wait: points 3.83, score 38.98/100, rank 12/47 (change: -1)
17:27:33 <mroman_> ok
17:27:37 <mroman_> that's too few decoys then
17:27:41 <mroman_> !bfjoust wait (>------------->+++++++)*2>>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:27:41 <zemhill> mroman_.wait: points 5.10, score 41.04/100, rank 11/47 (change: +1)
17:27:46 <quintopia> !bfjoust
17:27:46 <zemhill> quintopia: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
17:27:46 <mroman_> !bfjoust wait (>------------->+++++++)*2>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:27:47 <zemhill> mroman_.wait: points 5.33, score 41.09/100, rank 11/47 (change: --)
17:27:59 <mroman_> !bfjoust wait >>>>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:28:00 <zemhill> mroman_.wait: points -6.17, score 24.98/100, rank 35/47 (change: -24)
17:28:08 <mroman_> !bfjoust wait >>>>>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:28:09 <zemhill> mroman_.wait: points -7.67, score 23.28/100, rank 40/47 (change: -5)
17:28:13 <mroman_> !bfjoust wait >>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:28:20 <mroman_> !bfjoust wait >>>>>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:28:20 <zemhill> mroman_.wait: points -6.60, score 24.53/100, rank 37/47 (change: --)
17:28:27 <mroman_> !bfjoust wait >([(-)*6[+]]>[(+)*6[-]]>)*-1
17:28:28 <zemhill> mroman_.wait: points -15.74, score 15.32/100, rank 46/47 (change: -9)
17:28:54 <mroman_> !bfoust wait (>------------->+++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:28:55 <quintopia> congratulations on topping the hill Lymia
17:29:06 <mroman_> !bfoust wait (>------------->+++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:29:12 <mroman_> !bfjoust wait (>------------->+++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:29:13 <zemhill> mroman_.wait: points 5.10, score 41.88/100, rank 11/47 (change: +35)
17:29:13 <mroman_> :D
17:29:24 <mroman_> !bfjoust wait (>------------->++++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:29:25 <zemhill> mroman_.wait: points 4.88, score 41.42/100, rank 11/47 (change: --)
17:29:33 <mroman_> !bfjoust wait (>------------->+++++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:29:42 <mroman_> bleh
17:29:44 <mroman_> this is buggy :)
17:29:46 <mroman_> !bfjoust wait (>------------->+++++++++)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
17:29:47 <zemhill> mroman_.wait: points 5.14, score 42.00/100, rank 11/47 (change: --)
17:30:13 <mroman_> 11 rank is pretty good for having no clue what I'm doing :)
17:30:19 <S1> indeed
17:30:33 <mroman_> well
17:30:36 <S1> so if I get this right the program competes against all other submitted programs?
17:30:39 <mroman_> I know sort of what I'm doing
17:30:51 <mroman_> usually decoys are >(-)*n>(+)*n
17:31:06 <mroman_> which means that by doing [-]>[+]> you can somehow counter that I guess
17:31:40 <quintopia> mroman_: only on half the tape lengths and polarities
17:32:06 <mroman_> polarity what?
17:32:20 -!- S1 has quit (Quit: S1).
17:32:40 <mroman_> I probably should read BF Joust
17:32:43 <quintopia> POLE AIR IT TEA
17:32:45 <quintopia> you should
17:33:09 <quintopia> and BF Joust Strategies
17:33:23 <quintopia> WHICH PROBABLY NEEDS TO BE UPDATED
17:33:26 <mroman_> Reading is for nerds though
17:33:30 <quintopia> to include the latest champions
17:33:34 <quintopia> BF Joust is for nerds
17:33:56 <mroman_> is it?
17:36:28 <mroman_> I guess the media was wrong about nerds then
17:36:36 <mroman_> I can easily do one-handed push ups
17:36:53 <quintopia> ...you think?
17:37:32 <mroman_> I am suspected of having Asperger's though
17:38:07 <quintopia> no one is willing to confirm a diagnosis?
17:39:15 <mroman_> They made some "test" asked me some questions but they said it was inconclusive
17:39:51 <mroman_> so it's obviously (if it is some form of asperger) not a really severe form of it
17:41:45 <mroman_> It wouldn't help anyway to know for sure.
17:42:02 <mroman_> hm.
17:42:11 <mroman_> I mean "it won't help if I know for sure"
17:42:23 <mroman_> 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 <quintopia> 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 <fizzie> Gem::InstallError: rake-compiler requires RubyGems version >= 1.8.25. Try 'gem update --system' to update RubyGems itself.
17:50:32 <fizzie> Sigh.
17:50:49 <quintopia> what are you doing
17:51:22 <mroman_> I'm suicidal, depressive and some sort of anxiety disthingy
17:51:28 <fizzie> Trying to go either forward or backward from the broken library.
17:52:29 <GeekDude> ^bf ++++++++[>++++++++<-].
17:52:41 <GeekDude> ^bf ++++++++[>+++++++++<-].
17:52:47 <GeekDude> uhh
17:52:54 <fizzie> You need to move right by one.
17:53:01 <GeekDude> oh
17:53:05 <GeekDude> ^bf ++++++++[>++++++++<-]>.
17:53:05 <fungot> @
17:53:07 <GeekDude> thanks
17:54:57 <mroman_> So whatever side-effects of real aspergers are
17:55:04 <mroman_> I have enough effects already
17:56:06 <GeekDude> ^bf +.++++++++[>+++++++++<-]>+++.<+++[>----<-]>+.++++.--------.<+.
17:56:07 <fungot> <CTCP>TIME<CTCP>
17:56:07 <idris-bot> <CTCP>TIME Wed Sep 24 19:56:06 CEST 2014<CTCP>
17:56:49 <GeekDude> Shouldn't idris-bot be replying to fungot, not to #esoteric?
17:56:49 <fungot> 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 <fizzie> I think so.
17:57:29 <Melvar> Huh?
17:57:45 <mroman_> maybe idris-bot is time-exhibitionistic
17:58:06 <mroman_> what
17:58:13 <fizzie> Then again, channel CTCPs are kind of vague.
17:58:14 <Melvar> Oh fun, it sent a notice that I didn’t get or my client isn’t displaying.
17:58:29 <mroman_> 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 <mroman_> so...
17:58:35 <mroman_> my belly button?
17:58:48 <fizzie> [[ 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 <fizzie> It doesn't really say where the reply should go, but to the sender directly is what everyone else does.
17:59:33 <Melvar> Ah, it’s in the Freenode buffer.
18:04:44 * Melvar digs in simpleirc.
18:05:10 <Melvar> It replies CTCPs to the Origin, which is a channel if the received message was to a channel.
18:08:21 <GeekDude> Isn't the channel the destination, not the origin?
18:11:52 <Melvar> 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 <fizzie> 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 <mroman_> I like how my wait beats some of the ridiculuously long and complicated programs
19:00:49 <mroman_> like space_elevator
19:01:05 <mroman_> It's 400 lines of bfjoust code o_O
19:01:57 <elliott_> really long programs are usually at least partially generated
19:03:50 <mroman_> Is there a minihill
19:03:53 <mroman_> for <50chars?
19:04:15 -!- not^v has joined.
19:04:15 <ion> http://i.4cdn.org/g/1411578633367.png
19:04:47 <elliott_> Lymia: allowed to do what?
19:05:26 <elliott_> 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 <mroman_> can you do x*9
19:07:06 <mroman_> instead of (x)*9?
19:07:38 <elliott_> no
19:08:16 <mroman_> !bfjoust wait (>(-)*13>(+)*9)*4>>>>([(-)*6[+]]>[(+)*6[-]]>)*-1
19:08:17 <zemhill> mroman_.wait: points 5.14, score 42.00/100, rank 11/47 (change: --)
19:09:10 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*9)*4(.)*-1
19:09:11 <zemhill> mroman_.decoy_only: points -37.60, score 4.20/100, rank 47/47
19:09:30 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*9)*4([-]>)*-1
19:09:31 <zemhill> mroman_.decoy_only: points -12.19, score 21.27/100, rank 46/47 (change: +1)
19:09:50 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*9)*5([-]>)*-1
19:09:51 <zemhill> mroman_.decoy_only: points -6.83, score 26.25/100, rank 35/47 (change: +11)
19:09:59 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*9)*6([-]>)*-1
19:09:59 <zemhill> mroman_.decoy_only: points -5.00, score 28.38/100, rank 29/47 (change: +6)
19:10:17 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*9)*6([(+)*6[-]]>)*-1
19:10:18 <zemhill> mroman_.decoy_only: points 2.24, score 39.24/100, rank 14/47 (change: +15)
19:10:44 <mroman_> !bfjoust decoy_only (>(-)*19>(+)*13)*6([(+)*6[-]]>)*-1
19:10:45 <zemhill> mroman_.decoy_only: points -0.48, score 35.47/100, rank 17/47 (change: -3)
19:10:52 <mroman_> !bfjoust decoy_only (>(-)*10>(+)*10)*6([(+)*6[-]]>)*-1
19:10:53 <zemhill> mroman_.decoy_only: points -0.83, score 31.52/100, rank 21/47 (change: -4)
19:10:59 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*13)*6([(+)*6[-]]>)*-1
19:11:01 <zemhill> mroman_.decoy_only: points 1.05, score 38.50/100, rank 15/47 (change: +6)
19:11:05 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*9)*6([(+)*6[-]]>)*-1
19:11:05 <zemhill> mroman_.decoy_only: points 2.24, score 39.24/100, rank 14/47 (change: +1)
19:11:09 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*6[-]]>)*-1
19:11:10 <zemhill> mroman_.decoy_only: points 2.40, score 39.40/100, rank 14/47 (change: --)
19:11:14 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*5)*6([(+)*6[-]]>)*-1
19:11:15 <zemhill> mroman_.decoy_only: points -1.24, score 34.14/100, rank 19/47 (change: -5)
19:11:20 <mroman_> !bfjoust decoy_only (>(-)*14>(+)*7)*6([(+)*6[-]]>)*-1
19:11:21 <zemhill> mroman_.decoy_only: points 1.79, score 38.40/100, rank 15/47 (change: +4)
19:11:27 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*6[-]]>)*-1
19:11:27 <zemhill> mroman_.decoy_only: points 2.40, score 39.40/100, rank 14/47 (change: +1)
19:11:35 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>)*-1
19:11:35 <zemhill> mroman_.decoy_only: points 2.50, score 38.99/100, rank 13/47 (change: +1)
19:12:04 <fizzie> ion: Avatar: The Last Phonebender.
19:12:13 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>[(+)*6[-]]>)*-1
19:12:13 <zemhill> mroman_.decoy_only: points 2.36, score 39.33/100, rank 13/47 (change: --)
19:12:18 <mroman_> hm.
19:12:57 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(-)*3[-]]>[(+)*9[-]]>[(+)*6[-]]>)*-1
19:12:58 <zemhill> mroman_.decoy_only: points -1.33, score 33.54/100, rank 21/47 (change: -8)
19:13:08 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*3[-]]>[(+)*9[-]]>[(+)*6[-]]>)*-1
19:13:10 <zemhill> mroman_.decoy_only: points 0.48, score 36.03/100, rank 16/47 (change: +5)
19:13:24 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>[(+)*11[-]]>)*-1
19:13:25 <zemhill> mroman_.decoy_only: points 1.52, score 37.15/100, rank 15/47 (change: +1)
19:13:39 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>[(+)*11[-]]>[-]>)*-1
19:13:39 <zemhill> mroman_.decoy_only: points -0.79, score 33.88/100, rank 21/47 (change: -6)
19:13:50 <mroman_> offset clears are probably really much better then
19:14:04 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*9[-]]>[(+)*13[-]]>)*-1
19:14:04 <zemhill> mroman_.decoy_only: points 1.31, score 36.80/100, rank 15/47 (change: +6)
19:14:28 <mroman_> !bfjoust decoy_only (>(-)*10>(+)*7)*6([(+)*9[-]]>[(+)*13[-]]>)*-1
19:14:29 <zemhill> mroman_.decoy_only: points -1.31, score 30.08/100, rank 22/47 (change: -7)
19:14:35 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*8)*6([(+)*9[-]]>[(+)*13[-]]>)*-1
19:14:35 <zemhill> mroman_.decoy_only: points 1.33, score 36.42/100, rank 15/47 (change: +7)
19:14:55 <fizzie> 660 commits already: that thing's been more popular than I thought.
19:15:00 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*8)*6([(+)*9[-]]>[(+)*7[-]]>)*-1
19:15:01 <zemhill> mroman_.decoy_only: points 2.69, score 39.47/100, rank 13/47 (change: +2)
19:15:06 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*8)*6([(+)*7[-]]>[(+)*7[-]]>)*-1
19:15:07 <zemhill> mroman_.decoy_only: points 3.00, score 40.36/100, rank 13/47 (change: --)
19:15:11 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*9)*6([(+)*7[-]]>[(+)*7[-]]>)*-1
19:15:13 <zemhill> mroman_.decoy_only: points 2.69, score 39.61/100, rank 14/47 (change: -1)
19:15:19 <mroman_> !bfjoust decoy_only (>(-)*7>(+)*7)*6([(+)*7[-]]>[(+)*7[-]]>)*-1
19:15:20 <zemhill> mroman_.decoy_only: points -3.55, score 27.23/100, rank 28/47 (change: -14)
19:15:26 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*1)*6([(+)*7[-]]>[(+)*7[-]]>)*-1
19:15:27 <zemhill> mroman_.decoy_only: points -2.60, score 31.94/100, rank 21/47 (change: +7)
19:15:34 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*6([(+)*7[-]]>[(+)*7[-]]>)*-1
19:15:34 <zemhill> mroman_.decoy_only: points 3.12, score 40.62/100, rank 13/47 (change: +8)
19:15:46 <mroman_> fizzie: the size of decoys has so much influence o_O
19:15:54 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*5>>([(+)*7[-]]>[(+)*7[-]]>)*-1
19:15:55 <zemhill> mroman_.decoy_only: points 3.69, score 41.09/100, rank 13/47 (change: --)
19:16:02 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*7[-]]>)*-1
19:16:08 <mroman_> !bfjoust decoy_only (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*7[-]]>)*-1
19:16:08 <zemhill> mroman_.decoy_only: points 4.62, score 43.21/100, rank 10/47 (change: --)
19:16:16 <mroman_> wow
19:16:17 <mroman_> ok
19:16:23 <mroman_> that just beat wait
19:17:18 <fizzie> Isn't that quite close to wait except with different constants? (At least the latest wait.)
19:17:28 <mroman_> yeah
19:17:32 <mroman_> can you delete wait?
19:17:41 <mroman_> It evolved to become the same except for some constants
19:17:52 <fizzie> Conventional thing to do is just to replace it with <.
19:17:58 <mroman_> ah
19:17:58 <mroman_> ok
19:17:59 <fizzie> Then it'll drop off when something submits something new.
19:18:02 <mroman_> !bfjoust wait <.
19:18:03 <zemhill> mroman_.wait: points -46.00, score 0.00/100, rank 47/47 (change: -36)
19:18:08 <mroman_> !bfjoust decoy_only <.
19:18:08 <zemhill> mroman_.decoy_only: points -45.00, score 0.00/100, rank 47/47 (change: -37)
19:18:48 <fizzie> 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 <mroman_> !bfjoust <xs:foobar> (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*7[-]]>)*-1
19:19:06 <zemhill> mroman_.xsfoobar: points 5.43, score 42.41/100, rank 10/47
19:19:15 <mroman_> wha. no xml names?
19:19:20 <mroman_> nvm. xsfoobar is ok
19:19:43 <fizzie> I should have made it reject (instead of sanitizing) characters outside the allowed set.
19:20:24 <mroman_> !bfjoust <xs:foobar> <.
19:20:24 <zemhill> mroman_.xsfoobar: points -45.00, score 0.00/100, rank 47/47 (change: -37)
19:20:36 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*7[-]]>)*-1
19:20:37 <zemhill> mroman_.athena: points 5.43, score 42.41/100, rank 10/47
19:20:40 <mroman_> there. much better.
19:21:10 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*6[-]]>)*-1
19:21:10 <zemhill> mroman_.athena: points 4.95, score 41.47/100, rank 10/47 (change: --)
19:21:14 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*8[-]]>)*-1
19:21:14 <zemhill> 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 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(+)*9[-]]>)*-1
19:21:18 <zemhill> mroman_.athena: points 5.48, score 42.40/100, rank 10/47 (change: --)
19:21:22 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*5[-]]>[(+)*9[-]]>)*-1
19:21:23 <zemhill> mroman_.athena: points 3.81, score 39.49/100, rank 11/47 (change: -1)
19:21:33 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:21:34 <zemhill> mroman_.athena: points 5.52, score 42.66/100, rank 10/47 (change: +1)
19:21:48 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>->->([(+)*7[-]]>[(-)*7[+]]>)*-1
19:21:49 <zemhill> mroman_.athena: points 5.45, score 42.60/100, rank 10/47 (change: --)
19:21:56 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>->+>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:21:57 <zemhill> mroman_.athena: points 5.45, score 42.60/100, rank 10/47 (change: --)
19:22:13 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:22:13 <zemhill> mroman_.athena: points 5.52, score 42.66/100, rank 10/47 (change: --)
19:24:36 <mroman_> !bfjoust athena (>(-)*13>(+)*1)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:24:37 <zemhill> mroman_.athena: points 2.33, score 37.29/100, rank 13/47 (change: -3)
19:24:41 <mroman_> !bfjoust athena (>(-)*13>(+)*7)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:24:43 <zemhill> mroman_.athena: points 5.52, score 42.66/100, rank 10/47 (change: +3)
19:25:04 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:25:05 <zemhill> mroman_.athena: points 5.43, score 42.60/100, rank 10/47 (change: --)
19:25:35 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*128>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:25:35 <zemhill> mroman_.athena: points 0.33, score 32.98/100, rank 19/47 (change: -9)
19:25:41 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*12>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:25:42 <zemhill> mroman_.athena: points 5.60, score 43.08/100, rank 10/47 (change: +9)
19:25:46 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*100>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:25:47 <zemhill> mroman_.athena: points 0.90, score 34.16/100, rank 17/47 (change: -7)
19:25:53 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*50>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:25:53 <zemhill> mroman_.athena: points 3.93, score 39.74/100, rank 11/47 (change: +6)
19:25:57 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:25:58 <zemhill> mroman_.athena: points 5.21, score 42.21/100, rank 10/47 (change: +1)
19:26:04 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(+)*25>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:26:04 <zemhill> mroman_.athena: points 3.62, score 39.21/100, rank 12/47 (change: -2)
19:26:10 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*25>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:26:11 <zemhill> mroman_.athena: points 4.26, score 40.41/100, rank 11/47 (change: +1)
19:26:31 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*20>(-)*20>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:26:32 <zemhill> mroman_.athena: points 4.86, score 42.24/100, rank 10/47 (change: +1)
19:26:43 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:26:44 <zemhill> mroman_.athena: points 5.24, score 41.97/100, rank 10/47 (change: --)
19:26:50 <mroman_> damnit I want rank 9 :)
19:27:04 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:27:11 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:27:12 <zemhill> mroman_.athena: points 4.90, score 41.76/100, rank 11/47 (change: --)
19:27:20 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:27:20 <zemhill> mroman_.athena: points 5.24, score 41.97/100, rank 10/47 (change: +1)
19:27:34 <mroman_> !bfjoust athena (>(+)*12>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:27:34 <zemhill> mroman_.athena: points 4.29, score 39.46/100, rank 11/47 (change: -1)
19:27:43 <mroman_> !bfjoust athena (>(+)*14>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:27:44 <zemhill> mroman_.athena: points 5.12, score 41.97/100, rank 10/47 (change: +1)
19:27:49 <mroman_> !bfjoust athena (>(+)*15>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:27:51 <zemhill> mroman_.athena: points 4.38, score 40.49/100, rank 11/47 (change: -1)
19:27:56 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+]]>)*-1
19:27:57 <zemhill> mroman_.athena: points 5.24, score 41.97/100, rank 10/47 (change: +1)
19:28:02 <mroman_> :(
19:28:15 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+.]]>)*-1
19:28:15 <zemhill> mroman_.athena: points 1.74, score 35.38/100, rank 14/47 (change: -4)
19:28:19 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-]]>[(-)*7[+].]>)*-1
19:28:20 <zemhill> mroman_.athena: points 5.45, score 42.44/100, rank 10/47 (change: +4)
19:28:25 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7[-].]>[(-)*7[+].]>)*-1
19:28:25 <zemhill> mroman_.athena: points 5.38, score 42.14/100, rank 10/47 (change: --)
19:28:37 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[.(-)*7[+]]>)*-1
19:28:37 <zemhill> mroman_.athena: points 6.19, score 44.06/100, rank 9/47 (change: +1)
19:28:40 <mroman_> hehe
19:28:56 <mroman_> why the hell inserting nops would be better
19:29:00 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[..(-)*7[+]]>)*-1
19:29:02 <zemhill> mroman_.athena: points 5.60, score 42.73/100, rank 10/47 (change: -1)
19:29:04 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[.(-)*7[+]]>)*-1
19:29:06 <zemhill> mroman_.athena: points 6.19, score 44.06/100, rank 9/47 (change: +1)
19:29:23 <mroman_> but ok
19:29:26 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[.(-)*7.[+]]>)*-1
19:29:27 <zemhill> mroman_.athena: points 5.48, score 42.44/100, rank 10/47 (change: -1)
19:29:32 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([.(+)*7[-]]>[(-)*7.[+]]>)*-1
19:29:32 <zemhill> mroman_.athena: points 6.14, score 43.95/100, rank 9/47 (change: +1)
19:29:37 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:29:38 <zemhill> mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: --)
19:30:31 <mroman_> probably messes up some syncing stuff
19:31:07 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>.)*-1
19:31:07 <zemhill> mroman_.athena: points 5.90, score 43.27/100, rank 9/47 (change: --)
19:31:11 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>+-)*-1
19:31:11 <zemhill> 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 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]><[-]<[-]>>>)*-1
19:32:00 <zemhill> mroman_.athena: points -0.62, score 32.51/100, rank 20/47 (change: -11)
19:32:06 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:32:07 <zemhill> mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: +11)
19:32:13 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]][-]>)*-1
19:32:14 <zemhill> mroman_.athena: points 5.90, score 43.27/100, rank 9/47 (change: --)
19:32:19 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]][+]>[(-)*7.[+]][-]>)*-1
19:32:20 <zemhill> mroman_.athena: points 5.45, score 42.08/100, rank 10/47 (change: -1)
19:32:32 <b_jonas> fungot, what's your favourite bfjoust strategy?
19:32:32 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]][-]>[(-)*7.[+]][-]>)*-1
19:32:32 <fungot> 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 <zemhill> mroman_.athena: points 5.55, score 42.27/100, rank 10/47 (change: --)
19:32:48 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+][-]]>)*-1
19:32:49 <zemhill> mroman_.athena: points 5.88, score 43.20/100, rank 9/47 (change: +1)
19:32:56 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-][+]]>[(-)*7.[+][-]]>)*-1
19:32:57 <zemhill> mroman_.athena: points 5.10, score 41.74/100, rank 10/47 (change: -1)
19:33:01 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-][-]]>[(-)*7.[+][-]]>)*-1
19:33:01 <zemhill> mroman_.athena: points 4.71, score 40.99/100, rank 11/47 (change: -1)
19:33:28 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:33:40 <mroman_> would it help to setup decoys with 128?
19:33:41 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:33:41 <zemhill> mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: --)
19:33:48 <mroman_> !bfjoust athena >(>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:33:48 <zemhill> mroman_.athena: points 3.05, score 38.34/100, rank 12/47 (change: -3)
19:34:18 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:34:19 <zemhill> mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: +3)
19:34:25 <mroman_> no. I already tried that before
19:34:30 <mroman_> it wastes to much cycles I guess
19:34:48 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10[]>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:34:49 <zemhill> mroman_.athena: points -28.57, score 7.75/100, rank 46/47 (change: -37)
19:35:10 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10[[]]>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:35:12 <zemhill> mroman_.athena: points -30.05, score 6.82/100, rank 46/47 (change: --)
19:35:29 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
19:35:29 <zemhill> mroman_.athena: points 6.17, score 44.00/100, rank 9/47 (change: +37)
19:35:52 <mroman_> !bfjoust wait >([+][-])*-1
19:35:54 <zemhill> mroman_.wait: points -30.76, score 6.31/100, rank 47/47 (change: --)
19:36:13 <mroman_> !bfjoust dumb_clear (>[+][-])*-1
19:36:13 <zemhill> mroman_.dumb_clear: points -27.10, score 9.07/100, rank 47/47
19:36:24 <mroman_> !bfjoust dumb_clear (>)*14(>[+][-])*-1
19:36:25 <zemhill> mroman_.dumb_clear: points -27.33, score 8.86/100, rank 47/47 (change: --)
19:36:30 <mroman_> !bfjoust dumb_clear (>)*9(>[+][-])*-1
19:36:30 <zemhill> mroman_.dumb_clear: points -22.81, score 11.57/100, rank 47/47 (change: --)
19:36:33 <mroman_> !bfjoust dumb_clear (>)*9(>[+]>[-])*-1
19:36:34 <zemhill> mroman_.dumb_clear: points -13.02, score 18.95/100, rank 46/47 (change: +1)
19:37:03 <mroman_> !bfjoust dumb_clear (>)*9(-)*128(>[+]>[-])*-1
19:37:04 <zemhill> mroman_.dumb_clear: points -23.48, score 10.58/100, rank 47/47 (change: -1)
19:37:10 <mroman_> !bfjoust dumb_clear (>-)*9(>[+]>[-])*-1
19:37:11 <zemhill> mroman_.dumb_clear: points -17.21, score 15.07/100, rank 47/47 (change: --)
19:37:19 <mroman_> !bfjoust dumb_clear (>---)*9(>[+]>[-])*-1
19:37:20 <zemhill> mroman_.dumb_clear: points -16.14, score 15.44/100, rank 47/47 (change: --)
19:37:23 <mroman_> !bfjoust dumb_clear (>--------)*9(>[+]>[-])*-1
19:37:23 <zemhill> mroman_.dumb_clear: points -8.05, score 22.74/100, rank 41/47 (change: +6)
19:37:28 <mroman_> !bfjoust dumb_clear (>----------)*9(>[+]>[-])*-1
19:37:28 <zemhill> mroman_.dumb_clear: points -7.17, score 23.84/100, rank 39/47 (change: +2)
19:37:35 <mroman_> !bfjoust dumb_clear (>--------------)*9(>[+]>[-])*-1
19:37:35 <zemhill> mroman_.dumb_clear: points -7.36, score 25.61/100, rank 36/47 (change: +3)
19:37:42 <mroman_> !bfjoust dumb_clear (>(-)*9)*9(>[+]>[-])*-1
19:37:43 <zemhill> mroman_.dumb_clear: points -6.45, score 24.67/100, rank 36/47 (change: --)
19:37:46 <mroman_> !bfjoust dumb_clear (>(-)*10)*9(>[+]>[-])*-1
19:37:46 <zemhill> mroman_.dumb_clear: points -7.17, score 23.84/100, rank 39/47 (change: -3)
19:37:56 <mroman_> !bfjoust dumb_clear (>(-)*9)*9(>[+]>[-])*-1
19:37:57 <zemhill> mroman_.dumb_clear: points -6.45, score 24.67/100, rank 36/47 (change: +3)
19:38:46 <mroman_> !bfjoust dumb_clear (>(-)*9>(-)*9>(+)*9)*3(>[+]>[-])*-1
19:38:48 <zemhill> mroman_.dumb_clear: points -6.12, score 24.90/100, rank 36/47 (change: --)
19:39:20 <mroman_> !bfjoust dumb_clear (>(-)*9>(-)*9>(+)*1)*3(>[+]>[-])*-1
19:39:20 <zemhill> mroman_.dumb_clear: points -7.93, score 22.78/100, rank 41/47 (change: -5)
19:39:23 <mroman_> !bfjoust dumb_clear (>(-)*9>(-)*9>(+)*3)*3(>[+]>[-])*-1
19:39:24 <zemhill> mroman_.dumb_clear: points -8.10, score 22.43/100, rank 42/47 (change: -1)
19:39:28 <mroman_> !bfjoust dumb_clear (>(-)*9>(-)*9>(+)*10)*3(>[+]>[-])*-1
19:39:29 <zemhill> mroman_.dumb_clear: points -6.02, score 25.17/100, rank 36/47 (change: +6)
19:39:35 <mroman_> !bfjoust dumb_clear (>(-)*9>(-)*5>(+)*10)*3(>[+]>[-])*-1
19:39:36 <zemhill> mroman_.dumb_clear: points -7.26, score 23.38/100, rank 40/47 (change: -4)
19:39:39 <mroman_> !bfjoust dumb_clear (>(-)*9>(-)*10>(+)*10)*3(>[+]>[-])*-1
19:39:39 <zemhill> mroman_.dumb_clear: points -6.12, score 25.29/100, rank 34/47 (change: +6)
19:39:43 <mroman_> !bfjoust dumb_clear (>(-)*10>(-)*10>(+)*10)*3(>[+]>[-])*-1
19:39:43 <zemhill> mroman_.dumb_clear: points -6.98, score 23.95/100, rank 38/47 (change: -4)
19:39:48 <mroman_> !bfjoust dumb_clear (>(-)*9>(-)*10>(+)*10)*3(>[+]>[-])*-1
19:39:48 <zemhill> mroman_.dumb_clear: points -6.12, score 25.29/100, rank 34/47 (change: +4)
19:39:59 <S1> Why did you call it dumb_clear?
19:40:29 <mroman_> it's a pretty dumb clear I guess
19:40:45 <S1> huh
19:40:50 <mroman_> well.
19:40:54 <mroman_> This isn't anything fancy at all
19:40:57 <S1> sry for interrupting
19:41:09 <mroman_> it just sets up some decoys
19:41:14 <mroman_> then a regular silly clear
19:41:16 <S1> Yea. I'll try it too later I think.
19:41:25 <S1> Still reading the specs
19:41:27 <mroman_> It's really easy
19:41:43 <mroman_> You can probably get on the hill with something like
19:41:45 <S1> But you didn't read your enemy programs, did you?
19:41:56 <S1> what the heck is "the hill" anyway?
19:42:22 <mroman_> !bfjoust hilly_billy (>(-)*4>(+)*4)*4>([-]>)*-1
19:42:23 <zemhill> mroman_.hilly_billy: points -16.07, score 14.95/100, rank 47/47
19:42:30 <mroman_> !bfjoust hilly_billy (>(-)*8>(+)*8)*4>([-]>)*-1
19:42:31 <zemhill> mroman_.hilly_billy: points -10.43, score 20.02/100, rank 47/47 (change: --)
19:42:34 <mroman_> !bfjoust hilly_billy (>(-)*8>(+)*8)*4>>([-]>)*-1
19:42:35 <zemhill> mroman_.hilly_billy: points -9.12, score 21.32/100, rank 46/47 (change: +1)
19:42:40 <mroman_> ^- there we go
19:42:53 <mroman_> S1: Well
19:42:58 <mroman_> it's "King of the hill"
19:43:06 <S1> ugh
19:43:13 <mroman_> you submit a program and it will be run against the top 47
19:43:20 <S1> k I get it
19:43:25 <S1> Yes I know the game
19:43:34 <mroman_> if it achieves at least rank 46 it enters the hill
19:43:34 <S1> But I did not know the name "King of the hill"
19:43:43 <mroman_> and other submissions will be matched against yours too
19:44:14 <S1> Oh that is where more emphasis is given to scores of other programs when they defeat yours?
19:44:40 <S1> (dumbest verbalization ever)
19:45:59 <mroman_> I don't know how the scoring system works
19:46:16 <S1> I am currently reading this
19:46:16 <S1> http://codu.org/eso/bfjoust/SCORES
19:46:32 <S1> for the last 15 minutes now, actually.
19:47:50 -!- Chrio has joined.
19:49:25 <fizzie> 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 <S1> thx
19:51:20 -!- Chrio has quit.
19:52:06 <fizzie> 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 <AndoDaan> So, every test, iteration, joke, mistake, and geniune entry is save?
19:57:03 <S1> But each time I use the same program name, my old versions are overwritten, of course, right?
19:57:33 <fizzie> AndoDaan: It's a matter of Historical Record.
19:57:44 <mroman_> !bfjoust message Hi, this isn't a bf joust program. I just wanted to say hi.
19:57:44 <zemhill> mroman_.message: points -34.14, score 5.11/100, rank 47/47
19:58:03 <fizzie> 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 <AndoDaan> The bots will be longer remembered than us.
19:58:51 <S1> But then one can easily overwrite programs that belong to others!?
20:00:53 <fizzie> Your IRC nickname is automatically added in front of the program name.
20:01:15 <fizzie> 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 <fizzie> 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 <S1> We trust each other, don't we
20:03:15 <AndoDaan> ^QuestionMark ,.[-]!?
20:03:27 <AndoDaan> ^def QuestionMark bf ,.[-]!?
20:03:27 <fungot> Defined.
20:03:34 <AndoDaan> ^QuestionMark
20:03:54 <AndoDaan> You are very trying, fungot
20:03:54 <fungot> 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 <AndoDaan> ^def QuestionMark bf ++++++++>[-<++++++++]>.
20:05:26 <fungot> Defined.
20:05:31 <AndoDaan> ^QuestionMark
20:05:54 <AndoDaan> oops
20:06:19 <AndoDaan> ^def QuestionMark bf >+++++++<[->++++++++<]>.
20:06:19 <fungot> Defined.
20:06:25 <AndoDaan> ^QuestionMark
20:06:25 <fungot>
20:06:53 <elliott_> fizzie: clearly, you should allow pgp-signed programs
20:07:42 <AndoDaan> ^def QuestionMark bf >+++++++<[->++++++++<]>-.
20:07:42 <fungot> Defined.
20:07:48 <AndoDaan> ^QuestionMark
20:07:48 <fungot>
20:07:50 <Melvar> Who wrote a bell *again*?
20:08:04 <S1> elliott_: come on, we're all trusty
20:08:06 <AndoDaan> ^def QuestionMark bf >++++++<[->+++++++<]>-.
20:08:06 <fungot> Defined.
20:08:09 <AndoDaan> ^QuestionMark
20:08:09 <fungot>
20:08:17 <elliott_> S1: I'm not.
20:08:24 <S1> I thought so
20:08:50 <AndoDaan> ^def QuestionMark bf >++++++<[->++++++++<]>-.
20:08:51 <fungot> Defined.
20:08:53 <AndoDaan> ^QuestionMark
20:08:53 <fungot>
20:09:06 <AndoDaan> forget it.
20:09:42 -!- not^v has joined.
20:09:59 <S1> grumpy fungot
20:09:59 <fungot> S1: " what at?" said the cook. she carried the fnord in the forest. " am i awake now?"
20:10:19 <mroman_> ^style
20:10:19 <fungot> 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 <mroman_> ^style sms
20:10:24 <fungot> Selected style: sms (National University of Singapore SMS corpus, 2011-08-20)
20:10:33 <mroman_> fungot: yolo swag kthxbye
20:10:34 <fungot> 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 <mroman_> fungot: yeah me macs meet lar
20:10:52 <fungot> mroman_: it in raffle city got mac meh? haha. my mamavery happy wor lol... but i duneat beef ah
20:11:13 <mroman_> fungot: Your mother is a happy whore?
20:11:13 <fungot> mroman_: use the src to play with any1 who understands them. prov. 4:
20:12:40 -!- Bicyclidine has joined.
20:16:08 <mroman_> a(n) = a(n-2)^a(n-1) is pretty steep growing :D
20:25:10 <b_jonas> fungot, do you like regular languages?
20:25:10 <fungot> b_jonas: dnt u tel ur feelngs 2 hr session. lol i can skip with u.hahaha.
20:25:25 <b_jonas> fungot: now you have two problems
20:25:25 <fungot> 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 <FreeFull> mroman_: What's the base case?
20:29:14 <Bicyclidine> 0, 0, controversy
20:29:31 <FreeFull> a(0) = 0; a(1) = 0; would work
20:32:02 <mroman_> a(1) = a(2) = 2
20:33:26 <Bicyclidine> 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 <mroman_> !blsq 2Jq?*3!C#s
20:33:49 <Bicyclidine> maybe
20:33:49 <blsqbot> {2 2 4 8 32}
20:33:52 <mroman_> !blsq 2Jq?*4!C#s
20:33:52 <blsqbot> {2 2 4 8 32 256}
20:34:02 <mroman_> !blsq 2Jq?^3!C#s
20:34:02 <blsqbot> {2 2 4 16 4294967296}
20:34:06 <mroman_> ^- that one
20:34:11 <mroman_> !blsq 2Jq?^4!C#s
20:34:11 <blsqbot> Ain't nobody got time fo' dat!
20:34:14 <mroman_> 4 is probably too much
20:34:15 <mroman_> yes
20:34:42 <mroman_> !blsq 16 4294967206 ?^
20:34:42 <blsqbot> Ain't nobody got time fo' dat!
20:34:49 <mroman_> !blsq 16 4294967206 ?^shL[
20:34:50 <blsqbot> Ain't nobody got time fo' dat!
20:40:23 -!- zzo38 has joined.
20:40:58 <fizzie> b
20:41:01 <fizzie> Whoops.
20:42:36 <fizzie> Added: webified breakdown: http://zem.fi/bfjoust/breakdown/#ais523.margins
20:42:51 <mroman_> !bfjoust wiggle (>)*9((++-)*1000<)*9(>)*9([+]>[-]>)*-1
20:42:53 <zemhill> mroman_.wiggle: points -32.88, score 6.68/100, rank 47/47
20:43:11 <mroman_> !bfjoust wiggle (>)*9((+++-)*1000<)*9(>)*9([+]>[-]>)*-1
20:43:13 <zemhill> mroman_.wiggle: points -32.69, score 6.52/100, rank 47/47 (change: --)
20:43:19 <Bicyclidine> fizzie: how is this read exactly
20:43:26 <mroman_> !bfjoust wiggle (>)*9((+++-)*1000<)*3(>)*9([+]>[-]>)*-1
20:43:27 <zemhill> mroman_.wiggle: points -28.29, score 9.30/100, rank 47/47 (change: --)
20:43:35 <mroman_> !bfjoust wiggle (>)*9((+++-)*9000<)*9(>)*9([+]>[-]>)*-1
20:43:38 <zemhill> mroman_.wiggle: points -23.21, score 4.81/100, rank 47/47 (change: --)
20:43:58 <mroman_> !bfjoust wiggle (>)*9(([]+++-)<)*9(>)*9([+]>[-]>)*-1
20:43:59 <zemhill> mroman_.wiggle: points -16.43, score 16.87/100, rank 47/47 (change: --)
20:44:07 <fizzie> 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 <fizzie> I just realized the webified breakdown should probably also default to the last program, like the .txt version.
20:44:20 <mroman_> !bfjoust no_wiggle (>+)*9(([]+++-)<)*9(>)*9([+]>[-]>)*-1
20:44:31 <zemhill> mroman_.no_wiggle: points -21.69, score 9.90/100, rank 47/47
20:44:31 <fizzie> The JSON report doesn't record who that was, though.
20:44:42 <mroman_> You should make a websubmission interface :)
20:44:45 <mroman_> probably
20:44:58 <fizzie> I asked around about that, and there are some reasons why not to.
20:45:45 <fizzie> 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 <mroman_> or
20:47:34 <mroman_> implement a queue
20:47:40 <mroman_> so you can submit multiple variants
20:47:48 <mroman_> and it will only report the best one(s) back
20:47:53 <mroman_> although
20:47:59 <mroman_> that wouldn't really prevent the spam here I guess
20:48:06 <mroman_> well
20:48:18 <mroman_> the web-interface could only test-submit it
20:48:27 <mroman_> without adding it to the hill or version control
20:48:42 <fizzie> If I added a web interface, I'd probably add a client-side 'test' button.
20:49:01 <mroman_> or I guess I can install it locally?
20:49:10 <fizzie> That's certainly possible.
20:49:22 <mroman_> so I can use some genetic modification approaches to tweak constants
20:50:06 <fizzie> There's a helper program for that in the repository.
20:50:17 <fizzie> I think ais523 uses a different interpreter for local testing. There are many approaches.
20:50:19 <mroman_> is the hill btw. infinite?
20:50:28 <mroman_> (i.e. no age limit)
20:51:01 <fizzie> No age limit.
20:52:52 <mroman_> !bfjoust snail (>(-)*5>(+)*5>)*4[>[-](+)*3]
20:52:52 <zemhill> mroman_.snail: points -33.55, score 5.83/100, rank 47/47
20:52:56 <mroman_> !bfjoust snail (>(-)*5>(+)*5>)*5[>[-](+)*3]
20:52:57 <zemhill> mroman_.snail: points -32.10, score 6.43/100, rank 47/47 (change: --)
20:53:03 <mroman_> !bfjoust snail (>(-)*8>(+)*8>)*5[>[-](+)*3]
20:53:03 <zemhill> mroman_.snail: points -27.76, score 8.97/100, rank 47/47 (change: --)
20:53:21 <mroman_> !bfjoust snail (>(-)*8>(+)*8>)*5[>[(+)*9[-]](+)*3]
20:53:21 <zemhill> mroman_.snail: points -23.71, score 11.89/100, rank 47/47 (change: --)
20:53:41 <mroman_> hm
20:53:49 <mroman_> !bfjoust snail (>(-)*8>(+)*8>)*5[>[(+)*9[-]](++)*3]
20:53:51 <zemhill> mroman_.snail: points -23.81, score 11.90/100, rank 47/47 (change: --)
20:53:54 <S1> thank you for replacing my program :D
20:54:02 <mroman_> hu?
20:54:07 <mroman_> what program?
20:54:13 <S1> I was experimenting in query with zemhill
20:54:17 <mroman_> oh
20:54:31 <S1> Just to see what approach might work.
20:54:32 <mroman_> well you can just resubmit it to get rank 47
20:54:37 <mroman_> rank 47 is pretty much "no rank" :)
20:54:46 <S1> I think I really really need to study the other programs
20:55:30 <mroman_> !bfjoust snail >([>[(+)*9[-]]])*-1
20:55:31 <zemhill> mroman_.snail: points -33.00, score 6.20/100, rank 47/47 (change: --)
20:55:40 <mroman_> !bfjoust snail (>)*9([>[(+)*9[-]]])*-1
20:55:41 <zemhill> mroman_.snail: points -29.29, score 7.96/100, rank 47/47 (change: --)
20:55:43 <mroman_> damn
20:55:55 <mroman_> !bfjoust snail (>)*9([>[(+)*9[-]]...+])*-1
20:55:56 <zemhill> mroman_.snail: points -22.36, score 12.20/100, rank 47/47 (change: --)
20:56:00 <mroman_> !bfjoust snail ([>[(+)*9[-]]...+])*-1
20:56:01 <zemhill> mroman_.snail: points -33.17, score 6.50/100, rank 47/47 (change: --)
20:56:16 <mroman_> shouldn't this set a cell to zero... wait three cycles (for opponent to die)
20:56:21 <mroman_> leave a cell with value 1
20:56:23 <mroman_> and move on?
20:56:51 <mroman_> !bfjoust snail (>(-)*8>(+)*8)*4>[>[(+)*9[-]]...+]
20:56:52 <zemhill> mroman_.snail: points -27.86, score 9.09/100, rank 47/47 (change: --)
20:56:56 <mroman_> !bfjoust snail (>(-)*8>(+)*8)*3>[>[(+)*9[-]]...+]
20:56:57 <zemhill> mroman_.snail: points -32.14, score 6.80/100, rank 47/47 (change: --)
20:57:32 <mroman_> !bfjoust snail [>[-]..(+)*13]
20:57:32 <zemhill> mroman_.snail: points -19.43, score 16.04/100, rank 47/47 (change: --)
20:57:52 <mroman_> !bfjoust snail [>[(-)*9[+]]..(+)*13]
20:57:52 <zemhill> mroman_.snail: points -14.79, score 19.47/100, rank 47/47 (change: --)
20:57:57 <mroman_> almost
20:57:59 <mroman_> !bfjoust snail [>[(-)*9[+]]..(+)*10]
20:58:00 <zemhill> mroman_.snail: points -15.71, score 16.58/100, rank 47/47 (change: --)
20:58:05 <mroman_> !bfjoust snail [>[(-)*9[+]]..(+)*19]
20:58:06 <zemhill> mroman_.snail: points -19.02, score 16.45/100, rank 47/47 (change: --)
20:58:12 <mroman_> !bfjoust snail [>[(-)*9[+]]..(+)*13]
20:58:13 <zemhill> mroman_.snail: points -14.79, score 19.47/100, rank 47/47 (change: --)
20:58:16 <mroman_> !bfjoust snail [>[(-)*6[+]]..(+)*13]
20:58:17 <zemhill> mroman_.snail: points -16.33, score 18.41/100, rank 47/47 (change: --)
20:58:21 <mroman_> !bfjoust snail [>[(-)*10[+]]..(+)*13]
20:58:22 <zemhill> mroman_.snail: points -12.76, score 21.25/100, rank 47/47 (change: --)
20:58:26 <mroman_> getting there
20:58:31 <mroman_> !bfjoust snail [>[(-)*11[+]]..(+)*13]
20:58:32 <zemhill> mroman_.snail: points -11.90, score 21.84/100, rank 45/47 (change: +2)
20:58:41 <mroman_> yeah!
20:58:48 <S1> !bfjoust S1test1 ([->+>+<<]>>[<<+>>]<)*6(>)*5([-]>]*-1
20:58:48 <zemhill> S1: error: parse error: starting ( without a matching )
20:58:53 <S1> Why does this produce an error?
20:59:01 <S1> oh wait...
20:59:15 <S1> !bfjoust S1test1 ([->+>+<<]>>[<<+>>]<)*6(>)*5([-]>)*-1
20:59:16 <zemhill> S1.S1test1: points -37.33, score 3.71/100, rank 47/47
20:59:21 <mroman_> !bfjoust snail [>[(-)*12[+]]..(+)*13]
20:59:21 <zemhill> mroman_.snail: points -11.17, score 22.12/100, rank 45/47 (change: --)
20:59:25 <mroman_> !bfjoust snail [>[(-)*13[+]]..(+)*13]
20:59:26 <zemhill> mroman_.snail: points -10.02, score 23.09/100, rank 45/47 (change: --)
20:59:30 <mroman_> !bfjoust snail [>[(-)*14[+]]..(+)*13]
20:59:31 <zemhill> mroman_.snail: points -11.38, score 21.80/100, rank 45/47 (change: --)
20:59:40 <mroman_> !bfjoust snail [>[(-)*13[+]].(+)*13]
20:59:40 <zemhill> mroman_.snail: points -8.57, score 24.85/100, rank 40/47 (change: +5)
20:59:43 <mroman_> hehe
20:59:46 <mroman_> knew it .. was too much
20:59:49 <mroman_> !bfjoust snail [>[(-)*12[+]].(+)*13]
20:59:50 <zemhill> mroman_.snail: points -9.10, score 23.97/100, rank 42/47 (change: -2)
20:59:52 <mroman_> !bfjoust snail [>[(-)*13[+]].(+)*13]
20:59:53 <zemhill> mroman_.snail: points -8.57, score 24.85/100, rank 40/47 (change: +2)
20:59:55 <mroman_> !bfjoust snail [>[(-)*13[+]].(+)*10]
20:59:56 -!- zemhill has quit (Remote host closed the connection).
21:00:03 <mroman_> nooooo
21:00:26 <mroman_> the spam was too much.
21:03:15 <mroman_> gn8 anyway
21:03:18 <mroman_> it's late in this timezone
21:03:27 <S1> how late?
21:03:32 <mroman_> 23:03
21:03:38 -!- Bicyclidine has quit (Ping timeout: 258 seconds).
21:03:39 <S1> here too
21:03:48 <mroman_> S1: Just snail your way to the hill :)
21:04:00 <mroman_> I think I can get snail <40
21:04:12 <mroman_> tweaking some things and it should work a little bit better
21:04:19 <S1> 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 <fizzie> Another NMatrix segfault.
21:22:52 <fizzie> 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 <fizzie> 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 <Lymia> !bfjoust reset <
22:07:27 <zemhill> Lymia.reset: points -46.00, score 0.00/100, rank 47/47
22:11:32 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:11:33 <zemhill> Lymia.nyuroki: points 22.24, score 100.00/100, rank 1/47 (change: --)
22:12:18 <HackEgo> [wiki] [[Special:Log/newusers]] create * TraciBraswell * New user account
22:12:52 <oerjan> is it time to renew the captchas
22:13:01 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:13:02 <zemhill> Lymia.nyuroki: points 22.24, score 100.00/100, rank 1/47 (change: --)
22:15:30 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:15:31 <zemhill> Lymia.nyuroki: points 23.05, score 100.00/100, rank 1/47 (change: --)
22:15:57 <Lymia> Omnipotence down.
22:16:03 <Lymia> Now for slowpoke
22:17:09 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:17:09 <zemhill> Lymia.nyuroki: points 23.19, score 100.00/100, rank 1/47 (change: --)
22:18:34 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:18:35 <zemhill> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:19:58 <zemhill> Lymia.nyuroki: points 23.52, score 100.00/100, rank 1/47 (change: --)
22:20:27 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:20:27 <zemhill> Lymia.nyuroki: points 23.33, score 100.00/100, rank 1/47 (change: --)
22:20:49 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:20:50 <zemhill> Lymia.nyuroki: points 24.19, score 100.00/100, rank 1/47 (change: --)
22:22:03 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
22:22:04 <zemhill> Lymia.nyuroki: points 24.19, score 100.00/100, rank 1/47 (change: --)
22:26:34 -!- yorick has joined.
22:33:21 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
22:33:27 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:33:27 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
22:33:54 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:33:55 <zemhill> Lymia.nyuroki: points 24.50, score 100.00/100, rank 1/47 (change: --)
22:35:16 <oerjan> !blsq 1momo10.+
22:35:16 <oerjan> hm
22:35:16 <oerjan> !blsq 1mo
22:35:16 <oerjan> mroman_: is it like, dead
22:35:16 <oerjan> hm mroman_ himself seems rather unreachable
22:35:16 <oerjan> @ping
22:35:16 <oerjan> ^ping
22:35:16 <oerjan> hm it's not him, it's me
22:35:16 -!- jix has quit (Ping timeout: 260 seconds).
22:35:17 <blsqbot> {1 4 9 16 25 36 49 64 81 100}
22:35:17 <fungot> That Pong alone cannot stop!
22:35:17 <lambdabot> pong
22:35:17 <blsqbot> Ain't nobody got time fo' dat!
22:35:38 -!- jix has joined.
22:35:39 <oerjan> ooh you're back
22:35:56 <oerjan> @ping
22:35:56 <lambdabot> pong
22:36:22 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:36:23 <zemhill> Lymia.nyuroki: points -27.74, score 8.55/100, rank 46/47 (change: -45)
22:36:39 <fizzie> Lymia: Is your goal to get an all-pluses row or something?
22:36:44 <Lymia> Yes
22:36:53 <oerjan> !blsq 1momomo10.+
22:36:54 <blsqbot> {1 8 27 64 125 216 343 512 729 1000}
22:37:16 -!- Bicyclidine has joined.
22:37:49 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:37:50 <zemhill> Lymia.nyuroki: points 9.48, score 62.45/100, rank 5/47 (change: +41)
22:39:39 <fizzie> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:40:25 <zemhill> Lymia.nyuroki: points 9.48, score 62.45/100, rank 5/47 (change: --)
22:41:39 <oerjan> 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 <fizzie> 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 <oerjan> of course
22:44:10 <oerjan> 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 <oerjan> if a program _does_ that to you, shift your own flag one step first to get at least one turn advantage.
22:46:06 <oerjan> (this only works because you know both tape length, polarity and the opponent's code, of course.)
22:49:28 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:49:29 <zemhill> Lymia.nyuroki: points -9.76, score 25.00/100, rank 43/47 (change: -38)
22:49:45 <AndoDaan> !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 <zemhill> AndoDaan.BeatYouMate: points -6.31, score 29.10/100, rank 36/47 (change: -6)
22:50:23 <fizzie> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:50:46 <zemhill> Lymia.nyuroki: points -3.95, score 32.50/100, rank 29/47 (change: +13)
22:52:06 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:52:07 <zemhill> Lymia.nyuroki: points -7.00, score 27.43/100, rank 39/47 (change: -10)
22:53:01 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:53:03 <zemhill> Lymia.nyuroki: points -2.24, score 35.79/100, rank 22/47 (change: +17)
22:53:24 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:53:24 <zemhill> Lymia.nyuroki: points -3.02, score 32.84/100, rank 27/47 (change: -5)
22:54:04 <oerjan> fizzie: ooh promising
22:55:21 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:55:22 <zemhill> Lymia.nyuroki: points 6.29, score 52.31/100, rank 7/47 (change: +20)
22:56:00 <AndoDaan> !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 <zemhill> AndoDaan.BeatYouMate: points -7.07, score 28.55/100, rank 39/47 (change: --)
22:56:11 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([((+))*6[-]]>[((-)*7)*4[+]]))*-1
22:56:11 <zemhill> AndoDaan.BeatYouMate: points -4.19, score 31.92/100, rank 33/47 (change: +6)
22:57:00 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*8[-]]>)*3[>>>[-]]([+[-]]>)([(-)*6[+]]>)*3([((+)*6)*6[-]]>[((-)*7)*4[+]]))*-1
22:57:00 <zemhill> 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 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*5[-]]>)*3[>>>[-]]([+[-]]>)([(-)*8[+]]>)*3([((+)*5)*6[-]]>[((-)*7)*4[+]]))*-1
22:58:34 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
22:58:34 <zemhill> Lymia.nyuroki: points -31.43, score 6.68/100, rank 46/47 (change: -39)
22:58:40 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*5[-]]>)*3[>>>[-]]([+[-]]>)([(-)*8[+]]>)*3([((+)*5)*6[-]]>[((-)*7)*4[+]]))*-1
22:58:40 <zemhill> AndoDaan.BeatYouMate: points -3.19, score 31.22/100, rank 29/47 (change: --)
22:59:01 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*18[-]]>)*3>([(+)*9[-]]>>)*1([(+)*5[-]]>)*3[>>>[-]]([+[-]]>)([(-)*8[+]]>)*3([((+)*5)*6[-]]>[((-)*7)*4[+]]))*-1
22:59:02 <zemhill> AndoDaan.BeatYouMate: points -5.10, score 28.15/100, rank 35/47 (change: -6)
22:59:24 <AndoDaan> !bfjoust BeatYouMate (>------>+++++++)*4(+)*5>(([(+)*6[-]]>)*3>([(+)*5[-]]>>)*1([(+)*5[-]]>)*3[>>>[-]]([+[-]]>)([(-)*8[+]]>)*3([((+)*5)*6[-]]>[((-)*7)*4[+]]))*-1
22:59:24 <zemhill> AndoDaan.BeatYouMate: points -3.19, score 31.22/100, rank 29/47 (change: +6)
22:59:40 -!- AndoDaan has left.
23:00:01 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:00:02 <zemhill> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:01:28 <zemhill> Lymia.nyuroki: points 20.98, score 99.49/100, rank 2/47 (change: --)
23:03:01 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:03:03 <zemhill> Lymia.nyuroki: points 19.83, score 100.00/100, rank 1/47 (change: +1)
23:03:58 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:03:59 <zemhill> Lymia.nyuroki: points 22.24, score 100.00/100, rank 1/47 (change: --)
23:05:03 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:05:04 <zemhill> Lymia.nyuroki: points 21.52, score 100.00/100, rank 1/47 (change: --)
23:05:11 <elliott_> uh
23:05:14 <elliott_> congrats
23:06:37 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:06:39 <zemhill> Lymia.nyuroki: points 23.45, score 100.00/100, rank 1/47 (change: --)
23:06:41 <elliott_> what's the basic strategy, anyway?
23:07:26 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:07:27 <zemhill> Lymia.nyuroki: points 21.05, score 100.00/100, rank 1/47 (change: --)
23:07:45 <Lymia> elliott_, before, it... uh, set up decoys and started clearing, basically.
23:07:56 <elliott_> are you optimising points now that you're #1? :p
23:08:00 <Lymia> 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 <elliott_> huh, for small tape lengths?
23:08:21 <Lymia> If so, it abandons the rest of its decoys and jumps straight into clearing.
23:08:38 <Lymia> Then, if that hasn't tripped, I skip right to tape cell, like, 13 or 14
23:08:40 <ener2> I have made compiler for brainfuck, it works fine for some code but hello world ends with index over 30k
23:08:46 <Lymia> Since most programs set up enough decoys to trip the first part.
23:09:12 <ener2> http://pastebin.com/7QYFYvNW the compiler
23:09:17 <Lymia> I'm trying to modify it so it goes and pokes at the start to try and find the enemy
23:09:44 <elliott_> I wish I was good enough at bf joust to write actually good warriors...
23:10:00 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:10:01 <zemhill> Lymia.nyuroki: points 19.31, score 96.16/100, rank 2/47 (change: -1)
23:10:16 -!- Bicyclidine has joined.
23:10:29 <Taneb> I'm going to be setting up a hill for my uni
23:10:38 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:10:39 <zemhill> Lymia.nyuroki: points 18.19, score 89.56/100, rank 3/47 (change: -1)
23:10:54 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:10:55 <zemhill> Lymia.nyuroki: points 21.57, score 100.00/100, rank 1/47 (change: +2)
23:10:58 <elliott_> 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 <elliott_> hello world shouldn't go over that though
23:11:08 <ener2> elliott_: well it is my array limit
23:11:13 <ener2> so I think this just goes > forever
23:11:17 <ener2> until it hits the limit
23:11:19 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:11:20 <zemhill> Lymia.nyuroki: points 21.86, score 100.00/100, rank 1/47 (change: --)
23:11:30 <ener2> ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
23:11:35 <ener2> its this hello world
23:11:41 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:11:43 <zemhill> Lymia.nyuroki: points 18.86, score 92.00/100, rank 3/47 (change: -2)
23:11:50 <ener2> but for instance ++>>[-]<<[->>+<<] works fine...
23:12:25 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:12:26 <zemhill> Lymia.nyuroki: points 18.86, score 92.00/100, rank 3/47 (change: --)
23:12:37 <elliott_> !bf ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
23:12:38 <myndzi> Hello World!
23:12:42 <fizzie> ener2: Based on a quick glance, beginloop/endloop sure look like they should use a Stack instead of a Queue.
23:13:06 <ener2> oh you are absolutely right
23:13:10 <ener2> it's 1am :D
23:13:23 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:13:24 <zemhill> Lymia.nyuroki: points 18.24, score 89.90/100, rank 3/47 (change: --)
23:14:05 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:14:07 -!- zemhill has quit (Remote host closed the connection).
23:14:09 <Lymia> ...
23:14:11 <Lymia> fizzie.
23:14:57 -!- Sorella has quit (Ping timeout: 260 seconds).
23:14:59 <ener2> fizzie: http://pastebin.com/KKZ5pcB2 my output
23:15:01 <ener2> thanks!
23:16:42 <Lymia> fizzie fizzie fizzie
23:18:48 <Lymia> fizzie fizzie fizzie
23:19:17 <Bicyclidine> jason
23:28:29 <Lymia> @tell ais523 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
23:28:30 <lambdabot> Consider it noted.
23:30:18 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:31:26 <elliott_> it's a bit sad when your program loses against the empty string
23:32:50 <Lymia> You need decoys to make it on the hill though.
23:32:54 <Lymia> So, if it gets on the hill
23:33:03 <Lymia> Nyuroki will probably not suicide
23:34:55 <elliott_> oh, I mean the program I was working on.
23:35:59 <Lymia> Ah
23:39:20 -!- Sorella has joined.
23:40:07 -!- Sorella has quit (Changing host).
23:40:07 -!- Sorella has joined.
23:40:46 <fizzie> 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 <Bicyclidine> in ruby?
23:41:13 <fizzie> Yes.
23:41:17 <Lymia> fizzie, sounds like memory corruption
23:41:18 <Lymia> :/
23:41:19 <Lymia> urgh
23:41:28 <fizzie> 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 <Lymia> fizzie, it's segfaulting, right?
23:41:41 <Lymia> Just write
23:41:46 <Lymia> while true; do ./run; done
23:41:50 <Lymia> And let it restart itself
23:42:19 <fizzie> I really don't want to, but I guess I could, strictly for now.
23:42:33 <Bicyclidine> error errors are the greatest
23:42:35 <fizzie> 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 <fizzie> Let's put it under that sort of loop, then.
23:43:30 -!- zemhill has joined.
23:43:59 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:44:00 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
23:44:16 <Lymia> fizzie, there's a native code component, right?
23:44:41 <fizzie> Yes.
23:44:44 <fizzie> A big one.
23:45:02 <Lymia> Sounds like memory corruption :/
23:45:04 <Lymia> Which is eew eew eew
23:45:29 <fizzie> You don't fix ugly things by putting more ugly things around them, though.
23:47:14 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:47:14 <zemhill> Lymia.nyuroki: points 24.88, score 100.00/100, rank 1/47 (change: --)
23:47:18 <Lymia> fizzie, yeah, but.
23:47:26 <Lymia> You aren't fixing memory corruption unless you go source diving
23:48:22 <Lymia> There's numerious reasons your bot could fail.
23:48:27 <Lymia> So, an auto restart isn't a bad thing/
23:48:29 <elliott_> it'd be really nice to see the IPs at a certain moment in the trace in egojsout.
23:48:33 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:48:34 <zemhill> Lymia.nyuroki: points 24.19, score 100.00/100, rank 1/47 (change: --)
23:48:57 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:48:58 <zemhill> Lymia.nyuroki: points 24.69, score 100.00/100, rank 1/47 (change: --)
23:49:21 <fizzie> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:49:39 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
23:50:06 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:50:09 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:50:10 <zemhill> Lymia.nyuroki: points 17.81, score 87.18/100, rank 4/47 (change: --)
23:50:24 <fizzie> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:50:26 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: +3)
23:50:31 <Lymia> Yeah, I'm not sure how to improve this more.
23:50:32 <Lymia> ^.^
23:50:43 <Lymia> It dies horribly on small tape sizes
23:50:49 <Lymia> But I can't fix that
23:51:30 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
23:51:30 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
23:54:26 <elliott_> Lymia: you lost .52 points from the earlier version <_<
23:54:56 <Bicyclidine> that's 24.69, or do you mean something elseeeee
23:55:16 <elliott_> 24.69 -> 25.17
23:55:19 <Lymia> That's
23:55:19 <elliott_> 00:48:58 <zemhill> Lymia.nyuroki: points 24.69, score 100.00/100, rank 1/47 (change: --)
23:55:23 <Lymia> An plus.
23:55:31 <Bicyclidine> 24 and 25 elliott
23:55:32 <Lymia> 24.x and 25.x
23:55:35 <elliott_> oh.
23:55:41 <Lymia> Hmm.
23:55:43 <Bicyclidine> fuck arithmetic, amirite folks
23:55:45 <elliott_> okay look. I got less than seven hours of sleep
23:55:47 <Lymia> And a few bots are just faster rushes.
23:55:52 <Lymia> Or, well.
23:55:57 <Lymia> They have bigger and better decoys
23:56:25 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:56:26 <zemhill> Lymia.nyuroki: points 23.05, score 100.00/100, rank 1/47 (change: --)
23:56:48 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:56:48 <zemhill> Lymia.nyuroki: points 19.40, score 98.79/100, rank 2/47 (change: -1)
23:57:06 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:57:07 <zemhill> Lymia.nyuroki: points 22.74, score 100.00/100, rank 1/47 (change: +1)
23:57:13 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
23:57:14 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
23:57:33 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
23:57:34 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
23:57:35 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:57:36 <zemhill> Lymia.nyuroki: points 24.36, score 100.00/100, rank 1/47 (change: --)
23:57:42 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
23:57:42 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
23:58:45 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:58:46 <zemhill> Lymia.nyuroki: points 22.14, score 100.00/100, rank 1/47 (change: --)
23:59:26 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
23:59:27 <zemhill> Lymia.nyuroki: points 22.62, score 100.00/100, rank 1/47 (change: --)
23:59:52 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
23:59:53 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
23:59:56 <Lymia> Final version for now~
2014-09-25
00:00:01 <Bicyclidine> oh, hey, you got a .moe.
00:01:09 <Lymia> mhmm?
00:04:57 -!- Bicyclidine has quit (Ping timeout: 272 seconds).
00:06:59 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
00:07:00 <zemhill> Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --)
00:07:19 <Lymia> 5 cycle clear instead of 2
00:07:23 -!- c4 has joined.
00:07:26 <Lymia> 3*
00:07:44 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
00:07:44 <zemhill> Lymia.nyuroki: points 25.10, score 100.00/100, rank 1/47 (change: --)
00:07:46 <c4> Ugh, everyone is AFK in the J irc. Does anyone know enough J to help me with a pretty easy problem?
00:08:20 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
00:08:20 <zemhill> Lymia.nyuroki: points 24.83, score 100.00/100, rank 1/47 (change: --)
00:08:39 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
00:08:39 <zemhill> Lymia.nyuroki: points 24.60, score 100.00/100, rank 1/47 (change: --)
00:08:55 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
00:08:56 <zemhill> Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --)
00:10:07 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
00:10:07 <zemhill> Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --)
00:12:15 <c4> 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 <oerjan> i thought we had J experts here
00:29:44 <oerjan> `run ls bin/*txt
00:29:45 <HackEgo> bin/UnicodeData.txt
00:30:09 <oerjan> `interp bf_txtgen Test
00:30:15 <HackEgo> 60 ++++++++++++++[>++++++>+++++++>++++++++><<<<-]>.>+++.>+++.+. [124]
00:30:33 -!- olsner has quit (Ping timeout: 260 seconds).
00:31:52 <oerjan> @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 <lambdabot> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:13:03 <zemhill> Lymia.nyuroki: points 25.69, score 100.00/100, rank 1/47 (change: --)
01:13:20 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:13:21 <zemhill> Lymia.nyuroki: points 25.86, score 100.00/100, rank 1/47 (change: --)
01:13:39 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:13:40 <zemhill> Lymia.nyuroki: points 25.17, score 100.00/100, rank 1/47 (change: --)
01:13:45 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
01:13:46 <zemhill> Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --)
01:19:49 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:19:49 <zemhill> Lymia.nyuroki: points 21.98, score 100.00/100, rank 1/47 (change: --)
01:20:13 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:20:14 <zemhill> Lymia.nyuroki: points 25.60, score 100.00/100, rank 1/47 (change: --)
01:20:33 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:20:34 <zemhill> Lymia.nyuroki: points 25.00, score 100.00/100, rank 1/47 (change: --)
01:20:52 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:20:53 <zemhill> Lymia.nyuroki: points 25.64, score 100.00/100, rank 1/47 (change: --)
01:21:12 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:21:13 <zemhill> Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --)
01:22:05 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
01:22:05 <zemhill> Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --)
01:23:32 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:23:33 <zemhill> Lymia.nyuroki: points 23.76, score 100.00/100, rank 1/47 (change: --)
01:23:55 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:23:55 <zemhill> Lymia.nyuroki: points 25.98, score 100.00/100, rank 1/47 (change: --)
01:24:35 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:24:35 <zemhill> Lymia.nyuroki: points 25.95, score 100.00/100, rank 1/47 (change: --)
01:25:08 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:25:09 <zemhill> Lymia.nyuroki: points 25.95, score 100.00/100, rank 1/47 (change: --)
01:25:28 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
01:25:29 <zemhill> Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --)
01:28:05 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
01:28:06 <zemhill> Lymia.nyuroki: points 26.07, score 100.00/100, rank 1/47 (change: --)
01:28:07 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:28:08 <zemhill> Lymia.nyuroki: points 24.19, score 100.00/100, rank 1/47 (change: --)
01:28:35 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:28:36 <zemhill> Lymia.nyuroki: points 22.55, score 100.00/100, rank 1/47 (change: --)
01:28:42 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
01:28:43 <zemhill> 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 <L8D> I was told there was a BF Joust hill here
01:37:53 <AndoDaan______> boy is there ever.
01:37:58 -!- AndoDaan______ has changed nick to AndoDaan.
01:38:08 <AndoDaan> !bfjoust
01:38:08 <zemhill> AndoDaan: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
01:38:27 <shachaf> Perhaps bfjoust should split into a separate channel.
01:38:31 <oerjan> L8D: it's so active we may still have to ban it.
01:38:54 <AndoDaan> It's cool now, so we hate it.
01:39:20 <L8D> Is this something recent?
01:39:36 <L8D> I didn't know of any bf jousting going on the last time I stayed in this channel
01:39:44 <oerjan> L8D: the new activity was spurred by someone writing a new bot for it
01:39:55 <oerjan> s/someone/fizzie/
01:40:11 <oerjan> because EgoBot has disappeared for some reason
01:40:32 <oerjan> 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 <oerjan> and a nifty website, i hear. i should visit it some time.
01:42:30 <oerjan> 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 <oerjan> or well
01:42:56 <quintopia> well
01:42:56 <oerjan> well yes.
01:43:01 <quintopia> the problem is just
01:43:08 <quintopia> zemhill doesn't answer PMs
01:43:12 <quintopia> so
01:43:23 <quintopia> plus ais wants to see all this spam
01:43:27 <L8D> !bfjoust firstbot >+[>[.]+]
01:43:27 <zemhill> L8D.firstbot: points -41.74, score 1.33/100, rank 47/47
01:43:37 <L8D> -_
01:44:44 <oerjan> [.] seems like a pretty bad idea.
01:44:55 <L8D> wouldn't it stall?
01:45:09 <quintopia> 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 <oerjan> well it will loop indefinitely unless the opponent clears the cell for you...
01:46:05 <quintopia> 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 <L8D> !bfjoust secondbot [>[[-]<]+++]
01:46:28 <zemhill> L8D.secondbot: points -32.55, score 3.22/100, rank 47/47
01:46:53 <oerjan> looks better
01:47:21 <oerjan> but maybe not much
01:47:24 <quintopia> L8D: you should read BF Joust Strategies :D
01:47:40 <L8D> it won two games!
01:47:49 <L8D> quintopia: I will before creating a third
01:49:22 <oerjan> why are there 47 bots btw
01:49:24 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:49:25 <zemhill> Lymia.nyuroki: points 25.88, score 100.00/100, rank 1/47 (change: --)
01:49:43 <L8D> http://github.com/Lymia/JoustExt/blob/master/examples/nyuroki-esoteric.jx
01:49:52 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:49:55 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:49:56 <zemhill> Lymia.nyuroki: points 26.19, score 100.00/100, rank 1/47 (change: --)
01:50:18 <quintopia> oerjan: egobot's hill had 47
01:50:22 <Sgeo> “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 <Sgeo> hahahaha that's the silliest thing i eveer heard, unless i'm a hopeless fool
01:50:39 <quintopia> oerjan: so "because that's the way gregor's whims blew"
01:50:45 * Sgeo glares
01:50:55 <Sgeo> Only thing in The Codeless Code I dislike, I think
01:51:06 <oerjan> ic
01:51:34 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:51:34 <zemhill> Lymia.nyuroki: points 24.98, score 100.00/100, rank 1/47 (change: --)
01:51:43 <quintopia> oerjan: personally, i'd like to see a MUCH bigger hill. like maybe 100.
01:52:14 <oerjan> maybe we could make it so the hill grows for a while whenever someone _doesn't_ get last place
01:52:28 <oerjan> *fizzie
01:52:41 <quintopia> ah not a bad idea
01:52:51 <Lymia> Maybe when a bot reaches >20 rank?
01:52:56 <Lymia> What's a good cutoff for "significant bot"
01:53:09 <quintopia> Lymia: oerjan's suggestion doesn't require that concept
01:53:58 <quintopia> Lymia: oerjan is saying "let's control how big the hill by letting us delete bots when they are irrelevant"
01:54:03 <Lymia> Ah
01:54:13 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
01:54:14 <zemhill> Lymia.nyuroki: points 26.19, score 100.00/100, rank 1/47 (change: --)
01:54:27 <quintopia> so much tweaking
01:54:45 <Lymia> !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf
01:54:46 <zemhill> Lymia.nyuroki: points 26.19, score 100.00/100, rank 1/47 (change: --)
01:54:57 <Lymia> Well, yeah
01:55:02 <Lymia> I want to make sure nyuroki stays on the hill.
01:55:05 <Lymia> <3
01:55:05 <quintopia> Lymia: can't you test locally and then only submit major versions?
01:55:12 <Lymia> I could probably, yeah.
01:55:16 <Lymia> But I don't have it set up
01:55:51 <L8D> Lymia: What's .jx ?
01:55:59 <Lymia> Custom thing I made
01:56:08 <L8D> interesting
01:56:15 <Lymia> It's basically a macro language for BF Joust
01:56:24 <Lymia> I tried nasm's preprocessor at first.
01:56:26 <Lymia> But that was anightmare.
01:56:29 <Lymia> a nightmare*
01:57:57 <quintopia> i started to write a macro language for bf joust once
01:58:06 <quintopia> but i couldn't figure out how to do some stuff
01:58:08 <quintopia> so i quit
01:58:35 <L8D> Why not just write a BF program that prints out your desired BF program?
01:58:43 <Lymia> I figured out how to do some stuff.
01:58:44 <L8D> just use a programming language as a macro language
01:58:56 <Lymia> It caused >1GB thoretical file sizes.
01:58:56 <L8D> Lymia: implement .jx in BF
01:58:58 <Lymia> So I gave that up.
01:59:19 -!- Sorella has quit (Read error: Connection reset by peer).
02:00:05 <L8D> Lymia: So...Do you have a job or something where you get paid to spend hours writing esoteric macro languages?
02:00:23 <L8D> and writing BF Joust robots
02:00:51 <Gregor> 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 <oerjan> Gregor: yes but now you need to write an interface to the logs that hides !bfjoust messages
02:11:34 <Lymia> So
02:11:52 <Lymia> Who updates the BF Joust strategies page
02:11:56 <Lymia> Now that ais is dethroned
02:26:10 <HackEgo> [wiki] [[BF Joust strategies]] http://esolangs.org/w/index.php?diff=40527&oldid=40506 * 108.205.143.75 * (+2)
02:30:07 <L8D> !bfjoust thirdbot (>)*9([-.]+>)*21[[-]>+]
02:30:07 <zemhill> L8D.thirdbot: points -23.86, score 9.43/100, rank 47/47
02:31:47 <L8D> !bfjoust fourthbot (>)*9([-.]>[-]+>)*21[[-]>+]
02:31:47 <zemhill> L8D.fourthbot: points -21.81, score 10.36/100, rank 47/47
02:32:04 <oerjan> surely ais will rise again.
02:32:55 <AndoDaan> ^bool.
02:33:25 <AndoDaan> !help
02:33:25 <zemhill> AndoDaan: I do !bfjoust; see http://zem.fi/bfjoust/ for more information.
02:37:57 <Lymia> fourthbot beats up smartlock?
02:37:58 <Lymia> Geez
02:38:01 <Lymia> smartlock sucks.
02:39:09 * Sgeo goes to try PCLinuxOS in a VM
02:40:59 <Gregor> Sgeo: Welcome to 2008?
02:41:18 <Sgeo> Why is PCLinuxOS 2008ish in your mind?
02:41:24 <Sgeo> Please tell me it's KDE4 :/
02:41:28 <Lymia> !bfjoust finnel (>+)*9((-)*10([+{[-.+-]}[-.+-]+>])%500>)*21
02:41:29 <zemhill> Lymia.finnel: points -20.98, score 10.65/100, rank 47/47
02:41:39 <Lymia> !bfjoust finnel (>+++)*9((-)*10([+{[-.+-]}[-.+-]+>])%500>)*21
02:41:39 <zemhill> Lymia.finnel: points -18.38, score 11.71/100, rank 47/47 (change: --)
02:41:51 <Lymia> !bfjoust finnel (>+)*9((-)*10([+{[-.]}[-.]+>])%500>)*21
02:41:52 <zemhill> Lymia.finnel: points -20.07, score 11.23/100, rank 47/47 (change: --)
02:42:12 <Lymia> !bfjoust finnel (>+)*9((-)*10([+{[-.]{}}[-.]+>])%500>)*21
02:42:12 <zemhill> Lymia.finnel: points -23.50, score 9.32/100, rank 47/47 (change: --)
02:42:19 <Lymia> !bfjoust finnel (>+)*9((-)*10([+{[-.]+>{}}[-.]+>])%500>)*21
02:42:20 <zemhill> Lymia.finnel: points -23.50, score 9.60/100, rank 47/47 (change: --)
02:42:35 <Lymia> !bfjoust finnel (>+)*9((-)*10([+{[-.[-.]]+>{}}[-.[-.]]+>])%500>)*21
02:42:35 <zemhill> Lymia.finnel: points -23.55, score 9.07/100, rank 47/47 (change: --)
02:43:46 <Gregor> <Sgeo> 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 <Lymia> !bfjoust finnel (>[<(<[(>[[-]]+)*-1](-)*10)*30])*30
02:43:48 <zemhill> Lymia.finnel: points -25.31, score 5.27/100, rank 47/47 (change: --)
02:44:43 <Sgeo> Gregor: are there good end-user Linux distros?
02:44:54 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([+{[-.[-.]]+>{}}[-.[-.]]+>])%500>)*21
02:44:54 <zemhill> Lymia: error: parse error: encountered { without suitable enclosing (
02:44:56 <Sgeo> KDE is pretty
02:45:02 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((-)*10([+{[-.[-.]]+>{}}[-.[-.]]+>])%500>)*21
02:45:03 <zemhill> Lymia.finnel: points -20.26, score 10.03/100, rank 47/47 (change: --)
02:45:28 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((+)*40[-]+>)*-1
02:45:29 <zemhill> Lymia.finnel: points -8.93, score 16.14/100, rank 45/47 (change: +2)
02:45:38 <Lymia> !bfjoust finnel (>)*8(<(-)*20<(+)*20)*4(>)*9((+)*40[-]+>)*-1
02:45:39 <zemhill> Lymia.finnel: points -9.88, score 15.75/100, rank 46/47 (change: -1)
02:45:42 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((+)*40[-]+>)*-1
02:45:43 <zemhill> Lymia.finnel: points -8.93, score 16.14/100, rank 45/47 (change: +1)
02:46:23 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((+)*40[[-]]+>)*-1
02:46:24 <zemhill> Lymia.finnel: points -12.36, score 13.44/100, rank 47/47 (change: -2)
02:46:30 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9((+)*40([-])*2+>)*-1
02:46:31 <zemhill> Lymia.finnel: points -10.31, score 15.13/100, rank 46/47 (change: +1)
02:46:43 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*40[-]]+>)*-1
02:46:44 <zemhill> Lymia.finnel: points -3.95, score 19.83/100, rank 34/47 (change: +12)
02:46:49 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*40[-]]>)*-1
02:46:51 <zemhill> Lymia.finnel: points -4.19, score 19.48/100, rank 36/47 (change: -2)
02:46:56 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*40([-])*2]+>)*-1
02:46:56 <zemhill> Lymia.finnel: points -2.62, score 21.19/100, rank 31/47 (change: +5)
02:47:16 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*30([-])*2]+>)*-1
02:47:16 <zemhill> Lymia.finnel: points -3.90, score 21.51/100, rank 31/47 (change: --)
02:47:27 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*30([-])*2]+++>)*-1
02:47:28 <zemhill> Lymia.finnel: points -5.31, score 19.89/100, rank 37/47 (change: -6)
02:47:31 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*30([-])*2]++>)*-1
02:47:32 <zemhill> Lymia.finnel: points -5.05, score 20.30/100, rank 35/47 (change: +2)
02:47:34 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*4(>)*9([(+)*30([-])*2]+>)*-1
02:47:34 <zemhill> Lymia.finnel: points -3.90, score 21.51/100, rank 31/47 (change: +4)
02:47:43 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*3(>)*9([(+)*30([-])*2]+>)*-1
02:47:44 <zemhill> Lymia.finnel: points -0.69, score 24.48/100, rank 21/47 (change: +10)
02:47:47 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*2(>)*9([(+)*30([-])*2]+>)*-1
02:47:47 <zemhill> Lymia.finnel: points 0.07, score 25.97/100, rank 20/47 (change: +1)
02:47:50 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*1(>)*9([(+)*30([-])*2]+>)*-1
02:47:51 <zemhill> Lymia.finnel: points -4.21, score 22.67/100, rank 31/47 (change: -11)
02:47:53 <Lymia> !bfjoust finnel ((>)*8(<(-)*20<(+)*20)*4)*2(>)*9([(+)*30([-])*2]+>)*-1
02:47:54 <zemhill> Lymia.finnel: points 0.07, score 25.97/100, rank 20/47 (change: +11)
02:48:00 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*3(>)*9([(+)*30([-])*2]+>)*-1
02:48:00 <zemhill> Lymia.finnel: points -0.74, score 26.21/100, rank 22/47 (change: -2)
02:48:03 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*30([-])*2]+>)*-1
02:48:04 <zemhill> Lymia.finnel: points 1.45, score 26.97/100, rank 18/47 (change: +4)
02:48:47 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*30([-.])*2]+>)*-1
02:48:47 <zemhill> Lymia.finnel: points -5.98, score 18.22/100, rank 41/47 (change: -23)
02:48:48 <Gregor> <Sgeo> Gregor: are there good end-user Linux distros? // No.
02:48:51 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*30([-])*2]+>)*-1
02:48:52 <zemhill> Lymia.finnel: points 1.45, score 26.97/100, rank 18/47 (change: +23)
02:48:54 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*20([-])*2]+>)*-1
02:48:56 <zemhill> Lymia.finnel: points 0.52, score 24.91/100, rank 20/47 (change: -2)
02:48:57 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*50([-])*2]+>)*-1
02:48:58 <zemhill> Lymia.finnel: points -0.05, score 27.89/100, rank 18/47 (change: +2)
02:49:04 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(-)*110([-])*2]+>)*-1
02:49:05 <zemhill> Lymia.finnel: points -17.69, score 11.42/100, rank 47/47 (change: -29)
02:49:13 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*110([+])*2]+>)*-1
02:49:14 <zemhill> Lymia.finnel: points -17.55, score 11.56/100, rank 47/47 (change: --)
02:49:25 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*20([-])*2]+>)*-1
02:49:26 <zemhill> 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 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*50([-])*2]+>)*-1
02:49:36 <zemhill> 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 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9(([+{(-)*3([-{(+)*50([-])*2}])%3}])%3+>)*-1
02:51:36 <zemhill> Lymia.finnel: points 0.69, score 25.06/100, rank 19/47 (change: -1)
02:51:47 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9(([+{(-)*3([-{(-)*100([-])*2}])%3}])%3+>)*-1
02:51:48 <zemhill> Lymia.finnel: points -15.55, score 12.50/100, rank 47/47 (change: -28)
02:51:53 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*50([-])*2]+>)*-1
02:51:54 <zemhill> Lymia.finnel: points -0.05, score 27.89/100, rank 18/47 (change: +29)
02:51:59 <Lymia> !bfjoust simple <
02:51:59 <zemhill> Lymia.simple: points -46.00, score 0.00/100, rank 47/47 (change: -11)
02:52:37 <L8D> !bfjoust yoda (>)*9>+[-[-](+)*40>+]
02:52:38 <zemhill> L8D.yoda: points -26.36, score 7.69/100, rank 47/47
02:53:21 <L8D> !bfjoust yoda (>)*9>+[-[-](+)*10>+]
02:53:21 <zemhill> L8D.yoda: points -24.38, score 8.61/100, rank 47/47 (change: --)
02:53:22 <Lymia> !bfjoust flow >(-)*5>(+)*5>(-)*5>(>[..>>([(+)*6[-]]->)*-1])*-1
02:53:23 <zemhill> Lymia.flow: points -12.26, score 15.03/100, rank 46/47 (change: -12)
02:53:28 <Lymia> !bfjoust flow >(-)*5>(+)*5>>(>[..>>([(+)*6[-]]->)*-1])*-1
02:53:29 <zemhill> Lymia.flow: points -8.88, score 18.14/100, rank 43/47 (change: +3)
02:53:32 <Lymia> !bfjoust flow >(-)*5>>>(>[..>>([(+)*6[-]]->)*-1])*-1
02:53:33 <zemhill> Lymia.flow: points -6.57, score 21.29/100, rank 34/47 (change: +9)
02:53:42 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*6[-]]->)*-1])*-1
02:53:43 <zemhill> Lymia.flow: points -5.81, score 21.76/100, rank 33/47 (change: +1)
02:53:49 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*15[-]]->)*-1])*-1
02:53:49 <zemhill> Lymia.flow: points -10.52, score 17.93/100, rank 44/47 (change: -11)
02:53:51 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*10[-]]->)*-1])*-1
02:53:52 <zemhill> Lymia.flow: points -7.21, score 21.11/100, rank 34/47 (change: +10)
02:53:56 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]->)*-1])*-1
02:53:57 <zemhill> Lymia.flow: points -4.69, score 23.37/100, rank 30/47 (change: +4)
02:54:05 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]-->)*-1])*-1
02:54:05 <zemhill> Lymia.flow: points -5.67, score 22.27/100, rank 32/47 (change: -2)
02:54:08 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]>)*-1])*-1
02:54:08 <zemhill> Lymia.flow: points -5.24, score 22.49/100, rank 32/47 (change: --)
02:54:11 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]+>)*-1])*-1
02:54:11 <zemhill> Lymia.flow: points -3.98, score 24.17/100, rank 25/47 (change: +7)
02:55:20 -!- Guest59309 has joined.
02:55:36 <L8D> !bfjoust yoda (>)*9>+[-[-](+)*10>+]
02:55:36 <zemhill> L8D.yoda: points -24.38, score 8.57/100, rank 47/47 (change: --)
02:55:52 <Sgeo> Ooh I can try out IE2
02:56:03 <Lymia> !bfjoust flow >(-)*5>>>>(>[>>([(+)*5[-]]>)*-1])*-1
02:56:04 <zemhill> Lymia.flow: points -4.57, score 23.28/100, rank 30/47 (change: -5)
02:56:07 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]>)*-1])*-1
02:56:08 <zemhill> Lymia.flow: points -5.24, score 22.49/100, rank 32/47 (change: -2)
02:56:09 <Lymia> My god.
02:56:15 <Lymia> I don't understand my own program from how long ago
02:56:18 <Lymia> !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]>)*-1])*-1
02:56:18 <zemhill> Lymia.flow: points -5.38, score 22.35/100, rank 32/47 (change: --)
02:56:21 <L8D> !bfjoust yoda (>)*9>+[-[-](+)*-1>+]
02:56:23 <Lymia> !bfjoust flow >(-)*5>>>>(>[-->>([(+)*5[-]]>)*-1])*-1
02:56:23 <zemhill> L8D.yoda: points -22.38, score 4.28/100, rank 47/47 (change: --)
02:56:24 <zemhill> Lymia.flow: points -5.38, score 21.96/100, rank 32/47 (change: --)
02:56:27 <Sgeo> Not sure how, the oldest Windows I have access to already has IE4 on it...
02:56:35 <L8D> !bfjoust yoda (>)*9>+[-[-](+)*3>+]
02:56:36 <zemhill> L8D.yoda: points -24.38, score 9.31/100, rank 47/47 (change: --)
02:56:41 <L8D> !bfjoust yoda --(>)*9>+[-[-](+)*3>+]
02:56:41 -!- zemhill has quit (Remote host closed the connection).
02:56:48 <Lymia> !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1
02:57:01 <L8D> ...
02:57:11 <Lymia> I don't see an autorestart
02:57:22 <L8D> did I do something?
02:57:31 -!- zemhill has joined.
02:57:33 <Lymia> No
02:57:37 <Lymia> It just likes to randomly die
02:57:39 <Lymia> !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1
02:57:39 <zemhill> Lymia.flow: points -3.98, score 24.78/100, rank 25/47 (change: +7)
02:57:43 <L8D> !bfjoust yoda --(>)*9>+[-[-](+)*3>+]
02:57:44 <zemhill> L8D.yoda: points -24.33, score 9.41/100, rank 47/47 (change: --)
02:57:46 <Lymia> !bfjoust flow >(-)*5>>>>(>[..>>([(+)*5[-]]+>)*-1])*-1
02:57:47 <zemhill> Lymia.flow: points -4.07, score 24.55/100, rank 25/47 (change: --)
02:57:54 <Lymia> !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1
02:57:54 <zemhill> Lymia.flow: points -3.98, score 24.78/100, rank 25/47 (change: --)
02:57:58 <Lymia> !bfjoust flow >(-)*4>>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1
02:57:59 <zemhill> Lymia.flow: points -5.57, score 22.53/100, rank 32/47 (change: -7)
02:58:01 <Lymia> !bfjoust flow >(-)*5>>>>(>[++>>([(+)*5[-]]+>)*-1])*-1
02:58:01 <zemhill> Lymia.flow: points -3.98, score 24.78/100, rank 25/47 (change: +7)
02:59:16 <L8D> !bfjoust yoda --(>)*9([-.](+)*6>)*21[-[-.]>+]
02:59:16 <zemhill> L8D.yoda: points -26.02, score 7.77/100, rank 47/47 (change: --)
02:59:49 <Lymia> !bfjoust sneaky >(+)*10>(-)*10<<(-)*127>[[]]<(-+)*-1
02:59:50 <zemhill> Lymia.sneaky: points -22.57, score 8.73/100, rank 47/47
03:00:09 <Lymia> !bfjoust sneaky >(+)*10>>>>>(-)*50<<<<<<(-)*127>[[]]<(-+)*-1
03:00:10 <zemhill> Lymia.sneaky: points -20.74, score 9.13/100, rank 47/47 (change: --)
03:00:20 <Lymia> !bfjoust sneaky >+>>>>>(-)*50<<<<<<(-)*127>[[]]<(-+)*-1
03:00:22 <zemhill> Lymia.sneaky: points -23.31, score 7.63/100, rank 47/47 (change: --)
03:00:23 <Lymia> !bfjoust sneaky >+>>>>>(-)*50<<<<<<(-)*127>[]<(-+)*-1
03:00:25 <zemhill> Lymia.sneaky: points -20.24, score 8.97/100, rank 47/47 (change: --)
03:00:28 <Lymia> boo
03:00:34 <L8D> !bfjoust yoda --(>)*9([-.](+)*6>)*21[+[-.]>-]
03:00:35 <zemhill> L8D.yoda: points -26.02, score 7.77/100, rank 47/47
03:00:43 <L8D> !bfjoust yoda --(>)*9([-.](+)*6>)*21[++[-.]>--]
03:00:44 <zemhill> 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 <L8D> !bfjoust yoda --(>)*9([-.](+)*6>)*21[-[--.]>+]
03:02:13 -!- Guest59309 has joined.
03:02:13 <zemhill> L8D.yoda: points -26.02, score 7.77/100, rank 47/47 (change: --)
03:02:26 <Sgeo> PCLinuxOS doesn't use Kicker by default :(
03:02:36 <L8D> !bfjoust yoda --(>)*9([-.](+)*6>)*21[-[-]>+]
03:02:36 <zemhill> L8D.yoda: points -26.02, score 7.77/100, rank 47/47 (change: --)
03:02:47 <L8D> !bfjoust yoda --(>)*9([-](+)*6>)*21[-[-]>+]
03:02:47 -!- Guest59309 has left ("http://quassel-irc.org - Chat comfortably. Anywhere.").
03:02:48 <zemhill> 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 <Sgeo> What's a good KDE based distro?
03:03:24 <L8D> !bfjoust yoda --(>(+)*3)*9([-](+)*6>)*21[-[-]>+]
03:03:24 <zemhill> L8D.yoda: points -19.81, score 10.82/100, rank 47/47 (change: --)
03:03:34 <L8D> !bfjoust yoda --(>+)*9([-](+)*6>)*21[-[-]>+]
03:03:34 <zemhill> L8D.yoda: points -20.98, score 10.40/100, rank 47/47 (change: --)
03:03:38 <Sgeo> KaOS seems KDE centered
03:04:35 <L8D> !bfjoust yoda --(>+)*9([-](-)*6>)*21[-[-]>+]
03:04:35 <zemhill> L8D.yoda: points -20.02, score 10.82/100, rank 47/47 (change: --)
03:04:48 <L8D> !bfjoust yoda --(>-)*9([-](-)*6>)*21[-[-]>+]
03:04:49 <zemhill> L8D.yoda: points -22.98, score 7.51/100, rank 47/47 (change: --)
03:05:09 <L8D> !bfjoust yoda --(>++)*9([-](-)*6>)*21[-[-]>+]
03:05:09 <zemhill> L8D.yoda: points -20.36, score 10.83/100, rank 47/47 (change: --)
03:05:16 <L8D> !bfjoust yoda --(>)*9([-](-)*6>)*21[-[-]>+]
03:05:17 <zemhill> L8D.yoda: points -20.88, score 11.13/100, rank 47/47 (change: --)
03:05:28 <L8D> !bfjoust yoda --(>)*9([-](-)*6>)*21[-[+]>+]
03:05:29 <zemhill> L8D.yoda: points -20.88, score 11.13/100, rank 47/47 (change: --)
03:05:48 <L8D> !bfjoust yoda ---(>)*9([-](-)*6>)*21[-[-]>+]
03:05:49 <zemhill> L8D.yoda: points -21.31, score 10.93/100, rank 47/47 (change: --)
03:05:57 <L8D> !bfjoust yoda -(>)*9([-](-)*6>)*21[-[-]>+]
03:05:57 <zemhill> L8D.yoda: points -20.76, score 11.24/100, rank 47/47 (change: --)
03:06:04 <L8D> !bfjoust yoda (>)*9([-](-)*6>)*21[-[-]>+]
03:06:04 <zemhill> L8D.yoda: points -19.86, score 11.89/100, rank 47/47 (change: --)
03:06:16 <L8D> I should stop spamming
03:06:30 <Lymia> !bfjoust google https://www.google.com/images/srpr/logo11w.png
03:06:30 <zemhill> Lymia: error: parse error: terminating ) without a matching (
03:08:16 <L8D> !bfjoust yoda (>(+)*3>(-)*3)*4([-](-)*6>)*21[-[-]>+]
03:08:17 <zemhill> L8D.yoda: points -23.57, score 7.24/100, rank 47/47 (change: --)
03:09:05 <AndoDaan> you can maybe still !bfjoust with private messages
03:09:44 <Lymia> !bfjoust yoda (>(+)*3>(-)*3)*4(>(+)*10[-](-)*6)*21
03:09:44 <zemhill> Lymia.yoda: points -19.17, score 10.85/100, rank 47/47
03:09:54 <Lymia> !bfjoust yoda (>(+)*10>(-)*10)*4(>(+)*20[-]+)*21
03:09:55 <zemhill> Lymia.yoda: points -13.43, score 13.75/100, rank 47/47 (change: --)
03:10:04 <Lymia> Come on, look at what you're doing. :P
03:10:07 <Lymia> Don't just make random bots.
03:10:11 <Lymia> !bfjoust yoda <
03:10:11 <zemhill> Lymia.yoda: points -46.00, score 0.00/100, rank 47/47 (change: --)
03:13:10 <L8D> !bfjoust yoda (>(-)*128)*9>+[-[-.]+>+]
03:13:11 <zemhill> L8D.yoda: points -30.45, score 6.01/100, rank 47/47
03:13:20 <L8D> -_-
03:13:37 <Lymia> 128 is way too big for decoys
03:13:43 <Lymia> And faster programs will find your decoys before you get one set up.
03:13:46 <Lymia> Try reverse decoys
03:13:55 <Lymia> (>)*8(<(-)*10)*8(>)*8
03:14:02 <Lymia> (>)*8(<(-)*10)*8(>(-)*50)*8 maybe
03:14:57 <L8D> !bfjoust yoda ((>--)*8(<)*8)(10 >+[-[-.]+>+]
03:14:57 <zemhill> L8D: error: parse error: starting ( without a matching )
03:15:02 <L8D> !bfjoust yoda ((>--)*8(<)*8)*10 >+[-[-.]+>+]
03:15:05 <zemhill> L8D.yoda: points -29.69, score 3.69/100, rank 47/47 (change: --)
03:15:14 <L8D> !bfjoust yoda ((>--)*8(<)*8)*5 >+[-[-.]+>+]
03:15:16 <zemhill> L8D.yoda: points -28.57, score 4.12/100, rank 47/47 (change: --)
03:15:23 <L8D> -_- I can't really be creative
03:15:58 <L8D> !bfjoust yoda ((>-)*8(<)*8)*10 >+[-[-.]+>+]
03:16:09 <Lymia> http://codu.org/eso/bfjoust/egojsout/
03:16:17 <Lymia> This might get you a better feel for how your program actually behaves
03:16:18 <L8D> thanks
03:16:28 <Lymia> (Type it in again, zemhill sometimes fails to receieve programs)
03:17:08 <L8D> I see
03:17:18 <L8D> the visualization really helps
03:21:04 <Lymia> As it stands, you have two big problems.
03:21:19 <L8D> this is what I'm currently testing
03:21:22 <Lymia> You spend 240 cycle setting up 10 height decoys.
03:21:24 <L8D> !bfjoust yoda (>)*8(<(-)*10)*7(>)*7 >+[---[-.]+>+++]
03:21:25 <Lymia> And you clear your own decoys
03:21:26 <zemhill> L8D.yoda: points -21.83, score 9.17/100, rank 47/47 (change: --)
03:21:54 <Lymia> You don't need to use [] to loop, mind
03:21:56 <Lymia> ()*21
03:22:00 <Lymia> Or ()*-1
03:22:07 <Lymia> For the outer loop of your clear cycle
03:22:13 <Lymia> "---[-.]" < This is bad
03:22:28 <L8D> oooh I see
03:22:28 <Lymia> 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 <L8D> 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 <quintopia> L8D: did you learn anything about strategies?
03:44:13 <L8D> yes
03:45:25 <quintopia> 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 <Lymia> Well
03:45:46 <quintopia> usually you would focus on the innovations it achieved
03:45:49 <Lymia> I doubt there's any new strategies.
03:45:55 <Lymia> Or even anything unexpected there.
03:45:55 -!- Frooxius has joined.
03:45:59 <quintopia> then not much need be said
03:46:09 <quintopia> you can just document the strategies used
03:48:11 <L8D> !bfjoust yoda (>)*8(>[(>[(+)*6[-]]>)*21])*21
03:48:12 <zemhill> L8D.yoda: points -11.62, score 16.66/100, rank 46/47 (change: +1)
03:49:13 <L8D> !bfjoust yoda (>)*8(>[(>[(+)*10[-]]>)*21])*21
03:49:14 <zemhill> L8D.yoda: points -11.36, score 16.76/100, rank 46/47 (change: --)
03:56:53 <HackEgo> [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 <quintopia> hmmm. i wonder...
04:08:30 <quintopia> !bfjoust ais523_vibration_fool_faster #draw gridlines
04:08:30 <quintopia> if self.drawgrid:
04:08:30 <quintopia> for i in range(1,gridx):
04:08:30 <quintopia> self.create_line(self.gridsize*i,0,self.gridsize*i,gridy*self.gridsize,fill='gray')
04:08:31 <zemhill> quintopia.ais523_vibration_fool_faster: points -32.43, score 4.52/100, rank 47/47
04:08:34 <quintopia> for i in range(1,gridy):
04:08:41 <quintopia> bad at copying
04:08:53 <quintopia> !bfjoust ais523_vibration_fool_faster >>>++++<----<++++<(-)*127.(-+)*50000
04:08:55 <zemhill> quintopia.ais523_vibration_fool_faster: points -17.45, score 10.51/100, rank 47/47 (change: --)
04:09:06 <quintopia> okay good to know that still doesn't work
04:12:28 <L8D> !bfjoust yoda (>)*9(>[(+)*10[-]])*21
04:12:29 <zemhill> 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 <quintopia> !bfjoust jix_wiggle3 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/raw-file/48730c91ec77/jix_wiggle3.bfjoust
04:14:07 <zemhill> quintopia: error: parse error: [..] crossing out of a ({..}) level
04:14:08 <Lymia> Wee
04:14:12 <quintopia> oh
04:14:22 <Lymia> Processing 15000 revisions of Egojoust history
04:14:28 <Lymia> Since Egojoust is finishsed
04:14:32 <quintopia> i should rewrite wiggle3 to use the new syntax
04:14:35 <Lymia> I'm going to find the winner of the whole Egojoust
04:14:36 <Lymia> <3
04:18:00 -!- ^v has joined.
04:19:16 <quintopia> !bfjoust jix_wiggle3 http://sprunge.us/SRXc
04:19:17 <zemhill> quintopia.jix_wiggle3: points -11.93, score 14.99/100, rank 47/47
04:19:28 <quintopia> it used to be so good
04:19:38 <L8D> !bfjoust yoda (>)*8(>[(+)*3[-]]+)*21
04:19:39 <zemhill> L8D.yoda: points -12.57, score 16.60/100, rank 46/47 (change: --)
04:19:49 <L8D> !bfjoust yoda (>)*8(>[(+)*5[-]]+)*21
04:19:50 <zemhill> L8D.yoda: points -10.93, score 17.83/100, rank 45/47 (change: +1)
04:19:56 <L8D> !bfjoust yoda (>)*8(>[(+)*10[-]]+)*21
04:19:57 <zemhill> L8D.yoda: points -13.83, score 16.30/100, rank 46/47 (change: -1)
04:20:06 <L8D> !bfjoust yoda (>)*8(>[-]+)*21
04:20:06 <zemhill> L8D.yoda: points -18.93, score 12.99/100, rank 47/47 (change: -1)
04:20:15 <L8D> !bfjoust yoda (>)*8(>[+[-]]+)*21
04:20:15 <zemhill> L8D.yoda: points -16.98, score 14.26/100, rank 47/47 (change: --)
04:20:22 <L8D> weid
04:20:26 <quintopia> !bfjoust myndzi_slowrush >(+)*22>(-)*22(>++++++>------)*1>+>->->+(>[[-(+)*22[-]]+>[+(-)*22[+]]->]+)*21
04:20:32 <L8D> !bfjoust yoda (>)*8(>[+++[-]]+)*21
04:20:32 <zemhill> L8D.yoda: points -12.43, score 16.85/100, rank 47/47
04:20:44 <quintopia> !bfjoust myndzi_slowrush >(+)*22>(-)*22(>++++++>------)*1>+>->->+(>[[-(+)*22[-]]+>[+(-)*22[+]]->]+)*21
04:20:45 <zemhill> quintopia.myndzi_slowrush: points -10.00, score 17.73/100, rank 46/47 (change: --)
04:20:53 <L8D> !bfjoust yoda (>)*8(>[++++[-]]+)*21
04:20:54 <quintopia> hey slowrush is still relevant barely
04:20:54 <zemhill> L8D.yoda: points -11.90, score 17.19/100, rank 47/47 (change: --)
04:21:00 <L8D> wtf
04:21:16 <L8D> !bfjoust yoda (>)*8(>[+++++[-]]+)*21
04:21:16 <zemhill> L8D.yoda: points -10.79, score 18.05/100, rank 45/47 (change: +2)
04:21:21 <L8D> WTF?
04:21:28 <L8D> 4 poke it is...
04:21:30 -!- Frooxius has joined.
04:21:47 <L8D> wait no
04:21:53 <quintopia> offset
04:21:59 <L8D> !bfjoust yoda (>)*8(>[(+)*5[-]]+)*21
04:22:00 <zemhill> L8D.yoda: points -10.79, score 18.05/100, rank 45/47 (change: --)
04:22:06 <L8D> offset?
04:22:12 <quintopia> !bfjoust ais523_defend9 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/raw-file/6f8e08560f66/ais523_defend9.bfjoust
04:22:15 <zemhill> quintopia: error: parse error: [..] crossing out of a ({..}) level
04:22:28 <quintopia> i think when you said "four poke" you meant "offset of four"
04:22:36 <quintopia> poke is something else
04:22:44 <L8D> okay then yes offset
04:24:54 <quintopia> !bfjoust ais523_defend9 http://sprunge.us/faBM
04:24:56 <zemhill> quintopia.ais523_defend9: points -13.90, score 13.41/100, rank 47/47
04:25:02 <quintopia> oh well!
04:27:45 <HackEgo> [wiki] [[BF Joust strategies]] http://esolangs.org/w/index.php?diff=40529&oldid=40527 * 108.205.143.75 * (+1085)
04:28:31 <Lymia> No good at techenical writeups.
04:28:31 <Lymia> ^.^
04:29:19 <Lymia> [lymia@aurica ~/data/programming/bfjoust-versions]$ ls egojoust_versions/ | wc -l
04:29:19 <Lymia> 9910
04:29:25 <Lymia> Who wants 9910 warriors to sort through?
04:30:49 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21
04:30:50 <zemhill> L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: --)
04:30:57 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[-]]-)*21
04:30:57 <zemhill> L8D.yoda: points -9.90, score 17.51/100, rank 44/47 (change: --)
04:31:01 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21
04:31:02 <zemhill> L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: --)
04:31:34 <L8D> Lymia: 9910 individual warriors?
04:31:41 <Lymia> Yep.
04:31:49 <Lymia> This is every single distinct program that ever went through the dead EgoJoust hill
04:32:07 <L8D> you should first compile each one down to brainfuck then checksum each one and eliminate duplicates
04:32:45 <Lymia> I already did.
04:32:51 <Lymia> Remove duplicates, at least.
04:33:40 <Lymia> https://lymia.moe/~lymia/egojoust_versions.tar.xz
04:33:44 <Lymia> If someone wants a bunch of BF Joust bots.
04:33:46 <Lymia> Unsorted
04:34:22 <L8D> You couldn't write a script to sort them by rank?
04:34:39 <L8D> or go through each individual one and upload it to the new hill
04:34:45 <Lymia> That takes a lot of computing power.
04:34:51 <Lymia> And I'm not going to screw up the new hill
04:35:45 <L8D> 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 <L8D> then take the top 47 or just the outstanding ones and upload them to the new hill
04:37:19 <Lymia> Let me put this in prospective
04:37:34 <Lymia> Running one warrior has, so far, taken about 20 seconds
04:37:58 <Lymia> quintopia, elliott_: Help
04:38:07 <Lymia> I need to run 9910*9909 warrior matchups
04:38:54 <L8D> What about just 9910*1 matchups?
04:39:10 <L8D> or just 9910*2 or 9910*3
04:39:36 <L8D> you take the top 1, 2 or 3 best warriors of the existing strategies
04:41:10 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[-.]]+)*21
04:41:10 <zemhill> L8D.yoda: points -18.98, score 10.81/100, rank 47/47 (change: -3)
04:41:19 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21
04:41:19 <zemhill> L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: +3)
04:41:36 <L8D> Lymia: How do you suggest I solve this problem?
04:41:42 <quintopia> Lymia: there aren't that many warriors on the hill
04:41:49 <Lymia> quintopia, yes.
04:41:50 <quintopia> Lymia: eliminate all but the latest iteration of each
04:41:54 <L8D> I'm losing to lockers, so I want a cheap fix to avoid nearly as many losses
04:41:57 <Lymia> I extracted every single bot that ever landed on egobot
04:42:29 <quintopia> "it hurts when i do this" "well don't do that"
04:43:46 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[--.]]+)*21
04:43:48 <zemhill> L8D.yoda: points -38.02, score 1.83/100, rank 47/47 (change: -3)
04:43:59 <L8D> !bfjoust yoda (>->)*4(>[(+)*6[--.]]+)*21
04:44:00 <zemhill> L8D.yoda: points -33.95, score 4.29/100, rank 47/47 (change: --)
04:44:32 <L8D> !bfjoust yoda ++(>->)*4(>[(+)*5[-]]+)*21
04:44:32 <zemhill> L8D.yoda: points -10.12, score 17.28/100, rank 44/47 (change: +3)
04:46:35 <L8D> !bfjoust yoda (>->+)*4([(+)*5[-]]+)*21
04:46:37 <zemhill> L8D.yoda: points -34.00, score 1.37/100, rank 47/47 (change: -3)
04:46:55 <L8D> !bfjoust yoda (>->>+>)*2([(+)*5[-]]+)*21
04:46:57 <zemhill> L8D.yoda: points -33.02, score 1.59/100, rank 47/47 (change: --)
04:47:05 <L8D> !bfjoust yoda (>->)*4([(+)*5[-]]+)*21
04:47:07 <zemhill> L8D.yoda: points -32.88, score 1.74/100, rank 47/47 (change: --)
04:47:15 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21
04:47:16 <zemhill> L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: +3)
04:47:41 <L8D> !bfjoust yoda (>->+)*4(>[(+)*5[-]]+)*21
04:47:41 <zemhill> L8D.yoda: points -8.86, score 18.17/100, rank 44/47 (change: --)
04:47:58 <L8D> !bfjoust yoda (>->>+>)*2(>[(+)*5[-]]+)*21
04:47:58 <zemhill> L8D.yoda: points -9.55, score 18.03/100, rank 44/47 (change: --)
04:48:27 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[-]]-)*21
04:48:28 <zemhill> L8D.yoda: points -9.90, score 17.51/100, rank 44/47 (change: --)
04:48:34 <L8D> !bfjoust yoda (>->)*4(>[(+)*5[-]]+)*21
04:48:34 <zemhill> L8D.yoda: points -8.93, score 18.20/100, rank 44/47 (change: --)
04:48:38 <L8D> yrah...
04:48:48 <L8D> someone really needs to make zemhill pmable
04:49:09 <quintopia> fizzie is the only someone
04:50:35 <quintopia> !bfjoust draw (+)*-1
04:50:37 <zemhill> quintopia.draw: points -15.48, score 11.87/100, rank 47/47
04:51:22 <quintopia> !bfjoust draw ((+)*256(-)*256)*-1
04:51:25 <zemhill> quintopia.draw: points -13.76, score 11.44/100, rank 47/47 (change: --)
04:52:53 <L8D> !bfjoust lock <(+)*-1
04:52:53 <zemhill> L8D.lock: points -46.00, score 0.00/100, rank 47/47
04:53:00 <quintopia> !bfjoust draw >+[++]<(-)*-1
04:53:03 <zemhill> quintopia.draw: points -20.98, score 8.00/100, rank 47/47
04:53:04 <L8D> !bfjoust lock >(+)*-1
04:53:10 <zemhill> L8D.lock: points -6.12, score 13.71/100, rank 47/47
04:53:21 <quintopia> not bad
04:54:31 <quintopia> !bfjoust draw >[(+)*128(-)*128]<(+)*-1
04:54:33 <zemhill> quintopia.draw: points -15.40, score 11.88/100, rank 47/47
04:55:35 <quintopia> !bfjoust draw >>>+++<+++<[(+)*128(-)*128]<(+)*-1
04:55:38 <zemhill> quintopia.draw: points -19.45, score 8.84/100, rank 47/47 (change: --)
04:55:43 <L8D> quintopia: ha! mine is better than yours
04:55:47 <quintopia> yep
04:55:50 <L8D> hehe
04:56:16 <quintopia> !bfjoust draw >>>+++<+++<[(+)*1000]<(+)*-1
04:56:18 <zemhill> quintopia.draw: points -19.45, score 8.84/100, rank 47/47 (change: --)
04:56:21 <quintopia> hmm
04:56:35 <L8D> !bfjoust lock >(++-)*-1
04:56:39 <L8D> o.O
04:56:41 <zemhill> L8D.lock: points -7.43, score 11.18/100, rank 47/47
04:56:54 <L8D> !bfjoust lock >(-)*-1
04:57:01 <zemhill> L8D.lock: points -6.12, score 13.71/100, rank 47/47 (change: --)
04:57:29 <L8D> !bfjoust lock >(+>+<)*-1
04:57:32 <zemhill> L8D.lock: points -26.57, score 3.42/100, rank 47/47 (change: --)
04:57:37 <quintopia> oh
04:57:38 <quintopia> duh
04:57:43 <L8D> ._.
04:57:43 <quintopia> !bfjoust draw >>>+++<+++<+[(+)*1000]<(+)*-1
04:57:48 <zemhill> quintopia.draw: points -13.45, score 6.43/100, rank 47/47
04:57:55 <quintopia> hmm
04:58:27 <quintopia> yeah that draws as often as it should. kicks space_hotel's ass.
05:02:12 <quintopia> 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 <quintopia> or not
05:02:48 <L8D> interesting....
05:02:49 <quintopia> !bfjoust draw >>>+++<+++<+[++]<(+)*-1
05:02:52 <zemhill> quintopia.draw: points -24.33, score 5.67/100, rank 47/47 (change: --)
05:03:07 <quintopia> that one gets such much drawing
05:04:19 <L8D> !bfjoust lock >+((+)*120(-)*120)*-1
05:04:24 <zemhill> L8D.lock: points -6.31, score 12.69/100, rank 47/47
05:05:03 <L8D> somehow, just barely, lesser
05:05:05 <quintopia> yeah the one that spins on the first cell BEATS nyuroki
05:05:29 <L8D> !bfjoust lock >(+)*-1
05:05:35 <zemhill> L8D.lock: points -6.12, score 13.71/100, rank 47/47 (change: --)
05:05:47 <L8D> oh wow it does
05:06:12 <L8D> by 2 points though
05:06:13 <quintopia> 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 <quintopia> which ... makes it suicide
05:06:24 <L8D> with >80% of games being draws
05:07:06 <L8D> !bfjoust lock ++>(+)*-1
05:07:12 <zemhill> L8D.lock: points -6.62, score 13.11/100, rank 47/47 (change: --)
05:08:49 <L8D> !bfjoust lock +>(+)*-1
05:08:55 <zemhill> L8D.lock: points -6.10, score 13.74/100, rank 47/47 (change: --)
05:08:56 <quintopia> !bfjoust mad_rush >(+)*-1(>[(>)*8((+)*115[+]>)*20])*20
05:09:02 <zemhill> quintopia.mad_rush: points -6.12, score 13.71/100, rank 47/47
05:09:05 <L8D> woah...interesting
05:09:29 <L8D> mad_rush has the exact same score as >(+)*-1
05:09:30 <quintopia> oh wait
05:09:41 <quintopia> that's because the rest of the coden ever gets executes :P
05:09:46 <L8D> lol
05:09:49 <Lymia> quintopia, rather.
05:09:53 <quintopia> !bfjoust mad_rush >(+)*2000(>[(>)*8((+)*115[+]>)*20])*20
05:09:53 <zemhill> quintopia.mad_rush: points -13.76, score 21.41/100, rank 43/47 (change: +4)
05:09:57 <Lymia> It, uh.
05:10:00 <Lymia> Assumes stuff makes decoys
05:10:05 <L8D> quintopia: nicely done
05:10:06 <quintopia> !bfjoust mad_rush >(+)*3000(>[(>)*8((+)*115[+]>)*20])*20
05:10:06 <zemhill> quintopia.mad_rush: points -14.81, score 20.12/100, rank 45/47 (change: -2)
05:10:12 <quintopia> !bfjoust mad_rush >(+)*1000(>[(>)*8((+)*115[+]>)*20])*20
05:10:13 <zemhill> quintopia.mad_rush: points -14.31, score 19.30/100, rank 45/47 (change: --)
05:10:14 <Lymia> So that on short tapes, its checks before setting decoys would send it straight to its clear loop >_>
05:10:31 <quintopia> !bfjoust mad_rush >(+)*2000(>[(>)*8((+)*115[+]>)*20])*20
05:10:31 <zemhill> quintopia.mad_rush: points -13.76, score 21.41/100, rank 43/47 (change: +2)
05:10:45 <Lymia> When it thinks its getting locked, it switches to [-.-+] instead of going >>
05:11:49 <quintopia> i can see that
05:12:04 <quintopia> !bfjoust mad_rush >(+)*2000(>[(>)*7((+)*115[+]>)*20])*20
05:12:04 <zemhill> quintopia.mad_rush: points -20.48, score 14.08/100, rank 47/47 (change: -4)
05:12:09 <quintopia> !bfjoust mad_rush >(+)*2000(>[(>)*8((+)*115[+]>)*20])*20
05:12:10 <zemhill> quintopia.mad_rush: points -13.76, score 21.41/100, rank 43/47 (change: +4)
05:12:57 <Lymia> !bfjoust lock-nyuroki >+[]<(-++--+--++)*-1
05:12:59 <zemhill> Lymia.lock-nyuroki: points -25.69, score 7.42/100, rank 47/47
05:13:16 <Lymia> Uh, let's see...
05:13:44 <Lymia> !bfjoust lock-nyuroki >+[]<(-+)*500(+.+-)*-1
05:13:45 <zemhill> Lymia.lock-nyuroki: points -27.10, score 9.25/100, rank 47/47 (change: --)
05:14:16 <L8D> !bfjoust blitz (>+)*8(<(+)*11)(>)*8(>[(+)*10[-]])
05:14:17 <zemhill> L8D.blitz: points -44.90, score 0.10/100, rank 47/47
05:14:30 <L8D> I suck
05:14:57 <L8D> !bfjoust blitz (>+)*8(<(+)*11)(>)*8(>[(+)*10[-]])*21
05:14:58 <zemhill> L8D.blitz: points -16.60, score 14.69/100, rank 47/47 (change: --)
05:15:03 <L8D> ...much butter
05:16:12 <L8D> !bfjoust blitz (>+)*8(<(+)*11)*8(>)*8(>[(+)*10[-]])*21
05:16:13 <zemhill> L8D.blitz: points -5.81, score 24.88/100, rank 33/47 (change: +14)
05:16:20 <L8D> holy shit
05:16:27 <Lymia> !bfjoust yolo (>+>-)*10([(+)*50([-])*2]+>)*-1
05:16:27 <zemhill> Lymia.yolo: points -31.62, score 6.27/100, rank 47/47
05:16:29 <quintopia> nice
05:16:41 <Lymia> !bfjoust yolo (>++++>---)*8([(+)*50([-])*2]+>)*-1
05:16:42 <zemhill> Lymia.yolo: points -25.83, score 8.53/100, rank 47/47 (change: --)
05:16:57 <quintopia> blitz draws nyuroki
05:17:22 <L8D> !bfjoust blitz (>+)*8((+)*11<)*8(>)*8(>[(+)*10[-]])*21
05:17:22 <zemhill> L8D.blitz: points -5.55, score 25.26/100, rank 34/47 (change: -4)
05:17:24 <Lymia> hun
05:17:29 <Lymia> Looks like it's polarity decided?
05:17:52 <L8D> polarity what?
05:17:55 <Lymia> Right
05:17:58 <Lymia> Bigger than my offset
05:18:00 <Lymia> One bigger.
05:18:15 <L8D> oh yeah I did that because I saw a lot of warriors using the number 10
05:18:27 <L8D> so I used the number 10 in my code except I decoy at 11
05:18:35 <quintopia> L8D: trying making it alternate polarity on the decoys?
05:18:43 <Lymia> Yeah
05:18:45 <L8D> oooh
05:18:50 <quintopia> (blitz is winning on one polarity only)
05:18:51 <Lymia> The tie is because
05:19:00 <L8D> !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21
05:19:01 <zemhill> L8D.blitz: points -4.55, score 26.21/100, rank 29/47 (change: +5)
05:19:05 <Lymia> On one polarity nyuroki blitzs through the decoys due to polarity
05:19:06 <L8D> awesome!
05:19:06 <quintopia> nice
05:19:08 <Lymia> On the other, its offset fails
05:19:11 <L8D> I feel so proud of myself
05:19:26 <quintopia> Lymia: time to use an offset of 11 instead?
05:19:31 <L8D> Lymia: I'm using an offset of 10 to be fair
05:19:53 <quintopia> L8D: don't be fair. tweak constants to your heart's content!
05:19:54 <L8D> Lymia: please don't update nyuroki
05:20:08 <L8D> I don't want my dreams to be crushed
05:20:20 <quintopia> fuck your dreams. this is bf joust
05:21:00 <L8D> !bfjoust blitz (>+>-)*4((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21
05:21:00 <zemhill> L8D.blitz: points -7.50, score 21.48/100, rank 44/47 (change: -15)
05:21:07 <L8D> ...
05:21:14 <L8D> !bfjoust blitz (>+>)*4((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21
05:21:15 <zemhill> L8D.blitz: points -6.45, score 24.04/100, rank 38/47 (change: +6)
05:21:18 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:21:19 <zemhill> Lymia.nyuroki: points 23.26, score 100.00/100, rank 1/47 (change: --)
05:21:24 <L8D> !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21
05:21:24 <zemhill> L8D.blitz: points -4.55, score 26.21/100, rank 29/47 (change: +9)
05:21:47 <Lymia> Let's do something stupid
05:22:07 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:22:08 <zemhill> Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: --)
05:22:12 <Lymia> .... it lives
05:22:59 <L8D> but it is still using an offset of 10
05:23:01 <L8D> 11*
05:23:06 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:23:06 <zemhill> Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: --)
05:23:26 <Lymia> Opps
05:23:28 <Lymia> Upload fail
05:23:29 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:23:30 <zemhill> Lymia.nyuroki: points 18.60, score 96.84/100, rank 2/47 (change: -1)
05:23:48 <quintopia> lol
05:23:50 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:23:50 <zemhill> Lymia.nyuroki: points 18.57, score 97.26/100, rank 2/47 (change: --)
05:24:06 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:24:07 <zemhill> Lymia.nyuroki: points 22.86, score 100.00/100, rank 1/47 (change: +1)
05:24:12 <L8D> IT's getting beaten by your yolo script
05:24:22 <L8D> wait nvm
05:24:30 <L8D> it's getting beaten by quintopia's mad_rush
05:24:34 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:24:35 <zemhill> Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: --)
05:24:40 <Lymia> Unfortunely
05:24:41 <L8D> which is why it's at #2
05:24:43 <Lymia> blitz can take the tie.
05:24:48 <Lymia> Other bots are more important
05:24:50 <L8D> yay!
05:25:27 <L8D> !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*5[-]])*21
05:25:27 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:25:28 <zemhill> L8D.blitz: points -6.67, score 23.12/100, rank 41/47 (change: -12)
05:25:29 <zemhill> Lymia.nyuroki: points 10.95, score 66.21/100, rank 5/47 (change: -4)
05:25:31 <Lymia> Giant offset!
05:25:36 <L8D> !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21
05:25:36 <zemhill> L8D.blitz: points -4.98, score 31.98/100, rank 35/47 (change: +6)
05:25:37 <Lymia> Terrible idea
05:25:44 <L8D> !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21
05:25:44 <zemhill> L8D.blitz: points -4.98, score 31.98/100, rank 35/47 (change: --)
05:25:49 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:25:50 <zemhill> Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: +4)
05:25:51 <L8D> what happened
05:26:04 <quintopia> Lymia: make it beat ffspg!
05:26:09 <Lymia> ffspg?
05:26:14 <Lymia> Oh
05:26:40 <Lymia> FFSPG vs Nyuroki, unfortunely
05:26:58 <Lymia> Is matter of larger decoy sizes. :(
05:27:30 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:27:31 <zemhill> Lymia.nyuroki: points 21.07, score 100.00/100, rank 1/47 (change: --)
05:28:57 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:28:58 <zemhill> Lymia.nyuroki: points 21.71, score 100.00/100, rank 1/47 (change: --)
05:29:21 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:29:22 <zemhill> Lymia.nyuroki: points 21.62, score 100.00/100, rank 1/47 (change: --)
05:29:42 <L8D> !bfjoust blitz (>+)*8((+)*11<<(-)*11<<)*2(>)*8(>[(+)*10[-]])*21
05:29:43 <zemhill> L8D.blitz: points -8.93, score 22.68/100, rank 46/47 (change: -17)
05:29:47 <L8D> !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]])*21
05:29:47 <zemhill> L8D.blitz: points -4.45, score 28.66/100, rank 29/47 (change: +17)
05:29:56 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:29:56 <zemhill> Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: --)
05:31:32 <quintopia> i have a convention idea.
05:31:49 <quintopia> we can easily represent a tape configuration by an integer
05:32:16 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:32:19 <zemhill> Lymia.nyuroki: points -18.76, score 12.18/100, rank 46/47 (change: -45)
05:32:39 <quintopia> by letting the sign be the polarity (negative for kettle)
05:32:44 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:32:45 <zemhill> Lymia.nyuroki: points -29.45, score 8.38/100, rank 47/47 (change: -1)
05:32:57 <L8D> hahaha
05:33:01 <quintopia> and letting the number be 9 less than the tape length
05:33:08 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:33:09 <zemhill> Lymia.nyuroki: points -30.64, score 7.49/100, rank 47/47 (change: --)
05:33:18 <Lymia> *sigh*
05:33:20 <Lymia> Code restructures
05:33:20 <Lymia> :(
05:33:27 <quintopia> so that x in [-21,...,21], x!=0 are the possible tape configurations
05:33:46 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:33:48 <zemhill> Lymia.nyuroki: points -27.88, score 9.15/100, rank 47/47 (change: --)
05:34:04 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:34:06 <zemhill> Lymia.nyuroki: points -30.26, score 7.71/100, rank 47/47 (change: --)
05:36:00 <L8D> OMG I have this brilliant idea for what we could be spending all this time writing bots doing...
05:36:15 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:36:16 <zemhill> Lymia.nyuroki: points 18.88, score 95.98/100, rank 3/47 (change: +44)
05:36:16 <L8D> writing real software.
05:36:23 <fizzie> Lymia: You're *still* going on?
05:36:27 <Lymia> Nah
05:36:36 <Lymia> Just trying to integrate a poke into nyuroki.
05:36:40 <Lymia> As you can see, it's not going well
05:36:57 <fizzie> L8D: It should *be* "pmable" already.
05:37:03 <fizzie> (Perhaps I should point that out somewhere.)
05:37:22 <drdanmaku> today I learned ".moe" is a real TLD
05:37:37 <quintopia> fizzie: people were failing to get pms working earlier i think
05:38:08 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:38:09 <zemhill> Lymia.nyuroki: points 18.02, score 94.28/100, rank 3/47 (change: --)
05:38:20 <L8D> fizzie: nothing happens when I do
05:38:29 <quintopia> 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 <Lymia> Screw it~
05:39:03 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
05:39:04 <zemhill> Lymia.nyuroki: points 23.17, score 100.00/100, rank 1/47 (change: +2)
05:39:05 <L8D> I wouldn't say "masterpiece"....
05:39:07 <Lymia> Rip apart Nyuroki as you'd like
05:39:28 <L8D> Why do I keep writing ellipses? I don't really know.....
05:39:36 <fizzie> 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 <quintopia> L8D: have you tried it? everything is interconnected and intelligently explained!
05:39:59 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*50([-])*2]+>)*-1
05:39:59 <zemhill> Lymia.finnel: points 1.10, score 32.15/100, rank 17/47 (change: --)
05:40:01 <quintopia> fizzie: yeah! fuck search engines!
05:40:02 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*40([-])*2]+>)*-1
05:40:02 <zemhill> Lymia.finnel: points 2.55, score 30.58/100, rank 17/47 (change: --)
05:40:04 <L8D> quintopia: Yes. But I'm a fullstack JS dev too....
05:40:06 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*9([(+)*60([-])*2]+>)*-1
05:40:08 <zemhill> Lymia.finnel: points -4.05, score 25.77/100, rank 31/47 (change: -14)
05:40:13 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*12([(+)*50([-])*2]+>)*-1
05:40:14 <zemhill> Lymia.finnel: points 6.12, score 41.20/100, rank 8/47 (change: +23)
05:40:16 <fizzie> http://sprunge.us/jEVa <- a query worked just fine for me.
05:40:20 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*14([(+)*50([-])*2]+>)*-1
05:40:20 <zemhill> Lymia.finnel: points 6.38, score 43.29/100, rank 7/47 (change: +1)
05:40:23 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*15([(+)*50([-])*2]+>)*-1
05:40:23 <zemhill> Lymia.finnel: points 5.93, score 42.71/100, rank 7/47 (change: --)
05:40:26 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*13([(+)*50([-])*2]+>)*-1
05:40:26 <zemhill> Lymia.finnel: points 6.71, score 43.44/100, rank 7/47 (change: --)
05:40:29 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*14([(+)*50([-])*2]+>)*-1
05:40:30 <zemhill> Lymia.finnel: points 6.38, score 43.29/100, rank 7/47 (change: --)
05:40:54 <quintopia> yep PMs work
05:41:07 <quintopia> Lymia: take it to PM man!
05:41:15 <Lymia> But I'm molesting the hill!
05:41:15 <Lymia> :(
05:41:18 <L8D> !bfjoust blitz (>+)*8((+)*11<(-)*11<)*4(>)*8(>[(+)*10[-]]+)*21
05:41:19 <zemhill> L8D.blitz: points -2.21, score 29.56/100, rank 25/47 (change: +3)
05:41:41 <L8D> woot
05:42:11 <quintopia> Lymia: doesn't molestation usually happen in private?
05:42:19 <L8D> ^
05:42:29 <Lymia> How about "laying seige upon"
05:42:32 <Lymia> That's a better metaphor, right?
05:42:46 <quintopia> not really
05:43:05 <quintopia> an army stops laying siege once it has already conquered, you see
05:43:17 <L8D> !bfjoust blitz (>+)*8((+)*10<(-)*11<)*4(>)*8(>[(+)*10[-]]+)*21
05:43:17 <zemhill> L8D.blitz: points -2.67, score 29.00/100, rank 26/47 (change: -1)
05:43:23 <Lymia> Committing genocide?
05:43:32 <L8D> !bfjoust blitz (>+)*8((+)*11<(-)*12<)*4(>)*8(>[(+)*10[-]]+)*21
05:43:32 <zemhill> L8D.blitz: points -1.38, score 32.63/100, rank 21/47 (change: +5)
05:43:34 <quintopia> fizzie: so what do you think about my suggestion for score scaling
05:43:52 <L8D> woot woot!
05:44:05 <L8D> not blitz ACTUALLY BEATS NYUROKI
05:44:10 <L8D> http://zem.fi/bfjoust/game/#joust,L8D.blitz,Lymia.nyuroki,90653d4
05:44:13 <L8D> fuck yeah!
05:45:14 <quintopia> L8D: because of the small but just big enough decoys. good plan.
05:45:47 <quintopia> it also appears to beat space_hotel
05:45:50 <quintopia> for the same reason
05:46:00 <L8D> that was my only goal from the start actually...I was trying to understand how nyuroki works
05:46:06 <Lymia> Should get my evolver back up sometime.
05:47:01 <Lymia> !bfjoust evolved ((-)*5>[(-)*4.[+.]].)*-1
05:47:02 <zemhill> Lymia.evolved: points -24.71, score 10.99/100, rank 47/47
05:47:12 <Lymia> !bfjoust evolved (-)*5(>.(-)*7)*3(>[(-)*8[.+]](-)*2)*-1
05:47:14 <zemhill> Lymia.evolved: points -15.05, score 17.44/100, rank 47/47 (change: --)
05:47:21 <Lymia> These two crummy things topped the stack overflow hill.
05:47:21 <Lymia> Yep
05:47:24 <Lymia> !bfjoust evolved (-)*5(>.(-)*7)*3(>[(-)*8[+]](-)*2)*-1
05:47:25 <zemhill> Lymia.evolved: points -11.48, score 20.40/100, rank 47/47 (change: --)
05:47:55 <quintopia> i just had an idea
05:48:37 <quintopia> most of the top programs on the hill right now have decoys that are all the same size
05:48:45 <quintopia> or close to it
05:49:03 <quintopia> what if a program searched for the optimal offset size the first time it reached a "real" decoy
05:49:18 <quintopia> or better
05:49:24 <Lymia> It'd hate stuff that sets up decoys in layers.
05:49:38 <fizzie> 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 <Lymia> Like, it says "Oh, about 5 high decoys" for Nyuroki
05:49:44 <fizzie> ... max-scaling is crude too.)
05:49:58 <Lymia> ... but those are only the forward ones while it sets up actual decoys
05:50:10 <quintopia> Lymia: i was about to revise the idea
05:50:26 <quintopia> Lymia: suppose it increased its offset size every time the offset it last used didn't work
05:50:39 <L8D> fizzie: Isn't whatever is in 1st place supposed to have the 100 score?
05:50:41 <Lymia> So.
05:50:44 <Lymia> Start with a wiggle clear
05:50:53 <Lymia> And use information from that for every further clear?
05:51:21 <fizzie> 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 <L8D> ahh
05:51:37 <quintopia> fizzie: 500 then! i want the absolute change in score to mean something dammit!
05:51:45 <Lymia> "hypothetical"?
05:51:56 <fizzie> Lymia: There has never been one submitted, I don't think.
05:52:34 <Lymia> Well
05:52:36 <Lymia> I could work on that
05:53:00 <Lymia> I have a good idea what my technique would be
05:53:01 <quintopia> 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 <Bike> so you'd need to up your score of 25ish to, like, 500, huh
05:53:40 <L8D> !bfjoust yoda (>)*8(>[(+)*10[-]]+)*21
05:53:40 <zemhill> L8D.yoda: points -11.31, score 20.69/100, rank 46/47 (change: --)
05:53:42 <fizzie> 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 <Lymia> quintopia, in the stack overflow hill
05:53:58 <Lymia> The old nyuroki was achieveing a 93% win rate
05:54:02 <L8D> !bfjoust yoda (>+>)*4(>[(+)*10[-]]+)*21
05:54:02 <zemhill> L8D.yoda: points -9.19, score 21.67/100, rank 46/47 (change: --)
05:54:12 <L8D> !bfjoust yoda (>+>-)*4(>[(+)*10[-]]+)*21
05:54:13 <zemhill> L8D.yoda: points -7.19, score 23.58/100, rank 44/47 (change: +2)
05:54:17 <quintopia> Lymia: how does the new one do
05:54:21 <Lymia> I'm not sure.
05:54:32 <L8D> how do I do pms?
05:54:39 <Lymia> It'd probably fall over badly because that hill has some insane programs, and some weird programs.
05:54:49 <quintopia> L8D: just pm the damn bot with the same damn messages :P
05:55:20 <L8D> quintopia: it wasn't working earlier...
05:55:34 <quintopia> Lymia: do you have to actually post the code to enter, or can you submit it mechanically
05:55:47 <Lymia> Post the code.
05:55:51 <quintopia> lame
05:55:53 <Lymia> I had a local simulator
05:57:49 <quintopia> Lymia: teach me how to use bfjoustext
05:57:58 <Lymia> quintopia, I have a readme.
05:58:08 <fizzie> 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 <Lymia> And I'm terrible at coding and language design.
05:58:47 <quintopia> i like how your github is the second or third hit on google for nyuroki. makes it easy to find.
05:59:09 <quintopia> fizzie: why is there a /1000 there? is that necessary?
06:00:14 <quintopia> also, why wouldn't a perfect program get the (1,0,0,0,0...) distribution?
06:00:19 -!- StackOverflow has joined.
06:00:22 <StackOverflow> !bfjoust frederick_128Bot https://raw.githubusercontent.com/redevined/brainfuck/master/BrainFuckedBotsForBattling/bots/128Bot.bf
06:00:23 <zemhill> StackOverflow.frederick_128Bot: points -25.21, score 9.41/100, rank 47/47
06:00:27 <StackOverflow> Can I do this~
06:00:29 <StackOverflow> Pretty please~?
06:00:38 <quintopia> have fun
06:01:06 <Lymia> "rank 47/47"
06:01:07 <fizzie> 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 <Lymia> Most of these bots are bouncing right off the hill.
06:01:28 <Bike> why is it 47, by the way
06:01:39 <fizzie> 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 <Bike> rip
06:02:04 <fizzie> Well, that was interesting.
06:02:11 <Lymia> Sorry
06:02:33 <fizzie> "#<NoMethodError: undefined method `[]' for nil:NilClass>" I wonder where that came from.
06:04:43 <quintopia> Lymia: yeah the readme didn't help
06:04:43 <HackEgo> [wiki] [[Special:Log/newusers]] create * BettyeLocklear * New user account
06:04:47 <HackEgo> [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 <fizzie> How can @progs[newprog] || @progs[@ranking[-1]] result in nil. That doesn't make any sense.
06:05:34 <HackEgo> [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 <fizzie> 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 <quintopia> fizzie: well in that case, wouldn't setting the sum to 1000 make 100 the maximum possible score?
06:06:26 <fizzie> Perhaps it was a race condition, that just shouldn't happen.
06:06:28 <Sgeo> Is it... safe to upload a Google Webmaster verification thingy to a public place?
06:06:39 <Sgeo> I want to verify my GitHub Pages site
06:07:01 <quintopia> fizzie: erm sorry, N is number of warriors
06:07:16 <quintopia> fizzie: wouldn't setting the sum to 4700 make 100 the max score?
06:07:37 <quintopia> (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 <fizzie> 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 <Lymia> Almost certainly a race condition
06:08:22 <fizzie> Lymia: Could you possibly do it slower in that case.
06:08:25 <L8D> What's happening to zemhill?
06:08:31 -!- paul2520 has changed nick to Guest51277.
06:08:38 -!- zemhill has joined.
06:09:02 <quintopia> 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 <quintopia> 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 <quintopia> what matters is how it changes over time
06:10:40 <quintopia> and if there's a different scaling factor every time
06:10:46 <quintopia> 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 <L8D> yes! blitz is now in 14th
06:13:12 <Lymia> I should send my updated Nyuroki back at the original hill
06:13:16 <Lymia> Might blow everything up
06:13:20 <quintopia> 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 <Lymia> quintopia, it's a macro preprocessor, you can't really.
06:13:54 <quintopia> :(
06:14:04 <Lymia> If you know your current position, you can.
06:14:16 <Lymia> (<)*$offset or (>)*$offset
06:14:19 <quintopia> sure
06:14:26 <quintopia> that's easy enough to do by hand
06:14:44 <Lymia> Tracking position is super-hard
06:14:47 <Lymia> [>]
06:14:47 <Lymia> Opps
06:15:00 <quintopia> my ideal bf joust metalanguage would track the current cell in every branch of code to make that function possible
06:15:30 <Lymia> [>] would be a mess then
06:15:36 <quintopia> indeed
06:15:43 <Lymia> But I suppose I could try implementing that.
06:15:56 <Lymia> I can't guarentee you aren't asking for exponential codegen though
06:15:59 <quintopia> in that case, it would just say "um sorry i have no idea where you are anymore"
06:16:10 <quintopia> exponential codegen is fine
06:16:35 <Lymia> hrm
06:16:38 <Lymia> Let me think about how to implement that
06:16:45 <Lymia> I wouldn't want it to activate when goto isn't being used.
06:16:49 <Lymia> Since it'd unroll ()*-1s and stuff
06:17:04 <quintopia> yeah
06:17:47 <Jafet> > 256^30
06:17:48 <lambdabot> 1766847064778384329583297500742918515827483896875618958121606201292619776
06:19:27 -!- AndoDaan has quit (Ping timeout: 246 seconds).
06:20:51 <Lymia> > 256^256
06:20:53 <lambdabot> 3231700607131100730071487668866995196044410266971548403213034542752465513886...
06:21:04 <Lymia> > 10^10^100
06:21:09 <lambdabot> mueval: ExitFailure 1
06:21:45 -!- zemhill has quit (Remote host closed the connection).
06:21:58 <fizzie> quintopia: You've convinced me, and the scoring is now as you suggest.
06:22:03 <HackEgo> [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 <Jafet> What's the correlation between program size and score?
06:22:34 <fizzie> Jafet: There's a plot about that.
06:22:42 <fizzie> quintopia: The Δscore field will have to wait, I can barely make my meeting as it is.
06:22:46 <HackEgo> [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 <fizzie> Jafet: http://zem.fi/egostats/plot_lenscore.png
06:23:17 <fizzie> If you mean quantitatively, "some positive number", based on eyeballing that scatter plot.
06:23:37 <Lymia> One sec
06:23:48 <Sgeo> https://twitter.com/pwnallthethings
06:23:55 <Sgeo> Was unaware of Firefox issues
06:24:17 <Sgeo> https://twitter.com/sempf
06:24:35 <Jafet> Well, score isn't actually an absolute quantity. Maybe a rank correlation estimator would be more useful
06:25:05 <Sgeo> 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 <mroman_> !bfjoust
08:16:56 <zemhill> mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
08:17:40 <mroman_> no. my snail is gone :(
08:18:31 <L8D> mroman_: your snail got HAMMERED
08:19:11 <mroman_> !bfjoust snail [>[(-)*13[+]].(+)*10]
08:19:12 <zemhill> mroman_.snail: points -13.55, score 9.60, rank 44/47
08:19:21 <mroman_> ok...
08:19:33 <mroman_> It's back on :)
08:19:36 <mroman_> !bfjoust snail [>[(-)*13[+]].(+)*11]
08:19:37 <zemhill> mroman_.snail: points -11.38, score 11.22, rank 44/47 (--)
08:19:46 <mroman_> !bfjoust snail (>[(-)*13[+]].(+)*10)*-1
08:19:47 <zemhill> mroman_.snail: points -12.19, score 10.20, rank 44/47 (--)
08:20:01 <L8D> !bfjoust yoda (>)*8(>[(+)*6[-]])*21
08:20:02 <zemhill> L8D.yoda: points -0.81, score 17.66, rank 27/47 (--)
08:20:06 <mroman_> !bfjoust snail (>[(-)*13[+]](+)*10)*-1
08:20:07 <zemhill> mroman_.snail: points -12.36, score 10.12, rank 44/47 (--)
08:20:35 <mroman_> !bfjoust snail [>[(-)*13[+]].[-].(+)*10]
08:20:36 <zemhill> mroman_.snail: points -16.00, score 8.41, rank 44/47 (--)
08:20:43 <mroman_> !bfjoust snail [>[(-)*13[+]].[-](+)*10]
08:20:43 <zemhill> mroman_.snail: points -15.52, score 8.58, rank 44/47 (--)
08:21:03 <mroman_> !bfjoust snail >[>[(-)*13[+]].(+)*10]
08:21:03 <zemhill> mroman_.snail: points -28.05, score 3.44, rank 44/47 (--)
08:21:10 <mroman_> !bfjoust snail [>[(-)*13[+]].(+)*10]
08:21:10 <zemhill> mroman_.snail: points -13.55, score 9.60, rank 44/47 (--)
08:21:14 <mroman_> need them decoys
08:21:42 <mroman_> !bfjoust snail (>(-)*12>(+)*5)*4[>[(-)*13[+]].(+)*10]
08:21:43 <zemhill> mroman_.snail: points -3.86, score 15.92, rank 37/47 (+7)
08:21:56 <mroman_> !bfjoust snail (>(-)*12>(+)*5)*3[>[(-)*13[+]].(+)*10]
08:21:56 <zemhill> mroman_.snail: points -6.62, score 13.70, rank 43/47 (-6)
08:22:00 <mroman_> !bfjoust snail (>(-)*12>(+)*5)*5[>[(-)*13[+]].(+)*10]
08:22:01 <zemhill> mroman_.snail: points -2.67, score 16.76, rank 30/47 (+13)
08:22:18 <b_jonas> nice
08:22:25 <mroman_> !bfjoust snail (>(-)*13>(+)*7)*5[>[(-)*13[+]].(+)*10]
08:22:32 <mroman_> race condition :)
08:22:34 <mroman_> !bfjoust snail (>(-)*13>(+)*7)*5[>[(-)*13[+]].(+)*10]
08:22:34 <zemhill> mroman_.snail: points -0.43, score 18.49, rank 24/47 (--)
08:23:26 <b_jonas> wouldn't that run off the shortest tape immediately?
08:23:41 <b_jonas> it seems to run eleven > operations unconditionally
08:24:04 <b_jonas> well, almost unconditionally
08:25:55 <b_jonas> and why is that last loop a bracket loop instead of an infinite loop? strange
08:26:42 <mroman_> because it's a snail
08:26:47 <mroman_> !bfjoust snail (>(-)*12>(+)*7)*5[>[(-)*13[+]].(+)*10]
08:26:48 <zemhill> mroman_.snail: points -0.95, score 17.59, rank 27/47 (-3)
08:26:52 <mroman_> !bfjoust snail (>(-)*14>(+)*7)*5[>[(-)*13[+]].(+)*10]
08:26:53 <zemhill> mroman_.snail: points -0.64, score 18.27, rank 26/47 (+1)
08:27:00 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*13[+]].(+)*10]
08:27:00 <zemhill> mroman_.snail: points 0.38, score 19.02, rank 22/47 (+4)
08:27:11 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*10]
08:27:11 <zemhill> mroman_.snail: points 1.17, score 19.99, rank 21/47 (+1)
08:27:15 <mroman_> !bfjoust snail (>(-)*14>(+)*10)*5[>[(-)*13[+]].(+)*10]
08:27:16 <zemhill> mroman_.snail: points 0.14, score 18.88, rank 22/47 (-1)
08:27:20 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*10]
08:27:20 <zemhill> mroman_.snail: points 1.17, score 19.99, rank 21/47 (+1)
08:27:33 <b_jonas> nice
08:28:03 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*10](<)*11([-][+]>)*-1
08:28:04 <zemhill> mroman_.snail: points 1.17, score 19.99, rank 21/47 (--)
08:28:13 -!- Patashu has joined.
08:29:14 <mroman_> b_jonas: it looks like it's a good thing to rush more than 9 cells
08:29:49 <mroman_> My athena starts the clear at cell 13
08:29:54 <mroman_> and it's on rank 9
08:30:53 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]](+)*10](<)*11([-][+]>)*-1
08:30:54 <zemhill> mroman_.snail: points 0.86, score 19.75, rank 21/47 (--)
08:31:11 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*10](<)*11([-][+]>)*-1
08:31:12 <zemhill> mroman_.snail: points 1.17, score 19.99, rank 21/47 (--)
08:31:23 <mroman_> How long are tapes actually?
08:31:28 <mroman_> 11-30?
08:31:46 <mroman_> I haven't even read the bfjoust specs yet :)
08:33:28 -!- TodPunk has quit (Ping timeout: 260 seconds).
08:35:12 <elliott_> Lymia: 9910*9909 doesn't sound too bad if you parallelise it
08:36:58 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].(+)*1](<)*11([-][+]>)*-1
08:36:58 <zemhill> mroman_.snail: points 1.43, score 20.18, rank 20/47 (+1)
08:37:07 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].](<)*11([-][+]>)*-1
08:37:08 <zemhill> mroman_.snail: points -32.24, score 1.56, rank 44/47 (-24)
08:37:16 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]].+](<)*11([-][+]>)*-1
08:37:17 <zemhill> mroman_.snail: points 1.43, score 20.18, rank 20/47 (+24)
08:37:20 <fizzie> mroman_: 10..30.
08:37:40 <mroman_> I wonder if 14 9 makes athena better
08:37:53 <mroman_> !bfjoust athena (>(+)*14>(-)*9)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
08:37:53 <zemhill> mroman_.athena: points 5.86, score 25.44, rank 10/47 (--)
08:37:56 <mroman_> nope
08:38:04 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
08:38:04 <zemhill> mroman_.athena: points 5.21, score 24.77, rank 10/47 (--)
08:38:13 <elliott_> 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 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*13[+]]+](<)*11([-][+]>)*-1
08:38:55 <zemhill> mroman_.snail: points 1.36, score 20.26, rank 20/47 (--)
08:39:12 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*12[+]]+](<)*11([-][+]>)*-1
08:39:13 <zemhill> mroman_.snail: points 1.60, score 20.54, rank 19/47 (+1)
08:39:18 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*11[+]]+](<)*11([-][+]>)*-1
08:39:18 <zemhill> mroman_.snail: points 2.74, score 21.76, rank 17/47 (+2)
08:39:21 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*10[+]]+](<)*11([-][+]>)*-1
08:39:22 <zemhill> mroman_.snail: points 2.67, score 21.81, rank 17/47 (--)
08:39:27 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*9[+]]+](<)*11([-][+]>)*-1
08:39:28 <zemhill> mroman_.snail: points 2.57, score 21.80, rank 17/47 (--)
08:39:34 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*10[+]]+](<)*11([-][+]>)*-1
08:39:35 <zemhill> mroman_.snail: points 2.67, score 21.81, rank 17/47 (--)
08:40:41 <fizzie> 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 <Lymia> Maybe only print it when something "major" changes?
08:42:00 <Lymia> Say, change in top 20
08:43:02 <elliott_> 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 <Lymia> When's ais get on?
08:43:15 <mroman_> !bfjoust isthisanygood (>(+)*128>(-)*128)*4([(-)*9[+]]>)*-1
08:43:15 <zemhill> mroman_.isthisanygood: points -28.74, score 4.38, rank 45/47
08:43:27 <elliott_> 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 <mroman_> !bfjoust isthisanygood (>(+)*128>(-)*128)*4(>[(-)*9[+]])*-1
08:43:52 <zemhill> mroman_.isthisanygood: points -28.36, score 4.30, rank 45/47 (--)
08:43:54 <Lymia> elliott_, people who aren't me do that?
08:44:03 <elliott_> maybe not. but you do it!
08:44:35 <mroman_> !bfjoust isthisanygood (>(+)*128>(-)*128)*4(>[+<->])*-1
08:44:35 <zemhill> mroman_.isthisanygood: points -24.45, score 5.68, rank 45/47 (--)
08:44:43 <mroman_> !bfjoust isthisanygood (>(+)*18>(-)*18)*4(>[+<->])*-1
08:44:44 <zemhill> mroman_.isthisanygood: points -20.86, score 7.14, rank 45/47 (--)
08:44:54 <mroman_> !bfjoust isthisanygood (>[+<->])*-1
08:44:55 <zemhill> mroman_.isthisanygood: points -20.62, score 6.94, rank 45/47 (--)
08:44:58 <mroman_> :{
08:45:17 <mroman_> !bfjoust isthisanygood (>[(+)*128<->])*-1
08:45:18 <zemhill> mroman_.isthisanygood: points -24.14, score 5.28, rank 45/47 (--)
08:45:24 <mroman_> !bfjoust isthisanygood (>[(+)*7<->])*-1
08:45:25 <zemhill> mroman_.isthisanygood: points -26.21, score 4.75, rank 45/47 (--)
08:46:06 <mroman_> !bfjoust isthisanygood (>[<+>-])*-1
08:46:06 <zemhill> mroman_.isthisanygood: points -16.90, score 8.54, rank 45/47 (--)
08:46:17 <mroman_> !bfjoust isthisanygood (>[<(+)*13>-])*-1
08:46:18 <zemhill> mroman_.isthisanygood: points -22.86, score 6.04, rank 45/47 (--)
08:46:21 <mroman_> blah
08:46:51 <mroman_> !bfjoust isthisanygood (>(+)*14>(-)*9)*4(<)*8(>[<+>-])*-1
08:46:53 <zemhill> mroman_.isthisanygood: points -21.26, score 6.16, rank 45/47 (--)
08:47:29 <mroman_> !bfjoust isthisanygood (>(-)*10[<+>-])*-1
08:47:30 <zemhill> mroman_.isthisanygood: points -33.26, score 2.37, rank 45/47 (--)
08:47:49 <mroman_> !bfjoust isthisanygood (>[<+>-]<)*-1
08:47:49 <zemhill> mroman_.isthisanygood: points -27.19, score 4.27, rank 45/47 (--)
08:47:54 <mroman_> :)
08:47:58 <mroman_> this doesn't even attack
08:48:15 <mroman_> hm
08:48:41 <mroman_> !bfjoust isthisanygood (>[<+>-]<)*5000(>[(-)*9[+]])*-1
08:48:42 <zemhill> mroman_.isthisanygood: points -26.24, score 4.88, rank 45/47 (--)
08:48:51 <mroman_> 10k cycles is max right?
08:49:06 <mroman_> !bfjoust isthisanygood (>[<+>-]<)*5(>[(-)*9[+]])*-1
08:49:06 <zemhill> mroman_.isthisanygood: points -22.95, score 6.29, rank 45/47 (--)
08:49:32 <mroman_> !bfjoust isthisanygood (>[<+>-]<)
08:49:33 <zemhill> mroman_.isthisanygood: points -29.86, score 3.34, rank 45/47 (--)
08:50:30 <b_jonas> nice
08:51:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
08:52:28 -!- zolbap has joined.
08:52:28 <mroman_> !bfjoust isthisanygood (>[<+>-]<)*1(+)*-1
08:52:30 <zemhill> mroman_.isthisanygood: points -11.38, score 9.45, rank 45/47 (--)
08:52:36 <mroman_> this should tie a lot
08:53:33 -!- L8D has quit (Ping timeout: 244 seconds).
08:57:14 -!- zolbap has left.
08:57:18 <mroman_> hehe
08:57:28 <mroman_> !bfjoust isthisanygood (>[<+>-]<[+[-]])*-1
08:57:29 <zemhill> mroman_.isthisanygood: points -25.02, score 2.24, rank 45/47 (--)
08:57:32 <mroman_> damn
08:59:42 -!- peyote99 has joined.
08:59:56 <Lymia> !bfjoust random_bot_out_of_nowhere ((>)*8(<(+)*10<(-)*12)*4)*4(>)*9(>[(-)*30[+]])*-1
08:59:56 <zemhill> Lymia.random_bot_out_of_nowhere: points 2.48, score 19.86, rank 21/47
09:00:29 <mroman_> !bfjoust isthisanygood (>[<+>-]<[+[-]+])*-1
09:00:31 <zemhill> mroman_.isthisanygood: points -27.83, score 2.05, rank 46/47 (--)
09:01:03 <Lymia> !bfjoust random_bot_out_of_nowhere <
09:01:03 <zemhill> 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 <fizzie> Lymia: Now.
09:03:55 <Lymia> Eh? :o
09:03:59 <Lymia> Hi ais523~
09:05:47 <ais523> hi
09:06:17 <ais523> Lymia: re messages, that's an interesting idea
09:06:22 <ais523> we should submit it as a joint program
09:06:30 <Lymia> I, uh.
09:06:31 <ais523> I honestly couldn't believe that monolith's decoy setup worked
09:06:37 <Lymia> Have a #1 nyuroki by now though.
09:06:44 <Lymia> It uses a much simpler timer clear.
09:06:51 <ais523> oh, even better
09:07:00 <ais523> I can busily try to knock you off the #1 spot by myself, then
09:07:07 <ais523> I like having competition
09:07:13 <Lymia> I've secured myself 6.31 points of lead.
09:07:20 <ais523> did you use a flexible or inflexible clear?
09:07:28 <ais523> meanwhile, I've been working on a new program that's unlikely to come #1
09:07:37 <Lymia> Flexible meaning it changes depending on cell position?
09:07:37 <Lymia> Nope.
09:07:57 <ais523> inflexible ones do all cells on the same timer
09:08:06 <Lymia> Inflexible in that case.
09:08:16 <Lymia> It waits 500 ticks, then switches to [-.-+]
09:08:37 <ais523> !bfjoust stealth <
09:08:37 <zemhill> ais523.stealth: points -45.00, score 0.00, rank 47/47 (-19)
09:08:47 <ais523> !bfjoust stealth2 http://nethack4.org/esolangs/stealth2.bfjoust
09:08:49 <zemhill> ais523.stealth2: points 17.90, score 46.90, rank 2/47
09:09:00 <ais523> OK, maybe I underestimated it
09:09:01 <Lymia> Unlikely to get #1?
09:09:12 <elliott_> I am in awe of you two
09:09:54 <ais523> it beats the other five of the top six programs
09:09:59 <ais523> which is probably why it scores so well
09:10:03 <fizzie> Huh, what are these "zemclear.fillerN" programs?
09:10:06 <Lymia> ...
09:10:13 <Lymia> Skip 5 decoys?
09:10:14 <Lymia> Geez.
09:10:22 <ais523> the win against nyuroki is pretty marginal, thouh
09:10:28 <ais523> Lymia: it skips five decoys, or to the first zero
09:10:42 <Lymia> With Nyuroki, that goes straight to flag.
09:10:43 <Lymia> lol
09:10:51 <elliott_> 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 <Lymia> fizzie, clearing off stuff from the stack overflow hill
09:11:03 <Lymia> Well.
09:11:09 <mroman_> :D
09:11:11 <Lymia> There's a limit to the number of possible programs, I'm pretty sure.
09:11:15 <mroman_> !bfjoust lazy (+.+.+.-.)*-1
09:11:16 <Lymia> Since at every tick you can only branch twice.
09:11:17 <zemhill> mroman_.lazy: points -15.64, score 6.99, rank 45/47
09:11:19 <mroman_> hehe
09:11:21 <Lymia> to two points*
09:11:27 <elliott_> yeah, traces are finite so programs are too
09:11:34 <elliott_> but the space is much too large to naively enumerate
09:11:35 <ais523> 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 <mroman_> lazy totally beats my athena
09:11:45 <mroman_> but otherwise it pretty much beats nothing :)
09:11:49 <elliott_> but it'd be interesting to see what's #1.
09:11:49 -!- peyote99 has quit (Quit: Leaving).
09:11:52 <ais523> some programs trail during their setup, in which case they're very likely to leave at least six decoys nowadays
09:11:53 <elliott_> (I guess there'd be a lot of ties, maybe?)
09:12:03 <Lymia> ais523, innovation, hun...
09:12:05 <elliott_> and also how well that #1 did on an actual hill.
09:12:18 <Lymia> elliott_, the vast majority of programs won't rush.
09:12:31 <ais523> 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 <Lymia> So, I suspect that #1 will be a very fast clear.
09:12:44 <Lymia> But might, say, easily get locked.
09:12:50 <ais523> well, if you're using markov scoring
09:12:51 <Lymia> I gues.
09:12:52 <elliott_> ais523: oerjan's "rush to where the flag is and clear it"?
09:12:52 <Lymia> guess*
09:12:59 <Lymia> It depends on what's the most common type of bot.
09:13:03 <ais523> elliott_: yes, on tape length 10
09:13:08 <elliott_> plus shifting your own flag first if that doesn't work
09:13:10 <ais523> you need 768 to allow for all possible defence programs
09:13:29 <elliott_> ais523: oh, oerjan's was a function (prog, tapelen, polarity) -> prog that beats it
09:13:46 <ais523> ah right
09:13:51 <elliott_> 23:44:10 <oerjan> 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 <elliott_> 23:45:08 <oerjan> if a program _does_ that to you, shift your own flag one step first to get at least one turn advantage.
09:13:57 <elliott_> 23:46:06 <oerjan> (this only works because you know both tape length, polarity and the opponent's code, of course.)
09:14:17 <ais523> 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 <ais523> but it proved there wasn't one
09:14:41 <ais523> 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 <ais523> Lymia: aha, nyuroki's using a reverse decoy setup, so stealth2 just rushes past all the decoys to the zero
09:15:50 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:15:51 <zemhill> Lymia.nyuroki: points 21.86, score 57.57, rank 1/47 (--)
09:15:56 <Lymia> 許さない
09:16:00 <ais523> now I don't get how nyuroki wins on sieve polarity sometimes
09:16:02 * ais523 looks
09:16:16 <ais523> oh, the flag repair
09:16:31 <ais523> happens at pretty much exactly the wrong time for stealth2
09:16:45 <ais523> actually it loses a lot to programs that adjust their flags to beat turtles at inconvenient moments
09:17:07 <Lymia> Flag repair?
09:17:11 <Lymia> That's just an offset to kill turtles
09:18:54 -!- TodPunk has joined.
09:19:17 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:19:18 <zemhill> Lymia.nyuroki: points 21.19, score 55.64, rank 1/47 (--)
09:19:39 <ais523> Lymia: I know, but it acts as a flag repair against stealth2 due to an unfortunate timing coincidence
09:19:48 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:19:49 <zemhill> Lymia.nyuroki: points 21.21, score 55.64, rank 1/47 (--)
09:19:53 <Lymia> ais523, ah
09:20:12 <ais523> if only I could get stealth2 resistant to that thing happening, it'd do a lot better
09:21:37 <fizzie> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:22:07 <zemhill> Lymia.nyuroki: points 23.31, score 62.43, rank 1/47 (--)
09:22:07 <fizzie> (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 <Lymia> fizzie, I want to write such a program
09:22:42 <Lymia> And I won't need different code.
09:22:52 <fizzie> Well, we'll see about that.
09:23:04 <Lymia> I need a rather esoteric component which is my problem.
09:23:15 <ais523> Lymia: you just tweaked nyuroki to beat stealth2?
09:23:20 <Lymia> An interpter that A) Uses immutable data structures you can clone
09:23:22 <Lymia> ais523, yes.
09:23:27 <Lymia> B) Does one versus many
09:23:49 <ais523> Lymia: haha :-)
09:24:05 <ais523> that is beautifully blatant
09:24:09 <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.
09:25:17 <mroman_> !bfjoust funky [>(-)*23[>(+)*22[>(-)*21[>(+)*20[>(-)*19[>(+)*18[>(-)*17[>(+)*16[>(-)*15[>(+)*14[>(-)*13[[>(+)*12([(+)*7.[-]]>[(-)*7.[+]]>)*-1]]]]]]]]]]]]]
09:25:19 <zemhill> mroman_.funky: points -2.81, score 18.98, rank 24/47
09:26:46 <mroman_> !bfjoust funky [>(+)*25[>(-)*24[>(-)*23[>(+)*22[>(-)*21[>(+)*20[>(-)*19[>(+)*18[>(-)*17[>(+)*16[>(-)*15[>(+)*14[>(-)*13[[>(+)*12([(+)*7.[-]]>[(-)*7.[+]]>)*-1]]]]]]]]]]]]]]]
09:26:47 <zemhill> mroman_.funky: points -1.43, score 20.07, rank 20/47 (+4)
09:27:13 <mroman_> !bfjoust funky [>(+)*28[>(-)*26[>(+)*25[>(-)*24[>(-)*23[>(+)*22[>(-)*21[>(+)*20[>(-)*19[>(+)*18[>(-)*17[>(+)*16[>(-)*15[>(+)*14[>(-)*13[[>(+)*12([(+)*7.[-]]>[(-)*7.[+]]>)*-1]]]]]]]]]]]]]]]]]
09:27:14 <zemhill> mroman_.funky: points -4.07, score 17.87, rank 26/47 (-6)
09:27:15 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:27:16 <zemhill> Lymia.nyuroki: points 21.45, score 56.62, rank 1/47 (--)
09:27:18 <mroman_> !bfjoust funky [>(+)*25[>(-)*24[>(-)*23[>(+)*22[>(-)*21[>(+)*20[>(-)*19[>(+)*18[>(-)*17[>(+)*16[>(-)*15[>(+)*14[>(-)*13[[>(+)*12([(+)*7.[-]]>[(-)*7.[+]]>)*-1]]]]]]]]]]]]]]]
09:27:19 <zemhill> mroman_.funky: points -1.52, score 19.88, rank 21/47 (+5)
09:27:25 <Lymia> ais523, what's wrong with being blatant?? ;P
09:27:39 <ais523> nothing
09:27:41 <ais523> just, this means war :-)
09:27:56 <fizzie> 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 <ais523> fizzie: I'm fine with that
09:28:23 <fizzie> That's two out of two for, zero against, so I guess I'll make it do that.
09:28:32 <elliott_> 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 <elliott_> or, well, you do, but it's easier to
09:28:40 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:28:41 <zemhill> Lymia.nyuroki: points 14.88, score 40.82, rank 2/47 (-1)
09:28:49 <ais523> what's up with the StackOverflow submissions, btw? did we add them automatically? or did they add them?
09:29:08 <fizzie> Lymia did that, I guess to see how they would fare?
09:29:20 <ais523> fair enough
09:29:49 <Lymia> Those 4 bots were the only ones out of 60something that stuck
09:29:54 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:29:55 <zemhill> Lymia.nyuroki: points 11.60, score 34.78, rank 6/47 (-4)
09:30:04 <ais523> !bfjoust stealth2 http://nethack4.org/esolangs/stealth2.bj
09:30:04 <zemhill> ais523: URL fetch problems: 404 Not Found
09:30:08 <ais523> !bfjoust stealth2 http://nethack4.org/esolangs/stealth2.bfjoust
09:30:08 <zemhill> ais523.stealth2: points 12.88, score 38.57, rank 5/47 (--)
09:30:19 <ais523> it does a little worse, but at least it beats nyuroki now
09:30:29 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:30:30 <zemhill> Lymia.nyuroki: points 17.48, score 44.13, rank 1/47 (+6)
09:30:35 <Lymia> Doh, so easy to screw up your stack pointer
09:30:46 <ais523> I was going to say "I wonder if I can get it to beat omnipotence"
09:30:48 <ais523> but of course I can't
09:31:01 <ais523> omnipotence is pretty high on the list of "programs ais523 has trouble beating"
09:31:12 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:31:13 <zemhill> Lymia.nyuroki: points 18.05, score 45.63, rank 1/47 (--)
09:31:48 <ais523> huh, now it draws with preparation
09:32:12 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:32:12 <zemhill> Lymia.nyuroki: points 20.67, score 53.80, rank 1/47 (--)
09:32:25 <Lymia> Turn down the blatancy a bit. :P
09:33:38 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:33:39 <zemhill> Lymia.nyuroki: points 19.38, score 50.06, rank 1/47 (--)
09:34:01 <fizzie> 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 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:35:05 <zemhill> Lymia.nyuroki: points 16.83, score 43.87, rank 1/47 (--)
09:35:12 <Lymia> Less blatant solution. :)
09:36:35 <ais523> your score's down to just 43
09:36:40 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:36:41 <zemhill> Lymia.nyuroki: points 16.98, score 44.71, rank 1/47 (--)
09:37:16 <ais523> hmm, if we're going down the serious war route
09:37:27 <Lymia> Either way.
09:37:31 <ais523> I could always modify omnipotence to lose to stealth…
09:37:39 <mroman_> !bfjoust icare6 (>(-)*128.[(+)*9.[-]])*-1
09:37:41 <Lymia> Abusing reverse decoy setups is the most evil thing you've done. :(
09:37:41 <zemhill> mroman_.icare6: points -12.17, score 9.68, rank 46/47
09:37:55 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:37:56 <zemhill> Lymia.nyuroki: points 21.43, score 56.55, rank 1/47 (--)
09:39:00 <ais523> ooh, stealth2 is up to 4th now
09:39:16 <ais523> somehow I think changes to nyuroki have more impact on its ranking than changes to stealth2 do
09:39:41 <ais523> 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 <mroman_> !bfjoust icare6 >>>>>>>>(>(-)*128.[(+)*9.[-]])*-1
09:39:52 <zemhill> mroman_.icare6: points -18.14, score 6.68, rank 46/47 (--)
09:40:06 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:40:10 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:40:10 <zemhill> Lymia.nyuroki: points 3.86, score 23.54, rank 10/47 (--)
09:40:14 <Lymia> ouch
09:40:36 <mroman_> hu
09:40:36 <ais523> what did you do?
09:40:42 <mroman_> wasn't nyuroki on place 1?
09:41:00 <ais523> mroman_: it was, but Lymia's been changing it a lot
09:41:09 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:41:10 <zemhill> Lymia.nyuroki: points 21.79, score 57.04, rank 1/47 (+9)
09:41:16 <Lymia> Experiment with decoy layouts.
09:41:27 <ais523> 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 <ais523> or unbalanced < with >
09:42:22 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:42:24 <zemhill> Lymia.nyuroki: points 22.05, score 57.78, rank 1/47 (--)
09:43:33 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:43:34 <zemhill> Lymia.nyuroki: points 16.24, score 41.75, rank 3/47 (-2)
09:44:30 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:44:36 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:44:36 <zemhill> Lymia.nyuroki: points 5.79, score 25.88, rank 7/47 (--)
09:45:06 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:45:07 <zemhill> Lymia.nyuroki: points 22.05, score 57.78, rank 1/47 (+6)
09:45:22 <fizzie> 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 <Lymia> I concede. Abusing reverse clears is too clever.
09:45:25 <Lymia> ^.^
09:45:44 <mroman_> What's a reverse clear?
09:45:48 <ais523> fizzie: right
09:45:55 <ais523> mroman_: I think Lymia meant reverse decoy setups
09:46:01 <Lymia> reverse decoy setup**
09:46:10 <mroman_> what's that?
09:46:11 <mroman_> :)
09:46:14 <ais523> the whole stealth2/nyuroki thing is basically a stone-paper-scissors situation
09:46:27 <ais523> it's easy to beat stealth2, but you end up typically losing to nyuroki if you do
09:46:36 <ais523> mroman_: basically you set up the decoys nearer the opponent first
09:46:43 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:46:44 <zemhill> Lymia.nyuroki: points 3.81, score 23.77, rank 10/47 (-9)
09:46:47 <ais523> to buy time to set up the more distant ones
09:47:45 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:47:47 <zemhill> Lymia.nyuroki: points 17.93, score 47.44, rank 1/47 (+9)
09:48:43 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:48:48 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:48:49 <zemhill> Lymia.nyuroki: points 16.86, score 44.37, rank 1/47 (--)
09:49:34 <fizzie> 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 <Lymia> I wonder what's punishing delaying on reverse clears so much
09:50:17 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
09:50:18 <zemhill> Lymia.nyuroki: points 21.79, score 57.04, rank 1/47 (--)
09:50:20 <Lymia> Fast pokse?
09:50:23 <Lymia> Fast pokes*
09:50:30 <ais523> Lymia: delaying on the decoy setup, you mean?
09:50:40 <ais523> yes, if you get poked before your decoys are set up, it is very very hard to win from there
09:51:02 <Lymia> setup setup
09:51:03 <Lymia> Yes.
09:51:03 <ais523> 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 <Lymia> Setup.
09:51:28 <ais523> it's quite hard to hold a technical conversation when some of the words are substituted with random other words
09:51:34 <Lymia> Now wtf is funky
09:51:37 <Lymia> It beats both nyuroki and stealth3
09:51:40 <Lymia> 2*
09:51:52 <mroman_> this bash vulnerability is pretty serious
09:52:05 <Lymia> mroman_, it's hard to exploit though
09:52:18 <mroman_> `run env x='() { :;}; echo vulnerable > foo' bash -c "echo this is a test"
09:52:20 <HackEgo> this is a test
09:52:23 <mroman_> `cat foo
09:52:23 <HackEgo> vulnerable
09:53:12 <fizzie> `run rm foo # let's not leave toys around on the floor
09:53:12 <mroman_> Lymia: I'm not sure what happens if you embed it in a querystring for cgi programs
09:53:14 <HackEgo> No output.
09:53:36 <ais523> mroman_: wow that looks pretty bad
09:53:40 <Lymia> tar cvzf ../toys.tar.gz *; rm -rf * # Any toys at all
09:53:54 <fizzie> 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 <ais523> you can embed a particular string into any arbitrary environment variable, and bash will run it?
09:54:10 <mroman_> ais523: yep
09:54:13 <Lymia> ais523, I think it only affects bash on startup
09:54:24 <ais523> do CGI servers normally run programs via the shell?
09:54:34 <mroman_> but you have to launch a new bash shell I guess
09:54:50 <mroman_> ais523: system/popen is vulnerable too
09:54:55 <mroman_> because it spawns a shell.
09:55:28 <ais523> mroman_: so CGI isn't globally vulnerable, but if the CGI program runs anything via a shell, it is?
09:56:28 <mroman_> it is vulnerably if you can control a environment variable and the webserver uses system/popen to spawn the cgi program
09:56:36 <ais523> right
09:56:40 <mroman_> and since CGI exchanges data through environment variables
09:56:40 <ais523> I wasn't sure how many webservers would
09:56:44 <mroman_> I think it could be really serious
09:56:55 <ais523> I know about CGI and environment variables
09:57:01 <ais523> hmm, what controls /which/ shell system() uses?
09:57:06 <ais523> sh is not bash by default on Debian/Ubuntu
09:57:16 <fizzie> There's also OpenSSH's forced-command-for-a-key thing.
09:57:55 <fizzie> You can circumvent some related limitations implemented with that, since the original command is put into SSH_ORIGINAL_COMMAND.
09:58:43 <fizzie> Probably not as generally exploitable, since you'd need a public key with a set command.
10:00:22 <ais523> 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 <fizzie> glibc manual says their system(3) is hardcoded to use whatever 'sh' corresponds to.
10:04:13 <fizzie> (Which would indeed be dash and not bash on Debian/Ubuntu by default.)
10:04:52 <ais523> $ ls -l /proc/`echo $$`/exe
10:04:53 <ais523> lrwxrwxrwx 1 ais523 ais523 0 Sep 25 11:04 /proc/24328/exe -> /bin/dash
10:04:59 <ais523> OK, I'm actually very relieved now
10:05:08 <ais523> that means that this bug is much less widespread than it could have been
10:06:28 <fizzie> I have a #! /bin/bash CGI script on zem.fi. :p
10:06:38 <ais523> fizzie: might want to update it, then
10:06:43 <ais523> the script or bash or both
10:06:46 <fizzie> Oh, it's got a new bash.
10:06:58 <fizzie> But the script doesn't have any excuse for being bash instead of sh, either.
10:10:54 <mroman_> well
10:11:02 <mroman_> you can hack debian servers with the HTTP_USER_AGENT
10:11:09 <mroman_> by supplying stuff like User-Agent: () { :;}; echo vulnerable > /tmp/foo
10:11:13 <mroman_> I just tested that.
10:11:17 <mroman_> on my server
10:11:20 <mroman_> so please don't hack it ;)
10:11:50 <fizzie> To a script explicitly starting bash, or just any general CGI program?
10:11:52 <mroman_> (also I've stopped apache on it anyway)
10:12:00 <Lymia> My Debian server is now patched.
10:12:01 <Lymia> ;P
10:12:06 <mroman_> Debian has patches out?
10:12:19 <mroman_> fizzie: It didn't work for haskell-cgi programs
10:12:21 <fizzie> Yes, at least for stable.
10:12:25 <mroman_> but it works for certain interpreters
10:12:30 <ais523> I just did updates, Ubuntu was one of them
10:12:33 <Lymia> vivio@momoko:/home/lymia$ env x="() { :;}; echo vulnerable" bash -c "test"
10:12:33 <Lymia> bash: warning: x: ignoring function definition attempt
10:12:34 <Lymia> bash: error importing function definition for `x'
10:12:34 <ais523> err, bash was
10:12:42 <mroman_> as well as for CGI programs written as shell scripts
10:12:42 <Lymia> There's no patch for testing yet
10:12:45 <Lymia> But I pulled one from sid
10:13:14 <mroman_> I have Debian 6.0
10:13:22 <mroman_> apt-get update && apt-get upgrade didn't install anything
10:13:24 <fizzie> 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 <mroman_> it was a /bin/bash
10:13:37 <ais523> apparently there's another, more complicated, way to exploit the same bug that the patch didn't get, though
10:13:37 <mroman_> :)
10:13:49 <fizzie> mroman_: Well, that's oldstable, I guess it lacks behind a bit.
10:13:51 <mroman_> but if it's a python/php script that launches via os.popen/system
10:13:58 <mroman_> you're screwed too ;)
10:14:28 <Lymia> mroman_, do you have security.debian on your sources list?
10:14:56 <Lymia> If not fix this immediately
10:15:01 <ais523> aha, what happens is that if the function definition ends halfway through, on a trailing backslash
10:15:04 <Lymia> deb http://security.debian.org testing/updates main contrib non-free
10:15:26 <ais523> the first token of the command given to bash is deleted
10:15:33 <ais523> meaning that it tries to run the first command-line argument as a program
10:15:39 <ais523> probably still exploitable, although a lot harder to exploit
10:17:54 <Lymia> Not reassuring
10:19:35 <ais523> err, trailing > then backslash
10:19:49 <fizzie> 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 <fizzie> Which is where the bash patch for squeeze is, according to https://tracker.debian.org/pkg/bash
10:20:23 <Lymia> Wait.
10:20:34 <Lymia> That server's on a specific release?
10:20:43 <fizzie> Though I'd kind of maybe suggest going 7 at some point. It's been out for over a year.
10:20:44 <Lymia> And not "stable" or "testing"?
10:20:50 <fizzie> People do that.
10:20:57 <Lymia> why
10:21:12 <fizzie> I don't know, stability? That's what the LTS support is for, after all.
10:21:49 <fizzie> 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 <Lymia> At least.
10:22:45 <Lymia> I personally wouldn't use a stable (i.e. ancient and outdated) version of something for anything but mission critical systems
10:23:02 <fizzie> Like a BF Joust hill!
10:24:15 -!- boily has joined.
10:24:32 <Lymia> I should really work on developing the hill stomper.
10:24:36 <Lymia> I want the (1, 0, 0, 0, 0)
10:25:00 <Lymia> So, uh
10:25:07 <Lymia> If anyone would disagree with me attempting such a thing
10:25:10 <Lymia> Please raise your hand now.
10:25:10 <Lymia> ^.^
10:25:44 <myname> go for it
10:26:42 <Lymia> !bfjoust aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
10:26:44 <zemhill> Lymia.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: points -32.19, score 3.79, rank 47/47
10:26:48 <Lymia> !bfjoust aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <
10:26:48 <zemhill> Lymia.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: points -46.00, score 0.00, rank 47/47 (--)
10:27:01 <Lymia> !bfjoust sorry <
10:27:02 <zemhill> Lymia.sorry: points -46.00, score 0.00, rank 47/47
10:27:04 <Lymia> !bfjoust sorry .<
10:27:04 <zemhill> Lymia.sorry: points -46.00, score 0.00, rank 47/47 (--)
10:27:13 <fizzie> Oh, I was going to add a length limit.
10:27:30 <fizzie> For the name, not the program. (The programs actually already have one.)
10:28:10 <Lymia> Can you wait until I get my program out?
10:28:11 <Lymia> <3
10:30:58 <Lymia> !bfjoust test!!! <
10:30:58 <zemhill> Lymia: Program name looks like gibberish. Did you forget it?
10:33:18 -!- zemhill has quit (Remote host closed the connection).
10:33:28 <fizzie> No, I'm going to be all boring.
10:33:41 -!- zemhill has joined.
10:33:41 <Lymia> But
10:33:45 <Lymia> Isn't "DIE_THE_DEATH__SENTENCE_TO_DEATH__GREAT_EQUALIZER_IS_THE_DEATH" a great program name?
10:34:45 <Lymia> !bfjoust DIE_THE_DEATH__SENTENCE_TO_DEATH__GREAT_EQUALIZER_IS_THE_DEATH <
10:34:45 <zemhill> Lymia: Program name is overly long. 48 characters should be enough for everyone.
10:35:10 <boily> !bfjoust Lymia-is-insane +>>>>>>>>>-(>[-..])*31
10:35:11 <zemhill> boily.Lymia-is-insane: points -28.10, score 4.59, rank 47/47
10:36:41 <myname> "48 characters should be enough for everyone."
10:37:09 <fizzie> Maybe that was a bit too strict.
10:37:44 <ais523> 48 is a perfectly sane limit :-)
10:38:07 <Lymia> !bfjoust I-may-be-insane-but-too-bad-i-win >+[]<...(+...)*-1
10:38:08 <zemhill> Lymia.I-may-be-insane-but-too-bad-i-win: points -31.17, score 3.62, rank 47/47
10:38:28 <ais523> Lymia: that's the worst shudder algorithm ever :-)
10:38:35 <Lymia> ais523, shudder? :)
10:38:39 <ais523> or, lock?
10:38:41 <Lymia> It's a lock targeted at boily.Lymia-is-insane!
10:38:42 <ais523> or, well
10:38:43 <ais523> what /is/ it trying to do
10:38:46 <ais523> oh, I see
10:39:01 <ais523> I was going to say, it only locks 4-cycle clears, and even then normally only on one polarity
10:39:09 <ais523> and it doesn't even do anything once it has the lock
10:39:11 <Lymia> Oh, good point.
10:39:16 <Lymia> I forgot an instruction
10:39:22 <Lymia> That should be -..(+...)*-1
10:39:38 <ais523> I'm not convinced that helps
10:40:17 <boily> how could one target my brain-hared programs is beyond my current cognitive capacity.
10:40:24 <ais523> hmm, I'm not sure if I've had an idea that completely doesn't work in BF Joust for ages
10:40:33 <ais523> most ideas, I just tweak them until they end up working
10:40:43 <Lymia> I should try a defense program sometime
10:40:48 <ais523> or, well, the half-cycle probabilistic lock was probably a bad idea, but I tweaked it until it became margins
10:40:48 <Lymia> All 3 I have right now are some sort of rush
10:40:56 <ais523> which might also be a bad idea, but an /awesome/ bad idea
10:41:23 <Lymia> !bfjoust finnel (>)*14([(+)*50([-])*2]+>)*-1
10:41:24 <zemhill> Lymia.finnel: points -27.19, score 4.66, rank 46/47 (-35)
10:41:33 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*14([(+)*50([-])*2]+>)*-1
10:41:34 <zemhill> Lymia.finnel: points 3.24, score 23.53, rank 11/47 (+35)
10:41:40 <ais523> Lymia: good defense programs are very hard to write nowadays
10:41:41 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*2(>)*14([(+)*50([-])*2]+>)*-1
10:41:42 <zemhill> Lymia.finnel: points -3.05, score 18.00, rank 27/47 (-16)
10:41:45 <Lymia> !bfjoust finnel ((>)*8(<(-)*10<(+)*10)*4)*4(>)*14([(+)*50([-])*2]+>)*-1
10:41:46 <zemhill> Lymia.finnel: points 3.24, score 23.53, rank 11/47 (+16)
10:41:58 <Lymia> ais523, you think?
10:42:07 <ais523> 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 <ais523> 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 <Lymia> I'm not sure how you'd lock Nyuroki's particular timer clear without targeting it in particular.
10:42:41 <ais523> first I wrote anticipation, then preparation
10:42:49 <ais523> how does nyuroki do against preparation?
10:43:03 <Lymia> Earlier versions fell off the tape.
10:43:15 <Lymia> I modified it to always check for stuff to be cleared two cycles
10:43:32 <Lymia> Roughly tied with preparation
10:43:33 <ais523> right
10:43:57 <ais523> if you want to see nyuroki being locked, check sieve 24
10:44:01 <ais523> versus preparation
10:44:23 <ais523> 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 <ais523> but it does hold sometimes
10:44:44 <Lymia> aaa long logs
10:44:54 <ais523> that's what happens when a program's successfully locked
10:45:37 <ais523> ah right, your final clear is very slow
10:45:46 <ais523> which makes the odds of a probabilistic clear holding much lower, but not zero
10:46:00 <Lymia> Hun. So anticipation uses its clear to set up decoys
10:46:06 <Lymia> And then does a conventional rush?
10:46:25 <Lymia> My thought process was
10:46:30 <ais523> Lymia: preparation, yes
10:46:35 <Lymia> "Uh, what's the next prime number after 3"
10:46:40 <Lymia> "OK, 5 it is"
10:46:40 <ais523> this is because its lock doesn't have enough spare cycles to reach the other end of the tape
10:47:04 <ais523> but the point of a probabilistic lock is that it can theoretically lock any integral clear cycle
10:47:10 <ais523> and several rational ones too
10:47:13 <ais523> but has to get lucky with the timing
10:47:58 <Lymia> Would there be a significant difference between [+.-+] and [+...] then?
10:48:14 <Lymia> The latter to the former (IIRC) gave a good bit of score
10:48:19 <ais523> against a probabilistic lock, no
10:48:22 <ais523> against a shudder, very yes
10:49:06 <Lymia> I'm not entirely clear what the theory behind probabilistic locks is, really.
10:49:36 <ais523> basically, you have a 5-cycle clear, so every 1280 cycles, your clear is in the same state, right?
10:50:04 <ais523> 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 <ais523> it changes it in both directions, but when they're changing in the same direction, it changes faster
10:50:29 <ais523> and when they're changing in opposite directions, it changes slower
10:50:35 -!- L8D has joined.
10:50:42 <ais523> so probabilistically, the zero is more likely to happen when the bots are going in the same direction
10:51:39 <ais523> the problem is, if you're doing something as slow as a 5-cycle clear
10:51:50 <ais523> that effect isn't very pronounced, so the odds of the lock holding are kind-of low
10:52:21 <Lymia> Hrm, and, how does that interact with [-.-+]?
10:52:36 <Lymia> The tick before the clear is checked, it's going in the opposite direction as the lock
10:53:33 <ais523> what matters is the overall change, not the specific tick
10:53:39 <ais523> because you're not checking the value during the +-
10:53:43 <ais523> and I'm not checking the value during the +-
10:53:48 <ais523> you may as well have done ..
10:53:53 <ais523> because nobody observes the change
10:54:20 <Lymia> I see.
10:54:50 <ais523> only difference is if you're on a flag
10:54:54 -!- L8D has quit (Ping timeout: 246 seconds).
10:54:58 <Lymia> 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 <ais523> where +- is much better because it has a better chance of zeroing it against a shudder/vibrator
10:55:05 <ais523> Lymia: yes
10:55:08 <Lymia> So there's a chance it'll miss th e0.
10:55:09 <Lymia> I see.
10:55:10 <Lymia> the*
10:55:26 <Lymia> And this actually punishes stuff that checks for clears on two cycles pretty bad.
10:55:37 <ais523> also, even if it hits the 0, there's a good chance that… yes
10:56:10 <ais523> this isn't rock-paper-scissors, but what I think of as the physical/special thing (from Pokémon)
10:56:27 <ais523> physical attacker < physical defender < special attacker < special defender < physical attacker
10:56:36 <ais523> you can defend against programs that don't check for two cycles, or against programs that do
10:56:46 <ais523> or be greedy like margins, and try to do both, but that's less reliable
10:56:49 <Lymia> nyuroki checks for two cycles on the top level.
10:56:54 <Lymia> ([main clear])*2
10:57:00 <ais523> and you have to do it on different cells
10:57:02 <Lymia> But none of the clears inside check for 2 cycles
10:57:09 <fizzie> Ah, I see Pokémon follows the well-known PHP relational operator there.
10:57:53 <Lymia> (Pokemon is fun because those categories aren't mutually exclusive. ;D)
10:58:08 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
10:58:10 <zemhill> Lymia.nyuroki: points 22.43, score 57.99, rank 1/47 (--)
10:58:15 -!- AnotherTest has joined.
10:58:40 <ais523> Lymia: it'd be fun even if they were, but this way, it's /more/ fun
10:59:24 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
10:59:25 <zemhill> Lymia.nyuroki: points 21.57, score 55.80, rank 1/47 (--)
10:59:32 <fizzie> "123" < "456A", "456A" < "78" and "78" < "123", if you hadn't heard.
11:00:05 <Lymia> Begone, correctness problem!
11:00:09 <Lymia> !bfjoust nyuroki http://lymia.moe/~lymia/nyuroki.bf
11:00:10 <zemhill> Lymia.nyuroki: points 22.43, score 57.99, rank 1/47 (--)
11:00:16 <ais523> fizzie: the first two are string comparisons, the last is numerical?
11:00:32 <fizzie> ais523: Something like that, yes.
11:00:43 <Lymia> ais523, I wonder how dangerous it'd be to make my inner loop a timer clear too
11:00:45 <Lymia> After 1000 cycles
11:00:46 <Lymia> >
11:00:57 <Lymia> "I give up"
11:01:14 <boily> fungot: do you even cycle?
11:01:14 <fungot> 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 <ais523> Lymia: many of the programs that are trying to lock you have code to detect that sort of situation
11:01:30 <ais523> ^style
11:01:30 <fungot> 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 <ais523> oh, that explains why fungot's even less intelligible than normal
11:01:45 <fungot> 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 <Lymia> ^style youtube
11:01:58 <fungot> Selected style: youtube (Some YouTube comments)
11:02:04 <Lymia> fungot, live!
11:02:04 <fungot> Lymia: 1.)
11:02:10 <Lymia> fungot, l.... are you OK?
11:02:10 <fungot> 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 <Lymia> ais523, how do they try to detect it?
11:04:44 <Lymia> Tripwires?
11:04:54 <ais523> yes, tripwires
11:05:00 <ais523> you'll see preparation doing a lot of tripwire checks
11:05:15 <ais523> 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 <ais523> I tried it with margins, but the tripwire method worked better
11:05:34 <Lymia> So.
11:05:53 <Lymia> After, say, 1500 ticks, switch to a clear loop that avoids tripwires, maybe?
11:06:03 <Lymia> Say, restores tripwires up from -3 to 3.
11:06:08 <ais523> have you seen what a clear loop that avoids tripwires looks like :-)
11:06:12 <ais523> there's one of those in stealth2
11:06:14 <ais523> it's a mess
11:06:22 <ais523> it has difficulty clearing cells of value /zero/
11:06:28 <ais523> I mean, it manages it eventually, most of the time
11:06:32 <Lymia> Ouch.
11:06:46 <b_jonas> oh...
11:06:54 <Lymia> Innovation time? :)
11:07:14 <ais523> 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 <ais523> and there's a whole bunch of innovation to make it possible at all
11:08:01 <ais523> 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 <Lymia> [+[--[++++[----[...]++++]---->]++>]->] maybe
11:08:26 <Lymia> Not sure that'd work though.
11:08:51 <Lymia> If you're willing to do it dirty and only care about 1-3 tripwires?
11:09:09 <b_jonas> could we just add labels and an if-goto-else-goto statement to the bfjoust language to make the programs shorter?
11:09:17 <b_jonas> or would that be too powerful?
11:09:32 <ais523> Lymia: that doesn't work, although it's very similar to the loop I came up with
11:09:34 <Lymia> [+[--[]++ rest of code]- rest of code] rest of code
11:09:37 <ais523> the problem is, after the >
11:09:42 <Lymia> :)
11:09:55 <Lymia> Supports 3^n tripwires
11:09:56 <ais523> 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 <Lymia> Or well.
11:10:28 <Lymia> O(3^n)
11:10:34 <Lymia> Cost for n tripwires.
11:10:37 <Lymia> ! 3^5
11:10:41 <Lymia> > 3^5
11:10:43 <lambdabot> 243
11:10:46 <Lymia> I can accept this
11:11:15 <ais523> I have a sort-of moratorium on exponential strategies
11:11:25 <ais523> basically because if you're willing to go exponential, there's never any reason to execute an ] ever
11:11:39 <ais523> however, the byte limit on programs works pretty well at preventing them
11:12:22 <Lymia> ! 3^7
11:12:30 <Lymia> > 3^7
11:12:32 <lambdabot> 2187
11:12:38 <Lymia> I can easily go under 100KB or so
11:12:41 <b_jonas> ais523: yes, that's why I'm suggesting there should be an if-goto-else-goto statement
11:12:48 <Lymia> And support 7 tripwires
11:12:55 <b_jonas> of course, [] should still be allowed for compatibility
11:12:56 <ais523> b_jonas: but that lets you write arbitrary programs
11:13:02 <ais523> so it's not BF any more
11:13:14 <Lymia> ais523, it's not BF, no.
11:13:20 <ais523> more to the point, it defeats the fundamental assumption that makes defense programs work
11:13:23 <Lymia> I don't have formal proof, but.
11:13:34 <ais523> which is that there are at least some restrictions on what sort of clear loops the opponent might be losing
11:13:38 <Lymia> I'm almost certain that any program that can be written that way
11:13:52 <Lymia> Can also be represented with a sufficiently long .bf program
11:13:58 <ais523> Lymia: yes
11:14:15 <ais523> you replace if then x else y fi z with [xz]yz
11:14:25 <ais523> but the duplication of z makes it blow up exponentially
11:15:04 <b_jonas> exactly
11:15:32 <b_jonas> make it arbitrary haskell programs whose only interaction with the environment is zero tests and the five statements < > + - .
11:15:48 <b_jonas> so they can do any complicated deterministic computation inside
11:15:58 <b_jonas> it's just the interaction that takes up steps
11:16:20 <ais523> b_jonas: I don't think that would be as good a game
11:16:21 <b_jonas> 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 <b_jonas> yeah, probably
11:16:37 <ais523> like, I just make the inner loop of a timer clear a PRNG
11:16:45 <ais523> how are you going to lock /that/?
11:18:04 <Lymia> [lymia@aurica ~/data/programming/JoustExt]$ ls -alh tripclear.bf
11:18:04 <Lymia> -rw-r--r-- 1 lymia lymia 131K Sep 25 06:17 tripclear.bf
11:18:18 <Lymia> Supports up to 6 tripwires, range -2 to 2
11:19:35 <ais523> whereas stealth2 can do it in just a few lines, and it normally works, except for some bad combinations of values
11:19:47 <fizzie> For the record, there's a two-megabyte current size limit in the bot.
11:19:50 <ais523> and 131K is /already/ too large, and many programs have more than 6 tripwires
11:20:06 <ais523> huh, 2MB might be enough for the full version of anticipation2
11:20:08 <Lymia> Why settle for an inferior subsitute when I can just waste 1/20 the size limit
11:21:16 <ais523> err, anticipation1, I guess
11:21:44 <fizzie> 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 <Lymia> !bfjoust tripclear http://lymia.moe/~lymia/tripclear.bf
11:22:07 <zemhill> Lymia.tripclear: points -15.88, score 9.20, rank 46/47
11:22:59 <ais523> 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 <ais523> so there's not much point in submitting
11:23:15 <ais523> I'm glad knowing that the hacks are no longer necessary
11:23:27 <ais523> (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 <Lymia> Because I like pink.
11:25:40 <ais523> 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 <ais523> I want to pattern-match on the graph, with replacements, sort-of like eodermdrome
11:25:58 <boily> Lymia: and I like your github avatar ^^
11:26:04 <ais523> 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 <mroman_> Still no patches for 6.0.10?
11:29:19 <Lymia> !bfjoust tripclear http://lymia.moe/~lymia/tripclear.bf
11:29:21 <zemhill> Lymia.tripclear: points -8.55, score 12.98, rank 45/47 (+1)
11:29:37 <Lymia> Yay for proofs of concept that are useless~
11:31:17 <fizzie> mroman_: https://wiki.debian.org/LTS/Using
11:31:37 <ais523> Lymia: did you skip six decoys first then use a reverse offset clear? :P
11:31:43 <Melvar> < 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 <elliott_> that's a nice shade of pink
11:32:06 <ais523> Melvar: check to make sure it didn't have side effects
11:32:06 <elliott_> maybe you need lymia.pink too?
11:32:18 <ais523> the problem is, the syntax error happens
11:32:22 <ais523> and then the parser state isn't reset or something
11:32:37 <ais523> so some of the text from the env var effectively gets prepended to the command it's running
11:33:19 <Lymia> Strange
11:33:29 <Lymia> I worked hard to get my website to load in under a second... with dialup
11:33:35 <Lymia> And now with BF Joust I'm going crazy with exponential growth.
11:33:36 <Lymia> ^.^
11:34:04 <Melvar> Aha.
11:34:54 <Lymia> !bfjoust tripclear http://lymia.moe/~lymia/tripclear.bf
11:34:56 <zemhill> Lymia.tripclear: points -5.36, score 14.56, rank 42/47 (+3)
11:35:00 <Lymia> No more of this program. ^.6
11:35:01 <Lymia> ^.^
11:35:09 <elliott_> Lymia: do you... have dialup?
11:35:13 <Melvar> So it deliberately provokes a parse error so obscure nobody ever tested it, then exploits the buggy results.
11:35:16 <Lymia> elliott_, no
11:35:29 <Lymia> If I did, why would I be throwing out multi-hundred-KB programs
11:35:57 <elliott_> you could be generating them on the server :p
11:36:22 <ais523> Melvar: yes, and presumably it was only found because people were looking at the relevant code because of the other bug
11:37:03 <Lymia> This is why you use parser generators
11:37:06 <Melvar> Of course, bash doesn’t and can’t have a real parser.
11:37:07 <Lymia> And not hand-coded parsers
11:37:20 <ais523> Lymia: the bug looks like it's in the handling of a parse error
11:37:27 <ais523> as opposed to the parse error itself
11:38:20 <Lymia> Anyway
11:38:25 <Lymia> Firing up IntelliJ~
11:40:34 <Melvar> ais523: I wonder how it actually happens, since you can’t leave arbitrary things in there, just a ‘>’ apparently.
11:40:58 <ais523> a leading > is enough to utterly screw up the command you're trying to run, but hmm
11:41:04 <ais523> what about <?
11:41:14 <ais523> that seems like the most similarly-parsing character
11:41:43 <mroman_> (I'm 6.0.10 btw)
11:41:48 <elliott_> ...why do we expose bash to the network again?
11:42:05 <ais523> elliott_: you expose programs that do system() calls to the network
11:42:12 <Melvar> ais523: The file “echo” doesn’t exist :)
11:42:17 <elliott_> ais523: yes, why do we do that? <_<
11:42:29 <elliott_> also, system() is safe as long as sh isn't bash, I think
11:42:34 <elliott_> so, e.g. debian should be fine?
11:42:43 <ais523> Melvar: it would exist if it was given as an absolute path
11:42:50 <ais523> elliott_: yes, that was my reaction too
11:42:55 <ais523> "lucky sh isn't bash on my system"
11:43:04 <elliott_> ais523: doesn't mean nothing invokes bash directly, though
11:43:30 <ais523> indeed
11:43:49 <elliott_> system() isn't really the most robust of functions anyway though...
11:43:53 <Melvar> 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 <ais523> 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 <Lymia> Now for something nasty. :(
11:44:16 <mroman_> my sh is dash
11:44:21 <Lymia> Writing a BF Joust interpreter
11:44:25 <ais523> and it uses execle for the actual running of the next process along
11:44:27 <Lymia> That I can use for my ~special~ project
11:44:29 <elliott_> ais523: go further and compile it all into a kernel a la http://openmirage.org
11:44:30 <ais523> also it completely resets the environment
11:44:37 <ais523> Lymia: you could use/modify someone else's?
11:44:49 <Lymia> ais523, I have very special requirements
11:44:59 <Lymia> Which make that pretty impractiacl
11:45:01 <Lymia> impractical*
11:45:17 <Lymia> For one, the data structure must be immutable.
11:45:21 <Lymia> So I can branch off states
11:45:46 <Lymia> 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 <mroman_> How dare you....
11:46:43 <elliott_> Lymia: are you sure copying a mutable state wouldn't be quicker/simpler?
11:46:44 <mroman_> It's tradition to read and analyze bfjoust spam
11:46:51 <elliott_> Lymia: a BF joust tape and two tape pointers can fit in a single AVX register :p
11:47:12 <Melvar> elliott_: Really?
11:47:26 <ais523> elliott_: do you have an interp that exploits this?
11:47:31 <elliott_> ais523: no, but I should
11:47:40 <Lymia> elliott_, I also intend to reverse the state
11:47:47 <elliott_> Melvar: yes, 30 bytes + two integers in range [0,30)
11:47:48 <Lymia> And look ahead 100 cycles to see if something works
11:47:57 <Lymia> This is a search program.
11:48:04 -!- GeekDude has joined.
11:48:04 <Lymia> Working out when I need to copy would be a nightmare
11:48:29 <elliott_> Melvar: so 240 + just under 5 bits + just under 5 bits = just under 250 bits, you have over 6 bits spare!
11:48:57 <elliott_> unfortunately you'll need 32-bit integers for the IPs
11:49:35 <elliott_> Lymia: clearly reverse the tape with an AVX shuffle!
11:49:41 <mroman_> I'm going to write BFJoust JIT .
11:49:42 <elliott_> (unfortunately they only go down to shuffling 32-bit units, I think)
11:49:51 <elliott_> AVX2, that is
11:50:04 <elliott_> or, uh, no, AVX 1 has the shuffles too? I don't know, x86 is a mess
11:50:49 <elliott_> fizzie: what's the program length limit, anyway?
11:50:55 <ais523> <mroman_> I'm going to write BFJoust JIT . ← do it
11:51:16 <mroman_> It's gonna be a pain to keep track of the flag reaching 0 for two cycles though
11:51:19 <elliott_> fizzie wrote a BF Joust JIT thing, I think?
11:51:20 <mroman_> I guess
11:51:24 <elliott_> the problem is cycle sync makes it slow
11:51:27 <mroman_> you'd have to check that after every instruction
11:52:02 <ais523> compile both programs into one
11:52:07 <mroman_> cycle sync?
11:52:09 <ais523> actually, hmm, no
11:52:12 <ais523> yeah, that's a mess
11:52:14 <mroman_> I would have just interleaved the programs into a single one
11:52:20 <Melvar> ( Bits8x16
11:52:20 <idris-bot> Bits8x16 : Type
11:52:25 <mroman_> somehow
11:52:30 <mroman_> although that's probably tricky for loops
11:52:33 <mroman_> :D
11:53:01 <mroman_> but not impossible
11:53:19 <ais523> Melvar: now I'm scared that that type exists
11:54:03 <Melvar> It’s for SSE. I think it was introduced when the LLVM backend was.
11:54:20 <Melvar> No Bits8x32 though. No AVX.
11:55:59 <Melvar> ais523: What scares you about it?
11:56:19 <ais523> Melvar: basically seeing something so relentlessly low-level in such a high-level language
11:56:21 <elliott_> 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 <elliott_> 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 <elliott_> oh wow... now I want to make a BF Joust FPGA
11:57:11 <elliott_> just think how much brute forcing you could do...
11:57:21 <Lymia> We'd finally be able to run the 10000*10000 hill :)
11:57:30 <Melvar> ( :doc Bits8x16
11:57:30 <idris-bot> Primitive type Bits8x16 : Type
11:57:30 <idris-bot> Vectors of sixteen eight-bit values
11:57:49 <elliott_> I wonder if it'd actually be faster than, like, a hand-optimised assembly implementation on conventional hardware
11:57:57 <elliott_> you could certainly do it with much lower storage requirements without sacrificing efficiency, I guess
11:58:07 <mroman_> !bfjoust catchmeifucan (-)*127(-+)*-1
11:58:09 <zemhill> mroman_.catchmeifucan: points -14.50, score 9.58, rank 47/47
11:58:10 <elliott_> since using SIMD registers for BF Joust would probably be hell on x86
11:58:11 <ais523> elliott_: now you've got me thinking about what it'd look like in Verity
11:58:14 <ais523> and what the resulting hardware would look like
11:58:20 <elliott_> ais523: do it!!
11:58:24 <mroman_> !bfjoust catchmeifucan (-)*127(-+.)*-1
11:58:24 <ais523> I wonder if I can justify this as being connected with my job
11:58:26 <zemhill> mroman_.catchmeifucan: points -4.71, score 15.69, rank 33/47 (+14)
11:58:43 <mroman_> wtf
11:58:46 <elliott_> I guess the savings from using registers might be hurt by having to deal with the huge programs, though
11:58:47 <ais523> mroman_: huh, that's an interesting variant on vibration
11:59:02 <ais523> probably it works because many programs fall through to three-cycle clears if they detect a vibration program
11:59:03 <mroman_> some days ago a program with score 18 wouldn't get on the hell
11:59:08 <mroman_> but now with 15.69 you can?
11:59:12 <mroman_> *hill
11:59:24 <ais523> mroman_: this is what happens if you score based on eigenvalues
11:59:30 <ais523> the actual score /numbers/ are rather volatile
11:59:52 <mroman_> !bfjoust wait (->+<-)*-1
11:59:56 <zemhill> mroman_.wait: points -6.81, score 12.64, rank 47/47
12:00:03 <mroman_> ah. ok. it only gets 12.64 now
12:00:32 <mroman_> !bfjoust catchmeifucan (-)*127(-+.)*5000([(+)9[-].]>)*-1
12:00:33 <zemhill> mroman_.catchmeifucan: points -11.10, score 12.19, rank 47/47 (-7)
12:00:38 <mroman_> !bfjoust catchmeifucan (-)*127(-+.)*-1
12:00:39 <zemhill> mroman_.catchmeifucan: points -5.71, score 15.10, rank 40/47 (+7)
12:00:54 <mroman_> now it's suddenly 7 ranks worse?
12:00:55 <mroman_> wtf
12:00:58 <mroman_> !bfjoust catchmeifucan (-)*127(-+.)*-1
12:00:59 <zemhill> mroman_.catchmeifucan: points -5.71, score 15.10, rank 40/47 (--)
12:01:37 <mroman_> !bfjoust catchmeifucan (-)*127(-+)*-1
12:01:39 <zemhill> mroman_.catchmeifucan: points -14.55, score 9.48, rank 47/47 (-7)
12:01:40 <ais523> mroman_: maybe it pushed something that it beats off the hill?
12:01:42 <mroman_> !bfjoust catchmeifucan (-)*127(-+.)*-1
12:01:43 <zemhill> mroman_.catchmeifucan: points -5.71, score 15.10, rank 40/47 (+7)
12:01:48 <mroman_> hm
12:01:51 <mroman_> maybe
12:02:44 <ais523> <Wikipedia> 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 <elliott_> 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 <mroman_> !bfjoust catchmeifucan (-)*127(-.+)*-1
12:03:17 <zemhill> mroman_.catchmeifucan: points -34.00, score 2.76, rank 47/47 (-7)
12:03:20 <mroman_> !bfjoust catchmeifucan (-)*127(-.+.)*-1
12:03:21 <zemhill> mroman_.catchmeifucan: points -32.43, score 2.80, rank 47/47 (--)
12:03:22 <elliott_> you can use the spares for, um, something
12:03:23 <Melvar> 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 <mroman_> !bfjoust catchmeifucan (-)*127(-++-.)*-1
12:03:29 <zemhill> mroman_.catchmeifucan: points -15.19, score 9.38, rank 47/47 (--)
12:03:32 <mroman_> !bfjoust catchmeifucan (-)*127(-++-)*-1
12:03:34 <zemhill> mroman_.catchmeifucan: points -15.71, score 8.88, rank 47/47 (--)
12:03:38 <mroman_> !bfjoust catchmeifucan (-)*127(-+.)*-1
12:03:39 <zemhill> mroman_.catchmeifucan: points -5.71, score 15.10, rank 40/47 (+7)
12:03:40 <ais523> Melvar: right, it still worries me though
12:03:43 <elliott_> storing whether one of the flags are free, or something
12:03:48 <elliott_> Melvar: isn't idris GC'd?
12:03:55 <ais523> if Rust becomes successful, that'll help
12:04:19 <ais523> elliott_: this FPGA jouster, should it store the programs in RAM or hardcoded?
12:04:56 <mroman_> !bfjoust catchmeifucan (-)*127[-+]
12:04:57 <elliott_> 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 <zemhill> mroman_.catchmeifucan: points -18.69, score 7.95, rank 47/47 (-7)
12:04:59 <mroman_> !bfjoust catchmeifucan (-)*127[-+.]
12:05:01 <zemhill> mroman_.catchmeifucan: points -11.45, score 10.46, rank 47/47 (--)
12:05:10 <elliott_> ais523: but it'd probably be most interesting to use it to try and create new programs
12:05:13 <mroman_> !bfjoust catchmeifucan (-)*127([-+.])*-1
12:05:15 <zemhill> mroman_.catchmeifucan: points -9.43, score 12.28, rank 47/47 (--)
12:05:19 <mroman_> k
12:05:20 <ais523> elliott_: FPGAs don't actually have a lot of ROM
12:05:41 <Melvar> elliott_: Generally yes. If you’re writing a hardware-timed / hard-realtime thing, you don’t get to use it there.
12:05:45 <mroman_> !bfjoust catchmeifucan (-)*127([-+[-+]-])*-1
12:05:46 <zemhill> mroman_.catchmeifucan: points -15.50, score 9.07, rank 47/47 (--)
12:05:47 <elliott_> Melvar: ...like drivers
12:05:50 <ais523> you normally just use pre-initialized RAM
12:06:07 <elliott_> 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 <ais523> elliott_: you're possibly misunderstanding FPGAs here
12:06:32 <ais523> all storage is RAM, but you have various speeds of it
12:06:34 <elliott_> very likely :/
12:06:40 <elliott_> well, right
12:06:42 <ais523> the fastest is a 1-bit RAM that's just directly in the middle of one of your wires
12:07:27 <ais523> 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 <mroman_> !bfjoust catchmeifucan (-)*127([-+[-+]+-])*-1
12:07:33 <zemhill> mroman_.catchmeifucan: points -14.36, score 9.94, rank 47/47 (--)
12:07:49 <elliott_> ais523: I'm wondering how much mileage you could get out of hand-coded x86 SIMD BF Joust
12:07:52 <ais523> then you get block RAM which is pretty much as fast, and works for nearby parts of the chip
12:07:53 <fizzie> Lymia: People do minmax search with mutable state, you just undo the changes when backing up.
12:07:58 <elliott_> probably not really much as RAM isn't the limiting factor anyway
12:08:12 <ais523> 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 <elliott_> 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 <elliott_> oh!
12:08:31 <ais523> perhaps the way to think about FPGAs is that you can make little L1 caches anywhere you like
12:08:32 <elliott_> you just have to precompile the programs
12:08:40 <elliott_> and have them operate on the three registers directly
12:08:50 <elliott_> that's probably about as good as you can get
12:08:58 <elliott_> although I guess the precompiled forms would actually likely be bigger than the originals...
12:09:10 <fizzie> The handwritten ASM versions I've done are not SIMD, but I am slightly suspicious about whether it would help any.
12:09:11 <Melvar> 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 <ais523> Melvar: possibly best to see what people do with Rust first :-)
12:10:08 <elliott_> 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 <elliott_> 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 <fizzie> 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 <elliott_> fizzie: I was thinking maybe use SIMD registers as tape pointers.
12:15:01 <elliott_> fizzie: just shift around a single "1" aligned with the tape registers for <>, and add/sub for +-
12:15:14 <Melvar> elliott_: *nodnod* I probably just shouldn’t have gone so far as to mention drivers.
12:15:16 <elliott_> bitwise and to check for loops
12:15:50 <elliott_> 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 <fizzie> Yeah, I don't think you can even shift a full 256-bit value.
12:17:04 <elliott_> it can do shuffles on 32-bit units, I think?
12:17:10 <elliott_> so you could use that to shuffle the 1.
12:17:54 <elliott_> but I don't think it could do the arithmetic you'd want
12:19:58 <Jafet> I don't think L1 is that expensive to justify this act of desperation
12:20:23 <Jafet> Have you looked at the event counters?
12:21:45 <fizzie> 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 <fizzie> ... need to do a register-based jump at the end of the cycle.
12:22:07 <fizzie> But I just did that for fun, not as a serious benchmarking-based optimization thing.
12:22:17 <fizzie> Might be interesting to do a bit of perf on it, actually.
12:22:25 <fizzie> Or on gearlance. But not now.
12:25:01 <elliott_> 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 <mroman_> !bfjoust offclear (>(+)*14>(-)*10)*5([(+)*9[-]]>)*-1
12:41:03 <zemhill> mroman_.offclear: points -12.81, score 11.64, rank 47/47
12:41:12 <mroman_> 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 <HackEgo> [wiki] [[Special:Log/newusers]] create * HarrisPmjiho * New user account
12:51:01 -!- L8D has joined.
12:51:05 <HackEgo> [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 <ais523> I think I like this connection
12:57:49 <ais523> it is probably not 100% reliable
12:57:55 <ais523> but it's the best one I've used in the past several months
12:59:39 <elliott_> you should get a grant for buying a decent internet connection.
13:00:25 <ais523> that would mean I never got any work done
13:04:33 <elliott_> btw, I love these spam page titles
13:05:19 -!- L8D has joined.
13:05:52 <ais523> elliott_: are the spambots beating the filter again?
13:05:56 <ais523> I'm worried they've learned how to newline
13:06:06 <ais523> in which case we're going to need a new strategy
13:06:27 -!- FreeFull has quit (Quit: Bbl).
13:06:43 <ais523> oh, they're two different spambots
13:06:50 <Jafet> We should just make esolangs with those names
13:07:00 <ais523> 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 <ais523> the one I deleted, the spambot prepended a newline to it and then did its normal nonsense
13:07:58 <ais523> Jafet: http://esolangs.org/wiki/Befunge/index.php
13:09:42 <ais523> I think there may have been another one, but I couldn't find it
13:10:00 <ais523> I know there was one spam name so good we reserved it for an esolang
13:10:23 <ais523> oh, http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
13:12:12 <ais523> aha: http://esolangs.org/wiki/Twisted_Python_Chat_Server
13:12:24 <ais523> <Twisted Python Chat Server> 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 <b_jonas> hehe
13:13:40 <b_jonas> 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 <ais523> Twisted Python Chat Server has to be the complete name of the esolang
13:14:01 <ais523> feel free to design any esolang where that description could fit
13:14:54 <elliott_> Twisted is a Python networking library, y'know
13:15:03 -!- dianne has joined.
13:15:05 <b_jonas> descriptions have to _fit_ the esolangs? I couldn't determine much correlation between the name and the esolang so far
13:15:33 <b_jonas> fungot: what do you think Twisted Python Chat Server iz lied?
13:15:33 <fungot> b_jonas: cheese and wine... lol... you cant tell me, pleeeeeease.
13:16:12 <ais523> <elliott_> 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 <elliott_> ais523: presumably it should be about snakes too, then
13:17:00 <ais523> elliott_: definitely
13:17:03 <ais523> I was thinking that as well
13:18:05 <ais523> anyone who likes looking at spam page titles, btw, they're listed at http://esolangs.org/wiki/Special:Log/delete
13:18:29 <Jafet> Doesn't beat RFNHS3:SDD though
13:18:46 <ais523> Jafet: that was a spam title?
13:18:59 <elliott_> abbreviating it is no fun
13:19:10 <ais523> although the credit has to go to whoever named the original film, I guess
13:19:17 <Jafet> It's too absurd to even be a spam title
13:20:06 <mroman_> hm
13:20:23 <mroman_> elliott_: usually esolang names are one or two words
13:20:31 <Jafet> Hmm, Nora's Hair Salon II had no subtitle.
13:20:34 <mroman_> so titles with many words are probably more spam prone
13:20:42 <mroman_> s/elliott_/ais523
13:21:04 <ais523> 23:34, 27 March 2013 Ehird (Talk | contribs | block) deleted page 4-5 Benefits Of Using Bathroom Ventilation Freakouts
13:21:12 <ais523> spam titles can be pretty weird
13:21:15 <mroman_> also can you create a User page for a user that has no account?
13:21:21 <ais523> mroman_: yes, but you're not supposed to
13:21:30 <mroman_> that should be deactivated
13:21:33 <ais523> doing that on Wikipedia will get it deleted and you shouted at
13:21:33 <Jafet> Yes, but they'll follow english statistical patterns
13:21:39 <mroman_> that would prevent the User:Kymuigcn spams etc
13:21:45 <ais523> mroman_: those mostly are real users
13:21:48 <mroman_> oh
13:21:49 <mroman_> ok
13:21:50 <elliott_> ais523: wow, that's an amazing title I forgot about it
13:21:51 <ais523> who are also spambots
13:21:58 <ais523> elliott_: so did I
13:22:01 <ais523> good thing I'm reading the log
13:22:04 <mroman_> well
13:22:08 <mroman_> ok then :)
13:22:13 <ais523> mroman_: in fact, the #1 most likely page for a spambot to spam is its own user page
13:22:25 <ais523> 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 <ais523> you automatically get blocked, or should do but it seems to be misconfigured
13:22:38 <ais523> (it just prevents the page being edited instead)
13:22:52 <mroman_> manual "new user" confirmation is probably strange
13:23:04 <mroman_> also because you never know if somebody really wants to call himself Rhot46nz4s
13:23:23 <ais523> 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 <myname> hahaha
13:25:42 <elliott_> 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 <elliott_> "That's not illegal -- but it is insignifigant compared to the ribbed edges of fleshlight."
13:27:02 <ais523> 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 <ais523> at Wikipedia you had to be generic, unless the page was actually worthy of undeletion
13:27:17 <ais523> so you'd look at it and say "not undeleting, it was spam2
13:27:19 <ais523> s/2/"/
13:27:28 <elliott_> ais523: that's weird
13:27:37 <elliott_> what's the harm of pasting nonsense in IRC?
13:27:48 <elliott_> even if they were looking to see if the page stayed up, they wouldn't check the IRC logs
13:28:12 <ais523> well deleted pages often contain personal information or something like that
13:28:28 <elliott_> personal information about stoya being one of the fleshlight
13:28:58 <Jafet> I believe it is a well-known fact that Stoya is one of the fleshlight
13:29:45 <myname> should we add a trigger on some bot?
13:30:44 <elliott_> the spam problem is manageable
13:31:00 <elliott_> you should have seen what it was like before I took over hosting
13:31:13 <ais523> that's because the spam filter was hilariously bad before you took over hosting
13:31:35 <ais523> once we had a working filter, a better CAPTCHA, and you gave me access to edit the filter rules
13:31:37 <ais523> things got a lot better
13:31:44 <elliott_> yeah
13:31:53 <elliott_> I just mean, going to the lengths of finding a way to hide all the spam deletions from recent changes :p
13:37:44 <mroman_> 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 <ais523> `interp bf_txtgen in the future pages can only be entered as brainfuck programs that generate the actual content
13:38:22 <elliott_> mroman_: knowing our luck, we'd still get spam
13:38:22 <HackEgo> 969 +++++++++++++++[>+++++++>++>+++++++>++++++<<<<-]>.>>+++++.<++.>++++++.<<-.---.>.<+.>>+.<++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+.---.<-.---------------------------------------------------------------------.>>-----.>+++++++.++++++.--.<<+.<.>>>--.--.<--.<<.>>>++++++++++++++.-.<--.<++++++.<.>>---------
13:38:31 <elliott_> mroman_: the spambots figured out how to answer questions about esolangs to register, after all
13:38:43 <ais523> `ls bin/!
13:38:44 <HackEgo> ls: cannot access bin/!: No such file or directory
13:38:45 <mroman_> also you'd need some javascript to actually display it then
13:38:47 <elliott_> (I still think the solution to any registered-user spam is just to get fizzie to replace the questions)
13:38:55 <ais523> `ls bin/interp
13:38:56 <mroman_> which mean spam can now DoS your browser
13:38:56 <HackEgo> bin/interp
13:38:57 <mroman_> :D
13:39:07 <ais523> `run ln -s interp bin/!
13:39:09 <HackEgo> No output.
13:39:17 <ais523> `! bf_txtgen this looks like a good EgoBot replacement syntax
13:39:20 <HackEgo> 348 +++++++++++++++[>+++++++>++++++++>++>++++++<<<<-]>>----.<-.+.>-.>++.<-------.<++++++..>-.<++++.>>.<<-------.>--.<-.>----.>.>+++++++.<.>++++++.<<<++++..>-.>.<-------------------------------.>>.<<<.>---.<.+++++.>>.<<--.-------------.>>>+++++++++.----.<<+++++++++++++++++++++++++++++++.++.++.++++++++.<.>+.>>++++++++.<.>-.++++++.<<.++++++.<----.>+++
13:39:31 <ais523> `! bf8 +++++++++++++++[>+++++++>++++++++>++>++++++<<<<-]>>----.<-.+.>-.>++.<-------.<++++++..>-.<++++.>>.<<-------.>--.<-.>----.>.>+++++++.<.>++++++.<<<++++..>-.>.<-------------------------------.>>.<<<.>---.<.+++++.>>.<<--.-------------.>>>+++++++++.----.<<+++++++++++++++++++++++++++++++.++.++.++++++++.<.>+.>>++++++++.<.>-.++++++.<<.++++++.<----.>+++
13:39:32 <HackEgo> this looks like a good EgoBot replacement synta
13:39:40 <ais523> hmm
13:39:50 <ais523> I wonder if it ran out of space on the line
13:40:23 <Lymia> !bfjoust silly +++++++++++++++[>+++++++>++++++++>++>++++++<<<<-]>>----.<-.+.>-.>++.<-------.<++++++..>-.<++++.>>.<<-------.>--.<-.>----.>.>+++++++.<.>++++++.<<<++++..>-.>.<-------------------------------.>>.<<<.>---.<.+++++.>>.<<--.-------------.>>>+++++++++.----.<<+++++++++++++++++++++++++++++++.++.++.++++++++.<.>+.>>++++++++.<.>-.++++++.<<.++++++.<----.>+++
13:40:24 <zemhill> Lymia.silly: points -35.60, score 3.10, rank 47/47
13:40:51 <ais523> !bfjoust google http://google.com
13:40:51 <zemhill> ais523: error: parse error: encountered { without suitable enclosing (
13:41:07 <ais523> hmm
13:41:08 <mroman_> `! bf_txtgen bfjoust
13:41:10 <ais523> Google missed a trick there
13:41:12 <HackEgo> 62 +++++++++++[>+++++++++>>><<<<-]>-.++++.++++.+++++.++++++.--.+. [177]
13:41:25 <mroman_> !bfjoust bfjoust +++++++++++[>+++++++++>>><<<<-]>-.++++.++++.+++++.++++++.--.+.
13:41:25 <zemhill> mroman_.bfjoust: points -35.29, score 2.98, rank 47/47
13:41:36 <mroman_> Meta BF Joust!
13:41:52 <mroman_> you submit an ASCII String which is fed through bf textgen which is then used as a BF Joust program
13:42:29 <mroman_> sillyness level over (unsigned long)-1;
13:42:43 <mroman_> or was it unsigned long long?
13:42:49 <mroman_> or possibly unsigned long long int
13:43:02 <mroman_> hm
13:44:00 <ais523> mroman_: bf_txtgen-generated programs cannot ever attack
13:44:13 <ais523> in fact, they will all eventually zero their own flag
13:44:25 <ais523> 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 <int-e> what is the >>><<<< doing in there, that looks ridiculous.
13:46:15 <ais523> int-e: bf_txtgen always has exactly four > and exactly four < in the loop
13:47:35 <GeekDude> ...
13:47:44 <int-e> `! bf_txtgen @
13:47:46 <GeekDude> can't you just do < and be done with it/
13:47:49 <HackEgo> 29 ++++++++[>++++++++>>><<<<-]>. [39]
13:48:03 <GeekDude> also, is bf_txtgen written in bf?
13:48:13 <ais523> wow I used to be able to delete a lot of spam in a minute
13:48:17 <ais523> and no, it's written in Java IIRC
13:48:23 <myname> int-e: how comes?
13:48:28 <GeekDude> `! bf_txtgen CTCP FINGER
13:48:32 <myname> erm, ais523: how comes?
13:48:33 <HackEgo> 86 +++++++++++[>++++++>++++++++>+++><<<<-]>+.>----.<.>----.>-.<<+++.+++.>--.<--.--.>++++. [965]
13:48:47 <ais523> myname: I didn't write it, don't blame me!
13:48:57 <GeekDude> ^bf +.++++++++++[>++++++>++++++++>+++><<<<-]>+.>----.<.>----.>-.<<+++.+++.>--.<--.--.>++++.>>>>>>>+.
13:48:57 <fungot> <CTCP>CTCP FINGER<CTCP>
13:49:00 <GeekDude> lol
13:49:07 <GeekDude> whoops
13:49:12 <GeekDude> `! bf_txtgen FINGER
13:49:14 <myname> lol
13:49:16 <HackEgo> 59 ++++++++++++++[>+++++>+++++>><<<<-]>.+++.+++++.>+.--.<++++. [165]
13:49:36 <GeekDude> +.+++++++++++++[>+++++>+++++<<-]>.+++.+++++.>+.--.<++++>>+.
13:49:40 <GeekDude> ^bf +.+++++++++++++[>+++++>+++++<<-]>.+++.+++++.>+.--.<++++>>+.
13:49:40 <fungot> <CTCP>FINGE<CTCP>
13:49:44 <GeekDude> uhh
13:49:51 <GeekDude> o
13:49:55 <GeekDude> ^bf +.+++++++++++++[>+++++>+++++<<-]>.+++.+++++.>+.--.<++++.>>+.
13:49:55 <fungot> <CTCP>FINGER<CTCP>
13:49:58 <GeekDude> aha!
13:50:06 <mroman_> `! bf_textgen bf_textgen
13:50:07 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/bf_textgen: not found
13:50:16 <GeekDude> txt
13:50:17 <GeekDude> not text
13:50:17 <mroman_> `! bf_txtgen bf_txtgen
13:50:23 <HackEgo> 90 ++++++++++++++[>+++++++>++++++++>+++++++><<<<-]>.++++.>>---.<++++.++++.----.<+.--.>------. [155]
13:50:32 <mroman_> `! bf_txtgen ++++++++++++++[>+++++++>++++++++>+++++++><<<<-]>.++++.>>---.<++++.++++.----.<+.--.>------.
13:50:36 <HackEgo> 381 +++++++++++[>++++++++>++++>++++>++++<<<<-]>>>-...<-...>>-..<<..>....<<+++.-----------------------------.>>.>.<.<..>.>.<<<.>>...<.....<.>>..>...<<..<.--.>+++++++++++++++++..<.---------------.>+++++++++++++++++++++++++++++++++.-------------------------------.>+++.---.>.<..+++.<..>-...>+++.<<--.>--....<--------------.<--....+++.-..>>>-..+.++++++++
13:50:42 <mroman_> ^- finding a fixpoint is left as an exercise for the reader
13:50:54 <mroman_> i.e. txt = bf_txtgen(txt)
13:50:58 <GeekDude> `! bf_txtgen `! bf_txtgen Hello World!
13:51:01 <HackEgo> 182 ++++++++++++[>++++++>+++>++++++++>++++++++<<<<-]>>----.>.<+.-.>++.++++.>-.<++++++++++++++.++++.----.>++++++++.--.<------.<.<.>>>.<--..+++.<.>>--------------.<.+++.------.--------.<+. [296]
13:51:04 <ais523> impossible, bf_txtgen(txt) is always longer than txt
13:51:08 <GeekDude> ^bf ++++++++++++[>++++++>+++>++++++++>++++++++<<<<-]>>----.>.<+.-.>++.++++.>-.<++++++++++++++.++++.----.>++++++++.--.<------.<.<.>>>.<--..+++.<.>>--------------.<.+++.------.--------.<+.
13:51:08 <fungot> `! bf_txtgen Hello World!
13:51:10 <ais523> as it never puts . inside a loop
13:51:16 <GeekDude> er
13:51:17 <mroman_> ais523: can you prove that?
13:51:24 <GeekDude> `! bf_txtgen `! bf_txtgen Hello World!
13:51:28 <HackEgo> 204 ++++++++++++++[>+++++++>++>+++++++>++++++++<<<<-]>--.>+++++.-.>.++++.<<-.>>>++++.++++.----.<+.>---------------.<+++++++.<.<-----------------------.>>>.+++++++..<+.<.<+++++++++++++++.>>.+++.>.--------.<<+. [607]
13:51:31 <GeekDude> mroman_: it's at least 2x
13:51:35 <ais523> mroman_: well unless the person who explained the algorithm it uses to me was lying
13:51:38 <ais523> I haven't seen the source
13:51:39 <GeekDude> er
13:51:44 <GeekDude> that's not true
13:51:51 <GeekDude> if you wanted nulls it'd be the same
13:51:57 <GeekDude> though...
13:52:02 <ais523> `! bf_txtgen ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
13:52:05 <mroman_> ` !bf_txtgen aaaaaaaaaaaaaaaaaaaaaaaaaaaa
13:52:05 <HackEgo> 274 +++++++++++++[>+++++++++>+++++++++>+++++++++>+++++++++<<<<-]>-....>>>-....<-.<-.......>.>...<...<...<......>....>.>....<.<<....>..<..>.......>...<.>.>...<<<..>....>.>..<.<<...>>.<<.>....>..<.<..>.>.........>.<.<..>.>.......<....<..>..>..<.....<<..>..>.<...>..>.......<.<.>.. [937]
13:52:06 <GeekDude> loops could make a lot of characters from just a few
13:52:06 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
13:52:06 <myname> having . outside of loops sounds like a reasonable proof
13:52:10 <ais523> haha
13:52:22 <mroman_> wtf is it doing for tttttt?
13:52:26 <ais523> bf_txtgen is not very good at that sort of input
13:52:29 <myname> wtf :D
13:52:41 <GeekDude> `! bf_txtgen `! bf_txtgen Pizza is delicious!
13:52:44 <HackEgo> 245 ++++++++++++[>+++++++++>++++++++++>++++++++>+++<<<<-]>>>.>---.-.<++.++++.-------.<----.++++.----.-------------.--.<++.>>>.<---------------.<++++.<++++++++++++..>>+++++++++++++++++.>.<<.<-------.>>>.<+++.+.<+++.---.>--.++++++.++++++.++++++.--.>+. [752]
13:52:53 <GeekDude> ^bf ++++++++++++[>+++++++++>++++++++++>++++++++>+++<<<<-]>>>.>---.-.<++.++++.-------.<----.++++.----.-------------.--.<++.>>>.<---------------.<++++.<++++++++++++..>>+++++++++++++++++.>.<<.<-------.>>>.<+++.+.<+++.---.>--.++++++.++++++.++++++.--.>+.
13:52:53 <fungot> `! bf_txtgen Pizza is delicious!
13:52:53 <int-e> ^bf +.++++++++++[>++++++++++>++++++++>++++++>+++<<<<-]>>>-.++.<----.>++++++.++++++.-.>-.<<<-.>+++++++++++++.+++++++++++++++.<++.---.-------.>+++.>>.<-------.<<..++++++.>>---.<++.<-------.+.<+.
13:52:54 * fungot mapoles GeekDude
13:52:56 <HackEgo> 150 +++++++++++++++[>++>+++++>+++++++>++++++++<<<<-]>>+++++.>.>++..<<+++++++++++++++++.<++.>>.>-------.<<<.>+++.+.>+++.---.<--.++++++.++++++.++++++.--.<+. [492]
13:53:12 <ais523> wait, what causes fungot to mapole people
13:53:12 <fungot> 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 <GeekDude> ais523: no idea
13:53:19 <ais523> oh, CTCP ACTION
13:53:33 <GeekDude> `! bf_txtgen ACTION is an idiot
13:53:38 <HackEgo> 159 +++++++++++[>++++++>+++>+++++++++>+++++++++<<<<-]>-.++.+++++++++++++++++.-----------.++++++.-.>-.>++++++.++++++++++.<.>>--.<-----.<.>-----.>+++.<.++++++.+++++. [362]
13:53:40 <ais523> int-e must have been running txtgen in PM
13:53:57 <GeekDude> ^bf +.++++++++++[>++++++>+++>+++++++++>+++++++++<<<<-]>-.++.+++++++++++++++++.-----------.++++++.-.>-.>++++++.++++++++++.<.>>--.<-----.<.>-----.>+++.<.++++++.+++++.[-]+.
13:53:57 * fungot is an idiot
13:53:59 <int-e> ais523: I did :P
13:54:08 <GeekDude> 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 <GeekDude> ^bf +++++++++[>++++++++<-]>.
13:54:37 <fungot> H
13:54:56 <GeekDude> ^bf +++++++++[>++++++++<-]>.<+++++++++++++.>.
13:54:56 <fungot> H.H
13:54:59 <GeekDude> ^bf +++++++++[>++++++++<-]>.<++++++++++++.>.
13:55:00 <fungot> HH
13:55:12 <GeekDude> ^bf +++++++++[>++++++++<-]>.<[-]++++++++++++.>.
13:55:13 <fungot> HH
13:55:15 <GeekDude> ^bf +++++++++[>++++++++<-]>.<[-]+++++++++++++.>.
13:55:15 <fungot> H.H
13:55:21 <GeekDude> does he replace \r with .?
13:55:56 <GeekDude> ^bf +++++++++[>++++++++<-]>.<++++++++++.>.
13:55:57 <fungot> H.H
13:56:09 <myname> he replaces a bunch of chars, yes
13:56:10 <GeekDude> looks like it does :(
13:56:14 <myname> i do think \n too
13:56:38 <GeekDude> I tested \n
13:56:40 <GeekDude> was .
13:56:45 <int-e> so no sending raw NICK commands
13:56:54 <GeekDude> sadly
13:56:59 <GeekDude> someone did that to my bot
13:57:06 <GeekDude> I handled `n and `r`n, but not `r
13:57:10 <GeekDude> er
13:57:19 <GeekDude> ` is the escape in the language I was using
13:57:20 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
13:57:56 <int-e> @unlambda `r`.o`.l`.l`.e`.hi
13:57:57 <lambdabot> hello
13:59:21 <int-e> @metar rjcc
13:59:21 <lambdabot> RJCC 251330Z 33015KT 9999 SCT025 BKN050 17/12 Q1008 RMK 3CU025 7CU050 A2977
14:02:58 <fizzie> Only \r and \n.
14:03:59 <fizzie> 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 <fizzie> 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 <fizzie> (It's not my program, but I've looked at the code.)
14:05:13 <b_jonas> ^bf ....
14:06:25 <b_jonas> ^bf ....+++++++++[->+++++++++<]>....
14:06:41 <elliott_> 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 <b_jonas> ^bf +[.+]
14:06:48 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
14:06:54 <elliott_> and then merge the resulting tapes
14:07:02 <ais523> b_jonas: fungot ctcp spam was yesterday
14:07:02 <fungot> ais523: i did not die for nothing. i've seen it too, and he said the plane hits the trees
14:07:06 <elliott_> possibly this could be generalised into something that allows loosening the sync further?
14:07:16 <elliott_> *n/2, rather
14:07:23 <ais523> elliott_: check the distance to the next < or > instruction
14:07:28 <b_jonas> ^bf +++++++++[->+++++++++<]>[.-]
14:07:28 <fungot> QPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! ..<CTCP>
14:07:32 <b_jonas> ^bf .+++++++++[->+++++++++<]>[.-]
14:07:41 <b_jonas> aha, so if it outputs a zero byte, the line is truncated!
14:07:53 <elliott_> ais523: seeking ]s back to [s and taking the minimum of that and it passing the ], presumably?
14:07:54 <b_jonas> ^bf +++++++++[->+++++++++<]>.-.-.-.->.<.-.-.-.-
14:07:54 <fungot> QPON
14:07:55 <b_jonas> see
14:07:57 <Melvar> b_jonas: Will you stop sending bells please! >.<
14:07:59 <b_jonas> it doesn't filter zero bytes
14:08:04 <b_jonas> Melvar: sorry
14:08:30 <int-e> ascii is missing a "whistle" control character.
14:08:40 <ais523> elliott_: yes
14:08:51 <elliott_> ais523: that sounds expensive, though
14:08:57 <elliott_> ais523: ooh, I suppose you could recompute it though
14:08:59 <elliott_> er, precompute
14:09:02 <ais523> right
14:09:24 <elliott_> 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 <elliott_> I don't know how much of a win this would be.
14:09:44 <Melvar> Neat, broken terminal again.
14:09:49 -!- idris-bot has joined.
14:09:52 <elliott_> ideally you'd run the two programs completely independently and have them signal to each other when they need to sync.
14:09:57 <b_jonas> ^bf +++++++++++++[->++++++++++++<]>[.--]
14:09:57 <fungot> ~|zxvtrpnljhfdb`^\ZXVTRPNLJHFDB@><:86420.,*(&$" .
14:10:04 <elliott_> maybe the context-switching overhead would make that not worthwhile. 100k cycles isn't really much.
14:10:23 <int-e> Melvar: what irc client are you using anyway?
14:10:24 <elliott_> fizzie: how long does gearlance take to go through a 100k cycle match?
14:10:58 <Melvar> int-e: It’s the bot’s debug output.
14:11:06 <ais523> <elliott_> 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 <int-e> Melvar: oh, ouch :)
14:11:12 <b_jonas> elliott_: I don't see how you'd do that, because they can basically sync any time
14:11:13 <J_Arcane> Oh yay. http://www.troyhunt.com/2014/09/everything-you-need-to-know-about.html
14:11:17 <elliott_> b_jonas: not true
14:11:21 <Melvar> b_jonas: Congratulations, once more.
14:11:22 <ais523> although, even better
14:11:25 <ais523> if you had cycle-accurate timing
14:11:26 -!- idris-bot has quit (Client Quit).
14:11:35 <ais523> you could just make the two programs /literally/ run at the same speed
14:11:38 <elliott_> b_jonas: you only need to sync them when they cross the same place on the tape
14:11:39 <ais523> it's hardware, you can do fun things like that
14:11:47 -!- idris-bot has joined.
14:11:50 <b_jonas> Melvar: what? I thought that one only had even characters, and bell is odd
14:12:01 <elliott_> b_jonas: so if they're n distance apart on the tape, you can run n/2 cycles of each
14:12:16 <elliott_> b_jonas: even if they both run at each other at lightspeed, they can't observe each other at all
14:12:17 <Melvar> b_jonas: Not bell, messed-up terminal.
14:12:25 <b_jonas> elliott_: uh yeah, but the tape is really short
14:12:27 <elliott_> (the exception is when one of the flags goes to 0)
14:12:34 <b_jonas> Melvar: ah, you mean I shouldn't send you control-N and control-O!
14:12:37 <b_jonas> why didn't you say so
14:12:38 <b_jonas> sorry
14:12:44 <int-e> so the bell tolls for fungot
14:12:44 <fungot> 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 <elliott_> b_jonas: well, yes
14:13:04 <ais523> b_jonas: ESC can also be an offender, depending on what follows it
14:13:06 <int-e> ^style
14:13:06 <fungot> 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 <int-e> I see. Ouch.
14:13:45 <int-e> ^style lovecraft
14:13:46 <fungot> Selected style: lovecraft (H. P. Lovecraft's writings)
14:14:03 <int-e> fungot fungot fungot
14:14:03 <fungot> 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 <b_jonas> I usually type rlwrap netcat chat.freenode.net 6667 | cat -v specifically to avoid this
14:14:40 <int-e> uhm, how did "fnord" get into the lovecraft style?
14:14:55 <elliott_> b_jonas: that's how you IRC?
14:14:59 <elliott_> int-e: rare words
14:15:00 <FreeFull> fungot, cthulhu
14:15:00 <fungot> 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 <elliott_> int-e: fnord is just fungot's placeholder
14:15:20 <fungot> 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 <int-e> elliott_: evil
14:16:27 <elliott_> C
14:16:31 <elliott_> oops
14:16:55 <b_jonas> let me send a control-o to restore it:
14:17:49 <b_jonas> elliott_: no, that's just how I test raw irc stuff sometimes
14:19:23 -!- `^_^v has joined.
14:29:44 <HackEgo> [wiki] [[Special:Log/newusers]] create * MellisaFlorey * New user account
14:30:05 <ais523> hmm, a misspelt, camelcase, name
14:30:10 <ais523> odds it's a spambot?
14:30:48 <ais523> huh, I just found an XSS vector in MediaWiki
14:31:01 <ais523> admin-exploitable only, though, and they still have plenty of ways to do that
14:31:06 <fizzie> 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 <fizzie> (Gone for a while now.)
14:31:38 <ais523> that sort of thing could be relevant if the superprotection debacle ever happens again
14:32:20 <elliott_> ouch, that's quite bad
14:32:34 <elliott_> 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 <b_jonas> 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 <b_jonas> hmm no, probably no
14:34:00 <ais523> b_jonas: yes
14:34:07 <ais523> well. normally
14:34:29 <ais523> 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 <ais523> and one of the admins added a script to disable it
14:35:03 <b_jonas> 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 <ais523> 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 <ais523> b_jonas: yes, but the fact they'd done so would be publicly logged
14:35:29 <b_jonas> oh man, I hate that new image viewer, is there a config option to disable it?
14:35:40 <ais523> somewhere, I think
14:35:53 <ais523> the WMF are trying to convince everyone that they actually like the image viewer
14:35:55 <b_jonas> 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 <ais523> b_jonas: no, not at admin level
14:36:15 <ais523> you can certainly hide a change, but not the fact it's been hidden
14:36:22 <b_jonas> ok
14:36:28 <b_jonas> um, so how do I disable the image viewer?
14:37:14 <elliott_> also, the worst hill will take 14 and a half minutes to run with gearlance
14:37:15 <ais523> I don't know, my guess is it's in preferences
14:37:17 <elliott_> (all programs just waiting forever)
14:37:20 <b_jonas> 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 <ais523> 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 <b_jonas> 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 <HackEgo> [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 <HackEgo> [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 <b_jonas> "2 decades, 4 years" hehe
14:48:06 <b_jonas> that sounds like "two dimes, one nickel, one penny"
14:49:55 <b_jonas> and note how it has no month, forthnight, week, or day components
14:51:04 <elliott_> I like how it has code for displaying decade-long blocks in the first place.
14:56:50 -!- shikhin has joined.
15:05:13 <Melvar> < b_jonas> um, so how do I disable the image viewer? – NoScript seems to?
15:06:31 <Melvar> Or, hmm. Actually I’m not blocking wikipedia’s scripts.
15:07:16 <fizzie> 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 <elliott_> fizzie: ah
15:07:51 <fizzie> Or is it 4.2M.
15:07:53 <fizzie> I can't count.
15:07:56 <fizzie> Yes.
15:08:05 <elliott_> fizzie: so 21s for the worst hill
15:08:15 <Melvar> b_jonas: Here we go: block cookies.
15:09:50 <HackEgo> [wiki] [[Special:Log/newusers]] create * AlanaHuynh * New user account
15:12:33 <b_jonas> Melvar: all cookies? even the login cookie? then I wouldn't be logged in to the wiki.
15:14:11 <Melvar> 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 <b_jonas> Melvar: I'm not asking for wikipedia only, but for other projects using the image viewer too
15:14:51 <b_jonas> not that there's much difference
15:15:22 <b_jonas> anyway, I do want to be able to be logged in
15:15:38 <Melvar> 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 <quintopia> 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 <b_jonas> Melvar: ok, thanks for the help
15:17:17 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> (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 <elliott_> 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 <mroman_> !bfjoust strapon_fuck_machine (>)*9-<-<+(<(+)*63<(-)*63)*3(>)*8(>[(+)*7[-]])*-1
15:56:59 <zemhill> mroman_.strapon_fuck_machine: points -5.74, score 13.93, rank 45/47
15:57:11 <mroman_> :(
15:58:45 <quintopia> elliott_: yesssss
15:59:06 <elliott_> quintopia: I'm not sure it'd actually work.
15:59:53 <quintopia> elliott_: yeah i'm not sure it'd save anything. but it would look cool!
16:03:13 <mroman_> !bfjoust strapon_fuck_machine (>)*9(-)*16<(-)*10<(+)*10(<(+)*33<(-)*33)*3(>)*8(>[(+)*7[-]]>[(-)*7[+]])*-1
16:03:14 <zemhill> mroman_.strapon_fuck_machine: points -4.19, score 16.26, rank 31/47 (+14)
16:04:14 <mroman_> !bfjoust strapon_fuck_machine (>)*9(-)*16<(-)*10<(+)*10(<(+)*33<(-)*33)*3(>)*8(>[(+)*7[-].]>[(-)*7[+].])*-1
16:04:15 <zemhill> mroman_.strapon_fuck_machine: points -3.57, score 16.85, rank 29/47 (+2)
16:04:31 <elliott_> fizzie: come to think of it, couldn't you trivially parallelise running the hill?
16:04:56 <HackEgo> [wiki] [[Special:Log/newusers]] create * ShawnaEisenhaue * New user account
16:05:30 <quintopia> elliott_: if he has the cores to parallelize on!
16:06:43 <mroman_> !bfjoust strapon_fuck_machine (>)*9(-)*2<(+)*2<(+)*10(<(+)*33<(-)*33)*3(>)*8(>[(+)*7[-].]>[(-)*7[+].])*-1
16:06:44 <zemhill> mroman_.strapon_fuck_machine: points -2.81, score 17.11, rank 28/47 (+1)
16:06:55 <elliott_> quintopia: now I'm thinking about GPU bf joust.
16:07:27 -!- S1 has joined.
16:07:54 <mroman_> !bfjoust strapon_fuck_machine (>)*9(-)*2<(+)*2<(+)*20(<(+)*23<(-)*23)*3(>)*8(>[(+)*7[-].]>[(-)*7[+].])*-1
16:07:54 <zemhill> mroman_.strapon_fuck_machine: points -2.14, score 18.36, rank 25/47 (+3)
16:08:08 <mroman_> I designed that just to beat nyuroki
16:08:14 <mroman_> (Lymia.nyuroki)
16:08:17 <S1> good luck
16:08:28 -!- L8D has quit (Ping timeout: 260 seconds).
16:08:38 <mroman_> It doesn't do generally well apparentely
16:08:43 <mroman_> but it beats the crap ot ouf nyuroki
16:09:44 <S1> How can you know how it competes against one specific other program?
16:10:38 <mroman_> zem.fi/bfjoust/game
16:11:10 <fizzie> 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 <elliott_> fizzie: I wonder if the computed goto is actually a net win?
16:34:27 <elliott_> maybe it messes up branch prediction
16:41:52 <J_Arcane> Thanks to some very helpful contributions from another Racketeer, http://try-racket.org is now significantly more bugless and stable.
16:47:01 <fizzie> elliott_: It was a win in ff (some version) over a table of function pointers.
16:47:06 <fizzie> But who knows.
16:47:16 <elliott_> fizzie: I was thinking more compared to switch.
16:49:17 <fizzie> 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 <fizzie> 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 <HackEgo> [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 <elliott_> fizzie: wouldn't it be faster to put funcalls in the large opcode implementations instead?
17:11:16 <elliott_> oh, I guess that's what you meant
17:21:37 <mroman_> http://mroman.ch/mromansgame/spec.txt
17:22:12 <mroman_> 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 <mroman_> 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 <mroman_> (you could also start by displacing the opponents figure)
17:42:24 -!- HackEgo has joined.
17:42:46 <mroman_> (which means to defend against that you'd have to search your figure)
17:43:36 <mroman_> technically you could just displace the enemies figure all the time
17:44:00 <mroman_> which makes it almost impossible without guessing to find it I guess
17:44:15 <mroman_> but it will never win (just draw all the time like an imp)
18:04:41 -!- L8D has joined.
18:06:02 <mroman_> !bfjoust (-.)*-1 (-.)*-1
18:06:02 <zemhill> mroman_: Program name ((-.)*-1) is restricted to characters in [a-zA-Z0-9_-], sorry.
18:06:07 <mroman_> pff
18:06:14 <mroman_> !bfjoust pff (-.)*-1
18:06:15 <zemhill> mroman_.pff: points -26.76, score 2.98, rank 47/47
18:06:23 <mroman_> !bfjoust pff (-.-)*-1
18:06:24 <zemhill> mroman_.pff: points -22.02, score 6.69, rank 47/47 (--)
18:06:28 <mroman_> !bfjoust pff (-.--)*-1
18:06:29 <zemhill> mroman_.pff: points -23.83, score 6.38, rank 47/47 (--)
18:06:42 <mroman_> !bfjoust pff (-.->+<)*-1
18:06:43 <zemhill> mroman_.pff: points -37.40, score 2.14, rank 47/47 (--)
18:06:46 <mroman_> !bfjoust pff (-.-)*-1
18:06:47 <zemhill> mroman_.pff: points -22.02, score 6.69, rank 47/47 (--)
18:07:10 <mroman_> !bfjoust pff (>)*9([-].>)*-1
18:07:10 <zemhill> mroman_.pff: points -15.93, score 9.90, rank 47/47 (--)
18:07:26 <mroman_> S1: ^- that's a pretty easy one for example
18:07:29 <mroman_> !bfjoust pff (>)*9([-]>)*-1
18:07:29 <zemhill> mroman_.pff: points -14.83, score 10.42, rank 47/47 (--)
18:07:39 <mroman_> It just rushes 9 cells forward and does a clear
18:07:49 <mroman_> !bfjoust pff (>)*11([-]>)*-1
18:07:49 <zemhill> mroman_.pff: points -18.00, score 8.81, rank 47/47 (--)
18:07:53 <mroman_> !bfjoust pff (>)*10([-]>)*-1
18:07:57 <mroman_> !bfjoust pff (>)*10([-]>)*-1
18:07:57 <zemhill> mroman_.pff: points -16.81, score 9.38, rank 47/47 (--)
18:08:06 <mroman_> !bfjoust pff (>)*9([-]>)*-1
18:08:06 <zemhill> mroman_.pff: points -14.83, score 10.42, rank 47/47 (--)
18:08:12 <mroman_> ^- rush 9 cells forward, clear
18:08:21 <mroman_> !bfjoust pff (>(-)*3)*9([-]>)*-1
18:08:22 <zemhill> mroman_.pff: points -27.38, score 4.07, rank 47/47 (--)
18:08:35 <mroman_> ^- rush forward with decoy setup, clear (it's bad though)
18:09:20 -!- L8D has quit (Ping timeout: 260 seconds).
18:09:40 <mroman_> !bfjoust pff (>)*9(-)*20<((-)*20<(+)*20<)*4(>)*9([-]>)*-1
18:09:41 <zemhill> mroman_.pff: points -13.98, score 10.29, rank 47/47 (--)
18:09:55 <mroman_> !bfjoust pff (>)*9(-)*20<((-)*20<(+)*20<)*4(>)*9([(+)*10[-]]>)*-1
18:09:57 <zemhill> mroman_.pff: points -13.52, score 9.44, rank 47/47 (--)
18:09:59 <mroman_> crap
18:10:11 <mroman_> !bfjoust pff (>)*9(-)*10<((-)*10<(+)*10<)*4(>)*9([(+)*10[-]]>)*-1
18:10:12 <zemhill> mroman_.pff: points -11.98, score 10.83, rank 47/47 (--)
18:10:16 <mroman_> almost
18:10:27 <mroman_> !bfjoust pff (>)*9(-)*10<((-)*10<(+)*10<)*3(>)*9([(+)*10[-]]>)*-1
18:10:28 <zemhill> mroman_.pff: points -9.12, score 12.66, rank 47/47 (--)
18:10:33 <mroman_> still almost
18:10:38 <mroman_> !bfjoust pff (>)*9(-)*10<((-)*10<(+)*10<)*3(>)*9([(+)*6[-]]>)*-1
18:10:38 <zemhill> mroman_.pff: points -13.02, score 10.53, rank 47/47 (--)
18:10:42 -!- S1 has quit (Ping timeout: 245 seconds).
18:10:52 <mroman_> !bfjoust pff (>)*9(-)*5<((-)*10<(+)*10<)*3(>)*9([(+)*10[-]]>)*-1
18:10:53 <zemhill> mroman_.pff: points -8.07, score 13.45, rank 47/47 (--)
18:10:59 <mroman_> ah. screw it
18:11:07 <mroman_> Reverse decoys suck
18:12:21 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*10.[-]]>[(-)*10.[+]]>)*-1
18:12:21 <zemhill> mroman_.athena: points 1.52, score 22.71, rank 13/47 (-3)
18:12:29 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*8.[-]]>[(-)*8.[+]]>)*-1
18:12:30 <zemhill> mroman_.athena: points 1.10, score 22.33, rank 14/47 (-1)
18:12:36 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:12:36 <zemhill> mroman_.athena: points 2.21, score 23.42, rank 10/47 (+4)
18:12:43 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*6.[-]]>[(-)*6.[+]]>)*-1
18:12:43 <zemhill> mroman_.athena: points 1.33, score 22.58, rank 13/47 (-3)
18:12:49 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*10>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:12:50 <zemhill> mroman_.athena: points 2.21, score 23.42, rank 10/47 (+3)
18:13:11 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*5>(-)*5>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:13:12 <zemhill> mroman_.athena: points 1.98, score 23.19, rank 10/47 (--)
18:13:17 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*15>(-)*5>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:13:18 <zemhill> mroman_.athena: points 2.36, score 23.53, rank 9/47 (+1)
18:13:21 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*15>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:13:22 <zemhill> mroman_.athena: points 2.21, score 23.64, rank 9/47 (--)
18:13:27 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:13:28 <zemhill> mroman_.athena: points 2.31, score 23.81, rank 9/47 (--)
18:13:33 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*25>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:13:33 <zemhill> mroman_.athena: points 1.36, score 22.63, rank 13/47 (-4)
18:13:38 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*10>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:13:39 <zemhill> mroman_.athena: points 1.83, score 23.12, rank 11/47 (+2)
18:13:43 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:13:43 <zemhill> mroman_.athena: points 2.31, score 23.81, rank 9/47 (+2)
18:13:46 <mroman_> hm
18:13:53 <mroman_> alright.
18:14:05 <mroman_> !bfjoust athena (>(+)*14>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:14:06 <zemhill> mroman_.athena: points 1.43, score 22.87, rank 13/47 (-4)
18:14:12 <mroman_> !bfjoust athena (>(+)*12>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:14:13 <zemhill> mroman_.athena: points 1.12, score 22.18, rank 14/47 (-1)
18:14:17 <mroman_> !bfjoust athena (>(+)*13>(-)*7)*5>(-)*25>(-)*15>([(+)*7.[-]]>[(-)*7.[+]]>)*-1
18:14:18 <zemhill> mroman_.athena: points 2.31, score 23.81, rank 9/47 (+5)
18:14:24 <mroman_> the timings are real o_O
18:15:07 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*7[+]]+](<)*11([-][+]>)*-1
18:15:08 <zemhill> mroman_.snail: points -0.10, score 21.33, rank 16/47 (-1)
18:15:12 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*11[+]]+](<)*11([-][+]>)*-1
18:15:13 <zemhill> mroman_.snail: points 1.29, score 21.99, rank 15/47 (+1)
18:15:21 <mroman_> !bfjoust snail (>(-)*14>(+)*9)*5[>[(-)*12[+]]+](<)*11([-][+]>)*-1
18:15:22 <zemhill> mroman_.snail: points 0.07, score 20.81, rank 17/47 (-2)
18:15:28 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*11([-][+]>)*-1
18:15:28 <zemhill> mroman_.snail: points 1.12, score 21.72, rank 15/47 (+2)
18:15:38 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*10([-][+]>)*-1
18:15:39 <zemhill> mroman_.snail: points 1.07, score 21.67, rank 15/47 (--)
18:15:51 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*11([-]>)*-1
18:15:51 <zemhill> mroman_.snail: points 1.19, score 21.79, rank 15/47 (--)
18:16:04 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*11([(+)*9[-]]>)*-1
18:16:05 <zemhill> mroman_.snail: points 1.24, score 21.84, rank 15/47 (--)
18:16:10 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+].]+](<)*11([(+)*9[-]]>)*-1
18:16:11 <zemhill> mroman_.snail: points 1.90, score 22.61, rank 14/47 (+1)
18:16:14 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+].]+](<)*11([(+)*9[-].]>)*-1
18:16:15 <zemhill> mroman_.snail: points 1.90, score 22.61, rank 14/47 (--)
18:16:18 <mroman_> hehe
18:16:24 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
18:16:28 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+].]+](<)*11([(+)*9[-]].>)*-1
18:16:28 <zemhill> mroman_.snail: points 2.02, score 22.73, rank 13/47 (+1)
18:16:35 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+]]+](<)*11([(+)*9[-]].>)*-1
18:16:36 <zemhill> mroman_.snail: points 1.36, score 21.95, rank 15/47 (-2)
18:16:38 <mroman_> !bfjoust snail (>(-)*14>(+)*8)*5[>[(-)*11[+].]+](<)*11([(+)*9[-]].>)*-1
18:16:39 <zemhill> mroman_.snail: points 2.02, score 22.73, rank 13/47 (+2)
18:36:23 <mroman_> !bfjoust wigglewigglewiggleyeah (+.+.-.)*-1
18:36:26 <zemhill> mroman_.wigglewigglewiggleyeah: points -14.52, score 7.91, rank 47/47
18:36:34 <mroman_> !bfjoust wigglewigglewiggleyeah (+.+.+.-.)*-1
18:36:36 <zemhill> mroman_.wigglewigglewiggleyeah: points -16.74, score 7.29, rank 47/47 (--)
18:36:39 <mroman_> !bfjoust wigglewigglewiggleyeah (+.+.+.-.-.)*-1
18:36:41 <zemhill> mroman_.wigglewigglewiggleyeah: points -12.52, score 9.15, rank 47/47 (--)
18:36:45 <mroman_> !bfjoust wigglewigglewiggleyeah (+.+.+.-.-)*-1
18:36:46 <zemhill> mroman_.wigglewigglewiggleyeah: points -24.67, score 6.18, rank 47/47 (--)
18:37:03 <mroman_> !bfjoust wigglewigglewiggleyeah >(128+)<(+.+.+.-.-.)*-1
18:37:04 <zemhill> mroman_.wigglewigglewiggleyeah: points -12.50, score 9.15, rank 47/47 (--)
18:37:17 <mroman_> !bfjoust wigglewigglewiggleyeah (>(128+))*3<<<(+.+.+.-.-.)*-1
18:37:19 <zemhill> mroman_.wigglewigglewiggleyeah: points -12.14, score 9.40, rank 47/47 (--)
18:37:29 <mroman_> !bfjoust wigglewigglewiggleyeah (>(128+))*3<<<(+.+.+.+.-.-.-.)*-1
18:37:31 <zemhill> mroman_.wigglewigglewiggleyeah: points -12.07, score 9.42, rank 47/47 (--)
18:37:42 <mroman_> !bfjoust wigglewigglewiggleyeah (>(128+))*8(<)*8(+.+.+.+.-.-.-.)*-1
18:37:43 <zemhill> mroman_.wigglewigglewiggleyeah: points -11.83, score 9.91, rank 47/47 (--)
18:38:10 <mroman_> !bfjoust wigglewigglewiggleyeah (>(+)*128)*8(<)*8(+.+.+.+.-.-.-.)*-1
18:38:12 <zemhill> mroman_.wigglewigglewiggleyeah: points -27.74, score 4.18, rank 47/47 (--)
18:38:19 <mroman_> !bfjoust wigglewigglewiggleyeah (>(+)*10)*8(<)*8(+.+.+.+.-.-.-.)*-1
18:38:21 <zemhill> mroman_.wigglewigglewiggleyeah: points -21.05, score 5.59, rank 47/47 (--)
18:38:30 <mroman_> !bfjoust wigglewigglewiggleyeah (>+)*8(<)*8(+.+.+.+.-.-.-.)*-1
18:38:32 <zemhill> mroman_.wigglewigglewiggleyeah: points -19.86, score 3.99, rank 47/47 (--)
18:38:45 <mroman_> !bfjoust wigglewigglewiggleyeah (>(+)*128)*3<<<(+.+.+.+.-.-.-.)*-1
18:38:47 <zemhill> mroman_.wigglewigglewiggleyeah: points -18.12, score 5.91, rank 47/47 (--)
18:38:52 <mroman_> :(
18:38:58 <mroman_> not working anymore
18:54:48 <mroman_> !bfjoust clear (>)*9([-[-].]>)*-1
18:54:49 <zemhill> mroman_.clear: points -16.69, score 9.63, rank 47/47
18:54:55 <mroman_> !bfjoust clear (>)*10([-[-].]>)*-1
18:54:55 <zemhill> mroman_.clear: points -18.62, score 8.64, rank 47/47 (--)
18:55:04 <mroman_> !bfjoust clear (>)*9([--[-].]>)*-1
18:55:05 <zemhill> mroman_.clear: points -17.43, score 9.37, rank 47/47 (--)
18:55:16 <mroman_> !bfjoust clear (>)*9([(+)*10[-].]>)*-1
18:55:21 <mroman_> !bfjoust clear (>)*9([(+)*10[-].]>)*-1
18:55:21 <zemhill> mroman_.clear: points -9.12, score 13.60, rank 47/47 (--)
18:55:27 <mroman_> !bfjoust clear (>)*9([(+)*20[-].]>)*-1
18:55:27 <zemhill> mroman_.clear: points -16.40, score 9.93, rank 47/47 (--)
18:55:39 <mroman_> !bfjoust clear (>)*9([(+)*10[(-)*3].]>)*-1
18:55:40 <zemhill> 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 <mroman_> !bfjoust clear (>-)*9([(+)*10[-].]>)*-1
20:18:27 <zemhill> mroman_.clear: points -19.64, score 7.62, rank 47/47 (--)
20:19:05 <mroman_> !bfjoust clear (>)*9(+)*32<(-)*32>>([(+)*10[-].]>)*-1
20:19:06 <zemhill> mroman_.clear: points -19.14, score 7.99, rank 47/47 (--)
20:19:15 <mroman_> hm
20:19:34 -!- GeekDude has joined.
20:20:04 <mroman_> !bfjoust clear (>)*9(>[-..>+<])*-1
20:20:05 <zemhill> mroman_.clear: points -34.62, score 2.59, rank 47/47 (--)
20:20:30 <mroman_> !bfjoust clear (>)*9(>[-..])*-1
20:20:31 <zemhill> mroman_.clear: points -24.62, score 6.61, rank 47/47 (--)
20:20:35 <mroman_> !bfjoust clear (>)*9(>[-.-.])*-1
20:20:35 <zemhill> mroman_.clear: points -22.24, score 7.19, rank 47/47 (--)
20:20:39 <mroman_> !bfjoust clear (>)*9(>[-.-.-])*-1
20:20:39 <zemhill> mroman_.clear: points -20.79, score 7.84, rank 47/47 (--)
20:20:43 <mroman_> !bfjoust clear (>)*9(>[-.-.-.-.])*-1
20:20:44 <zemhill> mroman_.clear: points -24.98, score 6.30, rank 47/47 (--)
20:20:49 <mroman_> !bfjoust clear (>)*9(>[-.-.-])*-1
20:20:49 <zemhill> mroman_.clear: points -20.79, score 7.84, rank 47/47 (--)
20:21:02 <mroman_> !bfjoust clear (>)*9(>[-.-.-]>[+.+.+])*-1
20:21:03 <zemhill> mroman_.clear: points -21.36, score 7.40, rank 47/47 (--)
20:21:24 <mroman_> !bfjoust clear (>------------->+++++++)*4>>>>>(>[-.-.-])*-1
20:21:25 <zemhill> mroman_.clear: points -22.90, score 7.18, rank 47/47 (--)
20:21:28 <mroman_> !bfjoust clear (>------------->+++++++)*4>>>>(>[-.-.-])*-1
20:21:29 <zemhill> mroman_.clear: points -22.69, score 7.17, rank 47/47 (--)
20:21:39 <mroman_> !bfjoust clear (>------------->+++++++)*4>>>>(>[-.+.-])*-1
20:21:40 <zemhill> mroman_.clear: points -26.10, score 5.97, rank 47/47 (--)
20:21:47 <mroman_> !bfjoust clear (>------------->+++++++)*4>>>>(>[-.[+].-])*-1
20:21:47 <zemhill> mroman_.clear: points -29.36, score 4.54, rank 47/47 (--)
20:22:02 <mroman_> hm.
20:22:07 <mroman_> can you detect polarity?
20:22:39 <mroman_> i.e detect that decoys are >(+)*a>(-)*b or >(-)*a>(+)*b
20:22:58 <mroman_> i. mean
20:23:08 <mroman_> you could clear the first decoy and check if it took more than n cycle
20:23:27 <mroman_> if it took more you chose the wrong polarity
20:24:00 <mroman_> also is there some C-like meta-language that compiles to BFjoust :D?
20:25:23 <mroman_> !bfjoust sleep (+[.-])*-1
20:25:24 <zemhill> mroman_.sleep: points -26.24, score 4.12, rank 47/47
20:25:32 <mroman_> !bfjoust sleep (+[>.-])*-1
20:25:32 <zemhill> mroman_.sleep: points -45.90, score 0.04, rank 47/47 (--)
20:25:43 <mroman_> !bfjoust sleep (+[>-<])*-1
20:25:45 <zemhill> mroman_.sleep: points -24.57, score 4.32, rank 47/47 (--)
20:26:16 <mroman_> !bfjoust sleep ([>--<])*-1
20:26:20 <zemhill> mroman_.sleep: points -20.83, score 4.63, rank 47/47 (--)
20:26:25 <mroman_> !bfjoust sleep ([>(-)*5<])*-1
20:26:28 <zemhill> mroman_.sleep: points -23.93, score 4.31, rank 47/47 (--)
20:26:32 <mroman_> !bfjoust sleep ([>(-)*3<])*-1
20:26:36 <zemhill> mroman_.sleep: points -18.57, score 5.27, rank 47/47 (--)
20:26:53 <mroman_> !bfjoust sleep ([>(-)*3<+-])*-1
20:26:56 <zemhill> mroman_.sleep: points -22.14, score 5.59, rank 47/47 (--)
20:27:11 <mroman_> !bfjoust sleep (>[>(-)*3<+-])*-1
20:27:12 <zemhill> mroman_.sleep: points -34.57, score 2.44, rank 47/47 (--)
20:27:46 <mroman_> clearing and leaving decoys after clear is inefficient
20:28:04 <mroman_> because changes are huge that the opponent already advanced further on the tape than his decoys
20:28:25 <mroman_> 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 <mroman_> I'm not sure whether a (>-)*9(<)*9 decoy-setup-rush
20:29:15 <mroman_> followed by the real decoy setup (with larger) decoys
20:29:20 <mroman_> then followed by a clear is much better
20:29:47 <mroman_> also it looks like some programs detect your decoys
20:29:52 <mroman_> and jump past three or five of them
20:30:00 <mroman_> which makes them advance to your flag pretty quickly
20:30:57 <mroman_> hm
20:31:16 <mroman_> (>[])*-1 searches for a non empty cell
20:31:22 <mroman_> but this blocks until the cell reaches zero
20:31:27 <mroman_> so it's not really good
20:31:52 <HackEgo> [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 <mroman_> !bfjoust detect_clear (>[(>)*2(>[(+)*10.[-]])*-1])*-1
20:32:22 <zemhill> mroman_.detect_clear: points -9.55, score 12.85, rank 47/47
20:32:27 <mroman_> like that I think
20:32:49 <HackEgo> [wiki] [[Mindcrush]] http://esolangs.org/w/index.php?diff=40535&oldid=40534 * 76.198.18.197 * (-14) /* Mindcrush */ removed superfluous header
20:33:18 <Jafet> Can "brainfuck derivative" be added to the spam blacklist
20:33:59 <HackEgo> [wiki] [[Mindcrush]] http://esolangs.org/w/index.php?diff=40536&oldid=40535 * 76.198.18.197 * (-31)
20:34:20 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*10.[-]]>)*-1])*-1
20:34:21 <zemhill> mroman_.search_and_destroy: points -9.55, score 12.85, rank 47/47
20:34:28 <mroman_> !bfjoust search_and_destroy (>[>>>>([(+)*10.[-]]>)*-1])*-1
20:34:28 <zemhill> mroman_.search_and_destroy: points -9.26, score 13.41, rank 47/47 (--)
20:34:31 <mroman_> !bfjoust search_and_destroy (>[>>>>>([(+)*10.[-]]>)*-1])*-1
20:34:31 <zemhill> mroman_.search_and_destroy: points -8.38, score 13.88, rank 45/47 (+2)
20:34:34 <mroman_> !bfjoust search_and_destroy (>[>>>>>>([(+)*10.[-]]>)*-1])*-1
20:34:35 <zemhill> mroman_.search_and_destroy: points -13.45, score 11.42, rank 47/47 (-2)
20:34:43 <mroman_> !bfjoust search_and_destroy (>[>>>>([(+)*6.[-]]>)*-1])*-1
20:34:43 <zemhill> mroman_.search_and_destroy: points -6.52, score 15.06, rank 39/47 (+8)
20:34:49 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*6.[-]]>)*-1])*-1
20:34:49 <zemhill> mroman_.search_and_destroy: points -4.88, score 15.70, rank 35/47 (+4)
20:34:53 <mroman_> !bfjoust search_and_destroy (>[>>([(+)*6.[-]]>)*-1])*-1
20:34:53 <HackEgo> [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 <zemhill> mroman_.search_and_destroy: points -6.57, score 14.30, rank 44/47 (-9)
20:34:57 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*6.[-]]>)*-1])*-1
20:34:57 <zemhill> mroman_.search_and_destroy: points -4.88, score 15.70, rank 35/47 (+9)
20:35:00 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7.[-]]>)*-1])*-1
20:35:00 <zemhill> mroman_.search_and_destroy: points -5.36, score 15.75, rank 34/47 (+1)
20:35:03 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*8.[-]]>)*-1])*-1
20:35:04 <zemhill> mroman_.search_and_destroy: points -7.95, score 13.85, rank 45/47 (-11)
20:35:08 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7[-]]>)*-1])*-1
20:35:09 <zemhill> mroman_.search_and_destroy: points -5.55, score 15.54, rank 35/47 (+10)
20:35:15 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7.[-]]>)*-1])*-1
20:35:16 <zemhill> mroman_.search_and_destroy: points -5.36, score 15.75, rank 34/47 (+1)
20:35:20 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7.[-].]>)*-1])*-1
20:35:21 <zemhill> mroman_.search_and_destroy: points -6.67, score 14.85, rank 40/47 (-6)
20:35:23 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1
20:35:24 <zemhill> mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+6)
20:35:35 <mroman_> !bfjoust search_and_destroy (>)*7(>[>>>([(+)*7[-].]>)*-1])*-1
20:35:36 <zemhill> mroman_.search_and_destroy: points -9.67, score 13.27, rank 47/47 (-13)
20:35:39 <mroman_> !bfjoust search_and_destroy (>)*3(>[>>>([(+)*7[-].]>)*-1])*-1
20:35:40 <zemhill> mroman_.search_and_destroy: points -7.05, score 14.86, rank 41/47 (+6)
20:35:47 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1
20:35:47 <zemhill> mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+7)
20:36:12 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>[(-)*7[+].]>)*-1])*-1
20:36:12 <zemhill> mroman_.search_and_destroy: points -5.90, score 15.07, rank 38/47 (-4)
20:36:17 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1
20:36:17 <zemhill> mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+4)
20:36:23 <mroman_> ok
20:36:41 <mroman_> this should search for a decoy and then skip three cells and go in a clear
20:36:47 <mroman_> but it's obviously not that good :(
20:37:16 -!- S1 has joined.
20:38:04 <AndoDaan> 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 <Jafet> The loop looks like a lock
20:38:23 <Jafet> Oh, it's a clear
20:38:24 <AndoDaan> I thought it just means "keep doing this."
20:38:50 <mroman_> i think *-1 is the same as *9999
20:39:08 <mroman_> i.e. do this 9999 times
20:39:38 <mroman_> !bfjoust search_and_destroy (>[>([(+)*7[-].]>)*-1])*-1
20:39:39 <zemhill> mroman_.search_and_destroy: points -8.93, score 12.91, rank 47/47 (-13)
20:39:43 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1
20:39:44 <zemhill> mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+13)
20:39:56 <mroman_> against slow decoy setups this will loose on small tapes
20:39:57 <mroman_> :)
20:40:04 <mroman_> because >>> just jumps of the tape
20:40:07 <Jafet> Why don't you skip 7 cells at the start?
20:40:13 <mroman_> Jafet: because that sucks
20:40:22 <mroman_> !bfjoust search_and_destroy (>)*7(>[>>>([(+)*7[-].]>)*-1])*-1
20:40:22 <zemhill> mroman_.search_and_destroy: points -9.67, score 13.27, rank 47/47 (-13)
20:40:25 <mroman_> ^- see
20:40:26 <mroman_> it sucks
20:40:33 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1
20:40:33 <zemhill> mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+13)
20:40:44 <mroman_> I don't know why
20:40:49 <mroman_> but it does
20:40:54 <mroman_> !bfjoust search_and_destroy >(>[>>>([(+)*7[-].]>)*-1])*-1
20:40:55 <zemhill> mroman_.search_and_destroy: points -5.69, score 15.64, rank 35/47 (-1)
20:40:57 <Jafet> It sucks, but it looks more like a decoy hunter to me
20:41:01 <mroman_> !bfjoust search_and_destroy (>[>>>([(+)*7[-].]>)*-1])*-1
20:41:01 <zemhill> mroman_.search_and_destroy: points -5.38, score 15.73, rank 34/47 (+1)
20:41:02 -!- L8D has joined.
20:41:03 <AndoDaan> The mysteries of Brain Fuck.
20:41:14 <AndoDaan> Hello, L8D.
20:41:28 <mroman_> maybe with a decoy setup ...
20:41:29 <L8D> AndoDaan: hi? that was weird
20:41:30 <AndoDaan> How's you're jousting going.
20:41:44 <AndoDaan> I know right. I'm still new here.
20:41:46 <L8D> AndoDaan: Doing pretty well. My first and only two bots seem to have solid ranks
20:41:47 <AndoDaan> Too.
20:41:52 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*2(>[>>>([(+)*7[-].]>)*-1])*-1
20:41:52 <zemhill> mroman_.search_and_destroy: points -2.69, score 19.14, rank 23/47 (+11)
20:41:55 <mroman_> yeah
20:41:58 <AndoDaan> Good for yoda.
20:41:59 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>([(+)*7[-].]>)*-1])*-1
20:42:00 <zemhill> mroman_.search_and_destroy: points 1.00, score 22.64, rank 13/47 (+10)
20:42:04 <Jafet> Well, the likely reason is there won't have been enough time after skipping 7 for the enemy to make decoys
20:42:04 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*4(>[>>>([(+)*7[-].]>)*-1])*-1
20:42:05 <zemhill> mroman_.search_and_destroy: points -1.17, score 20.43, rank 18/47 (-5)
20:42:12 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*4(>[([(+)*7[-].]>)*-1])*-1
20:42:13 <zemhill> mroman_.search_and_destroy: points -6.07, score 16.26, rank 31/47 (-13)
20:42:18 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>([(+)*7[-].]>)*-1])*-1
20:42:18 <zemhill> mroman_.search_and_destroy: points 1.00, score 22.64, rank 13/47 (+18)
20:42:31 <L8D> !bfjoust yoda (>)*8(>[(+)*5[-]])*21
20:42:31 <Jafet> So your program just runs off the end then
20:42:32 <zemhill> L8D.yoda: points -4.05, score 17.33, rank 30/47 (--)
20:42:37 <L8D> !bfjoust yoda (>)*8(>[(+)*10[-]])*21
20:42:37 <zemhill> L8D.yoda: points -6.48, score 15.39, rank 37/47 (-7)
20:42:45 <L8D> !bfjoust yoda (>)*8(>[(+)*3[-]])*21
20:42:45 <zemhill> L8D.yoda: points -5.45, score 16.40, rank 33/47 (+4)
20:42:50 <L8D> !bfjoust yoda (>)*8(>[(+)*6[-]])*21
20:42:52 <zemhill> L8D.yoda: points -4.29, score 17.01, rank 30/47 (+3)
20:42:57 <L8D> !bfjoust yoda (>)*8(>[(+)*5[-]])*21
20:42:58 <zemhill> L8D.yoda: points -4.05, score 17.33, rank 30/47 (--)
20:43:01 <L8D> mwahahahaha
20:43:09 <L8D> offset of 5 it is!
20:43:16 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>([(+)*7[-].]>)*-1])*-1
20:43:16 <zemhill> mroman_.search_and_destroy: points 1.00, score 22.65, rank 13/47 (--)
20:43:19 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>>([(+)*7[-].]>)*-1])*-1
20:43:20 <zemhill> mroman_.search_and_destroy: points 3.17, score 24.69, rank 8/47 (+5)
20:43:23 <L8D> I prefer small and simplified programs...
20:43:25 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>>>([(+)*7[-].]>)*-1])*-1
20:43:25 <zemhill> mroman_.search_and_destroy: points 4.31, score 26.06, rank 8/47 (--)
20:43:29 <mroman_> !bfjoust search_and_destroy (>(+)*13>(-)*7)*3(>[>>>>([(+)*7[-].]>)*-1])*-1
20:43:29 <zemhill> mroman_.search_and_destroy: points 3.17, score 24.69, rank 8/47 (--)
20:43:46 <L8D> And L8D.blitz was one of the first out there that could beat nyuroki
20:44:07 <L8D> ...because I specifically designed it to beat nyuroki...
20:44:27 <L8D> I feel like I introduced a revolutionary concept to the bfjousting community
20:44:56 <L8D> which is analyzing your competition and using offset/decoys that are just-high-enough
20:45:30 <fizzie> *-1 is actually the same as *100000.
20:45:41 <fizzie> Or any negative number, in fact.
20:48:46 <L8D> now L8D.blitz is in 18th ;(
20:49:15 <L8D> it was in 8th for a little bit and ventured back to 12-14th
20:51:34 <mroman_> Yeah
20:51:38 <mroman_> you got beat by me
20:51:42 <mroman_> who knows bfjoust for what
20:51:44 <mroman_> two days now?
20:51:49 <mroman_> ;)
20:52:09 <L8D> I learned it last night...
20:52:16 <L8D> hence why I've only maintained two bots
20:52:21 <mroman_> :(
20:52:34 <L8D> but nice job with snail
20:52:35 <mroman_> hm
20:52:51 <mroman_> why snail?
20:52:57 <mroman_> search_and_destroy is way better
20:53:15 <L8D> er...it barely beats blitz
20:53:20 <mroman_> ok
20:53:22 <mroman_> ah
20:53:31 <mroman_> snail leaves a slimy trail after clearing
20:54:05 <L8D> !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*11[-]]+)*21
20:54:07 <zemhill> L8D.blitz: points -1.43, score 19.01, rank 22/47 (-4)
20:54:11 <L8D> o.o
20:54:15 <L8D> !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*9[-]]+)*21
20:54:15 <zemhill> L8D.blitz: points -2.71, score 18.33, rank 24/47 (-2)
20:54:20 <L8D> !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*10[-]]+)*21
20:54:20 <zemhill> L8D.blitz: points -0.17, score 20.27, rank 18/47 (+6)
20:54:30 <L8D> !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*12[-]]+)*21
20:54:30 <zemhill> L8D.blitz: points -1.88, score 18.61, rank 24/47 (-6)
20:54:38 <L8D> You're decoys are uneven
20:54:48 <L8D> !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*13[-]]+)*21
20:54:49 <zemhill> L8D.blitz: points -1.07, score 19.07, rank 22/47 (+2)
20:54:52 <L8D> !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*14[-]]+)*21
20:54:53 <zemhill> L8D.blitz: points -1.74, score 18.60, rank 24/47 (-2)
20:54:56 <L8D> !bfjoust blitz (>->+)*4((+)*11<(-)*12<)*4(>)*8(>[(+)*10[-]]+)*21
20:54:57 <zemhill> L8D.blitz: points -0.17, score 20.27, rank 18/47 (+6)
20:56:24 <mroman_> nyuroki loses against two of my bots
20:56:45 <L8D> I see several bots have taken inspiration from my method...
20:57:14 <L8D> with decoys of height 11 instead of 10
20:58:10 <mroman_> i use 13,7 alternating for decoys
20:58:35 <HackEgo> [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 <HackEgo> [wiki] [[Special:Log/newusers]] create * BelleMendis * New user account
22:09:52 -!- AndoDaan has quit (Ping timeout: 250 seconds).
22:13:59 <Lymia> Hmm...
22:14:04 <Lymia> Now here's a conudrum
22:14:19 <Lymia> 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 <L8D> Lymia: http://esolangs.org/wiki/BF_Joust_strategies#Wiggle_clear
22:27:05 <L8D> 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 <HackEgo> [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 <oerjan> 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 <oerjan> <elliott_> yeah, traces are finite so programs are too <-- hm the number should be calculable
23:19:17 <elliott_> oerjan: it's a little subtle, since e.g. ] and . can look equivalent in one trace
23:19:26 <elliott_> (but not under different circumstances)
23:19:49 <oerjan> elliott_: well i mean the number of trivially non-equivalent programs in 100000 steps
23:20:01 <elliott_> right
23:20:12 <elliott_> I agree it's calculable, just it's not quite as simple as "count the unique traces" or whatever
23:20:18 <oerjan> i am thinking you do it via conversion to the never-running ] form which people have alluded to
23:20:27 <oerjan> (the exponential size one)
23:21:08 <oerjan> essentially a kind of CPS transform
23:21:40 <elliott_> so a conventionally-written program would appear as an equivalent in the set, just in the weirdo form?
23:22:14 <oerjan> yes. it's not hard to translate back and forth as long as you have exponential time
23:24:30 <oerjan> 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 <oerjan> you could even use the notation [P]Q for the latter and it would be legal BF joust syntax.
23:27:25 <elliott_> right.
23:27:26 <oerjan> so if you want to count them, f(n) = 5*f(n-1) + f(n-1)^2
23:27:45 <oerjan> where n is the number of steps
23:27:52 <oerjan> f(0) = 1 presumably
23:27:58 <elliott_> what about [P]P?
23:28:01 <elliott_> you don't want to count that
23:28:16 <elliott_> it's equivalent to .P, I guess
23:28:17 <oerjan> hm oh you want that to be treated as equivalent to .P
23:28:24 <oerjan> ok i wasn't thinking that far
23:28:43 <oerjan> (was briefly considering how to ignore the initial polarity)
23:28:55 <elliott_> 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 <oerjan> i said _trivially_ non-equivalent above, didn't i? i certainly meant to exclude looking at actual tape contents
23:30:54 <oerjan> 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 <oerjan> 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 <oerjan> well, actually, _theoretically_ it's all finite.
23:32:59 <oerjan> > iterate (\f -> f*(5 + f)) 1
23:33:01 <lambdabot> [1,6,66,4686,21982026,483209576974806,233491495280173380882643611666,5451827...
23:33:11 <oerjan> looks somewhat large
23:33:22 <elliott_> I guess adding a duplicate to the hill shouldn't change any rankings with the markov score system? maybe?
23:33:27 <elliott_> maybe it does
23:33:44 <elliott_> really I just want to know what the platonically winningest BF Joust program is
23:33:53 <elliott_> (I suspect it's tied)
23:35:37 <oerjan> heh
23:36:00 <oerjan> there's going to be a nash equilibrium somewhere
23:36:07 <oerjan> (possibly more than one)
23:36:15 <elliott_> yeah.
23:36:34 <elliott_> I'd be interested in how well the higher-up programs do against the actual hill.
23:37:30 <oerjan> hm a duplicate will always tie against itself, i think?
23:38:26 <oerjan> since nothing can break the symmetry
23:38:29 <Bike> does , do something?
23:38:35 <oerjan> Bike: no
23:38:58 <Bike> oh. i was thinking it could input from a random stream just to fuck all this up.
23:39:03 <oerjan> why am i not eating again
23:40:21 -!- boily has joined.
23:42:18 <elliott_> yes, X ties X, but I guess other programs then have to fight X twice?
23:42:27 <elliott_> and maybe that could dilute the scores? I don't understand the scoring well enough to say
23:42:42 <elliott_> possibly each X would just be betting half the score because of the tie, though
23:48:00 <HackEgo> [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 <HackEgo> [wiki] [[Talk:Pada]] http://esolangs.org/w/index.php?diff=40541&oldid=40540 * 77.181.56.186 * (+38)
2014-09-26
00:00:16 <oerjan> 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 <oerjan> *non-equivalence
00:01:01 <oerjan> the polarity part is because we might want flipped polarities not to change equivalence
00:02:43 <oerjan> this would be a non-trivial equivalence, of course.
00:05:54 <oerjan> 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 <oerjan> <ais523> you need 768 to allow for all possible defence programs <-- hm i think that's fewer than i need?
00:15:16 <oerjan> oh hm wait
00:16:26 <oerjan> > 768 `divMod` 11
00:16:28 <lambdabot> (69,9)
00:17:35 <oerjan> although i didn't try to minimize it
00:18:01 <HackEgo> [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 <oerjan> hm wait
00:18:26 <oerjan> am i reading the quantifiers in his claim wrong
00:19:08 <oerjan> i think he's solving a different problem
00:19:18 <boily> > 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 3
00:19:20 <lambdabot> 768
00:19:45 <oerjan> ok then my result is stronger i think
00:19:52 <oerjan> boily: ah
00:20:11 <boily> yup. insanely bored.
00:20:36 <oerjan> i think i can at least halve that
00:21:08 <oerjan> you need to beat his program on only one polarity and tape length
00:21:22 <oerjan> or wait
00:21:35 <oerjan> nah maybe that _is_ about the right order of magnitude
00:29:13 <boily> fungot: is it magnitudinally correct?
00:29:14 <fungot> 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 <boily> oerjan: only if you worship the devil. (which, considered that it pertains to a bf joust, could be quite useful.)
00:37:11 <oerjan> a lovely crafted estimate
00:42:55 <oerjan> @tell fizzie <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 <lambdabot> Consider it noted.
00:45:14 <FreeFull> > 2^200
00:45:16 <lambdabot> 1606938044258990275541962092341162602522202993782792835301376
00:56:14 <boily> > 2 ^ 2 ^ 2 ^ 2
00:56:16 <lambdabot> 65536
00:56:40 <boily> hm. (^) is infixr...
00:56:53 <boily> > 2 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2
00:56:57 <Bicyclidine> that's the usual convention, no?
00:56:58 <lambdabot> mueval: ExitFailure 1
00:57:11 <boily> YES! another bot with cryptic error messages!
00:57:26 <boily> Bicyclidine: I couldn't remember.
00:57:48 <Bicyclidine> well, it is. of course if you need to worry about that you may have scary issues
00:58:08 <elliott_> 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 <elliott_> where trace is limited to the 100k.
00:58:41 <elliott_> oh
00:58:49 <elliott_> I guess you actually want to omit polarity there
00:58:57 <boily> 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 <elliott_> oerjan: though then you have the weird thing where you erase the polarity but not the tape lengths
00:59:18 <Bicyclidine> boily: whatreya doin wi nested exponentials then?
00:59:36 <elliott_> oerjan: (as opposed to only considering warrior vs. warrior all-tape-lengths-and-polarities results, which seems obviously too coarse-grained)
00:59:49 <boily> Bicyclidine: exploring large numbers.
00:59:50 <oerjan> elliott_: is trace the exact list of commands the warriors execute?
01:00:00 <elliott_> note that for tail representation, (>)*30p = (>)*30q forall p, q
01:00:11 <elliott_> as in, the neverending ] representation
01:00:20 <elliott_> 29, even
01:00:22 <boily> (I wonder if powers of two are normal...)
01:00:26 <elliott_> so there's lots of subtleties there.
01:00:38 <oerjan> elliott_: what exactly is trace
01:00:43 <elliott_> oerjan: yes, I suppose so
01:00:55 <elliott_> oerjan: I was thinking it'd just be the tape + tape pointers + flag count for each step
01:00:59 <elliott_> *flag counter
01:01:32 <elliott_> 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 <Bicyclidine> boily: iirc the end digits are constant after a while
01:01:53 <Bicyclidine> something to do with modular arithmetic, which i'm not nearly smart enough for
01:01:53 <oerjan> elliott_: oh. so ignoring the difference between [].
01:02:06 <oerjan> but everything else counts
01:02:24 <elliott_> 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 <elliott_> because it has to fake the loop structure for every possible r.
01:02:42 <elliott_> which amounts to actually doing the loops.
01:03:03 <elliott_> also, I'm waving my hands really fast right now!!
01:03:04 <boily> Bicyclidine: I'll be putting that in my todo backlog list.
01:03:16 <boily> (that refering to modular arithmetic.)
01:04:07 <Bicyclidine> it's why you can get graham's number digits from the right.
01:04:12 <elliott_> oerjan: how about this? p === q = forall hill. add(p,hill) = add(q,hill) (note: hills contain exact points/scoring numbers)
01:04:22 <Bicyclidine> http://en.wikipedia.org/wiki/Graham%27s_number#Rightmost_decimal_digits right ok.
01:04:45 <elliott_> oerjan: that captures exactly what you want for a hill of all programs
01:06:34 <oerjan> i think my brain just turned off
01:07:34 <elliott_> I guess you can determine some things about the scoring property of the ur-hill using your beat-any-program programs
01:07:43 <oerjan> 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 <elliott_> oh, good point
01:08:12 <elliott_> I sort of feel like [] and . really are equivalent there though
01:08:16 <elliott_> since the results are "constant"?
01:08:31 <oerjan> oh and that the cell can possibly be either 0 or nonzero
01:08:36 <elliott_> a bf joust program starting [>] might as well be a bf joust program starting .>.
01:08:58 <elliott_> there'd certainly be no point having both on the same hill
01:10:19 <oerjan> right
01:11:11 <elliott_> 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 <elliott_> 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 <elliott_> if it was even running in the first place.
01:13:02 <oerjan> argh
01:13:06 <oerjan> OKAY
01:13:35 <elliott_> yeah, my reaction too at this point.
01:14:04 <elliott_> here's my revised opinion: I knows an equivalent program when I sees it.
01:14:10 <oerjan> splendid
01:15:51 -!- boily has quit (Quit: RAINBOW CHICKEN).
01:18:17 <quintopia> god i almost caught him this time
01:18:21 <quintopia> it's always so close
01:19:22 -!- shikhin has joined.
01:20:27 <oerjan> you cannot catch rainbow chicken
01:20:37 <quintopia> 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 <elliott_> I would bet money you can write a program that beats everything currently on the hill.
01:23:22 <elliott_> 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 <quintopia> 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 <elliott_> that's okay.
01:33:40 <elliott_> anyway, it might not be possible
01:34:03 -!- Sorella has joined.
01:34:12 <elliott_> 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 <quintopia> 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 <elliott_> 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 <quintopia> for instance, how do you tell the difference between a clever on-flag lock and ais523.preparation's lock?
01:39:41 <elliott_> basically you are claiming that unbeatable programs exist
01:40:22 <elliott_> 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 <oerjan> > length "48 characters should be enough for everyone."
01:44:17 <lambdabot> 44
01:46:34 <oerjan> 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 <quintopia> 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 <oerjan> proof: no program wins against a duplicate of itself, ever.
02:00:06 <quintopia> oerjan: i mispoke. i meant "not lose" instead of "win"
02:00:20 <oerjan> OKAY
02:00:37 -!- shikhin has quit (Ping timeout: 245 seconds).
02:01:18 <oerjan> hm can you write a length 10 rush that is guaranteed to never lose
02:01:44 <quintopia> no
02:02:04 <oerjan> (on length 10, naturally)
02:02:12 <quintopia> consider the same rush using a reverse offset clear
02:02:28 <quintopia> or whatever
02:02:42 <oerjan> um i don't know the bfjoust terms very well.
02:03:00 <quintopia> one clears around 128 and up. one clears around 0 and up.
02:03:20 <quintopia> hmm
02:03:21 <oerjan> s/very well/much at all/
02:04:25 <quintopia> bad example
02:04:45 <quintopia> for every rush there is a lock. let's leave it at that.
02:05:12 <oerjan> 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 <quintopia> (it's impossible to write a program unbeatable on a *paritcular* configuration)
02:05:44 <quintopia> well, you would have to use the unknownness of the polarity to your advantage
02:05:54 <oerjan> oh wait
02:06:00 <elliott_> oerjan: how can it win against both fastrush and +fastrush?
02:06:02 <oerjan> i proved that myself earlier, duh
02:07:03 <quintopia> elliott_: it doesn't have to win. it just has to draw.
02:08:00 <elliott_> if you have perfectlength10rush, then perfectlength10rush draws it, and +perfectlength10rush should beat it?
02:08:03 <elliott_> maybe not
02:08:38 <elliott_> I'm too tired for this. goodnight!
02:09:38 <quintopia> night
02:12:05 <quintopia> so did anything interesting happen this evening?
02:15:27 <quintopia> 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 <Lymia> You ugys
02:26:58 <Lymia> guys*
02:27:13 <Lymia> 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 <Bike> i realize nothing.
02:30:30 <oerjan> <ais523> (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 <oerjan> if you did that, you might get an exponential program down to reasonable size, no?
02:31:39 <oerjan> after all, you have at most 22*47 opponent configurations
02:32:41 <oerjan> and that then is also the maximal number of branchings
02:32:47 <oerjan> hm
02:32:52 <oerjan> > 22*47*100000
02:32:54 <lambdabot> 103400000
02:33:12 <oerjan> ok 103 Mb is still above the current limit :P
02:34:00 <oerjan> although...
02:34:52 <oerjan> any compression of the 100000 steps that _doesn't_ contain a possible branch should still be compressible
02:35:19 <oerjan> > 22*47
02:35:21 <lambdabot> 1034
02:35:53 <oerjan> Lymia: ^
02:37:02 <oerjan> 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 <oerjan> 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 <Lymia> oerjan, I'd need a large coprus of programs not on the hill
03:08:50 <Lymia> And switch to, say, monolith's clear loop.
03:13:00 <oerjan> Lymia: um the idea of deleting codepaths only works if you are willing to ignore all opponents not on the hill.
03:13:26 <oerjan> if even then.
03:13:57 <Lymia> Deleting all code paths... relative to wht?
03:14:01 <Lymia> what*
03:17:20 <oerjan> Lymia: relative to the hill you are trying to beat
03:17:55 <oerjan> mind you this is probably not _that_ relevant if you are autogenerating a program to beat it.
03:18:49 <oerjan> unless you make it out of parts of other programs, frankenstein-like. hm...
03:19:20 <Lymia> Deleting code paths from what?
03:21:08 <oerjan> if you are somehow generating a program that is over the size limit
03:21:31 <oerjan> but you only want to beat those 22*47 configurations that are on the hill already
03:21:45 <oerjan> then you can delete the code paths that none of them hit.
03:22:30 <oerjan> and with some luck the remainder might fit under the limit
03:22:58 <quintopia> Lymia: are you stealing my idea
03:30:06 <Lymia> quintopia, I had had it, like, a year ago
03:30:12 <Lymia> And gave up because I couldn't get my interpreter working right
03:31:10 <quintopia> i had it two years ago, but never had the gumption
03:31:23 <quintopia> still don't really
03:31:34 <quintopia> so go ahead. have fun. hope you succeed.
03:32:16 <Lymia> I believe the fact that we had the same idea then could be because we talked about it in ancient times.
03:37:25 <oerjan> _or_ maybe you had a cloning accident and were really the same person.
04:23:53 <Sgeo> 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 <Sgeo> Norse-Celtic did get some hits in Google
04:24:12 <Sgeo> 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 <Sgeo> "Searching for toothpaste in eye? Kelley blue book"
05:30:22 <Sgeo> 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 <mroman_> !bfjoust single_decoy (>)*6(+)*128(>[-.])*-1
08:51:00 <zemhill> mroman_.single_decoy: points -29.67, score 4.83, rank 47/47
08:51:17 <mroman_> !bfjoust single_decoy (>)*6(+)*128(>[(+)*10[-].])*-1
08:51:18 <zemhill> mroman_.single_decoy: points -30.24, score 4.49, rank 47/47 (--)
08:51:47 <mroman_> !bfjoust single_decoy >(+)*128>*7(>[(+)*10[-].])*-1
08:51:48 <zemhill> mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--)
08:51:53 <mroman_> !bfjoust single_decoy >(+)*128>*9(>[(+)*10[-].])*-1
08:51:53 <zemhill> mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--)
08:51:59 <mroman_> !bfjoust single_decoy >(+)*128>*7(>[(+)*10[-].])*-1
08:51:59 <zemhill> mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--)
08:52:08 <mroman_> !bfjoust single_decoy >(+)*128(>-)*7(>[(+)*10[-].])*-1
08:52:09 <zemhill> mroman_.single_decoy: points -20.17, score 8.13, rank 47/47 (--)
08:52:16 <mroman_> !bfjoust single_decoy >(+)*128(>->+)*4(>[(+)*10[-].])*-1
08:52:16 <zemhill> mroman_.single_decoy: points -18.50, score 8.82, rank 47/47 (--)
08:52:24 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*10[-].])*-1
08:52:25 <zemhill> mroman_.large_decoy: points -18.50, score 8.82, rank 47/47
08:52:35 <mroman_> !bfjoust large_decoy >(+)*128(>-->++)*4(>[(+)*10[-].])*-1
08:52:36 <zemhill> mroman_.large_decoy: points -19.24, score 8.50, rank 47/47 (--)
08:52:43 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*6[-].])*-1
08:52:44 <zemhill> mroman_.large_decoy: points -18.48, score 9.04, rank 47/47 (--)
08:52:48 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*5[-].])*-1
08:52:51 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*5[-].])*-1
08:52:52 <zemhill> mroman_.large_decoy: points -19.81, score 8.50, rank 47/47 (--)
08:52:55 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*7[-].])*-1
08:52:56 <zemhill> mroman_.large_decoy: points -19.67, score 8.57, rank 47/47 (--)
08:53:01 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*5(>[(+)*6[-].])*-1
08:53:01 <zemhill> mroman_.large_decoy: points -15.67, score 10.41, rank 47/47 (--)
08:53:07 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*6(>[(+)*6[-].])*-1
08:53:09 -!- zemhill has quit (Remote host closed the connection).
08:53:22 <mroman_> oh noes :(
08:54:02 -!- zemhill has joined.
08:55:46 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*6(>[(+)*6[-].])*-1
08:55:46 <zemhill> mroman_.large_decoy: points -16.60, score 9.97, rank 47/47 (--)
08:55:52 <mroman_> !bfjoust large_decoy >(+)*128(>->+)*5(>[(+)*6[-].])*-1
08:55:53 <zemhill> mroman_.large_decoy: points -15.67, score 10.41, rank 47/47 (--)
08:56:03 <mroman_> !bfjoust large_decoy >(+)*128>(-)*128(>->+)*5(>[(+)*6[-].])*-1
08:56:04 <zemhill> mroman_.large_decoy: points -20.31, score 8.07, rank 47/47 (--)
08:56:08 <mroman_> !bfjoust large_decoy >(+)*128>(-)*128(>->+)*4(>[(+)*6[-].])*-1
08:56:08 <zemhill> mroman_.large_decoy: points -22.14, score 7.25, rank 47/47 (--)
08:56:12 <mroman_> !bfjoust large_decoy >(+)*128>(-)*128(>->+)*5(>[(+)*6[-].])*-1
08:56:12 <zemhill> mroman_.large_decoy: points -20.31, score 8.07, rank 47/47 (--)
08:56:20 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>->+)*5(>[(+)*6[-].])*-1
08:56:20 <zemhill> mroman_.large_decoy: points -11.40, score 12.80, rank 47/47 (--)
08:56:28 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>-->+)*5(>[(+)*6[-].])*-1
08:56:28 <zemhill> 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 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>-->++)*5(>[(+)*6[-].])*-1
08:56:34 <zemhill> mroman_.large_decoy: points -12.14, score 12.43, rank 47/47 (--)
08:56:39 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>--->+)*5(>[(+)*6[-].])*-1
08:56:40 <zemhill> mroman_.large_decoy: points -11.86, score 12.64, rank 47/47 (--)
08:56:47 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*10>+)*5(>[(+)*6[-].])*-1
08:56:47 <zemhill> mroman_.large_decoy: points -8.67, score 13.94, rank 46/47 (+1)
08:56:51 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*5(>[(+)*6[-].])*-1
08:56:52 <zemhill> mroman_.large_decoy: points -8.81, score 14.37, rank 44/47 (+2)
08:56:56 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*64>+)*5(>[(+)*6[-].])*-1
08:56:56 <zemhill> mroman_.large_decoy: points -14.76, score 11.15, rank 47/47 (-3)
08:57:06 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*25>+)*5(>[(+)*6[-].])*-1
08:57:07 <zemhill> mroman_.large_decoy: points -9.29, score 13.83, rank 46/47 (+1)
08:57:14 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*5(>[(+)*6[-].])*-1
08:57:15 <zemhill> mroman_.large_decoy: points -8.81, score 14.37, rank 44/47 (+2)
08:57:29 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*4(>[(+)*6[-].])*-1
08:57:30 <zemhill> mroman_.large_decoy: points -9.71, score 13.69, rank 47/47 (-3)
08:57:34 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*30>+)*4(>[(+)*6[-].])*-1
08:57:34 <zemhill> mroman_.large_decoy: points -11.64, score 12.37, rank 47/47 (--)
08:57:43 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>++)*5(>[(+)*6[-].])*-1
08:57:44 <zemhill> mroman_.large_decoy: points -8.52, score 14.57, rank 43/47 (+4)
08:57:51 <mroman_> !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>(+)*20)*5(>[(+)*6[-].])*-1
08:57:51 <zemhill> mroman_.large_decoy: points -8.76, score 14.64, rank 43/47 (--)
08:58:34 <mroman_> !bfjoust large_decoy >(+)*32>(-)*32(>(-)*20>(+)*20)*5(>[(+)*6[-].])*-1
08:58:35 <zemhill> mroman_.large_decoy: points -8.29, score 14.84, rank 41/47 (+2)
08:58:45 <mroman_> !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1
08:58:46 <zemhill> mroman_.large_decoy: points -7.43, score 15.47, rank 37/47 (+4)
08:58:49 <mroman_> !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*25)*5(>[(+)*6[-].])*-1
08:58:50 <zemhill> mroman_.large_decoy: points -7.50, score 15.30, rank 37/47 (--)
08:58:55 <mroman_> !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1
08:58:55 <zemhill> mroman_.large_decoy: points -7.43, score 15.47, rank 37/47 (--)
08:59:09 <mroman_> !bfjoust large_decoy >(+)*16>(-)*16(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1
08:59:11 <zemhill> mroman_.large_decoy: points -7.55, score 15.23, rank 37/47 (--)
08:59:19 <mroman_> !bfjoust large_decoy >(+)*25>(-)*25(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1
08:59:20 <zemhill> mroman_.large_decoy: points -8.31, score 14.87, rank 39/47 (-2)
08:59:26 <mroman_> !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1
08:59:27 <zemhill> 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 <HackEgo> [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 <mroman_> hm
11:11:25 <mroman_> !blsq_uptime
11:11:26 <blsqbot> 2d 4h 1m 3s
11:12:22 <mroman_> !blsq "ChristeShannon")**)b2\[
11:12:24 <blsqbot> "1000011110100011100101101001111001111101001100101101001111010001100001110111011
11:12:31 <mroman_> !blsq "ChristeShannon")**)b2\[F:u[vv^^{1\/?/2\/LG}m[?*++
11:12:31 <blsqbot> 0.9755259511264973
11:13:09 <mroman_> !blsq "aaaaaaaaa")**)b2\[F:u[vv^^{1\/?/2\/LG}m[?*++
11:13:10 <blsqbot> 0.9852281360342514
11:13:13 <mroman_> weird
11:13:32 <mroman_> !blsq "aaaaaaaaa"F:u[vv^^{1\/?/2\/LG}m[?*++
11:13:33 <blsqbot> 0.0
11:13:41 <mroman_> !blsq "ChristeShannon"F:u[vv^^{1\/?/2\/LG}m[?*++
11:13:41 <blsqbot> 3.324862957617355
11:13:52 <mroman_> !blsq "Nqn87SQA"F:u[vv^^{1\/?/2\/LG}m[?*++
11:13:52 <blsqbot> 3.0
11:14:05 <boily> who is Christe Shannon?
11:14:17 <mroman_> a new user on esolang org
11:14:35 <boily> oh, right. we do have a wiki.
11:14:44 -!- Sorella has joined.
11:15:24 <mroman_> !blsq "Nqn87SQA"F:u[vv^^{1\/?/l2}m[?*++
11:15:24 <blsqbot> 3.0
11:15:34 -!- Sorella has quit (Changing host).
11:15:34 -!- Sorella has joined.
11:15:39 <mroman_> !blsq "Nqn87SQA"F:u[vvJ{1j?/l2}m[?*++
11:15:40 <blsqbot> 3.0
11:16:09 <mroman_> How do these password entropy calculations work?
11:16:12 <mroman_> they are not shannon entropy?
11:16:22 <mroman_> !blsq "abcdefg"F:u[vvJ{1j?/l2}m[?*++
11:16:22 <blsqbot> 2.807354922057604
11:16:29 <mroman_> ^- pretty much the same entropy as
11:16:38 <mroman_> !blsq "0bCdef!"F:u[vvJ{1j?/l2}m[?*++
11:16:38 <blsqbot> 2.807354922057604
11:18:08 <mroman_> !blsq "0bCdef!"F:
11:18:08 <blsqbot> {{0.14285714285714285 'f} {0.14285714285714285 'e} {0.14285714285714285 'd} {0.1
11:18:10 <mroman_> !blsq "0bCdef!"F:u[
11:18:10 <blsqbot> {'f 'e 'd 'b 'C '0 '!}
11:18:16 <mroman_> !blsq "0bCdef!"F:u[#s
11:18:16 <blsqbot> {{'f 'e 'd 'b 'C '0 '!} {0.14285714285714285 0.14285714285714285 0.1428571428571
11:18:22 <mroman_> hm
11:18:27 <boily> > 1 / 7
11:18:29 <lambdabot> 0.14285714285714285
11:18:30 <mroman_> !blsq "0bCdef!"F:)[-
11:18:30 <blsqbot> {{'f} {'e} {'d} {'b} {'C} {'0} {'!}}
11:18:37 <mroman_> !blsq "0bCdef!"F:)-]
11:18:38 <blsqbot> {0.14285714285714285 0.14285714285714285 0.14285714285714285 0.14285714285714285
11:18:53 <mroman_> !blsq "0bCdef!"F:)-]J{1j?/l2}m[?*++
11:18:53 <blsqbot> 2.807354922057604
11:21:01 <boily> !blsq "hunter2"F:)-]J{1j?/l2}m[?*++
11:21:01 <blsqbot> 2.807354922057604
11:21:14 <boily> > 2.807 / 7
11:21:16 <lambdabot> 0.40099999999999997
11:21:32 <boily> 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 <mroman_> so
11:23:21 <mroman_> !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[#S
11:23:22 <blsqbot> 7
11:23:27 <mroman_> !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++#s
11:23:28 <blsqbot> {2.807354922057604 "hunter2"}
11:23:34 <mroman_> !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[#s
11:23:35 <blsqbot> {7 2.807354922057604}
11:23:38 <mroman_> !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[?/
11:23:38 <blsqbot> 0.4010507031510863
11:24:02 <mroman_> !blsq "mOarSecUR_*EpasswordZ!"^^F:)-]J{1j?/l2}m[?*++jL[?/
11:24:03 <blsqbot> 0.19030474299591013
11:24:15 <mroman_> ^- so... this is pretty insecure then?
11:25:02 -!- L8D has joined.
11:29:18 <elliott_> that isn't a terribly good password
11:29:33 -!- L8D has quit (Ping timeout: 260 seconds).
11:29:42 <elliott_> it's three dictionary words with a bit of case/spelling wteaking and a very small number of symbols
11:29:47 <elliott_> I wouldn't use it
11:29:57 <mroman_> I only use 6 char passwords anyway
11:30:07 <mroman_> and only lowercase letters
11:30:22 <mroman_> simply because
11:30:38 <mroman_> sites nowadays suggest using at least one uppercase letter, one digit and one symbol
11:30:57 <mroman_> so as a password cracker you can assume that there's at least one uppercase letter, one digit and one symbol
11:31:02 <elliott_> I hope you don't have a bank account.
11:31:10 <mroman_> which means you can rule out any combinations of lowercase letters only
11:31:24 <elliott_> okay I assume this is just a bad joke
11:31:34 <mroman_> the size of the set of all variations of lowercase,uppercas,digit and symbols is much larger
11:31:52 <mroman_> 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 <mroman_> So I don't see why "qhtnbz" is less secure than "qHt)(7"
11:33:08 <mroman_> I mean, it is less secure if an attacker only tries lowercase passwords
11:33:27 <Jafet> They do.
11:33:40 <mroman_> but if attackers switch to only testing combinations with at least one digit and one upper case letter and one symbol
11:33:52 <mroman_> you're better of using "abcdahenotuaaexa" as your password
11:33:55 <mroman_> *off
11:34:50 <elliott_> password crackers tend to assume that most people use bad passwords, like you.
11:34:59 <Jafet> > 26^6
11:35:00 <lambdabot> 308915776
11:35:02 <elliott_> you make it nice and easy for them.
11:35:04 <Jafet> > 2^32
11:35:06 <lambdabot> 4294967296
11:35:11 <Jafet> Just sayin'
11:35:38 <elliott_> mroman_: why not give me an SHA-256 hash of your freenode password?
11:35:52 <elliott_> presumably you have nothing to worry about
11:36:04 <Jafet> 6-byte lowercase passwords can be brute forced in about one millisecond
11:36:20 <elliott_> (consider that people are rather likely to already have hashes -- if not plaintexts -- of your passwords, thanks to widespread database compromises)
11:36:52 <mroman_> I can give you the hash of my root password
11:37:01 <elliott_> > 2^32 - (26+10)^6
11:37:03 <lambdabot> 2118184960
11:37:39 <elliott_> > 2^32 - (26+10+32)^6
11:37:41 <lambdabot> -94572515328
11:37:50 <elliott_> apparently there are 32 symbols on a US keyboard, who knew?
11:38:12 <mroman_> 8fc56e2acf7c40526fc7060b52c54f1a24e9778d
11:38:25 <Jafet> elliott: time to design an esolang
11:38:44 <elliott_> mroman_: what hash function is that?
11:39:01 <elliott_> sha-1?
11:39:53 <elliott_> 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 <Jafet> Or root logins are disabled
11:41:17 <elliott_> I assign Jafet to do the quick enumeration to check :p
11:41:49 <fizzie> The length matches SHA-1.
11:43:07 <elliott_> mroman_: anyway, read http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/ or whatever
11:43:30 <elliott_> or just wait for your accounts to get compromised and take that as a lesson
11:43:48 <elliott_> 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 <elliott_> bam, you just lost your passwords, even if you included numbers and symbols
11:44:18 <HackEgo> [wiki] [[Special:Log/newusers]] create * JavierRojas * New user account
11:44:41 <elliott_> ...I don't know why I'm arguing this at all.
11:45:21 <fizzie> @tell oerjan That sounds like a HASSLE. (But in theory, sure.)
11:45:21 <lambdabot> Consider it noted.
11:46:09 <mroman_> elliott_: 6 char passwords with all printable ascii chars can be cracked in 13 minutes on a standard modern machine
11:46:26 <mroman_> so if you have a machine for cracking
11:46:28 <elliott_> ...
11:46:29 <mroman_> it's way less than 13 minutes
11:46:42 <elliott_> ...is this meant to be a defence of 6 char passwords?
11:46:47 <elliott_> I'm intensely confused.
11:47:29 <elliott_> am I being trolled here. be honest.
11:49:48 <fizzie> 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 <fizzie> Maybe 587 gigabytes doesn't quite qualify as "reasonably small", but anyhow.
11:50:21 <mroman_> elliott_: sha-1 yes
11:50:27 <mroman_> @what hash function is that
11:50:37 <elliott_> that's... no longer the question I most want an answer to at this point.
11:52:10 <mroman_> well which question do you want answered?
11:52:21 <elliott_> let's say, my last two.
11:53:20 <mroman_> My bank account has two factor authentication
11:53:51 <elliott_> okay, so the answer to my last question is "yes"
12:01:57 <mroman_> but my real bank account password is 9 characters
12:03:39 <elliott_> ...really???
12:03:56 <elliott_> do you just like losing all your money
12:08:30 <mroman_> hm?
12:08:34 <mroman_> 9 is pretty good I think
12:08:43 <mroman_> it takes what
12:08:49 <mroman_> days to crack it if you have the hash locally
12:09:21 <mroman_> which you don't
12:10:16 <mroman_> of course, the official recommendation is using a length of 20
12:10:47 <elliott_> >_<
12:11:03 <mroman_> but I'm much more worried about a trojan sniffing my password rather than somebody actually brute-forcing it
12:11:20 <mroman_> especially because brute-forcing against online banking takes much much longer than a hash locally
12:11:28 <elliott_> please. never find yourself in a position of power or trust over others. other than that, do whatever.
12:11:40 <mroman_> I'm working in IT Security ;)
12:12:10 <elliott_> I... really hope you're joking.
12:14:04 <mroman_> No.
12:14:10 <mroman_> I'm really working in IT Security
12:14:21 * elliott_ sobs
12:14:45 <mroman_> Currently I'm working on privacy preserving attribute based credential systems
12:15:06 <elliott_> I give up. the universe wins.
12:15:26 <mroman_> But that doesn't mean I use a password of length 20 for my bank account
12:17:58 <mroman_> 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 <mroman_> How long is your bank account password?
12:19:12 <ion> http://youtu.be/boEb8zKfPBo | http://www.imdb.com/title/tt3514324/reviews?ref_=butt
12:19:38 <elliott_> I agree that 2FA makes your bank account comfortably secure.
12:19:45 <mroman_> I expect you to use a master-password and derive other passwords from it.
12:19:47 <elliott_> ...that doesn't mean you're not hopelessly wrong about password security.
12:19:51 <mroman_> that's how I'd do it.
12:20:13 <elliott_> my bank account password is 20 characters long because that is the limit.
12:20:39 <mroman_> Hash(hash("ebay") ++ hash("mysecretpassword"))
12:20:40 <elliott_> 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 <mroman_> something like that
12:21:17 <elliott_> anyway that system is useless if you want to periodically change your passwords.
12:21:25 <elliott_> since you need state anyway (a counter).
12:21:49 <mroman_> change the masterpassword periodically?
12:21:52 <elliott_> no.
12:21:55 <elliott_> the site passwords
12:22:10 <mroman_> the site passwords is derived from the masterpassword
12:22:16 <elliott_> ...
12:22:24 <elliott_> talking to you is frustrating.
12:22:27 <mroman_> sitePassword = hash(hash(site) + hash(masterpassword))
12:22:32 <mroman_> that's what I meant
12:22:38 <Melvar> elliott_: So as the master password changes, so do the site passwords.
12:22:42 <elliott_> yes, I know what you meant.
12:22:59 <elliott_> Melvar: okay, but I'd rather not have to change every single one of my passwords all at once.
12:23:05 <elliott_> that's effort.
12:23:20 <elliott_> Melvar: and I also don't see the benefit in changing the master password very regularly
12:23:25 <mroman_> You can embed a counter if you want
12:23:37 <mroman_> I don't know how secure hash(hash(counter) + hash(site) + hash(master)) is
12:23:45 <elliott_> 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 <mroman_> so
12:24:33 <mroman_> you encrypt all passwords with the same key?
12:25:42 <elliott_> I randomly generate all my passwords, and store them encrypted with a strong master password, yes.
12:26:43 <elliott_> anyway, you should at least use a proper KDF rather than hash and ++ like that
12:27:55 <mroman_> I'm no security expert btw.
12:28:06 <mroman_> I didn't study security nor cryptology nor anything like that.
12:28:11 <elliott_> you didn't have to tell me that. (neither am I)
12:29:22 <mroman_> can you do replay attacks on ssl?
12:31:20 <mroman_> 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 <mroman_> `learn mroman is a leading artist in password security
13:10:56 <HackEgo> I knew that.
13:11:08 <mroman_> `learn mroman_ is probably mroman but you can never be sure.
13:11:09 <HackEgo> I knew that.
13:11:31 <mroman_> `? HackEgo
13:11:32 <HackEgo> 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 <mroman_> `? hax0r
13:11:54 <HackEgo> hax0r? ¯\(°​_o)/¯
13:12:43 <mroman_> `learn hax0r (see ¯\(°​_o)/¯)
13:12:46 <HackEgo> I knew that.
13:12:50 <mroman_> `? ¯\(°​_o)/¯
13:12:51 <HackEgo> ​¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯
13:12:51 <myndzi> |
13:12:52 <myndzi> o/`¯º
13:17:57 <mroman_> there should be `append_learn
13:18:03 <mroman_> ``ls bin/
13:18:04 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `ls: not found
13:18:08 <mroman_> `run ls bin
13:18:09 <HackEgo> ​` \ ^.^ \ ̊ \ ! \ ? \ ¿ \ @ \ ؟ \ 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 <mroman_> `run find ./ | grep learn
13:18:22 <HackEgo> ​./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 <mroman_> `run cat bin/learn
13:18:39 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "I knew that."
13:19:12 <mroman_> `run echo #!/bin/bash > bin/append_learn
13:19:13 <HackEgo> No output.
13:19:17 <mroman_> `run cat bin/?
13:19:17 <HackEgo> 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 <mroman_> `run rm bin/append_learn
13:19:58 <HackEgo> rm: cannot remove `bin/append_learn': No such file or directory
13:20:14 <mroman_> `run ls bin/a*
13:20:16 <HackEgo> bin/aaaaaaaaa \ bin/addquote \ bin/addwep \ bin/allquotes \ bin/analogy \ bin/anonlog \ bin/as86 \ bin/aseen
13:21:07 <mroman_> `run echo "echo \$//" > test
13:21:09 <HackEgo> No output.
13:21:11 <mroman_> `run cat test
13:21:12 <HackEgo> echo $//
13:21:18 <mroman_> `run bin/bash test
13:21:18 <HackEgo> bash: bin/bash: No such file or directory
13:21:22 <mroman_> `run ./bin/bash test
13:21:22 <HackEgo> bash: ./bin/bash: No such file or directory
13:21:27 <mroman_> `run bash test
13:21:27 <HackEgo> ​$//
13:21:42 <mroman_> `run echo "echo *\$" > test
13:21:43 <HackEgo> No output.
13:21:44 <mroman_> `run bash test
13:21:45 <HackEgo> ​*$
13:21:47 <mroman_> `run bash test wo
13:21:48 <HackEgo> ​*$
13:21:55 <mroman_> my lack of bash knowledge is bad :D
13:22:17 <mroman_> `run rm test
13:22:18 <HackEgo> No output.
13:22:39 <mroman_> `run cat bin/learn
13:22:40 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "I knew that."
13:24:29 <mroman_> `fetch http://codepad.org/PW0O3FBY/raw.txt
13:24:30 <HackEgo> 2014-09-26 13:23:46 URL:http://codepad.org/PW0O3FBY/raw.txt [132/132] -> "raw.txt" [1]
13:24:56 <mroman_> `run mv raw.txt bin/learn_append
13:24:57 <HackEgo> No output.
13:25:01 <mroman_> `run chmod +x bin/learn_append
13:25:02 <HackEgo> No output.
13:25:07 <mroman_> `? test
13:25:08 <HackEgo> test? ¯\(°​_o)/¯
13:25:13 <mroman_> `learn test is a test
13:25:15 <HackEgo> I knew that.
13:25:26 <mroman_> `learn_append test It's also not a test.
13:25:27 <HackEgo> ​/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 <mroman_> grah
13:26:11 <mroman_> `run sed -e '/^M/d' bin/learn_append > bin/learn_append
13:26:13 <HackEgo> No output.
13:26:15 <mroman_> `learn_append test It's also not a test.
13:26:16 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/learn_append: Success
13:26:31 <mroman_> `? test
13:26:32 <HackEgo> test is a test
13:26:46 <mroman_> `cat bin/learn_append
13:26:46 <HackEgo> No output.
13:26:51 <mroman_> `run cat bin/learn_append
13:26:53 <HackEgo> No output.
13:26:56 <mroman_> what
13:27:19 <mroman_> `run ls bin/learn_*
13:27:20 <HackEgo> bin/learn_append
13:27:23 <mroman_> damn
13:29:23 -!- zolbap has joined.
13:32:45 -!- FreeFull has joined.
13:34:06 <mroman_> `learn test Hi.
13:34:08 <HackEgo> I knew that.
13:34:13 <mroman_> `learn_append test Bye.
13:34:14 <HackEgo> I knew that.
13:34:17 <mroman_> `? test
13:34:17 <HackEgo> test Hi. \ Bye.
13:37:25 <mroman_> `run curl
13:37:26 <HackEgo> curl: try 'curl --help' or 'curl --manual' for more information
13:38:07 -!- MoALTz has joined.
13:38:14 <mroman_> `run curl -x POST http://eso.mroman.ch/cgi/burlesque.cgi
13:38:15 <HackEgo> curl: (5) Couldn't resolve proxy 'POST'
13:38:21 <mroman_> `run curl -X POST http://eso.mroman.ch/cgi/burlesque.cgi
13:38:22 <HackEgo> curl: (7) couldn't connect to host
13:40:40 <mroman_> !blsq "Hi\r\nthere\r\n"{**13/=}f[
13:40:40 <blsqbot> "Hi\r\nthere\r\n"
13:41:51 <mroman_> !blsq "Hi\r\nthere\r\n"{**13!=}f[
13:41:52 <blsqbot> "Hi\nthere\n"
13:41:55 <mroman_> :D
13:41:57 <mroman_> !blsq /=
13:41:58 <blsqbot> ERROR: Unknown command: (/=)!
13:42:07 <mroman_> I like how ERROR-Values evaluate to true
13:42:11 <mroman_> !blsq /=ck
13:42:12 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
13:42:53 -!- Patashu has quit (Ping timeout: 240 seconds).
13:43:17 <mroman_> !blsq {1 0 2 0}{}f[
13:43:17 <blsqbot> {1 2}
13:44:39 <mroman_> !blsq {1 0 2 0}q f[
13:44:39 <blsqbot> {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 <mroman_> https://bitbucket.org/mroman_/emulathor/src/fc48fe22fdade5777099eea372e5f06e2b4d2b2b/src/rlang/std/string.rl?at=master#cl-65
14:17:56 <mroman_> wtf did I do there
14:23:49 <mroman_> IF (strlen [ src; ] != strlen [ dst; ]) THEN looks inefficient
14:24:08 -!- sebbu3 has joined.
14:24:35 <fizzie> Perhaps you expected Pascal strings instead.
14:25:18 -!- sebbu2 has joined.
14:26:26 <mroman_> 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 <mroman_> It's a clean readable not to pascal-ish syntax
14:49:22 -!- perrier has quit (Remote host closed the connection).
14:56:36 <HackEgo> [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 <quintopia> hello
16:01:45 <quintopia> what kind of strings does pascal have
16:02:43 <Melvar> length+pointer IIRC.
16:02:45 <ais523> quintopia: "pascal strings" normally refers to strings where the first byte gives the length
16:02:49 <ais523> and the others are the content
16:03:05 <ais523> length+pointer is Rust strings; it's less efficient than C or Pascal strings but it has very cheap slicing
16:03:10 <Melvar> Oh, length inline?
16:03:21 <Melvar> Never heard of that idea before.
16:03:37 <ais523> it died out, and probably for a good reason
16:04:45 <Melvar> Yeah, it precludes not only general slicing, but tailtaking which even null-terminated strings allow.
16:07:53 <shachaf> 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 <tromp> shachaf: ok, will restrain myself in future
16:16:47 <elliott_> #esoteric is for ...
16:19:26 -!- shikhin has joined.
16:26:36 <fizzie> The Internet is for...
16:27:44 <ais523> #esoteric is the international hub for esoteric programming language design, development and deployment
16:31:37 <b_jonas> how about BANCStar strings?
16:31:43 <b_jonas> are those efficiently slicable?
16:32:05 <ais523> I don't know BANCStar
16:34:10 <zzo38> 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 <zzo38> ?messages-loud
16:34:17 <lambdabot> 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 <lambdabot> mroman_ said 2d 6h 48m 29s ago: zzo38computer.org is pretty much unreachable.
16:34:31 <ais523> zzo38: BANCStar doesn't have constants
16:35:13 <b_jonas> it does have small integer constants
16:35:24 <b_jonas> or not?
16:35:35 <ais523> I don't think so
16:35:36 <b_jonas> let me check the wiki page
16:35:41 <ais523> maybe I remembered wrong, though
16:35:45 <zzo38> 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 <b_jonas> here, it allows literal integers http://esolangs.org/wiki/BANCStar#Arithmetic_instructions
16:36:50 <zzo38> Also, the IP address for zzo38computer.org has been changed recently; try again.
16:38:15 <ais523> zzo38: what was the TTL set to on the old domain?
16:38:31 <ais523> changes won't get through to other people's computers until after the TTL expires
16:38:38 <ais523> so, say, if it was a month
16:38:44 <coppro> C++ strings best strings
16:38:54 <ais523> then other people's compuers won't know about the new IP for up to a month
16:38:56 <ais523> *computers
16:39:07 <coppro> length + pointer, except for when they're short, in which case they're length + data
16:39:16 <coppro> the distinction is made in the low bits of the pointer
16:40:26 <zzo38> 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 <coppro> I have dyndns set up for my home domain
16:46:21 <zzo38> 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 <zzo38> 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 <ais523> phew, I thought I'd accidentally set the TTL for motd.nethack4.org to 10 months
16:52:48 <ais523> turns out it was 10 minutes
16:59:45 -!- mroman2 has joined.
16:59:54 <mroman2> interesting stuff going on
16:59:57 <mroman2> !blsq_uptime
16:59:57 <blsqbot> 2d 9h 49m 35s
17:00:02 <mroman2> ok
17:00:05 <mroman2> now
17:00:35 <mroman2> How can I get blsqbot to tell me his IP address
17:00:50 <mroman2> `run nslookup mroman.ch
17:00:51 <HackEgo> bash: nslookup: command not found
17:01:05 <mroman2> dns is b0rken right now
17:02:33 <Phantom_Hoover> ais523, hey, what's the deal with this nethack update business
17:02:55 <ais523> Phantom_Hoover: some source code that wasn't intended to be public got leaked
17:05:42 <ais523> <PAUSE> 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 <ais523> also, they threatened to spend up to a week to approve my account, three during holidays
17:06:14 <ais523> but that only took like 10-20 minutes
17:07:59 <mroman_> ah
17:08:36 <mroman_> I'm back
17:08:45 -!- mroman2 has quit (Quit: Page closed).
17:09:32 <ais523> "The new data are registered in table users."
17:09:43 <ais523> had to read that a few times before I realised it was correct grammar
17:11:50 <Phantom_Hoover> so incidentally
17:11:58 <Phantom_Hoover> how long has this bash bug been around?
17:12:08 <Phantom_Hoover> i saw some suggestions that it's been there since essentially the beginning
17:12:52 <ais523> <PAUSE> No action is required, but it would be a good idea if somebody would check the correctness of the new password.
17:13:02 <ais523> this is the most awesome package manager ever
17:13:32 <zzo38> What package manager is that?
17:13:45 <ais523> PAUSE is the backend to CPAN
17:14:01 <ais523> I guess having a different name for the frontend and backend is also something unique to PAUSE/CPAN
17:14:15 <Gregor> dpkg/apt
17:16:13 <ais523> Gregor: no, that's a little different
17:16:17 <ais523> it's more like Debian/apt
17:16:25 <ais523> but not exactly
17:16:36 <ais523> basically, PAUSE is where you upload the packages, CPAN does the downloading
17:27:08 <zzo38> 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 <zzo38> 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 <Melvar> Phantom_Hoover: I saw somewhere the figure of 25 years.
17:31:27 <Phantom_Hoover> yes, that would be essentially the beginning
17:39:39 <Phantom_Hoover> lol, unicode has a ∰ character
17:41:01 <elliott_> ais523: nethack devteam code?
17:41:19 <ais523> elliott_: yes
17:41:27 <elliott_> ais523: any links to details
17:41:35 <elliott_> this sounds exciting
17:41:44 <ais523> front page of nethack.org has a statement about it, although not the code itself
17:41:58 <ais523> 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 <ais523> it's mostly bugfixes, though
17:42:10 <ais523> and bug introductions
17:42:11 <elliott_> you think the devteam want you calling your release nethack 4?
17:42:41 <elliott_> also, who would leak nethack source, of all things? it's been 11 years
17:42:47 <ais523> elliott_: they're aware of the name, and haven't objected
17:43:08 <Phantom_Hoover> elliott_, changelog here: http://pastebin.com/raw.php?i=djZ5X2Hz
17:43:21 <elliott_> Phantom_Hoover: well, okay, but where was it leaked? usenet?
17:44:18 <Phantom_Hoover> that's all i have, i'm afraid
17:45:23 <elliott_> "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 <elliott_> hmm, so I guess the dev who leaked it is probably no longer on the devteam
17:48:16 <zzo38> Do you know when it is supposed to be released?
17:48:26 <ais523> zzo38: there isn't an official release date, there never is
17:48:33 <ais523> 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 <elliott_> 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 <fizzie> !bftest this_will_not_modify_hill <
17:56:26 <fizzie> Whoops, I forgot to modify the config file again.
17:56:28 <fizzie> Every time same thing.
17:56:50 -!- zemhill has quit (Remote host closed the connection).
17:57:14 -!- zemhill has joined.
17:57:17 <fizzie> !bftest this_will_not_modify_hill <
17:57:17 <zemhill> 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 <fizzie> ...
17:57:28 <fizzie> It worked when I tried it locally, honest.
17:57:50 <Bike> i must say, it's nice that it tells you it's breaking isntead of just quitting
17:58:09 <fizzie> That's mostly so that (because my nick is in the message) I'll notice something bad has happened.
17:58:27 <shachaf> It could put something in the quit message.
17:58:47 <fizzie> It does, but for some reason it doesn't show up.
17:58:56 -!- shikhin has quit (Ping timeout: 250 seconds).
17:59:13 <fizzie> It tries to quit with "Abandon ship, abandon ship!" as the message.
17:59:37 <fizzie> Seems to have crashed in write_breakdown.
17:59:47 <ais523> fizzie: possibly a race condition; are you waiting for the ERROR response before actually closing the connection?
18:00:18 <fizzie> That's up to the bot framework, really.
18:00:28 <fizzie> Perhaps it doesn't.
18:00:52 <zzo38> There is something wrong with the speakers in my computer; sometimes it just makes a lot of noise
18:01:11 <ais523> isn't making a lot of noise what speakers are /supposed/ to do?
18:01:30 <Bike> controlled noise.
18:02:01 <zzo38> 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 <quintopia> hey ais523
18:02:28 <ais523> hi
18:02:40 <quintopia> didn't you once write a warrior that tried to figure out an optimal offset?
18:02:57 <ais523> yes, decoytuner, but it was awful
18:03:13 <quintopia> how did you go about it
18:03:24 <ais523> basically assuming all the opposing decoys were the same size
18:03:32 <quintopia> ah
18:03:34 <ais523> and measuring the first large one
18:03:42 <quintopia> that would work a lot better on the current hill i think :P
18:03:51 <ais523> there was a second attempt, told, that I never submitted
18:03:52 -!- zemhill has joined.
18:03:55 <fizzie> !bftest this_will_not_modify_hill <
18:03:55 <zemhill> fizzie.this_will_not_modify_hill: points -46.00, score 0.00, rank 47/47
18:04:03 <ais523> which tried to estimate the size of the decoys via the number of cycles before the opponent started attacking
18:04:08 <ais523> I couldn't get it to work at all
18:04:10 <fizzie> 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 <quintopia> fizzie: oh neat
18:05:15 <fizzie> 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 <quintopia> 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 <quintopia> are you nomicking too
18:06:02 <callforjudgement> quintopia: was that directed at me?
18:06:09 <quintopia> yes
18:06:20 <quintopia> sometimes i get the idea that's the main reason you irc
18:07:09 <callforjudgement> 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 <ais523> not that I wouldn't join in a conversation there if one happened
18:07:38 <ais523> but nomic is a very small consideration for me when choosing whether to join IRC
18:07:45 <ais523> most of my IRCing is NetHack-related atm
18:07:51 <ais523> although I just spent a while in #perl talking about my memory profiler
18:12:28 <mroman_> !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*4(>[(+)*6[-].])*-1
18:12:28 <zemhill> mroman_.lilfuckabish: points -9.90, score 13.92, rank 46/47
18:13:10 <mroman_> !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*3(>[(+)*6[-].])*-1
18:13:11 <zemhill> mroman_.lilfuckabish: points -12.00, score 12.72, rank 47/47 (-1)
18:13:14 <mroman_> !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
18:13:15 <zemhill> mroman_.lilfuckabish: points -9.17, score 14.32, rank 45/47 (+2)
18:15:29 <quintopia> 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 <ais523> quintopia: no, especially because that program would be very large
18:15:59 <ais523> 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 <ais523> assuming that you can't also predict the parity
18:16:16 <ais523> (you shouldn't be able to predict the parity against a well-written program)
18:16:36 <quintopia> i'd think if you could measure decoys, you could just say "switch to reverse offset clear" at that point
18:16:43 <quintopia> and polarity wouldn't matter
18:17:16 <quintopia> is there no compact way to measure decoys under the assumption that they always increase in size?
18:17:20 <ais523> quintopia: actually, something I've been thinking about a lot recently
18:17:23 <quintopia> *do not decrease
18:17:34 <ais523> is that once you find a large decoy, there's normally nothing but large decoys from there
18:17:41 <ais523> and if they're large enough, reverse offset clear is fastest
18:17:52 <ais523> so long as the offset's less than the size of the deocy
18:17:55 <ais523> *decoy
18:18:23 <quintopia> 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 <quintopia> also i think you should submit preparation to the stackoverflow hill just for funsies
18:19:15 <ais523> 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 <ais523> and I don't have a stackoverflow account
18:19:37 <quintopia> i think i might...
18:19:59 <ais523> submit space_hotel (although, might want to screw with it to beat nyuroki first)
18:20:27 <quintopia> well that's why we're discussing offset tuning :P
18:20:54 <quintopia> actually, i don't really want to submit space_hotel
18:21:01 <quintopia> it's time to try new things
18:23:22 <ais523> 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 <ais523> but it did terribly
18:23:36 <ais523> 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 <quintopia> hmm
18:30:01 <elliott_> isn't the SO hill ridiculously buggy?
18:30:03 -!- SvenGek has joined.
18:30:03 <elliott_> or did Lymia fix the bus
18:30:04 <elliott_> bugs
18:31:09 <ais523> it didn't accept ()% last I looked, not sure if it does now
18:31:33 <quintopia> 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 <quintopia> the only thing i can think of is adjust the polarity of decoys
18:34:33 <quintopia> which would take a lot of work since space_hotel has no script to generate it
18:35:12 <quintopia> but having the last two decoys go in opposite directions might improve things slightly
18:36:51 <quintopia> 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 <quintopia> 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 <mroman_> !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*30>(-)*30)*4(>)*5(>[(+)*6[-].])*-1
19:01:17 <zemhill> mroman_.lilfuckabish: points -11.62, score 12.57, rank 47/47 (-2)
19:01:26 <mroman_> !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:01:26 <zemhill> mroman_.lilfuckabish: points -9.17, score 14.32, rank 45/47 (+2)
19:01:35 <mroman_> !bfjoust lilfuckabish (>++)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:01:35 <zemhill> mroman_.lilfuckabish: points -5.76, score 16.70, rank 33/47 (+12)
19:01:44 <mroman_> !bfjoust lilfuckabish (>+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:01:45 <zemhill> mroman_.lilfuckabish: points -4.02, score 17.96, rank 26/47 (+7)
19:01:58 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:01:58 <zemhill> mroman_.lilfuckabish: points -2.05, score 19.77, rank 21/47 (+5)
19:02:26 <mroman_> interesting
19:02:41 <mroman_> !bfjoust lilfuckabish (>)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:02:41 <zemhill> mroman_.lilfuckabish: points -22.74, score 6.96, rank 47/47 (-26)
19:02:44 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:02:44 <zemhill> mroman_.lilfuckabish: points -2.05, score 19.77, rank 21/47 (+26)
19:04:18 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<-)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:04:19 <zemhill> mroman_.lilfuckabish: points 1.52, score 23.07, rank 11/47 (+10)
19:04:26 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<---)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:04:27 <zemhill> mroman_.lilfuckabish: points 1.12, score 22.48, rank 15/47 (-4)
19:04:31 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:04:32 <zemhill> mroman_.lilfuckabish: points 1.83, score 23.30, rank 11/47 (+4)
19:04:44 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:04:44 <zemhill> mroman_.lilfuckabish: points 2.40, score 23.89, rank 10/47 (+1)
19:04:52 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<--)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:04:52 <zemhill> mroman_.lilfuckabish: points 1.67, score 23.01, rank 11/47 (-1)
19:05:00 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1
19:05:00 <zemhill> mroman_.lilfuckabish: points 2.40, score 23.89, rank 10/47 (+1)
19:08:22 <mroman_> beats growth and nyuroki
19:08:27 <mroman_> 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 <fizzie> 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 <elliott_> 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 <elliott_> ais523: does the leaked NH have that one feature that was known to appear in the next version?
19:39:09 <ais523> I would be very surprised if it didn't
19:39:11 <ais523> do you want me to check?
19:39:34 <elliott_> yes, just because that'd be hilarious
19:39:48 <elliott_> finally we can experience the first nethack feature in 11 years
19:40:09 <ais523> yes, it does
19:40:19 <ais523> however, at least one of the variants already implemented it before the leak
19:40:24 <ais523> purely based on the fact it was known to exist
19:40:33 <elliott_> but does it behave identically??
19:40:51 <ais523> who knows; I'm not going to check that
19:41:00 <ais523> as it'd require actually understanding the code in both ases
19:43:21 <elliott_> you should only have code in one ass at a time.
19:43:44 <ais523> *cases
19:50:58 -!- Bicyclidine has joined.
19:51:54 <Jafet> If you copy code to multiple asses, do you have a posterior distribution
19:52:12 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
19:52:12 <zemhill> mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (+1)
19:52:15 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*9[-].])*-1
19:52:16 <zemhill> mroman_.lilfuckabish: points 3.12, score 24.56, rank 9/47 (--)
19:52:20 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
19:52:21 <zemhill> mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (--)
19:52:24 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-]])*-1
19:52:24 <zemhill> mroman_.lilfuckabish: points 4.02, score 25.40, rank 9/47 (--)
19:52:28 <mroman_> !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
19:52:29 <zemhill> mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (--)
19:57:08 <mroman_> this is actually pretty good
19:57:20 <mroman_> you rush forward and perform a clear of some cells
19:57:25 <mroman_> works good on short tapes
19:57:29 -!- InputUsername has joined.
19:57:35 <mroman_> in case the tape is longer you go back into a decoy setup
19:57:44 <mroman_> followed by another whole-tape-offset-clear
19:59:38 <elliott_> how is furry_furry_strapon_pegging_girls still alive and kicking years later?
19:59:45 <ais523> it's a good program
20:00:00 <elliott_> it's one of the longest-living ones on the hill now, surely?
20:00:13 * Bicyclidine salutes
20:00:43 <ais523> elliott_: allegro/pendolino have been there for ages
20:01:28 <mroman_> I don't wanna know what he encoded in b64 there
20:01:48 <elliott_> the generator program
20:02:59 -!- InputUsername has left.
20:03:49 <fizzie> ais523: The trains are now gone, actually.
20:03:58 <mroman_> BeatYouMate lost a lot
20:04:03 <mroman_> I thought it was <20 once
20:05:00 <mroman_> how can you submit via StackOverflow?
20:05:17 <fizzie> ais523: pendolino was displaced by this "lilfuckabish", and allegro by a Lymia.yolo yesterday morning.
20:05:38 <ais523> fizzie: well they were there for ages :-)
20:05:59 <ais523> what about leviathan/juggernaught?
20:06:03 -!- idris-bot has quit (Ping timeout: 246 seconds).
20:06:15 -!- Melvar` has joined.
20:06:32 <mroman_> leviathan is on 22/47
20:06:43 <fizzie> dreadnought, leviathan and behemoth are still there.
20:06:50 <fizzie> 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 <mroman_> !bfjoust lilfuckabish <.
20:08:30 <zemhill> mroman_.lilfuckabish: points -46.00, score 0.00, rank 47/47 (-38)
20:09:29 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
20:09:30 <zemhill> mroman_.cupnoodles: points 4.05, score 25.47, rank 9/47
20:09:38 <mroman_> better name
20:12:22 -!- TieSoul has quit (Ping timeout: 245 seconds).
20:13:47 <mroman_> wait
20:13:52 <mroman_> isn't the tape at least 10?
20:13:53 <mroman_> so
20:13:57 -!- idris-bot has joined.
20:14:10 <mroman_> !bfjoust cupnoodles (>)*10([-]>)*3(<--)*3(<-)*10(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
20:14:11 <zemhill> mroman_.cupnoodles: points 2.05, score 23.17, rank 11/47 (-2)
20:14:16 <mroman_> !bfjoust cupnoodles (>)*10([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
20:14:17 <zemhill> mroman_.cupnoodles: points 2.02, score 23.15, rank 11/47 (--)
20:14:21 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
20:14:22 <zemhill> mroman_.cupnoodles: points 4.05, score 25.37, rank 9/47 (+2)
20:14:27 <elliott_> mroman_: you start on cell 0, and if the valid tape positions are [0,9) that's 10 cells
20:14:34 <mroman_> ah
20:14:35 <mroman_> right
20:14:41 <elliott_> (>)*9 increments it by 9, so you end up on cell 9, which is the tenth cell
20:14:45 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
20:14:46 <zemhill> mroman_.cupnoodles: points 4.60, score 25.91, rank 9/47 (--)
20:15:08 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(--<)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
20:15:08 <zemhill> mroman_.cupnoodles: points 3.74, score 25.04, rank 9/47 (--)
20:15:19 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1
20:15:20 <zemhill> mroman_.cupnoodles: points 4.60, score 25.91, rank 9/47 (--)
20:16:15 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:16:16 <zemhill> mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (+1)
20:16:21 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*7[+].])*-1
20:16:21 <zemhill> mroman_.cupnoodles: points 7.26, score 29.11, rank 8/47 (--)
20:16:25 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*9[+].])*-1
20:16:25 <zemhill> mroman_.cupnoodles: points 7.33, score 29.23, rank 8/47 (--)
20:16:31 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:16:31 <zemhill> mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (--)
20:16:42 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+]])*-1
20:16:43 <zemhill> mroman_.cupnoodles: points 7.38, score 29.20, rank 8/47 (--)
20:16:46 <mroman_> !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:16:46 <zemhill> mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (--)
20:16:57 <mroman_> neat
20:18:22 <mroman_> fizzie: I'm impressed that zemhill can immediately report the results
20:19:09 <mroman_> corewars hill aren't that fast
20:19:25 <mroman_> although part of that might be mail delay
20:25:49 -!- TieSoul has joined.
20:26:04 -!- Phantom_Hoover has joined.
20:31:08 <fizzie> 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 <ais523> everyone loves margins :-)
20:34:21 <mroman_> I like margins
20:36:29 -!- sebbu2 has joined.
20:36:55 <mroman_> maybe I should enter the generator business
20:37:30 <ais523> I don't use generators for most of my programs
20:37:32 <ais523> but I do for some
20:38:02 <mroman_> entering the top 5 is going to be hard
20:39:09 <mroman_> !bfjoust cupnoodles (>)*9([-].>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:39:09 <zemhill> mroman_.cupnoodles: points 6.60, score 28.20, rank 8/47 (--)
20:39:28 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:39:29 <zemhill> mroman_.cupnoodles: points 9.95, score 32.82, rank 6/47 (+2)
20:39:34 <mroman_> or is it
20:39:39 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-].]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:39:39 <zemhill> mroman_.cupnoodles: points 9.71, score 32.49, rank 6/47 (--)
20:39:48 <mroman_> !bfjoust cupnoodles (>)*9([(+)*10[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:39:49 <zemhill> mroman_.cupnoodles: points 9.76, score 32.54, rank 6/47 (--)
20:39:56 <mroman_> !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:39:57 <zemhill> mroman_.cupnoodles: points 9.95, score 32.77, rank 6/47 (--)
20:40:05 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:40:05 <zemhill> mroman_.cupnoodles: points 9.95, score 32.82, rank 6/47 (--)
20:40:14 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:40:15 <zemhill> mroman_.cupnoodles: points 10.26, score 33.01, rank 6/47 (--)
20:40:25 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*5(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:40:25 <zemhill> mroman_.cupnoodles: points 7.31, score 28.99, rank 8/47 (-2)
20:40:34 -!- callforjudgement has joined.
20:40:34 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:40:35 <zemhill> 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 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>[(-)*9[+]]>)24(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:41:07 <zemhill> 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 <elliott_> !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128]>[(+[{[+.]}])%128])*11
20:41:11 <zemhill> elliott_.loyalty: points -7.86, score 14.50, rank 44/47
20:41:17 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>[(-)*9[+]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:41:17 <zemhill> mroman_.cupnoodles: points 4.17, score 24.67, rank 9/47
20:41:22 <elliott_> !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128]])*21
20:41:22 <zemhill> elliott_: error: parse error: terminating ] without a matching [
20:41:25 <elliott_> !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128])*21
20:41:25 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:41:25 <zemhill> elliott_.loyalty: points -13.48, score 11.43, rank 46/47
20:41:26 <zemhill> mroman_.cupnoodles: points 10.26, score 33.01, rank 6/47
20:41:30 <elliott_> it could be worse
20:41:55 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:41:55 <zemhill> mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--)
20:42:03 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<-+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:42:03 <zemhill> mroman_.cupnoodles: points 9.57, score 32.00, rank 6/47 (--)
20:42:23 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<--)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:42:24 <zemhill> mroman_.cupnoodles: points 9.90, score 32.49, rank 6/47 (--)
20:42:46 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:42:46 <zemhill> mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--)
20:42:50 <mroman_> k
20:42:51 -!- sebbu has joined.
20:43:02 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*9[-].]>[(-)*9[+].])*-1
20:43:03 <zemhill> mroman_.cupnoodles: points 10.62, score 33.48, rank 6/47 (--)
20:43:14 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*22>(-)*22)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:43:14 <zemhill> mroman_.cupnoodles: points 10.55, score 33.52, rank 6/47 (--)
20:43:15 <shachaf> How do function declarations (rather than definitions) work in K&R C?
20:43:25 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*15>(-)*15)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:43:26 <zemhill> mroman_.cupnoodles: points 9.19, score 31.87, rank 6/47 (--)
20:43:36 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:43:36 <zemhill> mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--)
20:43:40 <mroman_> comeon
20:43:43 <mroman_> i want rank 5
20:43:49 <elliott_> has anyone written a generator for that god-awful never execute a ] style?
20:44:04 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<----(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:44:04 <zemhill> mroman_.cupnoodles: points 10.69, score 33.66, rank 6/47 (--)
20:44:06 <shachaf> Oh, it's botspam o'clock again.
20:44:11 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
20:44:11 <zemhill> mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--)
20:44:16 <mroman_> I'm gonna stop now
20:44:20 <mroman_> until I have some other idea
20:45:02 <mroman_> elliott_: you mean [>[>[>]]] stuff?
20:45:22 <mroman_> like mroman_.funky?
20:45:33 <elliott_> bf joust is a lot more on-topic than telling people what haskell mailing lists to use
20:46:00 <elliott_> or telling people what articles they should correct on wikipedia
20:47:01 -!- sebbu has quit (Ping timeout: 244 seconds).
20:47:23 <ais523> it's completely ontopic
20:47:37 <shachaf> I didn't say anything about the topic.
20:47:39 <ais523> one of the few times the deployment has happened /right here in this channel/, and it inspires discussion, too
20:47:55 <elliott_> 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 <shachaf> You'll probably kick me anyway.
20:48:29 <shachaf> 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 <shachaf> I agree that telling people what to use the channel for isn't great.
20:48:51 <shachaf> I also agree that telling people to fix things on Wikipedia, or whatever, isn't great.
20:48:55 <elliott_> actually I'm just annoyed at your behaviour in the channel lately.
20:49:27 <ais523> fwiw, my extended absences from the channel are normally caused by offtopic discussion I dislike
20:49:32 <shachaf> For the past ~year?
20:49:34 <ais523> (this is the most common reason for me to leave /any/ IRC channel)
20:49:49 <shachaf> That is a reasonable reason to leave.
20:49:52 -!- FreeFull has joined.
20:50:50 <shachaf> (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 <elliott_> 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 <mroman_> !bfjoust rabbit ([>[-]]..+)*-1
20:54:19 <shachaf> Well, like I said, I don't expect much anyway.
20:54:36 <mroman_> !bfjoust rabbit ([>[-]]..+)*-1
20:54:36 <zemhill> mroman_.rabbit: points -30.95, score 4.50, rank 47/47 (--)
20:54:43 <mroman_> !bfjoust rabbit (>)*9([>[-]]..+)*-1
20:54:43 <zemhill> mroman_.rabbit: points -24.19, score 6.60, rank 47/47 (--)
20:54:46 <mroman_> !bfjoust rabbit (>-)*9([>[-]]..+)*-1
20:54:47 <zemhill> mroman_.rabbit: points -23.88, score 6.69, rank 47/47 (--)
20:54:53 <mroman_> !bfjoust rabbit (>->+)*4([>[-]]..+)*-1
20:54:53 <zemhill> mroman_.rabbit: points -23.45, score 6.82, rank 47/47 (--)
20:55:01 <mroman_> !bfjoust rabbit (>(-)*10>(+)*10)*4([>[-]]..+)*-1
20:55:02 <zemhill> mroman_.rabbit: points -13.90, score 11.15, rank 47/47 (--)
20:55:09 <mroman_> !bfjoust rabbit (>(-)*20>(+)*20)*4([>[-]]..+)*-1
20:55:09 <zemhill> mroman_.rabbit: points -14.48, score 11.43, rank 47/47 (--)
20:55:16 <mroman_> !bfjoust rabbit (>(-)*32>(+)*32)*4([>[-]]..+)*-1
20:55:16 <zemhill> mroman_.rabbit: points -15.00, score 11.03, rank 47/47 (--)
20:55:22 <shachaf> "trying to get a few words in before you're kicked" isn't a great way to formulate cohesive thoughts anyway.
20:55:25 <mroman_> !bfjoust rabbit (>(-)*32>(+)*32)*2>>>>([>[-]]..+)*-1
20:55:25 <zemhill> mroman_.rabbit: points -18.60, score 8.94, rank 47/47 (--)
20:55:32 <mroman_> !bfjoust rabbit (>(-)*10>(+)*10)*4([>[-]]..+)*-1
20:55:32 -!- zemhill has quit (Remote host closed the connection).
20:57:01 <elliott_> uh, is it not auto-restarting or is it just slow?
20:57:20 <ais523> it doesn't autorestart
20:57:40 <ais523> fizzie: zemhill just crashed again; suspiciously similar circumstances to the matrix segfault we had earlier
20:57:58 <elliott_> fizzie put an autorestart on it when it was being really crashy, I think?
20:59:09 <fizzie> It's supposed to autorestart.
20:59:21 <fizzie> Huh.
20:59:28 <fizzie> too many programs: 48 > 47 (RuntimeError)
20:59:48 <fizzie> There indeed are 48.
20:59:52 <fizzie> Now how'd that happen.
21:00:58 <elliott_> race condition?
21:01:10 <fizzie> "But I put in a mutex!"
21:01:57 <fizzie> I assume some logic broke and did not 'git rm' a file when it should have.
21:02:44 <fizzie> 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 <fizzie> Okay, yes, I guess it must be a race thing, although I don't know how.
21:05:12 <fizzie> 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 <elliott_> fizzie: how are nested ()%s interpreted again?
21:08:40 <elliott_> e.g. (a(b{c{d}e}f)%mg)%n
21:09:34 -!- zemhill_ has joined.
21:09:51 <ais523> elliott_: outermost % matches innermost {}
21:09:57 <fizzie> "abbbc abbbc abbbc d ..." and so on. Or if you mean the actual implementation, uglily.
21:09:58 <ais523> however, I'm not sure all (any?) interps implement taht
21:11:42 <fizzie> 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 <ais523> fizzie: oh, there's another annoying interp bug you have
21:12:05 <ais523> you treat () with nothing after them as a comment
21:12:16 <ais523> which is annoyingly permissive, because such programs crash /my/ interp
21:12:20 <ais523> and now I'm not sure which should change
21:12:29 <ais523> (i.e. (+-+) is equivalent to (+-+)*0)
21:12:41 -!- Bicyclidine has joined.
21:12:45 <fizzie> Yes, I know. I think that was intentional, but I don't remember the rationale.
21:13:04 <ais523> there's such a dubious comment in space_elevator
21:13:10 <ais523> I actually have a local patch to remove the parens
21:13:18 <ais523> annoyingly, the comment in question is "(thanks ais523)"
21:13:30 <elliott_> () working as a comment is kind of aesthetically pleasing.
21:13:35 <mroman_> !bfjoust rabbit (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*10>(-)*10)*4(>)*5([>[(+)*9[-]]]..+)*-1
21:13:35 <zemhill_> mroman_.rabbit: points 5.40, score 26.47, rank 10/47 (+37)
21:13:42 <mroman_> !bfjoust rabbit <.
21:13:42 <zemhill_> mroman_.rabbit: points -46.00, score 0.00, rank 47/47 (-37)
21:13:51 <fizzie> I wonder how I should poke that thing to make it notice the _ is unnecessary now.
21:14:16 <fizzie> Oh well, it'll segfault in the matrix lib sooner or later anyway.
21:14:29 <ais523> this is an encouraging method of development :-)
21:14:58 <ais523> 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 <ais523> (also, I haven't written it yet)
21:15:23 <ais523> 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 <mroman_> !bfjoust ([>[(+)*9[-]]]..+)*-1
21:15:38 <zemhill_> mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
21:15:42 <mroman_> !bfjoust rabbit ([>[(+)*9[-]]]..+)*-1
21:15:43 <zemhill_> mroman_.rabbit: points -31.55, score 4.29, rank 47/47 (--)
21:16:12 <fizzie> One of the authors of the library mentioned about possibly helping me to track down that bug.
21:16:14 <mroman_> !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]]..+)*-1
21:16:15 <zemhill_> mroman_.rabbit: points -4.52, score 17.03, rank 31/47 (+16)
21:16:56 <fizzie> 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 <mroman_> !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]].+)*-1
21:17:03 <zemhill_> mroman_.rabbit: points -3.07, score 18.27, rank 25/47 (+6)
21:17:09 <mroman_> !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]]+)*-1
21:17:09 <zemhill_> mroman_.rabbit: points -2.05, score 19.02, rank 23/47 (+2)
21:17:23 <elliott_> ais523: set -n on the channel and have it /msg without joining
21:17:29 <mroman_> I thought ]]] should be enough for wait until opponent dies
21:17:46 <ais523> elliott_: huh, that's not an awful idea
21:17:52 <ais523> is there a "-n exemption" mode?
21:17:57 <ais523> spambots tend to really like non--n channels
21:18:01 <ais523> err, non-+n
21:18:03 <elliott_> do they?
21:18:08 <elliott_> on other networks, maybe, but freenode?
21:19:08 <mroman_> !bfjoust rabbit <.
21:19:08 <zemhill_> mroman_.rabbit: points -46.00, score 0.00, rank 47/47 (-24)
21:19:14 <mroman_> I don't want to much bots on the hill
21:19:20 <fizzie> It would arguably make some amount of sense if +I worked as a "can message freely" exemption, but it doesn't.
21:19:30 <mroman_> 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 <ais523> just realised there's a readymade solution to people running +. by mistake
21:20:28 <elliott_> how do I survey #esoteric client usage now?
21:20:38 <fizzie> ^bf +[.+]
21:20:58 <fizzie> RAW >>> :kornbluth.freenode.net 404 fungot #esoteric :Cannot send to channel <<<
21:20:58 <fungot> 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 <elliott_> 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 <ais523> 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 <elliott_> I'll give it 24 hours (I'm actually curious as to whether spambots even notice)
21:22:19 <ais523> we're -n, -s now
21:22:20 <mroman_> !bfjoust skip (+[]+-)*-1
21:22:20 <zemhill_> mroman_.skip: points -29.19, score 4.34, rank 47/47
21:22:28 <ais523> so if anyone wanted to spam, we'd be a prime target
21:22:41 <ais523> hmm, I wonder if any of the honeypot channels are -n -s
21:22:42 <elliott_> ais523: well, I'll set +n again before going to sleep, then
21:22:42 <shachaf> We use -n in #haskell-lens and have never had spam.
21:22:54 <ais523> shachaf: is it -s or +s?
21:22:59 <elliott_> ais523: lots of continuous integration/git commit bots rely on -n
21:23:04 <shachaf> -s
21:23:04 <elliott_> including I think github's built-in support
21:23:06 <ais523> -s, it seems
21:23:12 <elliott_> so I'd be surprised if you actually get spam, especially on a network as boring as freenode
21:23:14 <ais523> being -n means I can check its /mode remotely :-)
21:23:32 <ais523> elliott_: it's the largest network, isn't it?
21:23:41 <ais523> that'd make it the best target for spam
21:23:56 <elliott_> ais523: it's the network least like efnet
21:24:01 <ais523> now I'm wondering what +m -n does
21:24:26 <fizzie> I don't think it allows external messages even with -n if it's moderated.
21:24:42 <shachaf> What if you are +V in chanserv?
21:24:53 <shachaf> (Almost certainly still not.)
21:26:23 <fizzie> 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 <fizzie> Also whether it allows you to go past the ban limit by making supplementary ban channels.
21:27:45 <ais523> 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 <HackEgo> [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 <oerjan> @messages-foul
22:40:55 <lambdabot> 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 <oerjan> @metar ENVA
00:29:51 <lambdabot> ENVA 262350Z 21019KT 9999 VCSH FEW010 SCT025 BKN035 08/04 Q0994 RMK WIND 670FT 21024G40KT
00:30:26 <oerjan> so which part of that says that the weather is awful today
00:32:48 <elliott_> the numbers
00:32:58 <oerjan> ah
00:33:20 <oerjan> i hate it when it pours _and_ is too windy to use my umbrella
00:33:28 <oerjan> also, thunder.
00:36:53 -!- copumpkin has joined.
00:48:49 <oerjan> <mroman_> 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 <oerjan> 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 <oerjan> ok assuming ascii between 33 and 126
00:52:48 <oerjan> > let d = 10; lc = 26; uc = 26; s = 126-d-lc-uc in s
00:52:50 <lambdabot> 64
00:53:11 <oerjan> wait wat
00:53:21 <oerjan> > let d = 10; lc = 26; uc = 26; s = 126-32d-lc-uc in s
00:53:22 <lambdabot> Could not deduce (GHC.Num.Num (a0 -> a))
00:53:23 <lambdabot> arising from the ambiguity check for ‘s’
00:53:23 <lambdabot> from the context (GHC.Num.Num (a1 -> a),
00:53:23 <lambdabot> GHC.Num.Num a1,
00:53:23 <lambdabot> GHC.Num.Num a)
00:53:28 <oerjan> argh
00:53:34 <oerjan> > let d = 10; lc = 26; uc = 26; s = 126-32-d-lc-uc in s
00:53:36 <lambdabot> 32
00:59:47 <oerjan> :t memo
00:59:48 <lambdabot> Not in scope: ‘memo’
01:08:58 -!- `SvenGek has quit.
01:16:54 <Sgeo> `olist 963
01:16:54 <HackEgo> 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 <oerjan> <elliott_> has anyone written a generator for that god-awful never execute a ] style? <-- well in general that gives exponential blowup
03:49:31 <ais523> I hate that style too
03:49:41 <ais523> and am very much in favour of designing the rules of BF Joust so that it doesn't work
03:52:45 <ais523> e.g. via program size limits in the hundreds-of-kilobytes to low-megabytes range
03:52:59 <oerjan> i think some of the usefulness of ({})% is that it gives you _some_ of the power of that style
03:53:10 <oerjan> without the blowup
03:53:17 <oerjan> how much of it, i wonder
03:54:47 <ais523> oerjan: see stealth2's behaviour against a program that sets scattered small decoys, and you get a very good idea
03:56:56 <oerjan> you can do [P]Q -> ([P{}]Q)%-1 but that probably does not compose
03:57:22 <oerjan> !bfjoust
03:57:22 <zemhill_> oerjan: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation.
03:58:12 <ais523> oerjan: that's actually a really useful transformation for timer-ing a clear
03:58:18 <ais523> if you reduce the -1 to some smaller value
03:58:37 <oerjan> right
04:06:27 <Lymia> <oerjan> <elliott_> has anyone written a generator for that god-awful never execute a ] style? <-- well in general that gives exponential blowup
04:06:34 <Lymia> That's what I started writing JoustExt for.
04:06:49 -!- shikhout has quit (Ping timeout: 260 seconds).
04:06:51 <Lymia> I had to abandon runtime if {} else {} and similar constructs because the exponential blow up was too hard to control
04:08:28 <ais523> and that's the way it should be
04:08:51 <ais523> oerjan: I guess the reason I like ({})% is that it gives you symmetry between test-zero and test-nonzero
04:09:15 <ais523> ()* 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 <ais523> Lymia: looking for a bug?
04:16:21 -!- upgrayeddd has joined.
04:18:06 <Lymia> Howmany reasons could I have for pointing a fuzzer at something?
04:27:09 <ais523> 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 <ais523> oh, more notes about that esolang I was developing
04:28:49 <ais523> it uses a queue for recursion, rather than a stack
04:28:55 <ais523> this wasn't even intentional, it just sort-of happened
04:29:17 <ais523> there was a really good reason but I can't remember it offhand
04:30:42 <quintopia> 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 <ais523> quintopia: defence programs would be close to unwritable
04:31:14 <ais523> reverse tripwires would be very unlikely to work, unless pretty large
04:32:08 <quintopia> 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 <quintopia> and it could lead to a lot of surprises when multiple people update
04:34:43 <ais523> that's pretty close to how the original hill worked
04:34:58 <ais523> except it was weekly rather than daily, and there was IIRC a one-week lag on seeing each other's programs
04:35:16 <ais523> it might be interesting to have a hill where egojsout-style traces are available but source isn't
04:35:17 <quintopia> no, i don't want any lag
04:35:31 <quintopia> oh that could be cool
04:35:38 <ais523> so people would have to reverse-engineer each other's programs from behaviour
04:35:48 <quintopia> 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 <Sgeo> What do people here think of Ethereum?
05:38:24 <oerjan> !bfjoust dotheywork (>[(+{>[-{-}]}.)%3])%9
05:38:25 <zemhill_> oerjan.dotheywork: points -29.67, score 4.28, rank 47/47
05:38:36 <oerjan> ok it parsed
05:39:40 <oerjan> so zemhill_ _does_ support nested ({})s
05:39:49 <oerjan> or at least the syntax
05:41:17 <ais523> just because it parses doesn't mean it does what you expect
05:41:54 <oerjan> i was afraid of that
05:42:48 <oerjan> 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 <ais523> !bftest test ((>{+}>{-})%3)%4
05:42:50 <zemhill_> ais523: error: parse error: encountered second { on a same level
05:43:04 <ais523> OK, at least something that is obviously meaningless fails to parse
05:49:07 <drdanmaku> 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 <oerjan> 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 <oerjan> *parser.c
05:50:55 <drdanmaku> Sgeo: in particular it looks like EVM doesn't do any sort of static analysis
05:52:38 <ais523> 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 <ais523> although it needs certain features from each
05:53:18 <coppro> what is the definition of secure, here? ensure atomicity?
05:53:23 <coppro> without a third party
05:53:36 <ais523> coppro: yes, as in the trade one way also forces the trade the other way
05:53:49 <Patashu> same definition of secure as it is within one blockchain, I'd think
05:54:11 <Patashu> in that once it's agreed on to have happened (part of the blockchain) it can't ever be reverted
05:54:23 <coppro> Patashu: you need more than that
05:54:35 <ais523> 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 <drdanmaku> Sgeo: maybe you've heard of IBM forking Ethereum, though
05:54:57 <coppro> Patashu: in a single cryptocurrency, the currencies are fungible
05:55:05 <coppro> Patashu: so the notion of an exchange is meaningless
05:55:23 <ais523> 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 <Patashu> right, that's true
05:55:44 <Sgeo> drdanmaku: haven't heard of that
05:55:54 <coppro> ais523: but aren't the transaction records separate?
05:55:56 <ais523> 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 <ais523> if we don't both sign it, neither transaction can be submitted, and they both time out
05:56:20 <ais523> also you need asymmetrical deadlines, to prevent timing scams
05:56:50 <ais523> 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 <coppro> ah, ok
05:57:07 <coppro> right, that makes sense
05:57:08 <ais523> 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 <Sgeo> I'm kind of sad Ethereum contracts can't initiate transactions
05:57:16 <ais523> (thus the asymmetrical deadlines)
05:57:26 <drdanmaku> 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 <Sgeo> Loops that keep going as long as the contract is paid
05:57:44 <ais523> and the hold means that the money has to be available
05:58:01 <ais523> (we both put the holds onto our respective blockchains in advance, and verify they're there before starting the transaction proper)
05:58:27 <ais523> 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 <drdanmaku> do ya'll really trust the bitcoin implementation in light of recent stuff like heartbleed and shellshock :/
05:59:59 <drdanmaku> it seems like a disaster waiting to happen if it wasn't well designed ahead of time
06:00:11 <drdanmaku> bitcoin was kind of just a code dump by an anonymous person
06:00:17 <ais523> 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 <coppro> drdanmaku: an academic, actually
06:00:35 <ais523> security holes in various bitcoin manipulation software have been found frequently, I expect them to continue to be
06:00:37 <drdanmaku> coppro: "academic"? satoshi nakamoto?
06:02:05 <drdanmaku> 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 <coppro> academic code? credibility? hahahahahahahahahahhahaahahahahahahaha
06:03:06 <coppro> you must be new here
06:03:21 <drdanmaku> not the code, the person
06:03:58 <ais523> coppro: to be fair, academic code's pretty good when seen in the light of sturgeon's law
06:04:07 <ais523> in that I think it bats a little below 90% crud
06:04:20 <coppro> ais523: only a little
06:04:21 <drdanmaku> 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 <coppro> drdanmaku: please, use dogecoin
06:05:11 <ais523> isn't that even more sketchy?
06:05:29 <drdanmaku> maybe IBM and Samsung can make something more attractive with block chain tech
06:05:36 <ais523> 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 <ais523> block chain tech itself is pretty awesome
06:05:45 <drdanmaku> although it sounds like their Adept thing is focused on the "internet of things" whatever that means
06:05:50 <ais523> but mining-based money distribution isn't
06:06:06 <drdanmaku> ais523: yeah, i'd like some general purpose block chain stuff from software developers i'd heard of before
06:06:48 <coppro> you could have a centrally managed currency, but you'd need a stupidly strong public key for that
06:07:22 <ais523> you could easily make it cryptographically strong enough
06:07:29 <ais523> but the social engineering issues would be another matter
06:07:51 <coppro> yeah
06:08:28 <coppro> 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 <coppro> (such as other banks)
06:09:20 <coppro> 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 <coppro> 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 <coppro> and everyone will be watching the transactions carefully to see if anything is amiss
06:10:48 <ais523> clearly, Bitcoin needs Agoran-style promises
06:11:15 <ais523> 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 <mroman_> !bfjoust oneshot (>)*9(-)*128.
06:13:01 <zemhill_> mroman_.oneshot: points -33.52, score 2.99, rank 47/47
06:13:28 <callforjudgement> why do people end programs with dots?
06:14:00 <callforjudgement> it's sort-of like writing +(+)*10
06:14:12 -!- shikhin has joined.
06:14:15 <mroman_> !bfjoust oneshot (>)*9(-)*128(<--<++)*4(>)*8([-]>)*3(<--<++)*4(>)*8([-].>)*-1
06:14:16 <zemhill_> mroman_.oneshot: points -22.40, score 5.64, rank 47/47 (--)
06:14:34 <mroman_> !bfjoust oneshot (>)*9(-)*128(<--<++)*4(>)*8([-]>)*3(<--<++)*4(>)*8([(+)*7[-]].>)*-1
06:14:35 <zemhill_> mroman_.oneshot: points -24.12, score 4.85, rank 47/47 (--)
06:14:46 <mroman_> hm
06:15:19 <mroman_> !bfjoust oneshot (>-)*9((-)*128)*3([-].>)*-1
06:15:20 <zemhill_> mroman_.oneshot: points -27.83, score 3.46, rank 47/47 (--)
06:15:25 <mroman_> !bfjoust oneshot (>-)*9((-)*128)*3([-.]>)*-1
06:15:26 <zemhill_> mroman_.oneshot: points -31.40, score 3.04, rank 47/47 (--)
06:15:40 <mroman_> !bfjoust oneshot (>(-)*10)*9((-)*128)*3([-]>)*-1
06:15:40 <zemhill_> mroman_.oneshot: points -21.17, score 7.21, rank 47/47 (--)
06:15:45 <mroman_> !bfjoust oneshot (>(-)*32)*9((-)*128)*3([-]>)*-1
06:15:46 <zemhill_> mroman_.oneshot: points -23.26, score 6.96, rank 47/47 (--)
06:15:50 <mroman_> !bfjoust oneshot (>(-)*13)*9((-)*128)*3([-]>)*-1
06:15:50 <zemhill_> mroman_.oneshot: points -18.69, score 8.67, rank 47/47 (--)
06:16:06 <mroman_> !bfjoust oneshot (>(-)*13)*9((-)*128)*3<<<([-]>)*-1
06:16:06 <zemhill_> 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 <mroman_> !bfjoust trip (>+[].<(++-)*-1)*-1
06:51:21 <zemhill_> mroman_.trip: points -9.36, score 11.83, rank 47/47
06:51:44 <mroman_> !bfjoust trip (>+[]<(++-)*-1)*-1
06:51:46 <zemhill_> mroman_.trip: points -12.12, score 9.86, rank 47/47 (--)
06:52:01 <mroman_> !bfjoust trip (>+[].<(++-.)*-1)*-1
06:52:02 <zemhill_> mroman_.trip: points -24.52, score 5.40, rank 47/47 (--)
06:52:04 <mroman_> !bfjoust trip (>+[].<(++-)*-1)*-1
06:52:07 <zemhill_> mroman_.trip: points -9.36, score 11.83, rank 47/47 (--)
06:52:16 <mroman_> !bfjoust trip (>+[].<(++-)*-1)
06:52:16 <zemhill_> mroman_.trip: points -29.67, score 4.28, rank 47/47 (--)
06:52:19 <ais523> mroman_: your programs seem to contain a lot of tripwires for the sake of having tripwires
06:52:41 <ais523> they're only useful when writing a program that benefits from knowing what the opponent is doing
06:52:44 <mroman_> !bfjoust trip (>+[].<(++-)*-1)*10
06:52:47 <zemhill_> mroman_.trip: points -9.36, score 11.83, rank 47/47 (--)
06:52:59 <mroman_> !bfjoust trip (>+[].<(++-)*-1)*10(>)*9([-].>)*-1
06:53:02 <zemhill_> mroman_.trip: points -9.36, score 11.83, rank 47/47 (--)
06:53:16 <mroman_> I haven't figured out how tripwires can be used
06:54:41 <ais523> 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 <ais523> oh well, I just got the updated fix to the bash bug people were talking about
07:01:55 <ais523> and the fix was to change a .y file
07:02:03 <ais523> so parser bug was pretty much spot on
07:04:33 <mroman_> but while you're detecting you can't do anything
07:04:38 <mroman_> because [] blocks
07:06:56 <ais523> so, a forwards tripwire, like [], is mostly only useful for cycle-accurate synchronization, because of that
07:07:09 <ais523> 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 <mroman_> !bfjoust foo (->++<-)*-1
07:08:05 <zemhill_> mroman_.foo: points -15.43, score 7.99, rank 47/47
07:08:21 <mroman_> !bfjoust foo (->(+)*3<-)*-1
07:08:24 <zemhill_> mroman_.foo: points -16.50, score 7.07, rank 47/47 (--)
07:11:15 -!- oerjan has quit (Quit: leaving).
07:14:18 <coppro> pffff
07:14:25 <coppro> durkon allotrope thundershield
07:14:30 <coppro> amazing middle name
07:18:46 <mroman_> !bfjoust rabbit (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-([>[(+)*9[-]]]..+)*-1
07:18:48 <zemhill_> mroman_.rabbit: points -17.57, score 7.45, rank 47/47
07:20:09 <mroman_> !bfjoust rabbit ([>[(+)*9[-]]]..+)*-1
07:20:09 <zemhill_> mroman_.rabbit: points -31.55, score 4.29, rank 47/47 (--)
07:20:34 <mroman_> !bfjoust oneshot (>)*9[-]
07:20:34 <zemhill_> mroman_.oneshot: points -27.76, score 4.95, rank 47/47
07:20:48 <mroman_> !bfjoust oneshot (>)*9[[-]]
07:20:49 <zemhill_> mroman_.oneshot: points -27.67, score 4.99, rank 47/47 (--)
07:20:57 <mroman_> !bfjoust oneshot (>)*9([[-]]>)*-1
07:20:58 <zemhill_> mroman_.oneshot: points -14.40, score 10.88, rank 47/47 (--)
07:21:11 <mroman_> !bfjoust meow (>-)*9([[-]]>)*-1
07:21:12 <zemhill_> mroman_.meow: points -25.86, score 3.92, rank 47/47
07:21:23 <mroman_> !bfjoust meow (>)*9([[-]]+>)*-1
07:21:23 <zemhill_> mroman_.meow: points -16.55, score 10.10, rank 47/47 (--)
07:21:31 <mroman_> !bfjoust meow ([[-]]+>)*-1
07:21:32 <zemhill_> mroman_.meow: points -25.50, score 3.68, rank 47/47 (--)
07:23:03 <mroman_> !bfjoust vibr4t3 (-)*127(-+.)*100000
07:23:04 <zemhill_> mroman_.vibr4t3: points -5.05, score 15.50, rank 39/47
07:23:09 <mroman_> !bfjoust vibr4t3 (-)*127(-+)*100000
07:23:09 <zemhill_> mroman_.vibr4t3: points -11.40, score 11.43, rank 47/47 (-8)
07:23:12 <mroman_> !bfjoust vibr4t3 (-)*127(-+.)*100000
07:23:13 <zemhill_> 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 <mroman_> >+>->+>->+>->+(>-++-(.)*132[+]++>-++-(.)*132[-]--)*15 <- this was #1 on the hill?
07:51:42 <mroman_> it... just waits forever before advancing...
07:54:26 <ion> http://seclists.org/oss-sec/2014/q3/712
07:55:34 <Bike> haha yeah i saw that
07:55:53 <Bike> i wonder how many bugs you could find just by grepping for literal numbers, generally
07:56:38 <Bike> (the patch replaces a *redir_stack[10] with **redir_stack, among other things
07:56:42 <Bike> end parenthesis
07:57:01 <ion> hehe
07:59:05 <mroman_> there's still no patch for my php-injection-vuln for weathermap 0.97c
08:00:37 -!- scounder_ has joined.
08:01:02 <mroman_> I don't know if I should disclose that publicly
08:03:30 <Bike> we're all doomed anyway
08:07:54 <HackEgo> [wiki] [[Special:Log/newusers]] create * YoYoYonnY * New user account
08:09:07 <shachaf> `rm wisdom/tervetuloa
08:09:09 <HackEgo> No output.
08:27:27 -!- ais523 has quit.
08:27:41 -!- ais523 has joined.
08:36:46 <mroman_> 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 <fizzie> "too many programs: 49 > 47" gah
09:33:33 <fizzie> 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 <fizzie> 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 <mroman_> if(numPrograms > 47) throw new NullPointerException();
09:48:56 <mroman_> 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 <zemhill> web.just_testing: points -12.67, score 11.69, rank 47/47
10:44:34 <fizzie> V. fancy.
10:44:45 <fizzie> (I will disable it if it becomes a problem.)
10:46:26 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
10:50:09 <mroman_> is that web-submission?
10:50:19 <fizzie> Yes.
10:50:31 <fizzie> Directly at http://zem.fi/bfjoust/
10:50:56 <shachaf> web.joust_testing
10:52:20 <mroman_> 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 <elliott_> ais523: I think it's a flaw in BF Joust that it allows that style
11:32:03 <elliott_> and that hacking on arbitrary limits to prevent it is a bit disappointing
11:32:46 <ais523> elliott_: well I did think of an interesting alternative, thinking about this problem
11:33:04 <ais523> 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 <ais523> otherwise, it's a nop
11:33:22 <ais523> but you can only have one of them in the entire program
11:34:13 <elliott_> this sounds ugly.
11:34:39 <elliott_> I sort of think maybe we should just make ] take zero cycles and go from there
11:36:07 <ais523> then you hit the instant triplock problem
11:36:40 <elliott_> yes, both ways have problems and need fixing
11:37:15 <elliott_> a really boring solution would be a [] nesting limit, btw
11:37:22 <elliott_> that's probably nicer than a program length limit
11:37:24 <ais523> that said, I've had thoughts on how to win in an instant triplock hill
11:37:39 <ais523> I don't think it'd be as deep, but there's /some/ depth there
11:40:25 -!- ais523 has quit.
11:44:43 <mroman_> what style?
11:47:32 <mroman_> 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 <elliott_> /100/?
12:00:58 <elliott_> 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 <mroman_> Programmers using scanf with %f without setting a locale suck
12:35:55 <mroman_> because parsing suddenly breaks on systems without LC_NUMERIC=en_US
12:37:16 <mroman_> elliott_: Redcode has that too
12:37:23 <mroman_> There's the nano hill with 5 instructions
12:37:52 <mroman_> I don't know
12:38:17 <mroman_> BFJoust_Nano for <32, BFJoust_Mini for <100, BFJoust_Normal unrestricted
12:39:08 <mroman_> That doesn't mean large programs have no value
12:39:26 <elliott_> something like <256, <1024, <1M would be more reasonable
12:40:26 <mroman_> nano hills warriors are 100% evolved afaik :)
12:40:45 <mroman_> you just select a base strategy and set inital constants
12:40:55 <mroman_> and then feed it to an evolver and leat it tweak constants etc.
12:40:59 <mroman_> *let
12:41:51 <elliott_> 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 <mroman_> I wouldn't say that
12:58:07 <mroman_> did you see my programs?
12:58:16 <mroman_> I just made a first attempt
12:58:23 <mroman_> then tweaked constants for offsets and decoys
12:58:33 <mroman_> and just by that you can loose or win 10 places
12:58:49 <mroman_> that tweaking of just constants could be automated I'm sure
12:59:13 -!- zolbap has joined.
13:03:04 <elliott_> that isn't quite full evolving
13:03:14 <elliott_> ais523 already partially automates that, I think
13:16:01 <mroman_> it's not full evolving yes
13:16:15 <mroman_> but you can just write (>)*x([-].>)*x etc
13:16:22 <mroman_> 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 <mroman_> http://esolangs.com/
13:55:56 <mroman_> ^- who's this?
13:57:20 <fizzie> !bfjoust tiny_tuned >(+)*12>(-)*8>(+)*8>(-)*0(>)*4(>[(-)*10[.+]])*21
13:57:22 <zemhill> fizzie.tiny_tuned: points 0.64, score 20.47, rank 18/47
13:57:26 <fizzie> 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 <boily> Sgeo: Sgello. thanks for the olist.
14:10:23 <Bike> which one was the homestuck list, well, whatever
14:14:00 <zemhill> 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 <boily> 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 <mroman_> 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 <boily> mroman_: all your modifications to the `learndb and suchlike in the past few days.
14:49:28 <mroman_> and where did you push them?
14:50:31 <boily> to dropbox, as seen in the nice /topic, or to a private repo on github to which you probably have access.
14:50:43 <boily> 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 <mroman_> 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 <mauris> does anyone know who wrote the second program here? http://en.wikipedia.org/wiki/Malbolge#.22Hello_World.21.22_in_Malbolge
15:50:31 <mauris> 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 <mauris> 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 <fizzie> 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 <fizzie> 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 <HackEgo> [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 <HackEgo> [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 <HackEgo> [wiki] [[Pancake Stack]] http://esolangs.org/w/index.php?diff=40546&oldid=40545 * Quincunx * (+127) /* Syntax */
18:56:22 <Sgeo> Bike: list?
18:56:29 <Bike> i dunno
18:56:30 <Sgeo> `cat bin/list
18:56:31 <HackEgo> ​#!/bin/sh \ grep '^..:..:..: <[^>]*> `list' /var/irclogs/_esoteric/201[3-9]-??-??.txt | sed 's/^.*<//;s/>.*//;s/_*$//' | sort -u | tr '\n' ' '
18:56:35 <Bike> anyway it's happening etc
18:56:37 <Sgeo> Guess not
18:57:41 -!- AnotherTest has joined.
18:59:06 -!- scounder has quit (Ping timeout: 246 seconds).
18:59:37 <HackEgo> [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 <CrazyM4n> Hey, what´s a paste service that doesn´t wrap lines?
19:07:11 <Bike> sprunge
19:07:13 <pikhq> sprunge.us
19:07:42 <CrazyM4n> Thanks, I couldn´t remember the name to it
19:09:45 <CrazyM4n> Gotta love cloud -> butt http://prntscr.com/4qvobv
19:27:50 <FreeFull> Weather: Butty
19:50:35 -!- copumpkin has joined.
19:59:53 <GeekDude> butty?
19:59:55 <GeekDude> oh
19:59:56 <GeekDude> cloudy
20:00:24 <GeekDude> `! bf_txtgen Buttz
20:00:28 <HackEgo> 53 +++++++++++++[>+++++>+++++++++>><<<<-]>+.>.-..++++++. [85]
20:00:32 <J_Arcane> O_O http://neurokernel.github.io/index.html
20:01:06 <GeekDude> ^bf +++++++++++++[>+++++>+++++++++<<-]>+.>.-..++++++.>+++++++++++++[>+++++>+++++++++<<-]>+.>.-..++++++.>+++++++++++++[>+++++>+++++++++<<-]>+.>.-..++++++.>
20:01:06 <fungot> ButtzButtzButtz
20:02:11 <b_jonas> ah indeed!
20:13:48 <fizzie> ^bf +++++++++++++[>+++++>+++++++++<<-]>+.>.-..++++++.<.>-----.-..++++++.<.>-----.-..++++++. that was HORRIBLY suboptimal what you did there
20:13:49 <fungot> 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 <AndoDaan> mroman_: You here?
20:27:19 <mauris> ^bf +++++++++++++[>+++++>+++++++++>><<<<-]+++[->+.->.-..++++++.-----<<] same to you!!
20:27:19 <fungot> ButtzButtzButtz
20:30:17 -!- CrazyM4n has left ("Leaving").
20:32:11 <zzo38> Do you have any METAFONT files for mahjong, and for Japanese hiragana and katakana?
20:33:46 <b_jonas> 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 <AndoDaan> Anyone here familiar with the Chalcraft-Greene train track automaton: http://esolangs.org/wiki/Chalcraft-Greene_train_track_automaton
21:32:10 <Bike> i kind of doubt that, but hey, ian stewart!
21:32:27 <AndoDaan> Ian Stewart?
21:32:36 <AndoDaan> oh, wrote about it.
21:32:50 <AndoDaan> I probably should know him.
21:33:41 <AndoDaan> Definitely should know about him. I'm terrible.
21:34:00 <Bike> no, knowing too many things is terrible.
21:34:11 <Bike> anyway, did you have some kind of question, or what? i'm looking at the pdf now.
21:35:17 <AndoDaan> 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 <AndoDaan> Like if you could make the flipper junction out of the lazy and stuck one.
21:36:11 <AndoDaan> 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 <AndoDaan> (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 <Bike> well, the pdf doesn't mention the third junction in its turing machine construction
21:42:35 <Bike> actually it doesn't mention flippers at all. what's a flipper
21:42:41 <Bike> (unless i'm missing it)
21:44:00 <AndoDaan> 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 <AndoDaan> You can never enter B or C. only leave.
21:44:54 -!- FireFly has quit (Quit: WeeChat 0.4.0).
21:45:12 <Bike> yeah, that's not in the pdf.\
21:45:56 -!- FireFly has joined.
21:46:09 <Bike> 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 <Bike> that and sprung points are all they use
21:46:26 <AndoDaan> yep.
21:46:40 <AndoDaan> Seems amazing that that is enough.
21:46:56 <AndoDaan> Well, stranger things have happened. SKI
21:47:33 <Bike> 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 <Bike> it seems reasonable to me. in electronic terms it's like a latch.
21:48:09 <AndoDaan> Yeah, I only got some grip on the concept with the Zillion game implementation.
21:48:10 <Bike> (it's weird that terminology has evolved such that "latch" is electronic)
21:48:49 <Bike> i have the sudden urge to read shannon's paper showing that boolean logic can in fact be done in circuitry.
21:48:58 <AndoDaan> Is a latch related to NAND? (I just know that NANDs are all you need for a computer)
21:49:14 <Bike> Not really. It's also called a "flip-flop".
21:49:22 <AndoDaan> Ah.
21:49:23 <Bike> It's basically one bit of state.
21:49:24 -!- Phantom__Hoover has joined.
21:49:38 <Bike> or a bistable multivibrator, if you like using big important sounding words
21:49:47 <zzo38> A latch can be made out of NANDs
21:49:52 <AndoDaan> Who doesn't.
21:50:08 <zzo38> (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 <Melvar> Bike: That term tended to get giggles when I heard it.
21:50:33 <AndoDaan> Multivibrator
21:50:49 <Bike> see, because sex,
21:51:04 <Bike> i think you can do a latch with two crosslinked nands. nors definitely work.
21:51:27 <Bike> http://en.wikipedia.org/wiki/File:SR_Flip-flop_Diagram.svg there we go.
21:51:47 <Bike> i had a test on this less than a year ago, but remembering things is hard
21:51:51 <fizzie> Note the inverted set and reset signals, though.
21:51:58 <fizzie> Or "active-low", whatever.
21:53:18 <Bike> MIT lets me view a "preview" version which is the whole text but not "printable". oh no, i guess
21:54:45 <AndoDaan> 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 <Bike> "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 <GeekDude> or
21:56:14 <GeekDude> 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 <Bike> 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 <Bike> they also called making one 'an infuriating problem' which matches with my wasting three pages of paper on it
22:22:13 <b_jonas> fungot, do you like unfinished sentences in software manuals?
22:22:13 <fungot> 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 <fizzie> Software manuals: so romantic.
22:22:28 <AndoDaan> :) Thanks that you kept on looking.
22:22:43 <b_jonas> from that it seems fungot does like unfinished sentences, he makes them
22:22:44 <fungot> 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 <Bike> "this will be fun" i thought, "very educational"
22:22:55 <AndoDaan> Makes much more sense this way.
22:22:59 <AndoDaan> lol
22:23:19 <AndoDaan> Is a flipper what they call a distributor?
22:23:22 <Bike> yes.
22:23:33 <Bike> which i didn't notice my first look through.
22:23:35 <fizzie> fungot: How come you can't figure out paragraphs in text ever?
22:23:35 <fungot> 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 <AndoDaan> I really couldn't decipher that, above my paygrade
22:24:13 <Bike> "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 <b_jonas> what? no, a flipper is foot fins used for swimming
22:24:16 <Bike> not too bad.
22:24:51 <AndoDaan> My brain is often mush.
22:25:22 <Bike> i like how they show you can avoid bridges, too
22:27:27 <AndoDaan> The four leaf clover diagram?
22:27:46 <Bike> yeah.
22:27:53 <Bike> though if you used it for traffic you'd get collisions.
22:28:45 <AndoDaan> 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 <Bike> 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 <Bike> gonna call it that from now on
22:49:34 <mauris> huh, "trying it" how so
22:49:44 <AndoDaan> hmm, you can only prove x + y = y + x by induction, right?
22:49:58 <mauris> does it only work for finite domains
22:50:00 <Bike> it's boolean algebra, meaning 0 and 1 are the only values.
22:50:02 <Bike> so yes.
22:50:07 <copumpkin> AndoDaan: depends on what the type is :)
22:50:11 <mauris> aha
22:50:20 <copumpkin> but chances are, that's true
22:50:26 <AndoDaan> Yeah, I'm think natural number, but there's more to life than that.
22:50:41 <AndoDaan> or "can be less to life" than that.
22:52:14 <Bike> can be more or less to life. can be arbitrary amounts to life
22:52:59 <oerjan> i think the "induction" in "perfect induction" may be the philosophical concept, not the mathematical one
22:53:02 <Bike> can be seven to life.
22:53:55 <oerjan> as in, philosophical induction is deducing laws from examples, so "perfect" induction would be deducing a law by checking _all_ examples.
22:54:14 <mauris> oh, duh, this is just "proof by exhaustion" which i've heard lots before
22:55:00 <Bike> right, i just think the name is kinda funny.
22:55:05 <oerjan> 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 <oerjan> basically, just make a bijection that maps from each side to the other
22:57:03 <mauris> oerjan: i.e. \(a, b) -> (b, a)?
22:57:11 <oerjan> :t let bij (Left x) = Right x; bij (Right y) = Left y in bij
22:57:12 <lambdabot> Either b a -> Either a b
22:57:21 <oerjan> mauris: no, that would prove x * y = y * x
22:57:40 <mauris> oh right
22:57:43 <oerjan> sums are like Eithers
22:58:38 <Sgeo> What are differences and quotients?
22:58:40 <oerjan> now prove x ^ (y + z) = (x ^ y) * (x ^ z) :P
22:58:55 <Bike> differences and quotients of what
22:59:02 <Sgeo> In types
22:59:03 <oerjan> Sgeo: not always well defined
22:59:06 <Sgeo> Either a b = a + b
22:59:15 <Sgeo> ? a b = a - b
22:59:16 <oerjan> oh i thought you meant cardinalities
22:59:47 <mauris> ooh, that's (Either y z -> x) <-> (y -> x, z -> x)
22:59:49 <oerjan> 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 <oerjan> 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 <oerjan> 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 <oerjan> e.g. Nat = () + Nat
23:04:40 <oerjan> 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 <oerjan> which can be proved equivalent to it containing a copy of N
23:09:22 <oerjan> (i think you don't even need the axiom of choice, although slightly different formulations might)
23:16:43 <shachaf> oerjan: I think it becomes a lot more subtle without LEM though I don't really know the details.
23:17:14 <oerjan> oh i hardly ever consider that
23:17:58 <zzo38> newtype Nat = Nat (Maybe Nat);
23:18:12 <shachaf> 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 <b_jonas> 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 <shachaf> i remember reading http://math.andrej.com/2012/10/03/am-i-a-constructive-mathematician/
23:29:35 <shachaf> 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 <mauris> is Nat = Fix Maybe?
23:39:16 <shachaf> Yes.
23:40:03 <mauris> "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 <zzo38> I don't understand either, since the reals have a larger cardinality
23:41:17 <Bike> presumably other definitions of some of the terms are involved.
23:41:49 <mauris> such as "may happen"
23:44:30 <shachaf> How does it happen?
23:48:32 <oerjan> yeah
23:48:38 <oerjan> oops
23:49:19 <oerjan> answered a question without noticing i was in backscroll (and that it hadn't been answered)
23:49:24 <oerjan> *had
23:49:58 <shachaf> 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 <shachaf> intuitionism is bizarre sometimes
23:53:27 <Bike> thus the name
23:55:02 <Melvar> 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 <zzo38> 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 <GeekDude> A set cannot contain itself
00:03:12 <GeekDude> the consequences is that universal set would not be, by definition, a set
00:03:53 <Bike> 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 <Bike> to be fair, i've only seen an attempt at actually using it in a really shitty biology paper.
00:07:04 <GeekDude> I don't deal with sets so much
00:07:16 <GeekDude> But I can do Array = [], Array[Array] := Array
00:07:30 <GeekDude> er, Array := [], Array[Array] := Array
00:07:34 <GeekDude> missed a : on the first one
00:07:48 <GeekDude> ( := is the assignment operator in the language I am using for this demonstration)
00:07:49 <idris-bot> Command "=" not permitted.
00:17:33 <Melvar> 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 <GeekDude> NFU?
00:19:44 <Melvar> 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 <GeekDude> My brain is frying here
00:21:14 <GeekDude> I'm not too well versed in set theory
00:21:18 <GeekDude> of any kind
00:23:13 <Melvar> 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 <GeekDude> I need to write a simple PRNG, and am limited to only using integers between negative and positive 524287
00:32:13 <GeekDude> A linear congruential generator sounds like it could work
00:32:29 <GeekDude> with a small multiplier and increment
00:34:15 <Bike> yeah, that should be easy.
00:34:59 <GeekDude> 724 for the modulus, that's roughly the square root of the max int limit
00:35:24 <GeekDude> then perhaps something like 483 for the multiplier
00:35:35 <GeekDude> and 238 for the increment
00:35:41 <GeekDude> unless I'm completely misunderstanding the point
00:36:16 <GeekDude> I could stuff a larger range of values in there I guess
00:36:33 <Bike> hopefully you are not using this for crypto
00:36:37 <GeekDude> nooooo way
00:36:47 <Bike> who gives a damn then
00:36:58 <GeekDude> I need values that look vaguely random
00:37:15 <Bike> i had a school project last week where i got entropy by counting up until the user hit a button, #yolo
00:37:22 <GeekDude> lol
00:37:42 <GeekDude> no clock value you could mooch off?
00:39:15 <Bike> 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 <GeekDude> I've heard a last ditch effort for medium quality entropy is to ask the user to mash the keyboard
00:41:23 <pikhq> That's practically begging for bad entropy.
00:41:40 <GeekDude> lol
00:41:46 <GeekDude> you need high quality users
00:41:55 <GeekDude> and maybe a blindfold
00:41:56 <Bike> type without rhythm so as not to attract the worm.
00:42:01 <pikhq> Ah, "values that look vaguely random" though.
00:42:29 <pikhq> I hear the low bit of rdtsc is good enough.
00:43:42 <GeekDude> rdtsc?
00:44:01 <Bike> cycle counter on x86.
00:44:26 <GeekDude> I'm not even close to using x86 though
00:44:44 <pikhq> Well then, that's a terrible idea.
00:44:49 <GeekDude> I'm using BASIC on a 3ds
00:45:05 <pikhq> ... For a class project.
00:45:12 <zzo38> Is it SmileBASIC?
00:45:14 <pikhq> BASIC. On a 3DS.
00:45:16 <pikhq> Kay then.
00:45:26 <GeekDude> zzo38: yes it is
00:45:29 <Bike> the class project was me, geekdude might be doing some other shite
00:45:35 <zzo38> I know you can run SmileBASIC on 3DS, but it isn't really like BASIC; there are many differences too.
00:45:38 <pikhq> Bike: Oic
00:45:48 <GeekDude> ¯\_(ツ)_/¯ all the variants have their giant quirks
00:45:52 <Bike> me, i was doing a simon says game. security, of course, is paramount
00:46:20 <pikhq> Of course.
00:46:29 <pikhq> Someone might use it to choose passwords, or crypto keys.
00:46:46 <GeekDude> I'm doing fractal trees
00:46:53 <GeekDude> well, not really fractal
00:46:59 <Bike> there was actually that pretty funny deniable encryption thing, but it used a game more like DDR
00:47:01 <GeekDude> recursive trees
00:47:21 <pikhq> If it's self-similar it's fractal.
00:47:30 <Bike> ARM has a cycle counter register, looks like
00:47:37 <Bike> i imagine something is accessible on the 3ds
00:47:55 <pikhq> I just about guarantee that SmileBASIC does not expose that though.
00:47:55 <GeekDude> The branches resemble eachother in that they each have two sub branches (although at psuedo-random angles)
00:48:02 <Bike> so that's uh, four bytes of entropy, hooray
00:48:03 <GeekDude> pikhq: sadly not
00:48:18 <Bike> do like old dos basic, just write instructions into the memory space
00:48:23 <Bike> as previously mentioned, #yolo
00:48:38 <pikhq> Bike: If SmileBASIC works like that then some hackers are gonna be very happy.
00:48:57 <Bike> oh, this is an official product.
00:49:01 <GeekDude> 'tis
00:49:02 <pikhq> Yes.
00:49:12 <GeekDude> there's a new version coming out very soon to the US
00:49:14 <GeekDude> should be loads better
00:49:17 <Bike> i know some emulator people now so i just assume all game systems are cracked.
00:49:20 <GeekDude> and it will support 3d output
00:49:25 <pikhq> It's, uh, the BASIC variant in the PetiteComputer thing?
00:49:33 <GeekDude> yeah, Petit computer
00:49:44 <pikhq> Sadly not really. The DSi is only tenuously cracked, and the 3DS is utterly uncracked at this point.
00:49:50 <Bike> "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 <pikhq> *And* it's got fucking region locking!
00:49:56 <Bike> Sounds like entropy to meeeee
00:50:03 <GeekDude> Bike: that's in the new version though
00:50:06 <GeekDude> not released to the US yet
00:50:16 <pikhq> And the DSi and 3DS are region locked.
00:50:17 <Bike> i live on the edge
00:50:18 <GeekDude> I'm using the DSi version
00:50:21 <pikhq> Because Nintendo hates people.
00:50:25 <Bike> ..........of the US and europe
00:50:41 <zzo38> 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 <Bike> i wonder how good the accelerometer is. i tried my phone's and it was one hell of a hot mess
00:50:51 <zzo38> The original Nintendo DS is not region locked.
00:50:54 <GeekDude> 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 <pikhq> GeekDude: The thing is, though, if the platform weren't region locked you could at least *run* foreign software.
00:51:19 <GeekDude> then they plug their PRNG into a countdown timer
00:51:26 <pikhq> It might not be in a language you speak, but still.
00:51:40 <zzo38> I do have one foreign game card on my Nintendo DS
00:52:14 <Bike> http://smilebasic.com/en/image/ss-story-help-4.png wow, it's like i'm really on my TI
00:52:37 <GeekDude> I get "TIME$" and "DATE$" as my only two time sensitive inputs
00:52:46 <mauris> Bike: it looks like a shitty dos game
00:52:58 <mauris> that amazing font!!!
00:53:06 <zzo38> I still write games on DOS sometimes
00:53:18 <GeekDude> I'm doing this http://i.imgur.com/ryhFSIA.jpg
00:53:28 <GeekDude> but imagine green and brown, and more branches
00:53:42 <Bike> oh, it's like an l system.
00:53:46 <Bike> or... something.
00:53:47 <GeekDude> it actually is
00:53:52 <GeekDude> I've implemented an L system
00:54:05 <Bike> #nailed it
00:54:19 <GeekDude> though, two of the operations include "and add a random number"
00:54:31 <GeekDude> so YMMV as to reproducability
00:54:31 <Bike> nuthin wrong with a lil stochasticism.
00:55:29 <GeekDude> RAND = (433*RAND + 238) % 724
00:55:33 <GeekDude> woo, 'random'
00:55:46 <Bike> nsa gonna hack ur l system
00:56:23 <mauris> idgi. wouldn't that have a period of at most 724
00:56:37 <GeekDude> lol
00:56:52 <GeekDude> I said 'vaguely random'
00:57:05 <Bike> no, that's true, you might as well use the largest modulus you can.
00:57:13 <GeekDude> ¯\_(ツ)_/¯
00:57:23 <GeekDude> I'm not sure how stack overflow is handled
00:57:29 <GeekDude> it says values larger than the max limit are "ignored"
00:57:32 <Bike> stack??
00:57:41 <GeekDude> There is not stack
00:57:43 <GeekDude> no*
00:57:52 <GeekDude> er
00:57:54 <Bike> you just said stack overflow, did you mean numeric overflow.
00:57:55 <GeekDude> integer overflow*
00:58:12 <Bike> right, well, just find a prime around 500000 and call it good.
00:58:17 <GeekDude> My head is on slightly crooked
00:58:29 <GeekDude> "Ok google, closest prime to five hundred thousand"
00:58:41 <Bike> er... well i don't remember the requirements... they're on wikipedia.
00:58:58 <Bike> 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 <GeekDude> ah
01:00:17 <GeekDude> seems to just print "overflow" and ignore the command
01:00:41 <GeekDude> I need to do two commands then I think
01:00:49 <GeekDude> one to multiply and the other to do other things
01:02:02 <GeekDude> RAND = 483 * RAND:RAND = (RAND + 238) % (LIMIT - 238)
01:02:07 <GeekDude> that would work I think
01:02:15 <GeekDude> : is the command delimiter thing
01:02:18 <GeekDude> like ; in C++
01:02:47 <mauris> what's LIMIT?
01:02:58 <GeekDude> the maximum integer size
01:03:06 <zzo38> In BASIC a colon can be used for multiple commands in one line; otherwise line breaks delimit multiple commands.
01:03:07 <GeekDude> in this case, roundabout 524287
01:03:25 <GeekDude> hey zzo38, I'm starting up a SmileBASIC channel if you wanna join
01:03:28 <zzo38> It is different than in C and C++, where a semicolon marks the end of a statement, regardless of line breaks
01:03:37 <GeekDude> well, a new SmileBASIC channel
01:03:43 <GeekDude> the other one was on EFNet and only had 2 people
01:03:45 <zzo38> GeekDude: I saw your invitation, and no I don't have any Nintendo 3DS
01:03:47 <GeekDude> me and <other person>
01:03:49 <GeekDude> aww
01:04:00 <GeekDude> Where'd you learn about SmileBASIC?
01:04:05 <GeekDude> or was that just google talking
01:05:10 <mauris> i think every random number you generate will be 1 (mod 3)
01:05:27 <zzo38> I like to program Famicom though
01:05:52 -!- AndoDaan has joined.
01:05:53 <zzo38> I did learn about SmileBASIC from a message on NESdev I think.
01:06:00 <zzo38> I do not remember.
01:06:22 <mauris> because 3 | 524287 - 238, and 3 | 483, so your formula mod 3 becomes just (0r + 1) = 1
01:07:15 <GeekDude> I'm not sure I'm following
01:09:24 <GeekDude> 256 * 1024 is the max integer limit
01:09:28 <GeekDude> er
01:09:31 <GeekDude> 512 * 1024
01:09:51 <GeekDude> 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 <GeekDude> IF RAND<1024 THEN RAND=RAND*503
01:13:12 <GeekDude> RAND=(RAND+9203)%1024
01:13:22 <GeekDude> That should be overflow free, and users primes for both M and C
01:13:29 <GeekDude> er, a and c
01:13:34 <GeekDude> m is 1024
01:14:04 <GeekDude> multiples of two for m is standard
01:18:19 <GeekDude> this seems to be working fairly okay
01:18:58 <GeekDude> There is an actual PRNG on here, but I can't seed it
01:19:01 <zzo38> Famicom even has two game pads, microphone, keyboard, drawing tablet, light gun, tape recording, stereovision, dance mat, and more other things.
01:20:11 <GeekDude> What's up with the connector port on the bottom?
01:20:26 <GeekDude> at least, on the USA NES
01:20:36 <pikhq> The NES connector port was going to be used for the NES disk drive, but they never released that.
01:20:48 <zzo38> It connects also to the cartridge port and a few other things; it isn't very useful.
01:21:17 <zzo38> And not all versions of NES even have such a port anyways.
01:21:33 <pikhq> 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 <pikhq> (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 <GeekDude> Sound input, output, or both?
01:23:32 <pikhq> Output.
01:23:53 <GeekDude> and the famicom games used this for... ?
01:23:54 <zzo38> Actually, the Famicom has both.
01:23:57 <GeekDude> I can't think of a goo use case
01:24:01 <GeekDude> good*
01:24:10 <pikhq> Better synthesizers on the cartridge.
01:24:20 <pikhq> The FDS itself used this feature.
01:24:26 <GeekDude> If you decide the output, can't you just use local feedback?
01:24:26 <zzo38> 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 <pikhq> zzo38: Ah.
01:25:09 <pikhq> I thhought it was mixed in the console.
01:25:59 -!- tromp_ has joined.
01:26:12 <pikhq> 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 <pikhq> Least it's not as limited as the poor 2600 was.
01:28:02 <GeekDude> I still think super famicom was where it was at
01:28:23 -!- tromp__ has quit (Ping timeout: 240 seconds).
01:28:27 <pikhq> It was overall a pretty awesome system. Crazy to emulate though.
01:29:11 <pikhq> Cartridges on there can bus master.
01:30:06 <pikhq> Emulating heterogenous multiprocessing like that is such a pain.
01:30:33 <Bike> opencl to the rescue
01:31:02 <zzo38> I don't like Super Famicom; I like Famicom.
01:31:14 <pikhq> Bike: Doesn't help that much here.
01:31:36 <pikhq> It's shared memory heterogenous multiprocessing.
01:32:04 <pikhq> This is about where most people start sobbing.
01:32:20 <zzo38> Famicom is faster than Commodore 64, too.
01:33:18 <pikhq> By about 700kHz, sure.
01:33:52 <zzo38> 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 <pikhq> Spiffy.
01:34:22 <pikhq> That's almost as awesome as the SCUMM interpreter on Famicom.
01:34:24 <zzo38> Infocom never did, but they did it on Commodore 64. However, looking at their codes they did many things slow.
01:36:30 <zzo38> 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 <GeekDude> pikhq: famicom SCUMM interpreter?
01:37:06 <GeekDude> how's the audio?
01:38:08 <pikhq> Only thing that uses it is the official port of Maniac Mansion, so a bit hard to judge. :)
01:38:27 <zzo38> (I don't know any other mapper with such small bank sizes, or with registers overlapping the mirrors of internal RAM.)
01:50:08 <GeekDude> hmm
01:50:18 <GeekDude> My random number generator, expectedly, is quite bad
01:50:26 <GeekDude> a small seed starts off with a small input
01:50:32 <GeekDude> er, small starting random values
02:14:01 -!- Sorella has quit (Ping timeout: 244 seconds).
02:30:25 <zzo38> Another possible random number generator is ARCFOUR, which is what SQLite uses.
02:32:50 <GeekDude> Finally found some good values for my random
02:34:09 <GeekDude> IF RAND < 515 THEN RAND = RAND * 1018
02:34:10 <GeekDude> RAND = (RAND + 1018) % 515
02:34:27 <GeekDude> gives pretty good results
02:34:40 <GeekDude> though...
02:34:46 <GeekDude> now that I think about it it's always less than 515
02:35:19 <GeekDude> actually, I think I have an overflow opportunity here too
02:35:25 <GeekDude> I might try choosing a slightly lower coprime pair
02:35:32 <GeekDude> 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 <GeekDude> ah
02:40:18 <GeekDude> nope, I'm good
02:41:03 <GeekDude> 1018+514*1018 == 524270, which is less than 524287
02:44:23 <Sgeo> 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 <mauris> Sgeo, you can offer the amulet to moloch now or something
03:12:28 <Sgeo> That can't be a win, can it
03:12:42 <Sgeo> What happens?
03:30:12 -!- coppro has quit (Ping timeout: 258 seconds).
03:30:55 -!- coppro has joined.
03:32:17 <zzo38> 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 <GeekDude> you can't, there isn't an infinite number of envelopes to win
03:34:26 <GeekDude> or would that be an arent
03:34:28 <GeekDude> anyways, https://db.tt/NPeEG7ml
03:34:56 <boily> what's an arent?
03:34:57 <GeekDude> And the output, http://i.imgur.com/unpvLzV.jpg
03:35:53 <GeekDude> night all
03:36:09 <boily> GoodnightkDude!
03:36:11 <zzo38> 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 <boily> wasn't there a "proof" out there about adding up all the positive integers equals -1/12?
03:36:50 <Bike> i'm not sure the world financial system is down with ramanujan summation.
03:36:57 <zzo38> Yes, I have seen that
03:37:03 <zzo38> That it add up to -1/12
03:37:25 <zzo38> Bike: But the world financial system is not infinite.
03:37:28 <Bike> ramanujan and... i think cesaro? give you -1/12
03:37:57 <Bike> oh, no it's not cesaro summable.
03:38:07 <shachaf> Isn't that the one where you take averages?
03:38:16 <shachaf> Yes.
03:38:27 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
03:38:33 <boily> I say all positive numbers are, on average, about five.
03:38:45 <boily> (trust me, I'm an engineer.)
03:38:48 <zzo38> I don't think so.
03:39:18 <Bike> you know what's weird? the erdos-kac theorem
03:39:54 -!- mauris has quit (Ping timeout: 246 seconds).
03:40:08 <Bike> wikipedia even says "randomly chosen large integer".
03:41:54 <boily> that is strangely fascinating.
03:42:17 <Bike> eh, any integer is gonna be about five anyway.
03:43:36 <boily> that's what I said, but zzo38 is being mean. *pfbfbfbfbt*
03:43:53 <Bike> c'mon zzo, they're an engineer! they know all about numbers. and five.
03:45:30 <Bike> me, i've never even seen a number in person, to be perfectly honest
03:45:45 <zzo38> Being an engineer is not quite good enough
03:46:08 <zzo38> It also mean, you need to be mathematician, and you also need to prove it, too.
03:46:29 <boily> IANAMAA.
03:47:13 <Bike> http://existentialcomics.com/comic/36
03:47:40 -!- AndoDaan has joined.
03:48:39 <boily> Bike: :D
03:51:30 <boily> 'night all!
03:51:45 -!- boily has quit (Quit: CHILLING CHICKEN).
04:01:25 <Sgeo> "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 <pikhq> Sgeo: Sadly, not a shell script and won't work on all POSIX systems.
04:03:45 <pikhq> However, this one will: cat "$0"
04:07:42 <Sgeo> Can't tell anything about a .zip file until the entire .zip file is loaded, but can quickly make changes
04:08:15 <Sgeo> 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 <zzo38> 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 <pikhq> The footer of the .zip file is strictly necessary.
04:12:19 <pikhq> That's the only part of the file that most anything looks at first.
04:12:42 <Sgeo> Day of Zeux?
04:13:04 <pikhq> Wait, .zip the Z-Machine format?
04:13:08 -!- Sorella has joined.
04:13:13 <Sgeo> 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 <zzo38> 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 <pikhq> 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 <pikhq> As evidenced by how ZIP is nearly unique in that property. :)
04:15:15 * Sgeo goes to read the DEFLATE spec
04:15:45 <pikhq> DEFLATE is a moronic and insane file format with equal parts weird microoptimization and utterly pointless redundancy.
04:16:40 <pikhq> Frankly, I'm pretty sure Phil Katz was drunk when he made it.
04:17:11 <zzo38> Is ZPAQ better then?
04:18:18 <pikhq> 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 <Sgeo> o.O
04:19:28 <pikhq> (for those who don't know, ZPAQ is literally a compression format that specifies a VM for decompression algorithms.)
04:19:43 <Sgeo> Ooh that sounds fun
04:20:07 <Sgeo> I'm going to go read that instead even if no one uses it
04:20:46 <pikhq> Yep. It's not a common format, but it's certainly a unique design for a format.
04:21:35 <zzo38> 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 <pikhq> But yeah. ZIP was devised by an alcoholic and it shows. :(
04:24:34 <zzo38> 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 <zzo38> 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 <Sgeo> pikhq: Looks like adding data can get corrupted if there's a hash collision in SHA1?
04:50:49 <Sgeo> ^^probably not relevent
04:52:10 -!- weissschloss has joined.
04:52:25 <Sgeo> Although SHA1 is disliked these days, isn't it?
04:53:24 <pikhq> Yes, there's theoretical exploits against it that weaken its collision resistance.
04:54:11 <zzo38> GNU C is getting a bit slow even when I didn't turn on the optimization
04:54:18 <pikhq> 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 <zzo38> Is it necessary to tell it to turn off the optimizations?
04:55:12 <Sgeo> pikhq: is ZPAQ updatable to make dedup reliant on SHA-256 instead?
04:55:17 <pikhq> I do not know.
04:56:07 <Sgeo> :( at C++ API... so many lesser known programming languages can talk to C but not C++
04:57:27 <zzo38> Can you use it in C++ if you use a extern "C" block to load them?
04:58:44 <zzo38> "time gcc -g -O0 -o nanozil nanozil.c" says it is 15 seconds
05:00:00 <Sgeo> 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 <Sgeo> Which presumably could then be decompressed with any compliant ZPAQ decompressor
05:00:50 <zzo38> Sgeo: Things like these are some of things I have wanted to do, too
05:04:09 <Sgeo> "To mark the end of the data, each decoded byte
05:04:10 <Sgeo> 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 <Sgeo> So, is it possible that a model that makes a strong prediction but gets it wrong confuses the decompressor?
05:08:25 <zzo38> Clearly, the optimization I have implemented is broken.
05:11:03 <zzo38> 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 <zzo38> I suppose it is to be expected; I didn't test it until now.
05:17:49 <zzo38> Can you help me to fix it?
05:23:39 <zzo38> 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 <Sgeo> 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 <zemhill> web.test: points 2.17, score 22.16, rank 14/47
07:05:52 <quintopia> is that a way to submit programs via the web
07:06:09 <AndoDaan_> Yeah, http://zem.fi/bfjoust/ at the bottom
07:06:21 <AndoDaan_> I just made a mistake submitting it for real.
07:07:10 <zemhill> web.test: points -46.00, score 0.00, rank 47/47 (-33)
07:08:16 -!- password2 has quit (Quit: Leaving).
07:08:51 <AndoDaan_> !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 <zemhill> AndoDaan_.BeatYouMate: points 2.38, score 22.40, rank 13/47
07:09:03 -!- password2 has joined.
07:11:46 <AndoDaan_> !bfjoust BeatYouMate <><
07:11:46 <zemhill> AndoDaan_.BeatYouMate: points -46.00, score 0.00, rank 47/47 (-34)
07:11:55 -!- AndoDaan_ has changed nick to AndoDaan.
07:11:59 <AndoDaan> !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 <zemhill> AndoDaan.BeatYouMate: points 2.95, score 22.58, rank 13/47 (+26)
07:13:24 <zemhill> web.DeadFish: points -46.00, score 0.00, rank 47/47
07:14:03 <password2> oh jousting
07:14:12 <AndoDaan> Indeed.
07:17:09 <quintopia> 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 <Sgeo> "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 <Sgeo> I wonder how many people fail to consider that last part
08:29:21 <HackEgo> [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 <quintopia> Sgeo: i would imagine that any compression algorithm worth its salt would include that logic, or something equivalent to it?
09:05:54 <b_jonas> 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 <quintopia> 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 <b_jonas> quintopia: they don't usually do that, because they want a streamable compression (with very large buffer),
09:09:37 <b_jonas> 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 <b_jonas> so you get expansion by a small constant factor
09:10:06 <b_jonas> 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 <quintopia> 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 <b_jonas> 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 <b_jonas> in practice, the important part is that the compression doesn't expand the input by too much
09:14:36 <b_jonas> 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 <b_jonas> presumably this was useful for casette tapes.
09:20:21 <quintopia> it doesn't preclude that each of the two parts that were concatenated has only a constant tag
09:26:16 <b_jonas> quintopia: it does
09:26:39 <b_jonas> 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 <b_jonas> 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 <Lymia> Opps!
10:29:46 <fizzie> 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 <quintopia> b_jonas: not if the constant tag encodes the length of the file
12:46:27 -!- AndoDaan_ has joined.
12:47:14 <b_jonas> quintopia: sure, but then it's no longer constant
12:47:27 <quintopia> 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 <b_jonas> 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 <fizzie> 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 <b_jonas> 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 <GeekDude> lol
13:09:22 <GeekDude> Why would you need jquery to submit a form?
13:10:45 <HackEgo> [wiki] [[Special:Log/newusers]] create * MarylinYagan * New user account
13:11:18 <GeekDude> HackEgo: help
13:11:24 <GeekDude> pfft
13:14:46 <fizzie> 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 <GeekDude> 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 <b_jonas> fizzie: stupid
13:20:50 <Taneb> GeekDude, my guess? "Yes, but don't"
13:20:57 <GeekDude> lol
13:21:02 <GeekDude> I want to do it for the lulz
13:21:05 <Taneb> Which, this being #esoteric and me being me, I'll give it a go this evening probably
13:21:13 <GeekDude> I don't know enough CSS though
13:22:36 <Taneb> GeekDude, can you send me a @tell to remind me? I'm heading out now
13:22:41 <GeekDude> uhh
13:22:44 <GeekDude> I can send youa mmemo
13:22:46 <GeekDude> memo*
13:22:49 <GeekDude> with memoserv
13:22:57 <Taneb> Or a tell with lambdabot
13:23:03 <Taneb> @tell GeekDude like this
13:23:04 <lambdabot> Consider it noted.
13:23:05 <GeekDude> I don't know these bots
13:23:17 <GeekDude> ah
13:23:18 <GeekDude> okay
13:23:55 <GeekDude> @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 <lambdabot> 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 <boily> GeekDude: the bots are our leaders.
13:50:23 <boily> @metar CYUL
13:50:24 <lambdabot> CYUL 281300Z 25010KT 15SM FEW240 18/15 A3013 RMK CI1 CI TR SLP202 DENSITY ALT 200FT
13:51:00 <GeekDude> 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 <GeekDude> hunter2?
13:56:37 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
13:58:41 -!- GeekDude has joined.
14:05:22 <HackEgo> [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 <int-e> @metar LOWI
14:11:13 <lambdabot> 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 <boily> @metar FLKK
14:22:15 <lambdabot> No result.
14:23:27 <boily> @metar FBSK
14:23:28 <lambdabot> FBSK 281400Z 04011KT CAVOK 33/00 Q1011 NOSIG
14:23:40 <boily> ah, there's at least one!
14:23:53 <boily> (also, 33/00? what the fungot is that?)
14:23:53 <fungot> 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 <boily> fungot: ah, trouble with water memory. I see.
14:24:11 <fungot> 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 <boily> fungot: trouble with fnord substance pollution causes botswana's relative humidity to drop.
14:24:44 <fungot> 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 <GeekDude> fungot: I can see clearly now the rain is gone
14:24:59 <fungot> 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 <fizzie> @metar EFHK
14:46:56 <lambdabot> EFHK 281420Z 21014KT 9999 FEW045 BKN200 15/10 Q1009 NOSIG
14:47:23 <fizzie> 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 <HackEgo> [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 <Taneb> @messages-loud
15:49:53 <lambdabot> 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 <GeekDude> hi
15:54:46 <myname> so... mang is multitape-brainfuck?
15:56:43 <fizzie> I thought it was a "2D program, single tape for data" from the description.
15:57:21 <fizzie> But it's a bit vague.
15:57:56 <fizzie> Then again, I don't know at all what 04/05 would be in that case.
15:59:17 <myname> there should be something like voting how interesting a language is with an ordered list of results
16:01:15 <GeekDude> piet is the most abstract language ever invented
16:01:33 <SvenGek> Is it turing complete?
16:01:33 <myname> don't think so
16:02:13 <GeekDude> It's a stack based language
16:02:29 <GeekDude> and you have the normal push, pop, add, mul, div, etc
16:04:22 <fizzie> There's an arbitrary-depth "roll" in Piet.
16:05:01 <GeekDude> So fun
16:05:06 <fizzie> For a bignum variant, I'd say odds are good.
16:05:42 <b_jonas> 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 <fizzie> "The maximum size of integers is notionally infinite, though implementations may implement a finite maximum integer size."
16:10:10 <fizzie> It's the usual vague esolang spec.
16:12:19 <b_jonas> 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 <fizzie> No, but putting a sentence like that in is an open call to get implementations with, say, 32-bit integers.
16:14:31 <b_jonas> sure
16:14:56 <b_jonas> or 28 bit ones if the language has data types other the integers too
16:15:04 <b_jonas> so that it keeps some bits for tags
16:15:24 <b_jonas> or 8 bit integers on a brainfuck-based interpreter
16:16:06 <b_jonas> you probably can't go under 5 bits because you need character input and output
16:20:36 <fizzie> ^style fisher
16:20:36 <fungot> Selected style: fisher (Fisher corpus of transcribed telephone conversations)
16:20:37 <fizzie> fungot: What's up?
16:20:38 <fungot> fizzie: i live near a hospital now
16:20:58 <fizzie> 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 <fungot> 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 <fizzie> fungot: I didn't say it was. But you might've told me you've moved!
16:21:22 <fungot> 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 <SvenGek> Btw, there's no formal proof that piet is Turing complete
16:32:01 <SvenGek> according to esolangs.org (it is thought to be however)
16:32:38 <coppro> it's TC
16:33:01 <coppro> it has stack rotation and that's enough
16:39:05 <Taneb> SvenGek, someone wrote a brainfuck -> Piet compiler
16:39:52 <Taneb> http://www.matthias-ernst.eu/pietbrainfuck.html
16:42:51 <SvenGek> wow
16:43:16 <SvenGek> and that's the smoking gun then
16:44:05 <Bike> http://www.matthias-ernst.eu/pietbf/c8a92dcd9db101e8eed806df37b061a9.gif here's dbfi. mystery solved.
16:44:16 <Bike> can't say it looks very exciting.
16:46:23 <fizzie> The bottom bit is not too bad.
16:47:27 <SvenGek> Reminds me of this other project I saw recently
16:47:47 <SvenGek> Awis, which is a BF compiler written in BF
16:47:59 <fizzie> Don't you mean "awib"?
16:48:02 <SvenGek> yeah
16:48:10 <SvenGek> I'm still amazed by it
16:48:48 <Bike> fizzie: yeah it's a constant interpreter and the program's up top. so kind of a boring compiler...
16:48:49 <fizzie> The polyglot-ness was fun.
16:48:59 <SvenGek> Do you know of any other "big" projects written in esoteric languages?
16:49:07 <fizzie> fungot's biggish for a Befunge program.
16:49:07 <fungot> fizzie: it was also the same thing
16:49:18 <fizzie> ^source
16:49:18 <fungot> https://github.com/fis/fungot/blob/master/fungot.b98
16:49:24 <fizzie> It's not "big" in absolute terms, though.
16:49:51 <b_jonas> SvenGek: some of the ICFP and IOCCC stuff probably counts
16:50:15 <b_jonas> 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 <SvenGek> Lol, that's pretty cool ^-^
16:56:17 <GeekDude> SvenGek: Does Minecraft's redstone count as a language? or are NOT gates discounted
16:57:07 <myname> is dwarf fortress considered an esolang? :p
16:58:28 <GeekDude> iirc someone implemented GoL in GoL
16:58:52 <Bike> game of life?
16:59:08 <GeekDude> yeah
16:59:11 <J_Arcane> There are turing complete GoL rulesets.
16:59:14 <Bike> https://www.youtube.com/watch?v=xP5-iIeKXE8
16:59:27 <fizzie> 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 <Bike> rule seven: it's easy to be turing complete
17:06:16 -!- FreeFull has quit (Ping timeout: 260 seconds).
17:07:03 <b_jonas> myname: yes
17:07:15 <b_jonas> myname: and so is Openttd
17:08:23 <GeekDude> pokemon yellow is turing complete
17:10:36 <pikhq> Accidental TC kinda just happens.
17:11:54 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
17:14:22 -!- FreeFull has joined.
17:16:02 <SvenGek> wat
17:18:22 -!- evalj has joined.
17:19:37 <Bike> pokemon yellow is a cheat, since it breaks out into the obviously TC processor.
17:19:51 <Bike> 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 <SvenGek> But... Magic: The Gathering TCness isn't a cheat
17:27:19 <Bike> sure
17:37:52 <quintopia> i wish my brain were turing-complete
17:37:56 <quintopia> that'd be pretty cool
17:39:32 -!- GeekDude has joined.
17:40:16 -!- AndoDaan has joined.
17:41:06 <GeekDude> fizzie: I think the piet BF interpreter needs to be added that list
17:45:26 <HackEgo> [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 <fizzie> There.
17:47:35 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
17:50:02 <quintopia> fizzie: are you trying to make a complete table, or ...well what's your purpose?
17:50:54 <fizzie> 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 <b_jonas> what do the strikeouts mean?
17:53:09 <quintopia> i wonder what "part of cycle" means
17:53:37 <b_jonas> quintopia: part of a cycle means it is an edge of a directed cycle in the digraph of interpreters among languages,
17:53:58 <b_jonas> so it can probably be used indirectly with the interpreters on the other edges to self-interpret a language
17:54:13 <fizzie> I'm pretty sure there are some X's that could be parts of some cycles, though I haven't checked.
17:55:17 <HackEgo> [wiki] [[BF Joust]] http://esolangs.org/w/index.php?diff=40551&oldid=39371 * Fizzie * (+657) Update to reflect current reality.
17:55:36 <quintopia> b_jonas: that was my guess
17:56:09 <fizzie> And I think the strikeouts are broken links.
17:57:36 -!- shikhin has joined.
17:58:17 <fizzie> Well, maybe there are no more cycles in the table, as it stands.
17:59:00 <HackEgo> [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 <b_jonas> 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 <Bike> I've heard T implemented its GC in itself.
18:02:57 <b_jonas> what's "T"?
18:02:58 <Bike> http://en.wikipedia.org/wiki/T_%28programming_language%29 that is
18:03:13 <Bike> Oh, and maru, duh.
18:03:33 <Bike> Probably most forths? I thought primitive memory was like half the point of forth.
18:03:57 <Bike> does forth even have gc...?
18:04:17 <b_jonas> 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 <b_jonas> ok, thanks
18:05:39 <b_jonas> I was thinking on how possible this would be to do. I might try to implement one at some point.
18:05:49 <Bike> 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 <b_jonas> Bike: does it at least have a malloc and free?
18:06:35 <Bike> this is basically like malloc.
18:06:53 <Bike> though i'm wondering about freeing. malloc is a pretty fucking complex function, this just says it's incrementing a pointer...
18:07:07 <b_jonas> yep, if you don't want to free ever it's much easier
18:07:36 <b_jonas> (or if you have a compacting garbage collector, but then everything else other than allocation becomes more complicated)
18:07:38 <Bike> http://lars.nocrew.org/dpans/dpans14.htm#14.6.1.1605 well, there you go.
18:08:05 <Bike> it even has realloc.
18:08:08 <b_jonas> ah, that one has a malloc-free
18:08:10 <b_jonas> nice
18:09:16 <Bike> it's an optional module. looks like the "core" words are just a pointer to open memory, jesus.
18:09:21 <b_jonas> of course I might still try to implement something in an interpreter I make of course
18:09:24 <Bike> C is way more high level than forth, clearly
18:09:31 <fizzie> I think (not 100% on this) that the gforth memory allocation words just call C library's malloc/realloc/free.
18:09:43 <b_jonas> fizzie: might depend on which forth
18:09:49 <b_jonas> like, forth from which decade
18:09:56 <fizzie> That's why I said "gforth".
18:10:03 <Bike> yeah, this is ansi i'm looking at.
18:10:03 <b_jonas> ah, gforth
18:10:07 <fizzie> Oh, that's not the gforth manual.
18:10:12 <fizzie> It looked so similar. :p
18:10:13 <Bike> where the primitives for memory allocation seem to be += and sbrk :p
18:10:33 <b_jonas> and @ and ! yeah
18:10:35 <fizzie> Yes, that sounds right.
18:11:27 <Bike> gonna bring this up next time someone tells me about using c for being Close To The Metal
18:11:52 <fizzie> "create x 10 cells allot" and so on.
18:11:56 <Melvar> 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 <Bike> yeah.
18:13:39 <Bike> 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 <b_jonas> 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 <elliott_> b_jonas: does C count? :p
18:18:21 <b_jonas> elliott_: yes, I guess it does
18:18:35 <b_jonas> I wanted more sort of a forth/smalltalk-like interpreter though
18:19:36 <elliott_> 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 <elliott_> and then wrap cons so it GCs if allocation fails, say
18:19:49 <J_Arcane> PLAI has a sublanguage/library for writing garbage collectors.
18:19:51 <fizzie> I'm sure you could find a Forth implementation of the allocate/free words.
18:20:13 <b_jonas> 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 <b_jonas> but at the same time not just call into machine language to do all the work.
18:20:59 <b_jonas> and the point is, you'd implement the free and malloc functions in the language too, using @ and ! and sbrk
18:21:05 <b_jonas> (and mmap and whatever)
18:21:30 <fizzie> Having a "low-level" subset language is prettu popular.
18:21:49 <elliott_> b_jonas: that applies in any language
18:21:56 <b_jonas> elliott_: sure
18:21:58 <elliott_> b_jonas: just preallocate a bunch of cons cells to use for the GC ahead of time :p
18:22:14 <elliott_> and yeah, you can do malloc and free too.
18:22:43 <elliott_> just more fiddly.
18:22:44 <b_jonas> I might try to implement something like this once
18:25:22 <mroman_> yay
18:25:24 <mroman_> I'm in the top 5
18:25:25 <mroman_> :D
18:26:04 <mroman_> but large_decoy seems to have lost plenty of points
18:26:05 <b_jonas> mroman_: in what? bfjoust?
18:26:10 <mroman_> b_jonas: yes
18:26:31 <b_jonas> great
18:26:37 <b_jonas> is ais the only one above you?
18:26:48 <mroman_> ais, quintopia und Lymia
18:26:52 <b_jonas> ugh
18:26:54 <b_jonas> that's worse
18:27:08 -!- tromp_ has joined.
18:27:14 <mroman_> why?
18:27:18 <mroman_> Because they're good?
18:27:35 <b_jonas> no, I mean now you can't just distract ais to get to the top
18:29:14 <mroman_> although on a lose-win basis Lymia isn't beter
18:29:49 -!- tromp__ has quit (Ping timeout: 260 seconds).
18:30:03 <mroman_> also Lymia.nyuroki doesn't stand a chance against cupnoodles :)
18:30:18 <mroman_> cupnoodles wins 38/40
18:31:28 <mroman_> nyuroki hangs on more decoys I guess
18:33:38 <mroman_> on short tapes it just looses because cupnoodles rushes straight to the flag
18:33:48 <mroman_> whereas nyuroki is busy setting up decoys
18:33:53 -!- tromp__ has joined.
18:34:10 <mroman_> nyuroki only wins on tape length 14
18:35:27 <mroman_> a zero cycle ] would btw make offset clears rather useless I guess
18:35:32 <mroman_> since you don't have to pay for it anymore
18:35:38 -!- tromp_ has quit (Ping timeout: 258 seconds).
18:36:31 <mroman_> ah right
18:36:43 <mroman_> I leave the tape at tape length 14
18:37:02 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
18:37:02 <zemhill> mroman_.cupnoodles: points 11.69, score 35.43, rank 5/47 (--)
18:37:07 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*4(>[(+)*8[-].]>[(-)*8[+].])*-1
18:37:09 <zemhill> mroman_.cupnoodles: points 10.24, score 33.30, rank 5/47 (--)
18:37:14 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:37:14 <zemhill> mroman_.cupnoodles: points 12.36, score 36.59, rank 4/47 (+1)
18:37:20 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*7(>[(+)*8[-].]>[(-)*8[+].])*-1
18:37:21 <zemhill> mroman_.cupnoodles: points 10.81, score 34.25, rank 5/47 (-1)
18:37:25 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:37:25 <zemhill> mroman_.cupnoodles: points 12.36, score 36.59, rank 4/47 (+1)
18:37:59 <mroman_> I guess growth can suck it
18:38:21 -!- idris-bot has quit (Quit: Terminated).
18:38:48 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*9[-].]>[(-)*9[+].])*-1
18:38:49 <zemhill> mroman_.cupnoodles: points 11.71, score 35.53, rank 4/47 (--)
18:38:56 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*7[-].]>[(-)*7[+].])*-1
18:38:57 <zemhill> 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 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:39:10 <zemhill> mroman_.cupnoodles: points 11.10, score 34.49, rank 5/47 (-1)
18:39:15 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*3(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:39:16 <zemhill> mroman_.cupnoodles: points 8.43, score 30.32, rank 7/47 (-2)
18:39:20 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:39:20 <zemhill> mroman_.cupnoodles: points 11.10, score 34.49, rank 5/47 (+2)
18:39:28 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:39:29 <zemhill> mroman_.cupnoodles: points 12.36, score 36.59, rank 4/47 (+1)
18:39:37 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<--<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:39:38 <zemhill> mroman_.cupnoodles: points 12.07, score 36.12, rank 4/47 (--)
18:39:47 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*21>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:39:48 <zemhill> mroman_.cupnoodles: points 12.17, score 36.36, rank 4/47 (--)
18:39:53 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*21>(-)*21)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:39:54 <zemhill> mroman_.cupnoodles: points 11.95, score 35.93, rank 4/47 (--)
18:39:58 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*21>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:39:59 <zemhill> mroman_.cupnoodles: points 12.17, score 36.36, rank 4/47 (--)
18:40:13 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*19>(-)*19)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:40:13 <zemhill> mroman_.cupnoodles: points 11.10, score 34.68, rank 5/47 (-1)
18:40:22 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
18:40:22 <zemhill> 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 <HackEgo> [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 <HackEgo> [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 <mroman_> !bfjoust cupnoodles (>)*9([(+)*4[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:09:08 <zemhill> mroman_.cupnoodles: points 12.29, score 36.31, rank 4/47 (--)
19:09:11 <fizzie> "title: THE JAVELINISTS" "artist: A MINDLESS ROBOT DRONE" heh, I wonder what set these.
19:09:16 <mroman_> !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:09:16 <zemhill> mroman_.cupnoodles: points 12.21, score 36.31, rank 4/47 (--)
19:09:23 <mroman_> !bfjoust cupnoodles (>)*9([(+)*10[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:09:24 <zemhill> mroman_.cupnoodles: points 12.17, score 36.26, rank 4/47 (--)
19:09:25 <fizzie> Those were in a .mp3 file that contained a nonsense Finnish sentence, synthesized.
19:09:42 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-].]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:09:42 <zemhill> mroman_.cupnoodles: points 12.00, score 36.03, rank 4/47 (--)
19:09:49 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-.]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:09:50 <zemhill> mroman_.cupnoodles: points 10.31, score 33.67, rank 5/47 (-1)
19:10:09 <mroman_> !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+]])*-1
19:10:09 <zemhill> mroman_.cupnoodles: points 12.17, score 36.17, rank 4/47 (+1)
19:10:18 <mroman_> !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:10:19 <zemhill> mroman_.cupnoodles: points 12.21, score 36.31, rank 4/47 (--)
19:10:25 <mroman_> !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-]]>[(-)*8[+]])*-1
19:10:26 <zemhill> mroman_.cupnoodles: points 11.67, score 35.23, rank 5/47 (-1)
19:10:29 <mroman_> !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-]]>[(-)*8[+]])*-1
19:10:29 <zemhill> mroman_.cupnoodles: points 11.67, score 35.23, rank 5/47 (--)
19:10:32 <mroman_> !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-]]>[(-)*8[+].])*-1
19:10:33 <zemhill> mroman_.cupnoodles: points 12.12, score 36.04, rank 4/47 (+1)
19:10:36 <mroman_> !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:10:36 <zemhill> mroman_.cupnoodles: points 12.21, score 36.31, rank 4/47 (--)
19:10:58 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:10:58 <zemhill> mroman_.cupnoodles: points 12.17, score 36.21, rank 4/47 (--)
19:11:21 <mroman_> !bfjoust cupnoodles (>)*9([(+)*8[-]]>[(-)*8[+]]>)*2(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:11:21 <zemhill> mroman_.cupnoodles: points 12.07, score 35.98, rank 4/47 (--)
19:11:24 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:11:24 <zemhill> mroman_.cupnoodles: points 12.17, score 36.21, rank 4/47 (--)
19:11:27 <mroman_> damnit it
19:11:52 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:11:53 <zemhill> mroman_.cupnoodles: points 10.36, score 33.62, rank 5/47 (-1)
19:12:01 <fizzie> 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 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:12:11 <zemhill> mroman_.cupnoodles: points 12.29, score 36.46, rank 4/47 (+1)
19:12:19 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<---(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:12:19 <zemhill> mroman_.cupnoodles: points 12.26, score 36.46, rank 4/47 (--)
19:12:25 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<----(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:12:25 <zemhill> mroman_.cupnoodles: points 11.69, score 35.39, rank 5/47 (-1)
19:12:31 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:12:31 <zemhill> mroman_.cupnoodles: points 12.29, score 36.46, rank 4/47 (+1)
19:12:34 <quintopia> fizzie: face it. people just don't seem to care about !bftest
19:12:43 <mroman_> !bftest
19:12:43 <zemhill> mroman_: "!bftest progname code". See http://zem.fi/bfjoust/ for documentation.
19:12:43 <fizzie> That seems to be the case.
19:12:48 <mroman_> oh
19:12:57 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:12:57 <zemhill> mroman_.cupnoodles: points 12.29, score 36.46, rank 4/47 (--)
19:13:09 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*7[-].]>[(-)*9[+].])*-1
19:13:09 <zemhill> mroman_.cupnoodles: points 11.93, score 35.86, rank 4/47 (--)
19:13:10 -!- AnotherTest has joined.
19:13:17 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+]]>)*4(-<-)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*9[-].]>[(-)*7[+].])*-1
19:13:17 <zemhill> mroman_.cupnoodles: points 11.86, score 35.66, rank 4/47 (--)
19:13:21 <mroman_> ok
19:13:33 <fizzie> 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 <HackEgo> [wiki] [[Special:Log/newusers]] create * JanetteFreud * New user account
19:13:46 <mroman_> what...
19:13:49 <quintopia> fuck. spam bot.
19:13:52 <mroman_> It does not look BF Jousty enough
19:15:13 <elliott_> fizzie: it could git commit --amend if the last !bfjoust was for that program and in the last minute or two
19:15:52 <fizzie> 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 <fizzie> 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 <quintopia> they're smart enough to figure it out, i bet
19:19:56 <mroman_> yeah
19:19:59 <mroman_> It's the 3000s alright.
19:20:06 <mroman_> Give the future some credit.
19:20:35 <J_Arcane> Hmm. Cheap out on a Palauan domain or just buy the bloody .com and blow half my discretionary ... ?
19:21:11 <quintopia> really?
19:21:19 <quintopia> domains aren't that expensive
19:21:20 * J_Arcane is being somewhat facetious.
19:21:41 <J_Arcane> Also, I only budget about $20 for a silly project like this, so I'm not necessarily exaggerating.
19:24:28 <fizzie> Are Palauan domains cheaper, then?
19:24:47 <quintopia> what project?
19:25:57 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:25:58 <zemhill> mroman_.cupnoodles: points 12.45, score 36.25, rank 3/47 (+1)
19:26:40 <mroman_> now I only have ais and lymia before me
19:26:48 <J_Arcane> fizzie: €3.13 a year on Namecheap.
19:27:41 <mroman_> fizzie: How comes that if I sumbit my rank 3 program
19:27:45 <mroman_> it only gets me to rank 6?
19:28:00 <mroman_> (submit as test)
19:28:02 <mroman_> (not for real)
19:28:18 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]++>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:28:19 <zemhill> mroman_.cupnoodles: points 11.50, score 34.94, rank 4/47 (-1)
19:28:25 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+]]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:28:25 <zemhill> mroman_.cupnoodles: points 12.45, score 36.30, rank 3/47 (+1)
19:29:02 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:29:02 <zemhill> mroman_.cupnoodles: points 12.60, score 36.59, rank 3/47 (--)
19:29:18 <fizzie> 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 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*8<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:29:22 <zemhill> mroman_.cupnoodles: points 3.88, score 24.95, rank 11/47 (-8)
19:29:26 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:29:26 <zemhill> mroman_.cupnoodles: points 12.60, score 36.56, rank 3/47 (+8)
19:30:01 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:01 <zemhill> mroman_.cupnoodles: points 12.60, score 36.58, rank 3/47 (--)
19:30:05 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:05 <zemhill> mroman_.cupnoodles: points 11.50, score 34.69, rank 5/47 (-2)
19:30:09 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*7(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:09 <zemhill> mroman_.cupnoodles: points 10.98, score 33.93, rank 5/47 (-2)
19:30:12 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<-<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:13 <zemhill> mroman_.cupnoodles: points 12.60, score 36.58, rank 3/47 (--)
19:30:26 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:26 <zemhill> mroman_.cupnoodles: points 12.38, score 36.65, rank 3/47 (--)
19:30:34 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<++)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:34 <zemhill> mroman_.cupnoodles: points 12.14, score 35.96, rank 3/47 (--)
19:30:42 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<+)*4<-(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:42 <zemhill> mroman_.cupnoodles: points 12.36, score 36.33, rank 3/47 (--)
19:30:48 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<+)*4<---(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:48 <zemhill> mroman_.cupnoodles: points 12.29, score 36.28, rank 3/47 (--)
19:30:53 <mroman_> !bftest cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<+)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:30:53 <zemhill> mroman_.cupnoodles: points 12.38, score 36.42, rank 3/47 (--)
19:31:15 <mroman_> !bfjoust cupnoodles (>)*9([(-)*8[+].]+>)*4(<)*4(<--<++)*4<--(>(+)*20>(-)*20)*4(>)*6(>[(+)*8[-].]>[(-)*8[+].])*-1
19:31:15 <zemhill> mroman_.cupnoodles: points 12.14, score 35.96, rank 3/47 (--)
19:31:18 <mroman_> oh well.
19:31:28 <mroman_> I don't think I'll get it into major programs :(
19:33:05 -!- ais523 has joined.
19:33:16 <mroman_> ais523: I hate preparation
19:34:41 -!- FreeFull has quit (Ping timeout: 272 seconds).
19:35:11 <ais523> mroman_: trying to beat it, you mean?
19:35:29 <mroman_> No. I just hate it out of hatred.
19:35:34 <fizzie> Perhaps it was a general statement about the concept of preparing for something.
19:35:50 <mroman_> but it was aimed at ais523.preperation
19:35:56 <mroman_> *preparation
19:37:15 <mroman_> see
19:37:22 <mroman_> large_decoy just moved 34 ranks upwards
19:37:26 <mroman_> forwhatever reason
19:38:08 <mroman_> and athena moved down hard
19:38:17 <HackEgo> [wiki] [[Special:Log/newusers]] create * AudraGottschalk * New user account
19:39:16 <myname> how many "real" accounts are there that never were here?
19:39:38 <mroman_> Why not implement IRC confirmation
19:39:42 <mroman_> rather than captcha
19:39:48 <mroman_> it's called two-factor-spam-protect
19:39:52 <mroman_> captcha + token over IRC
19:40:01 <myname> mroman_: that's exactly my idea
19:40:33 <mroman_> not that it would be impossible to write an ircbot for that to continue spamming
19:40:34 <fizzie> I don't think we want to make use of freenode a requirement for getting an esowiki account.
19:40:55 <fizzie> Even though it'd probably be very efficient.
19:41:15 <mroman_> meh
19:41:19 <myname> mroman_: well, i do think these spam accounts aren't really aimed at esolangs.org rather than any mediawiki
19:41:24 <mroman_> You can access it neatly through the webchat
19:41:52 <fizzie> Not if you have, say, philosophical objections about the network.
19:41:54 <mroman_> but didn't somebody add those stupid questions?
19:42:04 <mroman_> like "In which year was fukyobrainz invented"?
19:42:35 <mroman_> `learn fukyobrainz is yet another brainfuck derivative however with identical instructions.
19:42:37 <HackEgo> I knew that.
19:42:42 <myname> "what is the current featured language"
19:43:10 <mroman_> The real challenge is to decide whether it's a brainfuck or fukyobrainz program
19:43:18 <mroman_> studies show it might be impossible.
19:43:24 <ais523> mroman_: AFAICT, every now and then the spammers hire a human to teach the spambots all the CAPTCHA answers
19:43:30 <elliott_> the solution is to just give fizzie more captchas.
19:43:52 <myname> mroman_: make fukyobrainz needing a ; at the end of every line but the last
19:43:56 <elliott_> ideally someone would just download an XML wiki dump, and generate a billion <language> was created in what year? questions
19:44:03 <elliott_> in the localsettings.php format
19:44:06 <elliott_> and then give them to fizzie
19:44:24 -!- AndoDaan has quit (Ping timeout: 244 seconds).
19:44:25 <elliott_> is the captcha used when signing up logged? that'd make it obvious which ones to delete
19:44:37 <b_jonas> elliott_: you don't need a full wiki dump for that, just the yearh categories
19:44:45 <elliott_> b_jonas: true
19:44:49 <myname> there used to be a site which only had "insert 'php' here" as a captcha
19:44:52 <elliott_> b_jonas: you want to only include pages in Category:Languages, though
19:44:54 <myname> worked pretty well
19:45:09 <elliott_> 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 <mroman_> "insert a bfjoust program capable of entering the hill"
19:45:38 <mroman_> best captcha .
19:45:40 <b_jonas> mroman_: hehe
19:45:48 <b_jonas> but then they'd just copy ais's program
19:45:52 <myname> you could ask "name one of your favorite esolangs"
19:46:08 <fizzie> 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 <b_jonas> myname: no, we want to involve new people who don't yet have one
19:46:32 <b_jonas> plus we don't have a way to check that
19:46:38 <b_jonas> we don't have articles on all esolangs yet
19:46:44 <mroman_> we don't?
19:46:51 <ais523> I doubt even I could get on the hill in one attempt, without using an existing program
19:46:56 <b_jonas> mroman_: I have like five todo listed on my user page
19:47:10 <myname> go for it
19:47:20 <ais523> the hill's so good nowadays
19:47:20 <b_jonas> http://esolangs.org/wiki/User:B_jonas
19:47:50 <ais523> there's plenty of vaporware esolangs by me that don't have articles
19:47:57 <ais523> due to being vaporware
19:48:03 <b_jonas> how about “write a program printing the sequence of prime numbers in unary in brainfuck”
19:48:15 <myname> lol
19:48:23 <b_jonas> we just have to interpret them and check the first few thousand characters of output
19:48:37 <b_jonas> though... if they write something that takes like double exponential space and time, we might not be able to
19:48:43 <b_jonas> so better give a restriction on time and space
19:48:57 <elliott_> fizzie: they're just hardcoded in LocalSettings.php.
19:49:09 <elliott_> fizzie: you could even programmatically generate them, though they'd have to persist across the two requests
19:49:20 <mroman_> openttd signals?
19:49:24 <myname> b_jonas: ++++++[>++++++++<-]>[.]
19:49:27 <mroman_> there's an esolang based on that?
19:49:34 <b_jonas> mroman_: they're an esolang as is
19:49:36 <myname> you didn't say anything about seperators
19:49:36 <elliott_> fizzie: (and also doing expensive things in LocalSettings.php is a poor idea, obviously.)
19:49:51 <myname> oh, add a +
19:50:04 <fizzie> I wonder how much current crop of bots rely on the field element names.
19:50:09 <b_jonas> 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 <b_jonas> mroman_: just ask zzo
19:50:22 <mroman_> I'd rather not :)
19:50:24 <elliott_> fizzie: I think mediawiki randomises them? maybe it doesn't
19:50:39 <fizzie> The captcha input box is just called "wpCaptchaWord".
19:50:44 <b_jonas> (you need railways and trains and maybe bridges and tunnels besides signals obviously)
19:50:45 <mroman_> hm
19:50:47 <fizzie> But they could easily go by document structure.
19:50:54 <mroman_> randomising POST/GET params would probably help
19:51:13 <mroman_> also you could insert fake ones
19:51:16 <b_jonas> mroman_: no. spammers probably take those from the html anyway, to attack multiple webpages
19:51:33 <mroman_> like
19:51:48 <mroman_> just add some forms
19:51:51 <mroman_> and hide them with css
19:52:06 <fizzie> I've seen the "don't fill anything here" approach in a couple of places.
19:52:13 <mroman_> (and screw people who don't have css support)
19:52:29 <b_jonas> mroman_: these days luckily you can hide stuff with a html5 attribute as well as css
19:52:34 <J_Arcane> sorry, missed a question; quintopia: This is the project. https://github.com/jarcane/HateStack
19:52:49 <b_jonas> though I'm not sure how many browsers eat the html5 attribute, you can use both that and a css rule
19:53:04 <b_jonas> it's very useful because it stops hidden stuff from showing up before the css has a chance to load
19:53:41 <b_jonas> `perl -e$==0,(1x$_)=~/^(|()1(?1)(?1)\2)$(?{$=++})^/,print$=,$"for 0..13
19:53:44 <HackEgo> 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900
19:53:51 <mroman_> what's that?
19:53:58 <b_jonas> Catalan numbers
19:54:00 <mroman_> @oeis 1,2,5,14,42,132
19:54:02 <lambdabot> Catalan numbers: C(n) = binomial(2n,n)/(n+1) = (2n)!/(n!(n+1)!). Also called...
19:54:03 <b_jonas> variant of http://www.perlmonks.com/?node_id=813859
19:54:19 <b_jonas> parent node has code for fibonacci
19:54:32 <ais523> you can golf that down one character using print"$= " rather than print$=,$"
19:54:40 <ais523> unless $, has been set, and I don't think it has been
19:54:52 <ais523> `perl -e$==0,(1x$_)=~/^(|()1(?1)(?1)\2)$(?{$=++})^/,print"$= "for 0..13
19:54:53 <b_jonas> ais523: the original obfu uses the -l switch instead to print newlines
19:54:56 <HackEgo> 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900
19:55:08 <b_jonas> `perl -le$==0,(1x$_)=~/^(|()1(?1)(?1)\2)$(?{$=++})^/,print$=for 0..13
19:55:12 <HackEgo> 1 \ 1 \ 2 \ 5 \ 14 \ 42 \ 132 \ 429 \ 1430 \ 4862 \ 16796 \ 58786 \ 208012 \ 742900
19:55:16 <ais523> right
19:55:25 <b_jonas> that doesn't look so good on irc so I wanted a quick fix
19:55:30 <b_jonas> but you're right, that's one shorter
19:56:40 <b_jonas> one shorter as in http://www.xkcd.com/670/
19:57:29 <mroman_> `?brainfuck
19:57:29 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?brainfuck: not found
19:57:31 <mroman_> `? brainfuck
19:57:32 <HackEgo> brainfuck is the integral of the family of terrible esolangs.
19:57:38 <mroman_> ha
19:57:46 <mroman_> `? brainfuck_derivative
19:57:47 <HackEgo> brainfuck_derivative? ¯\(°​_o)/¯
19:57:50 <mroman_> `? brainfuck derivative
19:57:51 <HackEgo> brainfuck derivative? ¯\(°​_o)/¯
19:58:11 <mroman_> hm
19:58:13 <mroman_> can you do that?
19:58:16 <mroman_> `learn "a b" is ab
19:58:18 <HackEgo> I knew that.
19:58:19 <mroman_> `? a b
19:58:20 <HackEgo> a b? ¯\(°​_o)/¯
19:58:23 <mroman_> `? "a b"
19:58:25 <HackEgo> ​"a b"? ¯\(°​_o)/¯
19:58:27 <mroman_> hm
19:58:31 <mroman_> `? "
19:58:32 <HackEgo> ​"? ¯\(°​_o)/¯
19:58:34 <mroman_> `? "a
19:58:35 <HackEgo> ​"a b" is ab
19:58:37 <mroman_> lol
19:58:38 <mroman_> ok
19:58:43 <mroman_> `forget "a
19:58:44 <HackEgo> Forget what?
19:58:46 <b_jonas> `perl -e$==1,(1x$_)=~/(^)(1|11\1)*(?{$=++})^/,print"$= "for 0..20 # Fibonacci
19:58:47 <HackEgo> 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657
19:59:27 <b_jonas> does this one fit in a line for HackEgo?
19:59:43 <b_jonas> `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 <HackEgo> Just another Perl hacker,
19:59:45 <mroman_> `? password
19:59:45 <HackEgo> password? ¯\(°​_o)/¯
19:59:50 <b_jonas> it does fit, great
20:00:27 <mroman_> `? Burlesque
20:00:43 <mroman_> ok
20:00:47 <HackEgo> burlesque is only the sexiest language on earth.
20:01:05 <mroman_> Ah right. I secretly added that a while ago.
20:02:07 <mroman_> http://esolangs.org/wiki/EsoInterpreters
20:02:14 <mroman_> ^- yeah. This is utterly incomplete :D
20:02:19 -!- FreeFull has joined.
20:02:27 <mroman_> but it would be really huge if it were complete.
20:03:51 <mroman_> !blsq "abcdefgh"0 0 8rn10.+si
20:03:51 <blsqbot> "cfgdbbgebd"
20:03:56 <mroman_> !blsq "abcdefgh"1 0 8rn10.+si
20:03:56 <blsqbot> "fhecebcbhh"
20:04:09 <mroman_> !blsq @AZr\1 0 8rn10.+si
20:04:10 <blsqbot> "FHECEBCBHH"
20:04:17 <mroman_> !blsq @AZr\1 0 26rn10.+si
20:04:17 <blsqbot> "XQELEKCTHZ"
20:04:24 <mroman_> !blsq @AZr\1 0 26rn16.+si
20:04:25 <blsqbot> "XQELEKCTHZVBDBQR"
20:04:58 <mroman_> `learn password is XQELEKCTHZVBDBQR
20:05:00 <HackEgo> I knew that.
20:05:14 <mroman_> (Most likely the password to life, the universe and all that)
20:06:26 <mroman_> how unsafe is unsafePeformIO randomRIO
20:06:29 <b_jonas> what does that do? random generates
20:06:31 <b_jonas> ?
20:06:37 <mroman_> rn is random integers
20:06:50 <mroman_> <seed> <lower bound> <higher bound>
20:06:56 <mroman_> !blsq 0 0 10rn10.+
20:06:57 <blsqbot> {7 10 2 4 3 1 8 4 4 0}
20:07:01 <b_jonas> [ ?16$26
20:07:06 <b_jonas> ] ?16$26
20:07:06 <mroman_> (and it yields an infinite amount of random numbers)
20:07:07 <evalj> b_jonas: 19 17 21 16 24 21 17 14 5 22 23 23 10 9 9 20
20:07:17 <mroman_> that's why 10.+ (.+ for lists is take)
20:07:23 <mroman_> !blsq 0 0 10rn10.+
20:07:24 <blsqbot> {7 10 2 4 3 1 8 4 4 0}
20:07:36 <b_jonas> ] u:65+?16$26
20:07:37 <evalj> b_jonas: WKUEHQXADALXNIUX
20:07:44 <mroman_> however, System.Random isn't consistent over plattforms
20:07:58 <mroman_> I recently discovered that Burlesque on anagol yields different numbers
20:10:21 <fizzie> `perl -eprint int(rand 100), " " for (1..10)
20:10:22 <HackEgo> 33 35 90 18 93 19 93 89 23 5
20:10:23 <fizzie> `perl -eprint int(rand 100), " " for (1..10)
20:10:29 <HackEgo> 71 97 74 98 81 74 13 29 32 73
20:10:30 <fizzie> Seeded automatically, I guess.
20:11:26 <b_jonas> yes, perl is
20:11:45 <mroman_> Can't have auto-seed without IO
20:11:53 <b_jonas> (but it doesn't use a very good random generator, or too much seed space)
20:11:59 <mroman_> > mkStdGen 0
20:12:01 <b_jonas> mroman_: you could have the bot auto-seed the program
20:12:01 <lambdabot> 1 1
20:12:15 <b_jonas> the environment the bot provides could pass a seed when it evals a line for you
20:12:20 <mroman_> > randomRs 0 10 (mkStdGen 0)
20:12:22 <lambdabot> Couldn't match expected type ‘System.Random.StdGen -> t’
20:12:22 <lambdabot> with actual type ‘[a0]’
20:12:27 <mroman_> @type randomRs
20:12:28 <lambdabot> (Random a, RandomGen g) => (a, a) -> g -> [a]
20:12:42 <mroman_> > take 5 $ randomRs (0,10) (mkStdGen 0)
20:12:44 <lambdabot> [0,3,6,8,7]
20:12:49 <b_jonas> 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 <mroman_> !blsq 0 0 10rn5.+
20:12:51 <blsqbot> {7 10 2 4 3}
20:13:01 <mroman_> hm
20:13:06 <mroman_> lambdabot yields different numbers as well
20:13:31 <fizzie> 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 <mroman_> I've noticed that too
20:13:54 <mroman_> recent packages usually have no doc
20:14:45 <fizzie> 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 <oerjan> <elliott_> ideally someone would just download an XML wiki dump, and generate a billion <language> 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 <elliott_> oerjan: yeah. if you have hundreds, though, I doubt they'd bother cracking every single one.
23:03:29 <elliott_> especially since there's no real way to know when you're "done" or not other than refreshing a bunch.
23:03:45 <elliott_> I suspect they just occasionally get someone to solve one or two of them.
23:03:50 <elliott_> that's all they need
23:03:55 <elliott_> you can refresh until you get a captcha you know
23:04:00 <oerjan> hm right
23:04:20 <elliott_> which is why logging the ones used for registration would be useful
23:04:20 <oerjan> in which case we can have just _one_ captcha in each bunch :P
23:04:30 <ais523> I like CLC-INTERCAL's CAPTCHA
23:04:31 <elliott_> true
23:04:36 <elliott_> we could try that
23:04:39 <ais523> it asks you to evaluate some INTERCAL
23:04:50 <elliott_> more captchas feels intuitively better but I suppose there is no inherent reason for that
23:04:51 <ais523> 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 <oerjan> although i guess forcing them to refresh a lot before hitting the right one might slow them down...
23:05:33 <oerjan> so ideally we'd probably want your logging.
23:06:38 -!- GeekAfk has joined.
23:06:46 <oerjan> and then just replace the one used with the next in the unused queue
23:09:49 <oerjan> 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 <oerjan> because it would be too expensive for the spammers to pay someone to solve a lot of the captchas.
23:11:28 <oerjan> i guess i'm coming around to completely agreeing with elliott_ here
23:11:57 <elliott_> well, throttling them to only solve one per batch seems reasonable
23:12:48 <elliott_> 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 <oerjan> we might want to do some logging first to get data on how many they actually _are_ solving at once.
23:13:14 <elliott_> it takes them months to start registering after rotating the captchas
23:13:20 <elliott_> so I think we've already given it more thought than it warrants.
23:14:15 <oerjan> hm i guess you're right the spam isn't frequent enough that refreshing is a real issue
23:14:44 <ais523> note that these are the spambots that haven't figured out newlines yet
23:15:04 <ais523> which strongly implies that they aren't targeting our spam filter in particular
23:15:25 <oerjan> 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 <oerjan> maybe we need to log refreshings too :P
23:18:56 <elliott_> I really don't think it would be that bad even if they knew every captcha.
23:19:10 <elliott_> 90% of spam is anonymous stuff that's being caught just fine.
23:19:11 <oerjan> 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 <ais523> yes
23:19:32 <elliott_> I suspect it's (1).
23:19:34 <oerjan> if they're doing (1) then having very few captchas would greatly help them.
23:19:35 <ais523> elliott_: it spams the new user log
23:19:38 <ais523> (1) is believable, though
23:19:57 <elliott_> ais523: yes, but it's okay to have a few new users every few months
23:20:02 <elliott_> we just need to rotate out the captcha when it happens
23:20:15 -!- GeekAfk has changed nick to GeekDude.
23:20:57 <oerjan> (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 <oerjan> of course they could easily achieve this by doing (2) instead
23:21:53 <quintopia> in either case (1) or (2), having hundreds of CAPTCHAs would cut back on the number of successes
23:24:11 <ais523> there are online BF interpreters, right? could we link to one?
23:24:19 <elliott_> 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 <ais523> and give people some BF to run and type in the answer?
23:24:33 <elliott_> all this effort devoted to it is a waste.
23:24:39 <ais523> we could use a script to generate thousands of captchas like that
23:25:49 <quintopia> yeah i think elliott_ is right, provisionally.
23:26:20 <quintopia> which is to say: we revise the plan if they are managing to get in every week
23:26:34 <ais523> I like this BF CAPTCHA idea
23:26:39 <elliott_> fizzie: Q: In which year was 0x29A created? A: 2004
23:26:43 <elliott_> fizzie: please replace the existing captchas with this
23:26:49 <oerjan> 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 <elliott_> fizzie: unless that exact captcha is in the comments, in which case, heh
23:27:05 <elliott_> (I just pulled up Special:Random a few times.)
23:27:54 <oerjan> 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 <quintopia> 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 <elliott_> oerjan: you know what'll be a problem before that?
23:28:27 <elliott_> in like 20 years, all of ais523's spam blocks are going to start getting undone in a trickle
23:28:28 <oerjan> elliott_: universe heat death hth
23:28:37 <oerjan> ah.
23:28:42 <elliott_> when you solve that you can spend this much time worrying about captchas
23:28:47 <ais523> elliott_: I doubt they'll still be trying after 24 years
23:28:52 <ais523> and if they are, we can just block again
23:28:57 <oerjan> elliott_: i'm sure we can programmatically prolong them
23:29:34 <quintopia> 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 <elliott_> here's the biggest problem: nobody will care about esolangs when we're all wireheads
23:30:55 <quintopia> 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 <elliott_> I'm sure it's on some singularitarians' agenda.
23:32:43 <oerjan> 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 <quintopia> oerjan: those advances will come from what we do _now_. why procrastinate?
23:33:50 <ais523> quintopia: you can help by trying to make the world more efficient
23:34:00 <ais523> so that the needed scientific and technological advances come sooner
23:34:02 <quintopia> ais523: okay let's start with not wasting time on captchas
23:34:12 <oerjan> 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 <ais523> quintopia: "wasting" time on captchas now saves time wasted clearing up after spambots later
23:34:29 <quintopia> oerjan: then that's something we can work on!
23:34:38 <oerjan> quintopia: and people do!
23:35:37 <quintopia> 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 <oerjan> 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 <oerjan> wait that's wrong.
23:39:17 <oerjan> we might very well have a chance, it just takes a surprise discovery in physics.
23:39:54 <oerjan> what we don't have is the _necessity_.
23:40:52 <ais523> <LibreSSL devs> 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 <ais523> 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 <oerjan> 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 <Bike> 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 <zzo38> Why does OpenSSL do such stupid way?
23:51:19 <pikhq> OpenSSL is a "fun way to learn C".
23:51:19 <oerjan> ais523: i don't think the second law says anything about entropy in the _observable_ universe.
23:51:44 <ais523> 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 <oerjan> however, i'd interpret that as entropy _density_ decreasing, not entropy itself.
23:52:13 <Bike> you can't ship things out of the observable universe...
23:52:24 <oerjan> Bike: actually you can.
23:52:43 <Bike> but you'd have to move stuff faster than you can see it.
23:52:47 <Bike> and that's pretty fast.
23:52:54 <ais523> speed of light is plenty fast enough, isn't it?
23:53:17 <ais523> ofc, then you have another problem, whereby the observable universe runs out of energy
23:53:24 <ais523> because I don't think it's possible to get energy in from outside
23:53:50 <oerjan> Bike: you just need to move it far enough away that the universe's general expansion takes over.
23:54:22 <oerjan> there are stars leaving our observable universe as we speak, probably.
23:55:52 <oerjan> ais523: the lack of energy means that the _maximal_ entropy density also decreases, i think
23:56:25 <oerjan> so entropy / maximal entropy for the energy remaining might still be increasing even if something leaves the OU
23:56:28 <ais523> let's hope we find a way around both the first and second laws of thermodynamics, then
23:56:38 <ais523> vacuum energy seems promising
23:57:46 <Phantom_Hoover> 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 <ais523> 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 <Sgeo> pikhq: eh? What, did someone suggest they were writing OpenSSL code in order to learn C?
23:58:47 <ais523> I'm not sure how you could get the energy out afterwards, though
23:58:48 <pikhq> Sgeo: *That's a quote from the guy who wrote it initially*.
23:58:48 <Phantom_Hoover> the example i read was a photon being redshifted and losing energy into nothing
23:58:52 <Sgeo> Been a while since I looked at OpenSSL Rampage
23:58:54 <Sgeo> pikhq: o.O
23:59:42 <Phantom_Hoover> 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 <ais523> 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 <ais523> this makes me more hopeful
00:00:53 -!- shikhin has quit (Ping timeout: 240 seconds).
00:08:06 <Sgeo> "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 <Sgeo> o.O
00:08:33 <myname> what
00:09:21 <myname> what the hell is makewhatis
00:10:02 <pikhq> It generates the whatis database.
00:11:17 <ais523> Sgeo: CLC-INTERCAL once broke apropos throughout the whole of Debian
00:11:20 <ais523> that was a fun bug report to read
00:11:32 <Taneb> ais523, what
00:11:49 <Sgeo> imo packages should not be allowed to be capable of doing that
00:11:55 <ais523> 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 <ais523> Taneb: CLC-INTERCAL's executable name used to be oo, ick
00:12:06 <ais523> with an embedded comma and space
00:12:12 <quintopia> Phantom_Hoover: does the expansion of the universe create locally usable energy?
00:12:16 <ais523> and this blew up mandb, causing it to produce corrupted output
00:12:21 <Phantom_Hoover> not afaik
00:12:42 <Sgeo> ais523: I hope that shortly after it they fixed mandb
00:12:45 <ais523> I think you end up with expansional potential energy, or something
00:12:47 <ais523> Sgeo: no idea
00:13:21 <Phantom_Hoover> you do but it's dumb
00:13:52 <Taneb> I try to avoid physics when I can
00:13:56 <Taneb> It's too close to reality
00:13:56 <Phantom_Hoover> it's just saying 'oh energy is conserved because we put a name to the change in total energy'
00:14:42 <Phantom_Hoover> aiui it doesn't even work like actual energy in e.g. the relativistic field equations
00:15:05 <Phantom_Hoover> oh, dark energy apparently causes an increase in total energy
00:15:29 <Phantom_Hoover> since it's a constant joules/volume thing, and expansion increases the volume
00:15:44 <zzo38> 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 <Phantom_Hoover> because it's geometry and 8pi is exactly the kind of constant you normally see in geometry?
00:17:28 <Phantom_Hoover> 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 <ais523> so perhaps some day we can use dark energy in order to stave off total thermodynamic apocalypse
00:17:40 <ais523> I'm actually feeling surprisingly relieved at this
00:18:41 <zzo38> 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 <Phantom_Hoover> zzo38, i can answer this! i did a hyperbolic geometry course last year
00:19:59 <Phantom_Hoover> the answer is: you pick whichever one will cause maximum confusion to the reader
00:24:20 <zzo38> Phantom_Hoover: I do not understand you. Is one way more confusing?
00:24:55 <Phantom_Hoover> no, but not being consistent in your choice is
00:25:42 <Phantom_Hoover> 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 <zzo38> 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 <Phantom_Hoover> 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 <oerjan> `dontaskdonttelllist
00:29:25 <HackEgo> 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 <oerjan> @tell mroman_ <mroman_> `learn "a b" is ab <-- we've always created multiword wisdom entries directly
00:29:36 <lambdabot> Consider it noted.
00:30:56 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:31:30 <myname> oerjan: i like how HackEgo doesn't highlight me
00:31:50 <oerjan> myname: took me a while to get that feature right
00:32:29 <oerjan> @tell mroman <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 <lambdabot> Consider it noted.
00:32:50 <oerjan> oops
00:32:59 <oerjan> @tell mroman_ <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 <lambdabot> Consider it noted.
00:33:05 <zzo38> myname: It contains "zero width codes"
00:33:05 <oerjan> is he ever on without the _ ?
00:33:16 <zzo38> So that's why it doesn't match.
00:33:21 <myname> zzo38: i suspected that
00:33:36 <zzo38> (They are visible on my computer, although still zero-width)
00:34:09 <myname> while we are at it
00:34:21 <myname> what's the deal with invisible plus?
00:34:31 <zzo38> For fractions, I suppose.
00:34:51 <myname> huh?
00:35:02 <oerjan> myname: 3 1/2 and stuff
00:35:08 <myname> i see
00:38:48 <shachaf> I wonder whether there's a point in making a `learn variant that can take multiword entries.
00:39:30 <shachaf> But then I'd have to split `learn up into pieces and it's be a hassle.
00:42:34 <oerjan> @tell fizzie <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 <lambdabot> Consider it noted.
00:43:15 <shachaf> Something about running out of disk space?
00:45:05 <oerjan> 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 <shachaf> I haven't either. But someone said something in #haskell-infrastructure.
00:46:16 <oerjan> wait have i been ignoring it this long...
00:47:36 <oerjan> 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 <oerjan> @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 <lambdabot> Consider it noted.
00:49:15 -!- ais523 has changed nick to ais523[.
00:49:22 <shachaf> 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 <oerjan> i'm sure haskell.org will have no problem paying for that
00:49:55 <shachaf> exactly
00:50:26 <oerjan> especially now that americans can donate to them tax-deductibly (iirc)
00:50:32 -!- Bike has quit (Ping timeout: 250 seconds).
00:51:23 <oerjan> yay finished logreading
00:51:43 <myname> what
00:51:51 <pikhq> Quickly, type faster than oerjan can read!
00:52:40 <myname> you really read all the stuff that gets posted here?
00:52:57 <pikhq> I know elliott does.
00:53:05 <elliott_> I don't
00:53:16 <myname> you people are crazy
00:53:21 <elliott_> those days are long gone
00:53:26 <Taneb> I don't even read the crap that I write
00:53:37 <pikhq> 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 <HackEgo> [wiki] [[Special:Log/newusers]] create * ChiSHAXtjo * New user account
00:54:07 -!- ais523[ has changed nick to ais523.
00:54:40 <elliott_> close enough
00:55:13 <oerjan> myname: not always, and of course i skip particularly boring parts
00:57:48 <Taneb> oerjan reads and analyses every single BF Joust program, trying to find their weaknesses.
00:58:08 <oerjan> that's been particularly annoying lately, yes.
00:58:08 <myname> sounds plauible
00:58:26 <oerjan> although i've found a sort of rhythm for skipping those
00:58:42 -!- Bike has joined.
00:59:07 <oerjan> (since mostly it's a long list with every second line !bfjoust and response from zemhill)
01:00:05 <oerjan> (the tricky part of it is not skipping anything else intermingled)
01:01:00 <oerjan> some days when the logs are just too long i just search for my nick and leave it at that.
01:01:49 <Taneb> I'd like to set up a hill for some BF Joust/CoreWars type game for my uni
01:01:54 <Taneb> But on the other hand I'm lazy
01:03:07 <Taneb> On which note, I've managed to procrastinate making dinner until after 2 AM
01:03:21 <myname> i'd like some interesting programming game that is either language independent or in befunge
01:03:22 <oerjan> *slow clap*
01:03:58 <pikhq> Taneb: Man after my own heart there.
01:04:32 <pikhq> It is rather funny needing to be reminded to eat at times.
01:04:46 <Taneb> pikhq, for me it can get problematic :(
01:05:21 <pikhq> I've gained something like 60 pounds after starting antidepressants... so I think I know what you mean.
01:05:28 <myname> i still get hungry
01:07:46 <Taneb> pikhq, can I PM you?
01:07:52 <pikhq> Sure.
01:08:24 <myname> pikhq: tbh that sounds depressing
01:08:43 <pikhq> Not especially.
01:08:50 <pikhq> Went from underweight to mildly overweight.
01:08:54 <myname> okay
01:09:05 <Taneb> Saying that, I've forgotten what I was going to message
01:09:09 <myname> sounded more like "want to get better? why not become fat first" to me
01:09:52 <pikhq> Nope, more like "I stopped being worryingly thin because I ate more regularly"
01:09:59 <elliott_> pikhq: from weight gain side-effects or just more motivation to eat?
01:10:03 <elliott_> uh, you don't have to answer that
01:10:10 <pikhq> elliott_: Bit of column A, bit of column B.
01:10:19 * elliott_ nod
01:14:07 <myname> is it just me or are computer scientists more likely to be depressive?
01:14:25 <zzo38> I want to send a fax by Famicom; do you know how to do it?
01:14:29 <pikhq> 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 <pikhq> But "ah jeeze I'm going to eat a cow RIGHT NOW" is probably more healthy than "... meh"
01:16:01 <oerjan> except for the cow hth
01:17:10 <myname> who cares
01:17:22 <oerjan> well not the cow because it's DEAD
01:17:35 <pikhq> Meh, cows. Even alive they don't care much.
01:17:36 <myname> good for the cow
01:17:50 * oerjan is not a vegetarian in case someone takes this seriously
01:19:01 <quintopia> oerjan: why wouldn't i take everything you say deadly seriously? you never joke.
01:19:31 <Taneb> oerjan, do you only eat living cows?
01:20:11 <oerjan> 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 <quintopia> no oerjan doesn't eat cow. he's norwegian
01:20:22 <oerjan> Taneb: no hth
01:20:32 <pikhq> As we all know, Norwegians only eat reindeer.
01:20:57 <quintopia> pikhq: and fish and occasionally people hth
01:21:02 <oerjan> i have eaten reindeer on occasion, also whale
01:21:18 <pikhq> I have had neither.
01:21:49 <Taneb> I've eaten kangaroo.
01:22:00 <Taneb> It was probably the nicest steak I have ever eaten
01:22:13 <oerjan> hm i cannot remember eating kangaroo, it would have been the one time i was in australia in case
01:22:19 <quintopia> "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 <oerjan> i've had ostrich though, there was a brief period when it was all the rage to farm ostriches in norway
01:23:01 <pikhq> Never had ostrich. Though I've seen an ostrich farm.
01:23:20 <oerjan> (then they lowered the tariffs as a gesture to poor african countries, and their ostrich outcompeted the norwegians :P)
01:23:21 <Taneb> I've eaten scampi at an ostrich farm
01:23:43 <myname> NORvegans eat neither meat nor eggs
01:23:44 <oerjan> well their ostrich farmers. although i doubt a norwegian could beat an ostrich in a fair race.
01:24:00 <pikhq> myname: Only the blood of their enemies?
01:24:38 <oerjan> quintopia: i don't quite remember that, but i assume it was a part he was going to remove anyhow.
01:25:12 <oerjan> although not having a TV, i'm seriously out of touch with the norwegian comedy scene.
01:26:01 <quintopia> not being in norway, so am I
01:26:11 <quintopia> of course, even in Norway, I still would be.
01:26:23 <quintopia> not speaking norgevian at all
01:26:39 <pikhq> Few speak Norgevian.
01:27:30 <quintopia> only the norgays speak norgevian
01:28:01 <oerjan> quintopia: you mean tenzing?
01:28:11 <quintopia> and his family
01:28:32 <oerjan> well they've always been an aloft bunch
01:29:20 <quintopia> 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 <HackEgo> [wiki] [[Special:Log/newusers]] create * Vernon76Cnr * New user account
02:00:33 -!- AndoDaan has joined.
02:09:12 <ais523> `perl-e print 4
02:09:13 <HackEgo> 4
02:09:30 <ais523> `perl-e if (false) { print "false is true!\n"; }
02:09:31 <HackEgo> false is true!
02:10:25 <elliott_> `interp perl print 4
02:10:26 <HackEgo> ​/hackenv/bin/interp: 4: exec: ibin/perl: not found
02:10:40 <ais523> elliott_: we have `! now for `interp
02:10:49 <elliott_> yeah, I forgot
02:15:54 <myname> wtf false
02:16:27 <oerjan> i think that's a bareword interpreted as the string "false", right?
02:16:47 <oerjan> *an undefined bareword
02:17:05 <oerjan> if warnings were turned on, you'd get one.
02:17:38 <oerjan> `run perl -W -e 'if (false) { print "false is true!\n"; }'
02:17:39 <HackEgo> 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 <Melvar> Does perl have specific true and false values?
02:18:30 <oerjan> i don't think so.
02:18:40 <oerjan> `perl-e print (1 == 1)
02:18:41 <HackEgo> 1
02:19:02 <ais523> oerjan: right
02:19:10 <ais523> Melvar: no; the standard false and true are undef and 1
02:19:20 <oerjan> `perl-e print (1 == 0)
02:19:20 <HackEgo> No output.
02:19:26 <oerjan> hm oh undef not 0
02:19:31 * Melvar nods.
02:19:37 <ais523> 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 <ais523> the null string and 1 is what == uses, I think
02:19:58 <oerjan> ah
02:20:00 <ais523> there are only three falsey values AFAIK, though: undef, the null string, and 0
02:20:09 <ais523> not sure about longer strings that are numerically 0
02:20:16 <elliott_> ais523: what about midnight?
02:20:24 <ais523> `perl-e print +('0e1' ? "true" : "false")
02:20:24 <HackEgo> true
02:20:32 <myname> ew
02:20:35 <ais523> I guess it has to be '0' specifically
02:20:51 <myname> i guess i get where php has that crap from
02:21:01 <ais523> Perl's semantics are, I think, intended to be "everything is a string, but some operators treat them like numbers"
02:21:08 <Bike> 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 <ais523> but every now and then, someone breaks the abstraction
02:21:13 <elliott_> tcl manages that a bit better
02:21:25 <Bike> `perl-e print +('0' ? "true" : "false")
02:21:25 <HackEgo> false
02:21:28 <Bike> `perl-e print +('000' ? "true" : "false")
02:21:29 <HackEgo> true
02:21:33 <Bike> oh my.
02:21:43 <ais523> `run perl -MData::Dumper -e '$x = 4; print Dumper($x); "$x"; print Dumper($x);'
02:21:43 <HackEgo> ​$VAR1 = 4; \ $VAR1 = 4;
02:21:54 <ais523> huh
02:21:58 <ais523> `run perl -MData::Dumper -e '$x = 4; print Dumper($x); $y = "$x"; print Dumper($x);'
02:21:59 <HackEgo> ​$VAR1 = 4; \ $VAR1 = 4;
02:22:02 <ais523> hmm
02:22:06 <ais523> maybe they've fixed it
02:22:12 <Melvar> ais523: Does perl have an empty list?
02:22:14 <ais523> that used to print "4" for the second dump
02:22:33 <elliott_> no yuks from a python joke, tough crowd :<
02:22:34 <ais523> 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 <ais523> where it's written ()
02:22:58 <ais523> lists and arrays act marginally differently, though
02:23:17 -!- TodPunk has quit (Read error: Connection reset by peer).
02:23:26 <Melvar> So is () actually a thing there?
02:23:57 -!- callforjudgement has joined.
02:23:59 <callforjudgement> `run perl -le '@a = (3, 4); print scalar @a; print scalar (3, 4);'
02:24:00 <HackEgo> 2 \ 4
02:24:06 -!- ais523 has quit (Disconnected by services).
02:24:07 -!- callforjudgement has changed nick to ais523.
02:24:19 <ais523> there, that's the difference between a list and an array
02:24:27 <ais523> lists like (3, 4) are second-class; they scalar-ise as their last element
02:24:46 <ais523> arrays are first-class; there's no array literal but you can assign a list literal to an array
02:24:46 <Melvar> … the last …?
02:24:49 <ais523> they scalar-ise as their length
02:25:01 <ais523> Melvar: to keep the "comma operator" working like in C, I guess
02:25:18 <Melvar> Ah.
02:25:36 <Bike> that's uh... uh.
02:25:54 <oerjan> "fiendish" hth
02:26:28 -!- callforjudgement has joined.
02:26:30 <callforjudgement> [03:25] <ais523> 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 <callforjudgement> [03:26] <ais523> 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 <Bike> 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 <dianne> if it burns your cpu, wouldn't it be more hot than cool?
02:46:16 <Bike> not relative to planck temperature
02:47:21 <ais523> what is the planck temperature?
02:47:26 <ais523> I'm guessing very large, from that
02:47:57 <Bike> yeah it's ten to the whatever kelvin.
02:48:29 <elliott_> I like how planck units are always very huge or very tiny
02:48:45 <elliott_> just to keep you on your toes
02:49:14 <ais523> there should be just one that has a reasonable value, to confuse people
02:49:25 <pikhq> Planck impedance is quite reasonable.
02:49:30 <Bike> planck charge is almost reasonable
02:49:31 <pikhq> It's about 29 ohms.
02:49:36 <Bike> it's more than the electron's, for some reason?
02:49:49 <ais523> 29 ohms is a little small
02:49:56 <ais523> but then, it's larger than, you know, the actual ohm
02:50:00 <ais523> so I'll forgive it
02:50:02 -!- Sprocklem has joined.
02:50:12 <Bike> hm, planck momentum is about six and a half kg*m/s, taht doesn't seem bad
02:50:29 <Bike> meanwhile the planck force is like 10^44 newtons, these are some great units here
02:50:30 <pikhq> The planck mass is only a tad bit small.
02:50:39 <pikhq> It's about 21 micrograms.
02:51:32 <Bike> 10^19 GeV? huge!!
02:51:36 <pikhq> Which is even crazier considering it's a base unit...
02:52:01 <pikhq> Blanck density? 5x10^96 kg/m^3!
02:52:03 <pikhq> *Planck
02:52:51 <elliott_> 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 <elliott_> ah yes, flea eggs, that common household object I have a solid grasp on the mass of
02:53:30 <Bike> so an object with the planck mass and density would be 10^-60 times as big as an electron
02:53:38 <Bike> 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 <pikhq> Bike: But hey, c=1.
02:54:55 <Bike> 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 <zzo38> pikhq: Why?
02:55:56 <pikhq> It'd make some physics equations *hilarious*.
02:56:03 <Bike> you are a bad person
02:56:03 <zzo38> I like c=1
02:56:31 <ais523> I think we should set c=-1
02:56:31 <Bike> i wonder if that would mess with angular velocities somehow
02:56:41 <pikhq> E=M/pi^2? Mmm.
02:57:24 <Bike> you know what really grinds my gears, is metrics in physics not being a metrics in maths
02:57:27 <Bike> terrible
02:58:04 <quintopia> 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 <pikhq> 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 <Bike> 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 <Bike> #<UNKNOWN> being the output of my write function, except it's not supposed to do it a billion times
03:04:40 <elliott_> it would help to see your code...?
03:04:51 <ais523> elliott_: he pasted it the line before
03:04:57 <Bike> no i didn't
03:05:02 <ais523> oh, is that the output?
03:05:04 <pikhq> I do enough psychic debugging at work. :P
03:05:09 -!- lambdabot has quit (Remote host closed the connection).
03:05:10 <pikhq> ais523: No, it's gdb session.
03:05:13 <elliott_> are you back to not clicking on links? :p
03:05:19 <ais523> "back"?
03:05:28 <ais523> I did turn off the thing that hides them altogether, ages ago
03:05:35 <ais523> but that didn't mean I actually started clicking on them
03:05:43 <ais523> I used a compromise, of making them the same color as normal text
03:06:07 <elliott_> can you correctly assume you know nothing about the links you haven't clicked, then? :p
03:06:08 <ais523> anyway, weird failure mode: my IRC is still connected, but I can't DNS resolve anything
03:06:23 <ais523> 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 <ais523> that seems better
03:08:36 <ais523> it was particularly weird, the DNS didn't work no matter which DNS server I used
03:08:43 <pikhq> That is weird.
03:08:43 <ais523> maybe the breakage was one that prevented new connections
03:09:27 <Bike> 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 <ais523> anyway, I had a really good IOCCC contest idea
03:10:24 <ais523> like, really really good
03:10:31 <Bike> that's pretty good
03:10:32 <elliott_> 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 <ais523> but I'm not sure I'll be able to get it ready in time for the deadline
03:10:38 <elliott_> ... can't reconnect, and also you lose connection entirely after a few hours of this
03:10:41 <elliott_> beat that
03:12:01 <ais523> is that some sort of traffic shaping, I wonder?
03:12:44 <elliott_> Bike: it's taking the else branch in write_lisp, I guess?
03:13:01 <elliott_> ais523: shaping traffic to the 192.168.0.1 web interface...?
03:13:20 <Bike> well, i know it's writing #<UNKNOWN>...
03:13:22 -!- lambdabot has joined.
03:13:25 <ais523> who's in control of your router firmware? </conspiracy?
03:13:31 <ais523> s/?/>/
03:13:37 <ais523> hi lambdabot
03:13:55 <Bike> i feel any good conspiracy should have a few seemingly extraneous question marks
03:13:58 <elliott_> 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 <elliott_> ais523: you mean s/\?/>/
03:14:51 <ais523> s/\?/\?/
03:14:54 <Bike> 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 <Bike> i forgot i could do that, i'm good at debugging.
03:16:15 -!- Sprocklem has joined.
03:18:51 <Bike> 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 <shachaf> i,i "does gdb have a way of stepping one instruction?" "si"
03:19:49 <Bike> what's i,i again
03:19:59 <pikhq> shachaf: :D
03:20:48 <shachaf> some sort of Pennsylvanian owl
03:22:03 <Bike> gotcha
03:22:25 <pikhq> It's probably the encoding of some obscure x86 instruction as well.
03:23:02 <ais523> something is definitely up with this internet connection atm
03:23:14 <ais523> some things are taking ages to load despite being measured in kb
03:23:17 <ais523> other things are loading instantly
03:23:56 <ais523> n1124.pdf is the document normally used as a C99 draft, right?
03:23:59 <pikhq> Yep.
03:24:03 <shachaf> Not DNS issues?
03:24:13 <ais523> sadly, this is one of those things where an actual copy of the standard would be helpful
03:24:20 <ais523> shachaf: it's possible, but it's due to third-party CDNs in that case
03:24:30 <ais523> because some of these are internal link to the same site
03:24:52 <pikhq> Friendly advice, just hit up http://port70.net/~nsz/c/ for those...
03:25:23 <pikhq> (all the C specs, gathered by nsz of #musl)
03:27:06 <Bike> iso646.h, the bobm
03:27:38 <Bike> "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 <ciso646>. 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 <pikhq> Yep.
03:29:09 <pikhq> The header, of course, actually does something in C99.
03:29:20 <pikhq> Terrible though it might be.
03:29:48 <Bike> 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 <Bike> https://pbs.twimg.com/media/BxOhDARCUAA1NLt.png:large also had this loveliness, but that's unrelated
03:34:37 <pikhq> But hey, lets you write C like this: http://sprunge.us/XNZh
03:35:30 <Bike> it's like php or something, yay
03:35:55 <Bike> i like how i can work out all the digrams from context...
03:36:11 <pikhq> The digraphs are nowhere near as crazy as the trigrams.
03:36:22 <pikhq> Erm, trigraphs
03:36:44 <pikhq> Both the choices are much more obvious and the actual implementation is much less insane.
03:37:13 <pikhq> 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 <elliott_> what I don't get is how digraphs were added in 1994
03:37:28 <elliott_> surely they were obsolete from the start
03:37:44 <pikhq> IBM mainframes are GOD DAMNED MOTHERFUCKING INSANE.
03:38:18 <coppro> ^
03:38:53 <pikhq> The default charset there actually is missing these characters I kid you not.
03:39:52 <coppro> yep
03:39:56 <pikhq> Oh, and before you ask, *yes*, you can code in C on there.
03:40:06 <zzo38> Can it be programmed to use ASCII though so that you can use ASCII-based programs?
03:40:25 <pikhq> If you use a charset with not-utterly-insane character selection you can even compile fairly normal C programs on there.
03:40:30 <pikhq> zzo38: No.
03:40:35 <coppro> 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 <coppro> committee members are pushing for them to die by C++17 though. hopefully they succeed
03:41:09 <zzo38> 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 <pikhq> Sadly it's unlikely. IBM mainframes are still going to use EBCDIC then.
03:41:39 <coppro> pikhq: yes, but maybe they can be convinced to switch to digraphs
03:41:39 <pikhq> 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 <pikhq> Oh, sure.
03:41:54 <pikhq> That's a much easier selling point.
03:41:58 <coppro> 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 <pikhq> And digraphs aren't utterly god damned insane. :P
03:42:11 <coppro> IBM can't unilaterally block their removal
03:42:16 <zzo38> Although you might have to change the category codes in your program in order to get your file to work
03:42:29 <pikhq> I do wish they'd deploy UTF-EBCDIC though.
03:42:37 <pikhq> It'd make certain parts of my day job much easier.
03:43:02 <coppro> pikhq: wait. your day job?
03:43:12 <zzo38> So, at least TeX can still be used even if other things don't work.
03:43:33 <pikhq> coppro: Some damned bastard client went "yeah, yeah we like your stuff but can it work with mainframes?"
03:44:03 <pikhq> ... long story short I've actually written a COBOL struct parser.
03:44:42 <coppro> oh god
03:45:12 <zzo38> pikhq: You can try using the way TeX does; it can use ASCII without implementing Unicode.
03:45:19 <pikhq> Honestly the hardest part was just teasing out EBNF for it.
03:45:20 <coppro> zzo38: that does not work
03:45:26 <coppro> zzo38: Because the native encoding is EBDIC
03:45:37 <pikhq> IBM mainframe people have not heard of BNF of any sort.
03:45:45 <pikhq> And I mean *any* sort.
03:46:02 <pikhq> The actual damned spec gives vague syntax diagrams. :(
03:46:22 <zzo38> 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 <coppro> zzo38: he's not dealing with internal stuff though
03:46:44 <coppro> he needs to interact with the world around him
03:47:28 <zzo38> Well, yes, you convert out of ASCII format when making output, and convert into ASCII format when receiving the input.
03:47:31 <pikhq> 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 <zzo38> Even Z-machine codes, even though they are ASCII internally, can be used on non-ASCII computers.
03:50:10 <Bike> note to self, do not try to be clever with strncmp, you are an idiot
03:50:30 <HackEgo> [wiki] [[Bueue]] http://esolangs.org/w/index.php?diff=40555&oldid=40499 * Oerjan * (+19) /* Computational Class */ Some proof-reading
03:51:01 <myname> be more specific
03:54:34 -!- conehead has joined.
03:54:36 <Bike> about cobol?
03:56:40 <coppro> zzo38: pikhq's problem is the lack of a decent unicode encoding for him to export/import to/from
04:02:29 <zzo38> Another alternative would be to use external programs to do the conversions
04:03:00 <zzo38> EBCDIC is no good, and UTF-EBCDIC is also no good.
04:04:03 <myname> what the hell is wrong with android apps that force landscape mode and refuse to use reversed landscape
04:04:23 <lifthrasiir> polarity warning
04:05:26 <ais523> "reversed landscape"?
04:05:40 <ais523> is that rotated 90 degrees the other way?
04:05:47 <lifthrasiir> yes.
04:05:48 <myname> 180
04:05:54 <myname> ah, yes
04:05:55 <ais523> from portrait, I mean
04:10:25 <HackEgo> [wiki] [[JSFuck]] M http://esolangs.org/w/index.php?diff=40556&oldid=40513 * Oerjan * (+10) Small fixes
04:10:28 <quintopia> myname: they are probably configured lazily to work best for phones with hardware keybaords
04:10:57 <myname> it's fucking annoying if my phone is charging
04:11:10 <zzo38> I have seen some Android which have a switch to make it to turn or not turn
04:11:27 <myname> yes, but that enables or disables turning in general
04:11:39 <myname> (on apps that don't force)
04:11:46 <zzo38> Yes, I know, it doesn't change software that doesn't ordinarily turn
04:12:15 <myname> also, it does not work in this case
04:14:38 -!- shikhout has quit (Ping timeout: 250 seconds).
04:14:41 <HackEgo> [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 <ais523> `! c int x = 127.0.0.1;
04:23:18 <HackEgo> 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 <ais523> hmm
04:24:58 -!- Jafet has joined.
04:29:41 <HackEgo> [wiki] [[Brainflow]] http://esolangs.org/w/index.php?diff=40558&oldid=40528 * Oerjan * (-207) Proofreading
04:37:19 -!- copumpkin has joined.
04:39:23 <HackEgo> [wiki] [[Mindcrush]] http://esolangs.org/w/index.php?diff=40559&oldid=40538 * Oerjan * (+88) Proofread
04:44:46 <ais523> this is fun, I've already got to write things like "b c = (b){ c.c} ;"
04:45:02 <ais523> might have to remove some of the whitespace in that, depending on how length limits go
04:45:09 <ais523> may be that I hit the whitespace limit before the non-whitespace limit
04:48:13 <ais523> oh, they changed it
04:48:23 <ais523> total 4096, non-whitespace 2053
04:50:01 <ais523> the IOCCC people have really gone overboard with jokes in the rules and guidelines this time
04:50:09 <ais523> | This line has a change mark at the beginning.
04:57:02 <Bike> how does (b){c.c} parse, exactly
04:57:02 <myndzi> c.c.c
04:57:02 <myndzi> c.c
04:57:26 <Bike> why did it not do that earlier... eh.
05:01:10 -!- Sorella has joined.
05:01:34 <ais523> Bike: here, b is a typedef for a struct
05:01:49 <ais523> so it parses as (struct struct_tag){object.field}
05:02:10 <Bike> 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 <Bike> literal... something? array?
05:03:05 <lifthrasiir> ais523: heh, are you trying to make an IOCCC entry?
05:03:27 <ais523> lifthrasiir: yes
05:03:33 <ais523> Bike: struct literal, in this case
05:03:37 <lifthrasiir> I don't have any good idea this time
05:03:52 <ais523> 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 <Bike> i thought there should be a type, for some reason, but that doesn't really make sense
05:03:59 <ais523> otoh it's probably silly to worry about theft of IOCC entry ideas
05:04:16 <ais523> 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 <ais523> because they're in <iso646.h>
05:04:29 <ais523> I have a strong feeling that this loophole was placed in there intentionally
05:04:33 <ais523> *IOCCC
05:04:34 <lifthrasiir> and some _* reserved words.
05:04:38 <lifthrasiir> (afaik)
05:04:45 <ais523> yes but you can't use those as variables in any version of C
05:05:16 <lifthrasiir> do judges use the most recent version of C for every entry?
05:05:18 <Bike> is there some gdb command to keep steppin until you get back to some frame
05:05:39 <shachaf> fin?
05:06:10 <Bike> 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 <ais523> OK, I guess I'm going to have to ask for help
05:34:10 <ais523> 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 <ais523> because I'm stumped
05:35:16 <ais523> the closest I've got is -1/INT_MIN, but gcc isn't acting as expected on it
05:39:21 <ais523> ooh, sizeof(long[SIZE_MAX]) seems to work, but I'm worried that that's UB in its own right
05:42:42 <ais523> /dev/stdin:1:1: error: ‘auto’ in file-scope empty declaration
05:42:49 <ais523> oh well, at least I'm coming across errors I've never seen before
05:42:54 <ais523> and probably none of you have either
05:44:55 <fizzie> Why would -1/INT_MIN have a value outside int instead of just 0?
05:45:24 <ais523> oh, whoop
05:45:24 <coppro> ais523: hmm, what do you mean "outside the range of its own type"
05:45:26 <ais523> *whoops
05:45:29 <ais523> needs to be INT_MIN/-1
05:45:43 <coppro> oh, nvm
05:45:45 <coppro> hmm
05:45:47 <ais523> coppro: say, an expression of type of int, that evaluates to something of type int, with no UB involved
05:46:24 <fizzie> INT_MIN/-1 presumably involves UB due to signed integer overflow.
05:46:34 <ais523> yes
05:46:43 <ais523> however, I got the warning I was aiming for: /dev/stdin:2:1: warning: overflow in constant expression [-Woverflow]
05:46:52 <ais523> not convinced that's a no-UB way to manage it, though
05:47:31 <ais523> 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 <ais523> and float overflow saturates at infinity
05:48:12 <coppro> yes
05:48:14 <HackEgo> [wiki] [[Mang]] http://esolangs.org/w/index.php?diff=40560&oldid=40549 * Oerjan * (+5) fmt, sp
05:48:34 <coppro> ais523: have you abused trigraphs enough yet?
05:48:40 <fizzie> 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 <ais523> coppro: trigraph abuse is effectively banned this year
05:48:54 <ais523> they didn't say anything about /digraph/ abuse, though
05:49:02 <ais523> so maybe I'll use some of that
05:49:45 <coppro> are digraphs in C?
05:49:52 <ais523> yes, but not C89
05:49:54 <ais523> I think they're C99
05:49:58 <coppro> also where did they effectively ban trigraphs?
05:50:14 <ais523> guidelines, they say they trigraph-preprocess source pretty much before looking at it
05:50:46 <fizzie> ais523: C95, actually.
05:50:48 <coppro> ah ok
05:51:23 <coppro> hmm
05:51:31 <ais523> fizzie: fair enough, that means they're also C99
05:51:35 <ais523> which is what I'm targeting
05:51:39 <coppro> I think my favourite objuscated program I've ever seen was that perl script that played game of life with itself
05:51:48 <ais523> because a) it has the best-quality draft, b) it's smaller than C11
05:51:55 <HackEgo> [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 <coppro> actually does anyone know where to find that life game?
05:53:44 <ais523> int main(void) { auto auto int x; }
05:53:49 <ais523> yet another error message I've never seen before
05:53:52 <ais523> I guess, because nobody ever uses auto
05:54:02 <shachaf> What is the error message?
05:54:28 <ais523> duplicate 'auto'
05:54:29 <fizzie> I've had [warning: function definition declared 'auto'] in my candide log.
05:54:47 <fizzie> For auto int f(int x) { return x; } apparently.
05:55:08 <ais523> who writes such a thing?
05:55:12 <ais523> other than me, I mean
05:57:48 <fizzie> 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 <Bike> no stack allocated functions, huh? rough.
06:00:31 <b_jonas> fizzie: is that for C, or C++ before C++11, or for C++11?
06:00:44 <b_jonas> I think they might differ in handling "auto"
06:00:54 <fizzie> For C.
06:01:10 <ais523> oh well, think I found my first gcc bug doing this
06:01:15 <ais523> I won't report it until after the IOCCC
06:01:19 <fizzie> (If you type "for C" with the left hand offset by one, you get "got V".)
06:01:27 <b_jonas> ais523: nice
06:01:59 <ais523> nope, it was a typo :-(
06:02:02 <b_jonas> 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 <b_jonas> aww!
06:02:15 <b_jonas> try it in clang!
06:02:33 <b_jonas> the ioccc judges said in the guidelines they prefer clang (and portable code of course)
06:02:35 <Sgeo> SMITE seems educational, if learning about mythology is your thing
06:10:26 <b_jonas> here's the crazy bug I reported => https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59704
06:12:48 <Bike> i agree, this is crazy
06:12:55 <Bike> why did you want to do this
06:15:35 <b_jonas> Bike: a moment
06:17:17 <ais523> (v-v)'s getting optimized into 0, which is being interpreted as nullptr?
06:17:23 <ais523> I can easily imagine that bug happening
06:17:56 <b_jonas> 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 <Sgeo> Why would anyone want to attach candles while underwater?
06:18:17 <b_jonas> for that he subtracts the number from itself and checks if it converts to a null pointer,
06:18:31 <oerjan> Sgeo: i suppose they just have a burning desire
06:18:33 <ais523> Sgeo: didn't /you/ fix that bug?
06:18:35 <b_jonas> he also claims he can't do this in C++, but I claimed I can do it in _old_ c++,
06:18:43 <b_jonas> and tried to write a proof of concept,
06:18:59 <Sgeo> ais523: yes. I'm being silly with the "why did you want to do this" for something unrelated
06:19:04 <b_jonas> 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 <b_jonas> because of that bug.
06:19:22 <Sgeo> I have no idea which scenario is actually more reasonable
06:19:31 <ais523> `! c static int s; extern inline int f() {s=1;}
06:19:43 <ais523> by my reading, that program has a mandatory warning
06:19:46 <HackEgo> 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 <b_jonas> 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 <oerjan> `! c int main () { printf("hm"); }
06:21:16 <oerjan> now what
06:21:17 <HackEgo> 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 <oerjan> ais523: i have a hunch `! c isn't working
06:21:47 <ais523> ditto
06:22:19 <oerjan> `url interp
06:22:19 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/interp
06:22:49 <oerjan> that didn't seem to exist
06:23:31 <oerjan> oh wait duh
06:24:24 <oerjan> `! perl print "hi"
06:24:25 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/perl: not found
06:24:44 <Bike> okay, so it is isnane. good to know.
06:25:02 <oerjan> `run ln bin/perl-e ibin/perl
06:25:04 <HackEgo> No output.
06:25:06 <oerjan> `! perl print "hi"
06:25:07 <HackEgo> hi
06:25:12 <oerjan> one down
06:26:34 <oerjan> `which interp_file
06:26:35 <HackEgo> No output.
06:27:48 <mroman_> This could mean not everyone is allowed to launch a website, but that a license would be required, for example.
06:29:17 <b_jonas> mroman_: what? is that a reply to something? I don't get the context
06:29:32 <b_jonas> is that related to attaching the candles underwater?
06:31:55 -!- MoALTz has quit (Quit: Leaving).
06:32:22 <oerjan> `! c printf("test");
06:32:27 <zzo38> Why are you attaching candles underwater? Won't the fire go out?
06:32:35 <oerjan> `echo hi
06:32:36 <HackEgo> hi
06:32:38 <HackEgo> 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 <ais523> zzo38: there was a bug
06:34:39 <ais523> the fire should go out, but it didn't
06:34:42 <ais523> Sgeo: fixed the bug
06:36:45 <oerjan> `run echo 'int main () { printf("hm"); }' >test.c
06:36:46 <HackEgo> No output.
06:36:51 <oerjan> `cat test.c
06:36:51 <HackEgo> int main () { printf("hm"); }
06:37:14 <mroman_> b_jonas: that's a quote from slashdot
06:37:24 <oerjan> `run ./interps/gcccomp/gcccomp <test.c 2>&1
06:37:40 <HackEgo> 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 <oerjan> `run ./interps/gcccomp/gcccomp c <test.c 2>&1
06:41:55 <HackEgo> 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 <Sgeo> 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 <myname> wat
06:44:21 <Sgeo> myname: are you able to attach things to other things without setting things aflame?
06:44:52 <oerjan> `run ./interps/gcccomp/gcccomp c test.c 2>&1
06:45:08 <HackEgo> ​./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 <oerjan> `uptime
06:45:22 <HackEgo> ​ 06:45:19 up 0 min, 0 users, load average: 0.00, 0.00, 0.00
06:45:32 <myname> Sgeo: i do think so
06:45:40 <oerjan> `gcc test.c
06:45:42 <HackEgo> test.c: In function ‘main’: \ test.c:1:15: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
06:45:55 <oerjan> `ls
06:45:56 <HackEgo> ​:-( \ 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 <Sgeo> myname: this makes you smarter than a 3.4.3 NetHack character
06:46:02 <oerjan> `./a.out
06:46:03 <HackEgo> hm
06:46:37 <ais523> haha, Ubuntu are updating bash /again/
06:46:41 <myname> well, if it's a /oFire
06:46:51 <ais523> seems like they found another bug, possibly unrelated to the other two?
06:48:20 <myname> nethack is the only place i know where WoW is something other than a n mmmorpg
06:48:46 <oerjan> `printenv GCC
06:48:47 <HackEgo> No output.
06:50:25 <oerjan> `run env GCC=gcc ./interps/gcccomp/gcccomp c test.c 2>&1
06:50:41 <HackEgo> ​./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 <ais523> int f()()
06:52:38 <ais523> wow, there are amazing things you can do in C
06:52:56 <ais523> if you don't worry about it compiling
06:56:11 -!- [1]AndoDaan has joined.
06:56:35 <oerjan> `! cxx printf("test");
06:56:59 <HackEgo> ​./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 <oerjan> `g++ test.c
06:57:16 <HackEgo> test.c: In function ‘int main()’: \ test.c:1:26: error: ‘printf’ was not declared in this scope
06:58:18 <oerjan> `run (echo '#include <stdio>`; echo 'int main () { printf("hm"); }') >test.c
06:58:18 <HackEgo> bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `(echo '#include <stdio>`; echo 'int main () { printf("hm"); }') >test.c'
06:58:27 <oerjan> `run (echo '#include <stdio>; echo 'int main () { printf("hm"); }') >test.c
06:58:28 <HackEgo> bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `(echo '#include <stdio>; echo 'int main () { printf("hm"); }') >test.c'
06:58:41 <oerjan> `run (echo '#include <stdio>'; echo 'int main () { printf("hm"); }') >test.c
06:58:43 <HackEgo> No output.
06:58:47 <oerjan> `gcc test.c
06:58:48 <HackEgo> 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 <oerjan> gah i don't remember C
06:59:34 <oerjan> `run (echo '#include <stdio.h>'; echo 'int main () { printf("hm"); }') >test.c
06:59:36 <HackEgo> No output.
06:59:38 <oerjan> `gcc test.c
06:59:38 <HackEgo> No output.
06:59:44 <oerjan> `c++ test.c
06:59:46 <HackEgo> No output.
07:00:46 <oerjan> `run ./interps/gcccomp/gcccomp c++ test.c 2>&1
07:00:58 <b_jonas> zzo38: you don't light them underwater, just attach the candles
07:01:02 <HackEgo> ​./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 <oerjan> ok there must just be something _wrong_ with that gcccomp
07:01:35 <mroman_> `cat test.c
07:01:36 <HackEgo> ​#include <stdio.h> \ int main () { printf("hm"); }
07:01:41 <b_jonas> ais523: no, they're just fixing the one bug properly, as opposed to a quick emergency fix
07:01:44 <mroman_> `run gcc -o test test.c
07:01:46 <HackEgo> No output.
07:01:50 <mroman_> `run ./test
07:01:51 <HackEgo> hm
07:01:59 <oerjan> mroman_: the program is fine.
07:02:12 <oerjan> i'm trying to fix `! c
07:03:07 -!- Sorella has quit (Ping timeout: 245 seconds).
07:04:09 <oerjan> `run gcc -x c test.c -o /tmp/compiled.$$ 2> /dev/null
07:04:10 <HackEgo> No output.
07:04:28 <fizzie> I'd look into resource limits if I were you.
07:04:36 <fizzie> There's a suspicious ulimit -u 3 after the compilation in gcccomp.
07:04:47 <oerjan> hm...
07:04:56 <fizzie> Possibly HackEgo's machinery involves more user processes than EgoBot's did.
07:04:57 <oerjan> ok let's try removing that
07:05:39 <oerjan> `run sed -i 's/ulimit/#ulimit/' interps/gcccomp/gcccomp
07:05:40 <HackEgo> No output.
07:05:59 <oerjan> `run ./interps/gcccomp/gcccomp c test.c 2>&1
07:06:00 <HackEgo> No output.
07:06:02 <oerjan> hah
07:06:22 <oerjan> `! c++ printf("hm");
07:06:23 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/c++: not found
07:06:30 <oerjan> `! cxx printf("hm");
07:06:31 <HackEgo> hm
07:06:39 <oerjan> :)
07:06:44 <oerjan> `! c printf("hm");
07:06:44 <HackEgo> Does not compile.
07:06:54 <oerjan> thought so, i found another bug
07:07:14 <oerjan> `run sed -i 's/1/0/' ibin/c
07:07:15 <HackEgo> No output.
07:07:23 <oerjan> `! c printf("hm");
07:07:24 <HackEgo> Does not compile.
07:07:26 <oerjan> oops
07:07:39 <oerjan> `cat ibin/c
07:07:39 <HackEgo> ​#!/bin/sh \ . lib/interp \ interp_file "./interps/gcccomp/gcccomp $0"
07:08:36 <oerjan> `run sed -i 's/[$]0/c/' ibin/c
07:08:37 <HackEgo> No output.
07:08:43 <oerjan> `! c printf("hm");
07:08:44 <HackEgo> hm
07:08:47 <oerjan> yay!
07:09:20 <oerjan> i assume HackEgo's own limits will take care of the missing ulimit
07:09:41 <oerjan> `! c int main () { printf("hm"); }
07:09:42 <HackEgo> No output.
07:09:47 <oerjan> oops
07:11:19 <oerjan> `cat test.c
07:11:20 <HackEgo> ​#include <stdio.h> \ int main () { printf("hm"); }
07:11:35 <oerjan> `run echo 'int main () { printf("hm"); }' >test.c
07:11:36 <HackEgo> No output.
07:11:40 <oerjan> `gcc test.c
07:11:42 <HackEgo> test.c: In function ‘main’: \ test.c:1:15: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
07:12:55 <fizzie> Perhaps we should just get candide here, it's got the best C-running capabilities I've seen in freenode.
07:13:05 <fizzie> Though I suppose our DIY tradition would balk at that.
07:13:07 <oerjan> hmph
07:13:20 <oerjan> well it's working _somewhat_
07:13:44 <oerjan> `! c int main () { puts("hi\n"); }
07:13:45 <HackEgo> Does not compile.
07:14:06 <fizzie> 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 <fizzie> 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 <fizzie> Of course there's so much magic there that doing something very strange (not unlikely here?) can occasionally confuse it.
07:15:59 <oerjan> heh
07:18:29 <oerjan> `! java java.lang.System.out.println("hi");
07:18:29 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/java: not found
07:18:37 <oerjan> wat
07:18:53 <fizzie> You don't have to type "java.lang.", it's imported by default.
07:19:34 <oerjan> `run sed 's/p c/p java/' ibin/c >ibin/java
07:19:35 <HackEgo> No output.
07:19:44 <oerjan> `! java System.out.println("hi");
07:19:44 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/java: Permission denied
07:19:57 <oerjan> `run chmod +x ibin/java
07:19:58 <HackEgo> No output.
07:19:59 <oerjan> `! java System.out.println("hi");
07:20:15 <HackEgo> hi
07:20:15 <fizzie> Ooh, gcj.
07:20:26 <fizzie> Also only took 15 secunds to run.
07:21:14 <oerjan> perhaps there's a reason Gregor had disabled it :P
07:21:31 <fizzie> `java -version
07:21:31 <HackEgo> 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 <fizzie> 1.6! So old!
07:26:31 <fizzie> `! java System.out.println(Main.class);
07:26:34 <HackEgo> class Main
07:26:49 <fizzie> That's less slow, I guess it's in disk cache for now.
07:27:59 -!- drdanmaku has quit.
07:35:49 <oerjan> this all should also have got `! asm working
07:36:09 <mroman_> `! asm mov eax, 0
07:36:10 <HackEgo> Does not compile.
07:36:21 <mroman_> `! asm mov %eax, %ebp
07:36:21 <HackEgo> Does not compile.
07:36:40 <mroman_> `run vim
07:36:41 <HackEgo> bash: vim: command not found
07:36:43 <mroman_> `run vi
07:36:44 <oerjan> WELL IN THEORY
07:36:55 <mroman_> `echa bar
07:36:55 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: echa: not found
07:36:59 <mroman_> `echo bar
07:37:00 <HackEgo> bar
07:37:01 <oerjan> it uses gcc as the assembler, like the other gcccomp programs
07:37:10 <mroman_> `run vi &
07:37:12 <mroman_> `ps axuw
07:37:12 <HackEgo> 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 <HackEgo> 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 <HackEgo> 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 <ais523> it doesn't have a vim, but vi is actually vim?
07:37:31 <ais523> what sort of setup is that?
07:37:35 <mroman_> `ps axuw
07:37:35 <HackEgo> 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 <mroman_> `! c prinf();
07:38:13 <HackEgo> Does not compile.
07:38:19 <oerjan> HEAD='.globl main; main: pushq %rbp; movq %rsp, %rbp;' TAIL='movl $0, %eax; leave; ret;'
07:38:20 <mroman_> `! c printf();
07:38:21 <HackEgo> Does not compile.
07:38:24 <mroman_> what
07:38:27 <mroman_> `! c printf("a");
07:38:27 <HackEgo> a
07:38:33 <mroman_> `! c printf(lib64a());
07:38:34 <HackEgo> Does not compile.
07:38:39 <mroman_> `! c printf(printf);
07:38:40 <HackEgo> ​%
07:38:48 <oerjan> the `! c is a little flaky
07:39:02 <mroman_> oh wait. it includes headers?
07:39:07 <oerjan> i can't quite recall if it worked any better on EgoBot.
07:39:10 <mroman_> then printf(); doesn't work
07:39:31 <oerjan> mroman_: it tries first with headers, then if that doesn't compile, without (but then you need a whole main)
07:39:45 <oerjan> also, i couldn't get a printf in main to work
07:39:51 <oerjan> um
07:40:06 <oerjan> HEAD='.globl main; main: pushq %rbp; movq %rsp, %rbp;' TAIL='movl $0, %eax; leave; ret;' is what it wraps asm in
07:40:26 <oerjan> although that too is tried without if it fails.
07:41:59 <oerjan> `! asm mov %eax, %ebp;
07:42:00 <HackEgo> ​./interps/gcccomp/gcccomp: line 52: 307 Segmentation fault /tmp/compiled.$$
07:43:10 <oerjan> well that compiled :P
07:43:32 <oerjan> mroman_: it seems to like a trailing ;
07:44:50 <oerjan> `! asm .globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret;
07:44:51 <HackEgo> Does not compile.
07:44:56 <oerjan> hm
07:45:16 <oerjan> i just wrapped it inside the headers it _should_ use anyhow...
07:46:56 <fizzie> It ought to put those error messages somewhere, and dump them out when the result is "does not compile".
07:47:55 <oerjan> i think Gregor didn't want EgoBot to be that verbose.
07:47:56 <fizzie> 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 <oerjan> 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 <oerjan> and so if it fails altogether you have two sets of error messages
07:49:15 <fizzie> >>, then. :p
07:49:24 <oerjan> although right now i'm wondering why the whole-program version seems to fail.
07:52:50 <fizzie> `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 <HackEgo> No output.
07:52:58 <fizzie> That should work out right.
07:53:08 <fizzie> The wrapped version of that should fail, of course.
07:53:25 <oerjan> so i think there's something generally failing with the attempt to get the non-wrapping working
07:54:36 <oerjan> `run sed -i '47iecho "$GCC" -x "$LANG" "$2" $FLAGS -o /tmp/compiled.$$ 2> /dev/null' interps/gcccomp/gcccomp
07:54:37 <HackEgo> No output.
07:55:01 -!- digitalc1ld has changed nick to digitalcold.
07:55:03 <oerjan> um
07:55:06 <oerjan> `revert
07:55:07 <HackEgo> Done.
07:55:19 <oerjan> `run sed -i '47iecho "$GCC" -x "$LANG" "$2" $FLAGS -o /tmp/compiled.$$' interps/gcccomp/gcccomp
07:55:20 <HackEgo> No output.
07:55:36 <shachaf> "Does not compile" isn't a useful message for asm
07:55:44 <oerjan> `! asm .globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret;
07:55:45 <HackEgo> gcc -x assembler /tmp/input.290 -o /tmp/compiled.299 \ Does not compile.
07:56:36 <oerjan> oh wait
07:57:22 <fizzie> How about just temporarily s|2> /dev/null||.
07:57:29 <oerjan> hm
07:57:48 <oerjan> `run sed -i '47d' interps/gcccomp/gcccomp
07:57:50 <HackEgo> No output.
07:58:43 <oerjan> `run sed -i 's|2> /dev/null||' interps/gcccomp/gcccomp
07:58:45 <HackEgo> No output.
07:59:01 <fizzie> The whole-program version has the wrong extension, but with -x $LANG that shouldn't matter.
07:59:06 <oerjan> `! asm .globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret;
07:59:07 <HackEgo> ​/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 <fizzie> Ha.
07:59:32 <fizzie> "partial line at end of file ignored"
07:59:55 <fizzie> Perhaps it needs a forced newline at the end of the $2 file.
08:00:08 <oerjan> `! c int main () { printf("hm"); }
08:00:09 <HackEgo> No output.
08:00:20 <oerjan> ... that didn't work either
08:00:35 <oerjan> `! c int main () { printf("hm"); }; printf("well");
08:00:36 <HackEgo> well
08:00:38 <oerjan> ic...
08:00:43 <oerjan> i suspected that
08:00:51 <fizzie> Right, it compiles just fine as the wrapped version.
08:01:06 <fizzie> `! c int main () { printf("hm"); }; main();
08:01:07 <HackEgo> hm
08:01:11 <fizzie> So silly.
08:01:15 <oerjan> :P
08:01:27 <fizzie> Thanks, nested functions.
08:01:40 <fizzie> `run thanks 'nested functions' # this still here?
08:01:40 <HackEgo> Thanks, nested functions. Thested functions.
08:02:14 <oerjan> oh hm right maybe EgoBot always had an EOL at the end of things
08:02:32 <oerjan> in which case maybe this should be fixed in interp...
08:02:57 <fizzie> Just add \n in the printf, perhaps.
08:03:01 <fizzie> (The one in get_arg.)
08:03:19 <oerjan> oh
08:03:39 <oerjan> i didn't mean _that_ interp, but bin/interp
08:04:39 <oerjan> ok but if only asm has this problem so far...
08:05:06 <fizzie> Also explains why the trailing ; was needed for the wrapped version.
08:05:29 <oerjan> `revert
08:05:30 <HackEgo> Done.
08:06:16 <oerjan> fizzie: um how so?
08:06:48 <fizzie> oerjan: If there's no newline in the $2 file, it will append the $TAIL directly.
08:07:04 <oerjan> oh
08:07:12 <fizzie> 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 <oerjan> `run sed -i '3s/1/1\\n/' bin/interp
08:09:44 <HackEgo> No output.
08:10:07 <oerjan> hm wait that won't work
08:10:13 <oerjan> `revert
08:10:14 <HackEgo> Done.
08:11:23 <fizzie> The difficulty of getting a newline in $ARG was why I suggested patching the printf in lib/interp.
08:12:02 <oerjan> oh right even a printf won't work
08:12:50 <oerjan> it's just that if there are other interpreters than those going via lib/interp that depend on this...
08:13:12 <oerjan> hm wait maybe they all do
08:13:26 <fizzie> If there was always a newline in EgoBot, they shouldn't mind. But who knows.
08:14:07 <fizzie> Oh, you mean, some might use the lib/interp facility.
08:14:12 <fizzie> Well, I guess that's always possible.
08:14:16 <oerjan> `ls ibin
08:14:16 <HackEgo> 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 <ais523> bleh, I got pinged again
08:14:26 <oerjan> perl isn't showing up in the repository
08:14:37 <oerjan> ais523: what
08:14:43 <ais523> I have a ping on "INTERCAL"
08:14:47 <oerjan> heh
08:14:50 <ais523> it triggered earlier today in a channel other than #esoteric
08:14:55 <ais523> so it's been quite worthwhile for me
08:15:00 <oerjan> well i checked a few esolangs in there, and they used lib/interp
08:15:17 <oerjan> so maybe it is the place to change
08:15:19 <fizzie> `run echo $(ls ibin | wc -l) vs $(grep interp_file ibin/* | wc -l)
08:15:20 <HackEgo> 43 vs 38
08:15:27 <fizzie> Well, maybe there's some that don't use it.
08:15:53 <oerjan> um
08:16:00 <oerjan> some might use interp_stdin instead
08:16:27 <oerjan> `run echo $(ls ibin | wc -l) vs $(grep interp_ ibin/* | wc -l)
08:16:27 <fizzie> `run for f in ibin/*; do if grep -q interp_ $f; then true; else echo $f; fi; done
08:16:27 <HackEgo> 43 vs 40
08:16:28 <HackEgo> ibin/bf_txtgen \ ibin/k \ ibin/perl
08:16:37 <fizzie> Those don't have any "interp_" in it.
08:16:47 <oerjan> i just added perl as a link to perl-e, so no wonder :P
08:17:16 <fizzie> k is just a static echo '!"#$%^&* 0123456789'
08:17:21 <fizzie> I wonder what that's about.
08:17:32 <oerjan> actually bf_txtgen uses lib/interp too
08:17:40 <fizzie> Yes, it calls get_arg directly.
08:17:43 <ais523> is k actually a language?
08:18:06 <fizzie> Though I don't think we'd really want a newline in the textgen string.
08:18:17 <fizzie> Incidentally, that used in fact to be a problem with EgoBot's bf_txtgen.
08:18:29 <fizzie> It force-fed in a newline; I ran it locally a couple of times to get rid of that.
08:18:37 <fizzie> But if we want to be bug-compatible...
08:18:39 <ais523> 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 <oerjan> fizzie: huh :P
08:19:18 <ais523> what scopes are typedefs legal in anyway?
08:21:07 <fizzie> Not in function parameter scope, because 6.7.6.3p2 and typedef is syntactically a storage class specifier.
08:21:18 <fizzie> [11:20:20] <fizzie> ,cc int f(typedef int q);
08:21:18 <fizzie> [11:20:22] <candide> fizzie: error: storage class specified for parameter 'q'
08:22:00 <fizzie> And only labels have function scope.
08:22:07 <fizzie> So I guess in block scope and file scope.
08:22:17 <fizzie> That covers all the four scopes there are.
08:25:21 <oerjan> `run sed -i '12s/s/s\\n/' lib/interp
08:25:22 <HackEgo> No output.
08:26:02 <oerjan> `! asm .globl main; main: pushq %rbp; movq %rsp, %rbp; mov %eax, %ebp; movl $0, %eax; leave; ret;
08:26:03 <HackEgo> ​./interps/gcccomp/gcccomp: line 52: 309 Segmentation fault /tmp/compiled.$$
08:26:08 <oerjan> now that works
08:27:18 <ais523> fizzie: right
08:27:19 <oerjan> i don't quite see how to avoid bf_txtgen doing it too without duplicating code
08:27:30 <ais523> this is a problem, because 6.7.7p2 is thus entirely redundant
08:27:32 <ais523> I'll leave it out
08:28:03 <oerjan> `! asm mov %eax, %ebp
08:28:04 <HackEgo> ​./interps/gcccomp/gcccomp: line 52: 307 Segmentation fault /tmp/compiled.$$
08:29:04 <shachaf> `! asm .globl main; main: pushq $0x00434241; movq %rsp,%rdi; call puts; popq %rdi; ret;
08:29:05 <HackEgo> ABC
08:30:54 <ais523> shachaf: are you omitting the frame pointer there?
08:31:35 <shachaf> You mean the whole push %rbp; mov %rsp,%rbp; business?
08:31:48 <fizzie> oerjan: Next, you can figure out why this doesn't work:
08:31:51 <fizzie> `! asm movq $msg, %rdi; xor %eax, %eax; call printf; jmp skip; msg: .asciz "hello wurld\n"; skip:
08:31:52 <HackEgo> Does not compile.
08:31:54 <fizzie> `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 <HackEgo> hello wurld
08:32:09 <fizzie> Those are exactly the HEAD and TAIL from gcccomp.
08:32:27 <shachaf> fizzie: Wait, is '.globl main; main:' included?
08:32:37 -!- Patashu has joined.
08:32:38 <oerjan> `run rm ibin/perl; cp ibin/c ibin/perl; sed -i 's/ c/ perl/' ibin/perl
08:32:39 <fizzie> shachaf: If it compiles with that; if not, then it's not.
08:32:39 <HackEgo> No output.
08:32:46 <oerjan> `! perl print "hi"
08:32:47 <HackEgo> Does not compile.
08:32:50 <oerjan> eek
08:32:59 <fizzie> 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 <oerjan> oh wait duh
08:33:17 <fizzie> 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 <shachaf> That explains the bizarre behavior I've been seeing.
08:33:35 <fizzie> `! asm pushq $0x00434241; movq %rsp,%rdi; call puts; popq %rdi
08:33:36 <HackEgo> ABC
08:33:36 <oerjan> `run sed -i 's/".*/perl/' ibin/perl
08:33:38 <HackEgo> No output.
08:33:40 <oerjan> `! perl print "hi"
08:33:41 <HackEgo> hi
08:33:51 <oerjan> there you go, no perl also goes via the same system
08:33:54 <oerjan> *now
08:34:03 <fizzie> oerjan: But why doesn't my asm code work. :/
08:34:22 <oerjan> the what
08:34:33 <fizzie> Should I repeat it?
08:34:42 <fizzie> `! asm movq $msg, %rdi; xor %eax, %eax; call printf; jmp skip; msg: .asciz "hello wurld\n"; skip:
08:34:42 <HackEgo> Does not compile.
08:34:43 <oerjan> it printed ABC, is that not what it should?
08:34:49 <fizzie> `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 <HackEgo> hello wurld
08:34:56 <fizzie> That wasn't my code, that was shachaf's.
08:35:04 <oerjan> oh
08:35:38 <shachaf> `! asm movq $msg, %rdi; xor %eax, %eax; call printf; jmp skip; msg: .asciz "hello wurld\\n"; skip:
08:35:39 <HackEgo> hello wurld
08:35:41 <shachaf> hth
08:35:54 <mroman_> `cat ibin/perl
08:35:55 <HackEgo> ​#!/bin/sh \ . lib/interp \ interp_file perl
08:36:01 <fizzie> It's not supposed to expand \n, is it?
08:36:11 <fizzie> Well, maybe it is. Who knows.
08:36:26 <shachaf> A better error message would be helpful.
08:36:29 <fizzie> Does make it easier for C preprocessor, like it is with `runc.
08:36:48 <mroman_> why not xor rax, rax?
08:37:01 <fizzie> Because xor eax, eax is shorter by one byte and does the same thing.
08:37:02 <shachaf> Those are the same, aren't they?
08:37:14 <mroman_> xor eax, eax clears the higher bits too?
08:37:17 <fizzie> mroman_: Yes.
08:37:19 <shachaf> Yes.
08:37:19 <mroman_> wtf
08:37:27 <mroman_> Seriously?
08:37:29 <fizzie> Yes.
08:37:33 <mroman_> That sounds broken
08:37:38 <fizzie> And the assemblers I've used add the (unnecessary) REX prefix if you write "xor rax, rax".
08:37:41 <shachaf> I'll stop answering because fizzie is faster.
08:37:55 <mroman_> xor al, al shouldn't clear the whole eax?
08:38:15 <mroman_> then xor eax, eax shouldn't clear the whole rax too
08:38:16 <shachaf> Yes, but that behavior didn't get extended to 64 bits.
08:38:18 <fizzie> "32-bit operands generate a 32-bit result, zero-extended to a 64-bit result in the
08:38:21 <shachaf> Such is x86.
08:38:21 <fizzie> destination general-purpose register.
08:38:37 <fizzie> "8-bit and 16-bit operands generate an 8-bit or 16-bit result. The upper 56 bits or
08:38:40 <fizzie> 48 bits (respectively) of the destination general-purpose register are not
08:38:42 <fizzie> modified by the operation.
08:38:52 <mroman_> interesting.
08:39:09 <mroman_> there's no eal eah then?
08:39:17 <fizzie> No.
08:39:38 <fizzie> 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 <shachaf> There isn't even ah etc. for -- yes.
08:39:48 <fizzie> You can't do "mov r8b, ah" at all.
08:40:08 <mroman_> what's r8b?
08:40:13 <fizzie> Low byte of r8.
08:40:32 <fizzie> Also known as r8l.
08:40:45 <fizzie> (Intel used r8l .. r15l, AMD used r8b .. r15b.)
08:40:53 <shachaf> If you use that register too much you might get r8-limited.
08:40:53 <mroman_> hm
08:41:06 <mroman_> can you add al, ah on 8086?
08:41:13 <mroman_> ah nvm
08:41:15 <mroman_> sure you can
08:41:21 <fizzie> Yes, and on x86-64 too.
08:41:24 <mroman_> but it won't carry over
08:42:01 <mroman_> I haven't read much about x64
08:42:12 <oerjan> `! unlambda ```.h.\n.ii
08:42:12 <HackEgo> No output.
08:42:14 <mroman_> besides rax, rbp etc. you have r1..r8?
08:42:20 <fizzie> mroman_: r8 .. r15.
08:42:24 <oerjan> `! unlambda ```.h.n.ii
08:42:25 <HackEgo> hni
08:42:38 <oerjan> ok the expansion isn't happening for all interps
08:42:40 <fizzie> mroman_: And r0 .. r7 are aliases for rax, rbx, rcx, rdx, rsi, rdi, rbp, rsp if you want to be consistent.
08:43:14 <mroman_> is there rip?
08:43:14 <fizzie> (Probably not exactly in that order.)
08:43:18 <fizzie> Yes.
08:43:23 <fizzie> You can even finally use it for addressing.
08:43:29 <fizzie> lea rax, [rip+42] and so.
08:43:46 <oerjan> `run ibin/unlambda "```.h.\n.ii"
08:43:47 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching ``' \ bash: -c: line 1: syntax error: unexpected end of file
08:43:50 <fizzie> No more "call next; next: pop rax" business.
08:44:00 <mroman_> so you can load data relative to the ip without using another register
08:44:08 <fizzie> That, too.
08:44:08 <oerjan> `run ibin/unlambda '```.h.'"\n.ii"
08:44:09 <HackEgo> ​./interps/unlambda/unlambda.bin: file /tmp/input.290: parse error
08:44:25 <oerjan> `run ibin/unlambda '```.h.'"n.ii"
08:44:26 <HackEgo> hni
08:44:41 <oerjan> `run echo '```.h.'"\n.ii"
08:44:42 <HackEgo> ​```.h.\n.ii
08:44:48 <shachaf> I was wondering why I thought it was odd that that call was forward rather than backward.
08:44:56 <shachaf> But now I remember that you only do that to avoid 0 bytes.
08:45:00 <mroman_> although storing data in the instruction stream is probably not very good
08:45:27 <fizzie> `! asm leaq msg(%rip), %rdi; call puts; leave; ret; msg: .asciz "foo"
08:45:28 <HackEgo> foo
08:45:38 <oerjan> `! c #include <stdio.h>\nint main() { printf("hm"); }
08:45:39 <HackEgo> No output.
08:45:42 <oerjan> darn
08:45:50 <oerjan> `! c #include <stdio.h>\nint main() { printf("hm"); }; main ()
08:45:50 <HackEgo> No output.
08:46:06 <fizzie> 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 <oerjan> why isn't it working for the one that could actually _use_ it :(
08:46:45 <mroman_> puts uses rdi?
08:46:48 <shachaf> oerjan: #include inside main()?
08:47:02 <fizzie> mroman_: x86-64 sysv calling convention puts arguments mostly in registers, starting from rdi.
08:47:14 <fizzie> The detailed rules are pretty complex, and involve classes.
08:47:32 <fizzie> (The Windows x64 calling convention is a lot simpler. Or at least a little bit simpler.)
08:48:35 <fizzie> 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 <oerjan> shachaf: i thought the #include should prevent it from compiling inside main. oh hm wait CPP doesn't work like that.
08:48:59 <fizzie> 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 <oerjan> oh well
08:49:14 <oerjan> `! underload (te\nst)S
08:49:14 <HackEgo> Error: Unmatched )
08:49:15 <shachaf> Wait, now I'm not sure what you're trying to do.
08:49:21 <oerjan> oh...
08:49:27 <oerjan> `! underload (test)S
08:49:28 <HackEgo> testAttempt to execute unknown command 10
08:49:37 <oerjan> ...sheesh
08:49:49 <oerjan> ok that's one that cannot have a final newline.
08:50:40 <fizzie> 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 <fizzie> `run echo 'double f(double a, double b) { return a + b; }' | gcc -mfpmath=387 -x c - -o - -S -O2 | paste
08:52:40 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.2318
08:53:11 <fizzie> Look at all that wrangling if you ask for x87 math but with ABI-mandated SSE registers for passing floats.
08:54:27 <mroman_> `run echo 'double f(double a, double b) { return a + b; }' | gcc -x c - -o - -S -O3 | paste
08:54:29 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.8444
08:54:36 <fizzie> `run du -hs paste
08:54:37 <HackEgo> 69Mpaste
08:54:43 <fizzie> So much stuff.
08:54:57 <oerjan> hm i think i'll do something else instead.
08:55:34 <ais523> oh wow, does this rule seriously only apply to # followed by formfeed and # followed by vertical tab?
08:55:36 <ais523> I think it does
08:55:39 <mroman_> `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 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.307
08:55:44 <ais523> a new "rule nobody will ever hit by mistake" discovery
08:55:52 <oerjan> `undo 4924
08:55:53 <HackEgo> 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 <fizzie> Heh.
08:56:07 <oerjan> why the fuck isn't `undo working :(
08:56:16 <mroman_> I guess it can't optimise c*x/c away
08:56:19 <mroman_> do to rounding or stuff
08:56:42 <ais523> /dev/stdin:1:2: warning: form feed in preprocessing directive [enabled by default]
08:56:56 <ais523> how do you type a vertical tab anyway?
08:58:06 <oerjan> `run sed '12s/\\n//' lib/interp
08:58:06 <HackEgo> ​#!/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 <oerjan> `run sed -i '12s/\\n//' lib/interp
08:58:24 <HackEgo> No output.
08:59:00 <oerjan> `! perl print "test"
08:59:00 <HackEgo> test
08:59:09 -!- Patashu has quit (Remote host closed the connection).
08:59:20 <ais523> err, anyone know how to write a cast with no identifiers (not even keywords)?
08:59:24 <ais523> or is this another unbreakable rule?
08:59:38 <ais523> oh, I can just use a float constant
08:59:48 <oerjan> `run echo test; echo; echo test
08:59:49 <HackEgo> test \ \ test
09:00:17 <fizzie> ais523: This for the "breaks every rule" program you mentioned?
09:00:18 -!- Patashu has joined.
09:00:43 <oerjan> `run sed -i '3iecho >>"$2"' interps/gcccomp/gcccomp
09:00:44 <HackEgo> No output.
09:01:04 <mroman_> @oeis 1 2 3 4
09:01:19 <ais523> fizzie: yes
09:01:24 <oerjan> `! c printf("test");
09:01:24 <mroman_> @oeis 9,249,17,2,157,116
09:01:25 <HackEgo> test
09:01:26 <ais523> /dev/stdin:1:14: fatal error: //: No such file or directory
09:01:27 -!- AndoDaan has quit (Ping timeout: 245 seconds).
09:01:27 <ais523> compilation terminated.
09:01:29 <ais523> The bug is not reproducible, so it is likely a hardware or OS problem.
09:01:30 <mroman_> hu
09:02:08 <fizzie> oeis.org seems to have trouble searching also.
09:02:12 <ais523> I guess I'm going to have to ban this "#include that doesn't find a file" constraint
09:02:18 <oerjan> `! asm pushq $0x00434241; movq %rsp,%rdi; call puts; popq %rdi
09:02:19 <HackEgo> ABC
09:02:19 <ais523> because it halts the compilation
09:02:24 -!- Sorella has joined.
09:02:27 <oerjan> `! underload (test)S
09:02:27 <HackEgo> test
09:02:48 <oerjan> there, now it doesn't affect anything but the gcccomp interpreters
09:02:57 <ais523> what language is that underload written in?
09:03:04 <lambdabot> Plugin `oeis' failed with: <<timeout>>
09:03:13 -!- Sorella has quit (Changing host).
09:03:13 -!- Sorella has joined.
09:03:27 <fizzie> ais523: C.
09:03:38 <ais523> I remember we used to have all our Underload interps being in esolangs
09:03:45 <ais523> EgoBot's was BF, Fungot's was Befunge
09:03:54 <fizzie> fungot's still is.
09:03:57 <fizzie> ...
09:04:05 <fizzie> Oh, I've probably hit the limit.
09:04:40 <fizzie> ^show
09:04:40 <fungot> 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 <ais523> what limit?
09:04:54 <fizzie> The "only replies four times" one.
09:05:05 <fizzie> 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 <ais523> fungot: reset the limit for fizzie
09:05:18 <fungot> ais523: no no i'm
09:05:29 <fizzie> 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 <fizzie> fungot: You're what?
09:05:45 <fungot> fizzie: and there was too much war coverage on like c._n._n. ' cause it's hard to know
09:06:08 <fizzie> fungot: That's not how you write out abbreviations.
09:06:08 <fungot> fizzie: oh really what type of game you couldn't play jeopardy and
09:06:36 <fizzie> Sounds vaguely insulting.
09:08:18 <ais523> int main(void) { int __VA_ARGS__; }
09:08:25 <ais523> yet another rule that's unlikely to be triggered by mistake
09:08:44 <shachaf> What are you looking for?
09:08:53 <mroman_> `! c int main(void ) { return __VA_ARGS__; }
09:08:54 <HackEgo> Does not compile.
09:10:03 <ais523> shachaf: an error
09:10:24 <ais523> or at least a warning
09:14:37 -!- Sorella has quit (Ping timeout: 260 seconds).
09:20:36 <ais523> OK, I've finished looking through the mandatory warnings
09:22:02 <ais523> 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 <mroman_> `! c typedef a int; a a;
09:31:24 <HackEgo> Does not compile.
09:31:30 <mroman_> `! c typedef a int; a main(){}
09:31:31 <HackEgo> Does not compile.
09:31:36 <mroman_> `! c typedef int a; a main(){}
09:31:37 <HackEgo> No output.
09:31:45 <mroman_> `! c typedef int a; a main(a a){a a;}
09:31:45 <HackEgo> Does not compile.
09:31:54 <mroman_> `! c typedef int a; a main(a i){a a;}
09:31:55 <HackEgo> No output.
09:32:06 <mroman_> `! c typedef int a; a main(a i){a a;puts((a)a);}
09:32:07 <HackEgo> Does not compile.
09:32:14 <mroman_> `! c typedef int a; a main(a i){a a;puts(a);}
09:32:15 <HackEgo> No output.
09:32:25 <mroman_> `! c typedef int a; a main(a i){a a;puts(a);puts("a");}
09:32:26 <HackEgo> No output.
09:32:28 <mroman_> weidr
09:32:39 <mroman_> `! c typedef int a; a main(a i, char* argv){a a;puts(a);puts("a");}
09:32:40 <HackEgo> No output.
09:32:47 <mroman_> `! c typedef int a; a main(){a a;puts(a);puts("a");}
09:32:48 <HackEgo> No output.
09:33:41 <mroman_> `! c typedef int a; a main(){a a;puts("a");}
09:33:42 <HackEgo> No output.
09:34:05 <mroman_> typedef int a; a main(){a a;puts("a");} should actually write a though
09:34:15 <mroman_> puts(a) might segfault
09:34:39 <mroman_> `! c typedef int a; int main(){a a;puts("a");}
09:34:40 <HackEgo> No output.
09:35:53 <oerjan> `! c typedef int a; int main(){a a;puts("a");}; main ()
09:35:54 <HackEgo> a
09:36:05 <mroman_> How do you do do "git log" in svn?
09:36:17 <ion> mroman: with git-svn
09:36:23 <mroman_> "svn log" doesn't really show all the stuff it should
09:36:25 <oerjan> mroman_: it's all wrapped inside main, which is allowed because gcc allows nested functions etc.
09:36:43 <mroman_> `! c main();
09:36:44 <HackEgo> Does not compile.
09:36:45 <oerjan> hm
09:36:55 <mroman_> `! c main()
09:36:55 <HackEgo> Does not compile.
09:37:11 <mroman_> `! c return 1;
09:37:12 <HackEgo> No output.
09:37:14 <mroman_> `! c return main();
09:37:15 <HackEgo> Does not compile.
09:37:26 <mroman_> `! c return main(0,0);
09:37:27 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
09:37:38 <mroman_> wait
09:37:43 <mroman_> this is the compiler segfaulting?
09:37:55 <mroman_> `! c return *(NULL);
09:37:55 <HackEgo> Does not compile.
09:38:02 <mroman_> `! c return *(0);
09:38:03 <HackEgo> Does not compile.
09:38:03 <ion> “Segmentation fault /tmp/compiled.$$”
09:38:24 <mroman_> `! c int a; puts(a);
09:38:25 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
09:38:30 <mroman_> ok. it's the program
09:38:55 <mroman_> `! c return main(0,"");
09:38:56 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
09:39:00 <ais523> mroman_: recursively calling main from main unguarded will overflow the stack
09:39:02 <ais523> that's a segfault
09:39:12 <ais523> !c puts("a"); return main(0, 0);
09:39:19 <ais523> `! c puts("a"); return main(0, 0);
09:39:20 <HackEgo> 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 <mroman_> `! c puts(argv[0]);
09:39:33 <HackEgo> ​/tmp/compiled.299
09:39:45 <mroman_> `! c puts(argv[0]); main(0,"buar");
09:39:45 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
09:39:55 <mroman_> `! c puts(argv[0]); main(1,&"buar");
09:39:55 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
09:40:00 <mroman_> hm
09:40:15 <mroman_> `! c printf("%x", &"buar");
09:40:17 <HackEgo> 4005ec
09:40:33 <mroman_> `! c char**p=&"foo";puts(p[0]);
09:40:33 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
09:40:37 <fizzie> You're just taking the address of the array for &"foo".
09:41:42 <fizzie> `! c puts(argv[0]); main(0, (char*[]){"foo"});
09:41:43 <HackEgo> ​/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 <fizzie> A char ** (like p, or argv) needs an actual char * to point at.
09:43:19 <mroman_> `! c char*p="foo";char**q=&p;puts(q[0]);
09:43:20 <HackEgo> foo
09:43:41 <fizzie> `! c puts(argv[0]); main(argc+1, (char*[]){ (char[]){ 'f', 'o', 'o', '0'+argc } });
09:43:42 <HackEgo> ​/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 <mroman_> `! c char**q=&("foo");puts(q[0]);
09:43:47 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
09:43:52 <mroman_> wtf
09:44:00 <mroman_> if "foo" is char*
09:44:02 <fizzie> &("foo") is no different from &foo.
09:44:06 <mroman_> then &"foo" should be char**
09:44:07 <fizzie> And "foo" is not a char *.
09:44:11 <fizzie> "foo" is a char[3].
09:44:14 <fizzie> Er, char[4].
09:44:20 <mroman_> `! c char**q=&((char*)"foo");puts(q[0]);
09:44:21 <HackEgo> Does not compile.
09:44:22 <fizzie> &foo is a char (*)[4].
09:44:25 <mroman_> `! c char**q=&((char*)"foo");
09:44:26 <HackEgo> Does not compile.
09:44:48 <fizzie> You need an object of type 'char *' for char ** to point at. A string literal is not a pointer to char.
09:45:04 <fizzie> `! c char **q = &(char *){"foo"}; puts(*q); /* if you insist */
09:45:05 <HackEgo> foo
09:45:06 <mroman_> makes sense
09:45:12 <mroman_> `! int* = &6;
09:45:13 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/int*: not found
09:45:17 <mroman_> `! c8 int* = &6;
09:45:17 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/c8: not found
09:45:19 <mroman_> `! c int* = &6;
09:45:20 <HackEgo> Does not compile.
09:45:52 <mroman_> otherwise this would need to be legal too
09:46:04 <fizzie> Not without an identifier.
09:46:28 <mroman_> `! c printf("%x");
09:46:30 <HackEgo> bf883d18
09:46:40 <mroman_> `! c printf("%x%n");
09:46:41 <HackEgo> bfcc7d18
09:47:37 <mroman_> `! c if(printf("%x")<printf("%d"))printf("%s");
09:47:39 <HackEgo> bff29d084195854
09:48:05 <fizzie> There was some talk about %n being removed from the Microsoft C runtime library.
09:48:12 <mroman_> what
09:48:19 <fizzie> 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 <mroman_> How will I do format string exploits then
09:48:58 <fizzie> You have to convince your targets to do _set_printf_count_output.
09:49:12 <mroman_> fizzie: do _set_printf_count_output
09:49:18 <fizzie> Done.
09:49:28 <shachaf> whoa, i completely forgot about https://en.wikipedia.org/wiki/Cuisenaire_rods
09:49:39 <mroman_> k. Prepare to be hax0red
09:50:27 <mroman_> An IRC client doing printf(msg); would be cool
09:51:25 <fizzie> 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 <mroman_> but it had a fizzie command?
09:51:50 <fizzie> There wasn't even a leading ` in the nick.
09:52:32 <fizzie> http://sprunge.us/RIhi so many choices.
09:53:16 <mroman_> !blsq_uptime
09:53:17 <blsqbot> 5d 2h 42m 54s
09:53:27 <mroman_> New record.
09:53:30 <fizzie> `uptime
09:53:30 <HackEgo> ​ 09:53:27 up 0 min, 0 users, load average: 0.00, 0.00, 0.00
09:53:47 <fizzie> The drawbacks of running each command in a separate UML box.
09:53:54 <mroman_> I've also changed the secret passphrase
09:53:57 <mroman_> blsqbot please do quit
09:54:10 <mroman_> doesn't work anymore
09:54:25 <fizzie> blsqbot would you kindly quit
09:54:26 <Lymia> http://postimg.org/image/o2fdfk0cp Spoiler flag is useless. :|
09:54:31 <fizzie> Worth a try, I guess.
09:55:23 <mroman_> You have to nicely ask blsqbot
09:55:57 <mroman_> also I should implement nick recognition
09:56:01 <mroman_> as well as channel recogniton
09:56:07 <mroman_> otherwise people can abuse blsqbot for spam
09:56:38 <blsqbot> Who's spamming here?
09:56:43 <Lymia> blsqbot, pretty please with a cheery on top quit and never show your face again
09:57:01 <blsqbot> Lymia that's not a question.
09:57:34 <mroman_> although blsqbot serves as a neutral part to make neutral complaints about something
09:57:56 <blsqbot> BF Joust sucks.
09:58:45 <blsqbot> {1 4 9 16 25 36 49 64 81 100}
09:58:56 <oerjan> Lymia: you misspelled cherry, that's obviously why
09:59:14 <mroman_> I just copied the IRC bot from haskellwiki
09:59:23 <mroman_> but that bot doesn't have channel recognition
09:59:23 <fizzie> Didn't we have a regular by name of "cheery"?
09:59:46 <oerjan> i don't know, my memory is going...
10:00:27 <HackEgo> [wiki] [[Special:Log/newusers]] create * FerminBazile * New user account
10:00:43 <fizzie> Hm.
10:00:56 <mroman_> lol
10:01:03 <mroman_> the blsqbot terminal is suddenly in blue color
10:01:14 <mroman_> somebody here used escape sequences to make it blue o_O
10:01:57 <oerjan> um HackEgo's wiki announcement ended in blue or maybe cyan
10:02:17 <fizzie> Those are in mIRC colors, though, not in terminal escapes.
10:02:23 <oerjan> hm
10:02:53 <mroman_> can somebody print the escape sequence to turn stuff red?
10:03:03 <Patashu> red text
10:03:37 <mroman_> > putStr "\x1b[30m"
10:03:39 <lambdabot> <IO ()>
10:03:46 <mroman_> > "\x1b[30m"
10:03:47 <lambdabot> "\ESC[30m"
10:03:48 <Patashu> the 'mirc syntax' is an ETX then a 4
10:03:51 <mroman_> hm
10:04:01 <fizzie> [31;1mfoo
10:04:01 <oerjan> `! haskell i don't think this is working...
10:04:02 <HackEgo> ​./interps/ghc/runghc: line 5: /opt/ghc/bin/runhaskell: No such file or directory
10:04:13 <mroman_> fizzie: now it's red
10:04:17 <Patashu> > "\0"
10:04:19 <lambdabot> "\NUL"
10:04:26 <fizzie> That was the regular \x1b[31;1m.
10:04:37 <mroman_> what sort of evil stuff can you do with that o_O
10:04:57 <oerjan> `! c printf("\x1b[31;1mhi\n");
10:04:57 <HackEgo> Does not compile.
10:05:02 <oerjan> bah
10:05:15 <fizzie> I think there are some nasty things that would cause input.
10:05:46 <fizzie> [1J
10:05:54 <fizzie> I wonder if that got filtered out.
10:06:11 <oerjan> `! c printf("\0x1b[31;1mhi\n");
10:06:12 <HackEgo> Does not compile.
10:06:19 <oerjan> `! c printf("\\x1b[31;1mhi\n");
10:06:20 <HackEgo> Does not compile.
10:06:25 <oerjan> `! c printf("\\0x1b[31;1mhi\n");
10:06:26 <HackEgo> Does not compile.
10:06:38 <fizzie> `! c printf("\\0x1b[31;1mhi\\n");
10:06:39 <HackEgo> No output.
10:06:45 <fizzie> That's interesting.
10:06:54 <oerjan> i suppose that's an improvement.
10:06:56 <oerjan> hm
10:07:03 <fizzie> Where did the 0 come from, anyway.
10:07:17 <oerjan> i just tried to find something that worked
10:07:23 <fizzie> `! c printf("\x1b[31;1mhi\\n");
10:07:24 <HackEgo> ​[31;1mhi
10:07:47 <fizzie> Oh, I guess the \\0 was an extra null terminator, of course.
10:08:10 <oerjan> yeah
10:08:12 <fizzie> 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 <mroman_> `! c printf("\x1b[1J\\n");
10:08:16 <HackEgo> ​[1J
10:08:29 <fizzie> CSI 1 J is just the "clear screen".
10:08:36 <mroman_> it worked
10:08:40 <fizzie> Er, erase from start to cursor, that is.
10:09:05 <oerjan> `! c printf("\\x1b[31;1mhi\\n");
10:09:07 <HackEgo> ​[31;1mhi
10:09:12 <mroman_> `! c printf("\x1b[0;6 8;"DIR";13p\\n");
10:09:13 <HackEgo> Does not compile.
10:09:20 <mroman_> `! c printf("\x1b[0;6 8;\"DIR\";13p\\n");
10:09:23 <HackEgo> ​[0;6 8;"DIR";13p
10:09:59 <fizzie> How dangerous it is depends on your terminal emulator: http://marc.info/?l=bugtraq&m=104612710031920
10:11:02 <mroman_> `run echo -e "\ec+ +\n\e]<Code>;/tmp/rhosts\a"
10:11:03 <HackEgo> ​c+ + \ ]<Code>;/tmp/rhosts
10:11:45 <mroman_> `run echo -e "\e]2;This is the new window title\a"
10:11:45 <HackEgo> ​]2;This is the new window title
10:11:54 <mroman_> :D
10:11:55 <zzo38> 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 <mroman_> 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 <mroman_> `run echo -e "\e]2;;touch /tmp/bar;xterm\aPress Enter>\e[8m;"
10:13:27 <HackEgo> ​]2;;touch /tmp/bar;xtermPress Enter>[8m;
10:13:53 <mroman_> hm
10:14:40 <zzo38> 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 <mroman_> `run echo -e "\e[21t"
10:15:06 <HackEgo> ​[21t
10:15:34 <mroman_> whats [21t?
10:16:02 <Patashu> isn't that a terminal code?
10:16:39 -!- boily has joined.
10:16:58 <mroman_> ah
10:17:01 <fizzie> "Report window title", it's supposed to put the title directly to the input buffer as if you had typed it.
10:17:02 <mroman_> it displays the window title
10:17:28 <fizzie> All those "query"-style escapes are quite strange.
10:17:48 -!- oerjan has quit (Quit: leaving).
10:18:50 <mroman_> It placed the window title
10:19:06 <mroman_> but since blsqbot isn't a terminal where you can press enter to execute something
10:19:13 <mroman_> it doesn't do much harm
10:19:48 <fizzie> It might still be on the shell input buffer when you terminate the bot, assuming it doesn't read its stdin.
10:22:15 <fizzie> `echo -e "\e[?1000h"
10:22:15 <HackEgo> ​-e "\e[?1000h"
10:22:19 <fizzie> `run echo -e "\e[?1000h"
10:22:19 <HackEgo> ​[?1000h
10:22:30 <fizzie> That may have put your terminal in one of the mouse-tracking modes.
10:22:48 <fizzie> Where clicking around will cause it to spew out ugly escape sequences.
10:24:55 <zzo38> If you are using PuTTY, you can disable many terminal features
10:26:36 <zzo38> (I am using PuTTY, although the IRC client filters out most control characters anyways, so it doesn't cause a problem.)
10:29:23 <myname> 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 <boily> fungot: good morning fungot.
11:00:47 <fungot> 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 <mroman_> fungot: It did.
11:19:45 <fungot> mroman_: but so anyway like that has nothing but like disney movies on it but you
11:19:49 <mroman_> eh
11:19:52 <mroman_> fizzie: It did.
11:21:35 -!- boily has quit (Quit: UNDERHANDED CHICKEN).
11:22:04 <mroman_> although I'm not whether the culprit is screen or something else
11:22:09 <mroman_> *sure
11:23:16 <fizzie> `run echo -e "\e[?1000l" # let's turn it off anyway.
11:23:17 <HackEgo> ​[?1000l
11:23:57 <fizzie> fungot: Are you pirating Disney movies or something there?
11:23:57 <fungot> fizzie: you can't even p- park on the street and it it
11:29:31 -!- FreeFull has joined.
11:36:42 <mroman_> !blsq 1 2qlg10C!#s
11:36:42 <blsqbot> {NaN NaN NaN NaN NaN NaN NaN NaN -0.36651292058166435 0.6931471805599453 2 1}
11:36:48 <mroman_> !blsq 1 2qlg10!C#s
11:36:49 <blsqbot> {1 2 0.6931471805599453 -0.36651292058166435 NaN NaN NaN NaN NaN NaN NaN NaN}
11:36:58 <mroman_> !blsq 1 2qLG10!C#s
11:36:59 <blsqbot> {1 2 Infinity Infinity NaN NaN NaN NaN NaN NaN NaN NaN}
11:37:05 <mroman_> !blsq 2 2qLG10!C#s
11:37:05 <blsqbot> {2 2 1.0 0.0 -Infinity NaN NaN NaN NaN NaN NaN NaN}
11:37:09 <mroman_> !blsq 2 3qLG10!C#s
11:37:09 <blsqbot> {2 3 1.5849625007211563 0.4192204592547559 -1.8876084101671844 NaN NaN NaN NaN N
11:37:18 <mroman_> !blsq 2 30qLG10!C#s
11:37:19 <blsqbot> {2 30 4.906890595608519 0.46767072968457507 -0.4777891787829274 NaN NaN NaN NaN
11:37:24 <mroman_> !blsq 29 30qLG10!C#s
11:37:24 <blsqbot> {29 30 1.010067886335908 0.002945298865150891 -581.7339748797842 NaN NaN NaN NaN
11:37:35 <mroman_> ic
11:37:46 <mroman_> !blsq 30q?s5!C#s
11:37:47 <blsqbot> {30 5.477225575051661 2.340347319320716 1.5298193747370035 1.2368586720951604 1.
11:38:18 <fizzie> NaN'a'NaN.
11:38:18 <mroman_> > 64*64
11:38:20 <lambdabot> 4096
11:38:25 <mroman_> !blsq 4096q?s5!C#s
11:38:26 <blsqbot> {4096 64.0 8.0 2.8284271247461903 1.6817928305074292 1.2968395546510096}
11:38:42 <mroman_> > 8**2**2**2**2**2
11:38:43 <lambdabot> Infinity
11:38:46 <mroman_> > 8**2**2**2**2
11:38:47 <lambdabot> Infinity
11:38:49 <mroman_> > 8**2**2**2
11:38:51 <lambdabot> 2.81474976710656e14
11:39:14 <mroman_> what's the limes of a(n) = sqrt(a(n-1))?
11:39:15 <mroman_> 1?
11:39:23 <mroman_> !blsq 4096q?s10!C#s
11:39:24 <blsqbot> {4096 64.0 8.0 2.8284271247461903 1.6817928305074292 1.2968395546510096 1.138788
11:39:32 <mroman_> !blsq 4096q?s10!C[-
11:39:32 <blsqbot> 96
11:39:39 <mroman_> !blsq 4096q?s10!C#s[-
11:39:40 <blsqbot> {64.0 8.0 2.8284271247461903 1.6817928305074292 1.2968395546510096 1.13878863475
11:39:43 <mroman_> !blsq 4096q?s10!C#s[~
11:39:43 <blsqbot> 1.0081558981184175
11:39:48 <mroman_> !blsq 4096q?s10000!C#s[~
11:39:49 <blsqbot> Ain't nobody got time fo' dat!
11:39:52 <mroman_> !blsq 4096q?s1000!C#s[~
11:39:52 <blsqbot> 1.0
11:39:56 <mroman_> looks like it.
11:40:33 <fizzie> sqrt(a) for a > 1 is a number that's strictly between 1 and a, so...
11:43:08 <mroman_> !blsq 10 5qcr10!C#s[~
11:43:08 <blsqbot> ERROR: Unknown command: (cr)!
11:43:13 <mroman_> !blsq 10 5qnr10!C#s[~
11:43:13 <blsqbot> 1
11:43:16 <mroman_> !blsq 10 5qnr10!C#s
11:43:16 <blsqbot> {10 5 252 1 252 1 252 1 252 1 252 1}
11:43:22 <mroman_> !blsq 10 9qnr10!C#s
11:43:22 <blsqbot> {10 9 10 1 10 1 10 1 10 1 10 1}
11:43:30 <mroman_> !blsq 9 10qnr10!C#s
11:43:30 <blsqbot> {9 10 1 10 1 10 1 10 1 10 1 10}
11:43:31 <fizzie> Alternatively: sqrt(a) = a^(1/2), so a_n = a_0^(1/2^n) which will approach a_0^0 = 1.
11:43:43 <mroman_> !blsq 9 10{jnr}10!C#s
11:43:43 <blsqbot> {9 10 10 1 1 1 1 1 1 1 1 1}
11:43:48 <mroman_> !blsq 10 5{jnr}10!C#s
11:43:48 <blsqbot> {10 5 1 1 1 1 1 1 1 1 1 1}
11:43:59 <mroman_> !blsq 5 10{jnr}10!C#s
11:44:00 <blsqbot> Ain't nobody got time fo' dat!
11:44:04 <mroman_> ok
11:44:06 <mroman_> !blsq 5 10{jnr}2!C#s
11:44:07 <blsqbot> {5 10 252 237517990691968350}
11:44:10 <mroman_> !blsq 5 10{jnr}3!C#s
11:44:10 <blsqbot> Ain't nobody got time fo' dat!
11:44:13 <mroman_> !blsq 5 10{jnr}2!C#s
11:44:14 <blsqbot> {5 10 252 237517990691968350}
11:45:26 <mroman_> a(n) = nCr(a(n-1),a(n-2))
11:46:15 <mroman_> !blsq 5 10{jnr}3!Cit
11:46:15 <blsqbot> 5
11:46:23 <mroman_> !blsq 5 10{jnr}4!Cit
11:46:24 <blsqbot> 5
11:46:26 <mroman_> !blsq 5 10{jnr}4!Cth
11:46:26 <blsqbot> Ain't nobody got time fo' dat!
11:46:30 <mroman_> !blsq 5 10{jnr}3!Cth
11:46:30 <blsqbot> Ain't nobody got time fo' dat!
11:46:34 <mroman_> why not :(
11:47:23 <mroman_> !blsq 1 3{jnr}2!C#s
11:47:23 <blsqbot> {1 3 3 1}
11:47:27 <mroman_> !blsq 1 3{jnr}3!C#s
11:47:28 <blsqbot> {1 3 3 1 1}
11:47:31 <mroman_> !blsq 2 3{jnr}3!C#s
11:47:31 <blsqbot> {2 3 3 1 1}
11:47:40 <mroman_> !blsq 5 11{jnr}3!C#s
11:47:41 <blsqbot> Ain't nobody got time fo' dat!
11:47:48 <mroman_> Is nr that slow?
11:48:38 <mroman_> ncr n k = product [k+1..n] `div` product [1..n-k]
11:49:07 <mroman_> !blsq 252 10nr
11:49:08 <blsqbot> 237517990691968350
11:49:30 <mroman_> !blsq 237517990691968350 252nr
11:49:30 <blsqbot> Ain't nobody got time fo' dat!
11:50:02 <mroman_> > product [5+1..10] `div` product [1..5]
11:50:04 <lambdabot> 252
11:50:30 <mroman_> @let ncr n k = product [k+1..n] `div` product [1..n-k]
11:50:33 <lambdabot> Defined.
11:50:40 <mroman_> > ncr 10 5
11:50:41 <lambdabot> 252
11:50:53 <mroman_> > ncr 237517990691968350 252
11:50:57 <lambdabot> mueval-core: Time limit exceeded
11:51:27 <mroman_> Not sure if you can do ncr more efficiently
11:51:32 <mroman_> it is a pretty huge number.
11:54:50 <mroman_> elliott_: I've changed my password scheme to using nCr(secret, siteSpecific)
11:56:05 <mroman_> It can easily produce passwords thousands of digits long
11:56:23 <mroman_> > ncr 273 252
11:56:24 <lambdabot> 12832413319490100185605420936128
11:56:40 <mroman_> > 10^32
11:56:42 <lambdabot> 100000000000000000000000000000000
11:57:01 <mroman_> > (10^32) / (96^20)
11:57:03 <lambdabot> 2.2624309808050328e-8
11:57:06 <fizzie> 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 <mroman_> > 273/2
11:58:03 <lambdabot> 136.5
11:58:10 <mroman_> > ncr 274 137
11:58:12 <lambdabot> 1461797917332285816682186571523274129885025550897564128525125778686553583310...
11:58:21 <mroman_> > (ncr 274 137) - (ncr 274 138)
11:58:22 <lambdabot> 1059273853139337548320425051828459514409438804998234875742844767164169263268...
11:58:25 -!- AndoDaan has quit (Ping timeout: 260 seconds).
11:58:29 <mroman_> hm
11:58:37 <mroman_> fizzie: There's a k so that ncr n k is max?
11:58:42 <mroman_> I forgot where it is
11:58:51 <fizzie> It's right there in the middle, I'm pretty sure.
11:58:57 <mroman_> I thought so as well
11:59:05 <mroman_> since there's a symmetry law
11:59:44 <mroman_> it is in the middle.
11:59:50 -!- AndoDaan_ has changed nick to AndoDaan.
12:00:53 <mroman_> !blsq 8 1 7r@nr
12:00:54 <blsqbot> {8 28 56 70 56 28 8}
12:01:07 <mroman_> !blsq 8 1 7r@nr[>
12:01:08 <blsqbot> ERROR: Unknown command: ([>)!
12:01:10 <mroman_> !blsq 8 1 7r@nr>]
12:01:10 <blsqbot> 70
12:01:15 <mroman_> !blsq 8 1 7r@nrJ>]fi
12:01:16 <blsqbot> ERROR: Burlesque: (fi) Invalid arguments!
12:01:18 <mroman_> !blsq 8 1 7r@nrJ>]
12:01:19 <blsqbot> 70
12:01:23 <mroman_> !blsq 8 1 7r@nr>]
12:01:23 <blsqbot> 70
12:01:27 <mroman_> !blsq 8 1 7r@nrJ>]jfi
12:01:27 <blsqbot> ERROR: Burlesque: (fi) Invalid arguments!
12:01:29 <mroman_> really
12:01:30 <mroman_> wth
12:01:39 <mroman_> !blsq 8 1 7r@nrJ>]Fi
12:01:39 <blsqbot> 3
12:01:41 <mroman_> ah
12:01:47 <mroman_> upper-case f
12:02:26 <mroman_> AndoDaan: Some commands btw. automatically map/zip lists
12:02:56 <fizzie> 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 <mroman_> nr and b2 are one of them
12:03:16 <AndoDaan> what is zipping exactly?
12:03:23 <mroman_> Do you know haskell?
12:03:28 <mroman_> It's the same as zip in Haskell
12:03:34 <mroman_> > zip [1,2,3] [4,5,6]
12:03:36 <lambdabot> [(1,4),(2,5),(3,6)]
12:03:36 <AndoDaan> A little
12:03:41 <mroman_> !blsq {1 2 3}{4 5 6}z[
12:03:42 <blsqbot> {{1 4} {2 5} {3 6}}
12:03:52 <mroman_> > zipWith (+) [1,2,3] [4,5,6]
12:03:53 <lambdabot> [5,7,9]
12:04:09 <mroman_> > zipWith (+) [x,y] [z,z]
12:04:10 <lambdabot> [x + z,y + z]
12:04:27 <mroman_> !blsq {1 2 3}{4 5 6}{.+}Z]
12:04:27 <blsqbot> {5 7 9}
12:04:47 <mroman_> You take a value from each of the lists and apply a function to it
12:05:10 <mroman_> What Haskell can't do is
12:05:20 <mroman_> > zipWith (+) [1] [1,2,3,4]
12:05:21 <lambdabot> [2]
12:05:37 <mroman_> !blsq 1{1 2 3 4}?+
12:05:38 <blsqbot> {2 3 4 5}
12:05:50 <fizzie> > (1+) <$> [1,2,3,4]
12:05:52 <lambdabot> [2,3,4,5]
12:06:14 <mroman_> !blsq {1}{1 2 3 4}{.+}Z]
12:06:14 <blsqbot> {2}
12:06:49 <mroman_> ?+ automatically box-cycles and zips
12:06:49 <lambdabot> Maybe you meant: v @ ? .
12:06:56 <mroman_> !blsq 1bc
12:06:56 <blsqbot> Ain't nobody got time fo' dat!
12:07:04 <mroman_> !blsq 1bc{1 2 3 4}?+
12:07:05 <blsqbot> {2 3 4 5}
12:07:13 <myname> what's the difference between <$> and map?
12:07:31 <fizzie> @src <$>
12:07:31 <lambdabot> f <$> a = fmap f a
12:07:46 <mroman_> AndoDaan: Certain commands will check whether you supplied a list/block or not
12:07:49 <myname> so, there is none?
12:07:49 <AndoDaan> !blsq {72 101 108 108 111}{L[}Z[
12:07:50 <blsqbot> That line gave me an error
12:07:51 <lifthrasiir> v?
12:07:53 <mroman_> !blsq {1 2 3 4 5}b2
12:07:53 <blsqbot> {"1" "10" "11" "100" "101"}
12:08:03 <AndoDaan> !blsq {72 101 108 108 111}{L[}m[
12:08:03 <mroman_> ^- b2 checks if it's a list and just maps over the list automatically
12:08:04 <blsqbot> {'H 'e 'l 'l 'o}
12:08:04 <lifthrasiir> ?v
12:08:04 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\"
12:08:07 <fizzie> myname: Well, there is a difference between fmap and map, unless you're only talking about lists.
12:08:14 <lifthrasiir> uh, well. I see.
12:08:25 <mroman_> !blsq {72 101 108 108 111})L[
12:08:26 <blsqbot> {'H 'e 'l 'l 'o}
12:08:27 <myname> fizzie: yeah, sure, but besides that
12:08:38 <mroman_> ) wraps a single command in a map
12:08:44 <mroman_> (as does : for filter)
12:08:54 <AndoDaan> damn that's helpfull
12:08:59 <mroman_> so
12:09:05 <mroman_> {aabb}m[
12:09:07 <mroman_> )aa)bb
12:09:19 <mroman_> it's shorter to do two maps instead of one
12:09:34 <AndoDaan> !blsq {72 101 108 108 111}L[.+
12:09:34 <blsqbot> ERROR: Burlesque: (.+) Invalid arguments!
12:09:51 <AndoDaan> !blsq {72 101 108 108 111}L[wd
12:09:52 <blsqbot> ERROR: Burlesque: ([[) Invalid arguments!
12:09:58 <fizzie> 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 <mroman_> L[ is length for Blocks
12:10:05 <mroman_> !blsq {1 2 3 4}L[
12:10:05 <blsqbot> 4
12:10:28 <mroman_> !blsq {72 101 108 108 111})L[wd
12:10:29 <blsqbot> "H e l l o"
12:10:33 -!- GeekDude has joined.
12:10:46 <AndoDaan> !blsq {72 101 108 108 111})L[wd
12:10:47 <blsqbot> "H e l l o"
12:10:58 <mroman_> !blsq {"abc" "" "def" "" "" "ppp"}:L[
12:10:59 <blsqbot> {"abc" "def" "ppp"}
12:11:09 <AndoDaan> !blsq {72 101 108 108 111})L[wD
12:11:09 <blsqbot> H e l l o
12:11:29 <fizzie> !blsq {72 101 108 108 111})L[)L[
12:11:30 <blsqbot> {'A 'a 'a 'a 'a}
12:11:32 <fizzie> 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 <AndoDaan> !blsq {72 101 108 108 111})L[2enwD
12:11:33 <blsqbot> e l
12:12:02 <AndoDaan> !blsq {72 101 108 108 111})L[nwD2en
12:12:02 <blsqbot> That line gave me an error
12:12:14 <mroman_> fizzie: Historical
12:12:18 <AndoDaan> !blsq {72 101 108 108 111})L[nwd2en
12:12:19 <blsqbot> That line gave me an error
12:12:22 <mroman_> I tried to squish as much functionality into a single command
12:12:24 <AndoDaan> !blsq {72 101 108 108 111})L[nwd2
12:12:24 <blsqbot> ERROR: Unknown command: (d2)!
12:12:45 <mroman_> which looking back wasn't a really good thing to do
12:13:09 <mroman_> what's en?
12:13:12 <mroman_> everyNth?
12:13:35 <mroman_> fizzie: In case I wanted to switch to single byte commands
12:13:56 <mroman_> Which I only could have about 200 commands
12:14:04 <mroman_> but I dropped that
12:14:10 <mroman_> It now has
12:14:14 <mroman_> !blsq ?n
12:14:14 <blsqbot> That line gave me an error
12:14:16 <mroman_> !blsq ?_
12:14:16 <blsqbot> "I have 340 non-special builtins!"
12:14:27 <mroman_> 340 non-special builtins
12:14:41 <mroman_> and some special builtins
12:14:49 <mroman_> !blsq 339?n
12:14:49 <blsqbot> ??
12:14:53 <mroman_> !blsq 338?n
12:14:53 <blsqbot> ?n
12:15:17 <mroman_> AndoDaan: ?n is undocumented btw ;)
12:15:32 <mroman_> 338?n returns the 338th command
12:15:53 <AndoDaan> !blsq 60?n
12:15:53 <blsqbot> ^^
12:16:09 <AndoDaan> ooh exciting
12:16:42 <mroman_> !blsq (^^)
12:16:42 <blsqbot> ^^
12:16:49 <mroman_> ^- in case you didn't know ()
12:16:51 <AndoDaan> !blsq 1?n
12:16:51 <blsqbot> J
12:17:13 <mroman_> (^^) is shorter than "^^"Q
12:17:20 <mroman_> for challenges where you have to exactly print two characters
12:17:29 <AndoDaan> !blsq 20rz{?n}m[
12:17:29 <blsqbot> {j J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == !=}
12:17:46 <myname> wat
12:17:58 <AndoDaan> !blsq 60rz{?n}m[
12:17:58 <blsqbot> {j J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == != <- ln un uN wl WL
12:18:26 -!- nortti has changed nick to hellortti.
12:18:28 <mroman_> fizzie: The most stupid decision was printing strings with ""
12:18:31 <mroman_> !blsq "foo"
12:18:31 <blsqbot> "foo"
12:18:37 <AndoDaan> !blsq 60 100r@{?n}m[
12:18:37 <blsqbot> {^^ vv XX ~[ ~~ ~! !~ r~ R~ ^p p^ =[ sh FF ff Ff SH sH Sh ~= =~ || && $$ L[ ab s
12:18:40 <mroman_> that's why there's un and uN
12:18:40 -!- hellortti has changed nick to nortti.
12:19:02 <mroman_> most common used commands have a version with an implicit sh
12:19:08 <mroman_> !blsq {"ab""cd"}un
12:19:09 <blsqbot> "ab\ncd"
12:19:11 <mroman_> !blsq {"ab""cd"}uN
12:19:11 <blsqbot> ab
12:19:26 <AndoDaan> !blsq 150 100r@{?n}m[
12:19:27 <blsqbot> {}
12:19:33 <AndoDaan> !blsq 100 150r@{?n}m[
12:19:34 <blsqbot> {<> /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 <mroman_> !blsq ((((q))))
12:19:39 <blsqbot> ERROR: (line 1, column 10):
12:19:46 <mroman_> !blsq ((q))
12:19:47 <blsqbot> ERROR: (line 1, column 6):
12:19:48 <mroman_> ok
12:19:51 <AndoDaan> !blsq 150 300r@{?n}m[
12:19:52 <blsqbot> {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 <mroman_> !blsq ((qa))
12:19:54 <blsqbot> ERROR: (line 1, column 7):
12:19:59 <mroman_> !blsq ((la))
12:19:59 <blsqbot> (la)
12:20:04 <mroman_> !blsq (((la)))
12:20:05 <blsqbot> ((la))
12:20:08 <mroman_> :)
12:20:12 <mroman_> !blsq (((la)))bxe!
12:20:12 <blsqbot> (la)
12:20:21 <AndoDaan> !blsq 200 300r@{?n}m[
12:20:22 <blsqbot> {Wl si ro rz nu fl to sr rn RN >m <m gr pi ee pm ch f~ rm nc nd Bc Bp pc pp gc g
12:20:41 <AndoDaan> !blsq 400 500r@{?n}m[
12:20:42 <mroman_> !blsq (ta)to
12:20:42 <blsqbot> That line gave me an error
12:20:42 <blsqbot> "Ident"
12:20:55 <mroman_> !blsq ((ta))to
12:20:56 <blsqbot> "Quoted"
12:21:04 <AndoDaan> !blsq 338 360r@{?n}m[
12:21:05 <blsqbot> That line gave me an error
12:21:10 <mroman_> there are only 340
12:21:18 <fizzie> `forth ." that string print thing is so Forthy!"
12:21:19 <HackEgo> that string print thing is so Forthy!
12:21:22 <AndoDaan> !blsq 338 339r@{?n}m[
12:21:22 <blsqbot> {?n ??}
12:21:35 <AndoDaan> !blsq 316r@{?n}m[
12:21:36 <blsqbot> ERROR: Burlesque: (m[) Invalid arguments!
12:21:44 <AndoDaan> !blsq 316 320r@{?n}m[
12:21:45 <blsqbot> {sm fu ck it th}
12:21:53 <AndoDaan> fu ck it
12:21:56 <mroman_> :)
12:21:58 <mroman_> yeah
12:22:01 <AndoDaan> !blsq 316 321r@{?n}m[
12:22:01 <blsqbot> {sm fu ck it th bs}
12:22:21 <mroman_> !blsq {"abc""efg"}{L[}fuckit
12:22:21 <AndoDaan> I saw your transpose easter egg, btw.
12:22:21 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
12:22:32 <mroman_> !blsq {{"abc"}{"efg"}}{L[}fuckit
12:22:32 <blsqbot> 'g
12:22:52 <AndoDaan> !blsq 321 ?n
12:22:52 <blsqbot> bs
12:22:56 <AndoDaan> !blsq 322 ?n
12:22:57 <blsqbot> BS
12:23:00 <AndoDaan> !blsq 323 ?n
12:23:00 <blsqbot> cn
12:23:01 <mroman_> It's weird that you can unline Blocks without strings
12:23:06 <mroman_> !blsq {1 2 3}un
12:23:06 <blsqbot> "\n12\n3"
12:23:27 <AndoDaan> !blsq {1 2 3}uN
12:23:27 <mroman_> But the result is buggy :D
12:23:27 <blsqbot> Ain't nobody got output fo' that!
12:23:38 <AndoDaan> !blsq {1 2 3}sh
12:23:38 <blsqbot> [1, 2, 3]
12:23:45 <AndoDaan> !blsq {1 2 3}un
12:23:45 <blsqbot> "\n12\n3"
12:23:52 <AndoDaan> !blsq ,{1 2 3}un
12:23:53 <blsqbot> "\n12\n3"
12:24:02 <AndoDaan> !blsq ,{1 2 3}\/un
12:24:03 <blsqbot> ERROR: Burlesque: (\[) Invalid arguments!
12:24:16 <AndoDaan> !blsq ,{1 2 3}^^[-un
12:24:16 <blsqbot> "\n23"
12:24:23 <AndoDaan> !blsq ,{1 2 3}^^-]un
12:24:24 <blsqbot> ERROR: Burlesque: (\[) Invalid arguments!
12:24:45 <mroman_> !blsq {1 2}un
12:24:46 <blsqbot> "\n12"
12:24:49 <mroman_> weird
12:25:16 <AndoDaan> !blsq {2 3}un
12:25:16 <mroman_> !blsq #Qhithere.
12:25:16 <blsqbot> "\n23"
12:25:16 <blsqbot> ERROR: Unknown command: (e.)!
12:25:26 <mroman_> !blsq #qhithere.
12:25:27 <blsqbot> ERROR: Unknown command: (e.)!
12:25:32 <mroman_> !blsq #q5
12:25:33 <blsqbot> 5
12:25:49 <mroman_> !blsq #q5 5#s
12:25:50 <blsqbot> {5 5}
12:25:53 <AndoDaan> !blsq {2 3}57?n
12:25:53 <blsqbot> m[
12:26:10 <AndoDaan> !blsq {2 3}55?n
12:26:10 <blsqbot> \m
12:26:11 <mroman_> (blsqbot only prints the first line)
12:27:21 <AndoDaan> !blsq {2 3} 150?n
12:27:21 <blsqbot> sb
12:30:33 <mroman_> good ol' sortBy
12:30:59 <mroman_> !blsq {"abc""d""fegh"}(L[)cmsb
12:30:59 <blsqbot> ERROR: Burlesque: (sb) Invalid arguments!
12:31:03 <mroman_> !blsq {"abc""d""fegh"}(L[)Cmsb
12:31:03 <blsqbot> ERROR: Burlesque: (sb) Invalid arguments!
12:31:05 <mroman_> !blsq {"abc""d""fegh"}(L[)CMsb
12:31:06 <blsqbot> {"d" "abc" "fegh"}
12:31:14 <mroman_> I can never remember which version of compare to use
12:31:34 <mroman_> !blsq {"abc""d""fegh"}{L[}Cmsb
12:31:35 <blsqbot> {"d" "abc" "fegh"}
12:31:57 <mroman_> > sortBy (comparing length) ["abc","d","fegh"]
12:31:58 <lambdabot> ["d","abc","fegh"]
12:32:27 <mroman_> Burlesque maps nicely to haskell :)
12:32:49 <mroman_> almost as if it were a stack-based haskell or something
12:33:14 <mroman_> !blsq {"abc""d""fegh"}{L[}Cmsbsh
12:33:15 <blsqbot> ["d", "abc", "fegh"]
12:34:30 <mroman_> AndoDaan: You can also write fuckshit or something like that
12:35:09 <AndoDaan> !blsq fuckshit
12:35:09 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
12:35:22 <AndoDaan> !blsq "fuckshit"fuckshit
12:35:22 <blsqbot> ERROR: Burlsque: (n!) Invalid arguments!
12:35:37 <mroman_> ck is n!n!
12:35:38 <AndoDaan> 5n!
12:35:52 <mroman_> !blsq 5n!
12:35:53 <blsqbot> 0
12:35:54 <mroman_> !blsq 5n!n!
12:35:55 <blsqbot> 1
12:36:00 <AndoDaan> !blsq 5n!
12:36:00 <blsqbot> 0
12:36:12 <AndoDaan> !blsq 6n!5n!
12:36:13 <blsqbot> 0
12:36:36 <AndoDaan> !blsq -1n!
12:36:37 <blsqbot> 0
12:36:38 <mroman_> ck also returns the most common element of the most common block in a block
12:36:56 <mroman_> !blsq {{1 2 2 3}{1 2 2 3}{1 2 3}{1 4 4}}ck
12:36:57 <blsqbot> 2
12:38:16 <mroman_> !blsq 20q?nGO
12:38:17 <blsqbot> {J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == !=}
12:38:18 <mroman_> btw ;)
12:38:38 <mroman_> !blsq 20rz)?N
12:38:38 <blsqbot> {ERROR: Unknown command: (?N)! 0 ERROR: Unknown command: (?N)! 1 ERROR: Unknown
12:38:41 <mroman_> !blsq 20rz)?n
12:38:42 <blsqbot> {j J .+ _+ .- ./ .* .% +. -. .> .< >. <. >] <] ** r_ R_ == !=}
12:38:50 <AndoDaan> !blsq 20q?n
12:38:50 <blsqbot> {?n}
12:39:02 <mroman_> q just wraps the next "Token" in a Block
12:39:05 <mroman_> !blsq q9
12:39:05 <blsqbot> {9}
12:39:07 <mroman_> !blsq q'a
12:39:07 <blsqbot> {'a}
12:39:09 <mroman_> !blsq qq0
12:39:10 <blsqbot> {{0}}
12:39:13 <mroman_> !blsq qqqqqqqqqqqq0
12:39:13 <blsqbot> {{{{{{{{{{{{0}}}}}}}}}}}}
12:39:15 <AndoDaan> ah
12:39:27 <AndoDaan> !blsq 20?N
12:39:27 <blsqbot> ERROR: Unknown command: (?N)!
12:39:30 <AndoDaan> !blsq ?N
12:39:31 <blsqbot> ERROR: Unknown command: (?N)!
12:39:31 <mroman_> however, unlike jJQ q is on the syntax level
12:39:41 <mroman_> jJQ:)@ etc. are on eval level
12:39:51 <mroman_> !blsq @5
12:39:51 <blsqbot> 5.0
12:39:58 <mroman_> !blsq {@5}
12:39:59 <blsqbot> {@ 5}
12:39:59 -!- Patashu has quit (Ping timeout: 272 seconds).
12:40:02 <mroman_> ^- see
12:40:08 <mroman_> {@5} isn't actually 5.0
12:40:25 <mroman_> which is kinda dumb :(
12:40:39 <AndoDaan> I hope I'll retain some of this info.
12:40:43 <mroman_> !blsq {0}{@5}m[
12:40:43 <blsqbot> {5.0 0}
12:40:51 <mroman_> ^- but it will be turned into 5.0 eventually
12:41:06 <mroman_> !blsq {q5}
12:41:06 <blsqbot> {{5}}
12:41:12 <mroman_> ^- q is on the syntax level
12:41:26 <mroman_> !blsq (q)
12:41:27 <blsqbot> ERROR: (line 1, column 4):
12:41:42 <mroman_> also () doesn't work with single character commands apparentely o_O
12:41:49 <mroman_> !blsq (j)
12:41:50 <blsqbot> j
12:41:53 <mroman_> nvm. it does
12:42:07 <mroman_> !blsq @ @ @#s
12:42:07 <blsqbot> 's
12:42:13 <mroman_> !blsq @ @
12:42:13 <blsqbot> @
12:42:30 <mroman_> !blsq {az}@+]
12:42:31 <blsqbot> ']
12:42:35 <mroman_> !blsq {az}@ +]
12:42:35 <blsqbot> ']
12:42:37 <mroman_> damn
12:42:44 <mroman_> !blsq {az}(@)+]
12:42:45 <blsqbot> {@ az}
12:42:48 <mroman_> !blsq {az}(@)+]e!
12:42:49 <blsqbot> 'z
12:42:52 <mroman_> !blsq {az}(@)+]e!#s
12:42:52 <blsqbot> {'z 'a}
12:42:56 <AndoDaan> I did notice that Q and J and j don't work when running --shell
12:43:05 <mroman_> hu?
12:43:32 <AndoDaan> I test my code in the shell
12:43:35 <mroman_> blsq ) 1 2j
12:43:35 <mroman_> 1
12:43:35 <mroman_> 2
12:43:42 <AndoDaan> so burlesque --shell
12:43:44 <mroman_> ^- they work on my computer
12:44:20 <mroman_> (also what happens when you run ?? in the shell?)
12:44:26 <AndoDaan> ah well, it's only minor
12:44:49 <AndoDaan> argh, 1.7.2b
12:44:51 <mroman_> yeah
12:44:52 <AndoDaan> sorry
12:44:56 <mroman_> you don't have the latest version then :)
12:45:03 <AndoDaan> I thought I had it updated.
12:45:27 <AndoDaan> but better like this I guess. Keeps to what anarchy golf is running.
12:45:38 <mroman_> anagol is running 1.7.3
12:45:49 <AndoDaan> well, fu ck it
12:48:12 <AndoDaan> okay, updating now.
12:48:19 <mroman_> !blsq "Hello"{**}mp
12:48:20 <blsqbot> 9415087488
12:48:33 <mroman_> !blsq "Hello")**pd
12:48:34 <blsqbot> 9415087488
12:48:54 <mroman_> I guess those map variations are mostly useless since the introduction of )
12:49:37 <mroman_> ps deepmaps?
12:49:38 <mroman_> o_O
12:49:43 <mroman_> !blsq {"5 6" "7 8"}ps
12:49:43 <blsqbot> {{5 6} {7 8}}
12:49:51 <mroman_> interesting
12:50:05 <mroman_> !blsq "5 6\n7 8"lnpssp
12:50:05 <blsqbot> 5 6
12:50:09 <mroman_> !blsq "5 6\n7 8"lnpsSP
12:50:09 <blsqbot> "5 6\n7 8"
12:50:23 <mroman_> ok probably not so interesting
12:50:37 <mroman_> !blsq "5 6\n7 8"lnpe
12:50:38 <blsqbot> {7 8}
12:50:41 <mroman_> !blsq "5 6\n7 8"lnpe#s
12:50:41 <blsqbot> {{7 8} {5 6}}
12:50:51 <mroman_> unless you need this ^
12:51:30 <mroman_> !blsq {1 7 8 6 2 0 1}{5.>}pt
12:51:30 <blsqbot> {{7 8 6} {1 2 0 1}}
12:52:05 <mroman_> !blsq "5.0"td
12:52:06 <blsqbot> 5.0
12:52:09 <mroman_> !blsq "5.0"tdtd
12:52:10 <blsqbot> 5.0
12:52:14 <mroman_> !blsq 5.0pd
12:52:15 <blsqbot> 5
12:52:16 <mroman_> !blsq 5.0pdpd
12:52:16 <blsqbot> 5.0
12:52:24 <mroman_> !blsq 5td
12:52:24 <blsqbot> 5.0
12:52:32 <mroman_> !blsq tp
12:52:33 <blsqbot> ERROR: You should not transpose what you can't transpose. Yes this is an eastere
12:52:41 <mroman_> ^- AndoDaan ;)
12:53:38 <mroman_> !blsq "hi9there""[[:digit:]]"sr
12:53:39 <blsqbot> {"[[:digit:]]"}
12:53:46 <mroman_> hm
12:53:48 <mroman_> !blsq "hi9there""[[:digit:]]"jsr
12:53:49 <blsqbot> {"hi" "there"}
12:54:42 -!- S1 has joined.
12:54:46 <mroman_> !blsq "fuckyou."ps
12:54:46 <blsqbot> {fu ck yo u.}
12:55:11 <mroman_> !blsq "fuckyou."pswd
12:55:11 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
12:55:16 <mroman_> !blsq "fuckyou."psWd
12:55:16 <blsqbot> ERROR: Unknown command: (Wd)!
12:55:18 <mroman_> !blsq "fuckyou."psWD
12:55:19 <blsqbot> ERROR: Burlesque: (WD) Invalid arguments!
12:55:22 <mroman_> damn
12:55:30 <S1> what are you trying to do?
12:55:45 <mroman_> I hate that unlines/words don't auto-convert to string
12:55:59 <mroman_> I will fix that in 1.7.4
12:56:03 <mroman_> so that
12:56:06 <mroman_> !blsq {1 2 3}un
12:56:07 <blsqbot> "\n12\n3"
12:56:10 <mroman_> actually works
12:56:39 <mroman_> although for full backwards compatability this will probably be a new command
12:56:40 <S1> what does blsq stand for?
12:56:46 <mroman_> `? blsq
12:56:46 <HackEgo> blsq? ¯\(°​_o)/¯
12:56:54 <mroman_> `learn blsq (see burlesque)
12:56:55 <HackEgo> I knew that.
12:56:58 <mroman_> `? burlesque
12:56:59 <HackEgo> burlesque is only the sexiest language on earth.
12:57:09 <AndoDaan> lol I updated my copy to 1.6.9
12:57:25 <mroman_> `learn_append burlesque (see: http://mroman.ch/burlesque)
12:57:27 <HackEgo> I knew that.
12:57:30 <mroman_> `? burlesque
12:57:30 <HackEgo> burlesque is only the sexiest language on earth. \ (see: http://mroman.ch/burlesque)
12:57:42 <mroman_> AndoDaan: lol
12:57:48 <mroman_> 1.6.9 is pretty old :)
12:58:08 <AndoDaan> it is
12:58:10 <mroman_> more than 2 years
12:58:23 <AndoDaan> I used the 'ghc --make main.hs -o burlesque -O3 -fforce-recomp"
12:58:38 <AndoDaan> oh wait.
12:58:41 <AndoDaan> man...
12:58:44 <mroman_> hm?
12:59:04 <mroman_> 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 <AndoDaan> --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 <myndzi> any of you dudes familiar with bacon.js?
14:29:24 <myndzi> or FRP in general, more likely
14:31:08 <GeekDude> mmmm, delicious bacon
14:31:36 <myndzi> baconexplosion.js :V
14:31:49 <GeekDude> 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 <elliott_> myndzi: no, but yes
14:41:06 <elliott_> 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 <mroman_> !blsq {1}es
14:41:09 <blsqbot> {1}
14:41:13 <mroman_> !blsq {}es
14:41:13 <blsqbot> ""
14:41:16 <mroman_> interesting
14:42:01 <GeekDude> HTCPCP ERROR 418
14:43:33 <myndzi> 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 <myndzi> the js FRP libraries don't seem to have much irc presence :(
14:44:38 <myndzi> 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 <myndzi> 'properties' in baconjs seems to suit, but i don't want to get a stream output for every property that changes
14:45:37 <myndzi> some googling just stumbled me into 'sampledby', maybe that's near what i'm looking for
14:46:00 <myndzi> or maybe something like rxjs's 'schedulers'
14:50:28 <myndzi> "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 <myndzi> ...wow
14:51:48 <Bike> why the hell is it called bacon?
14:52:51 <quintopia> because bacon is delicious
14:54:28 <SvenGek> prolly to add to the appeal
14:56:00 <myndzi> 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 <J_Arcane> 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 <Jafet> Because bacon is a fruit, of course
15:03:16 <J_Arcane> 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 <myndzi> i think i may have found some useful examples in the gaming concept-space
15:05:18 <myndzi> this is kind of sexy
15:05:29 <myndzi> http://baconjs.github.io/api.html#bacon-combinetemplate
15:05:44 <myndzi> 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 <myndzi> 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 <password2> 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> `? Taneb
18:12:08 <HackEgo> 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 <Taneb> Disclaimer: I probably have less than 5 genders
18:12:58 <Taneb> But my two keyboards are reunited!
18:13:35 <Bike> http://en.cppreference.com/w/cpp/language/user_literal C++ is more incredible the more i inadvertently learn about it
18:15:44 <elliott_> TANEB HAS 5 CORNER SIMULTANEOUS 5-GENDER IDENTITY CUBE IN ONLY 24 HOUR ROTATION
18:16:13 <Taneb> :)
18:17:57 <Bike> also can i just not use c11 things, this is dumb
18:18:32 <elliott_> Taneb: how often do you rotate?
18:21:03 <Taneb> Roughly daily
18:25:09 <mroman_> `? fizzie
18:25:10 <HackEgo> 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 <mroman_> Is it allowed to edit someone's user-wisdom?
18:26:40 <mroman_> BrainFlow is an extension of BrainFuck with 3 additional commands for added functionality and confusion:
18:26:45 <mroman_> "confusion"?
18:26:49 <mroman_> What's confusing about that
18:27:23 <mroman_> has anybody actually considered extending BF Joust by some BF derivative with more functionality?
18:29:39 <mroman_> Why would somebody make a BF derivative not using ASCII?
18:31:04 <mroman_> User:ChiSHAXtjo I smell spam
18:31:11 <mroman_> fungot: Do you smell spam?
18:31:11 <fungot> mroman_: they're just getting the treadmill in for me i
18:31:22 <mroman_> fungot: Are you trying to do more sports?
18:31:22 <fungot> 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 <HackEgo> [wiki] [[Special:Log/newusers]] create * DTSCode * New user account
19:11:02 <mroman_> {'i ?i 'd ?d 's S[}
19:11:05 <mroman_> !blsq 9S[
19:11:06 <blsqbot> 81
19:11:37 <mroman_> !blsq "iis"{{'i 'd 's}jFi}
19:11:37 <blsqbot> {{'i 'd 's} j Fi}
19:11:41 <mroman_> !blsq "iis"{{'i 'd 's}jFi}m[
19:11:41 <blsqbot> {0 0 2}
19:11:51 <Bicyclidine> so what's the best error handling regime, in general
19:12:00 <mroman_> !blsq "iis"{?i ?d ?s}j{{'i 'd 's}jFi}m[si
19:12:00 <Bicyclidine> obviously a reasonable, easily answered question
19:12:01 <blsqbot> {?i ?i ?s}
19:12:07 <mroman_> !blsq "iis"{?i ?d ?s}j{{'i 'd 's}jFi}m[si0je!
19:12:08 <blsqbot> 1.4142135623730951
19:12:11 <mroman_> oh
19:12:13 <mroman_> that's sqrt
19:12:20 <mroman_> !blsq "iis"{?i ?d S[}j{{'i 'd 's}jFi}m[si0je!
19:12:20 <blsqbot> 4
19:12:42 <mroman_> !blsq "iisdsii"{?i ?d S[}j{{'i 'd 's}jFi}m[si0je!
19:12:43 <blsqbot> 11
19:12:48 <mroman_> not fully compliant though
19:13:05 <mroman_> it performs modulo iff x=256 right?
19:13:12 <mroman_> oh. and -1
19:13:14 <Bicyclidine> does anybody but you understand this language? it looks like hayes commands
19:13:36 <mroman_> !blsq {-1==}{256==}m|
19:13:36 <blsqbot> 0
19:13:40 <mroman_> !blsq -1{-1==}{256==}m|
19:13:41 <blsqbot> 1
19:13:55 <mroman_> !blsq 5{-1==}{256==}m|{256.%}if
19:13:56 <blsqbot> No output!
19:14:00 <mroman_> !blsq 5J{-1==}{256==}m|{256.%}if
19:14:00 <blsqbot> 5
19:14:04 <mroman_> !blsq 256J{-1==}{256==}m|{256.%}if
19:14:05 <blsqbot> 0
19:14:31 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}[[
19:14:32 <blsqbot> {J {?i ?d} {-1 ==} {?i ?d} {256 ==} {?i ?d} m| {?i ?d} {256 .%} {?i ?d} if}
19:14:43 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}ic
19:14:43 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
19:14:47 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}IC
19:14:48 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
19:14:51 <mroman_> fuuu
19:14:54 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}bxIC
19:14:54 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
19:14:57 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}
19:14:57 <blsqbot> {J {-1 ==} {256 ==} m| {256 .%} if}
19:15:03 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}[[
19:15:04 <blsqbot> {J {?i ?d} {-1 ==} {?i ?d} {256 ==} {?i ?d} m| {?i ?d} {256 .%} {?i ?d} if}
19:15:14 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}j[[
19:15:15 <blsqbot> {?i {J {-1 ==} {256 ==} m| {256 .%} if} ?d}
19:15:18 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}jic
19:15:19 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
19:15:20 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}jIC
19:15:21 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
19:15:25 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}j[[\[
19:15:26 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
19:15:29 <mroman_> !blsq {?i ?d}{J{-1==}{256==}m|{256.%}if}j[[
19:15:30 <blsqbot> {?i {J {-1 ==} {256 ==} m| {256 .%} if} ?d}
19:15:59 <mroman_> !blsq {?i ?d})bx{J{-1==}{256==}m|{256.%}if}jIC
19:15:59 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
19:16:02 <mroman_> !blsq {?i ?d})bx{J{-1==}{256==}m|{256.%}if}ic
19:16:03 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
19:16:04 <mroman_> !blsq {?i ?d})bx{J{-1==}{256==}m|{256.%}if}IC
19:16:05 <blsqbot> {?i J {-1 ==} {256 ==} m| {256 .%} if ?d}
19:16:08 <mroman_> ah
19:16:10 -!- Sprocklem_ has joined.
19:16:11 <mroman_> now we're talking
19:16:40 -!- Sprocklem_ has changed nick to Sprocklem.
19:16:47 <mroman_> !blsq "d"{?i ?d ?s}j{{'i 'd 's}jFi}m[sibx{J{-1==}{256==}m|{256.%}if}IC0je!
19:16:47 <blsqbot> -1
19:16:50 <mroman_> fuck
19:17:02 <mroman_> !blsq "d"{?i ?d ?s}j{{'i 'd 's}jFi}m[sibx{J{-1==}{256==}m|{256.%}if}IC
19:17:03 <blsqbot> {?d}
19:17:13 <mroman_> !blsq "dd"{?i ?d ?s}j{{'i 'd 's}jFi}m[sibx{J{-1==}{256==}m|{256.%}if}IC
19:17:13 <blsqbot> {?d ?d}
19:17:19 <mroman_> why isn't it intercalating stuff
19:17:39 <mroman_> !blsq "dd"{?i ?d ?s}j{{'i 'd 's}jFi}m[si)bx{J{-1==}{256==}m|{256.%}if}IC
19:17:40 <blsqbot> {?d J {-1 ==} {256 ==} m| {256 .%} if ?d}
19:17:45 <mroman_> !blsq "dd"{?i ?d ?s}j{{'i 'd 's}jFi}m[si)bx{J{-1==}{256==}m|{256.%}if}IC0je!
19:17:46 <blsqbot> 254
19:17:49 <mroman_> ah
19:17:49 <mroman_> hehe
19:17:52 -!- AndoDaan has quit (Ping timeout: 240 seconds).
19:18:08 <mroman_> Bicyclidine: Of course
19:18:13 <mroman_> me and AndoDaan
19:18:22 <mroman_> and some guys on golf.shinh.org
19:18:52 <Bicyclidine> coo
19:18:57 <GeekDude> http://regex.alf.nu/
19:19:04 <GeekDude> "Sorry, crashy today. Need to find an actual server."
19:19:23 <Bicyclidine> clearly they've been compromised by shellbleed
19:19:34 <GeekDude> :O
19:19:52 <GeekDude> I hear there's a notorious hacker named "4chan" going around
19:19:56 <GeekDude> I hope it wasn't them
19:20:08 <mroman_> now for the 'o'
19:20:25 <mroman_> !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 <blsqbot> 254
19:20:37 <mroman_> !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 <blsqbot> 15.937377450509228
19:20:47 <mroman_> !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 <blsqbot> 64516
19:21:16 <mroman_> > 254*254
19:21:18 <lambdabot> 64516
19:21:24 <GeekDude> > 6
19:21:24 <mroman_> !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 <blsqbot> {64516 64516 254 255}
19:21:25 <lambdabot> 6
19:21:27 <mroman_> there
19:21:28 <mroman_> it works
19:21:34 <GeekDude> > "6"
19:21:36 <lambdabot> "6"
19:21:50 <GeekDude> > 34567890987654**87654567
19:21:51 <lambdabot> Infinity
19:21:54 <GeekDude> :o
19:22:50 <HackEgo> [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=40562&oldid=39867 * 81.62.136.104 * (+109) + Burlesque
19:23:09 <mroman_> Bicyclidine: The problem is that syntactically Burlesque is really easy
19:23:12 <mroman_> {} is a block
19:23:14 <mroman_> (a List)
19:23:18 <mroman_> {1 2 3} and that stuff
19:23:34 <mroman_> 'a is a character, "a" is a string, 5 is an integer and 5.0 is a double
19:23:44 <mroman_> commands are two characters long
19:23:51 <mroman_> ) is a prefix that maps a command over a list
19:23:55 <mroman_> !blsq {1 2 3 4})?i
19:23:56 <blsqbot> {2 3 4 5}
19:23:57 <mroman_> !blsq {1 2 3 4})?d
19:23:58 <blsqbot> {0 1 2 3}
19:24:01 <mroman_> !blsq {1 2 3 4})S[
19:24:02 <blsqbot> {1 4 9 16}
19:24:15 <mroman_> ?i is increment, ?d is decrement and S[
19:24:15 <lambdabot> Maybe you meant: id ignore index instances instances-importing irc-connect irc-password v @ ? .
19:24:18 <mroman_> I don't know what S[ is
19:24:23 <mroman_> but it's square for integers at least
19:24:51 <mroman_> !blsq "0001229"'0S[
19:24:51 <blsqbot> "1229"
19:24:55 <mroman_> it's StripLeft
19:24:59 <mroman_> for strings
19:25:10 <mroman_> !blsq {1 1 2 3}1S[
19:25:11 <blsqbot> {2 3}
19:25:14 <mroman_> and lists
19:25:49 <mroman_> Bicyclidine: since most stuff is encoded as commands
19:25:57 <mroman_> to make sense of a Burlesque-Program you need to know the
19:26:00 <mroman_> !blsq ?_
19:26:00 <blsqbot> "I have 340 non-special builtins!"
19:26:03 <mroman_> 340 builtins
19:26:22 <mroman_> which most of them have multiple uses depending on the arguments
19:26:29 <mroman_> so you need to know about 700 things commands do
19:26:33 <mroman_> it's just as easy as that
19:26:51 <Bicyclidine> great.
19:27:04 <mroman_> !blsq "abc def"wd
19:27:04 <blsqbot> {"abc" "def"}
19:27:06 <mroman_> ^- words
19:27:11 <mroman_> !blsq "abc def"wdwd
19:27:11 <blsqbot> "abc def"
19:27:15 <mroman_> but wd is also unwords
19:27:27 <mroman_> !blsq "abc"**
19:27:27 <blsqbot> ERROR: Burlesque: (**) Invalid arguments!
19:27:31 <mroman_> lol
19:27:37 <mroman_> what's ** again
19:27:38 <mroman_> a merge
19:27:43 <mroman_> !blsq "abc""def"**
19:27:44 <blsqbot> "adbecf"
19:27:48 <mroman_> !blsq 'a**
19:27:49 <blsqbot> 97
19:28:18 <mroman_> !blsq "bicyclidine"su
19:28:19 <blsqbot> {"b" "c" "d" "e" "i" "l" "n" "y" "bi" "cl" "cy" "di" "ic" "id" "in" "li" "ne" "y
19:28:28 <mroman_> !blsq "bars"su
19:28:28 <blsqbot> {"a" "b" "r" "s" "ar" "ba" "rs" "ars" "bar" "bars"}
19:28:58 <mroman_> !blsq "barabarsa"su"barslala"suIN
19:28:58 <blsqbot> {"a" "b" "r" "s" "ar" "ba" "rs" "ars" "bar" "bars"}
19:29:11 <mroman_> !blsq "blarabarsa"su"barslala"suIN
19:29:12 <blsqbot> {"a" "b" "l" "r" "s" "ar" "ba" "la" "rs" "ars" "bar" "bars"}
19:29:27 <mroman_> !blsq "blarabarsa"su"barslala"suIN(L[)>m
19:29:27 <blsqbot> ERROR: Burlesque: (-]) Invalid arguments!
19:29:29 <mroman_> what
19:29:37 <mroman_> !blsq "blarabarsa"su"barslala"suIN{L[}>m
19:29:37 <blsqbot> "bars"
19:29:41 <mroman_> right
19:29:42 <mroman_> there you go
19:29:47 <mroman_> longest common substring
19:30:59 <mroman_> !blsq {1 2 3}m]
19:30:59 <blsqbot> {"1" "2" "3"}
19:31:08 <mroman_> !blsq {1 2 3})Sh
19:31:09 <blsqbot> {"1" "2" "3"}
19:31:15 <mroman_> hm neat
19:31:29 <mroman_> Bicyclidine: Also you need to know sideffects
19:31:37 <mroman_> because commands are sometimes implemented using different commands
19:31:45 <mroman_> !blsq 3mo10.+
19:31:46 <blsqbot> {3 6 9 12 15 18 21 24 27 30}
19:31:50 <mroman_> ^- mo is multiplesOf
19:31:56 <mroman_> it's defined using some other commands
19:32:00 <mroman_> which means
19:32:04 <mroman_> !blsq {1 2 3 4}mo
19:32:04 <blsqbot> {1 4 9 16}
19:32:09 <mroman_> ^- this is undocumented
19:32:23 <mroman_> but it's a sideffect due to sideffects of commands it is implemented in
19:32:34 <mroman_> so it happens to be shorter than
19:32:40 <mroman_> !blsq {1 2 3 4})S[
19:32:40 <blsqbot> {1 4 9 16}
19:32:54 <mroman_> it was just recently discovered by me that mo can square a list
19:32:58 <mroman_> and it's been there for years
19:33:55 <mroman_> !blsq {1 2 3 4 5}4{3 4}pm
19:33:56 <blsqbot> {1 2 3 4 5}
19:34:00 <mroman_> hu
19:34:13 <mroman_> !blsq {1 2 3 4 5}4.+
19:34:14 <blsqbot> {1 2 3 4}
19:34:27 <mroman_> !blsq {7 7 1 2 3 4}{1 2 3 4 5}4pm
19:34:28 <blsqbot> {7 7}
19:34:55 <mroman_> also it can do Fibonacci better than golfscript2
19:34:57 -!- Bicyclidine has quit (Ping timeout: 246 seconds).
19:35:21 <mroman_> namely 9 bytes
19:35:40 <mroman_> !blsq 1Jq.+10C!
19:35:40 <blsqbot> 144
19:37:01 <mroman_> btw: Does anybode know whether there's an established term for C!
19:37:07 <mroman_> I just call it continuation
19:37:26 <mroman_> it performs operations without destroying the arguments to the it
19:37:37 <mroman_> kinda like
19:38:23 <mroman_> i.e. there's add := pop a, pop b, push a+b
19:38:47 <mroman_> 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 <mroman_> AndoDaan: you just missed the 10B solution for Fibonacci Numbers ;)
19:41:32 <AndoDaan> eventhough you wrote it, I'm still impress by how you handle burlesque
19:41:47 -!- conehead_ has joined.
19:41:48 <mroman_> what's that supposed to mean o_O?
19:44:44 <mroman_> You mean unlike zzo38 I actually take the time to document it ;)?
19:45:08 -!- AndoDaan_ has joined.
19:45:10 <AndoDaan_> Damn lousy internet connection.
19:45:18 <mroman_> 21:41 < mroman_> what's that supposed to mean o_O?
19:45:18 <mroman_> 21:44 < mroman_> You mean unlike zzo38 I actually take the time to document it ;)?
19:46:12 <AndoDaan_> see, I guess I'm still confused.
19:46:24 <mroman_> o_O?
19:46:26 -!- Sorella has joined.
19:46:27 <AndoDaan_> Who came up with "Burlesque?"
19:46:32 <mroman_> I did.
19:46:37 -!- AndoDaan has quit (Ping timeout: 276 seconds).
19:46:43 -!- AndoDaan_ has changed nick to AndoDaan.
19:47:04 <AndoDaan> Ah. My brain is terrible.
19:47:19 <mroman_> 21:41 < AndoDaan> eventhough you wrote it, I'm still impress by how you handle burlesque
19:47:19 <AndoDaan> and why... "Burlesque?"
19:47:28 <mroman_> ^- how so?
19:47:40 <mroman_> Burlesque? The name? It's some sort of ancient erotic dance
19:47:48 <mroman_> 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 <mroman_> although there usually is no nudity
19:48:12 <mroman_> it has class.
19:48:21 <AndoDaan> when you find that aspect of mo you took to it right away.
19:48:40 <AndoDaan> hmm
19:48:43 <mroman_> hm?
19:48:48 <mroman_> Your english is confusing :)
19:49:19 <mroman_> I'm very open about Burlesque
19:49:26 <mroman_> It's not fair if I keep stuff secret
19:49:40 <mroman_> 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 <mroman_> but I'm always amazed at finding secrets I didn't know about even though I've written the code
19:50:20 <mroman_> "ra" is also a good example
19:50:27 <mroman_> there was this golfing challenge once
19:50:30 <mroman_> with "5,6"
19:50:37 <mroman_> you can parse it
19:50:41 <mroman_> !blsq "5,6"ps
19:50:41 <blsqbot> {5 , 6}
19:50:48 <mroman_> and then throw away the , with
19:50:53 <mroman_> !blsq "5,6"psrte!
19:50:53 <blsqbot> 5
19:50:55 <mroman_> !blsq "5,6"psrte!#s
19:50:55 <blsqbot> {5 6}
19:50:58 <mroman_> !blsq "5,6"psrte!.+
19:50:58 <blsqbot> 11
19:51:09 <mroman_> but ra (ReadArray) doesn't require [ ]
19:51:14 <mroman_> and it skips over ,
19:51:23 <mroman_> which is based on how silly the parser was implemented
19:51:26 <mroman_> !blsq "5,6"ra
19:51:26 <blsqbot> 5
19:51:33 <mroman_> !blsq "5,6"ra#s
19:51:33 <blsqbot> {5}
19:51:53 <AndoDaan> !blsq "1,2,3"ra
19:51:54 <blsqbot> 1
19:51:57 <mroman_> wait
19:51:59 <SvenGek> is that GolfScript?
19:52:09 <AndoDaan> !blsq "1,2,3"^^ra
19:52:10 <blsqbot> 1
19:52:29 <mroman_> I guess it was a different challenge then
19:52:33 <mroman_> !blsq {1 2 3 4}Shra
19:52:33 <blsqbot> {1 2 3 4}
19:52:36 <AndoDaan> ra hides?
19:52:41 <mroman_> no
19:52:45 <mroman_> ra is ReadArray
19:52:49 <AndoDaan> right
19:53:07 <AndoDaan> !blsq "[1,2,3]"ra
19:53:07 <blsqbot> {1 2 3}
19:53:35 <AndoDaan> !blsq "[1,2,3]"ra?+
19:53:36 <blsqbot> ERROR: Burlesque: (.+) Invalid arguments!
19:54:10 <AndoDaan> !blsq "[1,2,3]"ra
19:54:11 <blsqbot> {1 2 3}
19:54:18 <AndoDaan> !blsq "[1,2,3]"ra.+
19:54:19 <blsqbot> ERROR: Burlesque: (.+) Invalid arguments!
19:54:21 <AndoDaan> !blsq "[1,2,3]"ra.+)
19:54:22 <blsqbot> )
19:55:24 <AndoDaan> question: when has hiding part of the stack ever been usefull?
19:55:42 <mroman_> no case is known so far
19:55:56 <AndoDaan> cool. :p
19:56:02 <mroman_> due to how the parser behind ra is implemented you can use it as a fail-safe parser
19:56:05 <mroman_> !blsq "5a"ps
19:56:06 <blsqbot> {ERROR: (line 1, column 3):
19:56:13 <mroman_> ^- won't work because it fails on the a
19:56:16 <mroman_> !blsq "5a"ra
19:56:16 <blsqbot> 5
19:56:20 <mroman_> ^- will stop at an error
19:56:57 <AndoDaan> probably will come in handy.
19:57:24 <mroman_> ra was added to be able to parse challenges that have lists as input
19:57:30 <mroman_> (i.e. python style lists)
19:58:13 <mroman_> also
19:58:22 <mroman_> !blsq "[5,,,,,1,]"ra
19:58:22 <blsqbot> {5 1}
19:58:29 <mroman_> ^- in case you ever need that
19:58:56 <AndoDaan> !blsq "[,,,5,,,,1,]"ra
19:58:56 <blsqbot> ERROR: (line 1, column 2):
19:59:02 <AndoDaan> !blsq "[5,,,,1,]"ra
19:59:03 <blsqbot> {5 1}
19:59:06 <AndoDaan> !blsq "[5,,,,1,,,]"ra
19:59:06 <blsqbot> {5 1}
19:59:19 <mroman_> I guess a list can't start with , then
19:59:23 <mroman_> interesting
19:59:36 <AndoDaan> !blsq "[,,,5,,,,1,,,]"rash
19:59:37 <blsqbot> ERROR: (line 1, column 2):
19:59:46 <mroman_> !blsq "[,5]"ra
19:59:46 <blsqbot> ERROR: (line 1, column 2):
19:59:54 <mroman_> nope. ra doesn't accept , at that position
20:00:12 <AndoDaan> !blsq "[,5,,,,1,,,]"ifra
20:00:13 <blsqbot> ERROR: Burlesque: (ra) Invalid arguments!
20:00:22 <mroman_> !blsq "[,,5,,1]""[0-9]+"=~
20:00:22 <blsqbot> {}
20:00:24 <mroman_> !blsq "[,,5,,1]""[0-9]+"~=
20:00:24 <blsqbot> 1
20:00:29 <mroman_> !blsq "[,,5,,1]""[0-9]+"=~
20:00:30 <blsqbot> {}
20:00:37 <mroman_> !blsq "[,,5,,1]""[0123456789]+"=~
20:00:37 <blsqbot> {}
20:00:40 <mroman_> hu
20:00:51 <mroman_> !blsq "[,,5,,1]""[0123456789]+"j=~
20:00:52 <blsqbot> {}
20:00:55 <mroman_> wtf
20:01:02 <mroman_> !blsq "[,,5,,1]""[[:digit]]+"j=~
20:01:03 <blsqbot> {}
20:01:06 <mroman_> !blsq "[,,5,,1]""[[:digit]]+"=~
20:01:06 <blsqbot> That line gave me an error
20:01:11 <mroman_> !blsq "[,,5,,1]""[[:digit]]"=~
20:01:12 <blsqbot> That line gave me an error
20:01:14 <mroman_> hm
20:01:19 <mroman_> can't remember how this worked
20:02:50 <AndoDaan> !blsq "[,5]"sh
20:02:51 <blsqbot> [,5]
20:03:04 <AndoDaan> !blsq "[,5]"sH
20:03:05 <blsqbot> ERROR: Burlesque: (ff) Invalid arguments!
20:03:09 <AndoDaan> !blsq "[,5]"Sh
20:03:09 <blsqbot> "[,5]"
20:03:15 <AndoDaan> !blsq "[,5]"Shra
20:03:16 <blsqbot> ERROR: (line 1, column 2):
20:03:20 <AndoDaan> !blsq "[5]"Shra
20:03:21 <blsqbot> {5}
20:04:01 <AndoDaan> !blsq "[5,,,,,1]"raL[
20:04:02 <blsqbot> 2
20:04:13 <AndoDaan> !blsq "[5,,,,,1,]"raL[
20:04:14 <blsqbot> 2
20:04:32 <AndoDaan> !blsq "[5,,,,,1,]"ra1en
20:04:32 <blsqbot> {5 1}
20:05:44 <AndoDaan> alright, thanks for the insights. I'll do my best to wield them.
20:05:57 <AndoDaan> gtg cya mroman, bye guys
20:06:02 -!- AndoDaan has quit.
20:10:19 -!- Bicyclidine has joined.
20:10:49 <GeekDude> `! bf_txtgen Go die in a hole
20:10:53 <HackEgo> 125 ++++++++++++++[>+++++>++++++++>++>+++++++<<<<-]>+.>-.>++++.>++.<<------.----.>.>+++++.+++++.<.<----.>.<+++++++.>>+.---.<<---. [435]
20:11:14 <Bicyclidine> how rude.
20:12:43 <fizzie> Editing the nickname wisdom entries is positively commonplace. At least I'm pretty sure I haven't written my own.
20:14:04 <Bicyclidine> !bf_txtgen balls of steel
20:14:10 <Bicyclidine> durr
20:19:47 <HackEgo> [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 <J_Arcane> 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 <myname> 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 <oerjan> `cat bin/learn_append
00:04:09 <HackEgo> ​#!/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 <oerjan> `run sed -i -e '4afmt -w "wisdom/$topic"' -e 's/[$]stuff/ $stuff/' bin/learn_append
00:11:24 <HackEgo> No output.
00:11:31 <oerjan> `url bin/learn_append
00:11:32 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/learn_append
00:11:49 <oerjan> oops
00:11:53 <oerjan> `revert
00:11:54 <HackEgo> Done.
00:12:09 <oerjan> `run sed -i -e '4afmt -w1000 "wisdom/$topic"' -e 's/[$]stuff/ $stuff/' bin/learn_append
00:12:11 <HackEgo> No output.
00:12:43 <oerjan> oh hm
00:12:52 <oerjan> `revert
00:12:53 <HackEgo> Done.
00:13:04 <oerjan> `run sed -i -e '4afmt -w1000 "wisdom/$topic"' bin/learn_append
00:13:06 <HackEgo> No output.
00:13:57 <oerjan> `? burlesque
00:13:57 <HackEgo> burlesque is only the sexiest language on earth. \ (see: http://mroman.ch/burlesque)
00:14:41 <oerjan> `learn_append burlesque
00:14:43 <HackEgo> burlesque is only the sexiest language on earth. (see: http://mroman.ch/burlesque) \ \ I knew that.
00:14:49 <oerjan> wat
00:15:14 <oerjan> oh fmt isn't in place
00:15:18 <oerjan> fuck this
00:15:22 <oerjan> `revert
00:15:23 <HackEgo> Done.
00:16:15 <oerjan> `revert 4933
00:16:16 <HackEgo> Done.
00:16:17 <shachaf> Is there a standard HackEgo utility that splits a command line into two pieces (e.g. on the first whitespace)?
00:17:23 <oerjan> not that i recall
00:17:44 <oerjan> `dontaskdonttelllist
00:17:44 <HackEgo> 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 <oerjan> @tell mroman_ I find your `learn_append is failing to understand how `learn works, also, evil newlines.
00:18:33 <lambdabot> Consider it noted.
00:19:36 <oerjan> a standar unix utility to strip the last newline of a file would be nice, too.
00:19:40 <oerjan> *+d
00:20:38 <oerjan> ok a standard utility to remove internal newlines which isn't quite as atrocious as sed's method
00:22:09 <oerjan> what was the command to write stdin to a file but only _after_ the whole stdin has been read
00:22:20 <Bike> sponge?
00:22:24 <oerjan> `which sponge
00:22:24 <HackEgo> No output.
00:22:34 <oerjan> of course it's not standard :(
00:23:01 <oerjan> 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 <Melvar> What does one need it for?
00:27:01 <shachaf> why do > and < even exist anyway
00:27:04 <shachaf> it should all be |
00:27:49 <shachaf> 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 <oerjan> `run fmt -w1000 bin/burlesque >b; mv b bin/burlesque; rm b
00:43:24 <HackEgo> fmt: cannot open `bin/burlesque' for reading: No such file or directory \ rm: cannot remove `b': No such file or directory
00:43:27 <oerjan> oops
00:43:39 <oerjan> `run fmt -w1000 wisdom/burlesque >b; mv b wisdom/burlesque; rm b
00:43:41 <HackEgo> rm: cannot remove `b': No such file or directory
00:43:49 <oerjan> ...ah.
00:43:57 <oerjan> `? burlesque
00:43:57 <HackEgo> burlesque is only the sexiest language on earth. (see: http://mroman.ch/burlesque)
00:44:02 <oerjan> `? blsq
00:44:03 <HackEgo> blsq (see burlesque)
00:44:08 <shachaf> `` cat bin/burlesque
00:44:09 <HackEgo> No output.
00:44:26 <oerjan> `rm bin/burlesque
00:44:27 <HackEgo> No output.
00:45:05 <shachaf> Where does the chain rule "come from"? Is there a simple answer?
00:45:30 <oerjan> `run echo "See Burlesque" >wisdom/blsq
00:45:31 <HackEgo> No output.
00:45:51 <oerjan> `run sed -i 's/b/B/' wisdom/burlesque
00:45:52 <HackEgo> No output.
00:45:55 <oerjan> `? burlesque
00:45:56 <HackEgo> Burlesque is only the sexiest language on earth. (see: http://mroman.ch/burlesque)
00:46:01 <oerjan> `? blsq
00:46:01 <HackEgo> See Burlesque
00:46:02 <shachaf> 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 <oerjan> `run echo "See: Burlesque" >wisdom/blsq
00:46:17 <HackEgo> No output.
00:47:53 <oerjan> 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 <oerjan> `run sed -i 's/see/See/' wisdom/burlesque
00:48:44 <HackEgo> No output.
00:48:49 <oerjan> `? burlesque
00:48:49 <HackEgo> Burlesque is only the sexiest language on earth. (See: http://mroman.ch/burlesque)
00:49:02 <oerjan> hm...
00:49:15 <oerjan> `run sed -i 's/earth/Earth/' wisdom/burlesque
00:49:17 <HackEgo> No output.
00:49:21 <oerjan> OKAY
00:49:42 * oerjan will put off a little the decision of whether to `rm bin/learn_append
00:50:58 <Melvar> oerjan: Somehow I have a feeling that sponge is not sufficient for that in all cases.
00:51:15 <oerjan> if you say so
00:52:14 <Melvar> I’m not sure enough about the concurrency semantics of pipelines though.
00:52:14 <oerjan> shachaf: well it's extremely intuitive from leibnitz notation: du/dt = du/dx * dx/dt
00:52:27 <shachaf> oerjan: yes, but what does that notation mean?
00:52:37 <shachaf> i would like an answer to this question
00:52:41 <oerjan> shachaf: infinitesimals hth
00:52:51 <oerjan> (see: non-standard analysis)
00:52:56 <shachaf> does it, though?
00:53:28 <oerjan> 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 <shachaf> 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 <shachaf> that didn't copy quite as well as i'd hoped
00:54:11 <shachaf> 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 <shachaf> i think the "smooth infinitesimal analysis" perspective might be a bit more promising but i don't really know
00:55:17 <zzo38> How many people are using the UNIX "mail" program for their preference?
00:55:29 <shachaf> 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 <shachaf> even in the infinitesimal perspectives
00:56:19 <oerjan> shachaf: this is one of the cases where insisting on technicalities prevents understanding the perfectly valid intuitive reason
00:56:49 <shachaf> ok, so i want to understand the valid intuitive reason
00:57:33 <shachaf> and i want things like ∫E dy/dx dx = ∫E dy to make sense too
00:57:47 <oerjan> now my intuition is telling me to stop trying to explain this.
00:58:00 <oerjan> (sneaky bastard)
00:58:32 <shachaf> ok
00:59:25 <oerjan> 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 <oerjan> zzo38: an infinitesimal number hth
01:00:56 <lifthrasiir> some_filter <foo | sponge foo?
01:01:02 <oerjan> lifthrasiir: yeah
01:01:29 <shachaf> i,i cat foo | some_filter | cocat foo
01:02:14 <shachaf> oerjan: anyway the chain rule makes even more sense when you think about "structures with holes in them"
01:02:17 <lifthrasiir> shachaf: oh a good name
01:02:20 <Melvar> oerjan: Is it guaranteed that things earlier in the pipe cannot read more input after closing their output?
01:02:29 <oerjan> "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 <oerjan> Melvar: hm you've got a point.
01:03:11 <oerjan> ok, so _some_ uses still won't work.
01:03:12 <Melvar> Oh I see, any still-open things refer to the removed file then.
01:03:36 <oerjan> hm right that helps
01:03:49 <shachaf> That depends on whether sponge removes the file or writes over the old one.
01:04:01 <oerjan> shachaf: um see pasted line
01:04:29 <shachaf> Oh, I didn't see that.
01:05:21 <oerjan> OBVIOUSLY
01:05:42 <Melvar> shachaf: Btw how does your cat/cocat bit deal with redirections of stderr?
01:06:27 <oerjan> that would obviously require the ErrorT monad transformer hth
01:06:34 <oerjan> (or ExceptT, i hear)
01:06:39 <shachaf> Melvar: I guess you could have |f 2|g or something.
01:07:03 <shachaf> I've wondered a bit before about that.
01:10:54 <Melvar> shachaf: filter <foo 2>bar | thing ?
01:11:32 <shachaf> cat foo | filter 1|(thing) 2|(cocat bar)
01:11:35 <shachaf> I don't know.
01:11:43 <shachaf> 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 <shachaf> 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 <AndoDaan> So which question do you ask?
01:22:15 <shachaf> 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 <shachaf> The answer will be yes for a predictable person and no for an unpredictable person.
01:22:42 <AndoDaan> Not a yes/no question
01:22:50 <Bike> sure it is
01:22:52 <AndoDaan> is it?
01:22:56 <shachaf> No, that's "either" as in logical or.
01:23:01 <AndoDaan> oh wait I'm dumb again
01:23:06 <AndoDaan> sorry
01:23:11 <Bike> i mean, in normal people speak they'd answer they're "predictable" or whatever, but this is a logic puzzle
01:23:21 <shachaf> "is it either the case that ..."
01:24:00 <GeekDude> http://www.xkcd.com/246/
01:24:09 <oerjan> GeekDude: darn you beat my 1 second
01:24:15 <oerjan> *me by
01:24:16 <GeekDude> lol
01:24:19 <shachaf> The trick is that the unpredictable person doesn't just say "yes"/"no" randomly, they say truth or falsehood randomly.
01:26:08 <shachaf> 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 <shachaf> For "are you answering this question truthfully?", the two possibilities are TY and FY.
01:26:29 <GeekDude> Anyone want to go nerd sniping with me?
01:27:20 <Bike> i have a homework problem about finding equivalent resistance, so uh
01:27:30 * GeekDude giggles
01:29:13 <Taneb> shachaf, now see if you can figure out which door they are guarding in the same question
01:29:25 <shachaf> Who said anything about doors?
01:29:43 <shachaf> If you just want to figure out the answer to a particular question, that's easy too.
01:30:10 <Taneb> Like, the original puzzle was there was a door to death and a door to freedom and two guards
01:30:13 <Taneb> And you had one question
01:31:05 <oerjan> !blsq {2 3 4 5}mo
01:31:06 <blsqbot> {2 6 12 20}
01:31:30 <oerjan> @tell mroman_ mo doesn't actually square a list, it does zipWith (*) [1..]
01:31:30 <lambdabot> Consider it noted.
01:31:45 <Taneb> 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 <AndoDaan_> what I wouldn't give for a decent internet connection.
01:32:25 -!- AndoDaan_ has changed nick to AndoDaan.
01:32:50 <oerjan> a kidney?
01:32:55 <oerjan> your firstborn?
01:33:30 <oerjan> your secret furry porn collection
01:33:36 <AndoDaan> I'd let my kidney impregnate me so I can offer the latter.
01:33:46 <AndoDaan> Secret? Ha!
01:33:52 <oerjan> OKAY
01:36:01 <oerjan> the autographed copy of "On Formally Undecidable Propositions in Principia Mathematica and Related Systems I"
01:37:35 <oerjan> tycho brahe's nose prosthetic
01:38:00 <AndoDaan> And his sister's glass eye.
01:38:15 <oerjan> the True Cross
01:38:38 <AndoDaan> Well, a couple of them.
01:38:46 <oerjan> ic
01:38:49 <AndoDaan> more than enough.
01:39:29 <oerjan> the sound of one hand clapping, on a phonograph recording made by edison
01:39:55 <oerjan> and finally, a partridge in a pear tree.
01:40:32 <AndoDaan> if i had any of those, I would... what was this about again?
01:41:07 <oerjan> what you wouldn't give for a decent internet connection
01:43:23 <pikhq> Solid gold brick?
01:44:08 -!- SvenGek has quit (Quit: Cuo-it).
01:44:46 <AndoDaan> hmm... Maybe not anything
01:45:14 <oerjan> the words of a desperate man
01:48:34 -!- AndoDaan_ has joined.
01:48:52 <AndoDaan_> sadness
01:49:58 -!- AndoDaan has quit (Ping timeout: 276 seconds).
01:50:24 -!- AndoDaan_ has changed nick to AndoDaan.
01:50:29 <GeekDude> 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 <zzo38> 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 <Jafet> “On computable numbers, with an application to the Entscheidungsproblem” now a New York Times bestseller
02:08:49 <GeekDude> zzo38: I believe that the symbols for pi and tau should be switched
02:08:54 <GeekDude> then we should just call it a day
02:08:54 <zzo38> (I do use tau in some computer programs.)
02:09:37 <zzo38> #define TAU 6.....
02:10:10 <GeekDude> 6.28
02:10:15 <Jafet> Typographically, τ = ½ π.
02:10:18 <GeekDude> It's tau: 6.28!
02:10:40 <zzo38> Actually I use a lot more digits than that, but that is a part of it
02:11:21 <zzo38> 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 <Bike> what about M_2_SQRTPI
02:13:32 <Jafet> Only if you can construct it with straightedge and compass, Bike
02:13:42 <lifthrasiir> atan(log(pi))
02:14:33 <Bike> what if i just draw a computer conforming to posix standards
02:15:18 <pikhq> That'd be fancy.
02:15:38 <Jafet> Does posix have a platonic form
02:15:51 <Bike> yeah it's a bunch of squiggly-ass lines
02:18:47 <oerjan> http://xkcd.com/37/
02:20:43 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
02:27:17 <zzo38> O, that that mean it is actually a bunch of squiggly ass-lines?
02:27:36 <Bike> yes
02:34:43 <HackEgo> [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 <zzo38> 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 <zzo38> 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 <zzo38> Did you see my All The Tropes Wiki user page?
02:42:58 <HackEgo> [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 <HackEgo> [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 <shachaf> 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 <zzo38> What are you refering to?
04:12:43 <shachaf> 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 <zzo38> 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 <zzo38> Why did they design such a stupid AI?
04:49:08 <zzo38> It is even worse than the first game.
04:55:12 <pikhq> It sounds as though they cloned the RPG AIs.
04:55:30 <zzo38> Maybe; I don't know.
04:55:40 <pikhq> You would not believe the number of times I've seen a trainer use Destruct with their last Pokemon.
04:55:45 <pikhq> Erm, Self-*
04:56:26 <zzo38> pikhq: I have seen it too a few times. How many times do you see?
04:56:41 <pikhq> I haven't counted.
04:57:09 <pikhq> I didn't think to during childhood, and those games were my life for a few years.
04:57:14 <zzo38> 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 <zzo38> Maybe this comparison isn't quite as good, but it is something.
05:02:25 <zzo38> 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 <zzo38> Do you play chess at all?
05:05:19 <pikhq> I do, though it's been a while.
05:09:42 <zzo38> 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 <zzo38> 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 <zzo38> Bit shifting and binary arithmetic was invented far before computers were invented.
05:33:32 -!- pikhq has joined.
05:37:49 <zzo38> Is the Russian algorithm good for making multiplication in 6502?
05:45:27 <fizzie> oerjan: I tend to use tr '\n' ' ' to remove internal newlines.
05:45:44 -!- conehead_ has changed nick to conehead.
05:45:48 <fizzie> (Of course it converts a final newline to space too.)
05:45:57 <oerjan> aha
05:47:33 <zzo38> 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 <oerjan> hm that command also evilly does not edit in place. however...
05:47:58 <oerjan> `cat bin/learn_apply
05:47:58 <HackEgo> cat: bin/learn_apply: No such file or directory
05:48:02 <oerjan> `cat bin/learn_append
05:48:02 <HackEgo> ​#!/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 <zzo38> It works very well for 8-bits multiplication, at least
05:50:38 <oerjan> `run sed -i "4ised -i 'y/"'\n'"/ /"'wisdom/$topic' bin/learn_append
05:50:39 <HackEgo> No output.
05:50:42 <oerjan> `cat bin/learn_append
05:50:43 <HackEgo> ​#!/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 <oerjan> bah
05:50:54 <oerjan> `revert
05:50:56 <HackEgo> Done.
05:51:11 <oerjan> `run sed -i "4ised -i 'y/"'\\n'"/ /"'wisdom/$topic' bin/learn_append
05:51:12 <HackEgo> No output.
05:51:16 <oerjan> `cat bin/learn_append
05:51:16 <HackEgo> ​#!/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 <oerjan> `revert
05:51:28 <HackEgo> Done.
05:51:59 <oerjan> `run sed -i "4ised -i 'y/"'\\n'"/ /' "'"wisdom/$topic"' bin/learn_append
05:52:01 <HackEgo> No output.
05:52:04 <oerjan> `cat bin/learn_append
05:52:04 <HackEgo> ​#!/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 <oerjan> hm wait does sed support that
05:52:39 <oerjan> `? test
05:52:40 <HackEgo> test failed. HackEgo-JUnit is not available.
05:52:50 <oerjan> `learn_append test test
05:52:52 <HackEgo> I knew that.
05:52:54 <oerjan> `? test
05:52:55 <HackEgo> test failed. HackEgo-JUnit is not available. \ test
05:52:59 <oerjan> fff
05:53:02 <oerjan> `revert
05:53:03 <HackEgo> Done.
05:57:45 -!- tromp__ has joined.
05:58:09 <oerjan> fizzie: it also has the entirely fatal flaw of not allowing in-place editing hth
05:58:27 <oerjan> and sed's y does not seem to support \n
06:00:25 <oerjan> `revert 4949
06:00:27 <HackEgo> 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 <oerjan> `run sed -i "4iperl -i -p -e 's/\n//' "'"wisdom/$topic"' bin/learn_append # from stackoverflow
06:05:31 <HackEgo> No output.
06:05:41 <oerjan> `learn_append test test
06:05:44 <HackEgo> I knew that.
06:05:47 <oerjan> `? test
06:05:48 <HackEgo> test failed. HackEgo-JUnit is not available.test
06:05:52 <oerjan> oops
06:06:11 -!- prooftechnique has quit (Quit: return ()).
06:06:17 <oerjan> `run sed -i "4cperl -i -p -e 's/\n/ /' "'"wisdom/$topic"' bin/learn_append # from stackoverflow
06:06:18 <HackEgo> No output.
06:06:21 <oerjan> `learn_append test test
06:06:24 <HackEgo> ​/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 <oerjan> wtf
06:06:51 <oerjan> `cata bin/learn_append
06:06:51 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cata: not found
06:06:56 <oerjan> `cat bin/learn_append
06:06:57 <HackEgo> ​#!/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 <oerjan> oh
06:07:28 <oerjan> `run sed -i "4cperl -i -p -e 's/\\n/ /' "'"wisdom/$topic"' bin/learn_append # from stackoverflow
06:07:30 <HackEgo> No output.
06:07:34 <oerjan> `learn_append test test
06:07:36 <HackEgo> ​/hackenv/bin/learn_append: line 7: /: Is a directory \ I knew that.
06:07:55 <fizzie> "/: Is a directory" impressive
06:08:00 <oerjan> god damn you unix derivatives
06:08:10 <oerjan> `cat bin/learn_append
06:08:11 <HackEgo> ​#!/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 <oerjan> ok something hideously wrong
06:08:55 <oerjan> `revert 4949
06:08:57 <HackEgo> Done.
06:09:52 -!- MoALTz has quit (Quit: Leaving).
06:10:06 <oerjan> `run sed -i "4iperl -i -p -e 's/\n/ /' "'"wisdom/$topic"' bin/learn_append # from stackoverflow
06:10:08 <HackEgo> No output.
06:10:14 <oerjan> `cat bin/learn_append
06:10:14 <HackEgo> ​#!/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 <oerjan> `revert
06:10:27 <HackEgo> Done.
06:10:44 <oerjan> `run sed -i "4iperl -i -p -e 's/"'\\n'"/ /' "'"wisdom/$topic"' bin/learn_append # from stackoverflow
06:10:47 <HackEgo> No output.
06:10:51 <oerjan> `cat bin/learn_append
06:10:52 <HackEgo> ​#!/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 <oerjan> hm promising
06:11:16 <oerjan> `learn_append test test
06:11:17 <HackEgo> I knew that.
06:11:21 <oerjan> `? test
06:11:22 <HackEgo> test failed. HackEgo-JUnit is not available. test
06:11:29 <oerjan> `revert
06:11:30 <HackEgo> 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 <mroman_> @tell oerjan I knew that. But it works for lists [1..] which is usually what you have when golfing
07:28:02 <lambdabot> Consider it noted.
07:28:20 <AndoDaan> Hey, mroman_.
07:28:38 <mroman_> The general purpose square a list is still )S[
07:28:41 <AndoDaan> Did you submit the latest tast to Anarchy Golf?
07:28:53 <mroman_> There's a new problem?
07:28:53 <AndoDaan> tasks*
07:29:06 <AndoDaan> ah.
07:29:10 <AndoDaan> yes. two
07:29:10 <mroman_> two new
07:29:50 <AndoDaan> quit rare these days. new problems I mean.
07:30:15 <mroman_> hm
07:30:22 <mroman_> Highest power of 2 dividing n?
07:30:34 <mroman_> looks like a job for until
07:30:55 <mroman_> which burlesque hasn't
07:30:56 <mroman_> weird
07:31:45 <mroman_> !blsq 1R@2?^{24jdv}fi
07:31:46 <blsqbot> 0
07:32:15 <mroman_> !blsq 1R@2?^24.+{24jdv}FI
07:32:15 <blsqbot> ERROR: Unknown command: (FI)!
07:32:30 <mroman_> !blsq 1R@2?^24.+{24jdv}fI
07:32:30 <blsqbot> {0 1}
07:32:49 <mroman_> this doesn't look right
07:32:54 <mroman_> !blsq 1R@2?^24.+
07:32:54 <blsqbot> {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 <mroman_> oh
07:33:04 <mroman_> !blsq 2 1R@?^24.+
07:33:04 <blsqbot> {2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144
07:33:13 <mroman_> !blsq 2 1R@?^24.+{24jdv}fI
07:33:14 <blsqbot> {0 1 2}
07:33:20 <mroman_> !blsq 2 1R@?^24.+{24jdv}fI[-
07:33:20 <blsqbot> {1 2}
07:33:24 <mroman_> !blsq 2 1R@?^24.+{24jdv}fI[~
07:33:25 <blsqbot> 2
07:33:35 <mroman_> !blsq 2 1R@?^^^24.+{24jdv}fI[~!!
07:33:35 <blsqbot> 8
07:34:15 <mroman_> !blsq 2 1R@?^^^12.+{12jdv}fI[~!!
07:34:16 <blsqbot> 4
07:34:21 <mroman_> !blsq 2 1R@?^^^{12jdv}fI[~!!
07:34:21 <blsqbot> Ain't nobody got time fo' dat!
07:34:38 -!- conehead has quit (Quit: Computer has gone to sleep).
07:34:56 <mroman_> !blsq 2 1R@?^^^20.+{12jdv}fI[~!!
07:34:56 <blsqbot> 4
07:35:10 <mroman_> !blsq 10{1R@?^^^20.+{12jdv}fI[~!!}GO
07:35:11 <blsqbot> That line gave me an error
07:35:43 <mroman_> !blsq 10{Pp2 1R@?^^^20.+{pPjdv}fI[~!!}GO
07:35:44 <blsqbot> Ain't nobody got time fo' dat!
07:35:49 <mroman_> !blsq 5{Pp2 1R@?^^^20.+{pPjdv}fI[~!!}GO
07:35:49 <blsqbot> Ain't nobody got time fo' dat!
07:35:57 <mroman_> !blsq 2 1R@?^^^20.+{5jdv}fI[~!!
07:35:58 <blsqbot> That line gave me an error
07:36:05 <mroman_> yeah
07:36:10 <AndoDaan> !blsq 20r1
07:36:10 <blsqbot> ERROR: Unknown command: (r1)!
07:36:11 <mroman_> this is difficult in Burlesque
07:36:27 <AndoDaan> !blsq 20r0
07:36:28 <blsqbot> ERROR: Unknown command: (r0)!
07:36:36 <mroman_> !blsq 2 0R@?^^^20.+{5jdv}fI[~!!
07:36:36 <blsqbot> 1
07:36:38 <mroman_> ah
07:36:47 <AndoDaan> !blsq "20"r0
07:36:47 <blsqbot> ERROR: Unknown command: (r0)!
07:36:49 <mroman_> !blsq 10{2 0R@?^^^20.+{5jdv}fI[~!!}GO
07:36:49 <blsqbot> {1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10}
07:36:58 <AndoDaan> what's my problem
07:37:07 <mroman_> there's no r0
07:37:09 <mroman_> and no r1
07:37:15 <mroman_> !blsq 20ro
07:37:15 <blsqbot> {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20}
07:37:16 <AndoDaan> !blsq 20rz
07:37:17 <blsqbot> {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20}
07:37:18 <mroman_> ^- that?
07:37:24 <AndoDaan> I'm truly an idiot
07:37:33 <mroman_> since when is 9 a power of two o_O
07:37:53 <mroman_> !blsq 10{2 0R@?^^^20.+{5jdv}fI}GO
07:37:53 <AndoDaan> !blsq 20rz{fc}m[
07:37:53 <blsqbot> Ain't nobody got time fo' dat!
07:37:54 <blsqbot> {{} {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 <mroman_> !blsq 10{2 0R@?^^^20.+{5jdv}fI[~}GO
07:38:30 <blsqbot> Ain't nobody got time fo' dat!
07:38:45 <mroman_> !blsq 10{2 0R@?^^^20.+{5jdv}fI[~vv}GO
07:38:46 <blsqbot> Ain't nobody got time fo' dat!
07:38:59 <mroman_> !blsq 10{2 0R@?^^^20.+{5jdv}fI[~!!}GO
07:38:59 <blsqbot> {1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10}
07:39:05 <mroman_> wth
07:39:21 <mroman_> !blsq 2 0R@?^^^20.+
07:39:21 <blsqbot> Ain't nobody got time fo' dat!
07:39:26 <mroman_> !blsq 2 0R@?^^^10.+
07:39:26 <blsqbot> Ain't nobody got time fo' dat!
07:39:39 <mroman_> !blsq 2 0R@?^20.+
07:39:40 <blsqbot> {1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 26214
07:39:43 <mroman_> !blsq 2 0R@?^20.+9!!
07:39:43 <blsqbot> 512
07:39:49 <mroman_> there's no 9 in that list
07:40:00 <mroman_> !blsq 10{2 0R@?^^^20.+{5jdv}fI[~j!!}GO
07:40:00 <blsqbot> Ain't nobody got time fo' dat!
07:40:26 <AndoDaan> !blsq 20rz{fc{2**2}C!\\}m[
07:40:27 <blsqbot> That line gave me an error
07:40:42 <mroman_> also why am I getting more than 10 elements
07:40:44 <mroman_> for 10GO
07:40:46 <mroman_> wth
07:40:47 <AndoDaan> !blsq 20rz{fc{2**2}4C!}m[
07:40:48 <blsqbot> {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 <mroman_> !blsq { 1 3 9 24}{2 0R@?^^^20.+{5jdv}fI[~!!}m[
07:41:16 <blsqbot> {1 1 1 3 1 9 1 24}
07:41:38 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
07:41:42 <AndoDaan> !blsq 20rz{fc{2**-1}4C!}m[
07:41:42 <blsqbot> {-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 <mroman_> oh
07:41:52 <mroman_> right
07:42:08 <mroman_> !blsq 10{Pp2 0R@?^^^20.+{pPjdv}fI[~j!!}GO
07:42:09 <blsqbot> Ain't nobody got time fo' dat!
07:42:17 <mroman_> !blsq 10{pP2 0R@?^^^20.+{Ppjdv}fI[~j!!}GO
07:42:17 <AndoDaan> !blsq 20rz{fc{-1 2**\/^^}4C!}m[
07:42:17 <blsqbot> That line gave me an error
07:42:17 <blsqbot> {{} {} {} {} {} {1} {1} {1} {1} {1} {1 2} {1 2} {1 2} {1 2} {1 2} {1 3} {1 3} {1
07:42:44 <mroman_> !blsq 10{Pp2 0R@?^^^20.+{PPjdv}fI[~j!!}GO
07:42:44 <blsqbot> Ain't nobody got time fo' dat!
07:42:54 <mroman_> this is insane :(
07:43:14 <mroman_> !blsq 10{Pp2 0R@?^^^20.+{PPjdv}fI[~!!}GO
07:43:15 <blsqbot> Ain't nobody got time fo' dat!
07:43:20 <mroman_> !blsq 3{Pp2 0R@?^^^20.+{PPjdv}fI[~!!}GO
07:43:20 <blsqbot> Ain't nobody got time fo' dat!
07:43:34 <AndoDaan> !blsq 20rz{fc 2{.*}4C!}m[
07:43:35 <blsqbot> {ERROR: Burlesque: (.*) Invalid arguments! ERROR: Burlesque: (.*) Invalid argume
07:43:36 <mroman_> !blsq 3{Pp2 20r@?^^^{PPjdv}fI[~!!}GO
07:43:37 <blsqbot> {ERROR: Burlesque: (!!) Invalid arguments! ERROR: Burlesque: ([~) Invalid argume
07:43:47 <mroman_> !blsq 3{Pp2 20r@?^^^{PPjdv}fI}GO
07:43:47 <AndoDaan> !blsq 20rz{fc 2{^^.*}4C!}m[
07:43:47 <blsqbot> {ERROR: Burlesque: (fi) Invalid arguments! {PP j dv} ERROR: Burlesque: (**) Inva
07:43:47 <blsqbot> {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 <mroman_> !blsq 3{2 20r@?^^^{24jdv}fI}GO
07:44:00 <blsqbot> {{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 <AndoDaan> !blsq 20rz{fc 2{^^.*}4C!\\}m[
07:44:06 <blsqbot> {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 <mroman_> !blsq 10{Pp2 0 20r@?^^^{PPjdv}fI[~!!}GO
07:44:26 <blsqbot> That line gave me an error
07:44:29 <AndoDaan> !blsq 20rz{fc 2{^^.*\\}4C!}m[
07:44:29 <blsqbot> {ERROR: Burlesque: (\\) Invalid arguments! ERROR: Burlesque: (\\) Invalid argume
07:44:34 <mroman_> !blsq 10{Pp2 0 20r@?^^^{PPjdv}fI}GO
07:44:34 <blsqbot> That line gave me an error
07:44:40 <mroman_> what the
07:44:48 <AndoDaan> !blsq 20rz{fc 2{^^.*}4C!\/\\}m[
07:44:48 <blsqbot> {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 <mroman_> !blsq 10{Pp2 0 20r@?^^^{pPjdv}fI}GO
07:44:59 <blsqbot> {{0} {1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072
07:45:08 <mroman_> !blsq 10{Pp2 0 20r@?^^^{pPjdv}fI[~}GO
07:45:08 <blsqbot> {0 {1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 26
07:45:12 <mroman_> !blsq 10{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO
07:45:12 <blsqbot> {1 2 1 4 1 2 1 8 1 2}
07:45:20 <mroman_> haha!
07:45:23 <AndoDaan> !blsq 1{2}4c!
07:45:23 <blsqbot> ERROR: Burlesque: (c!) Invalid arguments!
07:45:28 <AndoDaan> !blsq 1{2}4C!
07:45:28 <blsqbot> 2
07:45:33 <mroman_> !blsq 20{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO
07:45:34 <blsqbot> {1 2 1 4 1 2 1 8 1 2 1 4 1 2 1 16 1 2 1 4}
07:45:46 <mroman_> now
07:45:49 <mroman_> what is a partial sum?
07:45:51 <AndoDaan> !blsq 1{2^^\/}4C!
07:45:51 <blsqbot> 2
07:46:09 <S1> why do you do 2^^\/ ?
07:46:13 <mroman_> !blsq 10{{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO++}GO
07:46:14 <blsqbot> Ain't nobody got time fo' dat!
07:46:20 <AndoDaan> !blsq 1{^^2.*}4C!
07:46:20 <blsqbot> 16
07:46:25 <mroman_> !blsq 4{{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO++}GO
07:46:25 <blsqbot> {1 3 4 8}
07:46:31 <mroman_> !blsq 5{{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO++}GO
07:46:31 <blsqbot> {1 3 4 8 9}
07:46:37 -!- sebbu has quit (Ping timeout: 260 seconds).
07:46:47 <mroman_> !blsq 6{{Pp2 0 20r@?^^^{pPjdv}fI[~!!}GO++}GO
07:46:47 <blsqbot> {1 3 4 8 9 11}
07:46:49 <mroman_> ok
07:46:52 <mroman_> thats A006520
07:46:56 <mroman_> it's pretty slow though
07:47:39 <mroman_> yep. too slow for anagol
07:47:57 -!- AndoDaan_ has joined.
07:47:58 <AndoDaan_> !blsq 1{2.*^^2**}4C!
07:47:58 <blsqbot> 1073741824
07:48:12 <AndoDaan_> !blsq 1{2.*^^2**++}4C!
07:48:13 <blsqbot> 19292178609371873283721881554959056663564876247763779584
07:48:30 <AndoDaan_> no idea what that monstrosity is.
07:48:56 <mroman_> it's
07:49:10 <AndoDaan_> 192921....
07:49:19 <AndoDaan_> ....9584
07:49:20 <mroman_> (*2)^2 + digit sum
07:49:21 <mroman_> I guess
07:49:38 <mroman_> !blsq 1{2.*^^2**++}4C!#s
07:49:39 <blsqbot> {19292178609371873283721881554959056663564876247763779584 964608930468593664 482
07:49:43 <mroman_> !blsq 1{2.*^^2**++}2C!#s
07:49:44 <blsqbot> {482304 24 1}
07:49:57 -!- S1 has quit (Quit: S1).
07:49:58 <AndoDaan_> burlesque has no limit on bignumbers?
07:50:09 <mroman_> !blsq 1 2.*^^2**
07:50:09 <blsqbot> 4
07:50:29 <mroman_> ah ** is power
07:50:30 <mroman_> ok
07:50:36 <mroman_> so
07:51:22 -!- AndoDaan has quit (Ping timeout: 276 seconds).
07:51:32 -!- AndoDaan_ has changed nick to AndoDaan.
07:51:39 <mroman_> ++ is concenatenate digits
07:51:47 <mroman_> !blsq 1 2.*^^2**
07:51:47 <blsqbot> 4
07:51:49 <mroman_> !blsq 1 2.*^^2**++
07:51:50 <blsqbot> 24
07:52:10 <mroman_> (x*2)++(2^x)
07:52:38 <mroman_> !blsq 24 2.* 24 2**
07:52:38 <blsqbot> 576
07:53:05 <mroman_> !blsq 24 2.* 24 2**#s
07:53:06 <blsqbot> {576 48}
07:53:18 <mroman_> !blsq 24 2.* 2 24**
07:53:19 <blsqbot> 16777216
07:53:28 <mroman_> !blsq 24 2.* 48 2**
07:53:29 <blsqbot> 2304
07:53:32 <mroman_> !blsq 24 2.* 48 2**++
07:53:33 <blsqbot> 482304
07:53:43 <mroman_> (x*2)++(x*2)^2
07:53:48 <mroman_> ^- that's what you're doing
07:53:57 <mroman_> where ++ is concatenate digits
07:54:42 <mroman_> AndoDaan: and yes. Burlesque has no limit on integers
07:54:54 -!- sebbu has joined.
07:54:58 <mroman_> except for the haskell limits of course
07:54:59 <AndoDaan> If I'm not constantly checking with the langref, I have nearly no idea what 's what
07:55:04 <AndoDaan> okay thanks.
07:55:09 <mroman_> i.e. !!
07:55:13 <mroman_> @type (!!)
07:55:14 <lambdabot> [a] -> Int -> a
07:55:19 <mroman_> !! want's an Int
07:55:33 -!- sebbu has quit (Changing host).
07:55:33 -!- sebbu has joined.
07:55:46 <mroman_> which means that when using !! in Burlesque it will convert the Unbounded Integer into a bounded integer
07:56:10 <mroman_> if you ever have that large lists :)
07:56:31 <mroman_> AndoDaan: I get that @checking with the langref
07:56:55 <mroman_> if you golf regularily you know the most used commands fluently ;)
07:57:11 <AndoDaan> I'm thinking of writing a little program to help me organize and look up the instruction set a bit better.
07:57:13 <mroman_> for other stuff I just know that it's there and I can look it up in the langref
07:57:20 <AndoDaan> until I get the hang of it.
07:57:35 <AndoDaan> I'm sure it's all slowly perculating into my brain.
07:57:42 <lifthrasiir> I was seriously thinking about self-recursive 2D language somewhat akin to Orthogonal
07:57:53 <lifthrasiir> not sure if it will every fly though
07:58:08 <AndoDaan> Only one way to find out.
07:58:15 <lifthrasiir> right
07:58:17 <mroman_> also the Burlesque Shell has tabcompletion for commands btw ;)
07:58:46 <AndoDaan> nice. thanks.
07:59:12 <mroman_> technically you could write a little translater from verbose Burlesque to Burlesque
07:59:28 <mroman_> which would allow you to write using the Names of the Commands
07:59:30 <mroman_> suchas
08:00:10 <mroman_> 20 {primeFactors sum} generateListO
08:00:14 <mroman_> instead of
08:00:23 <mroman_> 20{fC++}GO
08:00:48 <mroman_> also I think some people have a regex collection for usual shortcuts ;)
08:00:53 <mroman_> I had one, but I lost it
08:01:10 <mroman_> i.e. it would detect that you wrote {aabb}m[ insteaf of )aa)bb or things like that
08:01:23 <AndoDaan> 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 <HackEgo> [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 <AndoDaan> !blsq ?_
08:58:58 <blsqbot> "I have 340 non-special builtins!"
08:59:17 <fizzie> "I have 340 builtins, but that's nothing special."
09:03:23 <b_jonas> 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 <mroman_> b_jonas: Let me count them.
09:46:41 <mroman_> #Q #q #J #j @ ) : ,
09:46:54 <mroman_> about 8 special built-ins
09:47:13 <mroman_> !blsq #Q#s
09:47:14 <blsqbot> {{#s}}
09:47:32 <mroman_> #Q pushes the code on the right side of it to the stack
09:47:46 <mroman_> !blsq #Q{}#q1 2 3 4
09:47:46 <blsqbot> {{} #q 1 2 3 4}
09:47:54 <mroman_> !blsq #Q{}#q1 2 3 4#s
09:47:54 <blsqbot> {{} #q 1 2 3 4 #s}
09:48:08 <mroman_> where as #q pops code from the stack
09:48:19 <mroman_> !blsq {1 2 .+}#q3 4.+
09:48:19 <blsqbot> 3
09:48:23 <mroman_> !blsq {1 2 .+}#q3 4.+#s
09:48:24 <blsqbot> 3
09:48:28 <mroman_> !blsq {1 2 .+}#q3 4.+
09:48:29 <blsqbot> 3
09:48:34 <mroman_> so the 3 4 .+ isn't executed at all
09:48:57 <mroman_> !blsq {1 2 .+}#j3 4.+
09:48:57 <blsqbot> 7
09:48:59 <mroman_> !blsq {1 2 .+}#j3 4.+#s
09:49:00 <blsqbot> {7 3}
09:49:11 <mroman_> #j appends code but does not replace it
09:50:28 <mroman_> !blsq @'c10.+
09:50:29 <blsqbot> "cccccccccc"
09:50:44 <mroman_> !blsq 'c10.*
09:50:45 <blsqbot> "cccccccccc"
09:54:02 <b_jonas> 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 <mroman_> b_jonas: not yet, no
09:54:23 <mroman_> You can't define functions
09:54:33 <mroman_> Not in a reasonable way
09:54:44 <b_jonas> oh....
09:54:45 <b_jonas> um
09:54:49 <b_jonas> will you add a way later/
09:54:50 <b_jonas> ?
09:54:55 <mroman_> I will
09:55:31 <mroman_> also variables
09:55:35 <mroman_> so you can do stuff like
09:56:49 <mroman_> `X:=1 2
09:56:50 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: X:=1: not found
09:57:00 <mroman_> `Y:= %X ?+
09:57:01 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Y:=: not found
09:59:22 -!- Majid_ has joined.
10:00:00 <b_jonas> yeah, that would be useful
10:00:32 <mroman_> http://codepad.org/k9FhEYNg
10:00:37 <mroman_> ^- that's my sketch so far for that
10:01:38 <mroman_> also it will be shipped with predefined longversions of commands
10:01:40 <mroman_> i.e.
10:01:58 <mroman_> `add={?+} `group={=[}
10:01:58 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: add={?+}: not found
10:01:58 <mroman_> etc.
10:02:16 <mroman_> eh
10:02:19 <mroman_> `Add that is
10:02:19 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Add: not found
10:02:24 <mroman_> they must start with an uppercase letter
10:02:41 <mroman_> `a `b `c are already reserved
10:02:41 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: a: not found
10:02:49 <mroman_> there's not a single character that can be freely used I think
10:03:46 <mroman_> also it would be %Increment in the spec
10:04:18 <mroman_> b_jonas: the problem is that you need a prefix
10:04:19 <mroman_> because
10:04:22 <mroman_> !blsq "increment"ps
10:04:22 <blsqbot> {ERROR: (line 1, column 10):
10:04:25 <mroman_> !blsq "increment."ps
10:04:25 <blsqbot> {in cr em en t.}
10:04:33 <mroman_> would be parsed as a chain of commands
10:04:51 <mroman_> so you need to tell the parser with a prefix that it's not a chain of commands
10:05:00 <mroman_> there's no command that starts with %
10:05:04 <mroman_> so % is a good choice as a prefix
10:05:52 <b_jonas> mroman_: could you just modify existing names so you free u psomething?
10:06:27 <mroman_> Like what?
10:06:35 <mroman_> ` and % are free prefixes
10:06:36 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
10:06:40 <mroman_> I can use them
10:06:49 <b_jonas> ok
10:06:54 <mroman_> that is ` and % followed by an uppercase letter ;)
10:07:06 <mroman_> But no: I can't change existing commands
10:07:11 <b_jonas> can you also have two-letter variables, or letter+number variables?
10:07:13 <mroman_> that would break programs on anagol using them
10:07:29 <mroman_> b_jonas: you mean like `foo0?
10:07:51 <b_jonas> yes, like that
10:08:03 <b_jonas> but that's too long, so more like %M2 and %Te
10:08:09 <mroman_> ah sure
10:08:11 <mroman_> no problem
10:08:15 -!- Majid_ has left ("Leaving").
10:08:16 <b_jonas> ok
10:08:26 <mroman_> they can't contain a = though ;)
10:08:31 <mroman_> `Xheutn=...
10:08:31 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Xheutn=...: not found
10:08:38 <b_jonas> do you do a new incompatible major version every four years?
10:08:39 <mroman_> it'll just parse until it reaches a = for the assignment
10:08:54 <mroman_> b_jonas: all versions are fully backwards compatible
10:09:05 <b_jonas> or, like, every triangular numbered year starting from the first release
10:09:11 <mroman_> ??
10:09:34 <mroman_> or what do you mean with "incompatible"?
10:09:52 <b_jonas> one with incompatible syntax so it doesn't run older programs
10:09:59 <mroman_> no
10:10:01 <b_jonas> ok
10:10:01 <mroman_> like I said
10:10:07 <mroman_> it's backwards compatible
10:10:22 <mroman_> Burlesque will always be able to run older programs
10:11:16 <mroman_> I have a "contract" with golf.shinh.org that newer Burlesque versions must still run programs written for older versions
10:12:04 <b_jonas> 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 <Jafet> What happens if you take back the contract? Do they take out a contract?
10:12:55 <mroman_> wait
10:13:01 <mroman_> b_jonas: what are you actually talking about?
10:13:15 <mroman_> variables can be added to Burlesque without breaking existing programs.
10:13:22 <b_jonas> sure
10:13:40 <Jafet> Well, adding a program prefix to switch to a different language still leaves it backwards compatible.
10:13:43 <mroman_> You want me to release a new Version of Burlesque under a different name?
10:13:54 <b_jonas> no... never mind
10:14:12 <b_jonas> 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 <b_jonas> let's forget it
10:14:21 <b_jonas> I'm sorry
10:14:44 <mroman_> If I did break compatability then it would be a different language
10:15:12 <mroman_> b_jonas: I see no advantage in breaking compatability
10:15:40 <mroman_> 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 <mroman_> but I doubt that this will ever be the case
10:16:04 <Jafet> Is it being golfed by more than 5 people?
10:16:07 <mroman_> so my "customers" are golfers on anagol and anagol requires full backwards compatability
10:16:33 <mroman_> Jafet: there's clock, teebe, hendrik, noodl, andodaan, me
10:16:43 <mroman_> and sometimes someone gives it a shot too
10:17:01 <mroman_> andodaan is the newest golfer so far in Burlesque
10:17:33 <b_jonas> now when you said above `add={?+}
10:17:39 <b_jonas> how would you invoke that then?
10:18:35 <mroman_> oh. and pooq also golfs in it
10:18:53 <b_jonas> 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 <mroman_> some other not so active burlesque golfers are desty, migo, whio
10:19:35 <mroman_> b_jonas: { ... }
10:19:39 <mroman_> `add={ ... }
10:19:40 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: add={: not found
10:19:46 <mroman_> the } specifies the end
10:19:47 <mroman_> of course
10:19:53 <mroman_> { ... }`Add is also fine
10:20:18 <b_jonas> mroman_: um... but then why do you need the equals sign if the bracket already delimits?
10:20:22 <b_jonas> oh
10:20:27 <b_jonas> so it would work as suffix too
10:20:28 <b_jonas> ok
10:21:35 -!- boily has joined.
11:07:45 <boily> `? burlesque
11:07:45 <HackEgo> Burlesque is only the sexiest language on Earth. (See: http://mroman.ch/burlesque)
11:07:58 <boily> ah, so that's how the update is.
11:24:29 -!- boily has quit (Quit: MARSH CHICKEN).
11:36:38 <AndoDaan> !blsq !blsq ??
11:36:39 <blsqbot> That line gave me an error
11:36:44 <AndoDaan> !blsq !blsq ??
11:36:45 <blsqbot> That line gave me an error
11:36:56 <AndoDaan> ??
11:37:10 <AndoDaan> !blsq ??
11:37:10 <blsqbot> "Burlesque - 1.7.3"
11:37:47 <AndoDaan> !blsq ??L[
11:37:48 <blsqbot> 17
11:38:13 <AndoDaan> !blsq :a
11:38:14 <blsqbot> ERROR: (line 1, column 3):
11:38:27 <AndoDaan> !blsq %a
11:38:27 <blsqbot> ERROR: (line 1, column 3):
11:38:32 <AndoDaan> !blsq @
11:38:32 <blsqbot> @
11:38:46 <AndoDaan> !blsq q5l
11:38:46 <blsqbot> ERROR: (line 1, column 4):
11:38:49 <AndoDaan> !blsq q5
11:38:49 <blsqbot> {5}
11:38:56 <AndoDaan> !blsq q1 5 6
11:38:56 <blsqbot> 6
11:39:10 <AndoDaan> !blsq q1128
11:39:10 <blsqbot> {1128}
11:39:31 <AndoDaan> !blsq ?n
11:39:32 <blsqbot> That line gave me an error
11:39:40 <AndoDaan> !blsq 156?n
11:39:40 <blsqbot> l_
11:40:14 <AndoDaan> !blsq 339rz
11:40:14 <blsqbot> {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 <AndoDaan> !blsq 0 39ro
11:40:45 <blsqbot> No output!
11:40:52 <AndoDaan> !blsq 0 39r@
11:40:53 <blsqbot> No output!
11:41:10 <AndoDaan> !blsq ,339rz
11:41:10 <blsqbot> {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 <AndoDaan> !blsq "5"to
11:42:28 <blsqbot> "Str"
11:43:05 <AndoDaan> !blsq "Str"\/to~=
11:43:05 <blsqbot> 0
11:44:06 <AndoDaan> !blsq 339rzfC
11:44:07 <blsqbot> That line gave me an error
11:44:47 <AndoDaan> !blsq 339rz{fc>]}m[
11:44:47 <blsqbot> That line gave me an error
11:44:53 <AndoDaan> !blsq 339rz{f!>]}m[
11:44:53 <blsqbot> {ERROR: Burlesque: (>]) Invalid arguments! ERROR: Unknown command: (f!)! 0 ERROR
11:45:33 <mroman_> hu
11:45:39 <mroman_> !blsq 339rz
11:45:39 <blsqbot> {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 <mroman_> !blsq 339rzfC
11:45:42 <blsqbot> That line gave me an error
11:45:44 <mroman_> wtf
11:45:53 <mroman_> ah
11:45:57 <mroman_> div by zero
11:45:58 <mroman_> ;0
11:46:00 <mroman_> !blsq 1fC
11:46:01 <blsqbot> {}
11:46:03 <mroman_> !blsq 0fC
11:46:04 <blsqbot> That line gave me an error
11:46:05 <AndoDaan> I'm the worst.
11:46:38 <AndoDaan> !blsq 2 339rofC
11:46:38 <blsqbot> {{} {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 <AndoDaan> !blsq 2 339rofC<[
11:46:49 <blsqbot> ERROR: Unknown command: (<[)!
11:46:58 <AndoDaan> !blsq 2 339rofCe!>[
11:46:59 <blsqbot> ERROR: Unknown command: (>[)!
11:47:02 <AndoDaan> !blsq 2 339rofCe!>]
11:47:02 <blsqbot> 113
11:47:28 <AndoDaan> !blsq 2 339rofC){>]}n[
11:47:28 <blsqbot> ERROR: Unknown command: (n[)!
11:47:39 <AndoDaan> !blsq 2 339rofC){>]}m[
11:47:39 <blsqbot> ERROR: Burlesque: (m[) Invalid arguments!
11:48:01 <AndoDaan> !blsq 2 339rofC
11:48:01 <blsqbot> {{} {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 <mroman_> !blsq 2 339rofC){>]}
11:48:16 <blsqbot> {{>]} {} {>]} {2} {>]} {3} {>]} {2 2} {>]} {5} {>]} {2 3} {>]} {7} {>]} {2 2 2}
11:48:35 <mroman_> map can actually be used to insert stuff between elements
11:48:44 <mroman_> !blsq 10ro)-1
11:48:45 <blsqbot> {-1 1 -1 2 -1 3 -1 4 -1 5 -1 6 -1 7 -1 8 -1 9 -1 10}
11:48:49 <AndoDaan> !blsq 2 100rofC) >]
11:48:49 <blsqbot> That line gave me an error
11:48:54 <AndoDaan> !blsq 2 100rofC>]
11:48:54 <blsqbot> {97}
11:49:12 <AndoDaan> !blsq 2 100rofC^^>]
11:49:12 <blsqbot> {97}
11:49:21 <AndoDaan> !blsq 2 100ro^^fC>]
11:49:21 <blsqbot> {97}
11:49:30 <AndoDaan> !blsq 2 100ro\*fC>]
11:49:31 <blsqbot> ERROR: Burlesque: (>]) Invalid arguments!
11:49:35 <AndoDaan> !blsq 2 100ro\^fC>]
11:49:35 <blsqbot> ERROR: Burlesque: (>]) Invalid arguments!
11:49:48 <AndoDaan> !blsq 2 100rofC[<
11:49:48 <blsqbot> ERROR: Unknown command: ([<)!
11:49:52 <AndoDaan> !blsq 2 100rofC[>
11:49:53 <blsqbot> ERROR: Unknown command: ([>)!
11:49:59 <AndoDaan> !blsq 2 100rofC
11:49:59 <blsqbot> {{} {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 <AndoDaan> !blsq 2 100rofCe!
11:50:07 <blsqbot> {2 2 5 5}
11:50:18 <AndoDaan> !blsq 2 100rofCpe
11:50:19 <blsqbot> {ERROR: Burlesque: (ps) Invalid arguments! 2 ERROR: Burlesque: (ps) Invalid argu
11:50:22 <AndoDaan> !blsq 2 100rofCsp
11:50:22 <blsqbot> Ain't nobody got output fo' that!
11:50:26 <AndoDaan> !blsq 2 100rofCspuN
11:50:26 <blsqbot> ERROR: Burlesque: (\[) Invalid arguments!
11:50:31 <AndoDaan> !blsq 2 100rofCuN
11:50:32 <blsqbot> ["\n", 2, "\n", 3, "\n", 2, 2, "\n", 5, "\n", 2, 3, "\n", 7, "\n", 2, 2, 2, "\n"
11:50:40 <AndoDaan> !blsq 2 100rofCun
11:50:41 <blsqbot> {"\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 <AndoDaan> !blsq 2 100rofCln
11:50:47 <blsqbot> ERROR: Burlesque: (ln) Invalid arguments!
11:51:01 <AndoDaan> !blsq 2 100rofC1co
11:51:01 <blsqbot> {{{}} {{2}} {{3}} {{2 2}} {{5}} {{2 3}} {{7}} {{2 2 2}} {{3 3}} {{2 5}} {{11}} {
11:51:04 <mroman_> hu
11:51:09 <AndoDaan> !blsq 2 100rofC1CO
11:51:09 <blsqbot> {{{}} {{2}} {{3}} {{2 2}} {{5}} {{2 3}} {{7}} {{2 2 2}} {{3 3}} {{2 5}} {{11}} {
11:51:10 <mroman_> Ain't nobody got output fo' that
11:51:11 <mroman_> wth is this
11:51:35 <AndoDaan> !blsq 2 100rofC<-uN
11:51:35 <blsqbot> [2, 2, 5, 5, "\n", 3, 3, 11, "\n", 2, 7, 7, "\n", 97, "\n", 2, 2, 2, 2, 2, 3, "\
11:51:47 <AndoDaan> ?
11:51:47 <mroman_> ah. if there's no output.
11:52:00 <mroman_> AndoDaan: un is broken for non-strings
11:52:10 <mroman_> not broken, but it doesn't unlines
11:52:24 <mroman_> !blsq 2 100rofCm]wd
11:52:24 <blsqbot> "[] [2] [3] [2, 2] [5] [2, 3] [7] [2, 2, 2] [3, 3] [2, 5] [11] [2, 2, 3] [13] [2
11:52:32 <mroman_> !blsq 2 100rofCm]wD
11:52:33 <blsqbot> [] [2] [3] [2, 2] [5] [2, 3] [7] [2, 2, 2] [3, 3] [2, 5] [11] [2, 2, 3] [13] [2,
11:52:36 <AndoDaan> !blsq 2 100rofCwd
11:52:37 <blsqbot> {' 2 ' 3 ' 2 2 ' 5 ' 2 3 ' 7 ' 2 2 2 ' 3 3 ' 2 5 ' 11 ' 2 2 3 ' 13 '
11:53:02 <AndoDaan> !blsq 2 100rofC[~wd
11:53:03 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
11:53:04 <mroman_> unlines and words just assume that it's a list of Strings
11:53:08 <AndoDaan> !blsq 2 100rofC[-wd
11:53:08 <blsqbot> {2 ' 3 ' 2 2 ' 5 ' 2 3 ' 7 ' 2 2 2 ' 3 3 ' 2 5 ' 11 ' 2 2 3 ' 13 ' 2
11:53:12 <mroman_> if it's not a list of Strings then sideffects happen
11:53:21 <AndoDaan> okay
11:53:29 <mroman_> because unlines/words are defined as
11:53:48 <AndoDaan> !blsq 2 100rofC[-wdsh
11:53:48 <blsqbot> [2, , 3, , 2, 2, , 5, , 2, 3, , 7, , 2, 2, 2, , 3, 3, , 2, 5, , 11, ,
11:53:52 <AndoDaan> !blsq 2 100rofC[-wdsH
11:53:53 <blsqbot> ERROR: Burlesque: (ff) Invalid arguments!
11:53:56 <mroman_> "\n"\/[[\[
11:54:00 <AndoDaan> !blsq 2 100rofC[-Ff
11:54:00 <blsqbot> ERROR: Burlesque: (ff) Invalid arguments!
11:54:06 <mroman_> !blsq {"hi" "there"}"\n"\/[[\[
11:54:07 <blsqbot> "hi\nthere"
11:54:14 <mroman_> !blsq {1 2 3}"\n"\/[[\[
11:54:15 <blsqbot> "\n12\n3"
11:54:26 <mroman_> unlines intersperses "\n" and then calls concat
11:54:26 <AndoDaan> !blsq 2 100rofC[-"\n"\/[[\[
11:54:26 <blsqbot> {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 <AndoDaan> !blsq 2 100rofC[-vv"\n"\/[[\[
11:55:11 <blsqbot> ERROR: Burlesque: (\[) Invalid arguments!
11:55:16 <AndoDaan> !blsq 2 100rofC[-"\n"\/[[\[
11:55:17 <blsqbot> {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 <AndoDaan> alright. enough messing around.
11:55:58 <AndoDaan> Time to write an OS in burlesque.
11:56:15 <AndoDaan> or something smaller.
11:56:16 <mroman_> You are welcome to implement I/O in Burlesque ;)
11:56:36 <AndoDaan> Maybe in time, I might have some ideas.
11:56:59 <AndoDaan> I'm still way too inexperienced.
11:57:09 <mroman_> If you need new features to do something just ask me ;)
11:57:13 <AndoDaan> to even think of adding to your language.
11:57:24 <mroman_> I'm happy to introduce new features if they will be needed.
11:57:24 <AndoDaan> Okay, thanks.
11:58:21 <AndoDaan> Probably shouldn't be dependant an what questions anarchy golf is outputing
11:58:57 <AndoDaan> Like now it would be read for a _a command
11:59:37 <AndoDaan> _a looks up the A045718 sequence online
11:59:45 <AndoDaan> and prints it out
12:00:09 <AndoDaan> whadda ya think?
12:02:02 <mroman_> no
12:02:09 <AndoDaan> good call.
12:02:19 <AndoDaan> (sorry, I'm being silly.)
12:02:48 <mroman_> New features must be of "general purpose"
12:03:04 <mroman_> and not just to solve one challenge
12:07:19 <AndoDaan> Q: how does regex work?
12:13:09 <mroman_> !blsq "hi there""i t"~=
12:13:09 <blsqbot> 1
12:13:14 <mroman_> !blsq "hithere""i t"~=
12:13:14 <blsqbot> 0
12:13:21 <mroman_> ~= is "does it match my regex"
12:13:33 <mroman_> !blsq "hi there""(i.t)"=~
12:13:34 <blsqbot> {"i t"}
12:13:40 <mroman_> !blsq "hixthere""(i.t)"=~
12:13:40 <blsqbot> {"ixt"}
12:13:48 <mroman_> =~ is "what matches my regex"
12:13:53 <mroman_> i.e.
12:14:07 <mroman_> !blsq "<b>content</b>""<b>(.*)</b>"=~
12:14:08 <blsqbot> {"content"}
12:14:11 <AndoDaan> . means any character?
12:14:17 <mroman_> yeah
12:14:27 <AndoDaan> and for digits and letters?
12:14:27 <mroman_> it's POSIX RegularExpression
12:14:38 <mroman_> you should google for posix regexp to learn how posix regexps work
12:14:44 <mroman_> that's not Burlesque specific
12:14:55 <AndoDaan> Okay, I'll look that up,
12:15:03 <fizzie> "man 7 regex" can often also help.
12:15:16 <fizzie> mroman_: Basic or extended?
12:16:28 <mroman_> fizzie: It uses regex-compat
12:16:32 <mroman_> wich uses Text.Regex.Posix
12:16:37 <mroman_> which is a wrapper for the c posix regex api
12:16:43 <mroman_> so I guess whatever the c posix regex api is doing
12:17:31 <fizzie> It can do both, depending on whether REG_EXTENDED flag is specified or not.
12:18:52 <fizzie> "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 <fizzie> Apparently extended, then.
12:19:49 <AndoDaan> !blsq "today is weekday"(week.*)=~
12:19:49 <blsqbot> ERROR: (line 1, column 22):
12:19:57 <AndoDaan> !blsq "today is weekday"(week)=~
12:19:57 <blsqbot> ERROR: (line 1, column 22):
12:20:11 <AndoDaan> !blsq "today is weekday""(week.)"=~
12:20:11 <blsqbot> {"weekd"}
12:21:50 <fizzie> !blsq "just testing""(s)(t)"=~
12:21:50 <blsqbot> {"s" "t"}
12:22:38 <AndoDaan> !blsq "today is weekday""(week.[^[:space:]])"=~
12:22:39 <blsqbot> {"weekda"}
12:22:50 <AndoDaan> !blsq "today is weekday""(week.[^[:space:]]+)"=~
12:22:51 <blsqbot> {"weekday"}
12:23:11 <fizzie> You probably don't want the . in there.
12:23:21 <AndoDaan> !blsq "today is weekday, and the weekend is far away""(week[^[:space:]]+)"=~
12:23:22 <blsqbot> {"weekday,"}
12:24:13 <AndoDaan> !blsq "today is weekday, and the weekend is far away""{(week[^[:space:]]+)"=~}m[
12:24:14 <blsqbot> That line gave me an error
12:25:00 <AndoDaan> Damn, I need to start getting to grips with the control flow aspects.
12:26:01 <mroman_> hu
12:26:07 <mroman_> your { } are missmatched
12:26:19 <mroman_> !blsq "today is weekday, and the weekend is far away"{"(week[^[:space:]]+)"=~}m[
12:26:20 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
12:26:30 <AndoDaan> !blsq "today is weekday, and the weekend is far away"{("week[^[:space:]]+)"=~}m[
12:26:30 <blsqbot> ERROR: (line 1, column 70):
12:26:37 <AndoDaan> !blsq "today is weekday, and the weekend is far away"{"(week[^[:space:]]+)"=~}m[
12:26:38 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
12:26:48 <mroman_> but you can't map over a string like that
12:26:51 <AndoDaan> !blsq "today is weekday, and the weekend is far away"{^^"(week[^[:space:]]+)"=~}m[
12:26:51 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
12:27:00 <mroman_> !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:]]+)"=~}m[
12:27:01 <blsqbot> {{} {} {"weekday,"} {} {} {"weekend"} {} {} {}}
12:27:24 <AndoDaan> ah.
12:27:35 <mroman_> you can only map over a string
12:27:39 <mroman_> if you work on characters
12:27:47 <mroman_> regex works on strings however
12:28:25 <fizzie> !blsq {"(week[^[:space:]]+)"~=}"today is weekday, and the weekend is far away"wdf[
12:28:26 <blsqbot> {"(week[^[:space:]]+)" ~=}
12:28:32 <fizzie> I got it wrong. :/
12:28:47 <mroman_> what do you wan't to do?
12:29:03 <fizzie> Filter the words with {"(week[^[:space:]]+)"~=}.
12:29:32 <mroman_> !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:]]+)"~=}f[
12:29:32 <blsqbot> {"weekday," "weekend"}
12:29:52 <fizzie> I guess I misinterpreted the order of the arguments column for f[.
12:29:59 <AndoDaan> !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:],]+)"~=}f[
12:30:00 <blsqbot> {"weekday," "weekend"}
12:30:08 <AndoDaan> !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:]\,]+)"~=}f[
12:30:09 <blsqbot> {"weekday," "weekend"}
12:30:15 <AndoDaan> !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:space:]%,]+)"~=}f[
12:30:15 <blsqbot> {"weekday," "weekend"}
12:30:17 <mroman_> The first argument to filter is the list to filter and the second argument is the "filter"
12:30:55 <fizzie> 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 <AndoDaan> , is a special character?
12:31:12 <mroman_> fizzie: Oh.
12:31:15 <mroman_> Thx for reporting that.
12:31:50 <mroman_> The documented order is indeed wrong.
12:32:34 <fizzie> AndoDaan: , is not a special character, but when filtering, you get the original word, not the part the regex's () matched.
12:33:23 <mroman_> exactly
12:33:28 <fizzie> 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 <mroman_> you mean like
12:34:16 <mroman_> !blsq "abc""(.*)"=~
12:34:17 <blsqbot> {"abc"}
12:34:22 <AndoDaan> !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:digit:]^[:punct:]]+)"~=}f[
12:34:23 <blsqbot> {"weekday," "weekend"}
12:34:25 <mroman_> !blsq "abc""(.)"=~
12:34:25 <blsqbot> {"a"}
12:34:32 <AndoDaan> !blsq "today is weekday, and the weekend is far away"wd{"(week[^[:digit:][:punct:]]+)"~=}f[
12:34:32 <blsqbot> {"weekday," "weekend"}
12:34:35 <mroman_> ^- you want {"a" "b" "c"} @fizzie
12:35:29 <AndoDaan> !blsq "today is weekday, and the weekend is far away"wd{"(week[a-z]+)"~=}f[
12:35:29 <blsqbot> {"weekday," "weekend"}
12:35:43 <fizzie> `perl-e @a = ("foo 123 bar 456 baz 789 quux" =~ /\d+/g); print join(" ", @a);
12:35:43 <AndoDaan> oh well, I tried.
12:35:44 <HackEgo> 123 456 789
12:35:48 <fizzie> That sort of thing.
12:36:17 <fizzie> And I don't exactly "want" it, I'm not doing anything in particular, just an observation.
12:36:22 <mroman_> !blsq "foo 123 bar 456 baz 789 quux""[[:digit:]]+"=~
12:36:23 <blsqbot> {}
12:36:27 <mroman_> !blsq "foo 123 bar 456 baz 789 quux""[[:digit:]+]"=~
12:36:28 <blsqbot> {}
12:36:31 <mroman_> !blsq "foo 123 bar 456 baz 789 quux""[[:digit:]]"=~
12:36:31 <blsqbot> {}
12:36:36 <mroman_> !blsq "foo 123 bar 456 baz 789 quux""[[:digit:]]*"=~
12:36:37 <blsqbot> {}
12:36:38 <mroman_> hm
12:36:46 <mroman_> !blsq "foo 123 bar 456 baz 789 quux""([[:digit:]]+)"=~
12:36:46 <blsqbot> {"123"}
12:37:08 <mroman_> !blsq "foo 123 bar 456 baz 789 quux""([[:digit:]]+)*"=~
12:37:08 <blsqbot> {""}
12:37:16 <mroman_> !blsq "foo 123 bar 456 baz 789 quux""([[:digit:]])*"=~
12:37:16 <blsqbot> {""}
12:37:23 <mroman_> yeah. I guess it can't do that
12:37:24 <fizzie> `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 <HackEgo> 1 3 4 6 7 9 1 9
12:38:05 <mroman_> fizzie: Thx for noticing that.
12:38:10 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"{"([:digit:]+)"~=}f[
12:38:10 <blsqbot> "foo 123 bar 456 baz 789 quux"
12:38:11 <mroman_> :)
12:38:47 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"{"(^[:digit:][:digit:]^[:digit:]+)"~=}f[
12:38:48 <blsqbot> "foo 123 bar 456 baz 789 quux"
12:39:07 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"{"(^[:digit:]?[:digit:]+^[:digit:]?)"~=}f[
12:39:07 <blsqbot> "foo 123 bar 456 baz 789 quux"
12:39:21 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"{"(\[:digit:]+\)"~=}f[
12:39:22 <blsqbot> "foo 123 bar 456 baz 789 quux"
12:39:35 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"{"([:digit:]+)"~=}f[
12:39:36 <blsqbot> "foo 123 bar 456 baz 789 quux"
12:39:41 <mroman_> AndoDaan: An error in Burlesque is True
12:39:48 <mroman_> !blsq '*.+
12:39:49 <blsqbot> ERROR: Burlesque: (.+) Invalid arguments!
12:39:57 <mroman_> !blsq "hithere"{'*.+}f[
12:39:58 <blsqbot> "hithere"
12:40:02 <fizzie> 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 <mroman_> !blsq "foo 123 bar 456 baz"wd{"[:digit:]+"~=}f[
12:40:54 <blsqbot> {}
12:40:59 <mroman_> !blsq "foo 123 bar 456 baz"wd{"[[:digit:]]+"~=}f[
12:41:00 <blsqbot> {"123" "456"}
12:41:04 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"wd{'*.+}f[
12:41:04 <blsqbot> {"foo" "123" "bar" "456" "baz" "789" "quux"}
12:41:17 <fizzie> `perl-e print join(" ", grep {/^\d+$/} split " ", "foo 123 bar 456 baz 789 quux 123456789");
12:41:17 <HackEgo> 123 456 789 123456789
12:41:34 <mroman_> AndoDaan: Everything that is NOT Integer 0 is True
12:41:51 <mroman_> which means 0 -> False, '8 -> True, {} -> True, -1 -> True
12:41:55 <mroman_> Error -> True
12:42:01 <mroman_> "hi there" -> True
12:42:10 <mroman_> !blsq {1 2 3}{"hi there"}f[
12:42:11 <blsqbot> {1 2 3}
12:42:17 <mroman_> !blsq {1 2 3}{0}f[
12:42:17 <blsqbot> {}
12:42:20 <mroman_> !blsq {1 2 3}{?d}f[
12:42:21 <blsqbot> {2 3}
12:42:37 <mroman_> {?i} for example removes every -1
12:42:44 <mroman_> !blsq {-1 2 3 -1 4}{?i}f[
12:42:45 <blsqbot> {2 3 4}
12:43:14 <mroman_> Burlesque has two kind of errors
12:43:17 <mroman_> !blsq 2 0?/
12:43:17 <blsqbot> That line gave me an error
12:43:24 <mroman_> errors that are underlying haskell errors
12:43:25 -!- prooftechnique has joined.
12:43:26 <mroman_> and
12:43:28 <mroman_> !blsq 2?/
12:43:29 <blsqbot> ERROR: Burlesque: (./) Invalid arguments!
12:43:33 <mroman_> Burlesque Error Values
12:43:36 <mroman_> !blsq 2?/to
12:43:36 <blsqbot> "Error"
12:43:44 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"wd{'*}f[
12:43:44 <blsqbot> {"foo" "123" "bar" "456" "baz" "789" "quux"}
12:43:49 <mroman_> ^- it's just a value on the stack with type error
12:43:53 <mroman_> !blsq 2?/toSh
12:43:54 <blsqbot> "Error"
12:43:57 <mroman_> !blsq 2?/Sh
12:43:57 <blsqbot> "ERROR: Burlesque: (./) Invalid arguments!"
12:44:00 <mroman_> !blsq 2?/Sh<-Q
12:44:00 <blsqbot> !stnemugra dilavnI )/.( :euqselruB :RORRE
12:44:27 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"wd{'*tito"int"~=}f[
12:44:28 <blsqbot> {}
12:44:47 <mroman_> (drop the '*)
12:45:00 <mroman_> !blsq "foo 123 bar 456 baz 789 quux"wd{tito"int"~=}f[
12:45:00 <blsqbot> {}
12:45:03 <mroman_> !blsq "foo 123 bar 456 baz 789 quux"wd{tito"Int"~=}f[
12:45:03 <blsqbot> {"foo" "123" "bar" "456" "baz" "789" "quux"}
12:45:09 <mroman_> !blsq "foo 123 bar 456 baz 789 quux"wd{tito"Int"==}f[
12:45:09 <blsqbot> {"foo" "123" "bar" "456" "baz" "789" "quux"}
12:45:16 <mroman_> lol
12:45:17 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"wd{'*tito"int"sn}f[
12:45:17 <blsqbot> {"foo" "123" "bar" "456" "baz" "789" "quux"}
12:45:20 <mroman_> !blsq "foo"ti
12:45:20 <blsqbot> That line gave me an error
12:45:24 <AndoDaan> !blsq "foo 123 bar 456 baz 789 quux"wd{'*tito"int"==}f[
12:45:25 <blsqbot> {}
12:45:25 <mroman_> ah
12:45:26 <mroman_> ok
12:45:41 <AndoDaan> !bslq 123to
12:45:54 <mroman_> !blsq "foo"ra
12:45:54 <blsqbot> ERROR: (line 1, column 1):
12:45:57 <mroman_> !blsq "foo"rato
12:45:57 <blsqbot> "Error"
12:45:59 <mroman_> :)
12:46:00 <mroman_> hehe
12:46:01 <AndoDaan> !bslq 123 to
12:46:13 <mroman_> !blsq "foo 123 bar 456 baz"{raisn!}f[
12:46:14 <blsqbot> "foo 123 bar 456 baz"
12:46:20 <mroman_> !blsq "foo 123 bar 456 baz"{rais}f[
12:46:20 <blsqbot> ""
12:46:31 <mroman_> !blsq "foo"rais
12:46:31 <blsqbot> 1
12:46:34 <mroman_> !blsq "123"rais
12:46:35 <blsqbot> 0
12:46:41 <mroman_> !blsq "foo 123 bar 456 baz"wd{rais}f[
12:46:41 <blsqbot> {"foo" "bar" "baz"}
12:46:44 <mroman_> !blsq "foo 123 bar 456 baz"wd{raisn!}f[
12:46:45 <blsqbot> {"123" "456"}
12:46:47 <mroman_> :)
12:46:55 <AndoDaan> I'm barking up the wrong tree.
12:47:01 <mroman_> raisn! filters out everything that can't be parsed by ra
12:47:12 <mroman_> !blsq "foo 123 bar 456 baz .+"wd{raisn!}f[
12:47:12 <blsqbot> {"123" "456"}
12:47:17 <mroman_> !blsq "foo 123 bar 456 baz .+ 9.0"wd{raisn!}f[
12:47:17 <blsqbot> {"123" "456" "9.0"}
12:47:22 <mroman_> !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"wd{raisn!}f[
12:47:22 <blsqbot> {"123" "456" "9.0" "[1,2]"}
12:47:25 <AndoDaan> alright, thanks.
12:47:32 <mroman_> !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"wd{raisn!}f[)ra
12:47:32 <blsqbot> {123 456 9.0 {1 2}}
12:48:19 <fizzie> Raisins.
12:48:51 <mroman_> !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"wd{psisn!}f[)ps
12:48:52 <blsqbot> {{ERROR: (line 1, column 4):
12:48:55 <mroman_> !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"wd{psisn!}f[
12:48:55 <blsqbot> {"foo" "123" "bar" "456" "baz" ".+" "9.0" "[1,2]"}
12:49:06 <mroman_> ah
12:49:07 <mroman_> ok
12:50:38 <mroman_> there's btw w[
12:50:49 <mroman_> !blsq "foo 123 bar 456 baz .+ 9.0 [1,2]"{raisn!}w[
12:50:50 <blsqbot> "123 456 9.0 [1,2]"
12:50:56 <mroman_> w[ is FilterWords
12:51:04 <mroman_> W[ is FilterLines
12:52:23 <AndoDaan> I got too chummy with "m[" when I started. Time to date other mappers.
12:52:34 <AndoDaan> or filters or loopie thingies
12:53:11 <mroman_> I like how people not familiar with Burlesque get confused by missmatching square brackets
12:53:15 <mroman_> :D
12:53:35 <mroman_> or missmatching parantheses
12:53:47 <mroman_> !blsq 5}htenuehasheubewuv.pg'crlygkbx
12:53:48 <blsqbot> 5
12:54:05 <mroman_> the parser stops if it encounters a } without having seen a {
12:54:27 <AndoDaan> !blsq "hello all"}"end"
12:54:28 <blsqbot> "hello all"
12:54:51 <AndoDaan> !blsq "hello all"'}"end"
12:54:51 <blsqbot> "end"
12:54:52 -!- SvenGek has joined.
12:55:08 <mroman_> '} is a char
12:55:08 <mroman_> :)
12:55:30 <AndoDaan> Tried to pull the wool over blsqbot eyes.
12:55:59 <mroman_> !blsq 1223 2231IN
12:56:00 <blsqbot> 1223
12:56:09 <mroman_> !blsq 1232 2231IN
12:56:09 <blsqbot> 1232
12:56:15 <mroman_> !blsq 12432 22431IN
12:56:16 <blsqbot> 12432
12:56:19 <mroman_> !blsq 12432 2231IN
12:56:20 <blsqbot> 1232
12:56:42 <mroman_> intersection of integers is fun
12:56:51 <SvenGek> What lang is that? GolfScript?
12:57:10 <AndoDaan> !blsq {69 0 1 rn}e!10co-]
12:57:10 <blsqbot> {1 1 1 1 1 1 0 0 1 0}
12:57:20 <AndoDaan> !blsq {13 0 1 rn}e!10co-]
12:57:21 <blsqbot> {1 1 0 1 0 1 1 1 1 0}
12:58:21 <AndoDaan> what does intersection do?
12:58:42 <AndoDaan> shared digits?
12:59:15 <AndoDaan> !blsq 9988 77877IN
12:59:16 <blsqbot> 88
12:59:26 <AndoDaan> !blsq 79988 77877IN
12:59:27 <blsqbot> 788
13:00:21 <AndoDaan> hmm, that can probably help me get an answer I have on codegolf SE down
13:02:01 <mroman_> you golf in Burlesque on StackExchange?
13:02:27 <AndoDaan> Only just started!
13:02:40 <AndoDaan> And I have to actually thank you.
13:02:49 <mroman_> Link?
13:03:05 <AndoDaan> If it wasn't for burlesque, id still be stuck with godf*cking lua
13:03:13 <AndoDaan> http://codegolf.stackexchange.com/questions/38325/minimum-excluded-number
13:04:18 <AndoDaan> burleques, AND you helping me out with getting to grips with it.
13:04:42 <mroman_> smallest non occuring number?
13:04:48 <AndoDaan> yes
13:05:19 <mroman_> !blsq {1 0 7 6 3 11 15 9 2 4 5 6 7 8 9}20ro\\
13:05:20 <blsqbot> {0 6 7 9}
13:05:32 <mroman_> !blsq {1 0 7 6 3 11 15 9 2 4 5 6 7 8 9}20roj\\
13:05:32 <blsqbot> {10 12 13 14 16 17 18 19 20}
13:05:37 <mroman_> !blsq {1 0 7 6 3 11 15 9 2 4 5 6 7 8 9}20roj\\<m
13:05:37 <blsqbot> ERROR: Burlesque: (-]) Invalid arguments!
13:05:41 <mroman_> !blsq {1 0 7 6 3 11 15 9 2 4 5 6 7 8 9}20roj\\<]
13:05:41 <blsqbot> 10
13:06:11 <AndoDaan> Go right ahead, I'm happy with my original answer. my 1st
13:06:39 <AndoDaan> I'll just hope to improve with each task.
13:06:50 <mroman_> I'm not sure about he rules on anagol
13:06:59 <mroman_> s/anagol/se
13:07:06 <mroman_> on anagol you have limited testcases
13:07:13 <mroman_> so if the largest number in a given testcase is 18
13:07:25 <mroman_> then don't bother about finding the maximum number in the list first
13:07:28 <mroman_> and just assume it's 20
13:07:29 <AndoDaan> Yeah, kinda a big loose thread.
13:07:50 <AndoDaan> If nobody checks an submitted answer, then it stays.
13:08:18 <AndoDaan> there's no autmatic verification of your program.
13:08:25 <mroman_> I think it's great that you link to the online shell
13:08:38 <mroman_> 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 <AndoDaan> :)
13:09:16 <mroman_> I should make the textfield a little bit larger though
13:09:41 <AndoDaan> I'll edit a link to the language spec in there. Try and recruit some ppl.
13:10:30 <mroman_> Yay \o/
13:10:30 <myndzi> |
13:10:30 <myndzi> >\
13:10:47 <mroman_> I should also make a link to the homepage from the online shell
13:10:50 <AndoDaan> To the tutorial?
13:11:03 <mroman_> no just to mroman.ch/burlesque I guess
13:11:13 <mroman_> there's a link to the tutorial there
13:15:35 <AndoDaan> Ok then.
13:15:52 <mroman_> More people are good :)
13:15:56 <mroman_> More people means more feedback
13:16:01 <mroman_> more feedback means more/better stuff
13:16:11 <mroman_> and more competition :)
13:16:39 <AndoDaan> 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 <mroman_> AndoDaan: Increment every number in a String will be hard in Burlesque
14:31:15 <mroman_> because it will require the kind of state Burlesque sucks at
14:31:32 <b_jonas> ooh
14:31:35 <AndoDaan> I'm trying to crack that one right now.
14:31:52 <AndoDaan> but you've convinced me.
14:31:54 <mroman_> oh wait
14:31:57 <AndoDaan> It's impossible.
14:31:59 <mroman_> there's gruyBy
14:32:01 <mroman_> *groupBy
14:33:05 <mroman_> wtf
14:33:10 <mroman_> there isn't any groupBy?
14:33:19 <AndoDaan> =[
14:33:32 <mroman_> yeah
14:33:35 <mroman_> but that's group
14:33:37 <mroman_> not groupBy
14:34:47 <b_jonas> `perl -eprint"zqa83p774753jm54mi63lel3m883155bfr5b"=~s/\d+/$&+1/ger
14:34:47 <HackEgo> zqa84p774754jm55mi64lel4m883156bfr6b
14:35:44 <b_jonas> `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/){substr($_,$-[0],$+[0]-$-[0])++}print
14:35:50 <b_jonas> `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){substr($_,$-[0],$+[0]-$-[0])++}print
14:36:14 <HackEgo> No output.
14:36:21 <HackEgo> No output.
14:36:32 <b_jonas> `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){}print
14:36:33 <HackEgo> zqa83p774753jm54mi63lel3m883155bfr5b
14:36:50 <b_jonas> `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){print"$-[0],$+[0],"}print
14:36:50 <HackEgo> 3,5,6,12,14,16,18,20,23,24,25,31,34,35,zqa83p774753jm54mi63lel3m883155bfr5b
14:37:10 <b_jonas> `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){print"[".substr($_,$-[0],$+[0]-$-[0])."]"}print
14:37:11 <HackEgo> ​[83][774753][54][63][3][883155][5]zqa83p774753jm54mi63lel3m883155bfr5b
14:37:29 <b_jonas> `perl -e$_="zqa83p774753jm54mi63lel3m883155bfr5b";while(/\d+/g){print"[".substr($_,$-[0],$+[0]-$-[0])++."]"}print
14:37:31 <HackEgo> ​[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 <b_jonas> oh damn, that breaks the pos
14:38:01 <b_jonas> meh, just keep the s///ger method then
14:38:54 <mroman_> AndoDaan: It's mostly impossible
14:39:03 <mroman_> it can be done with using the secondary state stack and stuff
14:39:21 <mroman_> but it will probably be hundreds of characters long just to maintain state
14:39:47 -!- shikhin has joined.
14:39:54 <AndoDaan> a task for another day.
14:41:40 -!- mitch|chromebook has joined.
14:41:49 <AndoDaan> 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 <AndoDaan> like trace... I think.
14:42:31 <AndoDaan> that's what it's called when debugging befunge.
14:43:27 <mroman_> I see there's no splitBy too
14:43:29 <mroman_> damn
14:43:42 <mroman_> I knew there were important things still missing in 1.7.3
14:44:05 <AndoDaan> splitby is not ;; ?
14:44:30 <AndoDaan> "a_feio_ff""_"::
14:44:37 <AndoDaan> !bslq "a_feio_ff""_"::
14:44:40 <mroman_> no
14:44:46 <mroman_> i mean like
14:44:47 <mroman_> uhm
14:44:51 <AndoDaan> !bslq "a_feio_ff""_";;
14:44:54 <mroman_> @type splitBy
14:44:55 <lambdabot> Not in scope: ‘splitBy’
14:44:55 <lambdabot> Perhaps you meant one of these:
14:44:55 <lambdabot> ‘splitAt’ (imported from Data.List),
14:44:58 <mroman_> hm
14:45:03 <mroman_> i.e.
14:45:18 <mroman_> !blsq {1 2 3 4 5 6 7}{2dv}<splitBy>
14:45:19 <blsqbot> ERROR: (line 1, column 30):
14:45:23 <AndoDaan> !bslq "a feio ff"" ";;
14:45:25 <mroman_> which would split the list at even numbers
14:45:31 <mroman_> i.e. instead of an element to split at
14:45:35 <mroman_> you provide a predicate
14:45:50 <AndoDaan> !bslq "a feio ff"'f;;
14:46:10 <mroman_> !blsq "a feio ff""f";;
14:46:10 <blsqbot> {"a " "eio " "" ""}
14:46:21 <AndoDaan> !bslq "a feio ff""f";;
14:46:41 <AndoDaan> oops
14:46:47 <AndoDaan> !blsq "a feio ff""f";;
14:46:47 <blsqbot> {"a " "eio " "" ""}
14:47:16 <AndoDaan> !blsq "a88feio123 ff""([0-9])";;
14:47:17 <blsqbot> {"a88feio123 ff"}
14:47:25 <AndoDaan> !blsq "a88feio123 ff""([0-9]*)";;
14:47:25 <blsqbot> {"a88feio123 ff"}
14:47:34 <AndoDaan> !blsq "a88feio123 ff""([1-9]*)";;
14:47:35 <blsqbot> {"a88feio123 ff"}
14:47:45 <mroman_> ;; doesn't work with regex
14:47:48 <mroman_> you need to use sr
14:47:49 <AndoDaan> !blsq "a88feio123 ff""([]*)"sr
14:47:50 <blsqbot> {"([]*)"}
14:47:55 <AndoDaan> !blsq "a88feio123 ff""([0-8]*)"sr
14:47:55 <blsqbot> {"([0-8]*)"}
14:47:58 <mroman_> but sr has a different argument order ;)
14:48:01 <AndoDaan> !blsq "a88feio123 ff""([0-9])"sr
14:48:01 <blsqbot> {"([0-9])"}
14:48:16 <AndoDaan> !blsq "a88feio123 ff""([0-9])"\/sr
14:48:17 <blsqbot> {"a" "" "feio" "" "" " ff"}
14:48:36 <mroman_> well
14:48:47 <mroman_> if there are no '~ in the input string then
14:48:49 <AndoDaan> instead of split, we use replace
14:49:08 <AndoDaan> then change the numbers and merge
14:49:09 <mroman_> !blsq "[0-9]""a88b77c"sr
14:49:09 <blsqbot> {"a" "" "b" "" "c"}
14:49:16 <mroman_> !blsq "[0-9]""a88b77c"Jx/sr
14:49:17 <blsqbot> {"[0-9]"}
14:49:18 <mroman_> !blsq "[0-9]""a88b77c"Jx/sr#s
14:49:19 <blsqbot> {{"[0-9]"} "a88b77c"}
14:49:24 <mroman_> !blsq "[0-9]""a88b77c"J#S
14:49:24 <blsqbot> "a88b77c"
14:49:26 <mroman_> !blsq "[0-9]""a88b77c"J#s
14:49:27 <blsqbot> {"a88b77c" "a88b77c" "[0-9]"}
14:49:32 <mroman_> !blsq "[0-9]""a88b77c"J#s#r
14:49:33 <blsqbot> "a88b77c"
14:49:35 <mroman_> !blsq "[0-9]""a88b77c"J#r#s
14:49:36 <blsqbot> {"a88b77c" "[0-9]" "a88b77c"}
14:49:41 <mroman_> !blsq "[0-9]""a88b77c"J#rsr
14:49:42 <blsqbot> {"a" "" "b" "" "c"}
14:49:45 <mroman_> !blsq "[0-9]""a88b77c"J#rsr#s
14:49:46 <blsqbot> {{"a" "" "b" "" "c"} "a88b77c"}
14:50:00 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
14:50:08 <b_jonas> 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 <mroman_> hehe
14:50:35 <mroman_> this might work
14:50:40 <mroman_> !blsq "[0-9]""a88b77c"J#rsr#s
14:50:40 <blsqbot> {{"a" "" "b" "" "c"} "a88b77c"}
14:50:46 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj#s
14:50:46 <blsqbot> {"a88b77c" {"a" "" "b" "" "c"}}
14:50:55 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#s
14:50:56 <blsqbot> {{"" "88" "77" ""} {"a" "" "b" "" "c"}}
14:51:16 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#{L[}f[j{L[}f[#s
14:51:17 <blsqbot> ERROR: Burlesque: (L[) Invalid arguments!
14:51:27 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#{L[}f[#s
14:51:27 <blsqbot> ERROR: Burlesque: (L[) Invalid arguments!
14:51:32 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#
14:51:32 <blsqbot> ERROR: (line 1, column 34):
14:51:36 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr#s
14:51:37 <blsqbot> {{"" "88" "77" ""} {"a" "" "b" "" "c"}}
14:51:43 <mroman_> what
14:51:47 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr
14:51:47 <blsqbot> {"" "88" "77" ""}
14:51:52 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{}f[
14:51:52 <blsqbot> {"" "88" "77" ""}
14:51:55 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{z?}f[
14:51:56 <blsqbot> {"" ""}
14:51:59 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[
14:51:59 <blsqbot> {"88" "77"}
14:52:05 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[j{nz}f[#s
14:52:06 <blsqbot> {{"a" "b" "c"} {"88" "77"}}
14:52:14 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[
14:52:14 <blsqbot> {"88" "77"}
14:52:18 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?i
14:52:19 <blsqbot> {89 78}
14:52:23 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]
14:52:24 <blsqbot> {"89" "78"}
14:52:29 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[
14:52:29 <blsqbot> {"a" "b" "c"}
14:52:32 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[#s
14:52:32 <blsqbot> {{"a" "b" "c"} {"89" "78"}}
14:52:36 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[**
14:52:36 <blsqbot> {"89" "a" "78" "b" "c"}
14:52:39 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**
14:52:40 <blsqbot> {"a" "89" "b" "78" "c"}
14:52:43 <mroman_> !blsq "[0-9]""a88b77c"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**\[Q
14:52:43 <blsqbot> a89b78c
14:52:48 <mroman_> yeah
14:52:57 <mroman_> !blsq "[0-9]""a88b99dcd1234cdc"J#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**\[Q
14:52:58 <blsqbot> a89b100dcd1235cdc
14:53:08 <AndoDaan> well done!
14:53:21 <mroman_> !blsq "a88b99dcd1234cdc""[0-9]"jJ#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**\[Q
14:53:21 <blsqbot> a89b100dcd1235cdc
14:53:29 <mroman_> yeah. but this isn't nice burlesque code :)
14:53:30 <AndoDaan> the impossible achieved iin under 15 min.
14:53:48 <AndoDaan> code that works is the nicest code
14:53:53 <mroman_> !blsq "1a88b99dcd1234cdc1""[0-9]"jJ#rsrj"[a-z]"jsr{nz}f[)ri?im]j{nz}f[j**\[Q
14:53:53 <blsqbot> a2b89dcd100cdc12352
14:54:04 <mroman_> ^- and it's buggy in these edge cases
14:54:15 <mroman_> which you can circumvent
14:54:22 <mroman_> by adding a dummy character to the input first and remove it latter
14:55:00 <mroman_> I guess I add a mapRegex command :)
14:55:12 <mroman_> something like that
14:55:21 <mroman_> but groupBy/splitBy definitely make it to 1.7.4
14:55:24 <AndoDaan> That might be a useful command "any a any b concate aba"
14:56:19 <AndoDaan> or maybe middle.
14:56:23 <mroman_> !blsq "abc""123"**
14:56:23 <blsqbot> "a1b2c3"
14:56:38 <mroman_> I split the list into non-digits and digits
14:56:41 <AndoDaan> or somthing like that.
14:56:44 <mroman_> increment the ints in the digits list
14:56:48 <mroman_> and then merge them together with **
14:57:12 <AndoDaan> lol, see I shouldn't make suggestions until I hacve a couple more days under my belt.
14:57:20 <b_jonas> example input: qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN
14:57:38 <mroman_> but at that point you're shorter using C than using Burlesque
14:57:40 <b_jonas> `perl -eprint"qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN"=~s/\d+/$&+1/gre
14:57:41 <HackEgo> qr50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4anPAN
14:57:42 <mroman_> and it's probably easier in C as well
14:57:44 <mroman_> ;)
14:58:46 <mroman_> !blsq "a77bc"{2.+}c!
14:58:46 <blsqbot> "a7"
14:58:49 <mroman_> !blsq "a77bc"{2.+}c!#s
14:58:49 <blsqbot> {"a7" "a77bc"}
14:58:54 <mroman_> !blsq "a77bc"{2.+}3C!#s
14:58:55 <blsqbot> {"a7" "a7" "a7" "a77bc"}
14:59:04 <mroman_> !blsq "a77bc"{2.+j}3C!#s
14:59:05 <blsqbot> {ERROR: Burlesque: (\/) Stack size error! 2 ERROR: Burlesque: (\/) Stack size er
14:59:11 <mroman_> !blsq "a77bc"{2.+Jj}3C!#s
14:59:11 <blsqbot> {"a7" "a7" "a7" "a77bc"}
14:59:13 <mroman_> hm
14:59:23 <mroman_> no. there's no good way to do this sort of stuff
14:59:28 <mroman_> maybe clock/hendrik/teebee knows one
14:59:31 <mroman_> but I doubt it
15:00:17 <b_jonas> !blsq "qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN""([0-9]+|[^0-9]+)"=~
15:00:17 <blsqbot> {"qr"}
15:00:38 <mroman_> sadly this stops after the first match
15:02:06 <mroman_> !blsq "a888b898""([0-9]+|[^0-9]+)([0-9]+|[^0-9]+)"=~
15:02:07 <blsqbot> {"a" "888"}
15:02:15 <mroman_> you'd have to do it this way
15:02:22 <mroman_> i.e.
15:02:31 <mroman_> !blsq "a888b898""([0-9]+|[^0-9]+)"10.*
15:02:31 <blsqbot> {"([0-9]+|[^0-9]+)" "([0-9]+|[^0-9]+)" "([0-9]+|[^0-9]+)" "([0-9]+|[^0-9]+)" "([
15:02:36 <mroman_> !blsq "a888b898""([0-9]+|[^0-9]+)"10.*\[=~
15:02:36 <blsqbot> {}
15:02:39 <mroman_> !blsq "a888b898""([0-9]+|[^0-9]+)"10.*\[~=
15:02:39 <blsqbot> 0
15:02:42 <mroman_> !blsq "a888b898""([0-9]+|[^0-9]+)"10.*\[
15:02:43 <blsqbot> "([0-9]+|[^0-9]+)([0-9]+|[^0-9]+)([0-9]+|[^0-9]+)([0-9]+|[^0-9]+)([0-9]+|[^0-9]+
15:02:51 <mroman_> but not too many :)
15:03:53 <mroman_> but this is already on the todo list for 1.7.4
15:06:28 <mroman_> "More RegExp-Power for 1.7.4"
15:06:44 -!- TieSoul has left.
15:08:21 <b_jonas> ah, that might work
15:08:32 <b_jonas> dunno
15:08:40 <mroman_> b_jonas: what might work?
15:08:52 <b_jonas> repeating the regex
15:08:59 <mroman_> You'd have to calculate how many teams to repeat it
15:09:13 <b_jonas> let me try to make a solution in J
15:09:18 <b_jonas> using the cut builtin
15:09:22 <mroman_> !blsq "a888b898""([0-9]+|[^0-9]+)"~=
15:09:22 <blsqbot> 1
15:09:25 <mroman_> !blsq "a888b898""([0-9]+|[^0-9]+)"=~
15:09:26 <blsqbot> {"a"}
15:09:30 <mroman_> !blsq "a888b898""([0-9]+|[^0-9]+)*"=~
15:09:31 <blsqbot> {"898"}
15:09:40 <mroman_> !blsq "a888b898""(([0-9]+|[^0-9]+))*"=~
15:09:40 <blsqbot> {"898" "898"}
15:09:46 <mroman_> hm
15:09:48 -!- zzo38 has quit (Remote host closed the connection).
15:09:58 <mroman_> !blsq "a888b898""((([0-9]+)|([^0-9])+))*"=~
15:09:58 <blsqbot> {"898" "898" "898" "b"}
15:10:32 <mroman_> !blsq "a888b898""(([0-9])|([a-z]))"=~
15:10:32 <blsqbot> {"a" "" "a"}
15:10:46 <mroman_> !blsq "a888b898""(([0-9]|[a-z]))"=~
15:10:46 <blsqbot> {"a" "a"}
15:11:01 <mroman_> !blsq "a888b898""(([0-9]+|[a-z]+))"=~
15:11:02 <blsqbot> {"a" "a"}
15:11:04 <mroman_> wth
15:11:07 <mroman_> why are there two as?
15:11:17 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"=~
15:11:18 <blsqbot> {"a"}
15:11:26 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)*"=~
15:11:27 <blsqbot> {"898"}
15:11:32 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)+"=~
15:11:33 <blsqbot> {"898"}
15:11:39 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)?*"=~
15:11:39 <blsqbot> {"898"}
15:11:51 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+){2}"=~
15:11:52 <blsqbot> {"888"}
15:11:55 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+){1}"=~
15:11:55 <blsqbot> {"a"}
15:11:57 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+){2}"=~
15:11:58 <blsqbot> {"888"}
15:12:00 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+){3}"=~
15:12:00 <blsqbot> {"b"}
15:12:02 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+){4}"=~
15:12:03 <blsqbot> {"898"}
15:12:13 <mroman_> hm
15:12:16 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+){5}"=~
15:12:16 <blsqbot> {"8"}
15:12:24 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+){1,4}"=~
15:12:25 <blsqbot> {"898"}
15:12:34 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"=~
15:12:34 <blsqbot> {"a"}
15:12:39 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"2.*\[=~
15:12:40 <blsqbot> {"a" "888"}
15:12:43 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"3.*\[=~
15:12:43 <blsqbot> {"a" "888" "b"}
15:12:46 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"4.*\[=~
15:12:46 <blsqbot> {"a" "888" "b" "898"}
15:12:49 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"5.*\[=~
15:12:49 <blsqbot> {"a" "888" "b" "89" "8"}
15:12:52 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"6.*\[=~
15:12:53 <blsqbot> {"a" "888" "b" "8" "9" "8"}
15:12:55 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"5.*\[=~
15:12:55 <blsqbot> {"a" "888" "b" "89" "8"}
15:12:59 <mroman_> !blsq "a888b898""([0-9]+|[a-z]+)"4.*\[=~
15:13:00 <blsqbot> {"a" "888" "b" "898"}
15:14:06 <mroman_> !blsq {1 2 3}{Pp"a888b898""([0-9]+|[a-z]+)"pP.*\[=~}m[
15:14:06 <blsqbot> {{"a"} {"a" "888"} {"a" "888" "b"}}
15:14:13 <mroman_> !blsq {1 2 3 4 5}{Pp"a888b898""([0-9]+|[a-z]+)"pP.*\[=~}m[
15:14:13 <blsqbot> {{"a"} {"a" "888"} {"a" "888" "b"} {"a" "888" "b" "898"} {"a" "888" "b" "89" "8"
15:14:32 <mroman_> !blsq {1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[==}m[
15:14:32 <blsqbot> {0 0 0 1 1}
15:14:52 <mroman_> I guess you can do some hacky stuff
15:15:09 <mroman_> like just trying until you have the exact amount of repetitions you need
15:15:28 <mroman_> !blsq {1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[}m[
15:15:29 <blsqbot> {"a" "a888b898" "a888" "a888b898" "a888b" "a888b898" "a888b898" "a888b898" "a888
15:15:45 <mroman_> !blsq "a888b898"{1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[}m[Fi
15:15:45 <blsqbot> ERROR: Burlesque: (fi) Invalid arguments!
15:15:54 <mroman_> !blsq "a888b898"{1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[}m[fI
15:15:55 <blsqbot> {}
15:16:11 <mroman_> !blsq "a888b898"{1 2 3 4 5}{Pp"a888b898"^^"([0-9]+|[a-z]+)"pP.*\[=~\[}m[jFi
15:16:12 <blsqbot> 1
15:16:28 <mroman_> whatever.
15:16:29 <mroman_> screw it :)
15:16:38 <mroman_> it's not nicely doable in Burlesque
15:16:40 <AndoDaan> Valiant effort.
15:17:24 <mroman_> 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 <mroman_> there's no loop in Burlesque
15:18:49 <mroman_> other than the sucky w!
15:19:31 <mroman_> AndoDaan: You can use my solution with **
15:19:43 <b_jonas> [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' 'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN'
15:19:46 <b_jonas> this seems to work
15:19:46 <mroman_> you just have to tweak it for the edge case where the string doesn't start with a non-digit
15:20:01 <b_jonas> (in J, message it to j-bot to try)
15:20:52 <AndoDaan> I rather not. Your code should be seen, but I like to keep my submission strickly self created.
15:21:17 <b_jonas> but yeah, that's quite ugly
15:21:23 <mroman_> but as soon as you have a real RegExp "findAllMatches" command or groupBy it will be much nicer :)
15:21:41 <mroman_> (i.e. one that doesn't stop after the first match)
15:22:36 <mroman_> b_jonas: it is an ugly "problem"
15:22:38 <mroman_> It's a nice problem
15:22:45 <b_jonas> this probably could be improved, I should use the fact that every other group is number
15:22:58 <b_jonas> so that I don't need that ugly test
15:23:00 <b_jonas> let me try
15:23:16 <mroman_> it's essentially groupBy (\x y -> asciiGroup x == asciiGroup y)
15:23:23 <mroman_> where asciiGroup is Digit,Alpha
15:23:47 <mroman_> > groupBy
15:23:49 <lambdabot> No instance for (Data.Typeable.Internal.Typeable a0)
15:23:49 <lambdabot> arising from a use of ‘M734772146368920775316617.show_M7347721463689207753...
15:23:49 <lambdabot> The type variable ‘a0’ is ambiguous
15:23:49 <lambdabot> Note: there are several potential instances:
15:23:49 <lambdabot> instance Data.Typeable.Internal.Typeable Data.Dynamic.Dynamic
15:24:09 <mroman_> > groupBy (\x y -> if isDigit x && isDigit y then EQ else LT) "abc87a"
15:24:10 <lambdabot> Couldn't match expected type ‘GHC.Types.Bool’
15:24:10 <lambdabot> with actual type ‘GHC.Types.Ordering’Couldn't match expected typ...
15:24:10 <lambdabot> with actual type ‘GHC.Types.Ordering’
15:24:23 <mroman_> > groupBy (\x y -> if (isDigit x) && (isDigit y) then EQ else LT) "abc87a"
15:24:24 <lambdabot> Couldn't match expected type ‘GHC.Types.Bool’
15:24:25 <lambdabot> with actual type ‘GHC.Types.Ordering’Couldn't match expected typ...
15:24:25 <lambdabot> with actual type ‘GHC.Types.Ordering’
15:24:26 <mroman_> hm
15:24:45 <mroman_> > groupBy (\x y -> if (isDigit x) && (isDigit y) then True else False) "abc87a"
15:24:46 <lambdabot> ["a","b","c","87","a"]
15:24:48 <mroman_> ah
15:24:48 <mroman_> ok
15:25:04 <mroman_> > groupBy (\x y -> if (isDigit x) && (isDigit y) then True else False) "3123abc873a32qr2899"
15:25:06 <lambdabot> ["3123","a","b","c","873","a","32","q","r","2899"]
15:25:53 <mroman_> @pl \x y z -> f x `z` f y
15:25:53 <lambdabot> (. f) . flip . flip id . f
15:26:13 <mroman_> @pl \x y -> f x && f y
15:26:14 <lambdabot> (. f) . (&&) . f
15:26:19 <mroman_> I'd rather not use that :D
15:27:26 <Melvar> @type on
15:27:26 <lambdabot> (b -> b -> c) -> (a -> b) -> a -> a -> c
15:28:42 <b_jonas> [ 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 <mroman_> yeah
15:28:55 <mroman_> that's the easy case!
15:29:01 <mroman_> ;D
15:29:27 <b_jonas> 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 <b_jonas> ah great
15:32:23 <b_jonas> it lets anyone invite the bot
15:32:29 <b_jonas> [ 3 :';_2(,>:&.".)&.:>/\y<;.1~1,2~:/\(48+i.10)e.~3 u:y' 'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN'
15:32:42 <b_jonas> j-bot: 3 :';_2(,>:&.".)&.:>/\y<;.1~1,2~:/\(48+i.10)e.~3 u:y' 'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN'
15:32:42 <j-bot> b_jonas: qr50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4anPAN
15:33:12 <b_jonas> [ 3 :';_2(,>:&.".)&.:>/\y<;.1~1,2~:/\(48+i.10)e.~3 u:y' '49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN' NB. fails if starts with digit
15:33:12 <j-bot> b_jonas: 4990991685296460073
15:33:50 -!- `^_^v has joined.
15:34:41 -!- prooftechnique has quit (Ping timeout: 260 seconds).
15:35:02 <b_jonas> [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y'
15:35:03 <j-bot> b_jonas: 3 : ';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y'
15:35:20 <b_jonas> [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' testcase=:'qr49vUv90jM99JTeyc16uwngba85J2PjKfa9nUv646fteO0zIaH0GaMWJv7uMq3anPAN'
15:35:20 <j-bot> b_jonas: qr50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4anPAN
15:35:31 <b_jonas> [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' 2}.testcase
15:35:32 <j-bot> b_jonas: 50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4anPAN
15:35:39 <b_jonas> [ 3 :';y 3 :''<(>:&.:".y),(-.#".y)#y'';.1~1,2~:/\(48+i.10)e.~3 u:y' _5}.testcase
15:35:39 <j-bot> b_jonas: qr50vUv91jM100JTeyc17uwngba86J3PjKfa10nUv647fteO1zIaH1GaMWJv8uMq4
15:36:08 <b_jonas> 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 <b_jonas> (it gets much worse if you want to handle negative numbers though)
15:40:38 <quintopia> what does it do
15:51:25 <b_jonas> quintopia: increment each number in the string
15:52:40 -!- password2 has quit (Remote host closed the connection).
15:55:39 <quintopia> 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 <shachaf> 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 <AndoDaan_> \n1
18:18:17 <AndoDaan_> \n1
18:18:23 -!- AndoDaan_ has changed nick to AndoDaan.
18:18:27 <AndoDaan> 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 <fizzie> 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 <fizzie> 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 <fizzie> Okay, {1 2 3 4})ShuN works, but I don't know if that's the intended way at all.
18:37:28 <quintopia> in J?
18:37:33 <fizzie> Burlesque.
18:41:46 <quintopia> is HELP TC?
18:41:50 <quintopia> by itself?
18:41:57 <quintopia> it has the flavor of TC things
18:42:23 <fizzie> 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 <quintopia> which is to say, it looks similar to ///
18:45:02 -!- Bicyclidine has joined.
18:48:22 <b_jonas> fizzie: I think the "" is the input read from the stdin
18:49:16 <fizzie> b_jonas: Oh, so should I just add a... how do you even drop? (I'm a beginner in this thing.)
18:53:04 <fizzie> Oh, vv. Hmm.
18:56:55 <fizzie> 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 <mauris> fizzie: i didn't know you were on anagol!!
19:12:48 <mroman_> fizzie is on anagol?
19:13:13 <mauris> mroman_: i saw him golfing Burlesque in #anagol just now even
19:13:15 <mroman_> fizzie: The stack is printed at the end
19:13:22 <mroman_> top to bottom
19:13:31 <mroman_> meaning 1 2 3 4 will produce 4\n3\n2\n1\n
19:14:05 <mroman_> fizzie: but on anagol the interpreter pushes stdin to the stack
19:14:09 <mroman_> which means you have to pop it
19:14:14 <mroman_> which is usually done with ,
19:14:22 <mroman_> !blsq "",1
19:14:23 <blsqbot> 1
19:14:41 -!- MoALTz has joined.
19:14:42 <mroman_> , is a special built-in defined as pop if and only if the stack contains exactly one element
19:16:15 <fizzie> Okay, good to know.
19:16:17 <mroman_> fizzie: {1 2 3 4}p^ or {1 2 3 4}^p
19:16:29 <mroman_> p^ and ^p push every element in a Block to the stack
19:16:48 <mroman_> {1 2 3 4}p^ produces 1\n2\n\3\n4
19:17:03 <mroman_> wherease {1 2 3 4}^p is the same exact with the order reversed
19:17:08 <mroman_> *whereas
19:17:25 <mauris> 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 <mroman_> fizzie: sh is btw. not "print"
19:17:38 <mauris> well, the golf problem is, not the oeis sequence
19:17:43 <mroman_> people usually confuse that with a print command
19:18:17 <mroman_> what sh does is: It tells the printer (who prints the stack at the end) that it shall be printed differently
19:18:31 <fizzie> And I don't normally golf, I just decided to fiddle a bit.
19:18:37 <mroman_> !blsq "abc"to
19:18:38 <blsqbot> "Str"
19:18:42 <mroman_> ^- a String
19:18:44 <mroman_> !blsq "abc"shto
19:18:45 <blsqbot> "Pretty"
19:18:54 <mroman_> ^- A String wrapped into a Pretty
19:19:21 <mroman_> !blsq {1 2 3}
19:19:21 <blsqbot> {1 2 3}
19:19:27 <mroman_> !blsq {1 2 3}sh
19:19:27 <blsqbot> [1, 2, 3]
19:19:37 <mroman_> the default pretty format for blocks is [1, 2, 3]
19:20:58 <mauris> is there no negation, mroman_
19:21:16 <mauris> like, (*-1) i mean
19:21:17 <fizzie> I went with 0j.-
19:22:06 <mroman_> mauris: I don't think so
19:22:25 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
19:22:33 <fizzie> 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 <mauris> :D yes
19:23:25 <mroman_> I copy pasted that
19:23:37 <mroman_> not knowing it's just ^^ :)
19:24:12 <mroman_> SwapDup, SwapPop why not DupSwap?
19:24:15 <mroman_> Ok *added DupSwap*
19:24:45 <mroman_> fizzie: But to answer your questions: There's no point using DupSwap
19:24:50 -!- Phantom_Hoover has joined.
19:25:38 <mroman_> mauris: I thought you meant "flip bits" @negate
19:25:46 <mroman_> but it doesn't have "flip bits" nor "*-1"
19:26:05 <mroman_> flipping bits with unbounded integers is kinda...
19:26:07 <fizzie> What's this "hide" business?
19:26:51 <mroman_> fizzie: That's to keep track of state
19:26:57 -!- AndoDaan has quit (Ping timeout: 248 seconds).
19:26:58 <mroman_> It's not a nice solution
19:27:11 <mroman_> It just allows you to hide stuff on the stack and access it later
19:27:26 <mroman_> in case x/ #r #R \/ aren't enough
19:27:39 <mroman_> !blsq 5hdto
19:27:40 <blsqbot> "HiddenState"
19:27:42 -!- callforjudgement has joined.
19:27:46 <callforjudgement> sent
19:27:47 -!- callforjudgement has changed nick to asi523.
19:27:51 <mroman_> ^- 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 <mroman_> the printer at the end just doesn't print stuff that's Hidden
19:28:04 <mroman_> !blsq 5hdbx
19:28:05 <blsqbot> {}
19:28:09 <mroman_> ^- is that an empty list?
19:28:13 <mroman_> (It's not.)
19:28:17 <mroman_> !blsq 5hdbxL[
19:28:17 <blsqbot> 1
19:28:24 <mroman_> !blsq 5hdbx
19:28:25 <blsqbot> {}
19:28:30 <mroman_> ^- contains an invisible integer
19:28:43 <mroman_> and by invisible I mean it won't be displayed when printing ;)
19:29:12 <mroman_> fizzie: I've tried implementing state in Burlesque for a long time
19:29:21 <mroman_> but I didn't have the guts to rewrite thousands lines of code
19:29:24 <mroman_> so I tried hacking it in
19:29:37 <mroman_> which resulted in this ugly hidden state mess
19:29:43 <mroman_> now there's even a secondary stack
19:30:01 <mroman_> which is also not so much of a pleasant solution
19:30:28 <mroman_> 1.7.4 is finally going to have variables for real
19:31:09 <mroman_> !blsq 5hd 4 7 8`a
19:31:09 <blsqbot> 7
19:31:28 <mroman_> !blsq 5hd 4 7 8 #a
19:31:29 <blsqbot> 5
19:31:43 <mroman_> you can access stuff hidden with #a for example
19:32:12 <mroman_> However, since map/filter runs on an empty stack
19:32:19 <mroman_> you can't access hidden stuff inside a map or filter
19:32:23 <mroman_> which made it pretty much useless
19:32:58 <mroman_> !blsq 5hd{1 2}{#a}m[
19:32:59 <blsqbot> {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 <mroman_> !blsq 5Pp{1 2}{pP}m[
19:33:14 <blsqbot> {5 1 5 2}
19:33:21 -!- mihow has joined.
19:33:25 <mroman_> however, you can access the secondary stack within map/filter
19:33:48 <mroman_> before that you had to inject state into code
19:33:49 <mroman_> liku
19:34:11 <mroman_> !blsq 5{1 2}j{}jbx_+m[
19:34:11 <blsqbot> {5 1 5 2}
19:34:21 <mroman_> injects the 5 into the block used by map afterwards
19:38:37 -!- AndoDaan has joined.
19:39:11 <mroman_> fizzie: If you find an error in the doc please report it to me
19:39:32 <mroman_> Some people don't report error and just track errors in the lref in their own local lref
19:39:37 <mroman_> *errors
19:39:50 <mroman_> I really would like the documentation to be as accurate and correct as possible
19:40:13 <mroman_> (i.e. they have their own local doc of Burlesque related things)
19:40:25 <mroman_> which is ok for tricks etc. but not for wrongly documented commands
19:42:15 <mroman_> i.e. if you find something like
19:42:18 <mroman_> !blsq {1 2 3}mo
19:42:19 <blsqbot> {1 4 9}
19:42:23 <mroman_> you don't have to report that
19:42:32 <mroman_> because that's not wrong or undocumented
19:42:42 <mroman_> it's a trick
19:47:44 <fizzie> So #r/#R rotates the entire stack, not just the top three elements like the Forth rot/-rot?
19:47:56 <mroman_> the whole stack
19:48:02 <mroman_> !blsq 1 2 3 4#s
19:48:03 <blsqbot> {4 3 2 1}
19:48:07 <mroman_> !blsq 1 2 3 4x/#s
19:48:07 <blsqbot> {2 4 3 1}
19:48:12 <mroman_> !blsq 1 2 3 4x/x/#s
19:48:12 <blsqbot> {3 2 4 1}
19:48:25 <mroman_> use x/ for top three stuff
19:48:33 <fizzie> Oh, I didn't notice x/.
19:48:41 <mroman_> (#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 <mroman_> actually #s catpures the stack in a list and pushes the list to the stack
19:52:50 <mroman_> unlike CL which captures the stack in a list and replace the stack's contents with only that list
19:52:55 <mroman_> !blsq 1 2 3#s#s
19:52:55 <blsqbot> {{3 2 1} 3 2 1}
19:52:59 <mroman_> !blsq 1 2 3CLCL
19:52:59 <blsqbot> {{3 2 1}}
19:56:55 <fizzie> 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 <mroman_> hm
19:59:47 <mroman_> !blsq 1 2 3 "x" "y"{j}c!
19:59:48 <blsqbot> "x"
19:59:50 <mroman_> !blsq 1 2 3 "x" "y"{j}c!#s
19:59:50 <blsqbot> {"x" "y" "x" 3 2 1}
20:00:04 <mroman_> fizzie: {j}c! should work
20:00:16 <mroman_> or shorter
20:00:24 <mroman_> !blsq 1 2 3 "x" "y"qjc!#s
20:00:25 <blsqbot> {"x" "y" "x" 3 2 1}
20:00:27 <mroman_> qjc!
20:00:38 <fizzie> Okay, I don't know c! at all. (It's a big language.)
20:00:55 <mroman_> c! is what I call a continuation
20:01:06 <mroman_> it runs a command on the stack while preserving the stack
20:01:09 <mroman_> !blsq 1 2.+#s
20:01:09 <blsqbot> {3}
20:01:13 <mroman_> ^- deletes 1 and 2
20:01:18 <mroman_> !blsq 1 2q.+c!#s
20:01:18 <blsqbot> {3 2 1}
20:01:27 <mroman_> ^- preserves the stack before
20:02:39 <fizzie> So, um, how does that make j end up from x y to x y x?
20:03:24 <mroman_> A continuation is assumed to push one element to the stack
20:03:34 <mroman_> I.e. the return value of a continuation is the element on the top
20:03:40 <fizzie> I see.
20:03:43 <mroman_> x y -> swap y x
20:03:51 <mroman_> which means that the continuation returned x
20:03:59 <mroman_> then just push the result to the existing stack
20:04:16 <mroman_> fizzie: so... to go further
20:04:18 <mroman_> you can even do
20:04:26 <mroman_> !blsq 1 2 3 4 5{vvvv}c!#s
20:04:26 <blsqbot> {3 5 4 3 2 1}
20:05:20 <mroman_> hm. Is this documented?
20:05:33 <mroman_> hm no.
20:05:49 <mroman_> TODO: Document Continuations in the lref.
20:07:22 <mroman_> !blsq 1 2 3 4 0mv
20:07:22 <blsqbot> ERROR: Unknown command: (mv)!
20:07:25 <mroman_> !blsq 1 2 3 4 0MV
20:07:26 <blsqbot> 4
20:07:28 <mroman_> oh
20:07:30 <mroman_> ok
20:07:36 <mroman_> !blsq 1 2 3 "x" "y"1MV
20:07:36 <blsqbot> "x"
20:07:39 <mroman_> !blsq 1 2 3 "x" "y"1MV#n
20:07:39 <blsqbot> ERROR: Unknown command: (#n)!
20:07:42 <mroman_> !blsq 1 2 3 "x" "y"1MV#s
20:07:42 <blsqbot> {"x" "y" 3 2 1}
20:07:58 <mroman_> oh
20:07:59 <mroman_> "move"
20:08:03 <mroman_> doesn't copy :D
20:09:28 <mroman_> hm
20:09:37 <mroman_> TODO: Add Copy (like MV) for 1.7.4
20:10:27 <mroman_> !blsq 1 2 3 4 2MV#s
20:10:27 <blsqbot> {2 4 3 1}
20:15:28 <fizzie> Well, understanding continuations did cut one character off, so I guess that's a success.
20:16:12 <fizzie> (Also execution time from ~1.7s to 0.03s.)
20:22:32 -!- olsner has joined.
20:27:01 -!- incomprehensibly has joined.
20:32:20 <GeekDude> http://www.nyx.net/~gthompso/self_brainf.txt
20:32:30 <GeekDude> BF programs that print themselves
20:35:01 <ais523> not much different from quines in any other language
20:35:18 <ais523> all three obviously use the same principle
20:46:59 <b_jonas> bf is a somewhat inefficient language to write quines in, but yes, there's no theoretical problem
20:47:23 <b_jonas> well, brainfuck is an inefficient language to do anything really
20:48:01 <tromp> even to interpret brainfuck
20:49:57 <b_jonas> `perl -e print+("print+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g]
20:49:57 <HackEgo> print+("print+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g]
20:51:44 <ais523> b_jonas: that seems pretty long, as Perl quines go
20:51:49 <ais523> although, most Perl quines aren't one-liners
20:52:20 <ais523> my favourite perl quine is "#!/bin/cat" followed by absolutely anything at all, but it doesn't work with -e
20:52:21 <b_jonas> sure, I have shorter ones
20:52:25 <b_jonas> that's just my favourite one
20:52:43 <b_jonas> http://www.perlmonks.com/?node_id=661934 lists shorter ones
20:53:17 <b_jonas> `perl -e $a=q(;print"\$a=q($a)$a");print"\$a=q($a)$a"
20:53:18 <HackEgo> ​$a=q(;print"\$a=q($a)$a");print"\$a=q($a)$a"
20:53:22 <b_jonas> `perle $a=q(;print"\$a=q($a)$a");print"\$a=q($a)$a"
20:53:22 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: perle: not found
20:54:03 <b_jonas> that's the shortest one-liner perl quine I know
20:54:50 <b_jonas> it's 44 characters long, and the shortest non-empty perl quine I know is 28 characters I think
20:54:58 <tromp> BLC's quine is 16.5 bytes
20:55:11 <b_jonas> what... how do you get half a byte?
20:55:23 <b_jonas> and what's BLC's quine?
20:55:27 <tromp> IO is in bits
20:56:02 <tromp> see http://en.wikipedia.org/wiki/Binary_lambda_calculus#A_quine
20:56:05 <b_jonas> (maybe I should add non-cheating to the conditions)
20:56:19 <b_jonas> I see
20:56:51 <fizzie> ^ul (:aS(:^)S):^
20:56:51 <fungot> (:aS(:^)S):^
20:56:55 <b_jonas> http://www.jsoftware.com/jwiki/Puzzles/Quine lists some J quines
20:57:07 <fizzie> I like that one more than the canonical (:aSS):aSS.
20:58:41 <ais523> ^ul (:a(:^)*S):^
20:58:42 <fungot> (:a(:^)*S):^
20:58:46 <ais523> that one's my favourite
20:59:25 <b_jonas> 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 <b_jonas> Illegal division by zero at /tmp/abc line 1.
21:03:07 <b_jonas> `perl -e $_=q(print qq(\$_=q($_);eval\n));eval
21:03:08 <HackEgo> ​$_=q(print qq(\$_=q($_);eval\n));eval
21:03:25 <b_jonas> `perl -E say length q<$_=q(print qq(\$_=q($_);eval\n));eval>
21:03:25 <HackEgo> 37
21:03:32 <b_jonas> that's shorter, nice
21:08:25 <b_jonas> no really, why does it quit immediately?
21:09:21 <b_jonas> `sh echo 1;(cat "-+";sleep 999)|perl
21:09:22 <HackEgo> sh: 0: Can't open echo 1;(cat "-+";sleep 999)|perl
21:09:27 <b_jonas> `sh -c echo 1;(cat "-+";sleep 999)|perl
21:09:27 <HackEgo> sh: 0: Illegal option -
21:09:47 <b_jonas> `bash -c echo 1;(cat "-+";sleep 999)|perl
21:09:48 <HackEgo> 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 <ais523> b_jonas: you need `run
21:10:03 <ais523> if you want to give more than one command-line argument
21:10:40 <b_jonas> why doesn't just one command line argument with the option value after -c in the same argument work?
21:10:44 <b_jonas> `bash -cecho 1;(cat "-+";sleep 999)|perl
21:10:44 <HackEgo> 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 <b_jonas> `run echo 1;(cat "-+";sleep 999)|perl
21:10:57 <b_jonas> `run echo 2;(cat "CORE::z";sleep 999)|perl
21:11:06 <b_jonas> `run echo 3;(echo "CORE::z";sleep 999)|perl
21:11:13 <b_jonas> `run echo 4;(echo "+-";sleep 999)|perl
21:11:19 <HackEgo> 1 \ cat: invalid option -- '+' \ Try `cat --help' for more information.
21:11:28 <HackEgo> 2 \ cat: CORE::z: No such file or directory
21:11:36 <HackEgo> 3 \ CORE::z is not a keyword at - line 1.
21:11:44 <HackEgo> 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 <fizzie> !blsq {1 2 3 4}{}MP s#
21:45:48 <blsqbot> ERROR: Unknown command: (s#)!
21:45:52 <fizzie> !blsq {1 2 3 4}{}MP #s
21:45:52 <blsqbot> {4 3 2 1}
21:45:57 <fizzie> !blsq {1 2 3 4}{}m[p^ #s
21:45:57 <blsqbot> {1 2 3 4}
21:46:00 <fizzie> !blsq {1 2 3 4}{}m[^p #s
21:46:01 <blsqbot> {4 3 2 1}
21:46:34 <fizzie> mroman_: Documentation mismatch: language reference says "MapPush -- MP -- Defined as m[p^" but it seems to be m[^p instead.
21:49:02 <fizzie> (I'd have made a one character shorter thing if it were m[p^.)
21:49:38 -!- oerjan has joined.
21:50:56 <oerjan> @messages-bold
21:50:56 <lambdabot> 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 <fizzie> (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 <oerjan> @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 <lambdabot> 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 <shachaf> 1>0 is such a good jam
23:07:18 <shachaf> @where pi_10
23:07:18 <lambdabot> (!!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 <shachaf> @where e_10
23:07:21 <lambdabot> [show(sum$scanl div(100^n)[1..[4..]!!n])!!n|n<-[0..]]
23:07:36 <shachaf> hm
23:07:42 <shachaf> 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 <zemhill> S1.S1test2: points -10.40, score 13.00, rank 46/47
23:11:39 <zemhill> S1.S1test2: points -10.40, score 13.00, rank 46/47 (--)
23:11:56 <S1> why does it print that here too
23:12:15 <zemhill> S1.S1test2: points -9.50, score 13.48, rank 45/47 (+1)
23:13:00 <zemhill> S1.S1test2: points -28.76, score 4.17, rank 47/47 (-2)
23:13:24 -!- AndoDaan has joined.
23:14:09 <oerjan> shachaf: 1>0 was from _another_ one of his golfing tips
23:14:28 <shachaf> yes, i remember using it but i don't remember where
23:14:34 <zemhill> S1.S1test2: points -32.33, score 3.13, rank 47/47 (--)
23:16:10 <oerjan> S1: we seem to have decided that all hill changes should be announced here, so people know about them
23:16:43 <S1> k if you want to track my failure ^^ have fun
23:17:02 <oerjan> well you got above 47, that's a start :)
23:17:11 <S1> it was luck
23:17:26 <S1> I am reading the strategies article from time to time, started today
23:19:22 <oerjan> S1: also you don't need to include your nick in the program name, it's prepended automatically
23:20:53 <oerjan> 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 <oerjan> now food
23:22:17 <S1> oh I didn't know that
23:22:32 <S1> !bftest from now on it is
23:22:32 <zemhill> S1.from: points -28.76, score 4.17, rank 47/47
23:22:35 <S1> :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 <HackEgo> [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.
←2014-08 2014-09 2014-10→ ↑2014 ↑all