00:00:56 -!- atslash has quit (Ping timeout: 246 seconds).
00:01:16 <oerjan> someone should fix canaima.
00:01:32 -!- atslash has joined.
00:01:33 <oerjan> (their channel list, that is)
00:03:57 <boily> I like the random randomperson visiting our channel from time to time :)
00:05:22 -!- hppavilion[1] has joined.
00:07:04 <hppavilion[1]> 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 <hppavilion[1]> - is, likely, relative complement; "x"+"y"+"z" = {"x", "y", "z"}, "x"+"y"+"z"-"y" = {"x", "z"}
00:08:57 <hppavilion[1]> Specifically, talking about the Kleene Algebras that deal with strings of characters from some alphabet
00:10:01 <oerjan> well regular languages are closed under set difference.
00:11:17 <hppavilion[1]> oerjan: So does that mean that I have just invented Regex Hyperoperations? xD
00:12:01 <hppavilion[1]> Oh, but these hyperoperations are indexed by naturals
00:12:35 <oerjan> however, + as set union doesn't have cancellation
00:13:25 <oerjan> because {x} + {x} = {x} + {} but {x} != {}
00:13:53 <shachaf> this channel has been unionized
00:14:01 <hppavilion[1]> I had to look up cancellation because I confused it with something else
00:14:13 <shachaf> but he's still in #haskell and some other places
00:14:30 <oerjan> 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 <boily> I don't want to be part of no union.
00:15:01 <oerjan> boily: i guess you don't believen in the nordic model, then.
00:15:04 <shachaf> oerjan: you're clearly not a chemist hth
00:15:36 <hppavilion[1]> oerjan: So is kleene hyperoperations completely broken?
00:15:55 <shachaf> oerjan: unless pension is a pun i missed somehow
00:15:58 <oerjan> hppavilion[1]: it's rather early to say when you've barely defined the first step, isn't it
00:16:29 <shachaf> oerjan: you can't even not acknowledge a pun
00:16:54 <hppavilion[1]> oerjan: No, it's not too early for it to be completely broken
00:17:05 <hppavilion[1]> It is too early for it to be completely /working/ though
00:18:46 <oerjan> hppavilion[1]: well my hunch is it's meaningless
00:19:22 <hppavilion[1]> More "new and eso, but not particularly interesting"
00:19:25 <oerjan> but only because i see no obvious reason why it should have good properties or an intuitive meaning
00:20:38 <oerjan> hppavilion[1]: well the obvious brokenness is that x + x = x so multiplication defined similarly to hyperoperations is likely trivial
00:21:11 <oerjan> for that reason, and because wtf are you even recursing over when defining it...
00:22:27 <hppavilion[1]> oerjan: So it isn't /quite/ the hyperoperations, but it's close
00:22:35 <oerjan> fine, now define the next step in such a way that it's connection to + and * does not feel completely ad hoc hth
00:23:22 <oerjan> 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 <oerjan> shachaf: oh i didn't notice your "but he's still in #haskell and some other places" line until now.
00:24:36 <oerjan> don't assume i manage to read this channel in order twh hth
00:26:04 <shachaf> "dnhwpbiq hth" dnhwpbiq hth
00:26:06 <hppavilion[1]> oerjan: I don't think there /is/ a way to non-ad hoc it xD
00:26:39 <oerjan> hppavilion[1]: THEN IT'S COMPLETELY BROKEN HTH
00:27:44 <hppavilion[1]> And I can work towards generalizing better now that I have additional operations?
00:28:19 <hppavilion[1]> Perhaps the kleeney hyperoperations are an alternator, then a concatenator, then an alternator, then a concatenator
00:28:31 <hppavilion[1]> Then again, that makes no sense, because the third one is both
00:28:41 <oerjan> shachaf: wd"dnhwpbiq"mtwh
00:29:18 <hppavilion[1]> So the successor of a regex is either that regex OR nothing
00:29:48 <hppavilion[1]> oerjan: I really have no clue what I'm doing, cyt?
00:29:55 <oerjan> additional operators may not help because that also gives more opportunities for rules to be broken
00:30:10 <oerjan> hppavilion[1]: i ... figured.
00:30:23 <HackEgo> 1005) <shachaf> "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 <hppavilion[1]> oerjan: Idea. Instead of one set of hyperoperations, why not two? One spawning from +, the other from *
00:30:49 <hppavilion[1]> oerjan: There's no reason * need be the next after +
00:31:37 <oerjan> 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 <oerjan> and so vaguely stated that i cannot even see how to repair it
00:32:32 <oerjan> so basically, work on getting a bit more rigor into the presentation.
00:33:03 <oerjan> hppavilion[1]: i don't know. i don't expect there to be an operation that naturally follows.
00:33:18 <hppavilion[1]> oerjan: I agree. + and * seem to have no relationship
00:33:21 <oerjan> naturality, yes, that would also be good.
00:33:32 <hppavilion[1]> 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:34:55 <hppavilion[1]> Ah, do you mean naturality would be an alternative to rigor in my presentation?
00:35:16 <oerjan> naturality is an intuitive concept, mostly, here.
00:35:22 <oerjan> and ideally you need both.
00:35:26 * boily mapoles hppavilion[1]!
00:35:35 <boily> no burning people here. think of the noxious fumes.
00:36:24 <hppavilion[1]> oerjan: Oh, naturality as in "it makes sense that this could happen"
00:36:35 <HackEgo> #esoteric is the only channel that exists. monqy is its centroïd.
00:36:57 <oerjan> `learn_append #esoteric It's about 100 m (30 ft) across.
00:37:01 <HackEgo> 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 <oerjan> we established that the other day hth
00:37:54 <zgrep> Or long, if you measured width the other day.
00:38:23 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
00:38:25 <oerjan> `learn_append #esoteric It's about 30 m (100 ft) across.
00:38:28 <HackEgo> 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 <hppavilion[1]> zgrep: It's 257 dimensions, and thus it's two dimensional. No concept of width.
00:38:55 <oerjan> i remember the conversion approximation, but not which is which...
00:39:05 <zgrep> hppavilion[1]: So what's the height, then?
00:39:38 <zgrep> Seems kind-of cramped. How do we all fit?
00:39:48 <oerjan> 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 <boily> although they are part of an extremely confusing system of units, fluid ounces are strangely convenient.
00:42:47 <oerjan> zgrep: 30 m each way gives 900 m^2, about 9-10 m^2 per nick, not that cramped...
00:43:26 <oerjan> i guess that's about 3m x 3m cubicles
00:43:49 <oerjan> zgrep: it's circular. oh hm
00:44:22 <oerjan> > sqrt (pi * 30^2 / 95)
00:44:49 <oerjan> > sqrt (pi * 15^2 / 95)
00:45:07 <zgrep> Hm... I guess we all fit...
00:45:24 <zgrep> ...what's the largest amount of people there have been in this channel...
00:47:12 <oerjan> dunno but it's surely been above 100
00:47:34 <oerjan> hm time to do a bot counting again
00:48:08 <zgrep> oerjan: Bots need their own space too.
00:48:48 <oerjan> fungot glogbot HackEgo clog idris-bot j-bot EgoBot lambdabot zemhill
00:48:49 <fungot> oerjan: mmm... tuna. they've been around for that one
00:49:02 <oerjan> hm just below 10% today
00:49:10 <zgrep> Hm. With 200 people it would still give each person a nice bit of area...
00:49:26 <zgrep> 300 is starting to get cramped...
00:49:52 <zgrep> 600, and we're down to one square meter (approximately)
00:51:21 <zgrep> 2827 people, and everybody has half a meter to themselves.
00:51:32 <zgrep> Well, half a meter by half a meter.
00:53:14 <zgrep> 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 <tswett> Hey everyone, tell me if my templating is off.
00:56:53 <tswett> "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 <oerjan> not timey-wimey enough hth
01:08:20 <shachaf> tswett: I think it would usually be "When", not "Whenever".
01:11:57 <boily> "When the Doctor enters the battlefield, put 13 regeneration counters on it. Regeneration counter: regenerate the Doctor."
01:16:28 <tswett> I chose this ability as a more fun version of an activated regeneration ability.
01:18:11 -!- tjt263 has left ("part").
01:21:01 <tswett> 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 <tswett> "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 <hppavilion[1]> 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 <tswett> hppavilion[1]: well, what's wrong with the Wikipedia article?
01:28:31 <hppavilion[1]> tswett: The idea is this would be a long, long list of CSy things based on FL
01:29:01 <boily> http://www.escapistmagazine.com/articles/view/scienceandtech/14276-Magic-The-Gathering-Cards-Made-by-Artificial-Intelligence ← always droll and entertaining.
01:29:19 <hppavilion[1]> tswett: Regardless as to whether what they correspond to is something well-known in CS
01:31:22 <hppavilion[1]> tswett: Meaning that, for example, you could have a programming language based on De Morgan's Laws when C-H isomorphized
01:35:26 <mauris> 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:36:06 <hppavilion[1]> mauris: Wait, then how can you do Law of Excluded Middle Continuation?
01:36:22 <oerjan> also @djinn doesn't support recursive types.
01:36:43 <Phantom_Hoover> mauris, LEM and double negation elimination are equivalent aren't they...
01:37:04 <oerjan> hppavilion[1]: you have to model continuations somehow, usually with the Cont monad
01:37:40 <oerjan> @djinn ((Either x (x -> Void) -> Void) -> Void
01:37:51 <oerjan> @djinn (Either x (x -> Void) -> Void) -> Void
01:37:51 <lambdabot> f a = void (a (Right (\ b -> a (Left b))))
01:38:43 <oerjan> Phantom_Hoover: see above
01:39:03 <\oren\> in 1/2 an hour the donald trump and co. show is on
01:39:39 <oerjan> putting an intuitionistic proposition inside ( -> Void) -> Void makes it equivalent to the classical one
01:40:17 <mauris> @djinn (((q -> Void) -> Void) -> Void) -> Void
01:40:23 <tswett> @djinn ((x -> Void) -> Void) -> Either x (x -> Void)
01:41:20 <tswett> hppavilion[1]: you're asking what [] corresponds to under the CHI?
01:41:31 <mauris> oh, wait, oops, nevermind me
01:41:53 <tswett> hppavilion[1]: I guess it essentially means "there exist 0 or more proofs that (...)".
01:42:04 <hppavilion[1]> tswett: [a] is syntactic sugar for List a, isn't it?
01:42:13 <tswett> It's syntactic sugar for [] a.
01:42:31 <hppavilion[1]> tswett: Which basically means List a, where List is a functor?
01:42:47 <tswett> Indeed, it means List a, where List is [].
01:43:34 <mauris> well, if a value of type `p` corresponds to a constructive proof of `p`
01:44:09 <mauris> then a `[p]` just contains a bunch of proofs? i suppose
01:45:19 <hppavilion[1]> ((P -> Q), (P -> Void)) -> (P -> Void) is negation introduction the CSy way, AFAICT
01:45:52 <mauris> that should be ((P -> Q), (P -> (Q -> Void)))
01:46:03 <mauris> so it isn't snd, i'm afraid
01:46:42 <mauris> @djinn ((P -> Q), (P -> (Q -> Void))) -> (P -> Void)
01:46:49 <hppavilion[1]> Based on what I read, I've been treating p & q as (p, q)
01:46:51 <mauris> @djinn ((p -> q), (p -> (q -> Void))) -> (p -> Void)
01:47:23 <mauris> that is correct! compare though https://en.wikipedia.org/wiki/Negation_introduction
01:47:36 <mauris> it's S flipped around a bit!
01:48:07 <mauris> (wow look, it's a J fork, or hook, or whatever.)
01:48:08 <hppavilion[1]> I treated negation introduction as (P -> Q) & (P -> ~Q) -> ~P
01:49:06 <mauris> you did (P -> Q) & ~P -> ...
01:49:15 <mauris> ~P instead of (P -> ~Q)
01:50:15 <mauris> <hppavilion[1]> ((P -> Q), (P -> Void)) -> (P -> Void) is negation introduction the CSy way, AFAICT
01:50:21 <hppavilion[1]> mauris: Are you correcting me relizing my mistake?
01:51:06 <hppavilion[1]> 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:39 <mauris> ~P translates to P -> Void
01:52:06 <mauris> (and Void -> Void is isomorphic to Unit! so it checks out)
01:52:11 -!- ProofTechnique has joined.
01:52:32 <hppavilion[1]> mauris: So ((P -> Q), (P -> (Q -> Void)) -> (P -> Void)?
01:52:49 <mauris> yep! and the flippy S combinator is your proof
01:54:51 <tswett> 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:35 <\oren\> oh god the singer is flubbing every line in the US anthem
01:59:40 <hppavilion[1]> That's what fanagling with the function you @djinned does
02:00:20 -!- AlexR42 has joined.
02:00:26 <mauris> 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 <mauris> i need sleep, sadly :(
02:01:28 <hppavilion[1]> Is there somewhere online I can find what logical propositions are called?
02:01:53 <hppavilion[1]> e.g. I figured out using my infinite wisdom that the I combinator has the type p -> p (</sarcasm>)
02:02:17 <hppavilion[1]> 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: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 <tswett> hppavilion[1]: ooh, lemme find something.
02:10:06 <tswett> 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 <tswett> That doesn't actually mention any rule corresponding to p -> p.
02:14:35 <shachaf> wikipedia calls it "reflexivity of implication" hth
02:15:00 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
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 <zgrep> \oren\: You mean like this? http://code.jsoftware.com/wiki/Essays/Incunabulum
03:56:03 <hppavilion[1]> nortti: I suppose I should trigger your client too
03:59:20 <\oren\> #define fir(n) for(i=0;i<n;i++)
04:06:13 <izabera> your #defines are going too far
04:12:43 <Elronnd> how about #define print(c) printf(c)
04:13:37 -!- dcentral has joined.
04:13:53 -!- dcentral has quit (Client Quit).
04:18:16 <lifthrasiir> shachaf: #define d define #d foo worked for some time
04:19:50 <lifthrasiir> 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:42 <hppavilion[1]> Most programming languages have functions, correct?
04:21:26 <hppavilion[1]> Why not fuck with that? I mean, it's not like it (or anything else) is sacred.
04:23:08 <\oren\> well a lot of languages allow named arguments, maybe make that mandatory?
04:23:11 <lifthrasiir> hppavilion[1]: to avoid dealing with a partial function or whatsoever. it's that simple.
04:23:33 <lifthrasiir> \oren\: Ocaml allows for named arguments while being functional
04:24:08 <hppavilion[1]> 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:46 <\oren\> f(3) is not valid, only f(x=3)
04:25:00 <Elronnd> When I found out you can call functions from dicts in python, my mind was blown
04:25:27 <hppavilion[1]> 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 <hppavilion[1]> For advanced programming, manipulate the graph for reasons other than to get at the argument.
04:26:22 <hppavilion[1]> 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:36:16 <lifthrasiir> hppavilion[1]: in that case f(x) is the *name* of the function.
04:36:53 <lifthrasiir> multimethod is about types: names may be regarded as a part of types or not.
04:51:37 <izabera> how do i find the smallest power of 2 that's higher than X ?
04:55:27 <izabera> i don't know these bit level things
04:55:43 <Elronnd> while not done: if (2^p > x) then (done = true) else (i++)
04:56:26 * izabera was hoping for something fancier
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:51 <\oren\> a language I made, then changed, then changed again.
06:32:03 <coppro> 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:40:09 -!- ProofTechnique has quit (Read error: Connection reset by peer).
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 <oerjan> "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."
08:02:17 <hppavilion[1]> I just use random.choice() on a 64-character string /n/ times to generate an n-character access token
08:03:03 <hppavilion[1]> 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 <hppavilion[1]> 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:05:05 <hppavilion[1]> Of course, this is all for an elaborate prank which is slowly evolving into a botnet
08:06:00 <hppavilion[1]> (If I ever offer you a program, I heartily advise you don't accept)
09:14:17 <hppavilion[1]> @ask mroman How would I go about joining this ESOSC? Even if I'm the only person who participates? xD
09:14:33 <hppavilion[1]> I WILL NOT CONSIDER ANYTHING TO BE IN ANY STATE OF RECORDING
09:41:27 -!- mroman has joined.
09:41:43 <lambdabot> 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 <mroman> hppavilion[1]: Three existing members must give you a vote
09:42:47 <mroman> currently that'd be nortti, Taneb and me
09:44:27 <hppavilion[1]> "For a non-member to become a member he or she has to pass a vote. To pass the
09:44:27 <hppavilion[1]> vote 2/3 of all existing members must vote to accept her or him as a new
09:44:55 <mroman> I guess then you only need two votes
09:45:27 <hppavilion[1]> mroman: I'm currently composing a Language Spec called GM
09:46:40 <hppavilion[1]> It relies heavily on mathematical structures like sets and graphs and matrices
09:48:07 <mroman> 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 <mroman> so technically for that to happen you wouldn't even need to be a member.
09:49:15 <mroman> you can also submit drafts I think
09:49:49 <mroman> have you seen the repos?
09:53:21 <mroman> https://github.com/FMNSSun/ESOSC
09:53:38 <mroman> wtf is my esolangs org password
09:54:39 <hppavilion[1]> mroman: Is PDF (or, if preferred, DVI) an acceptable format for a standard? Or is txt required?
09:55:30 <HackEgo> [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 <hppavilion[1]> (Maybe we should offer documents in multiple formats?)
09:57:15 <izabera> i'm writing something that vaguely looks like a small hand rolled jit and i need some help
09:57:51 <hppavilion[1]> mroman: Is there any other way to make a PDF that doesn't corrupt your soul?
09:58:20 <mroman> It's just that PDF only sucks if you want to make edits to it later
09:58:20 <izabera> how do i call a c function?
09:58:46 <hppavilion[1]> mroman: Ah, but it doesn't mess up if you use LaTeX of course?
09:58:49 <fizzie> izabera: By following the C calling convention of your platform.
09:59:01 <mroman> so ideally the source is in markdown, latex, html or plain text
09:59:27 <mroman> and then we keep the source in the repos, generate a PDF and link to the PDF from the website
10:00:17 <mroman> hppavilion[1]: You can fork the repository and create a folder ESOSC-2016-D9
10:00:22 <mroman> and then put your stuff there
10:01:19 <mroman> (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 <mroman> izabera: emit push instructions for the arguments, then followedy by a call? Depends on the calling convention used of course.
10:07:38 <mroman> and don't forget to clean up the stack if you're using cdecl :)
10:08:20 <fizzie> On x86-64, you don't see that many pushes around, for example.
10:08:41 <mroman> that's because compilers allocate enough stack space for the arguments as well
10:08:44 <mroman> and then use mov instructions
10:08:54 <fizzie> No, it's because the calling convention doesn't use the stack for passing arguments.
10:08:59 <fizzie> Until it runs out of registers.
10:09:10 <fizzie> That's what the -64 part was for.
10:09:21 <mroman> they should've called it x64
10:09:30 <fizzie> The SysV ABI also gets pretty complicated on the topic of how things go into which registers.
10:10:36 <fizzie> 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 <fizzie> 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 <fizzie> "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 <mroman> a lot of mail servers require a fqdn
10:21:12 <fizzie> 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 <mroman> and they will check if your domain has an mx record
10:21:49 <mroman> which must match (obviously)
10:22:37 <mroman> but I've managed to crack my password
10:22:44 <fizzie> The word "codu" doesn't appear in any file in /etc/exim4/ at all. Hmm.
10:22:58 <mroman> You probably need to recompile exim :D
10:23:08 <mroman> exim is that weird program that requires lots of compile time configuration .
10:23:25 <mroman> for example if you want to change the name of the user it runs under
10:23:25 <fizzie> "hostname -f" does result in codu, so it probably gets it from there.
10:23:50 <mroman> what's cat /etc/hostname?
10:24:02 <fizzie> That's just codu as well.
10:24:17 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
10:24:42 <fizzie> As does the 127.0.0.1 entry of /etc/hosts. It's all very domainless.
10:26:06 <fizzie> 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 <mroman> maintaing mail servers stopped being fun when ssl was mandatory :D
11:34:13 -!- boily has joined.
11:34:21 <mroman> also isps hook port 25
11:34:30 <mroman> you can't have anything run on port 25 anymore
11:35:02 <mroman> switzerland's swisscom intercepts any traffic tcp:25
11:35:46 <mroman> if somebody connects to mroman:25 they will end up connecting to a swisscom server :)
11:36:32 <mroman> I don't know. Port blocking seems inherently stupid
11:37:03 <mroman> like back when everything except outgoing tcp 80, 25 and some other ports were allowed
11:37:14 <mroman> now production sites even use 8080 and ports like those
11:41:03 <fizzie> Our ISP in Finland used to block incoming :25.
11:41:39 <fizzie> 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 <fizzie> 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 <quintopia> i came in here to see if boily was around and didnt notice he was here the whole time. so quiet!
12:27:42 <HackEgo> 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:59 <mroman> `? learn chicken is boily af
12:28:00 <HackEgo> learn chicken is boily af? ¯\(°_o)/¯
12:28:05 <mroman> `learn chicken is boily af
12:28:12 <HackEgo> Learned 'chicken': chicken is boily af
12:29:55 <mroman> well fuck it i'll design my own text format
12:31:08 <mroman> 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 <int-e> (that's one of my favorite typos)
13:04:17 <HackEgo> 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 <int-e> (today's xkcd seems relevant)
13:06:53 <HackEgo> 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:26 <HackEgo> /hackenv/bin/log: 2: cd: can't cd to /var/irclogs/_esoteric \ grep: ????-??-??.txt: No such file or directory
14:25:44 <mroman> it's log but broken...
14:30:39 -!- idris-bot has quit (Quit: Terminated).
14:30:55 -!- idris-bot has joined.
14:33:41 -!- spiette has joined.
14:34:09 <HackEgo> diarrhea/Diarrhea is the most sickening accent, although some others are more grave.
14:35:48 -!- J_Arcane has quit (Ping timeout: 256 seconds).
14:41:15 <b_jonas> `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 <HackEgo> /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 <b_jonas> `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:31 <HackEgo> 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 <b_jonas> `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 <HackEgo> 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:48 <HackEgo> 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:56 <b_jonas> `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 <HackEgo> 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:04 <HackEgo> 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 <Taneb> I am in the lovely situation of using an experimental research language whose compiler segfaults on my (valid) program
15:17:32 <Taneb> Actually, that happens with my Haskell sometimes, too
15:17:37 <Taneb> I think I may be cursed
15:18:32 <Taneb> 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:27:41 <Taneb> The Authorities seem to think my program is not at fault
15:28:17 <b_jonas> Taneb: I mean, the compiler is buggy
15:28:54 <Taneb> 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:04:00 <HackEgo> 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 <HackEgo> [wiki] [[Talk:Lazy evaluation]] https://esolangs.org/w/index.php?diff=46160&oldid=42987 * 50.161.94.113 * (+63) why not
17:15:58 <HackEgo> [wiki] [[BitShift]] https://esolangs.org/w/index.php?diff=46161&oldid=45559 * Quintopia * (+128) Categories
17:18:27 <HackEgo> [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 <izabera> https://www.youtube.com/watch?v=0-UWJqt95gk 73.8% sfw
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 <zzo38> 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 <b_jonas> 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:05:19 <lambdabot> myname said 3d 14h 3m 49s ago: please specify the starting point of memfractal
23:06:03 <HackEgo> 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 <HackEgo> the u/The U are a very mad people.
23:06:18 <HackEgo> wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø?
23:07:13 <HackEgo> hyperbolic geometry/Hyperbolic Geometry is geometry that is exaggerated to the point of absurdity.
23:07:15 <fungot> 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 <olsner> fungot: why would you be working on fnord?
23:53:42 <fungot> 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 <olsner> fungot: the "smalltalk window", is that where you do IRC?
23:54:09 <fungot> olsner: thanks alot riastradh, you have 1 message. riastradh says: ...damn question mark key.
23:57:50 -!- oerjan has joined.