00:00:07 there are crazy randomized sorting algorithms that have o(1) sub-runtimes 00:00:08 hppavilion[1]: there is a number x_0 above which f(x) is always 0 00:00:14 Ah 00:00:25 alercah: How is that not just O(1) then? 00:00:35 hppavilion[1]: the constant function 1 is O(1) but not O(0) 00:00:48 (or, well, O(whatever the complexity of > is)) 00:00:49 if f \in O(g), then O(f) \subseteq O(g) 00:01:00 like, "input is bad 1/n^2 of the time, in this case just quicksort" will lead to (n log n)/n^2 being in o(1) 00:01:40 myname: quicksort isn't actually O(n log n)… 00:01:41 also I'm not convinced O(∞) is a real complexity class <-- i'd think it is a reasonably notation for the trivial "everything" class 00:01:53 myname: how do you know that the input is bad only 1/n^2 of the time, though? 00:02:00 ais523: it's not? 00:02:07 oh yeah 00:02:08 myname: also no practical algorithm can be o(1) 00:02:12 myname: it's O(n²) worst case 00:02:14 well, randomized quicksort 00:02:24 or heapsort, whatever 00:02:28 and although you have control over what the worst case is (and can make it random via randomized quicksort), you can never guarantee you don't hit it 00:02:29 you might be thinking o(n) 00:03:04 alercah: math voodoo 00:03:05 alercah: I think o(n) is dubious due to space ≤ time 00:03:17 if something runs faster than O(n) it can't possibly look at all the input 00:03:36 I think myname is saying a probabilistic algorithm though 00:03:37 although that makes sense for things like mutating a data structure, where the whole point is that you don't want to look at the structure itself 00:03:47 (which is distinct from a randomized algorithm) 00:03:55 alercah: right 00:03:57 myname: o(1) means that there is no minimum time 00:04:21 (other than 0, I believe) 00:04:44 i want algorithms in o(0)! 00:04:46 agreed, o(1) basically means that it's always possible to get a faster runtime via making the problem bigger 00:05:17 (not necessarily that making it bigger /always/ makes it faster; just that there's always some way to make it faster via making it bigger, you can select how much bigger) 00:05:51 `? morphism 00:05:51 -!- Cale has quit (Read error: Connection reset by peer). 00:05:55 A morphism is just a natural transformation between two functors on 1. 00:06:41 `? natural transformation 00:06:43 A natural transformation is a transformation of something containing no chemicals. 00:06:48 hmm 00:07:00 this seems to break with the pattern of the other category theory entries 00:07:03 was it so hard to explain? 00:07:10 `slwd morphism//s/functors on/diagrams of 00:07:11 sed: -e expression #1, char 25: unterminated `s' command 00:07:14 I was hoping for something along the lines of Quiler 00:07:15 `slwd morphism//s/functors on/diagrams of/ 00:07:16 http://esolangs.org/wiki/Quiler 00:07:16 wisdom/morphism//A morphism is just a natural transformation between two diagrams of 1. 00:07:32 `cwlprits morphism 00:07:34 tsweẗt fizzïe evilips̈e oerjän shachäf ellioẗt oerjän ellioẗt Bik̈e FreeFul̈l ais52̈3 ais52̈3 ellioẗt FreeFul̈l oerjän fizzïe GreyKnigḧt GreyKnigḧt GreyKnigḧt 00:08:04 I learned about the word "diagram" recently. 00:08:05 that's a lot of random umlauts 00:08:08 `rm bin/rw 00:08:09 No output. 00:08:16 A diagram is like a functor... 00:08:18 it's `forget hth 00:08:24 `? diagram 00:08:25 A diagram is just a functor. 00:08:29 Because a diagram is the same thing as a functor... 00:08:45 A functor from a free category on some graph, often. 00:08:47 But a diagram is thought of as a collection rather than a transformation! 00:08:49 `mkx bin/rb//rm "bin/$1" 00:08:51 bin/rb 00:08:56 `rb rb 00:08:58 No output. 00:09:00 `rb rb 00:09:01 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rb: not found 00:09:05 good, it works 00:09:54 tswett: huh, the definition of diagram I use (which is probably a different definition) is a representation of a set of categorical equations 00:10:01 it would be spooky if the error was "rb: bin/rb: file not found" 00:10:15 ais523: Are you talking about a commutative diagram in particular? 00:10:32 Usually a diagram doesn't represent any equations by itself. 00:10:48 shachaf: err, yes, commutative diagrams 00:11:10 `mkx bin/rself//rm bin/rself 00:11:13 bin/rself 00:11:15 `rself 00:11:18 No output. 00:11:20 `rself 00:11:21 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rself: not found 00:11:24 ais523: bin/slist had prior art 00:11:25 there, a better version of the idea 00:11:34 although it's not going to beat /bin/cd 00:11:40 What's /bin/cd? 00:11:47 let me pastebin it 00:11:51 I wrote a cd program once. 00:11:57 It attached to its parent with a debugger and made a chdir call. 00:12:06 yes, that's exactly how mine works too 00:12:11 http://sprunge.us/ZdTB 00:12:26 Oh, you used gdb. 00:12:31 In retrospect maybe I should've thought of that. 00:12:40 what, you used ptrace directly? 00:12:44 Yes. 00:12:50 Totally unrelated to anything! 00:12:54 I have this philosophy philosophy. 00:13:00 Also I used the system call instead of the libc chdir() call. 00:13:08 actually my version fails on filenames that contain literal double quotes or backslashes 00:13:14 because gdb tries to C-unescape them 00:13:27 so yours is probably better 00:14:07 I think that if there is no solid argument for a claim, then the claim probably isn't true. 00:14:13 on the subject of /bin/cd, I've heard that goto used to be an executable 00:14:13 Consider the claim that qualia exist or whatever. 00:14:18 that worked via editing the shell script that called it 00:14:23 And I think glibc caches the working directory so it broke some things that used getcwd. 00:14:29 There exists no solid argument for that claim! I can poke holes in any of them! 00:14:40 tswett: what if there isn't a solid argument either for or against? does that make the claim both probably true and probably false? 00:14:40 goto used be an executable? awesome. 00:15:06 Therefore, the claim that qualia exist probably isn't true. 00:15:43 ais523: well, a claim doesn't have to be false for it to be non-true. 00:15:59 ah right 00:16:05 If I claim that x = y, without specifying what x and y are supposed to be, that's not really either true or false. 00:16:06 e.g. it could be meaningless, or paradoxical 00:16:12 It's non-true and non-false. 00:16:14 or irrelevant, or malformed 00:21:22 or Zen. 00:23:54 can you give an example of a Zen statement which doesn't have one of the truth values listed above? 00:24:24 I guess the Zen style is to make a statement that's apparently exceedingly metaphorical, but there's no way to resolve the metaphor into actual concepts you understand 00:24:31 *e 00:24:43 Zene? 00:25:12 ais523: mu :D 00:25:23 boily: mu was a Zen /answer/ to a question 00:25:26 which unasked the question 00:25:42 -!- computing has joined. 00:25:45 interestingly, this is pretty much what throwing an exception does in most programming languages with structured exceptions 00:26:08 huh, I just realised NetHack 4 also has the possibility of unasking a question 00:26:13 -!- Cale has joined. 00:26:17 but this time, it's the person who asked the question who unasks it 00:26:30 aren't exceptions sufficient for some sort of non-constructive logic thing 00:26:48 -!- moony has quit (Ping timeout: 260 seconds). 00:26:50 possibly 00:27:01 how much extra control structure do you need for try/catch/throw to be TC? 00:27:10 shachaf: you are talking about backtracking like in prolog? 00:27:16 actually you probably also need unthrow or there's no clear way to store data 00:30:40 Huh, I just realized -- when someone removes the canary, it's not actually restored immediately; the commit is just skipped, and the canary is only restored after the next command has been run for the first time. I will demonstrate. 00:30:44 `rm canary 00:30:46 No output. 00:30:47 `` echo $(date +%s) $(ls -l canary 2>&1) >> tmp/canary.txt; rm canary 00:30:49 No output. 00:30:53 `cat tmp/canary.txt 00:30:56 1476833406 ls: cannot access canary: No such file or directory \ 1476833407 -rwxr-xr-x 1 5000 0 4 Oct 18 23:30 canary 00:31:07 On the first run, there wasn't a canary. 00:31:22 `` rm tmp/canary.txt # cleanup 00:31:22 No output. 00:31:54 fizzie: so after deleting the canary, the next command runs twice? 00:32:29 Yes. Well, it would run twice in any case if it did any commit-worthy changes. But it will run twice regardless, because the canary will be missing, and that looks like a change. 00:32:45 fizzie: Aha, this explains why something I did a while ago that I thought should have removed the canary didn't do it. 00:33:33 `cat bin/` 00:33:34 ​#!/bin/bash \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$1" | rnooodl 00:33:48 `` echo test >> tmp/echotest.txt 00:33:49 No output. 00:33:53 `cat tmp/echotest.txt 00:33:53 test 00:33:59 `rm tmp/echotest.txt 00:34:00 No output. 00:34:13 Nothing in tmp/ gets logged to hg in any case. 00:34:25 ah right, that's why there was only one copy? 00:34:26 or, hmm 00:34:28 now I'm confused 00:35:04 It's actually not just the canary that's not restored; it's everything else as well. If the canary is gone, the code just skips the commit bit, but leaves the repo potentially-bad. You just normally can't tell, because even if that would cause the next command to behave strangely, that run is more or less ignored as the code thinks it made changes, and therefore restores the state and re-runs. 00:36:01 is this where the "Hack" part of HackEgo comes from? 00:36:11 `` sed 's#eval#rm canary; eval#' bin/\` > bin/'(' 00:36:13 No output. 00:36:28 `( date > test 00:36:29 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/(: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/(: cannot execute: Permission denied 00:36:40 `` chmod +x bin/\( 00:36:42 No output. 00:36:44 `( date > test 00:36:45 No output. 00:36:49 `cat test 00:36:50 huh \ hi 00:36:55 `rm test 00:36:57 No output. 00:37:01 `( date > test 00:37:02 No output. 00:37:04 `cat test 00:37:05 cat: test: No such file or directory 00:40:05 I think what happened there was: `( date > test ran once, removed canary, wrote test. That looked like a change in the repository, so it was restored to pristine state and re-executed, doing the same thing. Between the commands, canary was missing and test exited. Then `cat test ran for the first time; afterwards, the code thought that had made commit-worthy changes (because canary was missing ... 00:40:11 ... and test was added) so it restored the world, and re-executed `cat test, at which point test no longer existed (and canary was back), so no commit was made. 00:41:52 -!- gniourf has quit (Ping timeout: 268 seconds). 00:46:01 HackEgo is so weird. 00:46:04 `? HackEgo 00:46:05 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! 00:46:38 `cat canary 00:46:39 EEP 00:47:04 So I can, like... 00:47:06 `rm canary 00:47:07 No output. 00:47:09 `cat canary 00:47:11 EEP 00:47:18 Interesante. 00:47:48 -!- gniourf has joined. 00:48:02 -!- Cale has quit (Ping timeout: 256 seconds). 00:50:05 Yeah, the last cat ran twice. 00:50:28 `( date >>tmp/test 00:50:30 No output. 00:50:35 `cat tmp/test 00:50:36 Tue Oct 18 23:49:47 UTC 2016 \ Tue Oct 18 23:49:48 UTC 2016 00:51:44 * boily is updating the PDF sources... ♪ 00:51:51 `rm tmp/test 00:51:51 No output. 00:52:53 boily: i guess it's good `? canary is no longer an ELF binary, then. 00:53:29 Funtime activity: Convert any number that references degrees (including any " degrees" AND any occurrence of the numbers {180, 360*n for positive integer n)) to radians 00:53:36 "XBox 2pi" 00:53:43 "Trump has done a complete pi" 00:53:44 etc. 00:54:16 %s/radians//g 00:54:20 It also uses a shared lock for the first run, and an exclusive one for the second, which probably more or less works, but there's still some racey things. E.g. if you manage to run a command that adds a file and one that removes the same file in parallel, it's possible to end up with no commits, which wouldn't be a possible outcome for either of the two possible sequential orderings. 00:54:34 oerjan: it all hinges on your definition of "good". some people in here like to throw some curveballs in the wisdom database... 00:54:42 %? 00:54:48 `? _46bit 00:54:49 _46bit is a slightly-uptight public-schooled Brit. Taneb invented him. 00:54:56 hppavilion[1]: it applies to _all_ irc lines, ever, hth 00:55:02 Ah, yes 00:55:06 is _46bit a person or a thing? 00:55:21 oerjan: ...so you just removed he word 'radians' or...? 00:55:56 boily: User that didn't hang around 00:56:21 a person. 00:56:47 hppavilion[1]: yep. 00:56:57 as you know, it's redundant. 00:57:19 I'm tempted to file them under Tanebventions. they'll be personed if they return. 00:57:25 (Or that started going by something else. Maybe there's a _32nat here somewhere?) 00:57:37 `? tanebvention 00:57:38 (APPROXIMATELY, OK!?) 00:57:42 Tanebventions include automatic squirrel feeders, necessity, Go, submarine jousting, Fueue, the universe, special relativity, metar, weetoflakes, persistence, the BBC, progress, sanity, the Oxford comma, and this sentence. See also tanebventions: math. He never invents anything involving sex. 00:57:56 `? hpstructions 00:57:57 hpstructions? ¯\(°​_o)/¯ 00:58:03 `slwd tanebvention//s/BBC/BBC, _46bit/ 00:58:04 -!- computing has quit (Ping timeout: 260 seconds). 00:58:05 wisdom/tanebvention//Tanebventions include automatic squirrel feeders, necessity, Go, submarine jousting, Fueue, the universe, special relativity, metar, weetoflakes, persistence, the BBC, _46bit, progress, sanity, the Oxford comma, and this sentence. See also tanebventions: math. He never invents anything involving sex. 00:58:19 ("structions" as in "destruction", not as in "construction") 00:58:53 s/tions/tion/ 00:59:12 s/"struct/"-struct/ 00:59:53 -!- digitalc1ld has changed nick to digitalcold. 01:06:28 https://twitter.com/tldrwikipedia?lang=en is a lot like wisdom... 01:13:22 `` culprits wisdom/alpha 01:13:24 fizzïe evilips̈e oerjän b_jonäs 01:13:51 @ask wob_jonas wellob_jonas. letteral? 01:13:52 Consider it noted. 01:15:16 hppavilion[1]: it seems a lot more cynical tdnh 01:15:25 True 01:15:38 `? alpha 01:15:39 Alpha is the numeric measurement of opaqueness, a dog with unusually high voice in the Disney-Pixar Up film, and a NATO phonetic alphabet letteral. 01:16:02 boily: It's a letter. Literally. 01:16:03 I guess. 01:16:32 it's to letter what a numeral is to a number hth 01:16:36 one never knows. maybe it's a typographical letter? 01:17:17 . o O ( there should be an Edible Chapter in the PDF. so many food entries... ) 01:18:30 it will include all the food and johnny depp. 01:20:01 `` howg alpha | tac 01:20:03 learn alpha is the numeric measurement of opaqueness, a dog with unusually high voice in the Disney-Pixar Up film, and a NATO phonetic alphabet letteral. \ ` sed -i sbabAb wisdom/alpha \ ` chmod 777 / -R \ revert 942e964c81c1 01:22:11 * oerjan tempted to add bin/{h,d}o{w,a}t 01:22:20 ♪ DING ♪ little PDF update! some symbols, and entries in A! 01:22:54 `` ls bin/{h,d}o{w,a}t 01:22:55 ls: cannot access bin/howt: No such file or directory \ ls: cannot access bin/hoat: No such file or directory \ ls: cannot access bin/dowt: No such file or directory \ ls: cannot access bin/doat: No such file or directory 01:23:30 `` echo bin/{h,d}o{w,a}{g,t} 01:23:30 bin/howg bin/howt bin/hoag bin/hoat bin/dowg bin/dowt bin/doag bin/doat 01:23:49 `` echo bin/{h,d}?{w,a}{g,t} 01:23:50 bin/howg bin/h?wt bin/hoag bin/h?at bin/dowg bin/d?wt bin/doag bin/d?at 01:24:25 hm i've got a bad feeling about this 01:27:28 -!- moonheart08 has joined. 01:29:23 http://i.imgur.com/4PrZSnV.jpg 01:30:38 * boily twitches 01:30:45 moonheart08: that's NSFB. 01:30:59 B? 01:31:10 Brain hth 01:31:23 AAAAA 01:31:26 indeed 01:33:09 lol 01:33:25 it makes no sense at all :P 01:33:34 what do you all think should go on health and safety guidelines for Astatine? ( http://www.lenntech.com/periodic/elements/at.htm ) 01:33:52 `? brilliant 01:33:53 ​B҉ͭR̲̞Iͪ͞L̡͠L̝̊I̤ͣA̍҉N̏́T̈͡ ̐̇ȉ̲s̉̐ ̸̉ḷ̂i̪̱k͉ͬḛ็ ͓̪t็ͬh̺̊e͜͢ ͏͛B̈ͅE̳̘S̰ͤTͬͧ ̰̕w̺̼o̷̓ŕ͂d̹̠ ͍͑i͚̾n̺̮ ̇͑t͗̍hͧ͌ḙ͕ ̻͜ű̖ňͤi̴͠v̸̧ḛ͔ř̭s͍͠ẻ̗ ͏̲a̮̺nͣ͟d̝ͨ ̳͗i̟͘ẗ͎ ̼̲ẘ̦i̭ͮl̢̋l̨̉ ̺͌c̑͡h 01:34:10 how the actual fungot suis-je supposé formatter ça? AAAAAAAAARGH! 01:34:10 boily: that's completely wrong. this might be 01:34:19 fungot: of course it's wrong!!!! 01:34:19 boily: when i get inspiration. and inspiration is closely related with the ordinal numbers as well: dotted and circular lists. a circular list 01:34:44 notice: that dialog was not faked, its part of a actual site&service (forgot which one), also, image not by me :P 01:35:08 fungot: well, you can shove your inspiration deep where brainfuck derivatives grow. 01:35:09 boily: form and value of greek letter came from the class? sicp, i have to 01:35:39 what do you all think should go on health and safety guidelines for Astatine? ( http://www.lenntech.com/periodic/elements/at.htm ) << following the XKCD route, i personally think: NO scrawled over and over in blood -- What-If book 01:39:39 `` wc wisdom/brilliant 01:39:40 ​ 1 16 476 wisdom/brilliant 01:39:42 -!- Zarutian has quit (Quit: Zarutian). 01:40:11 `` wc <<<'B҉ͭR̲̞Iͪ͞L̡͠L̝̊I̤ͣA̍҉N̏́T̈͡ ̐̇ȉ̲s̉̐ ̸̉ḷ̂i̪̱k͉ͬḛ็ ͓̪t็ͬh̺̊e͜͢ ͏͛B̈ͅE̳̘S̰ͤTͬͧ ̰̕w̺̼o̷̓ŕ͂d̹̠ ͍͑i͚̾n̺̮ ̇͑t͗̍hͧ͌ḙ͕ ̻͜ű̖ňͤi̴͠v̸̧ḛ͔ř̭s͍͠ẻ̗ ͏̲a̮̺nͣ͟d̝ͨ ̳͗i̟͘ẗ͎ ̼̲ẘ̦i̭ͮl̢̋l̨̉ ̺͌c̑͡h' 01:40:12 ​ 1 13 309 01:40:25 boily: it seems to be cut off a bit hth 01:40:44 maybe check out the repo browser. 01:42:19 `url wisdom/brilliant 01:42:20 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/wisdom/brilliant 01:42:47 at least 'B' is now updated too. 01:43:11 yep, the file contains the whole original phrase 01:44:04 oh wait duh 01:44:16 my copying and pasting cut away the colors 01:45:57 `? boring 01:45:58 Boring means of little interest. 01:46:21 `? a internet 01:46:22 a internet? ¯\(°​_o)/¯ 01:46:24 `? internet 01:46:25 The internet is for everything. However many thing can done even without internet too, often better without use of internet, but internet is good too. 01:46:50 `` cwlprits internet # if this isn't zzo38... 01:46:52 fizzïe evilips̈e shachäf hppavilion[1̈] olsnër 01:46:57 huh it was't. 01:47:01 *+n 01:47:16 `` cwlprits internet | tac 01:47:18 fizzïe evilips̈e shachäf hppavilion[1̈] olsnër 01:47:33 `` howg internet | tac 01:47:35 learn The internet is for everything. However many thing can done even without internet too, often better without use of internet, but internet is good too. \ le/rn_append internet/Except porn. \ revert \ ` chmod 777 / -R \ revert 942e964c81c1 01:47:53 it is possible olsner was quoting him though 01:49:05 oerjan: Your guess is: correct. 01:49:16 yay! 01:50:05 (Date ref 2016-02-15.) 01:54:42 https://github.com/izabera/s <-- . o O ( you're doing the s/// thing all wrong... ) 01:54:58 :p 01:57:30 oh, a wild github account! 01:58:11 izabellora. you are invited to become a cocoonspirator. 01:58:15 -!- moonheart08 has quit (Ping timeout: 265 seconds). 02:02:16 i no wise 02:02:55 Github now sends an invitation for private repositories, instead of joining you at once. 02:03:08 boily: Why do you want peoples' githubs again? 02:03:34 `? internet 02:03:35 The internet is for everything. However many thing can done even without internet too, often better without use of internet, but internet is good too. 02:05:10 it's to give them commit access to the PDF repo hth 02:05:31 boily: oth 02:15:27 Is there a simple equation that calculates the sum of ax+b, for all integers x in a range? 02:15:33 (preferably 0..n or 1..n) 02:15:50 -!- boily has quit (Quit: FALSE CHICKEN). 02:17:05 Hm... I'm missing... something 02:17:13 -!- gniourf has quit (Ping timeout: 260 seconds). 02:18:50 like a*1+b + a*2+b + a*3+b ... ? 02:19:37 izabera: Yes 02:19:43 that's n*b + a*(n-1)*n/2 02:19:47 may be off by 1 02:20:01 izabera: I already have an answer to this problem, now I just need to make it pretty 02:20:10 -!- gniourf has joined. 02:21:24 -!- gniourf has quit (Max SendQ exceeded). 02:26:05 -!- gniourf has joined. 02:27:17 izabera: it's off by 1 in one term or the other, dependent on whether the range is 0..n or 1..n hth 02:27:34 or wait 02:27:34 yeah sorry about that 02:27:50 i didn't really check 02:28:24 anyway, n*b + a*n*(n+1)/2 for 1..n 02:30:43 -!- gniourf has quit (Ping timeout: 256 seconds). 02:35:05 -!- clog_ has quit (Quit: ^C). 02:35:20 -!- clog has joined. 02:46:13 In Soviet Russia... Big Brother still watches YOU... what did YOU expect? 02:51:17 -!- imode has quit (Ping timeout: 260 seconds). 02:53:18 `? soviet russia 02:53:19 ​¯\(°​_o)/¯ soviet russia? 02:53:26 `? soviet union 02:53:27 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. 02:54:47 And now? 02:54:50 `? the THEM 02:54:50 Information on the THEM has been removed for national security reasons. 02:55:50 Today I read the first part of a webcomic called "The Din". 02:55:56 I learned what it's about. 02:55:58 It's about a din. 02:57:52 is the author a dinner 02:58:46 `le/rn soviet russia//Soviet Russia used to be a synonym for the Soviet Union. In reality, the Soviet Union dissolved. Meanwhile, Soviet Russia dissolved reality, and you are a figment of its imagination. 02:58:48 Relearned 'soviet russia': /Soviet Russia used to be a synonym for the Soviet Union. In reality, the Soviet Union dissolved. Meanwhile, Soviet Russia dissolved reality, and you are a figment of its imagination. 02:59:21 relearned? 02:59:23 Oh, right. 02:59:37 oops 03:00:07 `dowg soviet russia 03:00:07 what now. 03:00:10 2016-10-19 le/rn soviet russia//Soviet Russia used to be a synonym for the Soviet Union. In reality, the Soviet Union dissolved. Meanwhile, Soviet Russia dissolved reality, and you are a figment of its imagination. \ 2016-09-25 revert 942e964c81c1 \ 2016-09-25 ` chmod 777 / -R \ 2016-05-31 revert 8238 03:00:15 leave it hth 03:00:23 In Soviet Ukraine... 03:00:28 `before wisdom/soviet russia 03:00:32 wisdom/soviet russia//¯\(°​_o)/¯ soviet russia? 03:00:36 fizzie: have you considered rewriting history to filter out those annoying edits twh 03:00:38 ...darn 03:00:43 `? blah blah 03:00:43 blah blah? ¯\(°​_o)/¯ 03:00:54 shachaf: caught by my own joke :( 03:01:02 well, it may have been mine 03:01:04 `` dowg soviet\ russia | tac 03:01:06 2016-04-14 le/rn soviet russia/\xc2\xaf\\(\xc2\xb0\xe2\x80\x8b_o)/\xc2\xaf soviet russia? \ 2016-04-17 slashlearn soviet russia/In soviet russia, this wisdom entry reads you. \ 2016-04-17 revert \ 2016-05-31 le/rn soviet russia/In soviet russia, this wisdom entry /would/ read you if it weren\'t for 03:01:09 (Challenge: All former constituents of the USSR must be given a distinct translation of normal facts that is true within its Soviet borders) 03:01:19 `slwd soviet russia//s,/,, 03:01:21 wisdom/soviet russia//Soviet Russia used to be a synonym for the Soviet Union. In reality, the Soviet Union dissolved. Meanwhile, Soviet Russia dissolved reality, and you are a figment of its imagination. 03:01:42 oerjan: Maybe we should switch le/rn to use // for consistency? 03:02:16 (e.g. when normally [x] =a> [y], in Soviet Russia, [y] =a> [x]) 03:03:40 (Facts are provided as a 3-tuple of 2-tuples ((actor, desc1), (actee, desc2), (act, manner)) ) 03:03:53 i,i `le//rn http://http:// indicates an HTTP URL. 03:04:21 -!- yorick_ has joined. 03:05:06 shachaf: Only if we also have `le///rn, `le////rn, etc. 03:05:10 `? backwards 03:05:12 ​¯\(o​_°)/¯ ?sdrawkcab 03:05:25 `? forwards 03:05:25 forwards? ¯\(°​_o)/¯ 03:05:26 What? 03:05:32 hppavilion[1]: we do have that automatically. 03:05:37 ...not sure if a joke... or actually there 03:05:38 le/rn and le//rn already exist, and split on / and // respectively 03:05:39 oerjan: Oh 03:05:47 `cat wisdom/forwards 03:05:47 cat: wisdom/forwards: No such file or directory 03:05:48 I'm proposing making le/rn split on // 03:06:00 `le/rn forwards/forwards? ¯\(°​_o)/¯ 03:06:02 Learned 'forwards': forwards? ¯\(°​_o)/¯ 03:06:15 `forget forwards 03:06:17 Forget what? 03:06:20 `le//rn Since when does le//rn exist? 03:06:20 shachaf: :,( 03:06:22 Learned 'since when does le': rn exist? 03:06:25 I think it was totally worth it 03:06:27 it already works 03:06:31 `forget since when does le 03:06:33 Forget what? 03:06:48 Next question: how does le//rn exist? 03:06:50 shachaf: But the pun is better if there's ACTUALLY a file, for no reason at all 03:06:59 Aren't bin/le/rn and bin/le//rn the same path? 03:06:59 -!- yorick has quit (Ping timeout: 258 seconds). 03:07:13 tswett: n//o? 03:07:15 They're distinct paths that refer to the same file. 03:07:57 `` echo $0 03:07:58 ​/hackenv/bin/` 03:08:32 `run ln -s ../` le////temp 03:08:33 bash: -c: line 0: unexpected EOF while looking for matching ``' \ bash: -c: line 1: syntax error: unexpected end of file 03:08:40 `run ln -s '../`' le////temp 03:08:42 No output. 03:08:46 `le////temp echo $0 03:08:47 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/le////temp: No such file or directory 03:08:58 what are you doing tdnh 03:09:12 In America, radiation poisoning kills you slowly. In Soviet Kazakhstan, radiation poisoning slows you lethally! 03:09:32 I'm trying to figure out what I'm doing hth. 03:09:36 `file le/temp 03:09:37 le/temp: broken symbolic link to `../`' 03:10:00 `rm le/temp 03:10:02 No output. 03:10:05 if you need to experiment you can do it in tmp/ 03:10:19 perhaps in /msg 03:10:43 In total, there are 719 soviet republics, plus America which has all the facts straight 03:11:33 (In Soviet Canada...) 03:12:48 (There aren't nearly enough countries in the real world, so we'll have to choose fictional countries too) 03:13:23 (In Soviet Narnia, Aslan teach YOU values to Christianity!) 03:13:24 `? СССР 03:13:25 ​СССР? ¯\(°​_o)/¯ 03:13:29 `? CCCP 03:13:30 CCCP? ¯\(°​_o)/¯ 03:13:40 `le/rn CCCP is a misspelling of СССР. 03:13:40 No output. 03:13:41 `? SCP 03:13:42 SCP? ¯\(°​_o)/¯ 03:13:43 hppavilion[1]: that's not even backwards hth 03:14:06 oerjan: Only Soviet Russia is backwards, other Soviet countries use different permutations 03:14:06 `? cccp 03:14:07 cccp? ¯\(°​_o)/¯ 03:14:10 `? ☭ 03:14:10 ​☭? ¯\(°​_o)/¯ 03:14:11 hth 03:14:24 Whoosp. 03:14:31 `learn CCCP is a misspelling of СССР. 03:14:35 Learned 'cccp': CCCP is a misspelling of СССР. 03:14:37 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 03:14:57 `unidecode CCCPСССР 03:14:59 ​[U+0043 LATIN CAPITAL LETTER C] [U+0043 LATIN CAPITAL LETTER C] [U+0043 LATIN CAPITAL LETTER C] [U+0050 LATIN CAPITAL LETTER P] [U+0421 CYRILLIC CAPITAL LETTER ES] [U+0421 CYRILLIC CAPITAL LETTER ES] [U+0421 CYRILLIC CAPITAL LETTER ES] [U+0420 CYRILLIC CAPITAL LETTER ER] 03:15:57 `learn СССР is the Russian way of writing USSR. They like to write U as С sometimes. 03:15:59 Learned 'СССР': СССР is the Russian way of writing USSR. They like to write U as С sometimes. 03:16:30 not wisdom 03:16:34 `run mv wisdom/СССР wisdom/ссср 03:16:36 No output. 03:16:43 All this Cyrillic is so confusing. 03:17:18 tswett: um the lower casing only works for english alphabet and Ø hth 03:17:25 (and maybe a couple other letters) 03:17:30 thn 03:17:50 and in fact, there are wisdoms differing on the rest 03:19:11 `? ø 03:19:12 ​ø is not going anywhere. 03:19:17 `? nø 03:19:17 nø? ¯\(°​_o)/¯ 03:20:28 `? å 03:20:29 ​å is the same letter as Å, unless you're HackEgo and don't understand things on top of letters. 03:20:31 `? Å 03:20:33 ​Å _is_ a village in Norway, unless you're the BBC and don't understand things on top of letters. 03:21:17 hm if that's the only one, then it would be sort of redundant once it's fixed... 03:21:55 I think HackEgo's issue is that it doesn't understand uppercase letters. 03:22:14 `le/rn nø/nø means 'Char', apparently. Maybe like when you burn a lot? 03:22:16 Learned 'nø': nø means 'Char', apparently. Maybe like when you burn a lot? 03:22:23 (that's a 'no means no' pun hth) 03:22:28 And the etymology (or at least itymology) or "uppercase" letter is that they're letters in the "upper case", from the old days of type-setting. 03:22:33 hppavilion[1]: what 03:22:43 So it's more an issue with understanding letters on top of things. 03:22:56 -!- imode has joined. 03:23:07 oerjan: what? 03:23:12 hppavilion[1]: it makes no sense hth 03:23:28 All this Cyrillic is so confusing. <-- сыриллик из нот конфузинг 03:23:32 oerjan: It's Hawaiian, apparently 03:23:32 oerjan: https://translate.google.com/#auto/en/n%C3%B8 hth 03:23:42 it's not really justified 03:23:48 i would dewisdom it, if it was up to me 03:23:52 Not Norwegian 03:23:59 shachaf: We have a handy new command for that now 03:24:15 `? this 03:24:15 I love writing languages in the wrong alphabet. 03:24:15 this is a word 03:24:30 `? uvula 03:24:31 uvula? ¯\(°​_o)/¯ 03:25:21 `help 03:25:21 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/ 03:25:27 `? volvo 03:25:28 volvo? ¯\(°​_o)/¯ 03:25:37 `? cccp 03:25:38 CCCP is a misspelling of СССР. 03:25:41 Hehe. 03:25:50 hppavilion[1]: i am pretty sure hawaiian does not have "ø" hth 03:25:51 Oh, apparently we don't anymore 03:25:55 Communist Cravings Cannot Prosper 03:25:56 oerjan: I was too 03:26:33 oerjan: But 'no' and 'nø' translate differently 03:26:41 Presumably it's just a different way of transcribing 03:27:38 `? СССР 03:27:38 ​СССР? ¯\(°​_o)/¯ 03:27:57 shachaf: We have a handy new command for that now <-- you mean a handy _old_ command hth 03:28:07 `run ln -s wisdom/ссср wisdom/СССР 03:28:09 No output. 03:28:11 `? СССР 03:28:11 ​СССР? ¯\(°​_o)/¯ 03:28:14 Whoops. 03:28:25 `run rm wisdom/СССР 03:28:27 No output. 03:28:31 `run ln -s ссср wisdom/СССР 03:28:33 No output. 03:28:34 `? СССР 03:28:35 ​СССР is the Russian way of writing USSR. They like to write U as С sometimes. 03:29:07 You mean they like to write U and S as С 03:29:21 Presumably it's just a different way of transcribing <-- i am also pretty sure hawaiian is written in a mostly latin alphabet. 03:29:45 oerjan: Pretty sure ø counts as a latin alphabet character 03:30:35 `learn СССР is the Russian way of writing USSR. The Cyrillic letter С means S, and it also means U. 03:30:37 Relearned 'СССР': СССР is the Russian way of writing USSR. The Cyrillic letter С means S, and it also means U. 03:30:56 hppavilion[1]: what i mean is, you wouldn't transcribe hawaiian. 03:31:00 `? balrog 03:31:01 Balrogs live at the bottom of the world. 03:31:08 Oh? 03:31:08 ^ context for this? 03:31:16 ybden: LotR hth 03:31:23 oerjan: that "hawaiian" needs extra diareses 03:31:40 possibly "hawaïiän" 03:31:52 or "hawaiïän" 03:32:05 I'm not 100% sure how it's pronounced 03:32:16 ais523: hawai`ian except it's not that ` 03:32:37 what about balrogues twh 03:32:47 hppavilion[1]: thanks 03:32:51 Hawaiʻi 03:33:25 ais523: huh-why-yen iirc 03:33:37 `H̀awaií´ 03:33:37 (I can break out the IPA if needed) 03:33:38 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: H̀awaií´: not found 03:33:50 oops 03:33:52 ´help 03:33:57 :( 03:34:07 I was hoping that would trigger evil alternate dimension HackEgo 03:34:22 it did 03:34:29 but the output is in the evil alternate dimension 03:34:55 http://kilgoretroutstories.tumblr.com/post/16737051380/maniacs-in-the-fourth-dimension-by-kilgore hth 03:35:18 shachaf: Then why didn't our HackEgo respond to a query from evil alternate dimension macbookair_1 tdnh 03:35:53 s/1/j/ 03:37:46 evil oerjan has already banned that user 03:37:59 in fact evil oerjan has banned almost everyone 03:38:16 Ah 03:38:39 shachaf: itym evil aeryon hth 03:38:58 idnmt tyvm 03:39:27 atvlym oeryan 03:39:46 `? oerjan 03:39:47 Your mysterious weevil bulgarian woof octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who mildly dislikes Roald Dahl and passion fruit. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it. 03:40:24 "atvlym"? twh 03:40:46 tswett: laeftr hth 03:41:01 os 03:41:10 `? os 03:41:11 Os is the accusative plural of us. Also a municipality in Norway. 03:41:15 `slwd oerjan//s#mysterious#renouned itymologist#;s#we## 03:41:17 wisdom/oerjan//Your renouned itymologist evil bulgarian woof octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who mildly dislikes Roald Dahl and passion fruit. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it. 03:42:20 ...wait, isn't 'us' already plural? 03:42:23 Or is that part of the joke 03:42:57 `slwd oerjan//s#mildly#passionfruitly#;s# and passion fruit## 03:43:00 wisdom/oerjan//Your renouned itymologist evil bulgarian woof octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who passionfruitly dislikes Roald Dahl. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it. 03:43:05 It's probably part of the joke. 03:43:14 I don't know who wrote the wisdom entry for "os" or why. 03:43:17 Thought so 03:43:21 `? sex 03:43:21 `cwlprits os 03:43:24 Sex is a board game which originated in Britain in the 1870s before spreading throughout Europe in the 1890s. Sex was introduced to the rest of the world by a book, "The Complete Guide to Sex", written and published in 1932, based on the author's extensive experience with a wide variety of forms of European sex. 03:43:24 fizzïe evilips̈e oerjan_nop̈e oerjän maurïs tsweẗt 03:43:31 I used to not know who had written the wisdom entry for sex. 03:43:46 `slwd oerjan//s#bulgarian woof ## 03:43:47 wisdom/oerjan//Your renouned itymologist evil octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who passionfruitly dislikes Roald Dahl. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it. 03:44:08 isn't it goof, bulgarian woof 03:44:17 Suggest "suture computation" wth? 03:44:31 `cwlprits sex 03:44:32 fizzïe evilips̈e tsweẗt oerjän oerjän tsweẗt 03:44:36 twnh 03:44:44 I looked up who wrote the wisdom entry for sex and was surprised to find that it was me. 03:44:51 `` dowg oerjan | grep lic 03:44:53 2016-10-18 slwd oerjan//s/comput/complic/ 03:45:03 Whoa, ẗ is a cool diacriticism 03:45:25 What, you rate diacritics now? 03:45:32 Some sort of diacritic critic? 03:46:02 i,i diacritique 03:46:06 diakritik? 03:46:14 " is/was a noted diacritic..." 03:48:27 Diakritik der reinen Vernunft 03:48:33 http://hca.gilead.org.il/somethin.html is a story by Hans Christian Andersen. 03:48:44 There's a character who was a critic all his life. 03:48:51 So everyone expected him to diacritic. 03:48:55 (And he did.) 03:49:10 i suspect that wasn't andersen's pun 03:49:22 How about... röbert ebĕrt 03:49:38 oerjan: Was there a pun? 03:50:55 Hey, let me give y'all guys a piece of code I wrote. 03:51:16 public inductive plus_zero_left(x : Nat) : plus(zero, x) = x over x { zero := plus.zero(zero); succ(y) := path plus(zero, succ(y)) rewrite plus.succ to succ(plus(zero, y)) rewrite base to succ(y) end; } 03:51:20 It's free of charge. 03:55:46 shachaf: "diacritic" hth 03:56:43 oerjan: I mean: Did Andersen have a pun in mind? 03:56:50 But maybe you didn't intend the sentence that way. 03:58:22 nope 03:59:59 Why does the second derivative have two arguments? 04:00:05 What does it mean to vary the first or the second one? 04:00:56 tswett: ⸘What LANGUAGE is this‽ 04:01:11 My best guess is Coq 04:03:59 shachaf: http://hca.gilead.org.il/somethin.html really makes the t-v distinction important 04:04:24 To the point that it specifies the use of the word 'thou' as an insult, which nobody today understands in the slightest 04:04:35 -!- ais523 has quit. 04:04:44 -!- ais523 has joined. 04:05:07 I suspect that it's translated from Danish. 04:05:16 Anyway, I think people today understand that. 04:06:24 -!- ais523 has quit (Read error: Connection reset by peer). 04:06:30 -!- callforjudgement has joined. 04:07:02 -!- callforjudgement has quit (Client Quit). 04:08:06 shachaf: I wouldn't if I hadn't clicked on a random video at some point to learn it 04:08:59 I still like the idea of a complex system of honorific cursing 04:11:23 hppavilion[1]: some language I'm making. 04:11:31 tswett: Ah 04:11:53 I'm trying to write a compiler from itself into C#. 04:12:12 Which, yeah, kind of presents an obvious bootstrapping problem. 04:14:42 tswett: ...yeah 04:15:04 I'm pretty sure you generally write the normal-language compiler FIRST, THEN you self-host 04:15:52 -!- MoALTz has joined. 04:15:55 -!- `^_^v has joined. 04:47:57 -!- gniourf has joined. 04:52:35 -!- gniourf has quit (Max SendQ exceeded). 04:54:20 -!- gniourf has joined. 04:56:49 -!- impomatic_ has quit (Ping timeout: 252 seconds). 05:13:32 What's the derivative of the sphere x^2+y^2+z^2=1? 05:23:05 surely that's obvious 05:23:58 and once again, it amounts to the radius being normal to any tangent vector 05:24:08 How would you write it? 05:24:45 2x dx + 2y dy + 2z dz = 0 05:25:06 Are you allowed to do that? 05:25:22 well add a /dt to taste 05:25:44 Oh, you're still parameterizing everything in terms of t. #scow 05:26:01 Anyway the derivative at any point is a plane. 05:26:18 \(x,y,z) -> ... 05:27:04 you might want to ask someone who actually learned differential geometry properly... 05:27:35 Let's see what x dx + y dy + z dz = 0 does. 05:28:15 dy/dx = -z/y dz/dx - x/y ? 05:28:35 I guess that's a "total derivative". 05:28:51 Where the "partial derivative" ∂y/∂x = -x/y 05:29:18 i learned the first couple of chapters 05:29:39 oerjan is correct of course 05:31:01 I guess you can say: \(x,y,z) -> \(dx,dy,dz) -> x*dx + y*dy + z*dz 05:31:23 The plane is the zero set of that linear map. 05:31:27 Is that right? 05:32:55 Or equivalently, \(x,y,z) -> x dx + y dy + z dz 05:33:08 Where d{x,y,z} are a covector basis for the tangent space. 05:34:18 Is that right? 05:34:35 something feels off about it 05:36:22 What? 05:37:33 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 05:38:27 i mean, its the correct *family* of planes. but how do you use it to specify tangent planes to a *particular* sphere? just add the constraint on (x,y,z)? 05:39:44 For any point on the sphere, that function specifies a tangent plane. 05:39:52 This happens to work for a sphere of any radius. 05:40:01 yes. 05:40:20 But if your sphere has radius 1 then you shouldn't use that function on other points. 05:40:29 The domain is the sphere, I guess. 05:40:57 i guess you just add the other constraint if you want "the set of tangent planes to this particular sphere" 05:41:22 nvm mind 05:41:29 it was a silly issue 05:41:42 you do the same thing with any diffeq 06:02:58 oerjan: What's the second derivative of the sphere? 06:03:34 not a clue hth 06:04:25 -!- oerjan has quit (Quit: Nite). 07:05:20 <\oren\> ❄dvcalc 32 1440 350 07:05:20 <\oren\> ☃ Δv = 2376.48906005893 07:07:54 -!- hppavilion[1] has joined. 07:08:17 How DOES one combine two tones? Do you just add their values at each interval, or... what? 07:09:07 (Well, it probably won't be add so much as... something, maybe 1/((1-(1/a))+(1-(1/b)))? ) 07:10:08 What is a tone? 07:10:16 shachaf: Oh, right 07:10:50 shachaf: Tone like a sound. Like, I generate waveforms that play a certain wavelength at a certain frequency with a certain amplitude, and I want to play two at once 07:11:27 OK, so what is a tone? 07:11:40 shachaf: Tone = pitch/note/whatever 07:11:54 It's a sound at a constant Hz 07:11:56 Are a and b in your expression tones? What are their types? 07:12:11 shachaf: Values in hertz 07:12:41 (Ideally, they're arbitrary real numbers, but obviously not properly) 07:13:11 Wait, no, that's not it 07:13:14 And what do you do with those values? 07:13:29 shachaf: Right, right, I'm reading my own message wrong 07:13:39 OK, I'm going to need to think 07:14:45 I have a function that generates a waveform (typically sinusoidal) with a specific frequency and amplitude (it appears wavelength is irrelevant here; maybe I'm just forgetting that it means something else) 07:15:00 It generates it by taking the attributes and creating an array of bytes for the samples 07:15:10 Are you saying that a tone is a waveform? 07:15:38 shachaf: I'm confusing myself. Basically I'm trying to say a-note-played-for-a-duration 07:16:06 i know you are hth 07:16:13 tdh 07:16:14 Are you saying that some waveforms represent tones and others don't? 07:16:22 I'm honestly not sure at this point 07:16:28 What's a waveform? 07:16:37 Allow me to rearead the code- I haven't done this for a while 07:17:13 shachaf: I'm... I believe when I've been saying 'waveform' I mean 'the bytearray of samples that represents what sound to make' 07:19:00 maybe you should mean something else hth 07:19:07 I should 07:19:35 You could go by what https://en.wikipedia.org/wiki/Waveform says. 07:20:12 shachaf: It's more that I know what I mean and I'm using related-but-wrong words 07:20:32 I don't know anything about sound, but those pictures there look like like periodic functions of time to me. 07:20:54 So maybe you can say that a waveform is a function. 07:20:59 OK... I have a function gen_sine(frequency, duration, volume, sample_rate=22050) that takes those variables and returns an array of bytes representing... samples. I don't understand how the speaker itself works. 07:21:20 Well, what is sound? 07:21:25 shachaf: Vibrations 07:21:46 But I'm not sure what the samples represent; I want to say "how much to vibrate", but I feel like that makes no sense 07:22:03 I guess a sample is probably how much to vibrate... or something... 07:22:19 You should forget the samples for a bit and look at that page. 07:22:33 The samples are an approximation of something. That's why they're called samples. 07:22:33 But yes, the sound is basically a periodic function which is USUALLY sinusoidal but COULD be sawtooth or triangle or square or whatever 07:22:35 shachaf: OK 07:23:56 OK, so the sound is a function. 07:24:00 Yes 07:24:40 Maybe those samples are sampling the function? Measuring it every so often and looking at the value at each point? 07:24:45 I suppose it makes sense to skip the bytearray in the theoretical and just say gen_sine(...) returns a sine function 07:25:02 Yes, that's right, I believe 07:25:05 Like I said I don't know anything about sound, but that seems like a plausible thing for a sample to be. 07:25:13 And I have an output stream that I can send one function to at a time 07:25:24 OK, so what does your byte array represent? 07:25:45 Maybe it's the value of the function x-second intervals. 07:25:49 What's x? 07:26:00 shachaf: Outputs of the function pre-packaged so they don't have to be calculated WHILE playing 07:26:12 Theoretically, the bytearray is irrelevant 07:26:24 shachaf: x is the reciprocal of the sample rate 07:26:31 What is the value of x? 07:26:46 shachaf: 1/22050 typically, but it CAN be varied I'm pretty sure 07:27:04 Well, you're the one making the byte array, presumably you should know. 07:27:09 But 1/22050 is the only thing that matters now 07:27:21 shachaf: It can be. I understand this part. 07:27:29 https://en.wikipedia.org/wiki/Sampling_(signal_processing) confirms it. 07:27:50 OK, well, I learned how samples work now, which I didn't know before, so I'm happy at least. 07:27:53 tdh 07:28:04 Now that you know what a waveform is, what's a tone? 07:28:05 So when I send the function to the stream, the stream plays the output until the function stops returning data (lets say it returns a Null to indicate that it's done) 07:28:18 shachaf: I think a tone just means a waveform here... 07:28:25 OK. 07:28:32 <\oren\> ❄dvcalc 60.12 2649 400 07:28:32 <\oren\> ☃ Δv = 2635.18424420613 07:28:39 shachaf: But it generally has to be a pretty simple one... presumably... 07:28:45 Then how do you "combine two tones"? 07:28:51 But there's no definition 07:29:08 Is a tone just a waveform or is it a specific type of waveform? 07:29:17 For example, if you record yourself talking, is that a tone? 07:29:29 shachaf: Basically you just find what function to send to the stream to generate a chord; play both sounds together 07:29:55 shachaf: I think "tone" is just a kind of not-very-rigorous term I was using because it sounded about right 07:31:06 https://en.wikipedia.org/wiki/Musical_tone says that a tone has to be periodic. 07:31:19 shachaf: Yes! That's right 07:32:04 So, the note A-below-middle-C as you hear from any instrument (that meets the standard) is the waveform with period of 440/s 07:32:32 s/below/above/ 07:33:28 I think maybe you mean that the frequency is 440/s? 07:33:32 Middle C's pitch under the same standard is approximately 261.6 (the number is irrational because you change by the 12th root of 2 as you go up one semitone (A -> A#, A# -> B, etc.) 07:33:34 And the period is 1/440 s? 07:33:41 shachaf: Yes, yes, thank you 07:34:42 (pitch = frequency, but is the musicier term) 07:35:28 And I want to figure out how to play multiple notes- say, Middle C and A above middle C- at the same time out of the speakers 07:35:36 OK. So how do you "combine" two waveforms? 07:35:44 shachaf: That's exactly what I'm looking for 07:36:13 I speculate that the answer is that you sum the functions at each point. 07:36:37 It might just be adding them, but it might also be midpoint (mid(a, b) = (a+b)/2) or even something involving harmonic sum 07:37:00 shachaf: See, that's my first thought, but the samples have to be bytes- 0..255. If you try to go higher, it breaks 07:37:42 I seriously doubt you're supposed to do modulus, but capping it out- the most natural-seeming answer- doesn't seem quite right 07:37:48 OK, I didn't know what the codomain of the waveform was. 07:38:00 Ah, I forgot to mention that? 07:40:01 In the program, you multiply sin(t) (t being time) (which has codomain of -1..1 obv.) by 0x7f and add 0x80 07:40:02 Anyway, you can do some experiments now. 07:40:03 (and round) 07:40:35 If you say a tone is a periodic waveform, and the tone's pitch is its frequency, then the sum of two tones is also a tone, right? 07:40:48 OK, but I'm pretty tonedeaf (probably), so it'll boil down to more "does it not sound entirely wrong" rather than "does it sound right" 07:40:51 (Since you're not doing bizarro maths so the sum of two periodic functions is probably periodic.) 07:41:18 If you're deaf, it doesn't matter which tones you use. 07:41:54 shachaf: Not deaf 07:42:03 Just tonedeaf 07:42:24 Which means you can't distinguish tones? 07:42:35 No, it's... I don't know if it actually means anything 07:42:38 In that case you don't need to add tones, because they're all equivalent. 07:42:55 It just means I'm bad at telling if it sounds particularly good or if it's a weird noise 07:43:16 Why do you care about something you can't tell? 07:43:48 Hm, maybe not 07:43:57 I think tone deaf might be completely wrong 07:44:11 Anyway, I suspect you can tell if you try it. Play tone A for a bit, and then tone B for a bit, and then play them both. 07:44:27 I mean the "combined" tone for various proposals of combining tones. 07:45:12 OK, that sounds like it's the solution 07:45:13 Then you can see if you can come up with the effect you want. 07:45:23 (Am I being patronizing or something? I hope not.) 07:46:39 You could also think of what properties you want "combining" to have, and then think of functions that satisfy them. 07:47:21 Don't think so 07:47:24 For example, if you combine a tone with itself, it should probably keep the same pitch? 07:47:38 How do you play the byte arrays that you generate? 07:47:54 shachaf: I'm pretty sure 'combining' is a defined concept that I just don't know the proper word for 07:48:12 I'm sure. 07:48:14 shachaf: I put them in a magic box that comes from a library and it makes it come out of the speakers 07:48:23 What library? 07:48:26 pyaudio 07:50:48 (I already can make the computer play Ode to Joy, now I just need to make it so it can play literally any song that requires chords to sound right :P) 07:52:07 This sounds like fun so I'll probably try making some sound. 07:52:46 It looks like the [0..255] codomain thing is called the "sample width" and in some cases it's larger. 07:52:52 But at any rate of course it'll be bounded. 07:53:56 Ah! That must be what format is 07:54:06 Yes. 08:15:16 Wow, xkcd did two comics in a row that were directly related that WEREN'T part of a numbered series 08:16:22 To the point that when I opened today's, it looked similar to yesterday's so I didn't read the main part... I noticed the hovertext was different and figured Randall must have changed it... 08:23:45 -!- imode has quit (Ping timeout: 256 seconds). 08:29:44 -!- izabera has changed nick to izalove. 08:38:23 (I wonder if hackmode is facilitated better with or without syntax highlighting... I have a feeling optimal hackmode is done green-on-black, fullscreen) 08:40:49 -!- contrapumpkin has joined. 08:42:27 -!- copumpkin has quit (Ping timeout: 256 seconds). 08:43:04 Aha, I've successfully combined two sounds. 08:43:32 shachaf: How? 08:43:34 :D 08:43:38 shachaf: Python? 08:44:25 Yes. 08:44:44 shachaf: What's the operation? 08:45:29 Maybe I didn't do it right. Who knows. 08:45:44 Does it sound right(ish)? 08:58:07 @messages 08:58:08 You don't have any messages 09:11:02 -!- AnotherTest has joined. 09:12:39 about the factorial problem 09:14:14 get x! back from its factorization, then use stirling's approximation to guesstimate x, then compute factorials until you match x! 09:24:21 it is possible olsner was quoting him though <- the line about the internet? doesn't look like me at least 09:37:48 izalove: you just said 'guesstimate'. You must be excommunicated. 09:39:16 that ship has sailed 09:39:45 Question: Are there any places you can go where you can PAY to jump over a shark? 09:40:02 why 09:43:54 izalove: So I can Jump the Shark 09:52:49 hppavilion[1]: You *are* supposed to sum the waveforms, that's essentially what happens if you have two pressure waves in air. The end result can be louder (unless you have, say, two pure tones of the same frequency and opposite phase), so you may have to scale the original sources to avoid clipping. 09:52:58 (Also, 8-bit samples are pretty retro; 16 bits would be more reasonable.) 09:53:01 Figured 09:53:09 fizzie: Oh? 09:53:33 I mean, these days people commonly even use floats or doubles for digital audio. 09:53:59 (At least for intermediate processing.) 09:57:08 fizzie: My problem is figuring out what happens when a+b > 2**8 (or, now, 2**16) 09:57:53 The 6-vote answer at http://dsp.stackexchange.com/questions/3581/algorithms-to-mix-audio-signals-without-clipping looks reasonable to me. 09:58:30 nice, you can use <= to make implications in code. great way to confuse people 09:58:36 But generally "you should avoid that, but if it does happen, you should do a saturating addition". 10:00:00 Also if you are dealing with unsigned samples, you do need to do K+(a-K)+(b-K) instead, where K would be 2^7 or 2^15. 10:01:11 (But preferrably you'd have your audio library give you signed values.) 10:05:33 (In which case you need to avoid values < -2**15 or >= 2**15 as the result of the sum.) 10:06:28 myname: This is why True should be <= False. 10:06:35 Well, < 10:07:15 shachaf: huh? 10:07:29 That would make the arrow point the right way. 10:07:36 Well, the left way. You know what I mean. 10:08:03 fizzie: oh man, 6-vote answer 10:08:14 that's like a 6-star review 10:08:18 out of 5 10:08:31 or a 6-star general 10:08:40 A 6-star programmer. 10:09:08 too many stars 10:10:21 A-star programmer 10:12:16 Oh, I was asking the other day: 10:12:26 Is there a good online algorithm for strongly connected components? 10:16:53 -!- MoALTz has quit (Ping timeout: 248 seconds). 10:44:09 [wiki] [[Unispace]] https://esolangs.org/w/index.php?diff=50019&oldid=38261 * YSomebody * (+95) added unicode numbers 10:47:32 -!- Jafet has quit (Ping timeout: 244 seconds). 10:48:34 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 10:57:02 https://groups.google.com/forum/#!topic/mozilla.dev.version-control/nh4fITFlEMk 10:57:10 Maybe mercurial will be the future. 11:00:31 -!- Jafet has joined. 11:34:25 -!- boily has joined. 11:46:29 `wisdom 11:46:34 abnf//Augmented Backus-Naur Form, an update on the popular Backus-Naur Form programming language, introduces support for "Augmented Production", e.g. `foo +::= bar`. The older `::=` syntax will continue to be supported for orthogonal-compatibility purposes. 11:51:34 -!- ganzilla has joined. 11:52:39 `dowg abnf 11:52:39 -!- ganzilla has quit (Quit: Leaving). 11:52:42 2016-09-25 revert 942e964c81c1 \ 2016-09-25 ` chmod 777 / -R \ 2016-04-23 le/rn ABNF/Augmented Backus-Naur Form, an update on the popular Backus-Naur Form programming language, introduces support for "Augmented Production", e.g. `foo +::= bar`. The older `::=` syntax will continue to be supported for orthog 11:54:03 -!- Phantom_Hoover has joined. 11:59:15 -!- DHeadshot has joined. 12:06:09 ah 12:07:01 and then there's EBNF and XBNF and SBNF and a lot of other languages for describing a recursive grammar, incompatible with each other, that are called BNF only by their name 12:13:14 . o O ( how do I macron again? ) 12:16:21 Alt+0175 12:16:38 (U+00AF) 12:18:06 DHelloadshot! in the context of LaTeX. 12:18:15 * boily is upgrading the Neverending PDF. 12:18:33 is Curry's Paradox a tanebvention? 12:26:47 -!- `^_^v has quit (Quit: This computer has gone to sleep). 12:29:36 -!- boily has quit (Quit: SECURE CHICKEN). 12:36:50 [wiki] [[VoidLang]] https://esolangs.org/w/index.php?diff=50020&oldid=49873 * YSomebody * (+232) 13:00:11 -!- ski_ has changed nick to ski. 13:25:24 -!- contrapumpkin has changed nick to copumpkin. 13:43:12 -!- aloril has quit (Ping timeout: 244 seconds). 13:43:24 -!- jix has quit (Ping timeout: 252 seconds). 13:43:39 -!- jix has joined. 13:45:59 -!- aloril has joined. 14:02:50 -!- yorick_ has changed nick to yorick. 14:07:54 -!- Froox has joined. 14:08:40 -!- `^_^v has joined. 14:10:58 -!- Frooxius has quit (Ping timeout: 250 seconds). 14:19:30 -!- MoALTz has joined. 14:55:46 -!- AnotherTest has quit (Ping timeout: 256 seconds). 15:07:54 -!- DHeadshot has quit (Ping timeout: 250 seconds). 15:10:06 -!- DHeadshot has joined. 15:58:03 -!- Cale has joined. 16:07:04 -!- Akaibu has quit (Ping timeout: 260 seconds). 16:08:32 -!- Akaibu has joined. 16:21:40 -!- alercah has quit (Ping timeout: 268 seconds). 16:24:07 -!- alercah has joined. 16:24:23 -!- LKoen has joined. 16:43:07 boily: try \= 16:45:35 -!- DHeadshot has quit (Ping timeout: 252 seconds). 16:49:10 @tell boily macron: try \= 16:49:10 Consider it noted. 17:10:34 -!- DHeadshot has joined. 17:16:11 -!- augur_ has joined. 17:19:02 -!- augur has quit (Ping timeout: 250 seconds). 17:32:41 <\oren\> Yay, my reserved instances are working! 17:36:48 <\oren\> instead of paying 1.3 cents per hour, I'm paying only 0.57 cents per hour! 17:37:04 <\oren\> my computer time just got cheaper! 17:40:06 -!- DHeadshot has quit (Ping timeout: 256 seconds). 17:42:09 -!- DHeadshot has joined. 17:44:24 Google Compute Engine gives you sustained-use discounts without having to commit to any sort of reservations, just sayin'. 17:51:30 "And if you don't need sustained uptime, it has a few options which are even cheaper," said fizzie preemptively. 18:01:28 -!- hppavilion[1] has joined. 18:02:19 Law is like the exact opposite of math 18:02:45 prove it 18:02:51 In math, you make certain assumptions (axioms) and use them to derive conclusions (theorems) 18:03:20 In law, you make certain assumptions (a constitution) and you can do anything you like, UNLESS it violates those assumptions 18:03:51 you can do anything you like in math as well, as long as it doesn't violate your axioms 18:06:40 izalove: Yes, but I'm saying that "the axioms don't disprove it" isn't the same as "it's true" 18:07:07 (Well, unless your... meta-axioms, I guess? say so, but nobody ever uses that) 18:11:46 -!- FreeFull has quit (Quit: Rebooting into new kernel). 18:16:37 <\oren\> Essays are the opposite of the scientific method 18:17:02 <\oren\> In science, you ask a question and look to the evidence to find the answer 18:17:28 <\oren\> In an essay, you come up with an answer and look for evidence that supports it 18:18:22 I don't think that's what you do in an essay. 18:19:04 -!- FreeFull has joined. 18:19:17 -!- imode has joined. 18:22:30 Apparently a local elementary school used the emergency notification system to urge parents to attend a City Council meeting to oppose opening a Marijuana store 18:22:48 shachaf: That's what I was taught 18:23:35 (God, 'j' is THE most overloaded letter- [dʒ], [j], [h], and [w] are all made by it in common english words, and half of those [h]s should be [x]s) 18:23:51 -!- pikhq has quit (Ping timeout: 256 seconds). 18:25:53 Oh, oil prices are going up 18:25:55 Yay 18:26:06 -!- imode has quit (Ping timeout: 252 seconds). 18:42:19 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 18:55:24 Huh, I can fix my arrow keys (the UP and LEFT buttons aren't working, but it doesn't seem to be a hardware error because they occasionally work for no reason) by hitting LEFT then UP 18:55:29 And it suddenly works 18:55:33 And it suddenly works 19:01:37 But I have to redo it every time. For no apparent reason. 19:01:43 I feel like this has to be a setting or something 19:02:47 <\oren\> hppavilion[1]: sometimes my IME messes with some keys 19:03:04 \oren\: IME? No clue what that is 19:03:08 (Windows. Unfortunately.) 19:03:10 input method editor 19:03:14 Ah 19:03:39 <\oren\> I'm using windows 7 19:04:11 \oren\: Oh 19:04:25 I have no idea WHAT bizarre setting would result in this, or why it would even exist 19:09:44 -!- sebbu has quit (Ping timeout: 244 seconds). 19:28:19 -!- sebbu has joined. 19:31:00 -!- `^_^v has quit (Quit: This computer has gone to sleep). 19:31:57 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 19:38:34 -!- hppavilion[1] has joined. 19:39:44 Standard Proposal: SRISCII- Holy Roman Imperial Standard Code for Information Interchange 19:42:33 s for holy 19:44:04 myname: Yes. Holy Roman Empire is abbreviated SRI for Sacrum Romanum Imperium 19:45:14 well, but that does not work for "holy roman _imperial_" 19:45:57 myname: The abbreviation is from the Latin name, the full name is in English so it's legible 19:49:39 -!- DHeadshot has quit (Ping timeout: 252 seconds). 20:13:17 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 20:41:40 -!- DHeadshot has joined. 21:08:52 -!- AnotherTest has joined. 21:09:32 -!- DHeadshot has quit (Ping timeout: 260 seconds). 21:11:29 -!- DHeadshot has joined. 21:11:56 -!- MoALTz has quit (Quit: Leaving). 21:20:04 -!- augur_ has quit (Remote host closed the connection). 21:26:39 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 21:42:27 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)). 21:46:22 -!- Bowserinator has quit (Quit: Goodbye :(). 21:46:45 -!- Bowserinator has joined. 21:49:57 -!- Bowserinator has quit (Client Quit). 21:54:47 -!- Bowserinator has joined. 21:58:22 -!- Bowserinator has quit (Client Quit). 22:01:18 -!- augur has joined. 22:10:08 -!- Bowserinator has joined. 22:21:03 -!- wob_jonas has joined. 22:22:15 -!- hppavilion[1] has joined. 22:23:54 Hm, maybe I should make an aesthetics manual for programmer style preferences... 22:25:04 -!- Phantom_Hoover has joined. 22:28:53 ("Hacksical Aesthetics") 22:42:30 man, I've used perl so much that I totally forgot how this classical unix text manipulation stuff works, had to check the manuals again, but now I remember: 22:44:28 sort both files (be careful with locale), then (join a b) to find lines shared among them, (join -v1 a b) to find lines only in a, (join -v2 a b) to find lines only in b, sort -k1 and join -j1 to compare only keys in first field, don't use comm because it's horribly confusing and error-prone 22:45:17 @messages 22:45:39 -!- AnotherTest has quit (Ping timeout: 252 seconds). 22:49:51 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 22:50:56 -!- DHeadshot_ has joined. 22:51:40 -!- DHeadshot has quit (Ping timeout: 260 seconds). 22:53:06 The difference between a 'quasi-diacritic', which is a diacritical mark that is applied to a symbol, but where the resulting symbol is considered a new letter rather than a letter with a modifier, and a proper diacritic is that a proper diacritic can be used arbitrarily without breaking the rules- it might not be normal, but it's allowed 22:53:42 Saying ï doesn't make any sense in German, therefor the umlaut is only a quasi-diacritic 22:54:31 (Similarly, since m-tilde makes no sense, the tilde in n-tilde isn't a true diacritic either.) 22:55:42 22:57:14 -!- pikhq has joined. 22:58:14 The symbols ə and ∃ are interesting, because (afaik) they're etymo... graphico... 22:58:31 OK, now I need to know the etymology of 'etymology', and it's because I ACTUALLY need it 22:59:11 Ah, etym- (true) -logos (word); etymology is the "true sense" of a word 22:59:26 So writing origins is etygraphogy 23:03:47 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 23:06:01 well, it should be etymography 23:06:19 since etym (with the m) is the truth part 23:17:19 -!- boily has joined. 23:17:40 `wisdom 23:17:46 welcome.fr//Bienvenue au centre international pour le design et le déploiement des langages de programmation ésotériques! Pour plus d’informations, visitez le wiki: http://esolangs.org/wiki/Main_Page. (Pour l’autre type d'ésotérisme, essayez #esoteric sur EFnet ou DALnet.) 23:17:53 @massages-loud 23:17:54 b_jonas said 6h 28m 43s ago: macron: try \= 23:18:23 b_jellonas. that was the thing that had to be tried. 23:24:46 `? deredundatiation # I wish I had coined that word. 23:24:47 deredundatiation # I wish I had coined that word.? ¯\(°​_o)/¯ 23:24:52 aaaaaaaaaaaurgh. 23:25:03 * boily shiftily looks at HackEgo 23:27:11 `` rm wisdom/doshes 23:27:14 No output. 23:27:17 `? doshes 23:27:17 doshes? ¯\(°​_o)/¯ 23:27:20 `? dosh 23:27:21 The doshes are what the gostak distims. 23:27:25 `? doshs 23:27:26 The doshes are what the gostak distims. 23:27:41 `complain pluralses! 23:27:42 Complaint filed. Thank you. 23:28:19 <\oren\> "Jebediah Kerman questions Dunian Soveriegnty" "At least through war, there can be an end to this conflict." 23:32:08 -!- DHeadshot_ has quit (Ping timeout: 250 seconds). 23:33:09 -!- Zarutian has joined. 23:34:58 -!- oerjan has joined. 23:37:36 -!- moonheart08 has joined. 23:39:03 `? Zarutian 23:39:04 Zarutian? ¯\(°​_o)/¯ 23:39:17 This might be the first year in a long time I'm going to miss Hexham's bonfire night :( 23:39:37 Tanelle. :( 23:40:14 It's normally around my birthday 23:40:34 This year it's convenient for me to go home midweek over my birthday but I've got lectures on the Friday afternoon 23:40:40 So I miss the bonfire on Saturday 23:40:50 Unless I have a very train-y week 23:41:26 -!- MDude has joined. 23:43:08 -!- hppavilion[1] has joined. 23:49:24 bohily 23:55:24 What is the name of the equivalent of a right cone, but where a perpendicular intersection yields an ellipse rather than a circle? 23:56:10 . o O ( a wrong cone ) 23:57:01 "Right Cone. A cone that has its apex aligned directly above the center of its base. The base need not be a circle." 23:57:14 so the answer appears to be, still a right cone. 23:57:19 hellørjan. 23:57:42 isnt a cone and extrution, along the third axis, of a two dimensional circle with an gradually increasing diameter? 23:58:10 usually. but this definition does not seem to require it. 23:58:50 oerjan: I guess I'm looking for the term 'elliptical cone' properly 23:58:54 cones can include pyramids in some meanings. 23:58:57 (this one being right) 23:58:58 $ cat /sys/class/power_supply/BAT1/capacity 23:59:00 103 23:59:02 how bit a problem is that? 23:59:03 so to get an ellipse you cut around 45° angle to that plane? 23:59:09 my battery thinks it's charged at 103% 23:59:21 oerjan: If we allow a circle to be a polygon (which is nice sometimes), then yes, a cone is a type of a pyramid 23:59:34 oerjan: so the base 2d form must not nescisarly be a circle or an ellipse? 23:59:38 ørjan, i set up a autoreplace. 23:59:42 Zarutian: no. you use an ellipse as base. afa hppavilion[1]'s question is concerned, anyway.