00:05:58 <int-e> "The number of octets excluding whitespace (tab, space, newline, formfeed, return), and excluding any ';', '{' or '}' followed by whitespace or end of file, must be <= 2048."
00:06:13 <int-e> (presumably that's the 2001 version of the size rule)
00:06:25 <ais523> strangely enough, people tend to screw around with {}; rather than the different types of legal whitespace
00:07:56 <myname> could you do a whitespace interpreter in 2 kb?
00:11:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
00:22:01 -!- hppavilion[1] has joined.
00:22:02 <hppavilion[1]> How about... a programming language with no form of multi-statement control flow
00:22:20 <hppavilion[1]> All code must be written as a series of one-liners (called "actions")
00:22:31 <hppavilion[1]> And once a one-liner completes, it cannot be executed again
00:23:13 <Phantom_Hoover> that's either clearly non-TC or you'd end up doing everything in one statement
00:23:52 <hppavilion[1]> Phantom_Hoover: You have to partial-vectorize over lazy lists and such to get anything to work
00:25:03 <hppavilion[1]> Phantom_Hoover: A program that runs forever, for example, is [put(x%128) for x in [0, 1...] if x%128 > 31]
00:26:16 <hppavilion[1]> Phantom_Hoover: Clearly a one-liner, but infinite. Specifically, it prints the printable ASCII characters over and over again in cycle (with a short delay between each, though it's only 31 ticks)
00:27:50 <hppavilion[1]> A truth machine is [print('1') for x in [...]] if (x := input()) = '1' else if x = '0' print('0') else fail
00:30:49 <hppavilion[1]> [print('$n bottles of beer on the wall\n$n bottles of beer\ntake one down, pass it around, \n'+str(n-1)+' bottles of beer on the wall!' for n in 99..0 if n not in [1, 0] else if n = 1 print('1 bottle of beer on the wall\n1 bottle of beer\ntake one down, pass it around, \nno more bottles of beer on the wall!' else if n = 0 print('no more bottles of beer on the wall\nno more bottles of beer!\nGo to the store, buy some more\n99 bottles of
00:39:09 -!- sebbu has quit (Ping timeout: 248 seconds).
00:39:13 -!- augur_ has joined.
00:39:15 -!- ais523 has quit.
00:42:27 -!- augur has quit (Ping timeout: 248 seconds).
00:43:45 -!- tromp_ has joined.
00:50:44 -!- AmiMoench has joined.
00:56:09 -!- tromp_ has quit (Remote host closed the connection).
01:21:40 <oerjan> the morning after http://www.dagbladet.no/tegneserie/nemi/
01:24:03 * oerjan cannot be bothered to find a permalink
01:25:16 -!- tromp_ has joined.
01:26:02 <oerjan> not that they're perma anyway on that site.
01:33:59 <hppavilion[1]> A mix of event-driven programming (node style, but with better syntax) and vectorized array programming would be pretty interesting
01:39:57 -!- tromp_ has quit (Remote host closed the connection).
01:46:33 -!- centrinia has quit (Remote host closed the connection).
01:57:23 -!- lambda-11235 has joined.
02:08:55 -!- tromp_ has joined.
02:16:49 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:48:18 -!- spiette has quit (Ping timeout: 246 seconds).
02:49:02 -!- Hazzitha has joined.
02:53:48 -!- Hazzitha has left.
03:01:52 -!- tromp_ has quit (Remote host closed the connection).
03:05:38 -!- tromp_ has joined.
03:17:31 -!- lambda-11235 has quit (Max SendQ exceeded).
03:19:13 -!- lambda-11235 has joined.
03:39:20 -!- lambda-11235 has quit (Quit: Bye).
03:41:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
03:51:24 -!- hppavilion[1] has joined.
04:02:30 -!- tromp_ has quit (Remote host closed the connection).
04:24:08 -!- bb010g has joined.
04:32:15 -!- mad has joined.
04:37:17 -!- tromp_ has joined.
04:38:19 -!- centrinia has joined.
04:49:35 -!- tromp_ has quit (Remote host closed the connection).
05:12:22 -!- iconmaster has quit (Ping timeout: 260 seconds).
05:17:48 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
05:19:38 -!- Vorpal has joined.
05:19:38 -!- Vorpal has quit (Changing host).
05:19:38 -!- Vorpal has joined.
05:23:52 -!- oerjan has quit (Quit: Nite).
05:33:22 -!- centrinia has quit (Ping timeout: 260 seconds).
05:45:45 -!- Kaynato has quit (Ping timeout: 244 seconds).
05:50:07 -!- tromp_ has joined.
05:50:39 -!- hppavilion[1] has quit (Ping timeout: 260 seconds).
05:54:30 -!- tromp_ has quit (Ping timeout: 246 seconds).
06:15:05 -!- hppavilion[1] has joined.
06:51:44 -!- tromp_ has joined.
06:54:23 -!- Frooxius has quit (Quit: *bubbles away*).
06:55:58 -!- tromp_ has quit (Ping timeout: 252 seconds).
06:56:11 -!- Frooxius has joined.
07:22:19 -!- AnotherTest has joined.
07:25:23 -!- nisstyre has joined.
07:25:27 -!- nisstyre has quit (Changing host).
07:25:27 -!- nisstyre has joined.
07:26:45 -!- rdococ has joined.
07:26:51 -!- rdococ_ has joined.
07:31:48 -!- AnotherTest has quit (Ping timeout: 246 seconds).
07:45:16 <hppavilion[1]> ASM seems to be optimized for procedural programming as its origin
07:46:23 <hppavilion[1]> You have a call stack onto which you PUSH your location before JMPing into a subroutine, and off of which you POP the location to return to via CJMP
07:56:54 -!- rdococ_ has quit (Quit: Leaving).
08:05:08 <mad> asm is optimized for whatever you can run fast on a chip
08:06:46 -!- sebbu has joined.
08:16:05 -!- mad has quit (Quit: Pics or it didn't happen).
08:20:24 -!- rdococ has quit (Quit: Leaving).
08:21:13 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
08:51:25 -!- tromp_ has joined.
08:55:47 -!- tromp_ has quit (Ping timeout: 260 seconds).
09:26:22 -!- J_Arcane has quit (Ping timeout: 244 seconds).
09:38:48 -!- AnotherTest has joined.
09:54:08 -!- spiette has joined.
10:03:36 -!- ^v has quit (Ping timeout: 276 seconds).
10:05:32 -!- ^v has joined.
10:44:16 -!- impomatic_ has joined.
10:45:27 -!- impomatic has quit (Ping timeout: 264 seconds).
10:45:34 -!- impomatic_ has changed nick to impomatic.
11:00:12 -!- impomatic has quit (Read error: Connection timed out).
11:26:51 <Taneb> I've more or less decided what I'm going to do for my final year project
11:35:06 -!- boily has joined.
11:39:03 -!- jaboja has joined.
11:39:40 <b_jonas> a blurred panel? has Unshelved ever done that except maybe for a Sunday strip?
11:40:03 <Taneb> "Functional Programming with Equivalences and Orderings"
11:40:53 <Taneb> Making a Haskell library for dealing with relations
11:41:25 <b_jonas> what, like dealing with my parents and grandparents?
11:41:55 <Taneb> Yes, that's exactly what I mean
11:41:59 <Taneb> Nothing to do with set theory at al
11:49:23 <int-e> the parent relation is not transitive
11:50:10 <Taneb> Nor is it symmetric or reflexive
11:50:24 <Taneb> Unless you're a Homestuck character or something
11:58:54 -!- spiette has quit (Quit: :qa!).
12:21:02 -!- boily has quit (Quit: NETWORK CHICKEN).
12:22:11 -!- jaboja has quit (Ping timeout: 248 seconds).
12:23:11 -!- tromp_ has joined.
12:27:54 -!- tromp_ has quit (Ping timeout: 276 seconds).
13:14:11 -!- jaboja has joined.
13:19:21 -!- jaboja has quit (Ping timeout: 246 seconds).
13:22:11 -!- Yurume has quit (Read error: Connection timed out).
13:25:23 -!- Yurume has joined.
13:43:40 -!- Sgeo has quit (Ping timeout: 244 seconds).
13:55:45 * zgrep just read that as "Making a Haskell library for dealing with religions."
13:58:51 <Taneb> That'd be a more involved project, and not one I'd be quite as comfortable doing
13:59:25 <Taneb> As a probably atheist of an otherwise exclusively Christian background
13:59:38 <Taneb> I don't know that many religions
14:01:57 -!- jaboja has joined.
14:15:18 <zgrep> Taneb: You could always make some.
14:15:39 <Taneb> Got boring quickly
14:24:08 -!- tromp_ has joined.
14:28:36 -!- tromp_ has quit (Ping timeout: 244 seconds).
14:44:04 -!- Kaynato has joined.
14:52:30 -!- iconmaster has joined.
15:12:31 -!- `^_^ has joined.
15:13:58 -!- copumpkin has quit (Quit: Textual IRC Client: www.textualapp.com).
15:14:22 -!- copumpkin has joined.
15:21:25 -!- earendel has quit (Ping timeout: 252 seconds).
15:25:15 -!- zadock has joined.
15:33:10 -!- oerjan has joined.
15:39:00 -!- iconmaster has quit (Ping timeout: 276 seconds).
15:43:53 -!- earendel has joined.
15:48:09 -!- rdococ has joined.
16:10:30 <b_jonas> groan http://www.smbc-comics.com/index.php?id=4078
16:16:13 <oerjan> b_jonas: on the bright side, she's not a topologist
16:17:43 <b_jonas> oerjan: she's still young, give him a few years
16:18:09 <b_jonas> fungot, is dynamic_pointer_cast a member function of std::shared_ptr? or a non-member function?
16:18:09 <fungot> b_jonas: no, it's not. it's more complex than that. read the code.) good stuff
16:18:26 <b_jonas> the standard library source code? NO WAY
16:18:47 <b_jonas> it's ugly, full of underscores, and more importantly, I need to know what the SPEC says and what I can assume works everywhere.
16:19:20 <oerjan> listen, when fungot gives you advice this clear, don't you dare protest
16:19:20 <fungot> oerjan: something like scheme48 ( upon the general position is a part of these amendments, i can only thank the president-in-office, you did hear me say that we have had in getting information with regard to monetary policy, a factor is
16:20:42 <b_jonas> this clear, mister president-in-office
16:21:46 -!- Kaynato has quit (Ping timeout: 244 seconds).
16:22:32 -!- zadock has quit (Quit: Leaving).
16:32:13 <Taneb> I've just sent someone a pull request because I disagreed with how he structured a library
16:32:21 <Taneb> I'm not sure if this is considered helpful or rude
16:36:05 -!- Phantom_Hoover has joined.
16:36:33 <Taneb> But I tried to do it as well as I can, changing all the documentation and test suites accordingly
16:37:41 -!- Kaynato has joined.
16:47:18 -!- Reece` has joined.
17:01:24 -!- Reece` has quit (Quit: Alsithyafturttararfunar).
17:09:04 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:11:47 -!- jaboja has quit (Ping timeout: 248 seconds).
17:11:49 -!- gamemanj has joined.
17:15:53 -!- copumpkin has quit (Remote host closed the connection).
17:18:45 -!- copumpkin has joined.
17:22:07 -!- oerjan has quit (Quit: Scheduled downtime).
17:26:15 <gamemanj> ^cat-experimental-gamemanj /dev/null
17:26:32 <gamemanj> ^cat-experiment-gamemanj /dev/null
17:38:06 <int-e> b_jonas: [smbc] that's what you get for raising spherical cows!
17:39:40 <int-e> (the button picture that comes with this strip is just boring)
17:41:51 -!- earendel has quit (Ping timeout: 276 seconds).
17:47:51 -!- Kaynato has quit (Ping timeout: 268 seconds).
17:57:58 -!- Kaynato has joined.
17:58:48 <Taneb> prooftechnique, it's about approximation
18:00:03 <int-e> prooftechnique: your interpretation was off by several orders of magnitudes!
18:03:48 <b_jonas> Taneb: did you alse send an explanation for why the change is worth?
18:04:38 <gamemanj> gtg. have fun: https://dl.dropboxusercontent.com/u/21184720/donotdelete_nyan.BytePusher
18:04:40 <Taneb> Basically, it's a testing framework in Haskell along the lines of QuickCheck and smallcheck
18:04:42 -!- gamemanj has quit (Quit: Leaving).
18:04:52 <Taneb> I moved everything from Test.Check to Test.LeanCheck
18:07:17 -!- XorSwap has joined.
18:08:33 <b_jonas> Also, why a trebuchet rather than a crossbow?
18:08:41 -!- Kaynato has quit (Ping timeout: 244 seconds).
18:09:05 -!- hppavilion[1] has joined.
18:09:12 <Taneb> b_jonas, trebuchets have a more obvious arc
18:12:27 -!- iconmaster has joined.
18:14:59 -!- centrinia has joined.
18:32:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
18:35:39 -!- jaboja has joined.
18:51:05 -!- XorSwap has quit (Ping timeout: 244 seconds).
18:59:36 -!- hppavilion[1] has joined.
18:59:39 <hppavilion[1]> Do antimatter beings talk in the negative first person?
18:59:59 -!- hppavilion[1] has set topic: Quite puzzling | The international hub of esoteric programming language and kitten typesetting | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | http://esolangs.org/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf | Note: people with cloaks will be treated as if they're from Istanbul (not Constantinople).
19:00:02 <olsner> probably first unperson
19:01:02 <hppavilion[1]> olsner: Is there a smooth transition over the reals between POVs?
19:08:11 <zzo38> How to make the To: address to be used as the From: address for a reply of a message with mailx?
19:11:14 -!- zzo38 has quit (Remote host closed the connection).
19:12:15 -!- XorSwap has joined.
19:14:01 -!- XorSwap has quit (Client Quit).
19:15:15 -!- Greenlock has joined.
19:24:55 -!- Kaynato has joined.
19:26:58 -!- Greenlock has quit (Quit: Leaving).
19:32:39 -!- centrinia_ has joined.
19:42:55 -!- J_Arcane has joined.
19:45:12 -!- centrinia_ has quit (Quit: Leaving).
19:47:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
19:52:49 -!- hppavilion[1] has joined.
19:53:33 -!- Kaynato has quit (Ping timeout: 240 seconds).
19:54:03 -!- jaboja has quit (Ping timeout: 240 seconds).
19:56:45 -!- rdococ has quit (Quit: Leaving).
20:06:50 -!- hppavilion[2] has joined.
20:06:52 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
20:08:11 <myname> is there any idiomatic way to default to a deriving(Show) in haskell for deugging purposes that does not require commenting out the whole instance?
20:14:18 <myname> like, i have data Foo = ... deriving (Eq); instance Show Foo where ...
20:14:43 <myname> now i want to derive show for foo instead of my instance to debug shit
20:15:54 <myname> it complains about duplicate definitions
20:16:27 <prooftechnique> You have a real show instance that you want to use in production, but you just want to use the default one for debugging
20:17:18 -!- atrapado has joined.
20:19:02 <prooftechnique> Hmm. I guess you could write your Show instance for a wrapped variant of your type, though I guess that could get ugly
20:19:18 <prooftechnique> I actually don't know if there's a good way, other than that
20:19:32 <prooftechnique> Oh, or write a debug wrapper for your type, then derive Show on that
20:20:04 <prooftechnique> You could even write some helper functions to handle wrapping and unwrapping
20:20:30 <myname> if i derive show on a debug wrapper, it will still use the instance of the wrapped class
20:25:27 <prooftechnique> On further thought, I don't think the open world assumption really works with that sort of use :(
20:25:46 -!- jaboja has joined.
20:26:50 <prooftechnique> Other than writing a separate class to replace your show instance (or something orthogonal like using trace), I think you'll have to comment things.
20:27:04 <prooftechnique> I guess you could #ifdef things, but that's a whole other thing
20:28:32 <prooftechnique> Or something like this? http://stackoverflow.com/a/28666200/794944
20:31:09 <prooftechnique> That was more what I was getting at when I mentioned a wrapper, I think
20:34:59 -!- Kaynato has joined.
20:42:58 -!- Greenlock has joined.
20:45:22 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
20:46:43 -!- hppavilion[2] has joined.
21:04:45 -!- Greenlock has quit (Quit: Leaving).
21:12:18 -!- gamemanj has joined.
21:20:19 -!- Frooxius has quit (Ping timeout: 248 seconds).
21:22:53 <hppavilion[2]> What's the IRC abbreviation for "That is false", the same way "ofc" is the abbreviation for "That is true"?
21:23:39 <gamemanj> statements["gamemanj"].last.correct = false;
21:24:04 <hppavilion[2]> I'm defining a logic for reasoning about justice. ⊥ is "Inconceivable!", ⊤ is "Well /duh/", and ∅ (which is neither true nor false) is "I dunno LOL"
21:24:35 <hppavilion[2]> (whatever you guys come up with, "Ofc", and "Idk", respectively)
21:24:36 <gamemanj> ... where on earth did you get those letters?
21:25:09 <gamemanj> ⊥⊥⊥ The Spikes Of Doom, of course!
21:26:06 -!- myname has quit (Ping timeout: 276 seconds).
21:26:16 -!- myname has joined.
21:26:33 <hppavilion[2]> ⊥ is sometimes called "The Absurdity" and represents a defined-to-be-false value (or, in type theory, the Void type)
21:26:43 -!- me2 has quit (Read error: Connection reset by peer).
21:27:05 <hppavilion[2]> ⊤ is... well, I don't know the name, but it's unambiguously true (the "Unit" or "Top" type in type theory)
21:27:23 <hppavilion[2]> gamemanj: And ∅ is one I made up because I needed it for truth tables
21:27:39 <gamemanj> Noted. To me ⊥ and ⊤ remind me of someone's way of writing ternary that I saw once...
21:29:40 -!- me2 has joined.
21:38:40 <b_jonas> hppavilion[2]: “What's the IRC abbreviation for "That is false",” => it's “no wai”
21:39:19 <int-e> web application interface?
21:39:48 <HackEgo> [wiki] [[User:Hppavilion1/Extended truth-table demo]] N https://esolangs.org/w/index.php?oldid=46770 * Hppavilion1 * (+579) Published
21:41:37 * int-e just doesn't like these "cute" typos.
21:42:34 <gamemanj> They're talking about the observation of cuteness and how it is not objective.
21:50:33 <HackEgo> [wiki] [[User:Hppavilion1/Extended truth-table demo]] https://esolangs.org/w/index.php?diff=46771&oldid=46770 * Hppavilion1 * (+0) Formatting
21:51:00 <HackEgo> [wiki] [[User:Hppavilion1/Extended truth-table demo]] M https://esolangs.org/w/index.php?diff=46772&oldid=46771 * Hppavilion1 * (+2) Formatting again (used preview this time)
21:51:58 <hppavilion[2]> gamemanj: There. That's what ∅ does in truth tables
21:52:26 <HackEgo> [wiki] [[User:Hppavilion1/Extended truth-table demo]] M https://esolangs.org/w/index.php?diff=46773&oldid=46772 * Hppavilion1 * (-11) Editing cruft removed
21:58:38 -!- jaboja has quit (Ping timeout: 244 seconds).
22:02:31 <hppavilion[2]> zgrep: I'm considering designing a type of diagram for software that can be done in pure Unicode (or, in a pinch, pure typable ASCII)
22:05:26 <hppavilion[2]> zgrep: You know what I haven't seen yet that would be INCREDIBLY valuable for software?
22:07:09 -!- gamemanj has quit (Ping timeout: 260 seconds).
22:12:46 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:14:32 <zgrep> What would bnf4ocr be? Things like the MNIST default training set example from TensorFlow's page? :P
22:22:20 -!- p34k has joined.
22:25:52 <b_jonas> hppavilion[2]: uh... aren't there like a ton of diagram drawing software these days, because at one point there was too few and then everyone invented their own one?
22:31:44 <hppavilion[2]> b_jonas: bnf4ocr, on the other hand, would be AWESOME
22:32:32 <hppavilion[2]> That's bnf4ocr. It's not really bnf at all, but it's inspired by it superficially.
22:34:40 -!- Frooxius has joined.
22:36:21 -!- Greenlock has joined.
22:45:44 -!- atrapado has quit (Quit: Leaving).
22:46:25 <zgrep> hppavilion[2]: Hold on, sorry. I'm translating stuff for people in another channel.
22:47:19 -!- oerjan has joined.
22:52:06 <oerjan> <hppavilion[1]> olsner: Is there a smooth transition over the reals between POVs? <-- not for humans hth
22:53:00 <oerjan> in any case i don't have the bell on in irssi.
22:53:40 <int-e> I'd try `printf \a but shachaf would be annoyed
22:54:11 <oerjan> annoying shachaf is so easy it must be a monoid.
22:55:17 <shachaf> oerjan: not \aing in the channel is pretty standard irc etiquette hth
22:55:29 <oerjan> shachaf: i don't need \a to annoy you
22:55:43 <oerjan> lots of other characters work
22:56:01 -!- p34k has quit.
22:58:46 -!- `^_^ has quit (Quit: This computer has gone to sleep).
22:59:43 <int-e> just mentioning the name could easily do the trick
23:00:52 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
23:00:53 <int-e> oh it's a bright new day... minus the bright
23:01:36 <oerjan> hppavilion[2]: i don't think ⊥ means what you think it means
23:03:03 <shachaf> oerjan: you must be exaggerating
23:03:17 <oerjan> shachaf: exaggerating what
23:04:03 -!- atehwa has quit (Ping timeout: 264 seconds).
23:05:19 <shachaf> you're messing up my terminal
23:06:06 <oerjan> i was demonstrating hth
23:06:06 <shachaf> only slightly in this case
23:06:43 <shachaf> http://slbkbs.org/oerjan-terminal.png
23:07:25 -!- hppavilion[2] has quit (Ping timeout: 248 seconds).
23:07:40 <oerjan> do you normally have no delimiters after nicks
23:08:04 <shachaf> oerjan: they're just black-on-black
23:08:16 <shachaf> Phantom_Hoover: That overscore got copied down to the next line
23:09:05 <HackEgo> âù«½ô¡ÁÃÔ_ZW&ä1ÅÕÆû9¡lþkó·ÏºÝÔ^i¼±¦øWüÐ8Äòw¾"²£A¤À=èXÀÛR»fÂPãøüo˳7R¡·§Q^U'ïgåù.t}Ç{ \ ¦4Ç ÏÛmÒ:Zè$y±Edâ¿.\Àá&gÃnN>{kT]ÞN¸ HLK \ éÆtèt+̺EFY \ ¥®ÒÌÕ1±m%$k³åkr)/=&rQEØ´¸´Îú[äèPÆ}.ádikÝÑ9kCpª#¡¬\ìèÜá÷ B¶.5x8Ð=lÚÍoÛ4Äؼõ4üï¿]¯D`I4\Û¤¢t+ù
L¨ç-/?è=¢Ùr¥3ìçjkk)+
23:09:26 <shachaf> Actually that's not so bad.
23:09:28 <oerjan> i was resisting that hth
23:09:41 <int-e> that's the urandom link?
23:09:43 <shachaf> ngevd is unlikely to generate valid UTF-8 code sequences
23:10:05 <int-e> wtf is wrong with °
23:10:15 <Phantom_Hoover> int-e, it's not actually a urandom link for dumb reasons
23:10:28 <int-e> `ls -la wisdom/ngevd
23:10:29 <HackEgo> ls: invalid option -- ' ' \ Try `ls --help' for more information.
23:10:33 <int-e> `` ls -la wisdom/ngevd
23:10:34 <oerjan> int-e: it's not the ° but the invisible space after it
23:10:38 <HackEgo> -rw-r--r-- 1 5000 0 215 Dec 9 04:13 wisdom/ngevd
23:10:47 -!- atehwa has joined.
23:10:59 <HackEgo> [U+00B0 DEGREE SIGN] [U+200B ZERO WIDTH SPACE] [U+005F LOW LINE]
23:11:00 <Phantom_Hoover> shachaf, i feel like if your terminal can't deal with unicode then that's on you
23:11:30 <int-e> I guess the half-wit...width spaces are no problem?
23:11:35 <shachaf> oerjan was trying to get my goat
23:12:09 <HackEgo> 6537: Your famous mysterious evil overlord oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who mildly dislikes Roald Dahl. He can never remember the word "amortized" so he put it here for convenience. His arch-nemesis is Betty Crocker.
23:12:36 <shachaf> `` sed -i 's/famous/infamous/' wisdom/oerjan
23:12:53 * oerjan gently swats int-e -----###
23:12:56 <int-e> clog: are you borken?
23:13:08 <oerjan> clog is fine afaict. glogbot is awol.
23:13:13 <lambdabot> *** "infamous" wn "WordNet (r) 3.0 (2006)"
23:13:13 <lambdabot> adj 1: known widely and usually unfavorably; "a notorious
23:13:13 <lambdabot> gangster"; "the tenderloin district was notorious for
23:13:13 <lambdabot> vice"; "the infamous Benedict Arnold"; [syn: {ill-famed},
23:13:28 <shachaf> hm, are you infamous or notorious
23:15:47 <HackEgo> The password of the month is qjkxbmwvz
23:16:40 <oerjan> int-e: actually one relevant thing with clog is that the tunes logs have no declared charset so sometimes i have to change it.
23:17:00 <int-e> yeah, I just noticed that
23:17:06 <oerjan> `` ls -l wisdom/password
23:17:07 <HackEgo> -rw-r--r-- 1 5000 0 39 Mar 5 17:33 wisdom/password
23:18:05 <oerjan> `learn The password of the month is supercalifragilisticexpialidocious
23:18:07 <HackEgo> Relearned 'password': The password of the month is supercalifragilisticexpialidocious
23:19:24 <oerjan> shachaf: nefarious hth
23:19:51 <int-e> ah. "<oerjan> there's that a* word i can never remember again"
23:21:07 <oerjan> of course now my brain has created an connection between "word i can never remember" and that word, so now i sometimes remember it instead of whatever _other_ word i'm trying to remember.
23:21:34 <int-e> . o O ( `` sed -i 's/"a.*"/"allegorical"/' wisdom/oerjan )
23:23:20 <shachaf> `learn An amortized word is a word that oerjan can never remember.
23:23:23 <HackEgo> Learned 'amortized': An amortized word is a word that oerjan can never remember.
23:23:40 <int-e> (not worth it but it's another nice word that starts with 'a')
23:24:03 <shachaf> int-e: I spent weeks once trying to remember the word "proverbial".
23:24:14 <shachaf> I asked everyone I talked to.
23:24:29 <int-e> The word about algorithms that I have trouble remembering is "parsimonious"
23:24:53 <oerjan> a persimmonious algorithm
23:24:58 <shachaf> What do algorithms have to do with fruit?
23:25:36 <int-e> so that's what it's called in english, thanks!
23:26:08 * oerjan immediately regrets the ...
23:27:17 * oerjan now wonders what persimmon is in german
23:28:54 <oerjan> apparently both names (minus an m) are used in norwegian. not that i've really noticed them.
23:31:02 <int-e> A parsimonious algorithm is one that doesn't ask redundant questions... I believe Knuth coined the term for his analysis of convex hull algorithms based on "clockwise" predicates. The predicate is true for three points PQR if the triangle PQR has P,Q,R in clockwise order. But the computation is subject to loss of precision if done with floating point numbers, and algorithms may run into trouble...
23:31:08 <int-e> ...with contradictory answers. One principled way to avoid such trouble is not to ask redundant questions. Hence the concept.
23:31:58 <int-e> (The term is also applicable to sorting.)
23:32:08 <oerjan> yeah i knew the sorting version
23:32:20 <oerjan> merge sort fulfils that, i think.
23:33:32 <oerjan> you could create a (badly balanced) shuffling algorithm by calling such a sort algorithm with a random comparison predicate
23:34:14 <int-e> Most sorting algorithms have the property, I think... including insertion sort, heap sort, many implementations of quicksort. Shellsort is one exception I can think of.
23:34:21 <oerjan> i think i experimented with that in the channel once.
23:34:53 <int-e> but I may be wrong about heapsort, actually
23:35:55 -!- Sgeo has joined.
23:36:04 * oerjan isn't overly clear on all those
23:36:24 <int-e> And I guess that sorting networks are generally not very good at avoiding redundant comparisons.
23:39:57 <int-e> Yeah, the standard array based heap sort is not on the list, because it places many elements inside the heap twice (once when building the heap (raising elements) and once in the extraction phase (sinking elements)). A pity :)
23:41:06 <Greenlock> What list is this and what are we sorting?
23:41:35 <int-e> The list is the list of parsimonious sorting algorithms.
23:42:02 <int-e> (comparison based, so it doesn't really matter how its sorted)
23:42:26 <oerjan> ah but are you sure the comparisons are repeatable
23:42:59 <int-e> the whole point is that they need not be repeatable
23:43:01 * oerjan snags his swatter back
23:43:25 <oerjan> so you are saying the list is parsimoniously sorted?
23:43:33 <oerjan> otherwise they need to be.
23:44:27 -!- hppavilion[2] has joined.
23:44:37 <int-e> parsimony is also important when programming kayak
23:45:01 <int-e> so this has real-world esoteric programming applications
23:45:07 <oerjan> https://en.wikipedia.org/wiki/Talk:Sorting_algorithm#.22Comparison_of_algorithms.22_table_ordering
23:45:37 <hppavilion[2]> oerjan: Last time I checked, ⊥ is unambiguously false
23:45:44 <oerjan> hppavilion[2]: *whoosh*
23:45:51 -!- boily has joined.
23:45:58 * oerjan was admittedly aiming high
23:46:13 <boily> hppavellon[2], hellørjan.
23:46:21 -!- hppavilion[2] has changed nick to hppavilion[1].
23:46:41 <oerjan> hppavilion[1]: you know general grammars are TC right
23:47:05 <oerjan> well BNF is for context-free grammars, so
23:47:46 <hppavilion[1]> It's like BNF, but every rule has an unbounded nonnegative integer associated with it
23:48:01 <int-e> oerjan: fwiw, "Persimone" is a german word as well... apparenly "Kaki" is really a whole family of fruits.
23:48:06 <hppavilion[1]> There are two new "operators" for matching, of the syntaxes x++ and x--{y}{z}
23:48:36 <hppavilion[1]> x++ matches the empty string, but with the side effect of incrementing the integer associated with the rule "x"
23:48:46 <boily> hppavilion[1]: I porthelloed y'all.
23:49:20 <hppavilion[1]> x--{y}{z} matches the empty string, then decrements x and matches y, UNLESS x is 0, in which case it matches z
23:49:36 * int-e idly wonders how many people here know DPLL
23:49:38 <hppavilion[1]> Obviously, x has to be a rule name, it can't be any other type of expression
23:49:55 <int-e> hppavilion[1]: I'll take that as a "I don't"
23:49:59 * boily longs for the day where he won't tab-complete a mkdir
23:50:27 <hppavilion[1]> Oh, and we pretend backtracking never happens because TCBNF is the Omniscient God of Grammar
23:50:28 <int-e> (mm, I only know half of the names though, meh)
23:51:12 <Greenlock> int-e: I don't know anything; I've learned more in the last five minutes than I learn in a month.
23:51:19 <hppavilion[1]> Though in reality, it just pushes a clone of the current environment onto a stack every time backtracking may occur, then discards the ToS if it doesn't after completion and POPs it and uses it as the new environment if it does backtrack
23:51:34 <int-e> Let's see. Davis, Putnam, Logemann, Loveland.
23:51:43 <oerjan> * boily longs for the day where he won't tab-complete a mkdir <-- surely you should long for the day your computer can guess the directory so that tab-completion works hth
23:51:46 <hppavilion[1]> (Because AFAIK you can't really figure out if you're going to have to backtrack without trying, in the general case)
23:53:19 <int-e> oerjan: if it can do that then it shouldn't require pressing the tab key either
23:53:29 <HackEgo> Greenlock: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
23:54:53 <hppavilion[1]> I sometimes am about to sen a message with absolutely no value to the discussion, then I absentmindedly add a joke to it (such as the <tab> joke above) and it becomes... well, still worthless, but at least mildly amusing
23:55:49 <oerjan> why would you do such a thing are you secretly an alien reptile
23:56:32 * oerjan carves another *WHOOSH* into his belt
23:56:47 <int-e> https://xkcd.com/1530/
23:58:33 <hppavilion[1]> Greenlock: And most certainly not something we do for all new users.
23:58:47 <int-e> I need a map of the GG world... I was assuming the Corbette monastry(?) was quite some distance away from Paris...
23:59:28 <int-e> hppavilion[1]: I'm hoping for oerjan to correct me
23:59:58 <int-e> But that often requires subtlety, so I may have spoiled the chance now.