00:00:51 they left. 00:00:56 -!- atslash has quit (Ping timeout: 246 seconds). 00:01:02 They certainly did. 00:01:16 someone should fix canaima. 00:01:32 -!- atslash has joined. 00:01:33 (their channel list, that is) 00:03:57 I like the random randomperson visiting our channel from time to time :) 00:04:34 <\oren\> guten nachos 00:05:00 bons\oiren\. 00:05:00 <\oren\> s/nachos/noches/ 00:05:14 s/oche/ochelloe/ 00:05:22 -!- hppavilion[1] has joined. 00:07:04 If we define a Kleene Algebra with an additional - operation (pun intended, but not initially), have we just defined some (non-strict, to cover all my bases) subset of the Hyperoperations for strings? 00:07:47 - is, likely, relative complement; "x"+"y"+"z" = {"x", "y", "z"}, "x"+"y"+"z"-"y" = {"x", "z"} 00:08:57 Specifically, talking about the Kleene Algebras that deal with strings of characters from some alphabet 00:10:01 well regular languages are closed under set difference. 00:10:24 *the set of 00:10:55 oerjan: Yes, of course. 00:11:01 Well, I didn't actually know that, but OK 00:11:17 oerjan: So does that mean that I have just invented Regex Hyperoperations? xD 00:12:01 Oh, but these hyperoperations are indexed by naturals 00:12:06 (including 0, as always) 00:12:35 however, + as set union doesn't have cancellation 00:12:47 oerjan: Oh yeah :/ 00:12:57 Wait, why not? 00:13:25 because {x} + {x} = {x} + {} but {x} != {} 00:13:50 Ah, yes 00:13:53 this channel has been unionized 00:14:01 I had to look up cancellation because I confused it with something else 00:14:13 but he's still in #haskell and some other places 00:14:30 shachaf: now let's ruin it by demanding a pension fund backed by a company that will go bankrupt in ten years 00:14:44 I don't want to be part of no union. 00:15:01 boily: i guess you don't believen in the nordic model, then. 00:15:04 oerjan: you're clearly not a chemist hth 00:15:05 *-n 00:15:36 oerjan: So is kleene hyperoperations completely broken? 00:15:55 oerjan: unless pension is a pun i missed somehow 00:15:58 hppavilion[1]: it's rather early to say when you've barely defined the first step, isn't it 00:16:29 oerjan: you can't even not acknowledge a pun 00:16:54 oerjan: No, it's not too early for it to be completely broken 00:17:04 i mean even not 00:17:05 It is too early for it to be completely /working/ though 00:18:46 hppavilion[1]: well my hunch is it's meaningless 00:19:13 oerjan: Not "meaningless" 00:19:22 More "new and eso, but not particularly interesting" 00:19:25 but only because i see no obvious reason why it should have good properties or an intuitive meaning 00:20:38 hppavilion[1]: well the obvious brokenness is that x + x = x so multiplication defined similarly to hyperoperations is likely trivial 00:21:11 for that reason, and because wtf are you even recursing over when defining it... 00:21:12 oerjan: No, it's not quite the hyperoperations 00:21:31 oerjan: The index is the naturals 00:21:40 oerjan: So it's [n] 00:21:57 + and * are both the traditional Kleeney goodness 00:22:27 oerjan: So it isn't /quite/ the hyperoperations, but it's close 00:22:35 fine, now define the next step in such a way that it's connection to + and * does not feel completely ad hoc hth 00:22:38 *twh 00:22:44 *its 00:23:22 basically i cannot judge your idea yet because you haven't defined anything but the base step of the induction, which says _nothing_. 00:24:08 shachaf: oh i didn't notice your "but he's still in #haskell and some other places" line until now. 00:24:36 don't assume i manage to read this channel in order twh hth 00:24:48 "twh hth" dnh hth 00:26:04 "dnhwpbiq hth" dnhwpbiq hth 00:26:06 oerjan: I don't think there /is/ a way to non-ad hoc it xD 00:26:39 hppavilion[1]: THEN IT'S COMPLETELY BROKEN HTH 00:26:55 oerjan: *fine* 00:27:28 oerjan: Perhaps "ab"[3]"cd" = {"abcd", "cdab"} 00:27:44 And I can work towards generalizing better now that I have additional operations? 00:28:19 Perhaps the kleeney hyperoperations are an alternator, then a concatenator, then an alternator, then a concatenator 00:28:26 etc. 00:28:31 Then again, that makes no sense, because the third one is both 00:28:41 shachaf: wd"dnhwpbiq"mtwh 00:29:04 oerjan: Of course, S(re) is re+1, where 1 is "" 00:29:18 So the successor of a regex is either that regex OR nothing 00:29:37 Of course, that only works for some regexes 00:29:48 oerjan: I really have no clue what I'm doing, cyt? 00:29:55 additional operators may not help because that also gives more opportunities for rules to be broken 00:30:10 hppavilion[1]: i ... figured. 00:30:21 `quote name for a band 00:30:23 1005) "would be a good name for a band when preceded by its quotation" would be a good name for a band when preceded by its quotation 00:30:33 oerjan: Idea. Instead of one set of hyperoperations, why not two? One spawning from +, the other from * 00:30:35 Wooooooooow 00:30:49 oerjan: There's no reason * need be the next after + 00:30:58 (here, * is multiplication, not iteration) 00:31:19 oerjan: hth hand 00:31:37 the thing about your ideas is that they look like brainstorming with absolutely no intuition why there is a reason that they _should_ work 00:32:11 and so vaguely stated that i cannot even see how to repair it 00:32:19 (if it's possible) 00:32:29 oerjan: What do /you/ propose happens after *? xD 00:32:32 so basically, work on getting a bit more rigor into the presentation. 00:33:03 hppavilion[1]: i don't know. i don't expect there to be an operation that naturally follows. 00:33:18 oerjan: I agree. + and * seem to have no relationship 00:33:21 naturality, yes, that would also be good. 00:33:32 oerjan: I just noticed a possibility in the way Kleene Algebra works. I didn't think "I wonder what the use would be" because I didn't have all the data (I couldn't remember the hyperoperation definition) 00:33:35 oerjan: Naturality? 00:33:51 Also, because I'm lazy xD 00:34:09 I do need more mathematical rigor, though 00:34:55 Ah, do you mean naturality would be an alternative to rigor in my presentation? 00:34:59 Just in case you do 00:35:07 BURN THE HERETIC! 00:35:16 naturality is an intuitive concept, mostly, here. 00:35:22 and ideally you need both. 00:35:26 * boily mapoles hppavilion[1]! 00:35:35 no burning people here. think of the noxious fumes. 00:35:44 boily: Oh right 00:35:50 This channel is pretty small 00:36:24 oerjan: Oh, naturality as in "it makes sense that this could happen" 00:36:33 `? #esoteric 00:36:34 Not as in "your presentation sounds nice". 00:36:35 ​#esoteric is the only channel that exists. monqy is its centroïd. 00:36:39 That was pretty confusing. 00:36:48 All other channels are refractions of #esoteric 00:36:57 `learn_append #esoteric It's about 100 m (30 ft) across. 00:37:01 Learned '#esoteric': #esoteric is the only channel that exists. monqy is its centroïd. It's about 100 m (30 ft) across. 00:37:24 we established that the other day hth 00:37:36 How wide is it? 00:37:54 Or long, if you measured width the other day. 00:38:03 wait 00:38:06 silly me 00:38:12 `revert 00:38:23 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 00:38:25 `learn_append #esoteric It's about 30 m (100 ft) across. 00:38:28 Learned '#esoteric': #esoteric is the only channel that exists. monqy is its centroïd. It's about 30 m (100 ft) across. 00:38:45 zgrep: It's 257 dimensions, and thus it's two dimensional. No concept of width. 00:38:55 i remember the conversion approximation, but not which is which... 00:39:05 hppavilion[1]: So what's the height, then? 00:39:08 oerjan: That sounds about right 00:39:26 zgrep: 12 metres. 00:39:37 (You were expecting a joke, weren't you?) 00:39:38 Seems kind-of cramped. How do we all fit? 00:39:48 hppavilion[1]: also naturality as in "fits well together". and if you're lucky, naturality in the rigorous, category theory sense, which somehow tends to imply the others. 00:41:33 although they are part of an extremely confusing system of units, fluid ounces are strangely convenient. 00:42:47 zgrep: 30 m each way gives 900 m^2, about 9-10 m^2 per nick, not that cramped... 00:43:15 It's each way? 00:43:26 i guess that's about 3m x 3m cubicles 00:43:49 zgrep: it's circular. oh hm 00:44:03 > pi * 30^2 00:44:05 2827.4333882308138 00:44:22 > sqrt (pi * 30^2 / 95) 00:44:24 5.45549784329708 00:44:43 oh wait 00:44:49 > sqrt (pi * 15^2 / 95) 00:44:52 2.72774892164854 00:44:52 Yeah. 00:44:57 2.7 m 00:45:07 Hm... I guess we all fit... 00:45:24 ...what's the largest amount of people there have been in this channel... 00:47:12 dunno but it's surely been above 100 00:47:34 hm time to do a bot counting again 00:48:08 oerjan: Bots need their own space too. 00:48:48 fungot glogbot HackEgo clog idris-bot j-bot EgoBot lambdabot zemhill 00:48:49 oerjan: mmm... tuna. they've been around for that one 00:49:02 hm just below 10% today 00:49:10 Hm. With 200 people it would still give each person a nice bit of area... 00:49:26 300 is starting to get cramped... 00:49:52 600, and we're down to one square meter (approximately) 00:50:17 > (pi * 15^2) 00:50:18 706.8583470577034 00:51:21 2827 people, and everybody has half a meter to themselves. 00:51:32 Well, half a meter by half a meter. 00:53:14 The question is, how will we split up a circle nicely so that everybody gets their amount of space... 00:55:09 <\oren\> my cubicle at work is like 2 m across 00:56:51 Hey everyone, tell me if my templating is off. 00:56:53 "The Doctor enters the battlefield with 13 regeneration counters on it. Whenever The Doctor dies, if it had at least one regeneration counter on it, return it to the battlefield under its owner's control with one fewer regeneration counter on it." 01:05:40 not timey-wimey enough hth 01:08:20 tswett: I think it would usually be "When", not "Whenever". 01:11:57 "When the Doctor enters the battlefield, put 13 regeneration counters on it. Regeneration counter: regenerate the Doctor." 01:16:28 I chose this ability as a more fun version of an activated regeneration ability. 01:18:11 -!- tjt263 has left ("part"). 01:19:38 bots up to 10% 01:21:01 http://whymtgcardsmith.tumblr.com/post/130362573178/the-name-and-flavor-text-are-lies - I kind of want to just read through here and try to reword all the cards. 01:21:45 "Exile all lands your opponents control. The owner of a land exiled this way may play that land." 01:23:55 -!- p34k has quit. 01:27:27 tswett: Do you agree that we should have a detailed reference about the Curry-Howard Correspondence on the wiki so that people can see new and eso ideas for computation? 01:27:42 hppavilion[1]: well, what's wrong with the Wikipedia article? 01:28:01 tswett: It isn't extensive an extensive reference 01:28:31 tswett: The idea is this would be a long, long list of CSy things based on FL 01:28:45 Ah. Sounds neat. 01:29:01 http://www.escapistmagazine.com/articles/view/scienceandtech/14276-Magic-The-Gathering-Cards-Made-by-Artificial-Intelligence ← always droll and entertaining. 01:29:19 tswett: Regardless as to whether what they correspond to is something well-known in CS 01:31:22 tswett: Meaning that, for example, you could have a programming language based on De Morgan's Laws when C-H isomorphized 01:31:29 or something. 01:31:59 @djinn Either p (p -> Void) 01:31:59 -- f cannot be realized. 01:32:09 @djinn q -> p 01:32:09 -- f cannot be realized. 01:32:25 @djinn (p -> q, q -> Void) -> (p -> Void) 01:32:26 f (a, b) c = b (a c) 01:33:15 @djinn (q -> Void) -> Void 01:33:16 -- f cannot be realized. 01:35:10 @djinn [Int] 01:35:10 Error: Undefined type [] 01:35:17 @djinn [a] 01:35:17 Error: Undefined type [] 01:35:26 hppavilion[1]: the logic being modeled here is "intuitionistic logic", which is a lot like classical logic, but lacks the familiar "law of excluded middle" and "double negation elimination" axioms 01:35:40 mauris: Oh right 01:35:46 mauris: I just found that out 01:36:06 mauris: Wait, then how can you do Law of Excluded Middle Continuation? 01:36:22 also @djinn doesn't support recursive types. 01:36:27 (like []) 01:36:29 oerjan: Oh 01:36:42 What /does/ [] correspond to? 01:36:43 mauris, LEM and double negation elimination are equivalent aren't they... 01:37:04 hppavilion[1]: you have to model continuations somehow, usually with the Cont monad 01:37:36 are they? 01:37:40 @djinn ((Either x (x -> Void) -> Void) -> Void 01:37:41 Cannot parse command 01:37:43 maybe not 01:37:46 oops 01:37:51 @djinn (Either x (x -> Void) -> Void) -> Void 01:37:51 f a = void (a (Right (\ b -> a (Left b)))) 01:37:59 LEM implies DNE but maybe not the converse 01:38:01 or double negation 01:38:43 Phantom_Hoover: see above 01:39:03 <\oren\> in 1/2 an hour the donald trump and co. show is on 01:39:39 putting an intuitionistic proposition inside ( -> Void) -> Void makes it equivalent to the classical one 01:40:17 @djinn (((q -> Void) -> Void) -> Void) -> Void 01:40:18 -- f cannot be realized. 01:40:23 @djinn ((x -> Void) -> Void) -> Either x (x -> Void) 01:40:23 -- f cannot be realized. 01:41:20 hppavilion[1]: you're asking what [] corresponds to under the CHI? 01:41:31 oh, wait, oops, nevermind me 01:41:41 tswett: Basically 01:41:49 tswett: Wait 01:41:53 hppavilion[1]: I guess it essentially means "there exist 0 or more proofs that (...)". 01:42:04 tswett: [a] is syntactic sugar for List a, isn't it? 01:42:13 It's syntactic sugar for [] a. 01:42:31 tswett: Which basically means List a, where List is a functor? 01:42:40 Yeah. 01:42:43 basically, yeah 01:42:47 Indeed, it means List a, where List is []. 01:42:48 tswett: Ah, then I don't understand it 01:43:22 Wait. Does negation introduction isomorph to snd? 01:43:34 well, if a value of type `p` corresponds to a constructive proof of `p` 01:44:09 then a `[p]` just contains a bunch of proofs? i suppose 01:44:35 mauris: Is my deduction correct? 01:44:43 Or partially correct (I am partway there)? 01:44:47 Or just wrong? 01:45:19 ((P -> Q), (P -> Void)) -> (P -> Void) is negation introduction the CSy way, AFAICT 01:45:52 that should be ((P -> Q), (P -> (Q -> Void))) 01:46:01 mauris: Oh :/ 01:46:03 so it isn't snd, i'm afraid 01:46:34 mauris: How so? What does & do exactly? 01:46:42 @djinn ((P -> Q), (P -> (Q -> Void))) -> (P -> Void) 01:46:42 Error: Undefined type P 01:46:49 Based on what I read, I've been treating p & q as (p, q) 01:46:51 @djinn ((p -> q), (p -> (q -> Void))) -> (p -> Void) 01:46:51 f (a, b) c = b c (a c) 01:47:04 My god 01:47:06 Is that... 01:47:09 Is that S? 01:47:22 Wait, not quite 01:47:23 that is correct! compare though https://en.wikipedia.org/wiki/Negation_introduction 01:47:36 it's S flipped around a bit! 01:47:56 mauris: Oh! 01:48:00 I see what I did wrong! 01:48:07 (wow look, it's a J fork, or hook, or whatever.) 01:48:08 I treated negation introduction as (P -> Q) & (P -> ~Q) -> ~P 01:48:26 When Wiki says it's (P -> Q) & (P -> ~Q) <-> ~P 01:48:39 Well, that /might/ be what I did wrong 01:49:06 you did (P -> Q) & ~P -> ... 01:49:15 ~P instead of (P -> ~Q) 01:49:59 mauris: Wait, what? 01:50:15 ((P -> Q), (P -> Void)) -> (P -> Void) is negation introduction the CSy way, AFAICT 01:50:21 mauris: Are you correcting me relizing my mistake? 01:50:26 Oh 01:50:30 Oh! 01:50:35 mauris: Right, right 01:51:06 mauris: What does ~P translate to then? I was told it was Void, but I just remembered I was confused because ~Void should be Unit 01:51:10 mauris: Or something 01:51:39 ~P translates to P -> Void 01:51:53 mauris: So... that's what I did 01:51:58 Oh, I see now 01:52:04 Or... yeah 01:52:06 (and Void -> Void is isomorphic to Unit! so it checks out) 01:52:07 Now I get it 01:52:11 -!- ProofTechnique has joined. 01:52:32 mauris: So ((P -> Q), (P -> (Q -> Void)) -> (P -> Void)? 01:52:47 Yep, looks like that's right 01:52:49 yep! and the flippy S combinator is your proof 01:53:11 mauris: Right, right 01:54:51 This One. U. Enchantment. When This One enters the battlefield, put an Aura enchantment with "Enchant This One" named That One onto the battlefield. This One gains "Enchant That One". Attach This One to That One. Attach That One to This One. 01:59:10 mauris: So is it equal to void? 01:59:23 Its output type, that is 01:59:35 <\oren\> oh god the singer is flubbing every line in the US anthem 01:59:39 yeah 01:59:40 That's what fanagling with the function you @djinned does 01:59:49 mauris: Yay! I got something right! 02:00:20 -!- AlexR42 has joined. 02:00:26 so you can never actually call it! or get a result from it. (but you can pretend you can, in weird ways.) 02:00:40 i need sleep, sadly :( 02:01:28 Is there somewhere online I can find what logical propositions are called? 02:01:53 e.g. I figured out using my infinite wisdom that the I combinator has the type p -> p () 02:02:17 And since that obviously corresponds to some proposition, is there somewhere I can find what it's called? 02:02:33 -!- adu has joined. 02:02:43 -!- mauris has quit (Quit: Leaving). 02:03:28 Hadu 02:04:59 -!- adu has quit (Client Quit). 02:06:56 -!- MDream has joined. 02:09:26 -!- MDude has quit (Ping timeout: 240 seconds). 02:09:50 hppavilion[1]: ooh, lemme find something. 02:10:06 hppavilion[1]: https://en.wikipedia.org/wiki/List_of_rules_of_inference 02:11:05 * boily is being seduced by the Sleeping Side of the Night 02:11:09 -!- boily has quit (Quit: CORK CHICKEN). 02:14:09 That doesn't actually mention any rule corresponding to p -> p. 02:14:35 wikipedia calls it "reflexivity of implication" hth 02:15:00 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:15:53 tht 02:18:15 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:32:52 -!- andrew has joined. 02:38:17 -!- J_Arcane_ has joined. 02:38:49 -!- J_Arcane has quit (Read error: Connection reset by peer). 02:38:57 -!- J_Arcane_ has changed nick to J_Arcane. 02:43:44 -!- bb010g has joined. 03:41:53 <\oren\> Condensed C. C, but many common keywords and functions are given two-character or one-character equivalents 03:42:40 -!- MDream has quit (Ping timeout: 260 seconds). 03:52:22 \oren\: You mean like this? http://code.jsoftware.com/wiki/Essays/Incunabulum 03:52:23 :P 03:55:18 Taneb: I just stumbled across ESOSC 03:56:03 nortti: I suppose I should trigger your client too 03:59:17 <\oren\> hmm that's similar 03:59:20 <\oren\> #define fir(n) for(i=0;i stahp 04:06:13 your #defines are going too far 04:07:28 lol 04:09:13 how about prefix C 04:09:22 zgrep: I actually kind of like that. 04:12:43 how about #define print(c) printf(c) 04:13:37 -!- dcentral has joined. 04:13:44 Elronnd: #define print(c) printf("%s",c) 04:13:53 -!- dcentral has quit (Client Quit). 04:16:27 <\oren\> #define pf printf 04:16:37 <\oren\> #define fpf fprintf 04:16:42 <\oren\> #define fr fread 04:17:01 <\oren\> #define sl strlen 04:17:06 #define #define #undef 04:17:30 #define shachaf OH MY GOD WHAT HAVE YOU DONE 04:18:16 shachaf: #define d define #d foo worked for some time 04:19:29 lifthrasiir: What did it /do/!? 04:19:50 hppavilion[1]: #define substituted by #d (well, a newline before #d omitted) 04:19:55 <\oren\> it allowed you to #define things with just #d 04:20:04 Ah 04:20:15 Well why does it not work anymore? 04:20:19 Seems relatively useful 04:20:29 Oooh 04:20:30 Ooh 04:20:31 OOh 04:20:42 Most programming languages have functions, correct? 04:21:01 And they accept a list of arguments. 04:21:06 A list of arguments. 04:21:09 List. 04:21:26 Why not fuck with that? I mean, it's not like it (or anything else) is sacred. 04:22:18 How, I have no idea. 04:23:08 <\oren\> well a lot of languages allow named arguments, maybe make that mandatory? 04:23:11 hppavilion[1]: to avoid dealing with a partial function or whatsoever. it's that simple. 04:23:25 Ah 04:23:33 \oren\: Ocaml allows for named arguments while being functional 04:23:42 lifthrasiir: Whoa. 04:23:48 I may have to check it out again 04:24:08 The fact that you can't fucking add floats with the same operators of ints kind of scared me away 04:24:23 <\oren\> lifthrasiir: I don't mean allowing named arguments, I mean the arguments must all be named in every funtion call 04:24:37 \oren\: Nah, that's just a map. Not eso enough. 04:24:44 \oren\: like ObjC? 04:24:46 <\oren\> f(3) is not valid, only f(x=3) 04:25:00 When I found out you can call functions from dicts in python, my mind was blown 04:25:27 I'm thinking more a labeled graph of arguments, where you can't actually just access each one in particular, you must instead rewrite the graph so that the desired argument is in the "arg" node 04:25:45 For advanced programming, manipulate the graph for reasons other than to get at the argument. 04:26:22 Like, make graph/argument manipulation an integral part of the program structure 04:26:36 <\oren\> or you could make the anmes of the srguments part of the function's conceptual name 04:26:59 <\oren\> f(x=3); and f(y=3); call different functions 04:27:27 \oren\: Ooooh 04:35:12 \oren\: Wait, isn't that multimethods? 04:36:16 hppavilion[1]: in that case f(x) is the *name* of the function. 04:36:27 lifthrasiir: Oh? 04:36:53 multimethod is about types: names may be regarded as a part of types or not. 04:51:37 how do i find the smallest power of 2 that's higher than X ? 04:55:27 i don't know these bit level things 04:55:43 while not done: if (2^p > x) then (done = true) else (i++) 04:55:46 pseudocode 04:55:56 yeah ok <.< 04:56:26 * izabera was hoping for something fancier 04:56:41 Then make that fancy 04:56:59 IMO, that's pretty fancy 05:00:20 -!- Tod-Autojoined has changed nick to TodPunk. 05:05:03 -!- tromp has quit (Remote host closed the connection). 05:34:02 -!- tromp has joined. 05:43:28 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 06:29:54 <\oren\> I need to write a better set of tests of scrip7 06:29:58 <\oren\> ./scrip7 -e 'i=0j>1#a#_p"x"i+1j=ij~10jI"a"' 06:31:29 what is scrip7? 06:31:51 <\oren\> a language I made, then changed, then changed again. 06:32:03 it's based off of 7 strips of leather 06:32:31 <\oren\> the above program (in the '') outputs 10 x's. 06:33:06 <\oren\> of course you can also do _p"xxxxxxxxxx" 06:33:36 <\oren\> http://www.orenwatson.be/scrip77.htm is the interpreter 06:35:54 <\oren\> I'm currently refactoring it 06:38:59 <\oren\> `` scrip7 -e 'i=0j>1#a#_p"x"i+1j=ij~10jI"a"' 06:39:33 No output. 06:39:48 <\oren\> huh 06:40:09 -!- ProofTechnique has quit (Read error: Connection reset by peer). 06:41:05 ooh new xkcd what-if 06:42:16 <\oren\> hmmm. it would be useful to have a scrip7 interpreter in javascript (well, not useful. uh... cool? for me?) 07:02:16 -!- hppavilion[1] has joined. 07:05:24 "There's one thing that might prevent the Earth's total destruction. [...] Everyone on the surface would still be cooked, and much of the atmosphere and surface would be lost, but the bulk of the Earth's mass would probably remain as a charred husk." 07:06:14 good prevention. 07:15:28 zeetha being subtle 08:01:05 Whoo! 08:01:09 I figured out authentication! 08:01:17 I may've done it horribly wrong, but it works! 08:02:17 I just use random.choice() on a 64-character string /n/ times to generate an n-character access token 08:03:03 That token is generated when a client requests to LOGIN using the proper password, and is saved so it can be checked later 08:03:32 The token is saved with a timestamp, and when the list of tokens is requested from the container, it first deletes all access tokens > 24 hours old 08:04:05 The tokens used are 256 characters long. 08:05:05 Of course, this is all for an elaborate prank which is slowly evolving into a botnet 08:05:16 I'm a bad human being. 08:06:00 (If I ever offer you a program, I heartily advise you don't accept) 09:14:17 @ask mroman How would I go about joining this ESOSC? Even if I'm the only person who participates? xD 09:14:17 Consider it noted. 09:14:22 lambdabot: NO 09:14:33 I WILL NOT CONSIDER ANYTHING TO BE IN ANY STATE OF RECORDING 09:41:27 -!- mroman has joined. 09:41:31 fnurd 09:41:36 @messuges-laad 09:41:36 Unknown command, try @list 09:41:39 @messuges-laod 09:41:39 Unknown command, try @list 09:41:43 @messuges-load 09:41:43 hppavilion[1] asked 27m 25s ago: How would I go about joining this ESOSC? Even if I'm the only person who participates? xD 09:42:33 hppavilion[1]: Three existing members must give you a vote 09:42:44 mroman: Yes, I heard. 09:42:47 currently that'd be nortti, Taneb and me 09:42:48 :) 09:42:51 :) 09:42:56 so 09:43:15 I read the 2014-A1 09:43:22 very good :D 09:44:27 "For a non-member to become a member he or she has to pass a vote. To pass the 09:44:27 vote 2/3 of all existing members must vote to accept her or him as a new 09:44:27 member. " 09:44:48 oh 09:44:55 I guess then you only need two votes 09:45:07 xD 09:45:27 mroman: I'm currently composing a Language Spec called GM 09:46:24 At least, for now 09:46:40 It relies heavily on mathematical structures like sets and graphs and matrices 09:48:07 I think the usual flow is probably that the ESOSC will look at specs that are ready to be used, reviews them and then publishes them. 09:48:50 so technically for that to happen you wouldn't even need to be a member. 09:49:15 you can also submit drafts I think 09:49:49 have you seen the repos? 09:50:02 oh it's not linked 09:50:05 :D 09:52:16 Yay! 09:53:21 https://github.com/FMNSSun/ESOSC 09:53:38 wtf is my esolangs org password 09:53:59 mroman: Yes, I found that xD 09:54:04 Not your password, the page 09:54:06 Obviously 09:54:39 mroman: Is PDF (or, if preferred, DVI) an acceptable format for a standard? Or is txt required? 09:55:30 [wiki] [[ESOSC]] https://esolangs.org/w/index.php?diff=46159&oldid=42111 * 160.85.232.167 * (+79) /* More Information */ adding a link to the repository 09:55:36 (Maybe we should offer documents in multiple formats?) 09:56:19 (Wait, I'm talking like I'm a member xD. Whoops.) 09:56:50 do you use latex/tex? 09:57:15 i'm writing something that vaguely looks like a small hand rolled jit and i need some help 09:57:23 I do 09:57:27 then yes, that's ok 09:57:51 mroman: Is there any other way to make a PDF that doesn't corrupt your soul? 09:58:07 markdown? 09:58:20 It's just that PDF only sucks if you want to make edits to it later 09:58:20 how do i call a c function? 09:58:22 like revisions :) 09:58:28 Ah 09:58:46 mroman: Ah, but it doesn't mess up if you use LaTeX of course? 09:58:49 izabera: By following the C calling convention of your platform. 09:59:01 so ideally the source is in markdown, latex, html or plain text 09:59:27 and then we keep the source in the repos, generate a PDF and link to the PDF from the website 10:00:17 hppavilion[1]: You can fork the repository and create a folder ESOSC-2016-D9 10:00:22 and then put your stuff there 10:00:53 OK 10:01:19 (or if it's just a single tex, txt file then you can also just create a file ESOSC-2016-D9.tex, but if you use multiple files please use a directory) 10:06:54 izabera: emit push instructions for the arguments, then followedy by a call? Depends on the calling convention used of course. 10:07:38 and don't forget to clean up the stack if you're using cdecl :) 10:08:20 On x86-64, you don't see that many pushes around, for example. 10:08:41 that's because compilers allocate enough stack space for the arguments as well 10:08:44 and then use mov instructions 10:08:54 No, it's because the calling convention doesn't use the stack for passing arguments. 10:08:59 Until it runs out of registers. 10:09:02 oh, 64bit 10:09:10 That's what the -64 part was for. 10:09:13 :D 10:09:16 I hate x86-64 10:09:21 they should've called it x64 10:09:30 The SysV ABI also gets pretty complicated on the topic of how things go into which registers. 10:10:36 And of course Windows has its own variant, which uses a different set of registers and different logic for putting the parameters in them. 10:19:15 mroman: Just so you know, your domain's mail server didn't like the esolangs.org one when it tried to send you a password recovery email. (The system seems to be missing a FQDN in the hostname it advertises in HELO, which your side didn't appreciate. Will have to fix that.) 10:20:12 -!- oerjan has quit (Quit: Nite). 10:20:31 "550 HELO argument [codu] is malformed. See http://www.linuxmagic.com/best_practices/valid_helo_domain.html for more information. Protection provided by MagicSpam 1.0.8-4 http://www.magicspam.com" 10:21:12 a lot of mail servers require a fqdn 10:21:12 I don't know where it gets that from, /etc/mailname is a FQDN. I only really know Postfix, and this thing is running exim. 10:21:19 and they will check if your domain has an mx record 10:21:49 which must match (obviously) 10:22:37 but I've managed to crack my password 10:22:44 The word "codu" doesn't appear in any file in /etc/exim4/ at all. Hmm. 10:22:58 You probably need to recompile exim :D 10:23:08 exim is that weird program that requires lots of compile time configuration . 10:23:25 for example if you want to change the name of the user it runs under 10:23:25 "hostname -f" does result in codu, so it probably gets it from there. 10:23:36 hm 10:23:50 what's cat /etc/hostname? 10:24:02 That's just codu as well. 10:24:17 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 10:24:42 As does the 127.0.0.1 entry of /etc/hosts. It's all very domainless. 10:26:06 Well, maybe it's closer to okay now. Hopefully I didn't break anything else. 10:28:39 -!- bb010g has quit (Quit: Connection closed for inactivity). 10:43:53 -!- Taneb has quit (Ping timeout: 246 seconds). 10:47:48 -!- Taneb has joined. 10:48:25 -!- J_Arcane_ has joined. 10:49:54 -!- J_Arcane has quit (Ping timeout: 265 seconds). 10:50:04 -!- J_Arcane_ has changed nick to J_Arcane. 11:33:19 maintaing mail servers stopped being fun when ssl was mandatory :D 11:34:13 -!- boily has joined. 11:34:21 also isps hook port 25 11:34:22 so 11:34:30 you can't have anything run on port 25 anymore 11:35:02 switzerland's swisscom intercepts any traffic tcp:25 11:35:46 if somebody connects to mroman:25 they will end up connecting to a swisscom server :) 11:36:32 I don't know. Port blocking seems inherently stupid 11:37:03 like back when everything except outgoing tcp 80, 25 and some other ports were allowed 11:37:14 now production sites even use 8080 and ports like those 11:41:03 Our ISP in Finland used to block incoming :25. 11:41:39 I had my VPS configured to use :2525 instead, because I didn't feel like keeping my emails on the VPS for some reason. 11:41:49 Don't remember why. Nowadays I just keep them there. 11:52:55 -!- J_Arcane__ has joined. 11:55:54 -!- J_Arcane has quit (Ping timeout: 250 seconds). 11:58:32 -!- J_Arcane__ has quit (Ping timeout: 265 seconds). 12:04:25 -!- J_Arcane has joined. 12:16:05 -!- andrew has quit (Remote host closed the connection). 12:17:15 -!- boily has quit (Quit: OPALESCENT CHICKEN). 12:18:37 -!- TieSoul has joined. 12:23:35 i came in here to see if boily was around and didnt notice he was here the whole time. so quiet! 12:24:40 Quiescent chicken. 12:27:18 `? boily 12:27:42 boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. 12:27:50 `? chicken 12:27:53 chicken? ¯\(°​_o)/¯ 12:27:59 `? learn chicken is boily af 12:28:00 learn chicken is boily af? ¯\(°​_o)/¯ 12:28:05 `learn chicken is boily af 12:28:12 Learned 'chicken': chicken is boily af 12:28:16 `? af 12:28:18 af? ¯\(°​_o)/¯ 12:29:55 well fuck it i'll design my own text format 12:31:08 with figures and references and hookers 13:00:26 -!- int-e has left ("REPETETIVE CHICKEN"). 13:00:26 -!- int-e has joined. 13:00:30 -!- int-e has left ("REPETETIVE CHICKEN"). 13:00:32 -!- int-e has joined. 13:01:26 (that's one of my favorite typos) 13:04:15 `? drone sex 13:04:17 Drone sex has never been observed in the wild; in fact it's rare to see drones in their natural habitat because they are extremely shy. Experiments with drones in captivity have only resulted in broken drones, and a rotor stuck in the ceiling. We are still looking for a biological explanation for the ever increasing drone population. 13:04:31 (today's xkcd seems relevant) 13:06:52 `? drone 13:06:53 drones are tools used to perform certain criminal actions that were not possible in ancient times. 13:52:57 -!- copumpkin has joined. 13:54:36 -!- TieSoul has quit (Remote host closed the connection). 13:56:42 -!- TieSoul has joined. 13:57:40 -!- copumpkin has quit (Max SendQ exceeded). 13:58:14 -!- copumpkin has joined. 14:16:53 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 14:25:16 `grep drone 14:25:22 `log drone 14:25:25 hm 14:25:26 ​/hackenv/bin/log: 2: cd: can't cd to /var/irclogs/_esoteric \ grep: ????-??-??.txt: No such file or directory 14:25:40 oh 14:25:41 ok 14:25:44 it's log but broken... 14:25:50 No output. 14:30:39 -!- idris-bot has quit (Quit: Terminated). 14:30:55 -!- idris-bot has joined. 14:33:41 -!- spiette has joined. 14:34:06 `wisdom 14:34:09 diarrhea/Diarrhea is the most sickening accent, although some others are more grave. 14:34:24 `? map 14:34:25 map? ¯\(°​_o)/¯ 14:34:29 `? select 14:34:30 select? ¯\(°​_o)/¯ 14:35:48 -!- J_Arcane has quit (Ping timeout: 256 seconds). 14:41:15 `learn select/select waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, or sets the default output handle. 14:41:16 ​/hackenv/bin/learn: line 3: wisdom/select/select: No such file or directory \ Learned 'select/select': select/select waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional betwee 14:41:22 `le/rn select/select waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, or sets the default output handle. 14:41:25 Learned «select» 14:41:29 `? select 14:41:31 select waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, or sets the default output handle. 14:42:21 -!- Elronnd has quit (Read error: Connection reset by peer). 14:42:40 `learn select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, or sets the default output handle. 14:42:44 Learned 'select': select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, 14:42:47 `? select 14:42:48 select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, or sets the defau 14:42:50 too long 14:42:56 `learn select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and more. 14:42:59 Learned 'select': select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, 14:43:03 `? select 14:43:04 select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and more. 14:45:42 -!- J_Arcane has joined. 14:49:54 -!- Elronnd has joined. 15:16:50 I am in the lovely situation of using an experimental research language whose compiler segfaults on my (valid) program 15:17:32 Actually, that happens with my Haskell sometimes, too 15:17:37 I think I may be cursed 15:18:32 At least this time I'm in the same room as the creator of the language and one of the authors of the compiler 15:20:45 -!- AlexR42 has joined. 15:26:56 nah, it's just buggy 15:27:41 The Authorities seem to think my program is not at fault 15:28:17 Taneb: I mean, the compiler is buggy 15:28:39 Yes 15:28:45 Yes it is 15:28:54 So's the graphical front-end 15:30:04 -!- mroman has quit (Quit: Lost terminal). 15:42:07 -!- atslash has quit (Quit: This computer has gone to sleep). 16:03:59 `? torus 16:04:00 Topologically, a torus is just a torus. Taneb invented it. 16:10:37 -!- Lord_of_Life has quit (Excess Flood). 16:13:06 -!- Lord_of_Life has joined. 16:14:42 -!- J_Arcane has quit (Ping timeout: 265 seconds). 16:25:53 -!- bb010g has joined. 16:40:11 -!- p34k has joined. 17:15:09 [wiki] [[Talk:Lazy evaluation]] https://esolangs.org/w/index.php?diff=46160&oldid=42987 * 50.161.94.113 * (+63) why not 17:15:58 [wiki] [[BitShift]] https://esolangs.org/w/index.php?diff=46161&oldid=45559 * Quintopia * (+128) Categories 17:18:27 [wiki] [[Minebit]] https://esolangs.org/w/index.php?diff=46162&oldid=21369 * 50.161.94.113 * (-26) Turing completeness doesn't require halting..? 17:25:23 -!- Lord_of_Life has quit (Changing host). 17:25:23 -!- Lord_of_Life has joined. 17:25:23 -!- Lord_of_Life has quit (Changing host). 17:25:23 -!- Lord_of_Life has joined. 17:59:28 -!- atslash has joined. 18:18:29 -!- hppavilion[1] has joined. 18:19:39 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 18:19:51 https://www.youtube.com/watch?v=0-UWJqt95gk 73.8% sfw 18:20:14 but very fun :P 18:29:33 -!- atslash has quit (Quit: This computer has gone to sleep). 18:31:16 -!- Phantom_Hoover has joined. 18:38:29 -!- hppavilion[1] has quit (Ping timeout: 245 seconds). 18:44:08 -!- mauris has joined. 18:48:54 -!- hppavilion[1] has joined. 18:53:41 -!- hppavilion[1] has quit (Ping timeout: 255 seconds). 18:56:13 -!- hppavilion[1] has joined. 18:58:39 -!- bb010g has quit (Quit: Connection closed for inactivity). 19:10:45 -!- singingboyo has joined. 19:10:59 -!- singingboyo has quit (Client Quit). 19:11:23 -!- singingboyo has joined. 19:26:00 -!- bb010g has joined. 19:27:33 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 19:29:00 -!- hppavilion[1] has joined. 19:55:49 -!- hppavilion[1] has quit (Read error: Connection reset by peer). 19:56:42 -!- hppavilion[1] has joined. 20:09:57 -!- oren has joined. 20:15:03 -!- atslash has joined. 20:25:16 -!- copumpkin has joined. 20:32:11 -!- zadock has joined. 21:07:07 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 21:13:30 -!- oren has quit (*.net *.split). 21:56:41 -!- TieSoul has quit (Read error: Connection reset by peer). 21:58:39 -!- bb010g has quit (Quit: Connection closed for inactivity). 22:34:26 -!- bb010g has joined. 22:45:52 -!- mauris has quit (Read error: Connection reset by peer). 22:46:19 -!- mauris has joined. 22:56:48 -!- zzo38 has joined. 22:59:59 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 23:02:25 I know that the internet service that I have does not block any incoming or outgoing port numbers; I have successfully accepted incoming connections on port 25, 70, 80, 194, and others. 23:03:15 -!- spiette has quit (Ping timeout: 260 seconds). 23:03:39 zzo38: sneaky question: have you successfully accepted incoming connections on tcp port 0? (port 0 is the one the TCP spec allows, but the unix tcp sockets api makes almost impossible to use) 23:03:54 I have not tried 23:05:18 ?messages-loud 23:05:19 myname said 3d 14h 3m 49s ago: please specify the starting point of memfractal 23:05:28 `wisdom 23:05:31 `wisdom wisdom 23:05:35 `? wisdom 23:05:40 `? lolcat 23:06:03 wisdome/The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight to the death for the freedom of being printed out when you type `wisdom. 23:06:13 the u/The U are a very mad people. 23:06:17 lolcat? ¯\(°​_o)/¯ 23:06:18 wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø? 23:07:11 `wisdom 23:07:13 hyperbolic geometry/Hyperbolic Geometry is geometry that is exaggerated to the point of absurdity. 23:07:15 fungot, are you wise? 23:07:15 b_jonas: too bad i'll probably be working on fnord 23:17:00 -!- zadock has quit (Quit: Leaving). 23:37:46 -!- hppavilion[1] has joined. 23:53:41 fungot: why would you be working on fnord? 23:53:42 olsner: you're working with heaps while in fact my test platform. the gui stuff is done using the native gui without the smalltalk window 23:54:09 fungot: the "smalltalk window", is that where you do IRC? 23:54:09 olsner: thanks alot riastradh, you have 1 message. riastradh says: ...damn question mark key. 23:57:50 -!- oerjan has joined.