00:36:01 -!- copumpkin has quit (Ping timeout: 244 seconds).
00:51:10 -!- oerjan has quit (Quit: Nite).
01:32:02 -!- sleepnap has left.
02:01:30 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:18:26 -!- Essadon has quit (Quit: Qutting).
02:30:32 -!- moei has joined.
02:31:46 -!- yaewa has quit (Ping timeout: 250 seconds).
02:56:59 -!- imode has joined.
03:41:51 -!- FreeFull has quit.
05:48:34 -!- user24 has joined.
05:54:06 -!- yaewa has joined.
05:56:09 -!- moei has quit (Ping timeout: 268 seconds).
06:04:07 -!- sebbu has quit (Ping timeout: 246 seconds).
06:58:55 -!- sebbu has joined.
08:42:02 -!- sleffy has joined.
08:42:11 -!- sleffy has quit (Read error: Connection reset by peer).
09:23:14 <esowiki> [[Golfuck]] N https://esolangs.org/w/index.php?oldid=59667 * A * (+1332) Created page with "{{lowercase}} [[golfuck]] is an extension of [[brainfuck]]. It is created in order to write short programs. In addition to brainfuck, golfuck adds a stack. =Commands added= <p..."
09:31:19 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59668&oldid=59667 * A * (+263)
09:32:07 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59669&oldid=59668 * A * (+26)
09:32:53 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59670&oldid=59669 * A * (+1) /* Quine(Directly translated from Golfscript) */
09:38:04 -!- Sgeo_ has quit (Read error: Connection reset by peer).
09:38:28 -!- Sgeo_ has joined.
09:39:39 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59671&oldid=59670 * A * (+650)
09:40:46 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59672&oldid=59671 * A * (+8) /* Implementation in C++ */
09:44:52 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59673&oldid=59672 * A * (-2) /* Partial implementation in C++ */
09:45:34 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59674&oldid=59673 * A * (-8) /* Commands added */
09:45:52 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59675&oldid=59674 * A * (-38) /* Commands added(still extending) */
09:46:22 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59676&oldid=59675 * A * (-6) /* Cat program(string version, hexdump) */
09:48:08 -!- moei has joined.
09:49:07 -!- yaewa has quit (Ping timeout: 240 seconds).
09:51:11 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59677&oldid=59676 * A * (+72)
09:53:16 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=59678&oldid=59630 * A * (+24) /* GolfScript */
09:53:37 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=59679&oldid=59678 * A * (+1) whoops
09:55:06 <esowiki> [[List of quines]] https://esolangs.org/w/index.php?diff=59680&oldid=59592 * A * (+26) /* Glass */
09:56:52 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=59681&oldid=59577 * A * (+32) /* Goldfish */
09:58:34 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59682&oldid=59677 * A * (-862) Too lazy to write an interpreter
09:59:33 <esowiki> [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59683&oldid=59666 * Salpynx * (+2805) /* Computational class / -completeness */ my mistake on input matching, but open-node identity preserving is not that restrictive
09:59:38 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59684&oldid=59682 * A * (+862) Undo revision 59682 by [[Special:Contributions/A|A]] ([[User talk:A|talk]])
10:04:10 -!- imode has quit (Ping timeout: 250 seconds).
10:05:08 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59685&oldid=59684 * A * (+0) fix a problem
10:19:57 -!- arseniiv has joined.
10:32:01 -!- AnotherTest has joined.
10:48:04 -!- user24 has quit (Quit: Leaving).
10:56:53 <esowiki> [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59686&oldid=59683 * Salpynx * (+948) /* Computational class / -completeness */ stating my argument for the Eodermdrome command superset calculation
11:41:14 -!- Lord_of_Life_ has joined.
11:43:56 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
11:44:00 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
11:49:31 <HackEso> 268) <Gregor> I use LiGNUXFCE+apps <Gregor> That's pronounced by saying "Linux" and then vomiting, btw. \ 48) <Madelon> both of you, quit it with the f-bombs. <Madelon> kaelis: what's the matter? something censoring stuff you're interested in?
11:55:57 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59687&oldid=59685 * A * (+281) /* Partial implementation in C */
12:04:14 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59688&oldid=59687 * A * (+70) /* Partial implementation in C++ */
12:06:47 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59689&oldid=59688 * A * (+113) /* Commands added(still extending) */
12:07:14 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59690&oldid=59689 * A * (-85) /* Commands added(still extending) */
12:07:45 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59691&oldid=59690 * A * (-7) /* Commands added(still extending) */
12:16:21 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59692&oldid=59691 * A * (-39) /* Commands added(still extending) */
12:18:01 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59693&oldid=59692 * A * (+2) /* Commands added(still extending) */
12:19:56 -!- AnotherTest has quit (Ping timeout: 240 seconds).
12:20:42 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59694&oldid=59693 * A * (+226) /* Partial implementation in C++ */
12:22:05 -!- Sgeo_ has quit (Read error: Connection reset by peer).
12:22:31 -!- Sgeo_ has joined.
12:31:32 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59695&oldid=59694 * A * (-25) /* Cat program(string version, hexdump) */
12:31:52 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59696&oldid=59695 * A * (+5) /* Computational class */
12:35:27 -!- Essadon has joined.
12:36:40 -!- Essadon has quit (Max SendQ exceeded).
12:39:56 -!- b_jonas has joined.
13:14:15 <b_jonas> Is a comedian the same as a median?
13:29:58 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59697&oldid=59696 * A * (+193) /* Partial implementation in C++ */
13:32:49 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=59698&oldid=59697 * A * (+46) Fix nested parenthases
13:37:25 -!- ais523 has joined.
13:39:03 <lambdabot> EGBB 021320Z 35013KT 9999 FEW024 04/M02 Q1010
13:40:46 <ais523> fizzie: in object-oriented languages, it's often hard to know what's a method versus a function versus a builder
13:40:55 <ais523> so a hoogle-alike would either have to check all possibilities or require the user to do so
13:41:04 <ais523> (also the problem is often working out what object to use, not what method to use)
13:41:38 <ais523> meanwhile, in languages like C, there often aren't /enough/ types to narrow the results down, and very few higher-order functions anyway (which is where hoogle works best)
13:42:23 <ais523> b_jonas: re esolang deployment, I'd say TIO is probably the leader in that at the moment
13:52:04 <b_jonas> why does OEIS not find this?
13:52:57 <b_jonas> ais523: that seems likely. is TIO associated with freenode/#esoteric in some way?
13:54:11 <ais523> b_jonas: it has a chat room on chat.stackexchange.com
13:54:55 <ais523> `learn TIO is Try It Online!, <https://tio.run/>, a web-based interpreter for over 600 languages, including hundreds of esolangs
13:54:57 <HackEso> Learned 'tio': TIO is Try It Online!, <https://tio.run/>, a web-based interpreter for over 600 languages, including hundreds of esolangs
13:55:05 <arseniiv> @oeis 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5
13:55:11 <lambdabot> https://oeis.org/A001511 The ruler function: 2^a(n) divides 2n. Or, a(n) = 2...
13:55:12 <lambdabot> [1,2,1,3,1,2,1,4,1,2,1,3,1,2,1,5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1,6,1,2,1,3,1,2...
13:56:48 <b_jonas> perlbot used to have an oeis search primitive built in too, but it's bitrotten since
14:01:10 <arseniiv> how do you accent “abacaba”? I seem to gravitate to the third syllable
14:02:41 <int-e> > fix((1:).(>>=(:[1]).succ))
14:02:43 <lambdabot> [1,2,1,3,1,2,1,4,1,2,1,3,1,2,1,5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1,6,1,2,1,3,1,2...
14:06:21 <int-e> I guess the pattern continues like this: ,aba'caba,aba"daba,aba'caba
14:07:01 <int-e> (or maybe the next step is a short pause... ,aba'caba,aba daba,aba'caba)
14:14:58 -!- FreeFull has joined.
14:15:22 <arseniiv> int-e: there’s something wrong, no two adjacent letters should be the same
14:18:14 <j-bot> b_jonas: 1 1 1 1 1 1 1 1
14:18:14 <j-bot> b_jonas: 1 1 1 1 1 1 1 0
14:18:14 <j-bot> b_jonas: 1 1 1 1 1 1 0 1
14:18:14 <j-bot> b_jonas: 1 1 1 1 1 1 0 0
14:18:14 <j-bot> b_jonas: 1 1 1 1 1 0 1 1
14:18:14 <j-bot> b_jonas: 1 1 1 1 1 0 1 0
14:18:14 <j-bot> b_jonas: 1 1 1 1 1 0 0 1
14:18:15 <j-bot> b_jonas: 1 1 1 1 1 0 0 0
14:21:05 <int-e> arseniiv: yeah I realized that a minute later but didn't bother to fix it.
14:21:45 <j-bot> b_jonas: 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 6 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 7 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 6 ...
14:22:00 <b_jonas> [ a.{~97+1 i.~"1|."1 #:}.i.2^8
14:22:01 <j-bot> b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacaba
14:22:53 <int-e> > fix(('a':).(>>=(:['a']).succ))
14:22:55 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
14:23:38 <int-e> yay I have a shorter nick so I get two extra characters for golfing ;-)
14:24:02 <b_jonas> throw in a (var) to remove the double quote :-)
14:24:03 <int-e> > fix$('a':).(>>=(:['a']).succ)
14:24:05 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
14:24:13 <b_jonas> or does var not work for infinite strings?
14:24:44 <int-e> according to oerjan, `var` works for infinite strings whereas `text` does not.
14:25:09 <int-e> > fix$('a':).(>>=(:"a").succ)
14:25:11 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
14:25:12 <b_jonas> @run var (cycle "long string ")
14:25:14 <lambdabot> long string long string long string long string long string long string long...
14:25:32 <b_jonas> also, it turns out that lambdabot gives a much longer result in private message
14:26:11 <int-e> Yes, you only have yourself to blame if it spams you privately...
14:27:44 <j-bot> b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah...
14:28:59 <j-bot> b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah...
14:29:27 <b_jonas> J doesn't handle infinite expressions, so this output is only 512 bytes long
14:34:50 <arseniiv> now we should invent an esolang with infinite expressions
14:35:10 <arseniiv> (as if it wasn’t invented yet… I bet it was)
14:35:42 <b_jonas> many programming languages already have an interactive repl, which can evaluate partial programs up to the first top-level semicolon or similar
14:35:55 <b_jonas> some esolangs have such a thing too
14:36:06 <arseniiv> . o O ( hm, could I golf abacaba in C# in a reasonable amount of code )
14:37:26 <b_jonas> even among esolangs that aren't brainfuck-alikes
15:00:47 <arseniiv> okay I’m not a golfer at all, so the result is this long:
15:00:50 <arseniiv> class A{static void Main(){B(106);}static void B(int c){if(c>96){B(c-1);System.Console.Write((char)c);B(c-1);}}}
15:01:14 <arseniiv> > length "class A{static void Main(){B(106);}static void B(int c){if(c>96){B(c-1);System.Console.Write((char)c);B(c-1);}}}"
15:02:12 <arseniiv> oh, sorry, TIO shows the length in plain sight
15:07:12 <b_jonas> hmm, would that be shorter in J than the one I showed above? let me see
15:10:09 <j-bot> b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah...
15:10:21 <j-bot> b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah...
15:10:36 <j-bot> b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah...
15:11:30 <b_jonas> arseniiv: you're right, writing it that way is shorter if you don't have infinite lists
15:11:51 <b_jonas> infinite lists might not be the discriminator
15:12:15 <b_jonas> I wonder how long a Haskell this would translate to.
15:12:31 <b_jonas> it would be some fold or another
15:15:21 <int-e> > foldl(\x y->x++y:x)[]['a'..'j']
15:15:23 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
15:15:26 <int-e> > foldr(ap(++).(:))[]"jihgfedcba"
15:15:29 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
15:16:15 <b_jonas> > foldl(\x y->x++y:x)[]['a'..'j']
15:16:17 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
15:17:52 <int-e> > foldl(\x y->x++y:x)[]['a'..] -- probably too slow
15:19:06 <int-e> it's a finite list, just a pretty long one.
15:19:10 <b_jonas> > foldr(ap(++).(:))[]"gfedcba"
15:19:12 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
15:19:48 <b_jonas> so the fold would be two to that power long, which is greater than 2**256 so it never terminates
15:20:09 <int-e> well... theoretically I disagree :)
15:21:29 <int-e> In practice it will run out of memory in a reasonable amount of time.
15:21:59 <b_jonas> sorry, I'm thinking about cryptography heuristics, like how attacks can use up to about 2**128 bits of memory and about 2**128 runtime and 2**256 total computation
15:22:10 <int-e> (it will also print a few million characters because of laziness)
15:23:09 <int-e> yeah both these numbers seem to be reasonably safe upper bounds. :)
15:23:54 <b_jonas> int-e: we need reasonably safe because we want to add some luck, eg. we don't want to design cryptosystems for which the strongest attack works with exactly 1/2 probability
15:24:16 <b_jonas> we want the crypto to be unbreakable even if Eve is somewhat lucky
15:27:18 <b_jonas> so we use 512-bit keys if we're certain that the trap function has no vulnerability but you can do a square root speed and fourth root memory attack, such as for digests where we don't want collisions even if the attacker can choose a plaintext, and 256 bit keys when the trap function has no vulnerability and we're certain that no such square root attack is feasable with only cube root memory,
15:27:52 <b_jonas> and the heuristic gets harder for public key crypto because we can't use just trap functions to implement them
15:28:27 <arseniiv> b_jonas: I’m glad my long code helped you shorten the J one :)
15:28:41 <b_jonas> arseniiv: it's not long. it fits in an irc line.
15:29:25 <b_jonas> it'd still fit in an irc line if you translated it to java.
15:30:28 <arseniiv> but I thought it should be as small as possible
15:31:12 <arseniiv> I even tried to write some cleverness like "using C = System.Console", but it proved to be longer
15:31:46 <b_jonas> yeah, that doesn't help if you only have one reference to System.Console in the code
15:31:53 <arseniiv> s/as small as possible/smaller than I think it’s really possible
15:35:40 <int-e> Hmm maybe not millions... it was up to 24GB after printing 451 characters.
15:35:52 <arseniiv> `learn ASAP, in code golf, means as small as possible
15:35:54 <HackEso> Learned 'asap': ASAP, in code golf, means as small as possible
15:36:20 <int-e> I have no good mental model for how this should grow over time.
15:39:43 <int-e> > foldl(\x y->x.(y:).x)id['a'..][]
15:39:46 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
15:47:56 <b_jonas> > map(\x->chr$97+popCount(x.&.(-x)-1))[1..]
15:47:58 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
15:48:06 <b_jonas> ^ how do you golf this one?
15:49:25 <b_jonas> and do the libraries that lambdabot import have a count trailing zeroes function somewhere, so that we don't have to write it in terms of popcount?
15:51:28 <b_jonas> @pl map(\x->chr$97+popCount(x.&.(-x)-1))[1..]
15:51:28 <lambdabot> map (chr . (97 +) . popCount . subtract 1 . ap (.&.) negate) [1..]
15:57:27 <b_jonas> @pl map(\x->chr$97+popCount(-1-(-x.|.x)))[1..]
15:57:27 <lambdabot> map (chr . (97 +) . popCount . negate . (-) 1 . negate . join (.|.)) [1..]
15:58:03 <lambdabot> expecting lambda abstraction or expression
15:58:11 <lambdabot> expecting white space, "()", natural, identifier, lambda abstraction or expression
16:03:20 <b_jonas> > map(\x->chr$97+popCount((-1)-(-x.|.x)))[1..]
16:03:22 <lambdabot> "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba...
16:03:24 <b_jonas> @pl map(\x->chr$97+popCount((-1)-(-x.|.x)))[1..]
16:03:25 <lambdabot> map (chr . (97 +) . popCount . (-) -1 . negate . join (.|.)) [1..]
16:04:15 <b_jonas> that still doesn't quite look right
16:07:19 <int-e> oh well, @pl being buggy is not exactly a new thing.
16:08:40 <int-e> I wasn't thinking clearly or I would not even have tried that.
16:10:36 <b_jonas> meh, with haskell you never know
16:11:04 <b_jonas> I think in ruby the spaces can matter in some expression involving unary negation
16:13:09 <b_jonas> yeah, (f -2) is a method call (f(-2)), but (f-2) is a subtraction (f.-2)
16:14:02 <b_jonas> and that's just the simplest case
16:14:06 <b_jonas> ruby syntax is complicated
16:14:48 <b_jonas> also (f - 2) and (f- 2) are also subtraction
16:16:05 <b_jonas> and by the way, (-x) desugars to the method call (x.-@)
16:17:25 <b_jonas> try with different numbers, for (-(1`mod`2)) and ((-1)`mod`2) are equal
16:18:00 <b_jonas> oh, maybe that's one of the other mod operations
16:18:25 <b_jonas> there's like seven or so of them, even if you don't count the behavior for overflow or division by zero
16:18:34 <lambdabot> expecting white space, "()", natural, identifier, lambda abstraction or expression
16:19:57 <lambdabot> • No instance for (Num Bool) arising from a use of ‘negate’
16:23:01 <int-e> Basically, to parse unary - correctly one needs to be aware of the precedence level of nearby infix oerators... and @pl's parser is not. So things are broken, and it's not obvious how to do it correctly on top of http://hackage.haskell.org/package/parsec-3.1.13.0/docs/Text-ParserCombinators-Parsec-Expr.html.
16:23:14 <int-e> (which the @pl parser is using)
16:23:28 <int-e> Arguably it should use haskell-src-exts instead.
16:26:55 <int-e> -- TODO, use Language.Haskell
16:27:43 -!- arseniiv has quit (Read error: Connection reset by peer).
16:28:00 -!- arseniiv has joined.
16:30:32 -!- probablymoony has joined.
16:30:40 -!- moony has quit (Quit: Bye!).
16:54:52 <b_jonas> wow, strange. apparently Knuth uses the notation "sec" in chapter 7.1.3, and doesn't define it anywhere, not even in appendix B. he's using it in a context where it's possible to reverse engineer what he means, but still, it's strange.
16:56:20 <ais523> @pl \x y z -> ((x z) (y z))
17:07:47 <int-e> b_jonas: well that narrows it down to 69 pages.
17:10:06 <int-e> Yeah I see. So it is the standard trigonometric function.
17:13:56 <int-e> Nah, I think they are standard. Programming languages make a bad measuring stick for what constitutes a standard function in mathematics.
17:20:23 <arseniiv> first it’s a secant, and then there are haversines all over the place
17:25:37 -!- sleepnap has joined.
17:31:32 <HackEso> a-é-ro-g-liss-e-ur. If you mention eels, you'll get smacked with one of them in a most unappropriate manner.
17:33:28 <b_jonas> int-e: yeah, I have to admit, Abramowitz & Stegun defines it on http://www.convertit.com/Go/ConvertIt/Reference/AMS55.asp?Res=150&Page=72 , which is close to making it a standard notation
17:34:18 <b_jonas> (and that's carried on to https://dlmf.nist.gov/4.14 )
17:35:56 <b_jonas> are there definitions for ver-hyperbolic functions?
17:42:30 <b_jonas> and is there any relation to were-creatures?
18:08:11 -!- xkapastel has joined.
18:22:14 -!- sleepnap has quit (Ping timeout: 268 seconds).
18:42:04 <ais523> versinh doesn't make much sense because sinh isn't bounded
18:42:46 <ais523> there isn't a vertan for the same reason
18:43:42 <b_jonas> ais523: there's an extan, but sure
18:45:25 <b_jonas> I don't know, I usually just use sin, cos, tan, sinh, cosh, tanh for formulas, or exp(i*x). I don't know how the other stuff work.
18:48:18 <shachaf> I'm skeptical of defining too many special-case names.
18:48:43 <shachaf> Maybe it made sense back in the day when people had tables of all these functions.
18:48:44 -!- imode has joined.
19:04:26 <kmc> shachaf: do you think sin or cos is more fundamental?
19:04:42 <kmc> i think cos but i forgot why
19:04:47 <kmc> some stuff with fourier series comes out nicer?
19:11:01 <ais523> shachaf: the main reason to use versine is because of rounding errors, if you happen to need (1 - cos x) and the resulting value is near 0 you can't calculate that from cos x, because values near 1 have far fewer significant figures
19:11:49 <ais523> but modern computers can calculate it as 2((sin(x/2))²) without losing much accuracy, so having it as a separate primitive is less important
19:13:06 <kmc> shachaf: do you know the thing about RF mixing and trig identities and nonlinear devices and taylor series?
19:13:13 <kmc> which basically describes how all modern radios work
19:13:41 <kmc> ok i will tell you whether you like it or not!
19:13:53 <kmc> because it is some Cool Math
19:15:23 <kmc> suppose you have a radio which can tune frequencies over a wide range
19:16:07 <kmc> for various engineering reasons, you often want to shift the signals of interest into a fixed frequency range
19:17:01 <kmc> (one is that it's easier to build circuits which perform well on a fixed range; another is that you might want to sample the signal digitally and it's easier when you reduce the frequency first)
19:17:54 <kmc> to do this you use a local oscillator to generate a frequency near the frequencies of interest
19:17:58 <ais523> the main reason is that high-frequency circuitry is a pain to design and shield correctly, all sorts of weird things happen at high frequencies
19:18:17 <kmc> and then multiply that time-varying signal by the RF input to generate an "intermediate frequency" (IF) signal
19:18:20 <ais523> so you want to reduce the input to intermediate frequency as quickly as possible
19:19:00 <kmc> if the RF signal has frequency w_0 and the LO has frequency w_1 then you get IF at w_0 - w_1, plus another at w_0 + w_1 which is ignored
19:19:20 <kmc> cos(w_0 * t) * cos(w_1 * t) = (cos((w_0 + w_1) *t) + cos((w_0 - w_1)*t))/2
19:19:24 <kmc> that's a trig identity
19:19:30 <ais523> well, it's not so much ignored as filtered out
19:19:52 <ais523> the sum frequency is so high that your IF circuitry likely can't transmit it at all, and even if it could you'd just stick a low-pass filter on it
19:20:08 <kmc> and if you're sampling then you always need to LPF an ADC input or else you get aliasing
19:20:16 <ais523> filtering out RF (the sum frequency) from IF (the difference frequency) is trivial
19:20:18 <kmc> shachaf: with me so far?
19:22:45 <kmc> the next question is how to multiply two analog signals, and this seemed mysterious to me for a long time
19:22:59 <kmc> but you can actually use any nonlinear component
19:23:03 <kmc> for example a diode
19:23:26 <kmc> a diode has an exponential current vs. voltage response
19:23:37 <kmc> so it has an x^2 term in its taylor series
19:23:48 <kmc> and of course (a + b)^2 = a^2 + b^2 + 2ab
19:25:53 <kmc> shachaf: the last thing is, by shifting the spectrum around w_1 down to be centered at 0, you now have both positive and negative frequencies in your IF signal
19:26:03 <kmc> and of course cos(x) = cos(-x) so those will alias
19:26:10 <kmc> the solution is "quadrature sampling"
19:26:46 <kmc> you mix the signal with cos(w_1 * t), and a separate copy with sin(w_1*t) (or cos(w_1*t + pi/2) if you prefer)
19:27:02 <kmc> this is called I/Q sampling (in-phase vs. quadrature)
19:27:19 <kmc> and those values are conveniently represented as complex numbers
19:27:44 <kmc> so, while the RF signal is real-valued, the IF signal is complex-valued
19:28:08 <kmc> and of course you can fourier transform complex-valued signal just fine
19:28:27 <kmc> anyway that's how a superheterodyne radio works, and the stuff about digital sampling describes how a software-defined radio works
19:28:39 <kmc> and i was mostly talking in terms of receiving there but the same idea applies in reverse for transmission
19:30:58 -!- ais523 has quit (Quit: quit).
19:31:55 -!- AnotherTest has joined.
19:32:46 <kmc> glad you like
19:39:33 <b_jonas> kmc: all that sounds like it both needs a lot of simple electronic components, and that it's probably impossible to actually implement from components that exist in the real world rather then theoretical idealized components
19:39:56 <b_jonas> but in practice we know that it's not so, because people have built radios and televisions when electronics was primitive
19:40:03 <kmc> ...this is how most modern radios work
19:40:05 <kmc> so it's not impossible
19:40:11 <kmc> of course there are a ton of details in going from theory to practice
19:40:35 <b_jonas> kmc: modern radios can use modern electronics, which have a lot of components in a single chip, so that's sort of different
19:40:47 <kmc> old radios did not work this way
19:40:53 <kmc> but the superhet was invented in 1918
19:41:03 <kmc> like I said, all you need for a mixer is a diode
19:41:10 <kmc> and all you need for filters is inductors and capacitors
19:41:36 <kmc> and all you need for an amplifier or a local oscillator is a few vacuum tubes and some other simpler components
19:41:47 <kmc> of course radios back then were not doing digital sampling
19:41:54 <kmc> they were doing analog demodulation of AM or FM
19:41:58 <kmc> but that's also not too hard
19:41:59 <kmc> especially AM
19:43:03 <imode> crystal radios seem to be god damn magic to people.
19:43:19 <kmc> you can build an AM radio with passives and a single diode
19:43:28 <kmc> and no external power besides the incoming signal
19:43:58 <b_jonas> there's been old radios built from just vacuum tubes, with no semiconductor
19:43:58 <kmc> and solid state diodes existed long before the modern semiconductor era
19:44:45 <kmc> you can make a diode with a small wire contacting a lead sulfide crystal, or a graphite contact on a specially treated razor blade
19:45:00 <kmc> look up foxhole radios
19:45:02 <b_jonas> kmc: no external power? isn't that only possible with near field, which is limited to a few ten meters from an AM antenna?
19:45:16 <kmc> these are semiconductors, but not in the modern fabricated doped silicon sense
19:45:28 <kmc> they exhibit semiconducting physics but are made out of simple readily available materials
19:45:38 <kmc> b_jonas: no, any EM wave has power by definition
19:45:50 <imode> b_jonas: no, you can pick up AM signals pretty far away provided you have a reasonable antenna.
19:46:07 <kmc> a far field AM broadcast doesn't have much power but it has enough to power high-impedance earpiece
19:46:14 <kmc> I had a crystal set kit as a kid
19:46:39 <b_jonas> hmm, can you clarify what "pretty far away" and "reasonable antenna" mean?
19:46:50 <kmc> reasonable antenna = few meters long wire
19:47:26 <kmc> oh and the placement matters
19:47:29 <b_jonas> the near field for AM radios extends to about a kilometer, so "few ten meters" was an underestimate
19:47:30 <kmc> preferably above any obstructions
19:47:30 <imode> positioned at a reasonably high elevation or in the path of a broadcast, which usually means "be in the giant bubble of reception".
19:48:19 <kmc> AM stations put out tens of thousands of watts
19:48:23 <kmc> in fact it's a problem for us hams
19:48:39 <kmc> because they create interference on other nearby bands
19:48:53 <j4cbo> also it requires an extremely small amount of power to make audible noise in a headphone stuck into your ear
19:49:17 <kmc> I have a passive filter on my SDR which blocks AM broadcast band before it goes into the other circuitry (which could create intermodulation products)
19:49:21 <b_jonas> kmc: yeah, but there aren't many such bands. I think there's only one AM radio station remaining that's broadcast from Hungary.
19:49:35 <kmc> what? there's AM radio all over the USA
19:49:39 <b_jonas> that one is here to stay probably, at 540 kHz, to serve stuff abroad
19:49:42 <kmc> oh hey j4cbo fancy seeing you here
19:49:47 <kmc> b_jonas: are you thinking of longwave specifically?
19:49:49 <b_jonas> kmc: it is *all over* Hungary and more
19:50:06 <b_jonas> kmc: I don't think so. I think it's called middle wave
19:50:10 <kmc> 540 is the very bottom of the MW (normal broadcast AM) range
19:50:36 <kmc> I'd believe that hungary only has one station b/c it's a small country
19:50:54 <b_jonas> two about a decade ago, and more before
19:51:30 <b_jonas> they got rid of them because FM radio, digital television, satellite, and internet superceded it
19:52:32 <b_jonas> I think terrestrial analog television broadcasts in Hungary used AM sound, and lived slightly longer than any but that one AM radio station
19:52:57 <b_jonas> but I'm not really sure, I think most of them actually used FM sound
19:53:01 <b_jonas> I don't really know how that works
19:53:36 <b_jonas> there used to be multiple television bands, and one of them used FM sound between the two FM radio frequency ranges, but I'm not sure if that was the most common analog television band
19:54:51 <kmc> there are still hundreds of AM stations in the USA though
19:55:09 <b_jonas> the 540 kHz radio broadcast is kept mostly because it serves neighboring countries where it may be difficult to buy FM radio bands
19:55:15 <kmc> they are mostly sports, religious, and talk radio (predominantly right wing assholes)
19:55:32 <b_jonas> kmc: in what frequency range are those hundreds?
19:55:35 <j4cbo> also traffic alerts and the like
19:55:46 <kmc> oh yeah there are low power local stations when you like approach a bridge or w/e
19:55:49 <b_jonas> kmc: and at most how many are there receivable in any one location?
19:56:17 <kmc> b_jonas: 540-1600
19:56:28 <kmc> b_jonas: depends on location obviously, in a big city maybe 10
19:56:33 <kmc> in the middle o' nowhere one or two
19:56:51 <kmc> most of the music's on FM of course
19:57:16 <kmc> b_jonas: hungary uses DVB-T so audio and video are digital
19:57:20 <b_jonas> actually the internet says that there are more than one active AM radio stations in Hungary
19:57:21 <kmc> I assume the legacy analog TV was PAL
19:57:25 <b_jonas> I guess the others are less powerful
19:57:54 <b_jonas> kmc: yes, they stopped the analog television broadcasts several days ago, to free up frequencies especially for digital television
19:58:24 <b_jonas> analog radio is still used, but it's mostly on the western FM frequencies
19:58:47 <j4cbo> e.g. http://www.theradiosource.com/images/fas6000-icon2018.png
19:59:01 <kmc> google is failing me but I'm guessing PAL sound is FM on a subcarrier, like NTSC
19:59:06 <j4cbo> my car doesn't even have an AM radio
19:59:33 <b_jonas> kmc: I think it's tricky, they modulate the mono sound and the stereo term differently
19:59:43 <kmc> yes, the same is done for FM broadcast audio
19:59:53 <kmc> you send the sum of the channels, and then the difference on a subcarrier
19:59:57 <kmc> so a mono receiver gets the sum
20:00:02 <kmc> a lot of AM/FM radios can also tune TV audio
20:00:07 <kmc> nobody's mentioned shortwave yet!
20:00:10 <kmc> shortwave isn't dead!
20:00:16 <kmc> I've received all kinds of fun stuff at my house
20:00:25 <kmc> including cuban numbers stations from the other side of the continent
20:00:39 <kmc> also public broadcast programs from asia
20:00:46 <kmc> b_jonas: pretty much every time i've tried in the past year
20:00:57 <kmc> I am using a cheap SDR setup?
20:00:59 <kmc> I am using a cheap SDR setup
20:01:03 <b_jonas> received is certainly true, I've received radio on short wave and long wave within my life
20:01:10 <b_jonas> using consumer radio equipment
20:01:30 <kmc> I am licensed to transmit 1,500 watts on the nearby ham HF frequencies
20:02:22 <kmc> hams transmit TV sometimes, but you can only do full motion tV on the higher frequncy bands due to bandwidth limits
20:02:32 <kmc> so it's mostly "slow scan TV" which is really sending still images, slowly
20:03:43 <b_jonas> as for single diode, there are anecdotes that there have been messed up metal amalgam tooth fillings or braces or something that accidentally worked as a near field AM radio if the wearer went close enough to the high powered 540 kHz radio tower near Solt, but I don't know if this is true
20:04:54 <b_jonas> kmc: yes, and some hobby quadcopter people send analog television from a camera on their small flying machines to the ground
20:04:55 <kmc> I believe it
20:05:05 <kmc> b_jonas: yeah! FPV quadcopter
20:05:07 <kmc> sounds super fun
20:05:13 <kmc> that's usually on 2.4 or 5 GHz
20:05:16 <kmc> range is limited
20:06:22 <b_jonas> this works because you can get pretty close to the Solt radio tower on a paved road
20:06:59 <b_jonas> and it has a very high broadcast power, especially in the day
20:06:59 <zzo38> I do not have any shortwave bands radio but do have AM and FM. I sometimes listen to the CBC radio (including today), on 690 kHz AM radio.
20:07:12 <b_jonas> I think they decreased it some years ago, but it's still relatively high
20:08:11 <b_jonas> I used to listen to the 540 kHz Kossuth back long ago, but these days it has better FM broadcasts so it's no longer necessary unless you're receiving from outside Hungary
20:08:35 <b_jonas> (you can also listen to it on internet, but that doesn't make the AM broadcast redundant)
20:09:41 <kmc> poland for a long time operated a longwave station for the polish community abroad
20:10:24 <kmc> the warsaw radio mast was the tallest structure in the world 1974 - 1991
20:10:25 <b_jonas> yeah, https://www.ahrt.hu/hu/100-mhz-es-kozephullam confirms that there are multiple AM broadcasts done by Antenna Hungária alone. AH doesn't handle all FM broadcasts, so there might be more, but there probably aren't.
20:10:27 <kmc> then it collapsed :(
20:10:48 <kmc> shortwave can reach further than longwave, but not reliably as it's dependent on ionospheric conditions
20:11:03 <b_jonas> apparently they also have digital radio broadcasts, but I've never seen a digital radio receiver that wasn't built into a television
20:11:22 <kmc> there is an 11 year sunspot cycle which affects that, and is currently at a minimum
20:11:31 <kmc> so right now long distance ham stuff is harder than it will be in a few years
20:11:37 <kmc> b_jonas: my car receives digital radio
20:11:44 <kmc> they have multiple broadcasts per ferquency
20:11:48 <kmc> and muchbetter quality
20:11:52 <b_jonas> apparently the digital radio broadcast is still sort of experimental
20:11:56 <kmc> you can easily hear when it switches from analog to digital
20:11:58 <kmc> interesting
20:12:21 <kmc> btw. if you wanna see something really weird, it is possible to build a diode and even a triode using FIRE http://www.sparkbangbuzz.com/flame-amp/flameamp.htm
20:12:30 <kmc> basically it's like a vacuum tube, without the vacuum or the tube
20:13:09 <b_jonas> FM radio is very well spread because these days they put it in many mobile phones
20:13:37 <b_jonas> which they can do because you need only a very small antenna and a small chip
20:13:42 <kmc> im' not sure how many people use that
20:13:49 <kmc> I think they typically use the headphone cable as an antenna?
20:13:57 <b_jonas> yes, usually, but not exclusively
20:14:19 <b_jonas> it's still possible without a headphone, but most mobile phones don't support that
20:14:42 <b_jonas> and it works with any headphone cable, no need for any fancy addition in it
20:14:48 <b_jonas> so third party headphones work too
20:15:27 <kmc> you wouldn't need any different headphone cable though
20:15:27 <b_jonas> I sometimes use it because I always carry a mobile phone anyway, so this lets me receive radio easily
20:15:37 <kmc> it's just a wire
20:15:46 <kmc> well it's a few wires wired together, but you can deal with that easily enough
20:15:52 <kmc> i've never used it tho
20:15:56 <kmc> maybe i should install the app
20:15:58 <kmc> for emergencies
20:16:05 <kmc> I wish my portable ham radio could receive FM broadcast :(
20:16:13 <kmc> my old one did, but the new one is better in a lot of ways, but can't do that :(
20:16:31 -!- oerjan has joined.
20:16:36 <kmc> it can receive weather radio tho
20:16:39 <b_jonas> kmc: you can also buy a separate tiny FM radio that doesn't include a mobile phone
20:16:44 <b_jonas> for cheaper than a mobile phone
20:17:07 <b_jonas> they don't use much battery either
20:17:16 <b_jonas> I used those before they put them in mobile phones
20:17:43 <zzo38> I would want a portable radio that can receive AM too, not only FM. And preferably also other bands
20:17:56 <b_jonas> zzo38: AM is harder because it needs a larger antenna
20:18:09 <kmc> b_jonas: yeah but i carry the ham radio every day and don't want to carry another radio
20:18:15 <kmc> wife's parents are here, bbl
20:18:26 <b_jonas> kmc: how tiny is your ham radio?
20:18:47 <kmc> it's a yaesu ft-60r
20:18:49 <zzo38> b_jonas: Yes, with the lower frequency it would, I suppose, but you can have a antenna that you can extend when needed and collapse when it is not in use.
20:18:50 <kmc> normal walkie talkie size
20:19:15 <b_jonas> kmc: right, and FM radios are significantly smaller than that, so you could attach the two and get a device that does both
20:21:04 <b_jonas> zzo38: I'm not sure, but I think you need a wire coil over a decimeter in diameter with both ends connected to the radio to get an AM antenna: that fit easily in old portable radios, but you can't really fit them in a mobile phone
20:21:34 <b_jonas> kmc: yes, if you allow for the headphone wire as an antenna as with a mobile phone
20:21:42 <zzo38> That is fine; I don't have a mobile phone
20:21:53 <kmc> b_jonas: link?
20:22:14 <b_jonas> hmm, let me try to find one on ebay
20:22:31 <b_jonas> I used to own one before ebay existed, but I can't link to that
20:24:35 <b_jonas> apparently these days they're built together with music players that play from either a micro-SD card or a soldered-on solid state memory, and they have a small battery charged by USB
20:25:33 <b_jonas> I'm trying to find one that includes a clear picture to show its size
20:25:51 <oerjan> <b_jonas> Is a comedian the same as a median? <-- hm yes it would appear so
20:29:54 <b_jonas> kmc: https://www.ebay.com/itm/121963260758 at least includes a picture clearly showing the USB A port connector on it
20:31:05 <b_jonas> that one is not ideal, because it probably has a rather short battery life, but ones with a non-rechargable button battery and a longer life used to exist
20:36:37 <b_jonas> https://www.ebay.com/itm/173405038518 is battery-powered, is of size 0.09x0.04, and does AM middle wave too, which sort of proves me wrong about the large coil
20:36:54 <b_jonas> portable radio that receives AM
20:37:03 <b_jonas> uses headphone, doesn't include speaker
20:37:36 <b_jonas> so it's a bit larger if you include the size of a headphone and cable
20:45:17 <b_jonas> https://www.ebay.com/itm/170850268747 is a rather small FM one that can be powered from non-rechargable batteries
20:45:39 <b_jonas> I don't see how to find one with a small non-rechargable battery though
20:45:44 <b_jonas> even though I think those used to exist
20:49:10 <b_jonas> zzo38: https://www.ebay.com/itm/263754834261 is a smaller AM/FM one
20:51:48 <b_jonas> https://www.ebay.com/itm/183264250655 is an AM/FM one that's both small and cheap
20:53:21 <b_jonas> there probably exist one somewhere that doesn't include a built-in battery or battery holder but takes only external power, which is what you'd want for combining in an existing HAM radio, and it's possible that you can get one from one of the consumer ones sold on ebay by forcibly cutting off the battery compartment
20:53:47 <b_jonas> or possibly by cutting off the battery compartment and attaching an antenna
20:54:12 <b_jonas> not necessarily the ones I linked above, there are more variations of these on ebay
21:06:38 -!- arseniiv has quit (Ping timeout: 246 seconds).
21:12:26 <zzo38> I thought of some variant of rule of Scrabble. One is that the next letter to be drawn is exposed to both players (even if it is not your turn), but if you have to draw more than one letter still only one is exposed.
21:23:05 <b_jonas> zzo38: hmm. IIRC that works differently from M:tG, because in M:tG if there's a static effect that reveals the top of a library, and its owner draws multiple cards from it, then each of them will be revealed on the library
21:27:02 <b_jonas> this doesn't come up often, because those static effects don't occurr on common cards, and there are very few uncommons that use it
21:27:52 <HackEso> Goblin Spy \ R \ Creature -- Goblin Rogue \ 1/1 \ Play with the top card of your library revealed. \ IN-U \ \ Goblin Spymaster \ 2R \ Creature -- Goblin Rogue \ 2/1 \ First strike \ At the beginning of each opponent's end step, that player creates a 1/1 red Goblin creature token with "Creatures you control attack each combat if able." \ C16-R
21:28:05 <b_jonas> `card-by-name Lantern of Insight
21:28:06 <HackEso> Lantern of Insight \ 1 \ Artifact \ Players play with the top card of their libraries revealed. \ {T}, Sacrifice Lantern of Insight: Target player shuffles their library. \ 5DN-U
21:31:10 <b_jonas> and I don't think there's any simple effect that makes just your opponent play with the top card of their library revealed
21:35:27 <b_jonas> I wonder what an enchantment with just "Opponents play with their hand and the top card of their library revealed." would cost. It would probably cost something between U and 1UUU, but I don't know how much.
21:49:15 -!- Cale has quit (Ping timeout: 250 seconds).
21:59:44 -!- Bob has quit (Read error: Connection reset by peer).
22:00:54 -!- bobby has joined.
22:02:18 -!- Cale has joined.
22:03:53 -!- bobby has quit (Excess Flood).
22:04:22 -!- bobby has joined.
22:15:54 -!- wumpus1 has joined.
23:12:56 -!- AnotherTest has quit (Ping timeout: 240 seconds).
23:44:13 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
23:45:16 -!- Lord_of_Life has joined.