←2016-03-10 2016-03-11 2016-03-12→ ↑2016 ↑all
00:00:09 <hppavilion[1]> oerjan: Yeah, but it'd be nice
00:00:47 <oerjan> `culprits wisdom/fnord
00:00:49 <HackEgo> int-e ais523 oerjan
00:01:14 <oerjan> `` sed -i 's/paran/paren/' wisdom/fnord
00:01:17 <HackEgo> No output.
00:01:52 <oerjan> that's badly capitalized too
00:06:40 <oerjan> hppavilion[1]: are you familiar with the Warren Abstract Machine hth (i'm not really)
00:08:11 <hppavilion[1]> oerjan: I've heard of it, but don't remember it being abstract
00:08:49 <oerjan> looks pretty officially abstract imo
00:21:38 <oerjan> <myname> what was the language whose programs build a ring (i guess?) called? <-- capra i think
00:22:06 <oerjan> *cabra
00:22:26 <oerjan> except it's only semi-
00:22:34 <myname> sounds right
00:23:04 <myname> ah, burro is what i looked for
00:28:40 -!- lambda-11235 has joined.
00:29:28 <hppavilion[1]> oerjan: It would be pretty cool to see a useful language whose programs form a mathematical-in-nature structure
00:32:36 -!- p34k has quit.
00:38:21 <Phantom_Hoover> hppavilion[1], what do you even mean by that
00:38:40 <hppavilion[1]> Phantom_Hoover: Like cabra
00:45:19 <Sgeo_> Uh. Is it... normal for no-compete clauses to be in event waivers for attending an event?
00:45:23 <Sgeo_> Because that seems bizarre
00:45:35 <Phantom_Hoover> well that's the very narrow niche of cpressey's ventures into algebraic structures on programs
00:46:44 <Phantom_Hoover> which didn't get very far, imo, because he defined his algebras on programs up to computational equivalence, which is an incredibly nasty relation if you're looking at most nontrivial classes of program
00:51:37 <coppro> Sgeo_: ?????
00:51:58 <Sgeo_> The "Camp No Counselors Waiver and Release of Liability" contains this clause:
00:52:12 <Sgeo_> "9. I further agree that I will not directly or indirectly engage in any business that competes with Camp No Counselors, or solicit any person working on behalf of Camp No Counselors for any business that directly or indirectly competes with Camp No Counselors, for a period of three years following the Camp No Counselors event. "
00:52:30 <coppro> that's pretty unusual and probably unenforcable
00:54:03 <Sgeo_> I feel like I should hold off registering, though
01:02:05 <hppavilion[1]> Sgeo_: I think it's prohibiting you from starting a competitor, not from joining a competitor's camp
01:02:14 <hppavilion[1]> Sgeo_: So you don't steal their ideas :P
01:05:11 <Sgeo_> Still seems like a bit of a harsh restriction just from going once
01:05:39 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:24:46 <oerjan> <ais523> as I said, radix sort is O(n log k), where k is the maximum value of the things you're sorting <-- i recall from when reading about one of edwardk's experiments that sorting is actually O(n) if you interpret n as total input memory in bits.
01:25:01 <zzo38> A sign extend operation: x-=(x&s)<<1;
01:25:12 <oerjan> (his experiment was generalizing radix sorting to arbitrary data structures, i think)
01:25:55 <zzo38> (Where "s" is a number only with the sign bit of the input format set)
01:26:12 <oerjan> that is, if you consider the size of the integers you sort as irrelevant except for their contribution to total memory
01:27:26 <oerjan> https://hackage.haskell.org/package/discrimination
01:28:45 <ais523> zzo38: so (x&s) is either 0 or -1
01:28:59 <ais523> (-1)<<1 is undefined in C but -2 in two's complement?
01:29:04 <ais523> and adding 2 to a number doesn't sign extend it
01:29:06 <ais523> so I'm confused
01:30:28 <zzo38> No, the "x" is actually of a larger type than the input, but is input and zero extended into "x" initially
01:30:32 <oerjan> ais523: isn't it either 0 or minint?
01:30:44 <ais523> oerjan: oh right, good point
01:31:02 <ais523> and INT_MIN << 1 is kind-of awkward to define but is most reasonably defined as 0
01:31:21 <zzo38> As far as C program is concerned, x, s, and (x&s) are all non-negative initially (although the result might be negative)
01:32:47 <fizzie> ais523: AIUI, it's for turning a previously zero-extended value into a sign-extended one.
01:33:12 <ais523> ah right
01:34:59 <\oren\> isn't INT_MIN << 1 = INT_MIN - 1 = 0b111...110?
01:35:23 <\oren\> oh, wait, never ind
01:35:34 <\oren\> stupid two's complement
01:35:51 <\oren\> INT_MIN = 0b1000...00
01:38:39 <oerjan> \oren\: apparently it is really INT_MIN for a smaller int, cast into the larger one.
01:38:57 <oerjan> *int type
01:44:51 <\oren\> I'm going to color the nonstandard charatcers in my font demo.
01:44:58 <\oren\> What color should they be?
01:45:29 <hppavilion[1]> What, precisely, do "over" and "under" mean in math? I know what context they're used in and can often guess which one's right, but I don't know their strict definitions
01:46:13 <\oren\> over is how you pronounce a fraction bar
01:46:19 <\oren\> never heard under
01:47:49 <hppavilion[1]> \oren\: No, like "+ forms a group over the reals"
01:47:51 -!- jaboja64 has quit (Ping timeout: 264 seconds).
01:49:12 <\oren\> oh. that means that the tuple (+,ℝ) is a group
01:49:45 <\oren\> a group is a tuple of a operation and a set
01:49:54 <hppavilion[1]> \oren\: Yes, but what are the definitions of "over" and "under"
01:49:57 <hppavilion[1]> \oren\: I know what a group is xD
01:50:27 <myname> an operation is over a set if it is closed in it, i guess
01:50:48 <hppavilion[1]> myname: Then why do we say "closed over x"
01:50:54 <hppavilion[1]> myname: Why not just say "is over x"
01:51:18 <hppavilion[1]> myname: I think operations and functions are just always "over" values
01:51:24 <hppavilion[1]> That is probably the definition
01:51:28 <hppavilion[1]> Though I could check ##math
01:52:13 <hppavilion[1]> Checked
01:53:35 <\oren\> Dad says "+ is over ℝ" means the domain of the two operands is ℝ
01:54:46 <\oren\> you could also have a function f(x,y) "over ℝ and ℂ" meaning one operand is real and the other complex
01:58:55 -!- Elronnd has changed nick to realdonaldtrump.
02:01:06 -!- realdonaldtrump has changed nick to Elronnd.
02:02:45 <\oren\> 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏
02:04:53 -!- yorick has quit (Ping timeout: 250 seconds).
02:04:59 <hppavilion[1]> \oren\: All functions are closed over 𝕍. True fact.
02:07:27 <hppavilion[1]> (I think we should define ALL the bb letters)
02:08:08 <hppavilion[1]> 𝔹𝔹 is the set of bitmaps describing blackboard bold letters. hth.
02:08:22 <hppavilion[1]> `unidecode 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏
02:08:24 <HackEgo> ​[U+1D413 MATHEMATICAL BOLD CAPITAL T] [U+1D411 MATHEMATICAL BOLD CAPITAL R] [U+1D414 MATHEMATICAL BOLD CAPITAL U] [U+1D40C MATHEMATICAL BOLD CAPITAL M] [U+1D40F MATHEMATICAL BOLD CAPITAL P] [U+0020 SPACE] [U+1D413 MATHEMATICAL BOLD CAPITAL T] [U+1D411 MATHEMATICAL BOLD CAPITAL R] [U+1D414 MATHEMATICAL BOLD CAPITAL U] [U+1D40C MATHEMATICAL BOLD C
02:09:27 <hppavilion[1]> 𝕩𝕚 is the set of imaginaries produced from 𝕩
02:09:43 <hppavilion[1]> "Make Blackboard Bold Great Again"
02:10:16 <hppavilion[1]> \oren\: Think we need a `bb command for that?
02:14:40 -!- yorick has joined.
02:14:40 -!- yorick has quit (Changing host).
02:14:40 -!- yorick has joined.
02:18:48 <\oren\> 𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ
02:18:51 <\oren\> 𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫
02:18:54 <\oren\> 𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡
02:19:00 <\oren\> hfwt
02:19:46 <prooftechnique> Nice
02:20:11 <lambda-11235> f(x, y) if over ℝ, and under 𝔽𝕚ℝ𝕖.
02:20:36 <\oren\> Oh yes, and the new version is out, featuring capital cursive and lowercase cursive, in the right codepoints
02:20:53 <\oren\> 𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵𝒶𝒷𝒸𝒹ℯ𝒻ℊ𝒽𝒾𝒿𝓀𝓁𝓂𝓃ℴ𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏
02:22:21 <prooftechnique> Very nice
02:22:44 <prooftechnique> I love the lowercase blackboard e :D
02:23:20 <prooftechnique> *subtle*
02:23:32 -!- boily has joined.
02:23:33 <prooftechnique> aesthetic
02:23:44 <boily> prooftechellonique.
02:23:50 <prooftechnique> Helloily!
02:26:22 <lambda-11235> I think over refers to the domain of a function and under refers to its range.
02:26:39 <hppavilion[1]> Hm...
02:26:43 <hppavilion[1]> Consider list theory
02:27:13 <hppavilion[1]> Pure lists, specifically. One might call it ZFl or ZFCl
02:27:33 <hppavilion[1]> How would one optimally define numbers with it?
02:28:11 <hppavilion[1]> The first way that comes to mind is f(n)=[[]]*n, where * is the bounded repetition (repn) operation
02:28:37 <lambda-11235> hppavilion[1]: Like |z| is a function over ℂ and under ℝ.
02:29:16 -!- mihow has quit (Quit: mihow).
02:29:41 <hppavilion[1]> The way more similar to the standard set definition is f(n)=[f(n--)], where -- is of course predecessor
02:29:52 <hppavilion[1]> lambda-11235: Interesting...
02:30:13 <hppavilion[1]> lambda-11235: Unless, of course, you include sgeoids
02:30:21 -!- lynn has joined.
02:30:33 <prooftechnique> I definitely read that as Zermelo-Flaenkel
02:30:42 <hppavilion[1]> Wait, no, then it's still under ℝ
02:30:58 <hppavilion[1]> In fact, |z| isn't under ℝ, it's under ℝx>=0
02:31:15 <hppavilion[1]> prooftechnique: Read what as Zermelo-Flaenkel?
02:31:19 <hppavilion[1]> ZF?
02:31:25 <prooftechnique> Zfl
02:31:27 <hppavilion[1]> Ah
02:31:28 <prooftechnique> *ZFl
02:31:42 <\oren\> ZFl
02:31:49 <hppavilion[1]> prooftechnique: One of the things I think math needs is a mathematical definition of naming things
02:32:14 <hppavilion[1]> m("Gaussian"++x) = m(x)+m(x)i
02:32:41 <hppavilion[1]> m("Gaussian real") = ℂ
02:32:49 <hppavilion[1]> (Maybe it should be a capital M?)
02:33:04 <\oren\> ℨ𝔢𝔯𝔪𝔢𝔩𝔬-𝔉𝔯𝔞𝔢𝔫𝔨𝔢𝔩
02:33:22 <boily> he\\oren\.
02:33:44 <boily> (that porthello was typeset in fraktur, but I'm too lazy for that, so please imagine it is.)
02:33:55 <\oren\> 今ボアリは
02:34:59 <\oren\> 𝔥𝔢\\𝔬𝔯𝔢𝔫\
02:35:01 <hppavilion[1]> prooftechnique: What I'm getting at is I want a function oe(n, s, d) that returns the optimal encoding of n as an element of s where lists can be of depth d
02:35:14 <hppavilion[1]> And is defined for all n in s
02:35:27 <prooftechnique> Hmm
02:35:33 <boily> `thanks \oren\
02:35:34 <HackEgo> Thanks, \oren\. Thoren\.
02:35:40 <hppavilion[1]> Where s is N, Z, R, C, etc.
02:35:48 <\oren\> ℑ 𝔣𝔬𝔯 𝔬𝔫𝔢 𝔱𝔥𝔦𝔫𝔨 𝔣𝔯𝔞𝔨𝔱𝔲𝔯 𝔩𝔬𝔬𝔨𝔰 𝔡𝔦𝔰𝔱𝔦𝔫𝔤𝔲𝔦𝔰𝔥𝔢𝔡 𝔞𝔫𝔡 𝔫𝔬𝔟𝔩𝔢.
02:35:52 <hppavilion[1]> (You can pattern match, and probably have to for those sets)
02:36:10 <hppavilion[1]> (So really, you're defining 4+ related functions that with the same name and one fixed argument)
02:36:51 <oerjan> <lambda-11235> hppavilion[1]: Like |z| is a function over ℂ and under ℝ. <-- i don't recall any such thing. "over" and "under" as hppavilion[1] describes applies to algebraic structures, not just any functions.
02:36:53 <hppavilion[1]> prooftechnique: We can assume tuples are just length 2 lists and sets are just lists where we ignore ordering
02:36:58 <prooftechnique> Okay, so what does "optimal" mean?
02:37:34 <hppavilion[1]> prooftechnique: You can define the standard operations (+, -, *, /) with it and it uses the least number of empty lists
02:37:37 <\oren\> 𝔈𝔵𝔠𝔢𝔭𝔱 𝔱𝔥𝔢 𝔨 𝔦𝔰 𝔱𝔬𝔬 𝔪𝔲𝔠𝔥 𝔩𝔦𝔨𝔢 𝔱𝔥𝔢 𝔱.
02:37:43 <oerjan> the reals are a group under addition, addition forms a group over the reals.
02:38:18 <hppavilion[1]> So optimality([]) = 1, optimality(l) = sum([optimality(i) for i in l])
02:38:23 <oerjan> and underlying set functor is a technical term, the right adjoint to the free structure.
02:38:34 <hppavilion[1]> optimum = min(encodings)
02:38:36 <prooftechnique> What's the EgoBot command that spits out the unicode info?
02:38:44 <hppavilion[1]> prooftechnique: unidecode?
02:38:50 <prooftechnique> `unidecode ⓚ
02:38:51 <hppavilion[1]> `help uni
02:38:51 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
02:38:51 <HackEgo> ​[U+24DA CIRCLED LATIN SMALL LETTER K]
02:38:53 <quintopia> helloily
02:39:01 <prooftechnique> `unidecode 𝓀
02:39:04 <boily> quinthellopia.
02:39:04 <HackEgo> ​[U+1D4C0 MATHEMATICAL SCRIPT SMALL K]
02:39:10 <boily> bonne nuitopia!
02:39:14 <quintopia> you arent sokay
02:39:15 <hppavilion[1]> prooftechnique: You can use multiple characters with unidecode
02:39:18 <quintopia> night
02:39:32 <prooftechnique> Oh, neat. Thanks.
02:39:39 <prooftechnique> But also, \oren\, see above
02:39:50 <prooftechnique> `unidecode ⓚ 𝓀
02:39:53 <HackEgo> ​[U+24DA CIRCLED LATIN SMALL LETTER K] [U+0020 SPACE] [U+1D4C0 MATHEMATICAL SCRIPT SMALL K]
02:39:57 <oerjan> also, i recall we pronounced binomial coefficients as "n over k", that's a different but similar use as fractions...
02:40:13 -!- boily has quit (Quit: YEARLY CHICKEN).
02:41:51 <oerjan> oh and another use: R^n is a vector space over the reals. then it's not the same as the underlying set.
02:41:58 <hppavilion[1]> oerjan: Never heard that
02:43:11 <\oren\> Oh, yeah I havent removed those yet
02:44:26 <oerjan> <hppavilion[1]> `help uni <-- HackEgo
02:44:38 <oerjan> 's help command takes no arguments.
02:45:27 <hppavilion[1]> Figured as such
02:45:38 -!- izabera has changed nick to izy.
02:47:09 <\oren\> 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 𝔚𝔄𝔖 𝔄 𝔅𝔈𝔄ℜ. 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 ℌ𝔄𝔇 𝔑𝔒 ℌ𝔄ℑℜ. 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 𝔚𝔄𝔖𝔑'𝔗 𝔙𝔈ℜ𝔜 𝔉𝔘ℨℨ𝔜 𝔚𝔄𝔖 ℌ𝔈?
02:47:21 <oerjan> AAAAAAAA
02:47:39 <oerjan> i cannot read that. anyway, food ->
02:48:20 <prooftechnique> That was very hard to read
02:48:25 <\oren\> 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔴𝔞𝔰 𝔞 𝔟𝔢𝔞𝔯. 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔥𝔞𝔡 𝔫𝔬 𝔥𝔞𝔦𝔯. 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔴𝔞𝔫'𝔱 𝔳𝔢𝔯𝔶 𝔣𝔲𝔽𝔽𝔶 𝔴𝔞𝔰 𝔥𝔢?
02:48:37 <\oren\> wait wtf happened there?
02:48:43 <prooftechnique> That's a very good question
02:49:31 <prooftechnique> `unidecode 𝔽
02:49:32 <HackEgo> ​[U+1D53D MATHEMATICAL DOUBLE-STRUCK CAPITAL F]
02:50:25 <\oren\> fúźźý wúźźý wáś á béáŕ. fúźźý wúźźý hád ńő háíŕ. fúźźý wúźźý wáń't véŕý fúźźý wáś hé?
02:51:29 -!- izy has changed nick to izabera.
02:51:36 <\oren\> ¿ǝɥ sɐʍ ʎzznɟ ʎɹǝʌ ʇ,usɐʍ ʎzznʍ ʎzznɟ ˙ɹıɐɥ ou pɐɥ ʎzznʍ ʎzznɟ ˙ɹɐǝq ɐ sɐʍ ʎzznʍ ʎzznɟ
02:52:52 <hppavilion[1]> I just realized that my definition of optimality makes it so f(0) = [], f(n) = [P(n)]
02:53:36 <hppavilion[1]> prooftechnique: New definition of optimality: optimality([]) = 1, optimality(i:l)=1+optimality(i)+optimality(l)
02:53:51 <hppavilion[1]> Then again, the old definition only works when d=infinity
02:54:10 <hppavilion[1]> And the numbers are the naturals
02:54:17 <prooftechnique> Hmm
02:54:40 <hppavilion[1]> But still, if d is finite then you just output the list as a sum of nested lists of max depth d
02:54:43 <hppavilion[1]> Held in a list
02:54:52 <\oren\> `unidecode ɟʍʎ
02:54:53 <HackEgo> ​[U+025F LATIN SMALL LETTER DOTLESS J WITH STROKE] [U+028D LATIN SMALL LETTER TURNED W] [U+028E LATIN SMALL LETTER TURNED Y]
02:55:58 -!- ais523 has quit (Ping timeout: 248 seconds).
02:56:57 <prooftechnique> hppavilion[1]: I honestly don't follow what you're going for. Can you show a worked example of expected output for some input?
02:57:25 <hppavilion[1]> prooftechnique: I don't either; the goal is to figure out what the expected output is
02:57:44 <myname> ƒบzzγ พบzzγ พαร α вεαя. ƒบzzγ พบzzγ нα∂ ท๑ нαïя. ƒบzzγ พบzzγ พαรท'т νεяγท∂บzzγ, พαร нε?
02:58:12 <prooftechnique> All right, so say I want to optimally encode 4 in ℕ.
02:58:32 <prooftechnique> What's the limit on the list depth?
02:59:04 <hppavilion[1]> prooftechnique: I'm going for a function enc(n, S, d) that takes a number n that is a member of S, a set S which is from some finite collection of sets (probably N, Z, Q, R, or C), and a maximum list depth d (which is, of course, natural)
03:00:35 <prooftechnique> Okay, so given 4 in ℕ and setting d to 4, what's our encoding?
03:00:47 <hppavilion[1]> It should then return a list which is equal to n encoded optimally into a list of maximum depth d- one where +, -, *, and / can be defined- where the maximum list depth is d and it works for all S.
03:01:01 <prooftechnique> Does it just look like [[],[],[],[]]?
03:01:12 <hppavilion[1]> prooftechnique: I would guess [[[[]]]]
03:01:27 <hppavilion[1]> Mine has optimality 4, whereas yours is 5
03:01:42 <hppavilion[1]> Gah! Again, I hit the the-answer-is-fucking-obvious-moron barrier!
03:01:44 <hppavilion[1]> I think
03:01:55 <hppavilion[1]> Yeah, pigeonhole principal
03:02:25 <hppavilion[1]> prooftechnique: I give up. Have any idea how to encode arbitrary reals as lists?
03:02:33 <hppavilion[1]> Optimality be damned?
03:02:43 <prooftechnique> I don't think your definition of optimality works the way you think it does
03:02:55 <prooftechnique> Or I just don't understand your notation
03:02:59 <myname> well, define some way of a comma
03:04:07 <myname> ah, easy
03:04:31 <myname> (length of numbers before comma, [numbers])
03:04:39 <myname> there's your real
03:04:51 <prooftechnique> hppavilion[1]: You can Church-encode the reals, so that might get you somewhere
03:05:05 <myname> where positions might be made by (value, position)
03:05:17 <hppavilion[1]> prooftechnique: What do you not get? Or I don't get?
03:05:21 <myname> of course (a, b) is just [[a, b], [a]]
03:05:52 <hppavilion[1]> myname: Comma as in a decimal point?
03:05:59 <myname> yeah
03:06:20 <hppavilion[1]> myname: Oh, (a, b) is just [a, b] in theory
03:06:35 <myname> if [] are ordered, yes
03:06:45 <hppavilion[1]> myname: YES! THAT'S THE ENTIRE POINT!
03:06:46 <myname> you don't need the fancy positioning then
03:07:20 <myname> yo 12,345 is [2,[1,2,3,4,5]]
03:07:27 <myname> there is your real
03:07:28 <hppavilion[1]> myname: What if n=pi?
03:07:44 <myname> hppavilion[1]: define pi as a real
03:07:48 <hppavilion[1]> myname: I do
03:08:02 <myname> go for it
03:08:21 <myname> give me your definition of it
03:08:52 <hppavilion[1]> myname: Of what, precisely?
03:08:54 <hppavilion[1]> Of pi?
03:08:58 <hppavilion[1]> Not sure yet
03:08:59 <prooftechnique> You have optimality [] = 1; optimality (x:xs) = 1 + optimality x + optimality xs, which doesn't typecheck, if I follow your notation
03:09:00 <myname> in other words: how do you define pi without using pi in the reals?
03:09:22 <hppavilion[1]> myname: Oh, you want pi without pi? tau/2 obviously
03:09:25 <hppavilion[1]> Kidding, kiddin
03:09:26 <hppavilion[1]> g
03:14:02 <prooftechnique> 🙃
03:16:07 <hppavilion[1]> myname: How about... pi=4*summ([1:inf{2}), x)
03:16:13 <hppavilion[1]> I got that from a taylor series online
03:16:47 -!- lleu has quit (Read error: Connection reset by peer).
03:16:57 <hppavilion[1]> (that first argument to summ is an interval with a skip)
03:17:17 <hppavilion[1]> (Wait, no, it's not quite that
03:17:59 <hppavilion[1]> pi=4*(1+summ(x=[3:inf{2}), -1/x))
03:18:04 <hppavilion[1]> summ is, of course, summation
03:18:07 <myname> there you go, define addition and multiplication on your [] thingie
03:18:17 <hppavilion[1]> myname: Yep
03:18:19 <hppavilion[1]> Sounds about right
03:18:29 <hppavilion[1]> myname: It's just a haskelly list, but nestable
03:18:31 <hppavilion[1]> hth
03:18:46 <hppavilion[1]> And pur
03:18:46 <hppavilion[1]> e
03:18:56 <hppavilion[1]> setler killed all the impure sets
03:19:15 <hppavilion[1]> Dammit, that expression was wrong too
03:19:27 <hppavilion[1]> It's not n-m-o-q-p, it's n-m+o-q+p
03:19:35 <hppavilion[1]> MUCH harder to summation
03:19:42 <myname> no
03:19:57 <hppavilion[1]> myname: Really?
03:21:07 <myname> it's pi=4*(1+summ([3:inf{2}), (-1)^x/x))
03:21:19 <hppavilion[1]> Oh, I suppose you could turn step up to 4 and replace 1/x with 1/x+1/(x+2)
03:21:44 -!- contrapumpkin has joined.
03:21:45 <hppavilion[1]> https://www.math.hmc.edu/funfacts/ffiles/30001.1-3.shtml says otherwise
03:22:02 <myname> oh, wait
03:22:10 <myname> not ^x
03:22:16 <myname> because your sum is stupid
03:22:41 <hppavilion[1]> myname: It's the best I could do without latex
03:22:55 <hppavilion[1]> And even if I had latex, I'd need google because I don't latex very often
03:23:01 <hppavilion[1]> myname: It's stupid, but it works
03:23:27 <myname> pi=4*(summ([0:inf), (-1)^x/(2*x+1))
03:23:28 <hppavilion[1]> Apparently
03:23:36 <hppavilion[1]> OK, that works too
03:24:02 <hppavilion[1]> Here's a cool feature all low-level languages should have
03:24:06 <hppavilion[1]> <> function call notation
03:24:14 <hppavilion[1]> f<t>(*a)
03:24:21 <hppavilion[1]> It allows you to choose the return type
03:24:31 <hppavilion[1]> Allowing multimethods for output, too
03:24:37 <hppavilion[1]> (return type must be directly specified)
03:25:26 <hppavilion[1]> (Also, must be defined, though languages should be able to guess return type if they're similar but this specific type is undefined- e.g. float -> double
03:25:31 <hppavilion[1]> )
03:25:51 <hppavilion[1]> What would be good for a low-level language that hasn't been done yet?
03:30:05 -!- ^v^v has joined.
03:30:12 -!- copumpkin has quit (Ping timeout: 260 seconds).
03:30:12 -!- ^v has quit (Ping timeout: 260 seconds).
03:30:42 <tswett> @sassages-loud
03:30:42 <lambdabot> oerjan said 1d 1h 37m 54s ago: <tswett> My neural net thinks there's a historical language called Middle Worse. <-- PLAUSIBLE
03:31:27 -!- XorSwap has joined.
03:35:55 <hppavilion[1]> tswett: What would be good for logic programming? Any ideas?
03:36:24 <hppavilion[1]> Preferably something fairly minimal
03:42:02 <hppavilion[1]> Logical-event maybe?
03:44:03 <tswett> Hmmm.
03:44:59 <tswett> One might say I spend a lot of time trying to come up with "low-level" stuff.
03:45:41 <tswett> Look at, say, Al Dente, and tell me that's not low-level.
03:47:03 <tswett> (You might describe Al Dente as a low-level logical-event language...)
03:48:12 <shachaf> whoa whoa whoa
03:48:17 <shachaf> @mesdames-loud
03:48:17 <lambdabot> You don't have any messages
03:48:22 <shachaf> oerjan hasn't used that one yet
03:52:48 <tswett> @meddaged
03:52:48 <lambdabot> Unknown command, try @list
03:53:02 <tswett> @xessaxes
03:53:02 <lambdabot> You don't have any messages
03:53:18 <tswett> @pulp
03:53:18 <lambdabot> Maybe you meant: pl help
03:53:27 <tswett> @whelp
03:53:27 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
03:53:28 <oerjan> `le/rn middle worse/Mïðal VVőrszü vvoràði nyëlv spöket af magyar inva̋ðerek Herefördshirben
03:53:31 <oerjan> leszármazott
03:53:34 <oerjan> argh
03:53:37 <HackEgo> Learned «middle worse»
03:53:41 <oerjan> stupid newline paste
03:54:07 <tswett> I can't read that.
03:54:38 <shachaf> `lastfiles
03:54:40 <HackEgo> wisdom/middle worse
03:54:48 <shachaf> `mkx bin/sedlast//sed -i "$1" "$(lastfiles)"
03:54:54 <HackEgo> bin/sedlast
03:55:01 <tswett> `cat bin/mkx
03:55:02 <HackEgo> key=$(mk "$@") && echo "$key" && chmod +x "$key"
03:55:35 <tswett> `cat bin/mk
03:55:35 <HackEgo> ​[[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$(echo-p "$key")" && echo "$key"
03:55:40 <oerjan> `le/rn middle worse/Mïðal VVőrszü vvoràði nyëlv spöket af magyar inva̋ðereknek leszármazottok Herefördshirben äppröxima̋tely 1250.
03:55:44 <HackEgo> Relearned «middle worse»
03:56:02 <tswett> I still can't read that.
03:56:13 <oerjan> excellent!
03:57:34 <oerjan> tswett: imagine hungarians inexplicably invading herefordshire some time before 1250 hth
03:57:50 <tswett> Kokogadene.
03:58:48 <oerjan> tswett: google translate can't read that
03:58:56 <oerjan> although it thinks it's japanese
04:12:59 <oerjan> `le/rn middle worse/Mïðal VVőrszü vvoràði nyëlv spöket af magyar inva̋ðereknek leszármazottai Herefördshirben äppröxima̋tely 1250.
04:13:03 <HackEgo> Relearned «middle worse»
04:22:12 -!- XorSwap has quit (Quit: Leaving).
04:24:13 <tswett> Japanese is the most accurate guess as to what language that is.
04:24:25 <tswett> I just realized that the term "Video Graphics Array" doesn't really make sense.
04:24:35 <tswett> "Video graphics"? Isn't that what "video" means?
04:26:37 <\oren\> as opposed to text graphics
04:26:50 <\oren\> like the block and line charatcers
04:29:48 <tswett> Yeah, but why not just "video array"?
04:29:55 <tswett> Is it simply because that's too short?
04:30:01 <tswett> (Which, mind, is a perfectly good reason.)
04:31:27 <deltab> I guess to fit in with CGA and EGA
04:31:51 <\oren\> Maybe "video" refers to a greater refresh rate?
04:33:16 <tswett> deltab: that makes sense.
04:33:30 <tswett> What type of graphics does this thing provide? Text graphics? Nope, this thing provides video graphics.
04:35:39 -!- treaki_ has joined.
04:35:51 <deltab> CGA and EGA were both 60 Hz
04:37:01 <deltab> maybe the 256 color registers with 262,144-color global palette
04:37:51 <incomprehensibly> @so !haskell (\s t->putStrLn(s ++ show s ++ show t ++ t))"@so !haskell (\\s t->putStrLn(s ++ show s ++ show t ++ t))""--"--
04:37:51 <lambdabot> <unknown>.hs: 1: 1:Parse error: !
04:39:35 -!- treaki__ has quit (Ping timeout: 244 seconds).
04:39:36 <tswett> Now, the Game Boy has a CPU clock speed of 4.19 MHz, and a frame rate of 60 Hz. The screen size is 160 * 144. That means that the number of clock cycles per pixel-frame is...
04:39:45 <tswett> > 4190000 / (60 * 160 * 144)
04:39:46 <lambdabot> 3.0309606481481484
04:39:57 <tswett> About 3. That's not very many.
04:41:16 <tswett> Does that mean that if you're, say, walking around a map, then a very large percentage of the CPU is spent simply updating the screen?
04:41:46 <deltab> I don't think you'd have the CPU update each pixel separately
04:44:37 <tswett> Hmm. Looks like it had something to do with tiles and sprites.
04:44:43 <oerjan> @list so
04:44:43 <lambdabot> No module "so" loaded
04:44:47 <oerjan> @help so
04:44:47 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
04:45:08 <tswett> Interesting how older computing technology is occasionally quite a bit more complicated than the newer stuff.
04:45:13 <tswett> Like, the overall complexity has only increased.
04:45:38 <tswett> But there are certain problems where the simple solution works nowadays, but wouldn't have worked back then, because of the computing resources required.
04:45:57 <deltab> yeah
04:46:30 <tswett> Like, what form does computer audio take nowadays? A big list of millions of numbers.
04:46:37 <deltab> and some things are reversed: palette cycling was easy and cheap on systems using color register, but nowadays you'd have to update each pixel
04:47:32 <tswett> What was it way back when? You'd have a few different synthesis things and some kind of code controlling them, I dunno.
04:47:39 <deltab> people have done that in web browsers by changing the palette bytes in a PNG and redisplaying it
04:48:08 <oerjan> @so
04:48:08 <lambdabot> Error: expected a Haskell expression or declaration
04:48:20 <deltab> yep, various waveform generators: square, sawtooth, noise, sine if you were lucky
04:48:21 <oerjan> @soh
04:48:21 <lambdabot> Maybe you meant: yow src show do
04:48:46 <oerjan> @so x >>= \a -> b
04:48:46 <lambdabot> do { a <- x; b}
04:48:52 <zzo38> Yes if it is a indexed color PNG then you can easily do that
04:49:37 <zzo38> (With any program that can display PNG, including but not limited to web browsers)
04:50:20 <deltab> you can, but to display it means the program has to decompress the whole image again, render it to a buffer, and copy the buffer into the screen buffer
04:50:46 <deltab> changing color registers was just a few writes
04:50:59 <deltab> hardware did the rest
04:51:06 <zzo38> Yes, even on Famicom you can change the colours by hardware
04:52:10 <deltab> but that went when 16, 24, 32-bit color came along
04:52:18 <FreeFull> @so fmap f a
04:52:19 <lambdabot> fmap f a
04:52:35 <FreeFull> @so fmap f . fmap g $ a
04:52:35 <lambdabot> fmap f . fmap g $ a
04:58:45 <deltab> the GameBoy had hardware scrolling, tiles, an overlay window, sprites, and four wave generators: http://fms.komkon.org/GameBoy/Tech/Software.html
05:00:18 -!- lambda-11235 has quit (Quit: Bye).
05:00:39 -!- lambda-11235 has joined.
05:07:36 <zzo38> The X window system does support having different depths and visuals and stuff and both read/write and read-only colormaps, decomposed and together; however which ones are supported depends on the X server in use (some might not support palettes, while on some others it might be read-only, too)
05:08:08 <zzo38> If computer hardware were made that supported all of these modes then the program could too
05:08:34 * deltab nods
05:42:37 -!- variable has joined.
05:46:40 -!- copumpkin has joined.
05:50:04 -!- contrapumpkin has quit (Ping timeout: 268 seconds).
05:52:31 -!- variable has quit (Quit: 1 found in /dev/zero).
05:56:49 -!- lynn has quit (*.net *.split).
05:56:49 -!- yorick has quit (*.net *.split).
05:56:50 -!- puckipedia has quit (*.net *.split).
06:02:47 -!- lynn has joined.
06:02:47 -!- yorick has joined.
06:02:47 -!- puckipedia has joined.
06:09:28 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
06:11:10 -!- hppavilion[1] has joined.
06:48:15 -!- ais523 has joined.
07:10:46 -!- lynn has quit (*.net *.split).
07:10:46 -!- yorick has quit (*.net *.split).
07:10:46 -!- puckipedia has quit (*.net *.split).
07:15:28 -!- diginet has quit (Quit: diginet has quit!).
07:17:18 -!- diginet has joined.
07:21:32 -!- lynn has joined.
07:21:32 -!- yorick has joined.
07:21:32 -!- puckipedia has joined.
07:28:27 -!- lambda-11235 has quit (Quit: Bye).
07:29:31 <\oren\> well, at least my whining to the unicode mailing list brought their attention to the fact that there's no standard machine readable documentation which lists all the characters in each "math variable alphabet"
07:30:16 <\oren\> instead it's only listed in the notes in the character list pdf.
07:31:37 <zzo38> Write one yourself if you need it, and publish them as public domain
07:33:34 <\oren\> that's sort of what I've done on my fontdemo page.
07:39:02 <b_jonas> Sgeo_: yes, that looks like a strange restriction to me.
07:43:34 -!- oerjan has quit (Quit: Nite).
07:47:20 -!- lynn has quit (*.net *.split).
07:47:20 -!- yorick has quit (*.net *.split).
07:47:20 -!- puckipedia has quit (*.net *.split).
07:54:40 -!- lynn has joined.
07:54:41 -!- yorick has joined.
07:54:41 -!- puckipedia has joined.
08:51:13 -!- earendel has quit (Ping timeout: 244 seconds).
08:55:29 <hppavilion[1]> Quick
08:55:36 <hppavilion[1]> Somebody define high-phenated
08:59:57 -!- AnotherTest has joined.
09:02:33 -!- olsner has quit (Ping timeout: 240 seconds).
09:14:57 -!- olsner has joined.
09:23:09 <ais523> hppavilion[1]: is it possible to get tswett's etymology bot to produce definitions too?
09:28:53 <fizzie> fungot: Define high-phenated.
09:28:53 <fungot> fizzie: but that's only to be used so rarely? :p. ugh i need to do pages that look suitable for a srfi.
09:29:08 <fizzie> Apparently it's not worth defining, it's too rare.
09:38:58 <b_jonas> `? phenate
09:39:11 <HackEgo> phenate? ¯\(°​_o)/¯
09:45:12 <zgrep> hppavilion[1]: If you're high-phenated, you are phenated on an elevated level, a level above the regular sort of phenation one gets at phenation clinics. If you're low-phenated, you've actually been deprived of phenation, probably also at a phenation clinic, though people do sometimes de-phenate themselves using various tools such as hammers and chainsaws.
09:45:37 <zgrep> fungot: What does "phenate" mean?
09:45:38 <fungot> zgrep: this particular professor was very interested in another ancient concept called a newspaper, then maybe näppärä would be fingery" or something
09:45:46 <zgrep> o.o
09:45:53 <hppavilion[1]> Whoa
09:46:02 <hppavilion[1]> That started out coherent and a bit horrifying
09:46:13 <fizzie> fungot: Are you actually from the future?
09:46:13 <fungot> fizzie: if you can hang around in the scheme world certainly seems hard.
09:46:41 <hppavilion[1]> I think I figured out how wormholes work
09:46:44 <fizzie> I'm guessing "ancient concept called a newspaper" is a verbatim quote. And "näppärä" is Finnish.
09:46:58 <hppavilion[1]> Ah
09:47:29 <fizzie> 2007-11-06 04:58:06 <oerjan> you might be interested in another ancient concept called a newspaper, then
09:48:19 <b_jonas> fungot: do you mean to imply that you're from the scheme world, but that world is now of the past only?
09:48:20 <fungot> b_jonas: add another zero in there. the generally preferred method of development is not entry level developer
09:49:10 <b_jonas> fungot: we're not supposed to get code written by replacable code monkeys? we've been doing this all wrong then! maybe that's why the application never seems to work.
09:49:10 <fungot> b_jonas: it would be lumpy from the star wars trilogy are among my favorite movies, but the throughput doesn't grow equally.
09:49:32 <b_jonas> fungot: is lumpy the ninth elf?
09:49:32 <fungot> b_jonas: s/ at/ in/, though.
09:49:47 <b_jonas> yeah
09:52:18 -!- mtve has quit (Quit: Terminated with extreme prejudice - dircproxy 1.2.0).
09:55:25 -!- lynn_ has joined.
09:56:01 -!- lynn has quit (Ping timeout: 240 seconds).
10:03:57 -!- lynn_ has quit (Ping timeout: 246 seconds).
10:08:52 <Lymia> fizzie, do you run zemhill?
10:09:27 <fizzie> Yes, if you can call it that.
10:09:44 <fizzie> (As in, I haven't touched it in a long while.)
10:10:08 <Lymia> Can you take a look at http://zem.fi/bfjoust/hill.git/ and see what's up with it?
10:10:38 <Lymia> All the objects are clearly there, but, master seems to be attached to an older commit for some reason
10:10:48 <Lymia> (When you clone it)
10:11:05 <fizzie> What's up is that I forgot to set up that post-update hook (for update-server-info) you need for the "dumb HTTP" serving mechanism to work right.
10:11:39 <fizzie> I was this close: || ... to actually doing that the other day, then got distracted by a shiny object.
10:11:45 <fizzie> Let's do that now.
10:13:15 <fizzie> Done. Also ran it once for good measure. Doing a pull now should work.
10:13:34 <fizzie> (Hopefully.)
10:13:52 <Lymia> opps
10:14:25 <Lymia> Is fixx
10:14:55 <fizzie> The shorter it takes to fix something, the longer I procrastinate with it.
10:15:27 <b_jonas> fungot, help fizzie fix those hooks already
10:15:27 <fungot> b_jonas: ( a real mathematical function!) from the sorting package) with modified structures.
10:15:53 <fizzie> Sounds like a game of Clue(do).
10:21:09 <izabera> how do i skip a makefile rule if none of the targets has been modified?
10:21:36 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
10:21:41 <izabera> makefiles are some dark magic i don't master
10:22:26 <izabera> i mean if none of the dependencies
10:26:22 <b_jonas> izabera: isn't that what make does normally? it skips those rules
10:27:18 <izabera> then i'm using it wrong
10:27:52 <izabera> headers: $(sources)
10:27:59 <izabera> generate headers here ...
10:28:09 <izabera> ^ want to skip it if none of the sources have been modified
10:29:22 <b_jonas> izabera: does your rule actually touch the file called headers?
10:29:41 <b_jonas> Make skips the rule if the dependencies have not been modified since headers was modified
10:29:52 <b_jonas> it needs something to compare to
10:30:07 <izabera> it doesn't touch them
10:31:19 -!- vodkode has joined.
10:31:21 <izabera> https://arin.ga/XLDTei/raw looks like this
10:33:16 <izabera> headers is executed every time
10:38:02 -!- lleu has joined.
10:41:14 <b_jonas> izabera: then put the actual output filenames as target operands too, like headers: struct.h proto.h\nstruct.h proto.h: $(src)\n\tcd src & { \\\n...
10:41:41 <b_jonas> otherwise Make has no way to guess when your headers are fresh enough
10:42:38 <izabera> now i'm using headers: $(src) src/proto.h src/struct.h and make with no parameters executes headers
10:50:44 -!- ais523 has quit (Ping timeout: 260 seconds).
10:52:54 <izabera> \o/ solved it
10:53:18 <izabera> https://arin.ga/4lg1We/raw thanks for the help b_jonas
10:53:20 <fizzie> A phony target will always execute if named, since there's no output file(s) to compare the input file timestamps to.
10:54:03 <izabera> now i unphonyed it
10:57:20 <fizzie> Sadly that's slightly wrong, in a way that's generally only problem for running it in parallel with -j.
10:57:47 <fizzie> A "foo bar: baz" rule doesn't say "use these commands to generate the files 'foo' and 'bar' from 'baz'".
10:58:10 <fizzie> Instead, it says: "use these commands to generate 'foo' from 'baz'" + "use these same commands to generate 'bar' from 'baz'".
10:59:15 <fizzie> In the serial case, it doesn't run twice, but that's only because after it's ran once, both outputs are fresh.
10:59:33 <fizzie> In parallel, though, it'll run the whole block of commands twice.
10:59:46 <fizzie> For details, see e.g. http://www.cmcrossroads.com/article/rules-multiple-outputs-gnu-make
11:05:00 -!- earendel has joined.
11:06:44 <izabera> ok so i split that in two rules
11:06:47 <izabera> should be ok, right?
11:14:57 -!- earendel2 has joined.
11:15:21 -!- earendel has quit (Ping timeout: 244 seconds).
11:18:49 <fizzie> That should be fine; the "one output per rule" case is simple, and you can actually generate the files separately.
11:19:17 <fizzie> (It's more of a problem if you have some funky external tool that makes you more than one file at once.)
11:21:16 <izabera> i have to change the $(obj): $(src) thing as well, right?
11:22:09 -!- zadock has joined.
11:22:49 <izabera> that was easy obj/%.o: src/%.c
11:23:01 <izabera> no :(
11:23:05 <izabera> doesn't work
11:24:51 <izabera> yay fixed it
11:25:14 <izabera> https://arin.ga/GsNbbd/raw
11:25:16 <izabera> thank you guys
11:27:13 <b_jonas> (make is an esoteric language)
11:39:11 -!- zadock has quit (Quit: Leaving).
11:39:43 -!- zadock has joined.
11:40:49 -!- zadock has quit (Remote host closed the connection).
11:45:18 -!- zadock has joined.
12:12:00 -!- jaboja has joined.
12:19:46 -!- zadock has quit (Quit: Leaving).
12:33:28 -!- sebbu has quit (Ping timeout: 264 seconds).
12:37:17 -!- sebbu has joined.
12:59:44 -!- yorick__ has joined.
13:01:37 -!- yorick has quit (Ping timeout: 240 seconds).
13:20:28 <prooftechnique> b_jonas: Most esolangs I've seen have more comprehensive docs than make
13:21:09 <coppro> `addquote <prooftechnique> b_jonas: Most esolangs I've seen have more comprehensive docs than make
13:21:30 <HackEgo> 1272) <prooftechnique> b_jonas: Most esolangs I've seen have more comprehensive docs than make
14:01:36 -!- earendel2 has quit (Read error: Connection reset by peer).
14:02:32 -!- earendel has joined.
14:06:03 <HackEgo> [wiki] [[Vitsy]] M https://esolangs.org/w/index.php?diff=46583&oldid=46581 * VTCAKAVSMoACE * (+5) Fixed dates.
14:43:33 -!- lambda-11235 has joined.
14:47:57 <b_jonas> wow
14:48:14 <b_jonas> do you recall that I said on this channel recently that I've never seen 7-zip crash?
14:48:20 <b_jonas> it crashed now.
14:58:36 * int-e ponders adding "7-zip support" to the topic... nah.
15:22:56 <fizzie> Backtrace contains run > _actual_start > really_start.
15:23:15 <fizzie> Somewhat surprised there isn't no_honest_for_reals_now_start.
15:41:15 <int-e> prepare_to_stop_starting_now
16:04:34 -!- J_Arcane has quit (Ping timeout: 240 seconds).
16:07:06 -!- jaboja64 has joined.
16:10:33 -!- jaboja has quit (Ping timeout: 240 seconds).
16:26:35 -!- spiette has joined.
16:41:19 -!- J_Arcane has joined.
17:04:39 <Lymia> <prooftechnique> b_jonas: Most esolangs I've seen have more comprehensive docs than make
17:05:08 <Lymia> Isn't this why stuff like scons or cmake got made
17:13:37 <fizzie> There's never enough build systems.
17:19:14 <nortti> we should create an esoteric build system. like autotools
17:22:22 <prooftechnique> I'll bet Sgeo's already done it
17:23:03 <prooftechnique> If we do create one, I vote for måke as the name
17:23:54 <Lymia> At least more modern languages seem to have decided to standardize on sane ones.
17:24:03 <Lymia> sbt, gradle, cargo and such.
17:27:27 <FreeFull> "info make" is actually reasonably comprehensive
17:28:28 -!- lynn has joined.
17:40:52 -!- FreeFull has quit (Quit: Rebooting).
17:42:51 -!- FreeFull has joined.
17:47:23 -!- mtve has joined.
17:51:34 <prooftechnique> Any recommendations for a good text-based adventure game? I'm looking for something new to do for a few days.
18:04:14 <zzo38> Well, I wrote interpreters for the Z-machine VM, so if the game you play is Zork then you can use that
18:16:51 <zzo38> I did read report of the game with AlphaGo, they say that both players made bad moves. But what computer hardware is AlphaGo running on?
18:17:44 <prooftechnique> It's a server farm. Last total I saw was something like 1200 cores and 400 GPUs or something crazy like that
18:18:07 <zzo38> At what clock speeds and what instruction set?
18:18:08 <prooftechnique> Sorry, 176 GPUs, as of October 2015
18:18:17 <prooftechnique> The details have not been released
18:18:36 <prooftechnique> And there's been no update to those totals since October, so it's probably more, now
18:33:48 -!- hppavilion[1] has joined.
18:47:25 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
18:58:04 -!- ais523 has joined.
19:20:43 <mtve> game of life question: is "o2bo$bo$2bo$o!" orphan? sorry being really dumb friday evening.
19:22:40 <fizzie> Lymia: I've seen enough griping about Gradle to confidently say not everyone thinks it's all that sane.
19:23:01 <Lymia> I haven't used it before.
19:23:03 <Lymia> I assumed it was sane.
19:23:27 <prooftechnique> It was very easy to set up when I was doing Minecraft mods.
19:23:32 -!- lynn_ has joined.
19:23:34 <prooftechnique> But beyond that, it was entirely inscrutable
19:23:46 <prooftechnique> If something broke, I doubt I'd have been able to even try to fix it
19:23:56 <fizzie> And sbt managed to be unbeliavably resource-hungry when I was doing a Scala thing (as in, running out of few gigs of memory when doing a toy project), but that was pretty early on, so maybe it's better (or worse...) now.
19:24:26 <Lymia> sbt needs to compile Scala.
19:24:30 <Lymia> Which is...
19:24:43 <Lymia> I'm pretty sure scalac's responsible for the memory use, not sbt, anyway.
19:26:10 -!- lynn has quit (Ping timeout: 244 seconds).
19:28:47 -!- J_Arcane has quit (Ping timeout: 244 seconds).
19:33:23 <prooftechnique> mtve: Definitely looks that way, though I'm definitely not an expert
19:33:24 -!- vanila has joined.
19:35:12 <mtve> most of wannabe breakthroughs appears to be simple bugs, so i guess i need to start catching it, finally.
19:35:30 -!- lynn_ has quit (Read error: Connection reset by peer).
19:35:49 <zzo38> When making a set of global variables to communicate with audio thread, exactly which of those variables should be volatile and which should not be?
19:38:15 -!- J_Arcane has joined.
19:40:45 <HackEgo> [wiki] [[Syms]] N https://esolangs.org/w/index.php?oldid=46584 * 50.161.94.113 * (+7366) ..Why not..
19:42:35 <Lymia> fizzie, I have 8 GB of memory, and haven't run out before, anyway.
19:42:51 <Lymia> When compiling large Scala projects. But... I might be missing something nasty.
19:42:59 <Lymia> It would not surprise me at all if it used excessive resouecs.
19:43:01 <Lymia> resources*
19:45:16 <HackEgo> [wiki] [[Syms]] https://esolangs.org/w/index.php?diff=46585&oldid=46584 * 50.161.94.113 * (+0) /* Interpreter */
19:48:36 -!- APic has quit (Ping timeout: 276 seconds).
19:51:00 <HackEgo> [wiki] [[Syms]] https://esolangs.org/w/index.php?diff=46586&oldid=46585 * 50.161.94.113 * (-440) /* Interpreter */
19:52:04 <HackEgo> [wiki] [[Syms]] https://esolangs.org/w/index.php?diff=46587&oldid=46586 * 50.161.94.113 * (+2) /* Interpreter */ Yes, I should use the preview button.
19:54:58 -!- hppavilion[1] has joined.
20:07:10 <mtve> "o2bo$bo$2bo$o2bo!" has 3 parents but "o2bo$bo$2bo$o!" has none, new GoE? what am i missing?
20:07:26 -!- lynn has joined.
20:10:31 <ais523> how do you read an RLE pattern? other than copy-and-pasting it into Golly?
20:11:26 <mtve> it's like "X..X\n.X..\n..X.\nX...\n"
20:13:19 <ais523> so o means set, b means blank, and numbers are prefix pepeat counts?
20:13:24 <ais523> with $ being newline, and ! being EOF?
20:13:39 <ais523> or, hmm
20:13:43 <mtve> seems so, i use golly indeed
20:13:49 <ais523> that doesn't explain the "bo" which is the wrong length and appears to be centred
20:14:29 <Lymia> mtve, are you searching for parents with size (n+2)*(n+2)?
20:14:37 <mtve> yep
20:14:40 <Lymia> A larger pattern can get smaller.
20:14:50 -!- XorSwap has joined.
20:15:48 <ais523> mtve: what are the rules? produce that pattern in a 4×4 box after one step? or do we have to allow blank space around it?
20:16:49 <vanila> you can use a SAT solver to do this
20:17:56 <mtve> 6x6 pattern surrounded by spaces produces 4x4 pattern in the center surrounded by spaces, yep, i'm using sat. i'm missing something obvious here.
20:18:11 <vanila> mtve, post it on the forum?
20:18:45 <mtve> i need to check everything first, it just could not be that simple.
20:18:48 <ais523> o4b2o$bo3b2o$2bo$3bo$4bo$2o$2o!
20:18:59 <ais523> mtve: that produces your pattern in the centre 4×4 after one step
20:19:25 <mtve> nope.
20:20:12 <ais523> err golly crashed and I put the blocks in the wrong place
20:20:22 <ais523> when recreating it from memory
20:21:02 <ais523> o3b2o$bo3bo$2bo$3bo$o3bo$2o!
20:21:04 <ais523> mtve: there
20:21:16 <Lymia> uh, oh
20:21:25 <vanila> http://www.ericweisstein.com/encyclopedias/life/GardenofEden.html
20:21:29 <Lymia> mtve, are you sure you have the right definition of garden of eden?
20:21:30 <vanila> It is not known if a pattern which has a father pattern, but no grandfather pattern exists (Gardner 1983, p. 249).
20:21:37 <vanila> what the hell?
20:21:44 <vanila> take a garden of eden and go forward one step
20:22:16 <ais523> vanila: you might be able to synthesize it from a different father
20:22:33 <vanila> oh I see!
20:22:33 <ais523> in the gardens in the article, most of the cells disappear after one cycle
20:22:35 <vanila> thanks
20:22:36 <mtve> vanula: yep, got trapped too. it means that one step can has many fathers
20:22:44 <vanila> I get it now :D
20:23:13 <Lymia> mtve, I believe the definition of "garden of eden" might not care about the surrounding cells.
20:23:23 <Lymia> That is, the 4x4 pattern produced does not need to be surrounded by blank squares.
20:23:50 <Lymia> "Each Garden of Eden configuration contains at least one finite pattern (an assignment of states to a finite subset of the cells) that has no predecessor regardless of how the surrounding cells are filled."
20:23:54 <Lymia> https://en.wikipedia.org/wiki/Garden_of_Eden_(cellular_automaton)
20:25:16 <mtve> i've red all wikis already, still don't get it
20:25:58 <vanila> I would have to make a solver
20:26:17 <vanila> Lymia, how does this compared with 'orphan'?
20:26:28 <vanila> http://www.conwaylife.com/wiki/Garden_of_Eden#Orphans
20:26:57 <vanila> Computer searches have revealed that there are no Gardens of Eden contained within a 6 × 6 bounding box.[3]
20:27:10 <mtve> ais523: try one step of $4b2o$b2o$3b2o$3b2o$5b2o$2b2o4$3bobo$2bo3bo$bob2o$3b2obo$bo3bo$2bobo5$2bo$2bo3bo$3b2obo$bob2o$bo3bo$5bo!
20:28:06 <int-e> is there a name for configurations with a predecessor, but no second order predecessor?
20:28:18 <int-e> and... are any of such configurations known?
20:28:26 <Lymia> mtve, I believe the definition of a garden of eden is.
20:28:38 <Lymia> For example, if the bounding box is a 4x4 square
20:29:02 <int-e> (iow, the configuration should not be a garden of eden, but all its predecessors should be)
20:29:02 <Lymia> There are no configurations of any size which produce that pattern in the bounding box, regardless of its surrounding squares
20:29:43 <mtve> ah, so alive cells must touch bounding box, yes, could be
20:29:51 <vanila> int-e, not sure if there's a name but there was a citation about it in the thing i linked 2 links ago
20:30:10 <mtve> Lymia: thanks for hints!
20:30:55 <int-e> vanila: oh thanks
20:31:31 -!- ais523 has quit (Ping timeout: 248 seconds).
20:31:46 <mtve> int-e: Conway itself will give you $50 for it
20:33:33 -!- lynn has quit (Ping timeout: 240 seconds).
20:34:07 <int-e> hmmm itself
20:34:18 <mtve> int-e: http://www.conwaylife.com/wiki/Lifeline_Volume_6, see The Grandfather Problem
20:34:51 <Lymia> mtve, under which rules.
20:34:52 <Lymia> X...XX\n.X...X\n..X...\n...X..\nX...X.\nXX....
20:34:55 <Lymia> This is a parent to that pattern.
20:35:26 <int-e> Hah. "Your obvious ideas are most likely wrong."
20:36:00 <mtve> Lymia: yes indeed.
20:36:40 <mtve> many thanks to everybody's time
20:37:54 -!- ais523 has joined.
20:38:20 <ais523> mtve: 10bobo$8bo5bo$9b5o$7bob5obo$9b5o$5bo3b5obo$6bo3b4o$3bo3bo6bo$bo6bo3bo$ 2b4o3bo$ob5o$2b5o$ob5obo$2b5o$bo5bo$3bobo!
20:38:48 <ais523> produces your pattern in an otherwise blank playfield after one tick
20:39:14 <mtve> wow, it was great
20:40:08 <int-e> alternating quantifiers are so difficult
20:40:39 <ais523> the block generators are really large in order to be able to get rid of them in one tick without interfering with any of the other parts of the pattern
20:40:45 <ais523> err, bit, not block
20:43:34 <mtve> Lymia: so no, as ais523 pointed, orphan==GoE
20:43:51 -!- p34k has joined.
20:44:09 <mtve> ais523: many thanks, now i've nailed error in my model.
20:45:32 <ais523> mtve: the orphan is the minimal part of a GoE that makes it a GoE
20:45:43 <ais523> and a GoE is any pattern that include an orphan somewhere
20:46:03 <mtve> got it
20:51:13 <hppavilion[1]> How about an algebraic language based on order theory rather than operations?
20:51:25 <hppavilion[1]> Or an ordered field language?
20:59:07 <prooftechnique> What does that mean? :v
20:59:31 <hppavilion[1]> prooftechnique: The programs form an ordered field
20:59:36 <hppavilion[1]> Hyperfield, no less
20:59:50 <ais523> while trying to figure out what was causing my kernel panics earlier today, I realised I was using an HP Pavilion right now
20:59:59 <hppavilion[1]> Awesome
21:00:00 <ais523> whereas hppavilion[1] isn't
21:00:10 -!- lynn has joined.
21:00:18 <ais523> this is possibly going to cause some sort of very small rift in the space-time continuum?
21:00:26 <hppavilion[1]> (A hyperfield has succ, pred, add, sub, mul, div, exp, root, log, tet, sroot, slog, etc.)
21:00:54 * hppavilion[1] looks out the window
21:00:54 <hppavilion[1]> OH MY GOD PONIES
21:01:05 <hppavilion[1]> (My sister is watching my little pony next to me)
21:01:18 <hppavilion[1]> I'm trying to remember how to define anticons
21:01:19 <ais523> I think I saw a pony in person today
21:01:36 <ais523> went for a walk in the countryside
21:02:07 <ais523> and instead of usual animals like cows and sheep, the fields were providing something different
21:02:23 <ais523> first one containing animals had ponies, next one had oxen (I think; could have been bulls but the horns were the wrong shape)
21:02:38 <ais523> then the next one had geese; not sure if they lived there, the fence certainly wasn't keeping them in
21:02:44 <ais523> then the one after that had chickens
21:03:01 <ais523> and only one more field had an animal in (not counting obviously wild birds in small numbers), and it was a cat
21:03:11 <ais523> again, who presumably didn't live there
21:04:30 <hppavilion[1]> @src (++)
21:04:31 <lambdabot> [] ++ ys = ys
21:04:31 <lambdabot> (x:xs) ++ ys = x : (xs ++ ys)
21:04:31 <lambdabot> -- OR
21:04:31 <lambdabot> xs ++ ys = foldr (:) ys xs
21:12:56 <nortti> ais523: aren't bulls and ox the same thing, except ox are castrated?
21:13:03 <nortti> *oxen
21:13:09 <ais523> not sure
21:13:12 <coppro> nortti: you're thinking steers
21:13:16 <coppro> oxen are a different species
21:13:17 <ais523> I'm not very good at recognising unusual farm animals
21:13:29 <ais523> also there's an emu farm nearish to where I live, but you can't see the emus from the road
21:14:19 <zzo38> Is it possible to make xterm to change the mouse cursor icon based on whether or not the program has requested to receive mouse inputs?
21:14:21 <ais523> not 100% sure why the farmers there decided to farm emus, but they did
21:14:53 <ais523> zzo38: xterm does know whether the program requested mouse inputs, so that seems like a patch that's possible to write without major changes
21:17:53 <zzo38> It seem would therefore be more easily to tell the mouse mode of the program when using the mouse then.
21:18:28 <zzo38> I do have the xterm source codes on my computer (since I needed a newer version of xterm than was included in the package manager)
21:18:48 <int-e> pointerMode... so yeah it definitely knows.
21:20:27 <int-e> it sounds like a useful addition to me as well
21:20:59 -!- lynn_ has joined.
21:23:39 -!- lynn has quit (Ping timeout: 246 seconds).
21:26:01 -!- spiette has quit (Ping timeout: 240 seconds).
21:26:11 <hppavilion[1]> I think someone should make Kitten, as seen in the topic
21:27:46 <hppavilion[1]> I'll take a crack at it
21:31:06 -!- yorick has joined.
21:32:45 -!- yorick__ has quit (Ping timeout: 244 seconds).
21:35:52 -!- yorick has quit (Ping timeout: 244 seconds).
21:36:11 -!- XorSwap has quit (Read error: Connection reset by peer).
21:36:42 -!- yorick has joined.
21:36:42 -!- yorick has quit (Changing host).
21:36:42 -!- yorick has joined.
21:39:58 <int-e> `? ligature
21:40:15 <int-e> oh lag.
21:40:18 <HackEgo> ligature? ¯\(°​_o)/¯
21:42:53 <Lymia> hrm
21:42:55 <Lymia> ais523, so.
21:43:12 <Lymia> I'm writing a program to collect every BFJoust program ever on the zemhill and EgoBot hills.
21:43:26 <ais523> Lymia: via looking at repo history, presumably?
21:43:29 <Lymia> Yeah.
21:43:49 <ais523> note that they work a bit differently: EgoBot doesn't save a program that's submitted into last place, zemhill does for one generation
21:43:58 <Lymia> You think it'd be interesting to put the results of that on the BFJoust page?
21:44:06 <ais523> that said, if a program is submitted into last, there's at least a decent chance it's completely meaningless
21:44:30 <ais523> !bfjoust meaningless HQ+99++
21:44:32 <EgoBot> ​Score for ais523_meaningless: 6.2
21:44:37 <Lymia> eh
21:44:43 <Lymia> I can't do anything about it.
21:44:46 <Lymia> If it's not tehre
21:44:47 <ais523> a /lot/ of bad programs have been submitted
21:44:48 <Lymia> there*
21:44:50 <Lymia> ... well, I can
21:44:59 <Lymia> I can search my IRC logs.
21:45:01 <ais523> (not to mention that nop.bfjoust used to actually get onto the hill on occasion)
21:45:03 <Lymia> But I have gaps
21:45:16 <ais523> also, in the very very early days of egojoust
21:45:21 <ais523> the hill was upside-down by mistake
21:45:26 <ais523> it rewarded more losses rather than more wins
21:45:36 <Lymia> (surprisingly enough, one of the bots from the Stack Overflow hill seems to be surviving on zemhill )
21:45:40 <ais523> we didn't notice right away (although we did notice pretty quickly)
21:45:46 <ais523> Lymia: which one is that?
21:46:31 <Lymia> http://zem.fi/git/?p=hill;a=blob;f=StackOverflow.Sp3000_ParanoidBot.bfjoust;hb=5dd28bafd2a08864e3639e0d3163645ed6bcbfe8
21:46:46 <Lymia> Seems pretty similar to some stuff I've seen on the main hill
21:46:54 <Lymia> <ais523> the hill was upside-down by mistake
21:46:54 <Lymia> <ais523> it rewarded more losses rather than more wins
21:46:56 <Lymia> uhm
21:46:57 <Lymia> So.
21:47:01 <Lymia> The best program is "<"
21:47:03 <Lymia> no contest.
21:47:10 <ais523> yes
21:47:19 <ais523> eventually someone submitted that when they realised what was going on
21:47:33 <zzo38> Another enhancement for xterm would be a UTCE version (which would be able to use the DEC Technical character set, as well as simplify a lot of the other codes involved in xterm)
21:47:39 <ais523> incidentally, "zero your own flag first but stay on the tape" rules are not 100% trivial, although they're probably pretty trivial
21:47:49 <ais523> zzo38: DEC Technical is a different set from the line-drawing one, right?
21:47:54 <ais523> that basically nobody supports?
21:48:23 <Lymia> Hrm.
21:48:25 <Lymia> Idea for a variant.
21:48:33 <Lymia> How'd BFJoust work out on a cyclic tape?
21:48:56 <zzo38> ais523: Yes, it is different from the VT100 character graphics set (which is fully compatible with Unicode, and is also compatible with many non-Unicode X fonts)
21:49:17 <Lymia> Depending on the circumstance
21:49:22 <Lymia> You might even get tricked into clearing your own flag.
21:49:27 <ais523> Lymia: assuming you can't trivially just reach the enemy's flag with < ?
21:49:34 <Lymia> Yeah
21:49:50 <ais523> it's not that different, probably a bit more complex
21:49:52 <Lymia> Flag [1-8 cells] Flag [1-8 cells] [loop]
21:49:55 <Lymia> Something like that.
21:50:03 <Lymia> With parity for +- and ><
21:50:53 <zzo38> Do you know what file and where in the file I would have to look to modify xterm to change the mouse pointer?
21:51:00 <Lymia> (256 configurations. \o/)
21:51:06 <ais523> zzo38: no
21:51:23 <ais523> Lymia: fwiw, the minimum tape length of 10 rather than 2 was intentional
21:51:30 <ais523> to guarantee you could get some safe decoys
21:52:04 <ais523> maximum of 30 was chosen to guarantee a chance of decoy overlap (higher maximum means you can't make as many assumptions about the minimum) and to ensure that you could get over to the enemy's flag in the middle of a lock loop and back again
21:52:10 <Lymia> I'd like it so that the minimum tape length is less than the minimum length between flags.
21:52:21 <Lymia> The danger if you go past the flag here isn't that you lose.
21:52:36 <Lymia> It's that you loop all the way back and clear your own flag.
21:53:39 <ais523> 10 and 30 make it so that cell 20 might be the opponent's flag or your own
21:54:28 <Lymia> Tape length 10 would have the flags at most 5 cells apart though.
21:54:34 -!- mihow has joined.
21:56:54 -!- hppavilion[2] has joined.
21:57:35 <ais523> Lymia: I was thinking more in terms of an 8-28 sized gap
21:57:56 <ais523> halving it to 4-14 wouldn't change the fundamentals of attack programs
21:58:08 <ais523> but you could set fewer decoys, which would make the crazy programs less crazy and I wouldn't really want that :-(
21:58:24 <Lymia> There's also the bidirectional aspect.
21:58:28 <Lymia> Which makes defense that much harder
21:58:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
21:58:36 <Lymia> You can't tripwire both < and >
21:58:40 <Lymia> Not easily, anyway
21:58:49 <Lymia> So I guess it'd be attack biased in the first place
21:58:53 <ais523> you can reverse tripwire it
21:58:58 <ais523> but yes, you'd have to set decoys both sides
21:59:28 <Lymia> I think you'd want parity on < and > too.
21:59:51 <ais523> it'd probably be possible to detect which direction the opponent was clearing in and then focus on it
21:59:57 <ais523> <>-direction, that is
22:00:08 <ais523> unlike +- direction that's quite expensive to change
22:00:58 <int-e> zzo38: oh it looks like the logic for the pointer is all over the place. xtermDisplayCursor() in misc.c actually changes the pointer, but there are many calls to that function.
22:01:32 <int-e> s/pointer/pointer shape (X11 term: Cursor)
22:07:55 <ais523> the chances of xterm's code not being hellishly crufty by this point are pretty low
22:08:02 <ais523> xterm has the dubious distinction of predating X
22:08:29 <ais523> (i.e. the graphics environment it's most closely associated with)
22:11:00 <zzo38> I know that xterm actually predates X
22:12:15 <zzo38> I don't know if writing a new one might be better or not
22:14:33 -!- dos has joined.
22:15:06 <Lymia> huh
22:15:23 <Lymia> nyuroki and growth2 clearly have a massive lead in points on zemhill
22:16:02 <Lymia> But margin3 somehow gets +5 ranks out of the markov scoring
22:17:37 <quintopia> hellymia
22:17:46 <Lymia> meow
22:17:51 <quintopia> is it bfjoust days again?
22:18:03 -!- hppavilion[2] has quit (Ping timeout: 240 seconds).
22:18:41 <Lymia> Maybe
22:20:00 <dos> I would like to see a game where you get to mess with the basic equations of life as you play...
22:20:02 <dos> Whoops
22:20:09 -!- dos has changed nick to hppavilion[1].
22:21:20 <Lymia> Interesting
22:21:28 <hppavilion[1]> I don't see many category-theoretical imperative languages.
22:22:32 <hppavilion[1]> Suddenly, E=MC^19
22:24:14 <zzo38> Whose decision was it to decide what to put into the standard X cursor font? Is there any explanation as to why some of them (such as gumby and rtl_logo) are there?
22:24:59 <Lymia> G=-6.674 * 10^-11
22:25:03 <Lymia> RIP universe.
22:25:12 -!- lynn_ has changed nick to lynn.
22:25:41 <lynn> zzo38: I remember looking through those a while ago
22:26:28 <lynn> Most of them look slapped together in about fifteen seconds, so
22:27:00 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:27:39 <Lymia> XC_kitchensink
22:27:42 <zzo38> I have heard the suggestion that "XC_trek" could be used to indicate "warp speed"
22:27:44 <lynn> "trek" is very dorky too. Oh, oh, and "star"!
22:27:50 <Lymia> Only thing missng.
22:28:03 <zzo38> The "i" in "missing" is also missing
22:28:44 * Lymia sharpens her cleaver
22:29:07 <lynn> https://camo.githubusercontent.com/f66eff40ca06a6d1e519ded2853e9b1acdaa048c/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3438313931302f37353836372f62373838663662342d363064392d313165322d386132322d6266363932643465616234642e676966
22:29:09 <int-e> what's that talk about missing eyes...
22:29:24 <hppavilion[1]> So a 3-state binary turing machine is enough to be TC, correct?
22:29:30 <lynn> Uh that link is about ffffifty times longer than I expected it to be
22:30:49 <hppavilion[1]> If that's so, how does that not mean there are only 43046721 (3^16 (3^4^2, as it's binary and every state can connect to one of 4 other states for each symbol)) possible computations?
22:31:09 <zzo38> I am making a set of additional cursor shapes (to supplement the standard ones), so possibly XC_kitchensink could be added on???
22:31:49 <lynn> I need a coffee_mug with ᗡAᗡ on it
22:32:32 <zzo38> Yes, maybe you can make one so that it looks like that one
22:32:36 <Lymia> I can understand these as icons
22:32:38 <Lymia> But not as cursors
22:34:31 <zzo38> These are my extra cursor shapes http://sprunge.us/WOaJ I intend to eventually go up to 127
22:37:35 <Lymia> hppavilion[1], the tape is still infinite, no?
22:37:46 <Lymia> You could store a program on the tape.
22:37:59 <Lymia> That one of those 3^16 computations executes.
22:39:23 <zzo38> If you think one is missing then you can tell me that too I suppose, or draw your own and see if it should be included or not
22:39:45 <int-e> oh, ais523 is the expert on that 2,3 turing machine thing... I hadn't realized.
22:39:50 -!- ais523 has changed nick to callforjudgement.
22:40:00 -!- callforjudgement has changed nick to ais523.
22:40:13 <ais523> OK, at least that's a reasonably straightforward typo
22:40:17 <ais523> go to hit #esoteric to see what the ping's about
22:40:23 <ais523> hit the nick box instead, which is right above it
22:40:35 <Lymia> zzo38, XC_kitchen_sink. As a joke, doh.
22:40:54 <zzo38> Lymia: Yes you did tell me that one already, it may be added on
22:41:25 <ais523> hppavilion[1]: basically, the input is infinitely long (in my construction; unbounded input would do to explain the situation though)
22:41:32 <Lymia> Or XC_and_a_kitchen_sink
22:41:41 <Lymia> As 255
22:42:00 <ais523> which means that you can encode arbitrarily many different computations in the input
22:42:06 <zzo38> Yes that may be the other idea I suppose
22:42:21 <ais523> there's no "distance of information propagation" limit in Turing machines in general or in this one in particular
22:42:49 <ais523> there is a limit to how much information you can store in a given length of tape, obviously, but you just use longer and longer sections of the tape as the calculation goes on
22:44:41 <hppavilion[1]> People often talk about minimalist computers (e.g. Turing, Minsky, Kolmogorov)
22:44:47 <hppavilion[1]> Never heard of a "Minimalist OS" though
22:44:53 <lynn> Amazing Elm docs for divide : Rational -> Rational -> Rational from a Ratio package I found:
22:44:57 <lynn> Division. It's sort of like multiplication!
22:46:46 <int-e> it's funny because it's true.
22:47:11 <hppavilion[1]> I would like to see an OS written for a ~slightly-~extended TM
22:49:27 <zzo38> There are Forth-based operating systems, and I would want to have a simple Forth-based operating system for portable computer that also does SSH with Plan9 forwarding and one-time-pad encryption
22:50:03 <zzo38> Do you know how to draw the kitchen sink icon?
22:50:20 <hppavilion[1]> Hex (09A-F) alphabet, two unbounded integer registers
22:50:32 <lynn> int-e: Yesss. So true, but so useless.
22:51:25 <hppavilion[1]> Or maybe 16, not sure yet
22:51:43 <zzo38> When dealing with fractions, yes it is also multiplication similar to division too
22:51:47 <ais523> hppavilion[1]: Forth OS is pretty minimalist
22:51:54 <ais523> oh, zzo38 said that already
22:51:54 -!- Treio has joined.
22:52:00 <hppavilion[1]> ais523: I mean one that runs on a minimalist machine
22:52:11 <Lymia> Hrm
22:52:15 <ais523> it's more a category of OSes than anything else, though, it's /so/ minimal that you end up writing your own code to fill in the gaps, so different ones end up different
22:52:19 <ais523> hppavilion[1]: ah right
22:52:20 <Lymia> You'd be implying a contour.
22:52:35 <ais523> implementing processes in esolangs often isn't too hard
22:52:41 <ais523> with round-robin preemption
22:52:42 <hppavilion[1]> Every node can have a small ASM program (lencapped at somewhere from 1 to 8 instructions) that manipulates the state
22:53:07 <hppavilion[1]> ais523: I assume it's impossible to write a low-level OS in Haskell. Am I correct?
22:53:35 <ais523> hppavilion[1]: probably not, one of the general rules with Haskell is that you can do hyperefficient things if you /really/ want to
22:53:42 <ais523> but the program you write will no longer look anything like Haskell
22:53:48 <hppavilion[1]> Ah
22:54:25 <hppavilion[1]> Instructions for the minos machine can do things like move you on the tape (absolutely or relatively), input and output data (somehow), etc.
22:55:55 <Lymia> Oh.
22:56:00 <Lymia> Or a kitchen sink in profile
22:56:02 <Lymia> That'd be easy
22:58:55 <Lymia> https://paste.lymia.moe/lymia/83f4b00cbc70758214339acfb813abade1b849aa.png
22:58:58 <Lymia> Possibly something like this.
22:59:31 <hppavilion[1]> Here's an idea for a somewhat funny educational document
22:59:57 <hppavilion[1]> A fake catalog advertising abstract machines as if they were real devices to buy and use
23:04:50 -!- Treio has quit (Quit: Leaving).
23:05:41 -!- ais523 has quit.
23:22:17 <Sgeo_> https://xkcd.com/1002/
23:22:29 <Sgeo_> Arimaa and Go are being solved before Poker?
23:22:34 <int-e> https://mjg59.dreamwidth.org/40505.html ... when will we see pirate blinkenlights installations?
23:24:28 -!- oerjan has joined.
23:28:12 <Lymia> "and the outcome of sending a constant stream of "Set room lights to full" and "Open curtain" commands at 3AM seems fairly predictable."
23:28:37 <Lymia> One way to get them to start doing meaningful security.
23:30:38 -!- mbrcknl has quit (Write error: Connection reset by peer).
23:33:33 <Lymia> !bfjoust die <
23:33:35 <EgoBot> ​Score for Lymia_die: 0.0
23:43:25 -!- mbrcknl has joined.
23:45:57 <int-e> Sgeo_: what does solving Poker really mean... https://en.wikipedia.org/wiki/Cepheus_%28poker_bot%29 is close to optimal (in the game theory sense) strategy in the two-player version of Texas hold'em, but it doesn't do any opponent modeling or exploitation of weaknesses.
23:47:09 <int-e> see also https://en.wikipedia.org/wiki/Computer_poker_players which lists some other interesting programs...
23:49:13 <int-e> and adding players makes this problem harder (and subject to collusion, hmm)
23:50:50 <Lymia> wo
23:50:51 <Lymia> wow*
23:50:58 <Lymia> Switching my version gatherer to use git-hg instead of hg directly
23:51:16 <Lymia> Speeds up the version gathering to ~1-3 minutes rather than >10 minutes. :/
23:53:47 <int-e> what kind of versions are you gathering?
23:59:22 <Lymia> bfjoust programs
23:59:30 <Lymia> Looking through the whole revision history
←2016-03-10 2016-03-11 2016-03-12→ ↑2016 ↑all