00:00:07 <myname> there are crazy randomized sorting algorithms that have o(1) sub-runtimes
00:00:08 <alercah> hppavilion[1]: there is a number x_0 above which f(x) is always 0
00:00:35 <alercah> hppavilion[1]: the constant function 1 is O(1) but not O(0)
00:00:49 <alercah> if f \in O(g), then O(f) \subseteq O(g)
00:01:00 <myname> 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 <ais523> myname: quicksort isn't actually O(n log n)…
00:01:41 <oerjan> <ais523> 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 <alercah> myname: how do you know that the input is bad only 1/n^2 of the time, though?
00:02:08 <alercah> myname: also no practical algorithm can be o(1)
00:02:12 <ais523> myname: it's O(n²) worst case
00:02:14 <myname> well, randomized quicksort
00:02:28 <ais523> 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 <alercah> you might be thinking o(n)
00:03:05 <ais523> alercah: I think o(n) is dubious due to space ≤ time
00:03:17 <ais523> if something runs faster than O(n) it can't possibly look at all the input
00:03:36 <alercah> I think myname is saying a probabilistic algorithm though
00:03:37 <ais523> 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 <alercah> (which is distinct from a randomized algorithm)
00:03:57 <alercah> myname: o(1) means that there is no minimum time
00:04:44 <myname> i want algorithms in o(0)!
00:04:46 <ais523> agreed, o(1) basically means that it's always possible to get a faster runtime via making the problem bigger
00:05:17 <ais523> (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 -!- Cale has quit (Read error: Connection reset by peer).
00:05:55 <HackEgo> A morphism is just a natural transformation between two functors on 1.
00:06:41 <ais523> `? natural transformation
00:06:43 <HackEgo> A natural transformation is a transformation of something containing no chemicals.
00:07:00 <ais523> this seems to break with the pattern of the other category theory entries
00:07:03 <ais523> was it so hard to explain?
00:07:10 <tswett> `slwd morphism//s/functors on/diagrams of
00:07:11 <HackEgo> sed: -e expression #1, char 25: unterminated `s' command
00:07:14 <ais523> I was hoping for something along the lines of Quiler
00:07:15 <tswett> `slwd morphism//s/functors on/diagrams of/
00:07:16 <ais523> http://esolangs.org/wiki/Quiler
00:07:16 <HackEgo> wisdom/morphism//A morphism is just a natural transformation between two diagrams of 1.
00:07:34 <HackEgo> 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 <tswett> I learned about the word "diagram" recently.
00:08:05 <ais523> that's a lot of random umlauts
00:08:16 <tswett> A diagram is like a functor...
00:08:25 <HackEgo> A diagram is just a functor.
00:08:29 <tswett> Because a diagram is the same thing as a functor...
00:08:45 <shachaf> A functor from a free category on some graph, often.
00:08:47 <tswett> But a diagram is thought of as a collection rather than a transformation!
00:08:49 <ais523> `mkx bin/rb//rm "bin/$1"
00:09:01 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rb: not found
00:09:54 <ais523> 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 <shachaf> it would be spooky if the error was "rb: bin/rb: file not found"
00:10:15 <shachaf> ais523: Are you talking about a commutative diagram in particular?
00:10:32 <shachaf> Usually a diagram doesn't represent any equations by itself.
00:10:48 <ais523> shachaf: err, yes, commutative diagrams
00:11:10 <ais523> `mkx bin/rself//rm bin/rself
00:11:21 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rself: not found
00:11:24 <shachaf> ais523: bin/slist had prior art
00:11:25 <ais523> there, a better version of the idea
00:11:34 <ais523> although it's not going to beat /bin/cd
00:11:51 <shachaf> I wrote a cd program once.
00:11:57 <shachaf> It attached to its parent with a debugger and made a chdir call.
00:12:06 <ais523> yes, that's exactly how mine works too
00:12:11 <ais523> http://sprunge.us/ZdTB
00:12:31 <shachaf> In retrospect maybe I should've thought of that.
00:12:40 <ais523> what, you used ptrace directly?
00:12:50 <tswett> Totally unrelated to anything!
00:12:54 <tswett> I have this philosophy philosophy.
00:13:00 <shachaf> Also I used the system call instead of the libc chdir() call.
00:13:08 <ais523> actually my version fails on filenames that contain literal double quotes or backslashes
00:13:14 <ais523> because gdb tries to C-unescape them
00:13:27 <ais523> so yours is probably better
00:14:07 <tswett> I think that if there is no solid argument for a claim, then the claim probably isn't true.
00:14:13 <ais523> on the subject of /bin/cd, I've heard that goto used to be an executable
00:14:13 <tswett> Consider the claim that qualia exist or whatever.
00:14:18 <ais523> that worked via editing the shell script that called it
00:14:23 <shachaf> And I think glibc caches the working directory so it broke some things that used getcwd.
00:14:29 <tswett> There exists no solid argument for that claim! I can poke holes in any of them!
00:14:40 <ais523> 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 <imode> goto used be an executable? awesome.
00:15:06 <tswett> Therefore, the claim that qualia exist probably isn't true.
00:15:43 <tswett> ais523: well, a claim doesn't have to be false for it to be non-true.
00:16:05 <tswett> 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 <ais523> e.g. it could be meaningless, or paradoxical
00:16:12 <tswett> It's non-true and non-false.
00:16:14 <ais523> or irrelevant, or malformed
00:23:54 <ais523> can you give an example of a Zen statement which doesn't have one of the truth values listed above?
00:24:24 <ais523> 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:25:23 <ais523> boily: mu was a Zen /answer/ to a question
00:25:26 <ais523> which unasked the question
00:25:42 -!- computing has joined.
00:25:45 <ais523> interestingly, this is pretty much what throwing an exception does in most programming languages with structured exceptions
00:26:08 <ais523> huh, I just realised NetHack 4 also has the possibility of unasking a question
00:26:13 -!- Cale has joined.
00:26:17 <ais523> but this time, it's the person who asked the question who unasks it
00:26:30 <shachaf> aren't exceptions sufficient for some sort of non-constructive logic thing
00:26:48 -!- moony has quit (Ping timeout: 260 seconds).
00:27:01 <ais523> how much extra control structure do you need for try/catch/throw to be TC?
00:27:10 <Zarutian> shachaf: you are talking about backtracking like in prolog?
00:27:16 <ais523> actually you probably also need unthrow or there's no clear way to store data
00:30:40 <fizzie> 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:47 <fizzie> `` echo $(date +%s) $(ls -l canary 2>&1) >> tmp/canary.txt; rm canary
00:30:56 <HackEgo> 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 <fizzie> On the first run, there wasn't a canary.
00:31:22 <fizzie> `` rm tmp/canary.txt # cleanup
00:31:54 <ais523> fizzie: so after deleting the canary, the next command runs twice?
00:32:29 <fizzie> 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 <shachaf> 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:34 <HackEgo> #!/bin/bash \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$1" | rnooodl
00:33:48 <ais523> `` echo test >> tmp/echotest.txt
00:34:13 <shachaf> Nothing in tmp/ gets logged to hg in any case.
00:34:25 <ais523> ah right, that's why there was only one copy?
00:35:04 <fizzie> 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 <ais523> is this where the "Hack" part of HackEgo comes from?
00:36:11 <shachaf> `` sed 's#eval#rm canary; eval#' bin/\` > bin/'('
00:36:29 <HackEgo> /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:37:05 <HackEgo> cat: test: No such file or directory
00:40:05 <fizzie> 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 <fizzie> ... 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:05 <HackEgo> 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:47:48 -!- gniourf has joined.
00:48:02 -!- Cale has quit (Ping timeout: 256 seconds).
00:50:05 <fizzie> Yeah, the last cat ran twice.
00:50:36 <HackEgo> 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:52:53 <oerjan> boily: i guess it's good `? canary is no longer an ELF binary, then.
00:53:29 <hppavilion[1]> Funtime activity: Convert any number that references degrees (including any "<n> degrees" AND any occurrence of the numbers {180, 360*n for positive integer n)) to radians
00:54:20 <fizzie> 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 <boily> oerjan: it all hinges on your definition of "good". some people in here like to throw some curveballs in the wisdom database...
00:54:49 <HackEgo> _46bit is a slightly-uptight public-schooled Brit. Taneb invented him.
00:54:56 <oerjan> hppavilion[1]: it applies to _all_ irc lines, ever, hth
00:55:06 <boily> is _46bit a person or a thing?
00:55:21 <hppavilion[1]> oerjan: ...so you just removed he word 'radians' or...?
00:56:57 <oerjan> as you know, it's redundant.
00:57:19 <boily> I'm tempted to file them under Tanebventions. they'll be personed if they return.
00:57:25 <hppavilion[1]> (Or that started going by something else. Maybe there's a _32nat here somewhere?)
00:57:42 <HackEgo> 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:58:03 <oerjan> `slwd tanebvention//s/BBC/BBC, _46bit/
00:58:04 -!- computing has quit (Ping timeout: 260 seconds).
00:58:05 <HackEgo> 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 <hppavilion[1]> ("structions" as in "destruction", not as in "construction")
00:59:53 -!- digitalc1ld has changed nick to digitalcold.
01:06:28 <hppavilion[1]> https://twitter.com/tldrwikipedia?lang=en is a lot like wisdom...
01:13:22 <boily> `` culprits wisdom/alpha
01:13:24 <HackEgo> fizzïe evilips̈e oerjän b_jonäs
01:13:51 <boily> @ask wob_jonas wellob_jonas. letteral?
01:15:16 <oerjan> hppavilion[1]: it seems a lot more cynical tdnh
01:15:39 <HackEgo> 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:32 <oerjan> it's to letter what a numeral is to a number hth
01:16:36 <boily> one never knows. maybe it's a typographical letter?
01:17:17 <boily> . o O ( there should be an Edible Chapter in the PDF. so many food entries... )
01:18:30 <oerjan> it will include all the food and johnny depp.
01:20:03 <HackEgo> <b_jonäs> 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. \ <oerjän> ` sed -i sbabAb wisdom/alpha \ <evilips̈e> ` chmod 777 / -R \ <fizzïe> revert 942e964c81c1
01:22:11 * oerjan tempted to add bin/{h,d}o{w,a}t
01:22:20 <boily> ♪ DING ♪ little PDF update! some symbols, and entries in A!
01:22:54 <oerjan> `` ls bin/{h,d}o{w,a}t
01:22:55 <HackEgo> 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 <oerjan> `` echo bin/{h,d}o{w,a}{g,t}
01:23:30 <HackEgo> bin/howg bin/howt bin/hoag bin/hoat bin/dowg bin/dowt bin/doag bin/doat
01:23:49 <oerjan> `` echo bin/{h,d}?{w,a}{g,t}
01:23:50 <HackEgo> bin/howg bin/h?wt bin/hoag bin/h?at bin/dowg bin/d?wt bin/doag bin/d?at
01:24:25 <oerjan> hm i've got a bad feeling about this
01:27:28 -!- moonheart08 has joined.
01:30:45 <boily> moonheart08: that's NSFB.
01:33:34 <moonheart08> what do you all think should go on health and safety guidelines for Astatine? ( http://www.lenntech.com/periodic/elements/at.htm )
01:33:53 <HackEgo> 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 <boily> how the actual fungot suis-je supposé formatter ça? AAAAAAAAARGH!
01:34:10 <fungot> boily: that's completely wrong. this might be
01:34:19 <boily> fungot: of course it's wrong!!!!
01:34:19 <fungot> 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 <moonheart08> 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 <boily> fungot: well, you can shove your inspiration deep where brainfuck derivatives grow.
01:35:09 <fungot> boily: form and value of greek letter came from the class? sicp, i have to
01:35:39 <moonheart08> 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 <oerjan> `` wc wisdom/brilliant
01:39:40 <HackEgo> 1 16 476 wisdom/brilliant
01:39:42 -!- Zarutian has quit (Quit: Zarutian).
01:40:11 <oerjan> `` 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:25 <oerjan> boily: it seems to be cut off a bit hth
01:40:44 <oerjan> maybe check out the repo browser.
01:42:20 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/wisdom/brilliant
01:42:47 <boily> at least 'B' is now updated too.
01:43:11 <oerjan> yep, the file contains the whole original phrase
01:44:16 <oerjan> my copying and pasting cut away the colors
01:45:58 <HackEgo> Boring means of little interest.
01:46:25 <HackEgo> 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 <oerjan> `` cwlprits internet # if this isn't zzo38...
01:46:52 <HackEgo> fizzïe evilips̈e shachäf hppavilion[1̈] olsnër
01:47:16 <oerjan> `` cwlprits internet | tac
01:47:18 <HackEgo> fizzïe evilips̈e shachäf hppavilion[1̈] olsnër
01:47:33 <oerjan> `` howg internet | tac
01:47:35 <HackEgo> <olsnër> 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. \ <hppavilion[1̈]> le/rn_append internet/Except porn. \ <shachäf> revert \ <evilips̈e> ` chmod 777 / -R \ <fizzïe> revert 942e964c81c1
01:47:53 <oerjan> it is possible olsner was quoting him though
01:49:05 <fizzie> oerjan: Your guess is: correct.
01:50:05 <fizzie> (Date ref 2016-02-15.)
01:54:42 <oerjan> <izalove> https://github.com/izabera/s <-- . o O ( you're doing the s/// thing all wrong... )
01:57:30 <boily> oh, a wild github account!
01:58:11 <boily> izabellora. you are invited to become a cocoonspirator.
01:58:15 -!- moonheart08 has quit (Ping timeout: 265 seconds).
02:02:55 <boily> Github now sends an invitation for private repositories, instead of joining you at once.
02:03:35 <HackEgo> 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 <boily> it's to give them commit access to the PDF repo hth
02:15:27 <hppavilion[1]> Is there a simple equation that calculates the sum of ax+b, for all integers x in a range?
02:15:50 -!- boily has quit (Quit: FALSE CHICKEN).
02:17:13 -!- gniourf has quit (Ping timeout: 260 seconds).
02:18:50 <izabera> like a*1+b + a*2+b + a*3+b ... ?
02:20:01 <hppavilion[1]> 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 <oerjan> 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:28:24 <oerjan> 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 <hppavilion[1]> In Soviet Russia... Big Brother still watches YOU... what did YOU expect?
02:51:17 -!- imode has quit (Ping timeout: 260 seconds).
02:53:19 <HackEgo> ¯\(°_o)/¯ soviet russia?
02:53:27 <HackEgo> 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:50 <HackEgo> Information on the THEM has been removed for national security reasons.
02:55:50 <tswett> Today I read the first part of a webcomic called "The Din".
02:55:56 <tswett> I learned what it's about.
02:58:46 <oerjan> `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 <HackEgo> 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.
03:00:10 <HackEgo> 2016-10-19 <oerjän> 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 <fizzïe> revert 942e964c81c1 \ 2016-09-25 <evilips̈e> ` chmod 777 / -R \ 2016-05-31 <shachäf> revert 8238
03:00:28 <oerjan> `before wisdom/soviet russia
03:00:32 <HackEgo> wisdom/soviet russia//¯\(°_o)/¯ soviet russia?
03:00:36 <shachaf> fizzie: have you considered rewriting history to filter out those annoying edits twh
03:00:54 <oerjan> shachaf: caught by my own joke :(
03:01:02 <oerjan> well, it may have been mine
03:01:04 <shachaf> `` dowg soviet\ russia | tac
03:01:06 <HackEgo> 2016-04-14 <oerjän> le/rn soviet russia/\xc2\xaf\\(\xc2\xb0\xe2\x80\x8b_o)/\xc2\xaf soviet russia? \ 2016-04-17 <b_jonäs> slashlearn soviet russia/In soviet russia, this wisdom entry reads you. \ 2016-04-17 <int-̈e> revert \ 2016-05-31 <hppavilion[1̈]> le/rn soviet russia/In soviet russia, this wisdom entry /would/ read you if it weren\'t for
03:01:09 <hppavilion[1]> (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 <oerjan> `slwd soviet russia//s,/,,
03:01:21 <HackEgo> 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 <shachaf> oerjan: Maybe we should switch le/rn to use // for consistency?
03:02:16 <hppavilion[1]> (e.g. when normally [x] =a> [y], in Soviet Russia, [y] =a> [x])
03:03:40 <hppavilion[1]> (Facts are provided as a 3-tuple of 2-tuples ((actor, desc1), (actee, desc2), (act, manner)) )
03:03:53 <shachaf> i,i `le//rn http://http:// indicates an HTTP URL.
03:04:21 -!- yorick_ has joined.
03:05:06 <hppavilion[1]> shachaf: Only if we also have `le///rn, `le////rn, etc.
03:05:32 <oerjan> hppavilion[1]: we do have that automatically.
03:05:38 <shachaf> le/rn and le//rn already exist, and split on / and // respectively
03:05:47 <HackEgo> cat: wisdom/forwards: No such file or directory
03:05:48 <shachaf> I'm proposing making le/rn split on //
03:06:02 <HackEgo> Learned 'forwards': forwards? ¯\(°_o)/¯
03:06:20 <tswett> `le//rn Since when does le//rn exist?
03:06:22 <HackEgo> Learned 'since when does le': rn exist?
03:06:31 <tswett> `forget since when does le
03:06:48 <tswett> Next question: how does le//rn exist?
03:06:50 <hppavilion[1]> shachaf: But the pun is better if there's ACTUALLY a file, for no reason at all
03:06:59 <tswett> Aren't bin/le/rn and bin/le//rn the same path?
03:06:59 -!- yorick has quit (Ping timeout: 258 seconds).
03:07:15 <shachaf> They're distinct paths that refer to the same file.
03:08:32 <tswett> `run ln -s ../` le////temp
03:08:33 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching ``' \ bash: -c: line 1: syntax error: unexpected end of file
03:08:40 <tswett> `run ln -s '../`' le////temp
03:08:47 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/le////temp: No such file or directory
03:09:12 <hppavilion[1]> In America, radiation poisoning kills you slowly. In Soviet Kazakhstan, radiation poisoning slows you lethally!
03:09:32 <tswett> I'm trying to figure out what I'm doing hth.
03:09:37 <HackEgo> le/temp: broken symbolic link to `../`'
03:10:05 <shachaf> if you need to experiment you can do it in tmp/
03:10:43 <hppavilion[1]> In total, there are 719 soviet republics, plus America which has all the facts straight
03:12:48 <hppavilion[1]> (There aren't nearly enough countries in the real world, so we'll have to choose fictional countries too)
03:13:23 <hppavilion[1]> (In Soviet Narnia, Aslan teach YOU values to Christianity!)
03:13:40 <tswett> `le/rn CCCP is a misspelling of СССР.
03:13:43 <oerjan> hppavilion[1]: that's not even backwards hth
03:14:06 <hppavilion[1]> oerjan: Only Soviet Russia is backwards, other Soviet countries use different permutations
03:14:31 <tswett> `learn CCCP is a misspelling of СССР.
03:14:35 <HackEgo> Learned 'cccp': CCCP is a misspelling of СССР.
03:14:37 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:14:59 <HackEgo> [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 <tswett> `learn СССР is the Russian way of writing USSR. They like to write U as С sometimes.
03:15:59 <HackEgo> Learned 'СССР': СССР is the Russian way of writing USSR. They like to write U as С sometimes.
03:16:34 <tswett> `run mv wisdom/СССР wisdom/ссср
03:16:43 <tswett> All this Cyrillic is so confusing.
03:17:18 <oerjan> tswett: um the lower casing only works for english alphabet and Ø hth
03:17:25 <oerjan> (and maybe a couple other letters)
03:17:50 <oerjan> and in fact, there are wisdoms differing on the rest
03:20:29 <HackEgo> å is the same letter as Å, unless you're HackEgo and don't understand things on top of letters.
03:20:33 <HackEgo> Å _is_ a village in Norway, unless you're the BBC and don't understand things on top of letters.
03:21:17 <oerjan> hm if that's the only one, then it would be sort of redundant once it's fixed...
03:21:55 <shachaf> I think HackEgo's issue is that it doesn't understand uppercase letters.
03:22:14 <hppavilion[1]> `le/rn nø/nø means 'Char', apparently. Maybe like when you burn a lot?
03:22:16 <HackEgo> Learned 'nø': nø means 'Char', apparently. Maybe like when you burn a lot?
03:22:28 <shachaf> 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:43 <shachaf> So it's more an issue with understanding letters on top of things.
03:22:56 -!- imode has joined.
03:23:12 <oerjan> hppavilion[1]: it makes no sense hth
03:23:28 <zgrep> <tswett> All this Cyrillic is so confusing. <-- сыриллик из нот конфузинг
03:23:32 <shachaf> oerjan: https://translate.google.com/#auto/en/n%C3%B8 hth
03:23:48 <shachaf> i would dewisdom it, if it was up to me
03:24:15 <tswett> I love writing languages in the wrong alphabet.
03:25:21 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
03:25:38 <HackEgo> CCCP is a misspelling of СССР.
03:25:50 <oerjan> hppavilion[1]: i am pretty sure hawaiian does not have "ø" hth
03:25:55 <zgrep> Communist Cravings Cannot Prosper
03:26:41 <hppavilion[1]> Presumably it's just a different way of transcribing
03:27:57 <oerjan> <hppavilion[1]> shachaf: We have a handy new command for that now <-- you mean a handy _old_ command hth
03:28:07 <tswett> `run ln -s wisdom/ссср wisdom/СССР
03:28:31 <tswett> `run ln -s ссср wisdom/СССР
03:28:35 <HackEgo> СССР is the Russian way of writing USSR. They like to write U as С sometimes.
03:29:07 <shachaf> You mean they like to write U and S as С
03:29:21 <oerjan> <hppavilion[1]> 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 <hppavilion[1]> oerjan: Pretty sure ø counts as a latin alphabet character
03:30:35 <tswett> `learn СССР is the Russian way of writing USSR. The Cyrillic letter С means S, and it also means U.
03:30:37 <HackEgo> Relearned 'СССР': СССР is the Russian way of writing USSR. The Cyrillic letter С means S, and it also means U.
03:30:56 <oerjan> hppavilion[1]: what i mean is, you wouldn't transcribe hawaiian.
03:31:01 <HackEgo> Balrogs live at the bottom of the world.
03:31:08 <ybden> ^ context for this?
03:31:23 <ais523> oerjan: that "hawaiian" needs extra diareses
03:32:05 <ais523> I'm not 100% sure how it's pronounced
03:32:16 <oerjan> ais523: hawai`ian except it's not that `
03:32:47 <ybden> hppavilion[1]: thanks
03:33:38 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: H̀awaií´: not found
03:34:07 <hppavilion[1]> I was hoping that would trigger evil alternate dimension HackEgo
03:34:29 <shachaf> but the output is in the evil alternate dimension
03:34:55 <shachaf> http://kilgoretroutstories.tumblr.com/post/16737051380/maniacs-in-the-fourth-dimension-by-kilgore hth
03:35:18 <hppavilion[1]> shachaf: Then why didn't our HackEgo respond to a query from evil alternate dimension macbookair_1 tdnh
03:37:46 <shachaf> evil oerjan has already banned that user
03:37:59 <shachaf> in fact evil oerjan has banned almost everyone
03:39:47 <HackEgo> 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:41:11 <HackEgo> Os is the accusative plural of us. Also a municipality in Norway.
03:41:15 <shachaf> `slwd oerjan//s#mysterious#renouned itymologist#;s#we##
03:41:17 <HackEgo> 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:57 <shachaf> `slwd oerjan//s#mildly#passionfruitly#;s# and passion fruit##
03:43:00 <HackEgo> 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 <tswett> It's probably part of the joke.
03:43:14 <tswett> I don't know who wrote the wisdom entry for "os" or why.
03:43:24 <HackEgo> 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 <HackEgo> fizzïe evilips̈e oerjan_nop̈e oerjän maurïs tsweẗt
03:43:31 <tswett> I used to not know who had written the wisdom entry for sex.
03:43:46 <shachaf> `slwd oerjan//s#bulgarian woof ##
03:43:47 <HackEgo> 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 <shachaf> isn't it goof, bulgarian woof
03:44:17 <tswett> Suggest "suture computation" wth?
03:44:32 <HackEgo> fizzïe evilips̈e tsweẗt oerjän oerjän tsweẗt
03:44:44 <tswett> I looked up who wrote the wisdom entry for sex and was surprised to find that it was me.
03:44:53 <HackEgo> 2016-10-18 <oerjän> slwd oerjan//s/comput/complic/
03:45:25 <shachaf> What, you rate diacritics now?
03:45:32 <shachaf> Some sort of diacritic critic?
03:48:27 <oerjan> Diakritik der reinen Vernunft
03:48:33 <shachaf> http://hca.gilead.org.il/somethin.html is a story by Hans Christian Andersen.
03:48:44 <shachaf> There's a character who was a critic all his life.
03:48:51 <shachaf> So everyone expected him to diacritic.
03:49:10 <oerjan> i suspect that wasn't andersen's pun
03:50:55 <tswett> Hey, let me give y'all guys a piece of code I wrote.
03:51:16 <tswett> 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:55:46 <oerjan> shachaf: "diacritic" hth
03:56:43 <shachaf> oerjan: I mean: Did Andersen have a pun in mind?
03:56:50 <shachaf> But maybe you didn't intend the sentence that way.
03:59:59 <shachaf> Why does the second derivative have two arguments?
04:00:05 <shachaf> What does it mean to vary the first or the second one?
04:03:59 <hppavilion[1]> shachaf: http://hca.gilead.org.il/somethin.html really makes the t-v distinction important
04:04:24 <hppavilion[1]> 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 <shachaf> I suspect that it's translated from Danish.
04:05:16 <shachaf> 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 <hppavilion[1]> shachaf: I wouldn't if I hadn't clicked on a random video at some point to learn it
04:08:59 <hppavilion[1]> I still like the idea of a complex system of honorific cursing
04:11:23 <tswett> hppavilion[1]: some language I'm making.
04:11:53 <tswett> I'm trying to write a compiler from itself into C#.
04:12:12 <tswett> Which, yeah, kind of presents an obvious bootstrapping problem.
04:15:04 <hppavilion[1]> 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 <shachaf> What's the derivative of the sphere x^2+y^2+z^2=1?
05:23:58 <oerjan> and once again, it amounts to the radius being normal to any tangent vector
05:24:45 <oerjan> 2x dx + 2y dy + 2z dz = 0
05:25:06 <shachaf> Are you allowed to do that?
05:25:22 <oerjan> well add a /dt to taste
05:25:44 <shachaf> Oh, you're still parameterizing everything in terms of t. #scow
05:26:01 <shachaf> Anyway the derivative at any point is a plane.
05:27:04 <oerjan> you might want to ask someone who actually learned differential geometry properly...
05:27:35 <shachaf> Let's see what x dx + y dy + z dz = 0 does.
05:28:15 <shachaf> dy/dx = -z/y dz/dx - x/y ?
05:28:35 <shachaf> I guess that's a "total derivative".
05:28:51 <shachaf> Where the "partial derivative" ∂y/∂x = -x/y
05:29:18 <quintopia> i learned the first couple of chapters
05:31:01 <shachaf> I guess you can say: \(x,y,z) -> \(dx,dy,dz) -> x*dx + y*dy + z*dz
05:31:23 <shachaf> The plane is the zero set of that linear map.
05:32:55 <shachaf> Or equivalently, \(x,y,z) -> x dx + y dy + z dz
05:33:08 <shachaf> Where d{x,y,z} are a covector basis for the tangent space.
05:37:33 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
05:38:27 <quintopia> 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 <shachaf> For any point on the sphere, that function specifies a tangent plane.
05:39:52 <shachaf> This happens to work for a sphere of any radius.
05:40:20 <shachaf> But if your sphere has radius 1 then you shouldn't use that function on other points.
05:40:29 <shachaf> The domain is the sphere, I guess.
05:40:57 <quintopia> i guess you just add the other constraint if you want "the set of tangent planes to this particular sphere"
05:41:42 <quintopia> you do the same thing with any diffeq
06:02:58 <shachaf> oerjan: What's the second derivative of the sphere?
06:04:25 -!- oerjan has quit (Quit: Nite).
07:05:20 <\oren\> ☃ Δv = 2376.48906005893
07:07:54 -!- hppavilion[1] has joined.
07:08:17 <hppavilion[1]> How DOES one combine two tones? Do you just add their values at each interval, or... what?
07:09:07 <hppavilion[1]> (Well, it probably won't be add so much as... something, maybe 1/((1-(1/a))+(1-(1/b)))? )
07:10:50 <hppavilion[1]> 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:56 <shachaf> Are a and b in your expression tones? What are their types?
07:12:41 <hppavilion[1]> (Ideally, they're arbitrary real numbers, but obviously not properly)
07:13:14 <shachaf> And what do you do with those values?
07:13:29 <hppavilion[1]> shachaf: Right, right, I'm reading my own message wrong
07:14:45 <hppavilion[1]> 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 <hppavilion[1]> It generates it by taking the attributes and creating an array of bytes for the samples
07:15:10 <shachaf> Are you saying that a tone is a waveform?
07:15:38 <hppavilion[1]> shachaf: I'm confusing myself. Basically I'm trying to say a-note-played-for-a-duration
07:16:14 <shachaf> Are you saying that some waveforms represent tones and others don't?
07:16:37 <hppavilion[1]> Allow me to rearead the code- I haven't done this for a while
07:17:13 <hppavilion[1]> 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 <shachaf> maybe you should mean something else hth
07:19:35 <shachaf> You could go by what https://en.wikipedia.org/wiki/Waveform says.
07:20:12 <hppavilion[1]> shachaf: It's more that I know what I mean and I'm using related-but-wrong words
07:20:32 <shachaf> I don't know anything about sound, but those pictures there look like like periodic functions of time to me.
07:20:54 <shachaf> So maybe you can say that a waveform is a function.
07:20:59 <hppavilion[1]> 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:46 <hppavilion[1]> 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 <hppavilion[1]> I guess a sample is probably how much to vibrate... or something...
07:22:19 <shachaf> You should forget the samples for a bit and look at that page.
07:22:33 <shachaf> The samples are an approximation of something. That's why they're called samples.
07:22:33 <hppavilion[1]> But yes, the sound is basically a periodic function which is USUALLY sinusoidal but COULD be sawtooth or triangle or square or whatever
07:23:56 <shachaf> OK, so the sound is a function.
07:24:40 <shachaf> Maybe those samples are sampling the function? Measuring it every so often and looking at the value at each point?
07:24:45 <hppavilion[1]> I suppose it makes sense to skip the bytearray in the theoretical and just say gen_sine(...) returns a sine function
07:25:05 <shachaf> 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 <hppavilion[1]> And I have an output stream that I can send one function to at a time
07:25:24 <shachaf> OK, so what does your byte array represent?
07:25:45 <shachaf> Maybe it's the value of the function x-second intervals.
07:26:00 <hppavilion[1]> shachaf: Outputs of the function pre-packaged so they don't have to be calculated WHILE playing
07:26:46 <hppavilion[1]> shachaf: 1/22050 typically, but it CAN be varied I'm pretty sure
07:27:04 <shachaf> Well, you're the one making the byte array, presumably you should know.
07:27:29 <shachaf> https://en.wikipedia.org/wiki/Sampling_(signal_processing) confirms it.
07:27:50 <shachaf> OK, well, I learned how samples work now, which I didn't know before, so I'm happy at least.
07:28:04 <shachaf> Now that you know what a waveform is, what's a tone?
07:28:05 <hppavilion[1]> 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 <hppavilion[1]> shachaf: I think a tone just means a waveform here...
07:28:32 <\oren\> ❄dvcalc 60.12 2649 400
07:28:32 <\oren\> ☃ Δv = 2635.18424420613
07:28:39 <hppavilion[1]> shachaf: But it generally has to be a pretty simple one... presumably...
07:28:45 <shachaf> Then how do you "combine two tones"?
07:29:08 <shachaf> Is a tone just a waveform or is it a specific type of waveform?
07:29:17 <shachaf> For example, if you record yourself talking, is that a tone?
07:29:29 <hppavilion[1]> shachaf: Basically you just find what function to send to the stream to generate a chord; play both sounds together
07:29:55 <hppavilion[1]> shachaf: I think "tone" is just a kind of not-very-rigorous term I was using because it sounded about right
07:31:06 <shachaf> https://en.wikipedia.org/wiki/Musical_tone says that a tone has to be periodic.
07:32:04 <hppavilion[1]> 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:33:28 <shachaf> I think maybe you mean that the frequency is 440/s?
07:33:32 <hppavilion[1]> 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 <shachaf> And the period is 1/440 s?
07:35:28 <hppavilion[1]> 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 <shachaf> OK. So how do you "combine" two waveforms?
07:36:13 <shachaf> I speculate that the answer is that you sum the functions at each point.
07:36:37 <hppavilion[1]> 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 <hppavilion[1]> 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 <hppavilion[1]> 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 <shachaf> OK, I didn't know what the codomain of the waveform was.
07:40:01 <hppavilion[1]> 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 <shachaf> Anyway, you can do some experiments now.
07:40:35 <shachaf> 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 <hppavilion[1]> 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 <shachaf> (Since you're not doing bizarro maths so the sum of two periodic functions is probably periodic.)
07:41:18 <shachaf> If you're deaf, it doesn't matter which tones you use.
07:42:24 <shachaf> Which means you can't distinguish tones?
07:42:35 <hppavilion[1]> No, it's... I don't know if it actually means anything
07:42:38 <shachaf> In that case you don't need to add tones, because they're all equivalent.
07:42:55 <hppavilion[1]> It just means I'm bad at telling if it sounds particularly good or if it's a weird noise
07:43:16 <shachaf> Why do you care about something you can't tell?
07:44:11 <shachaf> 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 <shachaf> I mean the "combined" tone for various proposals of combining tones.
07:45:13 <shachaf> Then you can see if you can come up with the effect you want.
07:45:23 <shachaf> (Am I being patronizing or something? I hope not.)
07:46:39 <shachaf> You could also think of what properties you want "combining" to have, and then think of functions that satisfy them.
07:47:24 <shachaf> For example, if you combine a tone with itself, it should probably keep the same pitch?
07:47:38 <shachaf> How do you play the byte arrays that you generate?
07:47:54 <hppavilion[1]> shachaf: I'm pretty sure 'combining' is a defined concept that I just don't know the proper word for
07:48:14 <hppavilion[1]> shachaf: I put them in a magic box that comes from a library and it makes it come out of the speakers
07:50:48 <hppavilion[1]> (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 <shachaf> This sounds like fun so I'll probably try making some sound.
07:52:46 <shachaf> It looks like the [0..255] codomain thing is called the "sample width" and in some cases it's larger.
07:52:52 <shachaf> But at any rate of course it'll be bounded.
08:15:16 <hppavilion[1]> Wow, xkcd did two comics in a row that were directly related that WEREN'T part of a numbered series
08:16:22 <hppavilion[1]> 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 <hppavilion[1]> (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 <shachaf> Aha, I've successfully combined two sounds.
08:45:29 <shachaf> Maybe I didn't do it right. Who knows.
09:11:02 -!- AnotherTest has joined.
09:12:39 <izalove> about the factorial problem
09:14:14 <izalove> get x! back from its factorization, then use stirling's approximation to guesstimate x, then compute factorials until you match x!
09:24:21 <olsner> <oerjan> it is possible olsner was quoting him though <- the line about the internet? doesn't look like me at least
09:37:48 <hppavilion[1]> izalove: you just said 'guesstimate'. You must be excommunicated.
09:39:45 <hppavilion[1]> Question: Are there any places you can go where you can PAY to jump over a shark?
09:52:49 <fizzie> 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 <fizzie> (Also, 8-bit samples are pretty retro; 16 bits would be more reasonable.)
09:53:33 <fizzie> I mean, these days people commonly even use floats or doubles for digital audio.
09:53:59 <fizzie> (At least for intermediate processing.)
09:57:08 <hppavilion[1]> fizzie: My problem is figuring out what happens when a+b > 2**8 (or, now, 2**16)
09:57:53 <fizzie> 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 <myname> nice, you can use <= to make implications in code. great way to confuse people
09:58:36 <fizzie> But generally "you should avoid that, but if it does happen, you should do a saturating addition".
10:00:00 <fizzie> 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 <fizzie> (But preferrably you'd have your audio library give you signed values.)
10:05:33 <fizzie> (In which case you need to avoid values < -2**15 or >= 2**15 as the result of the sum.)
10:06:28 <shachaf> myname: This is why True should be <= False.
10:07:29 <shachaf> That would make the arrow point the right way.
10:07:36 <shachaf> Well, the left way. You know what I mean.
10:08:03 <shachaf> fizzie: oh man, 6-vote answer
10:08:14 <shachaf> that's like a 6-star review
10:12:16 <shachaf> Oh, I was asking the other day:
10:12:26 <shachaf> Is there a good online algorithm for strongly connected components?
10:16:53 -!- MoALTz has quit (Ping timeout: 248 seconds).
10:44:09 <HackEgo> [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 <shachaf> https://groups.google.com/forum/#!topic/mozilla.dev.version-control/nh4fITFlEMk
10:57:10 <shachaf> Maybe mercurial will be the future.
11:00:31 -!- Jafet has joined.
11:34:25 -!- boily has joined.
11:46:34 <HackEgo> 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 -!- ganzilla has quit (Quit: Leaving).
11:52:42 <HackEgo> 2016-09-25 <fizzïe> revert 942e964c81c1 \ 2016-09-25 <evilips̈e> ` chmod 777 / -R \ 2016-04-23 <hppavilion[1̈]> 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:07:01 <b_jonas> 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 <boily> . o O ( how do I macron again? )
12:18:06 <boily> DHelloadshot! in the context of LaTeX.
12:18:15 * boily is upgrading the Neverending PDF.
12:18:33 <boily> 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 <HackEgo> [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:45:35 -!- DHeadshot has quit (Ping timeout: 252 seconds).
16:49:10 <b_jonas> @tell boily macron: try \=
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 <fizzie> Google Compute Engine gives you sustained-use discounts without having to commit to any sort of reservations, just sayin'.
17:51:30 <shachaf> "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:51 <hppavilion[1]> In math, you make certain assumptions (axioms) and use them to derive conclusions (theorems)
18:03:20 <hppavilion[1]> In law, you make certain assumptions (a constitution) and you can do anything you like, UNLESS it violates those assumptions
18:03:51 <izalove> you can do anything you like in math as well, as long as it doesn't violate your axioms
18:06:40 <hppavilion[1]> izalove: Yes, but I'm saying that "the axioms don't disprove it" isn't the same as "it's true"
18:07:07 <hppavilion[1]> (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 <shachaf> 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 <hppavilion[1]> 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:23:35 <hppavilion[1]> (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: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 <hppavilion[1]> 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
19:01:37 <hppavilion[1]> But I have to redo it every time. For no apparent reason.
19:02:47 <\oren\> hppavilion[1]: sometimes my IME messes with some keys
19:04:25 <hppavilion[1]> 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 <hppavilion[1]> Standard Proposal: SRISCII- Holy Roman Imperial Standard Code for Information Interchange
19:44:04 <hppavilion[1]> myname: Yes. Holy Roman Empire is abbreviated SRI for Sacrum Romanum Imperium
19:45:14 <myname> well, but that does not work for "holy roman _imperial_"
19:45:57 <hppavilion[1]> 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 <hppavilion[1]> Hm, maybe I should make an aesthetics manual for programmer style preferences...
22:25:04 -!- Phantom_Hoover has joined.
22:42:30 <wob_jonas> 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 <wob_jonas> 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: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 <hppavilion[1]> 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 <hppavilion[1]> Saying ï doesn't make any sense in German, therefor the umlaut is only a quasi-diacritic
22:54:31 <hppavilion[1]> (Similarly, since m-tilde makes no sense, the tilde in n-tilde isn't a true diacritic either.)
22:57:14 -!- pikhq has joined.
22:58:14 <hppavilion[1]> The symbols ə and ∃ are interesting, because (afaik) they're etymo... graphico...
22:58:31 <hppavilion[1]> OK, now I need to know the etymology of 'etymology', and it's because I ACTUALLY need it
22:59:11 <hppavilion[1]> Ah, etym- (true) -logos (word); etymology is the "true sense" of a word
23:03:47 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
23:06:01 <myname> well, it should be etymography
23:06:19 <myname> since etym (with the m) is the truth part
23:17:19 -!- boily has joined.
23:17:46 <HackEgo> 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:54 <lambdabot> b_jonas said 6h 28m 43s ago: macron: try \=
23:18:23 <boily> b_jellonas. that was the thing that had to be tried.
23:24:46 <boily> `? deredundatiation # I wish I had coined that word.
23:24:47 <HackEgo> deredundatiation # I wish I had coined that word.? ¯\(°_o)/¯
23:25:03 * boily shiftily looks at HackEgo
23:27:11 <boily> `` rm wisdom/doshes
23:27:21 <HackEgo> The doshes are what the gostak distims.
23:27:26 <HackEgo> The doshes are what the gostak distims.
23:27:41 <boily> `complain pluralses!
23:27:42 <HackEgo> 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:17 <Taneb> This might be the first year in a long time I'm going to miss Hexham's bonfire night :(
23:40:14 <Taneb> It's normally around my birthday
23:40:34 <Taneb> 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 <Taneb> So I miss the bonfire on Saturday
23:40:50 <Taneb> Unless I have a very train-y week
23:41:26 -!- MDude has joined.
23:43:08 -!- hppavilion[1] has joined.
23:55:24 <hppavilion[1]> 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 <oerjan> . o O ( a wrong cone )
23:57:01 <oerjan> "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 <oerjan> so the answer appears to be, still a right cone.
23:57:42 <Zarutian> isnt a cone and extrution, along the third axis, of a two dimensional circle with an gradually increasing diameter?
23:58:10 <oerjan> usually. but this definition does not seem to require it.
23:58:50 <hppavilion[1]> oerjan: I guess I'm looking for the term 'elliptical cone' properly
23:58:54 <oerjan> cones can include pyramids in some meanings.
23:58:58 <izalove> $ cat /sys/class/power_supply/BAT1/capacity
23:59:02 <izalove> how bit a problem is that?
23:59:03 <Zarutian> so to get an ellipse you cut around 45° angle to that plane?
23:59:09 <izalove> my battery thinks it's charged at 103%
23:59:21 <hppavilion[1]> 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 <Zarutian> oerjan: so the base 2d form must not nescisarly be a circle or an ellipse?
23:59:42 <oerjan> Zarutian: no. you use an ellipse as base. afa hppavilion[1]'s question is concerned, anyway.