kspalaiologos: Honestly, I can't find a good use for my "amazing" idea
imode: which is?
kspalaiologos: I'm talking about the idea I presented someone earlier
kspalaiologos: of the substitution based language
imode: interesting, mind recapping.
b_jonas: hello all
b_jonas: `welcome PaniniTheDev
HackEso: PaniniTheDev: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
b_jonas: Yeah, you know that already, you came from the Wiki.
fizzie: shachaf: The spec disallows comments, but the implementation doesn't actually check for comments in code that's not executed, so essentially you just have to brute-force out some string that hashes to "+>[...junk...]<" and use that block to represent a +. Plus a few extra details (like making > into >>, and making sure there are no []s in that junk).
fizzie: "Comments" being any byte that's not +-<>.,[]
b_jonas: kspalaiologos, kmc: IMO creating a few good esolang-related things is a much better way to contribute than creating a hundred worthless pages on the wiki about supposed languages like our village in Norway does
b_jonas: there are probably only two people who have created more than one really interesting esolangs that are different from each other
b_jonas: and unless you can come up with something really revolutionary, creating new esolangs isn't the best thing to do. I value it much higher if you use existing esolangs, or just use non-eso programming languages in interesting ways
b_jonas: as in obfuscated programming
shachaf: fizzie: Oh, that sounds like a bug in the implementation.
shachaf: Which I guess is why you called in a vulnerability.
kmc: i mean, it's fine either way
kmc: I like to hang out here because it's a set of cool people discussing interesting things
kmc: I don't feel a great urge to contribute to the esolangs per se
kmc: I do have a few ideas tho
imode: honestly esolangs to me are just new ideas in programming language theory that haven't been taken to their potential yet.
kmc: some are
b_jonas: kspalaiologos: "slashes (///) without regexps" um, but slashes already doesn't have regexps. it only searches for fixed strings, as in grep -F
kmc: one is a concatencative language for signal processing
kmc: i mean it's probably been done
b_jonas: kmc: the great thing is that esolangs mean different things to different people, which is why there are so many different ones with different interesting properties
b_jonas: kmc: re x86 without using registers => interesting, I don't remember having seen that one. the one with MOV only, and the one with no instructions, those I do remember, as well as tom7's ABC
imode: brachylog is interesting if a little obtuse.
imode: I wonder what the most "minimal" logic language is. prolog is hard to write on a single line and its implementation is complex.
b_jonas: imode: I think for a golf language, it may make sense to have prolog-like backtracking, but not general prolog-like unification. I'm not saying this would be easy to implement, just that it may help golfing.
b_jonas: but as for your specific question, I don't know what counts as enough to qualify something a "logic language"
imode: golfing is an interesting orthogonal goal. my further goal is writing prolog as I write sentences.
imode: "this thing relates to that thing, that thing relates to this other thing, what is this other thing."
b_jonas: kmc: interesting, why did you not make that implement brainfuck with mod 256 wraparound like it's the most common?
b_jonas: hmm, Shakespeare predates Chef?
imode: prolog without variables.. hm.
b_jonas: imode: no no, I imagine it would have mutable variables, and you'd have both non-backtracking and backtracking versions. what I mean is that it wouldn't have the recursive structural unification, nor even just unassigned variables and function arguments that can be either input and output using them and A=B statements that can assign in either direction
imode: didn't tie that statement to your's, was just musing.
kmc: b_jonas: i think that would have been harder?
b_jonas: and I don't think it would be like prolog at all
b_jonas: kmc: it's hard to implement, but a golfing language doesn't have to be easy to implement, it has to give you all the tricky tools instead
imode: I want to be able to pose questions to my machine and have it answer them. I want to be able to describe and query relations between the things I declare.
kmc: b_jonas: I was doing a minimum proof of concept about x86 being turing complete with no registers
imode: sans variables.. which is difficult.
kmc: I don't really care if it's convenient for writing code
b_jonas: kmc: sure, but you apparently have extra code in the implementation so that when a cell becomes decreased to -1 then it changes it to 0, and when it becomes 256 it changes it to 255
imode: https://en.wikipedia.org/wiki/Constraint_Handling_Rules
b_jonas: it seems like you'd just have to change the constants there so it changes -1 to 255 and 256 to 0 insteaed
imode: interesting.
b_jonas: so it'd be like a trivial change, it wouldn't make the implementation any more difficult
kmc: b_jonas: hm i think you're right
kmc: it's been a long time
kmc: so i'm not sure why i did it that way
b_jonas: oh wait
b_jonas: no, you're right
kmc: also I'm not sure how this post got hundreds of comments about curing herpes with herbs
b_jonas: the problem is that at every < and > statement, you have to do a self-modifying code that modifies both the head address in both increase and decrease statement
kmc: b_jonas: oh also i can't have conditionals
b_jonas: if you made it wrap around, you'd need five such modifications instead of three, so it's complicated
kmc: but there's still probably a way
kmc: i could make a subroutine that does it in some bitwise way for example
kmc: but yeha
kmc: I think I just did it this way to be parsimonious
b_jonas: you even say "We could implement the more typical wrap-around behavior with somewhat more code."
shachaf: my friend has been trying to talk me into learning to do fancy gpu programming
b_jonas: sorry, I didn't realize that that's how the head pointer was implemented
kmc: shachaf: it's fun
shachaf: it's a bit like esoteric programming
kmc: massively parallel, quasi-functional
kmc: b_jonas: glad you found it interesting
b_jonas: shachaf: the friend isn't your partner who wants you to earn more money, right?
kmc: a lot of people were amused by my calling brainfuck "pretty familiar as an imperative, structured-control language"
shachaf: ais523: Does Richardson's theorem actually let you produce a specific real expression (like sqrt(sin(5)) or whatever) where it's undecidable whether it's equal to 0?
kmc: and "[not] super weird"
shachaf: ais523: Or is it only a function, like "\x -> sqrt(sin(x))", where it' undecidable whether it's 0 everywhere?
shachaf: kmc: Well, it has a simple text substitution compiler to C.
kmc: b_jonas: i wrote most of the code on a flight from SFO to ICN
kmc: shachaf: yeah
shachaf: The weird part isn't the language primitives but what you have to do get anything done with them.
b_jonas: `perl -eprint sqrt(sin(5)) # of course that doesn't prove anything, because the sin function rounds to floating-point
HackEso: Can't take sqrt of -0.958924 at -e line 1.
shachaf: Oh no.
shachaf: In the other window I wrote sqrt(sin(3)) but I changed it to 5 because it seemed more appealing.
b_jonas: `perl -euse Math::Complex; print sqrt(sin(5))
HackEso: 0.979246789457662i
shachaf: Joke's on me.
b_jonas: shachaf: nah, taking a complex square root is completely fine in this context
kmc: I was pretty pleased to figure out how to do this
b_jonas: it would be worse if you tried to divide by zero, but just taking square root or log of a negative number is ok
shachaf: It's not completely fine for at least the following reason: It makes me say "Oh no."
kmc: "Code that self-modifies by calling read() is clearly the future of computing."
b_jonas: also, I have a question
b_jonas: about self-modifying code
shachaf: higan mchelloface
kmc: b_jonas: if you look at the actual code it has a lot more self modifying code
kmc: to handle ,
kmc: , was a pain
b_jonas: normally on x86 with SMP, if you modify code on one cpu then execute it on another cpu, and want to make sure that the modified code is used, then you have to do a really elaborate synchronization dance to make sure that all the caches are flushed properly
b_jonas: this doesn't happen when modifying code and then executing it on the same cpu because x86 wants to be backwards compatible with 386, which allowed such self-modifying code as long as you just do any jump/branch between them
b_jonas: my question is, if you write ordinary self-modifying code in a linux-x86_64 program, and the kernel just happens to migrate the user-space thread to another cpu between your modifying code and your running it, does the kernel guarantee to do all the required synchronization dance so that your self-modifying code executes correctly?
b_jonas: because if not, then I really don't see how you could ever write self-modifying code on linux-x86_64
b_jonas: fizzie: ^ perhaps you can answer
b_jonas: wait what? is it really undecidable in the computational sense whether a context-free grammar describes the empty language?
b_jonas: no, apparently it isn't
arseniiv: it really depends on how we define minimalistic => agree; I meant from the syntactic side
imode: https://hatebin.com/qsqfryjtfv
imode: someone might have a use for this.
imode: it's a language based on tuple rewriting. here's a demo of a text adventure in it.
b_jonas: wow, are there really only six M:tG cards that represent a leonin skyknight directly? that seems odd
b_jonas: admittedly they do appear in the flavor of some noncreature cards too
b_jonas: Leonin Scimitar is a weapon used by skyhunters
imode: because the tuple store is a multiset, it's possible to construct a counter machine (and I believe it's equivalent to FRACTRAN at that point). there's no other way to build a tape as far as I see, though, because you can't add tuples with generated identifiers.
imode: though it's easy to add the ability to: any variables on the RHS not present on the LHS get bound to a unique identifier.
arseniiv: imode: how does it operate, does it delete matched tuples or leaves them in the store?
arseniiv: I hadn’t read thoroughly
fizzie: b_jonas: I don't have an answer for that. Presumably serious users of self-modifying code must have considered this though.
imode: arseniiv: it deletes them.
b_jonas: fizzie: ... serious users of self-modifying code? those exist?
arseniiv: oh! I came up with a controversial question
b_jonas: do you mean like just-in-time compilers?
b_jonas: oh, I get it
b_jonas: you must meen qemu
b_jonas: qemu's just in time compiler mode
b_jonas: that's what I should look at
arseniiv: if I’m to pick one of Idris or Agda, is there a clear winner or should I abandon the choice instead
b_jonas: hmm wait
b_jonas: does that exist on x86_64 as the host?
b_jonas: `ftoc 375
b_jonas: arseniiv: it's a recipe about baking fish
b_jonas: still hotter than I expect, I don't bake anything over 180 deg C, but not impossibly hot
arseniiv: b_jonas: yum
fizzie: `recipe
HackEso: nto egg salt. \ Add the shapes of flour with the corner and sugar in a large \ pan. Serve with peanut oil and almonds. Pour the cake on a bowl, stirring \ occasionally and remove from heat; cook over moderate heat, stirring constantly, \ until the meat is tender. Add the soup over the fish and \ stirring constantly; simmer together the water and mix well. Stir in the pineapple; \ water until lightly blended over and remove from pan. Add \ strands of
fizzie: fungot: Do you know any recipes? Should we train you with a cookbook?
fungot: fizzie: i think windos api bindings are somewhat rare female esolang programmers?' and someone replied with subject ' my wife woke up...'.
b_jonas: fizzie: the recipes in `recipe are somewhat similar to the sort of text that fungot outputs, in that they don't have any long term memory to ensure that objects created in one part of the recipe are reused in another, even though that is something that it would be easy to teach a computer program to pay attention to
fungot: b_jonas: i suspect firefox and konversation will randomly stop working at some startup, unrelated to research or scheme. common lisp is type ( list-all-packages) *modules* and *features*, something similar?
b_jonas: yes, like that
b_jonas: I'd like to contrast this to Roborosewater, which usually does a good job of keeping the whole card coherent
b_jonas: `? roborosewater
HackEso: RoboRosewater is generating random Magic: the Gathering cards, see https://mobile.twitter.com/roborosewater
ais523: ais523: Does Richardson's theorem actually let you produce a specific real expression (like sqrt(sin(5)) or whatever) where it's undecidable whether it's equal to 0? ← if you could prove the result was undecidably equal to 0, then you could prove the result equalled 0 (if it didn't equal 0 then you'd be able to decide it by comparing to a number in between), which is a contradiction; so there are no computable real equations /known/ to be
ais523: undecidable
ais523: it wouldn't surprise me if the theorem allowed you to compile a particular undecidable problem into an equivalent undecidable computational real, though, but I don't know
shachaf: I thought that was how you were proposing to use the theorem the other day, though I don't remember exactly.
ais523: if I’m to pick one of Idris or Agda, is there a clear winner or should I abandon the choice instead ← Agda is something of an outlier among machine-checkable-proof languages, it's a lot more explicit than the competition; I personally see this as an advantage but this is a matter of taste (and probably means that Agda is the slowest among all commonly used proof languages to write)
ais523: I think Agda might be good for people who like theoretically pure / mathematically interesting languages, whereas Idris is better if you want to build something practically
b_jonas: ais523: hi! see the logs
shachaf: ais523 is already seeing the logs.
b_jonas: he generally does
b_jonas: he's probably seen https://esolangs.org/logs/2019-09-29.html#lk already
b_jonas: this is one of those rare cases where I can answer a technical question on #esoteric
ais523: there are probably only two people who have created more than one really interesting esolangs that are different from each other ← I can think of at least three, probably several more
ais523: b_jonas: I saw that a while ago, just wasn't online to reply
ais523: I'd found a solution to the problem by then anyway (and even posted it in-channel)
b_jonas: ais523: which three? you are one of them, that's easy
ais523: although, how does "no utf8" have the same semantics as BEGIN? :-D
ais523: b_jonas: cpressey, obviously
ais523: the first name that came to mind for the third was Keymaker
ais523: I think oklopol might also have done so
b_jonas: I'll look these up
ais523: also Martin Ender
b_jonas: ais523: it doesn't technically have exactly the same semantics, but the differences don't matter here
b_jonas: it also loads a module that always exists on modern perl in the core and doesn't do much and most of it are actually perl builtins
b_jonas: ones that are loaded when the interpreter is started
ais523: I know what the utf8 "module" does
b_jonas: you could use lots of other modules, especially if you put a do-block in the argument to ignore the result of the $^H thingy
ais523: but I'm confused as to why it makes the assignment to $^H happen at compile time
ais523: the `no` statement, that is
ais523: ooh, I figured it out
ais523: it needs to evaluate the argument to utf8 in order to work out what values to load the module with, that's clever
b_jonas: ais523: the specific module is not relevant, but the use/no statement calls import/unimport at compile time, so it has to evaluate its argument, which is passed to that call, at compile time
b_jonas: oh right, the utf8 module's import has another function that I totally didn't think of
b_jonas: that could be confusing
b_jonas: it's totally obsolete so I forgot about it
b_jonas: I only thought of the public functions in it
ais523: utf8::import doesn't inspect its arguments, does it?
ais523: it doesn't, I just checked its source code
ais523: (it feels a bit wrong to me that you can check the source code of a pragma, you expect those to be hardcoded into the compiler rather than separate files)
shachaf: I wrote a UTF8 decoder but it's pretty naive.
shachaf: I should write a fast one that uses a state machine.
b_jonas: ais523: you can check the source of things that are hardcoded into the compiler too, and for most pragmas, the bulk of the implementation is in there, the pragma only gives an interface to them
b_jonas: (bigint is an example for a pragma that isn't like that)
b_jonas: but perl is ... sort of weird in how a lot of what you expect to be builtin functionality in a sane language is off-loaded to modules
ais523: bigint is written in terms of overload::constant, which seems to do the real magic
b_jonas: ais523: yeah
ais523: it appears to in turn be implemented via assigning to %^H, which has a strong implication of compiler magic
b_jonas: really? that seems unlikely because I think %^H is newer than overload::constant
ais523: the implementation could have been changed to make use of the new feature
b_jonas: could, but that seems unlikely
b_jonas: maybe I just remember incorrectly about $^H
b_jonas: about %^H
b_jonas: %^H is old
b_jonas: I mean
b_jonas: $^H is old, I know that
b_jonas: maybe %^H is old too, I just think it's newer for some reason
b_jonas: let me check
arseniiv: ais523: thanks
arseniiv: bye all, I try to fix my sleepdule
ais523: fwiw, I know Agda much better than Idris (although don't know either particularly well)
b_jonas: ais523: wait, are you sure that %^H is used as the magic interface how overload::constant asks the compiler how to interpret constants? isn't it just used to store some internal data for the pragma?
ais523: so it's changinig both %^H and $^H, with nothing else happening
b_jonas: anyway, I was probably wrong about %^H, it's likely old
b_jonas: it exists in 5.10, but I'm too lazy to check perl 5.6 now
ais523: that "shift, shift" seems really ominous for some reason, but I guess it's just an obfuscated way to return $_[1]
b_jonas: wow, the demon Bozmodiklax returns! I think that's his third appearance in smbc
b_jonas: it's nice when a gag-a-day comic has continuity
b_jonas: well, sort of continuity
b_jonas: he was much more dangerous the last time, wanting to blot out the sun and shroud Earth in a night eternal
imode: move left, cursor at $x? $x previous $y?: cursor at $y. move left, cursor at $x?: $y next $x, cursor at $y. move right, cursor at $x? $x next $y?: cursor at $y. move left, cursor at $x?: $x next $y, cursor at $y.
imode: autogenerating an infinite tape.
imode: the sentential form is a little awkward.
ais523: is that text written in English or an esolang or a literal translation from one to the other?
imode: it's an esolang.
imode: small syntactic variant on a language I posted about earlier, I'll re-post.
imode: https://hatebin.com/qsqfryjtfv
imode: this is a language based around tuple rewriting. the system state is stored as a multiset of tuples. patterns match against collections of tuples.
imode: tuples are just sequences of tokens delimited by spaces.
imode: tuples in a pattern are delimited by ',' or '?'.
imode: if they're delimited by a ',', the constructed tuples are removed from the store. if they're delimited by a '?', they're not.
imode: any variables present on the RHS that aren't on the LHS get bound to an autogenerated ID.
HackEso: 1/2:1007) ... I was thinking maybe octave's fact() function is the factorial. octave:1> fact(20) Richad Stallman's pinky finger is really a USB memory stick. I don't think that's 20!. \ 625) if the halting problem was solved, as a placebo.. would it benefit people? \ 991) in the time it takes light to travel from Hexham to Finland, I can generate almost 20 new topics for #esoteric \ 241) shit would make great currency, because everyone would have it and you could literally be filthy rich \ 501) elliott: ppl should vote clinton because obama is biracial every1 knows that dood, look at him he has been on something lately.
kmc: i've been quoted
int-e: kmc: I hate it when that happens.
kmc: i think most of my quotes here are not too embarrassing
kmc: though i'm sure if you went through the logs you could find loads of embarrassing things i've said
kmc: @nixon
lambdabot: I'm glad I'm not Brezhnev. Being the Russian leader in the Kremlin. You never know if someone's tape recording what you say.
kmc: perfect choice, lambdabot
kmc: i think my #haskell quotes are probably more embarrassing
kmc: @quote kmc
lambdabot: kmc says: φ you lambdabot
kmc: ok that one's pretty good
int-e: @quote int-e
lambdabot: int-e says: C++ does make a reasonably usable high-level assembler
int-e: Oh that... I still agree with.
oerjan: @quote oerjan
lambdabot: oerjan says: hotsmack
oerjan: @quote oerjan
lambdabot: oerjan says: surprisingly, Cale is not a lambdabot command. afaik he may even be human.
oerjan: @quote Cale
lambdabot: Cale says: Basically, we've known how to implement first class functions efficiently for 20 or 30 years now, and we've known about their importance to abstraction in programming since before the
lambdabot: advent of electronic computers. There's no excuse to still be writing new programs in languages without them.
int-e: . o O ( This demonstrates a severe lack of creativity when coming up with excuses. )
int-e: (Sorry, Cale)
int-e: @quote php
lambdabot: dmhouse says: elisp is the PHP of the Lisp world.
oerjan: the strange thing is i can only do that unconsciously
int-e: oerjan: now why does that remind me of Duke Nukem
kmc: @quote kmc
lambdabot: kmc says: "Haskell is great, because Curry-Howard! Proving things in the type system. We can prove that, uh, Ints exist, unless they're ⊥."
kmc: ^ the kind of cringe i was expecting
oerjan: because whenever i try to whistle it consciously, i can only remember the 2nd and 3rd movements
kmc: i'm not wrong though
oerjan: int-e: also i don't know, i've never played duke nukem
oerjan: cringily correct, the best kind of correct
int-e: speaking of cringes... "blockchain is essentially a distributed state machine"
int-e: (from https://heise.de/-4514954 (in german))
oerjan: => universe = quantum blockchain
int-e: at least they come to the conclusion that there aren't any convincing use cases for blockchain technology in the context they're considering (namely, in combination with microservices). (bzzzzzt!)
int-e: oerjan: It's all reversible, right?
int-e: Needless to say I completely disagree with that mental model... a ledger only incidentally keeps track of a current state; its purpose is to be a record of history.
int-e: `? thgir
HackEso: thgir? ¯\(°_o)/¯
int-e: . o O ( `le/rn password//The password of the month is up for grabs. )
int-e: oerjan: .hO
kspalaiologos: I wonder, are there more bots than regular users?
int-e: I don't think so.
int-e: (Assuming the question is about this channel.)
int-e: Or maybe it's not logging the channel but logging other sources on the channel? Who knows.
kmc: we're all bots here
kmc: int-e: I think you can just as easily say that a ledger exists incidentally as a form of distributed consensus about a current state
kmc: but perhaps there is some context to your statement that I am missing
oerjan: kspalaiologos: at one time there were 10% bots, but i think there are fewer now
kmc: 🤖 beep boop 🤖
kmc: @quote robot
lambdabot: byorgey says: now we have the pig operator <^(++)^> as well as the robot monkey operator (:[])
kmc: @quote bot
lambdabot: rwbarton says: also, a generally safe answer to "was there an update to lambdabot recently" is "no"
oerjan: admittedly there are also fewer users overall
int-e: kmc: I want to distinguish a ledger from a mere database
oerjan: ok there are 7 nicks i know are bots, as well as 2 that look suspiciously like bots, so there _may_ be 10%
oerjan: ok gitlogger is a bot, and i'm unsure about diginet
oerjan: anyway...
kspalaiologos: oerjan, it's my bot.
kspalaiologos: I'm making a bot mirroring the IRC logs for a few servers
kspalaiologos: github.com/kspalaiologos/esologs/
cpressey: Good morning and happy October. Say I have a semi-Thue grammar with the following property: for every word w, it is not possible to derive w in zero or more steps starting from w. Can such a grammar be Turing-complete?
cpressey: (This is an attempt to put "Is there a language without NOP and in which it is not possible to build a NOP?" on a more rigorous basis.)
wib_jonas: kspalaiologos: more bots than users => it's hard to tell, we have a lot of irc connections of whom we know nothing
wib_jonas: probably not though, because most of the bots are users
wib_jonas: also, since I keep announcing these, even though there's no formal *list , https://magic.wizards.com/en/articles/archive/news/throne-eldraine-update-bulletin-2019-09-27 Throne of Eldraine Update Bulletin (M:tG)
wib_jonas: `fetch share/mtg/MagicCompRules_20191004.txt https://media.wizards.com/2019/downloads/MagicCompRules%2020191004.txt
HackEso: 2019-10-01 08:29:20 URL:https://media.wizards.com/2019/downloads/MagicCompRules%2020191004.txt [741298/741298] -> "share/mtg/MagicCompRules_20191004.txt" [1]
wib_jonas: `` set -e; cd share/mtg; tr -d \\\\r rules.txt
HackEso: No output.
wib_jonas: `` set -e; cd share/mtg; grep Arbor rules.txt
HackEso: No output.
wib_jonas: `` set -e; cd share/mtg; tr -d \\r rules.txt
HackEso: No output.
wib_jonas: ``` set -e; cd share/mtg; cat rules.txt
HackEso: Magic: The Gathering Comprehensive Rules \ \ These rules are effective as of October 4, 2019. \ \ Introduction \ \ This document is the ultimate authority for Magic: The Gathering® competitive game play. It consists of a series of numbered rules followed by a glossary. Many of the numbered rules are divided into subrules, and each separate rule and subrule of the game has its own number. (Note that subrules skip the letters “l” and “o” du
kspalaiologos: What's this bot
wib_jonas: note: I accidentally stripped "r" and "\\" characters rather than "\r" characters, so the "\r" characters remain, and those make HackEso truncate the output. I wonder if any wisdom has one.
wib_jonas: `? HackEso
HackEso: HackEso is almost but not quite unlike HackEgo.
wib_jonas: `? HackEgo
HackEso: HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in all Mexico!
HackEso: 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/
kspalaiologos: `run cat /etc/passwd
HackEso: cat: /etc/passwd: No such file or directory
kspalaiologos: Where was passwd stored
kspalaiologos: C'mon, too much windows
kspalaiologos: `run hostname
HackEso: (none)
kspalaiologos: `run ls /bin
HackEso: bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ journalctl \ kill \ less \ lessecho \ lessfile \ lesskey \ lesspipe \ ln \ login \ loginctl \ ls \ lsblk \ mkdir \ mknod \ mktemp \ more \ mou
wib_jonas: HackEso has a bunch of commands idiosyncratic to this community, some of them we use a lot
wib_jonas: for example the `` command
wib_jonas: you can find them in /hackenv/bin
kspalaiologos: What's its meaning
kspalaiologos: `ls /hackenv/
HackEso: a.out \ bin \ canary \ emoticons \ esobible \ etc \ evil \ f \ factor \ good \ hw \ ibin \ interps \ izash.c \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ test2 \ testfile \ tmflry \ tmp \ wisdom
wib_jonas: some of them have long descriptions in the wisdom database, which you can access with the ? command , or short descriptions in the whatis database
HackEso: ` is the prefix to greatness.
wib_jonas: `? ```
HackEso: ```? ¯\(°_o)/¯
HackEso: ` is the prefix to greatness.
wib_jonas: hmm, that doesn't quite explain it
kspalaiologos: Is the source code public?
wib_jonas: `? source
HackEso: Sources for HackEgo can be found at https://bitbucket.org/GregorR/hackbot + https://bitbucket.org/GregorR/multibot + https://bitbucket.org/GregorR/umlbox . Sources for HackEso can be found at https://bitbucket.org/fizzie/hackbot + https://bitbucket.org/fizzie/multibot + https://bitbucket.org/fizzie/umlbox .
kspalaiologos: My bot here uses Perl
wib_jonas: but most of the magic is in the commands itself, which you can usually read directly from the commands in bin
wib_jonas: 'bin/``' runs a shell command, so typing '```' invokes that
wib_jonas: ``` echo foo; echo bar
HackEso: foo \ bar
wib_jonas: it's similar to the run builtin
kspalaiologos: I'll take a look on this
kspalaiologos: When I'm home
wib_jonas: `whatis ``
HackEso: ``(1hackeso) - run shell command
wib_jonas: there's also a single-backtick
wib_jonas: `whatis `
HackEso: `(1hackeso) - run shell command using New Zealand locale
kspalaiologos: I don't want anyone bashing me for slacking in work :d
wib_jonas: the New Zealand locale is actually the default for everything, and the double backtick command unsets it
wib_jonas: kspalaiologos: what bot uses perl?
kspalaiologos: gitlogger
kspalaiologos: I use it to mirror chat logs
kspalaiologos: Of various irc channels
wib_jonas: `perl -efor(1..7) print $_**2," " # HackEso has a perl interpreter installed
HackEso: syntax error at -e line 1, near ") print" \ Execution of -e aborted due to compilation errors.
wib_jonas: `perl -efor(1..7) { print $_**2," " }
HackEso: 1 4 9 16 25 36 49
kspalaiologos: Nearly every UNIX-like box has perl installed
wib_jonas: also a python3 interpreter, a ruby interpreter, a javascript node.js interpreter, a prolog interpreter, a C compiler, an sqlite3 interpreter, and more
kspalaiologos: I quite like perl and enjoy it over other scripting languages
wib_jonas: kspalaiologos: yes, that's probably why this has a perl too
kspalaiologos: Why would anyone need node.js cmon
wib_jonas: there's also perlbot, which is a fork of buubot, and can run perl commands
wib_jonas: kspalaiologos: this is #esoteric , we experiment with languages even when they're weird
wib_jonas: not with php though... eww
myname: kspalaiologos: as the evil twin of perl, i have to dislike it
kspalaiologos: Thats actually neat
wib_jonas: what? you're the evil twin of perl?
kspalaiologos: Is perl bot runnint?
kspalaiologos: *running
wib_jonas: I think so, but it's not in this channel. let me test
myname: wib_jonas: i fail to remember how to trigger factoids
kspalaiologos: My crappy irc client won't let me view the list.
wib_jonas: yes, it's running
wib_jonas: try /msg perlbot echo hello, world
kspalaiologos: It's sandboxed obviously?
kspalaiologos: Virtualization?
myname: everytime i think about how perl is as old as me, something makes me dislike it even more
kspalaiologos: Has it got disk quotas/execution quotas and memory quotas?
wib_jonas: myname: I dislike perl, but for different reasons
kspalaiologos: I used to write a C compiler in Perl
kspalaiologos: Yet I slightly dislike Perl for some reasons.
myname: wib_jonas: there are plenty of reasons, but a bunch of those is related to its age
wib_jonas: zzo38: M:tG stuff above, you probably already know
FireFly: `? myname
HackEso: myname is not your name. You don't know what they are doing. Or you are doing. Or am I? He is Perl's evil twin brother.
arseniiv: `? password
HackEso: The password of the month is ninjaed.
arseniiv: oh it’s still not ch…
arseniiv: `learn The password of the month is not what it seems
HackEso: Relearned 'password': The password of the month is not what it seems
int-e: arseniiv: https://esolangs.org/logs/2019-10-01.html#lcb ;-)
wib_jonas: ``` hg cat -r 11684 wisdom/password | perl -e'print substr(,0,34)'
HackEso: The password of the month is "over
wib_jonas: joyed?
arseniiv: int-e: I couldn’t logread, what if oerjan sneaked on me; also my password was in priority as it would someday be discovered anyway, it’s so simple, so I couldn’t not set it today, no way
int-e: arseniiv: You mean this was all premediated? Can't argue with that.
int-e: (Though I do enjoy the illusion of free will.)
arseniiv: was, was, this is in the logs somewhere even
arseniiv: int-e: I’ll search for it
myname: i am tempted to make some kind of website where the password to enter is actually the password of the month as registered in the bot
wib_jonas: arseniiv: yeah, it's tricky because two people may try to set the password at close to the same moment. it may be best to use HackEso's atomic write capability and use a command that updates the password only if the $(hg log -T {rev} -l 1 wisdom/password) is what you expect
arseniiv: int-e: https://esolangs.org/logs/2019-09-01.html#ljd
arseniiv: wib_jonas: I’ll hope we all are too slow for a coincidence to happen for the next 23 passwords at least
int-e: we could make a co-ordinated effort.
arseniiv: hm it occurred to me while I wrote but I hoped still
arseniiv: at least hopefully there will be no ordinated co-efforts, whatever this could be
int-e: arseniiv: is this leading up to a co-worker joke
arseniiv: int-e: hm depends on what it is, I hadn’t heard it
arseniiv: when I eat rice I remember a Bashō haiku https://matsuobashohaiku.home.blog/2019/04/12/gazing-at-morning-glories-eating-breakfast-basho/ though I have yet to do it at dawn, and eating it with butter as I do certainly shouldn’t count
arseniiv: also prior to this, I didn’t know the history behind that one
arseniiv: even the history behind any of them at all
int-e: arseniiv: a worker is somebody who labours diligently and gets things done. a co-worker is ...
int-e: arseniiv: and that connects to "co-efforts" :)
arseniiv: int-e: mhm
kspalaiologos: What is the best way to compress base64 data with repetitive, incrementing characters?
kspalaiologos: e.g. ABCD01234
kspalaiologos: It's not like there will be such patterns all over the file and they might not appear at all
kspalaiologos: But they are quite common as I can tell.
cpressey: kspalaiologos: I don't know about "best" but if there are incrementing sequences, you could replace each character with the difference between it and the previous character, getting long strings of 1's, which should compress well
kspalaiologos: That's a neat idea
kspalaiologos: But I think it can be improved
kspalaiologos: As characters get incremented, in case of ABCD I can compress it to A and ascii(3)
kspalaiologos: Then I could apply burrows-wheeler transform to it and pack it using PPMd
kspalaiologos: I just wonder if there is something smarter
kspalaiologos: In case the compression fails
kspalaiologos: And the downside is, no sequences longer than 32 characters.
wib_jonas: kspalaiologos: turn it to a pixel graphics where you store one character per pixel, in indexed mode, PNG compress it. PNG handles repetitive differences well because one of the approx five pixels automatically does that difference thing, and some png writers can choose the right filter automatically. just be careful, PNG has a tradeoff between
wib_jonas: large file and slow compression versus small file and slower compression
wib_jonas: you can change the compression speed with magic options to the PNG encoder
kspalaiologos: Won't it artifact the file?
kspalaiologos: Just asking out of curiosity
wib_jonas: PNG compression is usually lossless
wib_jonas: also, use grayscale 8-bit rather than indexed
wib_jonas: that said, even any ordinary compressor would work fine on such data
wib_jonas: PNG is probably an overcomplication
wib_jonas: I wonder how you even get increasing sequences in base64 though
myname: that#s a funny idea, though
myname: ugh, switching between keyboard layouts always shows somehow
wib_jonas: does it really_
kspalaiologos: It's just weird esoteric stuff
kspalaiologos: If I wanted simple answer I'd ask elsewhere
kspalaiologos: I managed to compress 50MB of this stuff to 1MB, but I'm still a bit disappointed
kspalaiologos: And the place where I may accept it is around 30KB
myname: a factor of 1000 is quite something to ask for
kspalaiologos: The data is really, really eaisly compressable
kspalaiologos: I can toss you a sample when I'm home, or probably even now
kspalaiologos: github.com/kspalaiologos/codegolf-submissions and find there 7z compressed file
myname: that's a lot of z
kspalaiologos: So yeah
kspalaiologos: As you can see
wib_jonas: kspalaiologos: I seem to remember that SE has increased the limit on the size of post contents, but I can't recall if it's increased it _to_ 30 kilobytes or _from_ 30 kilobytes
kspalaiologos: The upper bound is 65K though
kspalaiologos: wib_jonas, I'm active user and it's 65k now
wib_jonas: I am also an active user, but only reached the limit with my own post once, and know of like a handful of other nodes that are long enough for that
wib_jonas: I think the limit was 32 kilobyte when I posted https://scifi.meta.stackexchange.com/q/10266 , which was in 2016-10
wib_jonas: wait, I had a data.stackexchange.com query for this
wib_jonas: https://data.stackexchange.com/scifi/query/951529/longest-answers
int-e: kspalaiologos: is there any information on what this data *is*?
wib_jonas: yeah, if you know what the data is supposed to be, you might be able to write a better specific compressor
wib_jonas: I am informed that that query is wrong, it looks at the length of the rendered HTML, not of the source code of the post.
kspalaiologos: int-e: it's base-64 encoded sequence of six distinct characters with their ascii value equal to the original value plus their position, so AAAA is actually ABCD (i can't tweak this encoding)
kspalaiologos: Imagine ooooi/**
kspalaiologos: It will get (in theory) encoded to ABCDOZ01
kspalaiologos: The most frequent is encoding of character o, which base equivalent is actually B (for illustrative purposes, I've started with A before, hence the inconsistency)
wib_jonas: kspalaiologos: I don't really understand what you're saying
wib_jonas: is the offset always added to the character? if so, just subtract it, compare it that way, then add it back when you decompress
int-e: also the surface encoding isn't so interesting... does the ooooi/** stuff have any meaning?
wib_jonas: int-e: perhaps they're malbolge instructions
int-e: That makes sense. Is it the Malbolge Malbolge interpreter?
int-e: (Unshackled)
int-e: kspalaiologos: If so, your best bet for compression should be to golf the toolchain that produces the malbolge program.
kspalaiologos: Its ungolfable
kspalaiologos: My toolchain is currently adding only 50% of size
kspalaiologos: Highly optimized and handwritten programs I made are only 66 percent smaller than my toolchain
int-e: I didn't mean to golf the output.
int-e: I meant the toolchain itself.
int-e: (I'm assuming that your intent is to post a program whose output is a malbolge malbolge interpreter, because the latter is just too big.)
kspalaiologos: Why would I Golf my toolchain
kspalaiologos: To make it unmaintainable?
int-e: kspalaiologos: so that you get a small-ish program that generates the huge malbolge program you wanted to compress.
int-e: Note that this is a form of compression, really.
int-e: (well I'm making some assumptions about the complexity of the toolchain)
wib_jonas: or just post the thing on an external site, like github, and link to it
myname: why not both
myname: [file | file <- files, file `matches` "*.?yz"]
myname: because you name your porn like this?
wib_jonas: `python3 -cimport os,re;print(sorted([e.name for e in os.scandir("wisdom") if re.fullmatch(r"c.*io.",e.name)])) # cpressey: does this help?
HackEso: ['cat elimination', 'cat introduction', 'ciol', 'cipation', 'citation', 'civilization', 'communication', 'composition', 'cut elimination']
wib_jonas: or is that not twisted enoguh?
cpressey: It's a bit verbose, but it'll do for now
wib_jonas: cpressey: um, you don't want to do boring *.?yz syntax, but you want something concise?
wib_jonas: try all the tricks that zsh or modern bash offers in writing complicated globs
myname: i prefer haskell list comprehension syntax ofer pythons
wib_jonas: ``` python3 -c$'def n(e):return e.name\ndef c(n):return re.fullmatch(r".*ou?r",n,re.I)\nimport os,re;print(sorted(filter(c,map(n,os.scandir("wisdom")))))'
HackEso: ['applicative functor', 'cocoonspirator', 'codoctor', 'color', 'colour', 'coonspirator', 'coulor', 'endofunctor', 'eor', 'functor', 'gregor', 'ior', 'mirror', 'off by two error', 'or', 'postfridgerator', 'prefrigerator', 'racoonspirator', 'space elevator', 'supermarioperator', 'tarator', 'the most hideous cacophony in g minor', 'word salad detector', 'xor']
wib_jonas: cpressey: ^ how about if you don't use comprehensions at all?
wib_jonas: ``` python3 -c$'import os,re;r=[]\nfor e in os.scandir("wisdom"):\n n=e.name\n if re.fullmatch(r".*ou?r",n,re.I):r.append(n)\nprint(sorted(r))'
HackEso: ['applicative functor', 'cocoonspirator', 'codoctor', 'color', 'colour', 'coonspirator', 'coulor', 'endofunctor', 'eor', 'functor', 'gregor', 'ior', 'mirror', 'off by two error', 'or', 'postfridgerator', 'prefrigerator', 'racoonspirator', 'space elevator', 'supermarioperator', 'tarator', 'the most hideous cacophony in g minor', 'word salad detector', 'xor']
wib_jonas: ^ though it's the easiest if you don't even use those fancy higher order functions that functional programmers like so much
wib_jonas: and just write straightforward loops
cpressey: > let n = 10 in [show a ++ "." ++ show b ++ "." ++ show c ++ ".txt" | a <- [1..n], b <- [1..n], c <- [1..n], a*a+b*b == c*c]
lambdabot: ["3.4.5.txt","4.3.5.txt","6.8.10.txt","8.6.10.txt"]
wib_jonas: cpressey: um, but didn't you mean to grep existing files?
cpressey: Wow wib_jonas, you make it sound like I have an actual problem I need to solve.
wib_jonas: ``` python3 -c$'for x in range(1,6):\n for y in range(1,x):print("%d.%d.%d.txt"%(x**2-y**2,2*x*y,x**2+y**2))'
HackEso: 3.4.5.txt \ 8.6.10.txt \ 5.12.13.txt \ 15.8.17.txt \ 12.16.20.txt \ 7.24.25.txt \ 24.10.26.txt \ 21.20.29.txt \ 16.30.34.txt \ 9.40.41.txt
wib_jonas: [ 3*83
j-bot: wib_jonas: 249
Taneb: For some reason I keep thinking J is postfix
Taneb: Possibly I confuse it with dc
Taneb: `dc 3 83*p
HackEso: dc: Could not open file 3 83*p
Taneb: `dc -e 3 83*p
wib_jonas: [ (*&3) 83
j-bot: wib_jonas: 249
wib_jonas: [ */3 83
j-bot: wib_jonas: 249
kspalaiologos: I've failed terribly
kspalaiologos: trying to outsmart PPMD
kspalaiologos: eh, let's try with burrows wheller transform then
kspalaiologos: http://prntscr.com/pdh1g0
kspalaiologos: PPMd beaten by BWT/BZIP2 hybrid
kspalaiologos: no significant improvement though
rain2: good idea to try burrows wheeler
b_jonas: kspalaiologos: try with a modern compressor like xz or 7z
kspalaiologos: they fact I've got winrar on my PC
kspalaiologos: doesn't mean that I'm using it on daily basis
kspalaiologos: and doesn't mean, I've used it to perform the test
kspalaiologos: WinRAR can't pack 7zip archives, and in the attached screenshot you see clearly, that I'm using 7zip
b_jonas: kspalaiologos: I didn't look at the screenshot. did you try 7zip compression with the -mx=7 setting for slower but better compression?
kspalaiologos: I used highest settings in the GUI
kspalaiologos: how can you tell I'm using ancient compressor without looking at the screenshot?
b_jonas: kspalaiologos: because you said "PPMd beaten by BWT/BZIP2 hybrid" and BZIP2 is the somewhat old compressor
b_jonas: I wouldn't call it ancient, I'm not that young
kspalaiologos: BWT/BZIP2 hybrid is the thing I made
kspalaiologos: BZIP used Burrows Wheeler Transform, therefore I recalled BZIP
kspalaiologos: surprisingly, the BZIP actually works the best
kspalaiologos: I tried with PPMd, tried with LZMA2, but with a tiny bit worse results.
b_jonas: I guess what remains is to compress it in some reasonable way and host it somewhere outside of code golf
b_jonas: though how something such large is a reasonable answer to a code golf problem I don't understand
kspalaiologos: It's the thing I'm doing currently
kspalaiologos: I guess I shouldnt worry that much about my program size
kspalaiologos: because there are more important matters right now
kspalaiologos: like the fact that the program just eats entire memory available to the system
kspalaiologos: (but I'm certain that it has to work, if it had unlimited memory)
kspalaiologos: the conditions on ##c are unlivable
kspalaiologos: a lot of people jump in and jump back
kspalaiologos: so the entire IRC log is spammed like nowhere
b_jonas: you can have your client ignore them
kspalaiologos: well, I don't want to ignore them completely
kspalaiologos: because I want to know certain people that log in/log out
b_jonas: hide them
kspalaiologos: but on the other hand, I don't want to see all that spam lol
b_jonas: hide but have the computer remember it
kspalaiologos: I'm using XCHAT
kspalaiologos: and I don't really want to switch, because I've got a couple of plugins written in Tcl and Perl here
kspalaiologos: and I don't really think my client allows doing so, because I've just checked the settings
b_jonas: can't that show a list of nicks who are joined into the channel in a sidebar?
kspalaiologos: sure, I have it enabled
kspalaiologos: but it's neat to know the certain point they join or leave
b_jonas: or add a transparent irc proxy in between that tracks the users separately if you're feeling more adventurous
kspalaiologos: I like dissipating my time on not-so-practical things
kspalaiologos: but c'mon
kspalaiologos: I've got more interesting not-so-practical things to do xd
kspalaiologos: I'm fighting with shitcode I wrote two years ago
kspalaiologos: and the extent of this word is so unbeliveable
kspalaiologos: I can't really understand 50% of the code
kspalaiologos: I just don't know how it works and I change randomly the magic numbers
kspalaiologos: trying to find any corelation between thenm
kspalaiologos: oh, I've been an idiot
shachaf: `asm lea (%eip), %rdi
HackEso: 0: 67 48 8d 3d 00 00 00 00 lea 0x0(%eip),%rdi # 0x8
shachaf: Will this move the lower 32 bits of rip into rdi?
b_jonas: dunno. TIAS.
b_jonas: I don't understand how that's even a valid encoding
b_jonas: I don't know how those crazy prefixes work
shachaf: `? tias
HackEso: tias? ¯\(°_o)/¯
shachaf: `asm addr32
HackEso: 0: 67 addr32
shachaf: `asm addr32; lea (%rip), %rdi
HackEso: 0: 67 48 8d 3d 00 00 00 00 lea 0x0(%eip),%rdi # 0x8
b_jonas: I have an SQL question.
b_jonas: Let's say I have a schema like CREATE TABLE cat(cid INTEGER PRIMARY KEY, cname); CREATE TABLE human(oid INTEGER PRIMARY KEY, cid, date, type, weight, FOREIGN KEY(cid) REFERENCES cat(cid));
b_jonas: one cat can have more than one owner
b_jonas: I want to group the type 0 owners by cat, something like SELECT h.oid, h.cid FROM human AS h WHERE 0 = h.type GROUP BY h.cid;
b_jonas: and in each group (i.e. for each cat), I want to find the owner with the largest date, and join those owners with the cat
b_jonas: what's the sane way to do that?
b_jonas: I also want to filter the results to those rows where the latest owner has a weight larger than 50
b_jonas: wait wait... so the four main face buttons on both Nintendo controllers and Xbox contrllers are both labelled (A,B,X,Y), but in a different order, where Xbox buttons (A,B,X,Y) correspond to Nintendo buttons (B,A,Y,X)? (And the Nintendo B button corresponds to the Playstation X button, just to make it even crazier.)
b_jonas: how did Xbox end up with a conflicting convention for naming the buttons?
olsner: not sure how "good" it'll run, but something like a nested (SELECT stuff FROM human WHERE h.cid=cat.cid ORDER BY date DESC LIMIT 1) (where cat.cid is selected by the outside query) is at least an easily understandable way to get the last owner per cat
b_jonas: I mean, doesn't the SNES with its four buttons easily predate any microsoft game console?
b_jonas: olsner: oh yeah, I didn't tell the catch
b_jonas: make it work on MS SQL
b_jonas: but even without that, it's a bit tricky with the subquery
b_jonas: you need like doubly nested subqueries or something
b_jonas: hello kspa
olsner: apparently that max-in-group problem is so common it has its own tag on stack overflow https://stackoverflow.com/questions/tagged/greatest-n-per-group
b_jonas: thanks, I'll look at that
b_jonas: let me intersect that with whatever is the tag for MS SQL
b_jonas: https://stackoverflow.com/questions/tagged/sql-server apparently
b_jonas: hmm, apparently all the ways to do it in MS SQL are ugly
b_jonas: good to know
b_jonas: they link me to https://kristiannielsen.livejournal.com/6745.html
b_jonas: note though that some of the solutions there won't work if multiple owners can have the same date. I want to choose just one owner in that case.
b_jonas: olsner: thank you
arseniiv: am I getting it right that Idris has algebraic effects and uses them instead monads, too?
arseniiv: I got to re-reading an article about that and this time it reads clearer
arseniiv: hm it doesn’t seem to have “handlers for normal return”
shachaf: this oolong tea is tea gea
arseniiv: shachaf: it has an interesting taste, yeah
shachaf: I mean, this specific one that I'm drinking.
shachaf: I think it also has some amount of ginseng extract.
shachaf: It modifies my mouth so that other things taste sweeter.
arseniiv: mhm I ate something with that property I think, maybe berries
shachaf: Yes, there are those berries that make sour things taste sweet, but this is quite different.
b_jonas: I like berry tea
imode: https://hatebin.com/dqswcbuhwd work-in-progress expression evaluator.
imode: for those of us who like prefix as opposed to postfix.
b_jonas: `? tea
HackEso: Tea is concentrated fuel made by distilling occult herbs in a silver alambic. Americans attempted to reduce its potency by dumping some in the Ocean.
shachaf: `cwlprits tea
HackEso: oerjän boil̈y
b_jonas: imode: try Integ if you like prefix with lots of extra parenthesis
imode: really this is just to make my life a little easier in terms of evaluating expressions. I'm intending on implementing parameter extraction after that.
imode: so you can write stuff like ? 5 to specify the 5th parameter after the expression.
imode: benefits of having a queue based language.
imode: downsides are that on some malformed expressions, you can infloop.
arseniiv: ah, I remember and see from the article’s conclusion that effects, at the moment article’s written, are an experimental extension
arseniiv: authors note effects can’t cover continuations but I found another article claiming there’s a way, apparently if extending what we define an algebraic effect framework to be, I hadn’t read that one yet
arseniiv: so maybe Idris authors would be able to tinker with their effect module and incorporate continuations? Though anyway I hadn’t used them yet in that explicit sense in any language
arseniiv: re. tea: my dictionary says there’s no “alambic” and I think it should be “alembic”?
imode: https://hatebin.com/qqqkghwhsh the quadratic formula.
arseniiv: BTW couldn’t someone explain call-by-push-value? Those guys use it
arseniiv: imode: wow
arseniiv: like the structure
imode: it's strictly postfix. no parens needed.
arseniiv: oh I should go
imode: err, prefix.
arseniiv: hm would you like to implement infix, with precedences? :D
imode: hah! perhaps. queue elements are either single elements or two elements.
imode: the operators, which are single elements, could be ordered in accordance with precedence. :P
arseniiv: queue elements are either single elements or two elements. => yeah it looks like you could write an interpreter of expressions with arbitrary value constructors, it would just need some abstraction of concrete predicates like `is-multiplication?` and an arity function
arseniiv: maybe you need a macro system?
imode: pretty much where I was headed to, yeah. I plan on allowing the language to edit its own source.
imode: at runtime.
arseniiv: hm I’d not call that a *macro* system :P or I thought about not the source you meant
arseniiv: happy algebraic effects day everyone bye
imode: you as well!
imode: ah crap, when revising more? to not infloop, I forgot to include markers...
imode: a "final result" should look like ( # )
imode: though in the case of misaligned or extra numbers, there should be a scan through the expression to check and see if there's operators present...
imode: a better way to do this would be to check if we've scanned through the expression, done nothing but roll, and then once we reset the cursor, check if we've done any work.
imode: if we haven't, remove the ending markers, strip away the operators and number separators, you're done.
imode: what's interesting is that you can do something like...
imode: ( *' # 2 # 5 ) ( +' # 3 ? 0 ) ! !
imode: which basically evaluates one expression, reserves the result in the queue, and then evaluates the other, but because of the layout of the queue, the latter expression uses the result (via ? 0).
oerjan: note: I accidentally stripped "r" and "\\" characters rather than "\r" characters, so the "\r" characters remain, and those make HackEso truncate the output. I wonder if any wisdom has one. <-- i vaguely think we removed some of those from wisdom at one point
imode: https://hatebin.com/opaqukmqhr added variable fetching.
int-e: oerjan: Oh communication with the Pa'anuri may be just around the corner.
oerjan: one may hope
oerjan: `? tea
HackEso: Tea is concentrated fuel made by distilling occult herbs in a silver alambic. Americans attempted to reduce its potency by dumping some in the Ocean.
oerjan: arseniiv: ah it's the french spelling
shachaf: I am drinking tea.
oerjan: well that's how this started...
oerjan: oo so long ago
shachaf: This is green tea, not oolong.
oerjan: `? oolong
HackEso: oolong? ¯\(°_o)/¯
int-e: object oriented spaghetti code?
kspalaiologos: My IRC client kicked me for some reason, sorry
HackEso: 1/2:free//A free structure is one that has no nontrivial identities, except algebraist phrase that in a much fancier way with morphisms. \ patent//Patent is an adjective which means that something is painfully obvious. Often used to rightfully mock people that do not see it. \ vacuum tube//After the London terrorist attacks of 2005, the Underground was completely evacuated. Without air resistance, the trains would go at blazingly fast speeds between
HackEso: 2/2: the terminals. This is called a vacuum tube. Sadly, current technology doesn't let passengers travel that way. \ misspellings of croissant//misspellings of crosant? ¯\(°_o)/¯ \ gey//I know nothing about Gey, sir.
shachaf: `cwlprits free
HackEso: b_jonäs
shachaf: Golly. I never heard it phrased quite that way before.
shachaf: `cwlprits vacuum tube
HackEso: wob_jonäs
kspalaiologos: @quote shachaf
lambdabot: shachaf says: i they are so love easy threads
shachaf: Does "every vector space is free" just mean "every vector space has no nontrivial identities"?
int-e: hrm, what does that even mean. is this an attempt to say "every vector space has a basis" and sound categorical?
shachaf: Yes, "has a basis" means "is free".
shachaf: Or perhaps the other way around.
shachaf: I think it's a pretty good perspective and not just categorical mumbo jumbo?
shachaf: (Obviously it's also categorical mumbo jumbo.)
int-e: "free" has too many meanings
int-e: So I don't appreciate using it when there's a more precise term.
shachaf: Aren't they all the same meaning?
int-e: s/precise/specific/
shachaf: I think this is one of the few clearly good bits of category things.
int-e: I don't have to think about what the structure we're completing is when you say "vector space basis".
shachaf: I'm not saying not to talk about bases.
int-e: Wheras "free" adds a multitude of degrees of freedom, pun not intended.
shachaf: But I think the main reason that people like vector spaces so much is that they're free.
shachaf: If you found another structure where all the things you care about are free, it could be similarly useful.
shachaf: (You can only express linear maps in terms of matrices and compute with them because vector spaces have bases, of course.)
int-e: shachaf: So what if we have a vector space over GF(2)... then v+v = 0 for all vectors v. How is that "free"?
shachaf: It's free in the category of vector spaces over GF(2), of course.
shachaf: I guess I should say what "free" means.
shachaf: "A vector space V is free over a set X" means that for any vector space U, linear maps : V -> U naturally correspond to functions : X -> U
int-e: So you're free within the confines of a vector space. Yay.
int-e: (for a fixed field)
int-e: *and* you've just defined a basis
shachaf: Yes, "free" means it has a basis.
shachaf: I think it's pretty reasonable for "free" to be defined with respect to linear maps?
shachaf: You can take the same definition for groups and group homomorphisms and it'll give you free groups.
int-e: . o O ( a free abelian group of order 2. )
shachaf: Or say a free monoid [A] over a set A is one where for any monoid M, monoid homomorphisms : [A] -> M correspond to functions : A -> M
shachaf: Which just means it's defined elementwise, of course.
int-e: I guess one source of my dislike is in the statement you started out with
int-e: "every vector space is free" means that freeness doesn't tell us anything about vector spaces at all. so there's no need to talk or think about it.
shachaf: But "every vector space has a basis" means the same thing about having a basis.
shachaf: I'd say that freeness is a property, maybe desirable or maybe not, that you can talk about vector spaces having (as well as many other structures). Then you can prove the theorem that every vector space has this property.
oerjan: `? vector space
HackEso: A vector space is just a module over a field.
shachaf: `? module
HackEso: A module is like a vector space, except with a ring instead of a field.
kritixilithos: in case you haven't heard of it, https://www.rule30prize.org/
myname: those are interesting
myname: i like the third one
myname: how many versions are there
myname: and why doesn't he just extend the first one
cpressey: wiki has 3
cpressey: I only remembered there being 1, but that was a long time ago. I had a dim memory of there being a Python implementation of it, but I don't see any implementations of any of them.
cpressey: 1.0 is by PuzzleHunter84 (in 2009), 2.0 is presumably by PuzzleHunter84 too (also in 2009), 3.0 is presumably by A (in 2018)
cpressey: I think I must've been thinking of a different language
int-e: Oh wow, A is still active...
myname: i am nur surprised
int-e: (I'm still ignoring A related esowiki messages)
myname: good choice
int-e: (It keeps me sane. Well, saner.)
myname: it's a shame, though
myname: somebody with that amount of energy could contribute quite good stuff if he just joined the community
ais523: Good morning and happy October. Say I have a semi-Thue grammar with the following property: for every word w, it is not possible to derive w in zero or more steps starting from w. Can such a grammar be Turing-complete? ← can't you just have every production add a junk element, together with extra productions to swap the junk element to
ais523: the end of the memory space?
ais523: then a perfect loop is always impossible because there's a total ordering on possible memory spaces that you can never move backwards through, and yet the computational class isn't affected at all
int-e: Oh I missed an easy string rewriting question with antique terminology ;)
ais523: semi-Thue grammars are more interesting than straightforward rewriting
cpressey: ais523_: Probably. I later thought of it as being equivalent to a Tag system whose queue never shrinks and always eventually grows. I think it can still be TC because you can map a "nop" in the TM to an infinite number of states of the Tag system.
ais523: they're nondeterministic in the mathematical sense: whenever there are multiple rewrites possible, they always pick the one that makes the program not halt, if possible
ais523: unfortunately, the esolang Thue derived from them missed that notion of "nondeterministic" and it's been a pain to clarify what's meant ever since
int-e: ais523_: string rewriting systems *are* semi-Thue systems.
int-e: With non-determinism and everything.
ais523: int-e: well you can have a string-rewriting system with a deterministic rule for where to replace
ais523: I think that'd fail to meet the definition of a semi-Thue system
int-e: ais523_: Sure, that would be imposing a strategy.
int-e: (a deterministic strategy)
ais523: there are probably rewriting systems that are TC with a left-first imposed strategy but sub-TC when evaluated mathematically-nondeterministically
ais523: (I remember oerjan's proof that Fractran is sub-TC if you evaluate the program in a random order rather than left to right)
cpressey: The lambda calculus *per se* doesn't specify a strategy either. To me, it feels a lot less like a programming language that way, a lot more like a proof system.
ais523: typed lambda calculus is confluent
int-e: ais523_: Well, when I say "rewriting system" there's no strategy by default.
ais523: untyped lambda calculus "feels" confluent to me in some generalized sense, but I'm not sure how to define it
int-e: (I've worked in term rewriting for 8 years. I can't help using the terminology.)
cpressey: Pretty sure untyped \c is confluent too, but I may be misremembering
ais523: fwiw, the details of the evaluation strategy are pretty relevant in some cases; it was one of the more interesting (and arguably solvable) problems to come out of the work into Feather
ais523: the question being, can you write a lambda-calculus-with-continuations-like language which admits a self-interpreter with eigenratio 1 (without cheating)
int-e: ais523_: untyped lambda calculus (with beta reduction and alpha conversion, and possibly eta reduction) is confluent... what's your trouble with defining that?
int-e: ais523_: It gets murky if you don't have explicit alpha conversion... then it becomes confluent modulu alpha conversion.
ais523: the main issue in the naive way of doing it is that you can have terms like (\x.\y.y)((\a.a(a))(\a.a(a)))
int-e: modulo.
ais523: this is not an infinite loop, but it's easy to get stuck in one if your evaluation order is wonky
ais523: (in Unlambda, ``ki```sii``sii: wow, this may be a case where the Unlambda is easier to read than the lambda calculus version…)
int-e: confluence just means that if there are reductions s ->* t and s ->* u from a term s then there are further reductions to a common term v: t ->* v and u ->* v
ais523: actually it's non-obvious to me how you define confluence in a language which has infinite loops
int-e: confluence doesn't rely on normal forms in any form or shape
ais523: this is may-equivalence, right? i.e. if there's at least one reduction from s to t, and at least one from s to u, there's at least one from t to v and at least one from u to v
int-e: sure, reduction is non-deterministic.
ais523: the issue with may-equivalence is that although it's mathematically neat, very few languages work that way in practice (i.e. by effectively iterating through all possible evaluation orders)
cpressey: Well, if their underlying model is confluent, they kind of don't have to...
ais523: int-e: perhaps they're malbolge instructions ← those go backwards in asciibetical order, not forwards, also they're pretty easy to compress by normalizing and then compressing that
int-e: ais523_: You usually don't care about confluence either. You care about related properties like uniqueness of normal forms (a ->* b and a ->* c with b and c in normal form implies b = c (modulo alpha, probably))
ais523: Well, if their underlying model is confluent, they kind of don't have to... ← the whole issue is that the implementations have a tendency to get stuck in a loop that the language semantics can break them out of, but the choices of the interpreter don't let them
ais523: perhaps you could use an entirely random evaluation order to prevent ever getting stuck in a local minimum, but I suspect that would lead to memory leaks and the like that would mean that a self-interpreter would necessarily fail on some programs
int-e: ais523_: it did go backwards, and compression was quite good really... from 30MB to 1MB with xz isn't shabby at all (interestingly preprocessing made no difference at all).
ais523: any compression algo that can work on digraphs will, when applied to Malbolge code, quickly realise that any particular character can only ever be followed by one of eight other characters
ais523: so it'll effectively end up operating on a normalized-ish form anyway
int-e: ais523_: I still expected a larger difference than a couple of hundred bytes (or maybe it was 1k). But I've deleted the file.
Taneb: ...so a Malbolge program of length n has at most 3n + O(1) bits of information?
ais523: assuming you don't exploit the bug in the parser that lets you sneak arbitrary data at the end of the code, yes
ais523: it's actually 3n bits exactly, no O(1) needed
Taneb: Ah, I wasn't sure if you were restricted which character you could start with or not
ais523: (the O(1) shows up in practical compression algorithms because that's how much space they need to figure out/record the rules of Malbolge)
ais523: incidentally, one day I decided to make a Stack Overflow account and answer a couple of Malbolge questions
ais523: there aren't very many, though
int-e: ais523_: Anyway, back to the previous topic, a rewriting concept that connects lambda calculus to implementations is that of a strategy -- which carves out a deterministic relation from the non-deterministic reduction ->. A strategy can be normalizing--meaning that if t has a normal form wrt. ->, then following the strategy will reduce to that normal form as well. There are even concepts like...
int-e: ..."hyper-normalizing" where you can mix the strategy with the free rewriting relation -> and the normal form is guaranteed to be reached as long as you always eventually apply the strategy (as long as you haven't reached a normal form). This justifies compiler optimizations based on partial evaluation, that is, beta-steps on parts of a program.
int-e: leftmost-outermost reduction is normalizing and unless I'm very much mistaken, hyper-normalizing.
ais523: the ideal strategy for me would be normalizing in an even stronger sense: given two equivalent programs, applying the strategy to both would eventually reach the same form for both, and they would not thereafter diverge
ais523: however, I believe that's impossible due to Rice's theorem
ais523: (or more directly the halting problem)
ais523: something less strong than that, which might be achievable: a self-interpreter which, given any program's source code, eventually optimizes/specialises itself into an internal state that could have been reached by running the program directly
int-e: Right, you would be able to decide whether a lambda term reduces to I.
ais523: I think the self-interpreter could maybe be made to work using a "compile then execute" strategy
ais523: you could do it in an Underload-like language which had some reasonable form of input, I think, simply by using * and a and friends to construct a program using composition and quoting, and then finally evaluating the constructed program as the last thing it did
ais523: trying to do it without metacircularity would be much harder, though
cpressey: int-2: When you program in a functional programming language but you treat it like a rewriting language (like what Haskell calls "equational reasoning"), I think that thinking about whether your functions terminate is closely related to thinking about confluence.
cpressey: (That was addressed to int-e, obviously)
int-e: cpressey: not sure I agree
cpressey: Well, perhaps not. I've been meaning to try programming more in languages actually built around rewriting (Pure and Maude particularly) to refine that idea.
int-e: hmm Pure (I've heard of Maude)
cpressey: Which is actually why I was looking up This=That on the esowiki... I thought it was a fairly simple "equational rewriting" language. But, apparently I misremembed.
int-e: the rewriting based formalism I've actually used intensively is the simplifier in Isabelle/HOL.
int-e: (but that's not meant to be a programming language)
int-e: Pure looks cute at a glance, actually.
int-e: (Maude otoh looked intimidating when I tried to figure out what it is and I still don't really know what it is, except something yadda yadda rewriting blah)
int-e: By which I mean to say that I got scared away, but I don't know whether I'm actually justified in being scared.
cpressey: I first saw Maude about a decade ago, was very interested but never actually wrote anything in it, and only recently realized it is the way it is because it comes from a tradition of algebraic semantics, which is rather obscure.
cpressey: Operational semantics, denotational semantics, and axiomatic semantics walk into a bar...
int-e: Is that an actual joke.
cpressey: Not yet it isn't.
cpressey: Maybe someday.
myname: go make it one
myname: are there semantics that deal with endless loops in a meaningful way?
int-e: myname: Pure semantics: use bottoms. For impure languages you can produce a stream of observations.
int-e: (In a way, pure languages are those languages where infinite loops have no meaning.)
int-e: cpressey: oh wow, https://github.com/agraef/pure-lang/wiki/Rewriting#further-information has a whole list of other languages
int-e: (And the two standard textbooks on term rewriting. Yay. I feel right at home.)
cpressey: I've read Baader & Nipkow (a long time ago), not Terese though.
int-e: Terese is more of a handbook than a textbook anyway.
int-e: (So it makes more sense to study a chapter than to study the whole book.)
cpressey: hi kspalaiologos
wib_jonas: one of my wisdoms spawned a discussion about algebra? this is new
HackEso: ? ¯\(°_o)/¯
int-e: `wisdom
HackEso: photograph//A photograph is a device for creating photograms.
wib_jonas: " int-e: well you can have a string-rewriting system with a deterministic rule for where to replace" => such as sed or 1.1
kspalaiologos: I didn't realise extending logical cells for brainfuck had such impact
kspalaiologos: can you recommend me decently fast Brainfuck interpreters that I can incorporate into my project?
kspalaiologos: I'm looking mostly for MIT and Apache2 stuff because GPLv3 virus seems risky, lol
myname: uh, those aren't usually hard to write fast
kspalaiologos: myname, I've made a tool to extend logical cell size for Brainfuck basically
myname: what do you mean by logical cell size
kspalaiologos: so basically
kspalaiologos: two cells are treated logically as one
kspalaiologos: but physically, they are two separate cells
myname: why though
kspalaiologos: to get bigger range on numbers that can be stored
Taneb: So, given a Brainfuck program that requires 16 bit cells, you can transform it to a program which requires 8 bit cells?
wib_jonas: " are there semantics that deal with endless loops in a meaningful way?" => see https://esolangs.org/wiki/(0) , which deals with infinite loops, but not really endless ones (except by making them end)
myname: well, depending on your interpreter, numbers can be arbitrarily big
kspalaiologos: Taneb, yes.
kspalaiologos: myname, it depends on the interpreter, so its not portable
wib_jonas: It can deal with infinite loops of any loop count though
kspalaiologos: if host interpreter uses 16-bit cells you can detect it
kspalaiologos: and pass the correct code
wib_jonas: Of course that makes it not implementable on a computer, but real computers can't even deal with sequential loops of length 2**64 or distributed parallel loops of length 2**256, so that's to be expected
myname: i'd say: just write an interpreter in your favourite language of sufficiently low level
cpressey: kspalaiologos: fwiw, a github search for "fastest brainfuck interpreter" yielded this: https://github.com/barracks510/bfc
cpressey: (Apache-2.0 license)
myname: i guess most performance issues come from the data structure used for the tape
wib_jonas: nah, if it's advertised as "fastest" on the web then it likely isn't
myname: an array is nice if you don't have to grow it too often, a linked list might be slower on shorter programs
kspalaiologos: no just in time compilation -> garbage
kspalaiologos: I've tried Tritium interpreter by rdebath(?)
kspalaiologos: and it just turned out to be slower than mine moderately-optimizing one
myname: just in time compilation for brainfuck? really?
myname: i wouldn't be surprised if nobody ever did that
myname: i mean, we used to write a small interpreter for brainfuck at university and even the stupid solutions did anything i throw on them pretty much instantenious
kspalaiologos: https://github.com/rdebath/Brainfuck/tree/master/tritium
kspalaiologos: just in time compilation
kspalaiologos: DYNASM
kspalaiologos: nasm target
kspalaiologos: gnu lightning, openssl
kspalaiologos: libtcc backend
kspalaiologos: debugging, profiling and tracing
kspalaiologos: I've personally discovered this interpreter when I needed something fast for my C compiler targeting brainfuck
kspalaiologos: but it turned out to be too slow to meet my requirements
kspalaiologos: even myself I've made a Brainfuck just-in-time compiler, it's not that uncommon thing
kspalaiologos: the C output is very high grade in my opinion
zzo38: I have downloaded the most recent Magic: the Gathering rules.
zzo38: (I should perhaps convert all of them to the same canonical ASCII format, so that they can then be compared properly.)
b_jonas: zzo38: I convert them to utf-8.
b_jonas: without carriage returns
b_jonas: `cat share/mtg/rules.txt
HackEso: Magic: The Gathering Comprehensive Rules \ \ These rules are effective as of October 4, 2019. \ \ Introduction \ \ This document is the ultimate authority for Magic: The Gathering® competitive game play. It consists of a series of numbered rules followed by a glossary. Many of the numbered rules are divided into subrules, and each separate rule and subrule of the game has its own number. (Note that subrules skip the letters “l” and “o” du
b_jonas: ``` grep -w Noble share/mtg/rules.txt
HackEso: 205.3m Creatures and tribals share their lists of subtypes; these subtypes are called creature types. The creature types are Advisor, Aetherborn, Ally, Angel, Antelope, Ape, Archer, Archon, Army, Artificer, Assassin, Assembly-Worker, Atog, Aurochs, Avatar, Azra, Badger, Barbarian, Basilisk, Bat, Bear, Beast, Beeble, Berserker, Bird, Blinkmoth, Boar, Bringer, Brushwagg, Camarid, Camel, Caribou, Carrier, Cat, Centaur, Cephalid, Chimera, Citizen, Cleric, Cock
shachaf: `doag share/mtg/rules.txt
HackEso: 11957:2019-10-01 ` set -e; cd share/mtg; tr -d \\\\r rules.txt \ 11956:2019-10-01 ` set -e; cd share/mtg; tr -d \\\\\\\\r rules.txt \ 11833:2019-06-13 `` set -e; cd share/mtg; tr -d \\\\r rules.txt \ 11701:2019-01-26 `` set -e; cd share/mtg; iconv -f cp850 -t utf-8 MagicCompRules_20190125.txt | tr -d \\\\r > rules
shachaf: `doag share/mtg/MagicCompRules_20191004.txt
HackEso: 11955:2019-10-01 fetch share/mtg/MagicCompRules_20191004.txt https://media.wizards.com/2019/downloads/MagicCompRules%2020191004.txt
shachaf: Is there a reason not to do that in the channel?
b_jonas: shachaf: I did that in the channel
b_jonas: as far as I recall
shachaf: Oh, you did.
shachaf: Never mind.
zzo38: I prefer ASCII without carriage returns; it would help when there was one with PC character set once, it will ensure all of the quotation marks match
shachaf: But how will you return the carriage without carriage returns?
arseniiv: manually
zzo38: If send to a printer then the carriage return will be added to return the carriage.
arseniiv: (I’ll show myself out, it’s just the right time)
b_jonas: shachaf: we convert the file before sending it to the printer.
b_jonas: also, we don't print the comp rules. it would be a waste. it changes like five times a year and it's a hundred pages long.
b_jonas: wait wait
zzo38: Print only the pages that are changed.
b_jonas: zzo38: Throne of Eldraine has a sorcery card with rules text including "Then those creatures fight each other." Does that effectively mean that they fight twice, as in the first creature fights the second than the second fights the first, fight being commutative?
zzo38: I think just once.
b_jonas: the wording is odd
zzo38: "701.12a. A spell or ability may instruct a creature to fight another creature or it may instruct two creatures to fight each other. Each of those creatures deals damage equal to its power to the other creature."
zzo38: Yes, I agree the wording is odd, but rule 701.12a seems so say that it is just once even if it says "each other"
b_jonas: ``` grep -Ei "fight each other" share/mtg/rules.txt
HackEso: 701.12a A spell or ability may instruct a creature to fight another creature or it may instruct two creatures to fight each other. Each of those creatures deals damage equal to its power to the other creature.
b_jonas: I wasn't aware of the alternate template
b_jonas: perhaps because it's a red thing
b_jonas: let me do a card search
b_jonas: yeah, looks like a red thing
zzo38: I thought of if I make the new TeXnicard, to make a format for sending changes to the database, with Unusenet, so that you can do collaboration if wanted.
zzo38: (You could just as well transfer the change files by email or on a floppy disk or paste bin, too, if wanted)
oerjan: @tell kspalaiologos https://github.com/rdebath/Brainfuck/tree/master/tritium <-- rdebath is definitely the guy in the community to ask about BF interpreter comparison
lambdabot: Consider it noted.
oerjan: wait, too slow? i'm shocked
int-e: . o O ( "didn't manage to reconstruct original C code from compiled code" )
int-e: morning
oerjan: morning
imode: I wanted a way to speed up my interpreter to avoid making scans everywhere. so, I'm sketching out something that takes two files: the code you want to run, and an optional compiled jump table.
imode: the compiler for this jump table just analyzes the source and keeps track of where matching brackets are for any loops and breaks within those loops.
imode: "if you are at address X, jump to address Y if you are any kind of control flow operation."
imode: this is substituted in for the traditional bracket/scan based approach.
imode: you can also form this kind of jump table on the fly via caching.
imode: what's also nice is that you can essentially define segmented executables with this. if the interpreter tries to run a commented section, for example, you can just say "at this instruction (start of a comment), jump to the end of a comment."
imode: the base command set (which is [,.:;$+-=<~&?01]) can fit inside of a 4-bit value.
imode: which is great. code can remain ultra-compact while remaining fast.
imode: the 'or' operator can be defined as :$&$~$\$$\$:$&$~$&$~$
imode: ,$1,$ :$&$~$ \$$\$ :$&$~$ &$~$ yields "1".
kmc: what lang is this?
imode: my own. named Mode.
int-e: imode. mode. ode. de. e. .
imode: an ode to mode by imode.
int-e: just have to deal with Apple if this ever becomes a success
imode: apple has a language called Mode?
imode: (also here's an interpreter: https://hatebin.com/qolqoghzzf)
int-e: imode: I meant the 'i'.
imode: haaah.
imode: the iMode, an enterprise-scale language. the implementation only runs on an aluminium cube, which is shipped to you in a puzzle case.
imode: here's what hello world looks like: ,$1001000,$1100101\$$\$,$1101100\$$\$,$1101100\$$\$,$1101111\$$\$,$101100\$$\$,$100000\$$\$,$1110111\$$\$,$1101111\$$\$,$1110010\$$\$,$1101100\$$\$,$1100100\$$\$,$100001\$$\$,,:$[':$]..
imode: provided you add ' as an action.
imode: on to bed. cheers.
kspalaiologos: I've been improving the Brainfuck assembly later
kspalaiologos: *earlier
kspalaiologos: Added an arithmetic rotation (left and right)
kspalaiologos: And logicizing values (x>1 x=1, x=0 x=0)
kspalaiologos: Have you got any nice ideas to implement?
kspalaiologos: I'm already working on getting the dynamic registers out of beta
myname: the main idea for brainfuck is to have as few commands as possible
kspalaiologos: I'm talking about my assembly targeting train duck
kspalaiologos: F*ck autocorrect
kspalaiologos: Meant brainfuck
patologios: 1,8javascript
patologios: The best esoteric language
patologios: kspalaiologos hi javascripter
patologios: 1,8JS
patologios: 1,8JS1,8JS1,8JS1,8JS1,8JS1,8JS1,8JS1,8JS1,8JS1,8JS1,8JS1,8JS
patologios: 1,1JS 1,1JS 1,1JS 1,1JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEBAĆ SZEWCZYKS
patologios: JEBAĆ SZEWCZYKA XD
patologios: TYLKO 12REACT.JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEBAĆ SZEWCZYKA JEBAĆ SZEWCZYKA
patologios: JEBAĆ BRAINFUCK
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
int-e: `? fungot
fungot: int-e: it's not quite that either. you can ignore that if you haven't
HackEso: fungot is our beloved channel mascot and voice of reason.
int-e: `thanks fungot
fungot: int-e: it's only hard because there are just different syntax from what i understand
HackEso: Thanks, fungot. Thungot.
kspalaiologos: What in the name of god
kspalaiologos: How did this abomination join irc
kspalaiologos: There are so many haters stalking me
int-e: kspalaiologos: Hmm, have you spoken out against ECMAScript in the past?
kspalaiologos: I'm a very controversive person
kspalaiologos: I have pooped on ECMAScript in every possible way by now.
patologios: Patologios!
patologios: kspalaiologos: geju
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: kspalaiologos: we all know you are a skid
patologios: ur editor is a copy paste
lf94: patologios: what editor?
patologios: kspalaiologos: javascripter
lf94: patologios: also your spam affects more than him :)
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
int-e: lf94: even those who ignore patologios, apparently :-(
lf94: are they a bot or?...
patologios: use more
patologios: use node.js lol
patologios: brainfuck sucks
patologios: and Szewczyk has big gay
lf94: it isn't great, yeah.
int-e: who knows or cares... at least until one of our ops intervenes.
lf94: /ignored I guess :p
patologios: How do I use IRC
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
lf94: Wow, weechat ignore system is pretty good
patologios: Szewczyk się gejuje z Orłowem
patologios: @everyone
lambdabot: Unknown command, try @list
lambdabot: What module? Try @listmodules for some ideas.
patologios: @listmodules
lambdabot: activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search
lambdabot: slap source spell system tell ticker todo topic type undo unlambda unmtl version where
patologios: @elite
lambdabot: Say again?
lf94: n> hello
patologios: @poll gay gay gay
lambdabot: Maybe you meant: poll-add poll-close poll-list poll-remove poll-result poll-show roll
patologios: @karma
lambdabot: You have a karma of 0
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: PEDZIOLOGIOS BRAINFUCK DEVELOPMENT
patologios: WIDZICIE TO KURWA? XD
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: KRZYSZTOF PATOLOGIOS SZEWCZYK CHUUUUUUUUUUUUJUUUUUUUUUUUUU
patologios: NPM INSTALL IS-ODD
patologios: NPM INSTALL IS-ODD
patologios: NPM INSTALL IS-ODD
patologios: NPM INSTALL IS-ODD
patologios: NPM INSTALL IS-ODD
patologios: NPM INSTALL IS-ODD
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: I WILL HACK YOU
patologios: HACKING IN PROGRESS
patologios: HE HAVE NO BRAIN
patologios: HE HAVE BRAINLET
patologios: XDDDDDDDDD
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: PESTYCYDY
patologios: PESTYCYDY
patologios: AUUUUUUUUUUU
patologios: AUUUU AUUUU
patologios: kspalaiologos: kochanie odezwij się
patologios: misiaczku
patologios: KURWO I SZMATO XD
patologios: JOT ES JOT ES
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: AUUUUUUUUUUU
patologios: AUUUU AUUUU
patologios: nigger
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: XDDDDD
kspalaiologos: My editor is an improved version of kilo
patologios: O CZEŚĆ SZEWCZYK
patologios: TĘSKNIŁEM ZA TOBĄ
kspalaiologos: I have stated it even in the readme
patologios: KIEDY ZACZNIESZ PISAC W JS
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: PIERDOL BRAINFUCKA
patologios: BIERZ VUE
patologios: NPM INSTALL IS-ODD
patologios: NPM INSTALL IS-ODD
patologios: NPM INSTALL IS-ODD
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: Ops please do something
patologios: CO TY MI SIĘ TAK TU SPINASZ KOCHANIE
patologios: SZEWCZYK CHUUUUUUUUUUUUJUUUUUUUUUUUUU
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
int-e: ... children these days
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: My crappy irc client is unable to ignore someone ehhhh
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
int-e: Time to get a better IRC client then. :)
kspalaiologos: Oh cmon my logs repo is going to fill with that shit
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
kspalaiologos: int-e, i'm on mobile rn
patologios: NOSZ KURWA
patologios: KRZYSIU
kspalaiologos: I'm using xchat on main PC
patologios: DLACZEGO JESZCZE NIE PISZESZ W JS KURWA
patologios: JEBAĆ ZBA
patologios: JEBAĆ ZBA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JAVASCRIPT
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JAVASCRIPT
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: Irc was meant to be a chat for intellectuals
patologios: POZDRAWIAJĄ NASTOLETNI.PL
patologios: JAVASCRIPT TO JĘZYK DLA INTELEKTUALISTÓW
patologios: BRAINFUCK JEST DLA DEBILI XD
patologios: PO CHUJ JA TU SIEDZĘ?
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: C TO CZYSTY HOMOSEKSUALIZM
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: BRAINFUCK TO CIOTA I CHUUUJ
patologios: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
patologios: kspalaiologos: kotku
patologios: Odezwij się
patologios: zasmuciłes mnie
patologios: a chciałem iść z tobą do łóżka
ais523: patologios: please don't spam the channel
patologios: I don't spam anything lol
ais523: yes you do
patologios: what is spam
kspalaiologos: Go spam ##C or #programming instead
patologios: but kspalaiologos: is gay
kspalaiologos: These welcome guys will teach you
kspalaiologos: Anonimity of irc is a bless and a plague
kspalaiologos: In the same time, of course
int-e: "mixed blessing" is the term
patologios: kspalaiologos: dodaj mnie na ZBA chuju
patologios: czemu mnie wyjebales
ais523: patologios: this channel's meant to be for discussion of esolangs, especially group discussion; that means that it's best for conversations to be a) ontopic and b) in a language that most of the channel will be able to understand
ais523: we're often tolerant of deviations from this for people who have made a lot of positive contributions, but as far as I can tell you haven't made any
patologios: ¯\_(ツ)_/¯
imode: ban him already.
imode: why tolerate obvious spam.
int-e: imode: If it works then this can avoid an endless struggle of banning and ban evasion.
imode: been thinking of a macro syntax to add as an interpreter extension. you could write {:} to store a segment of code you want to attach to an alias, and () to unpack that segment of code in-place.
imode: multiple patterns can be chained together as spaces.
imode: so (foo bar baz) performs multiple insertions.
imode: (foo)(bar)(baz) is also an option. more typing though.
arseniiv: @ask imode when you defined graph rewriting rules, did you meant we could glue vertices together (which could be written as V1 = V2 in LHS for V1, V2 occurring in LHS)?
lambdabot: Consider it noted.
b_jonas: `echo o1lQfIMraSsc
HackEso: o1lQfIMraSsc
kspalaiologos: I've added arithmetic shifts to my brainfuck assembly
kspalaiologos: reversal of two top elements from the stack
kspalaiologos: to logic value conversion
kspalaiologos: pretty useful stuff imo
b_jonas: imode: just preprocess your source with https://esolangs.org/wiki/SIMPLE_(preprocessor) . You can change the special characters that it uses if you prefer curly braces to mark a macro call.
kspalaiologos: link cut itself
imode: well, the macro system works.
imode: https://hatebin.com/lkszlrodkq
imode: arseniiv: w.r.t graph rewriting you asked about earlier, it was more based around edge rewriting rather than vertex gluing.
arseniiv: imode: I just thought vertex gluing is a natural addition to that
arseniiv: more natural than vertex splitting (I don’t thing there could be the only one natural way to do so)
imode: I should fix the macro system to handle nested macro defs.
arseniiv: oh you can have a macro definition in another definition’s body?
imode: that was the intention, yeah.
arseniiv: hm macro switches..?
arseniiv: ah never mind I wanted to say “conditional macros”
imode: yeah you can define macros and apply them at runtime. there is an initial pass, though.
imode: mainly so you can write things like (begin) ... (while) ... (repeat) without going into an infinite loop.
imode: because (while) will resolve to a conditional check.
imode: and will roll until it hits a ']'.
imode: but since it doesn't encounter one.. it'll continue on forever.
imode: the macro expander supports recusive macro expansion pretty easily. all it does is check for macro expansions (anything between '(' and ')'), and if it encounters a macro definition, it just jumps to the matching ')', saving all chars in between.
imode: if it doesn't encounter a macro definition, it expands in-place and seeks to the beginning of the expanded macro.
imode: it's why (0:,$)(1:,$1)(begin:(1)[)(while:?)(repeat:(1)])(begin)(0)(while)(1)(repeat) works.
imode: and reduces to ,$1[,$?,$1,$1]
imode: another method (which may seem a little better) is to split the whole source into tokens, and inspect each token to see if it's the start of a definition, an existing definition, or a chunk of code.
imode: but eh.
imode: this thing is already 243 lines.
imode: now to figure out how to do if/else chains...
b_jonas: imode: just use an existing preprocessor that is already known to be able to do any computation and is hard to use in an esoteric way, like SIMPLE
b_jonas: don't reinvent the wheel
imode: how about no.
imode: mine works fine.
imode: https://hastebin.com/oruziketal.txt
imode: primitives work.
imode: honestly I'm about ready to go to a token-based preprocessor.
imode: it requires a little more work. but it might be better...?
oerjan: kevyn's learning fast
oerjan: looking at the logs, i sense an int-e shaped gap in our op timezone coverage.
oerjan: hm all freenode staff are also minor ops here
nodejsfan: Hi, my name is Kamila Szewczyk and I'm a node.js programmer new into esoteric language programming
nodejsfan: where do I start?
Hooloovo0: that's a good question
nodejsfan: 0,4npm install is-odd
nodejsfan: most esoteric thing
Hooloovo0: the first I heard about esolangs was via the ioccc
nodejsfan: lemme Google
Hooloovo0: international obfuscated c code competition or something like that
Hooloovo0: shortly after that, there were a couple people who were competitive in code golf, so I learned about a couple of those languages, and started browsing the wiki
int-e: nodejsfan: welcome back, but you're still off topic.
Hooloovo0: my favorite language specification is INTERCAL's
int-e: `relcome nodejsfan
HackEso: 02nodejsfan: 06Welcome 13to 04the 07international 08hub 09for 02esoteric 06programming 13language 04design 07and 08deployment! 09For 02more 06information, 13check 04out 07our 08wiki: 09. 02(For 06the 13other 04kind 07of 08esoterica, 09try 02#esoteric 06on 13EFnet 04or 07DALnet.)
Hooloovo0: if you understand INTERCAL's specs, you will go far
nodejsfan: oj god
Hooloovo0: I mean, the reasoning behind the specs
int-e: for a non-standard value of "reason"
int-e: "let's make this weird"
Hooloovo0: this is the right verson of the manual: https://www.cs.virginia.edu/~asb/teaching/cs415-fall05/docs/intercal.pdf
Hooloovo0: it was hard for me to find it... it is a legendary document which should be on the wiki
Hooloovo0: hmm, not sure I have an account
int-e: Hooloovo0: we can't put that on the wiki
Hooloovo0: why not?
int-e: Because for the wiki, "Content is available under CC0 public domain dedication."
Hooloovo0: there should at least be a link to it
int-e: A link is fine of course.
int-e: Sorry if that's what you meant.
Hooloovo0: to me, that's the most iconic document describing what intercal means
Hooloovo0: like, you can give a technical language description, but esr's doesn't have the circuitous diagram
Hooloovo0: huh, apparently I already have an account under Hooloovoo :/ not sure if I made any edits with it
Hooloovo0: I mean, I think it was me who was hanging around the IRC channel for way too long before making an accoung
Hooloovo0: account even
oerjan: no edits other than the introduction
Hooloovo0: yeah, not sure what happened
kspalaiologos: I'm thinking about floating point Brainfuck emulation
kspalaiologos: Do you have any simple to implement ideas?
kspalaiologos: IEEE will take up a lot of space
kspalaiologos: So I need something simple, but full featured
kspalaiologos: Addition and subtraction that is
kspalaiologos: I'd like to store it in possibly two digit format
kspalaiologos: (cells)
kspalaiologos: Where first cell represents data after the point, and the second represents data before the point
kspalaiologos: Yet, won't the operations take insane amount of time?
rain2: you could do 3 bit floats
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
myname: js ist nicht so geil
Taneb: kspalaiologos: you forgot to switch account before spamming
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: exposed
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
myname: i don't get spammers
myname: but i sure as hell love my anti spam script
kspalaiologos: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
kspalaiologos: It's awesome
kspalaiologos: 0,12TS > 1,8JS
kspalaiologos: 0,12TS > 1,8JS
kspalaiologos: FLASH UBER ALLES
kspalaiologos: EVERYTHING SHOULD BE WRITTEN USING C
kspalaiologos: FUCK JAVASCRIPT
kspalaiologos: I LIED
kspalaiologos: DELETE JAVASCRIPT
kspalaiologos: FUCK BRENDAN EICH
kspalaiologos: HE'S SUCH A NIG GER
kspalaiologos: AND FACIST
kspalaiologos: AND NAZI
kspalaiologos: EVERY SITE SHOULD BE CREATED USING ADOBE FLASH
kspalaiologos: AND BE COMPATIBLE WITH INTERNET EXPLORER
kspalaiologos: 0,5fffffffffffffffffffffffffffffffffff
kspalaiologos: 0,5HEIL ADOBE FLASH
kspalaiologos: 0,5HEIL ADOBE FLASH
kspalaiologos: 0,5HEIL ADOBE FLASH
kspalaiologos: 0,5HEIL ADOBE FLASH
kspalaiologos: 0,5HEIL ADOBE FLASH
kspalaiologos: 0,5HEIL ADOBE FLASH
kspalaiologos: 0,2HEIL C, C++ SUCKS
kspalaiologos: 0,2HEIL C, C++ SUCKS
kspalaiologos: 0,2HEIL C, C++ SUCKS
kspalaiologos: 0,2HEIL C, C++ SUCKS
kspalaiologos: 0,2HEIL C, C++ SUCKS
kspalaiologos: 0,2HEIL C, C++ SUCKS
kspalaiologos: 0,2HEIL C, C++ SUCKS
kspalaiologos: SCRIPT
kspalaiologos: FAGGOTS!
kspalaiologos: FUUUUUUUUUCK JS
myname: as is brainfuck
kspalaiologos: BRIANFUCK IS THE ONLY GOOD TECHNOLOGY FOR WEB APPS
kspalaiologos: My brainfuck compiler emits 30x faster code than V8
fizzie: I know it might just lead to ban evasion, but I guess we might just need to do it. Even if the content is kind of just on the borderline of being relevant, the presentation is just too spammy.
kspalaiologos: JavaScript engines are god damn slow
int-e: fwiw I think what's happening here right now is a case of impersonation.
kspalaiologos: Someone hacked my account
fizzie: A nickname isn't really an "account".
myname: int-e: why do you think so?
int-e: we might consider +R, but meh
fizzie: myname: Probably because this new "kspalaiologos" has a different user@host mask, and hasn't registered to services, unlike the previous one.
myname: ah, i missed a part then
fizzie: int-e: Yeah, maybe they'll just get bored? I'd really rather not play this game.
rain2: kspalaiologos: not spam pls
kspalaiologos: I forgot my password
myname: you forgot how to not be an idiot
kspalaiologos: https://github.com/kspalaiologos/asmbf
kspalaiologos: god this thing is so awesome
kspalaiologos: For most of you it will take years to write something like that lol
kspalaiologos: I'm the best programmer in this world haha
kspalaiologos: what y'all doing
rain2: learning galois theory
wib_jonas: fizzie: and uses "~androidirc" as the user part of their hostmask just like the previous spammer. they forgot to change it to "kspalaiol". not that it would change much.
arseniiv: shame the real one’s stalked by such an obstinate person
wib_jonas: arseniiv: look at it from the other way. this channel rarely has moderation problems other than me.
arseniiv: no one deserves such treatment, I think even if they killed many people
arseniiv: wib_jonas: do you think to have moderation problems is fun? :) eh. Maaaayyybe. In a low dosage, not that much, it just gets annoying instead and stays here due to hysteric^W hysteresis
wib_jonas: no, I'm not saying that it's fun
wib_jonas: I'm saying that, in general, it's good to participate in a channel that has a nice community and not much mod'ion problems, this is just a rare exception
arseniiv: hysteresis is a neat word and it’s connected with a beautiful picture of that fat S-like region
arseniiv: wib_jonas: ah, yes, I agree
wib_jonas: not for me. I connect it with digital histeresis, with an analog input, binary output, and two thresholds for switching the output on and off. no S-like curve
arseniiv: (↑↑ and before this moment, I didn’t really think hysteria could have something in common with hysteresis)
wib_jonas: I found out that in firefox and in windows file explorer, with the english localization, both control-L and alt-d focuses the address bar. (Previously I only knew about control-L, as well as the usual windows thing of cycling among focusable regions with F6.) This must be another of the fallouts of browsers imitating both MSIE and Netscape, like F5
wib_jonas: versus control-R.
int-e: Do black holes suffer from mass hysteria?
arseniiv: wib_jonas: it would just be a digital S (hehehe bad pun day, it’s that bad it’s not even a pun in a strict sense, just a connection of polygonal chains with something machine-made, and in latter years, digital) _|¯ _|¯ _|¯
arseniiv: int-e: that’s the real cause of Hawking radiation
int-e: arseniiv: nice!
arseniiv: BTW had anyone some trouble to comprehend why on earth sigmoid is called that? I think all of Σ, σ and ς are further from that curve than a plain S
arseniiv: maybe final sigma ς suffices, but still S is more canonical, it does even have the same symmetry as sigmoid
wib_jonas: arseniiv: it can be a latin S, but called "sigma" in a fancy way. you can use the phoenician-origin names for latin letters too, even if they're most commonly used with the greek or hebrew letters.
wib_jonas: I mean, sometimes it's handy to have two sets, to make it easier to read formulas out loud and distinguish greek letters
wib_jonas: hmm... maybe for esotericness, we could even use the unrelated name series that's normally used for futhark runes, or the series for tengwar letters
arseniiv: esotericness, esotericity, esoterism, esoterié?
arseniiv: (totally out of my depth with diacritics on the last one, but it seems look nicer that way?..)
arseniiv: `? diacritics
HackEso: diacritics? ¯\(°_o)/¯
arseniiv: `? diacritic
HackEso: diacritic? ¯\(°_o)/¯
wib_jonas: we call them "things on top of letters"
arseniiv: like, it’s a literal translation?
HackEso: A is one of seven villages in Norway. The BBC invented them by not understanding things on top of letters.
HackEso: wisdom/örjan? ¯\(°_o)/¯
HackEso: Örjan is the diæresed twin. He will punctuate your vöẅëls, and maybe a few other unsuspecting letters.
arseniiv: wait shouldn’t that been ø
arseniiv: kspalaiologos: don’t facepalm logreading but that person stole your nickname and wrote things for a while
wib_jonas: `? œrjan
HackEso: œrjan is oerjan and ørjan's superhero third cousin (once removed) from Québec. He got his cheesy powers by falling into a giant poutine bowl.
kspalaiologos: I'll read this
kspalaiologos: Anyway
arseniiv: He got his cheesy powers by falling into a giant poutine bowl. => seems like an Obélix allusion at the same times
arseniiv: time*, how did that s got there
kspalaiologos: Sure, I've got to be the one to be blamed
arseniiv: is there a simple mechanism to reserve the nickname somehow? besides password? (I don’t remember how long it is before one is kicked out when not entering it)
arseniiv: because if there’s none, it’ll be weird to blame you not being prepared for, erm, that shouldn’t even happen to anyone
arseniiv: BTW there are at least seven wisdom *rjans :o
wib_jonas: arseniiv: there sort of is, but in this case it doesn't matter, a spammer could just use another similar nickname then
wib_jonas: we can't reserve all or most nicknames since freenode supports nicks of length up to 15
arseniiv: hm but for example I bet you don’t trust much when someone writes from a similar nickname, if you notice the difference early on
arseniiv: ah! an impostor!
wib_jonas: arseniiv: you mean like oren vs oerjan, or web_jonas vs wib_jonas, or HackEgo vs HackEso?
arseniiv: well, I do actually know oren is not a misspelling of oerjan :) and that HackEgo is an archaism
wib_jonas: ``` set -e; cd wisdom; echo *rjan; cat owrjan
HackEso: boorjan oerjan owrjan sewerjan typoerjan örjan ørjan œrjan אrjan \ owrjan is oerjan's wise twin.
wib_jonas: an archaism? now that makes me feel old.
arseniiv: and I remember to not trust any of your prepended variants too much too :P
wib_jonas: and of course, whoever reincarnates HackEso the next time may choose to call it HackEvo or HackEto or HackEdo or HackElo or HackEmo or HackEro etc
Taneb: wib_jonas: we can work out which is the best with some sort of HackElo rating
arseniiv: it’s already suspicious you mentioned yourself here! I bet you are not you. And IP is all wrong, it should contain more 2’s
arseniiv: wib_jonas: ^
wib_jonas: `? orjan
HackEso: orjan? ¯\(°_o)/¯
kspalaiologos: Shalln't we make this server require registration
arseniiv: HackEto seems multilingually slavic, like “hack it/this”
arseniiv: I have messaged my underscored alter-eto by lambdabot and are still waiting when I’ll forget about that and ultimately read that and surprise myself
arseniiv: half a year ago by now, I think
arseniiv: that you get when you get too convoluted
izabera: does anyone have a mac?
izabera: i need to run a super quick test with iterm2 and i have no access to it
rain2: https://en.wikipedia.org/wiki/Algebraic_extension#Generalizations wow you can do galois theory for arbitrary theories not just fields
rain2: what do you think abou this?
rain2: https://arxiv.org/pdf/0909.4340.pdf
rain2: please respond
arseniiv: rain2: this looks like a neat thing! but alas almost out of my current interest
rain2: what is your current interest
arseniiv: (cont.) interests* and also I don’t know an ordinary Galois theory and so I would be a bad conversalist :D
arseniiv: what is your current interest => hmm I don’t sure. I’m lazy :(
rain2: what is it
rain2: im learning galois theory
arseniiv: what I could grab with one hand outstretched from my current position, so for example hm it’s hard to externalize what I want, maybe I don’t want anything
arseniiv: I planned to read some things, though
arseniiv: two articles on algebraic effects and also I wanted to watch a course on Clifford algebras and I can’t proceed with it all effectively
arseniiv: last three days, I haven’t read a page from those, and I watched an intro of a completely different course, though by the same person
arseniiv: I’m that unorganized :D
arseniiv: ah also I re-listened to several old ATB albums to make several other things clear
arseniiv: bon_somethingnas!
ski: @messages-loud
lambdabot: LKoen said 2h 7m 26s ago: I'm definitely memorising "nychthemeron" for future use
LKoen: this word doesn't have an equivalent in French, according to wikipedia
LKoen: which is very surprising as mostly all "greek" english words are also french, although usually with a different last syllable
shachaf: `? @messages-loud
HackEso: @messages-loud @messages-fond / @messages-flood @messages-bond // @messages-lousy @messages-sound / @messages-lost @messages-found // @messages-proud @messages-bold / @messages-good @messages-gold
LKoen: but somehow reassuring because "nychthemeron" sounds unsettlingly like a very bad French insult
ski: LKoen : in swedish it's just "dygn", which was why i was disappointed with not finding an english equivalent, for a long while
ski: (and i think some other nordic languages, and also russian, has a word for it ?)
ski: i remember having used "circadian cycle", for some time, but it's a bit awkward to say, and not completely accurate
ski: anyhoo .. some months ago, my elder brother, who's a bit interested in calendars (having made many comparative tables and so, and e-mailed some experts, &c ..), mentioned the word to me, and i've been using it, ever since
b_jonas: [ 340%4
j-bot: b_jonas: 85
HackEso: Twinkle, twinkle, little star!
arseniiv: (and i think some other nordic languages, and also russian, has a word for it ?) => you mean, day and night, 24 hours? yeah, it has! Сутки (sutki), and I bet it’s not so formal as nychthemeron (it seems pretty uncommon). Though usually a word for “day” is used when it won’t make too much confusion, but I think this is the same for English too and I bet most languages. And is dygn not too formal in use, too?
arseniiv: https://en.wiktionary.org/wiki/nychthemeron has mono-word translations into several other languages too, and it doesn’t have a mark how formal it is
arseniiv: strangely, ↓
HackEso: Twinkle, twinkle, little star!
arseniiv: but ∗ ⋆ ★ don’t have entries
HackEso: ✱? ¯\(°_o)/¯
HackEso: ✸? ¯\(°_o)/¯
arseniiv: . o O ( `learn ☆★ Nychthemeron, also known as nightdayness )
HackEso: ✳? ¯\(°_o)/¯
b_jonas: ``` unidecode ✱; quote "very heavy"
HackEso: [U+2731 HEAVY ASTERISK] \ 1333) `unidecode ⧸🙼 [U+29F8 BIG SOLIDUS] [U+1F67C VERY HEAVY SOLIDUS] it is with a very heavy solidus that i write to inform you that unicode has too many code points
arseniiv: heavy asterisk is an asteroid
b_jonas: and certainly not a _little_ star
b_jonas: although I guess even little stars are very heavy
arseniiv: twinkle twinkle Ceres Pallas Juno Vesta Hebe Iris
arseniiv: hm I missed Astraea, didn’t heard about that one nor was it in the table
arseniiv: these are numbered 1, 2, 3, 4, 6, 7, and Astraea is 5
arseniiv: and it would break the rhythm anyway
arseniiv: lensing lensing compact star
arseniiv: don’t you please come close to us
arseniiv: ski: you don’t know for sure
ski: "dygn" is not very formal, no. though "dag" is still probably more common (but not by that much, would be my guess)
arseniiv: I may be a self-modifying bot written initially in a, let’s say, unlambda
ski: you may be
arseniiv: and can too!
arseniiv: b_jonas is a bad influence, I’ll try to not discuss small planets too much
b_jonas: does that mean a night-lover, or an alternate name for november?
b_jonas: or maybe nicotine-lover
imode: https://hastebin.com/cetacujate.txt
LKoen: but sesquiannual definitely doesn't have a french equivalent
LKoen: and that's worrying
imode: https://hastebin.com/papomucuja.cpp final and full FizzBuzz in Mode. I think I'm done with this language.
imode: it's interesting, it's a little less than convenient (but manageable), it's an older proof of concept brought to light.
kspalaiologos: Someone really hates me
imode: so, I have this piece of code that does pattern matching and construction for tuples. https://hatebin.com/iepdhihnii
imode: if you have a variable that's not present in the bindings (generated from a match), it gets filled in with a unique value.
imode: I have a hypothesis that because of this, and only this, that it's turing complete.
imode: because I can construct an ever-expanding tape in both directions along with rules.
imode: https://hatebin.com/oggcyfafzd
imode: my question is, without this mechanism (which has implications regarding the uniqueness of the generated binding), is it still turing complete?
imode: I don't see how it could be. if I treat the tuple store as a set rather than a bag, there's no way to generate unique tuples without explicitly listing them all.
imode: if I treat it as a bag, then I could probably construct some sort of counter.
zzo38: I wrote this list of ideas for the game; to see if they like or dislike them or can make variants of it to make a more surprise to me. https://arin.ga/JfMezt What is your opinion of this, please? Do you have any further ideas please?
Lykaina: i can't make any sense of the irc program i wrote 10+ years ago
Lykaina: it's 8 bash shell scripts, uses 100% cpu...
Lykaina: all i know
zzo38: You should write it to not use 100% CPU.
Lykaina: it wasn't intentional
zzo38: I use IRC program I wrote by myself. If I were writing it today though I probably would do some things differently, such as not using PHP (I didn't have anything better at that time).
Lykaina: no idea how beetle (it's name) works.
zzo38: Other than using 100% CPU, is it any good?
Lykaina: i remember that it is, in a sense, multiple programs working as one.
fizzie: I had an IRC thing (though I think it might've been an ircII script) that used 100% of CPU too, except it was on my ISP's shared shell server and got me shouted at.
pikhq: *wince*
fizzie: It wasn't a particularly large ISP.
fizzie: They got acquired at least three levels deep, eventually.
fizzie: Dystopia (the original ISP) got bought up by sci.fi, which merged with a bunch of others to join Saunalahti, which eventually ended up owned by Elisa.
shachaf: If you want to define busy-beaver-style numbers in a way people will easily agree on, what computation system should you use?
shachaf: The classic one with Turing machines has questions like whether the tape is double-sided, whether blank is a separate symbol, whether you count number of steps or output size, etc.
shachaf: What's a sequence that grows as quickly as BB but can be defined unambiguously in one sentence?
shachaf: I was thinking maybe somthing about the solution to a Diophantine equation of some size, but then defining the size of an equation is slightly awkward.
pikhq: Hmm, tricky. I think the most important property for such a computation system (beyond being TC, of course) is being simple to state unambiguously.
kmc: can you define something analogous to busy beaver machines with lambda calculus or combinators?
shachaf: You can count the number of reductions or something.
shachaf: Or just produce a large number.
pikhq: Yeah, I guess a SKI combinator busy beaver makes sense
kmc: B(n) = the maximum number of reduction steps to normal form for a combinator string of size n
oerjan: even those cases still require you to define the syntax to measure size.
kmc: but it's just a tree where leaves are labeled S or K, right?
kmc: a binary tree
oerjan: still more one way to count that :P
oerjan: *+than
kmc: but it should fit in one sentence
kmc: which was the original goal
kmc: if you have to define S and K then it'd be a bit of a run-on sentence but whatever
oerjan: i hear there are entire books written as a single sentence, anyway.
oerjan: it seems schlock isn't going to attempt communication at this time.
oerjan: `dowg œrjan
HackEso: 9196:2016-10-08 ` sed -i \'s/\\. h/. H/\' wisdom/\xc5\x93rjan \ 9195:2016-10-08 learn \xc5\x93rjan is oerjan and \xc3\xb8rjan\'s superhero third cousin (once removed) from Qu\xc3\xa9bec. he got his cheesy powers by falling into a giant poutine bowl. \ 9194:2016-10-08 learn \xc5\x93rjan is oerjan and \xc3\xb8rjan\'s superhero third cousin (once removed) from Qu\xc3\xa9bec. he got his cheesy powers by falling into a giant pou
oerjan: `dowt œrjan
HackEso: 9194:2016-10-08 learn \xc5\x93rjan is oerjan and \xc3\xb8rjan\'s superhero third cousin (once removed) from Qu\xc3\xa9bec. he got his cheesy powers by falling into a giant poutine bowl. \ 9195:2016-10-08 learn \xc5\x93rjan is oerjan and \xc3\xb8rjan\'s superhero third cousin (once removed) from Qu\xc3\xa9bec. he got his cheesy powers by falling into a giant poutine bowl. \ 9196:2016-10-08 ` sed -i \'s/\\. h/. H/\' wisdom/\x
pikhq: Obelix?
kmc: shachaf: you could also use binary lambda calculus
kmc: which was designed for roughly this purpose
oerjan: pikhq: famous for also getting powers by falling into something hth
kmc: what are cheesy powers
pikhq: Oh, as in Asterix & Obelix. Derp
kmc: `wisdom kmc
HackEso: kmc//kmc did not run the International Devious Code Contest of 2013. She is her own grandpa.
kmc: `wisdom pikhq
HackEso: That's not wise.
kmc: `wisdom HackEso
HackEso: hackeso//HackEso is almost but not quite unlike HackEgo.
oerjan: kmc: as a casein point, imagine spiderman-like web made of sticky cheese
pikhq: I see. Shame about my lack of wisdom.
kmc: sometimes the wisest wisdom is none?
oerjan: there's no pikhq wisdom?
oerjan: `dowg pikhq
HackEso: No output.
pikhq: Woe betides
oerjan: and never has been
pikhq: I must have always been a fool
oerjan: well then i can save work on correcting pronouns
pikhq: I suppose that does make things easier.
pikhq: Benefits of being an unquotable fool: pronouns become much more mutable state
pikhq: Fewer side effects
oerjan: . o O ( some day i will be the last cis male in this channel. )
pikhq: A likely story
oerjan: it's just extrapolation https://xkcd.com/605/
pikhq: I suppose that tracks.
pikhq: By extension, soon the entire world will be trans. We're taking over, muahahaha
kmc: I'm arguing with a mycophobe on reddit :|
pikhq: A... mycophobe?
pikhq: Someone who's afraid of _fungus_?
kmc: someone who is irrationally fearful of mushrooms
kmc: which would include most americans
pikhq: Say what now
pikhq: But mushrooms are delicious.
kmc: not "eating mushrooms can be dangerous and you have to know what you're doing" but "oh god anyone who tries to pick mushrooms is going to die no matter how careful they are"
kmc: this person also seems to think the only reason to pick wild mushrooms is to save money
kmc: oerjan: I used to think I'd be the last cis male left
pikhq: kmc: So, tell me how that worked out? :)
pikhq: Nyaruhodō
kmc: by the year 2050, all coding is done by trans lesbian catgirls, all of whom are dating each other
kmc: pikhq: ?
pikhq: "Naruhodō" (I see), said in a catlike fashion
pikhq: kmc: And then, the economy will finally become subservient to the gay agenda.
kmc: seems apropos https://scontent-sjc3-1.xx.fbcdn.net/v/t1.0-9/71753317_680517102458398_924369166457110528_n.jpg?_nc_cat=101&_nc_oc=AQnaI1aohRyAnMzmm-SsSpMKuebusN3Z9PHoa_cp9IRhvAhHuFh92CAjnr9S8lp-Dp1goWX-QZKulownlDCH54dW&_nc_ht=scontent-sjc3-1.xx&oh=f1303938ed1d6cfd9ed4361195396396&oe=5E29C3BA
kmc: pikhq: *taps fingers together* eeeeeeexcellent
kmc: shachaf: do you know anything about meditation?
kmc: what kinds to do, how to get started etc
shachaf: Not much.
pikhq: Here I thought you were omniscient. What use are you anyways?
shachaf: I know some people who are into it, at various levels of hippitude, and they tend to recommend it?
Hooloovo0: I've done a bit of meditation
Hooloovo0: basically all I've done is go into a hypnagogic state while my brain is still awake, basically lay completely still for a long time
Hooloovo0: eventually you should feel an, uh, weight, or numbness, leading down your extremities
Hooloovo0: it's weird not having any (changing) sensory input at all...
zzo38: How to control the set of characters that pushing control and a arrow key skips to in the location bar in Firefox? I want it to skip to only / & = # ?
kmc: Hooloovo0: cool
kmc: I'm going to try a sensory deprivation float tank probably next week
kmc: and see what that's like
Hooloovo0: fun, let me know how that goes
kmc: sure thing
Hooloovo0: I feel like a sensory deprivation tank would produce the same effects as I get, but I'm not sure if there's anything else I'm not (sensing/feeling/experiencing)
kmc: well, it'll be different for everyone anyway
kmc: but I'm glad to share my experiences
kmc: I have a longstanding interest in altered mental states.
kmc: one semester in college I had 2 roommates so I built the space under my desk into a sensory isolation sleeping pod
kmc: it was great
kmc: I had a thick piece of wood and blackout curtains that I could slide against the open side
kmc: I slept in there, would also watch tv on my laptop, or listen to music in the dark
kmc: and i'm also into psychedelic drugs but you know that.
kmc: zzo38: have you ever taken psychedelic drugs?
kmc: I have tried to meditate a bit, but never made a habit of it; I am much better at forming habits now than I was the last time I tried, so maybe it will stick this time
kmc: my therapist recommend going to some events at the SF Zen Center
kmc: hynagogic states are interesting
kmc: hypnagogic*
kmc: as are dreams
kmc: I have used galantamine a couple of times to enhance dreaming
Hooloovo0: I have never had a real habit of meditating
Hooloovo0: it's always been somethting I do once every 2 days - 2 months ish
Hooloovo0: I did take a class on buddhism which I thought was really great
Hooloovo0: the professor is a monk - he teaches at a monestary/university and I don't know what else to say
kmc: another thing i do that is maybe a bit like meditation (or maybe even the opposite) is to listen to music intently in a way that crowds out 'verbal' thoughts
kmc: it feels good
kmc: at some point in my late teens I gained the ability to follow multiple voices in music in a deeper way than I could before -- in a way that actually feels like multithreaded attention
kmc: this happened shortly after I first smoked pot, i don't know if that's related but plausibly
Hooloovo0: I feel like "not thinking verbal thoughts" is a distinct state of consciousness different from a lot of others
kmc: and the goal of many forms of meditation is to reach this state?
Hooloovo0: it's what you get from listening while high af, and (chanting/dancing/etc) while arguably sober
kmc: i think drugs usually *don't* help me get there
kmc: because i am very analytical and keep trying to describe the drug experience in words (in my own head or to others)
kmc: and even if that's not where my attention focuses, i get really analytical on psychedelics
kmc: cannabis might be better for it
kmc: but yeah I think listening to music intently (whether sober or not) is the best way I know to do it
Hooloovo0: that makes sense... when I take drugs, I always think about how it's different from base reality
Hooloovo0: I have not tried psychadelics, just weed, so there's that
Hooloovo0: well, weed/booze
kmc: from this discussion I get the feeling that you would find psychedelics interesting :)
Hooloovo0: yes, I think so
Hooloovo0: I mean I'm sure theyd be interesting
Hooloovo0: I'm not actually sure why I have qualms about taking them
Hooloovo0: never had an easy chance to
kmc: good to wait and do it right
kmc: because the experience is determined mostly by set&setting and not by the drug itself
kmc: stanislav grof called LSD a "nonspecific amplifier of mental processes" or something like that, and I think he's right
kmc: I think of it as turning up the gain on all sorts of pattern matching systems
kmc: so you start to see things that aren't there, but also things that are real and had eluded you previously
kmc: not just in the literal sense of 'see' but also with respect to emotions and cognition
kmc: but, it's hard to put it into words of course.
Hooloovo0: yeah, see/experience/feel are different
kmc: then on the more intense experiences the subject/object boundary itself becomes permeable, or dissolves entirely
Hooloovo0: I'm not entirely sure I understand that sentence
kmc: which is impossible to describe. anything you say about it is a contradiction because our way of talking is essentially predicated on that distinction
kmc: a statement like "I experienced ego death" is obviously contradictory
kmc: and yet
kmc: ego death is... a thing that happens
kmc: it doesn't happen *to* anyone
kmc: I was essentially a panpsychist before I started taking psychedelics but it's one thing to believe something and another to experience it, you know?
kmc: that there is only one thing, which is you and me and the universe and God and doesn't even need a name
kmc: and all the boundaries are heuristics we impose on the world
shachaf: When I was a v. small human I remember just naturally thinking that everyone was the same person.
shachaf: And being surprised at the realization that maybe that's not true.
shachaf: Of course it could be a fake memory like most of my earliest memories.
kmc: did you include yourself in that?
kmc: how do you know your early memories are fake?
kmc: I don't have a lot of childhood memories. I'm told this is a thing that happens with dissociation
kmc: but maybe I have enough
shachaf: Some of them I can tell because they match stories that I've been told, but then when I ask about further details it turns out they're wrong (e.g. not in the place I thought).
Hooloovo0: I'm not sure what you mean by the me/universe/god statement
shachaf: Others I think are fake due to other heuristics but I don't remember the details now.
kmc: Hooloovo0: I'm only going to make a fool of myself if I try
kmc: that's how these things go
kmc: lexande frequently submits corrections to my autobiography
Hooloovo0: I know
kmc: I think his memory is better than mine overall
Hooloovo0: before searching for it again I felt like https://principiadiscordia.com/book/57.php
Hooloovo0: might be relevant
zzo38: When any player casts a spell, that player may choose a number which is a multiple of the converted mana cost of that spell, is less than or equal to forty, and has not yet been chosen for ~. If they do not, they lose five life.
Hooloovo0: re-searching?
kmc: Hooloovo0: that is a nice page
kmc: I was pretty into discordianism as a teenager
kmc: I should probably go back and read the texts again
zzo38: Hooloovo0: I read that before, and, I think it is good.
kmc: "Pick a grid, and through it some chaos appears ordered and some appears disordered. Pick another grid, and the same chaos will appear differently ordered and disordered."
kmc: this can be made mathematically precise in quantum mechanics
Hooloovo0: that's one of the reasons I like it
kmc: you have different basis sets for a hilbert space
zzo38: kmc: Yes, I suppose so. I have not considered that, but, yes, that makes sense.
kmc: a state that looks entangled in one basis is separated in another
kmc: and everything you do in the system is basically a change of basis?
shachaf: Wait, does entanglement depend on your basis?
zzo38: One book about philosophy that I had read some time ago, mentioned, quoting someone else, they expected you can write a serious book about philosophy consisting entirely of jokes. Now I can think that is correct, because that is what Principia Discordia is.
kmc: quantum observation is choosing a basis and then projecting the system state onto it
kmc: shachaf: maybe not
shachaf: I thought that, like being a rank-1 matrix, separability was basis-independent.
kmc: zzo38: that seems about right
shachaf: whoa, I had a basic question about quantum things that maybe you know the answer to.
kmc: you shouldn't expect me to be correct
shachaf: I feel like all the quantum things I know, like entanglement, can be local.
kmc: especially in my current state
shachaf: But I don't know what locality means.
shachaf: What do I do?
zzo38: I have looked at the mathematics of quantum state vectors, and it does seem like some states might be entangled or unentangled from some point of view. But, it is confusing and apparently even scientists do not understand so well, so I have heard?
Hooloovo0: zzo38, no, the PD is completely serious. there's no jokes in it
shachaf: zzo38: I think the specific thing about whether a state is separable or not is just regular multilinear algebra that people do understand?
zzo38: shachaf: Probably you are correct.
zzo38: Hooloovo0: Are you sure there is no jokes in it? I thought it is completely serious despite it consists entirely of jokes.
HackEso: 2/2:letter later to s/o,/o/, 4 letter later to s/w/W/, lowercase to remove newline. \ te sting//This is horrible?
Hooloovo0: zzo38, I'm pretty sure that's syi sydasti
Hooloovo0: sri syadasti even
kmc: `ddate
HackEso: Today is Pungenday, the 59th day of Bureaucracy in the YOLD 3185
zzo38: Do you like this? http://zzo38computer.org/textfile/miscellaneous/magic_card/records_of_puzzles
shachaf: zzo38: I like the sentence "Do you like this?".
shachaf: Is that what you were asking about?
int-e: shachaf: I don't get it... it's neither fun nor a pun.
ski: Hooloovo0 : hm, i've done that, some
shachaf: Do you like non-interactive zero-knowledge proofs?
shachaf: I'm kind of surprised there appear to be so many tradeoffs in ZKP options rather than one clearly best way to do it.
int-e: . o O ( that often happens when you solve an impossible problem )
shachaf: Impossible why?
Hooloovo0: yeah, nzsnarks are cool
Hooloovo0: I took a class from Andrew Miller on applied crypto
shachaf: Can you transfer a full understanding of nzsnarks directly into my brain?
Hooloovo0: man I wish it were in my brain
int-e: . o O ( one should be able to teach those while having zero knowledge of the topic )
ski: (Hooloovo0 : the laying still thing, i mean)
Hooloovo0: how did you feel during/after?
Hooloovo0: I'm interested if it's similar to my own experience or if there's some qualitative differences
ski: occasionally, my heart can sometimes start beating heavily, for no discernable reason
ski: it can be hard to maintain a relaxed attention thing. not paying particular attention to breathing, to heart, to visual (non-)input, &c.
Hooloovo0: yeah, that can happen
ski: in some cases, i've layed, thinking about some mathy/logicy/programmingy problem, and after awhile noticed the sensory world has just faded away
ski: some times, i've tried counting up (sometimes in hexadecimal) (at a sortof irregular pace), in order to keep mind busy, balancing at sleep's edge
ski: occasionally, i've had these weird momentary visual impressions of some kind of scene (i'm pretty sure i didn't accidentally open my eyes), however, disappeared too quickly for me to get any bearings on what's in the scene. i've wondered whether that's a hypnagogic hallucination, but if it is, i suspect it's not the usual kind
Hooloovo0: I'm not sure there is a 'usual hypnagogic'
ski: (relevant here is perhaps that i don't think i'm a visual thinker, i have a hard time visualizing anything at all. i think maybe i'm thinking "structurally" (in terms of connections ?), perhaps ?)
ski: could be
int-e: wtf is happening
Hooloovo0: go to half-sleep
Hooloovo0: I am definitely a visual thinker, so I'm not sure what non-visual hypnagogicity would be like
ski: one thing which i'm pondered if it maybe is, is related to WILDs, that i saw someone describe. they'd lay awake, and eventually they'd be "presented" with scenes, which if they "jumped into", they'd become dreams (lucid)
Hooloovo0: I have only once or twice had lucid dreams... they were ok, I guess?
ski: (occasionally, i've had a sensation (partly controllable) of "mind being curled up like a piece of paper in a roll, tighter and tighter". not quite sure how to express that)
shachaf: ski: Did you read the book _Impro_?
ski: yea, i don't think i've had them many times, either
ski: shachaf : no, what's it about ?
shachaf: All sorts of things. But it opens with a discussion of this, I think.
Hooloovo0: I feel like I've had a similar sensation... but I'm not sure
Hooloovo0: I was probably not sober at the time
shachaf: _Impro_ is such a good book.
shachaf: ski: See the first chapter, _Note on Myself_, starting at page 14.
ski: (some book i read described working at it "from both ends", trying to get more access to dreams, from an awake state of mind (iirc, some types of meditation), but also trying to get more access to waking thoughts, from a dreaming state of mind)
ski: "Impro: Improvisation and the Theatre" by Keith Johnstone in 1979 ?
shachaf: ski: Yes.
shachaf: (See link.)
ski: (hm, some time ago, someone in another channel was talking a bit about their programming team being send to some improvised drama thing. this person liked it)
shachaf: By 14 I mean 13.
ski: hm, interesting. thank you
ski: "I thought of a house, ..." -- i'm not sure i could do that
shachaf: whoa, this first chapter (20 pages) is so good.
shachaf: Also the rest of the book.
arseniiv: “Name of author by Title of book” has some funny scenes though generally it’s too crazy confusingly crazily confusing even for me
arseniiv: like “I’m going to sell your company to me” one, — “What do you mean? I won’t sell!” — “That’s why I’m going to do it”
LKoen: "CEO of the future"
arseniiv: (and then something confusing happens just the next moment)
LKoen: it's not that confusing
LKoen: people sell things that don't belong to them all the time
arseniiv: this, yes, I don’t disagree, ownership is a shady concept
LKoen: "The international space station, filled with chess-playing Russians and Americans so atrophied they can never return home"
LKoen: sounds legit
LKoen: although were the fuck did the European astronauts go?
arseniiv: to Europe maybe^W^W^W
arseniiv: anyway I it sat half-read for some time and I’m going to try to finish it maybe
arseniiv: controversial pieces
arseniiv: I should write them, not read
LKoen: have you read "House of Leaves", by Mark Z. Danielewski?
arseniiv: LKoen: no
LKoen: it's... interesting
LKoen: I think it's pretty good
LKoen: the format is a bit unusual
LKoen: and the scenario is really, really unexpected
b_jonas: i hear there are entire books written as a single sentence, anyway. => yeah. some of them seem like they're just multiple sentences search-replaced to change sentence ending to semicolons.
b_jonas: sometimes what I write on irc looks like that too. I should work on writing shorter sentences.
LKoen: Marce Proust wrote his books with looooong sentences
LKoen: sometimes, by the point the sentence ends, I forgot what the beginning of the sentence was about
b_jonas: " ... thinking that everyone was the same person." => as in http://www.galactanet.com/oneoff/theegg_mod.html ?
imode: (5000) (fizzbuzz) takes 27 seconds. ugh.
imode: I actually wonder why that is. the interpreter has crazy long pauses between steps.
b_jonas: how long does 99 beers take?
arseniiv: the profiling time has come
imode: https://repl.it/repls/CompleteSpringgreenSpreadsheet
imode: here's (100) (fizzbuzz).
imode: it takes 2 seconds.
b_jonas: https://www.youtube.com/watch?v=aahY61e38ms Evoland - this is an interesting game, I first saw a run on a GDQ
imode: 7.47ms to expand all the macros, ~2s to fully run FizzBuzz.
imode: I saw long pauses between printing when executing it locally and with larger values.
b_jonas: `python3 -cfor n in range(1,101):print(("FizzBuzz","Buzz","Fizz",n)[(0 . o O ( some day i will be the last cis male in this channel. )" => after you get rid of me, obviously
b_jonas: pikhq: wait, so what gender are you now?
imode: kspalaiologos: I don't know what this is.
b_jonas: I don't think we'll run out of cis males, because we get replaced by more young cis males that grow up
kspalaiologos: imode, it's BBJ interpreter in C
kspalaiologos: in this particular line selected
b_jonas: I'm more afraid of the scenario when trans people become the majority so the standards flip upside down, and we'll be the weird ones
kspalaiologos: the rest of the document won't probably help you much xd
b_jonas: but I think even that would be a win for us
imode: _what_.
imode: bytepusher is a game console using bytebytejump?
imode: jesus.
imode: that's awesome!
kspalaiologos: the more concerning fact is
kspalaiologos: they made an assembler for that
imode: . o O ( how fast does it run... )
kspalaiologos: and binary lambda calculus is still something I'm too stupid for
b_jonas: kspalaiologos: why is that concerning? I made an assembler for an OISC too, to be able to use symbolic names that work even if I insert or delete words
pikhq: b_jonas: I think, realistically, that is very far off
b_jonas: I even added local labels
kspalaiologos: b_jonas, well, bytebytejump is a hard thing to get right
pikhq: We're only like 0.6% of the overall population
kspalaiologos: because of the lookup tables
imode: is BBJ turing complete due to lookup tables?
kspalaiologos: well, yes
kspalaiologos: you can add only using lookup tables
kspalaiologos: or subtract
imode: wait, BBJ can't be TC..
b_jonas: pikhq: who are "we"? trans people, or trans females? and do you count infants into the population?
pikhq: Trans people
kspalaiologos: so you can make a subleq to bytebytejump compiler
kspalaiologos: I'm actually
kspalaiologos: really interested in doing that
kspalaiologos: and the nyan cat for bytepusher
imode: wtf is the "structured" equivalent of BBJ.
kspalaiologos: is 190 kilobytes big
imode: that I'm not surprised at, you need so many lookup tables.
kspalaiologos: imode, you're left on your own on this one
kspalaiologos: good luck
b_jonas: pikhq: is there a census on this? I'd like to know the ratio of trans males vs trans females, because it seems like I hear more of trans females somehow, which is weird
imode: you can't really have a "structured" equivalent of BBJ, because there's.. no conditional machinery.
pikhq: There's relatively few stats on it. I would suspect it's 50/50, and you're biased by the spaces you occupy, _buuut_ there's very limited actual studies.
b_jonas: pikhq: yes, I'm quite likely biased, which is why I'd like to know
pikhq: https://williamsinstitute.law.ucla.edu/wp-content/uploads/How-Many-Adults-Identify-as-Transgender-in-the-United-States.pdf is one of the better demographic studies we've got
kspalaiologos: I've experienced that there are more mtf than ftm honestly
kspalaiologos: I don't know, although I suppose the reason.
b_jonas: pikhq: that gives a split by age, which is useful, but not a split by genders
pikhq: You're in tech. We're overrepresented because cis men are overrepresented.
pikhq: b_jonas: Yeah
zzo38: I don't really know or care too much how many trans people it is, I think if that is what they want to do, OK; but, I think that it can confuse the language in some cases, and I also think that this "gender identity" shouldn't be needed. One suggestion I have seen is for "man" and "woman" to be social but for "male" and "female" to be biological; that helps a bit, I suppose.
imode: y'know, I like that distinction.
b_jonas: obviously I only know when people tell that they are trans, so for most trans people I probably don't know that they are trans because I don't care
b_jonas: so the more trans female is just among people who write on the internet that they are trans female and I read it
pikhq: zzo38: I think that's oversimplifying things intensely, and betrays an unfamiliarity with how this shit works
pikhq: b_jonas: It appears the institute that did that study is now trying to do a better demographic survey now.
pikhq: According to them, it will be the _first_ such demographic survey ever done.
zzo38: pikhq: Yes, it is simplifying it. You can have sex change too, so you can be a kind of hybrid, too. (You can also be born as a hybrid of male and female; it does happen.)
b_jonas: that seems quite likely
pikhq: zzo38: Additionally, much of what we think of "biological sex" is, uh, purely hormonal.
imode: you cannot take enough hormones to turn your penis into a vagina.
imode: and vice versa.
imode: so no, it really isn't.
imode: it's genetic.
pikhq: imode: Developmentally speaking, your penis was once a vagina, and then testosterone happened.
zzo38: But, I think that even if a person is a "man" and not a "woman", if they are biologically female (or had the functions of such) at the time their child was born, then they are that child's mother. And if (hypothetically) someone can manage to change their biological sex enough from female to male later and have another child as the male function, then they can be one person's mother and another person's father.
imode: pikhq: I'm pretty sure I'm a male because of my chromosomes.
pikhq: zzo38: The mere act of "defining biologically female" is itself _much_ more difficult than you think.
pikhq: imode: Orly? Have you actually had a karyotype done?
imode: https://en.wikipedia.org/wiki/X_chromosome basic biology.
imode: if you wanna argue gender identity, whatever. but biology is biology.
pikhq: imode: Bio 102: https://en.wikipedia.org/wiki/Testis-determining_factor
zzo38: pikhq: Yes, I know it is more complicated (I don't know all of the details, but I know it is more complicated than the simplified version I mentioned)
pikhq: imode: TLDR: shut up, you don't know what you're talking about, you're just being an ass.
imode: congratulations, that doesn't change your genetic makeup.
imode: TL;DR stop discussing this in this channel.
pikhq: imode: Unless you have actually had a genetic test, you don't even know what your genetic makeup is.
pikhq: imode: Oh fuck off.
imode: you first.
pikhq: You're the one who's being offensive and self-righteous. That you are upsetting me intentionally in this way is _your_ fault.
imode: have fun on ignore.
pikhq: ops: Do we have a policy on offensive BS?
j4cbo: “but chromosomes” is a pretty low quality argument tbh
zzo38: Maybe much of it is purely hormonal, but there is also genetics, and perhaps other stuff, so, it is complicated. I don't know how it works though; I am not a biologist. But, I think that chromosomes are probably a part of it.
b_jonas: sorry, I didn't wnat to start that
pikhq: zzo38: They are -- ish. There's a gene that is commonly on the Y chromosome that triggers the production of certain hormones that triggers a large pile of other phenotypical changes.
zzo38: (And, a X chromosome, is, normally, something that both male and female will have.)
pikhq: It's actually _stunningly_ complicated.
pikhq: And there's plenty of ways for it to go screwy.
zzo38: OK, I believe you.
zzo38: (even if I do not understand it completely)
pikhq: For instance, the gene is only _usually_ on the Y chromosome. It moves over to the X sometimes. There's literally XX cis men walking around.
zzo38: Yes, OK. I didn't know that, but, OK.
j4cbo: biological sex is complicated but at least it is amenable to scientific inquiry
pikhq: j4cbo: Gender identity is too -- people are real, even if they're fuzzy and harder to measure. :)
imode: the concentration of mentally ill people on IRC never ceases to amaze me.
pikhq: ops: ^
j4cbo: pikhq: identity sure, but societal expectations and roles are impossibly complicated
zzo38: (It seems to me that such thing as "XX cis men" might be a kind of hybrid, since "XX" is supposed to designate female, but in this case they are otherwise male; but, I don't really know what the proper definitions are, so I may be wrong.)
pikhq: So's physics. I hear physics is a well-established field.
pikhq: zzo38: The sex-determining region Y is more-or-less the only functional content of the Y chromosome.
j4cbo: physics is measurable in ways that culture is not
pikhq: Which is why sociology is hard.
pikhq: But it's real, so you can _do_ science on it. Just... hopelessly difficult, so expect to spend all your time on establishing basic results.
j4cbo: Freenode’s “ops should not wear hats” thing is unhelpful imo
imode: define wear hats.
pikhq: j4cbo: Yeah, it makes it difficult to decide who to escalate a conflict over what is appropriate discussion in a channel to.
imode: if you mean take particular sides in a discussion, no, they really shouldn't. discussions and disagreements happen all the time.
j4cbo: imode: “ops should not have +o except when actively using it”
imode: ah, that. eh.
pikhq: Is imode an op? Please say no
j4cbo: which leads to a... unmoderated atmosphere
j4cbo: I don’t think so?
pikhq: Ah, good
imode: I don't feel strongly one way or the other. I guess it's more relaxed in some places but I've never had a problem knowing who the ops are.
pikhq: "An op's conduct is incompatible with what I think is appropriate for this channel" is not a pleasant discussion to have.
b_jonas: j4cbo: our channel operators are fizzie, oerjan and ais523. same as the wiki moderators. you can tell that from NICKSERV ACCESS #esoteric LIST. the hats don't matter.
imode: welcome to #esoteric, where the languages are weird and the hats don't matter.
b_jonas: but I think this is the sort of discussion that you can just walk away from, it doesn't need ops
pikhq: b_jonas: I am inclined to disagree. It's pretty... Incompatible with me being welcome here at all.
imode: is pikhq trying to get me banned or something for disagreeing with them. if so, that's amazing.
zzo38: I think that you can temporarily ignore the IRC if you do not like it and later you can discuss something else on this IRC. Since, we discuss other stuff on this IRC, too.
b_jonas: pikhq: I mean, it's a discussion that will die down in a few hours if you ignore it, and it isn't interwoven with some other important discussion that you can't miss at the same time
j4cbo: imode: i think your comments have gone substantially beyond “disagreeing”
imode: j4cbo: such as.
j4cbo: the “mentally ill” remarks
imode: not related to this channel.
j4cbo: bullshit
zzo38: Even if you do want to ignore some discussion when reading the logs, if they are a discussion by different people, you could use grep, perhaps
imode: not even related to this server.
pikhq: b_jonas: Yeah, calling me "mentally ill" is straight-up insulting me for who I am.
j4cbo: imode: it did not read that way
imode: sorry you parsed it that way.
imode: should have probably qualified. the discussion ended for me on "have fun on ignore."
b_jonas: pikhq: yes, I do realize. so ignore the whole discussion. unlike on a high-traffic channel where you have to separate threads, you can easily skip over them.
pikhq: b_jonas: This is about as inappropriate as calling someone a "f****t"
imode: maybe everybody needs to just step away from their computers and take a walk.
pikhq: fizzie: ping
j4cbo: “stop discussing this in this channel” is also not your call to make
imode: that I'll accept. was an opinion and shouldn't have come across as an order.
j4cbo: imode: so maybe the only one who needs to step away is... you?
imode: pretty comfortable where I am, actually.
pikhq: Maybe I should join every other trans person who's ever been in this channel and leave. (there have been several)
b_jonas: no, all of you should step away. I wasn't specific about who.
j4cbo: anyway I’m out for now
b_jonas: and return a few hours later, but after a random amount of time so you don't return all at the same time (which is a proven working strategy on all our ethernet and wifi networks), by which time we'll forget about this
b_jonas: but I'm sorry again for starting this
imode: not your fault.
b_jonas: `? ronald reagan
HackEso: Ronald Reagan was an actor so great that he managed to convince the US that he was the President. Then he created the Star Wars project to destroy the Soviet Union.
b_jonas: `? star wars
HackEso: Star Wars was a missile defence system invented by Ronald Reagan. With it, he managed to destroy the Soviet Union, then rode into the sunset.
b_jonas: `? soviet union
HackEso: In ancient history, the Soviet Union used to be the THEM. They believed in absurd principles like "Better Red than Dead". Then Ronald Reagan invented Star Wars to destroy it, after which there seemed to be no the THEM for a while.
b_jonas: `? daystar
HackEso: The Daystar is an unscientific myth of a bright orb glowing in the sky outside only at the times you're in your office.
b_jonas: `? nightstar
HackEso: The Nightstars are an unscientific myth of a sky covered in faint flickering lights. Only hermits and superstitious farmers believe this.
b_jonas: `? bofh
HackEso: A BOFH is a bastard operator from hell. An example is the == operator in PHP.
b_jonas: ah yes, one of those was created by me
b_jonas: `' soup contest
HackEso: 303) my most fresh dream is one where I'm at a soup contest and a chicken really wants to participate but he's disqualified so he becomes the judge. when all the soups are done and he's ready to taste them he just stares at the soup and then I become the chicken and I really want to make soup
b_jonas: ``` sed -i '21,$d' share/8ballreplies # let's remove those two extra replies
HackEso: share/8ballreplies//It is certain. \ It is decidedly so. \ Without a doubt. \ Yes definitely. \ You may rely on it. \ As I see it, yes. \ Most likely. \ Outlook good. \ Yes. \ Signs point to yes. \ Reply hazy try again. \ Ask again later. \ Better not tell you now. \ Cannot predict now. \ Concentrate and ask again. \ Don't count on it. \ My reply is no. \ My sources say no. \ Outlook not so good. \ Very doubtful.
b_jonas: `8ball
HackEso: Don't count on it.
b_jonas: `8ball > wisdom/8ball
HackEso: Most likely.
arseniiv: binary lambda calculus each time reminisces me about Real Fast Nora’s Hair Salon Shear Disaster Download, as they are almost isomorphic but the second one is way more human-readable
b_jonas: `' baptized
HackEso: 441) Having only been Catholic in the sense of being baptized that way, I still really like all their silly arcana Judaism has them beat, of course I almost converted just so I could look at my roommate's books
b_jonas: `? Aragorn
HackEso: Aragorn? ¯\(°_o)/¯
arseniiv: `? pants
HackEso: pants? ¯\(°_o)/¯
kmc: i'm wearing pants
kmc: i should probably do something about that
kmc: i'm not sure why people are so hung up on chromosomes
kmc: they are a starting block, a set of blueprints
b_jonas: which meaning of pants?
kmc: so much of human phenotype is determined by other things
kmc: b_jonas: the american one
b_jonas: I wear pants for work all the time
imode: pantsu.
kmc: en_US("pants") = en_UK("trousers")
kmc: en_US("underwear") = en_UK("pants")
b_jonas: sometimes long jeans, sometimes short jeans
kmc: this is one of many fun things I've learned from watching British TV
b_jonas: I specifically asked them about dress code
b_jonas: they basically said that since I'm a software guy, I can wear whatever I want
kmc: the best one is probably that "fanny" is a very mild term for butt in the US whereas in the UK it means vulva
kmc: so I bet they are amused by "fanny packs"
b_jonas: hardware guys sometimes need protective equipment when installing stuff on site
kmc: b_jonas: i heard a story that Google in its earlier years once had "pajama day" at work, and the posters said "wear what you wear to bed!"
kmc: so a lot of people showed up naked.
pikhq: kmc: I think it's because some people get caught up on this idea that everything has to be easy, clear-cut, and simple to classify‚ and rather than change this notion when confronted with claims to the contrary they just rage when someone observes something that conflicts with the model.
kmc: after that, no pajama day
kmc: pikhq: yep
b_jonas: kmc: that sounds like a hoax
kmc: pikhq: and gender *seems* very simple if you don't personally have to deal with any of the corner cases
kmc: i certainly didn't appreciate how complicated it is until about 5 years ago
kmc: b_jonas: maybe. I heard it from a friend who works with a HR person who used to be HR at Google
kmc: it's probably exaggerated at least
pikhq: Knowing Google, I practically guarantee at least _one_ person actually did that.
fizzie: Our team had an (optional) "formal Friday" a handful of times.
pikhq: It probably wasn't widespread though.
pikhq: fizzie: I advise you read scrollback
b_jonas: pikhq: no, I mean they wouldn't make the mistake of advertising it as "wear what you wear to bed" without disclaimers
pikhq: Granted
imode: the question is, what were the consequences of showing up naked, apart from a probable escort from the campus.
kmc: imode: they got free Google swag to wear for the day.
kmc: the idea of working somewhere with a dress code is much less horrifying now that I can wear girl clothes
kmc: girl clothes are so much more interesting
imode: that's incentivizing nudity.
kmc: indeed
imode: honestly from the stories I've heard about people's first few months (and last) at positions in Google, I wouldn't be surprised that someone took that a little far.
imode: had a friend of a friend who worked at FB. they got into a probation program the first week for not showing up, and then coasted the next 5 months until they were fired, but secured an offer one month prior to firing.
imode: and did the same damn thing.
b_jonas: at one point during university, I attended some lectures in SZTAKI. its building has the dress code of long pants required.
imode: is it dog friendly, and does the dress code apply to animals.
b_jonas: I don't know, I've never seen dogs in there
b_jonas: also at my previous job we had some special events where the interns, after a quarter year long internship, give a short presentation about what they did at the company. that event required formal clothes. they forgot to tell me before the first time they held that event. I never went to the rest of them after that.
imode: formal dress is stupid.
b_jonas: I don't think formal dress is stupid, but requiring it for that event is stupid
arseniiv: requiring the commonly used formal dress for many events is stupid, I’d specify
imode: yeah, there's only a certain set of events imo that it's appropriate for.
imode: and even then that's probably just cultural conditioning.
b_jonas: such as your own wedding
b_jonas: or a wedding where you're an offical
imode: remind me to mandate crocs at my wedding.
arseniiv: we had that at school rrr (not university, *that* would be the worst and I’d not go there at all, then)
arseniiv: wedding I’m not sure
b_jonas: arseniiv: crocs mandated at school?
b_jonas: or is "rrr" some kind of event, like a prom?
arseniiv: so atm I don’t have any suits, formal pants and white shirts etc., though the tie remains in the closed
arseniiv: b_jonas: er no
arseniiv: I mean there was a uniform
b_jonas: I consider that much worse
b_jonas: a uniform, as opposed to just ordinary formal clothes
b_jonas: because you can choose the formal clothes to whatever you like
b_jonas: but for a uniform, you have much fewer choice
b_jonas: I do have formal clothes, but I haven't worn them since a friend's wedding in I think 2014
b_jonas: this is the advantage of being a software guy with no people skills who thus never meets clients
b_jonas: hmm no,
kmc: imode: are you getting married?
b_jonas: actually I haven't worn it since my brother's wedding in 2013
b_jonas: the other wedding was in 2012
imode: kmc: next year, yeah.
kmc: congratulations
b_jonas: oh nice
kmc: I got married once, 10/10 highly recommend
b_jonas: so you're talking about an actual wedding, not just hypothetically
imode: gracias!
b_jonas: will the wedding be outside? because crocs could be inconvenient
imode: lmao, I'm waiting on the results from a job interview before we bother planning. it's been 10 years, so we figured we'd tie the knot.
imode: it'll probably be a small thing along the coast. our families suck, sans our immediate family.
b_jonas: will people dance in crocs?
imode: if I have my way, yes.
arseniiv: kmc: 10/10 highly recommend => lol
kmc: we didn't do a full blown wedding, though
imode: private ceremony?
kmc: got married under the dome at sf city hall
kmc: one witness
kmc: was kind of a spur of the moment thing
imode: that's the way to go. my sister did that.
arseniiv: I don’t understand weddings with a crowd of people too
kmc: we were already promised to each other for life but didn't feel the need to make it official until 2015 when some personal shit went down
kmc: the most immediate reason was that she wanted to be legally allowed to make decisions for me if I ended up in the hospital again
kmc: so getting officially married was a practical thing, but has turned out to be more emotionally significant than either of us expected
kmc: we had already been living together for 4 years
kmc: the weddings with big parties are fun, at least if you're not the one organizing and paying for it
kmc: i was maid of honor at my best friend's destination wedding in mexico
kmc: it was a blast
fizzie: Read some of the scrollback. TBH, the "mentally ill" part is really hard to accept as unrelated to the preceding conversation, given the timing and context. I think it's also a comment we wouldn't mind classifying as unacceptable, so please don't do that sort of thing.
imode: that sounds awesome. and yeah, a lot of people get married for that reason and that reason only. that's a large motivation for us as well: we'll probably have an "official ceremony" and then have the actual wedding after it, mainly for insurance purposes.
imode: fizzie: if you parse it that way, sure, I won't say that. bear in mind it was about something on QuakeNet.
b_jonas: imode: is the crocs thing because you or your partner have a family member who you really want to keep away from the wedding, but you don't dare to just refuse to invite them, so you make a rule that they'll never comply with, and rather not attend the wedding than wear crocs for it?
b_jonas: or is it to just keep most people away in general, to make the wedding smaller, without any specific target?
imode: more of a parody of what one considers formal attire.
pikhq: fizzie: After saying "them" to refer to me after my pronouns were made very clear, I think it is pretty unambiguous what imode's intent was. Particularly in context.
b_jonas: the latest xkcd uses "AM". that's weird
imode: especially considering launches are 24h.
b_jonas: after https://www.xkcd.com/1179/ that is
arseniiv: (BTW in any case anybody wouldn’t like what personal pronoun I’d use please tell me explicitly, by PM or not, as I would likely been just forgotten or hadn’t watched with attention; so there be no feelings hurt)
pikhq: arseniiv: Innocent mistakes are perfectly fine, FWIW
kmc: imode: yeah, my friends did the official, legal wedding in SF with a small group of friends and then the bigger wedding in mexico for extended friends and family, the following year
kmc: for one I think maybe it's tricky to get a US marriage certificate if you're married in a foreign country
kmc: some channels have a bot that lets you set/query pronouns, which is kind of nice
b_jonas: what...
b_jonas: why is it tricky to get a marriage certificate?
kmc: cause the wedding happened in a foreign country?
kmc: i'm not sure though
kmc: just speculating
kmc: in california anybody can officiate a wedding after filling out a form. so the first wedding in SF was done by our friend, wearing a pope costume he got off of Amazon
kmc: afterwards we grilled steaks and drank to the wee hours
imode: that sounds blissful.
pikhq: In Colorado the parties to a marriage are the only required signatures.
kmc: it was great
kmc: my wife and I are thinking about doing a wedding-style celebration maybe next year, for our 5th anniversary
kmc: though it happens to be right around my grandma's 100th birthday so we don't want to upstage her
imode: make it a combo! :P
kmc: in california the marriage form doesn't ask for gender (now that same-sex marriage is legal) but there is a box for each partner (only two partners allowed, sadly) to optionally check "husband" or "wife"
kmc: as far as I know those checkboxes have no official meaning
b_jonas: only one partner can check?
kmc: and they're just on there to satisfy traditionalists
kmc: no, each partner can check either
pikhq: I'd have to doublecheck, but I think CO just completely removed them from the form
b_jonas: ah, better
kmc: part of me thinks poly marriage should be legal but the other part of me thinks the government should get out of the marriage game entirely
kmc: most of the rights of marriage can also be established through contract law
kmc: the privilege of not having to testify against your spouse can't, but it's also pretty weak from what I understand
arseniiv: kmc: but the other part of me thinks the government should get out of the marriage game entirely => me exactly
zzo38: I should think having "husband" and "wife" on the form would be unnecessary, although maybe it would be helpful if you have a formal ceremony, I don't know
zzo38: I think that poly marriage should be legal if everyone involved is in agreement with it.
arseniiv: for example what if I trust a close friend but have no soulmate and suddenly fall ill
arseniiv: I mean, this should be signed as easily
kmc: zzo38: I think you'd also need forms for adding or removing partners from a poly marriage
kmc: eventually a marriage may outlive all of the founders!
zzo38: kmc: Yes, if it is something which you will want to be recognized by government, then it will be needed.
arseniiv: so it should be a separate procedure, applicable likely to any trusted people: relatives, friends, neighboors
kmc: poly divorce law sounds like a quite complicated area that will probably exist one day
kmc: arseniiv: you can do that
kmc: power of attorney or something
b_jonas: attorneys have superpowers?
arseniiv: kmc: yeah it seems less easy as wedding :D so it should be refactored out
zzo38: That is mainly the reason I was thinking it is too difficult to implement legal poly marriage right away, due to the difficulty with the existing laws. But, it should be corrected, if possible.
kmc: I know someone who was preparing to sue for recognition of poly civil partnership under the Canadian Human Rights Tribunal
kmc: she had lawyers ready to do it pro bono and everything
zzo38: The form might need a section to mark if you automatically consent in future too, in case you have one or more other spouses already and you do not want to deal with it when further spouses are added, everyone else who doesn't automatically consent in future (at least one is required, but by default it is everyone who must agree to it) to add a further spouse.
kmc: but then she broke up with her partners :/
pikhq: kmc: I think most of the regulars here knew her at one point :P
kmc: pikhq: yeah.
kmc: zzo38: I would think all partners should explicitly consent when somebody is added
kmc: but that's based on my personal conception of poly marriage and not necessarily something that should be legally enshrined
pikhq: Yeah. Legal bonds with non-consenting individuals is a bit fucky
fizzie: It sounds like what this needs is a blockchain and smart contracts hth
zzo38: kmc: Yes, I think so too, but sometimes someone might not want to deal with it if they are unable to. So, not dealing with it should only be if you agree ahead of time that someone else can agree for you ahead of time, or if you are dead.
kmc: I think marriage as a graph should be transitively closed
b_jonas: fizzie: and cloud technology too
arseniiv: hm are there schemes for a shared secret that allow expanding the set of participants?
zzo38: But normally, yes, all current partners (and also the new one) should explicitly consent when somebody is added.
kmc: in other words a corporation where each member has the same rights
kmc: arseniiv: good question
kmc: perhaps ##crypto knows
zzo38: If you use secret sharing crypotography, and the number of members needed to decrypt does not change, then it is easy to add additional members, I think.
kmc: zzo38: probably
kmc: you would pick additional points on the same polynomial
b_jonas: I don't think that works
arseniiv: I think marriage as a graph should be transitively closed => and symmetrically too? It would get weird if not, or that state wouldn’t be achievable starting with trans. sym. closed marriages?
b_jonas: who would compute the information without revealing the secret?
kmc: afaik a k-of-n shamir share is n points from a (k+1)-dimensional polynomial, over an appropriate field
b_jonas: without learning the secret that is
kmc: b_jonas: any quorum could do it
kmc: if you have a quorum then you can solve for the polynomial
kmc: I don't know how you pick which points to share.
kmc: random, I guess.
arseniiv: (damn, f.lux has gone red and I don’t see text cursor again. A bug in calculating opposite color, I think)
zzo38: One kind of secret sharing could be you have a secret point, and each member has an equation for a line that passes through that point. The secret point can be found by any two members. Also it means any two members can add a third by making up a new equation of a line passing through that point. If you are careful then it should be unlikely to match someone else's line.
arseniiv: zzo38: ah, maybe that’s how Shamir scheme was invented? First, hyperplanes, and then a bit or generalization and bam
arseniiv: s/or/of
b_jonas: kmc: don't you mean a degree k-1 polynomial, on a field with at least n elements?
kmc: i dunno
kmc: I think the field should have lots of elements?
b_jonas: David Madore's crowning achievement on the IOCCC is relevant of course
kmc: for starters, the secret itself is a field element
b_jonas: kmc: no, you can split the secret to multiple chunks, each a field element
b_jonas: in particular, David Madore's program uses a 256 element field, and the comments claim that that works for up to 255 parties
kmc: b_jonas: ok
kmc: https://crypto.stackexchange.com/questions/24983/choosing-finite-field-size-in-shamirs-secret-sharing-scheme
kmc: I dunnoooo
b_jonas: I'd trust that that scheme works, both because it comes from David Madore with docs, and because it's won an IOCCC
b_jonas: `perl -esub h($){($_=$_[0]=pack b208,0 .unpack b362,$_[0])=~tr/\0-\c?/\0/;tr/\0/\377/c;$_}do{$y=$r;$v=join$r='',a..z;$r^=h$r&"\217"x26^h$v&$y for 0..6;$r^=$_ x26}for"k6sNP2B}({ambrusLB%Ox)Z]n0*zf\0I3"=~/./g;print$r
HackEso: Just another Perl hacker,
b_jonas: this is an old one from https://www.perlmonks.com/?node_id=863110 that evaluates a polynomial over GF(128), before that IOCCC entry has won, but a decade after David wrote that program
b_jonas: https://www.perlmonks.com/?node_id=863110
b_jonas: admittedly GF(128) makes it a bit simpler than GF(256) would be
b_jonas: so it can only encode ASCII characters
imode: whaaaaaaaaaat.
imode: am I crazy, or does "cp/m" as an address resolve to "cp.com/m"
zzo38: I think it doesn't
b_jonas: imode: browsers have an option to automatically add ".com" if the domain name doesn't exist otherwise
b_jonas: only when you type into the address bar, not in a link
imode: it's only for two characters. o_O
imode: "foo/bar" doesn't work.
imode: but "fo/bar" does.
b_jonas: they can also automatically prepend www. and prepend http://
zzo38: What I prefer is something typed into the address bar is just treated as a relative URL to the current URL, unless it has a colon at first in which case it is a search command
imode: that I understand. what I don't understand is why it only apparently works with two letters.
zzo38: Some browsers will automatically prepend the scheme based on what the domain name is. (Still, I think it ought not to automatically prepend any scheme.)
imode: nevermind, it somehow works with _multiple_ character strings.
imode: abc/def works, for example.
imode: that is bizzare!
imode: it won't do "google/" though
b_jonas: is it weird that "rose" is used as a color name, when roses are popular flowers that come in all colors you can imagine, sort of like diamonds?
b_jonas: or tulips
b_jonas: I mean, "orange" as a color name makes sense
kmc: did you know that 'pink' is also named after a flower?
kmc: https://en.wikipedia.org/wiki/Dianthus_plumarius
kmc: at least accoring to some
kmc: as well as https://en.wikipedia.org/wiki/Pinking_shears
oerjan: `hurl bin/8ball
HackEso: https://hack.esolangs.org/repo/log/tip/bin/8ball
oerjan: hum that's the wrong one
oerjan: hello pikhq
pikhq: What a day, what a day
oerjan: i'm not uplogged yet
oerjan: now i am
oerjan: i note that personal pronouns were involved both here and in the current stackexchange clusterfuck
oerjan: `? them
HackEso: them? ¯\(°_o)/¯
oerjan: `wisdom them
HackEso: the them//Information on the THEM has been removed for national security reasons.
oerjan: with you
pikhq: Let's just say that was rather rude of you and leave it at that
oerjan: my brain has trouble thinking of pronouns seriously now
oerjan: but i've been half thinking that the sane long-term solution for english is for everyone to standardize on they/them/their, which make your protest against it sort of a mind whiplash. although i can understand how it can still be rude if someone uses it _only_ for non-cis gendered people
oerjan: *makes
kmc: that is the main case where 'they' would bother me
zzo38: I sometimes use "they" for anyone, regardless of who they are, anyways
kmc: i think i'd be okay with someone who used 'they' for everyone
kmc: although the last time this actually came up, I was not okay with it
pikhq: Really a matter of context making me go "uuuuh"
kmc: but that's for complicated reasons arising from personal trauma and i wasn't really being fair to that person anyway
kmc: it took me a long time to accept that it's okay to think in principle that gender is stupid and should go away, and yet to be assertive about my own gender identity
kmc: it's one of those ideal world vs real world things
kmc: the whole thing has been really humbling as far as learning what i can and can't change about myself
kmc: transitioning is a huge change but it's something we do because we *can't* change who we really are
pikhq: At a certain point you just get done pretending to be someone else.
kmc: I think most trans people would much prefer to take a magic pill that makes you happy with your birth gender, but it doesn't exist
kmc: I don't think I would take that pill, personally
kmc: (which ironically? makes me "fake trans" to a lot of people, because they can only see this experience through the lens of misery)
pikhq: It sounds easier. But at the same time, that's a radical change in who you are as a person.
kmc: i mean for one I think that pill would have to change my personality a whole lot
kmc: and also well, being trans /is/ very interesting
kmc: and like I'm in a pretty good position to transition compared to most
kmc: and I'm some sort of extreme neophile
kmc: and i've always been a transhumanist
kmc: I'm both
kmc: like, it was really hard for me to start making permanent changes to my body
kmc: which is v. ironic
zzo38: Sometimes it isn't clear if you mean singular or plural, so then you shouldn't use "they" (or sometimes also "you", which is also grammatically plural but can also be used singular).
pikhq: Y'know what's hard? _Shopping_.
pikhq: zzo38: In such a case it's probably simplest to just rephrase to avoid the use of a pronoun.
zzo38: (Fortunately, Wizards of the Coast considered that ambiguity when making that change in Magic: the Gathering, so that the ambiguity is avoided.)
pikhq: Said cases aren't very common, but that's basic writing, ain't it?
zzo38: pikhq: Yes, that is correct, and is what is done in Magic: the Gathering in those few cases.
zzo38: (Although there are different ways of doing so. The rules for Magic: the Gathering say "that player" is used if "they" is ambiguous.)
pikhq: Reasonable within that context.
zzo38: Yes, in that context, it is reasonable.
zzo38: In other contexts, there is other ways.
pikhq: e.g. if it's ambiguous in other cases you can just use someone's name.
pikhq: Like you would if there's multiple "he"s or "she"s and you need to be clear who you're talking about.
zzo38: Yes, in the cases where their name is known (and not itself ambiguous, which in rare cases it can be).
pikhq: Language!
pikhq: Always so fuzzy around the edges
zzo38: I have no problem with singular "they", but I don't like singular "themselves". (The singular should be "themself", like for "you", it will be "yourself" as singular rather than "yourselves", I think.)
pikhq: I think the jury's out on which one is the grammatical one there.
zzo38: pikhq: Yes, those language always so fuzzy around the edges, is also one of the reason why I don't like Inform7 so much, and also a reason for why I have thought to have a AST-based format for the effect of Magic: the Gathering cards.
zzo38: pikhq: Yes, people use both, although I personally don't like to write "themselves" if it is singular.
pikhq: "Themselves" still sounds cleaner to my internal sense of things, but that's probably nothing more than pattern matching doing weird things.
zzo38: Yes, probably, I think
zzo38: (That is probably why many people use that, I think)
pikhq: Honestly, I still have a soft spot in my heart for Spivak pronouns.
kmc: well, we'll see
kmc: right now it's hard enough to get people to accept singular 'they'
kmc: even though it goes back to shakespeare if not earlier
kmc: pikhq: you don't like shopping?
pikhq: Though there is one (honestly minor) difference between historical and modern use. Historical singular "they" was for an indefinite referent; modern singular "they" extends to definite ones.
kmc: pikhq: meaning that the use to refer to a specific person is new?
pikhq: kmc: I like shopping, and since I'm still boy-mode much of the time, am terrified of being caught in public doing so
zzo38: I have a few question about conlang. One is if you have made fonts for constructed languages (with METAFONT or otherwise; for printer fonts I would probably use METAFONT if I were doing so)? Do some involve sounds not in IPA or X-SAMPA? Are there some with multiple mouth? Are there some with unusual writing directions (e.g. circular or 3D)?
zzo38: There is also Z-SAMPA, but might any involve stuff not in Z-SAMPA? What effects might physiology have on phonology?
kmc: pikhq: ah, I see
zzo38: I noticed that Z-SAMPA uses some Italian words that are used in musical notation.
pikhq: zzo38: I've never done so, but this is an interesting thing to think about.
pikhq: A conlang for non-human physiology seems like a space ripe for some interesting experiments.
kmc: pikhq: a nice thing happened to me today
kmc: I helped a guy use the parking meter in my neighborhood and he said "wow, you're tall!" several times and at the end thanked me for being a "nice girl"
pikhq: Aww. :)
kmc: and I didn't even put in particular effort today to look female
kmc: i was wearing jeans and a men's cut T-shirt
kmc: so apparently the other stuff (hair, glasses, jewelry, tits?) is enough to overcome the fact that I'm a really really tall woman, at least for some
kmc: (6'3", specifically)
pikhq: I mean, if being tall were a problem my entire family would have issues.
pikhq: My mom's 5'10". She's the short one.
kmc: it doesn't help, but it's not a dealbreaker
zzo38: I looked at information about Z-SAMPA, and they mention alternative non-ASCII characters for 8-bit character sets, although there are different 8-bit character sets so you may wish to do differently, such as PC character set.
zzo38: (Another possibility might be a variant with colours.)
zzo38: About non-human physiology, one thing I thought is that colour words might be untranslatable (although that is a separate issue from phonology, but it is still a part of the language).
pikhq: In some cases, only translatable by analogy I suppose.
pikhq: Though in truth -- color words are sometimes hard to translate even from human languages.
zzo38: Yes, although in the case I am describing it is even more difficult, I think.
pikhq: I imagine you're thinking of a species that either has a wider vision range, or (even more difficult) has a vision range that doesn't overlap with ours.
zzo38: I found a article on Wikipedia about untranslatability.
pikhq: Though even just having different sensitivity peaks within our vision range probably does odd things to color perception.
zzo38: pikhq: Yes, the former; I didn't think of the latter although of course there is that too.
zzo38: pikhq: I didn't think of that either, but that is also a good point.
b_jonas: kmc: fuchsia and lavender are named of flowers too
b_jonas: do we disqualify that featured language candidate because TwilightSparkle didn't read the instructions at the top of that page?
Lykaina: hi b_jonas
b_jonas: nah, let's give her a little more time, in case she realizes her mistake and edits
b_jonas: or reads the channel
b_jonas: I should suggest nopfunge as a featured language
Lykaina: i said i would make twitter-sized cryptoquotes, i just have to figure out how
b_jonas: what do you mean by "cryptoquote"?
b_jonas: a quote where it's hard to tell where the quote comes from?
Lykaina: sometimes called cryptics
Lykaina: in the newspaper
Lykaina: they are quotes
Lykaina: that are encrypted with a simple substitution cipher
Lykaina: turns out, easier to break than make
Lykaina: 26! possible ciphers
Lykaina: 26! = 403291461126605635584000000
Lykaina: and there are so many quotes
b_jonas: ``` \' | perl -e'$/="";$_=<>;for$c(0..rand(25)){y/A-Za-z/B-ZAb-za/};print'
HackEso: 930) Gur bgure qnl (jryy, gur bgure jrrx) zl jvsr jnf naablrq jvgu zr orpnhfr fur unq n qernz jurer V unq tbggra hf cynar gvpxrgf vagb n #rfbgrevp zrrg fbzrjurer va gur zvqqyr bs Terraynaq va gur jvagre, jvgubhg nfxvat ure svefg. Cyhf fur jnfa'g ernyyl vagrerfgrq va n #rfbgrevp zrrg ng nyy, yrg nybar bar va Terraynaq, yrg nybar bar va Terraynaq va jvagregvzr. (V guvax vg'f xvaq bs pbyq gurer?)
b_jonas: oh, arbitrary substitution one
b_jonas: that's better
b_jonas: ``` \' | perl -e'$/="";$_=<>;use List::Util"shuffle";$c=join("",shuffle("a".."z"));eval"y/a-zA-Z/$c\U$c/";print'
HackEso: 848) Scj B lq vlabnc Cvgdbjf jhclxck, iua ba bj Elvlmblv Cvgdbjf, vza Ikbabjf Cvgdbjf.
b_jonas: ``` \' | perl -e'$/="";$_=<>;use List::Util"shuffle";$c=join("",shuffle("a".."z"));eval"y/a-zA-Z/$c\U$c/";print'
HackEso: 262) JDS ejb HS'PP JS MNAS WQ UBBKESIWUPPD FSIWKQI DQNA IKBZ QGWSI
b_jonas: the "38" is sort of a giveaway
Lykaina: famous quotes, not chat room quotes...
b_jonas: or just use the substitution that turns the quote to alphabetically the first, for canonicity
b_jonas: so you take the first letter to "a", the second unique letter to "b" etc
Lykaina: just as easy to break
b_jonas: the last o strip was 12 days ago. time to upload the next one.
b_jonas: fizzie: wiki notification bot missed my edit
b_jonas: it's just late
b_jonas: [ 0.0254*12#.6 7 NB. how long is 6 foot and 7 inches?
j-bot: b_jonas: 2.0066
b_jonas: `8ball Does fungot give better life advice than a Magic 8-ball?
fungot: b_jonas: forcer says: would " to give somebody something" or " gregor arr"... sort of tripping point is that satisfaction of predicate should be the default.
HackEso: It is certain.
b_jonas: fungot, please move the mouse cursor away so it doesn't cover your answer
fungot: b_jonas: they're expensive.
b_jonas: what? mouses? no they aren't
int-e: must be the cursors then, not the mice.
shachaf: Or answers.
kmc: the tripping point
int-e: pikhq: didn't that happen?
int-e: pikhq: close enough, I think: http://www.milliondollarhomepage.com/
int-e: (wow that looks so terrible)
pikhq: Pretty awesome bit though.
int-e: That was 2005. Time's passing so quickly.
int-e: https://en.wikipedia.org/wiki/The_Million_Dollar_Homepage#Survival ... there are "studies" about this page!
pikhq: Time is an illusion that helps things make sense... :)
pikhq: Uh-huh...
int-e: b_jonas: ^^ this is your time to shine with another rant.
pikhq: BF derivatives aren't clever? :)
int-e: Let's wait for the inevitable quine, I mean program that prints its own source code.
b_jonas: int-e: huh? why? just because it's a brainfuck-derivative?
int-e: b_jonas: yes
b_jonas: int-e: ok. my usual rant is that while those supposed esoteric languages are stupid, the wiki is serving its originally intended purpose that it's attracting people away from places that we want those people to spam less, like wikipedias.
b_jonas: a language with the semantics of Ook! and the syntax of Real fast Nora's is not particularly innovative, but it makes more sense than some of the "languages" that people write pages about
b_jonas: at least it's well-defined enough that you could write programs in it, if the aliens with the big guns demanded that from you
ais523: oddly, the BF derivative shovelware ended up serving a "useful" purpose, in that CGCC started writing polyglots with all the syntax-substituted brainfucks
b_jonas: that's not a useful purpose, and it's not like they were going to run out of languages usable for programming
ais523: the megapolyglot often seems to be on the verge of running out of languages that can be made to fit
b_jonas: oh, you mean that one]\
b_jonas: not just smaller polyglots
ais523: right, the esolangs.org community is thinking "surely we have enough BF derivatives already?", and CGCC has fit in 277 languages into a polyglot and thus is often on the verge of running out
ais523: BF substitutions tend to be easy to fit in due to having simple semantics and ignoring most of the program
ais523: and that 277 includes a lot of very closely related languages, such as slightly different Haskell command lines
b_jonas: yeah, some people on code golf count python1 as a separate programming language from python2
b_jonas: random observations from my vacation to NRW. in Dortmund, there's an U-Bahn (tube, metro) station where there's a platform on both sides of the train, the train doors open on both sides at the same time, people get on on one side and off on the other side. this is an interesting solution for a high traffic stop that I hadn't seen anywhere else. I like it.
ais523: everyone should according to their rules
ais523: their definition of a "language" is very precise, things like the Windows version of Perl 5.26 and the Linux version of Perl 5.26 are different languages…
ais523: although the rules end up breaking down when you take them to the logical extremes, most people other than me avoid those
b_jonas: well sure. I've worked with perl on windows, including trying to port my own script from windows-native perl to msys perl. perl is so incompatible with itself that you can consider any version a different version from itself.
b_jonas: like, there used to be a windows-specific bug in perl when you called glob with multiple arguments
b_jonas: and it's not just about the parts that are different because they access some functionality where the underlying system calls work differently
ais523: didn't old versions of Perl implement glob using the shell?
b_jonas: yes, old ones did
b_jonas: using tcsh I think
ais523: "Netscape Navigator 9 with JavaScript disabled"
ais523: (actual language inside the polyglot)
b_jonas: what makes it strange is how new contributors test the code in all those weird languages
ais523: I pretty much gave up once it got past the scope of what TIO could handle
b_jonas: have they added a pair of languages that are two very similar versions of a 90s game console, and the difference between them is detected from the timing of the sound chip or the diskette drive, so you can only test it on real hardware with an eprom cart, because the emulator doesn't emulate the speed of different diskette drives realistically?
b_jonas: s/emulator/emulators/
ais523: actually there's a surprising lack of machine codes
ais523: (there's at least one, but you'd expect more)
ais523: I think there's a desire not to add any languages with a hard size limit
b_jonas: even when the hard size limit is larger than the 32 kilobyte or 64 kilobyte post size limit of SE?
ais523: we could always start compressing it in the post
ais523: SE allows "Stack Snippets" which are basically a TC post syntax (based on JavaScript), and they're already being used to collapse the polyglots to save space on the page
ais523: so as long as you can compress it and the post to less than the post size - decompressor size, it should be OK
ais523: wow, RainbowRabbit left quickly
ais523: normally on IRC you have to wait a bit if you want to see whether anyone's around
b_jonas: also, in Dortmund, everything is closed on Sunday, which is pretty annoying to me
ais523: Sunday rules in the UK are weird
ais523: major/large shops are not allowed to open more than 8 hours on a Sunday
b_jonas: we had about a year when we had government rules for Sunday too
b_jonas: but they got reverted
ais523: but small shops can open for as long as they like
b_jonas: luckily
ais523: major supermarkets often have small spinoffs to get around this rule
b_jonas: yeah, I think we had exceptions for small shops too
b_jonas: I think that was the rule because it matched their stated purpose with the rule, which was to protect workers who may not want to work on Sunday but were too powerless against their employees -- though people believed there was a less obvious selfish political purpose in the backgroun
b_jonas: s/purpose/agenda/
pikhq: Probably historically there was a religious justification to it.
b_jonas: yeah, that was certainly part of what they played for
ais523: I think in the UK it was originally a religious thing that got repurposed (without necessarily undermining the original reason)
b_jonas: but I don't think religion has much to do with the general idea that people should have a rest on some days of the week
b_jonas: that's the sort of thing that both religious and anti-religious governments promised because people like it
pikhq: Some religions do promote it, but it has been fairly common in a wide variety of societies, yeah
b_jonas: right. it's like not murdering people. religions promote it as a rule too, but so do anti-religious people
b_jonas: ah right, we just had an smbc on that
zzo38: I think the rule should be, avoid making too much noise outside on Sunday. But otherwise you can do stuff if you want to do, just as well as other days of the week.
zzo38: (With one exception, perhaps: The bells that tell the time on the clock will still be allowed.)
b_jonas: the northern part of Dortmund has an itneresting park/forest hybrid thing. it's more well-tended than the kind of forest I'm used to, but bigger and more closed than a park in the sense that I could easily walk for a while in the middle without seeing anything but trees.
b_jonas: it's quite close to the city center too
b_jonas: was nice but also a little scary in the dark
b_jonas: not like one of those big castle gardens either, too irregular for that
b_jonas: are there music players suitable for children under 3 years of age, in the sense that they're impossible even for an infant to disassemble, too large to try to swallow, and spit-proof? or is that practically impossible because you can't make the contact towards the charger infant-proof?
b_jonas: presumably it would need to have built-in memory rather than a micro-SD card slot
b_jonas: and no display
pikhq: Macro SD card?
pikhq: (not an SD card, more like a PCMCIA-sized SD card :))
b_jonas: pikhq: no no. an infant would bite on that and break it
b_jonas: infant-proofing is harder than vandal-proofing
ais523: Here's to the crazy ones is a inspiration of Shakespeare Programming Language adjusted to reference Apple's TextEdit icon before Yosemite, saying "Dear Kate, Here's to the crazy ones." ← that sentence has got a close-to-perfectly-balanced ambiguity between Kate as a person's name and Kate as a text editor's name
pikhq: b_jonas: Fiiine
ais523: given that it's Apple, the former is probably more likely, but that depends on context
b_jonas: I'm considering to change my featured language suggestion from Befunge to Nopfunge
b_jonas: despite that I usually don't like counter machines
ais523: Nopfunge and Tip are interesting because all the information is stored in the instruction pointer via repeating the program
b_jonas: Conedy might be like that too, but we don't know if it's powerful enough
zzo38: Have you seen my new and currently unnamed esolangs? I would want to know what is other people's comment of it.
b_jonas: You could say that they're cheating by storing extra information that doesn't actually determine the instruction in the higher order parts for Nopfunge or the lower order parts for Conedy or Blindfolded Arithmetic
ais523: actually, this reminds me of an esolang idea I was working on a while back but never made public because I couldn't get it to work
b_jonas: but the language definitions are natural enough that it doesn't feel like cheating
zzo38: Which one is that?
ais523: it consists of a procedurally generated 3D space with lots of objects in it (like spheres, cubes, rendered 3D ASCII letters, that sort of thing)
ais523: a program is simply a point and a direction
ais523: interpreted as a ray that bounces off things
imode: raytracing: the esolang.
ais523: and all the numbers have infinite precision (somehow, not sure whether rationals or computable reals work better)
b_jonas: ais523: hmm, do we in first place have a language where the contents of the instruction space is a pre-determined infinite one and the program consists of only a bignum instruction pointer for where to start?
ais523: I couldn't get it to be TC in a natural way, though
imode: ais523: have you seen "geometric" turing machines?
ais523: b_jonas: I don't think so, I might be wrong though
ais523: imode: no
b_jonas: ais523: wait, why 3D rather than 2D?
imode: lemme see if I can dig that up.
b_jonas: can't it be turing-complete even if it's 2D?
ais523: b_jonas: actually I think even 3 dimensions may be too little
b_jonas: I guess to get such a language, you can just fix a nopfunge program that is a universal machine
ais523: the basic problems are related to a) how you store information, b) how you store the program
ais523: if you have curved surfaces to bounce off you can effectively define a program via using very minor shifts in the starting position of the ray, that get amplified when bouncing, so that you can take whatever path you like
ais523: but a 3D object has a 2D surface, that means you're using up an entire dimension just to store the program
b_jonas: right, so you can have a full oracle in a single finely patterned object
b_jonas: that just reflect the ray to the right direction in a bounded number of steps
b_jonas: possibly even in one step if it needn't be smooth
ais523: and the remaining 1 dimension doesn't seem to be usable for anything more data-powerful than a single stack without some really contrived objects
imode: ugh, this dude's stuff is scattered everywhere.
imode: http://lara.inist.fr/bitstream/handle/2332/1001/LIP-RR2004-09.pdf?sequence=1
ais523: anyway, I got stuck (primarily on this problem) and never ended up creating a usable language, but that's about as far as I've gotten
imode: he demonstrates a 2 counter automaton.
imode: it's a "signal machine".
b_jonas: ais523: could you make something discrete, like a reversible nopfunge in ten dimensions?
imode: https://arxiv.org/pdf/0906.3225.pdf
ais523: it's easy enough to do it if you allow for contrived object fields
imode: more stuff.
ais523: like having a universal machine just lying there, or using some sort of space-filling pattern that will contain any particular finite set of objects in any possible arrangement somewhere (assuminig the number of possible object arrangements is countable)
imode: dude essentially forms computations by geometric construction.
imode: all 2D too.
b_jonas: ais523: a universal machine for something much more powerful than turing though
imode: so you could absolutely make it TC, just by having different collision rules for objects.
ais523: imode: right, I wanted something like that but more tarpitty
imode: can't get more tarpitty than actual TMs. :P
ais523: yes you can
imode: well you probably could now that I think about it..
imode: keep forgetting the lengths people will go to to make their language unusable.
ais523: tag machines are a good example of something generally considered to be simpler than a Turing machine
b_jonas: imode: it's not just deliberately making them unusable, it's natural constructions that happen to be hard to use, or stuff like M:tG that are designed for goals other than general programming
imode: I dunno, Malbolge seems maliciously designed.
imode: along with a host of other languages.
b_jonas: imode: yeah, think of Nopfunge rather than Malbolge or Intercal
ais523: Malbolge's kind of a special case, it was intentionally designed to be unusable
b_jonas: and note that Malbolge is old, which is its excuse
ais523: b_jonas: well, if you subscribe to the rottytooth school that sees esolang creation as art, the user experience is part of that
imode: doesn't seem rather well thought out considering... ALGOL68. :P
ais523: and the theoretical/computational experience is quite different
ais523: but also part of that
ais523: esolangs designed as esolangs should ideally be interesting in all dimensions
ais523: I put a lot of effort into Incident, for example (which is hard to use but at least has interesting reasons for that)
ais523: much of my esolang research is more at the computational model end of things, though
ais523: in which case the syntax doesn't even really exist, you're just coming up with something to fit it into a computer
ais523: I guess my line is "if this language mostly exists to compile into something else, its syntax is not the interesting part"
ais523: whereas if the language mostly exists for some other reason, things like the user interface are important
ais523: there's an esolang (I've forgotten what it's called) in which there's a time limit on entering each line of the program and you can't use backspace…
b_jonas: right, waterfall model and stackflow are examples where the syntax isn't important
pikhq: At the very least, esolangs ought to be interesting along some dimension in ways that would otherwise be impractical for a language intended for serious use by _someone_.
b_jonas: ais523: is that one flavored as a magic system in some fantasy universe, the programs being spells?
ais523: b_jonas: no, it's flavoured as a terrible IDE
b_jonas: ah yes, those do exist
b_jonas: like the door opening keypad at my grandmother's house, which has such a short timeout that it erases my input between when I type the flat number and separator and when I figure out what the four-digit password is
b_jonas: I always get it only on second try, when I have the password cached into my short term memory rather than just use the mnemonic from my long term memory
b_jonas: so stupid, no need to have such a short timeout there
ais523: the purpose of a timeout on those things is often to prevent issues where one person leaves information partially entered and then another person uses the keypad, causing all the inputs to be misinterpreted
b_jonas: yes, I agree that there should be a timeout
b_jonas: it's just too short in that case
ais523: I've seen mechanical keypads of that nature which, being mechanical, have no timeout; there are often big signs put above them saying "please remember to press cancel before using this keypad"
zzo38: How short is the timeout?
b_jonas: zzo38: I don't remember, probably like five seconds
b_jonas: ais523: this keypad has a display though, which shows "---" while you're typing the password
b_jonas: this sort of keypad is really common, we have a similar one on this house, and one on my parents' house
b_jonas: the keypad reads digits by shining horizontal and vertical lights a millimeter in front of the keypad, and detecting which row and column of light is interrupted. thus it can only read one key at a time.
b_jonas: it's an interesting way to make a keypad that doesn't break easily from outdoor conditions and deliberate vandalism
ais523: couldn't it read two or more keys at a time if they were in the same row or column?
b_jonas: perhaps it could
b_jonas: but I think it's better to detect those as invalid reads
b_jonas: `? resetti
HackEso: resetti? ¯\(°_o)/¯
ais523: you could use them as chords to expand the character set of your passwords
b_jonas: ais523: the one at my parent's house already sometimes becomes unusable at winter. or it did before some of the hardware got replaced. so I say no.
b_jonas: if you want to expand password space, just use passwords longer than four digits.
zzo38: I think four digit passwords is too short. Even if four digit passwords are allowed, the maximum should be more than that, perhaps eight or ten digits.
b_jonas: zzo38: for a house gate, it doesn't really matter
b_jonas: but sure, allowing a longer password is fine
b_jonas: and the hardware these days can allow it easily
b_jonas: for electronic house door openers I mean, not for eg. combination locks
b_jonas: `? electronic monk
HackEso: electronic monk? ¯\(°_o)/¯
pikhq: Electrocuted monk?
b_jonas: pikhq: no. electronic monk, from Douglas Adams.
pikhq: Bah, humbug.
pikhq: Go stick your head in a pig.
arseniiv: do someone knows what’s that CRT mania about?
arseniiv: how objective is it
b_jonas: `? crt
HackEso: crt? ¯\(°_o)/¯
arseniiv: CRT display, I mean
arseniiv: versus modern LCD technologies which there too many are now that I don’t know their betterness relations anymore
arseniiv: b_jonas: I know one electronic monk, it’s called Delay Lama and is very old by now
b_jonas: does he use mercury delay lines?
imode: it's funny you mention that, I had an idea for a language that functioned similarly to delay lines.
imode: instructions are laid out linearly. data is fed through them, one at a time. the instructions essentially define a pipeline. every element of memory is fed through the pipeline and then sent back through the loop until you hit a stopping point.
imode: with structured data items and stateful pipeline stages, could prove a concise dataflow language if you figure out how to "flatten" dataflow networks into a pipeline.
arseniiv: b_jonas: as if!
arseniiv: uh, I meant to say “if only”
ais523: hmm, could you combine the two phrases into "as if only" to make a simultaneous expression of disbelief and encouragement?
b_jonas: fungot probably could, he combines expressions from a too narrow window all the time
fungot: b_jonas: your patience is commendable. let me check whether it is
b_jonas: fungot: it's time for the new o strip. please post it.
fungot: b_jonas: then i think you have a third-world browser? or disabling it voluntarly? sure
b_jonas: I did do a shift-refresh. I'm not going to disable the browser cache for you.
pikhq: arseniiv: There's a few different claims for why they're "better", but the Big Ones are: CRTs have less intrinsic delay, CRTs are better at handling interlaced signals, and CRTs tend to be more accepting of odd display timings than modern LCDs are.
b_jonas: pikhq: also their colors look the same from a wider viewing angle
pikhq: For example, some games switch between 240p and 480i display modes with slightly different timing, and modern displays basically stop drawing anything during the switch.
arseniiv: b_jonas: is that still an issue with modern types of LCDs?
pikhq: (old CRTs just don't care)
b_jonas: arseniiv: I think so
b_jonas: arseniiv: what did improve in LCDs is that their colors look nicer, and the contrast stronger
arseniiv: hmm I guess first of all I just don’t game too much, moreso in fullscreen
arseniiv: I even watched films in a window usually :D
pikhq: Ultimately all of those add up to "old game consoles were built for old displays, and modern displays aren't 100% compatible with them -- especially without a lot of hacks"
b_jonas: pikhq: the viewing angle thing isn't about that
pikhq: Yeah, that's more a fundamental limitation in the display tech.
arseniiv: pikhq: wait, I thought they talked about modern gaming? oh
b_jonas: I think it's both
pikhq: Though modern LCDs have _much_ better viewing angles than old ones did.
b_jonas: the larger part is that the old games were designed for crts
pikhq: Yeah, CRTs having better latency still holds for modern gaming.
pikhq: Though -- if you purchase the right displays, you can get LCD displays with low enough latency it's not a problem.
b_jonas: but it's also that crts can do 200 hertz refresh and the visible output can change quickly compared to similarly priced lcds
b_jonas: but I think that's getting somewhat solved by more expensive lcds
pikhq: (buuut it's a lot easier to find suitable CRTs)
b_jonas: I prefer lcds though, they have a lot of advantages
b_jonas: well, at least nice lcds
b_jonas: not the cheap ones that come with broken pixels
b_jonas: I had the misfortune of meeting the latter kind at work
zzo38: Does some mailing list software include support for NNTP?
zzo38: Now I added a export command into bystand, to export articles to mbox format. (Currently, there is no import, though.)
oerjan: what makes it strange is how new contributors test the code in all those weird languages <-- i think at this point only stasoid knows how to do it :P
oerjan: and presumably has a fully scripted setup for it
zzo38: pikhq: I think computer monitors have lower delay than LCD TV sets. So, if you have a game console system, connect it to a computer monitor rather than using the TV set.
zzo38: (If they have a compatible connection)
pikhq: It actually depends on both the TV and the monitor.
pikhq: Some TVs are quite low-delay, some monitors are quite high.
pikhq: Though for older consoles the worst case is when you're feeding an interlaced signal in.
pikhq: Then, a TV will usually try to do a smart deinterlacing algorithm.
pikhq: Which is reasonable for generic video content, as that'll look better.
pikhq: But for games, latency is generally so important you'd rather deal with a bad deinterlace, like bob deinterlacing, just to not have the extra delay.
zzo38: Do some TV sets have a option to change the deinterlacing algorithm?
zzo38: Some old systems such as Famicom will output 240p, but apparently some newer TV sets won't understand a 240p signal
pikhq: Some TVs do. There are also third-party devices, like the Retrotink 2x, that will do the ADC and deinterlacing themselves, and send a digital signal over HDMI.
zzo38: I think that HDMI isn't very good and has a lot of problems with the design. (I think Digi-RGB is better.)
pikhq: You're not wrong.
pikhq: HDMI is _good enough_ for most purposes, but it's got significant problems in its design.
zzo38: Yes, that is why I make the better one. I think everything with one cable is more disadvantage than an advantage, however, I also think that it is possible to make the advantages of both ways, by defining the standard arrangement and you can use cables which can be clipped together if wanted to do.
zzo38: You can have one cable for video, one for each channel of audio, and one for commands, and you can connect only some in case you do not need all of them, or to connect them differently such as if the audio is connected to a separate audio system than the TV screen.
pikhq: While that would get you a lot of flexibility, it does have the downside that most consumers want their video cabling to be simple.
zzo38: One problem of HDMI is that HDMI does not have captions.
pikhq: Oh, right, that.
pikhq: That's just weird, too.
pikhq: I forget, do Blurays have captions?
zzo38: Yes, I know you might want the video cabling to be simple, which is why they are all clipped together, so that you do not have to deal with them individually unless you want to do so.
pikhq: I know they have subtitles, but I don't remember if they have embedded captions like DVD does.
zzo38: I don't know much about Blu-ray. DVD video has both captions and subtitles.
zzo38: (I have a VHS/DVD combo which has the ability to render captions itself, whether from VHS, DVD, or external inputs.)
zzo38: Even though DVD subtitles use indexed colours, I have not seen any option in DVD players and DVD software to specify your own colours and opacity for subtitles.
pikhq: Which would be nice, cause some discs specify really bad colors too.
zzo38: With Digi-RGB, the captions are transmitted using the IMIDI cable (which is the only one with bidirectional data, and it is optional to use that cable); the Digi-RGB video cable is only the picture and nothing else.
kmc: good evening
pikhq: Evening.
oerjan: morning.
kmc: fungot: what time is it anyway?
fungot: kmc: i'm the author of the fnord
pikhq: Such wisdom.
oerjan: pikhq: sorry for the bad qwwem joke yesterday
pikhq: Apology accepted
zzo38: Do you like IMIDI and Digi-RGB?
pikhq: I feel I don't know enough to be certain how I feel about them.
b_jonas: ``` datei # what time is it anyway
HackEso: 2019-10-07 07:29:24.622 +0000 UTC October 7 Monday 2019-W41-1
oerjan: `ddate
HackEso: Today is Setting Orange, the 61st day of Bureaucracy in the YOLD 3185
b_jonas: `` TZ=Pacific/Auckland datei
HackEso: 2019-10-07 20:32:28.859 +1300 NZDT October 7 Monday 2019-W41-1
oerjan: `where beat
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: where: not found
oerjan: `` where beat
HackEso: /hackenv/bin/`: line 5: where: command not found
oerjan: `` which beat
HackEso: /hackenv/bin/beat
oerjan: `cat bin/beat
HackEso: #!/usr/bin/python3 \ # beat - print current time in Swatch Internet Time format. \ # blame fizzie \ import math,sys,getopt,time \ prec = 0 \ atime = None \ opts,args = getopt.getopt(sys.argv[1:], "d:hpP:") \ for opt,oarg in opts: \ if "-d" == opt: \ if "@" == oarg[0]: \ atime = float(oarg[1:]) \ else: \ raise RuntimeError("unknown date format") \ elif "-p" == opt: prec = 2 \ elif "-P" == opt: prec = int(oarg) \ elif "-h" == opt: \ print
b_jonas: `? beat
HackEso: beat? ¯\(°_o)/¯
b_jonas: `whatis beat
HackEso: beat(1hackeso) - print current time in Swatch Internet Time format
b_jonas: `what beat
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: what: not found
b_jonas: `who beat
HackEso: No output.
b_jonas: `when beat
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: when: not found
b_jonas: `why beat
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: why: not found
b_jonas: `whois beat
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: whois: not found
oerjan: `whence beat
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: whence: not found
oerjan: `whomsoever beat
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: whomsoever: not found
b_jonas: ``` for x in type what who which how why when whence where whither; do "$x" beat 2>/dev/null && echo "+$x"; "${x}is" beat 2>/dev/null && echo "+${x}is"; done
HackEso: beat is /hackenv/bin/beat \ +type \ beat(1hackeso) - print current time in Swatch Internet Time format \ +whatis \ +who \ /hackenv/bin/beat \ +which \ beat: /hackenv/bin/beat \ +whereis
b_jonas: ``` who beat
HackEso: No output.
b_jonas: ``` who beat you
HackEso: No output.
b_jonas: show it on the dolly
b_jonas: ``` whereis beat
HackEso: beat: /hackenv/bin/beat
b_jonas: ``` type whereis
HackEso: whereis is /usr/bin/whereis
b_jonas: ``` whatis whereis
HackEso: whereis(1) - locate the binary, source, and manual page files for a command
b_jonas: ``` dpkg-query -S /usr/bin/whereis
HackEso: dpkg-query: error: failed to open package info file '/var/lib/dpkg/status' for reading: No such file or directory
b_jonas: if we had the package database, then we could add a "whence" script that does dpkg-query -S
b_jonas: and a when script that queries both the hg repository and the package history for when the file was installed and modified
b_jonas: a who script to tell who modified it...
b_jonas: and a why script that links to channel logs for context
wib_jonas: ``` for x in type what who which how why when whence where whither; do type -a "$x" 2>/dev/null; type -a "${x}is" 2>/dev/null; done
HackEso: type is a shell builtin \ whatis is /hackenv/bin/whatis \ whatis is /usr/bin/whatis \ who is /usr/bin/who \ which is /usr/bin/which \ which is /bin/which \ whereis is /usr/bin/whereis
shig: So I found this place from the bfjoust site. Anywhre with IOCCC winners announced in the topic can't be that bad
wib_jonas: `welcome shig
HackEso: shig: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
zemhill: web.shig_eyeless_joustee: points -5.50, score 13.46, rank 42/47
fizzie: The underscore situation is getting ridiculous.
fizzie: But I'm pretty afraid that the thing wouldn't actually start up properly if I kill it.
wib_jonas: fizzie: its nick is 16 chars long, which is the maximum on freenode
wib_jonas: do you think it will crash when it tries to add another underscore?
wib_jonas: or fail to connect?
wib_jonas: or will it get more ridiculous by modifying its nick in different ways?\
fizzie: I'm not sure. It may just keep the current amount of underscores.
fizzie: I think it's left and come back a few times with the current name, though from my client's perspective those were all netsplits, so maybe it didn't actually reconnect those times.
int-e: it has also reached the maximum nickname length on Freenode, I think.
int-e: as wib_jonas already pointed out
wib_jonas: well, if you can't fix the code, you just have to take it to a different network. there exist some with longer nick max lengths and longer channel max lengths. I think the maximum isn't even attained on the same network.
fizzie: The plan was (I guess technically still is) to migrate it under the esolangs.org domain and at the same time switch to a rewrite that I think I left about half finished. Just never remember to pick that up.
zemhill: web.shig_this_is_hard: points -15.98, score 9.72, rank 46/47
Hooloovo0: got this working today: https://cemetech.net/forum/viewtopic.php?p=282466#282466
b_jonas: Hooloovo0: uh, that's a weird goal
b_jonas: so what does it do now?
b_jonas: does the z80 need a lot of extra chips to make sense?
Hooloovo0: nothing yet, since I just got done with the hardware
Hooloovo0: in the 83+ there's an ASIC that does all the glue logic
b_jonas: how does it get a RAM?
b_jonas: or doesn't the z80 need one?
Hooloovo0: there's ram and flash on the TI board
Hooloovo0: http://hooloovoo.blue/files/noz80.png
Hooloovo0: that's the board with the z80 removed
b_jonas: sure there's some RAM, but I thought that was RAM that is hardware incompatible, plus the TI is already using it
Hooloovo0: wait, the extra chip piggybacked on the back is the CPU, replacing the surface-mount one that would normally be on the board
Hooloovo0: I'm confused what ram you think is incompatible?
b_jonas: so the normal cpu isn't there?
kmc: I got a TI-92 at the flea market
kmc: what should i do with it
kmc: i was thinking something ham radio related
kmc: i wonder if there are any morse encoder/decoder for it
kmc: it would be easy to hook up the link port to a cw keyer jack
b_jonas: ah, so this TI model already uses a z80 cpu?
b_jonas: that explains a lot
Hooloovo0: yes, sorry, I guess that's not clear if you don't know anything about the calc
b_jonas: I'm confused by calculator models, I assumed this was a calculator from 2000 or something
Hooloovo0: it actually is, the date code is 0800
Hooloovo0: (aug 2000)
b_jonas: sure, but the model
b_jonas: anyway, ok, so it uses a z80 cpu
b_jonas: and you replaced that with another z80 cpu
b_jonas: that makes a lot more sense
b_jonas: how long are those ribbon cables from the board to the cpu? the photos don't show the end
Hooloovo0: right, so eventually I can do something like http://www.cosam.org/projects/z80/panel.html which would be basically impossible with the original, surface-mount CPU
b_jonas: and at what frequency does the RAM run?
Hooloovo0: the system clock is by default 6Mhz
Hooloovo0: I don't have my frequency counter with me right now, but I have added in a variable resistor so I can overclock it
Hooloovo0: you can see the ribbon cables between the two halves in the first picture
Hooloovo0: they're maybe 15cm total
kmc: what's the purpose of replacing the CPU?
b_jonas: ok, that sounds not impossible
Hooloovo0: top of the post lists some reasons :)
Hooloovo0: also I'm not aware of a morse encoder, but that shouldn't be too hard to do in C I think
kmc: encoder would be almost trivial
kmc: decoding is much harder
Hooloovo0: yeah, especially since it's not an analog port
kmc: you would want some kind of tone detector circuit
kmc: it could be level based, or frequency based
kmc: not necessarily that complicated
kmc: there are also ICs for that
Hooloovo0: I bet you could do it with a 555 and maybe an op-amp
b_jonas: ok, so this channel is about esoteric hardware too now
kmc: you could maybe do it with a resonant LRC circuit that has an appropriate decay constant
kmc: not sure if it's feasible to get high enough Q on that
Hooloovo0: do you have a link cable? I've got more than I need
kmc: but you also need to do stats to work out the pulse lengths
Hooloovo0: but you can probably just get away with any old 2.5mm TRS
kmc: and well, humans are not always super consistent with morse timing
kmc: so it can be tricky
kmc: Hooloovo0: I would love a link cable?
kmc: Hooloovo0: I would love a link cable*
kmc: and, do you mean I could make one with a TRS plug and a USB-TTL adapter or something?
kmc: that sounds like something I could do with parts on hand, which is cool
kmc: so many projects
kmc: I wonder if my Mouser order's here yet
kmc: for some sex toy hacking
kmc: (is that also esoteric)
Hooloovo0: actually, I actually do have a spare RS232 link cable
Hooloovo0: s/actually/
kmc: I don't want to use an actual RS232 port
kmc: USB would be good
Hooloovo0: if you have a usb-rs232 that'll work with the graylink
b_jonas: Hooloovo0: with male or female and the wide or narrow ends?
Hooloovo0: and I picked one up from the dump last week
Hooloovo0: also I have spare calc-calc cables, more than I can use
kmc: that one is just a traight thru TRS right
kmc: oh but it's 2.5mm not 3.5mm
kmc: or is it a crossover
Hooloovo0: straight-through
kmc: I could also most likely program one of my microcontrollers to be a link cable
kmc: which would be a little silly
kmc: but the same hardware could act as an IO expander, ADC, etc
Hooloovo0: TI has weird-length t and s connectors but in my experience it works with just a standard one
kmc: anyway do you have a premade working USB link cable for me?
kmc: you know maybe I think life is good and fine
Hooloovo0: also yes
Hooloovo0: wait I might actually have one, but if I do, it's in my storage unit
kmc: i bet it wouldn't cost much to buy one
Hooloovo0: I think they got significantly cheaper since TI did away with the link port on the CE
kmc: I had a grey cable back in the day because it meant I could plug a modem into my 83+
kmc: including the wireless ricochet modem
kmc: that was really fun
kmc: i did IRC from it a little
Hooloovo0: wait, how? I'm not aware of any tcp clients for z80 at all
Hooloovo0: I guess if you could dial into some computer that can do IRC then that would work
kmc: not TCP
Hooloovo0: but yeah, the graylink is a lot of fun
kmc: just a serial console
kmc: Ricochet was a pre-wifi, pre-affordable-cell-data metro area networking service
b_jonas: strange
kmc: on 900 MHz
kmc: they had their own 'fast' protocol with the host but you could also put it into a Hayes AT compatible mode and dial direct between modems, which was good because the service went out of business and you could buy them for cheap
kmc: so I had one in the basement connected to my OpenBSD server and I could 'dial' it from my bedroom using the 83+ and a big pile of cable adapters
kmc: one fun-evil thing would be to put a little wireles module (maybe one of the nRF serial ones) in a TI-* case
Hooloovo0: that's awesome
kmc: so you could message people while taking an exam
kmc: I thought about this kind of stuff for fun but of course I didn't need to cheat to get a great SAT score :P
kmc: i'm not sure but I bet I also had the 83+ hooked up to an actual phone line modem at some point
b_jonas: so? there are still others who need to cheat to get a great SAT score and who may have bought your service
kmc: i was lawful good back then
kmc: now i'm chaotic good
Hooloovo0: I wrote a shitty IRC client for the 92+ based on https://www.ticalc.org/archives/files/fileinfo/160/16061.html
Hooloovo0: used it for a conference badge
kmc: what hardware did you use for that
Hooloovo0: just a graylink, and a laptop acting as a slip gateway
kmc: ok cool
Hooloovo0: and same re: not needing to cheat
Hooloovo0: I think during the con I had a laptop without real serial ports so there was a usb adapter in there
Hooloovo0: I could actually set it up with a modem, now that I have a phone line set up
Hooloovo0: s/line/system/
Hooloovo0: the graylink is only half duplex, though.... so collisions have to be dealt with in software... and that's problematic
b_jonas: Hooloovo0: collisions? not a protocol for switching direction?
Hooloovo0: no, TI's link protocol just... doesn't really handle that
Hooloovo0: and the ip-over-serial protocol assumes that collisions can't happen
kmc: Hooloovo0: your calculator brain surgery is impressive
kmc: that's a lot of soldering
fizzie: We used a TI-86 as the controller of an echo effect for a DSP programming course at the university.
fizzie: Didn't involve any soldering, but involved like two evenings of debugging with an oscilloscope before someone thought to check the speaker cable scavenged from somewhere.
fizzie: (It was bad.)
kmc: typical
fizzie: https://zem.fi/tmp/spank.jpg
fizzie: (The code was nothing to write home about, so we had to embellish it *somehow* for the flair.)
shachaf: hi kmc
shachaf: what'z jammin'
kmc: frustrated because my home internet keeps going down and i don't know why
shachaf: that's scow
shachaf: do you like SPEKE? twh
kmc: it's scow
kmc: what's SPEKE
kmc: spotify still thinks it's offline even though the machine is online thru my phone
kmc: spotify is buggy
kmc: fortunately i still have some music stored locally
pikhq: Pretty scow
imode: so we have the structured program theorem for control flow. what about data flow?
shachaf: kmc: password authentication protocol
shachaf: where two people can confirm that they're thinking of the same thing without revealing it to each other
kmc: well that's cool
kmc: that's kind of like the question I asked in ##crypto re cryptographically secure dating services
kmc: you have a set of people, everyone selects the ones they have a crush on, and you find out if anyone you picked also picked you
pikhq: Huh, interesting
kmc: but you can't find out if they picked you without picking them, and you can't find out anything about other pairs
kmc: and then someone linked me to https://github.com/teledildonics/private_kink_intersection
kmc: which is.. a great URL
kmc: and solves basically the same problem in a slightly different context
kmc: so there are some papers on this private set intersection problem
kmc: Hooloovo0: would a serial link cable work with this usb adapter? https://www.amazon.com/gp/product/B0007T27H8/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
kmc: black graphlink, or grey only?
kmc: iirc the black one uses CTS/RTS
kmc: it /should/ work but I don't know if it's picky about timing
kmc: (many hams keep an old DOS laptop around for programming radios from the 90s that use timing-exact serial interfaces)
kmc: Hooloovo0: I found a 2.5mm TRS plug by chance today
kmc: so I might try to build https://www.ticalc.org/hardware/cables/serial.html
kmc: if I can't get a silver link cable from one of the local free-shit groups
kmc: that one is supposedly black link compatible and i have all the parts most likely
kmc: it doesn't say what volage of zener diode to use :P
kmc: should I assume 5.6V?
Hooloovo0: grey onl
Hooloovo0: stupid y key
kmc: so in that case the homemade cable also won't work w/ my serial adapter
kmc: too bad
Hooloovo0: I'm not sure that one will work with a usb/serial adapter
Hooloovo0: the problem is that it used flow control pins as data pins... which if you have a real serial port, that's fine
Hooloovo0: but usb serial ports handle it poorly
kmc: it should be possible to program a micro as a normal-serial-over-USB to TI-wacky-protocol converter
kmc: but that also sounds like effort
Hooloovo0: it might work, but it probably won't
kmc: when I can get a graphlink usb for <$20
kmc: I did confirm that the TI-92 turns on
Hooloovo0: yeah, that probably could be made to work, someone might have even done it
kmc: I could also get a grey link for $16 which would be more versatile in some ways but a lot more bulk
Hooloovo0: it's just a 92? I think you have to do hacks to get assembly working on plain 92
kmc: it's not a 92+
Hooloovo0: https://www.ticalc.org/basics/calculators/ti-92.html looks like it's doable though
kmc: i could still have fun with basic too
kmc: TI-89/92 BASIC is pretty powerful
Hooloovo0: yeah, it is
kmc: and pretty fast if you take good advantage of the built-in capabilities
Hooloovo0: I'm a lot less familiar with 68k basic than z80 basic
Hooloovo0: oh, apparently there's a better way, but that page can't be fucked to describe what it is
Hooloovo0: https://www.ticalc.org/pub/92/asm/shells/ that's right, fargo
Hooloovo0: been a while since I've played with the plain 92
kmc: does it work with tigcc?
kmc: I've never actually done m68k assembly, it could be fun
kmc: maybe this will get me excited about coding again
kmc: who knows
kmc: could happen
Hooloovo0: gcc4ti is the 'new' thing
Hooloovo0: but yes, it should be supported
fizzie: Our (high) school was all TI-85/86 when I went through it. I think the 85 you had to trick to write assembly, but the 86 did it natively.
kmc: we had mostly 83+ and 89
kmc: the 89 was a lifesaver for calc and physics
kmc: it has a decent CAS along with unit analysis
fizzie: 86 didn't do algebra, but I think that was an advantage, you were allowed to use it in the exams.
Hooloovo0: yeah, you had to trick the 85
Hooloovo0: we were starting to get nspires when I was in HS
fizzie: I'm thinking TI-86 was about the most advanced thing you could possibly take with you in an exam. And you had to reset it.
kmc: iirc the 89 was allowed on all AP math/science exams
Hooloovo0: I don't recall it being super useful though
kmc: I had a fake reset screen app
kmc: not for cheating... but because I didn't want to lose the games and stuff
fizzie: I think that existed for the 86 as well.
kmc: you can do it easily enough if you can run asm
kmc: it's not like there's any OS that's going to stop you
fizzie: Well, it could have a hardware reset switch.
Hooloovo0: they do :P take out all batteries, then on+clear
Hooloovo0: while inserting the last one
fizzie: Right. I don't think anyone insisted on resetting it that thoroughly though.
fizzie: I wrote a robotfindskitten port for the 86, https://zem.fi/rfk86/
Hooloovo0: iirc also there's hold left and right arrows on later 84+OSs had 'hold left and right with battery insert' as 'reset for signapore'
Hooloovo0: http://wikiti.brandonw.net/index.php?title=83Plus:OS:Secret_Key_Combinations
Hooloovo0: hmm, that's not quite what it does, but yeah, there's all those
ais523: the problem is that it used flow control pins as data pins... which if you have a real serial port, that's fine ← if you're doing that, it isn't a serial port, it's a parallel port
kmc: ais523_: well, except that the actual TI protocol is serial, isn't it
kmc: clock + data?
ais523: I guess you could use the flow control pins as data pins, but not the actual data pins, but that seems perverse
ais523: if you're using two different pins to send data simultaneously, though, it isn't a serial connection by definition :-)
imode: bits go one at a time down a single wire.
kmc: so it's using a "serial port" (as in 8250 compatible UART on a PC) in the common manner of a parallel port (GPIO bitbang) to implement a serial protocol :P
kmc: ais523_: SPI is clock + bidirectional data, 3 pins (4 including a chip select) and that's universally considered serial
kmc: Hooloovo0: btw the PIClink here seems to be an example of what I was saying re: programming a micro to act like a grey link http://merthsoft.com/linkguide/cable.html
kmc: anyway i'm not clear on what the hardware level link protocol is
fizzie: The TI link protocol is pretty special.
fizzie: It's an async thing.
fizzie: When you want to send a bit, you pull one wire to zero, and the receiving end acknowledges by pulling the other wire to zero.
fizzie: Which wire you pull determines if it was a 0 or a 1 bit.
fizzie: So there's no clock involved, it runs at whatever speed it runs.
fizzie: Disclaimer: all I know about this probably came from http://paperlined.org/EE/microcontrollers/pic/projects/portable_VT_terminal/ti_86_link_port/link86all.htm -- at least that page looks familiar.
ais523: ais523_: SPI is clock + bidirectional data, 3 pins (4 including a chip select) and that's universally considered serial ← sorry, should have added "in the same direction" to that
kmc: fizzie: huh, weird.
kmc: cool, this has the info I was looking for
fizzie: kmc: Well, it does let you do it all in software on CPUs that might run at rather uncontrolled speeds, without having to have an UART or whatnot.
ais523: hmm, that's an interesting way to fit the normal three wires that an async connection uses (data + strobe + ack) into two, although they both have to be drivable from both ends
kmc: it seems pretty clever
kmc: it also allows you to immediately tell if the other side is present
ais523: I assume that after sending a bit, then the sender undoes their pull, then the recipient undoes their pull, to keep the connection as delay-insensitive
kmc: so i would say this is still serial because it transfers one bit of information at a time, even though it uses two wires to do it
kmc: and yeah, it seems this allows the receiving end to slow down the sender when necessary
kmc: effectively negotiating a baud rate which is the slower of what the two sides want
kmc: it's actually very clever
kmc: I might even use this sometime in one of my own projects
kmc: I have used Manchester code for something
ais523: throughout my PhD I was working on a compiler to hardware which uses a delay-insensitive representation internally for most of the compilation process
kmc: which is synchronous, so the bit times have to be roughly the same, but it has clock recovery so no precise absolute frequency reference is required
ais523: (for much the same reason that compilers to software use SSA or similar normal forms; you don't want to care about timing details until the compilation is finished)
kmc: makes sense
ais523: so I ended up doing a lot of background reading on asynchronous circuitry
imode: there's a "bible" for asynchronous circuit design.
ais523: you nearly always need a separate wire for 0 bits and for 1 bits because you assume that the recipient can't tell which of two wires changed first
ais523: but normally, the acknowledgement would be on a third wire
imode: asynchronous pipelines are neat. I built one.
ais523: a big advantage of doing things that way is that you don't need to reset the logic levels after sending a bit, you just toggle the 0 wire or the 1 wire to send the bit
ais523: and the recipient toggles the ack wire to acknowledge
kmc: this also reminds me of CAN a bit
imode: https://hatebin.com/huuywfgrqq save this as "pipeline.circ" and open it in http://www.cburch.com/logisim/
ais523: imode: is this the famous "micropipelines" paper?
kmc: it's open-collector and it has clock stretching sort of
imode: ais523_: sutherland? partially. there was a larger book.
ais523: the funny thing is, one of the references in that paper is dubious, and people keep copying it into their own reference lists without actually chasing the reference
imode: http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/855/pdf/imm855.pdf this thing.
ais523: meaning that you have this book that's highly cited but almost nobody has actually read
imode: not surprised.
ais523: (the book was basically just being used as a surrogate source for a particular statement because the original source would have been very hard to get hold of at the time; however, the original source for the statement has since been digitised so it's much easier to find)
ais523: (and it's basically just a throwaway line in the book, rather than giving any additional context)
oerjan: ok, so this channel is about esoteric hardware too now <-- pretty sure it's been that for a long time
ais523: programming isn't limited to software
ais523: although, the hardware meaning of "programming" normally means "to copy a program to" (where the program is usually software, but could be firmware or even a blueprint for making hardware)
kmc: Hooloovo0: I'm signed up for the float tank at 11am tomorrow :)
ais523: hmm, so I guess "esoteric programming" in hardware would be updating the state of reconfigurable hardware via some ridiculous mechanism
ais523: such as waving magnets at it
imode: magnetized needle and a steady hand.
kmc: hit it with a hammer
oerjan: i'm pretty sure there's an old "real programmer" joke about that
pikhq: Probably a few.
ais523: there's an xkcd which may be either a) the joke you're thinking of or b) a parody of the joke you're thinking of
ais523: but I don't have xkcd numbers memorized
imode: butterfly effect.
imode: https://www.xkcd.com/378/
b_jonas: and I think you mean https://www.xkcd.com/378/
b_jonas: argh you were faster
imode: ninja fingers.
oerjan: oh right
Hooloovo0: kmc, merth's link guide should have the best info on that
Hooloovo0: http://merthsoft.com/linkguide/hardware.html
Hooloovo0: it's not really clock+data serial - it's more of a a send/ack serial
Hooloovo0: but I guess ais253 left
imode: it's okay. this channel is logged.
imode: you can use lambdabot's @message feature to send a message to him as well.
Hooloovo0: also cool re float tank
imode: @botslack
kmc: Hooloovo0: yeah I got the gist of it
kmc: it's a clever solution really
kmc: I like it
szefczyk: Hi I'm back
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: KRZYSZTOF SZEWCZYK CHUUUUUUUUUUUUJUUUUUUUUUUUUU
szefczyk: WRÓCIŁEM
szefczyk: KOCHAM CIĘ KOTKU
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: SZEWCZYK CHUUUUUUUUUUUUJUUUUUUUUUUUUU
szefczyk: SZEWCZYK CHUUUUUUUUUUUUJUUUUUUUUUUUUU
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS 1,8JS
szefczyk: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
szefczyk: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
szefczyk: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
szefczyk: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
szefczyk: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
szefczyk: JEEEEEEEEEBAAAAAAAĆ SZEEEEEEEEEEEWCZYYYYYYYKA
hppavilion[1]: What the fuck
fizzie: I though they'd gotten bored of that.
int-e: I had the same hope.
int-e: fizzie: Can you invite Sigyn? I think it should trigger on blatant repeated messages like that.
fizzie: Let's give it a try.
Sigyn: ** Warning: if there is any bot in #esoteric which should be exempted from Sigyn, contact staffers before it gets caught **
fizzie: ...well...
fizzie: That's a little scary.
myname: where to start
int-e: I guess esowiki is at risk?
int-e: not sure about the rest, they usually just react and are not too repetetive.
int-e: tricky.
fizzie: Well, depends on what you ask them to do.
fizzie: zemhill_* can also repeat the same message over and over again, if someone's submitting stuff on the webs. Hmm.
int-e: I'm kind of curious how this will/would play out.
myname: it is not that uncommon that people ask the same trigger repeatedly, but i guess, that shouldn't be too often
fizzie: Maybe I should talk to a staffer anyway.
fizzie: Also, maybe I should register an account for HackEso.
wib_jonas: Is there a doc for that bot? It doesn't mention one in Taxonomy
fizzie: I found relatively little information about it by Googling.
wib_jonas: it has a freenode/* cloak though, let me ask #freenode
wib_jonas: fizzie: " wib_jonas: the bot k-lines (and kills, in addition) on various triggers, most famously people repeating patterns"
wib_jonas: " so it most certainly does have side effects, and if the channel has official bots that could look a bit spammy, we should be informed so we can whitelist them before putting sigyn in the channel"
wib_jonas: fizzie: go to #freenode and talk to ops there
myname: ah, good old fuchs
wib_jonas: fizzie: also, they admit that is ran by freenode
fizzie: Yeah, I'm trying to get an account for HackEso and esowiki because I assume that'd be useful for whitelisting.
int-e: fizzie: now I'm feeling bad for causing you work :/
fizzie: (I think I'm just going to need to connect as them temporarily, since I don't think either has a great way of injecting raw text.)
int-e: yeah at the very least you'll have to acquire the nick somehow
int-e: but they also have to learn to register with nickserv on startup.
int-e: well, authenticate
fizzie: There's the password approach, I think both of them can do that.
fizzie: Hm, well, I don't think multibot actually does passwords. I'll hack that in.
wib_jonas: fizzie: there are at least three ways to log in: (1) with PASSWD, (2) with NICKSERV ID , (3) with the CTCP extension. I can send details if you want later about how the CTCP thing works.
wib_jonas: each one sends password as cleartext, but that can be inside an ssl/tls connection in either case
fizzie: I think that should maybe do it.
fizzie: Yes, that seems to have worked.
wib_jonas: I have old source code that implemented the CTCP login and worked at one point, though for freenode only and errors out on any other network
wib_jonas: HackEso is logged into nickserv as HackEso, or so the server claims
wib_jonas: we may have to part j-bot though
int-e: wib_jonas: I've heard about SASL... but CTCP?
wib_jonas: int-e: sorry, it's SASL
wib_jonas: I'm talking off the top of my head because I'm a towkr
wib_jonas: CTCP is an unrelated thing
wib_jonas: it's SASL, which has so many S and L in its name that you'd think it uses some cryptographic challenge, but it doesn't
wib_jonas: rather confusing name
int-e: Okay. CTCP is just a special kind of PRIVMSG so it seemed out of place.
wib_jonas: it just encodes the account name and password in base64
fizzie: Well, it can, right? There are SASL methods that involve crypto.
wib_jonas: FireFly: ping
fizzie: Anyway, I think I'm fine with a TLS connection + PASS on connect.
fizzie: (The bouncer I use for myself + for fungot does SASL.)
fungot: fizzie: keep in mind, but i'm sure you can
wib_jonas: FireFly: are you running j-bot? fizzie has invited Sigyn to #freenode . it's a bot ran by freenode that k-lines users who spam the channel
wib_jonas: FireFly: you might need to be either careful so that j-bot doesn't trigger it, or get the channel ops to ask an exception for it, or just part j-bot from this channel while we have this state
wib_jonas: I apologize, because I was the one who asked to get j-bot here, knowing that it can be spammy
wib_jonas: ah yes, it may be called PASS rather than PASSWD
wib_jonas: funny they abbreviate that command name, but not PRIVMSG
FireFly: I think it should be fine, I'll check later
FireFly: I'm familiar with Sigyn :p
fizzie: Okay, I think esowiki, fungot, HackEso, lambdabot are all registered now.
fungot: fizzie: in fnord it only runs where ghc runs :)
wib_jonas: ^prefixes
fungot: Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
wib_jonas: fizzie: and you mentioned zemhill_________ too
fizzie: Yes, I just don't want to touch that at this point. It's used very very little.
wib_jonas: probably for the best
fizzie: So what's the normal rule for talking to Freenode ops, should I just pick a random one on the list or ask on the channel?
wib_jonas: fizzie: in this case, ask Fuchs on #freenode what to do since he already answered a question
wib_jonas: if it's not a secret thing, then asking on #freenode is the normal way
fizzie: Right.
wib_jonas: but some operatorial things shouldn't be public, in which case you have to privmsg them
wib_jonas: like, if you want to mention specific details about the spammer
int-e: Though the way #freenode is currently set up only staffers will see the messages anyway, I guess.
int-e: (But their answers will be visible to all.)
fizzie: Oh, that's interesting.
wib_jonas: int-e: no, it's not on +mz right now
int-e: Huh, that's false...
wib_jonas: they do often switch it to +mz
int-e: wib_jonas: Funny though I didn't see your question? Let me check again.
int-e: wib_jonas: Or did you ask before I joined?
fizzie: Right, it's that moderation thing.
wib_jonas: int-e: what question?
wib_jonas: question for what?
int-e: wib_jonas: You asked about Sigyn on #freenode.
int-e: wib_jonas: I joined around 12:58, I saw the answer around 13:19... I didn't see your question.
int-e: But it didn't occur to me that it may have taken longer than 20 minutes to get it... hence my question here, now.
wib_jonas: int-e: they have unidentified users quieted
wib_jonas: int-e: in the mode #freenode +q $~a
int-e: wib_jonas: thanks
wib_jonas: there, now I'm identified, you'll see if I say anything on #freenode, but I no longer have a reason to say anything there
int-e: I was mystified. I hate being mystified by technology, that's what magic is for :)
fizzie: For the record, the Sigyn exemption for those four has been done.
int-e: lambdabot: spam away!
lambdabot: Roger that ;-)
arseniiv: lambdabot: what does two added to three centillions equal?
arseniiv: I guess I broke them
arseniiv: wait, int-e, are you still there?
int-e: > 2 + 3*10^303 -- 2 + 3*10^600 in B.E. doesn't fit into IRC.
lambdabot: 3000000000000000000000000000000000000000000000000000000000000000000000000000...
int-e: oh. right.
int-e: arseniiv: I don't know what a centillion is.
wib_jonas: isn't it like 1/100 lions?
arseniiv: I found it strange lambdabot didn’t say anything to my plain text question at all
wib_jonas: or maybe llions
int-e: (Well, I do for the moment but I have no intent of retaining the information.)
wib_jonas: if there's such an animal as a llama, then there could be a llion too
int-e: arseniiv: You do know that she's a bot, right?
arseniiv: I don't know what a centillion is. => I don’t remember that too
wib_jonas: arseniiv: usually he answers when you use one of the four prefixes, @ ? > :t
int-e: arseniiv: And I did hide the sock puppet; it would be foolish to retrieve it just to answer your question.
int-e: I might be caught lambdabot-handed.
wib_jonas: @run string "arseniiv: dimension error"
lambdabot: error:
lambdabot: • Variable not in scope: string :: [Char] -> t
lambdabot: • Perhaps you meant one of these:
wib_jonas: @run var "arseniiv: dimension error"
lambdabot: arseniiv: dimension error
arseniiv: int-e: but there could be at least a non-answer like… like I don’t know what precisely but at least something to make sure there’s no infinite loop anywhere
int-e: arseniiv: try fungot.
wib_jonas: arseniiv: try j-bot or perlbot
wib_jonas: j-bot: what is a centillion
j-bot: wib_jonas: what (is a centillion)
fungot: I, on the other hand, will never tolerate being used by humans for pretending to be machines.
wib_jonas: j-bot, help:
wib_jonas: j-bot, source:
arseniiv: perlbot: what is that with making the text yellow
j-bot: wib_jonas, jevalbot source is https://github.com/FireyFly/jevalbot (originally http://www.math.bme.hu/~ambrus/pu/jevalbot.tgz)
wib_jonas: j-bot, echo: centillama
j-bot: wib_jonas, pong: centillama
int-e: arseniiv: there's also the @lambdabot "trick".
wib_jonas: `? lambdabot
HackEso: lambdabot is a fully functional bot. just don't ask about @src. or the neighbours.
wib_jonas: ? lambdabot
lambdabot: src . Display the implementation of a standard function
arseniiv: I might be caught lambdabot-handed. => at least it’s better than right-handed or, I don’t want to say that, left-handed
int-e: arseniiv: Oh, are you being plagued by sinister thoughts?
int-e: Does fungot know any puns?
fungot: int-e: i think that's an ( invalid) octal number.
arseniiv: int-e: maybe
arseniiv: fungot: may I impersonate you for a while, and if so, how could I achieve that?
fungot: arseniiv: and they are slow and cost 25 cent in euros, no matter
wib_jonas: int-e: look through the quotes file, it may have some puns that he committed
int-e: `' fungot
fungot: int-e: to fnord? that's scary stuff!
HackEso: 10) GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 13) Finally I have found some actually useful purpose for it. \ 14) oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a tricycle! pass him! \ 56) i am sad ( of course by analogy)
arseniiv: ah! it’s a robbery, I can’t afford those prices
wib_jonas: ^ul (arseniiv: dimension error)
wib_jonas: ^ul (arseniiv: dimension error)S
fungot: arseniiv: dimension error
int-e: fizzie: ^^ there's a business model for you.
arseniiv: wib_jonas: this works but I would be caught when writing that in chat
wib_jonas: wait, do we really have 102 fungot quotes?
fungot: wib_jonas: you did some design decisions seemed silly to do a program, though. that means i can have some data carried along with it
arseniiv: I want to do that secretly. Or, should I say, I definitely don’t want that
int-e: wib_jonas: Well, fungot never sleeps.
arseniiv: fungot has their own secret business too
fungot: arseniiv: ah. so nothing i can do: ' fnord' peers.) ( all it's missing after that will immediately be allocated on the pinned heap?
arseniiv: allocates and deallocates things and doesn’t say anyone where and why
wib_jonas: arseniiv: I think buubot2 had such functionality, but buubot3 doesn't have it, perhaps because it's so easy to abuse
arseniiv: I should write a useful bot and get a trust of #esoteric with it and then…
wib_jonas: arseniiv: you can try running commands in HackEso/j-bot/lambdabot/fungоt that take some time to run, like up to ten seconds or whatever the timeout is, then if there's a lot of other chat, perhaps people will miss your command.
int-e: @metar lowi
lambdabot: LOWI 081320Z 28005KT 250V320 9999 FEW070 SCT100 14/06 Q1014 NOSIG
int-e: . o O ( winter is coming )
wib_jonas: arseniiv: it's the easiest with HackEso, since on a timeout, it just prints the output so far with no error message
wib_jonas: `perl -efor(1..999){sleep 1;print("$_ ")}
arseniiv: wib_jonas: then if there's a lot of other chat, perhaps people will miss your command. => hmmmmn I have doubts
HackEso: No output.
wib_jonas: arseniiv: HackEso is also pretty programmable, so you can make it give surprising results that seem unconnected to your query
wib_jonas: `perl -efor(1..999){sleep 1;print("$_ ");flush STDOUT}
HackEso: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
arseniiv: fungot: let’s eat something
fungot: arseniiv: is that not many people have understanding the concept. on fnord, and so
wib_jonas: lambdabot and j-bot support assignments too, so you can just make any variable or function have an unexpected value, and in j-bot, you can even change values from private message if you know the right incantations, but the drawback is that j-bot and lambdabot always mentions the nick of whoever they reply to
wib_jonas: no wait
wib_jonas: lambdabot doesn't
wib_jonas: and you can give assignments in private message
wib_jonas: but it's not easy in either j-bot or lambdabot to redefine builtins
wib_jonas: eg. it's not easy to make them say that 2+2 is 5
j-bot: wib_jonas: 4
wib_jonas: if you try to redefine (+), you just get a message about how it's ambiguous with Prelude.(+)
wib_jonas: iirc rust works more sanely, because wildcard imports (like how you import every symbol that Prelude exports) can be shadowed by a symbol that is either local to a package or imported by name
wib_jonas: > maр (10*) [3,1,4,1,5,9,2] -- arseniiv
lambdabot: [30,10, Ok, this is getting boring
wib_jonas: you can try to cheat that way
wib_jonas: there's one way that buubot3 lets you cheat: while it's running the eval command (which evaluates a perl statement) in a sandbox, it's running all of them in the same sandbox, so if more than one buubot command is simultaneously running an eval, than one can kill, or perhaps even ptrace, the other
wib_jonas: ptrace may be impossible, but I experimented with killing a lot
wib_jonas: fizzie: no! don't add cloaks. they're usually longer than an ordinary hostname, so the max response length that they can give gets shorter
wib_jonas: fizzie: or if you do give them cloaks, then make sure to edit the spore or similar commands in HackEso to know about the new max message length
wib_jonas: ``` perl -e'for$n(0..49){printf"%02d",$n;for$l("A".."Z"){print $l,lc($l)}}' | sport
HackEso: 1/6:00AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz01AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz02AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz03AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz04AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz05AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz06AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz07AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz08AaBbCcDd
HackEso: 2/6:kLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz09AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz10AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz11AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz12AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz13AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz14AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz15AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz16AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoP
wib_jonas: fizzie: ^ see, sport skipped some letters between 08 and 09 there
fizzie: wib_jonas: Kind of too late now, didn't think of that. :/
myname: wtf does sport do
wib_jonas: `? sport
HackEso: sport divides its input into irc-sized pieces and displays the nth (default first). The pipe version of `1. See also spore.
wib_jonas: `? spore
HackEso: spore stores its input in tmp/spout and displays the nth line (default first). For a version considering irc line lengths, see sport. See also `spam.
wib_jonas: fizzie: for lambdabot, it probably matters less, because it has a very short message length on channels, and breaks into multiple lines for private messages
wib_jonas: but for HackEso this should be changed I think
wib_jonas: also now it can look at the IRC_* variables to know how long the target is
wib_jonas: also, this is the sort of thing why I don't trust the HackEso scripts and just use coreutils and perl one-liners when using HackEso
int-e: lambdabot's fairly conservative about IRC message lengths... I seem to recall 350 characters for privmsg?
fizzie: HackEso was tuned for throughput, not reliability.
wib_jonas: it gave up after two list entries above, so that should fit
fizzie: I'm kind of reluctant to bother them again, after I mentioned the cloaks after the Sigyn whitelisting and they said it would've been nice to have been told about that first.
wib_jonas: fizzie: sorry, I didn't know that you'd be applying for cloaks
wib_jonas: I would have told otherwise
fizzie: Yeah, I should've mentioned.
wib_jonas: I never asked cloaks for my bots, because the hostname that they used was shorter than any cloak
wib_jonas: that said, you could of course try to register the esolangs community and get shorter cloaks eventually after a year....
fizzie: I don't think it's an issue for fungot, since it's got a conservative max length too. And probably not for esowiki either, because it doesn't matter if it truncates long titles a little more.
fungot: fizzie: let's try to factor 4 using shor's algorithm. :)... nah, just obfuscating often result in getting a scheme to play with them.)
fizzie: For HackEso it's a little unfortunate.
fizzie: I remember we changed the username to ~h to get a few extra characters out.
wib_jonas: yes. we should golf the channel name too.
wib_jonas: sadly iirc freenode doesn't allow non-ascii channel names
int-e: pfffft.
wib_jonas: so we can't use the four-byte channel name #ꙮ
fizzie: Well, I'll look at the length situation when I get home.
wib_jonas: thank you
int-e: `unidecode ꙮ
HackEso: [U+A66E CYRILLIC LETTER MULTIOCULAR O]
int-e: Heh, I guessed correctly.
wib_jonas: and HackEso's old hostname is pretty short too
int-e: we'll cope
wib_jonas: shorter than some ipv4 addresses
int-e: `? oerjan
HackEso: Your omnidryad saddle principal ideal golfing toe-obsessed "Darth Ook" oerjan the shifty eldrazi grinch is a punctual expert in minor compaction. Also a Groadep who minces Roald Dahl. He could never remember the word "amortized" so he put it here for convenience. His arkup-nemesis is mediawiki's default diff. He twice punned without noticing it.
wib_jonas: int-e: sure, by breaking messages to more likes, causing more spam
int-e: Even this quote fits. ;-)
int-e: Err wisdom.
wib_jonas: `? ance
HackEso: Spelling of -ance/-ence words: advance, science, conference, experience, finance, insurance, licence, performance, reference, assistance, balance, defence, difference, distance, evidence, acceptance, appliance, audience, compliance, importance, influence, instance, intelligence, maintenance, preference, presence, sentence, sequence, substance, violence, absence, accordance, alliance, appearance, assurance, attendance, circumstance, clearance,
wib_jonas: `? brilliant
HackEso: 04B҉ͭR̲̞Iͪ͞L̡͠L̝̊I̤ͣA̍҉N̏́T̈͡ 07̐̇ȉ̲s̉̐ 08̸̉ḷ̂i̪̱k͉ͬḛ็ 09͓̪t็ͬh̺̊e͜͢ 02͏͛B̈ͅE̳̘S̰ͤTͬͧ 06̰̕w̺̼o̷̓ŕ͂d̹̠ 13͍͑i͚̾n̺̮ 04̇͑t͗̍hͧ͌ḙ͕ 07̻͜ű̖ňͤi̴͠v̸̧ḛ͔ř̭s͍͠ẻ̗ 08͏̲a̮̺nͣ͟d̝ͨ 09̳͗i̟͘ẗ͎ 02̼̲ẘ̦i̭ͮl̢̋l̨̉ 06̺͌c̑͡h̽̀âͮn̩̈́g̫ͣe͉͒ 13ͦ̓y̙͕o̔͒u̷ͬr͂͐ 04̓͝l͙͐ȉ͕f̹́ẹ̲ 07̤̹F̌ͅÒ
wib_jonas: `? zarutian
HackEso: You can trust Zarutian. He fixes, as an electronics technician, banal mistakes of electronics engineers. Rather cy(ph|b)erpunkish in outlook regarding the 'Net. Knows more about ocaps than you can imagine. Possesses an Icelandic unnerver that ejects freezingly hot lava out of its business end. Bears an 'Authentic fakes provider' seal from the guild of Realers. He is also known for making rather long HackEgo wisdom entries. Take for instance t
wib_jonas: HackEso says that these three are now too long
wib_jonas: but the others are probably fine
int-e: wib_jonas: request permission to delete that wisdom entry
int-e: wib_jonas: (the br* one)
wib_jonas: int-e: I'm not associated with that one
wib_jonas: int-e: I suggest to also delete wisdom/$'\xCC\x9A\xCC\x82'*
wib_jonas: but you may want to check the hg history first
wib_jonas: the longest potentially valuable wisdom is welcome.ru
wib_jonas: `? welcome.ru
HackEso: Добро пожаловать в Международный центр по разработке и внедрению языков эзотерического программирования! Для получения дополнительной информации посетите wiki: . (Для другого типа эзотеризма попробуйте #esoteric в EFnet или DALnet.)
int-e: `forget brilliant
HackEso: Forget what?
wib_jonas: I think with a 16-byte nickname, welcome.ru might just about fit in the output
wib_jonas: `добро-пожаловать zemhill_________
HackEso: zemhill_________: Добро пожаловать в Международный центр по разработке и внедрению языков эзотерического программирования! Для получения дополнительной информации посетите wiki: . (Для другого типа эзотеризма попробуйте #esoteric в EFnet или DALnet.
wib_jonas: `добро-пожаловать 1zemhill_________
HackEso: 1zemhill_________: Добро пожаловать в Международный центр по разработке и внедрению языков эзотерического программирования! Для получения дополнительной информации посетите wiki: . (Для другого типа эзотеризма попробуйте #esoteric в EFnet или DALnet
wib_jonas: exact length
wib_jonas: we don't have to change that one
wib_jonas: does this web client enable that obsolete extension that adds a one character prefix to messages telling whether the user is logged in to nickserv?
wib_jonas: some versions of xchat enables them, and then you get one fewer bytes of space
fizzie: Maybe. Both the zemhill_________ and 1zemhill_________ ones fit in here.
fizzie: Oh, no, it didn't, I'm just blind.
fizzie: The latter cut off the ). So either the web client doesn't, or this client does.
wib_jonas: the web client cust off the one with 1zemhill*, but that's an overlong nickname
wib_jonas: `q 729
HackEso: 729) itidus21: hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, h
wib_jonas: ^ that one does fit
wib_jonas: ``` q 729; echo "and more"
HackEso: 729) itidus21: hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, h
wib_jonas: and it's our longest quote
int-e: so lucky
wib_jonas: `? pdf
HackEso: PDF stands for Pretty Depressing Format.
wib_jonas: `? wisdom.pdf
HackEso: Nicely formatted classical wisdoms and quotes book at https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf
fizzie: We recently had the occasion to send some PDF files to an official thing, and turns out they were only able to view some of them. Presumably due to some sort of software incompatibility somewhere.
fizzie: I couldn't find out any sort of patterns in what worked and what didn't, though. The PDF 1.4 files generated by wkhtmltopdf were fine. The ones that allegedly only showed up as blank were PDF 1.3 and 1.5 files (but why would they support only 1.4 in the middle?), generated by printing from Gimp or with 'pdftk' concatenating from various sources.
fizzie: All in all, it was a pretty depressing format.
wib_jonas: fizzie: perhaps the default options were changed between those versions because people did debug out what doesn't work and reported which features some official things don't support
wib_jonas: you could probably fix it by changing the options, but you don't know what you have to change the options to
wib_jonas: fizzie: it wasn't a paper size thing, right?
fizzie: Not as far as I can tell, they were all A4 according to pdfinfo.
int-e: It's a Pretty Dubious Format too.
fizzie: ...well, there are *some* differences in paper size, some are "595.28 x 841.89 pts (A4)" and others "595 x 842 pts (A4)".
myname: how do you draw .38 pts?
fizzie: I think my current plan is to print all the non-working ones, and send them the PDFs generated by the printer/scanner/copier machine at work, under the assumption that that's been engineered to work as widely as possible.
myname: fizzie: you don't support "1.4 in the middle". you support the brand new 1.4 as soon as it comes out, drop support for 1.3 and never update to 1.5 once it shows up
int-e: Potable Document Format - perfect for drinking games.
arseniiv: int-e: one time or another, I think we all guessed that (at least to Adobe) it was a Profitable Document Format
arseniiv: s/at least /
int-e: It may be that.
arseniiv: if one stels i and f from “profitable” (getting “portable”) and adds them to “acrobat”, it will become an obvious/ominous “boar if cat”
arseniiv: steals*
arseniiv: it was Adobe’s plan all along!
arseniiv: and it certainly is not something good. I don’t know what it is though
int-e: here's another: potentially dangerous file
imode: programmable dangerous format.
b_jonas: so apparently HackEso pays 18 bytes more tax to freenode per line than it used to
b_jonas: fizzie: and as for the original moderation problem, shachaf looks pretty reliable and he's often here, so maybe you should give him channel op rights
shachaf: not happening
b_jonas: I can't think of anyone else that's so often here and looks reliable though
b_jonas: so in that case we'll have times with no moderators paying attention
b_jonas: I certainly can't be trusted
b_jonas: hmm... maybe FireFly is trustable
fizzie: I think it was a good idea to exempt esowiki, though; to a machine, the above could look pretty spammy.
b_jonas: fizzie: certainly when our norwegian village edits the same page twenty times in a row
FireFly: I'm not sure I pay a lot of attention here, but if desired could probably deal with clear abuse when spotted
b_jonas: by the way, I really hope that Dtuser1337 is not another alias of Areallycoolusername
b_jonas: hmm... as for moderation
kmc: Hooloovo0: I did the float tank thing
kmc: it was neat
Hooloovo0: how so?
b_jonas: FireFly: since I'm so rarely in #jsoftware, you now have chanserv +f privilages, which means you can modify the chanserv access list
kmc: well, I felt very relaxed
kmc: and being weightless is great for any kind of physical stress / muscle pain
Hooloovo0: yeah, that makes sense
Hooloovo0: how long were you in it?
kmc: I think I would get more out of it if I was better at mediation
kmc: an hour
Hooloovo0: did it feel like an hour?
kmc: they do 15 minutes of soothing hippie nature/flute music followed by 40 minutes of silence, followed by 5 min of hippie music to bring you back
kmc: but you can also provide your own soundtrack
kmc: eh I lost track of time
b_jonas: weightless => yes, I do ordinary swimming, and it is so much better than other forms of sport activities to people like me who aren't particularly sporty or fit
kmc: I also found it hard to give a shit about my usual upsetting thought loop subjects, even when I tried deliberately as an experiment
kmc: which was a concern of mine so that's cool
kmc: being alone with my thoughts is not always very pleasant
kmc: anyway it was a cool experience
Hooloovo0: I find it easy to lose track of time while meditating
kmc: I bought a book on meditation and will start practicing
Hooloovo0: not sure how I feel about music, I tend to prefer complete silence I think
kmc: and maybe go back to the tank in a month
kmc: (I bought a 3 session package deal at deep discount for new customers)
b_jonas: ouch. I hate complete silence, but luckily never experience complete silence here in the city.
b_jonas: no music makes sense though
Hooloovo0: I have very rarely experienced complete silence
Hooloovo0: there's always crickets chirping, wind, fans, or any number of other things
Hooloovo0: certain basements can get pretty close, but there's usually at least mains hum from the transformers
b_jonas: but do you like it when it's so silent? for hours that is, not just a few minutes
Hooloovo0: it's not unpleasant to me
ais523: hmm, you know how a while back we had a conversation here about how "son" and "sun" are spelled differently despite being pronounced the same? apparently this stems from an ambiguity in an old handwriting style, where "u" and "n" looked a lot like || and "m" like |||, so scribes generally changed "un" and "um" to "on" and "om" so that they at least
ais523: had a chance of being readable
ais523: so both the "son" and "sun" spellings ended up in common use, and ended up being attached to different words
shachaf: The other day I was reading a poem which rhymed "love" with "prove" and "remove".
shachaf: (~150 years old.)
shachaf: I thought the pronunciation of "love" changed, but maybe it's all the other "ove" words that changed instead?
ais523: I think in some traditions of poetry it's acceptable to "rhyme" words simply because they look like they should rhyme, regardless of pronounciation
ais523: it's known as an "eye rhyme"
pikhq: And presumably, they only settled on a single spelling much later, and just _picked_ one for each?
ais523: not sure if your poem was one of them
shachaf: I'm kind of skeptical about this specific case.
shachaf: I've seen it in multiple poems, and this poem didn't have any other cases that looked like that.
ais523: pikhq: I wasn't around at the time, I don't know the details
oerjan: `? towkr
HackEso: towkr? ¯\(°_o)/¯
oerjan: `icode > maр (10*) [3,1,4
HackEso: [U+003E GREATER-THAN SIGN] [U+0020 SPACE] [U+006D LATIN SMALL LETTER M] [U+0061 LATIN SMALL LETTER A] [U+0440 CYRILLIC SMALL LETTER ER] [U+0020 SPACE] [U+0028 LEFT PARENTHESIS] [U+0031 DIGIT ONE] [U+0030 DIGIT ZERO] [U+002A ASTERISK] [U+0029 RIGHT PARENTHESIS] [U+0020 SPACE] [U+005B LEFT SQUARE BRACKET] [U+0033 DIGIT THREE] [U+002C COMMA] [U+0031 DIGIT ONE] [U+002C COMMA] [U+0034 DIGIT FOUR]
oerjan: thought so
pikhq: I see, I see. Yes, makes perfect sense
shachaf: > "maр (10*) [3,1,4"
lambdabot: "ma\1088 (10*) [3,1,4"
oerjan: HackEso says that these three are now too long <-- weren't they always
HackEso: 1/1:le/rn//le/rn makes creating wisdom entries manually a thing of the past. Usage: `le/[/]rn // \ civic duty//Civic duty is your duty to keep your Honda in tip-top shape. \ 01//01 is an abbreviation that 01 understands. \ soup//What soup, Doc? \ group//Groups are just loops with the property of associativity.
shachaf: I feel like the joke in le/rn should be deleted due to being so out of date.
oerjan: `cwlprits brilliant
HackEso: int-̈e oerjän oerjän oerjän
shachaf: The "[/]" should probably also be deleted.
oerjan: it's still allowed
oerjan: I'm not sure I pay a lot of attention here, but if desired could probably deal with clear abuse when spotted <-- you're already an op through the staff cloak btw
oerjan: assuming we added that correctly
oerjan: by the way, I really hope that Dtuser1337 is not another alias of Areallycoolusername <-- i think we established that is not the same person as the bbc village in norway
oerjan: (don't know a about Dtuser1337, it's ais523_ who knows how to check such things)
ais523: I think it's unlikely enough not to need checking
ais523: but yes, ARCUN only has one account
oerjan: i think e really meant a
ais523: I was surprised to learn that the accounts were different, but in retrospect there are noticeable differences between the two people you can spot if you look for them
ais523: yes, it's a who has all the accounts
oerjan: i mean, whether e was Dt*
oerjan: anyway
oerjan: there sure are a lot of new wiki users
ais523: we get new users at a pretty rapid rate
ais523: although most disappear after posting one esolang or making one edit
oerjan: i'm sort of wonder if that discord esolang channel has more users than this channel, i've never used it
oerjan: *wondering
ais523: there are a surprisingly large number of people who refuse to use Discord on principle, I'm one of them
ais523: however I am generally OK with bridging bots that connect IRC and Discord channels together
oerjan: CGCC had an ad to the wiki but it no longer does, so i'm not sure where they're still coming from :P
ais523: perhaps next year we should try to bring that ad back
ais523: it was a good ad
int-e: oerjan: Sorry, all the tentacles and other appendices exceeded my pain threshold.
ais523: that said, it'd be nice to make the wiki more non-esoprogrammer-friendly before that
ais523: (in particular, some way to find which languages were actually good, more content on the relevant pages, etc.)
ais523: the issue being that nobody seems to have the spare time and motivation to put in the work
oerjan: `zalgo i can't imagine what you mean
HackEso: i̲͊ ̡̣c̖̞aͤ͘n̮̉'̹̥t͕͏ ̺̬i̘͐m̠̈́a̼̫g̼̒i͚̒n͐̂e̡͇ ̠͂w̟̔ẖ͉á̷t̼ͩ ̓̾y̑ͪo̖ͦuͣ̒ ̒͗m͑̀e̩̱a̗̹n̟̘
oerjan: . o O ( i've found int-e's secret weakness MWAHAHAHA )
int-e: This is worse than fn*rds.
imode: fnords
shachaf: oerjan: Remember when some unknown set of Unicode characters would mess up my terminal?
shachaf: Good times.
oerjan: fungot: do you know anything about those?
fungot: oerjan: i was busy because of homeworks and projects and so on
oerjan: apparently not
int-e: `? zalgo
HackEso: zalgo? ¯\(°_o)/¯
int-e: `le/rn zalgo//The `zalgo` command turns perfectly good text into toxic waste. It violates a multitude of UN conventions.
HackEso: Learned 'zalgo': The `zalgo` command turns perfectly good text into toxic waste. It violates a multitude of UN conventions.
int-e: `slwd zalgo//s/UN/UN(icode)/
HackEso: zalgo//The `zalgo` command turns perfectly good text into toxic waste. It violates a multitude of UN(icode) conventions.
int-e: what was the sed-last command again btw?
oerjan: `` echo bin/sedlast
HackEso: bin/sedlast
oerjan: um wait
oerjan: `` echo bin/*last
HackEso: bin/sedlast
oerjan: well it was right, anyway
int-e: wow, a logically named command
int-e: no wonder I didn't find it
int-e: (but tbh I was just too lazy to look... it was less mental effort to use `slwd and retype the entry name)
oerjan: shocking
int-e: "effort" is a bit of a joke here.
int-e: `quote lazy
HackEso: 601) elliott: well how will you represent "The dog jumped over the lazy dog" then?
int-e: `quote lazi
HackEso: No output.
oerjan: i guess no one bothered to add more
oerjan: `wisdom laz
HackEso: That's not wise.
int-e: `grwp laz
HackEso: angband:Angband is Morgoth's second dungeon (the first was Utumno). When the greater and lesser people of Middle-Earth together defeated Morgoth in Angband, they were too lazy to go to for 100% completion, so some evil spirits in Angband survived for a sequel, and Morgoth himself recovered and arrived to Numenor. \ kanada:Your bankers' vain plazas never nurtured no one / And your concrete expanses lay fallow in the sun / And your cities all c
int-e: plaza. of course.
shachaf: Do you like conflict-driven clause learning?
int-e: shachaf: See the logs.
shachaf: Is picking out the next variable to branch on one of the trickiest things in SAT solvers?
shachaf: Or is a rough heuristic about as good as a complicated one?
int-e: It's all heuristics. Selecting variables to branch on, when to restart, when to forget learned clauses, which clauses to learn in the first place, splitting clauses into hot and cold clauses of some sort for better locality...
int-e: Using lookahead for early branches, blah blah.
int-e: Oh, polarity of variables is in there as well (when you branch, do you try false or true first?)
pikhq: It is kinda weird now seeing the nick "elliott" in quotes.
int-e: `quote pikhq
HackEso: 11) First, invent the direct mind-computer interface. Second, you know the rest. \ 12) IN AN ALTERNATE UNIVERSE: First, invent the direct mind-computer interface. Second, learn the rest with your NEW MIND-COMPUTER INTERFACE. \ 25) pikhq: A lunar nation is totally pointless. ehird: consider low-gravity porn fungebob: OK. Now I'm convinced. \ 82) Well yeah, but furthermore
int-e: is fungebob a precursor of fungot?
pikhq: Nah, I think fungot had a different nick briefly.
fungot: pikhq: i almost got a bf interpreter. i'm not into guis at all."
Hooloovo0: `quote fungebob
HackEso: 25) pikhq: A lunar nation is totally pointless. ehird: consider low-gravity porn fungebob: OK. Now I'm convinced.
Hooloovo0: sure, I guess
Hooloovo0: `quote fungot
fungot: Hooloovo0: no no no no no. well ok, perhaps that ruined my experience :) just saying that
HackEso: 10) GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 13) Finally I have found some actually useful purpose for it. \ 14) oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a tricycle! pass him! \ 56) i am sad ( of cours
oerjan: fungebob virtualpants
b_jonas: ais523, pikhq, shachaf: see http://www.madore.org/~david/weblog/d.2013-09-29.2161.html on "love" and "prove"; http://www.madore.org/~david/weblog/d.2019-08-29.2618.html on "sun" and "son" which started this conv'n
b_jonas: oerjan: yes, but Areallycoolusername has at least one alias
b_jonas: wait what?
b_jonas: ARCUN only has one account? ok
int-e: nah there is a second account, https://esolangs.org/wiki/User:Jussef_Swissen
b_jonas: " ... i'm not sure where they're still coming from" => one user came to the channel and said he came from bfjoust
shachaf: b_jonas: Hmm, the first page is in French.
b_jonas: " (in particular, some way to find which languages were actually good, more content on the relevant pages, etc.)" => yeah, that would take work
b_jonas: I prefer to spend my time writing a little documentation about languages that I find out about from outside the wiki
b_jonas: to be snarky, I could say that we have about 1500 languages on the language list, of which over 200 are languages by A, plus we have like 200 joke languages, so we might start to think of a button that goes to a random non-joke non-A language
b_jonas: " oerjan: Remember when some unknown set of Unicode characters would mess up my terminal?" => hmm, were you the one who catted irc straight into a terminal and complained when anyone typed a control-N?
int-e: b_jonas: ouch how close is that 200 to reality? (Re: A)
shachaf: That was not me.
b_jonas: int-e: it's definitely over 200. I started counting to be able to definitely say that he has comfortably more languages than ais523 now and if his motivation was to be the creator with the most esolangs then he can stop now, and yes, I could say that
ais523: b_jonas: add BF derivatives in too
int-e: b_jonas: that is scary.
ais523: there's no real problem with creating 200 languages, the problem is with having 200 language ideas and not really fleshing out any of them
b_jonas: int-e: User:A used to have a list
b_jonas: ais523: yes, they're already listed on the joke page
b_jonas: though there are a few interesting bf derivatives of course
ais523: there are a surprising number of interesting BF derivatives, just /even more/ uninteresting BF derivatives
int-e: b_jonas: I'm trying to ignore the problem. You may recall me talking about suppressing A-related esowiki messages.
ais523: in general, if you have a new idea for a command to add to an imperative language, BF makes a familiar base from which to start, and the resulting language probably won't be terrible
b_jonas: I've even seen at least one brainfuck derivative that makes sense to have been created as a bf derivative, as opposed to just being a cool idea that should have been turned to an esolang unrelated to bf
ais523: int-e: it's important to have all the edits here so that they can be reviewed, I normally rely on the #esoteric logs to work out what admin actions I need to take (although I do check Special:RecentChanges from time to time too)
int-e: ais523_: I wasn't suggesting to suppress them in general.
ais523: b_jonas: SMBF, Permanent Brainfuck, DoFuck probably all fall into that category (oddly, I don't think DoFuck's on the wiki)
b_jonas: DoFuck is on the wiki under another name iirc
b_jonas: I'm not convinced that SMBF is even usable
b_jonas: is permanent brainfuck the one where you can only change cells from 0 to 1? there's no article
int-e: ais523_: What I meant is that I, personally, have a specially crafted /ignore for that purpose.
ais523: in practice, it's mostly used as an efficient way to initialise the tape
ais523: yes, permanent BF is 0→1 only (or sometimes, + only with bignums)
ais523: there is an article but it's on a page whose intent was to centralise all the computationally interesting BF derivatives, then it didn't really get used
ais523: int-e: that's entirely reasonable, in fact I probably would have suggested it if you hadn't done it already
ais523: idea: merge all the BF equivalents into a single article
b_jonas: there's https://esolangs.org/wiki/Treehugger which I think is computationally interesting
b_jonas: ais523: there's already one that merges some of them
b_jonas: or used to be one
oerjan: " ... i'm not sure where they're still coming from" => one user came to the channel and said he came from bfjoust <-- i'm not asking about the channel but about the wiki, which is presumably where they found bfjoust first
b_jonas: maybe it was on a talk page?
ais523: there was a BF Joust competition on CGCC
ais523: (they got the idea from us but ran mostly independently; however, Lymia won it)
b_jonas: oerjan: I don't know
b_jonas: oerjan: there's a new user Msully4321 who came to do one constructive edit, and he says so on Introduce yourself, which is often a good motivation why people register on wikis, but they don't say how they found the wiki
b_jonas: I think at least one user said that they came from the esolang discord
b_jonas: do we know where kspalaiologos came from?
b_jonas: the real one, not the name-taking spammer
b_jonas: and one user, kmc, came from the ancient past of #esoteric by a time machine or something
ais523: I came from http://99-bottles-of-beer.net/ (linked to me by email) via Malbolge and INTERCAL
b_jonas: I don't remember where I came from, possibilities are other freenode channels and via Intercal or unlambda or Piet/Chef.
b_jonas: oh, as for other websites
ais523: didn't you follow me from #nethack4?
oerjan: i think i saw b_jonas on the iwc forum before he came here
oerjan: i don't remember exactly how i came here but i was on the old esolang mailing list way back
b_jonas: http://rosettacode.org/wiki/Rosetta_Code occasionally has code in esoteric languages. should we try to advertise there, from like the pages of esolangs?
b_jonas: oerjan: that's possible, but I don't see how the iwc forum would direct here other than by Piet/Chef
b_jonas: and I don't think Piet/Chef is discussed on the forum at all other than in one doc bug report that I posted a few months ago
b_jonas: I also wrote obfuscated code in perl (and usually rather stupid ones, there's quite a few that I'm ashamed of, but there's a learning curve) so maybe someone directed me here from that
Lymia: I don't even remember how I got here.
b_jonas: perlmonks.com is the first website on the web where I was an active contributor
b_jonas: but it was shortly followed by irc
ais523: wow, I just discovered a 49333400 byte Makefile on my computer
b_jonas: freenode specifically
int-e: Haha. Somebody put "(Not clickbait)" into a youtube video title...
ais523: it looks like some sort of benchmark for make implementations, luckily, rather than being intended to actually generate a useful output
ais523: based on the target names, I assume I wrote the script that generated it
int-e: (A video that doesn't interest me but that according to youtube is "trending" whatever that means)
ais523: "trending" on websites normally means that more people than predicted are visiting it, e.g. the number of views is high and increasing
b_jonas: int-e: yes, that occurs in titles often
ais523: (rather than being constantly popular, or just new)
int-e: b_jonas: I bet I'll see it more often now that I'm on to this... uhm... trend.
ais523: I wonder what proportion of those are actually clickbait
b_jonas: that may depend on your definition
ais523: I guess the definition of clickbait is "something which, based on the description of a link, causes someone to click the mouse more times than they would if they were correctly informed"
int-e: oerjan: that sounds made up, needs more precision
ais523: normally implying that you follow the link out of curiosity then dislike what's on the other end of it
int-e: oerjan: 97.3211421%, now we're talking.
ais523: those things look a lot more convincing if they look like they were rounded from an actual fraction
ais523: 97.3285714% or the like
int-e: ais523_: I know. It was part of the joke.
lambdabot: 0.14285714285714285
b_jonas: ais523: right, and if that definition was correct then you should report every clickbait on youtube as having a misleading title or misleading thumbnail
ais523: I don't have a YouTube account, so it doesn't let me report things
ais523: otherwise, it seems like the sort of thing I would do :-D
oerjan: ais523_: i'm not sure most people know that pattern (i only guessed)
ais523: oerjan: I think more people recognise it than know it
ais523: most people have seen it before even if they don't know what causes it
b_jonas: once each I have tried to report things on youtube or on ebay, but I found that even though the entry was clearly something that shouldn't be there, under the report menu there's no choice to report that particular offense among the report reasons
ais523: so it gives that feeling of familiarity that makes it more convincing, even if the viewer doesn't know why
b_jonas: so after that I basically gave up
b_jonas: I don't recally what it was for youtube,
b_jonas: but for ebay it was entries where they bunch a really cheap item together with a normal item into the same entry with those select boxes that you normally use to select sizes or colors, the title and first photo describes only the normal item, but the price displayed on the search list describes the very cheap item
b_jonas: they bunch large capacity fast sd cards with cheap sd card readers this way, but I've seen other similar combinations too
ais523: hmm, that could in theory be legitimate if the range of sizes were large enough
b_jonas: ais523_: no, because the title is misleading
ais523: USB sticks ranging from 256 MB to 256 GB, for example
b_jonas: it's not like "SD card 1 MB 1 GB 2 GB 4 GB 8 GB 16 GB", those are fine
b_jonas: it's "SD card 8 GB 16 GB" (with other qualifiers) and then one of the sizes is "card reader only"
ais523: 256 MB USB sticks are probably close to worthless nowadays
b_jonas: ais523: no they're not
b_jonas: we use such small sized SD cards for small computers or embedded devices
b_jonas: where they don't have a built-in flash memory
myname: i just realized that trending youtube items seem to be highly regional. i don't like that
ais523: hmm, I guess there must be a price floor for storage
b_jonas: but we have to store a small program or data on it
ais523: often you don't need much storage to, e.g., just transport single files around
ais523: b_jonas: that's nearly always microSD rather than USB, though
b_jonas: yes, there is a floor, but it's below 1 GB for _slow_ sd cards
b_jonas: yes, for USB it's less common these days
b_jonas: everything has micro-sd card readers built in
b_jonas: also, it's a bit odd, micro-sd cards with an sd adapter are cheaper than sd cards of the same parameter
ais523: laptops normally have readers for full-size SD cards but nothing smaller, you need the adapter
b_jonas: yes, and adapters are cheap
b_jonas: I've got a lot of them because they give them for practically free with micro-sd cards
b_jonas: I also have sd + micro sd combo readers with usb port, but I did have to buy them
ais523: how do SD cards compete with USB sticks for storage size nowadays?
ais523: is the only real difference the connection they use, or are microSD cards noticeably different in how they operate?
b_jonas: I think sd/micro sd cards are usually better, and I prefer them. usb sticks can be better when they're very large capacity, or if you want to keep it on a keychain so you don't lose it
ais523: I'm doing a backup onto a USB stick right now
b_jonas: I don't notice them being different in how they operate, but maybe I don't use them enough
ais523: for backup media, it's best for it to not be too physically small because that makes it easier to lose
ais523: USB sticks probably also have the advantage when it comes to desktop computers
ais523: because those often don't have a microSD port (sometimes they have one, sometimes not)
b_jonas: I wanted to say that I'm genrally good at not losing things, but I'm still looking for the red eyeglasses case that I had with me on my vacation
b_jonas: so I don't dare
b_jonas: I'd like to know if Xykon is still using Dorukan's Cloister spell at his current camp in the north
Taneb: @metar EGSN
lambdabot: No result.
Taneb: @metar EGSC
lambdabot: EGSC 090850Z 24012KT 200V260 CAVOK 11/08 Q1003
wib_jonas: hi Taneb
Taneb: Hello!
FireFly: @metar ESSB
lambdabot: ESSB 090850Z 10007KT 9999 -DZ BKN016 08/06 Q0999
Taneb: I was mostly curious whether EGSN had meta data, it's a tiiiiny airport
int-e: longitutde: -0.0425... looks fake :)
ais523: @metar EGBB
lambdabot: EGBB 090920Z 24009KT 210V270 9999 FEW017 11/08 Q1003
wib_jonas: wait... the world's tallest living trees are in the US? what the heck are tropical rainforests for then?
int-e: deforestation
Taneb: Density
int-e: Also quick, relentless growth.
int-e: wow. "Recent reports indicate that trees can survive to be 1000 years old in the Amazonian rain forest." (However, there is very little information on how common these ancient trees are.)
b_jonas: found the red glasses case. ok, now I can claim that I'm usually good at not losing my things
oerjan: hups, forgot to log out
oerjan: apparently you didn't say that much
b_jonas: `pbflist https://pbfcomics.com/comics/the-talk/
HackEso: pbflist https://pbfcomics.com/comics/the-talk/: shachaf Sgeo quintopia ion b_jonas Cale
b_jonas: yeah sorry, no olist yet
b_jonas: hopefully that will arrive soon too
kmc: how can i get on a list
oerjan: with `` echo kmc >> bin/nameoflist
b_jonas: or these days, you can use `` echo $IRC_NICK >> bin/nameoflist
oerjan: unless someone made a specific command, hm...
oerjan: b_jonas: very convenient
kmc: `` echo $IRC_NICK
kmc: `` echo $IRC_NICK >> bin/pbflist
HackEso: No output.
b_jonas: kmc: you may also review our selection of other lists
b_jonas: ``` set -e; cd bin; echo *list
HackEso: FireFlist aglist bardsworthlist bobadventureslist calesyta2016list danddreclist don'taskdon'ttelllist dontaskdonttelllist ehlist emptylist erflist flist idealist ioccclist keenlist list listlist llist makelist makelistlist minimalist mlist olist pbflist slist smlist stylist testlist xkcdwhatiflist ysaclist
kmc: am i supposed to run listlist when i update a list?
b_jonas: ``` set -e; cd bin; wc -l *list | sort -rn | head -n9 # these are the popular ones
HackEso: 86 total \ 9 slist \ 8 pbflist \ 8 olist \ 6 smlist \ 4 xkcdwhatiflist \ 4 listlist \ 4 dontaskdonttelllist \ 4 don'taskdon'ttelllist
kmc: `` paste < bin/ioccclist
HackEso: https://hack.esolangs.org/tmp/paste/paste.10575
kmc: that is... a bizarre way to do that
b_jonas: `? ioccclist
HackEso: ioccclist is update notification for when a new year of the International Obfuscated C Code Contest is announced, or the winners for a year is announced, or the source codes of winners are released. http://www.ioccc.org/#news
kmc: what the fuck is ${@:+ }$@
rain2: `` echo rain2 >> bin/ioccclist
HackEso: No output.
rain2: `` echo rain1 >> bin/ioccclist
HackEso: No output.
b_jonas: kmc: prints its argument, with a colon before if it's not empty
oerjan: `` paste < bin/ioccclist <-- paste takes a filename, which has the advantage of using its url if it's exposed to web
b_jonas: kmc: so we can invoke lists with an argument that is a url pointing to the news
b_jonas: o is numbered in a regular way, so there we use a strip number instead and the olist script makes a url from that
b_jonas: but for most lists we use a full url
oerjan: i don't think the olist script makes a url
b_jonas: hmm true, it doesn't
b_jonas: s/empty/present/
b_jonas: or so I think
b_jonas: I'm not sure how @ works in such a case really
b_jonas: I usually visit the archive page to re-read the previous strip before reading the current one. I don't usually miss an o, except when on a long vacation
b_jonas: these days I'm the one who first lists them half of the time
int-e: Hah. http://blog.hackensplat.com/2011/02/vinegar.html
wib_jonas: `perl -eopen$I,"<","quotes";@A=<$I>;$l=$A[rand@A]; while($l=~/([A-Za-z])/g){ $f{lc$1}++;$g{lc$1}//=$_g++; } $p=join("",sort{$f{$b}<=>$f{$a}||$g{$b}<=>$f{$a}}"a".."z"); $q="etoainsrlhdumcgypfwbkvzjxq"; eval"\$l=~y/$p\U$p\E/$q\U$q/"; print $l;
HackEso: Yar... COG et eo rdeai. :( Et eo tsmeai?
wib_jonas: `perl -eopen$I,"<","quotes";@A=<$I>;$l=$A[rand@A]; while($l=~/([A-Za-z])/g){ $f{lc$1}++;$g{lc$1}//=$_g++; } $p=join("",sort{$f{$b}<=>$f{$a}||$g{$b}<=>$f{$a}}"a".."z"); $q="etoainsrlhdumcgypfwbkvzjxq"; eval"\$l=~y/$p\U$p\E/$q\U$q/"; print $l;
HackEso: OA EOAEW URNEIAUNOMEA DAOMEITDW (CH SOE AUKOT CHA): Th fuaa oyl adi tylroettea, sutt et purtyl otn, hsei soe Cern otn mhrrog BHAFEIT. Gegidtten teotn sd sei Pdliei Lonrei!
wib_jonas: Lykaina: ^ random quote transformed by a substitution cipher where the most frequent letter is replaced by "e", the second most frequent by "t", etc
wib_jonas: for some longer quotes with reasonable words, it will get the most frequent letters right, so it does the easy part of solving the cipher for you
wib_jonas: `perl -eopen$I,"<","quotes";@A=<$I>;$l=$A[rand@A]; while($l=~/([A-Za-z])/g){ $f{lc$1}++;$g{lc$1}//=$_g++; } $p=join("",sort{$f{$b}<=>$f{$a}||$g{$b}<=>$f{$a}}"a".."z"); $q="etoainsrlhdumcgypfwbkvzjxq"; eval"\$l=~y/$p\U$p\E/$q\U$q/"; print $l;
HackEso: Fseoaid_Siiytn: Hio'a gt oerap; st'r e mloeauc, oia e dlnhtntn.
wib_jonas: `perl -eopen$I,"<","quotes";@A=<$I>;$l=$A[rand@A]; while($l=~/([A-Za-z])/g){ $f{lc$1}++;$g{lc$1}//=$_g++; } $p=join("",sort{$f{$b}<=>$f{$a}||$g{$b}<=>$f{$a}}"a".."z"); $q="etoainsrlhdumcgypfwbkvzjxq"; eval"\$l=~y/$p\U$p\E/$q\U$q/"; print $l;
HackEso: 22:55 < jpl> Usk tr E ibhhsiof ns fomodsh ispnktlo ea Uticodd ep E wta'n omoa hlohtlo rz hlsgowni ea BRD?! En ioori deco ta erhsiiexdo ntic. UTUT [...] nuei ei trtveay, deco rooneay t Rslrsa sl isronueay
wib_jonas: `perl -eopen$I,"<","quotes";@A=<$I>;$l=$A[rand@A]; while($l=~/([A-Za-z])/g){ $f{lc$1}++;$g{lc$1}//=$_g++; } $p=join("",sort{$f{$b}<=>$f{$a}||$g{$b}<=>$f{$a}}"a".."z"); $q="etoainsrlhdumcgypfwbkvzjxq"; eval"\$l=~y/$p\U$p\E/$q\U$q/"; print $l;
HackEso: Ot's doke uatreuatofoais, yrele tre ievt steh ph wlnu "tlozoad" os "nhei lesealfr jpestoni". "Inhe... In...Tros hlnmdeu fai't me bnie AT ADD. Tros nie--uagme, mpt nidg yotr tyn gaks aib a srelha. ..."
Taneb: wib_jonas: hmm, I wonder how different it would look if you did it digramwise
Taneb: I guess that's trickier because each symbol can be in two digrams
int-e: hmm #esoteric-spam
wib_jonas: Taneb: you could do a better solver, but I'd add different heuristics, like matching nicks and other common words
wib_jonas: `q 134
HackEso: 134) It's like mathematicians, where the next step up from "trivial" is "open research question". "Nope... No...This problem can't be done AT ALL. This one--maybe, but only with two yaks and a sherpa. ..."
wib_jonas: that's the last quote it gave
wib_jonas: so it got e, t, s, a right
int-e: Oh, we have a genuine password of the month candidate: https://leahneukirchen.org/blog/archive/2019/10/ken-thompson-s-unix-password.html
myname: we already have one, though
int-e: which is why I'm posting the link, not changing the potm entry
wib_jonas: right, it's not necessarily for this month, since the passwords are old too
int-e: (but it's worth clarifying the point, thanks!)
int-e: It's kind of interesting that this wasn't in common word lists... it will be from now on :)
int-e: (and that goes for all chess moves)
wib_jonas: sure, password reuse exists, so we add known passwords to lists
int-e: (the exclamation mark is funny)
wib_jonas: somehow I'm reminded of Countercall
FaeFly: int-e: might help that it used a notation that's AIUI not in common use anymore (re not being in wordlists)
int-e: FaeFly: sure. "algebraic" notation won
int-e: FaeFly: But I'm not a chess player and I've encountered this notation before so I'm assuming that at least 10s of thousands people know it :P
wib_jonas: int-e: sure, Lewis Caroll made sure we all meet the obsolete notation
int-e: There's that. Though one can enjoy the book without deciphering the chess game (I certainly didn't).
int-e: Or "did"? Hrm. Grammar.
int-e: "did" is better, referring to the whole "enjoying the book without deciphering the chess game" notion.
wib_jonas: int-e: istr the chess game itself is hard to decipher, because we don't see all its moves...
wib_jonas: there was a question on Stack Exchange about that somewhere
wib_jonas: but I'm not sure if it was on Chess SE or Sci Fi SE or the new Lit SE
wib_jonas: https://scifi.stackexchange.com/q/26946/4918
wib_jonas: the chess game in Through the Looking Glass
int-e: That's a relief. :)
int-e: (I was kind of afraid of there being a sensible game hiding underneath all the silliness.)
int-e: I suppose this is a bit like searching for the real question when pondering HHGttG.
int-e: (Or worse, coming up with an explanation involving base 13)
wib_jonas: `python3 -cprint(0.0254/4) # how much is 1/4 inch?
HackEso: 0.00635
wib_jonas: `? stunlock
HackEso: stunlock? ¯\(°_o)/¯
wib_jonas: fungot, how many of the sides of a square is one of the longest sides?
fungot: wib_jonas: it would be sorta pointless to implement these commands, because they're in scope down the whole campbell/ darcs/ schemd5?".
wib_jonas: `python3 -cprint(3**5)
shachaf: kmc: You can make a list with makelist, which automatically runs listlist.
shachaf: Wait, no, that's makelistlist.
shachaf: listlist just lists lists.
wib_jonas: `listlist
HackEso: FireFlist* \ aglist* \ bardsworthlist* \ bobadventureslist* \ calesyta2016list* \ danddreclist* \ don'taskdon'ttelllist@ \ dontaskdonttelllist* \ ehlist* \ emptylist* \ erflist* \ flist* \ idealist* \ ioccclist* \ keenlist* \ list* \ listen* \ listlist* \ llist* \ makelist* \ makelistlist* \ minimalist* \ mlist* \ olist* \ pbflist* \ slist* \ smlist* \ stylist* \ testlist* \ xkcdwhatiflist* \ ysaclist*
wib_jonas: is there a version that only lists lists that don't appear in themselves?
shachaf: `? keenlist
HackEso: keenlist is notification for when Tom Hall acquires the necessary intellectual property rights to create the videogame series Commander Keen: The Universe is Toast
b_jonas: yeah, that one is a bit silly
b_jonas: TIL that in Cats, the character that Gus used to play is not called "Firefoefiddle", he's called "Firefrorefiddle",
b_jonas: and that "frore" is a word that means cold.
b_jonas: it's strange that I hadn't met that before. if there's such a fancy word for cold, then why is it not used in D&D and other role-playing games?
b_jonas: like, for spells that invoke the elemental cold
b_jonas: even M:tG doesn't have that in any card title
shachaf: You mean in Eliot's poem, _Gus: The Theatre Cat_?
b_jonas: yes, but more so in the musical
b_jonas: It's a rare word, it's not in my Longman dictionary, only the larger Oxford
b_jonas: still, M:tG uses such rare words, and there was a whole Coldsnap set, so it's weird
b_jonas: Firefrorefiddle the Fiend of the Fell must have had abilities affecting three D&D elements: fire, cold, and sonic.
shachaf: Golly. I'd thought about homogeneous coordinates algebraically, but never geometrically.
shachaf: Translation is just obviously rotation around a point at infinity.
arseniiv: shachaf: hm rotations in P(V) around points on an affine map correspond to (some) rotations in V conjugated by a shear, and translations correspond to shears so probably together they unify somehow, though that’s not obvious to me
arseniiv: though the intuition seems right to me too
arseniiv: not all shears of course, too, they all should be in a special relation with a hyperplane which defines that chosen affine map
arseniiv: hm let me talk about two strange coincedences in math and then I’ll go sleeping
arseniiv: 1. a translation is uniquely characterized by one of each initial and final points; a similarity transformation, a pair of each; an affine transformation, a triple; a projective one, a quadruple. I don’t know if there exists something more or less natural for which we need a quintuple. Is there any system in this sequence? I’m afraid no, it’s just some very well-known transformation groups so it seems like a coincidence they arran
arseniiv: e this way
shachaf: I'm currently reading https://slides.com/enkimute/siggraph which talks about all sorts of neat things.
arseniiv: 2. map sin [0, pi/6, pi/4, pi/3, pi/2] == map (λx. sqrt x / 2) [0, 1, 2, 3, 4]
arseniiv: shachaf: oh, I’ll take a look tomorrow, then
arseniiv: and the second coincidence is confusing but happily mnemonic
arseniiv: shachaf: ooohh!! this is applied Clifford algebra! I hope those slides have that conformal thing explained, why it’s done that way
b_jonas: arseniiv: sure, a projective transformation in d dimensions is characterized by d+2 points, so for five points you want projective transformations in 3 dimensions.
b_jonas: arseniiv: I worked with those in my last job, where at least one project involved 3D reconstruction from 2D camera images
arseniiv: b_jonas: ah, yes, I forgot it all stands only for a 3-dimensional space
arseniiv: I should have looked at an arbitrary dimension case
b_jonas: admittedly there we have use or two degrees of freedom less than a full projective transformation
arseniiv: maybe the sequence crumbles
b_jonas: no, it's food that crumbles
arseniiv: also a while ago I found out there is a common confusion of homogeneous coordinates and, well, unhomogeneous coordinates concerning a use case when we use […, 0] for representing vectors and […, 1] for representing points. This system plays out very nicely but is commonly misattributed to projective stuff when it’s not
b_jonas: you may call the non-homogeneous coordinates euclidean
arseniiv: This system plays out very nicely => like, if there were only linear operations and the result has form […, 1] or […, 0], then we’ve done a correct affine calculation and the result is corresp. a point or a vector
arseniiv: b_jonas: generally we don’t need the overall space to be euclidean, though for simplicity we can take one
arseniiv: I don’t even remember what it should have in general so our points and vectors represented in this way have euclidean structure, the overall thing should be invariant under shears with some special hyperplane fixed
arseniiv: hm I think it gives rise to something Galileian, like the structure of the nonrelativistic spacetime
arseniiv: though even that is too much, we’re concerned with two hyperplanes only, not distances between any of them
arseniiv: for some reason I’m often interested in ways how can we omit the structure we don’t use in some contexts
b_jonas: fungot, please publish the next o strip
fungot: b_jonas: i've never read a paper on using source-to-source transformations to compile scheme to c.
shachaf: Isn't that Sgeo_'s job?
b_jonas: that's a suspiciously specific denial, fungot
fungot: b_jonas: you subtracted twice the orig value?' as ' swiping blindly'? yes, but
b_jonas: fungot, is Countercall turing-complete? can you give the main idea of the proof or disproof?
fungot: b_jonas: do you think? i mean suing them?)
fizzie: Proof by lawsuit, one of the more general-purpose classes of proofs.
b_jonas: I wonder if there's such a thing as a fake Foucault pendulum, which looks like a real Foucault pendulum but is somehow rigged so that the plane of its swing remains fixed
b_jonas: I imagine that Black Hat from xkcd could secretly modify an existing Foucault pendulum in a public space to one, using his stealth carpentry skills
oerjan: sounds like a plan
int-e: while you're at it, how about making it turn at the right speed but in the wrong direction
int-e: which, apparently, would be counterclockwise for the northern hemisphere...
int-e: viewed from above
b_jonas: int-e: I thought of that, but I think making it not rotate would be better, because it would look like the Aristotelean or flat earth myths are true
b_jonas: if you want to control a pendulum in a way finer than that, you want to use it for divination, rather than as a Foucault pendulum
b_jonas: I guess you could try to be subtle and make it turn in the correct direction but just slightly faster than it should
b_jonas: see how long it takes until it's detected
b_jonas: also I think making it not turn at all would be the easiest to achieve technologically
wib_jonas: https://www.linusakesson.net/ seems like an interesting homepage with some esolang content. https://www.linusakesson.net/programming/symlinks/index.php is an esoteric language for example
wib_jonas: zzo38: ^
wib_jonas: and https://www.linusakesson.net/programming/gcr-decoding/index.php contains a rather crazy use of one of the undocumented opcodes of 6502
FaeFly: yeah, lft does cool demoscene stuffs
b_jonas: fungot, how much is 14*16?
fungot: b_jonas: i can't say for sure. :) i was student, ta, and phd student, though i don't do that
imode: that was a rather coherent response.
b_jonas: I'll have to ask some other bot
b_jonas: [ 14*16
j-bot: b_jonas: 224
imode: fungot: can you do basic multiplication?
fungot: imode: i just remembered what esoteric programming is all about assumptions that the implementation features a srfi, be it cl or scheme. shivers is not interested in
imode: good to know.
b_jonas: fungot, among the Sun's energy output, how much comes in the form of neutrinos?
fungot: b_jonas: oh... nice.
imode: fungot: answer b_jonas' question.
fungot: imode: i did most of it has been fiz who has scared off most visitors.
imode: https://repl.it/repls/TerribleFairCells
imode: this appears quite legible.
imode: almost like smalltalk.
fizzie: I didn't know I've scared anyone off. :/
imode: I doubt that you have.
imode: fungot is full of shit.
fungot: imode: not because the language evolved faster than the interpreted schemes which was kinda disappointing speed-wise.
fizzie: Turns out that was more or less a literal quote from 2003.
fizzie: [2003-01-20 23:36:53] <@DiamonDie> i think it has been fiz who has scared off most visitors.
imode: from an op no less?
fizzie: IIRC, on that channel all the regulars were ops.
pikhq: Ngl imode's made me ambivalent on staying
imode: everybody-being-an-op is easily ruined by the one bad egg that bans people at the drop of a hat.
imode: used to be in a channel for a local hacker space. the youngest got angry in a discussion about C and banned 18 people.
fizzie: Well, it was a 10-person social channel, not really for any particular topic. Those don't really have moderation issues so much.
imode: makes sense.
arseniiv: shachaf: those slides mention “homogeneous coordinates” too in introductory examples :( if they were homogeneous, vectors with coordinates (1, 2, 3, 0) and (2, 4, 6, 0) would coincide but they should not. These are usual coordinates in (dimension + 1)
arseniiv: hopefully that misattribution isn’t mentioned in the body
zzo38: Other way than everybody-being-an-op would be nobody-being-an-op is better than everybody-being-an-op, I think.
fizzie: That's a pretty easy state to get to by accident on IRCnet, so I'm sure we spent some time like that too.
fizzie: (No services.)
imode: everybody can yell at eachother and nobody can do anything about it.
imode: almost like twitter!
zzo38: That is not true nobody can do anything about it; you can add filters into the client if you want to avoid receiving some messages.
imode: that is true. I have to wonder what the potential partitioning would be for a really busy and hostile chat room.
imode: i.e take 100 people, throw them in a chat room without moderators, see who ignores who. you'll probably end up looking like two or more "logical" rooms.
zzo38: Maybe. I don't know.
zzo38: (mainly, I don't know, because I haven't tried having 100 people in a chat room without moderators)
fizzie: (Although IRCnet ircd 2.11 got a "reop mode" feature, where you can set +R nick!user@host masks with the usual wildcards, with the semantics that if the channel has been opless for a while, the server grants ops for a pseudorandomly selected user matching any of those masks.)
fizzie: (I think there was also a no-ops-ever channel type? Might be misremembering that.)
zzo38: Yes, some IRC servers if the channel prefix is + then it can have no modes (inclduing no operators).
zzo38: There is also & for a channel local to the server and ! with a feature to avoid taking over channels when net split.
zzo38: (The + and & types are also immune to taking over channels, but for other reasons.)
shachaf: arseniiv: Oh, now I see what you meant.
arseniiv: shachaf: yeah, yesterday I completely forgot to mention this simple breaking example
arseniiv: what we have instead is just some hyperplane L “inhabited by vectors” and its shift, L + a where a is nonzero, “inhabited by points”; then obviously we can’t add two points and get a point, but we can take their linear combinations with total weight 1 (and get a point) or 0 (and get a vector), and also we can apply linear operators which take L to itself, on L + a such one acts as an affine operator, and on L it does as its li
arseniiv: ear part, automatically. Now we may choose a basis in L and add a to it, so elements of L get coordinates (…, 0) and elements of L + a get (…, 1), voilà!
arseniiv: also we can make a silly groupoid on two objects from two parallel affine subspaces, taking morphisms between them be various translations from one to the other. When the outer space has no inner product, there are no natural translations so this is naturally a groupoid and not a group
arseniiv: (and these translations themselves constitute two isomorphic affine spaces)
arseniiv: isomorphic, but not naturally, to two starting subspaces, but naturally isomorphic (via f ↦ f⁻¹) with each other
zzo38: In GURPS, skills cost 4 points per level, and techniques cost 1 point per level. A technique improves your effective skill level for one use of the skill, but increasing the skill itself (for 4 points) improves your effective skill level for all uses of that skill. If you have many techniques, then it will cost too much points.
zzo38: Therefore, I made up this variant rule: techniquePoints = dotProduct x . reverse . sort where x = 1 : 1 : (half <$> x)
zzo38: I think that mathematically it is better. Do you think that it is better?
Sgeo: What's the list for Charlie the Unicorn?
zzo38: I am not aware.
zzo38: Stone of Lizard Men {2} Artifact ;; {X}, {T}: You may put a Lizard or Viashino card with converted mana cost less than X from your hand into the battlefield. If you do, add one mana of any color.
zzo38: (It is a mana ability)
zzo38: Does any Haskell core library have a dot product function? (It is easy enough to implement; I am just wondering if it has already.)
zzo38: Apparently BBC BASIC has a built-in dot product function.
kmc: wonder why
zzo38: I don't know, but I think dot product can be a useful function in many programs, even with lists having arbitrary number of elements if they are not used as a vector, such as the code I mentioned above.
Sgeo: zzo38, gah I have to think twice to realize why that isn't actually broken as far as I can tell
Sgeo: Oh I just meant in terms of net mana. It being mana ability speed is probably really really interesting
b_jonas: `? log
b_jonas: `? logs
HackEso: #esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/
HackEso: #esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/
b_jonas: ``` sed -i '1s"$" https://github.com/kspalaiologos/esologs/"' wisdom/log
HackEso: wisdom/log//#esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ https://github.com/kspalaiologos/esologs/
b_jonas: soon we'll have so many webpages with logs that they won't fit in the topic
b_jonas: (soon as in https://www.xkcd.com/605/ )
kspalaiologos: it doesn't matter that the channel might be dead for half a day and only a few people reach it constantly
kspalaiologos: but we have a dozen of log copies, this is what matters
kspalaiologos: any turing complete, interesting and not-so-hard to implement languages out therE?
kspalaiologos: kept mashing random page button for around 15 minutes, nothing interesting so fafr
b_jonas: kspalaiologos: are you familiar with all of the Big Five?
kspalaiologos: Big Five?
kspalaiologos: what's this
kspalaiologos: probably I know what it represents
kspalaiologos: but I haven't heard the name yet
b_jonas: it goes like, Intercal, Malbolge, Befunge, Unlambda, Underload
kspalaiologos: btw, additional points if the source looks gibberish
b_jonas: five famous esoteric programming languages
kspalaiologos: yeah, I've heard bout them
kspalaiologos: no Brainfuck though, have you missed something?
kspalaiologos: I've programmed in every single one except Underload
kspalaiologos: no idea what's this
b_jonas: ah yes, must be brainfuck instead of Malbolge
b_jonas: Intercal, Brainfuck, Befunge, Unlambda, Underload
b_jonas: that makes way more sense
kspalaiologos: befunge is quite hard one
kspalaiologos: brainfuck is too popular
kspalaiologos: intercal is very verbose
kspalaiologos: Unlambda is functonal
kspalaiologos: and I haven't heard about Underload
kspalaiologos: I think about rolling my own esolang
kspalaiologos: but I don't really have an idea how to do that
kspalaiologos: Emmental seems like a really cool language though
b_jonas: I just realized. Not only can we no longer refer to printed phonebooks when explaining algorithms on sorted arrays, we now also can't refer to electromechanical washing machines to explain multiple entry points to a subroutine.
b_jonas: will we have difficulties to explain multiplication to the next generation because they will be buying everything pre-packaged and nothing of which you can freely choose a quantity and has a price per unit weight?
b_jonas: will we have difficulty explaining Eucliean coordinates because they haven't seen the index of a map refering to map grid squares?
b_jonas: the previous OotS strip was published over 18 days ago. please upload the next one, fungot
fungot: b_jonas: 1/(sqrt(2)-1) ( fnord) as modulus, 216 as fnord, fnord, fnord
b_jonas: we usually write that as sqrt(2)+1, but sure
int-e: soon they'll take as long to upload as they take to read
arseniiv: Unlambda is functonal => why does it look like a bad thing?
arseniiv: BTW there is another side to “functional languages”, going from combinators and no variables (and composition) to defining equations and variables (and composition), on that way you could have reinvented https://esolangs.org/wiki/%E2%84%B2
arseniiv: allowing definitions makes writing nontrivial code a bit less hard
b_jonas: arseniiv_: hmm, that article should mention "lazy" somewhere
b_jonas: as in evaluation order
b_jonas: or strict, as it may be, for it makes a difference
arseniiv: b_jonas: hm doesn’t it? I’ll look at it
b_jonas: and "currying" too, because without currying, you need some extra builtins for conditionals and for data storage
b_jonas: as in an if-else, cons, (), null, car, cdr
arseniiv: > Overall evalution strategy is call-by-need, unless a modification (for example, to allow full IO) has something like Haskell’s `seq` or `$!`.
lambdabot: :1:43: error: parse error on input ‘,’
arseniiv: specified!
arseniiv: oh I never learn
arseniiv: @botsnack
arseniiv: and "currying" too => hm I did thought it’s obvious these definitions result in functions that can be partially applicated
arseniiv: I’ll add some explanations, how better to name the section with them?
arseniiv: elaborations, I’d say
b_jonas: arseniiv: "data storage" I think, for you need currying to be able to data other than from a limited alphabet of function names on the call stack
arseniiv: `unidecode Ⅎ
HackEso: [U+2132 TURNED CAPITAL F]
arseniiv: b_jonas: I wanted one section to explain about call-by-need meaning the same as lazy
b_jonas: I keep thinking of the strict non-curried version of this language
arseniiv: it would be something akin to the original Backus article?
arseniiv: b_jonas: ^
arseniiv: where he makes the first functional language, albet somewhat a clumsy one, given that it’s the first one
arseniiv: IIRC that’s 1977, “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. Hm pretty modern times. I thought from the time Lisp was invented it should have been earlier?..
b_jonas: arseniiv: do you mean Backus's FP? because then no
b_jonas: the one I'm talking about still has named function arguments
b_jonas: https://esolangs.org/wiki/Pointfree_programming has a link to that one, we don't have a separate page apparently
b_jonas: but also, the language I'm thinking of not only doesn't have currying, it doesn't even have functions as first class objects either. you can only use function names if you immediately call them. mind you, you can still program Backus's FP that way.
b_jonas: well, sort of.
b_jonas: not exactly the same as Backus's FP
b_jonas: but the style you program in translates to that well, only you lose named function arguments then
b_jonas: you can also translate it to a subset of Olvashato where you don't use lambdas
b_jonas: in all these cases you have named global functions that can be mutually recursive, which is sort of the distinctive feature
arseniiv: hm maybe I shouldn’t elaborate on call-by-need there, it looks too long or too incomprehensible
arseniiv: b_jonas: interesting, and there also is no partial application, yes?
arseniiv: I mean, I don’t think “currying” is a name for a well-defined language feature, it always confused me what it should mean, and I only see it viable as a name for the natural isomorphism from A×B→R to A→B→R
b_jonas: wait, let me check how Backus's FP worked again?
b_jonas: I got confused
b_jonas: I think it doesn't have named global functions
b_jonas: arseniiv: you can call it "partial application then, it doesn't matter too much that it's implemented by currying
arseniiv: though maybe it means that we could write λxyz.A for λx.λy.λz.A and correspondingly f x y z = … for f x = let g y = let h z = … in h in g
b_jonas: ok, Backus's FP is weirder
arseniiv: b_jonas: then I more or less understand what language you are describing
b_jonas: but it doesn't have named global functions
b_jonas: arseniiv: for the language I'm talking about, you still have a sequence of global function definitions, each one has a function name followed by named arguments on the left, and parenthisized function calls on the right
b_jonas: but on the right, each time you refer to a function, it must be called by all arguments, you can't pass around function pointers, whether partially applied or not
arseniiv: then the distinctive feature could be described thus: no partially applied function is an expression, this would formalize what it means that functions aren’t first class
b_jonas: and you get new builtins, namely if-else, which is the only way to not strictly evaluate all arguments,
arseniiv: maybe case-of and pattern matching is better?
b_jonas: and some builtins for creating data, namely at least nil and cons as data constructors, null and car and cdr as deconstructors,
b_jonas: but ideally also some basic numeric stuff
b_jonas: arseniiv: no, that's not enough
b_jonas: arseniiv: you also can't use bare function names (without any argument applied) as an expression
arseniiv: yeah I understand, a bare name is partially applied too
b_jonas: the base of olvashato and common lisp already work like that; they also have explicit way to manipulate first-class functions, but you can't do it as easily as mentioning a function name or partially applying anything
b_jonas: olvashato isn't quite like this even without the first-class functions, because olvashato has let and case which lets you create local bindings other than the parameters of the global function, and I don't want that
b_jonas: (also the syntax is different)
b_jonas: also, as for what I said earlier
b_jonas: "will we have difficulties to explain multiplication to the next generation because they will be buying everything pre-packaged and nothing of which you can freely choose a quantity and has a price per unit weight?" =>
b_jonas: this requires electric cars,
b_jonas: but I think we're officially in the electric car future now, because this year's Nobel Prize is for electric cars
zzo38: I don't think so; some people will buy and sell stuff that you will have to freely choose a quantity, even if it is rare.
b_jonas: zzo38: sure, it will exist, I'm just positing that it won't be such an everyday thing that every eleven year old in school sees it and finds multiplication of real numbers a natural and commonly used operation because of that
zzo38: (Also, multiplication would still be used with stuff other than buying and selling stuff.)
b_jonas: when I go to the market today, I need to know a bit of cultural context to know which price tags are per kilogram and which ones are per unit, because it's hard to guess
zzo38: I should think they ought to label if it is per kilogram or per unit. If it is prepackaged then it can be assumed as per unit if it doesn't say; if they are not pricing it per unit then they should not prepackage it.
b_jonas: most fruits and vegetables are sold by kilogram, but the ones that come with lots of leaves are sold by bunch or single root
b_jonas: zzo38: sure, but consider fruits: kohlrabi is per single root, but canteloupes and lemons and cabbage are per kilogram
b_jonas: lemons and canteloupes and kohlrabi have a strong rind so they don't need pre-packaging
b_jonas: so they aren't packaged, yet you could sell them either way
zzo38: Yes, that is OK, but they should label them as "per unit" or "per package". I did not say that per unit stuff should be prepackaged; only that prepackaged stuff should be priced per unit.
zzo38: s/per package/per kilogram/
arseniiv: lemons of linear logistics
b_jonas: there are even roots that are sold per bunch, which could count as pre-packaged, but it's sometimes not obvious to notice the strings that tie a few roots into bunches
b_jonas: this happens with carrots and radishes
b_jonas: zzo38: yes, prepackaged stuff is sold by unit except in very rare cases that are clearly labeled
b_jonas: there are two sorts of exceptions:
b_jonas: one is for pre-packaged cheese and the like that is sold by weight and the weight is measured in advance when packaging and written on a printed label and encoded in the bar code
b_jonas: the other is pre-packaged stuff sold in twos or threes, where you can still buy in single units but it becomes more expensive, and you can buy two or three of different kinds mixed and matched of the same price group
zzo38: Yes; in that case, you would print the price and weight on the label of the individual package.
zzo38: So the price is both per unit and per weight.
b_jonas: there's no problem with packaged stuff
b_jonas: the difficulty is more with the non-packaged stuff
zzo38: So it is OK that it is like that, since the label mentions the price.
zzo38: With non-packaged stuff the label still should make it clear about the price.
zzo38: (If they don't specify, then, I think, it isn't very good.)
b_jonas: admittedly many of the vendors do specify
zzo38: Did they make the AD year numbering the way that it is for reasons having to do with leap years since it is not precise according to when Jesus is born?
arseniiv: I feel warm
b_jonas: thanks
arseniiv: I have implemented turned F myself but I don’t remember in what language and where the project is, and also I’m pretty certain its code shouldn’t see the daylight. I probably will someday just write it from scratch in Python like with Punctree. I don’t like I write Python in a usual text editor without IDE hints but this language is pretty popular and you can easily run single files without any special manoeurs so that drives my hand
arseniiv: or forces, or delays
kspalaiologos: I have made a chess engine in Malbolge
kspalaiologos: in theory it's decent
kspalaiologos: but it has two drawbacks
kspalaiologos: a) It requires 31 and a half gigabytes of memory
kspalaiologos: b) it's quicker to count atoms in universe than to run it
kspalaiologos: but I'm certainly sure it works
arseniiv: (^cont.) and of course I have implemented something like YE…A, even with some optimizations for functions constructed with simple recursion operator, in Ceylon but I didn’t make that human-readable and it wasn’t YE…A strictly speaking, but an interpreter for a DSL
b_jonas: how can you be sure? if it's so slow, how do you debug it?
kspalaiologos: the same generator that made this program
kspalaiologos: has been tested to 100% coverage
kspalaiologos: the chess engine is just higher scale of the same thing
arseniiv: kspalaiologos: lol :D
kspalaiologos: so it has to work, eventually
kspalaiologos: for anyone interested
kspalaiologos: https://github.com/kspalaiologos/malbolge-chess
kspalaiologos: the 7z file unzips to 113 megabytes of malbolge
b_jonas: 32 gigabytes is solvable these days
kspalaiologos: I'm equipped with just eight
kspalaiologos: anyone willing to borrow 24G and a quantum computer?
b_jonas: a quantum computer? what for?
kspalaiologos: it would hopefully speed up the process
b_jonas: what... chess? how?
kspalaiologos: the quantum computer is able to solve "puzzles" that conventional computers aren't able to
b_jonas: puzzles maybe, but I don't think it helps for chess
kspalaiologos: for example, it can break RSA encryption quite eaisly from what I've heard
b_jonas: that sure
kspalaiologos: isn't malbolge just a fancy encryption?
kspalaiologos: I've spent my entire day on writing a proof of concept in C, then translating it to assembly, and then stepping down to something 4004-like to finally produce the output
kspalaiologos: it was a quite fun process
kspalaiologos: nonetheless
arseniiv: kspalaiologos: hm but your code should use its “features”, like a program can’t just start using SSE or what there is these times, without the programmer writing those instructions beforehand
kspalaiologos: the interpreter can be tweaked
kspalaiologos: so it runs smoother on quantum computers
kspalaiologos: I have made once a SSE brainfuck interpreter, nothing is scary now
kspalaiologos: imagine a tape, but of type __m64
kspalaiologos: or __m512i
kspalaiologos: optimizing malbolge is quite hard process tho
kspalaiologos: to do it correctly you'd have to know the assembler structure
kspalaiologos: but as you can reverse it, is there any sense in simplifying the assembly down to malbolge?
zzo38: Trick NSA to make the computation for you, by using encryption.
zzo38: b_jonas: Did you see the Magic: the Gathering card I mentioned and that Sgeo__ wrote a comment?
b_jonas: zzo38: no, what card?
b_jonas: does it have "Frore" in its name
Sgeo: Stone of Lizard Men
zzo38: Sgeo__: Yes.
zzo38: Stone of Lizard Men {2} Artifact ;; {X}, {T}: You may put a Lizard or Viashino card with converted mana cost less than X from your hand into the battlefield. If you do, add one mana of any color.
b_jonas: hmm, there are fewer lizards now, because cards like Imperiosaur have been patched to Dinosaurs
zzo38: Yes, but there still are some, including cards with changeling
zzo38: (And you can also use Artificial Evolution to alter which creature types this can be used with.)
zzo38: Do you know the "backward" variant of scope (an Italian card game)? Someone showed me that variant, but I don't know if anyone else has written about it.
Sgeo: b_jonas, any ideas about what fun can be had by effectively summoning a creature at mana ability speed?
zzo38: Of course, then you can do it during a mana step, I suppose, which might sometimes allow you to play triggered abilities in a different order.
zzo38: (There are also ways to play replacement effects during a mana step, even with only Vintage-legal cards. See http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.4 for one example.)
zzo38: (Well, that one doesn't have a replacement effect during the mana step, but with other cards it can be easy to see that it can still be done.)
zzo38: Now I added a "Frequently Asked Questions" section in story I wrote (from the GURPS game), so, if you have a question, then I can add it, please.
oerjan: `addquote I have made a chess engine in Malbolge in theory it's decent but it has two drawbacks a) It requires 31 and a half gigabytes of memory b) it's quicker to count atoms in universe than to run it
HackEso: 1336) I have made a chess engine in Malbolge in theory it's decent but it has two drawbacks a) It requires 31 and a half gigabytes of memory b) it's quicker to count atoms in universe than to run it
imode: @message kspalaiologos care to share this mythical chess engine?
lambdabot: Maybe you meant: messages messages-loud messages?
imode: @tell kspalaiologos care to share this mythical chess engine?
lambdabot: Consider it noted.
oerjan: imode: it was linked in the logs
zzo38: I read on Wikipedia about digital television captions, and they mention many things I have not seen in other TV sets
oerjan: https://github.com/kspalaiologos/malbolge-chess
zzo38: I have been writing how I thought should be designed a television set. The digital caption setting menu includes service number 1-63, user override on/off, tag mask, enable flashing, maximum number of windows, font priority (user or broadcast), special effects on/off, auto switching services.
zzo38: The analog caption setting menu includes service selection (CC1-CC4 and TEXT1-TEXT4), user override on/off, allow/disallow white background, minimum roll-up, enable flashing, enable buffering, alarm on/off, character set (EIA-608 or ASCII).
zzo38: Common caption setting menu can include: caption on mute, caption relative to either the picture or the screen, style submenu, status menu (can be used for debugging), caption recording. And then, there is also the caption scrollback feature, to review earlier captions. Do you think it is good enough?
b_jonas: oh nice. Zach from SMBC advertises his book on http://phdcomics.com/comics/archive.php?comicid=2033
int-e: Hmm, somehow the styles of http://www.yihcomic.com/ and http://sssscomic.com/ are quite similar.
shachaf: Today I tried to actually figure out the details of CDCL and other tricks a bit more.
shachaf: I feel like there are some basic things I'm confused about. I should probably implement the parts I understand to see if I become unconfused.
shachaf: Here's one thing that's not even related to CDCL:
shachaf: When you need to decide on a variable and you add a literal p to your assumptions, what do you do?
int-e: well you don't
shachaf: Do you need to worry about clauses that contain p at all or do you just ignore them?
int-e: when processiong a clause you don't put it on another watched literal list if its next literal is already true, so this is part of the watched literal logic.
shachaf: But then when you backtrack you might add it to a watched literal list?
int-e: but you don't touch the watched literal lists when you backtrack?
int-e: or backjump
shachaf: Right, that's what I thought. But then I don't understand your previous sentence.
int-e: I believe you can just keep the clause on the list that you're processing
int-e: uhm actually
shachaf: So a large number of clauses is just irrelevant for you because you only ever find clauses through watch lists.
int-e: sorry, I'm confused
int-e: But I think I got it right nevertheless. So... you go through the watch list of a literal l. If you encounter a clause that is already true in the current partial assignment (while looking for another literal that's currently unassigned), then you can keep the clause on the watch list for l, because whatever made the clause true is earlier on the trail than l.
int-e: (well, the trail has a negated l)
int-e: Meaning once the clause evaluation becomes unknown again, l will not be assigned, reestablishing the watched literal invariant (any clause with unknown truth value is on two watched literal lists)
shachaf: OK, so the only way a bunch satisfied clauses hurt you is that a watch list might contain them and you might need to sift through them?
shachaf: And you might e.g. move them to the end of a watch list and possibly be able to stop looking through a watch list early.
int-e: this is a kind of laziness
shachaf: Though I'm not sure a thing like that would actually work.
int-e: (but a good kind because many clauses that become true will never be touched at all)
shachaf: Hmm, but the ones that become true and are watched will just be inspected over and over because the watched literal will never move, unless you do something extra?
int-e: Hmm, maybe it's clever to move them to the literal that is true instead.
shachaf: Oh, that makes sense.
int-e: (provided the clause is not on that watch list already)
shachaf: You can even locate the true literal that's furthest away in the stack, so hopefully you don't see it for a long time.
b_jonas: what... are you writing SAT solvers?
shachaf: Er, the last thing I said doesn't make sense.
int-e: b_jonas: I've been resisting the temptation for a long time. I think I can maintain this state :) Not sure about shachaf.
shachaf: Some of my questions are about the actual typical operations/memory layout/etc. used by reasonable SAT solvers.
shachaf: Others are about clause learning, which seems like one of the most complicated parts of many modern solvers.
int-e: b_jonas: But I know enough about the basics (DPLL, CDCL, a bit about heuristics) to be harmful.
int-e: I know a bit more about the verification side. (RUP, DRUP, RAT, DRAT)
shachaf: Oh, UNSAT verification?
shachaf: I'd like to know about how that works.
shachaf: I suspect understanding UNSAT certificates and understanding CDCL are pretty related?
int-e: Actually, no.
shachaf: Oh, that's interesting.
int-e: At least on a high level, certification works by maintaining a set of clauses (initially those of the problem) and adding and removing clauses with inferences that maintain satisficability. The last step derives the empty clause.
int-e: The inference relies heavily on unit propagation though, so for efficiency, you end up with watched literals again.
shachaf: Sure, atched literals is a great trick.
shachaf: I should understand regular SAT solving first.
int-e: https://www.researchgate.net/publication/333612067_Efficient_Verified_UNSAT_Certificate_Checking should be a good starting point (including references for DRAT and DRUP).
b_jonas: shachaf: you should just wait for Knuth to write that part of volume 4.
int-e: The idea for RUP is that every backjump clause can be derived by "reverse unit propagation" -- assert the negation of the literals of the derived clause, and do unit propagation; if that results in a conflict, then the clause can be added without affecting satisfiability. So all a SAT solver has to do to produce a certificate is to record the backjump clauses which it's computing anyway.
int-e: (and potentially learning)
int-e: DRUP adds deletion of clauses (for efficiency). RAT is a bit more complicated and motivated by simplification of clause sets rather than DPLL itself.
shachaf: b_jonas: Fascicle 6? I have a copy right here.
b_jonas: I have technically written a SAT solver once, but it's a rather trivially stupid one, it only works on very simple expressions
shachaf: It doesn't talk about many of the things I want, though, I think.
shachaf: I've only read part of it so far.
b_jonas: shachaf: so does it not help about "typical operations/memory layout/etc."? I'd expect Knuth to talk about those
shachaf: It certainly talks about those, for the algorithms it describes.
b_jonas: hmm, https://www-cs-faculty.stanford.edu/~knuth/news.html has multiple news that I haven't seen
shachaf: I'll look at it some more after these papers.
b_jonas: pity one of the links is already broken
shachaf: OK, it looks like the part of fascicle 6 two pages after where I left my bookmark in it a while ago is on the same topics I was reading papers on today.
shachaf: I guess I'll take a closer look.
int-e: I see he gets up to RUP.
jix: shachaf: int-e: While I've been just idling here for years, I just noticed discussion about SAT solving... I've written a CDCL SAT solver and UNSAT certificate checker https://github.com/jix/varisat (not using DRAT though, I'm using a different proof format that records unit propagations during solving and thus can be checked much faster)... feel free to ask me any questions about SAT solving :)
b_jonas: idling... does that mean we should `welcome you?
b_jonas: also, nice
jix: that just means I was quite active here... I don't know 10, 15 years ago or so and never parted :)
b_jonas: yeah, this channel has a long history.
b_jonas: ``` q jix # the quote file doesn't know that you were active... not under this name at least
HackEso: No output.
jix: https://esolangs.org/wiki/Jannis_Harder << that's me
int-e: jix: It's funny that you mention recording unit propagations... because the GRAT format does that as well, making for a three stage verification pipeline: simplifier+SAT-solver => DRAT => GRAT (fewer clauses, more information) => verifier.
jix: int-e: yeah I skip the DRAT => GRAT part which is as expensive as solving in the first place
int-e: (This is Lammich's pipeline... Heule et al. have a slightly different intermediate format ... I forgot the name.)
jix: what I do is solving -> custom format -> LRAT (which is inspired by GRAT)
jix: total time is cut roughly in half, but my solver isn't as good as others on many problems, so it's not that practical yet
int-e: jix: It's funny though that the overhead of storing and reading additional information like that pays off. (Ah, LRAT. I think that was it. If so, it's a concurrent development to GRAT.)
jix: I experimented with emitting LRAT directly, but the code to keep track of clause ids became very complicated and introduced memory overhead
jix: so my next attempt just hashes clauses and resolves hash conflicts during conversion
jix: int-e: ah maybe it was inspired by a predecessor of GRAT?
int-e: Hrm, let me check.
jix: there also is a newer DRAT proof checker, https://github.com/krobelus/rate that can emit LRAT and GRAT that is supposedly faster than drat-trim, but I haven't really benchmarked it yet
int-e: So... There's DRUP and DRAT as the foundation. There's a format called GRIT that records unit propagation steps. This is a precursor to both LRAT and GRAT, which do the same thing for RAT steps as well.
jix: ah, yeah, so I was thinking of GRIT when I read GRAT
int-e: (LRAT and GRAT were developed independently for certified DRAT checking, both published at CADE 2017; LRAT is Cruz-Filipe, Heule, Hunt, Kaufmann, Schneider-Kamp; GRAT is Lammich)
int-e: "amost as fast as gratgen" - yeah I thought that gratgen looked very good, performance wise.
jix: in any case I think emitting an LRAT/GRAT like proof directly from the solver is quite a bit faster than conversion from DRAT, the biggest downside is that it is quite a bit larger than a DRAT proof, but if you're not interested in storing the proof you could run the verifying concurrently to avoid that
jix: I might need to implement that for a competitive solver, though, if I want to convince people of that
int-e: jix: Hmm, how well does the unsatisfiable core computation work though?
jix: int-e: haven't checked that yet, it's possible, but it'll probably generate larger cores because there is no core-first propagation or anything like that
jix: if you use iterative solving to minimize the unsat core (like Heule did for the chromatic number of the plane problem), you can iterate faster, so it'd be interesting to compare it in that setting
int-e: jix: Yeah I'm basically asking a research question... the answer can't be determined without trying, I think. I certainly don't have the intuition for it.
Amiona: Chat 40+ -> https://soo.gd/room40plus
tswett[m]: When was the first emoji used in #esoteric? 🤔
b_jonas: tswett[m]: probably before 2003
tswett[m]: When did emoji become "a thing," anyway? I seem to remember it was relatively recently that they were implemented on iOS and Android and subsequently (pretty much immediately) became popular in the US.
tswett[m]: "Relatively recently" as in within the past 5 years.
int-e: 'Originating on Japanese mobile phones in 1997, emoji became increasingly popular worldwide in the 2010s after being added to several mobile operating systems.'
int-e: <3 wikipedia.
int-e: 'The first ASCII emoticons, :-) and :-(, were written by Scott Fahlman in 1982, but emoticons actually originated on the PLATO IV computer system in 1972.' (ditto)
tswett[m]: Nyope. Looks like iOS got support for emoji in 2011, much longer ago than I thought.
int-e: Unicode version 6.0, 2010, added those to Unicode.
b_jonas: tswett[m]: when did it get support for animated emoji?
b_jonas: soon we'll have animated emoji with sound and smell
b_jonas: and modifiers for whether the man blowing a raspberry emoji or the crying face emoji are supposed to be rendered with sound on or muted
b_jonas: and a singing voice modifier that changes the default tenor voice to a bass
pikhq: Pretty sure those, well, aren't really emoji.
b_jonas: not yet
pikhq: They're pictures being sent, not Unicode strings
pikhq: (animoted emoji, I mean)
int-e: I remember animated fonts on VGA...
tswett[m]: int-e: EGA was the first to support those, wasn't it?
int-e: tswett[m]: I'd have to check. I've never had an EGA myself.
int-e: tswett[m]: I still don't know, but at least it's very plausible that EGA supported this trick :)
b_jonas: darn it! the windows were open so the beeping sounded like it was coming from the outside. it took me two minutes to realize that it was my own oven alarm
int-e: . o O ( who doesn't like charred pizza )
kspalaiologos: charred pizza is profanation of pizza
kspalaiologos: once in my life I've been to Venice, there was a guy selling pizza slices
kspalaiologos: one slice was arm-length
kspalaiologos: the slice overall was very moist with a lot of olive oil
b_jonas: luckily it's not pizza
b_jonas: and not charred
b_jonas: [ 16*12*0.0254
j-bot: b_jonas: 4.8768
tswett[m]: int-e: Well, EGA definitely supported (the appearance of) animated fonts.
tswett[m]: Hecc, I should get an EGA.
tswett[m]: Hook it up to my IBM PC.
tswett[m]: But first I'll have to get an IBM PC.
tswett[m]: One with an 8080 processor, I don't want none of this protected mode nonsense.
imode: 8080's are pretty cheap, you could just build one.
int-e: tswett[m]: don't you at least want a proper 16 bit data bus though?
int-e: I mean, you already have 16 bit registers.
tswett[m]: Hmmmm, perhaps.
pikhq: tswett[m]: https://monotech.fwscart.com/NuXT_MicroATX_Turbo_XT_955MHz_832K_RAM_XTCF_SVGA_Floppy_Serial/p6083514_19777986.aspx ?
pikhq: (not the literally ideal solution for all use cases of this sort of thing mind, but it is a very pleasant product)
tswett[m]: pikhq: Ooh, sweet!
pikhq: Right?
pikhq: I imagine stock is never gonna be _super_ common, cause it's very much a cottage-industry thing _and_ some of the components are new-old-stock, but
pikhq: On the other hand, while trickier to get _most_ of what makes that nice can be cobbled together with other off-the-shelf things.
pikhq: (just less all-in-one)
b_jonas: oh I see. the "955MHz" in the url was confusing. it's "9.55 MHz" rather than "955 MHz".
tswett[m]: That's fast enough to run a stock exchange. :D
tswett[m]: Damn it, now I'm all thinking about writing stock exchange software for an online game.
tswett[m]: Psst, I'm writing an online game. Currently, you can log into the game, and see how much of various commodities everyone has.
tswett[m]: Currently it is not possible to gain more commodities, or to do anything with the commodities you've got.
b_jonas: nothing is fast enough to run a stock exchange. those people are crazy, they put computers in the middle of the Atlantic just so they can speculate a few milliseconds earlier when their choice depends on information from both European and American stock exchanges.
b_jonas: it's ridiculous
tswett[m]: Yeah, high-frequency trading is a weird thing.
b_jonas: I mean, I don't work in financial areas, and admittedly the areas where I work are crazy in other ways,
tswett[m]: Theoretically, traders provide a valuable service.
tswett[m]: I want to be able to buy and sell goods, services and capital at prices that reflect their fair market value.
b_jonas: right, they provide the grease that reduces the friction of the market
tswett[m]: So if someone puts effort into providing that for me, they deserve a bit of return for their effort.
b_jonas: they do get their return in the form of money
b_jonas: `? tinfoil hat
HackEso: tinfoil hat? ¯\(°_o)/¯
tswett[m]: But there's presumably a point where it stops being "they get money in exchange for providing a valuable service" and starts being "they get money for being better at poker than everyone else."
b_jonas: I'm not sure that's separable. they provide the valuable service by being good at poker.
tswett[m]: Well, in actual poker, the good poker players aren't really providing a valuable service to the bad poker players.
tswett[m]: Just like if I go into a casino and count cards, the casino pays me money, but it's not because I'm providing a valuable service to the casino.
shachaf: Golly. Instead of pointless gambling, people should be able to bet on real things, and thus provide a valuable service to the world.
b_jonas: as in on the stock market?
shachaf: Well, stock betting is already mostly legal, and it's useful but it's not the only useful market.
shachaf: I think mostly arbitrary prediction markets should be generally legal in the US, except one special one.
b_jonas: or they pretend it's mostly legal, because if we could find out what specific illegal thing they do, the authorities would punish them
shachaf: What do you mean?
b_jonas: how about the intermediate stuff, betting on sports?
shachaf: Sports betting seems pretty useless to me, but probably a bit better than casinos.
b_jonas: sports betting seems pretty popular here, among people who I think don't have any comparative advantage in the bets, so it's just a game of chance, paying for the thrill or something
b_jonas: I don't understand how it's so popular
shachaf: It's kind of odd which things are legal to bet on in the US.
shachaf: For example you can bet on the weather.
FaeFly: what things aren't legal to bet on?
shachaf: Arbitrary events.
b_jonas: the tricky part of the legal rules (IANAL) is not just what you can bet on, but how you pay income tax after them. it's pretty clear that if you win all your bets, then all that you gain on them is your income.
b_jonas: but if you win one bet and lose another bet, then is it a transaction as a whole and your income is the difference, or is the winning bet your income and the losing bets your spending so your income is what you win on the former?
shachaf: Except for predictit.org and apparently something in Iowa, which are still not legal but allowed to run anyway?
b_jonas: there are some rules on that, but of course there are so many, often illegal, new forms of betting, that they can't cover it all
FaeFly: I guess the UK is more permitting than the US wrt betting on arbitrary events, then
b_jonas: and it's even harder to enforce it
shachaf: b_jonas: The answers to these questions are well-established for other trading, so it doesn't seem like a problem.
shachaf: I mean, if you're betting secret and illegally it's hard to enforce, but the law is reasonably clear.
shachaf: Yes, the UK is more permitting.
shachaf: Except in the UK you have to use inscrutable words like "back" and "lay".
b_jonas: right. and since games of chance are so severely regulated here, almost everyone who earns a signifiacnt amount do it illegally
shachaf: Once in a while I figure out what they mean but the next time I want to look at a market I've forgotten again.
b_jonas: ah, jargon
FaeFly: (speaking of being able to bet on arbitrary events)
b_jonas: FaeFly: they always do, the bet is only about when
shachaf: Anyway my point is just that actual markets are useful for the world, whereas casinos are not.
b_jonas: oh right, as for goats
FaeFly: (nah, there's been years when it hasn't been, but the majority of the time it seems to be)
shachaf: So if people are going to get the gambling thrill anyway, better for them to lose money on actual markets, to incentivize counterparties to do research or something.
int-e: shachaf: I thought running a casino is great for making money?
shachaf: Yes, casinos are useful for the owners and not anyone else.
shachaf: Markets are useful for everyone.
int-e: shachaf: grocery markets, maybe
shachaf: Grocery futures! Good idea.
shachaf: Exotic grocery futures options derivatives.
int-e: Been done for cocoa...
shachaf: Oh, another thing that's illegal in the US is onions future.
shachaf: But that's an explicit exception for onion, most kinds of futures are legal.
shachaf: for onions
int-e: Well you learned the right lesson from the Tulip crisis.
int-e: (Those are a kind of onion, right?)
b_jonas: int-e: nah, they don't really work. the agriculture guys figured out that they don't have to pay for insurance, they just tell the government every year that this year has been the worst weather ever since their life and there's no way they could have been prepared for it and the government has got to pay them subsidy to help them
b_jonas: you can't compete with that
tswett[m]: Yeah, ban bulb speculation!
shachaf: I'd like onion futures to be legal. Maybe I can write my congresshumans.
b_jonas: shachaf: is this like those rules that get compiled to stupid law compilations on the internet, like laws about not being allowed to park an elephant close to a school or something?
shachaf: It's this law: https://en.wikipedia.org/wiki/Onion_Futures_Act
shachaf: It was later amended to ban box office receipts futures (bets on how much money a movie will make).
shachaf: I think the law is just bad. As far as I know onion farmers agree nowadays.
int-e: shachaf: It's certainly a ridiculous piece of legislation. I'm all for such a ban but limiting it to onions is ridiculous and short-sighted.
int-e: A ticking time bomb.
int-e: (No, I'm not a big believer in capitalism. Why do you ask?)
shachaf: Yes, I know that. That's why I'm taking the contrarian view point, obviously.
int-e: (More to the point I believe that free markets have optimize the wrong objective function.)
int-e: s/have//
shachaf: Sure, I agree on that.
shachaf: Well, I don't know what right and wrong objective functions you have in mind.
shachaf: But I also don't know what's better. It's easy to name shortcomings in markets.
b_jonas: shachaf: that looks crazy, and I think it's an example of exactly what I said above, that agriculture people can put on a great innocent small child face with the puppy eyes and tell the congress that they're being unfairly exploited by the evil stock trade people, and then the congress does anything they ask for
b_jonas: and if they don't, then the agriculture people pour milk and throw watermelons at them, and the politicians get afraid that their beautifully tailored suits will get spoiled, and so they give in
int-e: I don't have a feasible, stable solution either. (For example, socialism is a great idea, but putting it into practice is really hard... you're likely to end up with corruption everywhere, and quite possibly an unmotivated workforce.)
shachaf: I mean, they *were* unfairly exploited by futures traders.
int-e: In practice, timely regulation is probably the best to hope for.
tswett[m]: The free market is great as long as the market value of every person's labor exceeds the market value of the goods and services necessary for that person's well-being.
shachaf: int-e: OK, sure, it sounds like we agree on that.
shachaf: A big point of the whole market thing is that incentives line up well.
int-e: Regulation is also the key to internalizing external costs, especially from the future.
shachaf: And you certainly want regulation rather than "free markets" which can easily be pathological.
shachaf: Right, and you want to internalize externalities.
int-e: Basically, since we don't know anything better than the free market model that is also stable in the medium and perhaps even long term, we have to resort to tweaking the cost function.
int-e: Of course it's all embedded in a prisoner's dilemma between countries because for most things we have a global market.
int-e: (The background problem I'm considering is limiting climate change. It's one of the truly big challenges where in theory, it should be in everybody's interest to work really hard towards a solution, including accepting lowered standards of living for the few for the benefit of the many and future generations. In practice... I don't see any of that happening fast enough to matter.)
int-e: Cornering markets, as nasty as that is... seems minor in comparison.
shachaf: Limiting climate change is good but a particular government can add regulation for externalities however market-oriented it is.
shachaf: And the inter-government issues are no different.
b_jonas: this channel is weird. SAT solvers in the morning, free market in the evening
int-e: we've also seen ootsology, meditation, and actual spam
shachaf: int-e: Anyway, I don't think we disagree on any of the facts, so I think it's odd that you end up thinking futures should be illegal and I don't.
b_jonas: `8-ball should futures be illegal?
HackEso: Better not tell you now.
b_jonas: fungot, what restrictions do you recommend to put on the free market?
fungot: b_jonas: designing an os -and- playing tabletop.... i'm kinda thinking specifically of http and other stateless protocols... and dynamic ip addresses. but i can't
int-e: shachaf: If you put it like that I'm not sure about whether they should be illegal. I don't think they are useful, and I dislike some of the consequences (cornering markets is most attractive in the presence of futures, isn't it...)
shachaf: Hmm, I think futures are useful for reducing uncertainty and transferring risk from people who have it to people who want it.
int-e: that's the trouble, isn't it
int-e: hedging risks is great, speculation is bad, and there's no discernable differencw
shachaf: Why is speculation bad?
shachaf: (Speculation can also be done without futures, of course.)
int-e: it's bad when combined with bankruptcy
int-e: Because then you're in an ugly external cost scenario.
arseniiv: oh at first I thought about futures like promises
int-e: Yes. I promise to buy ... shares at price ... in the future.
shachaf: That's arguable, but often it's addressed anyway.
arseniiv: now I see this is economical stuff I don’t know anything about
shachaf: I think speculation clearly has a useful function too.
b_jonas: and that's still greasing the market?
arseniiv: though I don’t really distingwish promises and futures too, I hadn’t read anything comprehensive to date about them all
shachaf: If I buy wheat when it's cheap (low demand) and sell it when it's expensive (high demand), I've transferred wheat from people who don't need it to people who do.
b_jonas: right, greasing the market, even though wheat in particular isn't greasy
shachaf: I get paid for it because the people who need it are willing to pay because it's so useful to them.
shachaf: That seems cleary useful.
int-e: shachaf: presumably you've also paid for storage. except... nowadays... that's not so clear at all
arseniiv: . o O ( my market is all floury on the floor, who did it )
shachaf: Nowadays you might've paid someone else for storage, sure.
b_jonas: presumably if the grain travels time then someone payed for its storage somehow
b_jonas: because no free launch
shachaf: Right.
int-e: or maybe there is no grain
b_jonas: you mean it got to the future the old style way, by having planted seeds a few months before you need it, and then harvesting at the right time, so it doesn't need to be stored??
int-e: it's futures -> short-selling -> cornering markets -> disaster. :P
arseniiv: BTW I watched those slides on GA and I wonder how can it be explained transparently than in PGA, you represent points by (n−1)-vectors, lines by (n−2)-vectors and so on and hyperplanes by 1-vectors, all in reverse to the way they’re represented in usual projective space context
shachaf: I feel like you're focusing on a few extremely bad failure cases -- which are generally illegal anyway -- and not on the constant benefits everyone gets.
b_jonas: it's not a _disaster_, it's just another stupid zillion dollars lots of government subsidies, because the agriculture sector knows that puppy eyes are cheaper than taking any risk or behaving like they're part of a world economy where maybe it's not worth for them to grow watermelons at all because shipping them all the way from brazil is cheaper
int-e: shachaf: because "everyone" is concentrated in the top 1%.
shachaf: I don't think that's true.
int-e: I think it's born out by the capital distribution and its changed distribution over time.
shachaf: Wheat farmers get the benefits of wheat futures, because they can reliably know what prices they'll sell their wheat at before it's grown, so they can plan better.
arseniiv: (^cont.) (representing them the usual way gives something paranormal but why the reverse works is not automatically clear)
int-e: but wouldn't they be better off if they had sufficient money floating to hedge those risks themselves...
shachaf: Sure, I think there are clearly problems causing wealth to be concentrated among a small number of people to a ridiculous degree. But I don't think derivatives are the cause.
shachaf: I buy insurance rather than hedging tail risks myself.
shachaf: I think in some cases insurance makes sense and in some cases it's ridiculous, but the concept surely makes sense.
b_jonas: shachaf: right, that's more than half the point of insurance
shachaf: (Ridiculous: US health insurance.)
int-e: So you should cover normal fluctuations using your own capital and tail risks by a proper insurance?
b_jonas: shachaf: oh yeah, that one is weird
int-e: I don't see where you need futures in this picture.
shachaf: You should be able to transfer whatever risks you want to people who want to buy them.
b_jonas: or hmm
shachaf: No one is forcing wheat farmers to use futures. If they want to hedge tail risks only they can do that too (and people also trade wheat options, but I imagined you'd have even more of an objection to those).
b_jonas: well, there's also cases when the government mandates you to buy insurance, most importantly (a) when you're driving motor vehilcles, you must buy insurance to pay to the people you kill by accident, and (b) if you run a travel agency, you must buy insurance to transport the travelers back home
b_jonas: `? trigak
HackEso: trigak? ¯\(°_o)/¯
b_jonas: `? serini
HackEso: serini? ¯\(°_o)/¯
b_jonas: what look, trigak and serini look just the same according to the wisdome
shachaf: I often hear backjumping described as a big improvement, but is it actually that important?
shachaf: With your learned clause, even if you didn't backjump but only went up one level, the new clause would give you a conflict via unit propagation anyway, right? So you wouldn't end up making any new decisions.
shachaf: b_jonas: https://twitter.com/ioccc/status/1183476350847336453
b_jonas: ooh, this will be interesting
b_jonas: shachaf: ioccc? let me see
int-e: shachaf: The point of backjumping is that you undo decisions that were made after a point where the newly learned clause could be used for unit propagation.
int-e: shachaf: It's not an unconditional win, but heuristically you want to do as much unit propagation as possible before making a decision.
shachaf: b_jonas: It's only a pre-update.
int-e: shachaf: You can think of it as a partial restart, maybe?
b_jonas: majority opposition win in Bp
shachaf: int-e: I mean, clearly backjumping is good, but if you didn't do it, unit propagation alone (and no decisions) would unwind you to the same point. Right?
int-e: shachaf: well, sooner or later...
int-e: shachaf: actually, no, it's incomparable
b_jonas: shachaf: I know it's not the final results yet, but it won't change significantly at this point
int-e: shachaf: if ordinary backtracking returns to that point, the negated literal corresponding to that decision will end up on the trail, then the backjump literal.
int-e: shachaf: I'm pretty sure this is one of those ideas that are completely unclear in theory but work out well in practice.
int-e: Aka a heuristic ;)
b_jonas: shachaf: yes, that's probably not worth an ioccclist trigger
b_jonas: `? ioccclist
HackEso: ioccclist is update notification for when a new year of the International Obfuscated C Code Contest is announced, or the winners for a year is announced, or the source codes of winners are released. http://www.ioccc.org/#news
int-e: shachaf: oh what do you mean by "unwind"... only backtracking or backjumping really unwinds anything; everything else expands the trail.
b_jonas: it doesn't even appear on the news page
j4cbo: hey SDR nerds, can anyone identify this encoding scheme?
j4cbo: https://usercontent.irccloud-cdn.com/file/o3noKYIX/Screenshot%202019-10-13%2014.51.44.png
j4cbo: https://usercontent.irccloud-cdn.com/file/G4qGBD9F/Screenshot%202019-10-13%2014.50.47.png
j4cbo: it's not manchester... the thing i noticed is each high is only ever 1 symbol length but the low intervals are either 1 or 2
j4cbo: so a transmission is variable length depending on how many 0s or 1s there are?
b_jonas: j4cbo: that could happen, there's at least one encoding scheme that is variable length like that
b_jonas: of course there could be a layer over it that changes what comes out as zeroes and ones
j4cbo: https://usercontent.irccloud-cdn.com/file/qoPjGUGh/Screenshot%202019-10-13%2014.53.51.png
b_jonas: j4cbo: but isn't it also possible that you have too few samples and sometimes the high can be 2 long too?
j4cbo: that is possible
j4cbo: i'm trying to reverse-engineer my cheap-ass wirelessly controlled christmas lights
j4cbo: i have a remote control dongle with three buttons (toggle power, change pattern, and 'sync' which restarts the current pattern) so... those are the only three samples i'm gonna get :P
b_jonas: see https://en.wikipedia.org/wiki/1-Wire which is variable length like that
b_jonas: but with different timing
j4cbo: then it's OOK over 433mhz
j4cbo: i'm kind of hoping the receive device supports discrete on and off commands
b_jonas: do you always get the same sample from the same button?
b_jonas: well that's promising
j4cbo: it just plays over and over again while the button is held down
b_jonas: send it lots of random nonsense quickly and hope that does something?
zzo38: Could you implement on/off by the power connection instead if needed?
j4cbo: totally, but that requires extra hardware :P
b_jonas: j4cbo: these only have, like, 17 bits of info at most, so try all 2**17 combinations
b_jonas: some of them will probably be ignored
j4cbo: yeah, i need to rig up some code to send those words out from my own hardware next
b_jonas: are these sent by radio or by infrared?
j4cbo: radio, 433mhz OOK
b_jonas: hmm, that might be harder
j4cbo: i have a spare rileylink
shachaf: int-e: I think I'm confusil about something but I don't want to type it on my phone so I'll try to say more later.
shachaf: By unwinding I mean regular backtracking, i.e. only subtracting 1 from the level.
int-e: shachaf: Right. Then I think I've understood correctly... and perhaps answered your question as well.
shachaf: int-e: Back at computer.
b_jonas: strangely, the word "confusil" doesn't appear in quotes or wisdom ... yet
shachaf: int-e: Whether you backtrack or backjump to a point earlier in the trail, you should have the same state, shouldn't you?
int-e: shachaf: No, because the backtracking will leave an additional literal on the trail.
shachaf: I mean the same trail state. Your learned clauses might be different.
b_jonas: sorry I don't make more constructive conversation, but SAT solvers really isn't a topic I feel interested about
int-e: shachaf: before unit propragation with the learned clause kicks in.
shachaf: Wait, backtracking only deletes everything past some point in the trail, doesn't it?
shachaf: So at the time you unwind to any past level k, you've deleted everything past k in the trail.
int-e: shachaf: backtracking takes deletes the trail up to the last decision, and places the negated decision literal on the trail
shachaf: When you say "that point" what do you mean?
shachaf: I feel like I should just draw a diagram and the confusilation would be resolved in eight seconds.
int-e: shachaf: "that point" meaning the position of the decision literal that backjumping would replace on the trail.
shachaf: Say you have a,b!,c,d,e!,f,g!,h,i on the trail, where the !ed literals are decisions and the rest are a result of unit propagation.
shachaf: You reach a contradiction and you add a clause, which would let you backjump to replace e. Right?
int-e: shachaf: if you have 1 2^d 3 4 5^d 6 7, a conflict, with learned clause -1,-7... then backjumping results in 1 -7 as the new trail, whereas if you continue the search until 2^d is removed by backtracking, you'll end up with 1 -2, and then unit propagation will add -7.
int-e: shachaf: ^d marks decisions.
shachaf: Now I see what you mean. Thanks.
shachaf: So one of the important things about CDCL is that the only thing the learned clauses are any use for is unit propagation. Right?
shachaf: So you want them to be as small as possible if you can manage it, or otherwise as relevant as possible within your assumptions. Or something like that.
int-e: . o O ( just like any other clauses )
shachaf: No, the original clauses are useful for specifying your problems.
shachaf: The new clauses are redundant and only useful if they make unit propagation happen.
shachaf: I'm just saying something very obvious here.
int-e: Right.
int-e: Actually there's a point here.
int-e: SAT solvers also prune the clause database (they forget clauses), and that's only allowed for clauses that are redundant.
int-e: Which means that in most cases, they will only forget learned clauses.
shachaf: Do they even forget original problem clauses?
int-e: There are simplification procedures (I know nothing about them really except that they exist) which can also identify redundant clauses.
shachaf: I thought the main reason to forget clauses was to save memory, and otherwise having a bunch of clauses doesn't hurt.
shachaf: But, sure, simplification makes sense.
int-e: Or potentially rewrite clauses (add some clauses that make other clauses redundant while maintaining satisfiability)
shachaf: One of the slightly odd things about CDCL is that you have to use full clauses, rather than the reduced clauses you get after assuming some literals. Right?
int-e: You mean wrt the current trail?
shachaf: But your learned clauses have to be globally true so you can't really talk about subproblems like that.
int-e: If you ever want to go back on that assumption and keep the learned clauses valid... yeah you'll need full clauses.
int-e: So in particular that's true for everything on the trail.
shachaf: But I think that's not so bad because even if you learn a big clause, while you're in the same region (sharing most of the trail) it'll still be locally pretty small and so useful for unit propagation.
shachaf: When your trail looks very different after a while, the big clause might be less useful, and you might be more inclined to forget it.
int-e: Also learning is completely optional... a SAT solver can just refuse to learn clauses above a certain size.
shachaf: Right. Without learning a CDCL solver is still correct, which is good.
shachaf: Maybe you can just use big clauses for backjumping without learning them? Not sure how useful that would be.
int-e: Actually it's kind of awful too... you have so many degrees of freedom for heuristics...
int-e: Which literal to decide on, what to learn, what to forget, when to restart...
shachaf: Restarting seems like a surprising strategy to me. Especially a solver (BerkMin) that restarts every 550 conflicts?!
shachaf: Do restarting solvers have any guarantee of termination?
int-e: They are supposed to do some sort of (exponential?) backoff...
int-e: But this interacts in interesting ways with learning.
int-e: If you learn all backjump clauses and never forget then even if you restart after every conflict you'll eventually solve the problem.
shachaf: Oh, because everything slowly becomes forced by UP.
int-e: (this is degenerate... you'd have a conflict, analyse it to find the backjump clause, learn that clause, but never actually backjump because you're restarting anyway)
int-e: The other intuitive reason for restarts is that initially the variable selection heuristic has no information at all... with a restart, even early decision levels can benefit from the variable selection heuristic.
int-e: I suppose this is especially important for satisfiable problems.
shachaf: Why is unit propagation the only thing used for assigning values to variables, other than decisions?
int-e: because it's fast?
int-e: And I guess the attitude is that all other inferences can be learned as clauses.
int-e: IIRC the original DPLL had a "pure literal" rule... if a literal only occurs positively in the current set of clauses (those that are not already true) then one can assert that literal to be true. Nobody implements this as part of the propagation rules.
int-e: If you're facing a decision like... "would you rather do X or 1k unit propagations"
int-e: it's easy to imagine that X probably won't pay off :)
j4cbo: boo, i need an SDR
oerjan: luckily it's not pizza <-- then it must be bell pepper and aubergine stew, just the way shachaf hates it
oerjan: `? hungry
HackEso: hungry? ¯\(°_o)/¯
oerjan: `wisdom tinfoil
HackEso: That's not wise.
oerjan: `wisdom foil
HackEso: foil//Foil is a material that provides protection against evil, such as mind control rays. To protect the world many heroes spend a lot of their time foiling villains.
oerjan: huh that's mine
shachaf: "The reason why frequent restarts help solve problems faster is that while the solver does forget all current variable assignments, it does keep some information, specifically it keeps learnt clauses, effectively sampling the search space, and it keeps the last assigned truth value of each variable, assigning them the same value the next time they are picked to be assigned"
shachaf: I didn't consider that last part.
jix: shachaf: it also keeps the scores used for the variable selection part of the decision heuristic
jix: shachaf: so it is likely that it will branch on a similar set of variables after a restart
shachaf: Right.
int-e: who exactly is dying in out-of-order execution
jix: int-e: that's an issue that may take until retirement to figure out
Taneb: IOCCC sources have been released
shachaf: Taneb: There's a list for that.
Taneb: shachaf: quite possibly
int-e: `listlist
HackEso: FireFlist* \ aglist* \ bardsworthlist* \ bobadventureslist* \ calesyta2016list* \ danddreclist* \ don'taskdon'ttelllist@ \ dontaskdonttelllist* \ ehlist* \ emptylist* \ erflist* \ flist* \ idealist* \ ioccclist* \ keenlist* \ list* \ listen* \ listlist* \ llist* \ makelist* \ makelistlist* \ minimalist* \ mlist* \ olist* \ pbflist* \ slist* \ smlist* \ stylist* \ testlist* \ xkcdwhatiflist* \ ysaclist*
FaeFly: ..what's the FireFlist
FaeFly: do I want to know..
shachaf: `cat bin/FireFlist
HackEso: echo FireFly Eldis4
int-e: `culprits bin/FireFlist
HackEso: nortẗi nortẗi
int-e: hmm. must be old :)
shachaf: Why is my solver extremely slow?
shachaf: I thought it was because I'm being very inefficient, but my friend's solver is also very inefficient and is also written in Python and is only slightly slower.
int-e: Ah, Anevka. Things are coming together.
int-e: shachaf: could you have bad benchmark(s)?
int-e: as in, one of the solver gets lucky, the other not
shachaf: It's the same random 3SAT instance.
int-e: and you've tried several I suppose?
int-e: but who knows, maybe you are doing something wrong
shachaf: I think my time is roughly consistent.
shachaf: I suspect this is just naıve in a way their solver isn't.
shachaf: I wasn't worried about it because I was going to implement watched literals anyway, but it's a bit odd.
wib_jonas: ooh, let me see
wib_jonas: `ioccclist https://www.ioccc.org/years.html#2019 The source code for the winners of the 26th IOCCC has been released.
HackEso: ioccclist https://www.ioccc.org/years.html#2019 The source code for the winners of the 26th IOCCC has been released. : b_jonas rain2 rain1
shachaf: Hmm, it might've just been luck for this instance.
shachaf: If I assume false instead of true, the time goes way down.
wib_jonas: " int-e: that's an issue that may take until retirement to figure out" => beautiful ambiguous statement, playing on how "retirement" has both a technical meaning in this context and an everyday meaning
wib_jonas: oerjan: you can make bell pepper stew in an oven?
wib_jonas: oerjan: oh right, it's just "foil"
wib_jonas: oerjan: as for "hungry", the relevant wisdom is
wib_jonas: `? ostrich
HackEso: Ostrich used to be a large middle European empire in frequent conflict with Turkey. After a famine it sort of split into Ostrich/Hungry. Alas its policy of keeping its head in the sand did not get it through the Great War, and with its final attempts to take flight failing, it ended up cut into several pieces.
wib_jonas: this was apparently written by you
jix: wib_jonas: as does "issue" :)
wib_jonas: shig: IOCCC winners are released
wib_jonas: let me thing where else on the internet should I ping with this news
shig: Awesome!
int-e: jix: ah, didn't see those... now I feel bad :P
shachaf: OK, I think it was just my variable-picking strategy being very bad.
int-e: plausible... out of curiosity, did you test a satisfiable or an unsatisfiable problem?
shachaf: Both, but mostly a satisfiable one.
int-e: I'd probably use mostly unsatisfiable instances for comparison between solvers... or many satisfiable instances. Luck is too much of a factor for satisfiable instances.
int-e: people also randomize inputs... shuffling literals and clauses.
wib_jonas: int-e: and randomly negating them, like in bfjoust
int-e: bfjoust is not random though, is it
jix: even for unsat instances variance is crazy, which makes good benchmarking take a long time and cost a lot :(
wib_jonas: int-e: the random space is so small that we try all possibilities, so we don't do a real random sample, but the idea is the same
wib_jonas: some instances work better when you negate the direction, so we try both negated and non-negated
wib_jonas: hi Lykaina
Lykaina: 40 min till quiet time in my apartment building is lifted
Lykaina: ugh...
Lykaina: i'll take meds then and go back to sleep
Lykaina: woke at 5am
int-e: the mace is in the house
Lykaina: int-e: huh?
int-e: https://www.youtube.com/watch?v=JzPf4RRG1Rc ;-)
Lykaina: can't...still quiet time
int-e: "LIVE State Opening of Parliament: 14 October 2019"
Lykaina: i wonder if the uk is pissed that they voted for brexit
int-e: they're still divided on that according to polls
Lykaina: seriously?
int-e: seriously.
wib_jonas: Lykaina is probably on the east coast of North America then
Lykaina: probably
int-e: queen arrived, house of commons summoned... this will take a while :)
Lykaina: if they do a no-deal brexit, i will be disappointed
int-e: At this point I won't. But it's unlikely to happen just now.
int-e: I'm kind of expecting another extension and a general election in the UK. But I don't really know; I think nobody does.
Lykaina: i hope they stay in the eurozone
int-e: That seems unlikely.
wib_jonas: right, they need to sacrifice a prime minister as a scapegoat a few times per year, and a general election is the easiest way to choose the next person to be sacrificed
int-e: Oh Johnson's speech has begun. (Read by the Queen, of course.)
wib_jonas: Lykaina: what? eurozone?
wib_jonas: they're not using the euro
Lykaina: yeahno
wib_jonas: int-e: huh, why would the Queen read the PM's speech?
int-e: wib_jonas: Because that's how this "Queen's speech" works.
Lykaina: i mean, free travel
wib_jonas: also, we've got the near final results for the local govt elections. opposition win in Budapest is now confirmed, in fact they got one more place than they seemed to have when I checked in the evening.
wib_jonas: int-e: that's weird
int-e: wib_jonas: Well it is the UK. :P
int-e: Lykaina: did you know that Corbyn is pro Brexit?
int-e: The leader of the Labour party.
int-e: The party line is different, interestingly enough.
Lykaina: what about the tories?
Lykaina: or does tories = labour?
int-e: Nah, they are opposing parties.
Taneb: Lykaina: tories = conservative party, who are in government and led by Boris Johnson
Lykaina: which country is led by boris badnoff? i forgot
int-e: and the queen has left
int-e: I'm not sure what happens next... apparently the house of commons members return there...
Taneb: There's a debate on whether the Commons accept the Queen's Speech
int-e: Nice. Should be fun.
Lykaina: what did the queen argue for/against?
int-e: brexit, law and order, environmental protection (interestingly enough), leadership (of the UK in the world) after brexit
int-e: I don't remember all of it.
int-e: I'm sure we can read the whole thing online in a couple of hours.
int-e: (law and order... there was a bit about giving the polic force the means of defending themselves, and something about giving them the power to arrest people with warrants by "trusted partners".
int-e: Anyway. I've never seen this ceremony; now I have. Yay me :)
Lykaina: how old is she again?
Taneb: If she were here she's probably be the oldest person in the channel
int-e: Lykaina: Anyway, the polls that I recall said that a small majority would be in favour of staying in the EU now. However, not all of those people want to abandon the Brexit process...
Lykaina: confused
int-e: Lykaina: The first question is entirely hypothetical... if the Brexit process had not been started, and there was a referendum on that today just like there was (uhm, 3?) years ago, how would they vote.
int-e: The second question is about actually going back and stopping the Brexit process that has been started and ongoing for all the time since.
int-e: I imagine a lot of people now want it to be over with, not really caring about the result.
Taneb: int-e: 3.5 years
int-e: close enough
int-e: (for my standards)
Taneb: Actually... I'm mixed up, it was in the summer, wasn't it?
Taneb: And then article 50 was invoked the following Spring
Taneb: So, 3.25
Taneb: Very close
int-e: Let's meet in the middle!
wib_jonas: The queen ended the speech, now she's leaving.
wib_jonas: Hmm no, maybe she isn't.
wib_jonas: I don't understand how this works.
wib_jonas: She's speaking again now.
Taneb: wib_jonas: I think your coverage may be behind?
wib_jonas: " If she were here she's probably be the oldest person in the channel" lol
wib_jonas: `? people who taneb isn't
HackEso: people who taneb isn't? ¯\(°_o)/¯
wib_jonas: `? people who taneb aren't
HackEso: people who taneb aren't? ¯\(°_o)/¯
Taneb: `? people who taneb is not
HackEso: elliott, a rabbi, Mark Zuckerberg, James Bond, Queen Elizabeth the first. Pending approval: Shigeru Miyamoto.
int-e: `quote elliodd
HackEso: No output.
wib_jonas: Taneb: this youtube thingy says it's "live", but then, I've see so many things in television where they still have the "live" caption when it's replayed, so I don't really trust it
wib_jonas: either they should add "not live" as a caption, or add a timestamp next to "live"
int-e: wib_jonas: The live stream has ended 20ish minutes ago
wib_jonas: ah I see
wib_jonas: it says "live" and also "replay"
wib_jonas: then it's not live
Taneb: Fun Taneb fact: I have what is to my knowlege the largest collection of autographed Haskell textbooks
Taneb: (I have two)
wib_jonas: Taneb: how many of those did you autograph yourself?
Taneb: wib_jonas: zero, they are both autographed by the respective author
Taneb: (one by Graham Hutton and one by Simon Marlow)
int-e: HSE... RWH maybe?
Taneb: Programming in Haskell (second edition) and Paralle and Concurrent Program ming in Haskell
int-e: Btw, LYAHFAGG would earn you negative points.
int-e: Funny, there are more Haskell textbooks than I thought.
wib_jonas: `slashlearn people who taneb is not//Taneb is not elliott, a rabbi, Mark Zuckerberg, James Bond, Queen Elizabeth the first, or anyone older than Queen Elizabeth the Second. Pending approval: Shigeru Miyamoto.
HackEso: Relearned 'people who taneb is not': Taneb is not elliott, a rabbi, Mark Zuckerberg, James Bond, Queen Elizabeth the first, or anyone older than Queen Elizabeth the Second. Pending approval: Shigeru Miyamoto.
arseniiv: Btw, LYAHFAGG would earn you negative points. => hm but it’s where I learned about zippers first
int-e: arseniiv: if you ever start a collection of haskell textbooks, this is the one you hide in the attic.
int-e: that's all I was saying ;)
int-e: and obviously I'm compleeeetly objective about this.
int-e: Not tainted by personal opiona at all.
arseniiv: hm hm :D
wib_jonas: "opiona"
wib_jonas: int-e: what does the second A stand for in "LYAHFAGG"?
arseniiv: my one concern is that its density is pretty low
int-e: wib_jonas: I thought there was an "a" there. I didn't check.
wib_jonas: arseniiv: yeah, that means you can't even effectively use it as a doorstopper
int-e: wib_jonas: Yes, I've marvelled at "opiona" as well... :)
int-e: A stroke of genius. Or maybe just a stroke. Who knows.
wib_jonas: fungot, do you have an opiona on the opiuma crisis?
fungot: wib_jonas: as soon as i get the feeling i'm saying the point of
int-e: fungot: you should become a politician
fungot: int-e: and besides, some people don't
int-e: fungot: exactly
fungot: int-e: on the other hand i you *do* have install priviledges then it's much too dark as well :) just trying that now. well, maybe
int-e: "priviledges"
wib_jonas: doorstoper reminds me of this old strip https://www.smbc-comics.com/comic/2006-12-14
arseniiv: wib_jonas: rofol
arseniiv: A stroke of genius. Or maybe just a stroke. Who knows. => please don’t give genii strokes, it’s bad for their healths
arseniiv: wib_jonas: rofol => I meant the first doorstopper message but I’ve seen that strip too
arseniiv: I won’t say “rofol” on a cruel humor, it would be too much even if it has some fun :)
rain1: exciting about IOCCC!
wib_jonas: hello rain1
FaeFly: @metar ESSB
lambdabot: ESSB 141650Z 35004KT 320V030 9999 FEW022 08/07 Q1014
b_jonas: [ 150*(mile=:1609.344)
j-bot: b_jonas: 241402
arseniiv: I am prone to crash into nostalgia and it’s bad and unconstructive
arseniiv: now I hopelessly tried to find a photo of a place which isn’t the same anymore as it was rebuilt several years ago. And I don’t know if it persisted and from which mobile phone it was shoot at all, maybe from the one which isn’t turning on anymore
imode: "if the data exists, the thing exists" is a fallacy I run into.
arseniiv: though I flagged several photos as broken in filenames and added some code to my program for filling in creation date of a file when it’s newer than its modification date (yep that happens)
imode: it's why I take photos of everything and stow them away like a squirrel. it isn't healthy and it's not constructive.
arseniiv: imode: :(
arseniiv: and not that even that place was significant to me to be in, it just had a funny design of its name
arseniiv: ah, not that
arseniiv: this was a cafe inside a big place, the place got rebuild and I won’t walk in its old layout anymore, and it’s a bit sad, and in that cafe I don’t remember to be in
arseniiv: and it’s not that sad
arseniiv: but the name design
arseniiv: also I was stupid to clean some DVDs with a version of the not-so-yearly backup
arseniiv: that could be useful too
arseniiv: and there were some DVD-Rs which persisted only because I couldn’t clear them. And later they proved to be useful, even
arseniiv: despite being made in approx. 2008
arseniiv: that’s just silly
b_jonas: imode: taking photos of everything and filing them away is a good thing. it is constructive.
int-e: until you imagine the growing pile of picture creeping up on you and burying you under an avalanche of impressions to sort through.
int-e: `? alice
HackEso: Alice doesn't want to go among mad people.
b_jonas: int-e: I haven't been taking enough pictures, and I spent way too little time sorting through them and publishing the ones that I should publish, and I feel some amount of shame about that. but a growing pile creeping? nah, that'll never happen
b_jonas: admittedly I am somewhat conservative with how many pictures I take
b_jonas: but still
arseniiv: int-e: we should just wait for arriving of a good AI photo sorter, no worries about piles, why
arseniiv: “these twenty photos are almost the same, these eight are all blurry, these three differ in these details, these eleven I don’t advise to look for too closely due to too many arthropodes depicted”
arseniiv: the first comma should be a colon instead
arseniiv: and then you look at all twenty two of them anyway as you think there could have been false negatives and interesting artistic possibilities
arseniiv: there are two extra ones due to a flaw in AI so that when it inspects images, it sometimes adds their weighted averages to the mix
shachaf: kmc: are you into sat solvers yet
kmc: not really
kmc: i've been into them for brief periods in the past
kmc: i wanted to use sat solvers to run Game of Life backwards
kmc: but couldn't get it working
shachaf: I was reading Knuth's fancy thing that does that.
shachaf: It's in TAOCP volume 4 fascicle 6.
shachaf: Also there's a program at http://bach.istc.kobe-u.ac.jp/lect/taocp-sat/knuth/pdf/sat-life.pdf ?
shachaf: Under what conditions does a programming language have quines?
shachaf: I wanted to figure out whether the existence of quines was a direct consequence of Lawvere's fixed point theorem.
shachaf: It's surely related, but the construction is usually somewhat different.
cpressey: shachaf: I'm pretty sure any Turing-complete language whose programs can be enumerated has a quine, by the s-n-m theorem.
cpressey: s-m-n theorem. whetevr. it's early.
cpressey: I guess "running a program" in the language has to considered to be able to produce an integer, or whatever the programs are enumerated with.
int-e: @teill arseniiv "we should just wait for arriving of a good AI photo sorter" <-- I'm waiting for the AI that will create the photos that I should have taken
lambdabot: Consider it noted.
cpressey: On the subject of quines, I was reading about Richard's paradox last night, and if I'm not mistaken, a Richardian number is basically the same as a https://esolangs.org/wiki/Narcissist
shachaf: cpressey: I think maybe https://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem has an answer to my question.
shachaf: cpressey: Hmm, what's interesting about this paradox as opposed to all the other well-known paradoxes that seem identical to it?
shachaf: Oh, maybe it's just old.
cpressey: I found it when trying to research why lambda calculus and combinatory logic are not used as deductive systems, even though they were invented as deductive systems. The Kleene-Rosser paradox that shows that ^c is inconsistent, is apparently more or less a version of Richard's paradox.
int-e: cpressey: Oh I didn't know of that paradox. Of course on a formal level it'll be resolved by Tarski's theorem
shachaf: I also don't particularly see narcissists as very interestingly different from quines, though it's possible I'm missing something there.
int-e: (Tarski's theorem = undefinablility of truth. The sentence whose truth is of interest here is "F defines a unique real number")
shachaf: I'd have to imagine that every Turing-complete language admits a quine. How could it not?
shachaf: (Unless you're playing games with encoding, which don't seem that interesting to me.)
int-e: TC-ness doesn't require any output capability (beyond one bit).
shachaf: Yes, that's true. One semibit.
int-e: I mean a mathematical truth value.
shachaf: But I guess I don't care about that too much. I'm looking for interesting ways in which languages can fail to have quines.
int-e: Not a weird three-state bit.
shachaf: Which truth value are you talking about in particular? Halts/doesn't halt?
int-e: accept/doesn't accept
shachaf: OK, sure, I guess.
int-e: We have some wild cases that never halt.
shachaf: Oh, here's a different question.
shachaf: Hmm, I'm actually not sure how to phrase this question.
shachaf: Lawvere's theorem is along the lines of, say you a function : A -> (A -> B) which is surjective. Then every function : B -> B must have a fixed point.
shachaf: (For appropriate values of "function" and "surjective" and "(A -> B)".)
shachaf: say you have
int-e: shachaf: any TC formalism will allow the kind of circularity that Kleene's fixed point theorem embodies. I.E. a program can contain a full description of itself, suitable for simulation or other analysis.
shachaf: int-e: Yes, that's what I was getting at.
int-e: And I agree that it's really hard to capture this more rigorously.
shachaf: That seems more interesting than insisting on quines which gets into a bunch of nonsense.
shachaf: I guess that question was about sub-TC systems.
int-e: For the most part, Quines are just cute programming puzzles of no real importance.
shachaf: Clearly some of those can still create quines (and use the same techniques that you'd normally use, not something one-off).
cpressey: Also on the subject of quines: https://github.com/dpiponi/infinite-quine
shachaf: Yes, I'm certainly not concerned with the quine itself.
int-e: We have a notion of I/O-completeness on the wiki. An O-complete TC language has quines.
shachaf: Anyway, on Lawvere's theorem.
shachaf: What should I call A and B? I'm tempted to call A "Name", where A names an element of A -> B
shachaf: (And with that element in turn an A names a B.)
shachaf: Surjectivity means that everything has a name.
shachaf: One concrete example is A as any set, and B as 2, which gives you Cantor's theorem.
shachaf: Why is (A -> B) the right codomain here in general?
shachaf: That's clearly not the question I want to be asking.
shachaf: Maybe instead of B=2 I should take an example with an arbitrary B.
shachaf: The Y combinator gives you fixed points for any function : B -> B this way.
shachaf: OK, I guess you can say that eval : A -> (A -> B) is a two-argument function doing the same sort of thing Q(x, y) is?
shachaf: Hmm, no, that's nonsense.
cpressey: Is SK-calculus known to be confluent? I mean it *must* be, right? I've just never seen anyone say anything about it one way or the other.
cpressey: You can probably show it just by showing that the translation to lambda calculus preserves confluence.
shachaf: Do you mean something other than the confluence you get if you expand every S and K to lambdas?
Taneb: Confluence as a rewriting system?
shachaf: Hmm, I guess that makes more sense.
shachaf: Speaking of SK, I still don't understand why BCKW is a good system.
shachaf: I already like it but I'd like to like it for a good reason.
Taneb: shachaf: I found it easier to understand the translation between lambda calculus and BCKW than lambda calculus and SK
shachaf: What I'd like is a connection to reordering, weakening, and contraction.
shachaf: What's the lambda calculus translation?
int-e: cpressey: SK and SKI are confluent
Taneb: I can't remember, this was about 8 years ago I did this
Taneb: Near when I was first in here
shachaf: you're still in the top ten in here hth
int-e: cpressey: They are orthogonal first-order term rewriting systems. This is usually shown by introducing a parallel reduction relation and something called a "parallel moves lemma" that shows that that relation has the diamond property (ensuring confluence); the terminology is similar to that used for the lambda calculus but the proofs are actually quite a bit simpler.
int-e: cpressey: I forgot, did you mention having looked at Baader/Nipkow's book on term rewriting?
int-e: (because that stuff is all covered in that book)
int-e: Except maybe the concrete case of combinatory logic
int-e: Btw, orthogonal = left-linear (no duplicate variables in left-hand sides of rules) + absence of critical pairs (which you might know from Knuth/Bendix completion or the corresponding confluence criterion for terminating systems).
int-e: Taneb: do you also approach these systems from a point of view of abstraction elimination?
int-e: (BCKW(I) and SK(I))
int-e: Actually, hrm. I want SBCKI, I don't like W at all.
shachaf: W is supposed to replace S presumably, as the only combinator that does duplication.
shachaf: Why don't you like W?
int-e: myname: you missed the oppertunity there: BSICK (be sick)
int-e: shachaf: because it has no immediate use for abstraction elimination
int-e: \x. M[x] N[x] -> S (\x.M[x]) (\x.N[x])
int-e: but with BCKW you artificially (to my mind) deduplicate the x first, ... -> W (\x1 x2. M[x1] N[x2]) x.
shachaf: Well, you might be interested in talking about substructural logic.
int-e: I'm usually not.
shachaf: So I could be interested in what you get with BCK without W, for instance.
int-e: Sure, but I also get that from SBCKI by dropping the S.
int-e: I don't like the flavour of duplication offered by W; I prefer the flavor offered by S.
int-e: That's it in a nutshell.
shachaf: The S is serving multiple purposes, I guess.
shachaf: I like S but I'm curious whether a simpler basis will let you pick out parts you like better.
shachaf: Hmm, is there a standard combinatory basis for some kind of linear lambda calculus?
int-e: But I'm definitely not approaching this from a logical perspective. My first encounter of combinatory logic was as a model of computation.
int-e: shachaf: Sure, BCI is the standard basis for that, add K if you allow deletion.
wib_jonas: " I'd have to imagine that every Turing-complete language admits a quine. How could it not?" => only if they can do universal IO
int-e: I do like B and C precisely because they capture linearity.
int-e: Something that SK hides.
shachaf: wib_jonas: Yes, see the discussion below.
wib_jonas: ah wait, I'll read on
shachaf: How do you turn a lambda term into BCKW?
shachaf: Let's see.
wib_jonas: BCKW => we just had a discussion about that
wib_jonas: http://www.cs.ox.ac.uk/people/samson.abramsky/pcpt.pdf
int-e: you have \x. M[x] N -> X (\x.M[x]) N, \x. M N[x] -> Y M (\x.N[x]), where X,Y \in {B,C}.
int-e: I can never remember which is which.
shachaf: OK, that PDF indeed makes the connection I wanted.
Taneb: int-e: I don't quite know what you mean by abstraction elimination (my brain isn't fully awake yet)
int-e: (So these look like specializations of \x. M[x] N[x] -> S (\x.M[x]) (\x.N[x]) when x does not occur freely in N or M)
shachaf: delambdification?
Taneb: SBCKI would be better, I think
wib_jonas: in particular, there are no non-empty quines in geo because it can only output decimal integers (followed by a newline), but the source has to have "print" in it to output anything
int-e: Taneb: the process of starting from a lambda term (which has lambda-abstractions) and turning it into an equivalent (in some sense) abstraction-free term using your combinator basis
wib_jonas: but this probably isn't an interesting reason
shachaf: wib_jonas: OK, but I already said that that's an encoding detail that I don't find interesting.
Taneb: int-e: yeah, I think that's what I do
wib_jonas: " For the most part, Quines are just cute programming puzzles of no real importance." => Smullyan and Hofstadter would disagree
int-e: wib_jonas: "quine" is just a surface phenomenon (a program that prints its own source code)... you need much more to make it computationally interesting
wib_jonas: int-e: right, that's why Golf SE tried to qualify interesting quines with a rule, so that non-cheating quines are ones that are useful for building self-referential programs
cpressey: int-e: Right, yes. I've read Baader and Nipkow, also some other texts on term rewriting. Didn't remember about orthogonality of term rewrite systems. Didn't really occur to me at the time to look at SK-calculus as a rewrite system. And I guess lots of other ppl don't usually look at it that way either.
wib_jonas: and, in particular, empty quines, or quines that are just a numeral in languages that echo a numeral, are considered cheating for them
int-e: ``` dc <<<6581840dnP
HackEso: 6581840dnP
shachaf: Oh, I like this connection to polynomial time.
shachaf: I don't really know good ways of talking about computational complexity for lambda calculus at all.
int-e: That's a quine, but hardly interesting from a logical perspective... there's no real quoting (quining) going on here.
int-e: cpressey: That's fair. Happy to help with connecting dots :)
shachaf: I imagine lambda calculus is just bad at talking about things like time and space constraints.
wib_jonas: int-e, KBCSI => yeah, that could work
shachaf: Since reduction is so unrealistic.
wib_jonas: but my problem is sort of that all of these get weird if you try to abstraction-eliminate multiple variables
wib_jonas: so could I instead advocate Amicus, which deals with functions of multiple variables naturally?
shachaf: «It was always hard for many to comprehend how Cantor’s mathematical theorem could be re-christened as a ”paradox“ by Russell and how Gödel’s theorem could be so often declared to be the most significant result of the 20th century. There was always the suspicion among scientists that such extra-mathematical publicity movements concealed an agenda for re-establishing belief as a substitute for s
shachaf: cience. Now, one hundred years after ...
shachaf: ... Gödel’s birth, the organized attempts to harness his great mathematical work to such an agenda have become explicit.»
int-e: wib_jonas: The other thing that makes writing quine more of a puzzle is that ultimately the quining process is very automatic (one cute trick: take a description of a program P(x) that takes a description of a program Q and produces Q([Q]) by whatever notation) but you have a lot of leeway in choosing the encoding for Q, so that's what the focus tends to be on.
int-e: In the end 6581840dnP doesn't depart from the core idea at all... but the encoding is chosen such that both priting [Q] and printing Q is done by a single dc instruction.
wib_jonas: int-e: no no, the argument Q is printed by [n] instruction, the program Q is pritned by the [P] instruction
int-e: wib_jonas: You may have mis-parsed what I wrote.
wib_jonas: `dc -e 6581840dn
HackEso: 6581840
wib_jonas: `dc -e 6581840dP
int-e: wib_jonas: I KNOW HOW IT WORKS DAMNIT
wib_jonas: yeah, sorry, but I wasn't sure how it worked
wib_jonas: because I don't write dc stuff and the instructions are weird
wib_jonas: so I had to test it
int-e: (I came up with that quine myself some years ago. But it's obvious enough that I would be surprised if I was the first.)
wib_jonas: yeah. the perl quine that starts with print<< x2,$/ is also like that, multiple people come up with it independently by simply trying to write a very short quine
wib_jonas: whereas some of the other perl quines that I wrote are much less canonical
int-e: > text$ap(++)show"text$ap(++)show"
lambdabot: text$ap(++)show"text$ap(++)show"
wib_jonas: https://www.perlmonks.com/?node_id=835076 these for example
wib_jonas: and I have ones like
wib_jonas: `perl -eprint+("`perl -eprint+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g]
HackEso: `perl -eprint+("`perl -eprint+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g]
wib_jonas: where the order of the strings in the list is totally arbitrary
wib_jonas: `perl -eprint+("\\","\"",",","`perl -eprint+(",")[3,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,4]")[3,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,4]
shachaf: So does this pattern fit into the Lawvere theorem form?
HackEso: `perl -eprint+("\\","\"",",","`perl -eprint+(",")[3,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,4]")[3,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,4]
wib_jonas: ais523: here's a perl quine by mtve that has only ascii punctuation and spaces. I don't know how it works, but perhaps it also helps with your string eval question: https://www.perlmonks.com/?node_id=836752
int-e: woah, really... 'In late 2011, Intel [35]introduced a performance enhancement to its line of server processors that allowed network cards and other peripherals to connect directly to a CPU's last-level cache'
int-e: [35] is https://www.intel.com/content/www/us/en/io/data-direct-i-o-technology.html
int-e: context is https://www.schneier.com/blog/archives/2019/09/another_side_ch.html (I'm reading the october CRYPTO-GRAM)
wib_jonas: int-e: yeah, that's what spawned all the rumors about NSA backdoors
int-e: I'm a bit surprised I missed this.
int-e: I didn't miss the ME stuff (which is a backdoor by design, if you look at it cynically enough)
wib_jonas: well, it's one of the things that spawned the rumors at least
int-e: (I mean ME = management engine)
int-e: I think IME is the official abbreviation.
wib_jonas: int-e: how about the enclave thing, that lets you create encrypted parts of the memory that can run code but where the rest of the programs that the cpu runs can't read that code and its state?
int-e: I didn't miss that either... I see it as related really.
int-e: (It's also a bit of the extension of the decades old system manangement mode.)
shachaf: OK, when you have f.g = id, what should you call f and g?
shachaf: "left inverse" and "right inverse" is too confusing, I think.
int-e: I mean, SMM is almost as invasive, also based on hiding a region of memory, just not /designed/ to be secure.
wib_jonas: you should consider the other side though. rather than keeping all the technology that they use for the backdoors a secret that nobody will find unless they spend a man-decade of studying electron-microscope scans, they benevolently document all the backdoor capabilities of the cpu so that you can write high performance backdoors too
int-e: shachaf: left inverse of g; right inverse of f.
shachaf: I've been going with "retraction" and "section" but I'm suspecting that's not so great either.
wib_jonas: it's not exclusive to the NSA, you can backdoor the bios too
shachaf: int-e: The problem is that if you say "f is a right inverse", I have to write down the thing to see what's going on.
shachaf: Maybe the intuition I want is "object" and "name": Every object has at least one name, and you can pick out a canonical name (at least if you have choice).
wib_jonas: why would every object have at least one name? no way
int-e: wib_jonas: It's not even necessary to involve the NSA as a driver here... SMM was introduced to simulate legacy hardware capabilities. Secure enclaves can be perfectly explained by the desire to enforce copyright. Data direct I/O addresses a genuine (if very high-end) performance problem.
wib_jonas: especially not when the names come from a countable set and the objects come from a bigger one
shachaf: Well, it does in this case, because you have a surjection.
wib_jonas: wait, what is SMM?
shachaf: What's a better terminology where I can easily remember which set is the bigger one and which function goes in which direction?
int-e: wib_jonas: I mean I would be surprised if the NSA were not involved in this at all... they are too big. But I don't think they have to do anything beyond subtle nudging here.
int-e: wib_jonas: System Management Mode
wib_jonas: int-e: sure
int-e: wib_jonas: Not sure when that was introduced, i386 or i486 maybe? Around that time I think.
wib_jonas: int-e: I don't mean that it has to be the NSA specifically, that's just the name that people use in rumors
wib_jonas: int-e: but in reality it's usually the big secret agencies of all other countries that puts the backdoors there, rather than the secret agency of your country
wib_jonas: int-e: system management mode, how does that differ from ME?
int-e: SMM can be used for things like simulating the AT keyboard interface (port 60h/61h) for USB hardware.
wib_jonas: in i386? no way
int-e: wib_jonas: It runs on the same processor.
int-e: It's just that certain I/O operations can trigger a software emulation layer. Nothing really deep.
wib_jonas: huh, ok
int-e: 'It was first released with the Intel 386SL.'
wib_jonas: int-e: ah, so five years after the 386
wib_jonas: that's more believable
int-e: The ME is a full (but less powerful) separate core... that's a fairly recent thing.
int-e: But even there its existence can be explained in a perfectly innocent way.
int-e: Initializing a processor (memory subsystem (training DRAM, probably other I/O lines as well)) has become so complex that it's better to do it in software than in pure hardware. As a bonus, you get the ability to work around some hardware bugs in software. Now if you're Intel, which hardware platform are you likely to use for this?
jix: intel did use a 3rd party architecture (ARC) for the ME for a long time until they switched to a x86 core AFAIK
int-e: So now you have a separate processor on your die... and it's dormant for most of the system's operation. That's stupid maybe you can find a use for it? ... and suddenly you end up with an ME-like device.
jix: (which I found quite funny, given the origin of ARC as the superfx chip used in starfox on the super nintendo)
int-e: (Of course the architecture is secondary. If it's a universal machine... it can be used for arbitrary purposes.)
wib_jonas: "Now if you're Intel, which hardware platform are you likely to use for this?" => I'm not familiar with the licensing situation of cpus really
int-e: Intel tried to make a GPU out of X86.
int-e: Or are trying to make... according to https://en.wikipedia.org/wiki/Larrabee_(microarchitecture) they've revived that project.
shachaf: Intel is back at it with Larrabee?
jix: The only reason I can think of why they didn't went with x86 in the first place is that an ARC core is smaller than what intel had at that time
wib_jonas: int-e: that sounds like a ... ugh
wib_jonas: seriously, a gpu out of x86?
int-e: (The timing makes sense actually... now that we want to do raytracing with (I suspect) hardly predictable memory access patterns, the SIMT model will run into severe problems.)
int-e: wib_jonas: Intel.
shachaf: int-e: That page is very ambiguous about it.
int-e: wib_jonas: The ones with the 0x8086 vendor id.
shachaf: Or rather it's not ambiguous enough. Is there any definite connection to Larrabee?
int-e: I don't find any tangible evidence of that connection either.
int-e: Still, it's Intel ;-)
int-e: And anyway, it definitely *tried*, which was my main point.
cpressey: But I'm definitely not approaching this from a logical perspective. My first encounter of combinatory logic was as a model of computation. <-- That would seem to be the dominant paradigm for it these days. But I'm interested in the logical perspective of it atm. I guess you can write proofs in SKI by treating it like the Hilbert system it was derived from. But you can't use the deduction theorem
cpressey: for brevity, you have to write it all out in full.
cpressey: It sounds awful, but it also sound like you could "compile" a sentence in first-order logic, into it.
wib_jonas: my first encounter of combinatory logic was unlambda
cpressey: Rather I think I mean, "compile" a proof written in natural deduction style in FOL, into it.
cpressey: "Under the Curry–Howard correspondence, the above conversion process for the deduction meta-theorem is analogous to the conversion process from lambda calculus terms to terms of combinatory logic" oh. Well. Okay then
int-e: cpressey: W makes perfect sense if you have an explicit rule for duplicating premises in a sequent
cpressey: int-e: which W is that?
int-e: the C f x = f x x one
cpressey: W combinator#
int-e: W f x = f x x
wib_jonas: cpressey: see https://esolangs.org/wiki/Combinatory_logic
int-e: (is there another?)
wib_jonas: what's its bird name?
cpressey: I was just hoping you weren't referring to some System W that I'd never heard of. Anyway yes. W is dup and C is swap and this is Forth
cpressey: So if the answer to my (unspoken) question "What's one of the simplest languages in which a proof can be stated and mechanically checked?" is "SK-calculus" then I guess my question becomes "How complex would a compiler from a tolerable proof language, to SK-terms, be?"
myname: that depends on what you'd call tolerable
myname: haskell to SK should be pretty easy
myname: like, we do that manually in first semester here
cpressey: You convert proofs written in Haskell into proofs written in SKI-calculus?
myname: not proofs as such but small programms to lambda calculus and lambda calculus to SKI
myname: removing I should be fairly easy
wib_jonas: also, do we have a link from the wiki to the crocodile family interpretation of lambda calculus_
wib_jonas: we don't. I'll have to add one
myname: aren't those alligators?
wib_jonas: yeah, alligators
myname: K is clearly for cancel
Taneb: wib_jonas: what is that?
wib_jonas: Taneb: ^
myname: I don't really like them that much
int-e: Birdlife: Kestrels compete with starlings for nest cavities
int-e: I didn't know that there was so much competition in the SK world.
arseniiv: I had a thought to take from J its part-of-speech terminolody and strange rules (which I don’t know) and from Lojban its puristic non-european-centric approach to terminology and that to result in an obfuscation-first language but it would need more good ideas
b_jonas: so I have a silly idea
imode: https://repl.it/repls/ShadowyBumpyLinkedlist
zzo38: I don't know what it is call, perhaps, is English without English.
b_jonas: also, yesterday's SMBC http://www.smbc-comics.com/comic/mathematicians about matrix multiplication algorithm asymptotics is fun
arseniiv: oh int-e I’ve just read what you @told that time
arseniiv: I’m so fast
zzo38: Do you know how to make text formatting in PostScript? To implement printer output in the implementation of Z-machine in PostScript, I should know how to do that.
Cale: .oO(A legendary land that enters untapped and taps for one mana of any colour that could not be produced by your other mana in play.)
Cale: other lands* in play
zzo38: OK, that might do.
zzo38: Is there such a card?
Cale: I don't know
Cale: Would be kind of interesting
shachaf: Any lands on the battlefield or any lands you control?
Cale: lands you control, probably?
shachaf: Can it also be tapped for colorless?
Cale: Any lands on the battlefield (including your opponents') might make it unusable
Cale: I don't think it'd be able to tap for colourless, but obviously that could be a variation on the idea
zzo38: If you have more than one land with that ability, then what? Rule 106.7 doesn't seem to mention if they interfere with each other in this way.
zzo38: (Although, rule 106.7 could be fixed so that it does work.)
shachaf: zzo38: Well, it's a legendary land anyway.
zzo38: Yes, but there are still ways to work around that.
zzo38: (e.g. Mirror Gallery)
Cale: Probably it should be considered a land that could produce mana of any colour, so that it shuts off any other copies of itself entirely.
Cale: (but yeah, there's a funny paradox there)
shachaf: I don't think it's much of a paradox.
shachaf: Hmm, maybe.
shachaf: It is a bit different from other mana abilities.
Cale: It's almost exactly Russell's paradox :D
shachaf: Sure, but I meant that answers to this kind of question are established.
zzo38: Note that rule 106.7 does not say only mana abilities or only activated abilities.
Cale: Or how about a land that can produce 2 mana of any colour that you have no devotion to?
zzo38: Yes, that is another possibility, I think.
Cale: That might be too good for activated abilities...
zzo38: O, yes, I suppose so
zzo38: Maybe base it on color identity
zzo38: In RDF format, "add one mana of any color that no other land you control could produce" might be something like: [:add-mana [:choose [:and :color, [:not [:any-could-produce [:and :land, [:controller :you], [:not :this]]]]]]]]
b_jonas: Cale: how does that behave if you have such a land and a Forest in play and the opponent has a Plains and an Exotic Orchard in play?
Cale: b_jonas: I'm not sure, does Exotic Orchard usually care about predicates that restrict mana abilities?
Cale: b_jonas: "Exotic Orchard doesn’t care about any restrictions or riders your opponents’ lands (such as Ancient Ziggurat or Hall of the Bandit Lord) put on the mana they produce. It just cares about colors of mana."
zzo38: Yes, that is another case. Rule 106.7 mentions Exotic Orchard as an example.
b_jonas: Cale: or more simply, how does it work if you have that land and a Forest and Reflecting Pool in play, and the opponent has four Plains?
zzo38: But that what you quoted is clear enough from the rules I think, but it is not relevant to the case you have here
Cale: ah, okay
Cale: ah, right, it does actually care about the state of the cards in play
Cale: Lands that produce mana based only on what other lands “could produce” won’t help each other unless some other land allows one of them to actually produce some type of mana. For example, if you control an Exotic Orchard and your opponent controls an Exotic Orchard and a Reflecting Pool, none of those lands would produce mana if their mana abilities were activated. On the other hand, if you control a Forest and an Exotic Orc
Cale: hard, and your opponent controls an Exotic Orchard and a Reflecting Pool, then each of those lands can be tapped to produce Green. Your opponent’s Exotic Orchard can produce Green because you control a Forest. Your Exotic Orchard and your opponent’s Reflecting Pool can each produce Green because your opponent’s Exotic Orchard can produce Green.
Cale: But yeah, it's an additional weird twist when it's "can't produce"
zzo38: Yes, all of that you mentioned is what would be done by rule 106.7. But, yes, the "can't produce" can result in no stable result, it seem like.
zzo38: (I would think that the RDF code I mentioned probably wouldn't compile (if a compiler for it were implemented), or if it does compile, result in an infinite loop or stack overflow.)
Cale: There are a few sensible ways that one could clarify what happens, like explicitly disallowing cycles in the determination of whether an ability can produce mana of a given type.
zzo38: Yes, that was also my idea about how to amend rule 106.7
b_jonas: I was thinking that if you put this effect into the triggered ability of a Growth-like enchantment, maybe it becomes impossible to make a cycle, but I'm not really sure
zzo38: Since that triggered ability is not an ability of a land, then it might work. Still, I think the rule should be amended in case
b_jonas: zzo38: right, but it's hard to know whether there is a way to turn it into a land, or have an ability that cares about what mana some non-land permanents could produce, now or in future cards
zzo38: Yes, I thought of that, which is why the rule should be amended anyways in case
b_jonas: Imprisoned in the Moon can turn an existing permanent into a land
zzo38: Although it deletes that permanent's abilities, too.
b_jonas: yes, that's why I think that doesn't help
zzo38: (My own opinion is the rules ought to support combinations that do not currently exist.)
zzo38: I also made up this land card (based on the story of the GURPS I have played): Sun Town {-} Legendary World Land ;; Vehicles cannot enter the battlefield. ;; At the beginning of each end combat step, end the turn. ;; {T}: Add {C}. ;; {1}, {T}: Add {W}.
b_jonas: Song of the Dryads is another such card
zzo38: Yes, but rule 305.7 causes its abilities to be deleted.
zzo38: Still, if something else can grant it an ability, then it can be kept and rule 305.7 only deletes the abilities due to its own text.
Cale: Wow, vehicle hate
zzo38: http://zzo38computer.org/zmachine/interp/zmachine.ps
zzo38: Did you try this file?
shachaf: `coins
HackEso: 06loncoin 13sherecoin 04qrabcoin 07etchercoin 082d-refcoin 09nuourcoin 02befosbacoin 06iutcoin 13vircoin 04ampatjtcoin 07subricasmigrcoin 08bucracoin 09ethonatadcoin 02stackscoin 06toncoin 13difficecoin 04disocieucoin 07melocoin 08flabcoin 09fromcoin
kmc: did i invent `coins
kmc: i forgot about `coins
kmc: `paste bin/coins
HackEso: https://hack.esolangs.org/repo/file/tip/bin/coins
kmc: apparently yes https://hack.esolangs.org/repo/log/tip/bin/coins
kmc: `paste bin/words
HackEso: https://hack.esolangs.org/repo/file/tip/bin/words
kmc: `coins irish
HackEso: Argument "irish" isn't numeric in int at /hackenv/bin/words line 148. \ 13coin
shachaf: `doag bin/coins
HackEso: 4627:2014-05-04 echo "words \\${1---eng-1M --esolangs 20} | sed -re \'s/( |$)/coin\\1/g\' | rainwords" > bin/coins \ 4486:2014-02-22 sed -i \'s/--eng-1M --esolangs [$]{1-/${1---eng-1M --esolangs /\' bin/coins \ 4439:2014-02-12 sed -i \'s/20/\\${1-&}/\' bin/coins; coins \ 4413:2014-02-07 printf \'%s\\n\' \'words --eng-1M --esolangs 20 | sed -re \'\\\'\'s/( |$)/coin\\1/g\'\\\' | tee bin/coins \ 4412:2014-0
kmc: `coins --irish
HackEso: 08sclóracoin
shachaf: `doat bin/coins
HackEso: 4411:2014-02-07 echo \'for w in $(words --eng-1M --esolangs 20); do echo -n "${w}coin "; done\' > bin/coins && chmod +x bin/coins \ 4412:2014-02-07 echo \'words --eng-1M --esolangs 20 | sed -re \'"\'"\'s/\\>/coin/g\'"\'"\'\' > bin/coins \ 4413:2014-02-07 printf \'%s\\n\' \'words --eng-1M --esolangs 20 | sed -re \'\\\'\'s/( |$)/coin\\1/g\'\\\' | tee bin/coins \ 4439:2014-02-12 sed -i \'s/20/\\${1-&}/\' bin/c
kmc: `coins
HackEso: 04ycoin 07hebnetonuercoin 08threactrauncitacoin 09obstacoin 02tlacoin 06ace1.0coin 13bogcoin 04walphawcoin 07suracoin 08braincoin 09statecoin 02filcoin 06smrincoin 13furlmcoin 04sposcoin 07thenencoin 08orthated!coin 09weaklcoin 02forthinecoin 06231coin
kmc: obstacoin is a pretty good one
kmc: as is bogcoin
kmc: `coins
HackEso: 08murcoin 09gcoptercoin 02d1fycoin 06fancoin 13weakcoin 04blacoburgcoin 07blatorcoin 08entcoin 09aireoncoin 02bencoin 06dobeling-bookcoin 13prefcoin 04famutticoin 07maicoin 0850150.00coin 09choucoin 02brahcoin 06broncoin 13snmngnomeheadycoin 04alizercoin
shachaf: did you also make https://twitter.com/CryptoGenerator
kmc: where would it get "50150.00" from?
kmc: shachaf: no
oerjan: oerjan: as for "hungry", the relevant wisdom is <-- i know, i was briefly considering making a specific wisdom for it, which would naturally mention bell peppers.
shachaf: Wait, what's this bell pepper nonsense?
oerjan: `le/rn Hungry//Hungry is a country in Europe, formerly part of the Ostrich empire. It split after a famine that got so severe that they had to start editing disgusting things like bell peppers. Absurdly, this became a tradition that continues until the present day.
HackEso: Learned 'hungry': Hungry is a country in Europe, formerly part of the Ostrich empire. It split after a famine that got so severe that they had to start editing disgusting things like bell peppers. Absurdly, this became a tradition that continues until the present day.
oerjan: shachaf: dth ?
oerjan: `slwd hungry//s,edit,eat,
HackEso: hungry//Hungry is a country in Europe, formerly part of the Ostrich empire. It split after a famine that got so severe that they had to start eating disgusting things like bell peppers. Absurdly, this became a tradition that continues until the present day.
shachaf: `? dth
HackEso: dth is the dth ordinal. dth?
shachaf: `cat bin/sedlast
HackEso: files="$(lastfiles)"; sed -i "$1" "$files"
oerjan: `sedlast s,split,& off,
HackEso: wisdom/hungry//Hungry is a country in Europe, formerly part of the Ostrich empire. It split off after a famine that got so severe that they had to start eating disgusting things like bell peppers. Absurdly, this became a tradition that continues until the present day.
oerjan: (disclaimer: i actually like bell peppers, this wisdom is distinctly shachaf-inspired)
shachaf: I figured.
shachaf: `? bell pepper
HackEso: bell pepper? ¯\(°_o)/¯
oerjan: i also like broccoli and brussels sprouts hth
oerjan: so i guess i don't have that gene i've seen mentioned
shachaf: There's a gene?
shachaf: I'm pretty neutral on broccoli and sprouts. Slightly positive on Brussels.
oerjan: iirc supposedly some people think the plants in that species/genus taste bitter, others don't
shachaf: I heard about coriander and cilantro.
oerjan: shachaf: i see i should link you to our old discussion of quineless languages at https://esolangs.org/wiki/User_talk:Smjg (although the counterexamples boil down to what you call "encoding issues")
cpressey: int-e: fwiw I'm reading a history of lambda-calculus and it's making several things clearer, for instance, that the parallel reductions technique was actually developed for the purpose of improving on the earliest proofs of confluence of CL :)
int-e: Hmm, "a very minimal API set that only included ~18K APIs".
int-e: Slightly abridged from https://github.com/dotnet/announcements/issues/130 ... unfortunately it makes more sense in that context than it should.
int-e: (If your goal is to re-implement a massive API to support applications written for that API... then "minimal" gets a radically new perspective... namely, coverage of the API used by existing applications.)
wib_jonas: apparently python 3.8.0 was released two days ago
wib_jonas: `python3 -cimport sys;print(sys.version)
HackEso: 3.5.3 (default, Sep 27 2018, 17:25:39) \ [GCC 6.3.0 20170516]
int-e: ... puns! "libunbound" is a DNS resolver library.
arseniiv: I made fizzy honey
arseniiv: it was like a fine foam
imode: how'd it taste?
arseniiv: first soda and citric acid were more or less balanced and it was not unlike normal honey, but with some sparkliness, then I added more soda and mixed it all into my tea
arseniiv: IOCCC is useful, now I have two more articles to read
arseniiv: about Reduceron and a functional pearl on enumerating a regular language given a regex
arseniiv: three now, also Oleg’s “λ to SKI, semantically”
shachaf: `olist 1182
HackEso: olist 1182: shachaf oerjan Sgeo FireFly boily nortti b_jonas
b_jonas: `olist 1182
HackEso: olist 1182: shachaf oerjan Sgeo FireFly boily nortti b_jonas
b_jonas: about time
fizzie: More libraries should have names that make the "-lfoo" argument sound good, like libiberty.
b_jonas: fizzie: and warning options like -Wall and defines with the -D and -U switches?
shachaf: b_jonas: Double listed!
DPS2004: can I get some feedback on a language im working on?
int-e: stranger things have happened
DPS2004: wait are you replying to me?
int-e: But I'm trying not to promise anything.
DPS2004: aigt gonna paste in what I have so far
DPS2004: To declare a variable named foo with the value of 2:
DPS2004: gonna give you up --end
DPS2004: RickRoll based language
int-e: Sounds painful. :)
DPS2004: awesome
int-e: though tbh we usually care more about the semantics than the syntax
DPS2004: im sorta basing it on Esketit
DPS2004: https://esolangs.org/wiki/Esketit
int-e: Hmm, cute, but it seems rather limited.
DPS2004: im kinda stuck on things to add
int-e: the standard mix for a programming language seems to be: something loopy, something conditional, something arithmetic, something noisy (output), something perceptive (input), shake and pour.
int-e: of course we'll still call the result boring.
DPS2004: shit sorry the internet went out
DPS2004: but yeah ill think something up for input
DPS2004: ah got something
DPS2004: your heart's been aching but you're too shy to say (prompt goes here)
wib_jonas: int-e: we also need something remembery
DPS2004: variables?
arseniiv: Oleg’s article: “We present another pearl of the translation from lambda-terms to SKI combinators and show off its facets.”
arseniiv: a pearl with facets… omg it have to be multidimensional and not precisely a sphere, or something
int-e: pearls and facets *are* an odd mix.
arseniiv: maybe it’s a pearl with a glittery aluminium scales inside, which will do as facets?
DPS2004: what if i edited never gonna give you up in audacity so rick astley sings the fizzbuzz code
int-e: DPS2004: go ahead, we'll only hate you for it. forever.
arseniiv: could Rick Astley sing 1000 first digits of pi instead
arseniiv: or better, denominators of its representation as a continued fraction
int-e: John Oliver did a rickroll recently. I was not amused :)
int-e: Fortunately I forgot everything else about the episode so I can't find it now.
kspalaiologos: I'm just having fun, don'
kspalaiologos: t mention me
int-e: kspalaiologos: esowiki is a bot.
kspalaiologos: sure, I know
kspalaiologos: I haven't been talking to him, but rather finding excuses for spamming the channel
int-e: Hrm, https://esolangs.org/wiki/File:Aggressthon_logo.png seems problematic (cf. https://www.python.org/community/logos/)
fizzie: int-e: Hmm, I think that's a little subtle. We don't really have a policy on trademarks (CC0 explicitly calls them out of scope), and I don't think the Python page is super-clear about the copyright status of the work, it only talks about the trademark aspect.
fizzie: It probably does fail the PSF Trademark Usage Policy section on "do not want these trademarks to be used to refer to any other programming language".
fizzie: (And the section on derived logos.)
DPS2004: how do I make rick astley say "Zero"
DPS2004: what words can I chop up to make that
DPS2004: this is very important
DPS2004: FOUND IT
DPS2004: I can cut up "
DPS2004: "rules"
DPS2004: to get the Z
kspalaiologos: someone wanted my mythical chess engine
kspalaiologos: it's somewhere on my github
kspalaiologos: by the way, what is sub-lime?
DPS2004: ugh why do I keep on getting dc'd
int-e: DPS2004: Freenode blames your end: DPS2004 has quit [Ping timeout: 260 seconds], DPS2004 has quit [Remote host closed the connection]
arseniiv: . o O ( behold the new language for traquill and methodical evaluation, OCalm )
DPS2004: https://vocaroo.com/i/s06nrPmzi89K I know the "zero" is a little rough, but how does this sound?
kspalaiologos: I have no idea what he's saying
kspalaiologos: i just figured zero at the end tho
DPS2004: https://esolangs.org/wiki/NeverGonna Im trying to get him to sing the fizzbuzz
DPS2004: at the bottom
kspalaiologos: oh gosh
kspalaiologos: damn it man xD
kspalaiologos: I think one needs really good editing skills
kspalaiologos: to make the everything sound like a single sentence
kspalaiologos: you might want to extract single phonems from his songs and tune them to fixed frequency
kspalaiologos: then dump it into tracker
DPS2004: no idea how to do that lol
kspalaiologos: and you're pretty much all set
DPS2004: i think im gonna keep on going in audacity
kspalaiologos: just look at the phonetical description of what hes singing
kspalaiologos: extract a sample of him singing a single phone,m
kspalaiologos: then tune all of these to same tone using audacity
kspalaiologos: then use a tracker or god's beloved audacity
kspalaiologos: to glue them together
kspalaiologos: however, I can't quite tell how good will the outcome be
shachaf: @let luby = map snd $ iterate (\(u,v) -> if u .&. (-u) == v then (u+1,1) else (u,v*2)) (1,1)
lambdabot: Defined.
shachaf: > luby
lambdabot: [1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,16,1,1,2,1,1,2,...
b_jonas: http://oeis.org/A182105
shachaf: "Number of elements merged by bottom-up merge sort"? I guess.
b_jonas: shachaf: there may be other interpretations than that title
A55: fungot: Who created the 'or' language?
fungot: A55: at one point.) i'll try to look at these proofs you'll see that the number of buckets you use to read pdfs which preview/ acroread can't deal with the case that sys-readdir always have "."
A55: fungot:Fnordy morning to you
fungot: A55: i guess we should take haskell and give it a crack. i love it.) you should get some headphones chosen, sound maybe will be fnord. they're comfortable, and they refused to sense any opportunity for the opposite party since that might have something other fun esolang competition
A55: Weird. I can't get fungot to answer https://esolangs.org/wiki/Or related questions.
fungot: A55: fortunately the doctors at the university of copenhagen ( datalogisk institutut k?benhavns universitet) server box with a null
A55: fungot:I know the language.
fungot: A55: i could be wrong
A55: fungot:Shall I correct you?
A55: fungot: Shall I correct you?
A55: fungot: Shall I teach you?
b_jonas: `bobadventureslist http://bobadventures.smackjeeves.com/comics/
HackEso: bobadventureslist http://bobadventures.smackjeeves.com/comics/: b_jonas
wib_jonas: noooo! fungot, come back!
fizzie: What's that all about.
fizzie: Looks like it's about the internet at home.
fizzie: My ISP has a "dashboard", but it's literally just a rounded rectangle on the account management page which says "Your Service status is: (orb)", where the orb is either red or green. Right now it's red.
fizzie: Well, okay, there's also a hover tooltip box saying "we're sorry for the disruption" and "our engineers are currently investigating the cause and will work to restore connectivity as soon as possible".
wib_jonas: fizzie: is it a dashboard that you can view from other internet connections, or only from yours?
int-e: so a bit like the "Inside Out" baby stage... just minus the button?
fizzie: I've never seen the tooltip say anything else, and it always says that within seconds of the connection going down, so I don't think it actually means anything in particular except that their monitoring has realized it's down.
fizzie: wib_jonas: I can view it from anywhere by logging in to the same wobsite where you manage billing and that sort of stuff.
int-e: It's vitally important to reduce the number of calls for customer support.
wib_jonas: fizzie: in that case they probably also have access to the same dashboard, and by just you loading it, their server tells their engineers that your connection is down
fizzie: It's on the page you get immediately after logging in, so I don't think they can quite infer it's down just from me opening that page.
fizzie: Although realistically that'd have about 98% accuracy in practice.
fizzie: My previous ISP had a read-only view into what looked like their actual issue tracker, which was nice. Although it was mostly just copies of BT's outages, because it was a DSL thing over BT's network.
wib_jonas: fizzie: not from just opening the page, obviously. but their server knows whether the page tells you it's up or down
int-e: wib_jonas: you mean loading the page might act as a thumbs up on the corresponding ticket?
wib_jonas: int-e: loading the page tells them that someone cares about the internet being down on that connection. many of their users won't care, because they're sleeping or something. they might prioritize customers who look at the dashboard.
int-e: I guess it's possible.
myname: "you have services running at home but aren't there and awake 24/7? too bad"
wib_jonas: myname: obviously the priority only matters when they can't fix all their bugs :-)
int-e: or want to sleep
cpressey: While researching various things related to "equational logic" I have discovered that there is also "inequational logic". But not many people use this term. I suspect this is because inequational logic has a much better-known name, which is "term rewriting".
cpressey: At least, I am at a loss to see any essential difference between inequational logic and term rewriting.
wib_jonas: argh... this thing at work is terribly inconsistent. I'll have to fix it by redoing the whole thing, for which I have to figure out what the correct settings is
int-e: cpressey: hmm, in principle an inequational logic could go further (it could distinguish between covariant, contravariant, and ambiguous arguments of functions, for example)
wib_jonas: I'm frustrated about thsi stuff
int-e: (I'm just interepreting the term as I'd read it... I have never encountered it in the term rewriting context. Term rewriting people use things like (weakly) monotone algebras that orient rules, in termination proofs for example.)
cpressey: int-e: Say you had a term rewriting system, and you wanted to describe its semantics as a set of axioms. You'd have ones like "If a rewites to b, then (ca) rewrites to (cb)", and "If a rewrites to b, and b rewrites to c, then a rewrites to c"... these are the same axioms that get listed when describing an inequational logic.
cpressey: There might be small differences between the two concepts, sure.
int-e: cpressey: I'm just saying that given the term "inequaltional logic" you could do more. If a >= b then f(a) >= f(b) but g(b) >= g(a).
int-e: cpressey: so you could have monotonic and antimonotonic functions.
int-e: cpressey: But it appears that this isn't done and then it's indeed just another name for term rewriting.
cpressey: int-e: I think I follow what you're saying -- you can start with an inequational logic, then add axioms that allow it to say more than you could say with a TRS, yet don't interfere with its purpose as an inequational logic?
cpressey: I'd agree with that but I think I'm not thinking quite that far ahead yet :)
int-e: cpressey: the downside would be that context matters... you couldn't replace any subterm by a smaller one anymore.
int-e: So it'd be heading in a different direction from rewriting.
int-e: Anyway. This happens when I encounter a new term... I first try to fill it with content myself.
int-e: I'm wrong 80% of the time :P
cpressey: Well, I'm fairly excited about it from the meta-logical angle. You can use term rewriting to derive proofs of theorems under some theory, and in inequational logic you have a theory of term rewriting.
cpressey: In short it seems to confirm my feeling that a non-deterministic term rewriting language is sufficient for writing machine-checkable proofs in.
int-e: isn't that somewhat true for all models of computation :)
arseniiv: I’m disappointed in what was going on in https://ai.stackexchange.com/questions/15730/can-digital-computers-understand-infinity
arseniiv: many noted layman’s “understand” is an ambiguous non-notion but a few if at all noted the same about layman’s “infinity”. When talking about a specific “infinity” instance, things should get way clearer. There would be no denying some commenters are antropocentric, or should I say psyche-centric, at its worst
arseniiv: very very disappointed. Say you agree with me please
arseniiv: or even better don’t read that thing at all, it’s not that good
cpressey: "We can think, principally, and "understand" infinitely many numbers that are displayed on the screen." must be a pretty big screen
fizzie: Hey, it's *not* always the same placeholder text. Now it says: "We're sorry to advise that we're experiencing a technical issue which has resulted in a temporary loss of broadband services to your building." I guess that's a good sign.
int-e: `unidecode 🙌😈🐰
HackEso: [U+1F64C PERSON RAISING BOTH HANDS IN CELEBRATION] [U+1F608 SMILING FACE WITH HORNS] [U+1F430 RABBIT FACE]
arseniiv: all those prevalent chinese rooms in there too. I’d say popular understanding of a human mental capability is illusional and mostly based on accounts of introspection, not normal science, and what would chinese argumentists say if their chinese room would argue that it has introspection and it introspected that it e. g. understands and it’s unfair to deny that, and any human they meet is indistinguishable from that, so how do they
arseniiv: hoose to believe or not? Antropocentrically
int-e: "understanding" seems to be a deeply anthropomorphic concept to me.
int-e: maybe "can computers learn to solve problems involving infinity"?
int-e: Still vague, but at least it's moving closer to something testable.
int-e: (didn't read the stackexchange link)
arseniiv: int-e: not that it isn’t, that had been tried to be clarified in various ways, but I’m at a loss to understand why wasn’t that done for “infinity”, as it is a topic of the question
arseniiv: there was a link to some SO question about formalizing infinity, and I bet there were all kinds of infinities math has to offer, but I don’t think many commenters followed through with reading that
int-e: arseniiv: You're not wrong!
arseniiv: int-e: thank you :)
arseniiv: as I tend to be wrong while heated
int-e: But I'd also focus on "undertanding" first. :)
arseniiv: yes, that was done too
arseniiv: on a tangent, I’m slightly sad about antropocenteredness, cause it seems to be a reason of many bitter misunderstandings, as humans are modeled being more infailible that they are
arseniiv: it’s constructive to try to understand flaws in our hardware but it’s almost not being done, not even basics at schools (I presume, worldwide), not some other stuff in social media etc.
arseniiv: okay many know about logical fallacies but that’s not too many and that’s not enough I think
arseniiv: by “not being done”, I mean not trying to discover them, that’s of course almost at its best now, as neurosciences go forward very fast, but trying to make general public aware
int-e: I think there's a difference between anthropocentric thinking (I'm fine with that, really... we are humans after all and spend a lot of time with ourselves and other people) and ascribing super-Turing powers to humans :P
int-e: The latter is a sort of mystification that I don't approve of.
arseniiv: as many of the flaws are quite good at not being noticed because of our filling-in gaps, another bittersweet architecture choice of evolution
arseniiv: int-e: some antropocentrism is normal, I agree, but it seems there is a line somewhere
arseniiv: maybe in what is explicit and what is implicit
arseniiv: if one is aware that she thinks antropocentrically, and why it needs to be so, it’s okay
arseniiv: but in the most part that’s all implicit, deep waters of unconscious patterns or something
arseniiv: and the power of rationalizing that into some nonsense
arseniiv: BTW that Oleg’s paper was interesting
int-e: rationalization is the ultimate AI problem
arseniiv: I can’t say I fully understand (eek) it but it seems nice (and maybe even useful to me in the future?)
arseniiv: “The Reduceron reconfigured and re-evaluated” had shown me some useful things too if I’d wish to design a virtual machine for something near-functional
arseniiv: now there’s only one left, about writing in Haskell enumeration of a regex’s language through FSAs
wib_jonas: fizzie: they added randomness to the placeholder text? nice.
fizzie: Hm, I wonder if you can have OpenSSH require two public keys instead of just one.
DPS2004: do you think its possible to write a quine in NeverGonna?
wib_jonas: fizzie: two public keys? what do you mean?
wib_jonas: fizzie: do you mean require that the user who logs in has the matching private key for _one_ of two public keys, because if so, you can do that, just put multiple keys (one per line) in the file that contains the public keys
fizzie: No, I was thinking the user who logs in would need to have matching private keys for two different public keys.
fizzie: I think that's unlikely to be a thing.
wib_jonas: that might be trickier, yse
wib_jonas: is there even such a thing in the SSL protocol that a client supports? how do I tell the client config to use two keys?
fizzie: I think you can provide multiple identities, yes.
fizzie: Definitely a SSH agent can hold multiple keys in memory, and will offer to use all of them when signing.
fizzie: But it might be that the details of the protocol prevent you from actually performing authentication with more than one.
wib_jonas: I don't know how that works, I've always just put one explicit filename for each host in my client config file
wib_jonas: one explicit private key filename that is
wib_jonas: but possibly different filenames for different hosts
fizzie: I know you can (nowadays) configure OpenSSH to require multiple authentication *methods* (as in, "public key and password" e.g.), but that probably doesn't apply to multiple keys.
wib_jonas: fizzie: multiple methods as in allow connections only from certain hosts but still ask for a key, sure
wib_jonas: public key and password is alternative, you can log in via either one
wib_jonas: it's the client's choice then
fizzie: No, you can require both.
wib_jonas: you can? ok
fizzie: Via the "AuthenticationMethods" option.
fizzie: "For example, "publickey,password publickey,keyboard-interactive" would require the user to complete public key authentication, followed by or more comma-separated lists of authentication method names, or by the single string any to indicate the default behaviour of accepting any single authentication method."
fizzie: I didn't know this earlier either, only learned about it now.
fizzie: I messed up that copy-paste.
fizzie: "For example, "publickey,password publickey,keyboard-interactive" would require the user to complete public key authentication, followed by either password or keyboard interactive authentication."
fizzie: Lost track on which line I was on.
fizzie: The context for this train of thought is, Android has a "secure hardware" thingamajick for keeping RSA and EC keys in, and asking the hardware to sign them. There's an SSH agent implementation that hooks that and allows secure hardware keys to be used as SSH keys -- https://github.com/aeolwyr/tergent -- but there's no way to attach a passphrase to that, the keys get unlocked when you unlock the device.
fizzie: I was thinking it might be reasonable to have both a key like that + a separate passphrase-protected private key, if you wanted to require more from SSH authentication than from in general unlocking the phone. Just because fingerprints are so convenient.
fizzie: But in retrospect maybe that's not really much of a security benefit over just having a single passphrase-protected public key stored in a regular file.
wib_jonas: fizzie: could you just handle that on client-side, by encoding the second private key not by your passphrase, but by a tuple of your passphrase and something secret derived from the device key?
fizzie: AFAIK, the only things I can ask the hardware to do is to sign something or to verify a signature, using the protected private key. So it's not entirely obvious how to use that for protecting the second private key.
wib_jonas: fizzie: hmm, that's trickier
fizzie: I guess technically I could use the signature of my passphrase as the "something secret derived from the device key"? At least that works in the scenario where someone has the (second) private key file, and knows my passphrase.
fizzie: OTOH, it would probably involve writing some code, I don't know if I want to go that far.
wib_jonas: fizzie: I don't think that's a good idea
wib_jonas: cryptographically that is
wib_jonas: ask other people here who understand this crypto stuff though
fizzie: It's obviously not a good idea in the sense that knowing the passphrase and that one signature would be sufficient to decode the second private key file, as opposed to something where you would actually need to have control over the first private key and show you can sign anything with it. But it's not clear how to do that on the client side.
arseniiv: one guy wants to make a computer game with magic governed by a deep mathematical theory/concept, do you have something in mind to suggest? (Then I’ll relay it.) He gave https://ncatlab.org/nlab/show/string+diagram as an example of things which would interest him, though I think there are no solid decisions made yet, and no conception in which specific way would it manifest in a game
imode: noita.
imode: cellular automata. :P
b_jonas: arseniiv: well, David Madore has a few ideas about that, see http://www.madore.org/~david/weblog/d.2015-05-07.2296.html (and the older http://www.madore.org/~david/weblog/d.2013-10-07.2162.html that it points to)
b_jonas: also http://www.madore.org/~david/weblog/d.2018-09-27.2555.html
arseniiv: maybe I should direct him here
b_jonas: arseniiv: I don't think he uses irc
b_jonas: but he has a comment section, twitter, and email
b_jonas: and Stack Exchange
arseniiv: b_jonas: rofl :D I don’t mean David Madore
arseniiv: I mean that person
arseniiv: though I don’t know him at all, I just got interested and suggested tensory things to him. Then I was surprised by the coincidence: string diagrams in their simplest form are for monoidal categories
b_jonas: arseniiv: but be careful, because we officially don't do the other kind of esoterism in this channel
skyplane: всем доброго времени суток
skyplane: может скажете, куда с этим: https://skyplaneru.wixsite.com/excessive ?
arseniiv: b_jonas: eh, I was about to dust off my ouija board
skyplane: понимаю что в сообщество прогеров, но вдруг
arseniiv: skyplane: я прочитал и ничего не понял вообще
arseniiv: really weird text
imode: skyplane: это не место для какого-то дерьма, которое вы торгуете. немногие (если таковые имеются) здесь говорят по-русски.
kspalaiologos: the heck
kspalaiologos: arseniiv, ah yes, the ouija board
kspalaiologos: very useful while programming in Malbolge
arseniiv: kspalaiologos: oh! how do you use it?
kspalaiologos: well, first you have to sign the pledge with Satan
arseniiv: BTW I don’t really have an ouija but I can simulate it by means of a cat if I ever would want to
kspalaiologos: and the following steps should be obvious
skyplane: imode: разница в том, что я сабжем не торгую. от слова совсем. и указанная миссия - действительно миссия. З.Ы. с головой всё нормально.
kspalaiologos: δεν μιλάς αγγλικά;
imode: sorry, speak english.
skyplane: arseniiv: не вопрос, бывает и непонимание
kspalaiologos: oh cmon
kspalaiologos: darn it man
kspalaiologos: stop, you've broken my bot
imode: why do you have a bot in here.
kspalaiologos: to log the channel messags
imode: your client does that.
imode: and there are log files in the topic of this channel.
kspalaiologos: russian characters are actually wide characters
kspalaiologos: yes, my bot is supplying one of these sites
b_jonas: `? logs
HackEso: #esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ https://github.com/kspalaiologos/esologs/
imode: which one.
kspalaiologos: Wide character in print at harvester.pl line 51.
kspalaiologos: at harvester.pl line 51.
kspalaiologos: LogBot::log(LogBot=HASH(0x55f49e95e340), "", "arseniiv: \x{43d}\x{435} \x{432}\x{43e}\x{43f}\x{440}\x{43e}\x{441}, \x{431}\x{44b}\x{432}\x{430}\x{435}\x{442} \x{438} \x{43d}\x{435}\x{43f}\x{43e}\x{43d}\x{438}\x{43c}\x{430}\x{43d}\x{438}\x{435}") called at harvester.pl line 166
b_jonas: imode: the last one I think
arseniiv: russian characters are actually wide characters => wait why, how
kspalaiologos: ^ apparently perl thinks so
imode: b_jonas: ah, right.
b_jonas: imode: I mean, that's the new one, so that's the most likely to break
kspalaiologos: ^^ it used to work
kspalaiologos: for a long time
arseniiv: okay, returning to the thing I asked, should I give a log excerpt to that person or may I just rephrase what was brought? (Including CA and noita; interesting thing, I’ll watch a video later)
b_jonas: kspalaiologos: long time? it ran for a month
b_jonas: kspalaiologos: our channel is over twelve years old
kspalaiologos: i realise that
b_jonas: imode: really, it's either that, or an update on irc's side
arseniiv: ^ apparently perl thinks so => ah. Hm. It’s very strange to say the least
kspalaiologos: I have read the old IRC logs because I needed *something*
arseniiv: (shouldn’t it write in UTF-8 or something)
kspalaiologos: back from 2003 or sth
kspalaiologos: so yeah, this channel is quite old
b_jonas: arseniiv: if you write the program correctly
kspalaiologos: but my bot's been running for week and a half
b_jonas: arseniiv: in fact you should never _decode_ what you read from irc
b_jonas: because it's not in any defined encoding
imode: it's just bytes, man.
b_jonas: though we usually view it in utf-8, you can send any byte string that doesn't have \x00 or \x0A or \x0D
b_jonas: imode: exactly, but people sometimes write programs with bugs and later fix it
b_jonas: it's normal
kspalaiologos: now it shouldn't bail out now
kspalaiologos: but I can't tell what happened on 10.18 5:00-6:00 PM GMT
b_jonas: kspalaiologos: the esolangs.org log is backfilled after the fact from other bots when it's out. it is in fact pretty new, only like two years old, but fizzie added all the old logs retroactively to its archive
kspalaiologos: I've read a few mails from the mailing list
b_jonas: kspalaiologos: perhaps eventually he'll fill gaps from your logs too
kspalaiologos: is it even alive by now?
b_jonas: mailing list? what mailing list?
b_jonas: `? mailing list
HackEso: mailing list? ¯\(°_o)/¯
b_jonas: `? email
HackEso: email? ¯\(°_o)/¯
b_jonas: `? mail
HackEso: mail? ¯\(°_o)/¯
kspalaiologos: esoteric.sange.fi I guess
b_jonas: we don't have a mailing list, even wgrep doesn't know about it
b_jonas: `? discord
HackEso: discord? ¯\(°_o)/¯
kspalaiologos: we had
kspalaiologos: a mailing list a long time ago
skyplane: Good day
skyplane: can you tell where with this: https://skyplaneru.wixsite.com/excessive?
skyplane: I understand that in the community of programmers, but suddenly
b_jonas: nor do we have a discord
kspalaiologos: `? website
HackEso: website? ¯\(°_o)/¯
kspalaiologos: you don't have website too
b_jonas: `? wiki
HackEso: The wiki is at .
b_jonas: kspalaiologos: ^ you have to search right
b_jonas: you can grep wisdom
b_jonas: ``` grep -REi http wisdom
HackEso: wisdom/ayacc:ayacc is ais523's yacc parser generator implementation, get it from darcs clone http://nethack4.org/projects/ayacc \ wisdom/dwfo:DWFO is the Doctor Who Fan Orchestra, . \ wisdom/homestuck:Homestuck is a cult religion for disaffected teens. Gamzee drives the bus. Best summarized by http://www.mspaintadventures.com/storyfiles/hs2/05743.gif \ wisdom/hand injuries:Hand injuries are surprisingly common among webcom
b_jonas: oh yeah
b_jonas: `? hand injuries
HackEso: Hand injuries are surprisingly common among webcomic writers, see eg. http://questionablecontent.net/view.php?comic=2314 or http://www.giantitp.com/comics/oots0864.html
b_jonas: ^ I found a third example, I should add it there
kspalaiologos: I can't strive to understand this bot
kspalaiologos: what, why, how
b_jonas: `whatis ?
HackEso: ?(1hackeso) - print wisdom by name \ ?(8lambdabot) - compose tree of lambdabot commands
b_jonas: `? wisdome
HackEso: 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. Strictly speaking, it should be called the "Wissphere".
kspalaiologos: have you already trained muscle memory for the #esoteric bots?
b_jonas: ``` grep -REi http wisdom | tail -n+4
HackEso: wisdom/hand injuries:Hand injuries are surprisingly common among webcomic writers, see eg. http://questionablecontent.net/view.php?comic=2314 or http://www.giantitp.com/comics/oots0864.html \ wisdom/pbflist:pbflist is update notification for the Perry Bible Fellowship webcomic. http://pbfcomics.com/ \ wisdom/log:#esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ http
kspalaiologos: ``` grep -REi wisdom
b_jonas: kspalaiologos: I use normal unix commands more than the extra-specialized stuff
b_jonas: kspalaiologos: bin/\? foo basically just prints wisdom/foo
kspalaiologos: ^ but, the structure of this bot
b_jonas: it does a few extra things, but not too much
b_jonas: ``` cat wisdom/"hand injury"
HackEso: cat: 'wisdom/hand injury': No such file or directory
kspalaiologos: how do I execute command
b_jonas: ``` cat wisdom/"hand injuries"
HackEso: Hand injuries are surprisingly common among webcomic writers, see eg. http://questionablecontent.net/view.php?comic=2314 or http://www.giantitp.com/comics/oots0864.html
kspalaiologos: ``` ls /
HackEso: bin \ dev \ etc \ hackenv \ lib \ lib64 \ proc \ sbin \ srv \ sys \ tmp \ usr
b_jonas: `? run
HackEso: `run is HackEgo's builtin for running a command with full shell syntax. These days most use the user-made `` or ``` shortcuts instead, although all of the three have subtle differences, with `run being the most plain option (also, unlike the rest it cannot be called from other commands.)
HackEso: No output.
kspalaiologos: ``` ls /bin
HackEso: bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ journalctl \ kill \ less \ lessecho \ lessfile \ lesskey \ lesspipe \ ln \ login \ loginctl \ ls \ lsblk \ mkdir \ mknod \ mktem
kspalaiologos: so you say
kspalaiologos: that the users actually construct the bot
b_jonas: kspalaiologos: yes
kspalaiologos: that's
kspalaiologos: incredible
b_jonas: the commands were added by users
hppavilion[1]: I am very excited for the Rise of Skywalker
kspalaiologos: that nobody has yet fscked up by this
b_jonas: `? spoilers
HackEso: Don't give movie spoilers on channel. If you do, hppavilion may hire a hitman to hunt you down in real life and torture you in refined ways.
b_jonas: oh hi, hppavilion[1]
hppavilion[1]: I have tickets to, like, the second showing in the state
b_jonas: kspalaiologos: sure we have
b_jonas: we made a lot of mistakes, then undone them
hppavilion[1]: b_jonas: ...what that intentional or just the world's greatest timing?
b_jonas: hppavilion[1]: intentional
kspalaiologos: for example?
kspalaiologos: does the repl have root access?
hppavilion[1]: b_jonas: But yes, that position does still stand
b_jonas: hppavilion[1]: you can see the history that I talked about that wisdom entry earlier because shachaf asked
kspalaiologos: ``` ls
HackEso: a.out \ bin \ canary \ emoticons \ esobible \ etc \ evil \ f \ factor \ good \ hw \ ibin \ interps \ izash.c \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ test2 \ testfile \ tmflry \ tmp \ wisdom
b_jonas: hppavilion[1]: and you have the same nick length as kspalaiologos so at first I thought it was he who said "I am very excited for the Rise of Skywalker"
kspalaiologos: ``` ./a.out
HackEso: 1.250000
b_jonas: hppavilion[1]: so I had to warn him
kspalaiologos: ???????
b_jonas: kspalaiologos: you can experiment in tmp
b_jonas: `? tmp
HackEso: tmp/ is a directory for files that are not worth saving in HackEgo history, but which should still outlive a single command. 04NOTE: It interacts funnily with HackEgo's lock and re-run commit check; files can 04DISAPPEAR if you don't know what you're doing. Basically, don't modify files inside and outside tmp/ in the same HackEgo command.
hppavilion[1]: b_jonas: Huh, so I do
kspalaiologos: ``` cd tmp
HackEso: No output.
kspalaiologos: ``` ls
HackEso: a.out \ bin \ canary \ emoticons \ esobible \ etc \ evil \ f \ factor \ good \ hw \ ibin \ interps \ izash.c \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ test2 \ testfile \ tmflry \ tmp \ wisdom
kspalaiologos: hm, so I have to
kspalaiologos: give a single command
hppavilion[1]: b_jonas: But it isn't out for months, so if kspalaiologos happens to HAVE spoilers, I'd honestly be fascinated to know how (but not what they are)
b_jonas: ``` set -e; gcc -Wall -O -o tmp/a.out -x c - <<<$'#include\n''void main() { printf("this is a C program\n"); }'; tmp/a.out
HackEso: ​[01m[K:2:6:[m[K [01;35m[Kwarning: [m[Kreturn type of '[01m[Kmain[m[K' is not '[01m[Kint[m[K' [[01;35m[K-Wmain[m[K] \ this is a C program
b_jonas: ``` set -e; gcc -Wall -O -o tmp/a.out -x c - <<<$'#include\n''int main() { printf("this is a C program\n"); }'; tmp/a.out
kspalaiologos: oh c'mon man
HackEso: this is a C program
kspalaiologos: void main
kspalaiologos: it's a crime against humanity
b_jonas: yeah, it also needs a magic option to turn off the colors
kspalaiologos: ansi filter when?
b_jonas: something like -fdiagnostic-colors=never or similar
hppavilion[1]: Note that I do not recognize the validity of so-called "trailer spoilers"
b_jonas: kspalaiologos: ideally I should make a terminfo entry for irc colors, but I haven't bothered
hppavilion[1]: Except in the context of not telling someone what happens in a trailer within maybe a week of its release IF they express that they haven't seen it yet and don't want to be quote-unquote "spoiled"
kspalaiologos: what are you talking about right now?
kspalaiologos: I'm so lost
b_jonas: `? hackego # root access
HackEso: hackego # root access? ¯\(°_o)/¯
hppavilion[1]: kspalaiologos: b_jonas is talking about convoluted hackbot things, I'm talking about the ontology of movie spoilers
b_jonas: ``` \? hackego # root access
HackEso: HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in all Mexico!
b_jonas: ``` \? edit # single command
HackEso: `edit gives you a url, then in your browser: (1) Press Sync (unless making a new file) (2) Make your changes (3) Press Save (4) Paste the command line at the top into the channel.
hppavilion[1]: Huh, HackEgo's name has changed. Cool.
b_jonas: hppavilion[1]: it's a reincarnation
hppavilion[1]: `? hackego
HackEso: HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in all Mexico!
b_jonas: hppavilion[1]: it has most of the old one's memory, from one of the backup dumps of the hg repository
b_jonas: hppavilion[1]: except the hg log is truncated, I don't know why, so if you look way back in the revisions, you won't find the oldest stuff
HackEso: hg is dark alchemy used by oerjan to fix things. Like most alchemy, it involves drinking mercury.
hppavilion[1]: b_jonas: Should someone change the contents of `? HackEgo to match the reincarnation?
kspalaiologos: ``` cd tmp && edit test.sh
HackEso: https://hack.esolangs.org/edit/tmp/test.sh
kspalaiologos: is this how it works
b_jonas: hppavilion[1]: no, we have a separate entry
b_jonas: `? HackEso
HackEso: HackEso is almost but not quite unlike HackEgo.
hppavilion[1]: b_jonas: Then 'is' -> 'was'?
b_jonas: the HackEgo one is still an accurate description of the old bot
b_jonas: hppavilion[1]: I don't think so, that's not a nice thing to edit about the bot that's sleeping but will return when the country needs him the most
b_jonas: the once and future king will arise
hppavilion[1]: b_jonas: Oh, like Arthur?
arseniiv: Hg is alchemy haha. It reifies lead into tin, tin into iron, iron into copper, copper into silver, and silver into gold, and gold you shall not reify nohow
hppavilion[1]: Is Merlin also destined to return in England's hour of need? I'm not clear on that one
kspalaiologos: can I set up my brainfuck assembler on the bot
hppavilion[1]: arseniiv: Applying gallium to aluminum turns the aluminum into basically we tcardboard
b_jonas: hppavilion[1]: merlin time travels to the future. don't you read Irregular Webcomic?
arseniiv: hppavilion[1]: what kind of alchemy is that?
hppavilion[1]: b_jonas: Via a tree?
b_jonas: hppavilion[1]: I don't know
hppavilion[1]: arseniiv: I mean, it's real-life chemistry
b_jonas: kspalaiologos: what's a brainfuck assembler?
hppavilion[1]: Also, what's the exact prophesy on when Arthur will return? Is it specifically *England's* hour of need, or just the UK as a whole?
kspalaiologos: as the name suggests, the program that's able to serve like a brainfuck-like assembler hooked with a pipe to a brainfuck interpreter
arseniiv: hppavilion[1]: aww
hppavilion[1]: er, *prophecy
hppavilion[1]: 'prophesy' is a verb
kspalaiologos: it's like a repl
kspalaiologos: for testing the snippets
arseniiv: (hm what reaction there is and where could I watch it)
hppavilion[1]: arseniiv: Yes you could. Was that a cute 'aww' or a disappointed 'aww'?
hppavilion[1]: Please allow me to introduce myself
b_jonas: kspalaiologos: you can probably try. fizzie seems to have long tolerances, seeing that he hasn't banned me entirely from the bot yet
arseniiv: I don’t know, that’s why I posted it so long
hppavilion[1]: I'm a man of wealth and taste
hppavilion[1]: arseniiv: Example: https://www.youtube.com/watch?v=IgXNwLoS-Hw
kspalaiologos: ```git
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``git: not found
kspalaiologos: ```unzip
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``unzip: not found
b_jonas: ``` \? fetch # kspalaiologos: you should know about that too, besides edit
HackEso: `fetch [] downloads files, and is the only web access currently available in HackEgo. It is a special builtin that cannot be called from other commands. See also `edit.
arseniiv: hppavilion[1]: thanks
kspalaiologos: the editor has already instructed me
b_jonas: kspalaiologos: we have tar and gzip and xz
kspalaiologos: I'll have to do it over my vps
kspalaiologos: probably
kspalaiologos: because github doesn't support downlading tarballs
kspalaiologos: doesn't it?
hppavilion[1]: Chemistry is like alchemy, except that it's real and interfaces with the laws of economics (meaning if you find a cost-effective way to turn lead into gold, you'll just drop the price of gold)
b_jonas: kspalaiologos: in the worst case, you can uuencode it and put in edit
kspalaiologos: this seems like a terrible idea
kspalaiologos: give me a second
b_jonas: but putting it somewhere on the http web and fetching is usually easier
hppavilion[1]: b_jonas: Did you ever hang out in #xkcd? Or did I confuse you for someone else?
fizzie: github does support downloading zip files.
b_jonas: you just need to host it temporarily
b_jonas: hppavilion[1]: for a few days, I think. I never participated
b_jonas: hppavilion[1]: I was also on one of the xkcd wikis but didn't participate much
fizzie: Under the "Clone or download v" button, there's a "Download ZIP" option which will just zip up all the repository contents into a file.
hppavilion[1]: That channel gets a bit toxic occasionally, so I can't blame you if you quit during one of *those* periods
b_jonas: and on explainxkcd but also didn't participate much
kspalaiologos: `fetch tmp/test.sh https://hack.esolangs.org/get/tmp/test.sh
HackEso: 2019-10-23 17:28:48 URL:https://hack.esolangs.org/get/tmp/test.sh [130/130] -> "tmp/test.sh" [1]
kspalaiologos: ```cd tmp && cat test.sh
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``cd: not found
hppavilion[1]: b_jonas: I wonder if I'm conflating your nick with someone else's with a similar name; however, the only person I can think of is VictoriaB, whose old nick started with a 'j'
kspalaiologos: `cd tmp && cat test.sh
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: cd: not found
b_jonas: hppavilion[1]: I'm only on like one or two channel per network on most networks other than freenode
kspalaiologos: `cat tmp/test.sh
HackEso: wget https://github.com/kspalaiologos/asmbf/archive/v1.1.1.tar.gz \ tar -xzf v1.1.1.tar.gz \ cd asmbf-1.1.1 \ sudo make all install
fizzie: That's not going to work: there's no networking from inside the machine.
hppavilion[1]: I really wish hexchat had a way for me to scan two channels for overlap (even attempting on different servers)
kspalaiologos: is there?
b_jonas: kspalaiologos: three backticks and a space
fizzie: The `fetch is the only thing that's able to fetch anything.
fizzie: But really, that's just four commands, why would you need to run it as a script inside? Just fetch the file (preferrably into tmp/) and run those one by one.
b_jonas: fizzie: I think it's an experiment
b_jonas: testing stuff
lf94: hppavilion[1]: what do you mean
b_jonas: testing shorter scripts to
b_jonas: know how longer scripts will work
fizzie: Well, okay, "sudo" is not going to work either.
hppavilion[1]: lf94: Clarify
arseniiv: Chemistry is like alchemy, except that it's real and interfaces with the laws of economics (meaning if you find a cost-effective way to turn lead into gold, you'll just drop the price of gold) => agree on both points
b_jonas: fizzie: wisdom/HackEgo more or less invites you to tryu
lf94: "I really wish hexchat had a way for me to scan two channels for overlap"
fizzie: And "make install" probably needs a PREFIX= argument or some-such.
lf94: overlap of what? text?
hppavilion[1]: lf94: Ah. I mean nick-overlap
lf94: What is nick overlap? X)
kspalaiologos: ``` cd tmp && edit hexdump.hex
HackEso: https://hack.esolangs.org/edit/tmp/hexdump.hex
kspalaiologos: `fetch tmp/hexdump.hex https://hack.esolangs.org/get/tmp/hexdump.hex
HackEso: 2019-10-23 17:32:07 URL:https://hack.esolangs.org/get/tmp/hexdump.hex [119404/119404] -> "tmp/hexdump.hex" [1]
hppavilion[1]: lf94: Like, scan if anyone has the same or similar nick, realname, or hostthing (whatever it is after the '@' in one's full id thing)
lf94: write a python plugin, it's easy
hppavilion[1]: 'similar' being defined by some predicate such as case-insensitive levenstein distance
lf94: I wrote one to turn hexchat into a spy software
lf94: while I'm in a channel, it will relay all messages to other servers
lf94: in particular it's useful to have a user relay messages to another channel.
fizzie: kspalaiologos: If that's a hexdump of the earlier v1.1.1.tar.gz file (like it appears), why in the world would you fetch *that* instead of just fetching the binary file?
lf94: these days I use weechat though :)
kspalaiologos: `fetch tmp/test.sh https://hack.esolangs.org/get/tmp/test.sh
HackEso: 2019-10-23 17:34:12 URL:https://hack.esolangs.org/get/tmp/test.sh [93/93] -> "tmp/test.sh" [1]
kspalaiologos: fizzie, I have no idea what i'm doing
kspalaiologos: leave me
kspalaiologos: ``` cat tmp/
HackEso: cat: tmp/: Is a directory
kspalaiologos: ``` ls tmp/
HackEso: -BE8SJn_Dnja \ 0KpPun-ahPnp \ 4qubykGwXZAV \ 8bZIQdyoQ_3S \ EGYj6LpQgFKM \ I3ZdY_oWgTHb \ OUT \ X81G5u_N85_r \ a.c \ a.out \ aczO2Vrn8mw1 \ as-encoding \ compiled_brachylog.pl \ hexdump.hex \ iKVic2uB99hI \ input.brachylog \ jeval.whatis \ out \ out.a \ out.a.hd \ out.a.xxd \ paste \ single-word-character-names \ spline \ spout \ spout.raw \ test.sh \ tmp.txt \ uGgIjgPAmv8A
kspalaiologos: ``` cat tmp/test.sh
HackEso: xxd -r hexdump.hex v1.1.1.tar.gz \ tar -xzf v1.1.1.tar.gz \ cd asmbf-1.1.1 \ sudo make all install
kspalaiologos: ``` /bin/bash tmp/test.sh
HackEso: tmp/test.sh: line 1: xxd: command not found \ tar (child): v1.1.1.tar.gz: Cannot open: No such file or directory \ tar (child): Error is not recoverable: exiting now \ tar: Child returned status 2 \ tar: Error is not recoverable: exiting now \ tmp/test.sh: line 3: cd: asmbf-1.1.1: No such file or directory \ sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileg
kspalaiologos: what just happened
b_jonas: fizzie: because edit doesn't like non-ascii files
fizzie: "xxd: command not found" happened, and the rest was just cascading errors.
b_jonas: fizzie: he's fetching from edit as you can see
kspalaiologos: how xxd is not present here
kspalaiologos: it's a standard posix tool
fizzie: b_jonas: Yes, but it's just bizarre.
fizzie: No, it's not.
b_jonas: I did say uunecode, but the young ones don't know how it and ftp ascii mode works
kspalaiologos: isn't it?
b_jonas: and 7-bit serial lines
fizzie: b_jonas: Well, I mean, the point is, the binary file was already available at a web address.
fizzie: There's no need to round-trip through edit.
kspalaiologos: `fetch tmp/v1.1.1.tar.gz https://github.com/kspalaiologos/asmbf/archive/v1.1.1.tar.gz
HackEso: 2019-10-23 17:36:57 URL:https://codeload.github.com/kspalaiologos/asmbf/tar.gz/v1.1.1 [28092] -> "tmp/v1.1.1.tar.gz" [1]
b_jonas: fizzie: ah
kspalaiologos: `fetch tmp/test.sh https://hack.esolangs.org/get/tmp/test.sh
HackEso: 2019-10-23 17:37:11 URL:https://hack.esolangs.org/get/tmp/test.sh [60/60] -> "tmp/test.sh" [1]
kspalaiologos: ``` /bin/bash tmp/test.sh
HackEso: tar (child): v1.1.1.tar.gz: Cannot open: No such file or directory \ tar (child): Error is not recoverable: exiting now \ tar: Child returned status 2 \ tar: Error is not recoverable: exiting now \ tmp/test.sh: line 2: cd: asmbf-1.1.1: No such file or directory \ sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
kspalaiologos: ``` ls tmp/
HackEso: -BE8SJn_Dnja \ 0KpPun-ahPnp \ 4qubykGwXZAV \ 8bZIQdyoQ_3S \ EGYj6LpQgFKM \ I3ZdY_oWgTHb \ OUT \ X81G5u_N85_r \ a.c \ a.out \ aczO2Vrn8mw1 \ as-encoding \ compiled_brachylog.pl \ hexdump.hex \ iKVic2uB99hI \ input.brachylog \ jeval.whatis \ out \ out.a \ out.a.hd \ out.a.xxd \ paste \ single-word-character-names \ spline \ spout \ spout.raw \ test.sh \ tmp.txt \ uGgIjgPAmv8A \ v1.1.1.tar.gz
kspalaiologos: ``` cd tmp && /bin/bash test.sh
HackEso: sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
kspalaiologos: `fetch tmp/test.sh https://hack.esolangs.org/get/tmp/test.sh
HackEso: 2019-10-23 17:37:57 URL:https://hack.esolangs.org/get/tmp/test.sh [55/55] -> "tmp/test.sh" [1]
kspalaiologos: ``` cd tmp && /bin/bash test.sh
HackEso: sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges? \ make: *** [install] Error 1 \ gcc -Ofast -march=native -funroll-loops -fomit-frame-pointer -w bfasm.c -o bfasm \ gcc -Ofast -march=native -funroll-loops -fomit-frame-pointer -w bfi.c -o bfi \ gcc -Ofast -march=native -funroll-loops -fomit-frame-pointer -w bfintd.c -o bfintd \ gcc -Ofas
fizzie: `` rm tmp/{-BE8SJn_Dnja,0KpPun-ahPnp,4qubykGwXZAV,8bZIQdyoQ_3S,EGYj6LpQgFKM,I3ZdY_oWgTHb,X81G5u_N85_r,aczO2Vrn8mw1,iKVic2uB99hI,uGgIjgPAmv8A} # just some spring cleaning
HackEso: rm: cannot remove 'tmp/-BE8SJn_Dnja': Is a directory \ rm: cannot remove 'tmp/0KpPun-ahPnp': Is a directory \ rm: cannot remove 'tmp/8bZIQdyoQ_3S': Is a directory \ rm: cannot remove 'tmp/EGYj6LpQgFKM': Is a directory \ rm: cannot remove 'tmp/I3ZdY_oWgTHb': Is a directory \ rm: cannot remove 'tmp/X81G5u_N85_r': Is a directory \ rm: cannot remove 'tmp/aczO2Vrn8mw1': Is a directory \ rm: cannot remove 'tmp/iKVic2uB99hI': Is a directory \ rm: ca
fizzie: What, they're directories.
b_jonas: fizzie: some of those might have been me
b_jonas: ``` rmdir tmp/*
HackEso: rmdir: failed to remove 'tmp/EGYj6LpQgFKM': Directory not empty \ rmdir: failed to remove 'tmp/OUT': Not a directory \ rmdir: failed to remove 'tmp/a.c': Not a directory \ rmdir: failed to remove 'tmp/a.out': Not a directory \ rmdir: failed to remove 'tmp/as-encoding': Not a directory \ rmdir: failed to remove 'tmp/asmbf-1.1.1': Directory not empty \ rmdir: failed to remove 'tmp/compiled_brachylog.pl': Not a directory \ rmdir: failed to remov
kspalaiologos: ```ls tmp/
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``ls: not found
kspalaiologos: ``` ls tmp/
HackEso: EGYj6LpQgFKM \ OUT \ a.c \ a.out \ as-encoding \ asmbf-1.1.1 \ compiled_brachylog.pl \ hexdump.hex \ input.brachylog \ jeval.whatis \ out \ out.a \ out.a.hd \ out.a.xxd \ paste \ single-word-character-names \ spline \ spout \ spout.raw \ test.sh \ tmp.txt \ v1.1.1.tar.gz
kspalaiologos: ``` ls tmp/asmbf-1.1.1/
HackEso: AUTHORS \ INSTALL \ LICENSE \ Makefile \ NEWS \ README \ TODO \ VERSIONING \ bconv.c \ bfasm.asm \ bfasm.b \ bfasm.c \ bfasm.rs \ bfi.c \ bfintd.c \ bfmake \ bfpp \ bin \ doc \ examples \ labels.pl \ strip.pl \ test \ test.pl
kspalaiologos: ``` edit tmp/asmbf-1.1.1/Makefile
HackEso: https://hack.esolangs.org/edit/tmp/asmbf-1.1.1/Makefile
kspalaiologos: `fetch tmp/asmbf-1.1.1/Makefile https://hack.esolangs.org/get/tmp/asmbf-1.1.1/Makefile
HackEso: 2019-10-23 17:39:49 URL:https://hack.esolangs.org/get/tmp/asmbf-1.1.1/Makefile [687/687] -> "tmp/asmbf-1.1.1/Makefile" [1]
b_jonas: kspalaiologos: hope you don't have to compile anything big that takes more than like 12 seconds or whatever the command timeout is
kspalaiologos: it's just 4 programs
kspalaiologos: every single one is <5 kilobytes big
kspalaiologos: ``` cd tmp/asmbf-1.1.1/ && make all install
HackEso: cp: cannot create regular file '/bin/bconv': Read-only file system \ cp: cannot create regular file '/bin/bfasm': Read-only file system \ cp: cannot create regular file '/bin/bfi': Read-only file system \ cp: cannot create regular file '/bin/bfintd': Read-only file system \ cp: cannot create regular file '/bin/bfmake': Read-only file system \ cp: cannot create regular file '/bin/bfpp': Read-only file system \ cp: cannot create regular file '/
b_jonas: kspalaiologos: yeah, the ones that take too much to compile are often also too big to fetch
kspalaiologos: so I'll have to change the prefix
kspalaiologos: where do you put the binaries
fizzie: /hackenv/bin, usually.
kspalaiologos: i'll create a folder for myself
kspalaiologos: so I don't pollute the path
b_jonas: kspalaiologos: create a dir under hackenv/lib
b_jonas: under /hackenv/lib
fizzie: In that case, yes, that.
b_jonas: or under /hackenv/share for the architecture-independent ones
fizzie: `` echo $PATH
HackEso: /hackenv/bin:/usr/bin:/bin
kspalaiologos: why under /lib
b_jonas: kspalaiologos: not /lib
b_jonas: kspalaiologos: /hackenv/lib
kspalaiologos: i wanted to shorten typing xd
kspalaiologos: but why there
arseniiv: imode: oh, Noita is by the same author as Baba is You!
b_jonas: kspalaiologos: because we use /hackenv/lib and /hackenv/share as sort of like the user's /usr/local/lib and /usr/local/share
kspalaiologos: ``` ls tmp/asmbf-1.1.1/bin/
HackEso: bconv \ bfasm \ bfi \ bfintd \ bfmake \ bfpp \ labels.pl \ strip.pl
b_jonas: kspalaiologos: we're not sysadmins so we can't write to /usr/local
b_jonas: but /hackenv is our homedir, so we can write under there
kspalaiologos: so this stuff should probably go to my folder in path
b_jonas: so we use bin, lib, share under it
kspalaiologos: but I'll have to modify the scripts though as they might not work with the nesting
kspalaiologos: #shitcode
b_jonas: kspalaiologos: why? can't you just configure --prefix=/hackenv/lib or make PREFIX=/hackenv/lib or something?
kspalaiologos: I wrote that makefile
fizzie: b_jonas: I guess technically the binaries should be in /hackenv/libexec for more FHS-y style.
fizzie: "/usr/libexec includes internal binaries that are not intended to be executed directly by users or shell scripts."
b_jonas: fizzie: perhaps. do you know who created /hackenv/share ?
kspalaiologos: ``` cp tmp/asmbf-1.1.1/bin/bconv /hackenv/bin
HackEso: No output.
kspalaiologos: ``` cp tmp/asmbf-1.1.1/bin/bfasm /hackenv/bin
HackEso: No output.
kspalaiologos: and that's all I think
kspalaiologos: ``` bfasm
b_jonas: fizzie: /hackenv is a bit of a mess, with some garbage spread around
b_jonas: we tend to remove at least the top level stuff, but we don't really have a good hierarchy
kspalaiologos: ``` cat
kspalaiologos: what happens when I do that?
fizzie: A timeout at some point, normally.
kspalaiologos: the program just gets killed at eof or what
HackEso: No output.
kspalaiologos: ah yes
b_jonas: kspalaiologos: cp? don't you use symlinks?
kspalaiologos: probably I should
b_jonas: ``` oh sorry
HackEso: bash: oh: command not found
kspalaiologos: but nobody is interested in my stuff so I program it like for myself
b_jonas: it was from temps
b_jonas: kspalaiologos: sorry, don't symlink
b_jonas: the source was from tmp, so you can't symlink
kspalaiologos: how can I specify multiline output
b_jonas: kspalaiologos: did you install to tmp?
kspalaiologos: no, I didnt install to tmp
b_jonas: that's not a good idea if it has any files other than the binary
kspalaiologos: the install didnt success
b_jonas: oh good
fizzie: b_jonas: It was just built in the source tree and then manually copied over.
kspalaiologos: because install script bailed out
kspalaiologos: ```bfasm
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``bfasm: not found
kspalaiologos: wait a second
kspalaiologos: ```bfasm out .0
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``bfasm: not found
kspalaiologos: ``` bfasm out .0
b_jonas: kspalaiologos: if it works, you may also create a wisdom entry so we know what the program is for
kspalaiologos: it doesn't send eof
b_jonas: though maybe it has a good --help output or something
kspalaiologos: thats very bad
b_jonas: ``` bfasm --help
HackEso: No output.
kspalaiologos: it has no help flag
kspalaiologos: you can read its source code
HackEso: No output.
kspalaiologos: its really helpful in understanding it
HackEso: No output.
kspalaiologos: can I manually instuct the bot to send eof at the end?
fizzie: At the end of *what*?
kspalaiologos: of my input
b_jonas: kspalaiologos: a wisdom entry that tells where its source is and a quick synopsis might be helpful then
kspalaiologos: I will add it in a moment
kspalaiologos: but i'm working out the eof
b_jonas: kspalaiologos: because a month from now, we won't be able to guess where the source is, and we won't want to dive the log to find out
fizzie: You can do < /dev/null to get an empty stdin with an EOF at the end.
b_jonas: kspalaiologos: try <<<""
kspalaiologos: the problem is
b_jonas: oh yeah, +[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>>++++++++++++++++++++++++++++++++++++++++++++++++.[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
b_jonas: ``` perl <<<'print "hello, world! " for 1..9'
HackEso: hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! hello, world!
kspalaiologos: yayyyy
kspalaiologos: how do you add wisdom entry?
b_jonas: `? learn
HackEso: `learn creates a wisdom entry and tries to guess which word is the key. Syntax (case insensitive): `learn [a|an|the] [s][punctuation] [...]
b_jonas: `? le//rn
HackEso: le/rn makes creating wisdom entries manually a thing of the past. Usage: `le/[/]rn //
b_jonas: or create a file manually in the wisdom directory with a lowercase name
b_jonas: that doesn't end in s
kspalaiologos: can I just link the documentation?
b_jonas: but adding a short synopsis should help
b_jonas: so people can know if they should even check the docs
kspalaiologos: `learn the bfasm The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
HackEso: Learned 'bfasm': the bfasm The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
kspalaiologos: `wisdom bfasm
HackEso: bfasm//the bfasm The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
b_jonas: `? bfasm
HackEso: the bfasm The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
kspalaiologos: it has been appended to the beginning
kspalaiologos: what a derp lol
fizzie: That's how it does.
kspalaiologos: `? wiki
HackEso: The wiki is at .
kspalaiologos: `? test
HackEso: test failed. HackEgo-JUnit is not available.
fizzie: The idea is that you can `learn things like "The foomajick is a thingummy.", and then `? foomajick will return that.
b_jonas: kspalaiologos: try le//rn
b_jonas: or slashlearn if you're me
kspalaiologos: `le//rn
HackEso: Usage: `le/[/]rn //
kspalaiologos: `le//rn bfasm //The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
HackEso: Learned 'bfasm ': The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
kspalaiologos: how do I remove the key?
kspalaiologos: `le//rn bfasm//The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
HackEso: Relearned 'bfasm': The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
b_jonas: But in this case, it should say something like "bfasm is the brainfuck assembler..."
fizzie: `` forget 'bfasm '
HackEso: Forget what?
b_jonas: `? forget
HackEso: forget? ¯\(°_o)/¯
kspalaiologos: `le//rn bfasm//bfasm is the brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
HackEso: Relearned 'bfasm': bfasm is the brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
b_jonas: `? bfasm
fizzie: FWIW, you didn't need le//rn for *that*, the "a/an/the" is optional.
HackEso: bfasm is the brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/kspalaiologos/asmbf/master/doc/bfasm.doc
b_jonas: `? wisdom
b_jonas: fizzie: didn't have an "is" before
kspalaiologos: can i specify newlines in <<<""?
b_jonas: kspalaiologos: it's just bash syntax. you can use $'\n' if you want
b_jonas: kspalaiologos: see my gcc command
b_jonas: there are other solutions too of course
kspalaiologos: I wonder will it build
kspalaiologos: ``` bfasm <<<"mov r4,.F$'\n'mov r1,.0$'\n'mov r2,r1$'\n'lbl 1$'\n'out r1$'\n'out r2$'\n'out 32$'\n'mov r3,r1$'\n'eq_ r3,.9$'\n'jnz r3,2$'\n'mov r3,r2$'\n'eq_ r3,.9$'\n'jnz r3,3$'\n'mov r3,r1$'\n'eq_ r3,r4$'\n'jnz r3,5$'\n'lbl 6$'\n'mov r3,r2$'\n'eq_ r3,r4$'\n'jnz r3,4$'\n'inc r2$'\n'jmp 1$'\n'lbl 2$'\n'sub r4,5$'\n'mov r1,r4$'\n'add r4,5$'\n'jmp 1$'\n'lbl 3$'\n'sub r4,5$'\n'mov r2,r4$'\n'add r4,5$'\n'jmp 1$'\n'lbl 4$'\n'inc r1$'\n'mov r2,.0$'\n
kspalaiologos: 'jmp 1$'\n'lbl 5$'\n'mov r3,r2$'\n'eq_ r3,r4$'\n'jz_ r3,6$'\n'0,00"
HackEso: bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
kspalaiologos: crap, too big
b_jonas: kspalaiologos: no no, put the whole thing in $'...'
b_jonas: and then C-like backslash escapes will be interpreted in it
b_jonas: works good unless you need literal backslashes in your program
b_jonas: or literal apostrophes
b_jonas: you have to escape those with a backslash
kspalaiologos: <<<"$'mov r4,.F\nmov r1,.0\nmov r2,r1\nlbl 1\nout r1\nout r2\nout 32\nmov r3,r1\neq_ r3,.9\njnz r3,2\nmov r3,r2\neq_ r3,.9\njnz r3,3\nmov r3,r1\neq_ r3,r4\njnz r3,5\nlbl 6\nmov r3,r2\neq_ r3,r4\njnz r3,4\ninc r2\njmp 1\nlbl 2\nsub r4,5\nmov r1,r4\nadd r4,5\njmp 1\nlbl 3\nsub r4,5\nmov r2,r4\nadd r4,5\njmp 1\nlbl 4\ninc r1\nmov r2,.0\njmp 1\nlbl 5\nmov r3,r2\neq_ r3,r4\njz_ r3,6\n'"
b_jonas: kspalaiologos: but if you have this many newlines, then <<<'....' tr / \\n is almost worth
kspalaiologos: forgot to run the program
b_jonas: kspalaiologos: no, drop the double quote
b_jonas: or... hmm
b_jonas: ``` echo "a$'b'c"
HackEso: a$'b'c
b_jonas: ``` echo a$'b'c
kspalaiologos: ``` bfasm <<<$'mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6/' tr / \\n
HackEso: +>+[#
b_jonas: kspalaiologos: um no, tr is a program, you have to pipe its output to bfasm
kspalaiologos: ``` tr / \\n | bfasm<<<$'mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6/'
kspalaiologos: I'm an idiot
kspalaiologos: ``` tr / \\n <<<$'mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6/' | bfasm
HackEso: +>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>
b_jonas: kspalaiologos: but now you don't need the dollar sign
b_jonas: because you're not using backslash escapes
kspalaiologos: can I split the output amongst messages?
kspalaiologos: ``` tr / \\n <<<$'mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6/' | bfasm > tmp/test.b
HackEso: No output.
kspalaiologos: ``` bfi
b_jonas: kspalaiologos: yes. save stuff in a file.
HackEso: bash: bfi: command not found
kspalaiologos: no brainfuck interpreter?
HackEso: No output.
b_jonas: kspalaiologos: didn't we go through that? we have a brainfuck interpreter in HackEso, one in fungot, and one in lambdabot
fungot: b_jonas: i dont even know what you mean. interesting, thanks for the link
kspalaiologos: hows it called?
b_jonas: `! bf +++++++++++++++++++++[.+]
HackEso: ​ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
kspalaiologos: beautiful
b_jonas: needs a few more pluses
kspalaiologos: how do i run a file though
b_jonas: `! bf ++++++++++++++++++++++++++[.+]
HackEso: ​ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
HackEso: ! is a syntax used in Haskell and Prolog for solving evaluation order problems.
HackEso: `! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it's rarely used.
fizzie: "/hackenv/interps/egobf/src/egobfi8 file.bf" for running a file.
fizzie: That's what /hackenv/bin/bf is a wrapper around of.
kspalaiologos: ``` /hackenv/interps/egobf/src/egobfi8 /tmp/test.b
HackEso: /tmp/test.b: No such file or directory
kspalaiologos: ``` /hackenv/interps/egobf/src/egobfi8 tmp/test.b
HackEso: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 A0 A1 A2 A3
kspalaiologos: like a charm
b_jonas: fizzie: how do you use bin/bf though?
fizzie: `` ls -l tmp/test.b
HackEso: -rw-r--r-- 1 1000 1000 2902 Oct 23 18:02 tmp/test.b
fizzie: Not as big as I expected.
kspalaiologos: not great not terrible
kspalaiologos: I had to optimize my program for assembly size
kspalaiologos: so it fits in irc message
kspalaiologos: optimizing it for brainfuck size would shave off around 900 bytes
kspalaiologos: how do i view my last contributions on wiki
kspalaiologos: because I feel like i started something and didn't finish it
fizzie: bin/bf just takes the first command-line argument (so all the input in `bf ...) and handles the ! notation, passing the part before as the file (well, pipe) for egobfi8 to execute, and the part after as the standard input.
fizzie: `bf >>,[>,]<[<]>[.>>]<[>>]<<[.<<]!scrambled
HackEso: srmldebac
fizzie: ^unscramble srmldebac
fungot: scrambled
b_jonas: kspalaiologos: https://esolangs.org/wiki/Special:Contributions/ and enter your wiki username into the field
fizzie: ^show unscramble
fungot: >,[>,]<[<]>[.[-]>[>]<[.[-]<[<]]>]
kspalaiologos: what's the hardware bot\'s running?
b_jonas: ``` free # that much RAM
HackEso: total used free shared buff/cache available \ Mem: 252664 3924 245240 0 3500 243980 \ Swap: 0 0 0
b_jonas: ``` df /hackenv # that much free space on the file system
HackEso: Filesystem 1K-blocks Used Available Use% Mounted on \ none 24733776 13762932 9701340 59% /hackenv
fizzie: Well, "hardware".
kspalaiologos: emulated?
fizzie: For hardware, it's pretty soft.
b_jonas: ``` cat /proc/cpuinfo # and that's what the three layers of virtual machine lies to us about the cpu
HackEso: processor : 0 \ vendor_id : User Mode Linux \ model name : UML \ mode : skas \ host : Linux dysnomia.zem.fi 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 \ bogomips : 5112.62
fizzie: It's emulated twice over.
kspalaiologos: whoa what
kspalaiologos: why twice
b_jonas: it's still an x86_64, mind you
b_jonas: only twice?
b_jonas: no way
b_jonas: it's three times
kspalaiologos: oh gosh
fizzie: b_jonas: I wasn't really counting the user/process/filesystem namespace thing.
kspalaiologos: why would you do that
b_jonas: once a full machine emulation by the hosting company to the machine that fizzie has root on,
b_jonas: one layer of user-mode linux
b_jonas: and I forgot what the third one was
fizzie: systemd-nspawn, which is all Linux namespaces.
b_jonas: oh yeah, once with linux namespaces
kspalaiologos: so fizzie owns a vps
b_jonas: ok, I guess you're right, it's emulated only twice
b_jonas: and sandboxed the third time
b_jonas: not emulated
kspalaiologos: and he then virtualizes the bot?
b_jonas: kspalaiologos: yes
kspalaiologos: fair enough
b_jonas: plus runs some other things on the same server
fizzie: It's the same system where the wiki's running, except the wiki's not in the container. (And obviously not in the UML either.)
kspalaiologos: ah, yes
b_jonas: is lambdabot running there too?
kspalaiologos: so you "own" the wiki?
fizzie: Well, I "maintain" it, nowadays.
b_jonas: the esolangs logs also runs there usually
kspalaiologos: wasn't the hosting donated?
b_jonas: and the wiki notification too
kspalaiologos: also, who is the person behind creating this community
kspalaiologos: it's intriguing me
b_jonas: and, in the future, zemhill will run there too
fizzie: I mean, there's a lot of overlapping communities.
b_jonas: creating? I don't know, the details are lots in the mists of time
fizzie: The IRC channel grew out of the old esolangs mailing list, which grew out of the older esolangs mailing list.
fizzie: I don't really remember the history of the wiki side of things.
b_jonas: wait, so that mailing list that kspalaiologos mentioned, that really exists?
kspalaiologos: told you we had a mailing list
fizzie: There were two I knew of.
kspalaiologos: g2g, I've got a few important things to do
kspalaiologos: farewell
b_jonas: I think ais523 or oerjan created the wiki so that people don't spam en.wikipedia with nonsense articles about esoteric languages
fizzie: http://esoteric.sange.fi/archive/ is the newer one.
fizzie: Graue was much involved in running the wiki, according to their article from 2005 to 2012.
fizzie: Before the sange.fi mailing lists, there was another mailing list, but I don't really remember any details about that one.
b_jonas: yeah, bust be, https://esolangs.org/w/index.php?diff=6 is the first edit there is
b_jonas: and that's by Graue
b_jonas: https://esolangs.org/w/index.php?title=Special:Log&type=rights says that ais523 was a wiki admin starting from 2007-03
fizzie: Oh, right, I think the earlier mailing list was the catseye one.
fizzie: At least in ~/archive/backup/older/colin/oldhome_old2.tar.gz:old2/Mail/lists/lang-eso I have few emails sent to list@catseye.mb.ca.
fizzie: (I'm very organized with my files, as you can tell.)
b_jonas: also oerjan was wiki admin since 2013-07 and you fizzie since 2017-03
b_jonas: mistype
b_jonas: also oerjan was wiki admin since 2013-07 and you fizzie since 2014-03
b_jonas: we need statues in the garden to know who founded what
b_jonas: with plaques on them explaining things
kmc: hello / good morning
b_jonas: hi kmc
b_jonas: so the wiki was created in 2005-04, but the channel is older, because we have logs for 2002-12
b_jonas: and we do have a discord, despite that wisdom doesn't know about, because the wiki does know about an unofficial Esolangs Discord server
int-e: `' discord
HackEso: No output.
b_jonas: `slashlearn discord//The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p
b_jonas: `? discord
HackEso: Learned 'discord': The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p
HackEso: The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p
b_jonas: `q discord
HackEso: No output.
b_jonas: `? ioccc
HackEso: The IOCCC is the Industrial Ordovician COBOL Conference Circuit. Not to be confused with OIC. See also ioccclist.
lf94: http://leefallat.ca/notes/p-lang/strings-form-a-group.html - thoughts?
fizzie: b_jonas: The mailing list archive has a few threads on starting up this channel.
int-e: wtf is "hello"^-1 supposed to be
fizzie: b_jonas: Search for "Esolang IRC channel" in http://esoteric.sange.fi/archive/2002-q4 for example.
int-e: (never mind that examples are not proofs most of the time)
int-e: lf94: you(?) should really stop at monoid, while you're ahead.
lf94: int-e: it's supposed to be a 'negative' string
b_jonas: int-e: a free one?
lf94: int-e: you're right, I should not use the word proof at all.
int-e: b_jonas: sure, that's a bonus
b_jonas: `? string theory
HackEso: string theory? ¯\(°_o)/¯
int-e: lf94: whatever it is, it's not a string
b_jonas: `? string diagram
HackEso: String diagrams would be useful in category theory, except they're unreadable due to being curled up in tiny dimensions. Taneb invented them anyhow.
b_jonas: ``` cat wisdom/fu*aneb
HackEso: The Fundamental Theorem of Taneb states that for all strings S, if S describes a thing not involving sex, then it is provable that Taneb invented the thing described by S; and, furthermore, that it is provable that there exists a string T that describes a thing not involving sex that Taneb did not invent.
int-e: the monoid is also left- and right-cancellative
b_jonas: `? computer
HackEso: Computer is a language where numbers are strings of the characters '1' and '0'.
lf94: int-e: It is a string
lf94: All strings belong in some set S
int-e: Yeah I'm out of this discussion.
lf94: this includes "negative strings" that I just made up
lf94: This is like saying -1 is not a number
b_jonas: `quote jits
int-e: It's not a natural number.
HackEso: 564) fizzie: It's like a JIT, if JITs were... strings.
lf94: Why cant -"hello" be a string?
int-e: lf94: Because strings aren't defined that way. Strings are finite sequences over some alphabet.
int-e: But...
lf94: So what, you want me to call "hello" a natural string, and -"hello" a Z-string or something ("integer string" would be extremely confusing)
b_jonas: int-e: no no. they're members of the free monoid (semigroup with zero) over an alphabet. the non-algebraic definitions are for kindergarten.
int-e: If you want to make a fool out of yourself, you're welcome to do that. If you want to re-invent free groups, that's also a viable route, but the objects will no longer be strings.
lf94: I want to learn :)
lf94: And I'm ok with being wrong - so you're saying check out free groups - ok.
lf94: int-e: I understand what you mean by "these arent strings", as in, strings have a very absolute definition
lf94: So what would you propose to call them?
lf94: I guess anything other than strings...
lf94: int-e: thank you :)
lf94: So definitely a free group
lf94: actually what I defined does actually correspond to a group
lf94: "thing is a sentence" * -"is" == -"is" * "thing is a sentence" == "thing a sentence"
lf94: "An example of an element of the free group on two generators is ab^2a^(-1), which is not equal to b^2."
lf94: But this is not the case in what I wrote
lf94: "o" * "h" * "e" * "ll" * -"o" does equal "hell"
ornxka: is forth an esoteric language
imode: if that's the case then we've sent an esolang to space.
ornxka: hot damn
ornxka: thats impressive
arseniiv: "o" * "h" * "e" * "ll" * -"o" does equal "hell" => seems trickier than free groups, yeah
lf94: it just removes all instances of "o"
lf94: pretty simple imo
arseniiv: if there are many instances of "o" in that *string, which ones would be removed when * -"o"?
imode: how would you remove just one 'o'.
arseniiv: ah, all
lf94: you dont
lf94: @ imode
imode: brutal. so there are find/replace operations that are not possible.
lf94: find/replace is something all on its own.
lf94: That's why I ask the question...
lf94: At the bottom of my writing
arseniiv: I wanted to say “rigid” too :D
lf94: "Maybe strings should be promoted to a more restrictive structure?"
imode: apart from reordering the operations.
lf94: Or maybe strings alone are not useful
lf94: I wanted to explore it with you guys :)
arseniiv: lf94: what do you mean, more restrictive?
lf94: more laws to satisfy
imode: you can reorder the operations such that any 'o' you want to remove just has to be affixed with a * -'o'.
lf94: So our new structure would "require to implement find/replace"
arseniiv: ah I see
imode: so 'h' * 'e' * 'l' * 'l' * 'o' * -'o' * 'o' wouldn't be "helloo", it'd be "hello".
imode: but this implies an ordering of an operation.
lf94: Yes, then we have a free group
imode: I don't believe you do. any deviation from that order gives you a different result.
lf94: "o" * "h" * -"o" then equals what?
lf94: In a free group...it equals "oh-o"
arseniiv: so we need to have some good operations so that find/replace is neatly expressible?
lf94: in a group, by MY definition, it's "h".
lf94: arseniiv: yes, preferably 1 operation
arseniiv: lf94: I think imode proposes deleting the last one occurence
imode: not really. stepwise application.
arseniiv: then it would be between free group and deleting all occurrences
lf94: "hello" ? ("el","zz")
lf94: But now we are creating a new thing
lf94: intersection of two sets
arseniiv: yes, preferably 1 operation => but now we already got two, * and -
lf94: strings and some pair type
imode: 'h' * 'e' -> "he". "he" * 'l' * 'l' -> "hell". "hell" * 'o' -> "hello". "hello" * -'o' -> "hell". "hell" * 'o' -> "hello".
lf94: arseniiv: I mean 1 additional operation :)
lf94: imode: now what about "ohell" * -"o" ?
imode: strings with concatenation don't form a group.
arseniiv: we can use string zippers
imode: because if they did, then "hello" == "olleh".
lf94: imode with concat alone, just a monoid, yes
arseniiv: I have an uncooked esolang Punctree which deals with tree zippers
arseniiv: it has some nice operations
lf94: hello is a different string to olleh
lf94: string zipper?
imode: but if you're defining a string to be a result of several `*`s, it can't be if it's a group.
arseniiv: like substitution, which is inconceivable for strings without holes
lf94: imode: you've lost me :)
arseniiv: string zipper? => like list zipper, but for list of chars
lf94: I just remember zipper is some fp structure or function
imode: ah, I'm wrong. the ordering is relevant, so I'm wrong.
arseniiv: just a shameless self-something: https://esolangs.org/wiki/Punctree and there are a couple of links added by IIRC int-e
arseniiv: to pages about zippers specifically
lf94: I don't get why people say "Shameless plug"
imode: plugging yourself is seen as shameless.
imode: s/shameless/shameful
lf94: Right? So why say it at all?
arseniiv: so my clumsy description would get more comprehensive
imode: shameless self promotion fits in the same vein.
arseniiv: shameless composition with the channel’s continuation
lf94: It's like saying "excuse my rudeness" *does something extremely rude*
arseniiv: is it delimited one
lf94: IMO linking to your own things is ok. In fact I encourage it, because people dont share their own stuff enough
arseniiv: lf94: or knocking and then opening the door immediately
lf94: haha, yeah
lf94: that's a goodone
arseniiv: lf94: I agree, people should share their stuff with me so I’ll be a good borg
lf94: arseniiv: this lang is too alien for me right now :D
lf94: brain=exploded
arseniiv: okay but you can believe that there are many neat operations to do on zippers!
lf94: sure! :D
arseniiv: yeah I like APL too
arseniiv: not the real APL, but nonetheless
arseniiv: then some day you’ll make something with string zippers maybe
lf94: What are some math operators that take more than 2 operands
lf94: maybe strings need to be "lifted" to something like a list
arseniiv: strings are already lists, of characters
arseniiv: I probably misunderstood
lf94: ["hello ", name, " how are you?"] * ["", " with a hat", ""] == "hello lf94 with a hat how are you?"
lf94: imo this is a pretty cool
arseniiv: oh format strings!
lf94: getting closer to replace i think
lf94: So now * is operating on each element
lf94: like matrix operations
lf94: ["hello ", name, " how are you?"] * ["", -"lf94" * "bob", ""] == "hello bob how are you?"
lf94: very basic replace.
lf94: the list gives control of position
lf94: syntax sugar would be required to specify "delete everything"
lf94: Which would be written as -"a" * -"b" * ... I think
lf94: Mmm, no
lf94: "a" * -"a" == ""; "a" * "a" == "aa"; thus -"a" * -"a" = -"aa" ?, which would remove all instances of 2 a's
oerjan: b_jonas: what's all that about <-- i'd say b_jonas is showing scan-dalous behaviour there
oerjan: you'd think our resident poetry scanner would know better
b_jonas: what? "resident poetry scanner"?
b_jonas: who is that?
oerjan: who else uploads entire poetry pooks to wikimedia commons...
b_jonas: those are real poetry, not English stuff
oerjan: must resist... urge to `addquote
oerjan: that's no excuse for not knowing scansion
lf94: man this is cool. "" * "" = ""; "" * -"" = -""; thus "a" * -"" = -"a"; which means -"" will remove everything when applied to any other string.
oerjan: is this a proper ring twh
b_jonas: oerjan: English poetry isn't real poetry, they just call it poetry because it's the best replacement that they have for real poetry, which is impossible for English
b_jonas: and I don't understand how "scansion" or whatever works in it
b_jonas: apparently it depends on how English pronunciation is supposed to work, which not only I don't understand, but other people don't either
b_jonas: or at least different people understand it differently
oerjan: i understand it perfectly well, until i look it up in wiktionary and see i was wrong, or at least a minority
b_jonas: oerjan: don't believe Wiktionary
oerjan: that too
b_jonas: oerjan: try CAAPR, it's a reasonably well done pronunciation list
b_jonas: a small one, so only common words are in it
b_jonas: but it's good quality and consistent and well thought out
b_jonas: even if the notation is a bit weird
oerjan: "CAAPR: the Comprehensive & Adaptable Aperture Photometry Routine"
oerjan: i'm sure that will help with pronunciation.
b_jonas: http://www.wyrdplay.org/AlanBeale/CAAPR-ref.html
b_jonas: it's compiled by the author of 12dicts ("http://wordlist.aspell.net/12dicts/")
b_jonas: I mentioned it on this channel a few months ago
b_jonas: but as for how you go from there to English poetry, I've no idea
oerjan: i already regret starting this conversation hth
b_jonas: as for the original topic, feel free to edit that higgedly wisdom of course
b_jonas: btw, I think my compact camera finally died
b_jonas: I'll have to buy a new one
oerjan: hppavilion[1]: except the hg log is truncated, I don't know why, so if you look way back in the revisions, you won't find the oldest stuff <-- GregorR used to reset history occasionally in the beginning, before we started depending on it being accurate
oerjan: i think the last time was in 2013 or so
oerjan: `dowt zzo38
HackEso: 0:2012-02-16 Initïal import.
oerjan: hm maybe 2012 then
b_jonas: ``` hg log -T "{date|shortdate}" -r 1
HackEso: 2012-02-19
b_jonas: (I don't trust revision 0)
b_jonas: oh, unrelated video game stuff. I think the Game Boy could easily handle a tetris game where the blocks are 7 pixel tall rather than 8. you'd need tiles that combine parts of two blocks in different ways, but it fits in the tiles array with three colors of blocks, and I think the CPU could handle it too (you'd probably need to use sprites for the currently falling block, and update the tiles only during
b_jonas: lockdown)
b_jonas: the problem with the Game Boy tetris game is that there are only 18 rows, because 20 rows of 8 pixels don't fit in the screen, but you really want at least 20 rows for a tetris game
b_jonas: and 7 pixels tall, even if unnatural for a game boy game, could do that
oerjan: kspalaiologos: cp? don't you use symlinks? <-- you should not put symlinks to tmp/ , everything there is potentially irreversibly deleted at any time
b_jonas: oerjan: yes, I misread the commands. I realized later.
b_jonas: oerjan: the cp was to install the program from the build directory; I assumed it was already installed under /hackenv/lib and he's just linking it to /hackenv/bin
b_jonas: but it's a single-file executable, so the cp was all it took to install
oerjan: I think ais523 or oerjan created the wiki so that people don't spam en.wikipedia with nonsense articles about esoteric languages <-- i think you make up things hth
oerjan: also, some people try to do that anyway
oerjan: and the actual wikipedia article about esolangs keeps growing dubious examples but i don't dare to prune it because i know someone might be inspired to delete the examples i actually _like_ that don't have their own articles (like Piet)
oerjan: although some other people have pruned on occasion
oerjan: `? #esoteric
HackEso: #esoteric is the only channel that exists. After monqy left it became slightly off-centër. It's a 7-codimensional hyperenchilada about 30 m (100 ft) across. oerjan seems to be making a lawn in the northern part, but it keeps getting dug up by free ranging moons. Currently located in the Atlantis Exclusion Zone.
oerjan: `cat bin/q
HackEso: quote "$@"
oerjan: `? forth
HackEso: Since Biblical times, Forth has been the go-to language for multiplication.
b_jonas: ``` set -e; cd wisdom; printf "%s// " *eso*
HackEso: #esoteric// #esoteric-blah// esosc// esoteric// esoteric files archive// esoterra// esowiki// hackeso// ingesorgeco// mesolang//
b_jonas: `? esoteric
HackEso: This channel is about programming -- for the other kind of esoterica, try #esoteric on EFnet or DALnet.
b_jonas: ^ these channels, the ones mentioned in welcome, do we know if they still exist? I wonder if we're sending people to channels that have been gone for five years or something
b_jonas: perhaps we should send a volunteer to check once every decade
b_jonas: ``` \? welcome | sed 's/.*((//'
HackEso: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
lf94: arseniiv: as I was washing dishes, I remembered what a zipper was.
lf94: find and replace is complete now.
lf94: (("hello my big world" % " ") ? "big") * ["", -"", ""] * ["", "small", ""] == "hello my small world"
lf94: % is split, ? is find (and returns a zipper of [before, found, after]), and the rest we talked about.
lf94: I think it's also impossible for the line to fail
lf94: if "big" isnt found, it'll use empty string
lf94: meaning nothing is replaced
arseniiv: also maybe add composition of two or several zippers, it would just nest them like a fir
lf94: Oh yeah and ! is join
arseniiv: and walks left/right
arseniiv: hm how could one insert between fragments?
lf94: example?
arseniiv: like, insert something right before "big" in that example
arseniiv: but leave "big" intact
arseniiv: ah, we could replace it with "somethingother big"
arseniiv: (but maybe this profits from a shorter syntax)
arseniiv: will go sleeping soon
oerjan: perhaps we should send a volunteer to check once every decade <-- sounds good, i'm sure it's been less than that.
b_jonas: oerjan: indeed, less than a decade yet
lf94: arseniiv: yeah exactly
lf94: or, er, no!
lf94: just this
lf94: ["", "somethingother", ""] * (("hello my big world" % " ") ? "big")
lf94: so awesome
b_jonas: ``` hg log -T "{rev}:{date}:{desc}\n" -r 378 # this was the commit that first added dalnet
lf94: so that covers find/replace/insert/delete
HackEso: 378:1336334759.00: learn Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
b_jonas: ``` hg log -T "{rev}:{date|shortdate}:{desc}\n" -r 378 # with date
HackEso: 378:2012-05-06: learn Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
b_jonas: ``` hg log -T "{rev}:{date|shortdate}:{desc}\n" -r 5372 # and this much more recent one added efnet
HackEso: 5372:2015-05-24: sed -i \'s/on irc.*/on EFnet or DALnet.)/\' wisdom/welcome
b_jonas: so both less than a decade ago
lf94: I guess I can make a text editor now
b_jonas: then we should schedule the checking of the dalnet one to 2022
b_jonas: do we have an #esoteric calendar?
arseniiv: lf94: :)
arseniiv: do we have an #esoteric calendar? => tomorrow is the day of eicosapentation of common/uncommon radices!
arseniiv: (8 is the common one, 10 is uncommon)
arseniiv: established since, and up to, eleven
b_jonas: arseniiv: you mean like, tomorrow is the 25th day of the month?
b_jonas: I can't make sense of what you mean by all those other numbers
b_jonas: `ddate
HackEso: Today is Sweetmorn, the 4th day of The Aftermath in the YOLD 3185
arseniiv: I meant to write “comment/uncomment radices” but that’s ungrammatical and too radical
arseniiv: I can't make sense of what you mean by all those other numbers => why, you know that october is the eight month
arseniiv: eighth*
arseniiv: there’s even a helpful hth in there
b_jonas: `? hth
HackEso: hth ([ʰtʰh̩]) is help received from a hairy toe. It is not at all hambiguitous.
arseniiv: tomorrow is the 25th day of the month => that’s not esoteric, contrary it’s pretty obvious
arseniiv: I don’t know if I’m joking or not
b_jonas: `? title
arseniiv: `? ddate
HackEso: ddate? ¯\(°_o)/¯
arseniiv: hm I wasn’t attentive when read how others asked to show help on commands
fizzie: Arguably, ddate isn't really a HackE[sg]o command.
fizzie: It's just the standard ddate.
fizzie: `which ddate
HackEso: /usr/bin/ddate
fizzie: If I had /var mounted, we could probably look which package it was coming from, but for some reason the standard umlbox base mount points only include /usr, /bin, /sbin, /lib, /lib32, /lib64, /etc/alternatives and /dev.
fizzie: I guess a lot of /var doesn't really make sense inside the box though, while having a shared /usr is more normal.
Sgeo: What name would make sense for this operation? a?b = ln(e^a + e^b)
Sgeo: By analogy with a*b = ln(e^a * e*b)
Sgeo: a?a = a+1. Almost but not quite like making addition repeated '?'
fizzie: a?a = ln(e^a + e^a) = ln(2e^a) = ln(e^a) + ln(2) = a + ln(2), not a + 1.
Sgeo: Uh. Pretend I said a?b = log_2(2^a + 2^b)
Sgeo: Hmm might be fun to find a base such that a?a = a+2
fizzie: sqrt(2), then?
Sgeo: AFK for a bit
Sgeo: Seemed to work in 5?5 = 7, thank you
Sgeo: AFK for real
Sgeo: q(5, q(5, q(5, 5)))
Sgeo: Sadly 5?5?5 != 8
int-e: Sgeo__: the ln-based one is actually fairly easy to implement observing that a?b = max(a,b)?min(a,b), and a?b = a + ln(1 + e^(b-a)) = a + log1p(exp(b-a)) (ensuring a > b first ensures that the exp() doesn't overflow).
int-e: err, a >= b.
int-e: Sgeo__: (I've read this somewhere, some article about log domain computations. I forgot what the source was, though.)
int-e: The other point is that using log1p avoids truncation problems from adding 1 to a very small number.
Sgeo: There wouldn't happen to be a logarithm base that keeps its argument constant for all inputs or at least those that are an integer 2 or greater, I assume
Sgeo: What if, instead of getting x?x = x+2 and x?x?x = x+3, I settle for... maybe something like doing the operation 2^a times gets what I want?
int-e: x?x = x+2 and x?x?x = x+3 doesn't make sense? you can only have one of a^2 = 2 or a^3 = 3.
int-e: a being the base (don't ask me why I didn't pick b)
Sgeo: I think I want to go back to a?b = log_2(2^a + 2^b). Do that operation 2^n times (or is it 2^n - 1 times?) with x you get x+n
int-e: log1p(exp2(b-a))/log(2) is ugly though
int-e: + is repeated "add 1"
Sgeo: That's a unary operator though
int-e: so is "multiply by a" in a^b
int-e: > let add a b = iterate (+1) a !! b; mul a b = iterate (+a) 0 !! b; pow a b = iterate (*a) 1 !! b -- function iteration is the unifying pattern here, what's not to like?
lambdabot: : error:
lambdabot: not an expression: ‘let add a b = iterate (+1) a !! b; mul a b = iterate...
int-e: @botsnack
int-e: x?y = (x == y ? x + 2 : x + 1) ==> (x?x)?x = x+3.
int-e: You can't hope for ? to be associative because then x+6 = x?x?x?x?x?x = (x?x?x)?(x?x?x) = (x+3)?(x+3) = x+5.
int-e: Sgeo__: Ah why am I making it so complicated. You'd want x+1 = x (one "iteration" of ?).
b_jonas: `echo ``` >>share/whatis echo 'ddate(1) - convert Gregorian dates to Discordian dates'
HackEso: ``` >>share/whatis echo 'ddate(1) - convert Gregorian dates to Discordian dates'
b_jonas: ``` >>share/whatis echo 'ddate(1) - convert Gregorian dates to Discordian dates'
HackEso: No output.
b_jonas: `whatis ddate
HackEso: ddate(1) - convert Gregorian dates to Discordian dates
b_jonas: arseniiv: ^ fixed
b_jonas: as fizzie points out, it's in /usr/bin , so the description goes to the man 1 section, rather than the 1hackeso where the description of hackeso commands go
b_jonas: Where's the documentation of the ploki language? the wiki doesn't seem to have a link
b_jonas: ``` ploki <<<"(6+7"
b_jonas: ``` ploki <<<"(6+7)"
myname: what do you guys think of kitten?
shachaf: I like kittens.
wib_jonas: ais523 and other M:tG folks: we are restarting the "vanishing three card blind" M:tG game at www.giantitp.com/forums/showthread.php?601011 , you should consider to participate.
wib_jonas: Let me tell quickly how this works. Each round, every player secretly chooses a deck of three cards that you'll play. You don't have to buy or borrow the cards, so you can use even the most expensive cards if you want.
wib_jonas: You send the deck in a message to a trusted organizer. After every player (at least five) chose a deck, the organizer reveals the decks. Then we simulate each ordered pair of two different players independently playing a game of M:tG against each other using their deck.
wib_jonas: In the game, players don't lose by decking. Everyone has perfect information about hidden cards and hidden decisions. We simulate the games such that each player plays perfectly such that they win the game if they can, or draw if they can't win but can draw.
wib_jonas: Players get 3 points for a won game and 1 point for a drawn game. Then we add the points each player has got for the round, and the players who have the most points from that round is declared the winner of that round, they get bragging rights, and all cards in the decks are banned from future rounds.
wib_jonas: Oh, and the most important part. Decks have exactly 3 cards.
wib_jonas: At the start, all cards released by Wizards are allowed, except for avatar, plane, phenomenon, scheme, conspiracy cards. There are some further rules that come up, such as about randomness and Wishes, but the above are the main rules.
wib_jonas: Oh, and the 5 basic lands and the 15 storage lands are exempt from banning.
wib_jonas: I knew I forgot something.
wib_jonas: or maybe the 11 basic lands, I don't know
int-e: "all cards in the decks"? even those that lost?
wib_jonas: int-e: all cards in the decks that won
wib_jonas: the decks of the winning players
wib_jonas: that's usually only one player and two or three cards banned per round, but could be more if there's a tied score
int-e: ah. ties. of course.
int-e: . o O ( So this will eventually end in hands full of lands and all draws. Of course people will probably lose interest long before that. )
wib_jonas: int-e: only if we play faster than Wizards can release new card
wib_jonas: int-e: but we only got to 100 banned cards
moonheart08: fizzie: you think the small adjustments I've made to the main page are OK?
kspalaiologos: as for my personal opinion
kspalaiologos: I think we don't need them, but they are fine
kspalaiologos: navbar on the left does exactly the same
moonheart08: Hia ais523
moonheart08: Made some small changes to main page, if you feel like reviewing em
ais523: that seems like a reasonable enough change
moonheart08: Working on a full redesign of mp for fun, as well. New page patrol on wikipedia can get boring
moonheart08: ais523: how much spam does the wiki recieve nowadays? Doesn't seem like much at all
ais523: basically none at the moment, the "Introduce yourself" thing was very effective because spambot frameworks don't know how to deal with it
ais523: that said, they've mostly stopped trying now; I don't know whether or not they'd start again if we relaxed the restrictions
moonheart08: Trial run is always possible. I don't mind watching recent changes for a bit if you do that
ais523: I'll wait for some of the other admins to chime in with opinions
ais523: but it's a fairly easy setting to change
moonheart08: If I apply for admin, does my opinion count double? /s
moonheart08: ais523 that look decent for you? I'm testing on a smallish laptop display, and i'ma bet you have a bigger display.
ais523: I'm also on a fairly small display, but even so there's a lot of wasted space
ais523: I guess that isn't automatically a bad thing when it comes to a main page, but I don't really like the look
moonheart08: Yea.. Trying to figure out what I can put in the top bar. The main section will be similar to the existing layout
ais523: (also the "demonstrate recursion" link won't actually work on the Main Page itself, due to the code designed for navboxes that highlights the self-link and makes it unclickable)
moonheart08: (Aw. Luckily that link's probably not final)
int-e: That joke's been overdone anyway.
moonheart08: I noticed
moonheart08: Hence why it probably wont stay
b_jonas: moonheart08, main page: I think it'd be better not to mention "assuming the name is not already taken". That will give people the idea of giving bad names to esolangs.
b_jonas: moonheart08: will you also improve [[History]]?
moonheart08: b_jonas maybe
moonheart08: ais523: how's the layout now?
ais523: it's pretty similar to what we have now
ais523: the featured language should possibly be a bit less prominent because we don't update it very often
ais523: also, you removed the description of what the site is; that's a) important for new readers and b) probably important for SEO
b_jonas: I think the featured language is importat, because it will be new for newcomers, and they're the ones reading the main page
ais523: I think I prefer the original layout
kspalaiologos: any cool ideas on Brainfuck program?
kspalaiologos: I thought about some kind of game
kspalaiologos: but i'm too stupid to think of a nice storyline
kspalaiologos: it would be the best if it involved small amount of calculations
b_jonas: kspalaiologos: 99 beers?
b_jonas: I mean 99 bottles of beer
kspalaiologos: that's too simple
kspalaiologos: i'm tired of calculations after projecteuler
kspalaiologos: solved in brainfuck, obviously
kspalaiologos: I'll go with a minesweeper
b_jonas: kspalaiologos: Lissajous curves, either ascii art like https://www.perlmonks.com/?node_id=621188 or PPM?
lf94: Someone should actually create a real stone with all the 99 bottles of beer samples
lf94: I would pay for it
b_jonas: oh, minesweeper may be a good one
b_jonas: lf94: would one in minecraft work?
lf94: maybe not stone but steel
kspalaiologos: lf94, you can just yank the stuff from rosetta
kspalaiologos: put it on a stone tablet
lambdabot: error: Variable not in scope: you
kspalaiologos: and you're pretty much allset
lf94: sorry, not me :) someone else.
lf94: (I dont have time for that!)
kspalaiologos: why are you sitting on #esoteric then
kspalaiologos: we are here only to waste time
b_jonas: lf94: google image search gives some images of shelves with 99 bottles of beer
kspalaiologos: arkanoid in brainfuck
lf94: kspalaiologos: yes, it's much more enjoyable sitting in #esoteric than chiselling 99 bottles of beer into a rock.
b_jonas: I have a minesweeper program that I've written for the EL-5120 calculator
lf94: kspalaiologos: be my guest, though :D
kspalaiologos: b_jonas, when my TI-83 arrives
b_jonas: there's the slight problem that the player can cheat because they can read the contents of variables during prompts, but that's unavoidable given the limitations of the calculator
kspalaiologos: we both know what I will do
b_jonas: I also wrote a maze program
b_jonas: kspalaiologos: what will you do?
lf94: bad things
kspalaiologos: I'll start off with brainfuck interpreter obviously
kspalaiologos: then I'll port my asm2bf infrastructure to TI-Basic or z80 assembly
kspalaiologos: I can't wait to waste 10+ hours
b_jonas: that sounds scary
kspalaiologos: exciting
kspalaiologos: brainfuck on a calculator is the thing I haven't yet seen in my life
b_jonas: https://esolangs.org/wiki/Brainfuck_implementations and search for "calculator"
b_jonas: lists several implementations of bf on calculators
lf94: kspalaiologos: there's gameboy brainfuck interpreter
lf94: just as "good"
b_jonas: s/EL-5120/Sharp EL-5120/
b_jonas: kspalaiologos: also talk to kmc, she does esoteric stuff with TI programmable calculators
b_jonas: or wait, maybe I'm mixing her with someone else on the channel
kspalaiologos: btw, do you recognize Seed?
kspalaiologos: around a month ago I wrote a generator for it
kspalaiologos: I loved the experience
kspalaiologos: and +40/+116 on codegolf.stackexchange.net too
kspalaiologos: tl:dr; the program consists of two numbers
kspalaiologos: the length and seed
kspalaiologos: seed is fed to mersenne twister, length bytes are taken
kspalaiologos: stuff is dumped to befunge interpreter and then ran
kspalaiologos: I took my time to prove that seed is turing complete
moonheart08: kspalaiologos: a large number of people want your generator :p
kspalaiologos: and it's somewhere at the bottom of the esolangs page
kspalaiologos: moonheart08, I realise :p
kspalaiologos: I can give out a couple of tips
kspalaiologos: but I don't feel like runing the fun and spirit of seed
moonheart08: That's a good reason not to
moonheart08: So i'm good
kspalaiologos: moonheart08, you're active on codegolf?
kspalaiologos: I used to write dozens of Malbolge, Brainfuck and Seed programs for these guys
moonheart08: Sometimes
kspalaiologos: but now I don't feel like it makes any sense
moonheart08: Not lately
moonheart08: I very occasionally do golf in x86-64 assembly
kspalaiologos: ah yes, you're a man of culture aswell
kmc: b_jonas: not really
kmc: I did a very long time ago
kspalaiologos: I like golfing stuff in assembly too
kmc: Hooloovo0 does TI stuff though
kspalaiologos: I'm already going to get TI shipped to me btw
moonheart08: X86 is a dumpster fire
kspalaiologos: I don't really know how to use it
kspalaiologos: moonheart08, probably
moonheart08: And I know it well
kspalaiologos: but I love it anyway
kspalaiologos: it's very intriguing and lovely
kspalaiologos: simple in it's dumpsterfireness
kspalaiologos: btw, I'm still getting a daily upvote on doublespeak
b_jonas: kspalaiologos: I presume you use some turing-complete header that reads the length of the program and executes it
b_jonas: for seed
kspalaiologos: I can't seem to understand
moonheart08: kspalaiologos, > simple
moonheart08: I wish
kspalaiologos: my proof is basing on first proving that bytebytejump is turing complete by simulation
kspalaiologos: and then I simulate bytebytejump in befunge
kspalaiologos: and then I do the magic with my ouija board somewhere in the drawer
kspalaiologos: the resulting program is at the end of pdf iirc
kspalaiologos: I didn't simulate brainfuck in befunge and then convert it into seed
kspalaiologos: it seems like a straightforward way
kspalaiologos: but it's not
kspalaiologos: the smallest brainfuck interpreter in befunge I could get was way too big to be processed by my generator
kspalaiologos: for the curious, the limit is around 624/4 bytes
kspalaiologos: so it's quite limited
kspalaiologos: but the generator is very, very high quality
kspalaiologos: 4 141745954
kspalaiologos: a very simple adder made by the generator
kspalaiologos: while the seed program is usually around 2-4 kilobytes big
moonheart08: I wonder why interwiki redirects work on esolangs.org, but not wikipedia
moonheart08: (My esolangs userpage is a redirect, go try it. User:Moon)
kspalaiologos: i've seen it
kspalaiologos: on your edits i clicked on your user page
kspalaiologos: and I got redirected, at first i didn't know what happened
kspalaiologos: after ten or so seconds I realised that I'm on wikipedia now
moonheart08: I put a helpful header in place, as I realised some might get confused looking for, say, my talk page
kspalaiologos: i saw something on your talk page
kspalaiologos: but it was too long for me to remember it now or read
moonheart08: Was ais checking that I had the right to release something into public domain
b_jonas: ``` \? ais523 # hmm, is this new?
HackEso: Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good.
b_jonas: no it's not
b_jonas: I just forgot about it
b_jonas: ``` hg cat -r 4530 wisdom/ais523
HackEso: ais523 is ais523. This topic may retroactively become more informative if or when Feather is invented.
kspalaiologos: ``` hg --help
HackEso: Mercurial Distributed SCM \ \ list of commands: \ \ add add the specified files on the next commit \ addremove add all new files, delete all missing files \ annotate show changeset information by line for each file \ archive create an unversioned archive of a repository revision \ backout reverse effect of earlier changeset \ bisect subdivision search of changesets \ bookmarks create a new bo
kspalaiologos: i freakin knew this was mercurial
kspalaiologos: but the invocation, eh
b_jonas: I was wondering if I should fold quote 1289 into the wisdom about him, but I think it works better as a quote
kspalaiologos: quote 1289?
kspalaiologos: the heck?
b_jonas: kspalaiologos: try the quote command of HackEso
kspalaiologos: `quote
HackEso: 101) what's the data of? [...] Locations in a now deceased game called Mutation I have no problems with you being interested in online games but the necrophilia is disturbing
kspalaiologos: can you add the quote?
b_jonas: `? addquote
kspalaiologos: I want to add a quote
HackEso: addquote? ¯\(°_o)/¯
b_jonas: `? quote
HackEso: Quotes are just elements of the quantum dilapidated bogosphere. See qdb.
b_jonas: there was one about quote syntax
kspalaiologos: `addquote kspalaiologos: yes, it's much more enjoyable sitting in #esoteric than chiselling 99 bottles of beer into a rock.
b_jonas: `whatis addquote
HackEso: addquote(1hackeso) - no description
b_jonas: `? quote syntax
HackEso: 1337) kspalaiologos: yes, it's much more enjoyable sitting in #esoteric than chiselling 99 bottles of beer into a rock.
HackEso: quote syntax? ¯\(°_o)/¯
b_jonas: `? quotedb
kspalaiologos: ha! 1337
HackEso: quotedb? ¯\(°_o)/¯
kspalaiologos: `quote 1337
HackEso: 1337) kspalaiologos: yes, it's much more enjoyable sitting in #esoteric than chiselling 99 bottles of beer into a rock.
kspalaiologos: so leet number
b_jonas: kspalaiologos: yes, some regular always prunes the quote database to be just shy of 1337
lf94: I'm going to be remembered after I die now.
b_jonas: `? qdb
HackEso: qdb is used like: `quote; `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also quoteformat
kspalaiologos: lf94, lo.
b_jonas: `? quoteformat
HackEso: quoteformat is: message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two.
kspalaiologos: `quote 1289
HackEso: 1289) hmm, I just remembered that I was formally trained to tune harps
kspalaiologos: lol xD?
b_jonas: `q 1336
HackEso: 1336) I have made a chess engine in Malbolge in theory it's decent but it has two drawbacks a) It requires 31 and a half gigabytes of memory b) it's quicker to count atoms in universe than to run it
b_jonas: ^ you already would have been remembered
kspalaiologos: can you view the entire quote database?
int-e: b_jonas: you're mixing up nicks, I think
b_jonas: int-e: um, which nicks?
int-e: (just observing. happens to me all the time.)
kspalaiologos: or I have to write tcl script to send `q with consecutive numbers?
b_jonas: where?
int-e: b_jonas: lf94 and kspalaiologos
b_jonas: kspalaiologos added a quote of lf94
b_jonas: `q 1337
HackEso: 1337) kspalaiologos: yes, it's much more enjoyable sitting in #esoteric than chiselling 99 bottles of beer into a rock.
b_jonas: but then
b_jonas: no wait
b_jonas: both of then will be remembered, because both of them are named in that quote
HackEso: /bin/sed: invalid option -- '1' \ Usage: /bin/sed [OPTION]... {script-only-if-no-other-script} [input-file]... \ \ -n, --quiet, --silent \ suppress automatic printing of pattern space \ -e script, --expression=script \ add the script to the commands to be executed \ -f script-file, --file=script-file \ add the contents of script-file to the commands to be executed \ --follow-symli
kspalaiologos: i crashed you!
HackEso: 781) Because, if it is all wrong, then I should fix it please \ 839) GreyKnight, shachaf is like a high-level Forth
b_jonas: but yeah, lf94 wasn't in the qdb before
HackEso: 421) cigaretes and drunking "lame highs for lame people" yeah if it doesn't make you go crazy and shoot at people, it's not worth it. take it from a norwegian. \ 1010) sometimes i wake up and my name has grown more consonants
HackEso: 911) I feel like (A.~[:i.[:!#) is verbose \ 71) oklopol geez what are you doing here ...i don't know :< i actually ate until now, although i guess i also did other things...
kspalaiologos: can I read this stuff without having you to read it with me?
moonheart08: Pm the bot
int-e: `url quotes
HackEso: https://hack.esolangs.org/repo/file/tip/quotes
kspalaiologos: the bot doesnt reply on pm
moonheart08: It used to
kspalaiologos: thats what i've been looking for
kspalaiologos: oh wait, it does
kspalaiologos: but it has a very big latency
b_jonas: kspalaiologos: logging in to nickserv may help make it respond
kspalaiologos: what is nickserv
kspalaiologos: haven't I logged in?
b_jonas: kspalaiologos: also you can read in #esoteric-blah , or just `paste quotes or something
int-e: kspalaiologos: you have
b_jonas: kspalaiologos: you are, but maybe you weren't when you found that it wasn't responding
b_jonas: `paste quotes
HackEso: https://hack.esolangs.org/repo/file/tip/quotes
int-e: b_jonas: `url is cleaner :P
shachaf: ha! 839
b_jonas: `url quotes
HackEso: https://hack.esolangs.org/repo/file/tip/quotes
kspalaiologos: `q 839
HackEso: 839) GreyKnight, shachaf is like a high-level Forth
b_jonas: `? url
HackEso: url? ¯\(°_o)/¯
b_jonas: `whatis url
HackEso: url(7) - uniform resource identifier (URI), including a URL or URN \ url(1hackeso) - print URL to view contents of a hackenv file \ url(8lambdabot) - no description
b_jonas: `whatis paste
kspalaiologos: this emote, lol
HackEso: paste(1) - merge lines of files \ paste(1p) - merge corresponding or subsequent lines of files \ paste(1hackeso) - print URL to read a file in hackenv through web \ paste(8lambdabot) - no description
shachaf: what a number
kspalaiologos: `q 158
HackEso: 158) fizzie: 50kB is quite a lot
kspalaiologos: and that's a fact
kspalaiologos: depends though
moonheart08: Who would I have to ask to get a extension added to esolangs.org
kspalaiologos: 50 kilobytes of seed is a freaking LOT
moonheart08: (SyntaxHighlight)
kspalaiologos: 50 kilobytes of brainfuck is meh, normal size
kspalaiologos: why would we add syntaxhighlight
int-e: b_jonas: I don't think any regular has been pruning the quotes file to keep it at 1336 or below. I've just repeatedly suggested that we should :P
kspalaiologos: this has no sense
b_jonas: int-e: I'm not necessarily saying keeping below, just keeping not much over
kspalaiologos: 50 kilobytes of malbolge is actually a very small number
kspalaiologos: why would we trim the quotes though
b_jonas: lf94: is your "remembered" reaction because you've written a thesis for a degree and realized that nobody will read it, ever?
moonheart08: kspalaiologos: Either that, or enable Scribunto so that users can add syntax highlighting to their language(s)
kspalaiologos: probably
int-e: b_jonas: https://hack.esolangs.org/repo/log/tip/quotes <-- shouldn't we be seeing many more delquotes here, though
moonheart08: Via a script
b_jonas: kspalaiologos: to make the average quote have a higher quality
kspalaiologos: so the bad quotes are trimmed?
kspalaiologos: by the human?
int-e: b_jonas: I think the truth is that we've been *very* slow at adding quotes.
int-e: I'm tempted to change `quote and co to skip that number though. But it sounds like work...
b_jonas: kspalaiologos: ok, take what I'm saying with a large grain of salt, apparently I keep inventing mythology about this community and believing in them
kspalaiologos: at least someone is doing weirder stuff than me
b_jonas: int-e: that would confuse me a lot, at least the first time, since sometimes I grep -n foobar quotes
lf94: b_jonas: what
lf94: no, lol
kspalaiologos: ```tr \n / <<<"mov r1,.0/out r1" | bfasm
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``tr: not found
b_jonas: lf94: sorry, it's a rather common human experience, it was worth a shot I think
kspalaiologos: ``` tr \n / <<<"mov r1,.0/out r1" | bfasm
HackEso: +>+[#
kspalaiologos: ``` tr / \n <<<"mov r1,.0/out r1" | bfasm
HackEso: +>+[#
int-e: I think you want \\n
kspalaiologos: exactly
kspalaiologos: ``` tr / \\n <<<"mov r1,.0/out r1" | bfasm
HackEso: +>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>[-]++++++++++++++++++++++++++++++++++++++++++++++++.<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
kspalaiologos: perfect
kspalaiologos: I'll move to the blah channel for a second
imode: blah channel?
kspalaiologos: #esoteric-blah
imode: that's botspam innit?
int-e: that has bot spam in it
imode: rather, a channel dedicated to botspam.
imode: what flavor.
moonheart08: Orange
b_jonas: `? #esoteric-blah
HackEso: #esoteric-blah blah blah. Blah blah, blah blah blah blah. Blah blah blah!
moonheart08: Would you prefer green flavor?
moonheart08: Or yellow?
int-e: orange flavored spam... that's genuinely cringe-worthy.
moonheart08: How about black
imode: int-e: reminds me of dishes made in the 70's.
int-e: I'd rather have soylent green. I think.
imode: black spam sounds like blood pudding but mass-produced.
int-e: `? spoiler
HackEso: Don't give movie spoilers on channel. If you do, hppavilion may hire a hitman to hunt you down in real life and torture you in refined ways.
moonheart08: I haven't seen hppa in a whike
b_jonas: moonheart08: he was here very recently
b_jonas: look in the logs
kspalaiologos: once again
kspalaiologos: how do you add wisdom entry
moonheart08: int-e: Maybe give soylent green flavored spam a try
imode: they just appear.
kspalaiologos: i forgot it already
HackEso: ? ¯\(°_o)/¯
kspalaiologos: `? wisdom
b_jonas: kspalaiologos: with learn or with le//rn or by creating files in the wisdom directory such that the filename is all lowercase and doesn't end in an s
kspalaiologos: ah, ok I remember now
kspalaiologos: `? le//rn
HackEso: le/rn makes creating wisdom entries manually a thing of the past. Usage: `le/[/]rn //
moonheart08: Why can't wisdom entries end in a s
b_jonas: moonheart08: they can, but it's better if they don't, because bin/\? can remove the trailing s
b_jonas: `? wisdoms
b_jonas: `? wisdom
b_jonas: ^ same entry
int-e: I want to put an actual spoiler in there... Also, sleds are made from people who have been dead all along.
int-e: Or something along those lines.
b_jonas: int-e: after the relevant xkcd, it's not funny a second time
b_jonas: int-e: https://www.xkcd.com/109/
b_jonas: though coincidentally, the latest xkcd is also about spoilers
moonheart08: XKCD is always relevant
moonheart08: Always.
int-e: It's like other tomes. 2219 xkcds, there's one for every situation.
moonheart08: Is therr one for someone being smashed by a giant sperm whale?
imode: probably.
b_jonas: moonheart08: there's HHGG for that
int-e: moonheart08: What b_jonas said.
moonheart08: What's that
int-e: (I'd spell it HHGttG though)
imode: the pronunciation sounds like someone having a heart attack.
int-e: moonheart08: The Hitch Hiker's Guide to the Galaxy.
b_jonas: `? hhgg
HackEso: hhgg? ¯\(°_o)/¯
b_jonas: `? hhgttg
HackEso: hhgttg? ¯\(°_o)/¯
b_jonas: `? h2g2
HackEso: h2g2? ¯\(°_o)/¯
FaeFly: It's H2G2 to me :p
int-e: moonheart08: Where else would you find a falling giant sperm whale?!
imode: 2hitchikers 2galaxy.
int-e: (And a pot of petunias.)
b_jonas: popular on this channel because it's full of crazy English humor, and we have a few English people here
int-e: (Don't forget the pot of petunias. It's important, as will be revealed at the end.)
int-e: (Unless you hate the fifth book, in which case it won't be revealed.)
kspalaiologos: ah, the mythic english humour
kspalaiologos: I've read English for around 9000h in my entire life
kspalaiologos: and I still can't get the English humour
imode: it's a subtle humor.
kspalaiologos: I get subtle humour in my Muttersprache
kspalaiologos: no idea about english or play on words though
int-e: Yeah... Germans are renowned for their humor.
kspalaiologos: I knew you're gonna say that
int-e: It's a matter of misdirection.
int-e: We Germans are renowned for our humor. :-P
int-e: Urin stinkt.
int-e: Brilliant.
int-e: (We even have puns!)
b_jonas: kspalaiologos: how about Brexit? that's an example for English humor that isn't subtle. do you understand that one?
int-e: I'm still wondering what to make of "I've read English for around 9000h in my entire life" -- do you time yourself reading because it's a chore, an item to tick off an todo list?
kspalaiologos: I've calculated it a few months ago
kspalaiologos: b_jonas, well, it doesn't involve knowing british culture or word plays, so it's easy to comprehend for me
b_jonas: kspalaiologos: some chapters involve the queen, the lack of constitution, etc. I think those are part of british culture. at least it appears to be more part of british culture than whatever the humor is about wantonly calling into existence a bowl of petunias ten thousand miles over the surface of a planet is.
kspalaiologos: I don't know british culture
int-e: The pot of petunias is just Silly.
int-e: So, honestly, is a lot of HHGttG
int-e: But it manages to surprise which is a key element of humor.
b_jonas: yes, but it's also eminently quotable, in the way that Monty Python is
int-e: The effect of a Pan Galactic Gargle Blaster is like having your brains smashed out by a slice of lemon
int-e: wrapped round a large gold brick.
int-e: (pause for effect)
kspalaiologos: how can I legally protect myself if I wanted to release a keygen to the public?
kspalaiologos: is saying that I've made it just for serial key recovery
kspalaiologos: enough?
imode: anonymize yourself the best you can and then release it.
imode: with that disclaimer. or just don't.
kspalaiologos: and that you need to own Mathematica to use this program, otherwise it's illegal
kspalaiologos: if you e.g. lost your serial key or it doesn't work
int-e: I don't think a court would buy that excuse.
b_jonas: kspalaiologos: we don't give legal advice, and there are no lawyers here, only crazy people and harp tuners
int-e: I'm also not sure how smart it is to ask this in a publicly logged channel.
kspalaiologos: I'm just curious :p
kspalaiologos: I saw people doing it
int-e: Well, don't publish the keygen.
kspalaiologos: I mean
kspalaiologos: I'm not the pirate here :p
kspalaiologos: but I'll protect my ass anyway
kspalaiologos: on github there is a winrar keygen publicly available though
int-e: kspalaiologos: https://krebsonsecurity.com/tag/stresser/ is full of examples that a related story for DoS services does not stop authorities from stepping in. (Rather than denial of service, the official purpose is to do stress tests on customer networks. However, the services don't verify whether the customer controls the target address...)
kspalaiologos: c'mon, who didn't have fun with security in their lives
kspalaiologos: I had a friend who exploited the store app to get freebies
b_jonas: if you want actual legal advise, you will have to pay a lawyer
kspalaiologos: no, I'm just curious
kspalaiologos: to know other's opinions
b_jonas: biology question. are there spiders that can't make their own web, but that use the web made by a different type of spider for hunting?
int-e: https://www.reddit.com/r/askscience/comments/29cap7/do_spiders_ever_steal_another_spiders_web/
int-e: helloerjan
int-e: oerjan: Have we seen Violetta like this before? Or possibly somebody else...
int-e: "I don't know" is an acceptable answer--don't waste your time checking archives.
oerjan: OKAY I WON'T
int-e: Well, not on my account.
oerjan: i have this vague feeling that there's someone else.
oerjan: but it could just be another comic interfering
int-e: We've had crazy potions before (I'm assuming it's a potion), but I'm really unsure about this particular effect. :)
oerjan: kspalaiologos: yes, some regular always prunes the quote database to be just shy of 1337 <-- no, they haven't done that, because it's never reached it before.
int-e: I mean, it *is* tempting to follow through with the threat.
ais523: pick five quotes, delete the worst one
ais523: unless they're all really good, in which case pick another five
ais523: `5 quote
HackEso: 1/2:232) 320 quotes and still not a funny one yet! \ 230) Lymia: I put big spider in my bed already. So if you have no more left you do not have to worry about it anymore. You can just take a cold shower or hot acid or whatever you want to, instead. \ 1271) `quote `quote `quote `quote ....lovely spam, oh wonderful spam... \ 1056) Bike: i think it's a fermented fish produc
ais523: hmm, we only got four quotes, but 230 is the only actually good one there
ais523: I'm going to delete the other three and see if anyone reverts
ais523: `delquote 1271
HackEso: *poof* `quote `quote `quote `quote ....lovely spam, oh wonderful spam...
ais523: `delquote 1056
HackEso: *poof* Bike: i think it's a fermented fish product? either that or it means "welcome" in finnish
ais523: `delquote 232
HackEso: *poof* 320 quotes and still not a funny one yet!
int-e: ais523: it's `n, not `2, isn't it... `2 is the one that takes a command and shows the 2nd page of its output.
ais523: ah, OK
ais523: I thought it'd be something like that
int-e: ``2 5 quote
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: `2: not found
int-e: `` 2 5 quote
HackEso: 2/2:g ca \ eory with bathroom interior design the other day :-D \ 936) I was practically raised by Dilbert. \ 264) That's for $literals in the parser. It should maybe be atol too, but probably you shouldn't have nonterminals with more than two billion children.
int-e: (that's abusive)
ais523: that's kind-of useless as `5 quote isn't deterministic :-)
int-e: Well, it did *something*
int-e: And tbh, that was the goal.
HackEso: /hackenv/bin/`: eval: line 5: unexpected EOF while looking for matching `'' \ /hackenv/bin/`: eval: line 6: syntax error: unexpected end of file \ /hackenv/bin/`: eval: line 5: unexpected EOF while looking for matching `'' \ /hackenv/bin/`: eval: line 6: syntax error: unexpected end of file \ /hackenv/bin/`: eval: line 5: unexpected EOF while looking for matching `'' \ /hackenv/bin/`: eval: line 6: syntax error: unexpected end of file \ /h
HackEso: 1/2:1092) until you SPOON \ 119) INTERNET YAY Said like a once-drowning man, rescued, taking a breath. \ 236) okay see in my head it went, you send from your other number smth like "i'd certainly like to see you in those pink panties again" and she's like "WHAT?!? Sgeo took a pic?!?!?! that FUCKING PIG" \ 1326) I don't care for the bf backend as long as it doesn't make the rest of aya
HackEso: 2/2:sue \ 815) [after a quote deletion session] ais523: i just checked, and the whole purpose of this is not necessary....
ais523: `quote 1326
HackEso: 1326) I don't care for the bf backend as long as it doesn't make the rest of ayacc harder to sue
ais523: looks like the first line is getting cut off
int-e: Oh, maybe some of the lengths have not been properly adjusted for HackEso's cloak yet.
fizzie: I still haven't managed to get to it. :/
int-e: is it here? https://hack.esolangs.org/repo/file/tip/bin/distort#l3
int-e: > 512 - 2 - length "HackEso!~h@unaffiliated/fizzie/bot/hackeso PRIVMSG #esoteric :"
oerjan: `2 <-- that's the wrong command. also there's a bug in the line breaking after HackEso got a cloak.
int-e: > length "c harder to "
fizzie: `` echo {a..z}{0..9} | tr -d ' ' | bin/distort | sed -e 's/^\(......\).*\(......\)$/\1\2/'
HackEso: a0a1a24w5w6w \ 7w8w9xz7z8z9
int-e: so 447 or 448.
oerjan: < <-- heresy!
fizzie: Hmm, that seems to have been split correctly. Odd.
fizzie: Oh, right, because it's a balanced split.
int-e: fizzie: you're not testing the right thing
oerjan: i managed to select and paste simultaneously
fizzie: int-e: Why?
oerjan: I'm going to delete the other three and see if anyone reverts <-- heresy!
int-e: `` perl -e 'print"x"x459' #this is getting truncated
HackEso: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
int-e: after 447 x characters.
ais523: oerjan: fizzie: opinions on relaxing the signup procedures a little? the spambots have given up, but I'm not sure if they'd start again if they saw a relaxation
int-e: which sport seems to produce lines of length 459?
int-e: s/which/while/
fizzie: int-e: Well, right, but if it wasn't doing that funky balanced split the first test would've been testing a line of whatever maximum length distort uses.
int-e: `` sed -i 3s/459/447/ bin/sport
HackEso: bin/sport//cat "${2:-/dev/stdin}" >tmp/spout.raw; distort tmp/spout.raw | spore "${1-1}"
int-e: `` sed -i 3s/459/447/ bin/distort
HackEso: bin/distort//#!/usr/bin/env python \ import sys \ N = 447 \ name = sys.argv[1] if len(sys.argv) > 1 else "/dev/stdin" \ with open(name, "r") as f: \ data = ' \\ '.join(f.read().splitlines()) \ s = len(data) \ mw = len(str(2*s/N))-1 \ mw += s > ((N-2)*9-18*mw+1)*((10**mw-1)/9)-mw \ p=0 \ i=1 \ while (p in Smalltalk, as in Feather, in order to do I/O, you must first create the universe ais523, it seems quite capable of I/O... GUI is a form of I/O Sgeo: yeah exactly where does the GUI come from? it's written in Smalltalk, clearly and how does the GUI do its I/O? if you think about the issue for too long, you end up inventing Feather \ 873) ais523: intercal-72
HackEso: 2/2:c-intercal clc-intercal j-intercal yes all versions all versions \ 880) What I learned on the Prolog course is that it's a good language if you need a thing that can say "No" a lot. \ 747) you are like the linux torvalds of quiz engines \ 408) ais523, how are we supposed to guess before you tell us unless you give us more hints?
int-e: `quote 873
HackEso: 873) ais523: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
int-e: that looks better
int-e: I don't know whether 447 or 448 is right, so I'm going with 447.
fizzie: int-e: Thing is, the N in there isn't the maximum length of the line it uses.
int-e: it surely looks like that is what it's intended to be
int-e: given all the compensation on line 13
fizzie: Sure, but it's not.
fizzie: `` echo {a..z}{a..z} | tr -d ' ' | cut -c 1-886 | bin/distort | sed -e 's/^\(......\).*\(......\)$/\1..\2/'
HackEso: aaabac..kilimi \ nioipi..qyqzra
fizzie: `` echo {a..z}{a..z} | tr -d ' ' | cut -c 1-888 | bin/distort | sed -e 's/^\(......\).*\(......\)$/\1..\2/'
HackEso: aaabac..kilimi \ nioipi..qyqzra \ rb
fizzie: 886 characters (2*443) gets split to two lines; 888 (2*444) gets split to three lines.
fizzie: If it was using (now) a line length of 447, it would accept a line of 894 characters and split it to two.
int-e: I think there's just an off-by-one error in there
oerjan: fizzie: distort sets off space for a line number prefix
int-e: line 13, the -2 should be -3 to account for /, ) and an extra space.
oerjan: `url bin/distort
HackEso: https://hack.esolangs.org/repo/file/tip/bin/distort
int-e: it does account for the width of the current line number, and of the total line numbers.
fizzie: Oh, it does that as well? So complicated.
int-e: I should write "it does seem to account"
int-e: because I'm not really sure what happens on line 9.
fizzie: Well, it's good enough for now.
int-e: is there anything else that needs to know about the maximum message length...
fizzie: The bot itself, arguably. Although I'm not sure how much that truncation matters.
fizzie: https://bitbucket.org/fizzie/hackbot/src/tip/multibot_cmds/PRIVMSG/tr_60.cmd#lines-64
fizzie: Not that you could edit that from the inside.
fizzie: I guess it does matter in the sense that it prevents incomplete utf-8 sequences in utf-8 text that has not been passed through distort.
int-e: 448 is probably the right value there.
oerjan: int-e: mw is the width of the literal for the number of lines.
HackEso: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HackEso: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
oerjan: line 8 makes an approximation that is sometimes 1 too low, and line 9 checks if it is.
int-e: oerjan: Yeah. And line 9 actually does some geometric series stuff to compute how many digits in total we'll save because we start counting in single digit numbers.
HackEso: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
int-e: fizzie: Oh, darn, I had already verified that this got cut off and 447, not 448 chracters.
ais523: you know how we normally use cyclic tag to prove queue-based systems TC? sometimes it turns out to be too hard to impl in a particularly esoteric language, so I'm looking even simpler
fizzie: int-e: Should distort then be 446, and truncate 447?
ais523: I've probably spent over a week on Acyclic Tag
fizzie: (Just wondering, because previously we had distort at 459 and truncate at 460.)
ais523: the big improvement is that you don't have to be able to implement the wrapping from end to start of the table of productions
oerjan: line 13, the -2 should be -3 to account for /, ) and an extra space. <-- it's just /, : and no extra space
int-e: oerjan: aha.
int-e: I got confused by stuff like 1/2:205)
int-e: `` perl -e 'printf "x"x886' | sport
HackEso: 1/2:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HackEso: 2/2:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
int-e: It's all there :)
int-e: `` perl -e 'printf "x"x887' | distory | wc
HackEso: /hackenv/bin/`: line 5: distory: command not found \ 0 0 0
int-e: `` perl -e 'printf "x"x887' | distort | wc
HackEso: 3 3 890
oerjan: iirc line 9 basically works by calculating the maximal data length that could fit with that mw, and seeing if it's too small.
int-e: line 9 sums a geometric series
int-e: To ensure that mw really is the maximum width, and not accidently too large by 1.
oerjan: surely it's too small by 1. it's adding a boolean, after all.
oerjan: at least i had the foresight to make N a named variable for these occasions :P
int-e: So the computation computes the length of the string that we can accomodate in 10^mw - 1 lines of output, where mw is the tentative value computed on line 8. If the string is longer than that, we increase mw by 1.
int-e: Writing it as ((N-2)-2*mw)*(10**mw-1) + (10**mw-1)/9 - mw makes it somewhat easier to digest (for me at least).
int-e: ((N-2)-2*mw)*(10**mw-1) is how many characters we can accomodate if all numbers 1..10^mw-1 are mw characters wide; (10**mw-1)/9 - mw sums (10**i-1)/9 - 1 for i = 1..mw, which is the number of extra characters that we gain because some numbers are shorter than mw digits.
int-e: oerjan: You wrote this, apparently :)
oerjan: yes. doesn't mean i recall exactly how i deduced the formula, but that sounds about right.
oerjan: `hurl bin/distort
HackEso: https://hack.esolangs.org/repo/log/tip/bin/distort
int-e: `? cube
HackEso: Cubes come in all sizes, colors, and materials, but only one shape.
imode: I can't argue with that.
int-e: `grwp companion
HackEso: companion cube:There's cake inside it. Tear it apart, rip open your companion, and extract the delicious, delicious cake... \ mpanion cube:Aperture Science has created a talking cube - we call it the mpanion cube, because it's the opposite of the mute companion cube.
ais523: an mpanion cube would be a time-reversed companion cube, wouldn't it?
shachaf: Wy would co be time-reversing?
ais523: well, it normally produces duals
shachaf: I guess time-reversing seems like an odd sort of dual here.
shachaf: I like the way in 2-categories you have two different kinds of duals, which are called co and op.
lf94: what's the practical use of "cubical type systems" guys?
lf94: easier to describe more complex types, rigorously?
kmc: what's a cubical type system
lf94: if i'm remembering correctly... something derived from homotopy type theory...
lf94: which is about types in the realm of homotopy
kmc: `quote lambda cube
HackEso: 886) FOUR SIMULTANEOUS TYPE SYSTEMS IN A SINGLE ROTATION OF THE LAMBDA CUBE
lf94: no, it isnt lambda cube
kmc: unfortunately I don't understand HoTT at all
kmc: so cannot help you
lf94: from what I understand HoTT is defining types as a start and an end
lf94: and then you get all the types inbetween for free or something...
lf94: so imagine you have a type a -> b, and another type c -> d, well you can somehow get types inbetween these two...
lf94: i'm probably totally fucking botching the definition. :)
kmc: maybe shachaf understands HoTT
shachaf: I sure don't understand cubical types.
shachaf: Or HoTT.
b_jonas: fizzie, int-e, oerjan, re line length: (1) note that some irc clients (some versions of xchat) ask for that obsolete feature by default where the server puts a "-" or "+" character before the message, that takes an additional char, and
b_jonas: (2) use the environment variables $IRC_CHANNEL and $IRC_NICK to determine the length of the target; note that if $IRC_CHANNEL doesn't start with one of # or @ or + then it's a nick and $IRC_NICK will be the target of the reply
cpressey: Good morning. I almost almost almost have another esolang.
shachaf: Is (almost almost) almost = almost (almost almost)?
cpressey: It probably probably probably is.
int-e: shachaf: is that free association?
Taneb: shachaf: I think that those are two different things
wib_jonas: `ftoc -13
HackEso: -13.00°F = -25.00°C
arseniiv: @tell ais523 I think ^ is described a bit incomprehensive on Acyclic tag page: what does “one command at a time” mean if the pointer points to a string of commands and there is no sub-pointer to count commands in that string
lambdabot: Consider it noted.
arseniiv: hm maybe it was already noted…
arseniiv: I didn’t logread
kspalaiologos: hello my fellow harp tuners
kspalaiologos: ```sport
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``sport: not found
kspalaiologos: ``` sport
kspalaiologos: what's this tool for
kspalaiologos: `? sport
HackEso: sport divides its input into irc-sized pieces and displays the nth (default first). The pipe version of `1. See also spore.
kspalaiologos: LOVE IT
HackEso: No output.
kspalaiologos: ``` asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6"
HackEso: +>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>
kspalaiologos: amazing!
kspalaiologos: ``` cat /hackeso/bin/asmbf
HackEso: cat: /hackeso/bin/asmbf: No such file or directory
kspalaiologos: ``` whereis asmbf
HackEso: asmbf: /hackenv/bin/asmbf
kspalaiologos: ```cat /hackenv/bin/asmbf
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``cat: not found
kspalaiologos: ``` cat /hackenv/bin/asmbf
HackEso: tr / \\n | bfasm
kspalaiologos: ```asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6"
HackEso: /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``asmbf: not found
kspalaiologos: ``` asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6"
HackEso: +>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>
kspalaiologos: ``` asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6" | sport
HackEso: 1/7:+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>
kspalaiologos: ``` asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6" | sport 7
HackEso: 7/7:<<<<<-<+>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]>[>>>>-<<<<[-]]>>>>>>++++++<<<<<<+>>>>[<<<<[-]<+>>>>>-]<<<<<[>>>>>+<<<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
wib_jonas: fizzie: ^ Sigyn k-lined kspalaiologos
fizzie: Hmm, that's not great.
fizzie: I guess the whitelisting doesn't (and can't) really cover the case of people talking to the bot, in addition to the bot talking to people.
wib_jonas: heck, it's just unlucky timing that this caught him before it caught me
fizzie: Hmm, I think I'm too late for this:
wib_jonas: I spam the channel way more than that
fizzie: "If opped in your channel you can ask Sigyn to unkline an user, /msg Sigyn unkline , you have a dozen minutes to do so after the kill/kline, it only works if the user was banned due to abuse detected in your channel."
fizzie: Guess it's still worth a try.
wib_jonas: definitely too late, because the k-line isn't easy to undo
fizzie: 15:55 'kspalaiologos' does not match any recent bans from #esoteric
fizzie: Unfortunate.
wib_jonas: check if you've typoed his name, I always do
fizzie: I copy-pasted.
wib_jonas: not from my chat, I hope
fizzie: No, from the k-line message.
int-e: it's been more than a dozen minutes, unfortunately
fizzie: Yes, I was hoping "dozen" was the sort of very rough approximation.
wib_jonas: at least kspalaiologos is still reading the logs
wib_jonas: ideally we should teach one of our bots to recognize that particular spammer who was the reason why you invited Sigyn
fizzie: Do you know if those kills are temporary? Looking at the code, there's some references to a "duration".
wib_jonas: fizzie: I don't know, maybe ask #freenode or FireFly
fizzie: I think it looks like they are, but I can't tell how long they are because that depends how they're configured it.
wib_jonas: I mean, of course it's temporary compared to the heat death of the universe, the question is the scale
fizzie: Arguably that testing would've probably been better on #esoteric-blah, but I don't think we want to be kline-strict about that sort of thing.
wib_jonas: exactly
wib_jonas: kicking and banning for 15 minutes it is fine
wib_jonas: which is why a bot that you control could do it
cpressey: On the bright side, "(Killed (Sigyn (Spam is off topic on freenode.)))" looks like some kind of S-expression. At least there's that.
fizzie: Should we ask Sigyn to leave for now? I don't even know if there's a standard self-service way to do that.
wib_jonas: fizzie: kicking them probably makes them leave
wib_jonas: if not, then kickbanning them should
fizzie: Sounds plausible. Opinions? Is it too unsafe to have, given the sort of thing this channel does?
wib_jonas: or you could ask nicely
wib_jonas: Sigyn: fizzie would like to ask you to leave now
kspalaiologos1: what just happened
wib_jonas: kspalaiologos1: the real kspalaiologos got k-lined. if you're the same person, you probably shouldn't sneak back in because freenode may get angry about k-line evasion
wib_jonas: kspalaiologos1: Sigyn is a bot that tries to catch spammers, let me find in the channel logs where we discussed it
kspalaiologos1: the heck is kline
wib_jonas: started https://esolangs.org/logs/2019-10.html#ljbb
kspalaiologos1: I've already taken a peek at the logs
wib_jonas: kspalaiologos1: a ban from the whole network, as opposed to a ban that bans only from a channel
wib_jonas: there are also lines with other letters that I don't follow
kspalaiologos1: now I understand why so few people still sit on IRC
int-e: fizzie: the real target(s) never showed up :/
wib_jonas: https://esolangs.org/logs/2019-10.html#lKx and https://esolangs.org/logs/2019-10.html#lEq were the earlier spam
kspalaiologos1: wasn't me
kspalaiologos1: if you havent noticed
kspalaiologos1: the real me was registered
wib_jonas: ksp: yes, I know
wib_jonas: it was quite obvious
kspalaiologos1: why do you think its obvious
kspalaiologos1: somebody took the bait
wib_jonas: I'm just saying that after those things, fizzie got annoyed and invited Sigyn in
wib_jonas: as you can see https://esolangs.org/logs/2019-10.html#ljbb
wib_jonas: kspalaiologos1: I don't think anyone did
kspalaiologos1: I remembed someone did after taking a peek at the logs
wib_jonas: int-e: they may be waiting, it's only been two weeks; or they may have showed up but got scared of Sigyn and left
int-e: wib_jonas: there is that possibility.
kspalaiologos1: well, I hate it that I'm recognized so much lol
wib_jonas: int-e: there were four or five days when he didn't show up before the spam that made fizzie invite Sigyn
wib_jonas: kspalaiologos1: it's not that I recognize you specifically, but I can distinguish you from someone who spams yellow JS JS JS
kspalaiologos1: I didn't mean this
kspalaiologos1: i constantly find people trying to annoy me, lie away my rep
kspalaiologos1: it's sad, but well, happens
kspalaiologos1: I've already sent a kind letter to the kline at freenode
int-e: will Sigyn trigger on any bfasm attempt now, I wonder
int-e: (and no, I won't try!)
kspalaiologos1: I hate when that happens
wib_jonas: hopefully kspalaiologos will now be more cautious and experiment in either private message or some other channel
kspalaiologos1: I didn't know I can get banned
kspalaiologos1: I think I'll get unbanned eventually
wib_jonas: though what channel there is where you can spam j-bot now I've no idea, because it doesn't seem to be in either #ijx or #jeval, the two botspam channels that we used to use
wib_jonas: but it does accept private message, with slightly different confusing syntax
kspalaiologos1: I'll see you back in around a week
fizzie: Yeah, let's maybe try ask Sigyn to leave (feel a bit bad for wasting Freenode op time for the whitelists, but I guess that's what they're there for) and if we get spam problems, investigate something a little less drastic. Just a shame there doesn't seem to be an easy way to get the benefits (outsourced spamminess detection, network-level kills from real spamming).
kspalaiologos: my IRC client was trying to reconnect me since 4pm every 10 seconds
kspalaiologos: and I'm in for some reason
fizzie: kspalaiologos: We had help from a Freenode/Sigyn administrator to undo the kline.
kspalaiologos: alright
glguy: kspalaiologos: You should have gotten a response to your support ticket from me.
int-e: hi glguy
glguy: Hello :)
kspalaiologos: I'll check
kspalaiologos: but I guess there is no need
glguy: It's just good to know if the responses aren't working in case you have some trouble in the future :)
lf94: How do natural languages get their names?
lf94: English, Francais, ...
FaeFly: from the people who nominally speak them, usually?
FaeFly: e.g. the English speak English
imode: I think he was expecting the etymology behind the names.
FaeFly: Well, sure, but I would expect all the different peoples' names to have different etymologies, I don't think there's really a collective answer there
imode: lf94: https://www.google.com/search?hl=en&q=etymology%20of%20the%20word%20english
imode: the infobox is useful.
imode: I can see how that can be twisted into "English"
lf94: https://www.etymonline.com/word/English?ref=etymonline_crossreference
lf94: this is way better
FaeFly: oh https://en.wikipedia.org/wiki/Angles#Name is probably better
lf94: England -> English
lf94: I'm sure of it
lf94: Internet
lf94: Interish
lf94: Intrish
FaeFly: Onlinean?
imode: huh, wasn't aware of the anglia penninsula.
imode: s/nn/n
lf94: I'm defining "the language of internet citizens"
imode: how can you define that which is all.
FaeFly: (I wonder if 'Onlinean' would be pronounced "online|ean" or "on|linnean")
lf94: https://www.etymonline.com/search?q=french
lf94: They almost literally did "frenish" too
lf94: A similar contraction of -ish is in Dutch, Scotch, Welsh,
lf94: this website is fuckin' awesome
FaeFly: yes, etymonline si nice
lf94: So if we "live" in the "realm" of say, an array or list programming paradigm...
lf94: listch could be a good language name
lf94: arrish
lf94: arrich is easier to hear
FaeFly: the swedish name for Sweden ("Sverige") stems from "Svea rike", which is lit. "realm of Svea" (the tribe that ended up uniting the different parts of modern-day sweden basically)
lf94: conveyich <- conveyor belt (array) based lang B)
imode: otherwise known as mode.
lf94: imo if you called it conveyich it'd be easier to remember
lf94: convich
FaeFly: conveyor belt? reminds me of Rube
FaeFly: and Rubicon
imode: lf94: we'll start a fork and call it conveyich.
imode: then I can sell conveyich ++ premium features as mode for $19.99 + tax.
imode: what could go wrong.
lf94: actually.
lf94: i would like to see pay-for language examples.
lf94: I've only seen things like lisp or scheme interpreters be paid-for
imode: forth implementations have sometimes been paid-for.
imode: I'm working on ways to specify and consume arrays.
imode: i.e ` : range [ dup$ roll until $0 do dup$ $1 - repeat drop last ] ;
imode: inserts the proper markers in the queue.
lf94: imode lists / matrix languages are the future I think
imode: languages with semantics and implementations you can hold in your head are the future.
imode: because you can't lose track of them.
ais523: arseniiv: well, the point is that it doesn't push the string as a whole onto the queue, rather it pushes each command in the string onto the queue
arseniiv: ais523: ah. (But that one was obvious for me personally.) But maybe it would be good to rephrase differently anyway
ais523: is that a better description?
arseniiv: ais523: I think yes!
arseniiv: anyway this reminds me my pages usually lack usual examples which would be useful to understand what do commands mean; your trace immediately gave me a clear image what ^ does
arseniiv: s/usual/useful
b_jonas: lf94: (1) sometimes you have to pay for the language standard, or learn from secondary sources. this is the case for Standard ML.
b_jonas: lf94: (2) paying for the compiler is more common:
b_jonas: large business users have to pay for microsoft's compiler
b_jonas: there's a commercial prolog implementation
b_jonas: you have to pay for Mathematica and for maple
int-e: Delphi
b_jonas: there's more but I don't recall all of that
int-e: I suppose icc has a commercial plan as well?
b_jonas: free software didn't use to be the norm in the past
b_jonas: back then, you payed for everything
int-e: p*ed anyway
b_jonas: by the way, there's a certain esoteric commercial model that you could do:
b_jonas: when microsoft offers a version of their compiler for individuals and small businesses, but makes large businesses pay, they use legal threats for that
b_jonas: they claim that it's illegal for you to use the compiler if you're a large business
imode: for what definition of large business.
b_jonas: rather than that, an esolang could use documentation threats: document that if you use the free version and you're a large business, then every program runs into an undefined behaviour
b_jonas: lawful developers will fear to rely on that the compiler happens to work now, because if the docs say that it's undefined behavior, then it could break any time,
b_jonas: so they will pay
b_jonas: imode: dunno, Microsoft has a whole license agreement and whatnot for this
b_jonas: I don't know the details
b_jonas: imode: imagine 30 day trial period instead if you prefer,
b_jonas: same enforcement methods apply
int-e: E774 RANDOM COMPILER BUG.
imode: hahahahahahahaha.
imode: "hey my code does X when it should do Y" "have you paid the troll toll?"
ais523: it's literally a random compiler bug, something like 10% chance IIRC
ais523: however there is a command-line option to turn it off
ais523: (CLC-INTERCAL has /two/ random compiler bugs and the more obvious command-line option only turns one of them off)
ais523: that said, you normally have to turn it off in practice if you're doing anything remotely automated
kspalaiologos: b_jonas, "you have to pay for Mathematica"
kspalaiologos: yes, sure
imode: I refuse to give money to Wolfram.
kspalaiologos: so do I
b_jonas: Mathematica is probably the best example, because they actually sell decent software,
b_jonas: the evil part is only how they sell it:
imode: shame it's not by decent people, though.
kspalaiologos: how do they sell it though?
kspalaiologos: I'm not interested in financial part of Mathematica
kspalaiologos: what's wrong with this
b_jonas: they give almost free copies to students, who learn the program it, and then, of those, then ones who turn out to be code monkeys and decide that they can only use a programming language if they were taught it at school, they will now have to buy Mathematica because they didn't take a Java course
b_jonas: it's like giving free drugs to children
b_jonas: Wolfram the founder is also a bit crazy, but he doesn't, like, personally develop the whole thing, so it doesn't matter
imode: any paid language ecosystem will eventually fall prey to open source alternatives because the majority of interested individuals are predisposed to like "free and equivalent
ais523: during the (2,3) Turing machine thing, Wolfram asked me to write Mathematica versions of the code I'd written (fair enough given the context), and gave me a /trial/ version of Mathematica to do it on (not even a perpetual license), so I didn't end up using it much beyond translating the code
b_jonas: imode: that didn't happen to matlab
int-e: b_jonas: is this what they call edutainment
b_jonas: oh yeah, I forgot about matlab
b_jonas: matlab is the best fucking example
b_jonas: I see so many people using it for some reason
imode: ais523: were you aware of wolfram's reputation at the time?
ais523: my opinion on Mathematica is that the language itself is pretty terrible (it's basically an esolang, but not a tarpit), but the standard library is excellent
b_jonas: despite that it has an actually better free software alternative, octave
b_jonas: I seriously don't get it
ais523: imode: well, I'd read /A New Kind of Science/
b_jonas: ais523: yes, it's the standard library that is good
b_jonas: but you get the standard library for money
b_jonas: there are actually one or two clones of the core language I think
ais523: the core language isn't really that different from Lisp + pattern-matchinig
b_jonas: ais523: I won a student license of Mathematica once, but I think it was limited for one year or something
b_jonas: I didn't really use it for anything
b_jonas: the university has the free student copies that they use for marketing, plus there are illegal copies
int-e: b_jonas: Matlab has all those ready-made toolboxes for various domains and the option of generating efficient code for simulation from it... and a strong userbase.
kspalaiologos: mathematica is really good one though
kspalaiologos: paywall is quite big though
int-e: ("efficient" is certainly relative)
b_jonas: int-e: but it doesn't seem to me like people are using those ready-made toolboxes
b_jonas: the ones where I'm confused about using matlab that is
b_jonas: hmm, cpressey isn't here, he'd have an opinion on this stuff
b_jonas: I admit that I'm biased against matlab because of how it manages to have a huge artificial difficulty in the source code format, more serious than python's indentation or java's one class per file
b_jonas: matlab requires that you put every function in a separate file
b_jonas: that and the one-based indexing
ais523: Java doesn't actually have a one class per file restriction, it's just that you can't refer to a class from other files if its name doesn't match the filename
ais523: (because the compiler wouldn't know where to look for it)
ais523: you can put an entire Java program in one file if you want to
int-e: and it will compile to a merry collection of dozens of class file
int-e: and then you put those into a jar, or you can do some class loading magic yourself instead
b_jonas: I hat one-based indexing.
b_jonas: basic, lua, matlab, gap, mathematica: I hate your stupid one-based indexes, and I hope you painfully stub your toe on an off-by-one error
arseniiv: int-e: but it doesn't seem to me like people are using those ready-made toolboxes => I think we had a course on fuzzy inference or something, with lab tasks (how are they called properly?..) written for IIRC such a toolbox. Though I hadn’t done them and I don’t like fuzzy math in any form anyway
ais523: some golfing languages use 1-based indexing, possibly so that they can use 0 to mean "last element", but it often seems to cause trouble there too
ais523: I blame English for this, if the word for "first" were based on the word for 0, the word for "second" were based on the word for 1, and so on, there wouldn't be any confusion
arseniiv: that and the one-based indexing => and Mathematica too :(
b_jonas: ais523: but they're not based on "one" and "two" either. people could just go 0:first, 1:second, 2:twoth, 3:threeth, 4:fourth, 5:fifth, 6:sixth, 7:seventh, 8:eightth
imode: huh, 0-means-last... interesting.
b_jonas: unless nobody can pronounce "eightth", in which case it would have to be the traditional "eighth" instead
ais523: b_jonas: yes, but there'd be no real advantage to that
ais523: you should at least fix the off-by-one error in the process
arseniiv: