00:36:01 -!- copumpkin has quit (Ping timeout: 244 seconds). 00:51:10 -!- oerjan has quit (Quit: Nite). 01:01:04 `iata nyc 01:01:05 All Airports (NYC, ?) 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 [[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= [[Golfuck]] https://esolangs.org/w/index.php?diff=59668&oldid=59667 * A * (+263) 09:32:07 [[Golfuck]] https://esolangs.org/w/index.php?diff=59669&oldid=59668 * A * (+26) 09:32:53 [[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 [[Golfuck]] https://esolangs.org/w/index.php?diff=59671&oldid=59670 * A * (+650) 09:40:46 [[Golfuck]] https://esolangs.org/w/index.php?diff=59672&oldid=59671 * A * (+8) /* Implementation in C++ */ 09:44:52 [[Golfuck]] https://esolangs.org/w/index.php?diff=59673&oldid=59672 * A * (-2) /* Partial implementation in C++ */ 09:45:34 [[Golfuck]] https://esolangs.org/w/index.php?diff=59674&oldid=59673 * A * (-8) /* Commands added */ 09:45:52 [[Golfuck]] https://esolangs.org/w/index.php?diff=59675&oldid=59674 * A * (-38) /* Commands added(still extending) */ 09:46:22 [[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 [[Golfuck]] https://esolangs.org/w/index.php?diff=59677&oldid=59676 * A * (+72) 09:53:16 [[Truth-machine]] https://esolangs.org/w/index.php?diff=59678&oldid=59630 * A * (+24) /* GolfScript */ 09:53:37 [[Truth-machine]] https://esolangs.org/w/index.php?diff=59679&oldid=59678 * A * (+1) whoops 09:55:06 [[List of quines]] https://esolangs.org/w/index.php?diff=59680&oldid=59592 * A * (+26) /* Glass */ 09:56:52 [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=59681&oldid=59577 * A * (+32) /* Goldfish */ 09:58:34 [[Golfuck]] https://esolangs.org/w/index.php?diff=59682&oldid=59677 * A * (-862) Too lazy to write an interpreter 09:59:33 [[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 [[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 [[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 [[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:30 `" 11:49:31 268) I use LiGNUXFCE+apps That's pronounced by saying "Linux" and then vomiting, btw. \ 48) both of you, quit it with the f-bombs. kaelis: what's the matter? something censoring stuff you're interested in? 11:55:57 [[Golfuck]] https://esolangs.org/w/index.php?diff=59687&oldid=59685 * A * (+281) /* Partial implementation in C */ 12:04:14 [[Golfuck]] https://esolangs.org/w/index.php?diff=59688&oldid=59687 * A * (+70) /* Partial implementation in C++ */ 12:06:47 [[Golfuck]] https://esolangs.org/w/index.php?diff=59689&oldid=59688 * A * (+113) /* Commands added(still extending) */ 12:07:14 [[Golfuck]] https://esolangs.org/w/index.php?diff=59690&oldid=59689 * A * (-85) /* Commands added(still extending) */ 12:07:45 [[Golfuck]] https://esolangs.org/w/index.php?diff=59691&oldid=59690 * A * (-7) /* Commands added(still extending) */ 12:16:21 [[Golfuck]] https://esolangs.org/w/index.php?diff=59692&oldid=59691 * A * (-39) /* Commands added(still extending) */ 12:18:01 [[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 [[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 [[Golfuck]] https://esolangs.org/w/index.php?diff=59695&oldid=59694 * A * (-25) /* Cat program(string version, hexdump) */ 12:31:52 [[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 Is a comedian the same as a median? 13:29:58 [[Golfuck]] https://esolangs.org/w/index.php?diff=59697&oldid=59696 * A * (+193) /* Partial implementation in C++ */ 13:32:49 [[Golfuck]] https://esolangs.org/w/index.php?diff=59698&oldid=59697 * A * (+46) Fix nested parenthases 13:37:25 -!- ais523 has joined. 13:38:25 @messages? 13:38:25 Sorry, no messages today. 13:39:01 @metar egbb 13:39:03 EGBB 021320Z 35013KT 9999 FEW024 04/M02 Q1010 13:40:46 fizzie: in object-oriented languages, it's often hard to know what's a method versus a function versus a builder 13:40:55 so a hoogle-alike would either have to check all possibilities or require the user to do so 13:41:04 (also the problem is often working out what object to use, not what method to use) 13:41:38 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 b_jonas: re esolang deployment, I'd say TIO is probably the leader in that at the moment 13:51:56 @oeis 24184 25008 2720 13:51:57 Sequence not found. 13:52:04 why does OEIS not find this? 13:52:21 strange 13:52:57 ais523: that seems likely. is TIO associated with freenode/#esoteric in some way? 13:53:58 `? TIO 13:53:59 TIO? ¯\(°​_o)/¯ 13:54:11 b_jonas: it has a chat room on chat.stackexchange.com 13:54:55 `learn TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs 13:54:57 Learned 'tio': TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs 13:55:05 @oeis 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 13:55:11 https://oeis.org/A001511 The ruler function: 2^a(n) divides 2n. Or, a(n) = 2... 13:55:12 [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 perlbot used to have an oeis search primitive built in too, but it's bitrotten since 14:01:10 how do you accent “abacaba”? I seem to gravitate to the third syllable 14:02:41 > fix((1:).(>>=(:[1]).succ)) 14:02:43 [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:04:07 ,aba'caba 14:06:21 I guess the pattern continues like this: ,aba'caba,aba"daba,aba'caba 14:07:01 (or maybe the next step is a short pause... ,aba'caba,aba daba,aba'caba) 14:14:58 -!- FreeFull has joined. 14:15:22 int-e: there’s something wrong, no two adjacent letters should be the same 14:18:13 [ 1 i.#:}:i.2^8 14:18:14 b_jonas: 1 1 1 1 1 1 1 1 14:18:14 b_jonas: 1 1 1 1 1 1 1 0 14:18:14 b_jonas: 1 1 1 1 1 1 0 1 14:18:14 b_jonas: 1 1 1 1 1 1 0 0 14:18:14 b_jonas: 1 1 1 1 1 0 1 1 14:18:14 b_jonas: 1 1 1 1 1 0 1 0 14:18:14 b_jonas: 1 1 1 1 1 0 0 1 14:18:15 b_jonas: 1 1 1 1 1 0 0 0 14:18:15 b_jonas: ... 14:18:16 no! 14:18:18 sorry 14:21:05 arseniiv: yeah I realized that a minute later but didn't bother to fix it. 14:21:44 [ 1 i.~"1|."1 #:}.i.2^8 14:21:45 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 [ a.{~97+1 i.~"1|."1 #:}.i.2^8 14:22:01 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacaba 14:22:53 > fix(('a':).(>>=(:['a']).succ)) 14:22:55 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 14:23:02 jabba] 14:23:38 yay I have a shorter nick so I get two extra characters for golfing ;-) 14:24:02 throw in a (var) to remove the double quote :-) 14:24:03 > fix$('a':).(>>=(:['a']).succ) 14:24:05 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 14:24:13 or does var not work for infinite strings? 14:24:44 according to oerjan, `var` works for infinite strings whereas `text` does not. 14:25:03 it does 14:25:09 > fix$('a':).(>>=(:"a").succ) 14:25:11 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 14:25:12 @run var (cycle "long string ") 14:25:14 long string long string long string long string long string long string long... 14:25:32 also, it turns out that lambdabot gives a much longer result in private message 14:26:11 Yes, you only have yourself to blame if it spams you privately... 14:26:23 :D 14:27:44 [ a.{~97+([:,0,"0>:)^:9]0 14:27:44 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 14:28:57 or, if you want to golf, 14:28:59 [ u:97+,@(0,.>:)^:9]0 14:28:59 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 14:29:27 J doesn't handle infinite expressions, so this output is only 512 bytes long 14:29:32 um 14:29:36 I mean infinite lists 14:34:33 oh no 14:34:50 now we should invent an esolang with infinite expressions 14:35:10 (as if it wasn’t invented yet… I bet it was) 14:35:42 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 some esolangs have such a thing too 14:36:06 . o O ( hm, could I golf abacaba in C# in a reasonable amount of code ) 14:37:26 even among esolangs that aren't brainfuck-alikes 14:54:11 > fromEnum 'a' 14:54:13 97 15:00:09 > fromEnum 'j' 15:00:12 106 15:00:47 okay I’m not a golfer at all, so the result is this long: 15:00:50 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 > 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:01:16 112 15:02:12 oh, sorry, TIO shows the length in plain sight 15:06:37 looks nice 15:07:12 hmm, would that be shorter in J than the one I showed above? let me see 15:10:08 [ (],,)/a.{~105-i.9 15:10:09 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 15:10:20 [ (],,)/u:105-i.9 15:10:21 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 15:10:25 yeah, it's shorter 15:10:35 [ u:97+,@(0,.>:)^:9]0 15:10:36 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 15:11:30 arseniiv: you're right, writing it that way is shorter if you don't have infinite lists 15:11:44 although 15:11:51 infinite lists might not be the discriminator 15:12:15 I wonder how long a Haskell this would translate to. 15:12:31 it would be some fold or another 15:15:21 > foldl(\x y->x++y:x)[]['a'..'j'] 15:15:23 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:15:26 > foldr(ap(++).(:))[]"jihgfedcba" 15:15:29 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:16:15 > foldl(\x y->x++y:x)[]['a'..'j'] 15:16:17 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:16:28 yeah, that 15:17:52 > foldl(\x y->x++y:x)[]['a'..] -- probably too slow 15:17:59 mueval-core: Time limit exceeded 15:18:07 @pl \x y->x++y:x 15:18:07 liftM2 (.) (++) (flip (:)) 15:18:11 @pl \y x->x++y:x 15:18:12 ap (++) . (:) 15:18:32 int-e: "too slow" heh 15:18:50 > length ['a'..] 15:18:53 1114015 15:19:06 it's a finite list, just a pretty long one. 15:19:10 > foldr(ap(++).(:))[]"gfedcba" 15:19:12 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:19:24 ah 15:19:48 so the fold would be two to that power long, which is greater than 2**256 so it never terminates 15:20:09 well... theoretically I disagree :) 15:21:29 In practice it will run out of memory in a reasonable amount of time. 15:21:59 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 (it will also print a few million characters because of laziness) 15:23:09 yeah both these numbers seem to be reasonably safe upper bounds. :) 15:23:54 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 we want the crypto to be unbreakable even if Eve is somewhat lucky 15:24:26 sure 15:27:18 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 and the heuristic gets harder for public key crypto because we can't use just trap functions to implement them 15:28:27 b_jonas: I’m glad my long code helped you shorten the J one :) 15:28:41 arseniiv: it's not long. it fits in an irc line. 15:28:45 comfortably. 15:29:25 it'd still fit in an irc line if you translated it to java. 15:30:05 :D 15:30:28 but I thought it should be as small as possible 15:31:12 I even tried to write some cleverness like "using C = System.Console", but it proved to be longer 15:31:46 yeah, that doesn't help if you only have one reference to System.Console in the code 15:31:53 s/as small as possible/smaller than I think it’s really possible 15:32:33 b_jonas: exactly 15:34:04 `? ASAP 15:34:06 ASAP? ¯\(°​_o)/¯ 15:35:40 Hmm maybe not millions... it was up to 24GB after printing 451 characters. 15:35:52 `learn ASAP, in code golf, means as small as possible 15:35:54 Learned 'asap': ASAP, in code golf, means as small as possible 15:36:20 I have no good mental model for how this should grow over time. 15:39:43 > foldl(\x y->x.(y:).x)id['a'..][] 15:39:46 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:47:56 > map(\x->chr$97+popCount(x.&.(-x)-1))[1..] 15:47:58 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:48:06 ^ how do you golf this one? 15:49:25 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 @pl map(\x->chr$97+popCount(x.&.(-x)-1))[1..] 15:51:28 map (chr . (97 +) . popCount . subtract 1 . ap (.&.) negate) [1..] 15:57:27 @pl map(\x->chr$97+popCount(-1-(-x.|.x)))[1..] 15:57:27 map (chr . (97 +) . popCount . negate . (-) 1 . negate . join (.|.)) [1..] 15:57:48 what? 15:58:03 @pl \x-> -1-x 15:58:03 (line 1, column 6): 15:58:03 unexpected "-" 15:58:03 expecting lambda abstraction or expression 15:58:10 @pl -1-x 15:58:11 (line 1, column 1): 15:58:11 unexpected "-" 15:58:11 expecting white space, "()", natural, identifier, lambda abstraction or expression 15:59:08 > (-1-5) 15:59:10 -6 15:59:11 @pl (-1-5) 15:59:11 4 15:59:18 is this a bug? 16:03:20 > map(\x->chr$97+popCount((-1)-(-x.|.x)))[1..] 16:03:22 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 16:03:24 @pl map(\x->chr$97+popCount((-1)-(-x.|.x)))[1..] 16:03:25 map (chr . (97 +) . popCount . (-) -1 . negate . join (.|.)) [1..] 16:03:27 workaround 16:03:52 huh? 16:04:15 that still doesn't quite look right 16:04:49 oh, it is 16:06:53 > (- 1-5) 16:06:56 -6 16:07:19 oh well, @pl being buggy is not exactly a new thing. 16:08:18 @pl (- 1-5) 16:08:19 4 16:08:40 I wasn't thinking clearly or I would not even have tried that. 16:08:48 > -(1-5) 16:08:51 4 16:10:36 meh, with haskell you never know 16:11:04 I think in ruby the spaces can matter in some expression involving unary negation 16:13:09 yeah, (f -2) is a method call (f(-2)), but (f-2) is a subtraction (f.-2) 16:14:02 and that's just the simplest case 16:14:06 ruby syntax is complicated 16:14:48 also (f - 2) and (f- 2) are also subtraction 16:16:05 and by the way, (-x) desugars to the method call (x.-@) 16:16:25 @pl div 4 5 16:16:25 0 16:16:38 @pl (-1`mod`2) 16:16:38 -1 16:16:45 > -1`mod`2 16:16:48 -1 16:16:52 hrm 16:17:07 um 16:17:25 try with different numbers, for (-(1`mod`2)) and ((-1)`mod`2) are equal 16:17:32 no they are not 16:17:41 > (-1)`mod`2 16:17:43 1 16:17:52 > (-1)`rem`2 16:17:55 -1 16:18:00 oh, maybe that's one of the other mod operations 16:18:25 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 @pl -1==2 16:18:34 (line 1, column 1): 16:18:34 unexpected "-" 16:18:34 expecting white space, "()", natural, identifier, lambda abstraction or expression 16:18:58 @pl (-1)==2 16:18:58 False 16:19:35 @pl (-1==2) 16:19:36 negate False 16:19:46 > -1==2 16:19:48 False 16:19:50 > (-1==2) 16:19:53 False 16:19:55 > negate False 16:19:57 error: 16:19:57 • No instance for (Num Bool) arising from a use of ‘negate’ 16:19:57 • In the expression: negate False 16:23:01 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 (which the @pl parser is using) 16:23:28 Arguably it should use haskell-src-exts instead. 16:24:55 hmm 16:26:55 -- 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 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 @pl \x y z -> ((x z) (y z)) 16:56:21 ap 17:07:47 b_jonas: well that narrows it down to 69 pages. 17:08:37 int-e: vol 4A page 168 17:10:06 Yeah I see. So it is the standard trigonometric function. 17:10:20 int-e: "standard" 17:13:56 Nah, I think they are standard. Programming languages make a bad measuring stick for what constitutes a standard function in mathematics. 17:20:23 first it’s a secant, and then there are haversines all over the place 17:25:37 -!- sleepnap has joined. 17:31:27 `? hoversine 17:31:28 hoversine? ¯\(°​_o)/¯ 17:31:31 `? hovercraft 17:31:32 a-é-ro-g-liss-e-ur. If you mention eels, you'll get smacked with one of them in a most unappropriate manner. 17:31:47 `? havercraft 17:31:48 havercraft? ¯\(°​_o)/¯ 17:31:50 `? haversine 17:31:51 haversine? ¯\(°​_o)/¯ 17:33:28 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 (and that's carried on to https://dlmf.nist.gov/4.14 ) 17:35:56 are there definitions for ver-hyperbolic functions? 17:42:30 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 versinh doesn't make much sense because sinh isn't bounded 18:42:46 there isn't a vertan for the same reason 18:43:42 ais523: there's an extan, but sure 18:43:58 no wait 18:44:02 there's only an exsec 18:44:10 hmm 18:45:25 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:07 == 18:48:18 I'm skeptical of defining too many special-case names. 18:48:43 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 shachaf: do you think sin or cos is more fundamental? 19:04:42 i think cos but i forgot why 19:04:47 some stuff with fourier series comes out nicer? 19:11:01 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 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 shachaf: do you know the thing about RF mixing and trig identities and nonlinear devices and taylor series? 19:13:13 which basically describes how all modern radios work 19:13:33 not very 19:13:41 ok i will tell you whether you like it or not! 19:13:53 because it is some Cool Math 19:15:23 suppose you have a radio which can tune frequencies over a wide range 19:16:07 for various engineering reasons, you often want to shift the signals of interest into a fixed frequency range 19:17:01 (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 to do this you use a local oscillator to generate a frequency near the frequencies of interest 19:17:58 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 and then multiply that time-varying signal by the RF input to generate an "intermediate frequency" (IF) signal 19:18:20 so you want to reduce the input to intermediate frequency as quickly as possible 19:19:00 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 cos(w_0 * t) * cos(w_1 * t) = (cos((w_0 + w_1) *t) + cos((w_0 - w_1)*t))/2 19:19:24 that's a trig identity 19:19:30 well, it's not so much ignored as filtered out 19:19:46 sure 19:19:52 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 and if you're sampling then you always need to LPF an ADC input or else you get aliasing 19:20:11 anyway 19:20:16 filtering out RF (the sum frequency) from IF (the difference frequency) is trivial 19:20:18 shachaf: with me so far? 19:21:45 Maybe? 19:22:45 the next question is how to multiply two analog signals, and this seemed mysterious to me for a long time 19:22:59 but you can actually use any nonlinear component 19:23:03 for example a diode 19:23:26 a diode has an exponential current vs. voltage response 19:23:37 so it has an x^2 term in its taylor series 19:23:48 and of course (a + b)^2 = a^2 + b^2 + 2ab 19:24:09 oh wow 19:25:53 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 and of course cos(x) = cos(-x) so those will alias 19:26:10 the solution is "quadrature sampling" 19:26:46 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 this is called I/Q sampling (in-phase vs. quadrature) 19:27:19 and those values are conveniently represented as complex numbers 19:27:44 so, while the RF signal is real-valued, the IF signal is complex-valued 19:28:08 and of course you can fourier transform complex-valued signal just fine 19:28:27 anyway that's how a superheterodyne radio works, and the stuff about digital sampling describes how a software-defined radio works 19:28:39 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 p. fancy 19:31:55 -!- AnotherTest has joined. 19:32:45 :) 19:32:46 glad you like 19:39:33 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 but in practice we know that it's not so, because people have built radios and televisions when electronics was primitive 19:40:03 ...this is how most modern radios work 19:40:05 so it's not impossible 19:40:11 of course there are a ton of details in going from theory to practice 19:40:35 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 old radios did not work this way 19:40:53 but the superhet was invented in 1918 19:41:03 like I said, all you need for a mixer is a diode 19:41:10 and all you need for filters is inductors and capacitors 19:41:36 and all you need for an amplifier or a local oscillator is a few vacuum tubes and some other simpler components 19:41:47 of course radios back then were not doing digital sampling 19:41:54 they were doing analog demodulation of AM or FM 19:41:58 but that's also not too hard 19:41:59 especially AM 19:43:03 crystal radios seem to be god damn magic to people. 19:43:19 you can build an AM radio with passives and a single diode 19:43:28 and no external power besides the incoming signal 19:43:58 there's been old radios built from just vacuum tubes, with no semiconductor 19:43:58 and solid state diodes existed long before the modern semiconductor era 19:44:45 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 look up foxhole radios 19:45:02 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 these are semiconductors, but not in the modern fabricated doped silicon sense 19:45:28 they exhibit semiconducting physics but are made out of simple readily available materials 19:45:38 b_jonas: no, any EM wave has power by definition 19:45:50 b_jonas: no, you can pick up AM signals pretty far away provided you have a reasonable antenna. 19:46:07 a far field AM broadcast doesn't have much power but it has enough to power high-impedance earpiece 19:46:10 (faintly) 19:46:14 I had a crystal set kit as a kid 19:46:15 it's fun 19:46:39 hmm, can you clarify what "pretty far away" and "reasonable antenna" mean? 19:46:50 reasonable antenna = few meters long wire 19:47:26 oh and the placement matters 19:47:29 the near field for AM radios extends to about a kilometer, so "few ten meters" was an underestimate 19:47:30 preferably above any obstructions 19:47:30 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 AM stations put out tens of thousands of watts 19:48:23 in fact it's a problem for us hams 19:48:39 because they create interference on other nearby bands 19:48:53 also it requires an extremely small amount of power to make audible noise in a headphone stuck into your ear 19:49:17 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 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 what? there's AM radio all over the USA 19:49:39 that one is here to stay probably, at 540 kHz, to serve stuff abroad 19:49:42 oh hey j4cbo fancy seeing you here 19:49:47 b_jonas: are you thinking of longwave specifically? 19:49:49 kmc: it is *all over* Hungary and more 19:49:54 sup 19:50:06 kmc: I don't think so. I think it's called middle wave 19:50:10 540 is the very bottom of the MW (normal broadcast AM) range 19:50:12 540 kHz frequency 19:50:14 that, yes 19:50:27 longwave is older 19:50:36 I'd believe that hungary only has one station b/c it's a small country 19:50:44 kmc: it used to have more 19:50:54 two about a decade ago, and more before 19:51:30 they got rid of them because FM radio, digital television, satellite, and internet superceded it 19:52:32 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 but I'm not really sure, I think most of them actually used FM sound 19:53:01 I don't really know how that works 19:53:36 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 there are still hundreds of AM stations in the USA though 19:55:09 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 they are mostly sports, religious, and talk radio (predominantly right wing assholes) 19:55:32 kmc: in what frequency range are those hundreds? 19:55:35 also traffic alerts and the like 19:55:46 oh yeah there are low power local stations when you like approach a bridge or w/e 19:55:49 kmc: and at most how many are there receivable in any one location? 19:56:17 b_jonas: 540-1600 19:56:28 b_jonas: depends on location obviously, in a big city maybe 10 19:56:33 in the middle o' nowhere one or two 19:56:51 most of the music's on FM of course 19:57:04 hmm 19:57:16 b_jonas: hungary uses DVB-T so audio and video are digital 19:57:20 actually the internet says that there are more than one active AM radio stations in Hungary 19:57:21 I assume the legacy analog TV was PAL 19:57:25 I guess the others are less powerful 19:57:54 kmc: yes, they stopped the analog television broadcasts several days ago, to free up frequencies especially for digital television 19:58:24 analog radio is still used, but it's mostly on the western FM frequencies 19:58:47 e.g. http://www.theradiosource.com/images/fas6000-icon2018.png 19:59:01 google is failing me but I'm guessing PAL sound is FM on a subcarrier, like NTSC 19:59:06 my car doesn't even have an AM radio 19:59:33 kmc: I think it's tricky, they modulate the mono sound and the stereo term differently 19:59:43 yes, the same is done for FM broadcast audio 19:59:45 but I'm not sure 19:59:53 you send the sum of the channels, and then the difference on a subcarrier 19:59:57 so a mono receiver gets the sum 20:00:02 a lot of AM/FM radios can also tune TV audio 20:00:03 btw 20:00:07 nobody's mentioned shortwave yet! 20:00:10 shortwave isn't dead! 20:00:16 I've received all kinds of fun stuff at my house 20:00:25 including cuban numbers stations from the other side of the continent 20:00:32 kmc: how long ago? 20:00:39 also public broadcast programs from asia 20:00:46 b_jonas: pretty much every time i've tried in the past year 20:00:57 I am using a cheap SDR setup? 20:00:59 I am using a cheap SDR setup 20:01:03 received is certainly true, I've received radio on short wave and long wave within my life 20:01:10 using consumer radio equipment 20:01:30 I am licensed to transmit 1,500 watts on the nearby ham HF frequencies 20:01:31 :D 20:01:41 and analog television too 20:02:22 hams transmit TV sometimes, but you can only do full motion tV on the higher frequncy bands due to bandwidth limits 20:02:32 so it's mostly "slow scan TV" which is really sending still images, slowly 20:03:43 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:53 hahaha 20:04:54 kmc: yes, and some hobby quadcopter people send analog television from a camera on their small flying machines to the ground 20:04:55 I believe it 20:05:05 b_jonas: yeah! FPV quadcopter 20:05:07 sounds super fun 20:05:13 that's usually on 2.4 or 5 GHz 20:05:16 range is limited 20:06:22 this works because you can get pretty close to the Solt radio tower on a paved road 20:06:59 and it has a very high broadcast power, especially in the day 20:06:59 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:01 still 20:07:12 I think they decreased it some years ago, but it's still relatively high 20:07:23 zzo38: I see 20:08:11 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 (you can also listen to it on internet, but that doesn't make the AM broadcast redundant) 20:09:41 poland for a long time operated a longwave station for the polish community abroad 20:10:24 the warsaw radio mast was the tallest structure in the world 1974 - 1991 20:10:25 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 then it collapsed :( 20:10:48 shortwave can reach further than longwave, but not reliably as it's dependent on ionospheric conditions 20:11:03 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 there is an 11 year sunspot cycle which affects that, and is currently at a minimum 20:11:31 so right now long distance ham stuff is harder than it will be in a few years 20:11:37 b_jonas: my car receives digital radio 20:11:44 they have multiple broadcasts per ferquency 20:11:48 and muchbetter quality 20:11:52 apparently the digital radio broadcast is still sort of experimental 20:11:56 you can easily hear when it switches from analog to digital 20:11:58 interesting 20:12:21 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 basically it's like a vacuum tube, without the vacuum or the tube 20:13:09 FM radio is very well spread because these days they put it in many mobile phones 20:13:37 mhm 20:13:37 which they can do because you need only a very small antenna and a small chip 20:13:42 im' not sure how many people use that 20:13:49 I do use it 20:13:49 I think they typically use the headphone cable as an antenna? 20:13:57 yes, usually, but not exclusively 20:14:19 it's still possible without a headphone, but most mobile phones don't support that 20:14:22 or so it seems 20:14:42 and it works with any headphone cable, no need for any fancy addition in it 20:14:48 so third party headphones work too 20:14:56 wired ones obviously 20:15:00 not bluetooth ones 20:15:20 ok 20:15:20 cool 20:15:27 you wouldn't need any different headphone cable though 20:15:27 I sometimes use it because I always carry a mobile phone anyway, so this lets me receive radio easily 20:15:37 it's just a wire 20:15:46 well it's a few wires wired together, but you can deal with that easily enough 20:15:52 i've never used it tho 20:15:56 maybe i should install the app 20:15:58 for emergencies 20:16:05 I wish my portable ham radio could receive FM broadcast :( 20:16:13 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 it can receive weather radio tho 20:16:39 kmc: you can also buy a separate tiny FM radio that doesn't include a mobile phone 20:16:44 for cheaper than a mobile phone 20:17:07 they don't use much battery either 20:17:16 I used those before they put them in mobile phones 20:17:43 I would want a portable radio that can receive AM too, not only FM. And preferably also other bands 20:17:56 zzo38: AM is harder because it needs a larger antenna 20:18:09 b_jonas: yeah but i carry the ham radio every day and don't want to carry another radio 20:18:15 wife's parents are here, bbl 20:18:26 kmc: how tiny is your ham radio? 20:18:47 it's a yaesu ft-60r 20:18:49 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 normal walkie talkie size 20:19:15 kmc: right, and FM radios are significantly smaller than that, so you could attach the two and get a device that does both 20:20:41 are they? 20:21:04 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 kmc: yes, if you allow for the headphone wire as an antenna as with a mobile phone 20:21:42 That is fine; I don't have a mobile phone 20:21:53 b_jonas: link? 20:22:14 hmm, let me try to find one on ebay 20:22:31 I used to own one before ebay existed, but I can't link to that 20:24:35 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 I'm trying to find one that includes a clear picture to show its size 20:25:51 Is a comedian the same as a median? <-- hm yes it would appear so 20:29:54 kmc: https://www.ebay.com/itm/121963260758 at least includes a picture clearly showing the USB A port connector on it 20:31:05 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 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:43 zzo38: ^ 20:36:54 portable radio that receives AM 20:37:00 OK 20:37:03 uses headphone, doesn't include speaker 20:37:36 so it's a bit larger if you include the size of a headphone and cable 20:45:17 https://www.ebay.com/itm/170850268747 is a rather small FM one that can be powered from non-rechargable batteries 20:45:39 I don't see how to find one with a small non-rechargable battery though 20:45:44 even though I think those used to exist 20:49:10 zzo38: https://www.ebay.com/itm/263754834261 is a smaller AM/FM one 20:49:17 but it's more expensive 20:51:48 https://www.ebay.com/itm/183264250655 is an AM/FM one that's both small and cheap 20:53:21 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 or possibly by cutting off the battery compartment and attaching an antenna 20:54:12 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 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 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 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:51 `card-by-name Goblin Spy 21:27:52 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 `card-by-name Lantern of Insight 21:28:06 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 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:32:25 hmm 21:35:27 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.