00:00:09 oerjan: Yeah, but it'd be nice 00:00:47 `culprits wisdom/fnord 00:00:49 int-e ais523 oerjan 00:01:14 `` sed -i 's/paran/paren/' wisdom/fnord 00:01:17 No output. 00:01:52 that's badly capitalized too 00:06:40 hppavilion[1]: are you familiar with the Warren Abstract Machine hth (i'm not really) 00:08:11 oerjan: I've heard of it, but don't remember it being abstract 00:08:49 looks pretty officially abstract imo 00:21:38 what was the language whose programs build a ring (i guess?) called? <-- capra i think 00:22:06 *cabra 00:22:26 except it's only semi- 00:22:34 sounds right 00:23:04 ah, burro is what i looked for 00:28:40 -!- lambda-11235 has joined. 00:29:28 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 hppavilion[1], what do you even mean by that 00:38:40 Phantom_Hoover: Like cabra 00:45:19 Uh. Is it... normal for no-compete clauses to be in event waivers for attending an event? 00:45:23 Because that seems bizarre 00:45:35 well that's the very narrow niche of cpressey's ventures into algebraic structures on programs 00:46:44 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 Sgeo_: ????? 00:51:58 The "Camp No Counselors Waiver and Release of Liability" contains this clause: 00:52:12 "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 that's pretty unusual and probably unenforcable 00:54:03 I feel like I should hold off registering, though 01:02:05 Sgeo_: I think it's prohibiting you from starting a competitor, not from joining a competitor's camp 01:02:14 Sgeo_: So you don't steal their ideas :P 01:05:11 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 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 A sign extend operation: x-=(x&s)<<1; 01:25:12 (his experiment was generalizing radix sorting to arbitrary data structures, i think) 01:25:55 (Where "s" is a number only with the sign bit of the input format set) 01:26:12 that is, if you consider the size of the integers you sort as irrelevant except for their contribution to total memory 01:27:26 https://hackage.haskell.org/package/discrimination 01:28:45 zzo38: so (x&s) is either 0 or -1 01:28:59 (-1)<<1 is undefined in C but -2 in two's complement? 01:29:04 and adding 2 to a number doesn't sign extend it 01:29:06 so I'm confused 01:30:28 No, the "x" is actually of a larger type than the input, but is input and zero extended into "x" initially 01:30:32 ais523: isn't it either 0 or minint? 01:30:44 oerjan: oh right, good point 01:31:02 and INT_MIN << 1 is kind-of awkward to define but is most reasonably defined as 0 01:31:21 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 ais523: AIUI, it's for turning a previously zero-extended value into a sign-extended one. 01:33:12 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 \oren\: apparently it is really INT_MIN for a smaller int, cast into the larger one. 01:38:57 *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 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 \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 \oren\: Yes, but what are the definitions of "over" and "under" 01:49:57 \oren\: I know what a group is xD 01:50:27 an operation is over a set if it is closed in it, i guess 01:50:48 myname: Then why do we say "closed over x" 01:50:54 myname: Why not just say "is over x" 01:51:18 myname: I think operations and functions are just always "over" values 01:51:24 That is probably the definition 01:51:28 Though I could check ##math 01:52:13 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 \oren\: All functions are closed over 𝕍. True fact. 02:07:27 (I think we should define ALL the bb letters) 02:08:08 𝔹𝔹 is the set of bitmaps describing blackboard bold letters. hth. 02:08:22 `unidecode 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏 02:08:24 ​[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 𝕩𝕚 is the set of imaginaries produced from 𝕩 02:09:43 "Make Blackboard Bold Great Again" 02:10:16 \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 Nice 02:20:11 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 Very nice 02:22:44 I love the lowercase blackboard e :D 02:23:20 *subtle* 02:23:32 -!- boily has joined. 02:23:33 aesthetic 02:23:44 prooftechellonique. 02:23:50 Helloily! 02:26:22 I think over refers to the domain of a function and under refers to its range. 02:26:39 Hm... 02:26:43 Consider list theory 02:27:13 Pure lists, specifically. One might call it ZFl or ZFCl 02:27:33 How would one optimally define numbers with it? 02:28:11 The first way that comes to mind is f(n)=[[]]*n, where * is the bounded repetition (repn) operation 02:28:37 hppavilion[1]: Like |z| is a function over ℂ and under ℝ. 02:29:16 -!- mihow has quit (Quit: mihow). 02:29:41 The way more similar to the standard set definition is f(n)=[f(n--)], where -- is of course predecessor 02:29:52 lambda-11235: Interesting... 02:30:13 lambda-11235: Unless, of course, you include sgeoids 02:30:21 -!- lynn has joined. 02:30:33 I definitely read that as Zermelo-Flaenkel 02:30:42 Wait, no, then it's still under ℝ 02:30:58 In fact, |z| isn't under ℝ, it's under ℝx>=0 02:31:15 prooftechnique: Read what as Zermelo-Flaenkel? 02:31:19 ZF? 02:31:25 Zfl 02:31:27 Ah 02:31:28 *ZFl 02:31:42 <\oren\> ZFl 02:31:49 prooftechnique: One of the things I think math needs is a mathematical definition of naming things 02:32:14 m("Gaussian"++x) = m(x)+m(x)i 02:32:41 m("Gaussian real") = ℂ 02:32:49 (Maybe it should be a capital M?) 02:33:04 <\oren\> ℨ𝔢𝔯𝔪𝔢𝔩𝔬-𝔉𝔯𝔞𝔢𝔫𝔨𝔢𝔩 02:33:22 he\\oren\. 02:33:44 (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 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 And is defined for all n in s 02:35:27 Hmm 02:35:33 `thanks \oren\ 02:35:34 Thanks, \oren\. Thoren\. 02:35:40 Where s is N, Z, R, C, etc. 02:35:48 <\oren\> ℑ 𝔣𝔬𝔯 𝔬𝔫𝔢 𝔱𝔥𝔦𝔫𝔨 𝔣𝔯𝔞𝔨𝔱𝔲𝔯 𝔩𝔬𝔬𝔨𝔰 𝔡𝔦𝔰𝔱𝔦𝔫𝔤𝔲𝔦𝔰𝔥𝔢𝔡 𝔞𝔫𝔡 𝔫𝔬𝔟𝔩𝔢. 02:35:52 (You can pattern match, and probably have to for those sets) 02:36:10 (So really, you're defining 4+ related functions that with the same name and one fixed argument) 02:36:51 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 prooftechnique: We can assume tuples are just length 2 lists and sets are just lists where we ignore ordering 02:36:58 Okay, so what does "optimal" mean? 02:37:34 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 the reals are a group under addition, addition forms a group over the reals. 02:38:18 So optimality([]) = 1, optimality(l) = sum([optimality(i) for i in l]) 02:38:23 and underlying set functor is a technical term, the right adjoint to the free structure. 02:38:34 optimum = min(encodings) 02:38:36 What's the EgoBot command that spits out the unicode info? 02:38:44 prooftechnique: unidecode? 02:38:50 `unidecode ⓚ 02:38:51 `help uni 02:38:51 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 02:38:51 ​[U+24DA CIRCLED LATIN SMALL LETTER K] 02:38:53 helloily 02:39:01 `unidecode 𝓀 02:39:04 quinthellopia. 02:39:04 ​[U+1D4C0 MATHEMATICAL SCRIPT SMALL K] 02:39:10 bonne nuitopia! 02:39:14 you arent sokay 02:39:15 prooftechnique: You can use multiple characters with unidecode 02:39:18 night 02:39:32 Oh, neat. Thanks. 02:39:39 But also, \oren\, see above 02:39:50 `unidecode ⓚ 𝓀 02:39:53 ​[U+24DA CIRCLED LATIN SMALL LETTER K] [U+0020 SPACE] [U+1D4C0 MATHEMATICAL SCRIPT SMALL K] 02:39:57 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 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 oerjan: Never heard that 02:43:11 <\oren\> Oh, yeah I havent removed those yet 02:44:26 `help uni <-- HackEgo 02:44:38 's help command takes no arguments. 02:45:27 Figured as such 02:45:38 -!- izabera has changed nick to izy. 02:47:09 <\oren\> 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 𝔚𝔄𝔖 𝔄 𝔅𝔈𝔄ℜ. 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 ℌ𝔄𝔇 𝔑𝔒 ℌ𝔄ℑℜ. 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 𝔚𝔄𝔖𝔑'𝔗 𝔙𝔈ℜ𝔜 𝔉𝔘ℨℨ𝔜 𝔚𝔄𝔖 ℌ𝔈? 02:47:21 AAAAAAAA 02:47:39 i cannot read that. anyway, food -> 02:48:20 That was very hard to read 02:48:25 <\oren\> 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔴𝔞𝔰 𝔞 𝔟𝔢𝔞𝔯. 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔥𝔞𝔡 𝔫𝔬 𝔥𝔞𝔦𝔯. 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔴𝔞𝔫'𝔱 𝔳𝔢𝔯𝔶 𝔣𝔲𝔽𝔽𝔶 𝔴𝔞𝔰 𝔥𝔢? 02:48:37 <\oren\> wait wtf happened there? 02:48:43 That's a very good question 02:49:31 `unidecode 𝔽 02:49:32 ​[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 I just realized that my definition of optimality makes it so f(0) = [], f(n) = [P(n)] 02:53:36 prooftechnique: New definition of optimality: optimality([]) = 1, optimality(i:l)=1+optimality(i)+optimality(l) 02:53:51 Then again, the old definition only works when d=infinity 02:54:10 And the numbers are the naturals 02:54:17 Hmm 02:54:40 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 Held in a list 02:54:52 <\oren\> `unidecode ɟʍʎ 02:54:53 ​[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 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 prooftechnique: I don't either; the goal is to figure out what the expected output is 02:57:44 ƒบzzγ พบzzγ พαร α вεαя. ƒบzzγ พบzzγ нα∂ ท๑ нαïя. ƒบzzγ พบzzγ พαรท'т νεяγท∂บzzγ, พαร нε? 02:58:12 All right, so say I want to optimally encode 4 in ℕ. 02:58:32 What's the limit on the list depth? 02:59:04 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 Okay, so given 4 in ℕ and setting d to 4, what's our encoding? 03:00:47 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 Does it just look like [[],[],[],[]]? 03:01:12 prooftechnique: I would guess [[[[]]]] 03:01:27 Mine has optimality 4, whereas yours is 5 03:01:42 Gah! Again, I hit the the-answer-is-fucking-obvious-moron barrier! 03:01:44 I think 03:01:55 Yeah, pigeonhole principal 03:02:25 prooftechnique: I give up. Have any idea how to encode arbitrary reals as lists? 03:02:33 Optimality be damned? 03:02:43 I don't think your definition of optimality works the way you think it does 03:02:55 Or I just don't understand your notation 03:02:59 well, define some way of a comma 03:04:07 ah, easy 03:04:31 (length of numbers before comma, [numbers]) 03:04:39 there's your real 03:04:51 hppavilion[1]: You can Church-encode the reals, so that might get you somewhere 03:05:05 where positions might be made by (value, position) 03:05:17 prooftechnique: What do you not get? Or I don't get? 03:05:21 of course (a, b) is just [[a, b], [a]] 03:05:52 myname: Comma as in a decimal point? 03:05:59 yeah 03:06:20 myname: Oh, (a, b) is just [a, b] in theory 03:06:35 if [] are ordered, yes 03:06:45 myname: YES! THAT'S THE ENTIRE POINT! 03:06:46 you don't need the fancy positioning then 03:07:20 yo 12,345 is [2,[1,2,3,4,5]] 03:07:27 there is your real 03:07:28 myname: What if n=pi? 03:07:44 hppavilion[1]: define pi as a real 03:07:48 myname: I do 03:08:02 go for it 03:08:21 give me your definition of it 03:08:52 myname: Of what, precisely? 03:08:54 Of pi? 03:08:58 Not sure yet 03:08:59 You have optimality [] = 1; optimality (x:xs) = 1 + optimality x + optimality xs, which doesn't typecheck, if I follow your notation 03:09:00 in other words: how do you define pi without using pi in the reals? 03:09:22 myname: Oh, you want pi without pi? tau/2 obviously 03:09:25 Kidding, kiddin 03:09:26 g 03:14:02 🙃 03:16:07 myname: How about... pi=4*summ([1:inf{2}), x) 03:16:13 I got that from a taylor series online 03:16:47 -!- lleu has quit (Read error: Connection reset by peer). 03:16:57 (that first argument to summ is an interval with a skip) 03:17:17 (Wait, no, it's not quite that 03:17:59 pi=4*(1+summ(x=[3:inf{2}), -1/x)) 03:18:04 summ is, of course, summation 03:18:07 there you go, define addition and multiplication on your [] thingie 03:18:17 myname: Yep 03:18:19 Sounds about right 03:18:29 myname: It's just a haskelly list, but nestable 03:18:31 hth 03:18:46 And pur 03:18:46 e 03:18:56 setler killed all the impure sets 03:19:15 Dammit, that expression was wrong too 03:19:27 It's not n-m-o-q-p, it's n-m+o-q+p 03:19:35 MUCH harder to summation 03:19:42 no 03:19:57 myname: Really? 03:21:07 it's pi=4*(1+summ([3:inf{2}), (-1)^x/x)) 03:21:19 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 https://www.math.hmc.edu/funfacts/ffiles/30001.1-3.shtml says otherwise 03:22:02 oh, wait 03:22:10 not ^x 03:22:16 because your sum is stupid 03:22:41 myname: It's the best I could do without latex 03:22:55 And even if I had latex, I'd need google because I don't latex very often 03:23:01 myname: It's stupid, but it works 03:23:27 pi=4*(summ([0:inf), (-1)^x/(2*x+1)) 03:23:28 Apparently 03:23:36 OK, that works too 03:24:02 Here's a cool feature all low-level languages should have 03:24:06 <> function call notation 03:24:14 f(*a) 03:24:21 It allows you to choose the return type 03:24:31 Allowing multimethods for output, too 03:24:37 (return type must be directly specified) 03:25:26 (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 ) 03:25:51 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 @sassages-loud 03:30:42 oerjan said 1d 1h 37m 54s ago: My neural net thinks there's a historical language called Middle Worse. <-- PLAUSIBLE 03:31:27 -!- XorSwap has joined. 03:35:55 tswett: What would be good for logic programming? Any ideas? 03:36:24 Preferably something fairly minimal 03:42:02 Logical-event maybe? 03:44:03 Hmmm. 03:44:59 One might say I spend a lot of time trying to come up with "low-level" stuff. 03:45:41 Look at, say, Al Dente, and tell me that's not low-level. 03:47:03 (You might describe Al Dente as a low-level logical-event language...) 03:48:12 whoa whoa whoa 03:48:17 @mesdames-loud 03:48:17 You don't have any messages 03:48:22 oerjan hasn't used that one yet 03:52:48 @meddaged 03:52:48 Unknown command, try @list 03:53:02 @xessaxes 03:53:02 You don't have any messages 03:53:18 @pulp 03:53:18 Maybe you meant: pl help 03:53:27 @whelp 03:53:27 help . Ask for help for . Try 'list' for all commands 03:53:28 `le/rn middle worse/Mïðal VVőrszü vvoràði nyëlv spöket af magyar inva̋ðerek Herefördshirben 03:53:31 leszármazott 03:53:34 argh 03:53:37 Learned «middle worse» 03:53:41 stupid newline paste 03:54:07 I can't read that. 03:54:38 `lastfiles 03:54:40 wisdom/middle worse 03:54:48 `mkx bin/sedlast//sed -i "$1" "$(lastfiles)" 03:54:54 bin/sedlast 03:55:01 `cat bin/mkx 03:55:02 key=$(mk "$@") && echo "$key" && chmod +x "$key" 03:55:35 `cat bin/mk 03:55:35 ​[[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$(echo-p "$key")" && echo "$key" 03:55:40 `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 Relearned «middle worse» 03:56:02 I still can't read that. 03:56:13 excellent! 03:57:34 tswett: imagine hungarians inexplicably invading herefordshire some time before 1250 hth 03:57:50 Kokogadene. 03:58:48 tswett: google translate can't read that 03:58:56 although it thinks it's japanese 04:12:59 `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 Relearned «middle worse» 04:22:12 -!- XorSwap has quit (Quit: Leaving). 04:24:13 Japanese is the most accurate guess as to what language that is. 04:24:25 I just realized that the term "Video Graphics Array" doesn't really make sense. 04:24:35 "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 Yeah, but why not just "video array"? 04:29:55 Is it simply because that's too short? 04:30:01 (Which, mind, is a perfectly good reason.) 04:31:27 I guess to fit in with CGA and EGA 04:31:51 <\oren\> Maybe "video" refers to a greater refresh rate? 04:33:16 deltab: that makes sense. 04:33:30 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 CGA and EGA were both 60 Hz 04:37:01 maybe the 256 color registers with 262,144-color global palette 04:37:51 @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 .hs: 1: 1:Parse error: ! 04:39:35 -!- treaki__ has quit (Ping timeout: 244 seconds). 04:39:36 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 > 4190000 / (60 * 160 * 144) 04:39:46 3.0309606481481484 04:39:57 About 3. That's not very many. 04:41:16 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 I don't think you'd have the CPU update each pixel separately 04:44:37 Hmm. Looks like it had something to do with tiles and sprites. 04:44:43 @list so 04:44:43 No module "so" loaded 04:44:47 @help so 04:44:47 help . Ask for help for . Try 'list' for all commands 04:45:08 Interesting how older computing technology is occasionally quite a bit more complicated than the newer stuff. 04:45:13 Like, the overall complexity has only increased. 04:45:38 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 yeah 04:46:30 Like, what form does computer audio take nowadays? A big list of millions of numbers. 04:46:37 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 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 people have done that in web browsers by changing the palette bytes in a PNG and redisplaying it 04:48:08 @so 04:48:08 Error: expected a Haskell expression or declaration 04:48:20 yep, various waveform generators: square, sawtooth, noise, sine if you were lucky 04:48:21 @soh 04:48:21 Maybe you meant: yow src show do 04:48:46 @so x >>= \a -> b 04:48:46 do { a <- x; b} 04:48:52 Yes if it is a indexed color PNG then you can easily do that 04:49:37 (With any program that can display PNG, including but not limited to web browsers) 04:50:20 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 changing color registers was just a few writes 04:50:59 hardware did the rest 04:51:06 Yes, even on Famicom you can change the colours by hardware 04:52:10 but that went when 16, 24, 32-bit color came along 04:52:18 @so fmap f a 04:52:19 fmap f a 04:52:35 @so fmap f . fmap g $ a 04:52:35 fmap f . fmap g $ a 04:58:45 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 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 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 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 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 Quick 08:55:36 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 hppavilion[1]: is it possible to get tswett's etymology bot to produce definitions too? 09:28:53 fungot: Define high-phenated. 09:28:53 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 Apparently it's not worth defining, it's too rare. 09:38:58 `? phenate 09:39:11 phenate? ¯\(°​_o)/¯ 09:45:12 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 fungot: What does "phenate" mean? 09:45:38 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 o.o 09:45:53 Whoa 09:46:02 That started out coherent and a bit horrifying 09:46:13 fungot: Are you actually from the future? 09:46:13 fizzie: if you can hang around in the scheme world certainly seems hard. 09:46:41 I think I figured out how wormholes work 09:46:44 I'm guessing "ancient concept called a newspaper" is a verbatim quote. And "näppärä" is Finnish. 09:46:58 Ah 09:47:29 2007-11-06 04:58:06 you might be interested in another ancient concept called a newspaper, then 09:48:19 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 b_jonas: add another zero in there. the generally preferred method of development is not entry level developer 09:49:10 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 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 fungot: is lumpy the ninth elf? 09:49:32 b_jonas: s/ at/ in/, though. 09:49:47 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 fizzie, do you run zemhill? 10:09:27 Yes, if you can call it that. 10:09:44 (As in, I haven't touched it in a long while.) 10:10:08 Can you take a look at http://zem.fi/bfjoust/hill.git/ and see what's up with it? 10:10:38 All the objects are clearly there, but, master seems to be attached to an older commit for some reason 10:10:48 (When you clone it) 10:11:05 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 I was this close: || ... to actually doing that the other day, then got distracted by a shiny object. 10:11:45 Let's do that now. 10:13:15 Done. Also ran it once for good measure. Doing a pull now should work. 10:13:34 (Hopefully.) 10:13:52 opps 10:14:25 Is fixx 10:14:55 The shorter it takes to fix something, the longer I procrastinate with it. 10:15:27 fungot, help fizzie fix those hooks already 10:15:27 b_jonas: ( a real mathematical function!) from the sorting package) with modified structures. 10:15:53 Sounds like a game of Clue(do). 10:21:09 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 makefiles are some dark magic i don't master 10:22:26 i mean if none of the dependencies 10:26:22 izabera: isn't that what make does normally? it skips those rules 10:27:18 then i'm using it wrong 10:27:52 headers: $(sources) 10:27:59 generate headers here ... 10:28:09 ^ want to skip it if none of the sources have been modified 10:29:22 izabera: does your rule actually touch the file called headers? 10:29:41 Make skips the rule if the dependencies have not been modified since headers was modified 10:29:52 it needs something to compare to 10:30:07 it doesn't touch them 10:31:19 -!- vodkode has joined. 10:31:21 https://arin.ga/XLDTei/raw looks like this 10:33:16 headers is executed every time 10:38:02 -!- lleu has joined. 10:41:14 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 otherwise Make has no way to guess when your headers are fresh enough 10:42:38 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 \o/ solved it 10:53:18 https://arin.ga/4lg1We/raw thanks for the help b_jonas 10:53:20 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 now i unphonyed it 10:57:20 Sadly that's slightly wrong, in a way that's generally only problem for running it in parallel with -j. 10:57:47 A "foo bar: baz" rule doesn't say "use these commands to generate the files 'foo' and 'bar' from 'baz'". 10:58:10 Instead, it says: "use these commands to generate 'foo' from 'baz'" + "use these same commands to generate 'bar' from 'baz'". 10:59:15 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 In parallel, though, it'll run the whole block of commands twice. 10:59:46 For details, see e.g. http://www.cmcrossroads.com/article/rules-multiple-outputs-gnu-make 11:05:00 -!- earendel has joined. 11:06:44 ok so i split that in two rules 11:06:47 should be ok, right? 11:14:57 -!- earendel2 has joined. 11:15:21 -!- earendel has quit (Ping timeout: 244 seconds). 11:18:49 That should be fine; the "one output per rule" case is simple, and you can actually generate the files separately. 11:19:17 (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 i have to change the $(obj): $(src) thing as well, right? 11:22:09 -!- zadock has joined. 11:22:49 that was easy obj/%.o: src/%.c 11:23:01 no :( 11:23:05 doesn't work 11:24:51 yay fixed it 11:25:14 https://arin.ga/GsNbbd/raw 11:25:16 thank you guys 11:27:13 (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 b_jonas: Most esolangs I've seen have more comprehensive docs than make 13:21:09 `addquote b_jonas: Most esolangs I've seen have more comprehensive docs than make 13:21:30 1272) 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 [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 wow 14:48:14 do you recall that I said on this channel recently that I've never seen 7-zip crash? 14:48:20 it crashed now. 14:58:36 * int-e ponders adding "7-zip support" to the topic... nah. 15:22:56 Backtrace contains run > _actual_start > really_start. 15:23:15 Somewhat surprised there isn't no_honest_for_reals_now_start. 15:41:15 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 b_jonas: Most esolangs I've seen have more comprehensive docs than make 17:05:08 Isn't this why stuff like scons or cmake got made 17:13:37 There's never enough build systems. 17:19:14 we should create an esoteric build system. like autotools 17:22:22 I'll bet Sgeo's already done it 17:23:03 If we do create one, I vote for måke as the name 17:23:54 At least more modern languages seem to have decided to standardize on sane ones. 17:24:03 sbt, gradle, cargo and such. 17:27:27 "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 Any recommendations for a good text-based adventure game? I'm looking for something new to do for a few days. 18:04:14 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 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 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 At what clock speeds and what instruction set? 18:18:08 Sorry, 176 GPUs, as of October 2015 18:18:17 The details have not been released 18:18:36 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 game of life question: is "o2bo$bo$2bo$o!" orphan? sorry being really dumb friday evening. 19:22:40 Lymia: I've seen enough griping about Gradle to confidently say not everyone thinks it's all that sane. 19:23:01 I haven't used it before. 19:23:03 I assumed it was sane. 19:23:27 It was very easy to set up when I was doing Minecraft mods. 19:23:32 -!- lynn_ has joined. 19:23:34 But beyond that, it was entirely inscrutable 19:23:46 If something broke, I doubt I'd have been able to even try to fix it 19:23:56 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 sbt needs to compile Scala. 19:24:30 Which is... 19:24:43 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 mtve: Definitely looks that way, though I'm definitely not an expert 19:33:24 -!- vanila has joined. 19:35:12 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 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 [wiki] [[Syms]] N https://esolangs.org/w/index.php?oldid=46584 * 50.161.94.113 * (+7366) ..Why not.. 19:42:35 fizzie, I have 8 GB of memory, and haven't run out before, anyway. 19:42:51 When compiling large Scala projects. But... I might be missing something nasty. 19:42:59 It would not surprise me at all if it used excessive resouecs. 19:43:01 resources* 19:45:16 [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 [wiki] [[Syms]] https://esolangs.org/w/index.php?diff=46586&oldid=46585 * 50.161.94.113 * (-440) /* Interpreter */ 19:52:04 [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 "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 how do you read an RLE pattern? other than copy-and-pasting it into Golly? 20:11:26 it's like "X..X\n.X..\n..X.\nX...\n" 20:13:19 so o means set, b means blank, and numbers are prefix pepeat counts? 20:13:24 with $ being newline, and ! being EOF? 20:13:39 or, hmm 20:13:43 seems so, i use golly indeed 20:13:49 that doesn't explain the "bo" which is the wrong length and appears to be centred 20:14:29 mtve, are you searching for parents with size (n+2)*(n+2)? 20:14:37 yep 20:14:40 A larger pattern can get smaller. 20:14:50 -!- XorSwap has joined. 20:15:48 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 you can use a SAT solver to do this 20:17:56 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 mtve, post it on the forum? 20:18:45 i need to check everything first, it just could not be that simple. 20:18:48 o4b2o$bo3b2o$2bo$3bo$4bo$2o$2o! 20:18:59 mtve: that produces your pattern in the centre 4×4 after one step 20:19:25 nope. 20:20:12 err golly crashed and I put the blocks in the wrong place 20:20:22 when recreating it from memory 20:21:02 o3b2o$bo3bo$2bo$3bo$o3bo$2o! 20:21:04 mtve: there 20:21:16 uh, oh 20:21:25 http://www.ericweisstein.com/encyclopedias/life/GardenofEden.html 20:21:29 mtve, are you sure you have the right definition of garden of eden? 20:21:30 It is not known if a pattern which has a father pattern, but no grandfather pattern exists (Gardner 1983, p. 249). 20:21:37 what the hell? 20:21:44 take a garden of eden and go forward one step 20:22:16 vanila: you might be able to synthesize it from a different father 20:22:33 oh I see! 20:22:33 in the gardens in the article, most of the cells disappear after one cycle 20:22:35 thanks 20:22:36 vanula: yep, got trapped too. it means that one step can has many fathers 20:22:44 I get it now :D 20:23:13 mtve, I believe the definition of "garden of eden" might not care about the surrounding cells. 20:23:23 That is, the 4x4 pattern produced does not need to be surrounded by blank squares. 20:23:50 "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 https://en.wikipedia.org/wiki/Garden_of_Eden_(cellular_automaton) 20:25:16 i've red all wikis already, still don't get it 20:25:58 I would have to make a solver 20:26:17 Lymia, how does this compared with 'orphan'? 20:26:28 http://www.conwaylife.com/wiki/Garden_of_Eden#Orphans 20:26:57 Computer searches have revealed that there are no Gardens of Eden contained within a 6 × 6 bounding box.[3] 20:27:10 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 is there a name for configurations with a predecessor, but no second order predecessor? 20:28:18 and... are any of such configurations known? 20:28:26 mtve, I believe the definition of a garden of eden is. 20:28:38 For example, if the bounding box is a 4x4 square 20:29:02 (iow, the configuration should not be a garden of eden, but all its predecessors should be) 20:29:02 There are no configurations of any size which produce that pattern in the bounding box, regardless of its surrounding squares 20:29:43 ah, so alive cells must touch bounding box, yes, could be 20:29:51 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 Lymia: thanks for hints! 20:30:55 vanila: oh thanks 20:31:31 -!- ais523 has quit (Ping timeout: 248 seconds). 20:31:46 int-e: Conway itself will give you $50 for it 20:33:33 -!- lynn has quit (Ping timeout: 240 seconds). 20:34:07 hmmm itself 20:34:18 int-e: http://www.conwaylife.com/wiki/Lifeline_Volume_6, see The Grandfather Problem 20:34:51 mtve, under which rules. 20:34:52 X...XX\n.X...X\n..X...\n...X..\nX...X.\nXX.... 20:34:55 This is a parent to that pattern. 20:35:26 Hah. "Your obvious ideas are most likely wrong." 20:36:00 Lymia: yes indeed. 20:36:40 many thanks to everybody's time 20:37:54 -!- ais523 has joined. 20:38:20 mtve: 10bobo$8bo5bo$9b5o$7bob5obo$9b5o$5bo3b5obo$6bo3b4o$3bo3bo6bo$bo6bo3bo$ 2b4o3bo$ob5o$2b5o$ob5obo$2b5o$bo5bo$3bobo! 20:38:48 produces your pattern in an otherwise blank playfield after one tick 20:39:14 wow, it was great 20:40:08 alternating quantifiers are so difficult 20:40:39 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 err, bit, not block 20:43:34 Lymia: so no, as ais523 pointed, orphan==GoE 20:43:51 -!- p34k has joined. 20:44:09 ais523: many thanks, now i've nailed error in my model. 20:45:32 mtve: the orphan is the minimal part of a GoE that makes it a GoE 20:45:43 and a GoE is any pattern that include an orphan somewhere 20:46:03 got it 20:51:13 How about an algebraic language based on order theory rather than operations? 20:51:25 Or an ordered field language? 20:59:07 What does that mean? :v 20:59:31 prooftechnique: The programs form an ordered field 20:59:36 Hyperfield, no less 20:59:50 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 Awesome 21:00:00 whereas hppavilion[1] isn't 21:00:10 -!- lynn has joined. 21:00:18 this is possibly going to cause some sort of very small rift in the space-time continuum? 21:00:26 (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 OH MY GOD PONIES 21:01:05 (My sister is watching my little pony next to me) 21:01:18 I'm trying to remember how to define anticons 21:01:19 I think I saw a pony in person today 21:01:36 went for a walk in the countryside 21:02:07 and instead of usual animals like cows and sheep, the fields were providing something different 21:02:23 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 then the next one had geese; not sure if they lived there, the fence certainly wasn't keeping them in 21:02:44 then the one after that had chickens 21:03:01 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 again, who presumably didn't live there 21:04:30 @src (++) 21:04:31 [] ++ ys = ys 21:04:31 (x:xs) ++ ys = x : (xs ++ ys) 21:04:31 -- OR 21:04:31 xs ++ ys = foldr (:) ys xs 21:12:56 ais523: aren't bulls and ox the same thing, except ox are castrated? 21:13:03 *oxen 21:13:09 not sure 21:13:12 nortti: you're thinking steers 21:13:16 oxen are a different species 21:13:17 I'm not very good at recognising unusual farm animals 21:13:29 also there's an emu farm nearish to where I live, but you can't see the emus from the road 21:14:19 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 not 100% sure why the farmers there decided to farm emus, but they did 21:14:53 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 It seem would therefore be more easily to tell the mouse mode of the program when using the mouse then. 21:18:28 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 pointerMode... so yeah it definitely knows. 21:20:27 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 I think someone should make Kitten, as seen in the topic 21:27:46 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 `? ligature 21:40:15 oh lag. 21:40:18 ligature? ¯\(°​_o)/¯ 21:42:53 hrm 21:42:55 ais523, so. 21:43:12 I'm writing a program to collect every BFJoust program ever on the zemhill and EgoBot hills. 21:43:26 Lymia: via looking at repo history, presumably? 21:43:29 Yeah. 21:43:49 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 You think it'd be interesting to put the results of that on the BFJoust page? 21:44:06 that said, if a program is submitted into last, there's at least a decent chance it's completely meaningless 21:44:30 !bfjoust meaningless HQ+99++ 21:44:32 ​Score for ais523_meaningless: 6.2 21:44:37 eh 21:44:43 I can't do anything about it. 21:44:46 If it's not tehre 21:44:47 a /lot/ of bad programs have been submitted 21:44:48 there* 21:44:50 ... well, I can 21:44:59 I can search my IRC logs. 21:45:01 (not to mention that nop.bfjoust used to actually get onto the hill on occasion) 21:45:03 But I have gaps 21:45:16 also, in the very very early days of egojoust 21:45:21 the hill was upside-down by mistake 21:45:26 it rewarded more losses rather than more wins 21:45:36 (surprisingly enough, one of the bots from the Stack Overflow hill seems to be surviving on zemhill ) 21:45:40 we didn't notice right away (although we did notice pretty quickly) 21:45:46 Lymia: which one is that? 21:46:31 http://zem.fi/git/?p=hill;a=blob;f=StackOverflow.Sp3000_ParanoidBot.bfjoust;hb=5dd28bafd2a08864e3639e0d3163645ed6bcbfe8 21:46:46 Seems pretty similar to some stuff I've seen on the main hill 21:46:54 the hill was upside-down by mistake 21:46:54 it rewarded more losses rather than more wins 21:46:56 uhm 21:46:57 So. 21:47:01 The best program is "<" 21:47:03 no contest. 21:47:10 yes 21:47:19 eventually someone submitted that when they realised what was going on 21:47:33 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 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 zzo38: DEC Technical is a different set from the line-drawing one, right? 21:47:54 that basically nobody supports? 21:48:23 Hrm. 21:48:25 Idea for a variant. 21:48:33 How'd BFJoust work out on a cyclic tape? 21:48:56 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 Depending on the circumstance 21:49:22 You might even get tricked into clearing your own flag. 21:49:27 Lymia: assuming you can't trivially just reach the enemy's flag with < ? 21:49:34 Yeah 21:49:50 it's not that different, probably a bit more complex 21:49:52 Flag [1-8 cells] Flag [1-8 cells] [loop] 21:49:55 Something like that. 21:50:03 With parity for +- and >< 21:50:53 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 (256 configurations. \o/) 21:51:06 zzo38: no 21:51:23 Lymia: fwiw, the minimum tape length of 10 rather than 2 was intentional 21:51:30 to guarantee you could get some safe decoys 21:52:04 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 I'd like it so that the minimum tape length is less than the minimum length between flags. 21:52:21 The danger if you go past the flag here isn't that you lose. 21:52:36 It's that you loop all the way back and clear your own flag. 21:53:39 10 and 30 make it so that cell 20 might be the opponent's flag or your own 21:54:28 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 Lymia: I was thinking more in terms of an 8-28 sized gap 21:57:56 halving it to 4-14 wouldn't change the fundamentals of attack programs 21:58:08 but you could set fewer decoys, which would make the crazy programs less crazy and I wouldn't really want that :-( 21:58:24 There's also the bidirectional aspect. 21:58:28 Which makes defense that much harder 21:58:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 21:58:36 You can't tripwire both < and > 21:58:40 Not easily, anyway 21:58:49 So I guess it'd be attack biased in the first place 21:58:53 you can reverse tripwire it 21:58:58 but yes, you'd have to set decoys both sides 21:59:28 I think you'd want parity on < and > too. 21:59:51 it'd probably be possible to detect which direction the opponent was clearing in and then focus on it 21:59:57 <>-direction, that is 22:00:08 unlike +- direction that's quite expensive to change 22:00:58 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 s/pointer/pointer shape (X11 term: Cursor) 22:07:55 the chances of xterm's code not being hellishly crufty by this point are pretty low 22:08:02 xterm has the dubious distinction of predating X 22:08:29 (i.e. the graphics environment it's most closely associated with) 22:11:00 I know that xterm actually predates X 22:12:15 I don't know if writing a new one might be better or not 22:14:33 -!- dos has joined. 22:15:06 huh 22:15:23 nyuroki and growth2 clearly have a massive lead in points on zemhill 22:16:02 But margin3 somehow gets +5 ranks out of the markov scoring 22:17:37 hellymia 22:17:46 meow 22:17:51 is it bfjoust days again? 22:18:03 -!- hppavilion[2] has quit (Ping timeout: 240 seconds). 22:18:41 Maybe 22:20:00 I would like to see a game where you get to mess with the basic equations of life as you play... 22:20:02 Whoops 22:20:09 -!- dos has changed nick to hppavilion[1]. 22:21:20 Interesting 22:21:28 I don't see many category-theoretical imperative languages. 22:22:32 Suddenly, E=MC^19 22:24:14 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 G=-6.674 * 10^-11 22:25:03 RIP universe. 22:25:12 -!- lynn_ has changed nick to lynn. 22:25:41 zzo38: I remember looking through those a while ago 22:26:28 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 XC_kitchensink 22:27:42 I have heard the suggestion that "XC_trek" could be used to indicate "warp speed" 22:27:44 "trek" is very dorky too. Oh, oh, and "star"! 22:27:50 Only thing missng. 22:28:03 The "i" in "missing" is also missing 22:28:44 * Lymia sharpens her cleaver 22:29:07 https://camo.githubusercontent.com/f66eff40ca06a6d1e519ded2853e9b1acdaa048c/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3438313931302f37353836372f62373838663662342d363064392d313165322d386132322d6266363932643465616234642e676966 22:29:09 what's that talk about missing eyes... 22:29:24 So a 3-state binary turing machine is enough to be TC, correct? 22:29:30 Uh that link is about ffffifty times longer than I expected it to be 22:30:49 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 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 I need a coffee_mug with ᗡAᗡ on it 22:32:32 Yes, maybe you can make one so that it looks like that one 22:32:36 I can understand these as icons 22:32:38 But not as cursors 22:34:31 These are my extra cursor shapes http://sprunge.us/WOaJ I intend to eventually go up to 127 22:37:35 hppavilion[1], the tape is still infinite, no? 22:37:46 You could store a program on the tape. 22:37:59 That one of those 3^16 computations executes. 22:39:23 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 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 OK, at least that's a reasonably straightforward typo 22:40:17 go to hit #esoteric to see what the ping's about 22:40:23 hit the nick box instead, which is right above it 22:40:35 zzo38, XC_kitchen_sink. As a joke, doh. 22:40:54 Lymia: Yes you did tell me that one already, it may be added on 22:41:25 hppavilion[1]: basically, the input is infinitely long (in my construction; unbounded input would do to explain the situation though) 22:41:32 Or XC_and_a_kitchen_sink 22:41:41 As 255 22:42:00 which means that you can encode arbitrarily many different computations in the input 22:42:06 Yes that may be the other idea I suppose 22:42:21 there's no "distance of information propagation" limit in Turing machines in general or in this one in particular 22:42:49 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 People often talk about minimalist computers (e.g. Turing, Minsky, Kolmogorov) 22:44:47 Never heard of a "Minimalist OS" though 22:44:53 Amazing Elm docs for divide : Rational -> Rational -> Rational from a Ratio package I found: 22:44:57 Division. It's sort of like multiplication! 22:46:46 it's funny because it's true. 22:47:11 I would like to see an OS written for a ~slightly-~extended TM 22:49:27 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 Do you know how to draw the kitchen sink icon? 22:50:20 Hex (09A-F) alphabet, two unbounded integer registers 22:50:32 int-e: Yesss. So true, but so useless. 22:51:25 Or maybe 16, not sure yet 22:51:43 When dealing with fractions, yes it is also multiplication similar to division too 22:51:47 hppavilion[1]: Forth OS is pretty minimalist 22:51:54 oh, zzo38 said that already 22:51:54 -!- Treio has joined. 22:52:00 ais523: I mean one that runs on a minimalist machine 22:52:11 Hrm 22:52:15 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 hppavilion[1]: ah right 22:52:20 You'd be implying a contour. 22:52:35 implementing processes in esolangs often isn't too hard 22:52:41 with round-robin preemption 22:52:42 Every node can have a small ASM program (lencapped at somewhere from 1 to 8 instructions) that manipulates the state 22:53:07 ais523: I assume it's impossible to write a low-level OS in Haskell. Am I correct? 22:53:35 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 but the program you write will no longer look anything like Haskell 22:53:48 Ah 22:54:25 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 Oh. 22:56:00 Or a kitchen sink in profile 22:56:02 That'd be easy 22:58:55 https://paste.lymia.moe/lymia/83f4b00cbc70758214339acfb813abade1b849aa.png 22:58:58 Possibly something like this. 22:59:31 Here's an idea for a somewhat funny educational document 22:59:57 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 https://xkcd.com/1002/ 23:22:29 Arimaa and Go are being solved before Poker? 23:22:34 https://mjg59.dreamwidth.org/40505.html ... when will we see pirate blinkenlights installations? 23:24:28 -!- oerjan has joined. 23:28:12 "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 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 !bfjoust die < 23:33:35 ​Score for Lymia_die: 0.0 23:43:25 -!- mbrcknl has joined. 23:45:57 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 see also https://en.wikipedia.org/wiki/Computer_poker_players which lists some other interesting programs... 23:49:13 and adding players makes this problem harder (and subject to collusion, hmm) 23:50:50 wo 23:50:51 wow* 23:50:58 Switching my version gatherer to use git-hg instead of hg directly 23:51:16 Speeds up the version gathering to ~1-3 minutes rather than >10 minutes. :/ 23:53:47 what kind of versions are you gathering? 23:59:22 bfjoust programs 23:59:30 Looking through the whole revision history