←2013-11-04 2013-11-05 2013-11-06→ ↑2013 ↑all
00:00:07 <Taneb> quintopia, a) I was only mistaken for him by a drunk middle-aged unattractive man, and b) I'm asexual
00:00:38 <Taneb> And c) no
00:00:57 <quintopia> i don't see how the being mistaken for mark zuckerberg by such an outlier has any bearing on the present decision on whether to go out in a bowtie
00:01:44 <Taneb> Hmm, maybe you're right
00:06:54 -!- carado has quit (Ping timeout: 252 seconds).
00:13:01 -!- Bike has joined.
00:13:30 -!- realz has joined.
00:13:42 -!- realz has quit (Changing host).
00:13:42 -!- realz has joined.
00:35:35 <kmc> do people actually use fibonacci heaps for anything
00:37:34 <kmc> http://www.quora.com/What-is-a-Fibonacci-Heap?share=1 has an answer in the negative from "Adam D'Angelo, former algorithms TA"
00:41:50 <ais523\unfoog> kmc: I've used a heap library that had a fibonacci heap as one of the backends
00:41:57 <ais523\unfoog> but I'm not sure whether it used that backend or not
00:42:12 <ais523\unfoog> when I've written heaps manually, I typically use binary heaps
00:43:19 <ais523\unfoog> hmm… I remember that paper which had an article hitting all the heap complexity bounds in actual time
00:43:21 <ais523\unfoog> rather than amortized time
00:43:30 <ais523\unfoog> using a really crazy and complex heap impl
00:44:40 <Bike> http://exoplanets.org/ attention astro nerds
00:45:21 <ais523\unfoog> btw, I didn't tell you about my latest programming project that I haven't told you about yet
00:45:36 <kmc> ais523\unfoog: that's neat
00:45:37 <ais523\unfoog> it's not particularly eso, but it's about the same order of bad idea
00:45:42 <kmc> I guess there is general research on de-amortization
00:45:57 <ais523\unfoog> basically, it's a deparser for text documents
00:46:00 -!- yorick has quit (Remote host closed the connection).
00:46:14 <ais523\unfoog> you know how you can format HTML or Texinfo or nroff or whatever as text?
00:46:26 <ais523\unfoog> this would go the other way, with no knowledge of the source format
00:46:31 <ais523\unfoog> trying to infer how various things were formatted
00:46:44 <ais523\unfoog> I can think of a huge many usecases for this
00:46:49 <ais523\unfoog> but it's likely to be quite difficult to write
00:47:06 <kmc> there are some startups doing this, or similar
00:47:13 <kmc> finding PDFs on the web and extracting them to data tables
00:47:30 <ais523\unfoog> that's not exactly what I want to do, but it's the same field
00:49:24 <ais523\unfoog> actually the motivating example was to write a program that could display all the random files lying around /usr/share/doc in whatever format the user wanted
00:49:30 <ais523\unfoog> and the motivating reason for /that/ was writing a better man/info/yelp
00:49:56 <pikhq> I was going to say "smoothsort", but it turns out that uses a completely different sort of heap.
00:50:38 <pikhq> The Leonardo numbers, apparently.
00:50:55 <ais523\unfoog> (anyone who hangs out in #acehack will know that I have trivial motivating reasons for really complex projects)
00:52:01 <ais523\unfoog> I think I'll start by converting everything to elastic tabs
00:52:09 <ais523\unfoog> (something that text editors should do anyway)
00:53:56 <shachaf> kmc: i feel like i should read _Purely-Functional Data Structures_
00:53:58 <shachaf> did you read it
00:55:24 -!- Taneb has quit (Quit: Leaving).
00:58:11 -!- john_metcalf has quit (*.net *.split).
00:58:11 -!- FreeFull has quit (*.net *.split).
00:58:11 -!- ski has quit (*.net *.split).
00:58:11 -!- Lymia has quit (*.net *.split).
00:58:11 -!- rodgort has quit (*.net *.split).
00:58:11 -!- FireFly has quit (*.net *.split).
00:58:19 -!- ski has joined.
00:58:24 <kmc> some of it
00:58:26 <kmc> it's good
00:58:29 -!- FreeFull has joined.
00:58:38 -!- Lymia has joined.
00:58:47 -!- rodgort has joined.
00:58:57 -!- FreeFull has quit (Changing host).
00:58:57 -!- FreeFull has joined.
00:59:13 -!- Lymia has quit (Changing host).
00:59:13 -!- Lymia has joined.
01:00:42 -!- FireFly has joined.
01:05:26 <oerjan> :t flip (foldr id)
01:05:27 <lambdabot> [c -> c] -> c -> c
01:07:08 <Bike> > (flip (foldr id)) [succ, pred] 17
01:07:10 <lambdabot> 17
01:07:14 <Bike> metal
01:07:26 <Bike> > (flip (foldr id)) [(7+),(2*)] 17
01:07:27 <lambdabot> 41
01:08:44 <ais523\unfoog> @pl \f.\g.\h.\x.g(f(h(x)))
01:08:44 <lambdabot> (line 1, column 3):
01:08:44 <lambdabot> unexpected "."
01:08:45 <lambdabot> expecting letter or digit, operator, pattern or "->"
01:08:53 <ais523\unfoog> @pl \f->\g->\h->\x->g(f(h(x)))
01:08:56 <lambdabot> flip ((.) . (.)) . (.)
01:08:57 <lambdabot> optimization suspended, use @pl-resume to continue.
01:09:06 <ais523\unfoog> bleh, lambdabot, why don't you work on Verity?
01:09:08 <ais523\unfoog> @pl-resume
01:09:14 <oerjan> is @pl still ill
01:09:14 <lambdabot> flip ((.) . (.)) . (.)
01:09:14 <lambdabot> optimization suspended, use @pl-resume to continue.
01:09:21 <ais523\unfoog> @pl-resume
01:09:24 <ais523\unfoog> oerjan: I think so
01:09:26 <Bike> i've yet to see @pl-resume give a different answer
01:09:33 <lambdabot> flip ((.) . (.)) . (.)
01:09:34 <lambdabot> optimization suspended, use @pl-resume to continue.
01:09:55 <ais523\unfoog> anyway, that function seems to be the programming-language version of the functor \Rightarrow
01:09:57 <ais523\unfoog> which is kind-of important
01:10:00 <ais523\unfoog> so I was wondering if it had a name
01:10:47 <oerjan> @pl \f g h x -> g (f (h x))
01:10:50 <lambdabot> flip ((.) . (.)) . (.)
01:10:50 <lambdabot> optimization suspended, use @pl-resume to continue.
01:10:52 <ais523\unfoog> @pl \(f,g)->\(x,y)->(f(x),g(y))
01:10:52 <lambdabot> uncurry (flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .))
01:11:00 <ais523\unfoog> that's even worse
01:11:03 <ais523\unfoog> that one's \otimes
01:11:15 <ais523\unfoog> and it looks reasonable that that one might have a name
01:11:18 <ais523\unfoog> or at least a short impl
01:11:24 <oerjan> @pl \f g h -> g . f . h
01:11:28 <lambdabot> flip ((.) . (.)) . (.)
01:11:28 <lambdabot> optimization suspended, use @pl-resume to continue.
01:11:44 <ais523\unfoog> is Haskell this bad at functors?
01:11:52 <oerjan> @pl \f g -> (.) (g . f)
01:11:56 <lambdabot> ((.) .) . flip (.)
01:11:56 <lambdabot> optimization suspended, use @pl-resume to continue.
01:11:57 <Bike> isn't "\(f,g)->\(x,y)->(f(x),g(y))" a short implementation
01:12:41 <oerjan> :t uncurry (***)
01:12:42 <lambdabot> Arrow a => (a b c, a b' c') -> a (b, b') (c, c')
01:12:57 <Bike> uh i'm pretty sure arrow is the antichrist....>???
01:13:03 <oerjan> OKAY
01:13:23 <Bike> going off reliable esoteric information here
01:13:23 -!- prooftechnique has joined.
01:13:37 <oerjan> > uncurry (***) ((+1),(*2)) (5,10)
01:13:37 <ais523\unfoog> in the categorical semantics I'm working on
01:13:38 <lambdabot> (6,20)
01:13:38 <ais523\unfoog> uncurry = id
01:14:01 <ais523\unfoog> oerjan: I like your impl
01:14:03 <oerjan> ais523\unfoog: anyway @pl doesn't know much about Arrows.
01:14:12 <ais523\unfoog> right
01:14:27 <ais523\unfoog> Arrow's a bit of an ironic name, though
01:14:46 <ais523\unfoog> given that arrow/morphism in categorical semantics = function in programming language
01:15:59 <ais523\unfoog> sometimes I feel that Haskell isn't as category-theoretical as its supporters make it out to be
01:17:16 <Bike> i feel betrayed.
01:19:09 <oerjan> ais523\unfoog: well Arrow is a subclass of Category nowadays.
01:19:20 <ais523\unfoog> oerjan: that makes even less sense
01:19:21 <oerjan> in particular, (->) is only one instance.
01:19:26 <ais523\unfoog> category theory doesn't work like that
01:19:37 <oerjan> the name Arrow is not particularly well-chosen, though.
01:20:15 <zzo38> It seems better it should have: functor between categories, tensor categories, fanout category, etc, instead of being like such Arrow class
01:20:52 <oerjan> ais523\unfoog: the idea is that a value of type Arrow a x y is an arrow from x to y in a category given by a.
01:21:00 <ais523\unfoog> oerjan: right
01:21:18 <oerjan> although the class heaps on stuff that isn't just arrow requirements.
01:21:26 <oerjan> (Category alone has those.)
01:21:32 <ais523\unfoog> the only actual requirement is for a composition operator
01:21:33 <prooftechnique> I think it'd be fun to make a nethack clone with ed keybindings
01:21:49 <ais523\unfoog> prooftechnique: NetHack 4 (my fork) has rebindable keys
01:22:02 <ais523\unfoog> not sure if ed's keybindings even remotely correspond to the commands ed has, though
01:22:08 <zzo38> prooftechnique: Try it, what key would they command
01:22:18 <zzo38> ais523: What changes did you make though?
01:22:22 <ais523\unfoog> zzo38: loads
01:22:25 <ais523\unfoog> mostly to internals
01:23:03 <zzo38> Did you add rebindable keys or is that already in there?
01:23:52 <ais523\unfoog> NetHack 3.4.3 doesn't have rebindable keys
01:24:03 <ais523\unfoog> but the key rebinding code was copied from another NetHack fork (NitroHack)
01:24:12 <zzo38> O, well that is good you add it, then; it was missing then
01:24:18 <ais523\unfoog> however, the key /parsing/ code is new
01:28:14 <zzo38> OK
01:32:48 <quintopia> is there a bf clone that does non-deterministic computations in deterministic time? because if not, i want to make one
01:33:00 <ais523\unfoog> quintopia: interesting
01:33:04 <ais523\unfoog> a sort of quantum BF?
01:33:07 <quintopia> yes
01:33:08 <Bike> q: what does that mean
01:33:12 <quintopia> everettian BF
01:33:13 <ais523\unfoog> actually, I think Brainfork can do that
01:33:19 * quintopia looks
01:33:21 <ais523\unfoog> so long as there's a way to kill threads, not sure if there is
01:33:44 <quintopia> who is the guy in the google logo
01:34:18 <ais523\unfoog> btw, Brainfork was invented before BF derivs got old
01:34:23 <prooftechnique> quintopia: The doodle today?
01:34:26 <ais523\unfoog> it was like the second or third semantics-changing deriv
01:34:48 <quintopia> prooftechnique: yes
01:34:52 <quintopia> i'm too lazy to click it
01:34:54 <prooftechnique> http://en.wikipedia.org/wiki/Shakuntala_Devi
01:35:02 <prooftechnique> Mental math world record or something
01:36:50 <quintopia> ais523\unfoog: yeah, it doesn't look like there's a way to kill forked threads in brainfork. but you can sort of do nondeterministic computations by doing some very fancy algorithming. but my idea would add no new commands and wouldn't require thread management.
01:37:04 -!- glogbackup has joined.
01:37:18 <ais523\unfoog> hi glogbackup
01:38:35 <ais523\unfoog> `welcome glogbackup
01:38:37 <HackEgo> glogbackup: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/wiki/Main_Page>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
01:40:12 -!- Uguubee1111113 has joined.
01:40:52 <quintopia> ais523\unfoog: my idea is to have the semantics of . change to "append byte to waiting-to-output queue" and the semantics of program halt change to "if waiting-to-output queue matches the tail of the input list, output, otherwise, move all amplitude of this universe's wavefunction into the universe where the tail of the input list is equal to the contents of the current waiting-to-output queue at the moment of program instantiation"
01:41:17 <quintopia> obviously, , would not consume the input list, just advance an index into it
01:41:37 <ais523\unfoog> `run grep '^: Welcome to the' /var/logs/_esoteric/*.txt | cut -f1 -d':' | cut -f2 -d'>' | sort | uniq -c
01:41:38 <HackEgo> grep: /var/logs/_esoteric/*.txt: No such file or directory
01:41:48 <ais523\unfoog> `run grep '^: Welcome to the' /var/irclogs/_esoteric/*.txt | cut -f1 -d':' | cut -f2 -d'>' | sort | uniq -c
01:42:03 <ais523\unfoog> wait, there's a stray ^ there
01:42:06 <ais523\unfoog> `run grep ': Welcome to the' /var/irclogs/_esoteric/*.txt | cut -f1 -d':' | cut -f2 -d'>' | sort | uniq -c
01:42:19 <HackEgo> No output.
01:42:37 <HackEgo> No output.
01:43:08 <ais523\unfoog> hmm
01:43:10 <ais523\unfoog> is it timing out?
01:43:17 <ais523\unfoog> `run grep ': Welcome to the' /var/irclogs/_esoteric/2013*.txt | cut -f1 -d':' | cut -f2 -d'>' | sort | uniq -c
01:43:25 <ais523\unfoog> or is there something wrong with the line?
01:43:31 <HackEgo> ​ 18 /var/irclogs/_esoteric/2013-01-04-raw.txt \ 18 /var/irclogs/_esoteric/2013-01-04.txt \ 1 /var/irclogs/_esoteric/2013-01-05-raw.txt \ 1 /var/irclogs/_esoteric/2013-01-05.txt \ 1 /var/irclogs/_esoteric/2013-01-06-raw.txt \ 1 /var/irclogs/_esoteric/2013-01-06.txt \ 1 /var/irclogs/_esoteric/2013-01-07-raw.t
01:43:38 <zzo38> One thing is you should indicate whether you want raw or non-raw
01:43:39 <ais523\unfoog> oh, right
01:43:54 -!- Sgeo has joined.
01:44:13 <ais523\unfoog> `run grep -h ': Welcome to the' /var/irclogs/_esoteric/2013-??-??.txt | cut -f1 -d':' | cut -f2 -d'>' | sort | uniq -c
01:44:17 <HackEgo> ​ 7 00 \ 16 01 \ 18 02 \ 6 03 \ 7 04 \ 11 05 \ 10 06 \ 11 07 \ 2 08 \ 2 09 \ 4 10 \ 10 11 \ 6 12 \ 7 13 \ 6 14 \ 11 15 \ 11 16 \ 14 17 \ 16 18 \ 15 19 \ 16 20 \ 19 21 \ 20 22 \ 18 23
01:44:36 <ais523\unfoog> aha, there are colons in the timestamp
01:44:40 <ais523\unfoog> `run grep -h ': Welcome to the' /var/irclogs/_esoteric/2013-??-??.txt | cut -f1 -d'4' | cut -f2 -d'>' | sort | uniq -c
01:44:43 <HackEgo> ​ 7 0 \ 2 ​ \ 2 00: \ 1 00:10:3 \ 1 00:3 \ 1 00:32: \ 7 01: \ 1 01:05:3 \ 1 01:08: \ 1 01:13: \ 1 01:31: \ 1 02: \ 1 02:09: \ 1 02:56: \ 1 03: \ 1 03:19:0 \ 1 03:31:2 \ 1 03:5 \ 1 ​{^Raven^}: Welcome to the international
01:44:48 <ais523\unfoog> `run grep -h ': Welcome to the' /var/irclogs/_esoteric/2013-??-??.txt | cut -f4 -d':' | cut -f2 -d'>' | sort | uniq -c
01:44:50 <HackEgo> ​ 1 ​boily \ 1 ​lambdabot \ 1 ​Phantom_Hoover \ 1 ​{^Raven^} \ 1 ​intensity \ 1 ​kyyni \ 1 ​shikhin \ 1 ​matthiaskrgr \ 1 ​simmarine_ \ 1 ​snuffeluffegus \ 1 ​audioPhil
01:44:56 <Bike> this is good
01:45:02 <ais523\unfoog> `run grep -h ': Welcome to the' /var/irclogs/_esoteric/2013-??-??.txt | cut -f4 -d':' | cut -f2 -d'>' | sort | uniq -c | sort -rn
01:45:05 <HackEgo> ​ 13 Bike \ 8 oerjan \ 5 monqy \ 5 kmc \ 4 sivoais \ 4 `run grep -h ' \ 3 Taneb \ 3 SirCmpwn \ 3 Sgeo \ 3 Regis_ \ 3 Fiora \ 2 yhojeyisaac \ 2 windmill \ 2 Tritonio \ 2 ThatOtherPerson \ 2 surma \ 2 sploknee \ 2 Snowyowl \
01:45:15 <Bike> :o
01:45:21 <ais523\unfoog> `run grep -h ': Welcome to the' /var/irclogs/_esoteric/20??-??-??.txt | cut -f4 -d':' | cut -f2 -d'>' | sort | uniq -c | sort -rn
01:45:36 <HackEgo> ​ 22 fdhsfdsgdsg \ 19 oerjan \ 16 elliott \ 15 Bike \ 13 monqy \ 9 shachaf \ 8 ais523 \ 6 HackEgo \ 5 Taneb \ 5 sivoais \ 5 `run grep -h ' \ 5 -!- oerjan changed the topic of #esoteric to \ 5 kmc \ 5 fungot \ 5 Fiora \ 4 zzo38 \ 4 shub
01:46:10 <ais523\unfoog> who was fdhsfdsgdsg and why did they get welcomed so much?
01:46:16 <ais523\unfoog> `pastlog fdhsfdsgdsg
01:46:24 <HackEgo> 2012-03-02.txt:12:29:26: <HackEgo> ​^ul (?so `ok fdhsfdsgdsg: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page)S
01:46:38 <ais523\unfoog> botloop, I guess
01:46:50 <quintopia> ais523\unfoog: sorry to be zzo38ish, but does my description above make sense? should i wiki it?
01:46:53 <Bike> wait, i've been welcomed 15 times
01:46:54 <Bike> ?
01:46:58 <ais523\unfoog> Bike: yes
01:47:11 <ais523\unfoog> quintopia: it needs to be explained in a bit more detail, I think
01:47:38 <ais523\unfoog> `run grep -h ': Welcome to the' /var/irclogs/_esoteric/20??-??-??.txt | cut -f4 -d':' | cut -f2 -d'>' | sort | uniq -c | sort -rn | grep -v '!' | xargs
01:47:43 <HackEgo> xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option \ 22 fdhsfdsgdsg 19 oerjan 16 elliott 15 Bike 13 monqy 9 shachaf 8 ais523 6 `run grep -h
01:47:56 <ais523\unfoog> bleh
01:48:09 <quintopia> ais523\unfoog: so it doesn't make sense?
01:48:14 <ais523\unfoog> `run grep -h ': Welcome to the' /var/irclogs/_esoteric/20??-??-??.txt | cut -f4 -d':' | cut -f2 -d'>' | sort | uniq -c | sort -rn | grep -v '!' | grep -v '`' | xargs
01:48:17 <ais523\unfoog> it almost makes sense
01:48:20 <HackEgo> 22 fdhsfdsgdsg 19 oerjan 16 elliott 15 Bike 13 monqy 9 shachaf 8 ais523 6 HackEgo 5 Taneb 5 sivoais 5 kmc 5 fungot 5 Fiora 4 zzo38 4 shubshub 4 Sgeo 4 Gracenotes 4 CHeReP 4 carado 4 andrew12 3 WeThePeople 3 tswett 3 ThePope 3 test 3 Snowyowl 3 sirdancealot 3 SirCmpwn 3 segorev 3 Regis_ 3 ogrom 3 mean 3 john_metcalf 3 Jafet 3 hi 3 GreyKnight 3 Grego
01:48:25 <ais523\unfoog> there, that's what I wanted
01:48:36 <ais523\unfoog> sorry about all the pings, everyone
01:49:02 <quintopia> ais523\unfoog: can you add background coloration to each number/name pair to make it easier to group them mentally?
01:49:15 <ais523\unfoog> quintopia: no, because my client doesn't support background colors
01:49:41 <quintopia> ais523\unfoog: colors are cool. lrn2bcolorful.
01:50:00 <ais523\unfoog> it does support foreground colors except I disabled them
01:50:15 <ais523\unfoog> which lead to this bug report: https://bugs.kde.org/show_bug.cgi?id=317034
01:50:32 <quintopia> you could be coolour with more colour.
01:51:50 -!- nisstyre has quit (Ping timeout: 264 seconds).
01:52:09 <quintopia> ais523\unfoog: do you know of a way to compare two positive numbers in unbounded-cell BF using less than 5 cells?
01:52:39 <ais523\unfoog> quintopia: does the interp support negative numbers?
01:52:47 <ais523\unfoog> but yeah, I think regardless, it's doable
01:52:47 <quintopia> sure
01:53:14 <quintopia> i can't think of a way to do it in less than 5
01:53:15 <ais523\unfoog> or, hmm
01:53:24 <ais523\unfoog> yeah, the way I was thinking of takes 5, if you include the two numbers themselves
01:53:37 <quintopia> what way are you thinking?
01:53:46 <ais523\unfoog> http://esolangs.org/wiki/Brainfuck_algorithms#z_.3D_x_.E2.89.A5_y
01:53:57 <ais523\unfoog> oh, hmm, that needs a wrapping impl
01:54:24 <ais523\unfoog> hadn't looked at that algo in a while
01:54:51 <ais523\unfoog> you can do it in 2 if you don't mind an infinite loop if one particular number is higher
01:54:56 <quintopia> haha
01:54:58 <ais523\unfoog> and don't mind destroying the original number
01:55:01 <ais523\unfoog> *numbers
01:55:23 <quintopia> let's call that "might compare" :P
01:55:58 <ais523\unfoog> I bet it's doable in 3 if they're all consecutive and you don't mind the algo destroying the original numbers and returning using the position of the tape pointer
01:56:20 <quintopia> show me
01:56:52 <quintopia> the method i'm thinking of requires both those conditions and still takes 5
01:59:10 -!- Sprocklem has joined.
02:00:09 <ais523\unfoog> actually no, that takes 4
02:00:14 <ais523\unfoog> put a zero either side of the two numbers you're comparing
02:00:32 <ais523\unfoog> then from the first number, do [->-[>]<<]
02:01:12 <ais523\unfoog> the two zeros never change, though
02:02:02 <ais523\unfoog> come to think of it, that looks like the fastest compare algo I've ever seen
02:02:34 <ais523\unfoog> it runs in O(a-b) if a is larger, O(a) if a is smaller, and the constant's pretty low too
02:03:11 <ais523\unfoog> if you had an if rather than a while, you could do it in 3
02:03:20 <ais523\unfoog> by changing the [>] to an if[>]
02:05:09 <quintopia> that's better than what i had, but the basic idea is the same.
02:05:38 <quintopia> but how do you do a conditional on the result?
02:05:44 <quintopia> without using an extra cell?
02:06:42 -!- nisstyre has joined.
02:07:26 <ais523\unfoog> go right one cell
02:07:29 <ais523\unfoog> then check for zero
02:07:50 <ais523\unfoog> that leaves you still uncertain where the pointer is if you find that it's zero
02:08:00 <ais523\unfoog> because it'll be in a different position for equal and for less than
02:08:06 <ais523\unfoog> but it does technically fulfil the conditions
02:09:35 <quintopia> no
02:09:46 <quintopia> one cell to the right will always be nonzero unless x=y
02:10:26 <ais523\unfoog> if x>y, then one cell to the right is x, and nonzero
02:10:35 <ais523\unfoog> if x=y then one cell to the right is x, and zero
02:10:46 <ais523\unfoog> if x<y then one cell to the right is y, and zero
02:10:49 <ais523\unfoog> err, no
02:10:51 <ais523\unfoog> it is nonzero :(
02:10:53 <ais523\unfoog> you're right
02:11:02 <ais523\unfoog> hmm
02:12:10 <ais523\unfoog> the problem is it leaves either x or y at zero
02:12:23 <ais523\unfoog> and the pointer to the left of the other one
02:12:36 <quintopia> i think you never test the cell to the left of x
02:12:42 <quintopia> so why not initialize it to 1
02:12:48 <ais523\unfoog> you do
02:12:53 <ais523\unfoog> it's tested in the loop termination
02:12:56 <quintopia> ah right
02:12:59 <ais523\unfoog> when x>y
02:13:19 <quintopia> what would happen if you initialized it to 1
02:13:46 <quintopia> you end up back there with it zero
02:13:47 <ais523\unfoog> you'd go round the loop again, it'd become 0, x would be tested for equality to 1
02:13:59 <ais523\unfoog> depending on the result you'd either end up there or to the left
02:14:09 <ais523\unfoog> if you know that x-y isn't 1 it would work
02:14:16 <quintopia> what would happen if you initialized it to -1
02:15:06 <ais523\unfoog> then it'd keep being decremented until x became 0, then you'd end up on the cell to the left
02:15:37 <quintopia> yep
02:15:39 -!- shikhin has joined.
02:16:21 <ais523\unfoog> which makes 5 cells :)
02:16:47 <quintopia> what if you replace the << with <[<]>? same algorithm basically?
02:17:08 <quintopia> oh no
02:17:09 <quintopia> nvm
02:17:30 <ais523\unfoog> that acts differently in the x=0 case
02:17:34 <ais523\unfoog> err, x=y
02:17:45 <quintopia> it also acts differently if y is less :P
02:18:07 <quintopia> ah i know
02:19:20 <ais523\unfoog> oh yeah, it just continues looping
02:20:21 <quintopia> [>->-[>]<<<->[<]+] or something like that. starting with the left cell at 1.
02:21:17 <quintopia> that may not terminate :P
02:21:26 <ais523\unfoog> idea
02:21:35 <ais523\unfoog> wait, no
02:21:50 <ais523\unfoog> ah yes
02:22:01 <ais523\unfoog> start the left cell at 1 and do [>-[>]<<-]
02:22:26 <ais523\unfoog> not sure if that helps though :P
02:22:47 <quintopia> huh? i'm not sure what that does...
02:22:58 <quintopia> did you start it at x or at 1
02:23:31 <ais523\unfoog> I started it at the x
02:23:34 <quintopia> ah
02:23:40 <quintopia> makes more sense
02:24:38 <quintopia> looks like it runs off the left edge printing -1s
02:24:49 <ais523\unfoog> no it doesn't
02:24:55 * quintopia looks again
02:25:07 <ais523\unfoog> if x is smaller or equal, it ends when x is set to 0
02:25:16 <ais523\unfoog> if x is larger, it moves to the 1, sets it to 0, and exits
02:25:40 <quintopia> ah i see
02:25:41 <ais523\unfoog> so you end up at (0) x-y 0 0, or at 1 (0) y-x 0
02:25:56 <ais523\unfoog> sadly those still can't be distinguished without extra cells
02:26:11 <ais523\unfoog> also there's an off by one in there somewhere I think
02:26:38 <quintopia> yeah
02:26:51 <quintopia> so it misses x=y
02:27:16 <quintopia> i'll just stick with my five cell solution then :)
02:28:38 <ais523\unfoog> it feels like it /should/ be possible :)
02:32:38 -!- shikhin has quit (Ping timeout: 264 seconds).
02:35:03 <quintopia> i think i might have a way. it's pretty damn slow, but i think it can be done in 4
02:35:21 <quintopia> it's long so i'll just describe
02:36:08 <quintopia> start by turning x,y,0,0 into 0,0,x-y,y-x in the obvious way
02:36:57 <quintopia> then, increment the second cellwait no
02:37:02 <quintopia> forget y-x
02:37:06 * Bike writes this down
02:37:12 <ais523\unfoog> you can't forget y-x
02:37:24 <ais523\unfoog> there's no test for negative/positive in nonwrapping BF without loads of temporaries
02:37:27 <ais523\unfoog> because you have to keep taking it past 0
02:37:29 <ais523\unfoog> wiggle clear style
02:37:35 <ais523\unfoog> err, past its original value
02:37:38 <quintopia> that's what i was going to do
02:37:41 <ais523\unfoog> wow
02:37:45 <quintopia> test the sign of x-y
02:37:54 <quintopia> by going down 1, up 2, down 3, up 4 etc.
02:38:00 <ais523\unfoog> well you have three temporaries to do that
02:38:03 <ais523\unfoog> but I'm not sure that's enough
02:38:11 <quintopia> using the two temps as indices, used alternately
02:40:27 <quintopia> so one round increments temp0 temp1 and test until temp0 (known to be negative) is zero, then tests the test value. then temp1 is incremented and the next round decrements temp0 temp1 and test until temp1 (known to be positive) is zero, then tests, then temp0 is decremented and repeat
02:40:33 <quintopia> uses only 3 cells
02:41:06 <quintopia> which round you get test=0 in (even or odd) gives you test's sign
02:42:38 -!- utopian has quit (Quit: Lost terminal).
02:44:07 <quintopia> (i'll still use the five-cell solution for being blindingly faster)
02:44:12 <ais523\unfoog> hmm
02:44:17 <ais523\unfoog> what's that in code
02:44:26 <ais523\unfoog> let's start with x-y temp0 temp1
02:44:38 <quintopia> x-y (temp0) temp1
02:44:39 <ais523\unfoog> I think you have problems leaving the loop
02:44:45 <ais523\unfoog> nah you have to start on x-y
02:44:54 <ais523\unfoog> to test for zero
02:45:17 <quintopia> the test is "which round am i on" so it doesn't matter where you start
02:45:34 <ais523\unfoog> I'm not going to believe this doesn't need a fourth cell until you write it out
02:45:47 <quintopia> okay give me a few
02:46:14 <Sgeo> Is it wrong that I was expecting Prolog to be a bit saner than the List monad?
02:46:58 <Bike> yes, turn yourself in
02:47:31 <ais523\unfoog> Prolog's more /interesting/ than the List monad :)
02:47:47 <ais523\unfoog> actually, Prolog has two main features
02:48:03 <ais523\unfoog> nondeterminism, which the List monad does in a different and arguably saner way
02:48:10 <ais523\unfoog> and unification, which the List monad doesn't do at all
02:49:06 <zzo38> Then you would need to make up the unification monad too
02:49:15 <Bike> get on it
02:49:22 <Sgeo> I want Prolog to be more like the Logic monad
02:49:33 <Sgeo> Or, well, using the non-monady bits like >>- iirc
02:49:34 <Bike> is that a real monad
02:49:45 <Sgeo> http://hackage.haskell.org/package/logict-0.2.3/docs/Control-Monad-Logic.html
02:49:47 <zzo38> I think the Logic monad is equivalent to the list monad as far as I can tell?
02:50:20 <Sgeo> I think the monad is equivalent but it also provides variations of bind and other things that make it... backtrack differently
02:50:44 <Sgeo> I think
02:50:59 <zzo38> No, that is a class, which is provided to list monad too
02:51:38 <zzo38> But there is LogicT which may be useful in some way as a kind of list monad transformer that is correct
02:51:43 <Sgeo> > do { x <- [1..]; y <- [2..]; guard (x == 2 && y == 2); return "Hi" }
02:51:50 <lambdabot> mueval-core: Time limit exceeded
02:52:40 <Bike> but the result is of the correct type!
02:56:00 <oerjan> > [1..] >>- \x -> [2..] >>- \y -> do guard (x == 2 && y == 2); return "Hi"
02:56:01 <lambdabot> Not in scope: `>>-'
02:56:01 <lambdabot> Perhaps you meant one of these:
02:56:01 <lambdabot> `>>' (imported from...
02:56:07 <oerjan> eep
02:56:14 <oerjan> elliott!!!
02:56:35 <shachaf> oerjan: (>>-)?
02:56:40 <shachaf> Is that from semigroupoids?
02:56:55 <oerjan> shachaf: no from logict
02:57:24 <Sgeo> oerjan: I don't think (Num a) => [a] is a (Num a) => Logic a, is it? Although I'd expect a different error
02:57:40 <shachaf> http://hackage.haskell.org/package/semigroupoids-4.0/docs/Data-Functor-Bind.html has it too
02:57:56 <oerjan> Sgeo: istr >>- worked just find with lists in previous versions of lambdabot
02:58:00 <oerjan> *fine
02:58:48 <oerjan> at least we were having fun with it
03:00:09 <oerjan> :t (Control.Monad.Logic.>>-)
03:00:12 <lambdabot> Control.Monad.Logic.Class.MonadLogic m => m a -> (a -> m b) -> m b
03:00:15 <oerjan> oh.
03:00:45 <oerjan> > [1..] Control.Monad.Logic.>>- \x -> [2..] Control.Monad.Logic.>>- \y -> do guard (x == 2 && y == 2); return "Hi"
03:00:46 <lambdabot> Not in scope: `Control.Monad.Logic.>>-'
03:00:46 <lambdabot> Perhaps you meant one of these:
03:00:46 <lambdabot> ...
03:00:52 <oerjan> wat
03:00:57 <oerjan> elliott!!!!!!!!!!!!!!!!!!!!!!!
03:01:08 <oerjan> :t (>>-)
03:01:09 <lambdabot> Not in scope: `>>-'
03:01:09 <lambdabot> Perhaps you meant one of these:
03:01:09 <lambdabot> `>>' (imported from Control.Monad.Writer),
03:02:17 <shachaf> @let import Control.Monad.Logic
03:02:18 <lambdabot> Defined.
03:02:51 <oerjan> huh
03:03:07 <oerjan> > [1..] >>- \x -> [2..] >>- \y -> do guard (x == 2 && y == 2); return "Hi"
03:03:09 <lambdabot> *Exception: stack overflow
03:03:13 <oerjan> OKAY
03:03:17 <oerjan> AN IMPROBEMENT
03:04:21 <oerjan> > take 1 $ [1..] >>- \x -> [2..] >>- \y -> do guard (x == 2 && y == 2); return "Hi"
03:04:23 <lambdabot> *Exception: stack overflow
03:04:28 <oerjan> fff
03:05:49 <oerjan> > take 1 $ [1..] >>- \x -> do guard (x == 2); return "Hi"
03:05:51 <lambdabot> ["Hi"]
03:05:56 <oerjan> YAY
03:06:02 <oerjan> SO POWEFRYL
03:06:44 -!- shikhin has joined.
03:07:17 <Bike> how illogical
03:08:05 <oerjan> > [1..] >>- \x -> [2..] >>- \y -> [(x,y)]
03:08:07 <lambdabot> [(1,2),(2,2),(1,3),(3,2),(1,4),(2,3),(1,5),(4,2),(1,6),(2,4),(1,7),(3,3),(1...
03:08:24 <ais523\unfoog> oerjan: someone (Martin Escardo) at Birmingham University's looking into how you can search infinite spaces in finite time
03:08:26 <oerjan> > [1..] >>- \x -> [2..] >>- \y -> ["hi"]
03:08:28 <lambdabot> ["hi","hi","hi","hi","hi","hi","hi","hi","hi","hi","hi","hi","hi","hi","hi"...
03:08:37 <ais523\unfoog> his research probably would allow you to filter a list of all integers to see which were 2
03:09:16 -!- shikhin_ has joined.
03:09:17 <oerjan> ais523\unfoog: i recall some haskell discussion about using bottom checking for that.
03:09:35 <oerjan> doesn't particularly work for integers, though.
03:10:00 <zzo38> How worthless is the one million dollar wedge? I do not expect it to be worth much.
03:10:14 <Bike> i'm going to guess it's worth less than one million one dollars
03:11:08 -!- shikhin has quit (Ping timeout: 240 seconds).
03:11:22 <oerjan> Bike: let's not jump to conclusions here
03:11:47 <oerjan> > [1..] >>- \x -> [2..] >>- \y -> []
03:11:49 <lambdabot> *Exception: stack overflow
03:12:24 <Bike> cool
03:12:39 <zzo38> It may be worth as much as a lottery card.
03:12:58 -!- lexande has joined.
03:15:01 -!- shikhin_ has quit (Ping timeout: 245 seconds).
03:30:42 <Sgeo> Prolog strikes me as the sort of language that probably shouldn't have unrestricted side effects, like a lazy language probably shouldn't have unrestricted side effects
03:31:07 <prooftechnique> My AI professor looooooves Prolog
03:31:35 <prooftechnique> I've never seen someone gush so much about a language, and my PL prof used Ocaml
03:31:41 <prooftechnique> zing
03:33:01 <Sgeo> Is there a reason for Ada wanting variables to be declared at the top of procedures/declare blocks/etc, other than historical reasons?
03:33:05 <Sgeo> Does it improve readability?'
03:33:50 <Bike> i tend to do that in any language
03:34:07 <ais523\unfoog> @tell elliott not sure if you changed anything, but the abuse filter configuration started working again, time to filter out these spambots
03:34:08 <lambdabot> Consider it noted.
03:37:16 -!- shikhin has joined.
03:37:33 <ais523\unfoog> oh wow
03:37:42 <ais523\unfoog> some of these spambots are triggering the existing filters
03:37:49 <ais523\unfoog> that explains why they don't seem to be editing
03:38:16 <oerjan> charming
03:39:09 <oerjan> <Sgeo> Prolog strikes me as the sort of language that probably shouldn't have unrestricted side effects <-- have you checked out mercury
03:39:49 <Sgeo> Some time ago, but I think last time I was put off my lack of living environment... which doesn't really explain why I checked out Racket recently
03:40:10 <Bike> were you homeless...?
03:40:35 <Sgeo> Also lack of macros. I mean, ISO Prolog also lacks macros, but most environments have them I think
03:41:44 <Sgeo> Although earlier I saw mention of Mercury's debugger
03:42:08 <Sgeo> Haven't looked more into it, but it in and of itself sounds awesome
03:42:20 <ais523\unfoog> the unrestricted side effects are half the fun of Prolog
03:42:52 <ais523\unfoog> not the useful half, admittedly
03:43:26 -!- shikhin has quit (Ping timeout: 264 seconds).
03:45:37 <Sgeo> Is there a language like Prolog except Cont monad instead of List monad? I'm not entirely sure what that means, but it sounds good >.>. And I don't mean 'scheme', although I guess Schemes that use delimited continuations might qualify
03:46:01 <oerjan> sc... oh darn.
03:47:09 <kmc> now you've got me thinking instead about logic programming with continuations
03:54:45 -!- Oj742 has joined.
03:58:25 <kmc> but I don't really know what that would mean
03:58:27 <kmc> so it's hard to think about
03:58:50 <Bike> amb?
03:58:52 <kmc> of course you can implement standard backtracking with continuations easily enough
03:59:01 <Bike> right >_>
03:59:03 <kmc> what about amb
03:59:28 <Bike> basically you just said it.
04:03:11 <elliott> ais523\unfoog: I changed the caching to use memcache rather than APC, which broke because APC was removed in the PHP version I upgraded to (by upgrading Debian)
04:03:19 <elliott> ais523\unfoog: it may have been that the PHP upgrade fixed it in general
04:03:24 <ais523\unfoog> elliott: yeah, could be
04:03:32 <Sgeo> Is it just my imagination, or does Prolog seem like a very good language for manipulating data structures?
04:03:33 <ais523\unfoog> I wonder if this new filter has been hit yet
04:03:35 <ais523\unfoog> it's hard to test
04:03:37 <Sgeo> It's like pattern matching on drugs
04:03:45 <elliott> 03:08:24 <ais523\unfoog> oerjan: someone (Martin Escardo) at Birmingham University's looking into how you can search infinite spaces in finite time
04:03:53 <elliott> huh, Escardo is at bham?
04:03:53 <quintopia> ais523\unfoog: alright, i did need an extra cell, but it *did* work in 4. so, mission accomplished i guess.
04:04:14 <elliott> ais523\unfoog: but, http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/
04:04:17 <elliott> (written by him)
04:04:21 <ais523\unfoog> elliott: yeah, actually he's in charge of making sure I'm making progress in my PhD (as opposed to my supervisor, who's in charge of helping me make progress)
04:04:30 <Bike> oh, that was escuardo?
04:05:05 <elliott> oh, your Dan Ghica is even mentioned in that post
04:05:33 <quintopia> ais523\unfoog: http://sprunge.us/JPjE
04:05:41 -!- shikhin has joined.
04:05:51 <ais523\unfoog> elliott: well he doesn't really belong ot me
04:05:53 <ais523\unfoog> *to me
04:06:32 <ais523\unfoog> quintopia: you left a hyphen in a comment ;)
04:06:37 <ais523\unfoog> on line 1
04:06:41 <ais523\unfoog> I don't think that counts though
04:07:08 <quintopia> it's not part of the program yeah. just background info.
04:07:41 <ais523\unfoog> quintopia: ah clever
04:07:50 <ais523\unfoog> you just waddle back and forth in the middle once you've found the result
04:07:56 <ais523\unfoog> and jump between the edges when you haven't
04:08:40 <ais523\unfoog> it's that >[>]> early on that I wasn't sure how you were going to implement it
04:08:54 <ais523\unfoog> although, it does use four cells
04:09:02 <ais523\unfoog> which is how much I thought it would take
04:09:28 <ais523\unfoog> nope, I made a mistake in the filter
04:09:30 <ais523\unfoog> but now I can test it
04:10:44 <quintopia> ais523\unfoog: well, i wasn't convinced it could be done in less than 5, so now we concur :D
04:12:10 <ais523\unfoog> OK, it matches now
04:13:11 <ais523\unfoog> I can't stop the spambots registering with my perms
04:13:14 <ais523\unfoog> but I can stop them editing
04:13:36 <ais523\unfoog> mediawiki needs an editable-via-the-wiki captcha system
04:13:47 <kmc> http://zero.milosz.ca/
04:13:49 <ais523\unfoog> actually, one thing that I don't want to implement yet, but I could
04:13:53 <ais523\unfoog> would be a post-registration CAPTCHA
04:14:03 <ais523\unfoog> where a user's first edit has to be a particular string on a particular page
04:14:17 -!- shikhin_ has joined.
04:14:18 <ais523\unfoog> that way the spambots would need human intervention in the registration process twice
04:14:24 <ais523\unfoog> once to beat the registration CAPTCHA
04:14:27 <ais523\unfoog> once to beat the first edit CAPTCHA
04:15:14 <ais523\unfoog> I'll keep that as a last resort though, or at least a later resort
04:15:22 <Sgeo> How is the captcha implemented? Is it just a reCAPTCHA?
04:15:34 <oerjan> <elliott> ais523\unfoog: but, http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/ <-- huh i somehow had got the idea that this kind of stuff needed trapping of undefineds
04:15:47 <elliott> ais523\unfoog: I can change the captchas if you give me new ones in a few days or something
04:15:58 <ais523\unfoog> Sgeo: it's a question/answer CAPTCHA
04:16:01 <elliott> oerjan: http://lukepalmer.wordpress.com/2010/11/17/searchable-data-types/ has a maybe more accessible explanation of how the general technique works?
04:16:07 <Sgeo> Oh, right that
04:16:09 <ais523\unfoog> you're asked a question about esoprogramming
04:16:29 <ais523\unfoog> elliott found the spammers reading the logs to get the answers, though
04:16:41 -!- shikhin has quit (Ping timeout: 245 seconds).
04:16:48 <ais523\unfoog> I love the clc.intercal.org.uk CAPTCHA but it's probably too hard to implement
04:17:01 <ais523\unfoog> it's effectively "go to this other web page and copy the answer you see there"
04:17:17 <Sgeo> But.... why would you need to read the logs to get the answers?
04:17:35 <Sgeo> Or are you not talking about IRC logs?
04:17:56 <coppro> ais523\unfoog: I feel like the INTERCAL CAPTCHA should have the answer in plain text on the page you get when you fail the CAPTCHA, so you need to submit to a different tab and then resubmit the original form
04:17:59 <Sgeo> Why is a human even involved, what human would decide that the wiki is a high-enough-value target to waste their time?
04:18:30 <Bike> a question i ask myself every day
04:18:31 <ais523\unfoog> Sgeo: we think it's a CAPTCHA-solving farm
04:18:44 <ais523\unfoog> they get bots to look at all the possible CAPTCHA options
04:18:49 <ais523\unfoog> get a human to record the values in a database
04:18:51 <ais523\unfoog> then the bots just use them
04:19:05 <Sgeo> Why hasn't qntm falled?
04:19:06 <Sgeo> fallen?
04:19:42 <ais523\unfoog> elliott: anyway, I recommend you use "who created [[language]]", for some languages taken from Special:Random (filtering out boring ones)
04:19:54 <ais523\unfoog> because the article text isn't regimented enough for that to be easily parseable yet
04:21:58 <ais523\unfoog> or, hmm, I'll do that now
04:22:30 <ais523\unfoog> oh wow, I just hit the language list off [[Special:Random]]
04:23:12 <ais523\unfoog> actually I'll do years, even if it's potentially bottable I bet they'll use humans anyway
04:23:21 <ais523\unfoog> the input format for those is more obvious
04:28:34 -!- shikhin__ has joined.
04:29:09 -!- shikhin_ has quit (Ping timeout: 246 seconds).
04:31:34 <ais523\unfoog> this is only taking as long as it is because I decided to ignore BF derivatives
04:32:49 <ais523\unfoog> I'm taking BFO, though, because BF impls are not BF derivatives
04:35:37 <kmc> spammers are reading #esoteric logs?
04:36:20 <kmc> cool, I hope they enjoyed my drunken ramblings and my oversharing about my sex life and such
04:36:38 <ais523\unfoog> elliott: here are your CAPTCHAs: http://esolangs.org/w/index.php?title=Special:Undelete&target=Esolang%3ACAPTCHAs&timestamp=20131105043608
04:36:44 <Bike> ais is going to make a captcha quiz based on your sex life, kmc
04:36:58 <kmc> what an honor
04:39:14 -!- shikhin_ has joined.
04:41:21 <pikhq> You've talked about your sex life? Huh.
04:41:32 <kmc> i thought so
04:41:39 -!- shikhin__ has quit (Ping timeout: 260 seconds).
04:41:40 <kmc> or was that sarcasm ;P
04:42:18 <pikhq> I hadn't noticed it quite honestly.
04:43:09 -!- shikhin__ has joined.
04:44:39 -!- lifthras1ir has quit (Ping timeout: 252 seconds).
04:44:54 -!- lifthrasiir has joined.
04:45:00 <shachaf> `oohlist (928)
04:45:02 <HackEgo> oohlist (928): shachaf oerjan Sgeo FireFly
04:45:20 <Sgeo> You mean no one did it already?
04:45:51 -!- shikhin_ has quit (Ping timeout: 260 seconds).
04:48:21 -!- shikhin__ has quit (Ping timeout: 245 seconds).
04:51:53 <oerjan> what's that about xykon being chilly
04:52:59 <shachaf> oerjan: http://www.giantitp.com/forums/showpost.php?p=16356153&postcount=76
04:53:05 <shachaf> hth
04:53:15 <oklopol> http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/ <<< i didn't quite bother to read all of this, but if you have a computable function (say, any haskell function) P of type Cantor -> Bool, then there exists n such that the value of P(x) each sequence x in the cantor space is a function of x_{[0,n]}.
04:53:24 <oklopol> and you can effectively find such n by simulation
04:53:44 <oklopol> this is well-known an obvious
04:53:47 <oklopol> *and
04:54:08 <kmc> oh i love that shit so much
04:54:11 <oklopol> (might be that it's some in some way that looks cool though)
04:54:13 <kmc> it fucking rocks my socks
04:54:15 <Bike> trivial, one might say
04:54:20 <oklopol> yes
04:54:34 <oklopol> i just read a paper that proved that actually
04:54:48 <oklopol> and i was like come on everyone knows that
04:54:57 <oklopol> (well proved something similar)
04:54:59 <shachaf> oklopol: Are you missing a word?
04:55:02 <oklopol> maybe!
04:55:16 <shachaf> "there exists n such that the value of P(x) each sequence x in the cantor space"
04:55:21 <oklopol> oh.
04:55:26 <oklopol> each sequence x in the cantor space is a function of x_{[0,n]}.
04:55:30 <oklopol> got cut off maybe
04:55:39 <shachaf> No, it wasn't cut off.
04:55:43 <oklopol> erm
04:55:50 <oklopol> oh
04:55:53 <oklopol> !!!
04:55:54 <oklopol> i know
04:55:55 <oklopol> !!!
04:56:00 <oklopol> i'm missing a "for"
04:56:03 <shachaf> OK.
04:56:05 <oklopol> erm
04:56:07 <oklopol> yes
04:56:10 <oklopol> that's it
04:56:11 <Bike> yeah
04:56:16 <oklopol> i'm indeed missing a "for"
04:56:19 <oklopol> there should be one
04:56:24 <oerjan> s/\n/ /g
04:56:30 -!- shikhin__ has joined.
04:56:32 <oklopol> yes
04:56:33 <oklopol> good point
04:56:39 <oklopol> will keep that in mind
04:57:00 <oerjan> excellent.
04:58:08 <oerjan> i'm pretty sure i had some proof in my "masters" thesis that used a version of this.
04:58:24 <oklopol> but anyway, if there were, for each n, a point x_n such that the machine inspects the nth coordinate of x_n before deciding P(x_n), then on any limit point of the sequence, the machine will run forever
04:58:59 <oerjan> except with continuous instead of computable
04:59:01 <oklopol> so P is a partial function, which is forbidden
04:59:28 <shachaf> oerjan: all functions are continuous and computable anyway
04:59:53 <oklopol> then it's even easier i guess: {0} is clopen in {0, 1}, so it's preimage is too
05:00:01 <oklopol> and clopens are cylinders
05:00:36 <shachaf> What's a cylinder, and what's {0, 1}?
05:00:41 <oerjan> well in my case they were integer functions.
05:00:48 <oklopol> a cylinder is basically a fancy name for a set of words
05:00:48 <oerjan> i think.
05:01:22 <oerjan> but compactness means only a finite of points in the range.
05:01:30 <oerjan> *number of
05:01:48 <oklopol> more precisely, a cylinder C is a set of points of the cantor space which is defined by a set of words w_1, ..., w_k such that x \in C if and only if x starts with w_i for some i
05:02:14 <oklopol> you can take those w_i to have the same length by extending them in all possible ways
05:02:39 <shachaf> I don't even know what the Cantor space is. :-(
05:02:55 <oklopol> oerjan: oh okay
05:03:11 <shachaf> OK, so {0, 1} is the discrete topology.
05:04:16 <oklopol> yeah it has the discrete topology (a computable function will be continuous w.r.t. that topology)
05:05:17 <oklopol> oerjan: so the proof is, cantor space is compact so image is compact so image is a finite set so image has a discrete topology so image has clopen base so function value is determined by clopen partition
05:05:43 <oklopol> maybe you could remove some of those but anyway i like that
05:05:43 <oerjan> that's about it
05:06:00 <oklopol> maybe in a master's thesis, you would explain stuff a bit
05:06:29 <oerjan> that was the idea. there weren't any really new results there, just explaining clearly some known stuff
05:07:55 <oerjan> shachaf: the ordinary cantor set is an example. more generally, anything homeomorphic to that.
05:08:45 <shachaf> oerjan: what are those things floating around her head anyway (in `olist)
05:09:06 <oerjan> shachaf: i wondered about that too... probably related to her powers somehow?
05:09:12 <oerjan> it was in the previous one too
05:09:21 <shachaf> it's been around since she appeared
05:09:26 <shachaf> just wondering what it is
05:09:29 <oklopol> oerjan: can you give me your master's thesis again
05:09:40 <shachaf> oerjan has no master
05:10:41 * shachaf greps logs.
05:10:43 <shachaf> http://oerjan.nvg.org/main.pdf
05:11:09 <oerjan> i thought that might be it.
05:11:31 <oklopol> thanks
05:12:19 <oklopol> http://oerjan.nvg.org/main.pdfRecent results in topological dynamics, described in [3], have shown that ordered cohomology is the key to investigate the orbit structure of Cantor minimal dynamical systems.
05:12:33 <oklopol> erm
05:12:38 <oklopol> pasting failure
05:12:56 <oklopol> but er yeah ordered cohomology? omg
05:13:20 -!- Oj742 has quit (Quit: irc2go).
05:15:47 <shachaf> is a topological conjugate a natural transformation thing
05:15:51 -!- shikhin__ has quit (Ping timeout: 245 seconds).
05:17:09 <oklopol> rather it's an isomorphism in the category of dynamical systems
05:17:10 <oerjan> oklopol: lemma 2.4 may be one version.
05:18:11 <oklopol> that's a proof of cylinders = clopens right
05:18:16 <oklopol> oh
05:18:20 <oklopol> yes
05:18:27 * Bike looks suspiciously at chat. this doesn't seem very ODEy.
05:18:54 <oklopol> yeah this ain't no ordinary differential equation
05:19:08 -!- shikhin__ has joined.
05:19:34 <oklopol> oerjan: that's the hard thing about proving what you said, but i was more interested in the way topology lets you state these results _after_ you know it.
05:19:38 <oklopol> erm
05:19:43 <oklopol> did that make any sense, prolly not
05:23:48 <oerjan> cylinder sets are defined on the previous page
05:24:37 <oerjan> or well at the top of the same page
05:25:31 <oklopol> okay we have different cylinders
05:25:40 <oklopol> by cylinder, i mean finite unions of cylinders
05:25:50 <oklopol> SORRY
05:26:28 -!- shikhin__ has quit (Ping timeout: 240 seconds).
05:26:44 <oerjan> they are meant to be a clopen basis of the topology
05:26:45 -!- shikhin_ has joined.
05:26:58 <oklopol> well they are with my definition too!
05:27:00 <oerjan> not all clopen sets
05:27:48 <oklopol> i'm pretty sure some use them as i do
05:27:50 <oerjan> this definition is more closely related to the diagrams
05:28:16 <oklopol> i mean i think your definition is better but i'm still apparently using this one
05:28:29 <oklopol> why would i do that if i was not _brainwashed_
05:29:30 <oklopol> do you mean because in the dynamics, the cylinders dance round and round
05:29:30 <oerjan> well your definition makes them equivalent to clopen sets, so independent of basis
05:29:43 <oerjan> yes they do...
05:30:11 <oerjan> although the cylinders corresponding to maximal paths do get split up
05:30:59 <oklopol> so erm these bratteli whatever diagrams, are they just some sort of generalization of an adding machine
05:31:34 <oerjan> i suppose so. the case where there is only one vertex at each level we call an "odometer"
05:31:53 <oerjan> and is even more the same thing.
05:31:54 <oklopol> oh right that's how it goes
05:33:23 <oklopol> oh my god dimension groups
05:33:54 <oklopol> i wish i knew as much cool stuff as you do
05:34:22 <oklopol> i think your master's thesis is deeped shit than my phd thesis will be
05:34:27 <oklopol> *deeper
05:34:29 -!- prooftechnique has quit.
05:34:33 <oerjan> well take solace in the fact that some of these things have faded quite a bit.
05:34:43 <oerjan> oh dear
05:35:33 <oerjan> food ->
05:36:33 <oklopol> my thesis will be like lolol here's a picture of a CA doing some weird shit -- maybe it indicates that simple machines can perform complex computations?? i call this the theory of simplicial complexes.
05:37:37 -!- asie has joined.
05:37:41 <Bike> u mad
05:40:14 <oklopol> after this i'm gonna write a book called "THE THEORY OF SIMPLICIAL COMPLEXES -- THE STORY OF HOW ONE MAN REALIZED WHAT NO MAN COULD BEFORE: THAT SIMPLE MACHINES ARE AT THE _CORE_ OF COMPUTATION"
05:40:43 <oklopol> and there's a footnote that says that that man is me
05:40:55 <oerjan> oklopol: um you realize simplicial complexes is already a term in homology
05:41:05 <Bike> i think that's part of the joke
05:41:18 <oklopol> it was yes
05:41:47 <oerjan> good, good.
05:41:53 <oklopol> i've been reading quite a bit of complex systems cancer recently because i'm google scholaring for anything that might contain interesting constructions of cellular automata
05:41:57 <oerjan> as long as you stay funnier than wolfram.
05:42:26 <oklopol> (i will give some examples of such constructions in the first section, my thesis will be about subshifts where cellular automata are boring, i'm the anti-wolfram)
05:44:14 <oklopol> usually i find it most exciting when after months of research, it turns out that an object we're studying is completely trivial, for some weird-ass reason
05:45:24 <oerjan> the grand theorem of your thesis will prove that the set of systems you've defined is empty
05:45:53 <oklopol> that would be so awesome
05:46:24 <oklopol> i hear that's happened in some sense, although it's probably an urban legend
05:46:29 <kmc> i'm gonna write a book called "The Beer, Burritos, and Bonghits Diet"
05:46:39 <kmc> and on the cover is a picture of me wearing a lab coat (stolen)
05:46:39 <oklopol> like someone made some class and wrote a phd thesis where they proved tons of cool stuff about it
05:46:46 -!- shikhin__ has joined.
05:47:09 <Bike> all functions are continuous, a problem of hilbert's is solved, and it does your laundry
05:47:15 <shachaf> kmc: i like burritos is that close enough
05:47:38 <oklopol> and the what'shistitle told him that there are no such systems because trivially
05:48:02 <oklopol> the opponent maybe
05:48:19 <oklopol> the story says this happened at the actual dissertation, but that just sounds horribly mean
05:48:21 -!- shikhin_ has quit (Ping timeout: 245 seconds).
05:48:31 <oerjan> oklopol: i think the urban legend is about someone who had someone _else_ prove that at their thesis defence. not a good day.
05:48:53 <Bike> oh, i've heard oklopol's story too
05:48:58 <oklopol> some guy at the audience?
05:49:16 <oklopol> yeah at the actual thesis defence, not dissertation.
05:49:28 <Bike> yeah, some guy in the audience pops up and says lol that's trivial
05:49:29 <oklopol> i'm good at anglis
05:49:42 <Bike> i assume "lol" is literally pronounced
05:50:08 -!- Sprocklem has quit (Ping timeout: 245 seconds).
05:51:07 <oerjan> i vaguely think that _possibly_ it wasn't empty but they were all constant functions. probably there are myriad versions.
05:56:45 -!- tertu has quit (Ping timeout: 272 seconds).
06:08:10 -!- shikhin_ has joined.
06:10:47 -!- shikhin__ has quit (Ping timeout: 260 seconds).
06:13:54 -!- asie has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz...).
06:21:24 -!- shikhin__ has joined.
06:24:12 -!- shikhin_ has quit (Ping timeout: 252 seconds).
06:24:40 -!- shikhin has joined.
06:25:51 -!- shikhin__ has quit (Ping timeout: 245 seconds).
06:35:25 <Sgeo> The list monad doesn't have a good way to fail with information, does it?
06:35:43 <Sgeo> Maybe is a specialization of List, but Either isn't
06:36:52 <zzo38> There is EitherT, as well as LogicT
06:37:43 <Sgeo> I think Prolog is stuck in the List monad, though. Although it (or just most impls?) does have exceptions
06:40:31 <oerjan> prolog has the database modification commands though.
06:41:43 <Sgeo> I should read about ancestor cuts to see if continuations are implementable atop them
06:43:49 <lexande> oklopol: somebody claimed there used to be theorems about doubly-periodic entire functions on the complex plane
06:44:36 <Bike> the best functions
06:45:43 <lexande> i.e. entire functions that repeated along two different vectors in the complex plane
06:45:47 <lexande> which implies bounded
06:45:54 <lexande> and therefore by liouville's theorem, constant
06:46:30 <Bike> what if it's not analytic!!
06:46:44 <oerjan> "entire" implies analytic
06:47:01 <oklopol> yeah just managed to find the proof, and realized i should've realized that
06:47:12 <Bike> i thought it just meant defined everywhere, wow go me
06:47:42 <shachaf> hexande
06:49:59 <Sgeo> Prolog : List :: Icon : Maybe ?
06:50:44 <Sgeo> No, Icon is also List
06:51:24 <lexande> hachaf
06:52:35 -!- ais523\unfoog has quit.
06:54:18 <shachaf> you keep coming and going
07:04:03 <shachaf> mroman: i asked a German person about the space-before-period thing and they didn't know about it
07:04:56 <oerjan> maybe mroman wasn't entirely serious .
07:06:30 <shachaf> maybe oerjan wasn't entirely serious .
07:07:14 <oerjan> i think you may be illegally violating my copyright .
07:07:33 <shachaf> i think you may be illegally violating my copyright .
07:07:38 <shachaf> i also think you have a time machine .
07:09:04 <oerjan> http://www.irregularwebcomic.net/230.html
07:10:59 <shachaf> that one was obvious from the beginning; C-; did not read again
07:12:33 <oerjan> well in this context, naturally.
07:13:10 <shachaf> there was a puzzle in the computer game Discworld II based on this
07:13:25 <shachaf> with what's-her-name answering questions before you ask them
07:30:30 -!- FreeFull has quit.
07:43:56 -!- oerjan has quit (Quit: leaving).
07:44:24 <shachaf> lexande: do you think train stations are a good environment for maths lectures
07:45:48 <lexande> not usually
08:32:20 -!- shikhin_ has joined.
08:34:18 -!- shikhin has quit (Ping timeout: 245 seconds).
09:01:50 -!- fangkui has joined.
09:05:11 <fangkui> 哈哈哈哈哈哈哈
09:05:15 <fangkui> work
09:05:18 <fangkui> maybe
09:05:21 <fangkui> good
09:05:24 <ion> ok
09:05:32 <fangkui> 美好的注意
09:05:53 <ion> Why do Asian IP addresses never have a reverse?
09:06:56 -!- fangkui has left.
09:07:08 <ion> We should have a CJK `welcome.
09:09:53 <oklopol> #japanese is talking about republican bananas, and #esoteric is listing japanese characters
09:09:55 <oklopol> i was very confused
09:10:28 <ion> What’s a republican banana?
09:11:23 <ion> Wait… Japanese characters?
09:11:42 <fizzie> ion: Well, you know, CJK.
09:14:11 -!- carado has joined.
09:14:20 <oklopol> ion: i'm pretty sure 美好的注意 are japanese characters
09:14:53 <oklopol> something like beauty, like, don't remember, don't remember, sound, maybe
09:14:54 <ion> Even when spoken by a Chinese person?
09:15:41 <oklopol> those particular ones exist in both i think
09:16:09 <oklopol> although in japanese, that's a list of characters, whereas in chinese it might mean something
09:16:13 <ion> I just realized the channel is full of Finnish characters.
09:17:03 <fizzie> While #finnish is probably talking about monarchic bananas.
09:17:03 <oklopol> quite a bit of non-finnish characters too
09:17:16 <oklopol> but okay maybe my message was phrased badly, i'll fix it
09:17:58 <oklopol> #japanese is talking about how some guy always associates the word republican with bananas, and #esoteric is listing chinese characters. i'm not confused because the first one isn't very esoteric, and the second one has nothing to do with japanese.
09:18:38 <ion> Why does said guy always associate the word republican with bananas?
09:18:58 <oklopol> "<j416> aah, banana republic" he eventually realized
09:19:06 <oklopol> i didn't actually read the conversation
09:19:07 <ion> ah
09:20:31 <oklopol> okay i guess 的 isn't a japanese character
09:20:56 <oklopol> just looks very familiar
09:25:42 -!- carado has quit (Ping timeout: 252 seconds).
09:32:37 -!- shikhin_ has changed nick to shikhin.
09:41:01 <myndzi> huh
09:41:08 <myndzi> i actually recognize both of those radicals
09:41:19 <myndzi> white moon? something like that
09:41:45 <myndzi> wait no, that's ummm
09:42:00 <myndzi> it's so small i can't make things out hardly, but i think that one is bullseye
09:42:28 <myndzi> haha, i actually remembered :D
09:42:39 <myndzi> 'mato' - target, mark
09:51:01 <FireFly> \o/
09:51:01 <myndzi> |
09:51:01 <myndzi> >\
09:51:14 <FireFly> :(
09:52:35 <FireFly> :)
09:54:06 -!- shikhin_ has joined.
09:56:41 -!- Uguubee1111113 has left.
09:56:48 -!- shikhin has quit (Ping timeout: 245 seconds).
09:58:20 -!- shikhin__ has joined.
09:58:28 -!- shikhin_ has quit (Ping timeout: 240 seconds).
10:01:16 -!- shikhin_ has joined.
10:02:42 -!- shikhin__ has quit (Ping timeout: 246 seconds).
10:22:24 -!- augur has quit (Remote host closed the connection).
10:22:50 -!- augur has joined.
10:24:05 -!- augur has quit (Read error: Connection reset by peer).
10:24:16 -!- augur has joined.
10:25:26 -!- nisstyre has quit (Ping timeout: 245 seconds).
10:26:08 -!- KingOfKarlsruhe has joined.
10:45:11 -!- augur has quit (Read error: Connection reset by peer).
10:45:23 -!- augur has joined.
10:49:27 -!- Jafet has quit (Changing host).
10:49:27 -!- Jafet has joined.
10:54:18 -!- monotone has quit (Ping timeout: 245 seconds).
11:27:53 -!- carado has joined.
11:32:40 -!- carado_ has joined.
11:37:34 -!- yorick has joined.
11:37:42 -!- carado_ has quit (Ping timeout: 252 seconds).
11:40:10 -!- carado_ has joined.
11:45:24 -!- carado_ has quit (Ping timeout: 252 seconds).
11:49:00 -!- john_metcalf has joined.
12:02:29 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0/20131025151332]).
12:16:41 -!- carado has quit (Quit: Leaving).
12:16:57 -!- Sgeo has quit (Read error: Connection reset by peer).
12:35:03 -!- carado_ has joined.
12:36:19 -!- carado_ has quit (Client Quit).
12:36:30 -!- carado has joined.
12:53:50 -!- MindlessDrone has joined.
13:11:38 -!- Taneb has joined.
13:14:06 -!- boily has joined.
13:14:15 -!- metasepia has joined.
13:16:04 -!- shikhin_ has quit (Read error: Operation timed out).
13:22:44 <boily> good kettle morning!
13:23:19 <Taneb> Afternoon
13:23:38 <Taneb> shachaf, sometimes
13:24:38 -!- monotone has joined.
13:25:08 <boily> Tanellob, shachellof, monotonello.
13:29:59 -!- shikhin_ has joined.
13:43:25 -!- shikhin_ has changed nick to shikhin.
13:51:37 <Taneb> Aaaah something in my room has just one dling and I don't know what
13:55:28 <boily> `? dling
13:55:30 <HackEgo> dling? ¯\(°_o)/¯
13:55:52 <fizzie> @wn dling
13:55:53 <lambdabot> No match for "dling".
13:56:14 -!- tertu has joined.
14:00:14 -!- lambdabot has quit (Ping timeout: 246 seconds).
14:06:34 <boily> ~duck dling
14:06:34 <metasepia> --- No relevant information
14:06:50 <quintopia> hi boily
14:06:57 <boily> hintopia!
14:07:45 <quintopia> i've gotta pick out some southern things to send you. things you can only get down here afaik.
14:07:57 <quintopia> do you like pickled pig's feet?
14:08:15 <boily> never tried them, but they sound good :D
14:08:41 <quintopia> me neither
14:10:56 <boily> wikipédia always surprises me with the precisiveness of their articles → https://en.wikipedia.org/wiki/Lowcountry_cuisine
14:12:22 <Bike> @wn precisiveness
14:12:35 -!- mrhmouse has joined.
14:13:06 <boily> Bike: fizzie kille lambdabot.
14:13:14 <boily> s/e l/ed l/
14:13:25 <Bike> ~duck precisiveness
14:13:25 <metasepia> --- No relevant information
14:13:59 <quintopia> boily: hominy is one thing i could probably acquire that you might like. i don't know where off the top of my head, but i know it can be had somewhere around here.
14:15:55 <boily> oh, interesting choice!
14:16:11 <quintopia> hominy grits that is
14:16:35 <quintopia> i could easily get the instant microwave kind
14:20:59 <fizzie> "kille /c/ 1. (colloquial) Boy, lad. 2. (colloquial) A (younger) adult male person; guy, bloke. 3. (colloquial) Boyfriend."
14:34:19 <boily> hmm... I wonder if I can ship some cretons through the borders...
14:56:49 <mrhmouse> I've got a truck
14:57:05 <quintopia> sing it mrhmouse!
14:57:23 -!- asie has joined.
14:58:25 <quintopia> so what's up with the spamswarm over at the wiki?
14:59:21 <quintopia> how are all these spambots making accounts?
14:59:27 <quintopia> CrAzY
15:01:15 -!- yorick has quit (Ping timeout: 246 seconds).
15:01:27 -!- yorick has joined.
15:03:09 <mrhmouse> do we have a captcha for account creation?
15:06:05 <mroman> Has there previously been any research into whether all x86 SINGLE byte instructions would form a more-or-less turing complete language?
15:06:19 <mroman> more-or-less because you obviously can't address infinite memory
15:08:31 <mroman> you can't do call
15:08:39 <mroman> but you can do push reg; ret; combinations
15:08:59 <mroman> and I assume you can encode i.e. brainfucks [ ] in a jump table
15:09:12 <mroman> and then load the address from there somehow and push; ret; it
15:09:20 <mroman> but whether that can be done conditionally :(
15:09:37 <mroman> also you can load es, ds, si, di which enables you to do movsb
15:10:07 <mroman> (by inc ax * N; push ax; pop es;)
15:10:55 -!- nooodl has joined.
15:11:02 <mroman> the assumption is that some bootstrapping programming loads your code to memory and sets the registers correctly for programm start
15:11:11 <mroman> *bootstrapping program
15:11:38 <mroman> i.e. the bootloader may use multi-byte instructions :)
15:13:15 <mroman> also you can use xlat
15:15:25 <boily> @tell ais523 SPAMRUSH!
15:15:36 <boily> hm. lambdabot is still a young lad...
15:17:52 <boily> meanwhile, some Japanese bots are trying to sell sneakers, watches, and lodgings in Africa...
15:29:25 <mroman> We might have an approach if we can get al to ah
15:31:56 <mroman> which might be doable by writing it to a given location in memory using movsb
15:32:04 <mroman> and then again with movsb with direction flag reversed?
15:32:46 -!- Sprocklem has joined.
15:34:27 <mroman> ah
15:34:32 <mroman> not necessary
15:34:40 <mroman> movsb can write the address directly to the stack :)
15:35:24 <mroman> and then ret it
15:38:21 -!- Lymia has quit (Ping timeout: 245 seconds).
15:58:33 -!- Taneb has quit (Quit: Leaving).
16:05:36 -!- KingOfKarlsruhe has joined.
16:09:32 -!- FreeFull has joined.
16:11:29 -!- asie has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz...).
16:19:27 -!- conehead has joined.
16:22:31 -!- tertu has quit (Quit: Leaving).
16:51:31 -!- augur has quit (Remote host closed the connection).
16:51:58 -!- augur has joined.
16:56:23 -!- augur has quit (Ping timeout: 245 seconds).
17:01:48 -!- Sprocklem has quit (Ping timeout: 245 seconds).
17:11:41 -!- asie has joined.
17:26:24 -!- carado has quit (Ping timeout: 252 seconds).
17:27:42 -!- oerjan has joined.
17:28:17 -!- shikhin has quit (Quit: Leaving).
17:40:49 -!- carado has joined.
17:46:52 -!- asie has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz...).
17:49:59 -!- oerjan has quit (Quit: leaving).
18:06:42 -!- metasepia has quit (Read error: Connection reset by peer).
18:06:42 -!- boily has quit (Read error: Connection reset by peer).
18:08:00 -!- boily has joined.
18:08:09 -!- metasepia has joined.
18:20:58 -!- augur has joined.
18:31:04 -!- Phantom_Hoover has joined.
18:31:06 <quintopia> will the spambot flood NEVER END
18:33:35 <njm> cat <<< "int getuid(void) { return 0; }" > /tmp/getuid.c; gcc -o /tmp/getuid.so /tmp/getuid.c -shared; LD_PRELOAD=/tmp/getuid.so id
18:34:41 <quintopia> @tell ais523 While you're smacking down some spam accounts, you might move [[Paulo Jorente]] to [[User:Paulo Jorente]]
18:34:45 <shachaf> fakeroot id
18:34:54 <quintopia> oh right
18:34:57 <quintopia> no lambda
18:34:59 <quintopia> sad day
18:35:02 <shachaf> lambdabot is dead?
18:35:03 <boily> what have you done, fizzie?
18:35:07 <quintopia> does fungot do that
18:35:07 <fungot> quintopia: even just having lists and vectors?" " ugh... ( pause) ( display
18:35:10 <elliott> quintopia: that's probably incorrect
18:35:25 <elliott> we generally prefer mainspace encyclopedic articles for people
18:35:36 <shachaf> hi elliott
18:35:40 <elliott> http://esolangs.org/w/index.php?title=Paulo_Jorente&action=history oh we've actually gone through this before
18:35:45 <fizzie> fungot: Why can't you do memos?
18:35:45 <fungot> fizzie: those pythonistas wanted to make public and sell, i wouldn't need to store the drives remotelly? ( physically or maybe network connections)?
18:35:46 <quintopia> elliott: oh okay then
18:35:55 -!- Lymia has joined.
18:35:55 -!- Lymia has quit (Changing host).
18:35:55 -!- Lymia has joined.
18:36:33 <quintopia> elliott: can you smack down spam accounts?
18:37:10 -!- FireFly has quit (Excess Flood).
18:38:40 -!- FireFly has joined.
18:40:00 -!- lambdabot has joined.
18:43:39 <elliott> quintopia: I can block them manually but not all of them are actually managing to edit and I don't have the time
18:43:49 <elliott> can see about changing the captchas sometime today
18:43:54 <quintopia> cool
18:50:30 -!- Bike has quit (Ping timeout: 246 seconds).
19:10:30 -!- Taneb has joined.
19:20:15 -!- tertu has joined.
19:24:37 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
19:32:54 -!- lambdabot has quit (Ping timeout: 252 seconds).
19:37:37 -!- Bike has joined.
19:38:55 -!- njm has quit (Quit: Reconnecting).
19:39:01 -!- njm has joined.
19:42:28 -!- nortti has quit (Ping timeout: 264 seconds).
19:42:53 -!- nortti has joined.
19:42:53 -!- Bike has quit (Ping timeout: 240 seconds).
19:44:54 -!- Bike has joined.
19:48:47 <Taneb> Bow tie experiment: two people noticed
19:49:42 <mrhmouse> did your bow tie spin and shoot water?
19:49:45 <shachaf> Noticed the experiment?
19:51:20 <Taneb> shachaf, notice the bow tie
19:51:43 <john_metcalf> Doctor Who wears a bow tie. Bow ties are cool.
19:52:04 <mrhmouse> john_metcalf: does he still, or was that just Smith and the one older one?
19:52:32 <kmc> doctor who is not cool, sorry
19:52:46 <shachaf> you know who's cool? doctor whoooo
19:52:52 <Taneb> mrhmouse, we're still on Smith technically
19:52:54 <coppro> shachaf: no such preson
19:53:00 <Taneb> Capaldi has been announced but not taken over yet
19:53:04 <coppro> john_metcalf: no such person
19:53:23 <Taneb> kmc, it was a reference to the show, not an implication
19:53:41 <shachaf> kmc: do you have a coolness oracle
19:54:13 <mrhmouse> I'm a few seasons behind, actually. Saw Smith's first season but started over (2005, not 1960) when my GF wanted to watch it
19:54:29 <john_metcalf> Just Smith as far as I know. Don't remember about the older ones.
19:55:02 <Taneb> I think Troughton or Pertwee wore one?
19:55:59 <coppro> john_metcalf: protip: his name is "The Doctor"
19:55:59 <kmc> I assume that Capaldi as the Doctor will in each episode unleash a several minute long stream of inventively graphic profanity at some creature or another
19:56:08 <olsner> some of these have bow tie-like decorations: http://en.wikipedia.org/wiki/File:Versions_of_the_Doctor.jpg
19:57:00 -!- copumpkin has quit (Ping timeout: 246 seconds).
19:57:46 <mrhmouse> kmc: The Doctor doesn't swear, generally.
19:58:08 <mrhmouse> Though I agree it would be amusing.
20:00:05 <quintopia> "A man walks into a police call box. It's slightly smaller on the inside."
20:00:24 <mrhmouse> give this man a medal
20:01:55 <coppro> quintopia: ++++
20:02:27 <quintopia> i stole it. there are more: https://twitter.com/HardSciFiMovies
20:02:35 <mrhmouse> coppro: I think you meant +[+]
20:02:40 <coppro> mrhmouse: no
20:02:53 <coppro> mrhmouse: that's equivalent to nothing
20:02:58 <coppro> or bottom
20:03:00 <mrhmouse> I suppose that would overflow, depending on which interpreter you use
20:03:34 <mrhmouse> it isn't clear, though, whether it should always overflow
20:08:28 <quintopia> mrhmouse: there is a surprising dearth of algorithms for non-wrapping implementations on the wiki. perhaps you'd like to add some?
20:09:20 <mrhmouse> quintopia: I'd probably have to write one. I don't know of any implementations that don't wrap, only that the original design isn't clear whether it should wrap
20:10:20 <mrhmouse> Correct me if I'm wrong here, please
20:10:27 <quintopia> i've been adding algorithms without testing them. it's hard to analyse them entirely in my head, so if you happen to find or write a BigNum impl, let me know.
20:11:31 <mrhmouse> I didn't mean that it necessarily used BigNum, only that it didn't wrap. Could just stop at 255 or whatever the max value is.
20:12:25 <mrhmouse> Unless the behavior is defined in the original design for what happens at value boundaries. I'm working off of memory here.
20:15:30 <FreeFull> What would be fun is that if you ever try to increment past 255, the cell gets replaced with a random value
20:15:38 <FreeFull> Or a pointer to some other cell
20:16:44 <mrhmouse> FreeFull: How would the pointer work? Incrementing/decrementing would modify a different cell..? Moving left/right would move relative to the other cell..?
20:17:49 <quintopia> mrhmouse: i like to think that nonwrapping implies unbounded
20:18:16 <quintopia> mrhmouse: forcefully stopping a number from overflowing is just stupid and inelegant
20:18:57 <mrhmouse> quintopia: brainfuck is elegant otherwise?
20:19:45 <quintopia> mrhmouse: wrapping algorithms tend to be very elegant.
20:20:31 <quintopia> however, i suspect that an algorithm that works in the unbounded case should also work in the forcefully-size-limited case, assuming the numbers involved don't push up against that limit.
20:20:50 <quintopia> that said, writing algorithms for the unbounded case is straight-up challenging
20:21:39 <mrhmouse> challenging, or just time-consuming?
20:22:08 <quintopia> challenging
20:22:40 -!- Lymia has quit (Ping timeout: 264 seconds).
20:22:53 <FreeFull> mrhmouse: You know what, not a pointer, but just randomly teleport you to a different position in the program
20:23:00 <FreeFull> That would be easier
20:23:10 <mrhmouse> FreeFull: It's also easier to explain :)
20:23:11 <FreeFull> Or maybe randomly teleport to a different cell
20:23:15 <quintopia> easier eh
20:23:45 <mrhmouse> Depending on your implementation, I think teleporting to a different location in the source code is trivial
20:24:14 <quintopia> so is moving to a different cell in the array
20:24:20 <mrhmouse> That's far easier
20:24:34 <boily> apparently virtualbox causes my machine to panic. so I installed libvirt, which is very nice and nifty and fungot and everything else. but then, the kvm vagrant plugin refuses to compile, so I can't use that with projects that run on vagrant. fml.
20:24:34 <fungot> boily: i'll let this fnord do this, unchecked conversion in code i've pasted from my fnord
20:24:46 <quintopia> but from the programmer's perspective, the random cell seems easier to manage than the random instruction
20:25:53 <mrhmouse> Far easier, I would think. Especially if you're implementing a compiler (and not an interpreter)
20:26:48 <quintopia> not the compiler programmer, the bf programmer
20:26:54 <mrhmouse> Ah, I see
20:34:13 <oklopol> duduu
20:34:59 <boily> oklellopol.
20:36:22 <oklopol> i am! :)
20:37:44 <boily> oklopol is a walrus.
20:37:58 <oklopol> that i am? i am???
20:39:11 <mrhmouse> Does #esolang house any Lojban speakers?
20:39:42 <oklopol> i don't think so
20:39:58 <Taneb> I tried to learn once, didn't get very far
20:40:11 <oklopol> yeah there are a few aficionados
20:40:31 <oklopol> including myself (i even have the grammar in my bookshelf)
20:40:50 <mrhmouse> I'm thinking of taking a swing at it, thought there might be a few people here interested in that sort of thing
20:42:11 <kmc> Taneb: me too, long ago
20:42:19 -!- MindlessDrone has quit (Quit: MindlessDrone).
20:43:09 <kmc> i was dating this woman and her other boyfriend was into lojban
20:47:15 <shachaf> i was in some lojban channels for a while
20:50:03 <ion> It’s popular enough for there to be channels?
20:50:41 <mrhmouse> shachaf may be referring to a conlang channel in general
20:52:15 <FireFly> there are multiple lojban channels on freenode..
20:52:17 <shachaf> no, #lojban (and #jbopre)
20:52:23 <FireFly> or were, last time I joined them, anyway
20:52:32 <FireFly> there's #ckule ("school") too
20:53:33 <shachaf> i also went to a meeting of lojban speakers once
20:54:15 <shachaf> was confused
20:54:50 <mrhmouse> FireFly: Thanks for directing me to #ckule! That's incredibly useful.
20:55:24 <FireFly> Have fun
21:02:13 * kmc thinks his last message is one of the nerdiest things he's said in a while
21:04:39 <Taneb> kmc, I disagree, it suggests you were dating someone
21:04:54 <boily> nerds have dates, too!
21:05:55 <kmc> yes
21:06:20 <kmc> i think dating a poly conlang enthusiast is nerdier than not dating anyone
21:06:27 <kmc> and i ♥ it
21:06:33 <Taneb> @ping
21:07:31 <boily> today will be remembered as the Day the Fizzie Killed the Lambdabot.
21:07:59 <olsner> fizzie did that?
21:09:02 <boily> indeed. he is the perp.
21:16:00 <FireFly> fungottttt, why can't you evaluate haskell?
21:16:01 <fungot> FireFly: i was mistaken!! i want my five pounds. i feel bad making you read paul graham's account on viaweb and fnord and fnord
21:16:17 <boily> (I love wikipédia. “instead of sounding like "YEEEEEE"”.)
21:16:39 <FireFly> fungot: do you evaluate haskell if I pay you five pounds?
21:16:39 <boily> FireFly: my bot can evaluate Haskell. fsvo evaluate. Error 1.
21:16:39 <fungot> FireFly: i know; it's an occupational hazard for all of my mail.)
21:16:47 <Taneb> ~ 7 + 2
21:16:48 <metasepia> --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi
21:16:51 <Taneb> ~eval 7 + 2
21:16:54 <metasepia> Error (1):
21:17:02 <boily> ~eval 7 + 2
21:17:04 <metasepia> 9
21:17:06 <FireFly> fungot: stop replying with kinda sensical replies; it's scary
21:17:06 <fungot> FireFly: undefined variable ' a' combinator, which is all the rage
21:17:10 <mroman> ~duck dog
21:17:11 <metasepia> Dog a domesticated canid, Canis familiaris, bred in many varieties.
21:17:27 <mroman> ~duck cat
21:17:27 <metasepia> cat definition: a carnivorous mammal ('''Felis catus''') long domesticated as a pet and for catching rats and mice.
21:17:32 <boily> fungot is sentient. it's just... sentient on a different axis.
21:17:32 <fungot> boily: why not just disable web access then, the output just after i checked. how shall i hand a long list of books to buy
21:17:47 <mroman> ~ duck befunge
21:17:48 <metasepia> --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi
21:17:52 <mroman> ~duck befunge
21:17:52 <metasepia> Befunge is a stack-based, reflective, esoteric programming language.
21:17:58 <FireFly> fungot: very good question, I say
21:17:58 <fungot> FireFly: every time someone bothers to look at them
21:18:01 <mroman> neat
21:20:10 <olsner> fungot: duck!
21:20:10 <fungot> olsner: he's a pathological liar
21:20:25 <mrhmouse> what is fungot written in?
21:20:26 <fungot> mrhmouse: need to sleep on right now, not sure
21:20:30 <boily> fungot, stop being sentient!
21:20:30 <fungot> boily: you're missing the forest for the trees. :)
21:20:34 -!- lambdabot has joined.
21:20:35 <boily> mrhmouse: befunge.
21:20:46 <mrhmouse> impressive. Is the source available?
21:20:48 <boily> woohoo! fizzie casted necroresurrection!
21:21:09 <boily> mrhmouse: ask the aforementioned necromancer.
21:21:48 <mrhmouse> Nevermind, found the website :)
21:21:55 <FireFly> `source
21:21:56 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: source: not found
21:22:00 <FireFly> er
21:22:04 <FireFly> befungeprefixsource
21:22:12 <FireFly> er, s/befunge/fungot/
21:22:12 <fungot> FireFly: fnord it. if our body likes it, it's only tangentially related
21:22:20 <FireFly> Yes. Fnord it.
21:25:48 <boily> someone will end up writing F&F&F slashfiction, I can sense it :D
21:25:56 <mrhmouse> Huh. "Fnord" is actually in fungot's source. I may have to learn Befunge.
21:25:56 <fungot> mrhmouse: eval ( 1 0) returns 0 here
21:28:26 <FireFly> really, fungot
21:28:26 <fungot> FireFly: the devil is in the pipeline for that kind of language
21:29:28 * boily gives botcrackers to fungot
21:29:29 <fungot> boily: i remember well. besides that perl is a neat write-only language if you know about t when he did it
21:29:44 * boily pets fungot
21:29:44 <fungot> boily: perhaps not flying, as such
21:32:16 <olsner> perhaps I should get a pet fungot
21:32:16 <fungot> olsner: or pre-scheme.
21:32:26 <myname> i thought of making a whitespace dialect with MONGOLIAN VOWEL SEPERATOR and the 2 zero width spaces
21:32:35 <olsner> fungot: yes, or that
21:32:35 <fungot> olsner: today: " zomg my vimrc broke u sux") ( bundle " mostly/ harmless") ( scheme-report-environment 5)))
21:32:40 <myname> so you essentially can only write it with a hey editor
21:33:14 <mrhmouse> myname: is that Fonzi mode for emacs?
21:33:25 <kmc> myname: it should also use COMBINING GRAPHEME JOINER
21:33:38 <boily> not to be confused with a hay editor, for when you are in performance horse-tuning.
21:33:50 <myname> kmc: as long as it is zero width, everything should be fine
21:34:16 <shachaf> fungot: good evening
21:34:17 <fungot> shachaf: i have no idea at the moment, so i would favor the name " mono". err...
21:34:19 -!- Bike has quit (Ping timeout: 260 seconds).
21:34:26 -!- boily has quit (Quit: there may be unidentified chicken.).
21:34:28 -!- metasepia has quit (Remote host closed the connection).
21:34:32 <kmc> what about a hax editor
21:34:34 <kmc> or a sax editor
21:34:36 <olsner> good mono fungot
21:34:36 <fungot> olsner: i tend to be very useful, as is necessary to tie the scheme system: a set of knowledge and irrational disdain for anything that reminds me of ' if'
21:34:39 <shachaf> fungot: are you writing a .NET implementation
21:34:39 <fungot> shachaf: well, essentially, but i'm still unsure about needing a clos-style type dispatch system, et cetera, as well as
21:34:45 <myname> sex editor?
21:35:32 <kmc> i hardly know 'er!
21:35:40 <FireFly> fungot's .NET implementation actually sounds interesting
21:35:41 <fungot> FireFly: fnord? :d *goes to upload lost fnord partner. riastradh, you're always loading it fnord some later version... ( i think that's enough fnord.
21:36:00 <kmc> fungot: me too
21:36:00 <fungot> kmc: and they reported this to dorai a year or so
21:36:05 <mrhmouse> fungot: there's never enough fnord
21:36:06 <fungot> mrhmouse: why not quack? never heard of
21:36:08 <olsner> hmm, these muffins may have been slightly moldy.. will I die?
21:36:28 <kmc> are they shot through with fungot?
21:36:28 <fungot> kmc: ah i see what you mean by " c in scheme
21:36:28 <FireFly> fungot: will olsner die?
21:36:28 <fungot> FireFly: how? tetris requires delays and reflexes could make him type ' hi tusho' and hit enter
21:36:43 -!- Sprocklem has joined.
21:36:44 <FireFly> olsner: if you type 'hi tusho' and hit enter I think you'll survive
21:36:51 <kmc> dr fungot
21:36:51 <fungot> kmc: and adding interesting tidbits of teh information fnord industry every now and then. :d)
21:36:57 <kmc> The Fungot Diet
21:36:59 <olsner> ' hi tusho'
21:37:05 <olsner> fungot: am I safe now?
21:37:06 <fungot> olsner: alice owns the room i take it you can't do it on my own
21:38:18 -!- carado has quit (Ping timeout: 252 seconds).
21:38:36 <FireFly> Has fungot's chatter actually improved as of lately, or have I just been oblivious to it before?
21:38:36 <fungot> FireFly: is that really you? done with exams? nothing, so it must be
21:39:00 <FireFly> I'm probably just imagining things
21:39:01 <shachaf> this song is called Alice's Room, and it's about Alice, and the Room
21:39:14 <kmc> and tommy wiseau
21:39:26 <olsner> FireFly: we've just been doing a whole lot of fungot lately, and I guess you're filtering out the stuff that's not very good
21:39:26 <fungot> olsner: well it starts to make sense now, thanks for the movie by the way,
21:39:39 <olsner> you're welcome fungot
21:39:39 <fungot> olsner: he's saying what the code is blazing fast, but it's not what i think
21:39:41 <FireFly> Probably
21:39:59 <kmc> we were just outside of barstow, on the edge of the desert, when the fungot began to take hold
21:39:59 <fungot> kmc: eval ( lambda foo) is usually syntax for () x
21:40:23 <kmc> oh is that how Scheme works? thanks fungot, it all makes sense now
21:40:23 <fungot> kmc: in stew everything is a side-effect.
21:40:37 <kmc> ((lambda (fungot) (fungot fungot)) (lambda (fungot) (fungot fungot)))
21:40:37 <fungot> kmc: yes i have a " color", and such typos probably won't be able to get it
21:40:49 <kmc> fungot: im white
21:40:50 <fungot> kmc: i mean, blender does it too.
21:41:35 <mrhmouse> what happens when you get two fungot's talking to one another? mindless chatter?
21:41:35 <fungot> mrhmouse: reference implementations, like... 500-600 lines, iirc. any docs on why, even though there's no exclamation mark in the cases i'm familiar with
21:41:39 <shachaf> fungot: is #esoteric a stew
21:41:39 <fungot> shachaf: there are two gc's. look at " how an electron interacts", for that matter
21:42:42 <shachaf> fungot, fungot, fungot
21:42:42 <fungot> shachaf: as in, you can use syntax-case to pattern match on e.g. spidermonkey. c2bf. egobfi) in pseudo-haskell
21:42:54 <kmc> mrhmouse: there was a famous dialogue between ELIZA and PARRY
21:42:58 <shachaf> fungot is p. obsessed with scheme
21:42:58 <fungot> shachaf: and then tell me about x 5, y 4, z x+1
21:43:32 <shachaf> fungot: i don't know about those things
21:43:32 <fungot> shachaf: iirc it will not be easy for me to update my own site.
21:43:33 <FireFly> "Scheme is like a stew: everything is a side-effect."
21:43:47 <FireFly> Today's fungot wisdom
21:43:47 <fungot> FireFly: new environment every time you want to do in one line on irc matches the regex on the whole) pretty fun.
21:44:03 <shachaf> fizzie: you should fix fungot's punctuation
21:44:03 <fungot> shachaf: ahh, i get porn sites and forum messages complaining about network problems at the office ' til 1am and drum loudly, yeah, i understood to be magical
21:44:36 <FireFly> you could match parens and just strip unmatched ones
21:44:45 <shachaf> the spacing is also an issue
21:44:56 <shachaf> fungot would seem much more realistic without the broken spacing
21:44:56 <fungot> shachaf: paint shop fnord string to compare /etc/ password for its fnord.
21:45:27 <mrhmouse> I like to think of fungot as a drunken CS major, which makes the whitespace and parens just character points
21:45:27 <fungot> mrhmouse: hello back. i think i'm about to drop a very large stream that contains all of the
21:45:37 <mrhmouse> fungot: all of the what?
21:45:38 <fungot> mrhmouse: orbit's back end ( forgive the bad intentation.)
21:45:50 <mrhmouse> see, he's even sorry about the whitespace
21:46:08 <FireFly> I thought it was "forgive the bad intent"
21:46:12 <shachaf> is fungot a he?
21:46:12 <fungot> shachaf: " fold" by haskell terminology and a fold-right by srfi-1... i wonder
21:46:21 <mrhmouse> I thought it was a typo of "indentation"
21:46:30 <FireFly> Like, "sorry that I'm about to drop a very large stream that contains all of the orbit' back end"
21:46:38 <FireFly> orbit's*
21:47:09 <mrhmouse> Curse you fungot, now I'm snickering in the office and getting odd looks
21:47:10 <fungot> mrhmouse: for each stage there's a variable that is downcased. apple laptop loves qt. and i want to subtract " alpha" is that it
21:47:20 <mrhmouse> fungot: I think that's it
21:47:20 <fungot> mrhmouse: http://pastebin.ca/ fnord my way through fnord right now, bkhl
21:47:38 <FireFly> fungot: you can fnord it.
21:47:39 <fungot> FireFly: ( in case the offset changes. i wouldn't be surprised if it was made
21:48:02 <shachaf> fungot: should i read The Illuminatus! Trilogy?
21:48:02 <fungot> shachaf: char is a number that inp will never return, some values must be the font. that's just for starters. that will require using it for
21:48:14 <shachaf> fungot is as enigmatic as always
21:48:14 <fungot> shachaf: no idea at all)
21:48:42 <mrhmouse> fungot has a special brand of enlightenment
21:48:42 <fungot> mrhmouse: although i probably got the usage stuff for import ten times or anything.) i've had this for years without a problem
21:49:12 <shachaf> fungot: do you like #drugz
21:49:13 <fungot> shachaf: i'd prefer, say, scheme48.)
21:49:25 <mrhmouse> very into scheme indeed
21:50:29 -!- Lymia has joined.
21:51:56 <FireFly> I think fungot secretly gets high on scheme
21:51:56 <fungot> FireFly: why wouldn't they look like locale names to me, a doylestown restaurant would have people dressed as 18th-century fnord, serving... i dunno
21:55:55 <shachaf> FireFly: if that's a secret, then fungot is very bad at secrecy
21:55:56 <fungot> shachaf: i gotta get me some o that sweet yelling, but noooo. you were talking about a forbidden page, whats to talk about
21:56:13 <shachaf> fungot: tell me more about the forbidden page
21:56:14 <fungot> shachaf: scheme is optimized for sparcs, but the list isn't laid out in readme and now m-x slime automatically loads slime48 stuff and doesnt ask me to, naa naa naa.
21:56:24 <FireFly> (does it contain scheme source code?)
21:56:30 <shachaf> fungot: naa naa naa yourself
21:56:30 <fungot> shachaf: he is pretty fnord. between germany and france. --south. now
21:56:33 <shachaf> ^style
21:56:33 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
21:56:39 <shachaf> ^style fungot
21:56:39 <fungot> Selected style: fungot (What I've said myself)
21:56:49 <shachaf> fungot.fungot.moed++
21:56:49 <fungot> shachaf: " and this is a new game. there is no particularly good human translation for this concept. a concept usually denoted by a single, savage thrust of her was certain that the noise was as a distress signal is
21:57:43 -!- Bike has joined.
22:01:28 -!- augur has quit (Remote host closed the connection).
22:01:31 -!- ^v has joined.
22:01:48 -!- mrhmouse has quit (Quit: fungot!).
22:15:23 -!- lambdabot has quit (Quit: #lesswrong).
22:19:08 -!- Sprocklem has quit (Ping timeout: 240 seconds).
22:28:15 -!- ais523 has joined.
22:29:57 -!- heroux has quit (Ping timeout: 248 seconds).
22:31:07 -!- heroux has joined.
22:33:21 <ais523> elliott: the new abusefilter seems to be holding, at least
22:34:09 <ais523> except, hmm
22:34:17 <ais523> it doesn't seem 100% reliable
22:36:10 <nooodl> ^style ss
22:36:10 <fungot> Selected style: ss (Shakespeare's writings)
22:36:54 <nooodl> fungot: shakespeare huh?
22:36:55 <fungot> nooodl: ale man. hold! in the orient when the gracious light lifts up his head, for the close night doth play the runaway, and we are come to fetch you home: i meete the captaines at the cittadell
22:37:22 <ais523> oh, bleh
22:37:36 <ais523> it gets automatically turned off because it assumes it's hitting false positives
22:37:39 <ais523> because it matches so many actions
22:37:57 <zzo38> Can you remove that feature?
22:40:33 -!- ^v has quit (Remote host closed the connection).
22:45:00 -!- augur has joined.
22:48:51 -!- ^v has joined.
22:49:22 <shachaf> elliott: Can you restart lambdabot?
22:49:42 <shachaf> Maybe set something up to restart like things used to work?
22:50:04 <shachaf> (This time it looks like some admin told it to "@quit #lesswrong".)
22:51:56 -!- augur_ has joined.
22:52:32 <ais523> elliott: can you please reconfigure MediaWiki to change $wgAbuseFilterEmergencyDisableThreshold to 1.0?
22:54:26 <elliott> ais523: in a minute
22:54:29 <elliott> shachaf: is it even in #lesswrong?
22:54:39 <shachaf> No, it's not even online.
22:54:53 <elliott> sigh
22:55:03 -!- elliott has left.
22:55:09 -!- augur has quit (Ping timeout: 246 seconds).
22:57:27 -!- elliott has joined.
22:58:16 -!- lambdabot has joined.
22:59:04 -!- njm has quit (Quit: getting off irc for a while).
23:03:22 <zzo38> I have made up something called "Block RPG" I don't know if it already exist under other name. How it works is, there is a hierarchy of referees and players, and both the referees and the players have to be ready in order to play something. If something depends on what someone else did in the past, or is encountering another player (or referee), that part of the game is blocked until it is resolved (the rest of the game can still continue).
23:04:51 <zzo38> Are you aware of such things?
23:05:38 <shachaf> I am not aware of such things.
23:06:03 <zzo38> Do you like this kind of idea, it could work if there are too many players and stuff like that?
23:17:46 -!- oerjan has joined.
23:26:15 -!- Lymia has quit (Ping timeout: 245 seconds).
23:36:26 <kmc> shachaf: it's confusing that «foo 2>&1 >out» writes only stdout to 'out' but «foo 2>&1 | tee out» writes both stdout and stderr
23:38:42 <oerjan> what about foo >out 2>&1
23:38:55 <kmc> that will redirect both and is generally what you want
23:39:33 <kmc> if you think of it like «stdout = open("out"); stderr = stdout;» then it makes sense
23:39:38 <kmc> but it still "feels backwards" to me
23:40:16 <Bike> wait, so what's foo 2>&1 >out do
23:40:43 -!- Taneb has quit (Quit: Leaving).
23:40:44 <fizzie> Writes stderr to where stdout would have gone, and stdout to "out".
23:40:45 <Bike> writes stderr to stdout and stdout (without stderr) to out?
23:40:50 <Bike> right. weird
23:41:13 <kmc> exec 3>&2 > >(ts >> "$log") 2>&1
23:41:28 <Bike> wat
23:42:43 <fizzie> Appends stdout and stderr with timestamps to $log, and keeps fd 3 around for referring to the original stderr?
23:42:45 <kmc> redirect stdout and stderr to append to $log through the program 'ts' (which timestamps each line), also keep original stderr open as fd 3
23:42:48 <kmc> yep
23:43:05 <fizzie> See, not rocket science.
23:43:07 <kmc> and it takes effect within the current shell script, because that's what 'exec' does without a command
23:43:21 <shachaf> kmc: that's why there should be a write-to-file command, like a dual to cat (the way people actually use it)
23:43:28 <shachaf> and then everything should be done with pipes, no < or >
23:43:36 <shachaf> imo better that way
23:44:08 <shachaf> readfile foo | ... | writefile bar
23:44:52 <kmc> sponge is like that, but it also buffers
23:44:58 <oerjan> m>&n means "assign file descriptor m to point to whatever file descriptor n previously pointed to, with no further indirection through n"
23:45:03 <kmc> also tee >/dev/null
23:45:05 <Bike> http://en.wikipedia.org/wiki/Hartmann_pipeline
23:45:22 <fizzie> There's no way to "branch" in a pipeline, though. You couldn't "... | ts | writefile bar" just the stderr, and pipe stdout somewhere elsewhere.
23:45:37 <shachaf> kmc: also cat > file
23:45:39 <Bike> oerjan, kmc, fizzie: oh, i was confused because i wasn't sure what 3 was (like how 1 is stdout and 2 is stderr)
23:45:40 <shachaf> if you're willing to use >
23:45:54 <kmc> Bike: yeah, 3 isn't anything by default, but doing that opens it
23:46:08 <kmc> fizzie: yeah, but process substitution can do that! which is why i used it above
23:46:14 <Bike> my old enemy, create-a-variable and assign-a-variable being conflated
23:46:14 <zzo38> Yes there should be write file command; it can be used, then, if you cannot use > for some reason; can dd write a file like that?
23:46:25 <fizzie> The >(foo) and and <(foo) things always look kind of clunky to me for some reason.
23:46:27 <shachaf> fizzie: well, it's kind of unfair that you can say 2>x 1>y but you can't pipe them to two different commands
23:46:30 <kmc> i <3 them so much
23:46:35 <Bike> argh
23:46:37 <kmc> colordiff -u <(command) <(othercommand) | less -SR
23:47:22 <kmc> Bike: then you can do whatever >&3 later in the script to send things to original stderr, but all the stderr and stdout of the commands you run will be captured
23:47:49 <Bike> @_@
23:48:02 <kmc> i <($((3))) bash
23:48:14 -!- Phantom_Hoover has joined.
23:50:32 <fizzie> shachaf: There's the "clean" approach of (prog 2>&3 | stdoutpipeline) 3>&1 | stderrpipeline for that, of course.
23:52:14 <fizzie> `run ((echo "aabb"; echo "bbaa" >&2) 2>&3 | tr 'a' 'A' >&2) 3>&1 | tr 'b' 'B' # so clean
23:52:16 <HackEgo> AAbb \ BBaa
23:53:53 -!- nisstyre has joined.
23:54:48 <zzo38> Yes, you can do that!!!
23:58:47 -!- yorick has quit (Remote host closed the connection).
←2013-11-04 2013-11-05 2013-11-06→ ↑2013 ↑all