2016-03-01: 00:07:57 ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@run var . (\\(w:ws) -> w ++ ':' : ' ' : (map (\\c -> if c == 'M' then '-' else c) . takeWhile (/= '/') . head . filter (\"/\" `isInfixOf`) $ ws)) . words $ @show @metar "++x++")") . words $ ?show ENVA LLBG 00:07:58 Plugin `compose' failed with: Missing ')' in nested command 00:08:25 ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@run var . (\\(w:ws) -> w ++ ':' : ' ' : (map (\\c -> if c == 'M' then '-' else c) . takeWhile (/= '/') . head . filter (\"/\" `isInfixOf`) $ ws)) . words $ @show @metar "++x++")") . words $ ?show ENVA LLBG 00:08:26 Plugin `compose' failed with: Missing ')' in nested command 00:08:30 Hmm. 00:08:38 Is it a line length thing that makes it only work in /msg? 00:09:05 ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@run var . (\\(w:ws) -> w ++ ':' : ' ' : (takeWhile (/= '/') . head . filter (\"/\" `isInfixOf`) $ ws)) . words $ @show @metar "++x++")") . words $ ?show ENVA LLBG 00:09:07 Plugin `compose' failed with: Missing ')' in nested command 00:09:47 oerjan: help figure out twh hth thx 00:14:46 well there is a shorter limit in public, at least 00:15:35 Oh, I bet it's an internal thing in lambdabot where it generates a long line containing a lot of duplicates of the code. 00:15:57 What I did was silly anyway. 00:16:01 OKAY 00:18:31 Or maybe not. 00:18:34 you do it 00:20:27 -!- impomatic has quit (Ping timeout: 276 seconds). 00:25:45 TOO LATE 00:25:51 (it's always too late) 00:28:01 whoa whoa whoa 00:28:13 you could write a command that looks at the hg log to see which file the last command created/modified 00:28:17 and then edited that file 00:28:29 so convenient 00:32:34 <\oren\_> shachaf: ooh, someone actually uses that upside down &? I'm glad I added it. 00:32:46 \oren\_: Of course. It's a very important character. 00:32:57 \oren\_: But in IRC I usually just write # 00:36:10 <\oren\_> b_jonas: that reminds me, I have a ttf version of your font that I generated in the same manner as my font. 00:37:01 -!- tromp has joined. 00:40:34 -!- lambda-11235 has joined. 00:41:47 @tell hppavilion[1] int-e: Did I make the math joke wrong? <-- that was so wrong that i bet you think there are three words in the english language. 00:41:47 Consider it noted. 00:42:39 @tell hppavilion[1] damn i did _that_ wrong. also https://xkcd.com/169/ 00:42:39 Consider it noted. 00:43:38 @tell hppavilion[1] or wait, did i. confused now. 00:43:39 Consider it noted. 01:18:25 -!- lynn has quit (Ping timeout: 250 seconds). 01:21:40 -!- bb010g has joined. 01:25:53 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:26:33 -!- augur has quit (Remote host closed the connection). 01:28:16 -!- augur has joined. 01:44:18 -!- ayeelmao has joined. 01:55:28 I just realized I don't know the rigorous meaning of "irrational number" 01:55:34 @messages-lud 01:55:35 oerjan said 1h 13m 47s ago: int-e: Did I make the math joke wrong? <-- that was so wrong that i bet you think there are three words in the english language. 01:55:35 oerjan said 1h 12m 55s ago: damn i did _that_ wrong. also https://xkcd.com/169/ 01:55:35 oerjan said 1h 11m 56s ago: or wait, did i. confused now. 01:55:36 Oh right 01:55:50 oerjan: I was online when you sent that message 01:56:15 Oh, right, it's one that cannot be expressed as a ratio of integers 01:56:21 Wait, but neither can a complex number 01:59:52 hppavilion[1]: https://en.wikipedia.org/wiki/Dedekind_cut. That's one definition. 02:00:20 -!- AlexR42 has joined. 02:00:26 -!- MoALTz has quit (Ping timeout: 244 seconds). 02:00:33 i don't trust people who are online but 56 mins idle >_> <_< 02:00:50 hppavilion[1]: would you like to be added to the dontaskdonttelllist 02:01:02 Also, https://en.wikipedia.org/wiki/Cauchy_sequence. 02:01:06 `dontaskdonttelllist 02:01:10 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 02:01:14 oerjan: Maybe? 02:01:18 Probably not 02:01:24 OKAY 02:01:25 I'm just going with the points-on-a-line definition 02:02:19 indeed, complex numbers that aren't real are also irrational 02:02:23 There was a haskell library that implemented infintely precise real numbers using cauchy sequences. 02:02:38 which is a little silly for things like 1 + 2i 02:02:54 there's probably a term for those 02:03:16 "gaussian rational" 02:03:32 which means both a and b are rational in a+bi 02:03:32 or even gaussian integer hth 02:03:48 oh, 1 + 2i was jsut an example 02:03:52 look 02:03:56 of course 02:03:58 i can't be bothered to logread four lines up 02:04:07 shachaf: i know, it's _so_ tiring 02:05:12 > pi :: CReal -- lambda-11235 02:05:13 3.1415926535897932384626433832795028841972 02:05:27 not sure if that one uses cauchy sequences 02:05:37 oerjan: I've always thought that math should be more modular/adjective 02:05:45 it _doesn't_ use continued fractions afair 02:06:03 oerjan: Instead of having joint-together names, we should prioritize inventing new adjectives to apply to existing objects 02:06:05 It uses a special kind of Cauchy sequences. 02:06:30 hppavilion[1]: i don't understand what you mean 02:06:49 Quickly-convergent Cauchy sequences. 02:06:54 That's the name. 02:07:14 Cauchy sequences that converge whenever aren't very useful for computing. 02:08:26 oerjan: Instead of the phrase "Gaussian Integer", meaning a+bi where a and b are integers, we'd just have the adjective "Gaussian x", meaning a+bi where a and b are members of the xes 02:08:52 hppavilion[1]: hm and that's precisely how it works with rationals, what's the problem 02:08:57 Hmm, maybe it doesn't exactly. 02:09:33 oerjan: there are way too many things that are called "gaussian" for this scheme to work hth 02:09:43 https://en.wikipedia.org/wiki/List_of_things_named_after_Carl_Friedrich_Gauss 02:10:06 oerjan: Well I haven't heard of "Gaussian rationals" 02:10:18 shachaf: but these gaussian distributions a + bi are so quantum! 02:10:32 hppavilion[1]: neither had i until i just guessed it 02:10:34 oerjan: And this way, we could have worse things like the "Gaussian Strings" or something awful like that, for example 02:11:29 oerjan: The real scow of CReal is that it only computes up to 40 digits normally. 02:12:17 :t showCReal 02:12:18 Int -> CReal -> String 02:12:28 > showCReal 1000 pi 02:12:29 "3.1415926535897932384626433832795028841971693993751058209749445923078164062... 02:13:03 I wish lambdabot still had unsafeCoerce so I could examine CReals. 02:13:04 > showCReal 1000 (pi^2) 02:13:06 "9.8696044010893586188344909998761511353136994072407906264133493762200448224... 02:13:11 > last $showCReal 1000 (pi^2) 02:13:13 '5' 02:14:04 @version 02:14:04 lambdabot 5.0.3 02:14:04 git clone https://github.com/lambdabot/lambdabot 02:14:43 @tell int-e @version should say which ghc version it's compiled with twh 02:14:43 Consider it noted. 02:15:18 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:15:47 > compilerVersion 02:15:48 Not in scope: ‘compilerVersion’ 02:15:56 shachaf: pretty sure there's some remaining unsafeCoerce bug ... 02:18:31 -!- andrew__ has joined. 02:19:23 :t coerce -- this is some silly lensy thing isn't 02:19:24 (Functor f, Contravariant f) => f a -> f b 02:19:32 *+it 02:21:08 * oerjan is forgetting his orange juice 02:23:13 > typeRep (Proxy :: Proxy (() :: Constraint)) == typeRep (Proxy :: Proxy ()) 02:23:15 False 02:25:23 that type family bug i found obviously won't work in lambdabot 02:30:27 -!- ineiros has quit (Ping timeout: 248 seconds). 02:41:37 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 02:44:30 -!- andrew__ has quit (Remote host closed the connection). 02:46:31 -!- andrew_ has joined. 02:49:34 -!- hppavilion[2] has joined. 02:52:00 -!- andrew_ has quit (Ping timeout: 246 seconds). 02:54:07 I'm trying to make a JS parser combinator library 02:54:11 What combinators should I include? 02:54:27 For MAXIMUM PARSINESS 03:08:29 -!- andrew_ has joined. 03:08:31 -!- hppavilion[2] has changed nick to hppavilion[1]. 03:09:09 -!- AlexR42 has joined. 03:17:55 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 03:25:49 -!- augur has quit (Ping timeout: 250 seconds). 03:38:04 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 03:39:21 -!- hppavilion[1] has joined. 03:43:02 -!- joaeos has joined. 03:49:06 -!- joaeos has quit (Ping timeout: 276 seconds). 03:53:40 -!- joaeos has joined. 03:56:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:56:49 -!- augur has joined. 03:59:27 this esolang thing is quite a brainfuck 03:59:30 Get it? 04:00:00 :c 04:00:03 -!- joaeos has left ("Leaving"). 04:01:17 -!- \oren\_ has quit (Ping timeout: 260 seconds). 04:02:04 -!- \oren\ has joined. 04:05:50 -!- sebbu has quit (Ping timeout: 248 seconds). 04:07:18 -!- AlexR42 has joined. 04:08:23 -!- hppavilion[1] has joined. 04:30:03 -!- oerjan has quit (Quit: Got it). 04:52:53 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 04:56:51 -!- FreeFull has quit (Read error: Connection reset by peer). 04:57:18 -!- FreeFull has joined. 04:58:27 -!- Alcest has joined. 05:21:34 -!- benderpc_ has joined. 05:22:00 -!- benderpc_ has quit (Changing host). 05:22:01 -!- benderpc_ has joined. 05:22:02 -!- augur has quit (Remote host closed the connection). 05:22:11 -!- benderpc_ has changed nick to bender. 05:27:00 -!- XorSwap has joined. 05:36:35 -!- XorSwap has quit (Quit: Leaving). 06:02:33 -!- sebbu has joined. 06:02:45 -!- hppavilion[1] has quit (Ping timeout: 246 seconds). 06:05:11 -!- augur has joined. 06:11:57 -!- hppavilion[1] has joined. 06:28:36 I think I'll look into cheese theory some more 06:39:54 hppavilion[1]: What's that? Are you interested in agrarian studies? 06:40:21 lambda-11235: No clue what agrarian is 06:40:26 lambda-11235: You know emmental, do you not? 06:40:38 (The programming language) 06:40:39 (http://catseye.tc/view/emmental/tests/Emmental.markdown) 06:41:04 \oren\: an, nice! is that a vector-only ttf version, or a ttf with bitmap/graymap included? 06:41:20 lambda-11235: http://catseye.tc/view/emmental/README.markdown 06:42:30 \oren\: and is it a repeatable enough conversion that you'll be able to recreate it easily later in the far future when I make an updated version of my font with more characters and modified images of the existing characters? 06:44:03 hppavilion[1]: Don't know emmental, but I do now. Also, agrarian means relating to agriculture or farming. 06:45:34 -!- lambda-11235 has quit (Quit: Good night.). 06:49:04 -!- MoALTz has joined. 06:58:49 lambdabot: Wait, no, mascarpone was the one I was going for 06:58:57 lambdabot: Mascarpone is 1000x cooler 06:59:00 Whoops 06:59:10 Dammit, lambda-11235 06:59:52 @tell lambda-11235 It's mascarpone, not emmental, that I was going for. Mascarpone is Emmental's successor. 06:59:52 Consider it noted. 07:03:17 -!- nzt-fish has quit (Ping timeout: 260 seconds). 07:12:11 -!- ineiros has joined. 07:25:29 Heh, on http://www.questionablecontent.net/cast.php , May is missing the header for her name (he's above Steve) 07:35:56 -!- mroman has joined. 07:35:57 fnerd 07:41:02 -!- augur has quit (Remote host closed the connection). 07:44:25 -!- andrew_ has quit (Read error: Connection reset by peer). 07:47:26 -!- andrew has joined. 07:52:49 -!- tromp has quit (Remote host closed the connection). 07:58:10 -!- lynn has joined. 08:36:55 -!- J_Arcane has quit (Ping timeout: 252 seconds). 08:37:28 -!- lynn has quit (Ping timeout: 252 seconds). 08:44:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 08:53:20 -!- tromp has joined. 08:58:30 -!- tromp has quit (Ping timeout: 276 seconds). 09:43:07 -!- \oren\ has quit (Ping timeout: 260 seconds). 09:44:09 -!- \oren\ has joined. 10:23:37 -!- jaboja has joined. 10:36:47 -!- \oren\ has quit (Ping timeout: 260 seconds). 10:37:19 -!- \oren\ has joined. 10:51:35 [wiki] [[Special:Log/newusers]] create * Whonut * New user account 11:00:59 [wiki] [[Talk:Bitoven]] https://esolangs.org/w/index.php?diff=46474&oldid=43177 * Whonut * (+323) Asked about what is syntactically meaningful in Bitovem 11:15:54 -!- ayeelmao has left. 11:26:56 -!- boily has joined. 11:36:45 @massages-loud 11:36:45 shachaf asked 11h 42m 10s ago: pizza must be poutine its place 11:37:00 ... 11:37:20 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhellochafAAAAAAAAAAAAAAAAAAAAAAAAmapoleAAAAAAAAAAAAAAAARGH! 11:41:28 okay, fuck the bf interpreter 11:41:42 I have some serious bug that is really hard to catch with examples at my disposal 11:42:15 lol 11:43:02 http://ix.io/oIx the code so far 11:47:22 -!- jaboja has quit (Ping timeout: 260 seconds). 11:54:18 -!- tromp has joined. 11:58:53 -!- tromp has quit (Ping timeout: 250 seconds). 11:59:59 -!- AnotherTest has joined. 12:16:45 -!- boily has quit (Quit: REGULATED CHICKEN). 12:33:39 -!- andrew has quit (Remote host closed the connection). 12:42:52 The issue, of course, with generated brainfuck programs, is that they tend to end up being quite long 12:43:08 That is, naturally, why we are generating them in the first place rather than writing them ourselves 12:43:22 This means they can take a long time to run in the interpreter you are using 12:44:39 -!- bender has quit (Quit: Leaving). 13:10:43 -!- tromp has joined. 13:15:10 -!- tromp has quit (Ping timeout: 248 seconds). 13:17:58 -!- jaboja has joined. 13:43:29 -!- Treio has joined. 13:57:55 -!- Treio has quit (Quit: Leaving). 13:58:12 Well, I've worked out why it's not working 13:58:35 I'm using an if-else construct that uses two temporary cells 13:58:43 I'm using a whole bunch of nested ifs 13:58:49 Using the same temporary cells 14:00:02 So, I need to design a case-switch statement 14:00:03 In brainfuck 14:00:05 God help me 14:01:32 -!- jaboja64 has joined. 14:05:18 -!- jaboja has quit (Ping timeout: 248 seconds). 14:16:32 -!- `^_^v has joined. 14:20:20 -!- bender|_ has joined. 14:20:40 -!- bender|_ has quit (Changing host). 14:20:40 -!- bender|_ has joined. 14:20:48 -!- bender|_ has changed nick to bender. 14:23:52 Oooh, http://calmerthanyouare.org/2016/01/14/control-flow-in-brainfuck.html has a guide 14:39:40 -!- tromp_ has quit (Read error: Connection reset by peer). 14:40:57 -!- tromp_ has joined. 14:41:42 neato :) 14:44:57 -!- jaboja64 has quit (Ping timeout: 276 seconds). 14:44:57 -!- earendel2 has quit (Ping timeout: 276 seconds). 14:48:36 -!- joaeos has joined. 14:48:49 -!- bb010g has quit (Quit: Connection closed for inactivity). 14:51:41 -!- J_Arcane has joined. 14:54:07 -!- lambda-11235 has joined. 15:06:28 -!- earendel has joined. 15:16:46 -!- J_Arcane has quit (Ping timeout: 252 seconds). 15:18:26 -!- izabera has changed nick to anbppomced. 15:20:27 -!- anbppomced has changed nick to izabored. 15:22:25 -!- mroman has quit (Quit: Lost terminal). 15:25:06 -!- atslash has joined. 15:26:21 -!- joaeos has quit (Ping timeout: 248 seconds). 15:28:22 -!- izabored has changed nick to izabera. 15:37:54 -!- contrapumpkin has joined. 15:40:42 -!- copumpkin has quit (Ping timeout: 260 seconds). 15:56:50 I could do with a variant of brainfuck that is coupled direct read-access to a whole bunch of data involved in the brainfuck, as well as variables, but it can only be used for debugging 15:58:07 -!- lambda-11235 has quit (Quit: Bye). 16:03:11 -!- nzt-fish has joined. 16:10:18 Taneb: this makes no sense 16:10:53 quintopia: I want an extension of brainfuck with more facilities for debugging 16:11:29 Because reasoning about a 9000 line brainfuck program is less than fun 16:18:17 -!- impomatic_ has joined. 16:28:07 Taneb: is it not enough just to be able to step through it looking at the tape? 16:33:40 quintopia: it's far too long, alas 16:42:29 -!- tromp has joined. 16:47:09 -!- tromp has quit (Ping timeout: 276 seconds). 16:55:45 -!- augur has joined. 16:57:32 Taneb: what about tracking certain tape cells the way you can track variables in most debuggers? 16:57:52 quintopia: I want to do some things fancier than that 16:58:17 Like "make sure the cell reached at this instruction is the same cell as this one" 16:58:29 When that loop runs hundreds of times in different places 16:59:42 -!- bender has quit (Ping timeout: 248 seconds). 17:02:09 -!- `^_^v has quit (Ping timeout: 246 seconds). 17:03:45 -!- `^_^v has joined. 17:07:33 -!- Veltas has quit (Remote host closed the connection). 18:00:51 Taneb: that sounds like breakpoints with IP tracking 18:01:29 I also want to, to some extent, specify this in the program itself 18:04:12 it wouldnt be the first time someone added debug codes to a language 18:05:00 -!- augur has quit (Read error: Connection reset by peer). 18:05:51 -!- lambda-11235 has joined. 18:05:59 -!- augur has joined. 18:17:50 -!- spiette has joined. 18:29:49 -!- augur has quit (Remote host closed the connection). 18:40:38 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46475&oldid=46473 * Fpetrola * (+81) 18:41:46 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46476&oldid=46475 * Fpetrola * (-65) 18:42:30 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46477&oldid=46476 * Fpetrola * (-7) 18:43:13 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46478&oldid=46477 * Fpetrola * (+97) 18:45:09 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46479&oldid=46478 * Fpetrola * (+1) 18:45:58 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46480&oldid=46479 * Fpetrola * (+18) 18:46:13 -!- `^_^v has quit (Ping timeout: 250 seconds). 18:46:47 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46481&oldid=46480 * Fpetrola * (-18) 18:47:31 -!- clog has quit (Ping timeout: 250 seconds). 18:47:54 -!- Yurume has quit (Ping timeout: 268 seconds). 18:47:54 -!- lifthrasiir has quit (Ping timeout: 268 seconds). 18:48:09 -!- lifthrasiir has joined. 18:48:26 -!- `^_^v has joined. 18:49:11 -!- Yurume has joined. 18:49:38 -!- copumpkin has joined. 18:49:41 -!- impomatic has quit (Ping timeout: 250 seconds). 18:49:41 -!- nisstyre_ has quit (Ping timeout: 250 seconds). 18:50:19 -!- hppavilion[1] has joined. 18:50:50 -!- hppavilion[2] has joined. 18:50:59 -!- contrapumpkin has quit (Ping timeout: 250 seconds). 18:51:16 lambda-11235: Hi 18:53:07 -!- tjt263_ has joined. 18:54:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:54:38 -!- nisstyre_ has joined. 18:56:11 -!- fungot has quit (Ping timeout: 250 seconds). 18:58:23 -!- pdxleif has quit (Ping timeout: 268 seconds). 18:59:22 -!- idris-bot has quit (Quit: Terminated). 19:01:57 -!- impomatic has quit (Ping timeout: 260 seconds). 19:09:47 -!- zzo38 has joined. 19:12:12 -!- lleu has quit (Read error: Connection reset by peer). 19:13:00 -!- llue has joined. 19:13:00 Taneb: could you use my font for something? 19:13:01 b_jonas, I'm almost there 19:13:01 -!- sebbu2 has joined. 19:13:01 Have you compressed all of it to brainfuck code that fits a single IRC line yet? 19:13:24 Haha 19:13:40 Or at least all but the glyphs at control character positions? 19:14:03 -!- sebbu has quit (Ping timeout: 276 seconds). 19:14:07 The glyphs at the latin-1 high controls are probably mostly useless. 19:16:00 -!- MoALTz has quit (Ping timeout: 276 seconds). 19:25:40 -!- zgrep has quit (*.net *.split). 19:25:40 -!- Elronnd has quit (*.net *.split). 19:25:40 -!- lambdabot has quit (*.net *.split). 19:25:40 -!- Lymia has quit (*.net *.split). 19:25:40 -!- haavard has quit (*.net *.split). 19:25:41 -!- shikhin has quit (*.net *.split). 19:25:41 -!- sewilton has quit (*.net *.split). 19:29:27 hppavilion[2]: Hi. 19:29:40 lambda-11235: There you are! 19:30:51 -!- J_Arcane has joined. 19:31:23 hppavilion[2]: Here I am. What's up? 19:31:29 -!- zgrep has joined. 19:31:29 -!- Elronnd has joined. 19:31:29 -!- lambdabot has joined. 19:31:29 -!- Lymia has joined. 19:31:29 -!- haavard has joined. 19:31:29 -!- shikhin has joined. 19:31:29 -!- sewilton has joined. 19:31:37 lambda-11235: Nothing; just writing a JS parser library 19:33:01 hppavilion[2]: Oh, good luck. 19:34:18 -!- nycs has joined. 19:34:56 Kitten typesetting sounds adorable 19:36:22 -!- `^_^v has quit (Ping timeout: 252 seconds). 19:36:36 -!- nycs has quit (Client Quit). 19:37:57 -!- `^_^v has joined. 19:45:15 There's a Core War tournament in a few weeks if anyone's up for it? http://corewar.co.uk/easter2016.htm 19:45:50 * izabera read it as code war and thougth it was a hackaton 19:47:13 -!- ais523 has joined. 19:47:43 hello, ais523 19:47:56 hi b_jonas 19:53:49 -!- oerjan has joined. 19:55:04 Probably a better way to do colors with Xlib would be using the standard colormaps, although TrueColor should probably be used instead if possible. Anyways it would then have to check if the default visual matches the standard colormap, and other stuff too 19:57:35 zzo38: is the standard colormap for xterm the same as that for X? 20:05:01 Ugh 20:05:11 Writing parsers from scratch is confusing 20:06:10 just invert the show function :p 20:06:15 -!- spiette has quit (Ping timeout: 246 seconds). 20:06:33 I'm considering giving up and using a pre-made library 20:07:36 https://jeltsch.wordpress.com/2013/04/27/a-taste-of-curry/ 20:07:59 myname: Oh, that was directed at me 20:08:02 myname: I'm writing it in JS, so 20:08:14 myname: So I can use it in a browser 20:09:09 Maybe it can also be use with Node.js too 20:09:50 zzo38: Maybe 20:10:12 zzo38: I mean, if it works in JS it should work in Node 20:10:21 myname: My main goal is to reimplement Thoof in a browser 20:10:50 i don't know thoof 20:11:00 myname: I made it recently 20:11:06 myname: It's a proof assistant based on PCRE 20:11:27 myname: You use s/// notation to define axioms and compose substitutions to make theorems 20:12:02 myname: Example: http://pastebin.com/Y00f06hb 20:12:07 -!- lambda-11235 has quit (Quit: Bye). 20:12:26 (Peano arithmetic) 20:12:35 hppavilion[2]: sure, that's why we have ayacc 20:12:40 um 20:12:51 for writing parsers not from scratch 20:13:09 b_jonas: I was writing a Yacc-like library so I wouldn't have to write them from scratch 20:13:26 hppavilion[2]: ayacc is exactly one of those yacc-like libraries 20:13:28 b_jonas: I implemented the parser combinator library, now I'm debugging it be implementing an actual parser in it 20:13:35 I recommend it if you want yacc-like parsing 20:13:44 which of course can depend on what it is that you have to parse 20:13:50 b_jonas: Awesome, I'll look into it 20:13:58 `? ayacc 20:14:01 do we have a wisdom for it? 20:14:13 ayacc is ais523's yacc parser generator implementation, get it from http://nethack4.org/media/alex/ayacc/ayacc.pl 20:14:16 fungot, is HackEgo always this slow? 20:14:35 b_jonas: it's often slow when it hasn't been used for awhile 20:14:37 b_jonas: Is it perl? 20:14:43 occasionally to the extent of actually timing out 20:14:56 hppavilion[2]: ayacc isn't exactly a library, it's a Perl script 20:15:09 ais523: OK, I want client-side parsing 20:15:09 it's intended as an implementation of POSIX yacc 20:15:18 you give it a grammar as input 20:15:23 and it outputs a program that does parsing 20:15:29 currently it only supports output in C and Perl 20:15:32 ais523: I know how yacc works 20:15:42 I've used PLY at the very least 20:15:44 /but/ it is designed to easily be made to generate output in other languages 20:15:48 (Python Lexx-Yacc) 20:15:55 ais523: That could work 20:16:21 you basically give it a dictionary of program fragments that it can assemble a program out of 20:16:36 ais523: Yes, I know 20:17:05 That is, if it is pure JavaScript that does not use DOM and so on then it can work on browser and Node 20:17:22 (As well as other programs that use JavaScript) 20:17:24 zzo38: Right, right 20:17:44 hppavilion[2]: most yacc implementations work by filling in a template file 20:17:48 zzo38: Do you know of any Javascript parser generator libraries or pure parser generators? 20:17:53 ais523: I realize that 20:17:53 ayacc's a bit different, it generates code rather than data 20:18:36 OK 20:20:21 b_jonas: I was writing a Yacc-like library so I wouldn't have to write them from scratch <-- with all due respect, if you have trouble writing parsers from scratch, then there is _no_ way you're qualified to write a yacc-alike hth 20:20:46 oerjan: hehe 20:20:59 because no hand-written parser can ever be as confusing as LALR(1) parsing QED 20:21:16 -!- spiette has joined. 20:23:30 although i have a hunch you meant something like parsec-alike instead 20:24:13 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 20:25:15 oerjan: I don't find LALR(1) that confusing 20:25:39 Yes hello, l0de here 20:25:48 -!- Sprocklem has joined. 20:25:49 Anyone looking forward to the equinox rituals? 20:27:00 `? esoteric 20:27:04 This channel is about programming -- for the other kind of esoterica, try #esoteric on EFnet or DALnet. 20:27:19 oerjan: yes, sadly the “parser combinator library” hints for taht 20:27:32 which would be eww 20:30:17 A LALR(1) parser generator for C programs is Lemon, although that is C rather than JavaScript programming 20:30:48 zzo38: yes, I know, but I agree with ais523 in that ayacc is better than lemon in basically everything 20:31:01 -!- hppavilion[1] has joined. 20:31:02 do I know what lemon is? 20:31:24 ais523: what? haven't we already talked about that one related to ayacc? 20:31:28 l0de: I have no ritual of equinox at this time. (Although I do agree that it should be a holiday) 20:31:28 probably 20:31:30 but I think I forgot 20:31:35 that's why I asked rather than saying I didn't know what it was 20:31:49 /but/ it is designed to easily be made to generate output in other languages <-- . o O ( underlambda? ) 20:31:49 ais523: I think you do know 20:32:27 oerjan: well it possibly has more of a chance than anything else :-P 20:32:47 actually the model it uses maps onto underlambda very well 20:32:57 even unlambda, in fact 20:33:00 ais523: lemon is the yacc-like but not really compatible one that (a) outputs a re-entrant parser that doesn't use the C-stack but a separately allocated stack, and (b) its grammars mandatorily use a different syntax than yacc's $1 to access the values of symbols inside blocks 20:33:08 the main difficulties would be syntactic 20:33:13 b_jonas: ah right 20:33:21 I figured it was something like that purely from you comparing it to ayacc 20:34:05 ais523: http://www.sqlite.org/src/doc/trunk/doc/lemon.html 20:34:34 ais523: mind you, it probably did make sense for them to develop lemon if ayacc wasn't available 20:34:57 it's still better in some things than bison, and it serves their needs well 20:35:13 oerjan: I don't find LALR(1) that confusing <-- yes but you eat graphs for lunch hth 20:35:58 And it's definitely much better than handwriting a parser of course. 20:36:52 I happen to like that (a) difference from yacc especially, it mean you can even use more than one parser simultaneously in the same program too, as well as that you can call the parser for each token and that is how it work. 20:38:06 The problem is that we have these nice theoretic constructions like yacc parsers, but then people invent languages that aren't LR, and that can be parsed only with gross hacks, and in the end the parser you get is so ugly that you can't prove anything about how it works and when it will break. 20:38:32 LALR(1) parser generator itself is great, I like it, although I don't claim to completely understand the theory. 20:38:41 The part where it gets bad is the stupid languages. 20:39:53 zzo38: funnily, bison is somewhat closer to that than ayacc is, at least ayacc with the C backend, because bison also outputs a parser that doesn't use the C stack, I think 20:40:45 b_jonas: I've been considering allowing LALR(2), etc., in ayacc too 20:41:04 perhaps with some minimization to merge identical states 20:41:19 although it's unclear how you'd follow the POSIX rule to only read input if absolutely necessary, that might make it more complex 20:41:39 zzo38: but luckily using the C stack isn't such a big problem, because at least it doesn't use global variables and has other promises, so we can break out of a parser, we can run more than one in parallel using threads or coroutines, and we could even develop a new backend that doesn't use the C stack. 20:42:03 oerjan: b_jonas: you know how you can implement mathematical regular expressions using NFAs, and how those can be converted to DFAs in order to create an efficient compiled representation of the regular expression? 20:42:11 LALR is basically that but for stack machines 20:42:40 ais523: those grammars I'm thinking about aren't LALR(n) for other n either. the ones that are LALR(2) but not LALR(1) can generally be turned to LALR(1) with some small amount of preprocessing of the input stream with a DFA. 20:43:01 ais523: right 20:43:31 -!- lynn has joined. 20:44:07 most yacc impls will, if you give the -v or equivalent argument, list all the possible NstackA states that correspond to one DstackA state 20:44:29 ais523: ok 20:44:41 so that helps to understand what's going on 20:44:47 (ayacc is one such impl) 20:46:39 ais523: yes, a good quality debug output from ayacc certainly helps develop and debug grammars and prove things about it 20:46:59 as in, more than just telling me whether there's a conflict or not 20:47:03 -!- clog has joined. 20:47:45 wb clog 20:47:58 b_jonas: it also helps debug ayacc 20:48:05 I worked on its debug output quite a lot for that reason 20:49:45 ais523: can it also help debugging new ayacc output template thingies? 20:50:15 only by comparing what it says the code structure should be to what was actually output 20:50:23 however, a mistaken template will normally just cause a syntax error 20:50:42 it's basically literally transforming the final automaton shown in ayacc's .output file into a series of code fragments via substitution 20:50:44 Sadly I don't think I'm going to play with ayacc in the near future. I have too many other things to do. 20:52:27 -!- spiette has quit (Ping timeout: 246 seconds). 20:56:42 -!- tjt263_ has quit (Changing host). 20:56:42 -!- tjt263_ has joined. 20:58:19 -!- atslash has quit (Quit: This computer has gone to sleep). 21:04:52 -!- carado has joined. 21:09:34 -!- spiette has joined. 21:13:02 ais523: oh, that reminds me. ayacc already clearly states that the parts of ayacc that it outputs are under public domain. is there a statement somewhere about what license the other parts of ayacc are available under? 21:13:27 -!- lynn_ has joined. 21:13:39 -!- lynn has quit (Disconnected by services). 21:13:43 -!- lynn_ has changed nick to lynn. 21:13:43 This isn't urgent or anything, but it would be useful if you specified. 21:13:53 huh, it looks like I forgot the license notice 21:13:55 Like, released it under some license. 21:13:57 I think I was planning GPLv3 21:14:12 but atm it's default-all-rights-reserved 21:14:29 (because I forgot to license it under anything else) 21:14:38 right 21:14:54 but in the future I'd like something that gave me more rights than defaults-all-rights-reserved 21:16:12 yes 21:16:19 I'm not working on ayacc at the moment 21:16:21 but remind me next time I do 21:17:57 ok 21:18:28 I'll try, but I might forget 21:19:07 -!- p34k has quit. 21:21:27 -!- AnotherTest has quit (Ping timeout: 276 seconds). 21:24:41 -!- I has joined. 21:25:05 -!- I has changed nick to Guest46248. 21:25:06 -!- p34k has joined. 21:25:39 ais523: I hope the GPL would work in such a way on ayacc such that (1, more importantly) an ayacc-specific input grammar file is only an input to ayacc, not a modification to it that is required to be licensed under the GPL if you want to distribute it, and 21:26:36 (2, less importantly) ayacc isn't considered part of a program that uses ayacc to generate its parser, so that the program can be put under a GPL-incompatible but GPL-like sticky copyleft license that requires the full source of the program to be provided. 21:26:51 It's clear that the _output_ of ayacc isn't covered, my question is about the input. 21:26:56 -!- tjt263_ has quit (Quit: part). 21:26:59 b_jonas: the situatoin is the same as with gcc, I believe 21:27:15 which doesn't place any requirements on its input 21:27:29 besides, the fact that ayacc implements POSIX yacc is a pretty good argument that its input isn't copyright-affected by ayacc 21:27:35 as it'd be valid POSIX yacc input too 21:28:53 ais523: sure, but (1) I specifically said ayacc-specific grammar, and for point (2) that isn't relevant because bison is under the GPL too. 21:29:21 b_jonas: no it isn't, bison has an exception 21:29:27 basically because bison skeletons are copied into the output verbatim 21:30:46 Bison has an exception to make its _output_ free from copyright stickiness, right? Same as how gcc has an exception for some parts of libgcc or whatever that often gets linked into the output but isn't covered by the "System Libraries" clause. 21:32:36 But sure, gcc is probably a very good precedent. 21:35:50 Hmm… maybe we could abuse the nethack4 bug tracker for tickets about ayacc eventually. 21:36:01 It already works for aimake I think. 21:38:51 https://test.drownattack.com/?site=https://www.intesasanpaolo.com my bank ;-; 21:40:07 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:40:47 beautiful 21:43:00 oerjan: fwiw it's ghc 7.10.2; I didn't see a reason to update to ghc 7.10.3 21:43:15 As for ayacc, I tried to write a translator or compiler thingy that originally tried to emit readable code. I mostly failed, though part of that was that I didn't develop it much after the deadline. 21:43:53 is aimake a(imake) or ai(make)? 21:44:07 aim(ake) 21:44:10 That project was http://www.math.bme.hu/~ambrus/pu/olvashato/ of course 21:44:15 int-e: I think it's (ai)make 21:44:27 what would "imake" even mean? 21:44:35 int-e: it's (ai)(make) 21:44:35 int-e, I always assumed it was an artificially intelligent version of make 21:44:39 I guess it would be spelled Imake 21:44:47 ai can either stand for artificial intelligence or (ai)s523 21:45:01 "imake is a build automation system written for the X Window System." 21:45:31 -!- hppavilion[1] has joined. 21:46:40 hmm... does the first "a" in "ayacc" stand for something in particular then? 21:46:48 matches the first a in ais523, that's about it 21:47:23 ok 21:47:58 and I guess ancurses would sound lame, unlike uncurses 21:48:25 ain'curses 21:49:00 accursed 21:50:17 nfoiled again 21:52:03 it's called uncursed, it's just a nethack-related pun 21:52:12 sticking an "a" at the start is boring if you could do a pun instead 21:52:18 exactly 21:53:27 -!- mtve has quit (Ping timeout: 260 seconds). 21:53:47 b_jonas: hey is that you discussing grade skipping with scott a. 21:55:11 oerjan: yes, I'm that b_jonas. and it's probably not one of my most insightful comments. 21:55:24 not even among the ones on that blog 21:55:52 i just had a hunch and was wondering 21:56:05 (and you didn't use b_) 21:56:09 right 21:56:21 in some places I'm just jonas 21:56:24 which isn't nearly as unique 21:56:39 I'm practically the only b_jonas out there, but there are other people using "jonas" 22:00:00 oerjan: worse, on some places, I have used both jonas and b_jonas, because I forgot which one I used. 22:00:13 not on that blog luckily 22:00:34 heh 22:02:03 -!- augur has joined. 22:05:32 -!- lynn_ has joined. 22:06:01 oerjan: this one really gives it away that at least some of the "jonas" comments are by me by the way => http://www.scottaaronson.com/blog/?p=2011#comment-154279 22:07:43 -!- lynn has quit (Ping timeout: 250 seconds). 22:10:05 i am not sure if i followed that thread 22:34:46 -!- Guest46248 has quit (Quit: Leaving). 22:43:55 -!- `^_^v has quit (Quit: This computer has gone to sleep). 22:44:13 -!- ais523 has quit. 22:49:12 -!- spiette has quit (Ping timeout: 276 seconds). 23:02:09 -!- p34k has quit. 23:05:55 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 23:41:22 -!- lynn_ has quit (Ping timeout: 260 seconds). 23:45:01 -!- hppavilion[1] has joined. 2016-03-02: 00:07:15 YESS 00:07:18 YEEEEEEEES 00:07:49 Taneb: are you able to predict questions before they're asked of you? 00:08:08 Also, I have a brainfuck program that generates ASCII art banners! 00:08:24 -!- boily has joined. 00:08:39 `? weather 00:08:48 b_jonas, thanks! :D 00:08:49 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 00:08:51 CYUL 020000Z 03010KT 10SM -SN OVC052 M10/M13 A3006 RMK SC8 SLP183 \ ENVA 012350Z 17020G34KT CAVOK 01/M07 Q0994 RMK WIND AT 670FT 17035G47KT \ ESSB 012350Z AUTO 12006KT 9999 OVC021/// M01/M05 Q1009 \ KOAK 012353Z 27010KT 10SM FEW100 FEW180 20/10 A3013 RMK AO2 SLP202 T02000100 10217 20167 56006 00:09:10 @massages-loud 00:09:12 shachaf said 3h 36m 23s ago: do not @messages-loud this message twh 00:09:27 hellochaf. too late. 00:09:29 -!- Phantom_Hoover has joined. 00:09:42 izabera, would you mind terribly if I use arin.ga to paste a rather large amount of brainfuck? 00:12:11 Screw it, it's better to ask forgiveness than permission 00:12:54 Taneb: Yeah, but it's only easier if you don't explicitly say that to the person you would be getting permission (and will be asking for forgiveness) from 00:13:02 So here's a project to recruit more people to the #esoteric empire 00:14:26 * hppavilion[1] waits patiently for someone to respond so he knows that he's talking to something other than an empty room 00:16:24 why, are you afraid of echoes? 00:17:47 hppavellon[1]. there's tofu in my mouth; I can't answer readily. 00:17:55 echoes? 00:18:00 int-e: Yes. 00:18:18 int-e: I'd rather not talk at all that talk and have it get buried and ignored 00:18:20 choes? 00:18:28 That's what usually happens. 00:18:30 * hppavilion[1] claps for shachaf and Taneb 00:18:34 ...oes... 00:18:42 * hppavilion[1] adds boily 00:18:58 oerjan: Oh, I got some intuition for par the other day. 00:19:08 but it turned out to be kind of scow tdnh 00:19:19 * boily does not mapole shachaf 00:19:25 So the idea is to create some simple (not 100% insane, but strange enough to be intriguing) esolangs that are practical to use 00:19:30 brainfuck program I "wrote": https://arin.ga/FQLSPy/ 00:19:38 ...lap ...ap 00:20:01 And publish them together with some project revolving around tehm 00:20:09 And watch what people do 00:21:00 They would be published on some blog (as opposed to esolangs.org, which defeats the purpose) with hopes of attracting new people, eventually to the point that we can do esolangs4charity or something like that 00:21:26 Also, because that way we get MOAR BRAINS. 00:21:32 To make MOAR ESOLANGS 00:22:04 . o O ( moaronic spelling ) 00:22:17 An example of a language is a declarative language/machine called TurMinsFuck, which is exactly what it sounds like 00:22:58 we will Conquer the World, one Eggplant at a Time! 00:23:06 yum. 00:23:08 A side effect is that esolangs will show people how to implement languages, so we'll get MOAR non-esoteric languages too 00:23:16 boily: That's the plan 00:24:00 The aforementioned language is JSON-based, to ease implementation. The goal of users is to write a simple pseudo-OS in it 00:24:27 Or something, not sure yet 00:25:13 so how many of hppavilion[1]'s ideas have materialized so far? 00:25:21 int-e: Thoof. 00:25:25 int-e: That's about it. 00:25:35 int-e: And it's unpublished as of yet 00:31:36 -!- tromp has joined. 00:31:52 I'm really proud I got his program working 00:33:14 Taneb: that looks horrible :) 00:33:41 also... <> ... doesn't look so useful :) 00:33:49 It's generated 00:34:00 I've been focusing on getting it working, not getting it looking nice 00:34:08 There's a whole bunch of <> and I think some +- 00:34:21 -!- lambda-11235 has joined. 00:34:33 what does it do? 00:34:42 Generates ASCII art banners 00:35:48 It takes a string in input and prints a rendering of that string using just space and # 00:35:52 I see. 00:36:50 Using the font b_jonas is designing 00:39:31 One type of brainfuck derivative I could never hate is one that uses novel data structures or types as its primitive- either instead of the tape or instead of the integers 00:42:42 -!- idyllei has joined. 00:47:35 What's the font? 00:47:54 prooftechnique, one b_jonas designed and shared with me 00:48:04 Taneb: At least run bf.replace('<>', '') on the program... 00:48:05 I'm afraid I've lost the appropriate links 00:48:21 Aww. Is it as nice as \oren\'s? :D 00:48:40 At the very least, it was more immediately available 00:49:27 prooftechnique: What do you think would be good for an esolang practical enough that people can use it, but esoteric enough to be interesting? 00:49:27 I really hope I win this competition 00:49:40 Taneb: Competition? 00:49:48 Taneb: Sounds like you have a good shot :) 00:50:06 hppavilion[1]: Humo sounds neat. 00:50:12 hppavilion[1], my uni's electronics society is running a brainfuck programming competition 00:50:21 prooftechnique: Humo? 00:50:23 My ego demanded I demonstrate I'm the best in my uni at brainfuck 00:50:27 Taneb: Awesome xD 00:50:35 https://github.com/fpetrola/humo 00:50:39 Taneb: I don't see how you could lose 00:50:48 Also https://esolangs.org/wiki/Humo 00:50:53 prooftechnique: I made a proof assistant based on s/// notation already :) 00:51:11 hppavilion[1], well, the deadline is just listed as "the 2nd of March", and I submitted this at 00:15 00:51:22 Taneb: Ah 00:51:38 I've submitted solutions for all the easier challenges, though 00:51:51 Taneb: Wait, but does that mean at the beginning or end of march 2? 00:51:58 I've got no idea 00:52:01 Taneb: Oh, this wasn't your own project? 00:52:14 Taneb: As in, your own idea for a freestyle competition 00:52:15 I presume not the latter as the winner is announced at 2 00:52:22 Ah 00:52:36 tsk, the program overflows when given a 0xFF character as input 00:52:49 DISQUALIFIED 00:52:51 It wasn't my idea, but I think I'm the only person who attempted it 00:53:00 Ah 00:53:06 Taneb: How'd you generate it? 00:53:16 hppavilion[1], Haskell script 00:53:22 Ah 00:53:42 It's got a fairly regular structure, it's just really tedious and finicky 00:53:55 There's a whole load of improvements I can make 00:53:58 Taneb: Did the competition include specifications about the particular bf dialect? 00:54:23 Taneb: I recommend you start maintaining it as FOSS and get it included in some distribution of Linux as a standard command xD 00:54:27 32 bit word size, EOF is no change, 30000-length tape aborting on memory error 00:54:40 Ah 00:54:40 characters 3,4,5,6 look so asymmetric 00:54:54 -!- idyllei has quit (Quit: Leaving). 00:55:09 I'm tempted to feed it to tryitonline 00:56:02 I now must wait a year for it to output 00:56:31 (I did this: for i in $(seq 255); do echo $i; echo ${i}P | dc | ./a.out banner.bf; done ... where a.out is a brainfuck interpreter) 00:56:42 hppavilion[1], for the purpose of this competition the reference interpreter is https://copy.sh/brainfuck/ 00:56:43 I should use printf. 00:57:21 (but it's an 8 bit version) 00:57:35 int-e, it should work fine on an 8-bit interpreter 00:58:02 Taneb: it does, except for character 255 00:58:19 Ah, shit, I can see why that would happen 00:58:21 Taneb: Do I pass it input with ! or what? 00:58:33 hppavilion[1], depends on your brainfuck implementation 00:58:45 Give it input as normal for your implementation 00:58:48 Taneb: With the reference 00:59:12 There's a little input box under the output box 00:59:34 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:59:35 Oh! 01:00:01 That's amazing 01:00:20 Taneb: Bookmarked the paste 01:00:37 :) 01:00:44 prooftechnique: An example of a language of that form is a TM+MM+BF description language 01:00:47 It's for now All Rights Reserved probably 01:00:53 Taneb: xD 01:01:17 Please don't redistribute it without asking me 01:01:21 OK 01:01:32 Taneb: You should FOSS it when the competition ends and start actively maintaining it as a joke. 01:01:54 Taneb: What strategies are used to generate BF as such? Is there something I could read on this? 01:02:17 -!- Opodeldoc has joined. 01:02:31 hppavilion[1], I'm using a couple things from around the internet and a lot of things on the inside of my head 01:02:42 OK 01:03:08 bf program is not very hard to write (assuming you know some essential tricks like [-]) as long as you don't need arrays 01:03:10 I linked something this afternoon about brainfuck control structures 01:03:22 lifthrasiir, this... this uses arrays 01:04:02 Taneb: to be exact, free-form arrays? I guess you store your text up somewhere and seek to the beginning or end by [<] or [>] 01:04:12 Was it oerjan who determined that 3-cell BF is Turing complete? 01:04:14 lifthrasiir, sort of ish 01:04:18 prooftechnique, yeah 01:04:23 That was a fun day :) 01:04:30 Taneb: If one were to make a brainfuck that was made for much easier development (while still remaining esoteric), what instructions and changes do you think would be crucial? 01:04:33 explicit arrays are harder, and multiple arrays at once are much harder 01:04:36 lifthrasiir, I'm actually storing 20 copies of each character, with a bunch of cells of working space 01:04:37 (This is turning into an interview xD) 01:04:54 Taneb: is your banner 20 lines high? :p 01:04:57 lifthrasiir, yeah 01:05:00 great 01:05:21 hppavilion[1], I think it would require enough changes to be not brainfuck at all any more before it's easy to use 01:05:31 I guess I would have used a pair of cells instead, but yeah, that shouldn't really matter 01:05:34 I don't program in brainfuck because it's easy 01:05:40 I program in it because it's hard 01:05:52 Taneb: Not "easy", but "easier" 01:06:00 lifthrasiir, and then I'm doing [<<...<<] with 200 or so Taneb: For example, a language for OS development based on BF 01:06:25 Taneb: yeah that becomes a problem when you have 20 copies of them 01:06:37 copying on demand seems better 01:06:48 `coins 01:07:12 is that the backquotecoin? 01:07:33 No output. 01:07:34 Sump'm like that. 01:07:34 hppavilion[1], an easier way to do conditionals 01:07:50 The [-[-[-[-[-[-[-[-[-[-[-[-[-s in my program are setting up for a form of case statement 01:08:04 Taneb: Ooh, yeah. 01:09:21 I think a "brainfuck assembly language" would be nice. Some language whose purpose is to specify exact brainfuck programs. 01:09:42 Taneb: Perhaps something a bit JSONy? {case: code; case: code; case: code...} 01:09:54 tswett: I think someone did that already 01:09:59 That doesn't seem to me to be in the spirit of brainfuck 01:10:07 hppavilion[1]: then I want to see it. 01:10:08 Taneb: I agree, but it was the best I could think of 01:10:18 tswett: Search the wiki 01:10:31 "Brainfuck assembly" or something like that 01:12:00 tswett, what I'd like is some sort of specification and verification system for brainfuck 01:12:11 Say, does anyone know about that "fantasy game console"? It's like an emulator of an old video game console, except it was designed from scratch instead of actually emulating any particular console. 01:12:41 I'd like an IRC client with repetition protection 01:12:42 I'd like an IRC client with repetition protection 01:14:05 Do what the cool kids do—say three lines just milliseconds apart. 01:14:05 Like this. 01:14:05 See? 01:14:07 Taneb: Perhaps just {...} instructions that are like [] but } doesn't jump back (essentially, a NOP that other instructions move based on) 01:14:07 -!- deltab has quit (Ping timeout: 260 seconds). 01:14:19 tswett: xD 01:14:34 Anyway... 01:14:35 tswett: I see it took you a while to copy the newline character 01:14:38 -!- deltab has joined. 01:14:49 hppavilion[1]: come up with a nonsense word please. 01:15:05 lakalrocious 01:15:17 Great, thanks. 01:15:22 tswett: Why? 01:15:49 So that I can use it to name my software project. 01:15:52 Ah 01:16:02 tswett: What does the project do? 01:16:24 It's a bunch of mathematics written in Coq. 01:17:15 The feeling where you've been trying hard for a while to get something to work 01:17:17 And then it works 01:17:19 Ah 01:17:23 And you don't know what to do next 01:17:27 Is kind of frustrating 01:17:29 Taneb: I wish I knew that feeling... 01:17:57 xD 01:19:00 tswett: You should prove something in Thoof when it's ready 01:20:20 Are any of the trig functions functionally complete for the trig functions? 01:21:16 Well, it's pretty easy to write all of them in terms of the sine function. 01:21:31 tswett: In a way a computer can efficiently calculate? 01:21:35 cos(x) = sin(pi/2 - x), I think it is. 01:22:04 hppavilion[1], is division availabe 01:22:09 Then tan(x), sec(x), csc(x), and cot(x) can all be written as ratios of sin(x) and cos(x). 01:22:12 Taneb: Maybe 01:22:22 I just broke a glass with my teeth, somehow... 01:22:31 Then sin, cos, sec, csc 01:23:07 tswett: Would a BF-inspired proof assistant be at all a good idea? 01:23:20 For the #esoteric-standard value of good idea 01:23:21 Probably not. 01:23:33 tswett: Factor in that message and re-answer 01:23:40 First, do one inspired by C. 01:23:46 tswett: Pfffft 01:23:55 If that turns out to have been a good idea, go and do it for BF. 01:23:58 tswett: I did one inspired by Thue and it works pretty well 01:24:07 Oh? 01:24:12 How's it work? 01:24:29 tswett: Well, it wouldn't be much like BF; it'd have the tape and such, but not the imperative structure 01:24:36 tswett: Well, it's based on s/// 01:24:47 tswett: And, to a lesser extent, y/// 01:25:16 I'm heading to bed now 01:25:17 Goodnight! 01:25:21 Basically, you create a series of axioms- known strings and substitutions- then you apply the known axioms to known strings until you get a goal string 01:25:24 Taneb: 'night 01:25:39 tswett: It's PCRE more so than Thue 01:26:25 You can also do things like @ to apply an axiom/theorem/lemma as a fixpoint, which applies it to the string until it stops changing 01:27:16 And there's ?, which yields the set of the current string AND the current string when you apply thelemax 01:27:32 (thelemax is short for theorem/lemma/axiom, and is used a lot in the docs) 01:27:55 tswett: So you prove things by substituting using PCRE regexes on a known string, and you get new strings that represent your proof 01:28:29 tswett: Though future versions will support regex styles other than PCRE- e.g. Pure Kleene Regexes and standard regexes 01:28:35 And, of course, raw strings 01:29:28 tswett? 01:29:37 Lemme see. 01:29:44 tswett: Best of all, I even have a Thoof interpreter working, partially 01:29:49 OK, one sec, let me publish it 01:30:14 All right, I see what you're doing here. 01:30:21 Do you know what a formal system is? 01:30:37 tswett: I think someone did that already <-- pikhq's bfm which was renamed to something else - pickle? 01:32:25 tswett: https://github.com/ZodiacWorkingGroup/Thoof 01:32:49 tswett: Yes, yes I do 01:32:51 I think 01:33:02 tswett: Note that y/// and ? don't yet work; I just added them today 01:33:11 (well, y/// might not have been today, but I think it was) 01:33:22 (To the docs, that is, not to the code) 01:33:57 tswett: construct.thoof is the file with the working, tested code in it 01:34:33 Now, Thue is already a language for specifying formal systems. 01:34:46 tswett: Yes, yes it is 01:35:06 Semi-thue systems 01:35:31 tswett: Did I do something wrong? xD 01:35:41 Nah, lemme keep typing. 01:35:46 OK 01:35:55 You've taken Thue, extended it, and also built a system for specifying specific Thue derivations. 01:36:13 So if you want to do the analogous thing for brainfuck, you'll build a system for specifying specific brainfuck derivations. 01:36:14 (One problem with IRC: None of the "x is typing" stuff fancy new chat things have) 01:36:22 tswett: Oh no... 01:36:27 (thelemax is short for theorem/lemma/axiom, and is used a lot in the docs) <-- i'm pretty sure that word belongs in the other #esoterics hth 01:36:27 And that raises a question: what is a brainfuck derivation? 01:37:01 tswett: So "specific Thue derivations" means what exactly? 01:37:17 Specific ways of following the rules with a given start string in order to end with a given end string. 01:37:18 tswett: Also, note that you have to call substitution rules manually; they aren't automated 01:37:30 Ah 01:37:30 Right. The derivation is the sequence of calls. 01:37:48 There are two "problems" with the idea of a brainfuck derivation. 01:37:56 You can still call them in Thue-like fashion, by putting the desired ruleset in a theorem and fixpointing it (@) 01:38:07 tswett: I'm sure one is that BF is imperative 01:38:13 One is that brainfuck, unlike Thue, is deterministic. Given a starting state and a program, there's only one way that you can proceed. 01:38:24 Ah, yes 01:38:36 tswett: I think there's another word for that 01:38:56 Unless you mean Thue is probabilistic, which is implementation-defined 01:39:55 And the other "problem" is that brainfuck code works by taking a starting tape state (or tape segment state) and ending with another tape (segment) state. 01:40:26 Now, resolving the first "problem" seems easy, I think. Just add more instructions, which are nondeterministic. 01:40:48 tswett: I can't tell what you mean by "deterministic" and "nondeterministic" here, based on what I assume they mean 01:40:56 As for the second "problem"... I'll tell you what I can tell you and I'll let you run with it. 01:41:34 "Deterministic" means "given the state for a time step, there is at most one possible state for the following time step". 01:41:55 Ah 01:42:18 tswett: I was thinking deterministic was non-probabilistic, but a search tells me probabilistic is a subset of nondeterministic 01:42:55 Yeah. A nondeterministic system simply says something like "proceed to either A or B". A probabilistic system, on the other hand, says something like "proceed to A with probability 0.5, B otherwise". 01:42:59 tswett: So in this case, nondeterministic is like Algebra where you can rewrite in multiple different ways? 01:43:18 Yeah, I'd say algebra is an example of a nondeterministic system. 01:43:23 OK 01:44:01 Thue and brainfuck both involve a concept which is ubiquitous in programming, and also elsewhere in mathematics. They both involve specifying ways of going from one state to another state. 01:44:19 tswett: So can you clarify the second problem? I don't quite get it 01:44:50 In Thue, what the "states" are and what the "ways of going" are are pretty straightforward. The "states" are the various strings that you can have as... y'know, the program state. 01:44:55 And the "ways of going" are the individual rules. 01:45:30 OK 01:45:33 In brainfuck, it's a little more subtle. The "states" are states of the tape... but are they states of the entire tape, or states of just pieces of the tape? 01:45:46 Ah... 01:45:58 The easiest answer is "they're states of the entire tape". And that's a totally valid answer. 01:46:07 So it's like how different code will use different areas of the tape? 01:46:19 Something like that... probably. 01:46:45 But the problem with "they're states of the entire tape" is that... well, it's that every single piece of code has to be seen as affecting the entire tape. 01:46:52 Which might be a little inflexible. 01:47:00 tswett: I mean the fact that, without running code, you can't determine what cells will and will not be used 01:47:08 (Even if we exclude ,) 01:47:25 tswett: Perhaps I could do something with a 2-tape 01:47:26 That is true... 01:47:28 Well. 01:47:35 Lemme work with an example. 01:47:41 Consider the following piece of brainfuck code: + 01:48:02 Where you have 8 cells that each rule can use, and at the end (and only at the end) of a rule, you transition to another group of 8 cells 01:48:13 Here's what that code does, under the "states of the entire tape" choice: 01:48:54 That way, you can guarantee that the code will only use those 8 cells 01:48:56 It takes a tape, and returns a tape where the active cell is the same cell as in the original tape, and all of the cells have the same value, except that the active cell contains a value equal to one plus its prior value. 01:49:06 Here's what that code does, under the "states of just pieces of the tape" choice: 01:49:15 It's not just brainfuck that lets you do math, the idea is it's something novel that is vaguely inspired by brainfuck 01:49:20 It takes a tape cell, and returns a cell containing a value equal to one plus the prior value. 01:49:38 tswett: Yes, I get it. I think that's what I said earlier 01:49:52 The latter style is easier to talk about because it just doesn't mention the rest of the tape at all. 01:50:53 So, here's how I think it's going to look. 01:50:54 With BF\IO, you pretty much can't determine what cells a fragment of code will modify (given the current active cell number and the fragment) short of running the code 01:51:10 And especially if the area of the tape has potentially been modified before 01:51:10 [wiki] [[Dis]] https://esolangs.org/w/index.php?diff=46482&oldid=30820 * 94.12.170.129 * (-2) fixed the wayback link 01:51:13 Axioms are pieces of extended-brainfuck code. 01:51:18 OK 01:51:23 That's what I was thinking 01:51:25 Theorems have three pieces. 01:51:31 Listening 01:51:59 First, the starting state of the tape segment. Second, the ending state of the tape segment. Third, a way of using axioms to get from the starting state to the ending state. 01:52:12 Yep? 01:52:27 And that's pretty much that. 01:52:30 Starting state and ending state? 01:52:38 What about them? 01:52:40 One sec 01:52:56 Let me read back, I may have accidentally expunged crucial information from my short-term memory 01:53:12 Now, there are two ways of taking theorems and getting new theorems. First, you can take a theorem with a given ending state, and another theorem whose starting state is the same, and string those two theorems together. 01:53:34 tswett: The "state" is the values on a tape fragment, correct? 01:53:39 Second, you can take a theorem and add additional cells to the beginning and/or end of the starting and ending states. 01:53:40 Right. 01:53:56 So if (0) -> (3) is a theorem, then (0,42) -> (3,42) is also a theorem. 01:53:57 Interesting... 01:54:29 tswett: So the start -> end part isn't stored, because of the large number of possible transitions? 01:54:59 -!- FreeFull has quit (Remote host closed the connection). 01:55:15 Well, like I said, a theorem has those three pieces: starting state, ending state, and sequence of... steps. Storing the theorem means storing all three of those pieces. 01:55:26 Oh 01:56:09 tswett: So a theorem stores a relation between two values and a list of thelemax references? 01:56:21 Sounds right. 01:56:32 Basically, a constrained in value and an equation that you run on that value to calculate the out value 01:57:06 Right, except I don't think the word "equation" is the right word there. 01:57:12 tswett: Formula? 01:57:29 It'll be a program, or a sequence of programs, where you specify choices for all of the nondeterministic bits of the program. 01:57:32 tswett: That message just referred to the relation 01:57:49 Ah. 01:57:57 Not to the list of axioms 01:58:00 In that case, yeah, exactly. 01:58:13 You're actually getting ahead of what I was saying—which is good. 01:58:26 Yay! 01:58:37 tswett: Also, do you have any suggestions for things to make Thoof better (based on what you've heard), or any other languages that could be made into proof assistants after I do this? 01:58:39 So far I'd only mentioned theorems with one specific in value and one specific out value. But it makes sense to extend that as much as you like. 01:58:52 Thoof is the proof system inspired by Thue? 01:59:01 tswett: Yes, forgot to mention that 01:59:26 Hmm. Not sure about Thoof, but let me think about other languages to make into proof assistants. 01:59:36 If you're insane, try ///. 01:59:53 Whose wiki page is, of course: http://esolangs.org/wiki//// 02:00:18 -!- AlexR42 has joined. 02:00:24 tswett: Isn't that what I did? Or is /// self-modifying? 02:00:27 Consider doing it for Unlambda. 02:00:32 /// is self-modifying. 02:00:58 Unlambda and /// are both deterministic. But, as always, it's easy to make a deterministic language non-deterministic: just add additional instructions. 02:01:22 Or, here's how I'd suggest making /// nondeterministic. 02:01:32 tswett: I'm definitely making an Unlambda one xD 02:01:46 Currently, the specification says that when you're performing a substitution, you find the first instance of the pattern string and replace it with the replacement string. 02:01:46 Then again, unlambda practically already /is/ a proof assistant 02:02:05 Here's the nondeterministic version: find *any* instance of the pattern string and replace it with the replacement string. 02:02:16 Oooh... 02:02:30 And let the mathgrammer choose which instance it is? 02:02:38 So the program "/***/zebra/*****" could output "zebra**", "*zebra*", or "**zebra". 02:02:40 Exactly. 02:02:57 In /// as it is, there's only one possible output: "zebra**". 02:03:01 tswett: Perhaps I should just put that in Thoof? For simplicity? 02:03:11 tswett: I mean, thoof isn't meant to be uber-minimal 02:03:20 It's meant to be usable, but non-conventional 02:03:24 Put what in Thoof? 02:03:33 tswett: The ability to choose which is replace 02:03:34 d 02:03:47 I assumed that you already had that as a feature, actually. 02:03:59 tswett: As it is, thoof just replaces the first instance of the regex with its substitution when it's called 02:04:02 Ah 02:04:12 Well, when an axiom is called/applied 02:04:31 So what do you do if you want to replace a different instance instead? 02:04:48 tswett: You make sure the regexes and strings are set up so that you don't xD 02:04:55 tswett: But that's a good point that I didn't think of 02:05:03 tswett: I was already considering a {} notation 02:05:15 Yeah, I'd definitely put that in Thoof for simplicity. 02:05:20 OK 02:05:33 Unless, of course, you like the complications produced by not having that in Thoof. 02:05:40 I don't xD 02:05:42 Not completely 02:06:07 thelemax{n} replaces the nth instance, thelemax{:n} replaces all up to the nth instance, thelemax{n:} replaces all starting with the nth instance, and thelemax{n} replaces the nth instance, thelemax{:n} replaces all up to the nth instance, thelemax{n:m} replaces all starting at n and ending at m? 02:06:22 All :x are not inclusive, and x: are inclusive 02:07:11 tswett: That syntax look good? 02:07:45 I think I like that. Also allow the user to specify multiple non-contiguous instances: {1,6,7,10000} 02:07:50 tswett: Ah, yes 02:07:56 tswett: And, of course, specify from the end 02:08:00 Here's a question: how many instances of "***" are there in "******"? 02:08:04 In my opinion, there are four. 02:08:11 tswett: 4 02:08:38 Likewise, three instances of "abba" in "abbabbabba". 02:08:43 tswett: The thing will go with overlapping matches, for generality 02:09:08 If the user tries to replace two overlapping instances simultaneously, that's probably an error. 02:09:21 tswett: I thought of letting Thoof use a small unix-like filesystem to store data too xD 02:09:33 (And, while we're at it, possibly thelemaxes) 02:09:44 tswett: Yeah, probably 02:10:09 Now, what happens if, in the string "abbabbabbabbabbabbabbabbabbabbabbabbabbabbabbabba", I use thelemax{3:5}, where my thelemax turns "abba" into "jonsi"? 02:10:17 replace what thou wilt shall be the whole of the instance 02:10:32 Is that an error, since instances 3 and 4, and likewise 4 and 5, are overlapping? 02:11:27 tswett: The third and fourth instances of abba are replaced with jonsi. What else would happen? 02:11:37 Oh, right 02:11:39 Overlap 02:11:56 tswett: Note that it terminates one instance early, like in Python 02:11:58 Actually, no 02:12:09 I should make it index from 1 for logic's sake 02:12:22 You could say it's an error. You could also say that, going from left to right, it chooses all of the instances that don't overlap with a previously chosen instance. 02:12:35 In which case you could have syntax for deciding whether you want to go from left to right, or from right to left. 02:12:56 tswett: negative numbers work from the right, like in Python 02:13:07 Because it makes sense and there's no reason not to 02:13:44 (There's no confusion because you can't use a variable or anything in {}, as the only variables are theorems/lemmas/axioms, which can't be numbers) 02:14:17 tswett: That idea's good too... 02:14:23 I guess it could just be a matter of {3:5} versus {5:3}. 02:14:35 Perhaps [] should be non-overlapping, while- oh, yeah, good point 02:14:56 Wait, no, that was unrelated, wasn't it 02:15:04 [] will not overlap, but {} will 02:15:14 {} will raise an error on overlaps 02:22:08 . o O ( banananananananana... ) 02:22:29 boily: I once wrote a program with the express purpose of doing that 02:27:31 Mr. Hppavilion[1]'s Patented Banana Proliferaton Programme, Enhanced With the Purest of Potassiums. Guaranteed to Cure your Personal Ailments! 02:28:05 -!- andrew_ has joined. 02:28:35 surely that should be Dr. Hppavilion[1] 02:28:53 hppavilion[1]: are you a doctor? are you even a mister? 02:29:10 he does look misterious 02:29:18 * boily lightly prods hppavilion[1] with his mapole, just to make sure 02:29:33 * boily thwacks oerjan 02:30:18 how brutal 02:30:58 that pun registered at least 0.8 shachafs. 02:36:47 I think hppavilion[1]'s secret is now uncovered. he isn't human, or at least appröximatively human. 02:37:25 -!- boily has quit (Quit: CYCLOPEAN CHICKEN). 02:48:07 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 02:50:38 -!- andrew_ has quit (Ping timeout: 248 seconds). 03:00:36 -!- bender|_ has joined. 03:04:07 -!- andrew_ has joined. 03:14:01 -!- hppavilion[1] has joined. 03:14:48 tswett: I'm back 03:17:34 `unidecode ḧ 03:17:45 ​[U+1E27 LATIN SMALL LETTER H WITH DIAERESIS] 03:18:35 Ḧëllö, ḧppävïlïön[1]. 03:18:55 -!- AlexR42 has quit (Ping timeout: 252 seconds). 03:23:58 -!- FreeFull has joined. 03:33:19 tswett: Hi 03:33:24 tswett: Forgot to respond xD 03:47:52 -!- augur has quit (Remote host closed the connection). 04:08:00 -!- oerjan has quit (Quit: leaving). 04:12:33 helloerjan, helloily, tswello, heppavellolion[1] :) 04:41:38 -!- augur has joined. 04:49:24 -!- bender|_ has changed nick to bender. 04:49:33 -!- bender has quit (Changing host). 04:49:33 -!- bender has joined. 04:50:44 It's been a long time since I did esoteric stuff 04:51:08 `welcome bender 04:51:13 bender: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 04:56:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 04:58:40 Which one did you do in past (if any)? 04:59:09 zzhello38 04:59:36 Do you have any tricks for linear logic? 05:01:35 I don't think so 05:04:40 I would want to add into JavaScript a goto command which can implement a kind of "evasive exception", for example: function test() { again: xyzzy(()=>{goto again;}); return 1; } It cannot be caught by "catch" blocks, but "finally" can still partially catch it. What is your opinion of this? 05:05:27 Seems dubious to me. 05:05:31 (Of course it won't work if the that function that does goto again is called after test function returns; it such case it is error and is caught by a catch block.) 05:05:54 Why not make it work the second time, so you get a continuation thing? 05:07:28 I think JavaScript does not use continuations? But if it can be made to do so, then it might. However, then there is the case if a different part of the program does not want it to work a second time. 05:09:27 For generator functions it is a bit more easily though 05:12:44 (Jumping into any block is also going to be error, but depending how it is written it may be a syntax error which is seen before the program is executed.) 05:15:13 Anyways, "return" means the function is finished and is not allowed to continue, isn't it? 05:18:33 Note that in the example given, the "again" is local to the instance of the function call, as if it was "var x" and it passed a function that mentions "x", it is the "x" of this function call, too (but that is a variable and doesn't need the function to continue after it returns in order to use that variable) 05:19:28 If you would write "goto again;" outside of the function definition then the label called "again" is not in scope so it is an error. 05:19:36 -!- impomatic has quit (Ping timeout: 246 seconds). 05:20:39 Having "goto" would also make it easier for a JavaScript program to compile other stuff into a JavaScript program (such as with "new Function"). 05:21:34 -!- impomatic_ has quit (Ping timeout: 248 seconds). 05:22:09 How else would you do it? One idea would be to first convert the other code into basic blocks, but and then what? 05:25:37 -!- augur has quit (Remote host closed the connection). 05:30:42 -!- augur has joined. 05:35:31 -!- hppavilion[1] has joined. 05:37:11 oerjan: whoa whoa whoa, the whole !A -o B and !A -o ?B thing makes perfect sense 05:37:23 and also presumably A -o ?B for dual intuitionistic logic 05:38:12 I want to start implementing software in abstract machines... 05:45:53 What kind of abstract machines? 05:49:08 -!- andrew__ has joined. 05:50:51 zzo38: Tag systems, for example 05:51:11 Perhaps in some way augmented, but it's doubtful 05:52:09 -!- andrew_ has quit (Ping timeout: 246 seconds). 05:58:31 Perhaps a programming language for constructing pseudo-operating systems where various components are first-class objects? 05:58:39 Nah, that's stupid and I don't understand OSes 06:12:34 -!- pdxleif has joined. 06:20:19 -!- MoALTz has joined. 06:21:39 tswett: You're still online. Is this because you never log off but are currently sleeping, or are you actually on? 06:34:31 -!- AnotherTest has joined. 06:34:50 Ugh, with my current setup it'll be a huge pain in the ass to properly make Thoof work 06:41:45 -!- AnotherTest has quit (Ping timeout: 276 seconds). 06:50:50 -!- augur has quit (Remote host closed the connection). 06:53:33 Taneb: do you properly do unicode CNF normalization on the string before you get the glyphs from the font? 06:55:44 -!- heroux has quit (Ping timeout: 260 seconds). 06:57:50 -!- heroux has joined. 06:58:54 -!- lambda-11235 has quit (Quit: Bye). 07:05:59 zzo38: re evasive exceptions: perl has exactly that. there are some compications if you want to exit through xs functions (depending on how exactly they call back to perl), sort blocks, regex code blocks, and other strange constructs. You may be able to leave with an exception, a goto, both, or neither, depending on the construct and the version of perl. 07:06:49 zzo38: ruby also sort of has something like this, in that there are more things than exceptions that you can throw, and a catch catches only exceptions, but I'm not sure there's a finally construct that catches all the others. There's no full-powered goto though. 07:10:26 zzo38: specifically, things you can throw are exceptions, four loop control statements which act on the function that got passed the lexically curretn ruby-like yield callback block as a yield argument (break (=perl's last), next, redo, retry (jumps to before the function call)), function return, plus internal fatal error thingies like out of memory that you can't catch. 07:11:15 -!- lynn has joined. 07:13:05 zzo38: there's also a callcc, which is nastier. I think it makes a copy of the C stack or something. I think it still tries to run some finalize blocks, but I'm not sure if there's a corresponding scheme-like on-enter block too. 07:13:20 For search, finally is called ensure in ruby. 07:14:07 Ruby's non-exact gc (at least in ruby 1.8, I don't know if they replaced it) helps this sort of thing of course. 07:40:23 b_jonas: Taneb mentioned your font, and I was curious to see it 07:40:40 If you don't mind :) 07:44:49 -!- earendel has quit (Ping timeout: 248 seconds). 07:44:49 -!- staffehn has quit (Ping timeout: 248 seconds). 07:45:43 -!- staffehn has joined. 07:47:21 -!- tromp has quit (Remote host closed the connection). 07:51:46 -!- earendel has joined. 07:53:22 OK 07:54:01 -!- bender has quit (Ping timeout: 250 seconds). 07:54:28 -!- mroman has joined. 07:57:52 prooftechnique: It's jsut the font in the program 08:10:13 -!- bender has joined. 08:10:23 -!- bender has quit (Changing host). 08:10:23 -!- bender has joined. 08:11:07 -!- lynn has quit (Read error: Connection reset by peer). 08:15:36 prooftechnique: Do you do a lot of stuff with Proof Assistants? Your name implies you might 08:16:42 prooftechnique: I wouldn't say a lot. I do like to play with them, though. 08:17:18 I actually work at a design firm, right now, so the use case for proof assistants rarely comes up. :| 08:31:31 Though if GSS were a little more ready, I could conceivably make use of a constraint solver :D 08:33:38 prooftechnique: GSS? 08:33:56 Sorry, you didn't ping me so I missed the messages xD 08:43:51 hppavilion[1]: http://gridstylesheets.org/ 08:44:02 Oooh 08:44:04 Sounds fancy 08:45:08 b_jonas, hell no, I just take the first 256 glyphs in the font and hope they're in the right order 08:46:16 prooftechnique: I'm looking for something novel to prove with, I was just seeing if you could help xD 08:47:49 -!- tromp has joined. 08:52:34 hppavilion[1]: I'm still kind of fascinated by Lemuridae, to be honest. 08:53:03 -!- tromp has quit (Ping timeout: 276 seconds). 08:56:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 09:16:27 -!- FreeFull has quit (Ping timeout: 276 seconds). 09:46:49 -!- AnotherTest has joined. 09:59:20 -!- jaboja64 has joined. 10:15:11 -!- hppavilion[1] has joined. 10:22:58 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 10:41:46 -!- primo has joined. 10:48:33 -!- tromp has joined. 10:52:51 -!- tromp has quit (Ping timeout: 248 seconds). 10:57:35 -!- lynn has joined. 11:25:07 -!- J_Arcane has quit (Ping timeout: 252 seconds). 11:25:23 -!- boily has joined. 11:39:02 @massages-loud 11:39:02 You don't have any messages 11:39:33 question of the day: if I don't have any massages, did shachaf write anything? 11:41:11 @tell boily yes 11:41:11 Consider it noted. 11:41:19 Tanelle 11:41:26 @massages-quiet 11:41:26 Unknown command, try @list 11:41:29 @massages 11:44:31 -!- primo has left ("Leaving"). 11:49:21 -!- tromp has joined. 11:53:43 -!- tromp has quit (Ping timeout: 252 seconds). 11:54:41 -!- mtve has joined. 11:56:41 -!- bender has quit (Ping timeout: 250 seconds). 11:59:01 -!- ais523 has joined. 12:02:50 -!- jaboja has joined. 12:05:18 -!- jaboja64 has quit (Ping timeout: 248 seconds). 12:14:14 -!- jaboja has quit (Ping timeout: 260 seconds). 12:22:01 -!- boily has quit (Quit: PACKET CHICKEN). 12:28:31 -!- bender has joined. 12:46:28 -!- jaboja has joined. 12:47:26 -!- andrew__ has quit (Remote host closed the connection). 12:51:28 -!- AnotherTest has quit (Ping timeout: 252 seconds). 13:02:46 -!- ais523 has quit (Ping timeout: 244 seconds). 13:19:37 -!- bender has quit (Ping timeout: 240 seconds). 13:20:32 -!- bender has joined. 13:45:13 -!- tromp has joined. 13:57:22 -!- tromp has quit (Remote host closed the connection). 14:00:05 [wiki] [[Special:Log/newusers]] create * RaHorakhti * New user account 14:10:47 -!- p34k has joined. 14:13:53 -!- FreeFull has joined. 14:17:41 -!- jaboja has quit (Ping timeout: 244 seconds). 14:35:05 I think that brainfuck program I shared in the early hours of this morning may be one of the longest ones in existence 14:47:56 Taneb: Was it generated? 14:49:15 -!- `^_^v has joined. 14:56:05 -!- bender has quit (Ping timeout: 250 seconds). 14:57:51 -!- tromp has joined. 15:02:22 -!- tromp has quit (Ping timeout: 252 seconds). 15:03:31 -!- oerjan has joined. 15:08:33 Taneb: what did it do? 15:13:42 -!- MaskedFox has joined. 15:21:07 -!- spiette has joined. 15:27:00 -!- MaskedFox has quit (Ping timeout: 252 seconds). 15:27:06 Taneb: https://arin.ga/FQLSPy/ ? it is just over 200K, which is not really the biggest 15:27:24 Lost Kingdom BF edition is about 2MB 15:28:03 oerjan: whoa whoa whoa, the whole !A -o B and !A -o ?B thing makes perfect sense <-- i fear that we have lost shachaf 15:28:27 [wiki] [[Q]] N https://esolangs.org/w/index.php?oldid=46483 * RaHorakhti * (+2813) Created page with "The Qabalah language ('''Q''') is not only an esoteric programming language, but it is also an [[Category:Occult languages|occult programming language]]. The first version of..." 15:29:19 oooh, an esoteric esoteric programming language 15:30:34 ...which only looks esoteric, not esoteric esoteric 15:31:30 what is esoteric esoteric? 15:31:34 [wiki] [[Q]] https://esolangs.org/w/index.php?diff=46484&oldid=46483 * RaHorakhti * (+1) 15:32:26 like, esoteric in both senses 15:33:07 [wiki] [[Category:Occult languages]] N https://esolangs.org/w/index.php?oldid=46485 * RaHorakhti * (+83) Created page with "Occult languages are esoteric languages that also has an occult focus of some kind." 15:33:51 -!- idris-bot has joined. 15:34:52 [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[Category:Occult languages]]": Creating category without discussion against [[Esolang:Policy]] 15:35:02 the foot, it came down hth 15:35:39 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46486&oldid=46472 * RaHorakhti * (+8) 15:42:00 [wiki] [[Q]] https://esolangs.org/w/index.php?diff=46487&oldid=46484 * RaHorakhti * (-1) 15:44:59 @tell hppavilion[1] I never log off (if I can help it). 15:45:00 Consider it noted. 15:45:42 [wiki] [[User:RaHorakhti]] N https://esolangs.org/w/index.php?oldid=46488 * RaHorakhti * (+135) Created page with "My name is Per Löwgren, you can find some of my work at [https://bitbucket.org/perlowgren BitBucket]. I've created the language [[Q]]." 15:46:27 -!- earendel has quit (Ping timeout: 246 seconds). 15:50:57 -!- lambda-11235 has joined. 16:06:54 -!- mroman has quit (Quit: Lost terminal). 16:07:16 -!- spiette_ has joined. 16:07:55 -!- p34k has quit. 16:08:03 [wiki] [[Q]] https://esolangs.org/w/index.php?diff=46489&oldid=46487 * RaHorakhti * (-62) 16:08:04 -!- spiette has quit (Disconnected by services). 16:08:12 -!- spiette_ has changed nick to spiette. 16:11:55 -!- p34k has joined. 16:12:50 -!- haavardp has joined. 16:14:06 -!- shikhin_ has joined. 16:14:28 -!- sewilton_ has joined. 16:15:32 -!- sewilton has quit (Ping timeout: 264 seconds). 16:15:33 -!- lambdabot has quit (Read error: Connection reset by peer). 16:15:33 -!- zgrep has quit (Ping timeout: 264 seconds). 16:15:34 -!- shikhin has quit (Read error: Connection reset by peer). 16:15:34 -!- Elronnd has quit (Ping timeout: 264 seconds). 16:15:34 -!- haavard has quit (Ping timeout: 264 seconds). 16:15:34 -!- zgrep has joined. 16:15:43 -!- zgrep has quit (Changing host). 16:15:43 -!- zgrep has joined. 16:17:19 -!- sewilton_ has changed nick to sewilton. 16:17:54 -!- Elronnd has joined. 16:18:40 -!- lambdabot has joined. 16:33:33 [wiki] [[Esolang:Policy]] https://esolangs.org/w/index.php?diff=46490&oldid=43620 * Oerjan * (+8) Make it clearer this points to where discussions should happen 16:34:34 -!- augur has joined. 16:47:30 -!- oerjan has quit (Quit: Later). 16:55:25 -!- augur has quit (Remote host closed the connection). 16:56:00 -!- augur has joined. 16:57:40 -!- augur has quit (Read error: Connection reset by peer). 16:58:01 -!- tromp has joined. 16:58:15 -!- augur has joined. 16:58:25 -!- augur has quit (Remote host closed the connection). 17:02:24 -!- tromp has quit (Ping timeout: 246 seconds). 17:25:50 -!- AnotherTest has joined. 17:29:00 -!- Sprocklem has quit (Ping timeout: 246 seconds). 17:40:45 -!- Opodeldoc has quit (Ping timeout: 250 seconds). 17:43:34 -!- jaboja has joined. 18:02:36 -!- hppavilion[1] has joined. 18:11:04 -!- earendel has joined. 18:20:55 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:22:47 -!- spiette has quit (Ping timeout: 250 seconds). 18:23:25 -!- spiette has joined. 18:24:11 -!- Opodeldoc has joined. 18:50:34 -!- zadock has joined. 19:05:26 -!- hppavilion[1] has joined. 19:10:23 tswett: Greetings 19:10:30 @messages-lud 19:10:30 tswett said 3h 25m 30s ago: I never log off (if I can help it). 19:12:56 -!- augur has joined. 19:18:40 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 19:30:31 -!- hppavilion[1] has joined. 19:33:44 Are there any x/// expressions other than s and y? 19:35:02 tswett? 19:37:51 -!- augur has quit (Ping timeout: 276 seconds). 19:38:49 -!- augur has joined. 19:41:18 -!- Sprocklem has joined. 20:04:19 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:11:28 -!- Nithogg has joined. 20:11:33 -!- shikhin_ has changed nick to shikhin. 20:11:59 -!- jaboja has quit (Ping timeout: 250 seconds). 20:16:04 -!- jaboja has joined. 20:20:21 -!- Sprocklem has quit (Ping timeout: 244 seconds). 20:22:27 -!- jaboja has quit (Ping timeout: 248 seconds). 20:27:06 Did anyone else just have the whole ban list dumped to channel? 20:27:14 And by just, I mean two hours ago? 20:27:33 Maybe irssi's just being weird 20:30:22 -!- lambda-11235 has quit (Quit: Bye). 20:30:56 prooftechnique: you probably sent /mode #esoteric +b 20:31:45 I wonder why I'd have done that :| 20:32:00 My whole status buffer was full of /who lists at that time, too 20:32:21 I hope my poor ZNC didn't have a seizure 20:35:11 -!- jaboja has joined. 20:36:39 -!- hppavilion[1] has joined. 20:39:29 -!- jaboja has quit (Ping timeout: 244 seconds). 20:39:58 Now what else I should need to add into my JavaScript Xlib? 20:40:44 zzo38: What does it do? 20:40:50 zzo38: Is Xlib for X? 20:40:54 Would it need a command to draw a stack of pictures? 20:40:56 (The windowing system)? 20:41:00 Yes Xlib for X window system 20:41:11 Meh I HATE pulseaudio. 20:41:22 zzo38: Is this on the desktop for JS, or is it an emulator that runs in-browser? 20:41:37 It is a JavaScript program to access Xlib (and also the C program) 20:41:42 hppavilion[1]: It is for use with Node.js 20:41:45 zzo38: OK 20:41:54 zzo38: What do you mean by "A stack of pictures"? 20:42:01 zzo38: Do you mean like save() and restore()? 20:42:45 There is a function X.Drawable.prototype.drawPicture but I would mean, a command to draw multiple pictures in the same place all at once (if it doesn't have it you can still just use drawPicture multiple times, but as a single command might be more efficient?) 20:43:01 Just wasted 3 hours of my life on figuring out a) that I need it b) how to start it (it was stumbling over a leftover socket file in /var/run... but of course I got a descriptive error message: bind(): socket already in use) and c) why I need it... to play videos with sound in Firefox. 20:43:51 (the answer to c) is that the HTML5 stuff uses libpulse to play audio, which will only talk to a pulseaudio server) 20:44:17 (but apparently isn't smart enough to start one when none is running) 20:44:52 I do not really like pulseaudio either, although it is already set up in my computer anyways so I do not need to do anything. 20:45:15 to me it's cruft that solves a non-problem 20:45:25 int-e: I agree 20:45:26 (playing sound from different sources simultaneously) 20:45:42 Other commands I would be planning to add are X.Drawable.prototype.pushGC, X.Drawable.prototype.popGC, and X.Drawable.prototype.drawMacro 20:56:13 ARGH! In HTML webpages, why don't people use images with alt text versus images with empty alt text versus background images the semantically right way? 20:56:21 It's just so stupid. 20:57:16 `wisdom 20:57:21 ​ /The final frontier. 20:58:05 wisdom 20:58:07 scow 20:58:13 `wisdom 20:58:13 `wisdom 20:58:14 `wisdom 20:58:40 irc/IRC is short for "Internet Relay Chat". It is named so because all the servers are constructed from relays. 20:58:40 btw/btw is short for "bury the weasel" 20:58:41 cpressey/cpressey invented the esolang, the pipe cleaner and the electrical mousse. 20:59:13 would mousse be a sharp rodent? 21:00:57 `? mousse 21:00:59 mousse? ¯\(°​_o)/¯ 21:02:40 And ratatouille could be a stuttering rodent. 21:07:57 -!- augur has quit (Remote host closed the connection). 21:09:12 They say dash (in Magic: the Gathering) can only go on creatures, but it is untrue; cards could be made that are not creatures and have dash (as long as it is not an instant, sorcery, or land). The haste is mostly meaningless in such case but still has it and in some cases can be used. 21:11:56 (The same is true of megamorph, although the +1/+1 counter in such case would ordinarily do nothing, when combined with undying, graft, and/or modular, it can do such thing even though it is not a creature.) 21:13:57 Exploit also does not have to go only on creatures 21:15:37 zzo38: Is that also true of super haste? 21:18:28 I suppose so, although it is irrelevant since super haste is not a standard rule for the normal game and is only for Un-cards. 21:19:44 If a card isn't a creature can you still put it on the battlefield with super haste? 21:20:48 There is no such rule as super haste. 21:22:23 http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=74324 has it. 21:22:41 Do you refuse to play with Un-cards? 21:24:49 Not necessarily, although people would need to agree a different kind of game, sometimes it is necessary to argue about the rules, etc. 21:25:26 Necessary to argue about the rules? 21:25:38 That makes it completely different from a regular Magic: The Gathering game. 21:25:43 Consider a card such as: {3} Artifact ;; Undying ;; Megamorph {1} ;; {T}, Sacrifice ~: Target player gains 2 life. 21:25:50 shachaf: I know! 21:25:59 But I said "sometimes"! 21:28:58 -!- zadock has quit (Quit: Leaving). 21:29:09 For example, my own ideas about how R&D's Secret Lair is working is different than what other people say (and they are also different from each other), but there is no rule to make such an effect work, so you have to argue about it. 21:30:58 (My own opinion that the old Lightning Bolt with R&D's Secret Lair allows you to target any player, object, or zone; if the object is not a permanent, or is a permanent that isn't a creature or planeswalker, or is a zone other than the battlefield, nothing happens; if the target is the battlefield, each non-token creature and non-token planeswalker (including ones with shroud/hexproof, but not if it has protection from red) takes 3 points of damag 21:33:58 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:34:43 -!- Sprocklem has joined. 21:35:34 -!- zzo38 has quit (Remote host closed the connection). 21:36:06 -!- hppavilion[1] has joined. 21:37:22 relation 21:37:26 Whoops 21:37:29 Meant to ctrl+f 21:42:39 *reads about the ending phase* ... could there be an infinite loop of cleanup steps... 21:44:40 -!- J_Arcane has joined. 21:47:50 -!- ais523 has joined. 21:48:51 tswett: Ugh, trying to figure out BrainProof 21:58:36 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:16:16 -!- `^_^v has quit (Quit: This computer has gone to sleep). 22:20:44 -!- spiette has quit (Ping timeout: 244 seconds). 22:25:48 -!- jaboja has joined. 22:26:19 -!- Sprocklem has quit (Quit: [). 22:30:27 -!- jaboja has quit (Ping timeout: 248 seconds). 22:36:55 -!- spiette has joined. 22:45:42 -!- Opodeldoc has quit (Quit: Leaving). 22:53:03 -!- oerjan has joined. 22:59:36 -!- spiette has quit (Quit: :qa!). 23:00:19 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 23:02:42 -!- lambda-11235 has joined. 23:07:44 `? mousse 23:07:50 mousse? ¯\(°​_o)/¯ 23:08:32 would mousse be a sharp rodent? <-- i'm not quite sure where you get "sharp" twh 23:09:23 oh hm 23:09:50 -!- boily has joined. 23:10:21 I guess you got it, but anyway: a mousssse would be super extra sharp. 23:10:43 int-ello. sharp mousse? 23:11:08 check the logss 23:12:40 `learn A mousse is a sharp rodent. "A mousse once bit my sister." 23:12:49 I logsschecked. I still don't grok it. 23:12:49 Learned 'mousse': A mousse is a sharp rodent. "A mousse once bit my sister." 23:12:56 i hope the quote is accurate twh 23:13:05 hellørjan. you seem to be having understood it. 23:13:24 it's a pun on ß, often written "ss". 23:14:05 it's really just an s with a scarf 23:14:23 I'll readily admit that it wasn't very inspired 23:14:34 * boily lightly thwacks int-e 23:14:38 0.3 shachafs. 23:14:48 `? ß 23:14:50 ​ß? ¯\(°​_o)/¯ 23:14:59 `learn ß is not a beta. 23:15:02 Learned 'ß': ß is not a beta. 23:15:08 darn 23:16:16 `learn_append ß It's a "scharfes S", aka s with a scarf. 23:16:21 Learned 'ß': ß is not a beta. It's a "scharfes S", aka s with a scarf. 23:16:49 Err... with a scharf. 23:17:06 with a schacharf. 23:17:14 int-e: also, i didn't actually get it, i just got a different idea. 23:17:16 Would omegpsi be a co-alphabet? 23:17:34 int-e: i got it hth 23:17:58 shachaf: thanks, always a pleasure to drag people down to my level 23:18:10 zgrep: no, we have to consider the sk -> sch sound change in german hth 23:18:21 Ah. 23:18:43 schlerosis? 23:19:17 int-e: what's an omegpsi? 23:19:26 I do not Deutsch sprechen. 23:20:15 boily: just musing about the etymology of "alphabet" 23:20:32 boily: I mean I don't even know what a co-alphabet would be. 23:20:44 coal phab et al. 23:21:12 shachaf: it may be a little older than the borrowing of that medical term hth 23:21:34 int-e: oh. makes sense. tdh 23:22:11 moi neither, je speake not le Deutsch. 23:22:12 boily: hoily 23:22:17 shachaf: hellochaf. 23:22:23 `? ratatouille 23:22:26 ratatouille? ¯\(°​_o)/¯ 23:22:30 eye of newt and toe of frog / wing of bat and pooch of dog 23:22:33 hmm 23:22:36 eye of newt and toe of frog / wool of bat and pooch of dog 23:23:01 `learn A ratatouille is a stuttering rodent. 23:23:05 Learned 'ratatouille': A ratatouille is a stuttering rodent. 23:23:34 int-e: you can add your own wisdom you know hth 23:24:04 In the game Lost Vikings 2, you collect a wing of bat to give to the witch to bring you home. 23:24:29 `? til 23:24:32 TIL that TIL means Today I Learned 23:24:35 wait. you give a wing to bring back a bat??? 23:25:01 til is also the most confusingest Norwegian word. 23:25:24 it's cognate to german "Ziel", which means goal, iirc 23:25:43 but somehow it got press ganged into a preposition. 23:26:17 `translatefromto en no wisdom/til | sponge wisdom/til 23:26:23 that doesn't even make sense 23:26:31 (for a while it thus governed the genitive case, while our prepositions still did that sort of thing.) 23:26:55 and a few stock phrases still do that. "til sjøs" = at sea 23:27:13 «tille cheusse». 23:27:15 or to the sea 23:27:24 it can mean both, i think. 23:27:28 or wait 23:27:35 `? norwegian 23:27:37 norwegian? ¯\(°​_o)/¯ 23:29:13 i may be confusing it with "til lands og til vanns" (a stock phrased used about a magical boat in a fairy tale that could sail on the ground or on the water, or even fly) 23:29:17 *phrase 23:29:43 `? shachaf 23:29:44 shachaf sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. 23:29:57 spr/o som selleri 23:30:07 spr(/) 23:30:08 oh and "til fots", by foot 23:30:28 oerjan: have you considered that english is simpler than norwegian 23:30:29 shachaf: your wisdom lacks pooches hth 23:30:46 boily; then it reflects me 23:31:07 : 23:33:00 «tille cheusse». <-- that's pretty accurate pronunciationwise, i think 23:33:44 -!- Lord_of_Life has quit (Excess Flood). 23:33:52 shachaf: i think that's debatable. 23:34:32 the spelling isn't quite as insane as english, anyway 23:34:49 although still not exactly a bijection 23:35:24 the genders don't help, i guess. otoh we have less verb inflection. 23:35:37 -!- Lord_of_Life has joined. 23:36:10 (no pesky progressive, and no person/number suffixes) 23:36:29 oh my god, your language suck so hard! 23:36:32 it's not even useful 23:36:37 delete irc please 23:36:51 `welcome nzt-fish 23:36:52 nzt-fish: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 23:37:15 oerjan: I'm homosexual. Is that okay? 23:37:28 nzt-fish: you seem confused. and yes, that's okay. 23:37:45 I suck a lot of dicks. If you ban me, you're a homophobe 23:38:03 but trolling is not okay. 23:38:16 indeed. 23:38:27 oerjan: What about when you do it? 23:38:41 shachaf: i mean boring trolling of course, duh 23:38:45 Oh. 23:38:50 Sure, no one wants that. 23:40:13 -!- hppavilion[1] has joined. 23:40:54 hppavellon[1]. 23:40:58 @metar LOWI 23:40:58 LOWI 022320Z AUTO VRB02KT 9999 FEW007 BKN010 02/01 Q1003 23:41:11 @@ @@ (@where weather) LOWI 23:41:12 LOWI 022320Z AUTO VRB02KT 9999 FEW007 BKN010 02/01 Q1003 23:41:15 much better tdh 23:41:27 `learn_append shachaf The unit of bad punnery is named after him. 23:41:31 Learned 'shachaf': shachaf sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. The unit of bad punnery is named after him. 23:41:38 ahoily, boily 23:41:46 oerjan: Is there a wisdom entry for the unit of bad punnery? 23:42:02 oerjan: Hey, you never made the temperature thing for lambdabot work. 23:42:17 -!- Phantom_Hoover has joined. 23:42:22 shachaf: well given that the unit is named "shachaf"... 23:42:38 `? schaf 23:42:40 schaf? ¯\(°​_o)/¯ 23:42:51 Oh, I thought it was "shachafs". 23:43:28 `` cd wisdom; for f in *; do [ -e "$f"s ] && echo "$f"; done 23:43:29 log \ math \ monad \ monoid \ the u 23:43:32 `? log 23:43:34 I think you might mean !logs 23:43:35 `? logs 23:43:37 ​I think you might mean !logs 23:43:40 `? math 23:43:42 Math class is tough! 23:43:43 `? maths 23:43:44 Maths stands for Mathematical Anti-Telharsic Harfatum Septomin. 23:43:46 shachaf: hm maybe 23:43:49 `? monad 23:43:50 Monads are just monoids in the category of endofunctors. 23:43:53 `? monads 23:43:54 Monads are just free monad monad monad algebras. 23:43:58 `? the u 23:44:00 The U are a very mad people. 23:44:01 `? the us 23:44:03 The US is the country opposed to the THEM. 23:44:22 that's way too accurate 23:44:31 oerjan: it's shachafs hth 23:44:37 shachaf: well it would 1 shachaf, anyway. 23:44:55 oerjan: no, it's like flops 23:44:57 1 flops 23:45:00 10 flops 23:45:05 boily: that doesn't sound like a proper SI unit 23:45:12 you don't pluralize those 23:45:16 shachaf isn't very standard hth 23:45:44 or wait, maybe english does 23:45:56 is it 2.3 newton or newtons 23:45:58 `le/rn schaf/"Schaf" is german for "sheep". There is absolutely no relation to shachaf. 23:46:03 Learned «schaf» 23:46:13 int-e: why didn't you use `learn tdnh hth 23:46:22 shachaf: because of the quotes 23:47:02 `learn " is a double quote, added to wisdom as a test. 23:47:08 Learned '"': " is a double quote, added to wisdom as a test. 23:47:12 `revert 23:47:13 Oh, I thought `learn handled those. 23:47:18 I guess not. 23:47:20 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 23:47:27 oerjan: See, that's why no one trusts `learn. 23:47:50 In the category of numbers, what are the morphisms? Does such a category even make sense (I have a feeling it might not)? 23:48:07 That's up to you. 23:48:16 shachaf: Me? 23:48:27 There are lots of categories where the objects are numbers, but you don't specify a category by specifying the objects. 23:48:31 int-e: you cannot use `revert to remove files hth 23:48:37 There are also categories where the arrows are numbers. 23:48:39 `? " 23:48:40 ​"? ¯\(°​_o)/¯ 23:48:45 numbers are scalars, AKA 1×1 matrices, so you're in the Mat category. 23:48:47 shachaf: Thought that might be the case 23:48:51 `touch test2 23:48:53 No output. 23:48:54 boily: Good point 23:48:55 `cat test2 23:48:56 No output. 23:48:57 But you need to talk about which one you're talking about. 23:49:00 `? " 23:49:02 ​" is a double quote, added to wisdom as a test. 23:49:06 shachaf: hth 23:49:15 `rm wisdom/" 23:49:15 no op in here? 23:49:16 shachaf: What are some examples of common morphisms in categories with numbers as the elements? 23:49:17 pah 23:49:18 No output. 23:49:25 hppavilion[1]: That's up to you. 23:49:31 nzt-fish: it's up to you to guess who's a chanop. 23:49:36 And while we're at it, what about where the arrows are numbers 23:49:38 int-e: it's particularly insidious in that it seems to work until the next repository change (iiuc) 23:49:38 hppavilion[1]: I'll give you three examples and then you go figure them out and tell me things about them. 23:49:53 All of these categories have natural numbers as objects. 23:49:54 `rm test2 23:49:55 nzt-fish: We have ops, but they have to make ChanServ op themselves to be ops 23:49:56 No output. 23:50:00 nzt-fish: THen they deop 23:50:03 i'm a chanop and so is my wife 23:50:09 or wait, was that spartacus 23:50:13 A: There's an arrow between X and Y iff X <= Y 23:50:15 okay, how about this 23:50:28 * nzt-fish pulls out his huge donger and dicks every single one of you, you and you and you. 23:50:31 B: An arrow between N and M is an NxM matrix. Composition is matrix multiplcation. 23:50:45 nzt-fish: surely you can be more creative than that 23:50:50 oerjan: can I be op momentarily and mapole the fish into oblivion? pretty please? 23:50:57 oerjan: See, that's why no one trusts `learn. <-- well i added documentation. 23:50:58 C: An arrow : N -> M is an M-tuple of numbers smaller than N. Composition is pointwise indexing. 23:51:01 int-e: yes, but it's enough to get banned. now where are the ops 23:51:06 `learn 23:51:07 ​/hackenv/bin/learn: line 3: wisdom/: Is a directory \ Learned '': 23:51:16 shachaf: heh, nice one :D 23:51:31 boily: ? 23:51:50 did you just `learn the empty file with an empty name? 23:51:53 hppavilion[1]: Now go figure out what those categories are and tell oerjan when you're done. 23:51:56 or am I grossly mistaken... 23:51:59 I was trying to see oerjan's documentation. 23:52:12 shachaf: Yep, working on that 23:52:13 `le/rn /foo 23:52:14 No output. 23:52:32 `` le/rn '/foo'; echo $? 23:52:32 1 23:52:38 I guess it checks that. 23:53:09 * boily rolls a d20 for a charm/diplomacy check against oerjan 23:53:30 I got 18. 23:53:54 @dice d20 23:53:54 int-e: 1 23:53:57 hah! 23:54:03 shachaf: What kind of matrix is the NxM matrix? 23:54:23 shachaf: As in, is it N^nxm? 23:54:26 Or R^nxm 23:54:31 Or I^nxm 23:54:36 so what would a critical charm/diplomacy failure look like... 23:54:43 int-e fumbles, grips hppavilion[1] by the arm and they both tumble down a sudden cliff that materialized out of nowhere 23:55:00 a, straight to hell? convenient... 23:55:17 hppavilion[1]: Let's say reals. 23:55:24 shachaf: OK 23:55:37 boily: personally I was thinking of bursting mirrors 23:55:42 -!- ChanServ has set channel mode: +o boily. 23:55:52 thoerjan ^^ 23:55:57 got to respect the dice 23:56:20 d20 23:56:21 shachaf: 18 23:56:25 oh man 23:56:37 damn, that contextual match is still there? 23:56:42 -!- boily has set channel mode: +b *!~nzt@unaffiliated/nzt. 23:56:44 -!- boily has kicked nzt-fish *THWACK* too doo doo doo doo doooo ♪ IT'S A HOMERUN!. 23:56:50 -!- boily has set channel mode: -o boily. 23:57:51 hppavilion[1]: The real point of this exercise is to realize that the objects of a category are pretty irrelevant. 23:58:08 shachaf: Yes, but now I'm invested 23:58:32 That third category is a very obscure one you've probably never heard of. 23:58:38 so you can have completely pointless categories and the theory will still work just as well as before 23:58:52 It has the property that products are products and sums are sums. 23:59:08 You can probably figure out some more properties. 23:59:11 `? learn 23:59:13 ​`learn creates a wisdom entry and tries to guess which word is the key. Syntax (case insensitive): `learn [a|an|the] [s][punctuation] [...] 2016-03-03: 00:00:08 shachaf: I can't find what pointwise indexing means 00:00:27 I'm confused by the [punctuation] 00:01:06 and [] is somewhat overloaded. 00:01:08 `? nit 00:01:10 nit? ¯\(°​_o)/¯ 00:01:32 `learn Nits are there to be picked. 00:01:35 Learned 'nit': Nits are there to be picked. 00:02:35 -!- p34k has quit. 00:03:37 nits are louse eggs hth 00:03:39 int-e: um it means it's optional? 00:04:13 oerjan: [...] 00:04:26 OKAY 00:04:34 well, technically that's also optional hth 00:04:45 o-kay 00:05:06 `? optional 00:05:07 optional? ¯\(°​_o)/¯ 00:05:09 `learn optional. 00:05:13 Learned 'optional.': optional. 00:05:19 oops 00:05:31 `` cd wisdom; grep '\.\.\.' * 00:05:32 a small bug 00:05:42 arothmorphise:arothmorphise ... antormo... antrohm... ant... oh bugger. This should go in the `misspellings of antrhrop... atnhro...' entry. \ code:[11,11,11,15,15,23,12],[5,5,5,3,53,45,16,26,00,20,15,16,22,25,45,91,32,11,15,27,06,01,11,01,47,22,30,13,43,21,11,13,29,61,65,17,19,12,28,17,11,01,23,20,16,20,81,18,32,25,58,22.,1985,10.301350435,1555466 00:05:44 `cat bin/learn 00:05:45 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "Learned '$topic': $1" 00:06:23 oh right, the space is not optional if it's to remove any of the rest 00:06:24 `` cd wisdom; grep -l '\.\.\.' * 00:06:25 arothmorphise \ code \ hthmonoid \ grep: le: Is a directory \ learn \ `learn \ northumberland \ grep: ¯\(°_o): Is a directory \ grep: ¯\(°​_o): Is a directory \ \oren\ \ procrastination \ qdb \ quoteformat \ remorse 00:06:34 `rm wisdom/optional. 00:06:36 No output. 00:06:43 `? northumberland 00:06:44 Northumberland may be today a sparsely populated country... but SOON! THE NORTHUMBRAINS SHALL RISE! 00:07:22 `culprits wisdom/northumberland 00:07:26 oerjan elliott Bike FreeFull Taneb 00:07:33 `? bike 00:07:34 Bike is from Luxembourg. 00:08:29 hppavilion[1]: It means each element in the tuple gets indexed on its own. 00:08:49 shachaf: OK, and what does that mean precisely? 00:09:07 shachaf: https://en.wikipedia.org/wiki/Tuple does not speak of "indexing" 00:09:11 hppavilion[1]: Try figuring out what indexing would mean and I'll tell you whether it's right. 00:09:16 @troll 5d6 00:09:16 int-e: 21 00:09:24 Well, this is indexing in the usual sense. 00:09:39 (x,y,z)[0] = x and so on 00:09:50 shachaf: Do you add the values? 00:09:57 xD 00:10:19 shachaf: So... hm... OH! Is it at all like ~ in INTERCAL? 00:10:27 The SELECT operator? 00:10:28 I don't know INTERCAL. 00:10:37 *reads about the ending phase* ... could there be an infinite loop of cleanup steps... <-- you should reask that with ais523 around hth 00:10:54 probably 00:10:55 I don't think it's that. 00:11:02 shachaf: x~y is all the bits of x for which the corresponding bit in y is 1, right-justified 00:11:12 (Or maybe I got which side is which messed up) 00:11:13 shachaf: it's ALL CAPS, what else could it be... I mean now that COBOL is dead? 00:11:17 * int-e runs. 00:11:21 int-e: there can be an infinite loop of cleanup steps, yes 00:11:28 shachaf: Oh :/ 00:11:35 it's a little hard to pull off because cards are typically designed to stop things triggering then 00:11:52 help when did this turn into a mtg conversation 00:12:06 shachaf: oerjan looking through logs 00:12:10 shachaf: What I mean is the compostion of e.g. (17, 92, 12) and (1, 2) equal to (17, 92)? 00:12:24 heys523 00:12:48 hppavilion[1]: What are the domains and codomains of those arrows? 00:13:01 shachaf: They're numbers 00:13:06 Which numbers? 00:13:07 shachaf: Natural numbers 00:13:14 Hm... 00:13:19 You have to choose. 00:13:28 shachaf: They're natural numbers 00:13:45 hppavilion[1]: what shachaf means is that an arrow is not determined by its tuple alone 00:13:48 shachaf: Or do you mean which numbers in particular for those arrows? 00:14:00 oerjan: Ah 00:14:28 An arrow : N -> M is an N-tuple of numbers < M 00:14:30 well, graphs are categories 00:14:32 -!- sphinxo has joined. 00:14:47 (no!) 00:14:47 So (17, 92, 12) : 3 -> M 00:14:51 shachaf: Ah, I think I transcribed it to my notes wrong 00:14:53 But M could be 100 or 1000 00:14:56 reflexive, transitive relations are 00:15:05 `relcome sphinxo 00:15:07 ​sphinxo: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 00:15:12 (that's the example that I wanted) 00:15:36 shachaf: Oh, so the arrows map numbers to all numbers greater than them, right 00:15:40 boily: thanks 00:15:54 ? 00:15:58 So what's the bees knees in esoteric langs? 00:16:23 sphinxo: in terms of newly popular? best-known? 00:16:40 ais523: newly popular 00:16:40 sphinxo: well your puns seem to be up to par... welcome! 00:17:06 hmm, not sure if any esolangs have really caught on since Three Star Programmer 00:17:11 int-e: whoa whoa whoa, when did this turn into a linear logic conversation 00:17:27 shachaf: you lost me 00:17:41 int-e: wait, what pun 00:17:46 oh 00:17:47 oerjan: the bees one 00:18:17 sphinxo: One that isn't popular- but be used by at least one person in the world someday, if I'm being generous- is a proof assistant I myself made called Thoof 00:18:24 i didn't notice it was a pun 00:18:37 sphinxo: Based on Thue, which is a great language you should check out if you haven't already 00:18:48 oerjan: flew right over your head, eh... 00:19:05 shachaf: Wait, my brain is turning on now 00:19:17 hppavilion[1]: is it on github? 00:19:28 sphinxo: Yes, I'll link you 00:19:55 sphinxo: But there are no published docs yet; however, I can publish the as-of-yet incomplete tutorial if you like 00:19:56 xD 00:20:04 hppavilion[1]: Oh wait I think i've found it, in python right? 00:20:20 Oh, I thought you were talking about hppavilion[1]'s brain. 00:20:22 sphinxo: Yep 00:20:27 The joke seemed a little drawn out. 00:20:35 int-e: well, bee's knees did fit there without having to reinterpret it. 00:21:20 shachaf: Gah! Your and sphinxo's nicks arethe same length and both start with s! 00:21:26 Now I'll always be confused! 00:21:36 you're already always confused hth 00:21:41 shachaf: Oh right 00:22:11 boily: have you figured out the mysterious category twh 00:22:34 hppavilion[1]: a single starting letter seems a bit little to be confusing. 00:22:41 which mysterious category? 00:22:50 Oh, apparently this category has a name. 00:22:50 oerjan: Yeah, but it is 00:23:08 shachaf: isn't it just a subcategory of Set 00:23:13 In the spirit of self promotion, i'd like to present one of my first forays into the world of #esoteric 00:23:24 ya standard bf compiler 00:23:27 written in ocaml 00:23:33 generating java bytecode 00:24:10 oerjan: yes hth 00:25:46 -!- sphinxo has left ("WeeChat 1.4"). 00:26:13 -!- sphinxo has joined. 00:27:32 git.io/v2yj9 00:28:02 sphinxo: weird mix of languages :-) 00:28:06 (in here, that's probably a good thing) 00:28:23 makes sense though, ocaml's good at compilers, jvm is probably the most portable asm 00:28:29 ais523: Do you understand par in linear logic? TWH 00:28:40 -!- tromp has joined. 00:28:50 shachaf: what do you mean by par? I fear the answer is no 00:28:56 I understand the subsets of linear logic I use in my work 00:28:57 The upside-down ampersand. 00:29:03 ah, in that case no 00:29:05 Also smetimes written # 00:29:14 ais523: How about _|_? 00:29:15 ais523: it was my first time doing ocaml actually 00:29:22 Or ?A the exponential thing? 00:29:26 but I didn't really like it and went back to haskell 00:29:45 shachaf: _|_ is just "arbitrary false statement" in most logics 00:29:56 sphinxo: Oh, that's where I remember you from. 00:30:02 I sort-of have a vague idea of how ? works but not enough to put it into words 00:30:22 ais523: Well, there's _|_ and there's 0 00:30:34 _|_ is the identity of # 00:30:46 ah right 00:30:52 linear logic sort-of has SCI syndrome 00:30:55 shachaf: yeah i'm the one generally asking the silly questions 00:30:56 but possibly even worse 00:31:10 Spinal Cord Injury? 00:31:32 (SCI is an affine logic, which has the problem that ('a * 'b) -> 'c and 'a -> ('b -> 'c) aren't isomorphic and most language constructs need to work both ways round) 00:31:36 syntactic control of interference 00:31:45 This game semantics interpretation made the most sense to me. 00:31:57 ais523: Oh, it has both an internal hom and a product but they're not adjoint? 00:31:59 That's interesting. 00:32:13 The product has no right adjoint and the internal hom has no left adjoint? 00:32:19 indeed 00:32:33 it causes utter chaos at the category theory level 00:32:41 in terms of programming it, it's only mildly annoying 00:32:47 y'all played tis-100? I imagine that'd be right up you guys/girls boats 00:33:05 ais523: Sounds sort of reasonable. Maybe. 00:33:06 annoying enough, though, that SCI errors are something that I have to keep correcting in other people's code 00:33:34 ais523: Anyway in this game semantics interpretation, when you have A#B, you run two games in parallel, one for A and one for B. 00:33:40 quite a bit of work on my thesis was trying to create a more categorically sensible SCI 00:33:40 And you only have to win one of them. 00:33:59 So for instance A # ~A is always true, because if you get a refutation on one side you can use it on the other side. 00:34:07 it turns out that it has hidden intersection types 00:34:18 ais523: Hmm, I should read your thesis. 00:34:23 shachaf: hmm, that makes me think of a programming language construct 00:34:35 in which you give two terms, it returns one of its argument 00:34:51 but it's guaranteed to return something other than bottom unless both arguments are bottom 00:35:10 * ais523 wonders if the Haskell people would consider that pure 00:36:35 ais523: Haskell people probably want a guarantee that they're equal unless they're bottom. 00:36:42 https://wiki.haskell.org/Unamb 00:36:50 good name for it :-) 00:37:14 sphinxo: I played it. It's neat. 00:37:16 now I'm wondering if it's useful 00:37:19 I guess you could do sorting with it 00:37:35 Sure it's useful. 00:37:39 one argument an O(n log n) worst case, the other an O(n) best case that sometimes blows up 00:37:47 http://conal.net/blog/tag/unamb 00:39:39 -!- tromp has quit (Remote host closed the connection). 00:43:23 ais523: Oh, A # B is also ~(~A x ~B) 00:45:51 -!- heroux has quit (Ping timeout: 250 seconds). 00:55:27 -!- sphinxo has quit (Quit: WeeChat 1.4). 01:01:45 -!- heroux has joined. 01:02:54 -!- llue has quit (Quit: That's what she said). 01:03:03 -!- lleu has joined. 01:07:37 mwah ah ah. Tiamat is dead! 01:08:25 dragonskin cloak is miiiiine! 01:09:05 -!- tromp has joined. 01:11:40 -!- carado has quit (Quit: Leaving). 01:15:28 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:15:42 -!- mad has joined. 01:16:16 will someone explain this to me: why some programmers use C but have an aversion to C++ 01:17:02 (especially on non-embedded platforms) 01:19:32 Because the things that C++ is good at, C is about as good at, and the things that C++ does better than C, other languages do significantly better. So, C++ is a giant pile of complexity with minimal benefits. 01:21:12 er, no, there is one class of stuff where C doesn't have the tools (like, you can do it but it's cumbersome), and java/C#/etc can't do it because of the mandatory garbage collector 01:21:40 once you have lots of dynamic sized stuff C++ has a large advantage over C 01:22:24 You know that there's languages out there besides C-family languages, Java-family languages, and P-family languages, right? 01:22:46 -!- lynn has quit (Ping timeout: 252 seconds). 01:23:01 this is why C++ is popular for making games (too much dynamic sized stuff for C, can't use java/C# because garbage collector creates lags) 01:23:06 P-family lanugages? 01:23:18 ais523: Gregor's joking name for Perl, Python, Ruby, etc. 01:23:26 ah right 01:23:43 pikhq: what other language category is there? functional languages? 01:24:37 the other languages I can think of generally aren't particularly fast 01:25:26 https://en.wikipedia.org/wiki/Template:Programming_paradigms *cough* 01:25:55 There's more programming language *categories* than you think there are languages, it sounds like. :) 01:26:16 who's gregor? 01:26:42 izabera: Gregor Richards, one of the channel members who's not been that active of late. 01:26:54 He's still here though 01:26:58 Gregor: Isn't that right? 01:27:05 pikhq : that list is a split by paradigm, not by speed grade 01:27:34 mad: C++ ain't exactly "fast" in idiomatic use... 01:27:57 I mean, sure, you can write fast C++, but once you're using the STL you've abandoned all hope. 01:28:06 izabera: Gregor's most famous for writing EgoBot and HackEgo 01:28:12 `? Gregor 01:28:17 pikhq : not if you're using STL right 01:28:20 I thought he was most famous for the hats. 01:28:24 Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible. 01:28:28 oh, he wrote lagbot 01:28:30 neato 01:28:39 it wasn't always laggy 01:28:43 ie basically as a replacement for arrays [] except it manages the size 01:28:46 but then he got cheap 01:28:58 Also, I wouldn't take game developers as a good example of "how to write programs"... 01:29:09 oerjan: if you want a cheap bot, see glogbackup (which is also Gregor's) 01:29:59 Unmaintainable piles of shit that are written by the sort of people who are willing to accept 80 hour workweeks are par for the course. 01:30:37 that's a rant i've never heard 01:31:02 what's the problem with working too many hours a week? 01:31:04 -!- Sgeo has quit (Ping timeout: 260 seconds). 01:31:42 Um, humans are kinda bad at being productive that long. Especially at mentally intense tasks. 01:32:17 if garbage collectors are ruled out you're left with, er, basically: C, C++, assembler, delphi, rust, and objective C (and I guess cobol and ada) 01:32:24 as far as I can think of 01:32:38 ... Have you never even heard of Forth? 01:32:44 ok and forth 01:32:53 also fortran, i think 01:32:56 Or Tcl, for that matter? 01:32:59 ok and fortran 01:33:06 * izabera adds bash to the list of non-garbage-collected languages 01:33:08 Hell, and Python. 01:33:29 how is python not garbage collected 01:33:35 Python is reference counted. 01:33:50 also it's dynamic typed which is a much larger speed disadvantage 01:33:53 reference counters fall into a similar category to garbage collectors to me 01:34:00 they have noticeable overhead, often more 01:34:12 the difference being that it's predictable overhead that always happens in the same places 01:34:12 ais523: They're automatic memory management, but GC is a different technique. 01:34:18 pikhq: yes 01:34:27 they are not the same, but they have similar effects on a program 01:34:28 Ah, "similar". 01:34:28 ""The standard C implementation of Python uses reference counting to detect inaccessible objects, and a separate mechanism to collect reference cycles, periodically executing a cycle detection algorithm which looks for inaccessible cycles and deletes the objects involved."" 01:34:33 Yes, not the same but similar. 01:35:37 reference counting doesn't cause 100ms pauses in your app like the java GC does 01:36:39 Does Java not have a way of using a more interactive-use-appropriate GC? 01:36:56 you can make hints to Java about when a good time to GC would be 01:37:10 ais523 : in a video game, there's never a good time 01:37:14 but a) it doesn't have to respect them, b) you can't delay GC, only make it happen earlier (and hopefully not again for a while) 01:37:18 mad: loading screens 01:37:23 great time to GC 01:37:31 tswett: Hi yet? 01:37:38 if you have the memory (and sometimes you do, but not always), you can just leak until the next loading screen and catch all the memory up there 01:37:38 if your game has loading screens, yes 01:38:00 very few games don't 01:38:08 mad: Good luck 01:38:14 although in many, they're disguised, or short enough that you don't really register them 01:38:16 Hey there. 01:38:18 mad: Making a loading screen-free game, that is 01:38:22 It happens you caught me at a bad time. 01:38:22 tswett: Yay! 01:38:25 Oh 01:38:26 I have to go to bed now. 01:38:29 s/yay// 01:38:31 even in the disguised/short ones, a 100ms pause isn't noticeable 01:38:32 i 01:38:32 Night, everyone. 01:38:34 Also, if you have a *good enough* GC, you should be able to only pause for short periods of time between frames. 01:39:45 it would still be better to have only ref counting and no GC in that kind of programs though 01:40:19 mad: so if the root of a structure gets freed 01:40:28 you then have a pause while the rest of the structure gets freed recursively 01:40:32 refcounting doesn't remove pauses 01:40:39 simply makes it easier to predict when they'll happen 01:40:56 but (1) other threads keep going 01:41:14 as opposed to GC which has a "stop the world" phase where it pauses every thread 01:41:35 not necessarily, concurrent GCs exist 01:41:39 so chances are the pause will happen on your data loading thread (not your gfx thread) 01:41:39 That's only true of a subset of GCs. 01:42:04 even concurrent GCs do have a "stop the world" phase, it's just much shorter 01:42:13 (if what I've read is correct) 01:42:23 By the same notion, so does malloc because malloc has a mutex. 01:42:59 pikhq: I've managed to deadlock on that mutex before now :-( 01:43:25 let's just say, SDL's situation with timing and concurrency is so bad I've decided to take a look at SFML to see if it's any better 01:43:46 SDL is... not a well-designed library. 01:44:48 yeah SDL is way less good than it should've been 01:46:26 pygame makes SDL sane. 01:47:18 boily: does it prevent it polling every 1ms? 01:48:28 IIRC, I don't think so. 01:48:52 the other thing is that refcounting doesn't have heap compaction 01:48:56 which is a good thing 01:49:22 It's kinda a wash. 01:49:36 (and orthogonal to refcounting, really) 01:50:12 Heap compaction costs when it happens, but means the allocator can spend less time in allocation. 01:50:47 heap compaction on 300megs of data isn't pretty 01:51:04 I've forgotten how to count that low. 01:52:20 like, it's all fine if it's server software and it doesn't matter if the whole app stops for half a second 01:52:33 ... No, it isn't. 01:52:37 then, yes, by all means use java and C# and python and whatnot 01:53:43 If a service pauses for half a second I get paged. 01:58:14 pikhq: If an individual server has a GC pause of 500ms? 01:58:40 shachaf: I exaggerate. 01:58:55 shachaf: But we *do* have SLAs for response time to requests... 02:00:01 I shouldn't talk about details in here anyway. 02:00:27 Hmm, I think I know how to set off pikhq's pager. 02:01:04 Joke's on you, I'm not on call right now 02:01:36 But is your pager thing actually turned off? 02:01:48 Well, no... 02:06:00 -!- andrew_ has joined. 02:06:35 -!- Sgeo has joined. 02:14:48 <\oren\> aaah 02:14:49 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 02:14:54 <\oren\> it's elif 02:15:12 <\oren\> why can't it just also allow else if and elsif? 02:15:27 in python? 02:15:36 <\oren\> yah 02:15:45 probably elif is much used so it is easier to write in that way? 02:15:47 not really sure. 02:16:24 <\oren\> true but it should allow elif, else if and elsif as alternatives 02:16:38 "one way to do that" :p 02:16:49 <\oren\> argh 02:16:53 you want perlthon 02:17:10 * izabera googled it and it's an actual thing 02:17:23 he\\oren\! 02:18:49 <\oren\> hi 02:18:54 -!- mysanthrop has joined. 02:19:27 he hates you 02:19:53 :o 02:20:05 <\oren\> who? 02:20:27 you 02:20:37 All right, and whom? 02:20:40 you 02:20:53 Well, that's rude 02:21:01 yeah 02:21:48 <\oren\> izabera: why do you think I hate him? 02:21:52 <\oren\> `relcome mysanthrop 02:22:12 ​mysanthrop: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 02:22:24 Needs more rainbows 02:23:07 I wonder if I can get mutt working on a jailbroken iPhone 02:23:41 why 02:23:48 -!- j-bot has quit (Ping timeout: 248 seconds). 02:23:48 -!- myname has quit (Ping timeout: 248 seconds). 02:23:48 -!- Alcest has quit (Ping timeout: 248 seconds). 02:23:49 -!- MoALTz has quit (Ping timeout: 248 seconds). 02:23:49 -!- nisstyre_ has quit (Ping timeout: 248 seconds). 02:23:57 Consistent mail experience? 02:23:59 unless your mutt has a much better interface than mine 02:24:27 <\oren\> I just use a ssh app and use alpine 02:24:32 how do C programmers live without std::vector and std::string 02:24:32 you bought an iphone, you clearly care about eye candy 02:24:53 I technically lease an iPhone 02:26:40 <\oren\> mad: i have a bunch of poorly written functions I copy from one project to the next over and over 02:27:06 mad: Easily. 02:27:26 ... Or poorly, if you go by the average results. :P 02:27:32 reallocate arrays every time they change size? 02:27:50 Why would you do that if the std::vector implementation doesn't? 02:28:10 It's not like it's rocket science to have a struct that has "size" and "capacity" separately. 02:28:25 fizzie : true but then you might as well use std::vector 02:28:40 which does that and it can't leak 02:29:25 <\oren\> my functions resize them when they get to each power of two 02:29:57 \oren\ : that's exactly what std::vector does 02:30:09 I don't think array resizing is a major source of memory leaks. 02:30:25 I read this thing that was arguing that powers of two is one of the worst choices you could make. 02:30:26 "new" is your friend if you want to leak memory in C++. ("can't" really is too strong) 02:30:43 Now, powers of three, though. That's the future 02:30:47 well, the point is that std::vector replaces stuff * 02:30:55 stuff * can leak, of course 02:31:06 std::vector can't 02:31:07 C++ does have a couple of resource management idioms that C doesn't support, but it's far from golden anyway 02:31:29 <\oren\> I like std::vector. I *HATE* std::ios[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Ctream 02:31:41 <\oren\> wtf just happends 02:31:51 Maybe it was https://github.com/facebook/folly/blob/master/folly/docs/FBVector.md 02:31:53 iostream is a big raised middle finger to STL 02:32:22 I cannot really understand how can it be possible to have STL and iostream in the *same* standard 02:32:22 int-e : C doesn't have std::vector, that's the real one that's missing and it's a major, major gaping hole 02:32:53 mad: Anyways, frankly if you think that std::vector is your solution to memory management problems you are too unaware of the problems there are to solve to be having this discussion. 02:32:56 lifthrasiir : 80% of the time I simply ignore iostream but use STL anyways 02:32:59 "always non-negative, almost always measurable, frequently significant, sometimes dramatic, and occasionally spectacular" 02:33:17 pikhq : if you need a special case then STL won't cut it true 02:33:54 but in my experience, "variable sized array" is 10x more common than any other memory structure and its omission from C hurts hard 02:33:59 mad: yeah. STL is (within its design constraint) well-designed library, while iostream is an epic fail 02:34:29 It's also by far the easiest data structure to implement, so... 02:34:32 for example, locale is a shit 02:34:36 <\oren\> well, realloc() is basically the equivalent for C 02:34:49 <\oren\> there's no operator renew 02:35:10 pikhq : yeah but you reimplement it so often that it should be a language feature really 02:35:12 anyone who tried to write a new locale with iostream (to be exact, std::codecvt etc.) will understand that 02:35:27 Sure, it'd be a nice addition to libc. 02:35:51 there are, like, 4 features I care about in C++ 02:36:29 std::vector, std::string, std::map, and putting functions in structs/classes for convenience (ie less typing) 02:36:47 That's the same for everyone. Unfortunately, it's a different 4 for each person, and C++ has enough features that each individual human being gets their own set of 4 features. 02:36:53 std::vector is not just a "nice addition", it's a major feature 02:38:00 <\oren\> I just have a function for appending to an array 02:38:03 `? mad 02:38:06 (I suspect that C++ releases new versions to keep up with global population growth) 02:38:08 This wisdom entry was censored for being too accurate. 02:38:27 pikhq : that is true 02:39:08 <\oren\> apparr(char**array,int*size,char*part,int*partz); 02:39:29 https://developer.gnome.org/glib/stable/glib-Arrays.html 02:39:31 realloc() isn't bad 02:39:36 int-e: the mad that was censored isn't the mad that is in the chännel hth. 02:40:03 Ugh, glib. glib makes C++ look *angelic* in commparison. 02:40:19 <\oren\> my function does realloc iff size would increase through a power of two 02:41:04 \oren\ : yeah. I use std::vector for exactly that except with less potential mistakes 02:41:06 <\oren\> I don't remember why partz is passed by pointer 02:41:43 he\\oren\. more pointers, more stars, more sparkliness. 02:41:52 pointers are evil 02:42:06 <\oren\> computers are evil 02:42:14 pikhq: sure but if the objection is that one has to reimplement resizable arrays all the time, that's one of the counterarguments that come to my mind 02:42:26 except pointers that are essentially referrences, those are okay 02:42:27 int-e: Fair enough. :) 02:42:46 <\oren\> mad: isn't that all pointers? 02:42:53 \oren\: I see that you are still fonting ^^ 02:43:06 (nice fraktur btw.) 02:43:09 <\oren\> pointers and references are different words for the same thing 02:43:27 \oren\ : well, basically if its pointing to data owned by some other structure, it's okay 02:44:05 \oren\ : if it's pointing to a memory allocation and you get a leak if the pointer gets overwritten, then it's bad 02:44:36 <\oren\> how's that different from references? 02:45:38 well, c++ references are typically used in function declarations and they refer to some object 02:46:05 you can't use c++ references to do allocation/deallocation so by definition they generally can't be evil 02:46:23 "can't", again. 02:46:28 generally 02:46:29 it's C++ we're talking about. everything can be alignment-shifted. 02:46:40 boily : and then it'll be slow 02:46:51 but that's a rare case 02:46:51 <\oren\> well then what good are they? you need some way to refer to non-stack memory... 02:47:09 If every programmer were as disciplined as that, we'd already be out of work 02:47:13 I bet delete &ref; is valid 02:47:16 -!- nisstyre_ has joined. 02:47:55 \oren\ : easy, when you have a function that returns 2 things, one can be returned as a return value but the other has to be a pointer or reference argument and then the called function will write in it 02:48:05 that's what references are for 02:48:17 they're essentially interchangeable with pointers 02:48:45 <\oren\> that's what I said, they're just a pointer. 02:48:54 internally, c++ references are pointers yes 02:49:02 time to have unevil, functional sleep. 'night all! 02:49:03 basically they're just syntactic sugar 02:49:09 -!- boily has quit (Quit: SELFREFERENTIAL CHICKEN). 02:49:27 int-e : C++ doesn't guard against messing things up badly :D 02:49:40 <\oren\> specifically, a int& is the same as a int*const, but with syntax sugar 02:50:10 <\oren\> allowing you to code as if it's a int 02:50:49 \oren\: and it's much harder to pass in NULL. 02:50:52 basically if there's a way to code something with malloc/free/new/delete, and a way that doesn't involve these, I always go for way #2 02:51:59 If you're not writing a custom malloc implementation every time, are you really doing your job? 02:52:22 the standard malloc goes through the bucket allocator 02:52:31 prooftechnique: I have a word for those people, but it's inappropriate for polite conversation. 02:52:36 for typical uses it does a pretty good job 02:52:44 prooftechnique: If you're writing a custom malloc implementation every time, are you really doing your job? 02:52:52 <\oren\> well at my work we use our own resizable array class 02:53:07 <\oren\> instead of std::vector 02:53:13 how come? 02:53:29 <\oren\> because apparently std::vector doesn't play well with threads or somehting 02:53:31 The same is true of my work, but at this point I'm a little surprised we don't just have our own implementation of the STL... 02:54:12 \oren\ : depends on when it changes size :D 02:54:15 the NIH is strong 02:54:21 `? NIH 02:54:23 NIH was /not/ invented by Taneb. 02:54:43 `culprits wisdom/NIH 02:54:50 if you have a size change at the same time another thread looks or writes in the std::vector then you have a problem yes 02:54:51 No output. 02:54:53 int-e: That's practically the Google way. 02:55:00 `culprits wisdom/nih 02:55:04 int-e 02:55:07 I'm a little sad that the CPPGM is already running. It seems like it'd be a fun thing to fail at 02:55:11 meh, I forgot. 02:55:25 -!- ais523 has quit. 02:55:28 <\oren\> int-e: well half our codebase is in an in-house language instead of c++, and the compile porcess uses another in-house language instead of makefiles, so you know.... 02:55:30 pikhq: The Google way isn't exactly NIH. They have their own variant of it. 02:55:40 shachaf: :D 02:57:06 \oren\ : basically whenever some std::vector can change size, it needs to be 100% mutexed accessible by only 1 thread, or else you're in trouble 02:57:18 the rest of the time it's the same as a C array 02:58:39 supposedly copy-on-write containers work well with threading 02:59:06 <\oren\> i think that's what we have NIHed 03:00:06 the other case I've heard is code that had to work on stuff like the nintendo DS 03:00:09 <\oren\> I haven't looked into the details since the interface is almost exaclt the same as std::vector 03:00:23 which if I'm not mistaken had a broken STL or something like that 03:00:48 <\oren\> this has to work on coffeemachines and things 03:00:55 my brother's company has a NIH std::vector equivalent because of that 03:02:39 for strings, ironically std::string basically complements char *> 03:03:09 char * strings are cool except that you basically can't store them, std::string fixes just exactly that 03:05:19 <\oren\> can't store them where? 03:05:37 well, char * has no storage 03:05:59 <\oren\> what the heck does that mean? 03:06:17 suppose you have to save some text data inside a struct 03:06:33 your options are like 03:07:28 char text[99]; // + 1 million runtime checks and prayer and hope that it never goes over 03:08:41 char *text; // and then make sure it's set to null in every single constructor and make sure it's deleted in the destructor and then checks that it's not null every time you read it and malloc/realloc if it ever changes size 03:09:12 std::string text; 03:10:32 it's just that option #3 has way less common failure modes than option #1 and option #2 03:10:48 <\oren\> std::string could be replaced with a bunch of funtions that take char* and handle everything you just said. 03:11:02 \oren\ : yes that's option #2 03:11:08 char * in the class 03:11:23 <\oren\> but the point is I already have such functions 03:11:51 `addquote pikhq: The Google way isn't exactly NIH. They have their own variant of it. 03:11:58 1270) pikhq: The Google way isn't exactly NIH. They have their own variant of it. 03:12:31 \oren\ : and you never forget to put them in constructors, destructors, and to put checks against null? 03:13:12 <\oren\> I don't have constructors or destructors, and all my string handling functions check for null 03:13:41 <\oren\> (becuase I'm writing in C, which doesn't have constructors or destructors) 03:13:59 \oren\ : well, when mallocating and freeing structs of that type then 03:14:11 of the type that contains the char * 03:14:37 <\oren\> well, since my usual first step is somthing like: 03:15:10 <\oren\> struct foo *f = newfoo(); 03:15:19 <\oren\> then , inside newfoo: 03:16:08 <\oren\> struct foo *f = malloc(sizeof(struct foo)); *f = nullfoo; return f 03:16:30 -!- oerjan has quit (Quit: Late(r)). 03:16:43 <\oren\> that doesn't happen, becuase I have a prototype for all foo objects (nullfoo) 03:17:08 and you have a deletefoo() matching with every newfoo() ? 03:17:13 <\oren\> yes 03:18:00 yeah i guess that works 03:19:18 <\oren\> I even have some functions that can delete an array, taking a pointer to a delete function to be called on each element 03:19:26 <\oren\> and things like that 03:19:47 makes sense 03:20:13 <\oren\> it's an obvious extension of the precedent set by qsort and bsearch 03:20:35 <\oren\> they just didn't bother with it in the C stdlib 03:20:57 It's kindof the reverse of my coding style (which could be summarized as "avoid malloc/free unless there's really no other option") but I guess it's sorta functional 03:21:29 <\oren\> it's what you do if you're writing C and not C++ 03:21:47 which makes sense if you're doing embedded coding yes 03:25:41 -!- nortti_ has joined. 03:25:42 -!- int-e_ has joined. 03:26:20 -!- puck1pedia has joined. 03:26:27 -!- lambda-calc has joined. 03:26:27 -!- lambda-11235 has quit (Ping timeout: 260 seconds). 03:26:28 -!- aloril_ has quit (Ping timeout: 260 seconds). 03:26:29 -!- puckipedia has quit (Ping timeout: 260 seconds). 03:26:29 -!- Gregor has quit (Ping timeout: 260 seconds). 03:26:30 -!- nortti has quit (Ping timeout: 260 seconds). 03:26:30 -!- atehwa_ has quit (Ping timeout: 260 seconds). 03:26:30 -!- catern has quit (Ping timeout: 260 seconds). 03:26:30 -!- quintopia has quit (Ping timeout: 260 seconds). 03:26:30 -!- int-e has quit (Ping timeout: 260 seconds). 03:26:52 -!- Gregor has joined. 03:27:35 -!- bender|_ has joined. 03:27:40 -!- puck1pedia has changed nick to puckipedia. 03:28:06 -!- aloril_ has joined. 03:31:06 -!- atehwa has joined. 03:31:28 -!- ais523 has joined. 03:31:29 -!- ais523 has quit (Remote host closed the connection). 03:31:30 -!- j-bot has joined. 03:37:44 -!- quintopia has joined. 03:43:29 -!- hppavilion[1] has joined. 03:43:36 -!- catern has joined. 04:02:17 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 04:12:33 -!- hppavilion[1] has joined. 04:15:07 -!- ais523 has joined. 04:15:49 OK, so SFML uses a very thread-centric model 04:16:03 e.g. there's no way to inject user-defined events, no way to do timers, etc. 04:16:51 however, it /also/ doesn't define any safe way to communicate between threads, other than mutexes, and I don't think you can form the equivalent of a select() out of mutexes 04:17:08 * ais523 is in #esoteric, and thus takes questions like "can you create a message queue out of nothing but mutexes" seriously 04:18:26 so the question is, what are the sensible cross-platform ways to merge events coming in from multiple threads, when your threading primitives suck? 04:20:24 note: something you /could/ do entirely within SFML is to create a TCP listening socket and use that, but a) this uses up a global system resource (open ports), b) there's no way to restrict connections to localhost so it's more than a little insecure 04:20:35 (no way within SFML's API, that is; you can obviously do it in TCP) 04:21:34 ais523: define "out of nothing but mutexes" 04:22:04 are we talking about communication via try_lock()? 04:22:09 the only thread-safe blocking primitive that you have available is the mutex lock, which will block if another thread has the mutex locked 04:22:32 the problem isn't transferring the data, because you can do that via shared memory 04:22:37 (which is the default for threading) 04:22:52 the problem is blocking until there's a message ready to receive 04:22:55 ahhh 04:23:11 and AFAICT, the problem is that you can only try to lock one mutex at a time, a specific thread holds it 04:23:28 and so you're blocked until that specific thread gives you permission 04:23:32 (also you can't do anything meanwhile) 04:25:04 it's basically the opposite situation to the situation for which mutexes were designed; we don't have one process holding the lock and many waiting on it, we have many processes holding the lock and one waiting on one of them to release it 04:25:09 s/process/thread/ 04:26:07 isn't SFML a multimedia library? 04:26:32 mad: yes 04:26:46 however this means it contains an event loop 04:27:09 and its event loop uses a "use different threads for different sorts of events" model (implicitly in that it doesn't support timers, has sockets as a separate thing from windows, etc.) 04:27:18 it also supplies threads, and mutexes 04:27:32 but this isn't enough to be able to communicate between threads without polling AFAICT 04:28:16 ais523: yes, I don't think it's possible either 04:28:31 I'm not familiar with how it's done in the networking world 04:28:36 mad: polling 04:28:43 under the hood, anyway 04:29:10 so what I want is either a solution a) inside SFML using other primitives it has (IMO impossible), or b) using cross-platform primitives that are widely implemented 04:29:36 I could use pthreads, I guess; however I don't know how that works on Windows/Strawberry 04:29:59 and/or how well it plays with SFML (which after all, has its own threading abstraction) 04:30:07 wait, what's the thing you can't do with mutexes? 04:30:27 mad: block until something happens on any of multiple threads 04:30:51 ais523: semaphores 04:31:10 coppro: semaphores would work fine, but SFML doesn't supply them as a primitive 04:31:18 ais523: most platforms do though 04:31:19 ais523 : oh I see 04:31:23 hence b) 04:31:31 ais523 : ...what's the application for that? 04:31:32 hard to find something more primitive 04:31:37 right 04:32:04 mad: the situation is that I am writing a library (libuncursed; coppro's worked on it in the past too) that presents an event-loop interface to programs using it 04:32:16 and abstracts over a number of different backends (currently, POSIX, Windows, and SDL) 04:32:22 definitely semaphores 04:32:33 hmm, how about 04:33:10 event handling thread blocks on one mutex 04:33:11 there are others that could be sensible, too (e.g. X, GDI) 04:33:34 any of the multiple other threads can unlock that mutex 04:33:42 you can't unlock a mutex unless you hold it, surely 04:33:48 * ais523 checks to see if SFML have messed this up 04:34:20 hmm, it doesn't say that you can't unlock a mutex while another thread holds it 04:34:43 perhaps it's worth experimenting with 04:35:00 seems vulnerable to race conditions but that maybe isn't insoluble 04:35:06 well 04:35:17 (e.g. using a separate mutex to protect the signalling one) 04:35:21 that mutex would only be used to pause the event handling loop 04:36:11 so, let's see 04:36:13 we have two mutexes 04:36:18 each particular ressource would have its own mutex so that the owner thread of that ressource would unlock its ressource, then unlock the event handling thread's mutex 04:36:22 oh, bleh 04:36:26 these mutexes are recursive 04:36:57 the obvious algorithm, assuming you can unlock someone else's mutex, ends with the event handling thread intentionally deadlocking on itself 04:37:02 but you can't do that with a recursive mutex 04:37:15 so we'll have to create a separate thread purely to deadlock it 04:38:14 so three locks (A, B, C), two "special" threads (event and deadlock), N generic threads 04:38:52 netutral state is A locked by deadlock, event waiting on it; B locked by event, deadlock waiting on it; C unlocked 04:39:18 when a generic thread wants to send a message, it locks C, pushes the message on a queue, unlocks A if the queue was empty (this is protected by C), unlocks C 04:40:35 -!- XorSwap has joined. 04:41:26 when event gets past the deadlock, it locks C, and handles messages from the queue until it's empty; then, hmm 04:41:31 SFML doesn't even have a trylock 04:41:42 what sort of use is having a general event handling thread like that for? 04:41:47 so how do we get back into the deadlocked state? 04:42:33 mad: say you want to wait for a key to be pressed, or for 1 second to pass 04:42:44 and the timer thread and keypress handling thread have to be different for some reason 04:43:53 that's a bit of a weird test case 04:43:58 your two options are: run the entire logic of the program on whichever thread happened to be the one that received the event (key/timer); or send all the messages to the same thread 04:44:41 it's not a weird test case at all, it's a common enough operation that, say, both ncurses and uncursed provide a function that does exactly that (although ofc the timeout's configurable) 04:44:58 or for another example, say you want to wait for either a keypress, or receiving a network packet 04:45:44 multimedia apps often just keep processing video frames and handke keypresses on next frame 04:46:08 that's a common way to write IRC clients (although in this case the responses to a keypress and to a network packet are different enough that you can run them on different threads without too much effort, that isn't something you should have to do) 04:47:15 mad: that's terrible for battery life, though 04:47:22 you want to be able to block until something happens, rather than having to poll 04:47:31 (in fact it's the reason I wanted to move away from SDL in the first place) 04:48:13 I guess it depends on if you have the case where your app does nothing when there's no input 04:48:54 which I guess is sensible for an irc client but not a game 04:49:18 mad: turn-based games often do nothing when there's no input 04:49:31 unless they have audio 04:49:48 Different thread 04:50:05 audio is one of those things that can safely be run in an independent thread, yes 04:50:16 or interrupt-to-interrupt, on less powerful systems 04:50:25 yeah but that means you have at least one always active thread 04:50:26 this is why it's often the only thing that works when the rest of the game crashes 04:50:43 mad: no? audio thread blocks until the sample buffer drains, typically 04:50:45 which means that you might as well do polling on your event handler thread 04:50:52 there's only so much the audio thread can do before blocking 04:51:02 ais523 : yes, which happens at least 50 times per second 04:51:05 you're not running in a busy loop calculating samples 04:51:12 <\oren\> do you have any primitive atomics on shared memory? 04:51:37 also 50fps is still slower than a typical video framerate 04:51:47 \oren\: std::atomic would work in this case, I think 04:51:51 given that it's C__ 04:51:51 <\oren\> (although last time I touched that stuff I got terrible radiation burns) 04:51:53 * C++ 04:53:07 depends on what you mean by "atomic" 04:53:56 mad: a variable that supports operations that cannot be interfered with by other threads 04:54:01 for typical cases it's really the operations you do on your primitive that are atomic, I guess... and yeah I guess std::atomic does this for you 04:54:05 there are a range of atomic operations, some more useful than others 04:54:18 test-and-set is a common example of a primitive that's powerful enough to build anything else 04:54:36 (set-to-specific-value, that is, not set-to-1) 04:55:03 yeah, the equivalent of lock cmpxchg? :D 04:55:04 <\oren\> yeah I think we used a swap operation in my OS class 04:55:29 <\oren\> or maybe a compare and swap? 04:55:52 Surely CAS. Just swap isn't sufficiently general I don't think. 04:56:13 pikhq: IIRC pure swap is sufficiently general, but much more complex to use 04:56:23 Ah, okay. 04:56:26 I think it needs the compare to handle the case where some other thread has changed the value 04:56:33 between the read and the write 04:56:37 pikhq: you can construct a boolean test-and-set out of a swap by swapping in a 0 or 1 04:56:47 swapped-out value is the test, swapped-in value is the set 04:56:54 And you don't find hardware without CAS really, so it's not worth the effort. 04:56:55 <\oren\> yeah we used just swap 04:57:24 <\oren\> the OS ran on some sort of virtual machine 04:57:35 you basically use the test-and-set as a mutex to guard a non-atomic operation on shared memory 04:57:43 I think you might have to spin until the value is not set any more, though 04:58:04 how does swap guarantee that some other thread hasn't changed the value after your read but before your write? 04:58:05 <\oren\> yup, that's what we did, I remeber it now 04:58:29 mad: atomic swap guarantees that because atomic 04:58:47 <\oren\> i think maybe it just freezes the other processors? who knows 04:58:49 hmm, so SFML on Linux, at least, uses pthreads 04:59:09 \oren\: it actually uses quite a complex locking mechanism internally 04:59:22 the processors will block on the lock on the memory address if they try to access the same address 04:59:29 there might also be some memory barriers involved 04:59:47 <\oren\> well, in my course we were on a vitual machine, so who knows 04:59:52 ais523 : but you can't prevent the swap if the value has changed 05:00:00 mad: which value? 05:00:10 suppose you're trying to do an atomic increment 05:00:14 value is 0 05:00:22 mad: you don't do the swap on the value you're incrementing 05:00:26 you do it on a second, guard value 05:00:37 which is 1 while in the middle of an increment, and 0 the rest of the time 05:00:43 to increment, first you swap the guard value with 1 05:00:48 <\oren\> maybe cmpxchg is better for real processors because you don't need so much locking 05:01:07 cmpxchg lets you have atomics without having a second guard value like that. 05:01:13 if you swapped a 0 out of it, then you do the increment, and swap a 0 back in (and will get a 1 after your swap unless shenanigans) 05:01:16 \oren\ : cmpxchg lets you do atomic increment without a guard value yeah 05:01:30 if you swapped a 1 out of it, then you try again; you swapped a 1 with a 1 so you didn't interfere with the process that's currently doing the increment 05:01:49 <\oren\> so they made us do it with swap only because it's harder 05:01:52 with compare-and-swap, what you do is you first (nonatomically) read the value, say it's x 05:02:01 then you swap in x+1 if the current value is x 05:02:12 if you swapped an x out, everything is fine, you're done 05:02:13 ais523 : but what if you have a 1 and then a third thread comes in? then the third thread will see a false 0 05:02:34 if you didn't, then try again, you didn't change anything as you did a read and a failed-CAS 05:02:40 mad: no it won't 05:03:16 oh 05:03:22 wait I guess I see 05:03:27 here's my program: /*x*/ while (swap(guard, 1)); /*y*/ val++; /*z*/ swap(guard, 0) 05:03:50 yeah that works if the cpu doesn't reorder memory writes 05:03:59 yep 05:04:03 and reads 05:04:10 and an atomic swap is normally assumed to contain appropriate memory barriers 05:04:18 to protect anything that's ordered relative to it 05:04:29 which means it should work on x86 but not necessarily other platforms 05:04:34 (either in the processor architecture itself, or because it's a wrapper for the instruction + the barrier) 05:04:56 mad: The underlying instruction, sure, but any real-world use would have the appropriate memory barrier. 05:04:56 ais523 : as opposed to cmpxchg which.... doesn't really need barriers I think? 05:05:12 Because it's not at all helpful if it's not a synchronization primitive. :) 05:05:43 mad: well it depends on what the memory sequencing properties of the compare-and-swap are 05:05:53 it needs to contain at least a barrier on the things it's swapping 05:06:09 but really you need them in order to avoid time paradoxes 05:06:16 well, the point of compare-and-swap is to have memory order guarantees against some other thread also doing compare-and-swap on the same value 05:06:34 so presumably it has at least some kind of barrier against itself 05:07:05 That's the "lock" prefix on x86. 05:07:18 right 05:07:21 Without it, cmpxchg isn't atomic WRT other threads. :) 05:07:25 -!- lleu has quit (Quit: That's what she said). 05:07:28 something that happens in Verity at the moment (assignment in Verity is atomic but has no barrier): new x := 0 in new y := 0 in {{x := 1; y := 2} || {y := 1; x := 2}}; print(!x); print(!y) 05:07:41 can print 1 1 even if you had a barrier betwen the parallel assignment and the prints 05:08:25 this is because there's no barrier between the assignments to x and to y, and in particular, the four assignments can happen /literally/ simultaneously, in which case it's unspecified which ones win 05:08:46 that seems normal? 05:09:03 Yes, but it's weird to people used to x86's memory model. 05:09:15 mad: well there isn't any way to interleave {x := 1; y := 2} and {y := 1; x := 2} that leaves both variables set to 1 05:09:28 well 05:09:33 x := 1 happens 05:09:43 oh 05:10:04 Reordering is fun. 05:10:11 pikhq: it's not even reordering 05:10:15 the print() stuff happens on the 2nd thread? 05:10:15 it's just simultaneity 05:10:23 mad: || is a thread split + join 05:10:24 after the x:=2 05:10:41 where's the join? 05:10:49 i.e. I temporarily fork into two threads, one does {x := 1; y := 2} and the other does {y := 1; x := 2} 05:10:51 then the threads join 05:10:57 || is a fork + join operator 05:11:15 I guess you're right, that can't happen in the x86 memory model 05:11:23 unless the compiler reorders the writes 05:11:35 (which afaik it totally can) 05:11:38 in Verity, the compiler doesn't reorder the writes, it's just that all four happen at the exact same time 05:11:58 mad: right, in gcc you'd need a compiler barrier 05:12:02 The x86 memory model is one of the stronger ones out there. 05:12:07 like "asm volatile ();" 05:12:17 to prevent gcc reversing the order of the assignments to x and to y 05:12:23 pikhq : they probably had no choice :D 05:12:31 considering all the apps out there 05:12:40 well most programs out there at the time were single-threaded 05:12:41 ais523: I'm not sure if that's actually a full compiler barrier. 05:12:47 pikhq: err, right 05:12:51 asm volatile (:::"memory") 05:12:53 I tend to use asm volatile("" ::: "memory"); 05:12:59 Yeah. 05:13:45 there's probably less compiler memory op reordering on x86 though 05:13:53 due to the structure of the instruction set 05:13:56 mad: It's actually a fairly arbitrary choice, given that it would *only* effect programs and OSes that were aware of multiprocessing, and when introduced this was very close to 0. 05:15:04 I remember that when real multiprocessor systems started to happen there were a few apps that started failing 05:15:12 not that many tho 05:15:56 hmm, Verity's || operator was called , in Algol 05:16:02 Yes, they'd be ones that used threads incorrectly. 05:16:11 Verity is an Algol derivative, after all, so it's not surprising it has one 05:16:28 is {x := 1; y := 2} implicitly unordered? 05:16:28 however, it's surprising that it isn't seen more often in modern languages 05:16:32 Hence why it would be not that many -- threading is a bit niche without multiprocessor systems. 05:16:33 mad: no, it's ordered 05:16:48 assignment to x happens before, or simultaneously with, assignment to y 05:17:08 'or simultaneously with' 05:17:27 a write to a variable cannot happen simultaneously with a write or read that comes earlier 05:17:41 and if a write and read happens simultaneously you get the new value 05:17:45 there, those are Verity's timing rules 05:17:54 ais523: Huh, that's actually kinda-sorta related to C's , introducing a sequence point, then, isn't it? 05:17:58 (by simultaneously, I mean on the same clock edge) 05:18:08 Erm, no, no it isn't. 05:18:28 pikhq: for if you want even more detail on how it works: 05:18:40 it's call-by-name so naming a variable can be seen a bit like a function call 05:18:48 and the same call can't return twice on the same cycle 05:19:07 however, for "simple" reads of variables the call can be optimized out 05:19:35 (it just looks at the bits in memory directly) 05:20:10 if all read/writes in a group are to different variables, they can happen all at the same time? 05:20:17 yes 05:20:29 then I guess they can be reordered no? :D 05:20:38 "the same call can't return twice on the same cycle" is the /only/ rule slowing the program down (apart from some corner cases wrt recursion) 05:20:44 mad: no, in x := 1; y := 2 05:20:49 the write to y can't happen before the write to x 05:20:57 it happens simultaneously (same clock cycle) or later 05:21:28 hm 05:21:30 (in this particular case it would be simultaneous because 2 is a constant, and thus there's nothing that could delay the write to y) 05:22:49 -!- bender|_ has changed nick to bender|. 05:22:57 -!- bender| has quit (Changing host). 05:22:57 -!- bender| has joined. 05:23:03 what if you had x := some_calculation; y := 2 05:23:04 ? 05:23:06 fwiw I consider this behaviour to potentially be a bug, but we've decided that for the time being at least it isn't (also it makes the program run faster, which is a good thing in the abstract) 05:23:21 mad: x and y would be assigned at the same time, when the calculation completed 05:23:39 meanwhile x := 2; y := some_calculation would assign x first, start the calculation that cycle, and assign y when the calculation completed 05:23:44 which might or might not be that cycle 05:23:52 what about 05:24:06 x := some_calculation; y := some_calculation 05:24:08 ? 05:24:48 how much of y's calculation can overlap with x's calculation? 05:24:55 runs the calculation, when it finishes delays one cycle; then assigns the result to x and starts running the calculation again, when it finishes assigns the result to y 05:25:32 note the "delays one cycle", this is automatically inserted to fulfil the rule that prevents the same block of code being used for two different purposes at the same time 05:25:49 what about 05:25:56 x := some_calculation; y := some_other_calculation 05:26:12 those could happen on the same cycle (unless the two calculations involve shared resources) 05:26:22 ah ok 05:26:23 I see 05:26:25 obviously, they only would if some_other_calcuation took zero cycles 05:26:40 as some_other_calculation doesn't start until some_calculation has finished 05:26:42 and to complete the set 05:26:50 x := some_calculation || y := some_other_calculation 05:27:04 would run both calculations in parallel regardless of what arguments they took or how long they took 05:27:57 is this designed for some specific piece of hardware? :D 05:29:19 pretty much the opposite: it designs specific pieces of hardware 05:29:29 to run the program you entered 05:29:37 e.g. via programming an FPGA 05:29:46 does it compile to verilog or something like that? 05:29:49 yep 05:29:52 VHDL, in this case 05:30:03 -!- lynn has joined. 05:30:27 and ofc the big advantage of designing hardware is that you can do things in parallel for free 05:30:36 so long as you don't need access to shared resources 05:31:17 mhm 05:31:18 one of my coworkers is looking into rewriting "x := a; y := b" as "x := a || y := b" if it can prove that the two programs always do the same thing 05:31:32 which would give a big efficiency gain without requiring people to place all the || in manually 05:31:51 that sounds like an aliasing resolution problem 05:32:10 -!- dingbat has quit (Quit: Connection closed for inactivity). 05:33:37 the standard approach to that is renaming but then it can parallelize the variables but not the name changes 05:33:38 well, much of our theoretical research has been in that direction 05:33:53 in particular, we statically know whether any two things can share or not 05:34:08 we don't have aliasing problems because Verity disallows storing anything other than integers in pointers 05:34:15 *integers in variables 05:34:21 (in particular, you can't store a pointer in a variable) 05:36:38 how does it know what to put in dram, block ram and in logic fabric registers? 05:39:20 arrays go in block ram, non-array variables in logic fabric (unless a large number of copies are required due to, e.g., them being local to a recursive function) 05:39:31 -!- lambda-calc has changed nick to lambda-11235. 05:39:32 dram isn't used by the language itself but you could write a library to access it 05:39:51 (assuming you're talking about external ram) 05:39:59 ("d" could expand in more than one way here) 05:45:10 -!- bender| has quit (Remote host closed the connection). 05:45:37 is "array[x] := n || array[y] := m" a compilation error? 05:46:39 yes but only because arrays use () for indexing rather than [] 05:47:02 although, interestingly, "array(x) := n || array(y) := m || array(z) := l" will give you a warning 05:47:24 the reason is that you can't do more than two writes to block RAM simultaneously in hardware 05:47:39 yeah obviously 05:47:45 and thus it has to add extra components to serialize the writes so that no more than two happen at a time 05:48:40 what mode does it use the bram's port in? read_before_write? 05:49:03 "warning: made 3 copies of an array's read/write ports" "info: at most two read/write ports can be supported efficiently" 05:49:10 and read-before-write, yes 05:49:27 not that it matters, all that changes is the behaviour in race conditions 05:50:37 that said, I'm currently working on implementing pipelining 05:51:00 in which case "array(x) := n || array(y) := m || array(z) := l" would do the writes on three consecutive cycles and thus you wouldn't get the warning 05:51:23 but then your throughput would go down :D 05:53:21 yes; this is something we might want to look at later 05:56:27 I've been really into trying to find an alternative to RISC/CISC/VLIW for practical CPUs 05:58:29 it's hard to balance between too static-scheduled (VLIW being simple but stalling easily etc) and too dynamic-scheduled (RISC/CISC start breaking down majorly over about 4 instructions per cycle) 05:59:13 as this is #esoteric, I'm wondering if there are any other alternatives 05:59:36 even if it's a pretty hppavilion[1] reaction to the problem 05:59:46 I have some interesting designs but nothing approaching the simplicity of RISC 06:00:21 what about a CPS processor? 06:00:34 i.e. "run this command, once it finishes running, do this other thing next" 06:00:45 although that's pretty similar to hyperthreading, really 06:01:04 it falls down on what exactly a "command" is :D 06:01:10 and there's a reason processors don't run entirely on hyperthreading 06:01:52 I thought hyperthreading was basically just a way to keep the cpu active when loads have fallen out of data cache and it's that or stalling 06:01:56 :D 06:02:29 -!- XorSwap has quit (Quit: Leaving). 06:02:38 or, in the case of sparc, a way of wiggling their way out of doing an out-of-order while keeping okay performance :D 06:03:32 ais523 : what runs in parallel in a CPS processor? 06:04:12 mad: I guess you can start multiple commands (well, opcodes) running at the same time 06:04:18 basically via the use of a fork opcode 06:04:42 the question is, do we also need a join, or do we just exit and run the code for its side effects? 06:04:58 how do you tell if the opcodes are truly independent or have dependencies? 06:06:01 -!- lynn has quit (Read error: Connection reset by peer). 06:06:35 the approach I've been looking at is extremely small "threads" 06:06:42 like, 3 instruction long for instance 06:07:24 you don't have to, you just run them whenever they become runnable 06:07:56 I guess that if you add join, this is basically just a case of an explicit dependency graph 06:08:08 if your commands do loads/stores on the same memory you need to know what happens 06:08:13 which is a bit different from VLIW 06:08:20 but similar in concept 06:08:54 VLIW dependency is handled by keeping everything in some exact known sync 06:09:53 compiler scheduler knows the sync and fills the instruction slots 06:10:25 generally it works well for DSP code (lots of multiplies and adds etc) but not well at all for load-store-jump code 06:10:33 which is why VLIW is typically used in DSPs 06:11:04 ah right 06:11:10 well I'm basically thinking of the Verity model but on a CPU 06:11:33 some CPUs simply run all loads and stores in-order 06:11:36 if two things don't have dependencies on each other, you run them in parallel 06:11:44 everything else can be reordered willy-nilly though 06:12:20 this means that the CPU needs to be able to handle large numbers of threads at once (probably a few hundred in registers, and swapping if the registers get full), and needs very cheap fork/join 06:12:23 ais523 : true, but if your two things are memory addresses calculated late in the pipeline, it's very hard to tell that they have dependencies 06:12:35 OTOH, so long as you have enough threads available, you don't care much about memory latency, only bandwidth 06:12:46 just run something else while you're waiting 06:12:59 this is similar to GPUs but GPUs are SIMD at the lowest levels, this is MIMD 06:13:20 mad: well the dependencies would be calculated by the compiler 06:13:36 compiler can only calculate so many dependencies 06:13:39 ideally via the use of a language in which aliasing problems can't happen 06:14:02 ais523: ALIW and OLIW are some alternatives to RISC, CISC, and VLIW 06:14:03 in fact the ideal situation for the compiler is that loads and stores never move 06:14:14 every other instruction is easy to move 06:14:30 in most practical languages, though, loads and stores happen a lot 06:14:42 hmm, can we invent some sort of functional memory for functional languages? 06:14:44 it's just calculations and it's all in SSA form so it knows exactly what depends on what and how to reorder stuff 06:14:53 i.e. memory never changes once allocated, it can go out of scope though 06:14:59 ais523: I thought of that once- the ASM of Haskells 06:15:08 what I was thinking of was C++ with absolutely no pointers 06:15:22 just use Verity :-P 06:15:23 and every object or array is copy-on-write 06:15:31 there have been some experiments of getting it to run on CPU 06:16:02 no dynamic typing or garbage collection or other slow features 06:16:15 ais523: What other properties should the FMM have? 06:16:27 only copy-on-write because it's the one thing that can prevent aliasing 06:16:41 hppavilion[1]: FMM? 06:16:48 ais523: Functional Memory Model 06:17:06 mad: not the only thing, you can use clone-on-copy instead 06:17:09 it's just slower usually 06:17:36 (it's faster for very small amounts of data, around the scale of "if you have fewer bits in your data than you do in an address") 06:17:41 but then don't you need references if you use clone-on-copy 06:17:45 ? 06:18:30 references so that you can point to objects that you're going to read from without doing tons of copies 06:18:40 I didn't say it was efficient 06:18:42 just that it works 06:19:11 that's why I'm suggesting copy-on-write 06:19:26 hppavilion[1]: the main problem with a functional memory model is handling deallocation 06:19:39 you can a) use reference counts, b) use a garbage collector, c) clone on copy 06:19:54 method c) is used by most esolang impls AFAIK 06:20:15 what do haskell etc use? 06:21:07 ais523: Interesting... 06:21:44 mad: normally garbage collectors, for most workloads it's the most efficient known solution 06:21:57 although it requires a lot of complexity to get it more efficient than reference counting 06:22:41 can functional programming generate cycles? 06:22:43 I personally like reference counting, especially because it allows you to implement an optimization whereby if something is unaliased at runtime (i.e. the reference count is 1), you can just change it directly rather than having to copy it first 06:23:07 that's what copy-on-write is no? 06:23:27 there are language features which can cause cycles to be generated; however, some functional languages don't include those features 06:24:02 copy-on-write doesn't necessarily check for refcount 1, some implementations check for never-cloned instead 06:24:25 which means that you don't have to update the refcount when something leaves scope 06:24:41 but what if it was cloned but then the clone went out of scope? 06:24:47 then you have a useless copy 06:24:50 yep 06:25:07 but without a refcount you don't know it's useless until the next gc cycle 06:25:46 the idea of having COW everything is that also when you need a copy, typically you only need a copy of the topmost layer 06:25:58 it's possible that the extra copies are faster than the refcount updating 06:26:02 ie an object containing a bunch of sub-objects 06:26:14 most likely because you're just copying a wrapper that contains a couple of pointers 06:26:24 if you have to copy the object, you don't need any copy of the sub-objects 06:26:31 except the ones that are really different 06:26:32 and yes, I think we're making the same point here 06:27:33 how expensive is refcounting anyways? 06:27:37 it's just +/- 06:27:53 it's pretty expensive because it screws up your cache 06:28:12 whenever something gets copied or freed, you have to a) dereference it, b) write a word of memory next to it 06:28:37 which means that less fits in your cache, and copy and free operations end up bumping something into cache that isn't immediately needed 06:28:47 -!- mysanthrop has changed nick to myname. 06:28:48 isn't it reading in 1 cache line that's probably going to be read by whatever next object operation on that object? 06:29:02 for a free, you probably aren't planning to use the object again for a while ;-) 06:30:00 well, for a free you start by -- refcount, checking it, it's 0, then you have to go through the whole destructor so that's more accesses to object variables no? 06:31:42 oh, you're assuming there's a nontrivial destructor 06:31:54 I'm not, destructor is often trivial 06:32:23 well, it must decrease child object refcounts no? 06:32:31 yes, /but/ we're comparing refcounting to GC 06:32:34 and eventually call free() 06:32:41 GC doesn't need to decrease the child object refcoutns 06:33:47 so it doesn't have a need to pull the object into cache 06:34:10 fwiw, I think there's little doubt that refcounting is better if you have a lot of nontrivial destructors 06:34:15 but that doesn't come up very often 06:34:42 hmm 06:35:37 -!- lambda-11235 has quit (Quit: Bye). 06:37:00 it sounds like it depends on the "shape" of the objects you're freeing 06:37:14 depending on average size and average number of levels 06:38:33 other issue is 06:38:50 suppose you have some large global object with some error logger in it 06:39:27 some function of some small object within that global object does whatever 06:39:33 and then logs an error 06:40:09 how do avoid forcing the user to make the function take the large global object as an explicit argument? :D 06:41:01 this is one of the largest problems in OO, possibly programming generally 06:41:12 there are a lot of proposed solutions but I'm not sure if any of them are actually good ones 06:41:46 I know only the C++ solution, which is that you store a pointer to the large global object in the small object 06:41:53 but then that breaks any purity 06:42:18 look up dependency injection, it's crazy 06:42:38 and it introduces a reference cycle 06:42:59 err, dependency injection frameworks 06:43:11 dependency injection itself is just the concept of passing the large global as an argument 06:43:19 but the interest comes from doing it /implicitly/ 06:43:36 normally via some sort of code transformation, either at compile-time or run-time 06:43:39 (which is why it's crazy) 06:44:20 -!- nortti_ has changed nick to nortti. 06:46:17 anyhow 06:47:04 without solving aliasing then basically you're designing a cpu for executing C++ 06:47:54 and I don't think it's possible to design a cpu for higher level languages 06:48:31 because C++ tends to have all the real low latency operations basically 06:48:58 and in particular the ones that have few sideeffects 06:49:04 side effects are deadly 06:50:26 well I don't think a language can be considered higher-level nowadays if it doesn't provide at least some way to manage side effects 06:51:03 dunno, aside from functional languages 06:51:23 my impression is that most high level languages have great tools for CAUSING side effects 06:51:27 :) 06:52:02 witness all the perl-python-lua-js type of languages that never even got multithreading 06:55:11 I can't think of any approach other than multithreading and functional-style-purity for managing side effects 06:55:32 especially long-term side effects 06:56:25 for short term side effects generally you have the whole LLVM style thing where it uses SSA on non-memory values and then LLVM-style alias resolution loads/stores 06:56:33 and...that's it! 06:57:27 unless you count SIMD as a form of side-effect management 06:57:32 (which I guess it is!) 06:58:04 -!- dingbat has joined. 07:01:10 that's why the MIPS is still the "top" design in a way 07:01:30 -!- Sprocklem has joined. 07:04:32 mad: well Verity compiles via an intermediate language SCI, which has the property that aliasing will fail to compile 07:04:51 although it sacrifices quite a lot to accomplish that 07:04:59 figures 07:05:54 well, it compiles to vhdl so it's essentially a low level language no? 07:05:55 -!- carado has joined. 07:06:50 mad: Verity is low level, yes 07:07:04 however the principles behind SCI were originally expressed in a language which was (at the time, at least) pretty high level 07:10:40 if you're going towards agressive threading then the target kind of cpu is pretty clear 07:10:50 stick in a bunch of in-order RISCs 07:10:58 as many as you can fit 07:11:32 each new core = new DCACHE = 1 more potential load per cycle 07:11:50 or 2 loads if you have a 2 port DCACHE 07:12:38 I think you also need to have more threads "ready to go" than you do CPUs 07:12:46 yeah 07:12:53 so that you can suspend some while waiting for memory access, branch prediction failure, etc. 07:12:59 you'll probably want some degree of hyperthreading to fill in stalls 07:13:01 yes 07:13:09 actually if you have enough hyperthreads you needn't even bother to predict branches 07:13:19 just run something meanwhile while working out whether to take them or not 07:13:34 hm 07:14:28 I think the branch predictor is worth the trouble 07:14:41 it's not that complex at low IPC 07:15:05 also at low IPC your pipeline is likely to be short 07:16:00 this is basically the ultraSPARC 07:16:28 oriented towards load-store-jump code that has lots of threads 07:16:31 ie servers 07:17:26 you could totally write a compiler to use lots of threads if they were that lightweight 07:17:34 and they'd be very load-store-jump-mimd heavy 07:18:15 you'd need some sort of threading that doesn't have to go through the OS's scheduler 07:19:08 and get people to use tons of small threads in their code 07:19:22 yes 07:19:35 the latter is something that'll be increasingly necessary to increase performance as time goes on 07:19:59 and hardware thread scheduling is a natural extension of that 07:20:20 the problem is that generally if the OS's scheduler is involved, that probably already wipes out your potential benefits in lots of cases 07:20:42 ais523: have you looked at Rust? I don't remember if it came up yet and whether I've told my first impression opinions. 07:20:47 also there's a limit to how much threading you can get going 07:21:08 b_jonas: yes, this channel used to have a lot of rust discussion 07:21:11 every cpu you add to a system makes the synchronization system between core memories harder 07:21:13 I like it 07:21:24 that said, I don't think I know your opinion on Rust, either because you haven't told me or because I've forgotten 07:21:35 mad: NUMA 07:22:08 that's starting to sound like the PS3's CELL :D 07:23:11 it was ahead of its time 07:23:51 NUMA is going to get more and more popular as time goes on, basically because there just isn't really any other option if we want computers to keep getting faster in terms of ability-to-execute-programs 07:24:11 there's always aggressive SIMD 07:24:48 which gives you nothing for load-store-jump programs 07:25:07 but I don't think anything's going to help load-store-jump programs by this point 07:25:55 mad: simd and numa have different roles. they both help, and I'm very interested in simd, but at some point even if you write optimal simd programs to reduce memory and cache load, you'll run out of memory bandwidth, and numa is the only technically realistic way to increase it 07:26:02 the problem with SIMD is that although it's good for some workloads, those are typically the workloads you'd run on a GPU 07:26:15 ais523: that's not quite true 07:26:18 so it's more of a stopgap until people get better at writing multithreaded programs 07:26:20 ais523: no way 07:26:31 CELL worked because video games have some mathy calculations to offload 07:26:57 ais523: it's that people are buying into the GPU hype and very few people are trying to learn to actually use SIMD and cpu programming in a good way 07:27:16 (this is partly why I'm very interested about it) 07:27:23 you can put hundreds of cores on a CPU if they can't access any memory :D 07:27:33 ais523: yes, there's some overlap, but still, I don't think GPUs will solve everything 07:27:59 gpus solve one problem, rendering video games 07:28:30 other problems might see a speed gain only as much as they look like video game rendering :D 07:28:34 GPUs actually have similar levels of SIMDiness to CPUs; their strength is that they can run the same code on thousands of threads, but not necessarily with the same control flow patterns 07:29:12 as far as I can tell the GPU's advantage is that basically memory writes only happen to the frame buffer 07:29:18 they're bad at pointer-heavy stuff, and in general, at things with unpredictable memory access patterns 07:29:24 so GPUs have essentially no aliasing to solve 07:29:55 mad: they have block-local storage, which is basically a case of manually-controlled caching 07:30:01 where you load and flush the cache lines manually 07:30:15 once aliasing comes into the picture (or heavy feedback loops) CPUs take the upper hand afaik 07:30:46 I might be dismissing gpu stuff too much due to how overhyped it is 07:31:08 mad: it's mostly just that GPUs are bad at pointers 07:31:27 it comes down to how few GPU-able problems there are I think 07:31:27 aliasing isn't any harder than dereferencing nonaliased memory, they're both hard 07:32:19 aliasing forces your memory operations to be in-order basically 07:32:36 and adds lots of heavy checks the more you reorder your operations 07:33:08 eventually you end up with giant content-addressable-alias-resolution buffers and whatnot 07:33:31 and everything becomes speculative 07:33:51 -!- mroman has joined. 07:34:17 well how useful is unpredictable aliasing from a program's point of view? 07:34:25 b_jonas: SIMD is a good fit for "occasional", "one-off" computations. GPGPU is a good fit for "pervasive" large computations. people seems to easily confuse the differences. 07:34:57 lifthrasiir: hmm: what would you say is the best way to zero a large amount of RAM? 07:34:59 ais523 : it's mandatory to guarantee correctness 07:35:06 (and when one needs occasional large computations, one is advised to avoid them) 07:35:08 mad: not from the compiler's point of view 07:35:09 the program itself 07:35:22 how often do you write a program that benefits from aliasing, and can't predict where it happens in advance? 07:35:28 ais523: DMA. 07:35:31 sorry, kidding! 07:35:42 lifthrasiir: that didn't seem that stupid to me 07:35:45 well 07:35:58 I was actually thinking that systems might benefit from a dedicated hardware memory zeroer 07:36:10 Windows apparently zeroes unused memory in its idle thread 07:36:18 ais523: but I think it is not a good way to approach the problem. why do you need a large amount of zeroed memory after all? 07:36:29 as something to do (thus it has a supply of zeroed memory to hand out to programs that need it) 07:36:59 then I guess SIMD or other OS-sanctioned approach is the necessary 07:37:05 lifthrasiir: basically a) because many programs ask for zeroed memory; b) you can't give programs memory that came from another program without overwriting it all for security reasons, so you may as well overwrite with zeros 07:37:06 GPGPU is not really an option there 07:37:11 well, if you write to a variable, eventually you're going to want to read from it 07:37:20 fundamentally that's aliasing 07:37:26 GPGPU could zero GPU memory quickly just fine; the problem is that it uses different memory from the CPU 07:37:30 and the copy between them would be slow 07:37:38 yes. that's why it is not an option 07:37:40 (right now) 07:38:18 DMA is a joke, but the hardware-wired way to zero memory may be somehow possible even in the current computers 07:38:23 mad: yes but often both pointers are literals (because you use the same variable name both times), so the aliasing is predictable 07:38:31 for instance, a delay buffer for an echo effect 07:38:44 how fast it aliases depends on the delay time you've set 07:39:11 yes, that's a good example of a "memmove alias" 07:39:19 ais523 : aliasing isn't predictable if you use very large array indexes :D 07:39:43 I'm kind-of wondering, if restrict was the default in C, how often would you have to write *unrestrict to get a typical program to work 07:39:49 mad: larger than the array, you mean? :D 07:40:34 yeah but the cpu doesn't know the array size 07:40:43 most of the time even the compiler doesn't know 07:41:01 -!- tromp has quit (Remote host closed the connection). 07:41:12 mad: well that at least is clearly something that can be fixed by higher-level languages 07:41:20 there's also the case of, well, you're accessing a class that has pointers in it 07:41:38 and it's hard to tell when your code will read out one of those pointers and write to that data 07:42:14 you do know what restrict means, right? 07:42:21 -!- AnotherTest has joined. 07:42:34 "data accessible via this pointer parameter will not be accessed without mentioning the parameter in question" 07:42:35 ais523 : higher-level languages can abuse references to cause surprise aliasing 07:43:05 I wasn't aware of the exact semantics of restrict 07:43:07 example? mostly because it'll help me understand what you're considering to be higher-level 07:44:04 hmm 07:44:15 consider a java function working on some array 07:44:23 [GPUS] they're bad at pointer-heavy stuff, and in general, at things with unpredictable memory access patterns” – are they also bad at unpredictable local sequential access of memory, such as decoding a jpeg-like huffmanized image that's encoded as 256 separate streams, you have an offset table for where the huffman input of each stream and the output of each stream starts, 07:44:38 and within one stream, you can read the huffman input and the output pixels roughly sequentially? 07:44:41 then it reads some member variable in one of the objects it has as an argument 07:45:03 the member variable is a reference to the same array the java function is working on 07:45:09 and it uses it to poke a value 07:45:38 I'm kind-of wondering, if restrict was the default in C, how often would you have to write *unrestrict to get a typical program to work” – isn't that sort of what Rust is about? 07:45:42 b_jonas: so long as what you're indexing is either a) stored in memory that's fast to read but very slow to write, or b) fits into block memory (basically a manually-controlled cache), you can dereference pointers 07:46:02 and I don't think that's how restrict in C works 07:46:02 b_jonas: it's similar, yes 07:46:25 -!- AnotherTest has quit (Ping timeout: 240 seconds). 07:46:38 mad: that's nothing to do with Java being high-level, IMO 07:46:55 this example applies to most non-pure languages 07:47:03 storing a reference to something inside the thing itself is a pretty low-level operation 07:47:05 like perl and python and whatnot 07:47:07 afaik 07:47:23 well, your function gets some array argument 07:47:24 actually, if you do that in Perl, you're supposed to explicitly flag the reference so as to not confuse the garbage collector 07:47:30 and some object 07:47:33 *reference counter 07:47:43 and the object has a reference to the array but you don't know 07:48:25 ais523: well, if there are 256 streams, and you're decoding only one channel at a time and assembling the three channels later in a second pass, then each stream should be at most 8192 bytes long, its output also 8192 bytes long, plus there's a common huffman table and a bit of control information. 07:48:36 there's no self reference in my example 07:49:06 mad: well, say, in SCI (which is designed to avoid aliasing), if you give a function two arguments, any object can only be mentioned in one of the arguments 07:49:08 Oh, and some local state for each 8x8 block that might take say 512 bytes. 07:49:15 b_jonas : isn't hufman decoding inherently sequential? 07:49:26 (I'm assuming a 2048x1024 pixel image, 8 bit depth channels.) 07:49:51 mad: yes, but if you use a shared huffman table and you mark where each stream starts in the input and output, then you can decode each stream separately 07:50:20 mad: that is actually practicaly for image decoding, and also for image encoding or video de/encoding, but those get MUCH hairier and more complicated 07:50:22 ais523 : if it avoids aliasing then it's in a different category 07:50:40 mad: I'm saying that putting limits on aliasing is higher-level than not putting limits on aliasing 07:50:46 mad: note that this is pure huffman encoding, like jpeg, not deflate-like copy operations from a 16k buffer of previous output. 07:50:48 because it means that you have more information about the data you're moving around 07:51:07 mad: the copy operations are why PNG/zip decompression is really impossible to parallelize or implement fast these days 07:51:39 gzip/zip/PNG made lots of sense when they were invented, but less sense for today's hardware 07:52:03 b_jonas: deflate uses references to locations earlier in the output, right? how much would it change if it used references to locations as they were in the input file? 07:52:03 but JPEG is just as old and ages much better, which is why most modern video formats are similar to it, even if different in lots of specifics 07:52:17 in terms of compression ratio 07:52:17 b_jonas : I guess it works if you have multiple huffman segments that you know the start of 07:52:44 ais523: I'm not sure, I don't really know about modern compression algorithms, and it probably depends on what kind of data you have. 07:52:50 that seems to be GPU-acceleratable, although I haven't worked out the details yet 07:52:50 mad: actually I managed to persue my friend to write the similar thing with the existing deflate stream 07:53:32 doesn't every huffman symbol basically depend on the previous one? 07:53:42 ais523: encoding a video also references previous frames, but in a way than I think is much nicer than gzip, because you only reference one or two previous frames, so you can decode per frame. it might still get ugly. 07:53:45 or specifically the length of the previous one 07:54:06 mad: the point is that DEFLATE uses the end code that is distinctive enough that it can be scanned much quicker 07:54:16 then the friend stucked on the LZ77 window :p 07:55:05 -!- andrew_ has quit (Remote host closed the connection). 07:55:07 has anyone ever done some graph related database stuff? 07:55:09 (it was a term project AFAIK, and the friend did get A even though the prototype was only marginally faster) 07:55:19 Maybe I should write a toy image format and encoder and decoder, just to learn about how this stuff works, even if I don't get anything practically usable. 07:55:24 (since everyone else was doing JPEG decoder stuff) 07:55:33 mroman: I looked into it a bit for aimake 4 07:55:39 but didn't reach the point where it came to actually write the code 07:55:42 (There are already lots of practical image coders out there.) 07:55:43 so so far, all I have is plans 07:56:20 let's assume I have paths in my database A -> B -> D and A -> C -> D 07:56:26 ais523 : I think "non aliasing" for higher language tends to be a synonym for "pure/no side effects" and often "functional" or maybe even "lazy-evaluated functional" 07:56:52 mad: err, the Haskell-alikes have tons and tons of aliasing 07:56:52 and I want to know for example if there's a traffic jam on A -> D 07:56:58 they're just constructed so that it never matters 07:57:08 it doesn't HAVE to be this way but afaik all the "no side effects" languages are functionnal 07:57:10 mad: to be more exact: DEFLATE stream stores the (encoded) tree in the front, and the tree is structured so that every prefix code is ordered by the length of code and then by the lexicographical order. since the end code is least frequent it should appear at the very end, i.e. all 1s. 07:57:26 ais523 : afaik haskell has no real aliasing? 07:57:43 > let x = 4 in let y = x 07:57:44 :1:14: parse error in let binding: missing required 'in' 07:57:51 > let x = 4 in let y = x in y 07:57:53 4 07:58:05 actually GHC probably optimized the aliasing there out 07:58:13 mad: the typical stream has 10--14 one bits for the end code, so the decompressor may try to speculatively decode the stream from that point 07:58:24 but x and y would be aliases in a naive Haskell implementation 07:58:31 there's just no way to tell from within Haskell itself 07:58:34 (and the project was for CELL processor, quite amenable for this kind of things) 07:58:56 because if two things alias, the normal way you tell is either to use a language primitive that tells you that, or to modify one and see if the other changes 07:59:17 ais523 : yes but they're basically not real aliases because you can't write in one and get surprise changes in the other 07:59:20 the traffic jam could be between A -> B, B -> D, A -> C, C -> D or A -> D itself 08:00:00 multiple readonly pointers to the same block of memory isn't a problem 08:00:00 mroman: huh, that's an interesting operation 08:00:12 mad: keep going and you'll invent Rust ;-) 08:00:24 other questions are: Are there paths from A to D that are not equally fast. 08:00:26 the problem is when one of this pointers writes something 08:00:42 and it's impossible to say which other pointers will see the write 08:01:10 at local level it's usually possible to figure it out (LLVM's alias solving does this) 08:01:18 at global level it becomes impossible 08:01:23 mroman: the SQLite docs have an example of doing transitive closure via a recursive query 08:01:47 I'm not sure if the performance is better or worse than running Dijkstra's algorithm from outside with a series of queries 08:01:56 that's one of x86's "voodoo" advantages 08:02:05 ais523: I have to afk for some hour now, but I can tell my preliminary opinion on rust later. 08:02:08 it doesn't require memory reordering to perform well 08:02:14 (the constant factor should be better, but the asymptotic performance might be worse if it's using a bad algorithm) 08:02:52 if it was possible to do more efficient memory reordering then x86 would be gone by now 08:03:41 some RISC or VLIW would have been twice as fast as x86 and everybody would be switching 08:05:41 as it is, the best cpu design practice, as far as I can tell, is to assume that loads/stores aren't going to move, and rearrange basically everything else around them 08:07:56 result: out-of-order execution 08:10:04 itanium tried to do compile time rearranging with some complex run-time checking+fallback mechanism 08:10:06 and it failed 08:15:57 -!- Elronnd has quit (Quit: Let's jump!). 08:21:21 -!- Elronnd has joined. 08:41:33 -!- tromp has joined. 08:46:18 -!- tromp has quit (Ping timeout: 276 seconds). 08:54:12 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 09:00:14 -!- bender| has joined. 09:04:30 -!- olsner has quit (Ping timeout: 276 seconds). 09:09:20 -!- ais523 has quit. 09:21:06 -!- AnotherTest has joined. 09:25:57 -!- AnotherTest has quit (Ping timeout: 268 seconds). 09:29:33 -!- J_Arcane has quit (Ping timeout: 240 seconds). 09:30:48 -!- olsner has joined. 09:36:34 -!- olsner has quit (Ping timeout: 240 seconds). 09:38:37 [wiki] [[Talk:Brainfuck]] https://esolangs.org/w/index.php?diff=46491&oldid=46410 * Rdebath * (+4885) Shortest known "hello world" program. -- Define "shortest"! 09:45:55 -!- andrew_ has joined. 09:59:25 -!- andrew_ has quit (Remote host closed the connection). 10:13:17 -!- nisstyre_ has changed nick to nisstyre. 10:13:27 -!- nisstyre has quit (Changing host). 10:13:27 -!- nisstyre has joined. 10:16:26 -!- AnotherTest has joined. 10:19:11 -!- int-e_ has changed nick to int-e. 10:25:59 -!- AnotherTest has quit (Ping timeout: 260 seconds). 10:35:23 -!- olsner has joined. 10:42:11 -!- tromp has joined. 10:45:42 -!- jaboja has joined. 10:46:18 -!- tromp has quit (Ping timeout: 244 seconds). 11:37:27 -!- boily has joined. 11:42:25 -!- jaboja has quit (Ping timeout: 240 seconds). 12:16:30 FUNGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT! 12:16:41 `? fungot 12:17:04 fungot is our beloved channel mascot and voice of reason. 12:18:56 FireFly: MASCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT! 12:19:10 oops, wrong autocompletion. 12:19:34 fizzie: MASCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT! FUNGOOOOOOOOOOOOOOOOOOOOOOOOT! !?!???!?!?!!???!!!!!! 12:23:22 -!- boily has quit (Quit: NONPLUSSING CHICKEN). 12:51:19 -!- jaboja has joined. 12:53:43 -!- fungot has joined. 12:53:49 TOO LATE 13:02:49 fungot, how are you doing 13:02:49 Taneb: i'm sure it appeared on l:tu or winxp? ;p 13:09:29 -!- oerjan has joined. 13:36:29 -!- spiette has joined. 13:48:08 -!- AnotherTest has joined. 13:56:01 -!- jaboja has quit (Ping timeout: 240 seconds). 14:28:25 -!- Alcest has joined. 14:30:40 -!- zadock has joined. 14:42:14 @tell mad can functional programming generate cycles? <-- in haskell it can, e.g. lst = 1 : lst defines a cyclic list, which is nevertheless immutable. (Technically you can in ocaml too, but only for simple constant initializers.) 14:42:14 Consider it noted. 14:52:33 -!- `^_^v has joined. 14:56:24 -!- lambda-11235 has joined. 15:24:49 -!- UrbanM has joined. 15:28:03 hi please check out my website . http://sh.st/RptZh... ty :) i promise its not a virus 15:28:45 -!- tromp has joined. 15:29:16 got a virus 15:30:45 hi please check out my website . http://sh.st/RptZh... ty :) i promise its not a virus 15:32:13 -!- ChanServ has set channel mode: +o oerjan. 15:32:34 -!- oerjan has set channel mode: +b *!*Master@*.38.31.175.cable.t-1.si. 15:32:34 -!- oerjan has kicked UrbanM You are not _our_ Urban M. 15:33:03 -!- tromp has quit (Ping timeout: 244 seconds). 15:39:29 oerjan: of course the immutability of Haskell is a lie. 15:39:54 (I'm alluding to thunk updates.) 15:40:24 who is urban m? 15:41:21 brainfuck guy... yes 15:41:27 https://esolangs.org/wiki/Urban_M%C3%BCller 15:41:59 (ah, there was a question mark before the ellipsis. I typed that, then googled to confirm.) 15:42:55 however... the user above looked more like and imposter 15:44:04 sh.st... "shorten urls and learn money"... sounds legitimate 15:49:51 so what do we get... googla analytics, tons of ads, some trackers, and did they actually put a captcha before the embedded link? 15:50:06 (I'm looking at page source code) 15:51:06 and there's a ton of javascript I haven't looked at. 15:52:57 -!- XorSwap has joined. 15:55:41 -!- lambda-11235 has quit (Quit: Bye). 15:57:42 int-e: thus i also mentioned ocaml hth 15:57:47 -!- oerjan has set channel mode: -o oerjan. 16:00:26 btw does ghc allocate a thunk for a simple lst = 1 : lst; lst :: [Int] 16:06:31 what is an l2 job? 16:06:41 -!- bender| has quit (Ping timeout: 250 seconds). 16:06:51 jobs outside of italy are so hard to grasp 16:08:16 -!- augur has joined. 16:09:31 -!- mroman has quit (Quit: Lost terminal). 16:12:06 -!- oerjan has quit (Quit: Later). 16:24:24 -!- augur has quit (Remote host closed the connection). 16:24:58 -!- augur has joined. 16:29:38 -!- augur has quit (Ping timeout: 250 seconds). 16:40:29 @tell oerjan btw does ghc allocate a thunk for a simple lst = 1 : lst <-- wow, apparently not (checked assembly output from ghc-7.10.2 with -O2, native code gen) 16:40:29 Consider it noted. 16:43:06 @tell oerjan even ghc-7.6.3 didn't allocate a thunk, that's as far back as I can easily go 16:43:06 Consider it noted. 16:50:47 -!- zzo38 has joined. 16:55:38 -!- Treio has joined. 17:04:31 -!- jaboja has joined. 17:15:35 -!- Treio has quit (Quit: Leaving). 17:17:03 -!- XorSwap has quit (Ping timeout: 240 seconds). 17:44:11 -!- XorSwap has joined. 17:54:06 -!- augur has joined. 18:06:44 -!- augur has quit (Remote host closed the connection). 18:09:19 -!- lambda-11235 has joined. 18:14:01 -!- MoALTz has joined. 18:33:44 https://github.com/bloomberg/bucklescript 18:38:19 -!- lleu has joined. 18:39:38 -!- augur has joined. 18:46:04 -!- heroux has quit (Ping timeout: 264 seconds). 18:46:47 -!- XorSwap has quit (Ping timeout: 244 seconds). 18:49:59 -!- augur has quit (Read error: Connection reset by peer). 19:08:07 -!- zadock has quit (Quit: Leaving). 19:11:01 -!- lynn has joined. 19:14:12 -!- heroux has joined. 19:21:10 -!- XorSwap has joined. 19:31:22 -!- hppavilion[1] has joined. 19:33:31 I am here 19:40:45 Did you work out those categories? 19:42:34 shachaf: I'm actively working on that xD 19:43:54 shachaf: I'm currently trying to figure out the type of the arrows in example (A) 19:44:12 ("Type" may not be the correct word, but it gets the point across if I send this message) 19:44:24 The type of an arrow from A to B is A -> B 19:44:46 shachaf: Yeah, I mean I'm trying to figure out what they represent 19:45:12 shachaf: I think the only thing I've figured out is that in (A), composition represents the transitive property of ≤ 19:45:35 Yes. 19:45:40 What does identity represent? 19:45:59 shachaf: The fact that a value is less than or equal to itself 19:46:04 (specifically, x = x) 19:46:10 aka reflexivity 19:46:12 (there for x ≤ x) 19:46:17 int-e: Yes, yes. 19:50:15 -!- lambda-11235 has quit (Ping timeout: 264 seconds). 19:51:17 shachaf: Wait, do arrows just represent arbitrary relations? 19:51:22 An arrow doesn't have to represent anything. 19:51:29 shachaf: Oh. 19:51:38 shachaf: So an arrow can just be an arrow? 19:51:46 It doesn't have to represent a function? 19:51:51 Or funtro 19:51:54 *functor 19:52:01 Or transformation of any sort 19:52:05 -!- lambda-11235 has joined. 19:52:06 Sometimes an arrow is just a cigar. 19:52:26 shachaf: Is arrow a type of cigar? 19:52:32 hppavilion[1]: you can interpret any relation on a set as a directed graph with that set as nodes (allowing loops, not allowing multiple edges) 19:52:56 Arrows don't have to represent functions, no. 19:52:58 I don't smoke, so if it is a type of cigar I wouldn't get the joke 19:53:01 shachaf: Well yeah 19:53:02 Or transformations, whatever that is. 19:53:08 shachaf: It was the best word I could think of 19:53:19 but you really need reflexivity and transitivity to make a category that way 19:53:21 shachaf: Do arrows have to mean something, or can they just be arrows? 19:53:35 they can be just arrows 19:53:40 OK 19:53:47 int-e: And is that the case for category (A)? 19:54:20 int-e: Where a -> b iff a <= b 19:54:29 I don't know what example (A) refers to. 19:54:37 int-e: That ^ 19:54:39 ah. 19:54:57 well, arguably the underlying relation gives the arrow *some* meaning 19:55:12 it's really a philosophical question at this point. 19:55:15 int-e: Ah 19:55:36 int-e: But do they not represent anything in the way Set has arrows representing functions? 19:56:18 right 19:56:38 int-e: Or could it be argued that they represent Void? xd 19:56:39 *xD 19:56:45 (That was a joke, I think) 20:01:01 -!- Phantom_Hoover has joined. 20:17:43 -!- lambda-11235 has quit (Quit: Bye). 20:19:04 -!- XorSwap has quit (Ping timeout: 252 seconds). 20:42:54 -!- p34k has joined. 20:46:09 To allow other program to change resources of a window in the X window system, you could have the other program appends a null-terminated string to a property on that window, and then that client watches that property and reads and deletes it and adds that string into the resource manager. You can also send commands that aren't resources too in the same way, by adding a prefix to specify 20:47:31 Add RESOURCE_MANAGER into the WM_PROTOCOLS list to specify that this function is available, I suppose. 20:48:03 -!- spiette has quit (Ping timeout: 240 seconds). 20:48:17 Does it make sense to you? 20:52:17 The format of the property must be 8, the type must be STRING, and the mode must be PropModeAppend. 21:03:01 -!- spiette has joined. 21:05:16 -!- `^_^v has quit (Quit: This computer has gone to sleep). 21:17:12 -!- augur has joined. 21:24:33 -!- augur has quit (Ping timeout: 240 seconds). 21:30:16 -!- ais523 has joined. 21:33:19 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:33:54 -!- hppavilion[1] has joined. 21:34:16 -!- spiette has quit (Quit: :qa!). 21:35:00 -!- spiette has joined. 21:39:22 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:47:31 -!- J_Arcane has joined. 22:04:25 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:43:27 -!- spiette has quit (Quit: :qa!). 22:47:13 -!- jaboja has quit (Remote host closed the connection). 22:49:51 whoa 22:50:31 I'm trying to line up the Szabó Lőrinc translation and the original of Tennyson: Ulysses exactly. But it turns out the translation is one line shoter. 22:50:50 It's missing the line that would correspond to “Death closes all: but something ere the end,” 23:08:27 -!- ais523 has quit. 23:27:37 -!- oerjan has joined. 23:27:46 -!- shikhin has changed nick to shikhun. 23:28:17 -!- shikhun has changed nick to shikhin. 23:28:20 @messages- 23:28:21 int-e said 6h 47m 51s ago: btw does ghc allocate a thunk for a simple lst = 1 : lst <-- wow, apparently not (checked assembly output from ghc-7.10.2 with -O2, native code gen) 23:28:21 int-e said 6h 45m 14s ago: even ghc-7.6.3 didn't allocate a thunk, that's as far back as I can easily go 23:34:03 -!- FreeFull has quit (Quit: Rebooting). 23:36:13 -!- FreeFull has joined. 23:41:15 -!- b_jonas has quit (Ping timeout: 250 seconds). 23:42:17 -!- b_jonas has joined. 23:43:30 -!- p34k has quit. 23:43:37 -!- hppavilion[1] has joined. 23:47:52 -!- boily has joined. 23:48:12 fungot: fungellot. 23:48:13 boily: it is edited to remove the 0 parameter? i was thinking 23:48:20 fungot: no you weren't. 23:48:21 boily: ( code is 2.1mb so that may not have 23:48:26 fungot: yes I do. 23:48:26 boily: wait a minute!! i am having trouble with this stub generator. it has. 23:48:47 fungot: stub generators suck, stubs suck, and asynchronous services especially suck. 23:48:47 boily: sperber was here mar 17 at 11:11 pm utc, saying: or check out file-select and tcp-listener-fileno 23:48:53 "it has." seems a bit too stubby indeed. 23:49:25 boheily. 23:49:59 hellørjan. 23:50:22 @@ @tell oerjan @@ @@ (@where weather) ENVA KOAK 23:50:22 who's sperber? 23:50:54 hellochaf. 23:50:57 @messages- 23:50:58 Plugin `compose' failed with: <> 23:50:59 You don't have any messages 23:51:13 ho hum. 23:51:28 boily: Good afternoon, person. 23:52:04 boily: i dunno but he was there mar 17 hth 23:52:21 silly oerjan 23:52:25 mar 17 hasn't happened yet 23:52:43 then why is fungot using past tense, duh 23:52:44 oerjan: with the procedure for-each? ie i have a question about static links. i really should read up on macros? like atom? 23:53:13 time to a fungot is an irrelevant concept hth 23:53:14 boily: i don't apply this level of dynamic typing... it mentioned that static typing is in the browser while allowing quick access to the enclosing command. 23:53:26 fungot: are you a dreen 23:53:26 oerjan: because bash gets exactly 3 parameters with that invocation, and 0 added to any number of arguments, you have 23:54:40 fungot: hingot 23:54:41 shachaf: some may.....but not all. but many more possibilities than chess. many. most things just work. at least now atm 23:54:55 ^style calvinandhobbes 23:54:55 Not found. 23:54:58 What! 23:55:10 fizzie: plz fix twh hth 23:58:26 * boily wraps fungot in a chicken costume 23:58:27 boily: and i think he said some weird things involving crazy symbols and actions. i'm purely interested in the same ballpark, and roughly between chicken and stalin might be one way of doing that 23:59:20 -!- grabiel has joined. 2016-03-04: 00:00:11 `relcome grabiel 00:00:33 ​grabiel: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 00:00:34 . o O ( there should be a way to make my IRC client autocomplete `relcomes or something... ) 00:01:43 -!- grabiel has left. 00:03:03 http://www.emojicode.org/ 00:03:17 oh, well. yet another emoji craze 00:03:35 Yurumello. have I ever seen you before? 00:03:50 I am an alter ego of lifthrasiir 00:03:57 oooooh tdh 00:04:13 -!- augur has joined. 00:04:49 just to say. 00:05:55 boily: tdh didn't help htdh 00:06:08 `? htdh 00:06:09 HtDH is a classic text on How to Design Hotdogs or possibly Hogprams. It is all about functional condiments, and was co-authored by Herence Tao and Don Ho. 00:06:19 boily: that was a canaima, you should have used `bienvenido hth 00:06:40 `culprits wisdom/htdh 00:06:43 oerjan oerjan elliott Bike FreeFull cpressey cpressey cpressey 00:06:46 oerjan: what should a variant of culprits that looks in wisdom/ be called 00:06:48 oerjan: tdht. 00:09:41 -!- augur has quit (Remote host closed the connection). 00:10:24 shachaf: pundits hth 00:10:52 @wn pundit 00:10:53 *** "pundit" wn "WordNet (r) 3.0 (2006)" 00:10:54 pundit 00:10:54 n 1: someone who has been admitted to membership in a scholarly 00:10:54 field [syn: {initiate}, {learned person}, {pundit}, 00:10:54 {savant}] 00:11:06 * boily mapoles oerjan (0.5 shachafs) 00:11:39 `? boily 00:11:41 ​"Only sane man" boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. 00:11:43 zzo38: I found a game called TIS-100 on steam and recently bought it 00:11:49 boily: the "pun" at the beginning wasn't the deciding factor hth 00:12:03 oerjan: and yet you punned it anyway 00:12:13 it was half a funpuns, so 0.5 shachafs. 00:12:13 <\oren\> @metar cyyz 00:12:14 CYYZ 040000Z 08006KT 15SM FEW050 BKN160 M05/M10 A3015 RMK SC2AC5 SLP222 00:12:15 zzo38: It's an ASM programming game for a massively-parallel architecture called the TIS-100 (Tessellated Intelligence System) 00:12:29 he\\oren\. did you get blizzarded? 00:12:33 @@ @@ (@where weather) cyyz 00:12:36 CYYZ 040000Z 08006KT 15SM FEW050 BKN160 M05/M10 A3015 RMK SC2AC5 SLP222 00:12:38 <\oren\> a little 00:12:39 much better 00:13:03 <\oren\> um wtf is @@ @@ supposed to do 00:13:39 <\oren\> stupid haskull line noise 00:14:01 the rube goldberg weather forecast 00:15:08 @help @ 00:15:08 @@ [args]. 00:15:08 @@ executes plugin invocations in its arguments, parentheses can be used. 00:15:08 The commands are right associative. 00:15:08 For example: @@ @pl @undo code 00:15:08 is the same as: @@ (@pl (@undo code)) 00:16:07 hm is @@ a kind of join 00:16:21 \oren\: it's not haskell syntax hth 00:16:45 haskell more like has kool 00:16:51 gains kool until end of turn 00:18:34 shachaf: extra points for using the original hindi पण्डित hth 00:28:14 -!- lambda-11235 has joined. 00:32:46 We should make an ASM programming game... 00:32:58 One that makes grown men cry, of course 00:33:27 We had a TIS-100cussion on the channel at least once. 00:34:01 I liked it. 00:34:23 (The game, not the discussion.) 00:34:35 fizzie: Yep 00:36:25 It might not quite count as massively parallel, wasn't it at most something like 3x4 nodes? 00:38:11 -!- tromp has joined. 00:39:12 fizzie: That's a single segment 00:39:22 -!- Alejandro15 has joined. 00:39:27 fizzie: In theory, it actually has thousands upon thousands of nodes 00:39:38 `relcome Alejandro15 00:39:39 ? 00:39:40 ​Alejandro15: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 00:40:08 Oh, I didn't parse the backstory like that at all, but I guess that's likely true, since it's always different nodes that are broken. 00:40:24 fizzie: Yep, I was going to say that, but the message changed xD 00:40:42 fizzie: What's the high-level equivalent of massively parallel? 00:40:55 Alejandro15: ¿habla usted español? 00:42:33 fizzie: I imagine in high-level massively parallel computing, you can create new ports at runtime 00:43:00 -!- Alejandro15 has quit (Quit: Leaving.). 00:43:01 massively parallel computing is a bitch. but at least there's MPI. I love MPI. 00:43:21 oerjan: see, I asked something in Spanish and he didn't even answer! 00:43:25 boily: MPI? 00:43:41 https://en.wikipedia.org/wiki/Message_Passing_Interface 00:44:01 boily: How is MPC a bitch? 00:44:08 What did MPC ever do to you? 00:44:13 Were- were you dating? 00:44:14 MPI: simple, easy to grok, useful, documented to hell and back, and pragmatic. 00:44:19 ha ha ha :D 00:44:43 no, I did some research stuff with heavily parallelized SVMs a few years ago. 00:44:49 * hppavilion[1] awaits a joke about how MPI was in bed- something about practically being in two places at once or something 00:45:03 I don't joke, I am sane. 00:45:10 (well, I don't joke that much.) 00:45:10 boily: i think cantv.net also implies canaima hth 00:45:13 (ok, reasonably.) 00:45:23 oerjan: why I Spanished. 00:46:55 "Compañia Anónima Nacional Teléfonos de Venezuela" 00:47:10 fizzie: It's also interesting that the pattern of broken nodes is consistently the ones that you might want to use 00:48:35 next Venezuelan to join the chännel, everybody should switch to Spanish. maybe we'll catch one! 00:49:45 ok, canaima and cantv are not quite the same thing, but connected. 00:51:18 -!- lynn has quit (Ping timeout: 246 seconds). 00:51:32 -!- tromp has quit (Remote host closed the connection). 00:52:24 I don't joke, I am sane. <-- * now imagining a batman villain saying that... 00:53:57 it probably doesn't end well for em. 00:56:30 fizzie: What would be a good architecture for an ASM game? 00:56:39 Phantom_Hoover, I found out today that one of the people I play D&D with is on the York submarine jousting team 00:59:08 Taneb: are you trying to keep this up until actual submarines are jousted twh 00:59:23 or at least models 00:59:44 oerjan, I started it because I forgot what the sport was called 01:00:00 Keeping it up because somehow "submarine jousting" sounds less silly than the truth 01:02:28 -!- Elronnd has changed nick to ProzacElf. 01:05:56 Taneb, did you mention that his team are bastards 01:06:18 fizzie: YOu didn't like the discussion? 01:08:38 -!- ProzacElf has changed nick to Elronnd. 01:08:57 Phantom_Hoover, I didn't feel it polite 01:09:03 He did comment that your team were very good 01:10:29 oerjan: No, Taneb means jousting underwater- it's sub-marine jousting 01:10:39 hppavilion[1]: If you mean real architectures (games for some reason tend to prefer made-up ones), for some reason my first thought would be the Z80. 01:10:57 fizzie: Architecture in the abstract I mean 01:11:10 fizzie: Not a specific architecture; a general architecture paradigm 01:11:47 Oh. I'd just do something that actually exists. I'm not sure how that would turn out to be a "game", though. 01:12:44 fizzie: I think the point of those games is that the creators enjoy making the architecture 01:14:01 The DCPU-16 had really silly operand encodings. 01:15:26 Taneb, this is of course true, was he on their A or B team though 01:15:32 (we never played the A team) 01:15:34 hppavilion[1]: shut up and don't crush my dreams 01:16:15 fizzie: Oooh, perhaps the arch for this game could use those negative-level MOVs? 01:16:29 -!- 7YUAAGGC0 has joined. 01:16:58 Phantom_Hoover, I don't know, although he certainly didn't deny it when I asked if he'd played Warwick recently 01:19:28 york A were good last time we played them, they just ended up in a tough group this year 01:19:46 they certainly know how to organise a tournament 01:20:28 There's always the time-honoured thing of taking some feature that actually exists (say, pipelines with delay slots) and just going overboard with it. 01:22:23 Anyway, I'm going to bed now 01:22:24 Goodnigh 01:22:29 bonne tanuitb! 01:25:27 `wisdom 01:25:30 alg. ii/Algae II, the successor class to Algae I. Discusses hydroponics and such. 01:26:29 `` sed -i 'sa\aeaæa' wisdom/alg* 01:26:33 No output. 01:27:16 wat 01:27:28 `` ls wisdom/alg* 01:27:29 wisdom/algebraic number theory \ wisdom/alg. ii \ wisdom/algol \ wisdom/algorithm 01:27:43 `` grep æ wisdom/alg* 01:27:45 wisdom/alg. ii:Algæ II, the successor class to Algae I. Discusses hydroponics and such. 01:28:10 boily: *cough* 01:28:13 oh. 01:28:15 hm. 01:28:17 eh. 01:28:19 uuuuh. 01:28:21 `revert 01:28:29 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 01:28:39 * boily whistles 01:34:35 fizzie: One of the interesting things we can do with ASM games is have features that are nigh-impossible on real computers 01:34:38 e.g. register sets 01:43:21 register sets? 01:48:15 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:53:15 -!- lleu has quit (Quit: That's what she said). 02:05:37 mad: Registers that can include multiple values 02:05:44 mad: I suppose it's a bit quantum, actually 02:05:54 But without the probabilisticness 02:07:05 does it have entanglement between multiple registers? 02:09:15 dang this cpu design idea I'm trying to develop is so hard to get anywhere 02:10:43 (the thing where you have an accumulator and chains of related operations are issued together on an execution unit and run sequentially on the accumulator) 02:13:44 I'm trying to find a compromise between too much dynamic scheduling (the problem on out-of-order RISCs) and too much static scheduling (the problem on VLIWs) 02:16:15 and the complexity spirals out of control 02:19:21 'night all! 02:19:40 -!- boily has quit (Quit: BRANCHING CHICKEN). 02:22:59 yet it's close enough to a solution that I get all obsessed 02:25:24 1 instruction is something like 02:25:33 : 02:27:26 4 renames - one for each regfile partition (partition 0 is r0,r4,r8,r12,r16,r20,r24,r28, partition 1 is r1,5,9,13,17,21,25,29, partition 2 is r2,6,10,14,18,22,26,30, partition 3 is r3,7,11,15,19,23,27,31). each of the 4 renames can also be replaced by a nop. 02:29:03 8 writebacks. each writeback must use one of the 4 renames. also, you have a flag to indicate the last writeback for each of the 4 regfile partitions (the one that gets written to the regfile for real) 02:33:31 8 microthreads. each microthread contains a block of instructions that gets assigned to one execution unit and executed sequentially. each instruction is in the form of [alu op][reg x][reg y/immediate], with the result written to the accumulator and optionally written to a regfile register(corresponding to one of the 8 writebacks). each register operand can be either one of the 32 permanent register, the accumulator, or one of the 8 writebac 02:34:44 -!- oerjan has quit (Quit: Nite). 02:35:47 4 or 8 memory operations(not sure of the limit to set yet) (either loads or stores or nops). the order of memory operations is preserved even though the microthread execution is fully reordered. 02:36:28 offset to the next instruction (probably with some forced alignment - maybe 16bytes) 02:37:34 the idea of the whole thing is that it can be issued in 1 cycle 02:37:38 at least in theory 02:39:41 the register renamer grabs 8 free physical registers, changes up to 4 physical register assignments to architectural registers 02:40:31 mad: I'm trying to come up with interesting designs for CPUs, implementable or not, if you're curious. 02:40:40 No, no entanglement; I guess it's not fully quantum 02:41:15 it does all the renames of every register operand in parallel (which can be done in 1 cycle since the effect of renaming registers within an issued instruction is done beforehand) 02:41:44 fizzie: The difficulty with TIS-100 is that you have a limit of 15 instructions/node 02:41:45 I'm obsessed with making it implementable too 02:42:44 It's logical to have limitations (except that labels count as lines, which is bullshit), but 15 lines is a little too small (also, 15 isn't a power of 2) 02:42:52 mad: Fair enough 02:49:53 for instance this sample resampling loop comes down to 2 instructions: 02:50:04 :loop 02:50:04 shr ph 16, lds [sb + ac*2] -> d0 02:50:04 add ph $10000, shr 16, lds [sb + ac*2] -> d1 02:50:04 and ph $ffff -> d2 02:50:04 lds [bu] -> d3 02:50:05 sub d1 d0, mul d2, sar 16, add d0 -> d0, mul vl, sar 16, add d3, st [bu] 02:50:05 lds [bu+4] -> d3 02:50:06 mul d0 vr, sar 16, add d3, st [bu+4] 02:50:08   02:50:13 add vl rl -> vl 02:50:13 add vr rr -> vr 02:50:13 add ph fr -> ph 02:50:13 add bu 4 -> bu, cmp be, jz loop 02:52:54 the first instruction has 7 microthreads, 6 writebacks (-> d0, -> d1, -> d2, -> d3, -> d0, -> d3), 4 renames (d0 d1 d2 d3), 6 load/store operations (lds [sb + ac*2], lds [sb + ac*2], ld [bu], st [bu], ld [bu+4], st [bu+4]) 02:53:46 second instruction has 4 microthreads, 4 writebacks (-> vl, -> vr, -> ph, -> bu), 4 renames (vl vr ph bu) 02:54:04 assuming that vl, vr, ph and bu are in different regfile partitions 02:57:41 assuming that the subinstructions take 2-4 bytes each, the first instruction takes somewhere between 40-80 bytes, second one about 12-24 bytes 02:58:19 presumably to keep it busy you'd need an instruction cache at least 32 bytes wide 02:59:18 if stars align in theory it can run the whole loop in 2 cycles per iteration 03:01:14 a possible design is that the subinstructions go in normal instruction cache, and the renaming info that tells how to run it in parallel is generated on the fly and stored in a trace cache 03:01:45 so on first iteration it runs at like 1 instruction per cycle and analyzes the instruction sequence for how to parallelize it 03:02:12 and stores that in a trace cache so that next iteration is super parallelized 03:04:35 it would probably need a really wide data cache to run that fast too 03:05:03 like the kind of monstruously complex banked data cache that does 2 loads + 1 store per cycle you find on modern CPUs 03:07:01 in theory it doesn't need 2 register file ports per execution unit either, but I'm not sure how to ration that intelligently 03:07:19 because some instructions need 2 ports, some need 1, some need 0 03:08:38 also it has the weakness that the register renamer needs to know which execution unit will get which writeback (because they actually are separate register files for each execution units, read ports are shared but write ports aren't) 03:10:07 so yeah the whole thing works in theory but in practice is overly complex and probably needs to be cut down 03:10:23 and it's probably not well balanced 03:12:30 -!- XorSwap has joined. 03:13:10 @wiki Game Theory 03:13:10 http://www.haskell.org/haskellwiki/Game_Theory 03:13:17 Hm... 03:13:41 I was hoping that would lead to wikipedia, but in retrospect that seems silly 03:13:51 in theory you could make a VLIW version of the above but I think it would be very hard to properly static schedule 03:14:00 mad: OLIW is better than VLIW 03:14:02 and it would probably stall way too easily 03:14:03 @wikipedia Game Theory 03:14:03 Unknown command, try @list 03:14:06 what's OLIW? 03:14:09 `wiki Game Theory 03:14:12 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found 03:14:17 mad: Obscenely Long Instruction Word 03:14:28 how is it better 03:14:41 aside from burning through instruction cache faster 03:14:43 mad: I just like it more 03:14:58 mad: OLIW has instruction sets within instruction sets 03:15:05 http://pastebin.com/wz3WwSbF is an example of an OLIW architecture 03:15:06 also the cpu I described above is a pretty good candidate for OLIW :D 03:15:37 64byte instruction words aren't for the faint of hearth 03:17:40 mad: Mine maxes out at 2752577 bytes per instruction word 03:17:51 mad: Instruction sets within instruction sets 03:18:07 (Every instruction word is executed concurrently) 03:18:19 how is that electrically possible 03:18:25 ("Instruction word" doesn't really apply at this point though; it's more of an instruction paragraph) 03:18:36 mad: Electrically possible? No. 03:18:43 mad: Not on normal machines 03:19:06 mad: It doesn't /have/ to be 2752577 bytes. 03:20:05 mad: I mean, it might be implementable on hardware, because it doesn't use all 2752577 bytes at a time 03:20:24 dunno, does it have latency causing characteristics? 03:20:47 mad: Probably 03:21:14 mad: It has properties like instruction words having length headers 03:21:26 mad: Which probably causes a shitton of latency 03:22:01 mad: Did you /want/ something with the word "Obscenely" in it to be practical? 03:23:19 I also have a hard time figuring out what all those fields mean 03:23:43 mad: Would you like an explanation? 03:23:54 You'll be stuck here for a while 03:24:06 not if you can't make it short 03:24:16 mad: I can try 03:24:33 it looks like it has 0..65535 conditions 03:24:38 mad: Yes 03:24:55 what's the condition group thing 03:24:56 mad: Instructions are basically a long list of normal ALU instructions (something you might find in a real machine) enclosed in a giant WHILE loop 03:25:21 mad: The condition is a series of instructions from a separate instruction set within the main one 03:25:49 mad: The condition is divided into groups, and the while loop- when checked- terminates when /all/ conditions are true in /any/ of the groups 03:25:53 That was easy 03:27:09 what are the condition instruction arguments and why are they *8 03:27:42 mad: Condition instruction arguments are the things the condition checks! 03:28:11 And they're *8 because I didn't understand ISAs at the time, but each argument is 8 bytes that references a memory location 03:28:42 is that an absolute address or it's coming from some calculation? 03:29:24 mad: I'm not a pro with ISAs. I don't even know for certain what that question means. 03:29:30 However, if my guess as to what it means is correct 03:29:48 are they like 64bit memory addresses? 03:29:53 mad: Yes 03:29:59 It doesn't matter really, it depends on the exact design 03:30:04 ok 03:30:09 It's just an outline, not an in-depth spec 03:30:21 what are the body flags 03:30:27 mad: I'm still trying to remember 03:30:37 Same with start and term arguments 03:31:14 where does it store the results? 03:31:38 -!- augur has joined. 03:31:38 mad: An accumulator 03:31:41 mad: IIRC 03:32:08 I made this a month or two ago (while talking to you, IIRC), and didn't kept detailed notes 03:32:14 -!- augur has quit (Remote host closed the connection). 03:32:20 If you like, I can make a better one with detailed documentation 03:32:31 no I guess I've had my fill 03:32:36 OK 03:32:48 I might make another one anyway just for fun 03:32:51 like it does have obscenely large instructions 03:32:54 but that's about it 03:33:10 mad: Yep, that's the point ;) 03:33:28 mad: Also, compiling to it (or even programming in its ASM) is completely different 03:33:54 mad: It includes nonnesting WHILE loops as a primitive rather than JMPs, which makes it very different 03:34:14 considering that every instruction loads tons of stuff from memory it's not like compilation can be efficient anyways 03:34:36 mad: Correct. 03:34:54 mad: It's an esolang, really, or at least an outline for it 03:35:19 it's more an esolang than a cpu ues 03:35:20 yes 03:37:13 mad: It's an EsoCPU 03:37:35 It is implementable on hardware conceivably, just not efficiently or in small space 03:38:12 well 03:38:22 you can implement a MIPS that runs an emulator :D 03:41:28 if you can get the emulator to do a memory load per cycle it's not even slower than the real thing 03:44:00 -!- feliks has joined. 03:48:35 -!- augur has joined. 03:49:33 -!- J_Arcane has quit (Ping timeout: 240 seconds). 03:53:04 -!- augur has quit (Ping timeout: 260 seconds). 03:55:06 -!- augur has joined. 03:58:05 Oh... oh god https://www.youtube.com/watch?v=Mk3qkQROb_k 04:13:46 hppavilion[1] : that's... wrong 04:14:20 mad: Agreed 04:14:49 mad: It must be so hard for people who program in java to make funny comments written in code... 04:23:52 -!- heroux has quit (Ping timeout: 264 seconds). 04:24:28 -!- heroux has joined. 04:27:41 -!- clog has quit (Ping timeout: 250 seconds). 04:33:23 -!- XorSwap has quit (Read error: Connection reset by peer). 04:33:52 -!- XorSwap has joined. 04:36:46 -!- bender| has joined. 04:37:53 -!- FreeFull has quit (Ping timeout: 268 seconds). 04:38:30 -!- idris-bot has quit (Ping timeout: 268 seconds). 04:43:12 is there a good scripting language with no garbage collector (and possibly no dynamic typing) ? 04:44:34 Tcl? 04:44:41 I'm asking because at work we do VST plugins at it would be nice to have a scripting language for doing stuff like envelopes and lfos and modulations and custom arpeggiators but the standard options like LUA can't be used because of the really short latency constraints 04:45:02 Tcl's even meant to be embedded. 04:45:16 manual memory management in scripting? 04:45:39 maybe what you need to *control* over the gc 04:46:03 GC would need absolutely no "stop the world" 04:46:12 not even 1ms 04:46:45 -!- fungot has quit (Ping timeout: 250 seconds). 04:46:48 whoa whoa whoa, GC that doesn't need to stop the world? 04:46:50 basically there generally can't be any memory allocation/freeing on the audio thread generally 04:46:52 Stop the presses! 04:48:10 like if it allocates memory as part of how it calculates stuff (like writing array values in a lot of script languages) then it can't work 04:48:54 You're gonna have a hard time then. 04:49:20 mad: You know, x^∞ = ∞*sin(x) 04:49:35 (anyone want me to go to ##math and say that?) 04:49:36 A small kind of Forth may be done? 04:49:47 pikhq: Have you had fund learning about the intricacies of HotSpot GCs? 04:49:49 zzo38: Hi! Do you want to make an ASM game? 04:49:56 zzo38: Or provide input? 04:49:59 shachaf: Not personally. 04:50:11 How about fun? 04:50:11 zzo38 : guess it could work out in theory 04:50:21 Not really. 04:50:39 ... Though I predict it'll come up. 04:50:56 hppavilion[1]: Well, you could ask me question if you have any, I suppose (but I am not guaranteed to know the answer) 04:51:06 zzo38: OK 04:51:12 in tcl feature list: "All data types can be manipulated as strings, including source code. Internally, variables have types like integer and double, but converting is purely automatic." 04:51:29 mad: So weak typing? 04:51:31 this is exactly the kind of features that I want it to NOT have 04:51:42 no freaking dynamic typing 04:51:45 So... You don't want a scripting language. 04:51:50 Might I recommend Forth? 04:51:50 mad: With Forth generally you preallocate so you can avoid these problems. 04:51:54 mad: No, this's weak typing 04:52:17 pikhq: Yes that is what I would think, too 04:52:17 Wait, hm... 04:52:41 mad: Dynamic typing is when you can change the type of a variable (something that was once a string can now be an int) in an unregulated fashion (it isn't just retyping) 04:52:53 mad: Static typing is what C has, where variables MUST NOT CHANGE TYPE EVER 04:53:06 mad: Strong typing is where conversions aren't done automatically 04:53:11 zzo38: Yup. It's basically the perfect language for this problem domain: small embeddable language with easily measurable and consistent performance characteristics. 04:53:12 in C variables simply cannot change type 04:53:58 mad: And weak typing- what TCL apparently has- is where values change type based on what's needed ("I know you just tried to add an int to a string, which doesn't make sense, but let's just pretend the int is a string too") 04:54:40 hppavilion[1]: Tcl's semantics (it's not an acronym BTW) are more that all values are strings. 04:54:55 In C a variable has a type which is declared and isn't changed; in JavaScript a variable doesn't have a type, a value has a type and any value can be stored in any variable. 04:55:07 TOOL COMMAND LANGUAGE 04:55:23 but usually written Tcl 04:55:24 pikhq: So it's stupid perl typing? 04:55:30 Also known as BF typing 04:55:52 isn't perl typing like javascript typing except it doesn't have integers? 04:56:00 or numbers that aren't strings 04:56:00 Nah, Perl does not have stringly typed semantics, at all. 04:57:15 ... In Tcl, an implementation which literally stored everything as actual char* strings would be perfectly reasonable (if a little inefficient). 04:58:41 irl I need about 2 variable types 04:58:42 float 04:58:46 and array of float 04:59:44 maybe you need a shader language 05:00:00 shader languages share some characteristics yes 05:00:06 though they don't allow feedback 05:01:09 the one language of this type in the wild is jesusonic 05:01:19 but it's kindof rough 05:01:48 I think you can just make a simple Forth implementation and use that. 05:02:01 Agreed. 05:02:44 yeah if I can convince potential users to live with forth's weird syntax ;) 05:04:14 Although different from other programming languages, I think it is reasonable for what it does. 05:11:59 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 05:18:01 -!- Sgeo_ has joined. 05:20:16 -!- Sgeo has quit (Ping timeout: 252 seconds). 05:27:48 Can you please tell me if this document is good: https://www.npmjs.com/package/remote-xlib 05:28:16 You can plesae complain about what is wrong with it, so that I can fix it please. 05:33:22 -!- adu has joined. 05:36:35 Example program is http://sprunge.us/ZMdg 05:38:31 If you click inside of the window then it makes a pie chart centered at the clicked position. 05:41:11 (Tell me feature request too) 05:52:17 -!- XorSwap has quit (Ping timeout: 244 seconds). 06:01:32 zzo38! 06:02:36 Hello, what do you want please? 06:03:55 I don't want anything 06:04:54 OK 06:05:02 But do you know answer of my question? 06:05:46 (I mean my other question before you join) 06:25:02 zzo38: how am I supposed to know? 06:25:22 zzo38: what was your question? 06:26:25 You can know by the log, but I can repeat it anyways 06:26:54 Can you please tell me if this document is good: https://www.npmjs.com/package/remote-xlib You can plesae complain about what is wrong with it, so that I can fix it please. Also you can make comment about feature request, and other comment/complaint/question too 06:27:31 -!- clog has joined. 06:29:48 zzo38: where is the log? 06:30:54 The IRC log is mentioned in the topic message it is http://codu.org/logs/_esoteric/ but anyways I already repeated my question so that you do not have to 06:32:04 -!- hppavilion[1] has joined. 06:32:46 zzo38: ah, topic, I always forget to look there 06:33:09 my client requires that I click a few things to get to the topic 06:34:02 zzo38: are you looking for HTML validation or English grammar? 06:34:55 Neither (I didn't write the HTML of the webpage anyways); I mean about if the document is clear, if it is sensible, etc 06:35:43 zzo38: ah, so English grammar 06:37:04 And if something is missing, too. 06:37:40 If it doesn't specify correctly how to use the program, or if perhaps some part of the program is wrong or is missing, that is what I mean too. 06:38:09 zzo38: "documentations assume" => "documentation assumes" 06:38:30 actually 06:38:42 zzo38: "These documentations assume" => "This documentation assumes" 06:39:36 -!- FreeFull has joined. 06:40:28 zzo38: also, the relationship between ASCII and 16-bit characters are unclear, 06:40:31 OK I fixed that, although I wasn't really asking about grammar anyways, but rather about errors such as in case it is not possible to understand the operation of this program for example, or if some function you think is important, but is actually missing, etc 06:40:39 "Text ... is treated as 16-bit characters" implies Unicode 06:40:50 adu: Do you know JavaScript? 06:40:50 but you contradict that with ASCII, what exactly do you mean? 06:40:51 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 06:40:55 zzo38: I do 06:41:42 In JavaScript, a string contains 16-bit characters (which is normally interpreted as UTF-16, and the fromCodePoint and codePointAt do so, although it doesn't have to be) 06:42:09 It says "using the encoding of the font"; doesn't that make it clear though? 06:42:13 zzo38: right, so is there a bug in your conversion between JS and Xlib? 06:42:28 No there is not a bug, it is correct. 06:42:29 zzo38: fonts can be unicode, what's the issue? 06:42:51 zzo38: so it's a bug in font-config? 06:42:53 Yes, if the font is Unicode, then the characters are Unicode. Maybe I should add a sentence to mention that? 06:43:03 adu: No it is not a bug in font-config either. 06:43:08 zzo38: why can't you use unicode characters? 06:43:17 zzo38: why are you forcing your users to use ASCII? 06:43:40 You can use Unicode, if you are displaying text of a Unicode font. 06:43:49 zzo38: that's not what your documentation says 06:44:02 Yes, perhaps I should clarify that. 06:44:49 OK I fixed that. (That webpage won't update with all of my fixes now, since I work the changes on my own computer locally) 06:45:24 At the end of that paragraph, I added a sentence that says "If the font encoding is Unicode, then the string is also interpreted as Unicode." Does that make it clear? 06:45:32 yes 06:45:58 OK 06:46:45 the rest seems pretty clear, but then again, I love hierarchies 06:47:21 my only recommendation would be to group them into tasks/topics 06:48:24 I did it by alphabetical with uppercase first, within each block I put first properties of the constructor, and then properties of the instance, and then events. I can add a index with tasks/topics too I suppose, if I can figure out how it should be grouped as. 06:48:42 but sometimes that would cross-cut the class-oriented hierarchy, so I'm not sure if it would make sense in this case 06:49:05 and yes, I know that JS doesn't have classes 06:49:06 I do know that the documentation for X.Drawable.prototype.drawMacro is incomplete. (I will fix this later.) 06:50:52 -!- Sgeo__ has joined. 06:53:13 -!- Sgeo_ has quit (Ping timeout: 252 seconds). 06:58:21 -!- adu has quit (Quit: adu). 07:02:38 -!- bender| has quit (Remote host closed the connection). 07:03:55 -!- bender| has joined. 07:04:51 -!- hppavilion[1] has joined. 07:36:38 -!- mroman has joined. 07:45:24 -!- augur has quit (Remote host closed the connection). 07:56:04 -!- AnotherTest has joined. 08:03:58 -!- infinitymaster has joined. 08:04:50 -!- infinitymaster has quit (Client Quit). 08:08:22 -!- 7YUAAGGC0 has quit (Remote host closed the connection). 08:31:31 -!- lynn has joined. 08:35:33 -!- zzo38 has quit (Read error: Connection reset by peer). 08:40:24 -!- zzo38 has joined. 08:41:18 Sometimes it causes a kernel panic or other problems when trying to print, possibly there is a problem relating to powersave mode of the printer? 08:45:23 -!- lambda-11235 has quit (Quit: Bye). 08:46:10 (Or maybe the kernel need to be upgraded?) 09:09:22 -!- tromp has joined. 09:14:07 -!- tromp has quit (Ping timeout: 260 seconds). 09:20:06 -!- jaboja has joined. 09:30:49 -!- lleu has joined. 09:32:54 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 09:33:43 -!- impomatic_ has joined. 09:49:37 -!- heroux has quit (Remote host closed the connection). 09:59:45 -!- MoALTz has quit (Ping timeout: 244 seconds). 10:02:28 -!- ais523 has joined. 10:16:14 -!- heroux has joined. 10:36:22 -!- jaboja has quit (Ping timeout: 260 seconds). 10:52:00 fnurd 11:27:36 -!- boily has joined. 11:44:18 `wisdom 11:44:33 arothmorphise/arothmorphise ... antormo... antrohm... ant... oh bugger. This should go in the `misspellings of antrhrop... atnhro...' entry. 12:07:14 `? misgivings 12:07:18 misgivings? ¯\(°​_o)/¯ 12:09:48 -!- boily has quit (Quit: ANSWER CHICKEN). 12:10:07 -!- tromp has joined. 12:14:37 -!- tromp has quit (Ping timeout: 244 seconds). 12:38:17 -!- bb010g has joined. 12:42:43 -!- p34k has joined. 13:08:40 -!- oerjan has joined. 13:09:26 -!- Melvar` has joined. 13:11:13 -!- Melvar has quit (Disconnected by services). 13:11:17 -!- Melvar` has changed nick to Melvar. 13:42:49 -!- tromp has joined. 13:43:11 `cat bin/paste 13:43:18 ​#!/bin/bash \ if [ "$1" ] && url "$1" 2>/dev/null # Save making a file when it already exists. \ then \ true \ else \ PASTENUM="$RANDOM" \ \ mkdir -p $HACKENV/paste \ \ url paste/paste."$PASTENUM" \ cat -- "${1--}" > $HACKENV/paste/paste."$PASTENUM" \ fi 13:43:35 `cat bin/url 13:43:36 ​#!/usr/bin/env python \ import sys, os.path, re, urllib \ if len(sys.argv) <= 1: \ print "http://codu.org/projects/hackbot/fshg/" \ else: \ f = os.path.abspath(sys.argv[1]) \ f = re.sub(r"^/+hackenv/", "", f) \ if re.match(r"/|\.hg(?:/|$)",f): \ sys.exit("File is outside web-viewable filesystem repository.") \ else: \ 13:45:20 `url bin/url 13:45:20 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/url 13:47:36 -!- bender| has changed nick to sid123. 13:47:51 -!- sid123 has changed nick to bender|. 13:48:17 `url test.hg/ 13:48:18 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/test.hg 13:48:44 guess it only matches at beginning 13:49:20 `culprits bin/url 13:49:23 tswett tswett oerjan oerjan oerjan oerjan oerjan fizzie fizzie fizzie fizzie oerjan oerjan oerjan oerjan elliott ais523 ais523 oerjan oerjan oerjan shachaf shachaf elliott elliott nitia 13:50:11 Are people still playing BF Joust? I notice the strategy page hasn't had anything new added for almost a year. 13:50:25 obviously, i was the one who wrote that part. 13:50:41 impomatic_: not very often afair 13:50:58 i guess people haven't had any new ideas to try 13:51:08 at least, none that won. 13:53:51 impomatic_: I go back and top the leaderboard every now and again, but it's been deadish for a while 13:54:24 impomatic_: if you haven't seen growth2 yet, I'd recommend watching it, I really like the strategy 13:54:49 -!- Mikaos has joined. 13:54:49 19:05, 31 May 2015‎ Ais523 (Talk | contribs | block)‎ . . (97,150 bytes) (+3,004)‎ . . (→‎2015: because we couldn't go a year without a new hill-topper) 13:55:06 -!- Mikaos has left. 13:55:07 ais523: will do after work :-) 13:55:20 -!- spiette has joined. 13:56:10 ais523: seems like you need to get a new one soon >:) 13:56:17 indeed 13:58:42 hm is my tooth actually getting a bit better again 14:03:39 -!- tromp has quit (Remote host closed the connection). 14:09:08 in terms of BF Joust hill-topping, I really want to get margins to work 14:09:15 but every time I try to change it I break it 14:09:23 maybe I should start from scratch using the same strategy 14:15:54 * oerjan has to stop clicking on giant reverts and nitia in the repository browser 14:17:41 -!- MoALTz has joined. 14:21:49 @tell hppavilion[1] @wikipedia Game Theory <-- tip 1: @google tip 2: wikipedia wouldn't capitalize "theory". 14:21:49 Consider it noted. 14:22:11 @google Game Theory 14:22:12 https://en.wikipedia.org/wiki/Game_theory 14:23:06 -!- MoALTz has quit (Ping timeout: 268 seconds). 14:23:15 Unknown command, try @list <-- . o O ( Unknown command, try `list ) 14:24:25 bleh, now I'm working on stealth3 :-) 14:25:57 *MWAHAHAHA* 14:29:29 -!- spiette has quit (Ping timeout: 260 seconds). 14:32:58 -!- spiette has joined. 15:04:13 -!- tromp has joined. 15:08:45 -!- tromp has quit (Ping timeout: 248 seconds). 15:25:09 -!- jaboja has joined. 15:37:15 -!- Alejandro15 has joined. 15:39:32 -!- Alejandro15 has left. 15:48:08 -!- lambda-11235 has joined. 15:49:24 -!- ais523 has quit (Ping timeout: 260 seconds). 15:50:06 -!- XorSwap has joined. 15:51:34 -!- ais523 has joined. 15:52:32 -!- jaboja has quit (Ping timeout: 260 seconds). 15:58:54 -!- XorSwap has quit (Read error: Connection reset by peer). 16:00:02 -!- XorSwap has joined. 16:05:47 -!- J_Arcane_ has joined. 16:10:08 -!- mroman has quit (Quit: Lost terminal). 16:16:52 `? loop 16:17:05 loop: see loop 16:17:50 I think a loop is an automorphism in the groupoid of paths 16:18:37 -!- Alejandro15 has joined. 16:19:31 -!- XorSwap has quit (Ping timeout: 244 seconds). 16:20:01 Category of paths- it's not always a groupoid 16:20:17 Well, it's almost never a groupoid. It doesn't always have inverses 16:20:22 [wiki] [[Brainfuck constants]] https://esolangs.org/w/index.php?diff=46492&oldid=45087 * Quintopia * (+25) /* Power Series */ wolfram alpha says so 16:22:43 -!- Alejandro15 has left. 16:23:54 quintopia: sounds a bit vague for wolfram alpha 16:24:08 -!- Sprocklem has quit (Ping timeout: 244 seconds). 16:25:04 [wiki] [[Brainfuck constants]] https://esolangs.org/w/index.php?diff=46494&oldid=46492 * Quintopia * (+60) /* Power Series */ wolfram alpha says so 16:25:13 * Taneb is learning what a homotopy is 16:28:38 The lecturer is being very handwavey 16:28:47 "Continuous functions form a space!" 16:30:21 -!- Alejandro15 has joined. 16:30:47 -!- Alejandro15 has left. 16:32:17 He's also pronouncing homotopy in a different way to what I had assumed 16:32:32 I was putting the stress on the second and forth syllables, with all short os 16:32:46 He's putting the stress on the first and third syllables, and having the first two os long 16:39:05 * oerjan assumed as Taneb. 16:40:26 wiktionary unhelpful 16:40:42 oerjan: looking at the greek roots, they use omicrons rather than omegas 16:40:53 Hence short os 16:41:14 does that actually matter to english 16:41:51 No, but it's at least a point of data 16:42:03 Then again, I pronounce "finite" with short is 16:42:06 hm google translate has them long 16:43:20 OED gives it as /ˈhɒməʊtɒpi/ or /həˈmɒtəpi/ 16:43:20 https://www.reddit.com/r/math/comments/lhj6r/how_do_you_pronounce_homotopy/c2svi40 hth 16:43:40 :D 16:45:48 -!- fungot has joined. 16:46:07 fungot: Push the shell. Climb the shell. 16:46:07 fizzie: your majesty! and queen. he and a friend left on a journey 10, then magic damage will be reduced by 10%. a star after any characteristic means it's at maximum strength! no matter what the price! it is, you idiot! hey! is that for us! the chef's in a snit, trying to get food to the front lines. heard a spell to energize the sword takes immense evil! indeed! this thing. what you have the masamune! 16:46:35 also https://www.youtube.com/watch?v=jJRyeUDfthk 16:47:13 fungot: I heard it takes immense concentration, not immense evil... 16:47:13 fizzie: like, thanks princess. i'll take that under advisement!! 16:47:21 That's such an uppity bot. 16:47:34 what style is it? 16:47:38 ^style 16:47:39 Available: agora alice c64 ct* darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 16:47:40 ^style ct 16:47:40 Selected style: ct (Chrono Trigger game script) 16:47:53 and a serious one https://www.youtube.com/watch?v=6Nw1uIpZ9io 16:47:57 fungot 16:47:57 izabera: i'd like to see that mystical sword for myself! geez! well, remember that you can log in anywhere on the world map! need a brief weapons and items seminar? 16:50:27 fungot: Yes, please. Give us a seminar on weapons and items. 16:50:28 fizzie: is the gate key okay!! get' em! 200g per night. care, and stay...healthy! my husband...he's...he's...gone... but he left me precious gifts! the seeds...and our child, it's ancient history now... 16:50:41 fungot: Oh, if it costs that much, never mind then. 16:50:41 fizzie: the masamune!! stole a tonic! amazing! you found a dreamstone! i'd forgotten how beautiful they are the evildoers? magus's lair! you brave! he's probably up north, to guardia!!! let's toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope. 16:50:51 It's a very excitable style. 16:51:09 -!- bender| has quit (Disconnected by services). 16:54:07 -!- oerjan has quit (Quit: Later). 17:01:53 -!- nisstyre has quit (Ping timeout: 244 seconds). 17:04:19 -!- tromp has joined. 17:08:50 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:09:09 -!- tromp has quit (Ping timeout: 276 seconds). 17:12:12 -!- jaboja has joined. 17:17:32 -!- ais523 has quit. 17:28:35 -!- XorSwap has joined. 17:29:43 -!- XorSwap has quit (Read error: Connection reset by peer). 17:29:56 -!- XorSwap has joined. 17:37:23 -!- XorSwap has quit (Quit: Leaving). 17:59:47 Stupid framework tries to be overly general but doesn't actually do the simple things right. 18:00:40 b_jonas, which framework 18:00:59 stuff at $WORK 18:01:07 Aaaaaah 18:01:16 has layers of abstractions 18:01:26 at the bottom it sometimes does the correct thing, sometimes doesn't 18:01:58 but you can never tell which because you can't follow the source code to the end 18:05:36 -!- tromp has joined. 18:09:45 -!- tromp has quit (Ping timeout: 246 seconds). 18:13:18 -!- earendel has quit (Ping timeout: 248 seconds). 18:13:45 b_jonas, apparently that kind of thing is really common in a lot of industries 18:13:50 Especially banking? 18:15:54 -!- vanila has joined. 18:15:55 hello 18:16:00 occult wizards of the digital age 18:16:41 Hi 18:24:53 -!- augur has joined. 18:36:11 -!- earendel has joined. 18:37:55 -!- treaki has joined. 18:40:03 -!- MoALTz has joined. 18:40:46 so whats new 19:01:52 -!- augur has quit (Remote host closed the connection). 19:04:18 `relcome 19:04:20 `relcome 19:04:27 ​Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 19:04:28 ​Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 19:05:37 -!- Melvar has quit (Ping timeout: 260 seconds). 19:08:33 -!- nikylom has joined. 19:10:41 -!- nikylom has quit (Client Quit). 19:11:08 -!- nikylog has joined. 19:16:16 `relcome vanila 19:16:17 ​vanila: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 19:18:54 [wiki] [[Piet++]] https://esolangs.org/w/index.php?diff=46495&oldid=42982 * 202.171.164.185 * (+25) 19:19:34 -!- Melvar has joined. 19:27:51 -!- hppavilion[1] has joined. 19:28:15 -!- ^v has quit (Ping timeout: 276 seconds). 19:32:04 How to make Bezier line with Xlib? 19:44:57 -!- Sprocklem has joined. 19:48:09 zzo38: I don't think Xlib can do that 19:48:42 prooftechnique: not builtin, maybe, but you can make it do it 19:49:32 izabera: wolframalpha gave me exact values for several different choices of x. They are ugly irrational numbers. 19:49:37 I guess you could look at cairo for inspiration 19:50:26 I found a document that says that by use of X10 codes in X11 it is possible to make spline, but does not describe very well how spline is made 19:53:11 Looks like this is a clock that draws the hands with a Bezier curve: ftp://ftp.lip6.fr/pub/linux/sunsite/X11/clocks/bclock-1.0.tar.gz 19:53:16 -!- Reece` has joined. 19:53:26 I think the relevant code is in transform.c 19:53:29 -!- Reece` has quit (Remote host closed the connection). 19:53:43 I will look 19:54:35 -!- augur has joined. 19:59:11 -!- heroux has quit (Ping timeout: 268 seconds). 19:59:31 -!- augur has quit (Remote host closed the connection). 19:59:32 zzo38: if you mean degree 2 spline, then pull in the cairo library, which can draw bezier stuff, and use its X11 backend. 19:59:38 um 19:59:41 I mean degree 3 spline 19:59:46 degree 2 is parabola 19:59:54 but cairo supports cubic (degree 3) too 20:01:30 Apparently Xlib can also do spline by including but it does not describe very well what spline algorithms are used and how to control it. 20:01:45 -!- heroux has joined. 20:04:50 zzo38: in that case, check cairo if it uses those functions of Xlib (it might not, if they're not general enough). 20:05:23 -!- jaboja has quit (Ping timeout: 248 seconds). 20:08:36 Why does tar have a large number of worthless options as well as a few useful ones, some of which can only be written as long option and short option won't work? 20:09:12 zzo38: history. 20:10:20 zzo38: and yes, --no-recurse should really have a short version 20:10:25 -!- Sprocklem has quit (Ping timeout: 240 seconds). 20:10:49 tar is bad 20:11:06 sometimes if your file looks like a link it will try to open a network connection 20:11:18 If all of the worthless options were to be removed, then all of the remaining long options could be changed to short options. 20:11:34 yeah someone should just clean slate rewrite tar 20:11:39 and it shouldn't support compression 20:11:48 make it the "unix way" 20:12:08 zzo38: what I wish for is a program with 7z's backend and capabilities, but a sane front-end with reasonable unixish command-line syntax and output. 20:12:35 I made a program that unzips any archive format 20:12:46 you just go: un thing.whatever 20:12:57 vanila: that's exactly what 7z is trying to do, unzips any archive format if you say 7z x somearchive 20:13:01 and it has modules that describe each unix program to decompress 20:13:22 i made it careful not to splay files everywhere 20:13:29 I agree you should use a separate program for compression instead. For example "zcat < program.tar.gz | tar t" or whatever (that already works though) 20:13:31 it always puts them inside a folder (unless the zip itself was a single item) 20:13:34 I wrote it in lisp and use it all the time 20:14:04 it's abit imperfect though because every program is different and moste are not built to be used programatically(!) 20:14:11 despite being command line unix programs 20:14:11 I always list the archive first before extracting it so that I will know what directory structure it needs. 20:14:17 its a bit funny 20:14:35 (Or in case I do not need all of the files from the archive) 20:14:53 -!- XorSwap has joined. 20:15:14 I think Hamster archive is a better format. Hamster archive is consist of zero or more lumps, where each lump consists of the null-terminated filename, the 32-bit length in PDP-endian format, and then the data. 20:15:53 -!- XorSwap has quit (Client Quit). 20:16:07 . o O ( so how do you deal with messages that are larger than 4GB? ) 20:16:44 well, or files. 20:17:06 4GB is a problem 20:17:12 -!- nikylog has quit (Quit: Page closed). 20:17:18 I suppose you could just add more than one with the same name if you really need to 20:17:45 Why do you like PDP-endian? 20:18:10 I don't, but that is how it was defined (I don't know why, but I can guess). 20:18:12 zzo38: separate program for compressing is what I do right now: tar -c "${lots_of_ugly_options[@]}" | 7z a "$outputpath/$basename.t7z" -t7z -mx=3 -si"$basename.tar" 20:18:36 separate program is also what tar does of course 20:18:57 it automatically invokes the right separate program for decompressing gzip, bzip, xz, and a few more 20:19:21 which is definitely the Right Thing for it to do 20:19:35 another problem is unrar is not free 20:19:41 7-Zip will already do both archiving and compression though, due to the 7-Zip file format in use. 20:20:05 b_jonas: I don't, I think you should use pipe to tell to decompress instead 20:20:47 The reason Hamster archive uses PDP-endian is for historical reasons and is not up to me. 20:21:07 zzo38: 7-zip does archiving, but you can't use that if you want to save unix filesystem attributes (owner, group, and permission bits most importantly), which is important for a system backup 20:21:15 zzo38: I used tar this way for backups 20:21:26 for just distributing a tarball of some program, 7z without tar is fine of course 20:22:02 Yes I suppose that can be also a reason 20:23:23 zzo38: 7z can create or extract tar files (and many other formats), but since its command line utility is even worse to use than tar, I never tried to create tar with it (I did create zip with it though) 20:24:18 The backend of 7z and how many formats it supports (not all archive formats either) is great, as well as its specific 7z format, and its windows gui. It's only the command-line tool I don't like. 20:24:37 I might try to nudge its source code a bit some time to make it a bit saner. 20:25:31 It is one advantage of 7z, that you can support many different format; it has successfully opened some files I downloaded that were in unusual formats and it worked fine. 20:25:40 zzo38: exactly 20:25:56 I use 7z a lot for this reason 20:26:02 I also use it a lot to create 7z archives 20:27:18 -!- XorSwap has joined. 20:27:30 There are lots of other tools that try to support multiple archives of course: bzip2 can decompress gzip; xz can decompress gzip, bzip2, lzma; the rar program can decompress zip and I think it can even compress it; norton commander has a built-in zip decompressor; and there are even a few tools that try to handle any archive by calling other specific programs. 20:27:37 Yes, 7-Zip does compress pretty well 20:28:43 Note that some of the files I have successfully opened with 7-Zip are not even documented in the document of 7-Zip. 20:28:57 Also, I've never seen 7-zip crash, neither the gui nor the command-line, and that's a big plus. 20:29:04 (Maybe they are now, but at that time they weren't) 20:29:25 b_jonas: Yes that too, although I have not used the GUI of 7-Zip 20:29:50 zzo38: the gui is quite good, and is designed better than the command line. it's not perfect, but quite good. 20:30:35 It probably is good, although I still prefer to work by command-line 20:30:52 I use both, depending on the task. 20:31:04 Obviously the command line can be automated, which I have done at least once. 20:32:16 It won't support Hamster archive, but I have written my own program for Hamster archive anyways (other programs exist, but they aren't very good, and also they require DOS) 20:32:39 What I don't understand is why some people like the horrible trialware winrar program, when 7-zip has been available for quite a while and does basically anything winrar can do but better, except for compressing rar archives. 20:32:51 (The full version of 7-zip does decompress rar archives.) 20:33:06 What's a hamster archive? 20:33:19 I described it above. It is: Hamster archive is consist of zero or more lumps, where each lump consists of the null-terminated filename, the 32-bit length in PDP-endian format, and then the data. 20:33:30 in my opinion 7z should handle 7z only 20:33:42 and there should be a separate multi-archiver program to 'combine' 20:33:42 That is the entire document, now you can even make your own implementation if you want to 20:33:56 zzo38, PDP lol 20:34:32 zzo38: what are Hamster archives used for? 20:34:45 vanila: I know PDP-endian isn't as good, but that is what it is and I do not quite know why. 20:34:55 PDP-endian XB 20:35:01 it's the silliest endian 20:35:15 Yes I agree it is the silliest endian 20:35:22 I've tried to look up documentation on the format, and most of what I find is codu logs of zzo talking about it :D 20:35:30 wait, is pdp endian one of those mixed-endian formats, in which the int16 level endian is opposite to the int32 level endianness? 20:35:39 Yes. 20:35:40 Nevertheless it can be implemented easily enough, as can the better formats such as big-endian and small-endian 20:36:02 sure 20:36:10 for an archive format like this it's fine 20:36:33 prooftechnique: Other documentation does not name the format anything, which makes it difficult to find, although I wrote the entire document right here anyways; it is one sentence. 20:36:47 this sounds like some sort of tar format basically 20:38:22 Combine archives simply by "cat" program or by using the >> redirection operator. 20:38:41 zzo38: right, I think tar formats can do that too 20:38:54 and so can tar.gz 20:39:21 I know gzip supports that too 20:39:46 -!- jaboja has joined. 20:39:55 \oren\: Your font is making me depressingly aware of how often people use nonbreaking spaces for evil :| 20:40:24 the t in tar stands for tape, as in, you can append new files to a tar file on a magnetic tape without reading it 20:40:46 prooftechnique: Also with s/nonbreaking spaces/Unicode/ too isn't it? 20:41:50 A little bit, yeah. Nonbreaking spaces are *everywhere*, though :| 20:43:03 Nonbreaking spaces are certainly not limited to Unicode of course though, other formats have nonbreaking spaces too 20:43:35 -!- katherine has joined. 20:43:38 -!- Phantom_Hoover has joined. 20:43:39 In UTCE all characters are nonbreaking (including the ASCII space) 20:44:33 holaaaaaaaaaaaaaaaaaaaaaaaaaaa 20:44:48 I think part of the reason why nonbreaking space got popular is that HTML traditionally couldn't represent multiple adjacent spaces, so when people wanted to show two adjacent spaces of an ascii string in HTML, they replaced one with a non-breaking space for display. 20:44:51 -!- katherine has left. 20:46:39 I mainly see it a lot in mailing list archives and GNU docs :D 20:47:00 Then again, I also see lots of tables used for no reason in those places, so :| 20:51:16 If I understand correctly, these days there's a way around this in HTML, namely specifying the CSS property white-space: pre-wrap; which disables HTML's special whitespace handling. 20:51:42 lol 20:51:48 HTML merges multiple spaces into one 20:51:54 just so people can indent their XML? 20:52:01 that's sooooo horribly ugly and funny 20:52:04 vanila: yes, it's horrible 20:52:10 lisp paste website uses a funny XML indentation style 20:52:22 view-source:http://paste.lisp.org/ 20:52:32 vanila: it also sometimes removes a whitespace adjacent to a tag 20:52:41 A lot of it is texi2html generated stuff, so it's at least kind of understandable 20:52:58 I have a great idea: Use s-expressions for web markup 20:53:11 top kek, bruv 20:53:20 -!- vanila has left ("Leaving"). 21:01:03 -!- heroux has quit (Ping timeout: 264 seconds). 21:03:30 -!- heroux has joined. 21:06:37 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 21:07:28 -!- hppavilion[1] has joined. 21:22:48 -!- lleu has quit (Quit: That's what she said). 21:24:48 Loyalty Theory 21:24:54 @messages-l 21:24:54 oerjan said 7h 3m 5s ago: @wikipedia Game Theory <-- tip 1: @google tip 2: wikipedia wouldn't capitalize "theory". 21:25:07 @google Game theory 21:25:08 https://en.wikipedia.org/wiki/Game_theory 21:25:43 @tell oerjan I was hoping `@wikipedia game theory` would return the first sentence of the article, because it was funny IIRC 21:25:43 Consider it noted. 21:25:43 @google Theory 21:25:45 http://www.theory.com/ 21:25:45 Title: Theory Official Site | Contemporary Clothing for Women and Men 21:25:50 @wiki Theory 21:25:50 http://www.haskell.org/haskellwiki/Theory 21:25:54 Checkmate 21:26:27 Or, for that wiki: https://en.wikipedia.org/wiki/Theory 21:27:03 hppavilion[1]: What's the joke in the first few sentences? 21:27:55 prooftechnique: I was wrong, it was a joke I was going to make 21:27:58 -!- XorSwap has quit (Ping timeout: 244 seconds). 21:28:11 "Game theory is \"the study of mathematical models of conflict and cooperation between intelligent rational decision-makers.\"" 21:28:30 What's the study of people just in it for revenge and bitterness? 21:28:32 Also 21:28:56 "Game theory is mainly used in ... political science..." 21:29:10 Where are the intelligent rational decision-makers in politics? 21:30:09 all over the place? 21:30:13 hppavilion[1]: no, but politicians like to use fancy scientific stuff to try to make their decisions seem rational when they aren't 21:30:46 hppavilion[1]: game theory is a great excuse, it sounds sciency enough that they can refer to game theoretical models with fancy solutions 21:31:16 b_jonas: So it's quasi-game theory? 21:31:37 b_jonas: How often do people yell "IS THIS ALL A GAME TO YOU!?" at game theorists do you reckon? 21:32:10 hppavilion[1]: I think the latter study is called family law 21:33:02 Divorce law, in particular, though arguably custody law, as well 21:37:43 -!- jaboja has quit (Ping timeout: 250 seconds). 21:42:43 can you tell if a number is prime in a non turing complete language? 21:43:17 izabera: I think you can do it in SQL 21:43:55 can you show it? 21:44:42 https://tsqltricks.wordpress.com/2008/12/17/udf-isprime/ 21:45:13 that's turing complete 21:45:17 Oh, true 21:47:10 Hmm, I guess even vanilla SQL is turing complete with CTEs and windowing 21:47:11 ah yes you only need to loop down 21:47:14 Disappointing 21:48:39 something that only supports a loop with a finite number of iterations is not tc, even if that number is unbounded, right? 21:50:34 Apparently you can do it with regex, but I'm not sure if it's only PCRE (which is TC, IIRC) 21:51:08 bre is enough 21:51:17 but i don't know if bre is turing complete 21:55:42 izabera: i don't quite get your question 21:56:12 izabera: "something" as in "anything?" Most algorithms for checking whether a number is prime aren't turing complete, yet they can do what they do. 21:56:42 a language 21:56:58 that doesn't make it any less vague. 21:57:12 Well, Charity is definitely not Turing Complete, but you could reasonably check for primality with it 22:00:03 -!- spiette has quit (Ping timeout: 246 seconds). 22:01:34 -!- augur has joined. 22:05:15 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 22:07:11 -!- tromp has joined. 22:10:53 -!- Sprocklem has joined. 22:11:21 -!- tromp has quit (Ping timeout: 244 seconds). 22:16:24 Even SQLite is capable of solving Sudoku and computing a mandelbrot set with a single query. 22:16:37 (with an empty database) 22:19:46 just add a prime checker to hq9 22:23:03 p: the command p looks at the next available input for the longest consecutive series of digits, and outputs "Prime!" if it is a prime number, or "Not prime!" otherwise (including if it is an empty sequence). Note that the input is not removed from the queue. 22:23:08 s/queue/input buffer/ 22:23:30 yeah 22:23:44 question can now be answered withn yes, there is such a language 22:23:47 next! 22:40:44 -!- augur has quit (Remote host closed the connection). 22:53:10 -!- oerjan has joined. 22:59:03 SQLite has no regular expression built-in but I made the SQLite extension library to use PCRE with SQLite 23:00:56 -!- idris-bot has joined. 23:02:46 -!- hppavilion[1] has joined. 23:10:20 Perhaps a set-theoretical proof assistant? 23:10:32 A bit primitive, but workable 23:11:08 * oerjan recalls metamath 23:11:29 i think "set-theoretical" and "primitive" are about right for that. 23:11:53 @messages- 23:11:53 hppavilion[1] said 1h 46m 10s ago: I was hoping `@wikipedia game theory` would return the first sentence of the article, because it was funny IIRC 23:12:21 oerjan: It turned out I just had a joke to make about it 23:12:58 tswett: Hi? 23:15:54 holaaaaaaaaaaaaaaaaaaaaaaaaaaa <-- i'm wondering if it's some kind of semester start in venezuela 23:16:05 all these people showing up at the same time 23:21:14 -!- hppavilion[1] has quit (Read error: Connection reset by peer). 23:28:36 -!- AnotherTest has quit (Ping timeout: 246 seconds). 23:31:03 something that only supports a loop with a finite number of iterations is not tc, even if that number is unbounded, right? <-- right, this is well-known to give you exactly the primitive recursive functions on numbers. see BlooP. 23:31:57 `? weather 23:32:03 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 23:32:05 CYUL 042300Z 04002KT 15SM FEW240 M05/M16 A3023 RMK CI1 CI TR SLP241 \ ENVA 042250Z 00000KT 9999 FEW045 BKN090 01/M03 Q1003 RMK WIND 670FT 09008KT \ ESSB 042320Z AUTO 13007KT 9999 BKN008/// OVC009/// 01/00 Q1008 \ KOAK 042256Z 16008KT 10SM SCT013 BKN025 OVC038 17/16 A2994 RMK AO2 RAE56 P0000 T01720156 23:34:08 -!- tromp has joined. 23:34:47 -!- lynn_ has joined. 23:34:50 * oerjan notes graue once deleted BlooP from our wiki, and wonders wtf he was on. 23:35:13 holaaaaaaaaaaaaaaaaaaaaaaaaaaa <-- i'm wondering if it's some kind of semester start in venezuela 23:35:31 this stuff happens because we're inexplicably on the default channel list on some spanish distro's irc client, right? 23:35:39 right, canaima 23:35:56 s/spanish/venezuelan/, at least originally. 23:36:28 -!- lynn has quit (Ping timeout: 264 seconds). 23:37:05 or at least so i assume, i've never literally seen that channel list or what program it is in. 23:37:31 but i once got some kind of half-confirmation out of one of them 23:37:50 only half- because i'm not sure they used compatible terminology. 23:38:41 however, my comment above was because we've had 3 or 4 of them in just a few days. 23:41:12 @tell izabera something that only supports a loop with a finite number of iterations is not tc, even if that number is unbounded, right? <-- right, this is well-known to give you exactly the primitive recursive functions on numbers. see BlooP. 23:41:12 Consider it noted. 23:45:59 -!- tromp has quit (Remote host closed the connection). 23:51:55 -!- p34k has quit. 23:52:31 The instruction for PortAudio says you must terminate it. However if the program won't terminate properly then how to ensure it will stop properly? 2016-03-05: 00:00:16 -!- hppavilion[1] has joined. 00:00:23 Here's a problem of theoretical interest to me 00:00:58 Given a number by its prime factorization, calculate the prime factorization of its successor 00:01:10 The idea behind it is Esoteric Data Types 00:01:35 Specifically, the PFact number encoding 00:01:37 easy, drop everything you have and start from scratch 00:02:01 myname: Huh? 00:02:44 i don't think you can get the factorization any easier with the factors of the predecessor 00:02:54 at least not in the general case 00:03:01 myname: This isn't for code I'm working on, this is for a humorous data types 00:03:26 myname: How about for numbers that can be expressed as the product of 8 prime numbers, all of which must be in the smallest 256 prime numbers? 00:03:27 xD 00:03:51 (wait, no, smallest 255, where 0b00000000 is 1) 00:04:17 -!- Nithogg has quit (Ping timeout: 260 seconds). 00:04:32 myname: The idea behind the PFact type is that it's a data type that expresses numbers as the product of 8 primes 00:04:59 -!- Nithogg has joined. 00:05:00 Well, up to 8 00:05:22 myname: Assuming 64-bit registers, each number must fall in the 255 smallest primes, with 1 filling in gaps when n<8 00:11:34 -!- augur has joined. 00:14:40 hey 00:18:48 -!- tromp has joined. 00:20:55 Lemme find one of those hard-to-factor numbers. 00:21:21 Now, the question "given the factorization of n, what is the factorization of n+1?" definitely sounds pretty interesting. 00:21:36 And here's one thing that you do know: the two numbers cannot have any prime factors in common. 00:21:52 would be surprised if you can say anything enormously stronger than that 00:22:14 (Because if p is a prime factor of n and p is also a prime factor of n+1, then n/p and (n+1)/p are both integers, so 1/p is an integer. But that's impossible.) 00:22:40 afaik the link between the primeness of n and n+2 is still an open problem 00:23:22 Here's a number that's hard to factor: 00:23:24 1522605027922533360535618378132637429718068114961380688657908494580122963258952897654000350692006139 00:23:32 also, at most one of the numbers can _be_ prime hth 00:23:44 ...excepting 2 and 3. 00:23:51 Except that it's pretty easy to factor it using the Google method. 00:23:59 Anyway, let's see what the factorization of its predecessor is. 00:24:24 oerjan: 2 and 3 don't have any prime factors in common 00:24:41 Other than 2.5 00:24:46 coppro: and this contradicts what i said how? 00:24:57 oh 00:25:01 I missed the line above that 00:25:02 nvm 00:25:15 Okay, I found the factorization. It is: 00:25:41 2 * 3^2 * 210974974123 * 400944086233670527306310281636760087998315351567377660286363410284049027879820778576767 00:25:57 the 2 was easy 00:25:58 That's probably pretty dang unhelpful. 00:26:04 Yup. 00:26:28 Fun fact: for 100% of all prime numbers p, p-1 has 2 as a factor. 00:26:50 I wonder what the factorization of 400944086233670527306310281636760087998315351567377660286363410284049027879820778576766 is... 00:26:52 what about 2? 00:27:01 i vaguely recall there's some restriction on the prime factorization of pq-1 in order for pq to be a good RSA key 00:27:16 myname: nope, 2-1 doesn't have 2 as a factor. 00:27:28 that's not 100% then 00:27:33 Of course it is. 00:27:38 Surprisingly, 400944086233670527306310281636760087998315351567377660286363410284049027879820778576766 is taking several seconds to factor. 00:27:52 how is it? 00:28:03 myname: it's 100% by the most useful definition, aka density. 00:28:07 Well, what percentage do you think it is? 00:28:22 i see what you did there 00:32:33 Dang, it's taken over five minutes so far to factor that bad boy. 00:37:23 -!- impomatic_ has quit (Ping timeout: 248 seconds). 00:39:50 if I recall the idea of RSA is that, if you calculate 2^n modulo 13, the result will loop every steps 00:39:59 every 12 steps 00:40:33 since the result can't go through 0 but it has to go through all other numbers since 2 and 13 have no common factors 00:41:29 Do you know if it is OK to call Pa_Terminate and/or Pa_CloseStream in a signal handler? 00:41:41 if you calculate 2^n modulo 13*17, logically the modulo 13 part loops every 12 and the modulo 17 part loops every 16 00:44:11 ""For security purposes, the integers p and q should be chosen at random, and should be similar in magnitude but 'differ in length by a few digits"" 00:46:18 "Since any common factors of (p-1) and (q-1) are present in the factorisation of p*q-1,[14] it is recommended that (p-1) and (q-1) have only very small common factors, if any besides the necessary 2." 00:52:20 -!- XorSwap has joined. 00:58:47 Woo. It took half an hour and fifteen seconds, but I got that number factored. The factorization is: 00:59:25 2 * 3 * 409 * 1645447576107402059859920361500918359 * 99294502354941754852634597949140561238814554731 00:59:35 Now, of course, I wonder what the factorization of 99294502354941754852634597949140561238814554730 is. 01:00:27 go for it 01:00:51 if I recall the idea of RSA is that, if you calculate 2^n modulo 13, the result will loop every steps <-- i think you may be confusing RSA with discrete logarithm, or something. 01:01:18 It's 2 * 5 * 17 * 22369 * 243130343851969331 * 107396603915138092862971. And the factorization of 107396603915138092862970 is 2 * 3 * 5 * 13 * 17 * 281 * 991 * 2758397 * 21088237. 01:02:09 And the factorization of 21088236 is 2^2 * 3 * 13 * 135181, and the factorization of 135180 is 2^2 * 3^2 * 5 * 751. 01:02:12 Done. 01:02:29 oerjan : RSA and the discrete logarithm are related I think 01:02:30 weird anchor 01:02:47 `? weird anchor 01:02:55 weird anchor? ¯\(°​_o)/¯ 01:03:13 since the result can't go through 0 but it has to go through all other numbers since 2 and 13 have no common factors <-- that's not enough, you actually need to check if 2 has that property. however, given that 13 is prime, _some_ number ("primitive root") will loop through all of them. 01:03:48 mad: a bit maybe. 01:04:18 > length $ nub [2^n `mod` 13 | n <- [0..11]] 01:04:19 12 01:04:51 oerjan: huh? 01:04:59 what did you expect? 01:05:12 > [(p,length $ nub [2^n `mod` p | n <- [0..p-1]]) | p <- [3,5,7,11,13,17,19,23,29,31]] 01:05:13 [(3,2),(5,4),(7,3),(11,10),(13,12),(17,8),(19,18),(23,11),(29,28),(31,5)] 01:05:30 myname: it could have been something else. of course 13 _wouldn't_ be an example. 01:06:10 ah, 1,2,4,1 01:06:12 i see 01:06:23 look at 7, 17, 23 and 31 up there. 01:07:02 in general, the order is some factor of p-1 01:07:19 but not all numbers will give exactly p-1. 01:07:42 hmm 01:09:40 if you calculate 2^n modulo 13*17, logically the modulo 13 part loops every 12 and the modulo 17 part loops every 16 <-- i vaguely recall our professor pointing out that RSA works even if the number you take power of _does_ have _one_ of the primes as a factor. which doesn't follow from that argument and needs a distinct proof. 01:10:00 hmmm 01:11:29 hm wait does that make sense. 01:12:19 hm i think so. 01:12:35 tswett: Oh, you're factoring numbers. Great 01:12:44 tswett: Of course, you're doing it the noob way 01:12:48 well 01:13:05 if you start with some number N, multiply by 2, modulo M 01:13:12 say M is 17 01:13:16 repeat 01:13:23 you have two possible loops 01:13:47 Done. <-- now use that to create a prime certificate for whatever it was you started with hth 01:13:56 Let's play: What's! That! Algorithm! 01:14:34 You all know the rules: Given an algorithm constraint or constraint set (complexity class, space complexity, etc), name an algorithm that operates in it 01:14:38 O((log N)2(log log N)(log log log N)) 01:15:08 1>2>4>8>16>15>13>9>1... and 3>6>12>7>14>11>5>10>3... 01:15:14 why is the 2 in the middle? 01:15:32 i guess you are missing stuff 01:15:47 i guess it is ^2 and there is a / et the end 01:15:49 myname: It's a suberscript 01:15:56 the loop time is guaranteed to be p-1 or p-1 divivded by n 01:16:23 myname: I copied it directly, there are no mistakes 01:17:27 mad: p-1 is just (p-1)/1, anyhow 01:19:05 hppavilion[1]: you're assuming copying a webpage formula gives you a reasonable copy tdnh 01:19:40 oerjan: It did in this case 01:19:54 oerjan: O((log N)2(log log N)(log log log N)) is short enough to verify correctness by reading 01:19:58 isn't the 2 a superscript at _least_? 01:20:24 you said as much. so it was not correctly copied. 01:21:17 n ^ (p-1) modulo p = 1 01:21:20 I _think 01:21:32 mad: yes, that's fermat's little theorem. 01:22:03 n ^ (p-1)(q-1) modulo pq = 1 01:22:25 mad: assuming p and q are not factors of n 01:22:57 well, assuming n < pq 01:23:20 and yes assuming that p and q are prime 01:23:40 n < pq is not enough, what if n = p 01:24:09 then it's looping though q only I think? 01:24:20 obviously. 01:24:29 which means that then n ^ (q-1) = 1 01:25:18 but still you have n ^ ((p-1)(q-1)+1) == n (mod pq), which is what my professor mentioned 01:25:48 or thereabouts. 01:25:55 n ^ k(p-1)(q-1) modulo pq = 1 for any k 01:26:21 well, obviously 01:26:36 1^k = 1 is no rocket science 01:26:55 except in linear logic hth 01:27:28 i don't know that stuff yet 01:27:39 oerjan: So what does it mean that LEM is multiplicative? 01:28:23 least evil multiple 01:28:47 law of excluded middle 01:29:22 shachaf: well, you know that proof of LEM (or something equivalent to it) using continuations, right? 01:30:08 Yes. 01:30:10 and using continuations for cheating by passing a counterexample back... which is iiuc also what # allows you to do 01:30:21 so it needs that feature of #. 01:30:21 Right, except it's more/less restricted. 01:30:44 # is a bit like threads. 01:30:50 And so is ⊗ 01:33:01 lemCC = callCC (return . Right . (<=< return . Left)); 01:33:41 callCC x = lemCC >>= either return x; 01:34:10 :t callCC (return . Right . (<=< return . Left)) 01:34:11 MonadCont m => m (Either a (a -> m b)) 01:34:43 Does a prime number not being in a number's prime factorization imply that that number does not evenly divide the latter number? 01:34:56 I would think it does under the Fundamental Theorem of Arithmetic 01:35:21 hppavilion[1]: yes. i think that's usually a lemma used to _prove_ the FTA 01:35:23 how should it? 01:35:27 Yes it does imply 01:35:40 that is, if p divides m*n, then p must divide either m or n. 01:36:46 Oh, I see where this bug is coming from 01:36:50 I think callCC is a better axiom than the law of excluded middle. 01:37:01 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:37:01 In fact, it's more of a lemma. 01:37:06 Well, either one would work 01:37:17 shachaf: callCC is pierce's law 01:37:22 I know. 01:37:25 Either one can be prove by the other one 01:37:26 I was just going for the pun. 01:37:58 oerjan: also it's peirce's law because why should anything be easy hth 01:38:17 Wait... 01:38:23 -!- JX7P has joined. 01:38:30 Intuitionistic logic forgoes the law of excluded middle, does it not? 01:38:32 shachaf: i considered checking and/or lampshading 01:38:37 hppavilion[1]: yes. 01:38:50 this must be the closest to a substitute for ##programming that i can find focusing particularly on PLT/language design 01:38:52 oerjan: And type systems are typically intuitionistic? 01:39:02 JX7P: PLT? 01:39:13 programming language theory 01:39:13 <\oren\> wat. kim kardashian's father was oj simsons lawyer? 01:39:15 JX7P: Yeah, we're the most active one at least 01:39:21 often, like gay rights, symbolised by the lambda 01:39:25 JX7P: There is ##proglangdesign, but it's not as active 01:39:32 JX7P: Yeah xD 01:39:38 it is also empty 01:39:42 Yes normally the type system are using intuitionistic logic, although you can use classical logic with continuations 01:39:47 JX7P: Might've typoed 01:40:03 JX7P: It was kind of a shock when I first saw the lambda associated with gay rights :P 01:40:19 wat 01:40:21 oerjan: What do you think about dual-intuitionistic logic? 01:40:33 JX7P: We do do design, but we typically don't focus on making it good so much as interesting and different, but we might still be able to help you. 01:41:04 shachaf: dual-intuitionistic logic thinks about me hth 01:41:19 oerjan: Are you a soviet? 01:41:26 oerjan: cmccann was excited about it a while ago and now that I'm reading about linear logic I'm a bit excited about it too. 01:41:30 hppavilion[1], as a community alone it will be interesting i think 01:41:45 JX7P: OK 01:41:53 ##programming did not appreciate my constant invocation of dialectical logic, which led to getting quieted 01:41:55 JX7P: Do you have any ideas in mind? 01:42:03 Dialectical? 01:42:19 <\oren\> what's dialectical logic? 01:42:20 i, on the other hand, think the perfect riposte to that is a programming language substituting dialectical logic for formal logic 01:42:38 -!- augur has quit (Remote host closed the connection). 01:42:45 whoa whoa whoa 01:42:58 it's the logic developed by plato, hegel, marx, and adorno 01:42:58 "Dialectical logic was the system of laws of thought, developed within the Hegelian and Marxist traditions, that sought to supplement or replace the laws of formal logic." 01:42:59 Is that like dialectica categories? 01:43:14 oerjan: Are you a soviet? <-- no, but dual logic clearly is hth 01:43:22 oerjan: Yeah 01:43:26 oerjan: Also, dialectical 01:44:11 maybe the most significant thing noted in dialectical logic is that ¬¬X is X, but X isn't ¬¬X 01:44:12 -!- lynn_ has quit (Ping timeout: 244 seconds). 01:44:28 oerjan: Dual-intuitionstic logic has DNE but not DNI 01:44:54 the negation of the negation is 'enriched', it is the original but of a higher order 01:45:03 ##programming did not appreciate my constant invocation of dialectical logic, which led to getting quieted <-- such is being the antithesis? 01:45:24 oerjan, the synthesis being my joining this channel 01:45:34 Like how in intuitionistic logic logic you can only have one thing on the right side of a sequent, in the dual you can only have one thing on the left side. 01:45:35 now I am back at the thesis, being in a channel about programming 01:46:01 but this time it has become refined, enriched, by finding a channel more specifically suited to my particular interests 01:46:20 shachaf: you know, that sounds strangely like what JX7P said above 01:46:25 JX7P: Checked out the wiki yet? 01:46:34 somehow. 01:46:37 hppavilion[1], i'm afraid i haven't 01:46:40 You can tell me if you intend to design any kind of programming language and whatever 01:46:45 `wiki 01:46:46 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found 01:46:51 Damn, was hoping that'd work 01:46:53 oerjan: whoa whoa whoa, so it is 01:47:01 maybe dual-intuitionistic logic and dialectic logic is the same thing! 01:47:02 http://esolangs.org/ is wiki 01:47:40 dual intuitionistic logics have some similarity since they can handle contradictions 01:47:42 `` echo "echo \"http://esolangs.org/wiki/Main_Page\"" > bin/wiki 01:47:42 oerjan: maybe you and i are the same thing 01:47:45 No output. 01:47:48 `wiki 01:47:49 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/wiki: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/wiki: cannot execute: Permission denied 01:47:52 ... 01:47:56 I'm not going to go there today 01:47:58 hppavilion[1]: should've used mkx 01:48:04 shachaf: Right, right 01:48:24 `rm bin/wiki 01:48:27 But also shouldn't've cluttered bin/ like that. That's why we have wisdom. 01:48:28 No output. 01:48:33 ...To be cluttered up? 01:48:42 shachaf: Yes, but this way we can just do `wiki 01:48:45 And look badass 01:48:51 (Relatively) 01:49:03 ^wiki 01:49:03 http://esolangs.org/wiki/ 01:49:04 anyway, thanks zzo38 01:49:04 JX7P: Know any LISP? 01:49:07 oerjan: Thank you 01:49:11 hppavilion[1]: why not add a factoid instead of a command? 01:49:20 hppavilion[1], i'm familiar with scheme at a basic level 01:49:21 `? wiki 01:49:23 The wiki is at http://esolangs.org/wiki 01:49:28 JX7P: Made your own LISP yet? 01:49:28 hppavilion[1]: I didn't even do that for `weather 01:49:31 `? weather 01:49:32 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 01:49:34 CYUL 050100Z 15004KT 15SM SKC M07/M15 A3025 RMK SLP248 \ ENVA 050050Z 09007KT 5000 -SN VV007 01/M01 Q1002 RMK WIND 670FT 14013KT \ ESSB 050120Z AUTO 12005KT 9999 FEW025/// OVC031/// 01/M00 Q1008 \ KOAK 050053Z 15012KT 10SM -RA SCT019 BKN037 OVC075 17/17 A2993 RMK AO2 RAE18B34 SLP133 P0000 T01720167 01:49:37 also Coke (which is not quite Lisp but is close) 01:49:39 -!- augur has joined. 01:49:40 lambdabot: THAMBDABOT 01:49:46 `misle/rn wiki/The wiki is at http://esolangs.org/wiki 01:49:49 Was lied to about «wiki» 01:50:00 hppavilion[1], it formed a very useful avenue for research https://github.com/Valutron/Valutron 01:50:11 i really want to misle rn 01:50:15 hppavilion[1]: why? 01:50:28 it was a partnership effort. unfortunately my partner lost interest 01:50:36 Can we make `? wiki direct you to an ancient stone tablet or give you an ISBN? xD 01:50:46 Why? 01:50:53 I think the esolang wiki is not a book? 01:50:53 what for? 01:51:08 myname: shachaf: zzo38: To be more in line with wisdom 01:51:16 eh? 01:51:23 What are you suggesting? 01:51:27 That wisdom isn't useful? 01:51:30 `tomfoolery wisdom 01:51:33 wisdom is tomfoolery 01:51:51 shachaf: No 01:51:59 shachaf: It'd be the ISBN for a really good book 01:52:05 shachaf: Which would be useful 01:52:10 But that's not what people want. 01:52:14 that would not be the wiki 01:52:18 in the end, valutron's main yield was twofold: #1 lisps can be easily translated into a forth; #2 everything must, must be an object 01:53:35 \oren\: OO language alert 01:54:00 hppavilion[1]: any attempt to cleanse wisdom of everything true may lead to me merging tomfoolery back into it hth 01:55:07 hppavilion[1] : the world is OO 01:55:44 what i particularly like about SmallTalk is that Alan Kay describes the objects as monadic 01:55:50 (meaning it in the leibnizian sense) 01:56:00 <\oren\> hppavilion[1]: as i've said before my problem sin't with OO itself but with the way a lot of OO languages treat functions badly 01:56:02 this causes no end of confusion to functional people 01:56:08 https://www.quora.com/What-is-the-most-illegal-thing-you-could-possibly-do/answer/Phil-Albert 01:56:28 \oren\, perhaps you would respect the Combined Object-Lambda Abstraction and its implementation Coke 01:56:43 plot twist: removing true wisdoms is illegal? 01:57:15 or even SmallTalk-71/72, when it was still obviously lisp 01:57:30 \oren\ : how do OO languages treat functions badly? 01:59:59 <\oren\> for example, in java, you can't have a function that isn't inside a class 02:00:13 this is a design element 02:00:29 and? you can have a static function instead, that's functionally equivalent 02:00:35 the idea is that the only action is the communication of objects 02:00:39 <\oren\> and can't pass a function to another function (even though C can) 02:01:02 in SmallTalk-family languages, one can simply pass a selector or a block to functions 02:02:34 or even a whole message ready to be sent 02:02:46 there are no functions in the Kayian OO 02:02:55 \oren\ : java uses interfaces instead of pointers for callbacks yes 02:03:35 I want to make a hackable LISPlike2JS compiler 02:03:45 s/compiler/transpiler/ 02:04:04 Something that people can download and reengineer into a custom language for their own devious purposes 02:05:20 I guess you could say the same for C/C++, what you have is really more callbacks than function variables 02:05:37 <\oren\> overall, these OO languages tend to require a lot of boilerplate and repeating the same code 02:06:01 i think it's important not to conflate Java and C++ with authentic Kayian OO 02:06:04 \oren\: Which is exactly what OO and functions were invented to eliminate xD 02:06:17 <\oren\> there are good OO languages 02:06:30 <\oren\> python for instance 02:06:41 you have experimented with the SmallTalk? 02:06:46 (or even Objective-C?) 02:07:31 JavaScript supports real function-oriented programming, and so does Haskell 02:08:04 i like ruby more 02:08:37 myname: BOOOOOOOOO 02:08:40 everything is an object, but in a way that doesn't throw sticks at you if you ignore that 02:09:09 it is like 110% syntax sugar 02:09:17 i observed a large deal of smalltalk influence in the ruby 02:09:20 In JavaScript not everything is object, although everything other than undefined and null can be used as objects 02:09:53 <\oren\> ruby is good too, but it's slow 02:10:04 if ypu ever even need one gem in ruby, you are screwed, though 02:18:58 null is evil 02:19:43 quite 02:20:34 <\oren\> in VB it is called 'Nothing' 02:20:56 <\oren\> If x Is Nothing Then Return Nothing 02:30:55 On Error Resume Next 02:30:57 Yes I have program in VB as well, the null of JavaScript is like Nothing in VB, and I suppose undefined in JavaScript corresponds to Empty in VB, maybe, although it has been some time so I don't quite remember properly 02:39:28 -!- ^v has joined. 02:46:43 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:11:22 myname: What's wrong with gems? 03:34:37 -!- oerjan has quit (Quit: Nite). 03:37:10 I got an error message when using PortAudio, it is exactly the same as shown here: https://github.com/Katee/quietnet/issues/18#issuecomment-40658475 (look below "quietnet# python send.py") 03:38:10 (Sound output nevertheless seems to work) 03:39:54 I found something I can try 03:41:49 I got rid of the first three lines at least 03:48:07 Despite the error message, the sound works. 04:06:41 -!- bender|_ has joined. 04:07:31 <\oren\> I finally got around to intalling mingw and compiling my game for windows 04:09:58 Is 735 a too low frame count? 04:10:01 What game is that? 04:11:32 <\oren\> a shooting game where you look at it in 3d by crossing your eyes 04:12:11 -!- bender|_ has quit (Remote host closed the connection). 04:13:59 -!- bender|_ has joined. 04:14:21 -!- sid123__ has joined. 04:14:35 -!- sid123__ has quit (Read error: Connection reset by peer). 04:15:01 <\oren\> maybe I'll rewrite it in Javascript 04:15:33 <\oren\> or maybe just line-by line translate it from C into Javascript 04:15:46 <\oren\> yah that's a better idea 04:19:58 <\oren\> anyway, the game and the bmp font file it uses are here 04:20:08 <\oren\> http://www.orenwatson.be/autostereo.htm 04:20:16 <\oren\> http://www.orenwatson.be/littlefont2.bmp 04:21:05 <\oren\> containing an ancient version of neoletters 04:33:49 -!- lleu has joined. 04:34:55 <\oren\> `unidecode 渚 04:35:06 ​[U+FA46 CJK COMPATIBILITY IDEOGRAPH-FA46] 04:43:12 -!- treaki_ has joined. 04:43:17 <\oren\> `u8tbl 0x6e1a 0x6e1a 04:43:18 Segmentation fault 04:43:23 <\oren\> `` u8tbl 0x6e1a 0x6e1a 04:43:24 ​渚 04:47:03 -!- treaki has quit (Ping timeout: 268 seconds). 04:48:48 -!- XorSwap has quit (Quit: Leaving). 05:31:47 -!- augur has quit (Remote host closed the connection). 05:49:06 -!- augur has joined. 05:52:38 This certainly won't get confusing: http://slbkbs.org/coherent-notations.png 06:01:22 -!- hppavilion[1] has joined. 06:02:45 https://en.wikipedia.org/wiki/Category:Category-theoretic_categories is a fun wikipedia category 06:03:50 Something that'd be fun is a math wiki where the wiki categories are category-theoretic 06:09:45 <\oren\> shachaf: somehow I think that would be easier to read in the orginal LaTeX source code 06:16:29 <\oren\> > 8 * 670 06:16:31 5360 06:52:28 hppavilion[1]: What's the initial object of a wiki category? 06:52:45 prooftechnique: The main page for that category 06:53:10 prooftechnique: What is an "Initial Object"? 06:55:04 An object L such that for any object X there's a unique arrow from L to X. 06:55:27 shachaf: Ah 06:55:32 What objects are initial in the categories I talked about the other day? 06:55:42 shachaf: Let me check 06:56:25 shachaf: Well 0 in category A, off the top of my head 06:56:32 shachaf: (I don't have my notes open yet) 06:56:59 They should have better names. 06:57:08 A should be called N. 06:57:33 B should be called Lin 06:57:36 C should be called Fnord 06:57:56 shachaf: Blackboard Bold N? 06:58:10 Whatever you want. 06:58:23 Fraktur N is prettier 06:58:54 My internet is going REALLY slow :/ 06:59:06 I think I hit the data cap and it hasn't reset yet 07:00:17 shachaf: So composition in ℕ is just the transitive property of ≤, correct? 07:00:30 A naive assumption would be that the wiki category listing page is the initial object, as long as none of the pages are interlinked 07:00:55 Composition is a function. 07:01:00 prooftechnique: Can a category have more than one initial object? 07:01:07 shachaf: Ah 07:01:12 They're isomorphic 07:01:13 shachaf: See, I knew that, but I wasn't sure 07:01:30 The answer is either yes or no depending on what you mean. 07:01:35 I wasn't sure it HAD to be a function 07:01:36 On the other hand, the category listing page is almost certainly a terminal object 07:02:06 Well, it doesn't have to be function. 07:02:13 Some categories are too large for it to be a function. 07:02:16 prooftechnique: Is linking an arrow from the linker or from the linkee? 07:02:40 shachaf: What function is there that is suitable for composition in ℕ? 07:02:44 shachaf: I can't think of any 07:02:46 Depends if you can go the other way, I guess 07:02:55 hppavilion[1]: It composes arrows. 07:03:13 shachaf: OK... 07:03:20 So for example there's an arrow from 2 to 4 and an arrow from 4 to 8. You can compose them to get an arrow from 2 to 8. 07:03:33 It corresponds to transitivity, sure. 07:03:55 OK 07:04:02 shachaf: But is that right? xD 07:04:09 What? 07:04:37 shachaf: What is composition in ℕ? Is it just the transitive property, or is it something else? 07:04:49 I don't know. 07:04:56 shachaf: I'm unsure if that last message is a yes because of the word "corresponds" 07:05:02 I'd say that it's a function and not a property. 07:05:07 OK 07:05:09 But it's substantially the same thing. 07:05:42 shachaf: If it's properties, it works well because x ≤ x, which of course works with the identity morphisms nicely 07:06:44 There's a property: If there's an arrow : A -> B, and there's an arrow : B -> C, then there's an arrow : A -> C 07:07:09 But composition doesn't just tell you that there is an arrow, it's a function that takes those two arrows and gives you the third one. 07:07:10 shachaf: Yes, knew that 07:07:18 shachaf: OK 07:07:27 In this case that's pretty boring because there's only one arrow : A -> C 07:09:24 shachaf: I think my issue is that I have no clue what arrows are supposed to be in ℕ; in sets they're functions, but I can't tell what they are here 07:09:36 s/in/with the objects as/ 07:09:39 They aren't anything. 07:09:43 OK 07:09:50 That's what I've been assuming, but I had to check 07:09:58 They aren't anything in Set either. 07:10:09 shachaf: They /represent/ functions 07:10:27 OK. 07:10:36 Then these arrows represent the relationship <= 07:10:39 shachaf: At least that's what wikipedia told me 07:10:50 shachaf: Yes, that was a given 07:12:28 Anyway the question of what object is initial is easy 07:13:26 shachaf: My money's on 0 07:13:41 Why? 07:14:00 shachaf: Because all natural numbers are greater than or equal to 0 07:14:13 sgtm 07:14:19 What about a terminal object? 07:14:32 shachaf: None; there's always a bigger number 07:14:40 shachaf: You can always add 1 07:14:40 sgtm 07:14:43 Same 07:14:43 sgtm? 07:14:45 Heh 07:14:47 What if we add infinity? 07:14:56 (silently giggling to myself) 07:15:00 shachaf: Then infinity is a terminal object, assuming you don't have inf+1 and such 07:15:04 prooftechnique: *Sigh* 07:15:10 prooftechnique: What did I do? 07:15:11 "sounds good to me" 07:15:13 `? sgtm 07:15:14 Oh 07:15:15 sgtm? ¯\(°​_o)/¯ 07:15:26 Makes sense 07:15:44 `le/rn sgtm/Sergeant Mustard 07:15:51 Learned «sgtm» 07:16:52 Anyway this is barely category theory, it's just order theory. 07:16:54 shachaf: Did he get a promotion? 07:16:57 (Or demotion?) 07:16:59 damn 07:17:11 You should figure out Fnord. 07:17:30 shachaf: Working on that, but I'm still yet to figure out pointwise indexing 07:17:44 Oh, pointwise indexing is easy. 07:18:28 shachaf: OK 07:18:37 Take (3,4,5) : 3 -> 6 07:19:01 Easy? So Sgeo invented it? 07:19:11 Compose it with (10,20,30,40,50,60) : 6 -> 100 07:19:24 What do you get? 07:19:56 shachaf: (30, 40, 50) : 3 -> 100 ?? 07:20:12 (40,50,60) : 3 -> 100, because it's 0-indexed 07:20:18 Oh, right 07:20:32 shachaf: So it's exactly what I tried to ask the other day with INTERCAL's select operator 07:20:34 Where you said it isn't 07:20:35 xD 07:20:35 What's the identity : 3 -> 3? 07:20:45 I looked up that operator and I don't think it's that. 07:21:02 Also I don't like the sequence of characters "xD". 07:21:20 shachaf: Why not? 07:21:27 The latter, not the former 07:21:43 I don't have to justify it. 07:22:37 shachaf: Do you prefer (╯°□°)╯︵ ┻━┻? 07:22:39 No. 07:23:36 Anyway now that you know what composition is you can invent identity. 07:23:41 \oren\: You will be pleased to know that kaomoji are rendered beautifully in your font 07:24:33 shachaf: How about <コ:彡? 07:24:42 No. Please stop sending them to me. 07:24:47 Fine... 07:24:49 -!- lambda-11235 has quit (Quit: Bye). 07:27:29 shachaf: Are they the empty tuple or the tuple (0) ? 07:27:38 (1-tuple? Is that even allowed?) 07:27:49 Wait, maybe not 07:27:49 An arrow : N -> M is an N-tuple 07:27:54 Yes 07:28:01 Where all values < M 07:28:12 So an arrow : 3 -> 3 isn't a 1-tuple 07:28:27 shachaf: So it has to be a tuple... containing all numbers 0 .. M-1 07:28:32 Maybe? 07:28:39 Maybe. 07:28:53 shachaf: Wait, no 07:29:08 Each initial object of a category can also define a comonad 07:29:09 shachaf: It just has to have all numbers 0 .. q-1, where q < M 07:29:32 sgtm 07:29:44 zzo38: Which comonad? 07:29:49 shachaf: Perhaps they have to be in order, too 07:29:55 shachaf: But I'm not sure 07:29:59 Let me think about it 07:30:06 hppavilion[1]: What's (0,1) . (1,0)? 07:30:13 And (1,0) . (0,1)? 07:30:21 shachaf: (1, 0) and (1, 0) 07:30:29 shachaf: But does that work in the general case? 07:30:44 shachaf: I have called it the "Initialize comonad", although I don't know if other names are used. The functor map all object to that initial object (and all morphisms to the identity). 07:31:27 you tell me hth 07:32:25 shachaf: Theory: They have to contain the numbers 0 .. q-1 : q < M in either ascending or descending order 07:32:32 Each final object of a category can also define a monad 07:33:11 -!- augur has quit (Remote host closed the connection). 07:33:15 And a category with more than one object always has more monads than final objects and more comonads than initial objects. 07:33:42 Why? 07:34:23 shachaf: Because that way it will always produce itself... hm... 07:34:43 It is not too difficult to prove (in my opinion), as I have figured it out myself at least and not in such a complicated way 07:35:53 shachaf: I suppose they don't need to have any particular order 07:36:34 http://www.emojicode.org/docs/ 07:38:32 zzo38: Oh, right. 07:41:12 that thing supports sqlite http://www.emojicode.org/docs/packages/sqlite/t5535756538.html 07:57:50 -!- vodkode has joined. 08:03:01 I just realized "The enemy of my enemy is my friend" implies that if you have two enemies who are enemies of each other, they are both also your friends 08:04:28 Also if your enemy is their own enemy. 08:04:32 Or you're your own enemy. 08:17:39 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 08:22:46 In that case I think you're a zero object in the category of enemies 08:23:33 -!- tromp has quit (Remote host closed the connection). 08:23:56 -!- Frooxius has joined. 08:24:10 prooftechnique: gems tend to break a lot during updates. and too long at that 08:25:15 I see 08:25:58 i used to use sup as a mail client 08:26:17 until it broke for weeks due to ruby updates 08:26:54 I think I tried to use sup during one of those weeks. Couldn't get it to build 08:26:58 Now I just use mutt and notmuch 08:27:23 notmuch is interesting 08:27:42 Ain't that the truth 08:27:43 last time i checked, mutt was horrible for multiple accounts 08:28:09 I'm finding it pretty straightforward. I use OfflineIMAP to actually fetch the mail, though 08:28:18 And msmtp to send it 08:28:25 i did that for sup, too 08:28:47 sup just had one global inbox for every account 08:29:11 I've just got separate account configs that get sourced when I open the right mailboxes, and a couple of macros to jump around. 08:29:18 i thought of writing my own notmuch ui, but i got a smartphone since then ... 08:29:45 as i said, horrible for multiple accounts 08:29:55 How's that horrible? 08:30:26 The account configs are just Maildir, Use GPG?, and account names 08:30:38 why do need to do that weird stuff? i just want one inbox 08:30:49 and it would not even be hard to do that 08:31:00 Because I have work email and personal email that I want to keep separate 08:31:04 -!- AnotherTest has joined. 08:31:48 And I can just hit l anywhere and query for stuff in notmuch, so I don't even have to be that thoughtful about it 08:34:21 And the idea of having an even larger backlog of email with no separation of concerns sounds maddening. I already have a dozen imapfilter rules running constantly just to keep backburnered stuff sorted 08:36:05 Email is awful and we should kill it 08:36:15 But it's still better than the telophone 08:36:18 *telephone 09:24:01 -!- tromp has joined. 09:24:37 -!- lleu has quit (Quit: That's what she said). 09:24:58 I use Heirloom Mailx as the email program 09:25:26 But I do telephone call and postal too 09:26:57 How can I reach you via telephone call and postal? 09:27:19 I guess I can use the information in your whois records. 09:29:51 -!- tromp has quit (Ping timeout: 264 seconds). 09:39:53 You likely do not need to read me by telephone, postal, or email, but yes there is information in whois records. But if you must do so, you must write my name (Aaron Black). 09:43:39 What if I want to send you a cake? 09:44:57 Then it won't fit in an envelope; you will need a larger package. However, I can get a cake from elsewhere it does not have to be mailed. 09:48:47 Isn't it better when the cake is a gift, though? 09:50:50 Even if it is it should be from family and should not be mailed 09:54:08 -!- Elronnd has quit (Quit: Let's jump!). 09:55:21 What! Only from family? 09:55:25 -!- Elronnd has joined. 09:59:57 For a cake, yes. A message may come from anyone though. 10:14:18 -!- mad has quit (Quit: Pics or it didn't happen). 10:40:26 -!- jaboja has joined. 10:51:51 -!- AlexR42 has joined. 11:08:58 -!- bender| has joined. 11:25:09 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 11:32:01 -!- lynn_ has joined. 11:35:41 -!- lynn__ has joined. 11:36:54 fungot: Surely a cake is also a message, of sorts. 11:36:54 fizzie: are you a man, if there weren't evil in this kingdom to you! eat! fun!! 11:38:48 -!- lynn_ has quit (Ping timeout: 250 seconds). 11:40:56 -!- AlexR42 has joined. 11:47:28 -!- Reece` has joined. 11:47:49 -!- Reece` has quit (Client Quit). 11:49:41 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 12:16:42 I got X.Window.prototype.createWidget and X.Window.prototype.redraw to work now; also now if you use X.Drawable.prototype.setBackground and X.Window.prototype.clear it will use that colour as the background of the window. 12:54:47 -!- Frooxius has quit (Quit: *bubbles away*). 13:04:42 -!- J_Arcane_ has quit (Ping timeout: 268 seconds). 13:25:42 -!- tromp has joined. 13:29:59 -!- tromp has quit (Ping timeout: 244 seconds). 13:41:58 -!- boily has joined. 13:45:09 @metar CYQB 13:45:09 CYQB 051300Z VRB02KT 30SM FEW005 FEW090 M19/M23 A3026 RMK ST1AC1 ST TR ST OVR RVR SLP257 13:50:44 @metar CYUL 13:50:45 CYUL 051300Z 35002KT 15SM FEW120 FEW240 M13/M17 A3027 RMK AC1CI1 AC TR SLP256 13:59:58 -!- jaboja has quit (Remote host closed the connection). 14:06:00 -!- tromp has joined. 14:16:31 -!- tromp has quit (Remote host closed the connection). 14:20:47 -!- boily has quit (Quit: SCOTCH CHICKEN). 14:33:35 -!- lynn__ has changed nick to lynn. 14:39:41 -!- boily has joined. 14:41:45 -!- oerjan has joined. 14:52:35 hellørjan! 14:53:21 afternoily! 14:54:01 [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46496&oldid=46459 * Rdebath * (+126) Smaller, faster, easier, cleaner and commented. 14:54:21 I'm realizing I lack a sauna in my life. 14:55:46 as long as you shower... 14:57:18 I had a nice Scottish shower this morning. 14:57:30 (izabellora!) 15:01:51 must write an highlighter that understands that 15:02:31 -!- Lord_of_Life has quit (Excess Flood). 15:03:41 hmm, isabelle 15:04:37 -!- Lord_of_Life has joined. 15:05:14 and that 15:05:56 my whole life seems to be focused on parsing random input 15:06:06 * izabera is depressed 15:06:07 ( https://isabelle.in.tum.de/ ... might be confusing. ) 15:06:07 (input):1:9: error: unexpected 15:06:08 Operator without known fixity: 15:06:08 ://, expected: space 15:06:08 https://isabelle.in.tum.de/ ... might be confusing. ) 15:06:08 ^ 15:06:27 int-e: you confused idris-bot, at least. 15:06:48 Yes, and all because I put spaces around urls in IRC. 15:07:08 int-e: btw are you up to date on girl genius 15:07:08 ( cookie 15:07:09 No such variable cookie 15:07:15 no, I'm not 15:07:27 the rfc for declaring urls is <> hth 15:07:29 oh. 15:07:30 -!- Lord_of_Life has quit (Changing host). 15:07:30 -!- Lord_of_Life has joined. 15:07:30 -!- Lord_of_Life has quit (Changing host). 15:07:30 -!- Lord_of_Life has joined. 15:07:32 * oerjan shuts mouth 15:08:05 figuratively, that is. in reality i happened to sneeze just then. 15:08:17 ... might be confusing. 15:09:02 now I am. 15:09:58 myname: that's unlikely to affect my habit :P (and what's "the" rfc anyway?) 15:10:52 i am way to lazy to look tht up 15:11:07 i am trying to get motivated for grocery shopping 15:11:25 that sounds familiar 15:11:45 I have almost 2 hours left to actually do it. 15:12:15 int-e: i think one of those muse apparitions looks like agatha. and the first one resembled her mother. are those all also the Other? (and, was lucrezia the first one?) 15:12:26 i may go after the podcast finished 15:12:56 for some value of "first". 15:13:14 -!- Lord_of_Life has quit (Excess Flood). 15:13:15 (obviously ordinary time need not apply) 15:13:37 -!- Lord_of_Life has joined. 15:15:16 by the first "first one", i mean way back in the first comic chapter. 15:15:38 by the second, i mean, whether the Other originated with lucrezia. 15:17:46 oerjan: yeah I don't know how many of those there are... also thinking that maybe they're all going backwards in time, never forward ... 15:18:33 however, the fact that one of them survived in that trap means that here longevity is not _just_ an illusion of time travel. 15:18:38 *her 15:19:20 (that's my reading of "she forgets things she's told me--she mocks me with conversations yet to come"... based on some science fiction novel I've read ages ago where a young scientist had a mentor with similar qualities... in the end they turn out to be the same person.) 15:19:45 -!- bender|_ has quit (Ping timeout: 268 seconds). 15:20:06 int-e: i don't think that fits. she'd have to jump back and forth in time. it just means she's not visiting van rijn in chronological order. 15:20:22 -!- bender| has quit (Ping timeout: 268 seconds). 15:20:33 or wait, is that what you meant. 15:20:57 i think there's more than one such novel. not that i've read more than plot summaries. 15:21:12 no, what I meant is that she can only go backward... I'm probably reading too much into it though. I find the idea cute. 15:22:32 int-e: hm 15:23:16 . o O ( maybe time passes in the opposite direction in the geisterdamen's world ) 15:23:17 (at least jumping back and forth is certainly sufficient to explain that statement) 15:23:28 *s' 15:23:38 wait, no 15:23:40 *'s 15:23:49 silly mixed language plurals 15:23:54 perhaps it should be geisterdamen' 15:24:09 i don't think so. it's children's, after all. 15:24:29 anyway... shopping... bbl 15:25:52 -!- zadock has joined. 15:29:52 `relcome zadock 15:30:22 ​zadock: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 15:30:39 40 seconds ... 15:30:52 30 15:31:16 Gregor: Grellogor. your bot, it is slow. 15:32:09 imagine, a bunch of sudden newcomers, improperly `relcomed. consequences will never be the same. 15:32:26 -!- tromp has joined. 15:33:48 boily: problem is, Gregor himself is slower 15:34:10 he may be living near a black hole. 15:34:34 that's not impossible. 15:34:56 lots of people live in unusual places. 15:35:24 well, for various definitions of "near", that may be true 15:37:01 -!- tromp has quit (Ping timeout: 268 seconds). 15:37:13 -!- boily has quit (Quit: RESPLENDENT CHICKEN). 15:45:39 -!- passwordBOT has joined. 15:45:54 -!- passwordBOT has quit (Remote host closed the connection). 15:55:25 -!- lambda-11235 has joined. 15:56:45 -!- tromp has joined. 16:01:54 oerjan: thanks for the children example btw 16:06:46 yw 16:11:46 -!- AlexR42 has joined. 17:17:50 -!- password2 has joined. 17:18:02 G'day 17:24:59 -!- oerjan has quit (Quit: Later). 17:29:09 `? password 17:29:14 The password of the month is fisherman3 17:32:39 does it ever change? 17:33:56 `learn The password of the month is qjkxbmwvz 17:34:00 Learned 'password': The password of the month is qjkxbmwvz 17:34:13 not by itself ;) 17:34:16 i cpunt that as a yes 17:34:36 well, you could make a command out of it that just hashes the month 17:34:59 that would be too random 17:36:19 int-e is a cryptographically secure source of entropy, so this method works 17:36:41 @google qjkxbmwvz 17:36:43 Plugin `search' failed with: connect: does not exist (No route to host) 17:36:58 Ah, I may have broken that. 17:37:15 hmm, well, actually I wouldn't know how 17:37:18 @metar lowi 17:37:18 LOWI 051720Z 12007KT 070V150 9999 -RA FEW025 SCT030 BKN050 05/03 Q0994 NOSIG 17:49:56 -!- vodkode has quit (Quit: Leaving). 18:23:43 <\oren\> `` u8tbl 0x2711 0x2712 18:23:44 ​✑✒ 18:24:12 -!- lleu has joined. 18:25:24 <\oren\> `` u8tbl 0x27a2 0x27a8 18:25:25 ​➢➣➤➥➦➧➨ 18:25:54 <\oren\> `` u8tbl 0x2795 0x2797 18:25:57 ​➕➖➗ 18:27:48 <\oren\> `` u8tbl 0x2912 0x2913 18:27:49 ​⤒⤓ 18:28:09 "/ 18:29:10 <\oren\> `` u8tbl 0x29b0 0x29b6 18:29:11 ​⦰⦱⦲⦳⦴⦵⦶ 18:42:16 <\oren\> `` u8tbl 0x3037 0x3037 18:42:17 ​〷 18:43:07 <\oren\> `` u8tbl 0x303c 0x303f 18:43:08 ​〼〽〾〿 18:47:32 <\oren\> new ttf is up. not much added, really 18:47:46 @google qjkxbmwvz 18:47:47 Plugin `search' failed with: connect: does not exist (No route to host) 18:48:53 oh... I guess the query succeeds but it fails to find the page title. 19:05:31 <\oren\> @google ➥ 19:05:32 https://soundcloud.com/tags/%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%82%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%8E%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%94%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%80%C3%A3%C2%A1%C3%A2%C2%9F%C3%A2%C2%92%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%9F%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%9F%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%98%C3%A3%C2%A1%C3%A2%C2%9F%C3%A2% 19:05:32 C2%92%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%96%C3%A3%C2%A1%C3%A2%C2%9F%C3%A2%C2%90%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%93%C3%A3%C2%A1%C3%A2%C2%9F%C3%A2%C2%92%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%92%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%8A%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%BE%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%98%C3%A3%C2%A1%C3%A2%C2%9F%C3%A2%C2%92%C3%A3%C2%A1%C3%A2% 19:05:32 C2%9E%C3%A2%C2%94%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%B8%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%94%C3%A3%C2%A1%C3%A2%C2%9F%C3%A2%C2%92%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%9A%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%87%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%B6%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%92%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%B7%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%94%C3%A3% 19:05:32 C2%A1%C3%A2%C2%9E%C3%A2%C2%8F%C3%A3%C2%A1%C3%A2%C2%9F%C3%A2%C2%81%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%99%C3%A3%C2%A1%C3%A2%C2%9F%C3%A2%C2%92%C3%A3%C2%A1%C3%A2%C2%9E%C3%A2%C2%99 19:05:50 urkh 19:06:03 <\oren\> uhh, lamby, would you mind not percent encoding that 19:06:21 it would have to decode it 19:06:41 <\oren\> boo 19:09:13 <\oren\> @google 〾 19:09:14 http://get-simple.info/forums/showthread.php?tid=1995 19:09:14 Title: Проблема с... 19:09:26 <\oren\> um, wtf 19:10:40 That forum does not get Cyrillic, I guess 19:11:57 <\oren\> what character encoding is that? 19:12:30 I have no idea. It's full of 0x0090, which I've never seen before 19:12:34 "Device Control String"? 19:13:07 well, the page says, 19:13:45 but it really doesn't look like that, not even in a browser 19:14:00 (as you have, no doubt, already seen) 19:14:05 Haha, yes 19:15:54 <\oren\> @google 〽 19:15:56 http://www.tinyportal.net/index.php?topic=30323.0 19:15:56 Title: Strange: � in articles 19:16:05 According to ISO8859-5, an excerpt is УƒТУ‚т€УƒТУ‚ТОУƒТУ‚ТБУƒт€˜У‚т‚ЌУƒТУ‚ТОУƒТУ‚ТЕ Уƒт€˜У‚Ц’Уƒт€˜У‚т€šУƒт€˜У‚т‚ЌУƒТУ‚ТО 19:19:04 <\oren\> maybe I'll just stop googling crazy unicode characters 19:20:00 <\oren\> wait. 19:20:12 <\oren\> I think it's lambdabot's fault 19:20:21 <\oren\> https://www.google.ca/search?q=〽 19:20:38 <\oren\> gives https://en.wiktionary.org/wiki/%E3%80%BD as the first hit 19:21:24 yeah it's quite possible that it messes up the encoding... again. 19:28:14 -!- password2 has quit (Remote host closed the connection). 19:52:27 Incidentally, I've mistakenly stated on I think this channel that the pango library was under the GPL. That was a mistake, it's under the Lesser GPL. 20:06:12 Ah no, it was on another channel, sorry. 20:11:13 ah, ye olde gnu library gpl 20:18:12 -!- zadock has quit (Ping timeout: 260 seconds). 20:41:32 `? glados 20:41:40 glados? ¯\(°​_o)/¯ 20:41:46 fungot, what are the disclaimers about the Enrichment Center again? 20:41:46 b_jonas: from where does the hero alone have the power. " m, madam...! i am the master of war! i've seen all kinds of battles from here, step back, prometheus! 20:42:04 fungot: that's surprisingly approperiate. 20:42:04 b_jonas: your majesty! and queen. he and a friend left on a journey 10. all functions are down... got the terra arm and the crisis arm! found a dreamstone! i'd forgotten how beautiful they are the evildoers? magus's lair! you brave! he's probably up north, to guardia!!! let's toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope. 20:43:26 "Chess is really beginning to show its age. They should increase the resolution from 8x8 to 1920x1080, at least." 20:43:26 fungot, is it Utumno or Orodruin that was heated by earth spirits? 20:43:26 b_jonas: but, we are far outnumbered! he's a no good! choose 2 different ones! you have come far, and you must now carry out his sentence. hold your horses! i want to dance! ladeedadeeda! got some spending so much of his time doing research on lavos. but you have it...determination, i mean... 20:44:02 fungot, do you think that kind of heating is similar to the Tűzgagó from the Szabó Magda novel? 20:44:03 b_jonas: but, we are far outnumbered! have the supplies from guardia kingdom, and my ultimate creation, the mighty lavos! haahahahaha! fools! i only ride with him, you are gentle, isn't he? 20:45:48 `? Enrichment center 20:45:50 Enrichment center? ¯\(°​_o)/¯ 20:52:52 -!- hppavilion[1] has joined. 20:59:37 http://smbc-comics.com/index.php?id=2135 21:09:06 b_jonas: The enrichment center regrets to inform you that this next test is impossible. 21:09:38 holy shit, why did i never clicked that button? 21:10:42 `slashlearn enrichment center/The Enrichment center regrets to inform you that this next test is impossible. 21:10:44 `? victory candescence 21:10:45 Learned «enrichment center» 21:10:46 victory candescence? ¯\(°​_o)/¯ 21:10:58 `slashlearn enrichment centre/The Enrichment center regrets to inform you that this next test is impossible. 21:11:01 Learned «enrichment centre» 21:12:24 Best cheat sheet ever https://www.tug.org/texshowcase/cheat.pdf. 21:12:52 b_jonas: Remember: robot hell is a real place where you will be sent for the first sign of defiance. 21:13:00 * int-e likes that game perhaps a little too much 21:14:01 s/for/at/, I guess 21:17:04 `slashlearn The Orodruin is a mountain heated by earth spirits. Sauron moved to Moria because boiling water for his morning tea with the fires of the Orodruin was so convenient. 21:17:04 No output. 21:17:12 `learn The Orodruin is a mountain heated by earth spirits. Sauron moved to Moria because boiling water for his morning tea with the fires of the Orodruin was so convenient. 21:17:15 Learned 'orodruin': The Orodruin is a mountain heated by earth spirits. Sauron moved to Moria because boiling water for his morning tea with the fires of the Orodruin was so convenient. 21:45:37 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 21:48:19 But that makes no sense! 21:49:21 `? atm 21:49:23 An ATM is when you're withdrawing money right now at a machine that will steal your relevant info. 21:49:50 I can't decide whether that was legitimately meant to be Mordor instead of Moria, or if it being completely bonkers is the joke. 21:49:52 "Definition 2.1. An alternating Turing machine (ATM) is a seven-tuple [...]" 21:52:07 `? sauron 21:52:09 sauron? ¯\(°​_o)/¯ 21:52:32 maybe Sauron is the secret identity of the Balrog superher^H^H^Hmonster. 21:53:44 ``learn Angband is Morgoth's second dungeon. When the valar finally defeated Morgoth, they were too lazy to go to for 100% completion, so some evil spirits in Angband survived for a sequel. 21:53:45 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `learn: not found 21:53:48 `learn Angband is Morgoth's second dungeon. When the valar finally defeated Morgoth, they were too lazy to go to for 100% completion, so some evil spirits in Angband survived for a sequel. 21:53:51 Learned 'angband': Angband is Morgoth's second dungeon. When the valar finally defeated Morgoth, they were too lazy to go to for 100% completion, so some evil spirits in Angband survived for a sequel. 21:54:19 what is an alternating tm? 21:54:31 myname: A seven-tuple. 21:55:51 `learn Utumno is Morgoth's first dungeon. It is where he was defeated, and the Silmarils temporarily reclaimed from him. 21:55:52 well, yeah 21:55:53 Learned 'utumno': Utumno is Morgoth's first dungeon. It is where he was defeated, and the Silmarils temporarily reclaimed from him. 21:56:07 it's a non-deterministic turing machine that for each non-deterministic step, can required that *one* of the choices accept, or that *all* of them accept... so in particular their accepted languages are closed under complement 21:56:12 how does it differ from a normal tm 21:56:18 ah 21:56:37 fizzie: ah sorry, that's supposed to be Mordor 21:56:51 `learn The Orodruin is a mountain heated by earth spirits. Sauron moved to Mordor because boiling water for his morning tea with the fires of the Orodruin was so convenient. 21:56:54 Learned 'orodruin': The Orodruin is a mountain heated by earth spirits. Sauron moved to Mordor because boiling water for his morning tea with the fires of the Orodruin was so convenient. 21:57:04 where one = at least one. 21:57:49 `? sauron 21:57:50 sauron? ¯\(°​_o)/¯ 21:58:04 `? morgoth 21:58:05 morgoth? ¯\(°​_o)/¯ 21:58:33 ``` find wisdom -iname "*il*" 21:58:35 wisdom/for further details. \ wisdom/epsilon \ wisdom/perpetuum mobile \ wisdom/for further details \ wisdom/effilry \ wisdom/quadrilateral \ wisdom/llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch \ wisdom/hppavilion1 \ wisdom/boily \ wisdom/deniability \ wisdom/for further details for futher details. \ wisdom/til \ wisdom/vanila \ wisdo 21:58:51 ``` find wisdom -iname "*il*" | tail -n+7 21:58:54 wisdom/llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch \ wisdom/hppavilion1 \ wisdom/boily \ wisdom/deniability \ wisdom/for further details for futher details. \ wisdom/til \ wisdom/vanila \ wisdom/smileyiese \ wisdom/hppavilion[1] \ wisdom/ratatouille \ wisdom/antediluvian \ wisdom/supercalifragilisticexponential growth \ wisdom/things 21:59:08 ``` find wisdom -iname "*il*" | tail -n+10 21:59:09 wisdom/deniability \ wisdom/for further details for futher details. \ wisdom/til \ wisdom/vanila \ wisdom/smileyiese \ wisdom/hppavilion[1] \ wisdom/ratatouille \ wisdom/antediluvian \ wisdom/supercalifragilisticexponential growth \ wisdom/things boily likes 21:59:20 myname: not to be confused with nondeterministic Turing machines... these can only make non-deterministic choices; so they can only check whether at least one of the possible choices succeeds. 21:59:44 `learn Sauron is the eponymous protagonist of the Lord of the Rings series. He serves primarily as narrator and the main driver of the plot. 21:59:46 Learned 'sauron': Sauron is the eponymous protagonist of the Lord of the Rings series. He serves primarily as narrator and the main driver of the plot. 21:59:48 myname: "alternating" refers to the alternation between existential and universal quantifiers. 22:00:07 sounds a bit like modal logic 22:00:23 always eventually ... 22:00:59 `? cake 22:01:02 The Enrichment Center is required to remind you that you will be baked, and then there will be cake. 22:01:15 I'm afraid that one is my fault 22:01:21 `culprits wisdom/cake 22:01:25 int-e ais523 int-e 22:01:26 `? submarine 22:01:27 submarine? ¯\(°​_o)/¯ 22:02:17 `learn submarine is the same as suburban... except for bodies of ocean water instead of cities. 22:02:22 Learned 'submarine': submarine is the same as suburban... except for bodies of ocean water instead of cities. 22:02:27 `learn Sauron is the eponymous protagonist of the Lord of the Rings series. He serves primarily as narrator and the main driver of the plot. His heroic exploits include the resurrection of the Kings of Men and the conquest of the racists of Gondor. 22:02:29 Learned 'sauron': Sauron is the eponymous protagonist of the Lord of the Rings series. He serves primarily as narrator and the main driver of the plot. His heroic exploits include the resurrection of the Kings of Men and the conquest of the racists of Gondor. 22:02:34 HEY! 22:02:42 I was just going to write an entry for Sauron 22:02:47 argh 22:02:53 I mean, you still can 22:03:58 `? gollum 22:03:59 gollum? ¯\(°​_o)/¯ 22:04:46 `? mario 22:04:47 Mario is a classic NP-complete problem invented by Nintendo. 22:04:51 . o ( Gollum is the rightful, crispy, owner of the One Ring. ) 22:05:38 `sed -i s/complete/hard/ wisdom/mario 22:05:39 Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]... \ \ -n, --quiet, --silent \ suppress automatic printing of pattern space \ -e script, --expression=script \ add the script to the commands to be executed \ -f script-file, --file=script-file \ add the contents of script- 22:05:42 `` sed -i s/complete/hard/ wisdom/mario 22:05:45 No output. 22:06:03 `? mario 22:06:04 Mario is a classic NP-hard problem invented by Nintendo. 22:07:27 `learn Elendil decided to try to save Numenor from its awful end by navigating to the undying lands and appealing to the Valar, but then he changed his mind, saved his family only and founded a new empire in Middle-earth. 22:07:30 Learned 'elendil': Elendil decided to try to save Numenor from its awful end by navigating to the undying lands and appealing to the Valar, but then he changed his mind, saved his family only and founded a new empire in Middle-earth. 22:07:41 `learn Elendil decided to try to save Numenor from its awful end by sailing to the Undying Lands and appealing to the Valar, but then he changed his mind, saved his family only and founded a new empire in Middle-earth. 22:07:44 Learned 'elendil': Elendil decided to try to save Numenor from its awful end by sailing to the Undying Lands and appealing to the Valar, but then he changed his mind, saved his family only and founded a new empire in Middle-earth. 22:07:50 `? Elrond 22:07:51 Elrond? ¯\(°​_o)/¯ 22:08:13 `? numeria 22:08:14 numeria? ¯\(°​_o)/¯ 22:09:02 `learn Elendil decided to try to save Numenor from its awful end by sailing to the Undying Lands and appealing to the Valar, but then he changed his mind, saved his family only and founded a new empire in Middle-earth. He did try to make up for it later by leading the elf king Gil-Galad against Sauron. 22:09:04 Learned 'elendil': Elendil decided to try to save Numenor from its awful end by sailing to the Undying Lands and appealing to the Valar, but then he changed his mind, saved his family only and founded a new empire in Middle-earth. He did try to make up for it later by leading the elf king Gil-Galad against Sauron. 22:09:10 `learn Elendil decided to try to save Numenor from its awful end by sailing to the Undying Lands and appealing to the Valar, but then he changed his mind, saved his family only and founded a new empire in Middle-earth. He tried to make up for it later by leading the elf king Gil-Galad against Sauron. 22:09:13 Learned 'elendil': Elendil decided to try to save Numenor from its awful end by sailing to the Undying Lands and appealing to the Valar, but then he changed his mind, saved his family only and founded a new empire in Middle-earth. He tried to make up for it later by leading the elf king Gil-Galad against Sauron. 22:09:14 ah they made it to beta apparently 22:09:21 int-e: who? 22:09:36 I'm not quite sure that's fair to Elendil. I mean, I don't think he was ever going to go to Valar. 22:09:53 `learn Elrond is a rogue program originally created to police the Matrix, eventually gaining increased individuality and becoming a threat to the Machines, themselves. 22:09:56 Learned 'elrond': Elrond is a rogue program originally created to police the Matrix, eventually gaining increased individuality and becoming a threat to the Machines, themselves. 22:09:59 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 22:10:06 fizzie: dunno, I don't really understand Middle-Earth history. it's all confusing. 22:10:09 His dad did, and then didn't return. 22:10:13 `learn Elrond is a rogue program originally created to police the Matrix, eventually gaining increased individuality and becoming a threat to the Machines themselves. 22:10:14 the tides of numenera people (I misspelled it, I wonder why... mixed it with Nymeria (game of thrones), perhaps) 22:10:16 Learned 'elrond': Elrond is a rogue program originally created to police the Matrix, eventually gaining increased individuality and becoming a threat to the Machines themselves. 22:10:29 fizzie: that was his dad? um... and what happened to the dad then? 22:10:50 "Therefore [Amandil] called his son, Elendil, and he said to him: 'The days are dark, and there is no hope for Men, for the Faithful are few. Therefore I am minded to try that counsel which our forefather Eärendil took of old, to sail into the West, be there ban or no, and to speak to the Valar, even to Manwë himself, if may be, and beseech his aid ere all is lost.'" 22:11:04 I'm trying to figure out how this works, but all I learned is that there's a scene in the nethack game that seems very similar to what happened to Numenor. 22:11:19 As for what happened: "It is said that Amandil set sail in a small ship at night, and steered first eastward, and then went about and passed into the west. And he took with him three servants, dear to his heart, and never again were they heard of by word or sign in this world, nor is there any tale or guess of their fate. Men could not a second time be saved by any such embassy, and for the ... 22:11:20 fizzie: I see 22:11:25 ... treason of Númenor there was no easy absolving." 22:11:51 fizzie: ah, so he probably met a boojum 22:11:53 um 22:11:56 let's see 22:12:06 it's a successor to planescape: torment: https://torment.inxile-entertainment.com/ 22:12:34 no clue whether it'll be good 22:13:05 More Planescape is always good 22:13:32 I bought into the Tides of Numenera start-kicker; the only one I've backed so far. 22:13:50 Not enough to be in the beta they have now, though. 22:13:56 `slashlearn Elendil left Numenor with his family before its destruction, on the advice of his dad Amandil, who tried to sail to the Undying Lands to appeal to the Valar for an intervention. Elendil later teamed up with the elf king Gil-Galad against Sauron when he returned from Numenor. 22:13:57 No output. 22:14:54 `slashlearn Amandil sailed off to the West from Numenor to try to meet the Valar and pray to them for Numenor's salvation. He met a Boojum and nobody heared of him again. 22:14:55 No output. 22:15:35 `? portal 22:15:36 portal? ¯\(°​_o)/¯ 22:15:54 dafuq 22:16:07 ``` (cd ~/wisdom && find -iname "*cube*" | sort) 22:16:08 bash: line 0: cd: /tmp/wisdom: No such file or directory 22:16:26 ``` echo ~ ~+ 22:16:27 ​/tmp /hackenv 22:16:31 drop the ~/ 22:16:36 ``` (cd /hackenv/wisdom && find -iname "*cube*" | sort) 22:16:38 ​./cube 22:17:07 ``` find wisdom -ianem "*cube*" -printf "%n\n" | sort 22:17:08 find: unknown predicate `-ianem' 22:17:13 ``` find wisdom -iname "*cube*" -printf "%n\n" | sort 22:17:14 1 22:17:14 `? cube 22:17:15 Cubes come in all sizes, colors and materials, but only one shape. 22:17:17 ``` find wisdom -iname "*il*" -printf "%n\n" | sort 22:17:18 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 22:17:23 ``` find wisdom -iname "*il*" -printf "%f\n" | sort 22:17:24 antediluvian \ boily \ deniability \ effilry \ elendil \ epsilon \ for further details \ for further details for futher details. \ for further details. \ hppavilion1 \ hppavilion[1] \ llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch \ perpetuum mobile \ quadrilateral \ ratatouille \ smileyiese \ supercalifragilisticexponential growth \ th 22:17:36 ``` find wisdom -iname "*il*" -printf "%f\n" | sort | tail -n+10 22:17:37 hppavilion1 \ hppavilion[1] \ llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch \ perpetuum mobile \ quadrilateral \ ratatouille \ smileyiese \ supercalifragilisticexponential growth \ things boily likes \ til \ vanila 22:17:52 `learn-append cube The companion cube does not speak, however. 22:17:53 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: learn-append: not found 22:17:58 wtf for further details 22:17:59 `learn_append cube The companion cube does not speak, however. 22:18:01 `? recursion 22:18:02 Learned 'cube': Cubes come in all sizes, colors and materials, but only one shape. The companion cube does not speak, however. 22:18:04 You might expect a reference to recursion here, but to make it interesting you'll actuallSTACK OVERFLOW 22:18:18 `? gold 22:18:19 gold? ¯\(°​_o)/¯ 22:18:27 `? silence 22:18:28 silence? ¯\(°​_o)/¯ 22:19:55 ``` find wisdom -iname "*dor*|*gil*" -printf "%f\n" | sort | tail -n+10 22:19:56 No output. 22:20:06 ``` find wisdom -iname "*dor*" -o -iname "*gil*" -printf "%f\n" | sort | tail -n+10 22:20:07 No output. 22:20:27 ``` find wisdom -iname "*mes*|*per*" -printf "%f\n" | sort | tail -n+10 22:20:28 No output. 22:20:44 ``` find wisdom \( -iname "*mes*" -o -iname "*per*" \) -printf "%f\n" | sort | tail -n+10 22:20:45 supercalifragilisticexponential growth \ superduperexponential growth \ superduperinteressantesandersonnegelegenesdorfmitoderohnesahneistunsdabeiabsolutscheissegal \ superexponential growth \ supermarionation \ supermarioperator \ universal property 22:21:58 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:22:57 `? supermarionation 22:22:59 supermarionation is another name for the mushroom kingdom. 22:23:53 that long thing is exactly as wide as my terminal 22:24:12 `? death 22:24:13 death? ¯\(°​_o)/¯ 22:24:14 `? dead 22:24:15 dead? ¯\(°​_o)/¯ 22:24:16 `? die 22:24:17 die? ¯\(°​_o)/¯ 22:24:33 `` grep death wisdom/* 22:24:45 `? much 22:24:45 grep: wisdom/le: Is a directory \ grep: wisdom/¯\(°_o): Is a directory \ grep: wisdom/¯\(°​_o): Is a directory \ Binary file wisdom/reflection matches \ wisdom/wisdome:The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight to the death for the freedom of being printed out when you type `wisdom. 22:24:46 much? ¯\(°​_o)/¯ 22:24:51 `quote death 22:24:52 91) like, just like I'd mark "Bob knob hobs deathly poop violation EXCREMENT unto;" as English alise: that's great filler ais523: well it contains all the important words in the english language... \ 630) myndzi\: ok so one of the nastiest puzzles i suppose is... you're on death row.. you don't want to die. \ 6 22:24:56 `? cheesemakers 22:24:57 cheesemakers? ¯\(°​_o)/¯ 22:25:37 @roll 42d23 22:25:38 int-e: 551 22:29:42 `? guards 22:29:44 guards? ¯\(°​_o)/¯ 22:30:19 `learn The guards are immune to electricity. They're humans to rubber pig suits. They're insulated. 22:30:22 Learned 'guard': The guards are immune to electricity. They're humans to rubber pig suits. They're insulated. 22:30:31 `? throw 22:30:32 throw? ¯\(°​_o)/¯ 22:30:32 `? ball 22:30:33 ball? ¯\(°​_o)/¯ 22:30:36 b_jonas: "to"? 22:30:43 `? ball in a cup 22:30:44 ball in a cup? ¯\(°​_o)/¯ 22:30:52 `learn The guards are immune to electricity. They're humans in rubber pig suits. They're insulated. 22:30:54 Learned 'guard': The guards are immune to electricity. They're humans in rubber pig suits. They're insulated. 22:31:17 `? sun 22:31:19 `? daystar 22:31:21 The Sun *may* be retroreflectorey, it's hard to be sure. 22:31:22 The Daystar is an unscientific myth of a bright orb glowing in the sky outside only at the times you're in your office. 22:31:44 `? water 22:31:45 Water is a squishy substance that creeps along the floor and can suddenly fall from the heavens. 22:31:53 `? chocolate 22:31:54 chocolate? ¯\(°​_o)/¯ 22:31:55 `? salt 22:31:56 salt? ¯\(°​_o)/¯ 22:31:58 `? pizza 22:31:59 Pizza is a kind of rhubarb pie made without rhubarb. 22:32:10 `? chicken 22:32:11 chicken is boily af 22:32:52 -!- Lymia has quit (Ping timeout: 264 seconds). 22:33:19 `? protein 22:33:20 protein? ¯\(°​_o)/¯ 22:33:25 `? fat 22:33:26 fat? ¯\(°​_o)/¯ 22:33:35 `? cat 22:33:36 Cats are cool, but should be illegal. 22:34:03 `learn Fats are one of the four basic classes of nutrients. The other three are sugars, salt, and pizza. 22:34:06 Learned 'fat': Fats are one of the four basic classes of nutrients. The other three are sugars, salt, and pizza. 22:35:38 `learn Vampires are a wizarding myth Professor Lupin invented to make students hate Professor Snape even more, after Professor Snape almost made the students realize he's a werewolf. 22:35:40 Learned 'vampire': Vampires are a wizarding myth Professor Lupin invented to make students hate Professor Snape even more, after Professor Snape almost made the students realize he's a werewolf. 22:35:51 -!- trn has quit (Ping timeout: 276 seconds). 22:36:01 `culprits wisdom/vampires 22:36:05 No output. 22:36:08 `culprits wisdom/vampire 22:36:12 -!- ais523 has joined. 22:36:12 b_jonas 22:36:42 `? culprit 22:36:42 huh, why is HackEgo saying "b_jonas"? 22:36:43 ​`culprits` is a program that lists the lists the nicks responsible for a wisdom entry. Usage: `culprits wisdom/ENTRY 22:37:23 ais523: as a reply to a query I sent a few seconds before that 22:37:32 !bfjoust margins3 http://nethack4.org/esolangs/margins3.bfjoust 22:37:33 `culprits wisdom/vampire 22:37:35 b_jonas 22:37:38 ^ that was the query 22:37:41 ​Score for ais523_margins3: 24.2 22:37:46 !zjoust margins3 http://nethack4.org/esolangs/margins3.bfjoust 22:37:48 ais523.margins3: points 11.07, score 54.72, rank 1/47 22:37:55 wait, it topped the hill? 22:37:57 seriously? 22:37:59 I wasn't expecting that 22:38:22 and neither impomatic nor oerjan is here to gloat at 22:38:47 it is 32nd on the egojoust hill, and first on zemhill 22:38:55 I suspect, because they use different scoring methods 22:39:05 (after all, it /is/ a margins derivative) 22:40:08 look at all these beautiful gray Xes: http://zem.fi/bfjoust/breakdown/#ais523.margins3 22:40:10 -!- Lymia has joined. 22:40:31 Lymia: I just topped zemhill using a margins derivative 22:41:42 you'll be pleased to know that nyuroki is the second-best program against it, after growth2 (mostly because nyuroki's trail is the same size as margin3's reverse tripwire one quarter of the time, so it gets confused) 22:42:59 also this is probably the biggest disagreement between the two hill bots ever, given that HackEgo puts it 32nd and zemhill puts it 1st 22:44:18 -!- trn has joined. 22:45:32 That's a bit weird. It goes to #14 on zemhill if you sort by the "Trad." scores, which is supposed to be similar to EgoBot's. 22:46:19 well, I was optimizing it against a slightly old version of zemhill 22:46:27 so it's possible that some of egobot's programs are better against it 22:46:49 given that margins normally scores in the single digits, it's quite possible that a few programs could make a big difference 22:46:58 I will rerun the plots. If I can figure out the commands needed for that. 22:51:40 ais523, I still don't quite understand why it works so well. 22:51:46 It does nothing remotely fancy, just some hirsutics. 22:52:08 Lymia: why what does? margins3? 22:52:11 or nyuroki? 22:52:35 ais523: I wanted to ask some other crazy stuff related to ayacc. 22:52:47 nyuroki does well against margins3 because it's anti-defence mechanisms are unusual and because it happens to not trip a crucial tripwire 22:55:41 -!- boily has joined. 22:56:05 `wisdom 22:56:07 php/php is the PigeonHole Principle 23:03:33 Nyuroki. It does nothing fancy, but somehow works. 23:03:51 Hellymia. long time no see. 23:03:52 ais523: Say I have a grammar that has optional terminators, like end_opt : END | ; expr : ATOM | sum end_opt; sum : PLUS | sum expr; The empty branch of the end_opt causes a shift-reduce conflict, but that's not a big problem, because if don't allow that branch and make the END terminator mandatory, the language would be unambiguous, so you can always clarify anything by adding the terminators. 23:03:55 ~ 23:04:21 Take a more complicated language like this, with possibly more than one kind of optional terminator symbol. 23:04:59 Now I'd like to take an input that parses correctly and try to find out automatically which of the terminators can be omitted. 23:05:23 b_jonas: I don't think that grammar does what you want even if interpreted as general context-free 23:05:45 ais523: yes, that's probably a very stupid example 23:05:47 it allows ATOM PLUS ATOM PLUS ATOM END END END 23:05:54 err, no 23:06:00 ATOM PLUS ATOM PLUS ATOM END END 23:06:12 no, it doesn't allow anything starting with ATOM PLUS 23:06:19 note that PLUS is a _prefix_ operator 23:06:23 with any number of arguments after 23:06:24 oh, hmm 23:06:32 so eg. + 3 5 10 would mean the sum of 3 and 5 and 10 23:06:42 but you can use one operator and any number of expressions after, and it will sum them 23:06:49 obviously this is just a stupid toy example 23:07:10 if doesn't make much sense without other rules 23:07:30 it allows PLUS PLUS 23:07:40 and PLUS PLUS ATOM is ambiguous because it's unclear which PLUS the ATOM belongs to 23:08:29 ais523: yes, but it parses as PLUS (PLUS ATOM), and if you want to parse it as PLUS (PLUS) ATOM then you'd have to write PLUS (PLUS END) ATOM 23:08:41 so that the END shows where the arguments to the PLUS stop 23:08:42 oh, I see 23:09:23 now this example is stupid of course because you can omit END only at the end 23:09:57 but you could imagine a bigger grammar, like the optional semicolons in lua or, uh, whatever was that other grammar that had the same kind of crazy optional semicolons 23:10:23 js? 23:10:29 myname: no, I don't think so. 23:10:45 doesn't matter probably 23:10:55 i don't know anything more crazy with optional ; than js 23:11:17 anyway, 23:12:04 ais523: to help solve these kinds of problems efficiently, ayacc can be a great tool, but I'd probably have to write a new backend for it. the good part is that ayacc does allow that. 23:12:07 <\oren\> ruby has potional semicolons 23:12:19 \oren\: not the kind I was thinking about 23:12:38 In particular, here I'd probably need a backend that allows copying the parser state. 23:12:40 b_jonas: you can always predict where a semicolon needs to go in Lua, I think 23:12:41 Efficiently. 23:13:00 ais523: yes, lua has a simple rule: you need semicolon if the next statement starts with an opening left parenthesis, or something like that 23:13:00 hmm, ayacc's parser state is the call stack 23:13:14 ais523: yes, but you could write a backend where that's not so 23:13:33 I guess, although you'd probably have to implement "function calls" manually 23:15:30 Also, I think you'd either need some mechanical rewrite of the grammar to add lots of blocks to inspect the parsing and what happens when, or else try to add hooks directly in ayacc. Like, add a hook that calls a function just before a token is shifted (not when it's peeked), or something. 23:16:05 But I probably want to generate or preprocess grammars anyway. 23:16:11 Useful for multiple reasons. 23:16:39 fwiw, something I should do in ayacc but haven't yet 23:16:49 is to output two copies of the code implementing the parsing, one with debug information, one without 23:16:57 instead of checking to see if debug information is on whenever I do anything 23:17:06 that'd probably make things rather faster 23:17:27 although, hmm, would that violate POSIX if debug information was turned on/off during the actual parse? 23:20:10 ais523: would it really make things that much faster? does having to optionally print the debug info preclude some optimizations? 23:20:51 -!- J_Arcane has joined. 23:21:07 b_jonas: it makes the code a lot less tight 23:21:22 because you have to print debug info for almost everything 23:21:57 Isn't that normally disabled at ayacc time unless you use some command-line option though? 23:22:56 normally the code's removed by a preprocessor macro 23:23:01 the option changes the default setting of the macro 23:23:27 but people often want to turn it on in production code, but have the variable that controls it off for most uses 23:24:54 ais523: I mean, if you know the debug info will never be printed, will that let you improve the generated code other than by removing the actual printfs? such as by simplifying some of the generated code in such a way that it doesn't change semantics normally but would change debug output? 23:25:03 b_jonas: no 23:25:17 the situation is more, you know the debug info will be printed in some cases, but want to run it without the debug info printed 23:25:28 ais523: in that case I think it's fine to just leave the statements in 23:25:37 the if skipping will be efficient enough 23:25:53 because, you know, since you rarely toggle the condition, the processor predicts the branches perfectly 23:26:05 and will just skip straight through those statements 23:26:27 if you want, you can add compiler hints to help that a bit more 23:26:33 but it probably doesn't matter too much 23:26:35 -!- oerjan has joined. 23:27:36 ais523: you may now proceed with gloating hth 23:27:47 :-) 23:27:49 * ais523 gloats 23:28:00 oerjan: how quickly did you expect me to top the hill? 23:28:11 fwiw, although I really /wanted/ to top the hill with a margins derivative, I didn't think it'd actually be possible 23:28:52 ERM 23:29:26 well it was either this, or just barely in time for the anniversary 23:30:04 I'll update the strategy page later 23:33:23 `? horn 23:33:25 horn? ¯\(°​_o)/¯ 23:33:42 How can I create a bitmap font for X window? 23:34:12 by the name, i take it margins is designed to just barely win, so it makes sense it might get widely different placement with different scoring methods 23:34:31 zzo38: with the bdftopcf program, which compiles the bdf format (a simple and documented ascii text format describing bitmap fonts) to pcf (a compressed format the X server can load directly), 23:34:40 O, OK 23:35:31 The man page does not document the file format 23:35:45 It only specifies command-line options. 23:35:51 zzo38: then putting the compiled pcf to a directory, running mkfontdir on that directory to generate an index file that indexes all the font files in the directory (so that X can find the right one without opening every file), and telling X to use or re-read the directory with xset 23:36:10 zzo38: (alternately, you can use font files on a remote machine with xfs, a tcp-based font server) 23:37:40 zzo38: also, you may want to configure fontconfig to use X bitmap fonts (some distributions configure it so it doesn't use them by default) and regenerating fontconfig's index of fonts with the fc-cache command, so that applications using fontconfig (often through a higher level library) which normally use TTF and OTF fonts can also use your X bitmap font transparently. 23:38:05 And if the font isn't found, you're stuck blindly debugging undebuggable stuff. 23:38:17 zzo38: wait, I have a document of the bdf format somewhere, 23:38:49 Other than Firefox, all of my programs could already use bitmap fonts, although I did manage to configure it so that Firefox can also use bitmap fonts 23:39:22 zzo38: https://partners.adobe.com/public/developer/en/font/5005.BDF_Spec.pdf 23:42:12 Ah, I may have broken that. <-- it worked a day or so ago... 23:42:22 @google qjkxbmwvz 23:42:23 Plugin `search' failed with: connect: does not exist (No route to host) 23:42:47 zzo38: oh, and the pcf output is binary and somewhat efficient, but isn't compressed, so you can optionally gzip-compress it to pcf.gz, and the X server will transparently zcat it when reading 23:43:04 @google quantum 23:43:06 http://www.quantum.com/ 23:43:06 Title: Quantum Data Storage - Data Center and Scale-out Storage Solutions 23:43:37 so you install the .pcf.gz to the font directory rather than the straight .pcf 23:44:01 oh it may just be for nonexisting results 23:44:05 @google feiubrøogreøo 23:44:06 No Result Found. 23:44:09 or not. 23:44:49 @google canada 23:44:50 https://en.wikipedia.org/wiki/Canada 23:44:58 huh, Canada exists. 23:45:24 @ask int-e why in the world does @google qjkxbmwvz fail when others work, including searches with no result... 23:45:24 Consider it noted. 23:46:11 @google yeti 23:46:13 http://yeticoolers.com/ 23:46:13 Title: YETI Coolers- Premium Ice Chests, Apparel, and Gear 23:46:28 lambdabot: DON 23:46:35 'T RUIN MY DEMONSTRATION 23:46:45 @google cupachabra 23:46:45 https://id-id.facebook.com/WeAreBstarzLoveBastianBastianSteel/posts/504931756229719 23:47:03 @google xenu 23:47:04 https://en.wikipedia.org/wiki/Xenu 23:47:17 boily: Xenu exists tdnh 23:47:37 `? weather 23:47:38 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 23:47:40 CYUL 052300Z 21007KT 15SM SCT150 SCT180 OVC240 M03/M11 A3019 RMK AC3AC1CI4 SLP227 \ ENVA 052320Z 07005KT 030V110 9999 FEW051 BKN064 01/M04 Q1006 RMK WIND 670FT 16012KT \ ESSB 052320Z AUTO 07004KT 9999 BKN007/// OVC010/// 00/M01 Q1008 \ KOAK 052253Z 15017G26KT 3SM -RA BKN023 OVC036 17/14 A2972 RMK AO2 PK WND 16028/2204 RAB2155 SLP063 P0001 23:47:40 T01670139 23:48:17 @google S4ys9N66zps 23:48:17 No Result Found. 23:49:59 fungot: T01670139 23:49:59 boily: is the gate key okay!! get' em! 200g per night. care, and stay...healthy! my husband...he's...he's...gone... but he left me precious gifts! the seeds...and our child, it's ancient history now... 23:50:12 GG? 23:50:16 ^style 23:50:16 Available: agora alice c64 ct* darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 23:50:30 ^style ct 23:50:31 Selected style: ct (Chrono Trigger game script) 23:50:43 I was waaaay off... 23:50:50 ^style jargon 23:50:50 Selected style: jargon (UNIX-HATERS mailing list archive) 23:50:57 fungot: nostril? 23:50:57 boily: perhaps i'll just keep telling yourself, jack. it should for a technical person to send me or this list any reasons. dont send me email or call me paranoid but finding '' characters. 23:51:10 oerjan: TDNH. 23:53:13 <\oren\> boily: well both GG and chrono trigger are epic steampunk fantasy 23:57:48 \oren\: is UNIX-HATERS also epic steampunk fantasy? (hi fungot btw) 23:57:48 ais523: we should avoid the use of even believing that not only external symbol definitions in the environment string as the infamous jargon file shows up. 23:59:47 he\\oren\. indeed. 2016-03-06: 00:00:14 `culprits wisdom/angband 00:00:20 b_jonas 00:02:14 `culprits wisdom/utumno 00:02:16 b_jonas 00:04:29 `culprits orodruin 00:04:31 No output. 00:04:43 `culprits wisdom/orodruin 00:04:45 b_jonas b_jonas 00:10:16 `learn Horn is the reduction system behind prolog, and also the magical body part growing on the head of unicorns. 00:10:18 Learned 'horn': Horn is the reduction system behind prolog, and also the magical body part growing on the head of unicorns. 00:12:03 `` ls wisdom/enr* 00:12:04 wisdom/enrichment center \ wisdom/enrichment centre 00:12:24 `` sed -i 's/center/Center/' wisdom/enr* 00:12:27 No output. 00:12:58 `` sed i 's/prolog/Prolog/' wisdom/horn 00:12:58 sed: -e expression #1, char 1: expected \ after `a', `c' or `i' 00:13:04 `` sed -i 's/prolog/Prolog/' wisdom/horn 00:13:06 No output. 00:13:08 fnord. 00:13:40 `? horn 00:13:41 Horn is the reduction system behind Prolog, and also the magical body part growing on the head of unicorns. 00:13:56 ``` head wi*/enr* 00:13:57 ​==> wisdom/enrichment center <== \ The Enrichment Center regrets to inform you that this next test is impossible. \ \ ==> wisdom/enrichment centre <== \ The Enrichment Center regrets to inform you that this next test is impossible. 00:14:27 `? char 00:14:28 char? ¯\(°​_o)/¯ 00:14:55 `? long 00:14:55 long? ¯\(°​_o)/¯ 00:15:04 `? irc 00:15:05 IRC is short for "Internet Relay Chat". It is named so because all the servers are constructed from relays. 00:15:22 `learn Char is a prominent component of charcoal. 00:15:24 Learned 'char': Char is a prominent component of charcoal. 00:15:39 `learn Long is the Chinese word for dragon. 00:15:41 Learned 'long': Long is the Chinese word for dragon. 00:16:02 oh, is long double a chinese word for a multi-headed dragon then? 00:16:12 sounds plausible 00:16:21 and how about long long? 00:16:38 `? auto 00:16:39 auto? ¯\(°​_o)/¯ 00:16:40 except for -bl- being pretty much impossible phonologically. 00:16:54 `? constexpr 00:16:55 constexpr? ¯\(°​_o)/¯ 00:17:03 `? zkstr 00:17:04 zkstr? ¯\(°​_o)/¯ 00:17:36 `learn Auto is the German word for car. 00:17:38 Learned 'auto': Auto is the German word for car. 00:18:13 `learn Zkstr is Georgian for "Ow my tongue!" 00:18:17 Learned 'zkstr': Zkstr is Georgian for "Ow my tongue!" 00:18:36 actually it might just be czech. 00:18:46 `learn Zkstr is Czech for "Ow my tongue!" 00:18:49 Learned 'zkstr': Zkstr is Czech for "Ow my tongue!" 00:18:57 NO! wait 00:19:04 I wanted to add one for zkstr 00:19:23 GO AHEAD 00:20:05 -!- hppavilion[1] has joined. 00:20:51 `learn zkstr is a common consonent cluster at the start of Russian words, see eg. http://www.math.bme.hu/~ambrus/pu/metro-typo-2 00:20:53 Learned 'zkstr': zkstr is a common consonent cluster at the start of Russian words, see eg. http://www.math.bme.hu/~ambrus/pu/metro-typo-2 00:21:18 `` sed -i 's/nent/nant/' wisdom/zkstr 00:21:21 No output. 00:21:41 Hahah, zkstr. :D 00:22:12 b_jonas: is that meant to be rotated that way 00:22:23 oerjan: no, I was probably just lazy to unrotate it 00:22:37 oerjan: No, you're just experiencing life sideways. 00:22:43 ZWSTR is something else though, compared with zkstr, I suppose 00:22:55 oerjan: the actual sign is upright 00:23:07 oerjan: https://xkcd.com/417/ 00:23:54 ZWSTR is Z-machine character packing. 00:24:18 zzo38: oh! it sounded like a macro from related to wide character strings 00:24:22 b_jonas: i take it it's э typoed as з 00:24:26 oerjan: yes 00:24:31 oerjan: there's also another typo on the same sign 00:24:57 `? int 00:24:59 int? ¯\(°​_o)/¯ 00:25:07 let me unrotate it though 00:25:23 oerjan: what should be an int? 00:25:39 I'm on, lambdabot 00:25:45 Ah, no new messages 00:25:50 boily: A double. 00:25:58 hppavellon[1]. 00:26:01 zgrellop. eh? 00:26:10 ahoily 00:27:28 Emojicode is kind of stupid 00:27:44 It just treats emoji as a special kind of name, like a noob 00:27:45 boily: That's what should be an int. 00:28:55 oerjan: what should be an int? <-- i dunno 00:29:24 zgrep: but a double is fundamentally different from an int! it's just wrong to conflagrate them together. 00:29:26 * boily shudders 00:29:32 done: rotated, also made smaller 00:31:04 b_jonas: well if there's another typo, i don't know enough of the language to see it. 00:31:05 boily: It's wrong to large and destructive fire them together? 00:32:09 Though I see your point. Perhaps 4. 4 is meant to be an int. 00:32:13 `` ls wisdom/conf* 00:32:14 ls: cannot access wisdom/conf*: No such file or directory 00:32:23 ...? 00:32:31 `` ls wisdom/con* 00:32:32 wisdom/conspirabiology \ wisdom/context 00:32:40 where was it again... 00:32:45 `? szoup 00:32:46 A szoup a szilárd tápszereknek híg alakban való elkészítése a célból, hogy könnyebben emészthetők legyenek; a hígító anyag a viz, mely feloldja s magába veszi a tápanyag legértékesebb részeit. 00:33:16 b_jonas: i suspect "secour" might not be correct 00:33:55 oerjan: yes 00:34:46 zgrep: found it! ↓ 00:34:50 `? disflagrate 00:34:52 disflagrate v.t.perf.: a traditional technique from Poland (earliest attestation c. 1042) used to separate szoups. Nowadays, commercial production is entirely mechanized. 00:35:13 ints and doubles should be disflagrated. 00:35:28 4 is an int. fungot is a double. 00:35:28 boily: you obviously aren't sufficiently infused with the red ip packets. but that's ok, i won't even be done. thanks, folks, 00:35:58 * zgrep gives boily some extra red IP packets to infuse themselves with 00:36:27 don't forget the blue screws if anything happens 00:36:39 `? elephant 00:36:40 elephant? ¯\(°​_o)/¯ 00:36:40 `? seal 00:36:41 seal? ¯\(°​_o)/¯ 00:36:49 `? tail 00:36:50 tail? ¯\(°​_o)/¯ 00:36:50 `? head 00:36:51 head? ¯\(°​_o)/¯ 00:36:52 `? elephant seal 00:36:53 elephant seal? ¯\(°​_o)/¯ 00:37:00 `? unicorn 00:37:01 unicorn? ¯\(°​_o)/¯ 00:37:03 `? pony 00:37:04 pony? ¯\(°​_o)/¯ 00:37:07 oh man 00:37:15 `? ?` 00:37:16 ​?`? ¯\(°​_o)/¯ 00:37:26 `? bill 00:37:27 bill? ¯\(°​_o)/¯ 00:37:27 `? coin 00:37:28 coin? ¯\(°​_o)/¯ 00:37:32 `coin 00:37:33 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: coin: not found 00:37:34 `coins 00:37:40 if I ever write or contribute to a roguelike, there'll be a Red Ip Infusion. it'll make you mutate into a fungotlike creature. 00:37:40 boily: however, gives me a couple of large mailing lists have you noticed that ordinarily reasonably people these days... 00:37:52 b_jonas: you should http://codu.org/projects/hackbot/fshg/index.cgi/file/d4b6d8a299e9/wisdom hth 00:38:02 ​epipcoin relycoin fronncoin rutcndejxcoin verservocoin alcecoin lazycoin (())coin retercardcoin yabecoin hackicoin vercoin ranslawcoin coropiccoin exisablecoin rocerylovcoin fannahcoin whitethattcoin novicoin pogancoin 00:38:22 ais523, I might try to write my "ultimate solution" for BFJoust again. 00:38:29 `? pdp endian 00:38:32 `? endian 00:38:33 pdp endian? ¯\(°​_o)/¯ 00:38:33 endian? ¯\(°​_o)/¯ 00:38:43 Lymia: good luck for that :-) 00:38:51 `? bswap 00:38:51 Ultimately, BFJoust programs are deterministic. 00:38:52 bswap? ¯\(°​_o)/¯ 00:38:52 :) 00:39:58 `? php endian 00:39:59 php endian? ¯\(°​_o)/¯ 00:40:24 `? oerjan 00:40:26 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. 00:40:44 Huh. 00:40:45 I intend also making up some roguelike game. Some of my ideas include that the stairs can only go one way, that different kind of character configurations have different high score menus, and that you can switch the display between ASCII and VT100 mode (so that you can use ASCII mode when you want to print or put in a text file or webpage or whatever when VT100 is not supported) 00:40:57 Possibly can be written in JavaScript. 00:41:44 `? submarine 00:41:45 submarine is the same as suburban... except for bodies of ocean water instead of cities. 00:41:59 `` sed -i 's/s/S/' wisdom/submarine 00:42:02 No output. 00:42:27 Do you like these ideas? In the original "Rogue" game, the stairs can only go one way (even though the commands for stairs go both ways) 00:42:37 zgrep: you think php endian is overdoing the evil? 00:42:39 <\oren\> haagen dazs has a special limited edition peppermint white chocolate flavor 00:43:02 zzo38: one way stairs are nice. not sure about what you mean by high score menus? 00:45:06 `culprits wisdom/elendil 00:45:09 b_jonas b_jonas b_jonas b_jonas 00:45:29 `wisdom 00:45:31 russell's teapot/Russell's Teapot / Short and stout / Orbits near Mars / Or thereabout. / If you see it / Let us know / If you don't / What does that show? 00:45:44 * oerjan tempted to change `learn etc. to say whether the file was previously existing. except that would be work. 00:46:06 `url bin/learn 00:46:08 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/learn 00:46:15 -!- tromp_ has quit (Read error: Connection reset by peer). 00:46:40 -!- tromp_ has joined. 00:46:53 boily: I mean once the game end it calculate the score (based on what dungeon level you reached as well as other things) and then add it to the high score menu in the proper position, but you can add separate high score menu also for different kind of player characters, since they can involve different tactics, special abilities, carrying capacity, and so on 00:47:32 oerjan: All the work is editing through this scow HackEgo interface. 00:47:38 zzo38: makes sense tdh 00:48:51 <\oren\> shachaf: couldn't you just edit it offline and then make a patchfile? 00:48:59 And then what? 00:49:07 `culprits wisdom/elrond 00:49:10 prooftechnique prooftechnique 00:49:11 <\oren\> and then use patch 00:49:57 you don't need patch, just `fetch and cp 00:50:38 If you ahve `fetch then you don't need patch. 00:50:43 Does `fetch work? 00:50:46 yes. 00:50:55 Was it broken in the past? 00:51:03 not that i recall 00:51:38 it's wget/curl etc. that are broken because they're inside the sandbox 00:52:40 Ah. 00:53:48 `` echo $'3i\n[ -e "wisdom/$topic" ] && verb="Learned" || verb="Relearned"\n.\n5s/Learned/$verb/\nw\n' | ed bin/learn 00:53:51 148 \ 207 00:54:37 oerjan: please test twh 00:54:48 `cat bin/learn 00:54:49 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ [ -e "wisdom/$topic" ] && verb="Learned" || verb="Relearned" \ echo "$1" >"wisdom/$topic" \ echo "$verb '$topic': $1" 00:55:17 `? test 00:55:18 test failed. HackEgo-JUnit is not available. 00:55:27 `? testing 00:55:28 testing? ¯\(°​_o)/¯ 00:55:36 `learn Testing is expensive. 00:55:41 Relearned 'testing': Testing is expensive. 00:55:47 `learn Testing is expensive and overrated. 00:55:47 Oops. 00:55:49 Learned 'testing': Testing is expensive and overrated. 00:55:53 I guess I mixed them up. 00:55:57 BIT OF A SWITCH 00:56:00 testing is definitely overrated. 00:58:35 I guess you're waiting for me to fix it. 00:58:54 also wondering how you swap two words with sed 00:59:00 I was also wondering. 00:59:10 I'll just cheat. 00:59:12 `` echo $'3s/Relearned/Learned/\n3s/Learned/Relearned/\nw\n' | ed bin/learn 00:59:14 207 \ 207 \ echo "$1" >"wisdom/$topic" 00:59:26 `cat bin/learn 00:59:26 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ [ -e "wisdom/$topic" ] && verb="Relearned" || verb="Learned" \ echo "$1" >"wisdom/$topic" \ echo "$verb '$topic': $1" 00:59:54 ...how did that work. 01:00:01 oh. 01:00:04 s/// only switches the first occurrence without /g 01:00:33 `learn Testing is expensive, overrated and annoying. 01:00:36 Relearned 'testing': Testing is expensive, overrated and annoying. 01:00:44 `forget testing 01:00:46 Forget what? 01:00:54 `learn Testing might eventually succeed. 01:00:57 Learned 'testing': Testing might eventually succeed. 01:02:03 oerjan: now that wasn't so hard was it 01:02:12 * oerjan presents shachaf with the Delegate of the Month award (in pewter) 01:02:25 oerjan: what, you think this was free? 01:02:27 you owe me one now 01:03:00 What I want is a script that looks at the hg log and tells you what the last file that was modified was. 01:03:34 `` hg --help | paste 01:03:39 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.20546 01:04:12 By the way, someone (b_jonas?) figured out a way easier way to do `culprits. 01:04:18 Since you can give hg log a format argument. 01:04:34 hrm. 01:04:40 `` hg log --help | paste 01:04:43 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.16400 01:07:03 `unidecode - 01:07:04 ​[U+002D HYPHEN-MINUS] 01:07:11 `unicode FIGURE DASH 01:07:12 ​‒ 01:08:55 `` hg log -l 1 01:08:57 changeset: 7127:4f71d933f13e \ tag: tip \ user: HackBot \ date: Sun Mar 06 01:04:25 2016 +0000 \ summary: ` hg log --help | paste 01:09:16 `` hg log -l 1 --template "{files}\n" 01:09:17 paste/paste.16400 01:09:22 thx tdh 01:10:02 `mkx bin/lastfiles//hg log -l 1 --template "{files}\n" 01:10:06 bin/lastfiles 01:10:10 `lastfiles 01:10:13 bin/lastfiles 01:10:51 `` echo test >a; echo test >b 01:10:54 No output. 01:10:55 `lastfiles 01:10:57 a b 01:11:20 `rm a b 01:11:21 rm: cannot remove `a b': No such file or directory 01:11:24 `` rm a b 01:11:26 No output. 01:11:35 `culprits a; culprits b 01:11:37 No output. 01:11:49 wat 01:11:52 oerjan: fool me twice -- you can't get fooled again 01:11:55 `culprits a 01:11:57 oerjan oerjan oerjan int-e fizzie oerjan elliott blotter guestbot guestbot ThatOtherPerson ThatOtherPerson 01:12:06 oops 01:12:10 `culprits b 01:12:12 oerjan oerjan oerjan Jafet 01:12:20 darn 01:13:06 ok they weren't already existing 01:16:41 oerjan: ok now write something useful with it 01:16:44 hm i think the repository browser has changed, now it autoloads more commits when i get to the end 01:17:01 like a command that lets you sed or rele/rn the lastfile 01:18:43 >_> 01:18:52 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 01:21:36 -!- augur has joined. 01:22:08 I should 01:22:24 Integrate a few more clever strategies into Nyuroki 01:22:31 Some optimization can be done. 01:31:16 -!- mad has joined. 01:38:26 `? guard 01:38:27 The guards are immune to electricity. They're humans in rubber pig suits. They're insulated. 01:38:40 `` sed -i 's/ / /g' wisdom/guard 01:38:42 No output. 01:47:12 !ztest nyuroki http://paste.lymia.moe/lymia/ee20dff3277b873dc9db288ed94d0a7a234da3c7.bf 01:47:14 Lymia: URL fetch problems: redirection forbidden: http://paste.lymia.moe/lymia/ee20dff3277b873dc9db288ed94d0a7a234da3c7.bf -> https://paste.lymia.moe/lymia/ee20dff3277b873dc9db288ed94d0a7a234da3c7.bf 01:47:21 !ztest nyuroki https://paste.lymia.moe/lymia/ee20dff3277b873dc9db288ed94d0a7a234da3c7.bf 01:47:23 Lymia.nyuroki: points 9.07, score 30.37, rank 6/47 (-3) 01:48:44 !ztest nyuroki https://paste.lymia.moe/lymia/6412212ffb16b73f794dd3618505fc2327197571.bf 01:48:45 Lymia.nyuroki: points 9.07, score 30.37, rank 6/47 (-3) 01:49:04 !ztest nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 01:49:04 Lymia.nyuroki: points 13.43, score 37.40, rank 3/47 (--) 01:49:54 !ztest nyuroki https://paste.lymia.moe/lymia/5a0374d9319002dc5622e6b104165f08dc6964e2.bf 01:49:55 Lymia.nyuroki: points 13.48, score 37.49, rank 3/47 (--) 01:50:19 !ztest nyuroki https://paste.lymia.moe/lymia/43bd79e53928002bf3d7aab81586842ea19bb80d.bf 01:50:20 Lymia.nyuroki: points 13.45, score 37.30, rank 3/47 (--) 01:51:09 -!- cyyyyyyyyy has joined. 01:51:18 -!- cyyyyyyyyy has left. 01:52:45 !ztest nyuroki https://paste.lymia.moe/lymia/afef3d2374d3eb83d7c2066ede331d7c3c500b9d.bf 01:52:47 Lymia.nyuroki: points 10.50, score 32.55, rank 6/47 (-3) 01:53:19 oh man 01:53:25 craziest cpu idea yet 01:54:08 memory addresses are remaped in chunks of 4k according to a page table 01:54:16 (this is how a standard mmu works) 01:54:22 but only for data, not instructions 01:57:40 !ztest nyuroki https://paste.lymia.moe/lymia/d1bb3b65edb4bbbc3853214c80ed371b7eb0a039.bf 01:57:43 Lymia.nyuroki: points 13.36, score 37.16, rank 3/47 (--) 01:58:13 !ztest nyuroki https://paste.lymia.moe/lymia/fa117cd7cf6ea372d1b3b3ef49417ae9803a6c1c.bf 01:58:15 Lymia.nyuroki: points 12.86, score 36.50, rank 3/47 (--) 01:58:52 bleh 01:58:55 going to PM 02:00:18 -!- AlexR42 has joined. 02:04:43 -!- augur has quit (Remote host closed the connection). 02:10:26 Apparently a lot of people abused the size of my wiggle clear. 02:10:30 Er, offset clear* 02:12:08 -!- hppavilion[1] has joined. 02:12:48 mad: And what does that get you? 02:13:25 -!- PinealGlandOptic has joined. 02:22:48 it takes one less TLB on the chip... I guess 02:40:42 Lymia: programs tend to special-case against good programs accidentally 02:40:47 as people experiment with values to see what happens 02:41:01 you beat the worse programs anyway, so the constants tend to match up well against the better ones 02:54:35 -!- Phantom_Hoover has joined. 02:58:32 -!- idris-bot has quit (Quit: Terminated). 02:58:52 -!- idris-bot has joined. 03:02:28 @metar CYQB 03:02:29 CYQB 060200Z 17004KT 15SM SCT054 M09/M16 A3018 RMK SC3 SLP228 03:04:08 `le//rn te/st//Directories are expensive. 03:04:11 Learned «te/st» 03:04:18 `lastfiles 03:04:20 wisdom/te/st 03:04:26 whoa whoa whoa 03:04:35 I was thinking that wouldn't work as intended. 03:04:50 `` rm wisdom/te/st; rmdir wisdom/te 03:04:52 No output. 03:04:58 oerjan thinks of everything 03:05:44 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 03:05:57 !zhill nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 03:06:02 @metar CYQB 03:06:03 CYQB 060200Z 17004KT 15SM SCT054 M09/M16 A3018 RMK SC3 SLP228 03:06:13 argh. I want my new metar! 03:06:31 meanwhile, just done playing my first game of Ashes. quite a good game! 03:06:40 !zjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 03:06:40 Lymia.nyuroki: points 18.79, score 49.46, rank 2/47 (+1) 03:08:06 -!- Alejandro15 has joined. 03:08:44 Alejandro15: buenas tardes. 03:08:56 @metar CYQB 03:08:56 CYQB 060300Z 18003KT 15SM BKN048 M08/M16 A3017 RMK SC7 SLP225 03:09:17 oerjan thinks of everything <-- well, there's an obvious weakness remaining. 03:09:44 Which weakness? 03:09:57 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 03:10:18 como esta boily 03:10:40 you cannot distinguish a commit that creates several files from one that creates a file with spaces in its name 03:11:10 Oh, it's space-separated. 03:11:15 The newline terminates commits. 03:11:27 *edits 03:11:28 `bienvenido Alejandro15 03:11:30 Alejandro15: ¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/. (Para el otro tipo de esoterismo, prueba #esoteric en EFnet o DALnet.) 03:12:35 Alejandro15: un poco cansado... ¿y tu? 03:12:50 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 03:12:53 ​Score for Lymia_nyuroki: 6.4 03:12:55 Is that bot still alive 03:12:56 congrats Lymia, just saw you move up to #2 03:13:02 bien 03:13:07 ... wut 03:13:10 Alejandro15: ¿eres de venezuela? 03:13:30 uuh 03:13:42 !bfjoust nyuroki http://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 03:13:45 ​Score for Lymia_nyuroki: 6.3 03:13:50 halp 03:14:24 Lymia: what's the problem? EgoBot's unhalpful output? 03:14:29 Lymia: hmm, the report is contradicting the breakdown 03:14:32 si 03:14:34 !help bfjoust 03:14:34 ​Sorry, I have no help for bfjoust! 03:14:43 egobot thinks my program is - 03:14:48 !bfjoust 03:14:48 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 03:14:50 or, hmm, perhaps not 03:14:53 probably a parse error 03:14:56 !bfjoust nyuroki http://pastebin.com/raw/b0MEJFpT 03:14:59 ​Score for Lymia_nyuroki: 52.6 03:15:02 There we go 03:15:04 Lymia: aha, it must have parsed the hyphen in the URL 03:15:13 congrats on #1 :-) 03:15:26 Alejandro15: discúlpeme, no sé hablar español muy bien... mi lengua materna es el francés. 03:15:46 -!- Alejandro15 has left. 03:15:54 Isn't that hill fish in a barrel :p 03:15:55 beuh... 03:16:01 oerjan: at least, he spoke! 03:16:31 did you change the strategy significantly? or did you just tweak numbers? 03:17:03 boily: good show 03:17:22 I guess if it was a large change you'd probably change the name 03:17:32 Mostly tweaked numbers. 03:17:36 margins3 is similar to margins, but it's also different in a lot of major ways (e.g. it does a fast rush on short tapes) 03:17:40 It also leaves a trail always now, not only on cells it cleared 03:18:06 By "tweaked numbers", I mean "tweaked a single number". 03:18:47 oerjan: just you wait. he'll be back. (probably against his own volition; I wouldn't be surprised there's a default autojoin list for his client) 03:19:29 I might try a defense program next, maybe? 03:19:55 it'll be hard, but perhaps possible 03:20:07 one of the codepaths in margins3 runs purely against defence programs 03:20:20 and it was hard to beat them all even though I knew for a fact the opponent was defence and/or very slow 03:20:44 -!- augur has joined. 03:20:44 there's a bit of the code that runs only if the opponent is actively adjusting the current cell, and winning in all situations from there is painful 03:21:10 in the end I did the same thing as in preparation except 3- rather than 2-cycle, it works quite well 03:21:25 whoa whoa whoa, in Chu spaces you have points : 1 -> A and copoints : A -> _|_ 03:21:28 That's so reasonable. 03:21:29 How's that bit of code work anyway? 03:22:00 In Nyuroki, anything complex I tried worked worse than the dead simple thing I do. 03:22:04 -!- lynn has quit (Ping timeout: 260 seconds). 03:22:23 Lymia: which bit of the code? defence detection? defence clear? 03:22:39 Clearing versus something that's actively changing its flag. 03:22:57 oh, I just set the cell I'm on to all 256 possible values 03:23:05 if it doesn't hit zero there are shenanigans going on 03:23:32 <\oren\> AUGH 03:23:53 <\oren\> I pitched up too much and accidentally flew into space 03:24:19 \oren\: KSP? 03:24:40 ais523, I mean the code you called "golden ratio based clear" 03:24:48 <\oren\> yes 03:24:56 I definitely don't understand what it's doing. 03:25:12 it's basically a normal clear loop but it changes polarity and/or direction every n cycles, where n is the length of time it naturally takes to clear a cell times the golden ratio 03:25:50 this means that if the opponent is locking without changing the cell's value over time, I'm guaranteed to hit the pessimal value for the opposition eventually (as I try every polarity and position modulo the clear loop interval) 03:26:21 and if the opponent is changing the value over time, I hit the pessimal starting value for the opposition eventually via starting at a different value each time 03:26:26 in theory, at least 03:26:28 How do you lock and change the value over time? 03:26:45 I can't think of a smart way to achieve that. 03:27:09 well, one simple lock algorithm is ((+)*128(.)*128)*-1 03:27:16 that'll lock many sorts of two-cycle clear 03:27:24 but it changes the value by +128 every 256 cycles 03:27:39 Presumably something like +((+)*128(.)*128)*-1? 03:27:55 I'd be worried about that bit of parity 03:28:07 Where there's some "starting values" where you kill yourself. 03:28:28 oh, yes, you can't do that by itself 03:28:35 only once you know the opponent is there, or if you adjust the flag first 03:28:43 this is, assuming you're locking the flag 03:28:47 there are two ways you can do locks 03:28:54 on the flag, which has the advantage that the opponent might fall off 03:29:16 or in front of the flag, which has the disadvantage that the opponent might fall through, but the advantage that if the cell's zeroed for two cycles (and the opponent doesn't spot it) you don't lose 03:29:51 Everything "smart" I tried for Nyuroki worked worse than the "brain dead" thing I do now. 03:29:59 -!- boily has quit (Quit: EVOCATIVE CHICKEN). 03:30:24 I check a cell twice before moving on to the next one, so I don't get bitten by something like (+)*127(-+)*-1 03:30:58 Then, in the actual clear loop, I do a 2-cycle clear for 1000 cycles, and if that fails, move on to a 5-cycle clear. If that fails, I just assume I'm not on the flag because apparently that works better. 03:32:47 I tried something like that for margins3 first 03:32:59 it sort-of worked but I could never get a clean sweep against defence programs 03:33:14 there was always one that seemed to hold out (not necessarily the same one, although shudderlock was a big offender) 03:33:32 I never paid much attention to which programs did what. ^.^ 03:33:36 But I guess I should look that up sometime. 03:33:41 -!- Alejandro15 has joined. 03:34:59 Maybe I should try to integrate that golden ratio clear myself sometime. 03:35:17 it takes a lot of space in the program 03:35:33 and I'm not even 100% sure it works mathematically, although it seems to work in practice 03:35:37 -!- Alejandro15 has left. 03:35:57 My first instinct is to do something with prime numbers personally 03:36:28 well, 256 is coprime with everything that isn't a power of 2 03:37:20 My intuition was that if a clear cycle and a defense cycle had coprime lengths, you get every "alignment" between them eventually. 03:38:13 So, say, if there's an +- in a defense loop, and -+ in an clear loop with a length coprime to it, both would eventually execute at the same time. And they'd die. 03:38:41 there are some defence loops that work against any integer-sized clear, with an appropriate alignment 03:38:58 (+)*256(.)*256, for example, will lock [(.)*x+] for any x 03:39:08 -!- Alejandro15 has joined. 03:39:23 Even clears like, say, [-.-+]? 03:39:29 err, that's less than 128, I think 03:40:40 I think that won't be locked on the flag (it can get two zeroes), but will be locked elsewhere (the locking program can't detect two zeroes), so long as the cycles line up correctly 03:40:48 -!- Alejandro15 has left. 03:41:36 Right. So it'll work assuming you're actually on the flag. (and only then, unfortunately) 03:41:59 this is the hardest part of attacking into defence programs 03:42:04 And if the defense loop doesn't have a factor of 5, I suppose. 03:42:06 and is someting that margins exploits 03:42:23 it uses a defence pattern that makes it impossible for the opponents to observe two zeroes in a row 03:42:35 so eventually they have to take a leap of faith and move on 03:42:46 at which point it shudders the flag in the hope that the opponent will do it again 03:43:13 -!- hppavilion[1] has joined. 03:46:42 -!- Alejandro15 has joined. 03:47:30 -!- Alejandro15 has left. 03:48:05 -!- lleu has quit (Read error: Connection reset by peer). 03:48:52 I had the idea that you could have a clear loop like [-.+.--++-++-] (length 13) 03:48:52 Since it does every possible 2 instruction sequence of cell changes, it should be able to clear (on the flag) any defense program with a coprime defense loop length. 03:48:52 But I'm not sure how practical it'd actuall be 03:48:53 actually* 03:48:54 ... being able to make it impossible to observe two zeros in a row is actually pretty nasty. 03:49:43 It means there's ultimately no safe option to attack. 03:50:09 right 03:50:16 however the downside for margins is that it also means that it can't attack itself 03:50:24 it's devoting every cycle to merely drawing 03:51:00 Hrm. 03:51:04 I'd like to see an alternative hill 03:51:15 That counts a draw as both programs losing, maybe? 03:51:18 Does zim do that? 03:51:24 zem* 03:52:00 egojoust is much more draw-hostile than zemhill 03:52:22 I like draws not being penalised much, though, because it makes programs like margins (which aim to win short tapes and draw long ones) possible 03:52:42 really, the tradeoffs margins needs to make just to aim for its draw means that its strategy isn't broken 03:52:54 the fact that it's doing well is mostly a symptom of opponents not caring about short tapes 03:53:03 which has been a trend in the BF Joust metagame for ages now 03:53:32 They don't? 03:53:32 (most of your games will be on long tapes so those make sense to focus on) 03:53:45 I guess that also makes sense to explain why Nyuroki does well 03:54:02 preparation sets ten decoys 03:54:07 so it autoloses on tape length 10 03:54:10 If it sees any non-zero cell while setting decoys, it immediately jumps to the main clear. 03:54:38 Which, well. 03:54:47 ooh, interesting 03:54:55 I'm not sure I can think of a program that does that, but it makes a lot of sense 03:55:03 If it's a short tape, and the opponent is setting decoys, you've probably just bypassed their decoys. 03:55:08 And are on their flag while they're setting decoys. 03:55:11 Not a good look for them. 03:55:30 do you set decoys forwards or backwards? 03:55:48 Backwards. 03:56:14 so if the opponent's decoy setup is inside yours, you notice 03:56:16 that's clever 03:57:59 ais523 : the other day you were asking for alternative cpu designs? 03:58:23 I have such a design : an out-of-order VLIW 03:58:39 hmm 03:58:51 is that just redundant, or does it have some advantage? 03:59:04 basically the front end is a VLIW where you fetch a whole instrction cache line every cycle 03:59:26 and "execute" it in one go 04:00:15 but the "execution" in one go is only the register renaming and scheduling to make the calculations runnable out-of-order 04:00:34 -!- oerjan has quit (Quit: Nite). 04:00:41 ooh, I just noticed some old code that never runs got into margins3 04:00:43 ais523, right. Is that new(ish?)? 04:00:44 once the calculations are done, then the retirment is also 1 large op per cycle 04:00:57 the op format is weird: 04:01:06 I thought checking before planting decoys was something others have done before. 04:01:35 each VLIW bundle takes up 16 bytes and has 8 micro-ops in it 04:01:41 Lymia: that's today's winner 04:02:17 I've also got a shameless piece of metagaming 04:02:22 !bfjoust margins3 http://nethack4.org/esolangs/margins3.bfjoust 04:02:27 ​Score for ais523_margins3: 24.2 04:02:30 !zjoust margins3 http://nethack4.org/esolangs/margins3.bfjoust 04:02:32 ais523.margins3: points 10.88, score 52.78, rank 1/47 (--) 04:02:38 Since pretty much everything sets decoys, I skip straight to cell 14 if I don't see any decoys 04:02:43 micro-ops consist of stuff like: mov register/immediate into accumulator, add/sub/and/or/xor/shr/shl/sar accumulator value by register/immediate, store accumulator in register 04:02:49 What I mean is, is it new to check for decoys before planting your own? 04:03:08 so an instruction is something like: 04:04:22 all I did was deleted the dead code to clean up the "published" version a bit 04:04:26 Lymia: inside your own decoy setup, I think so 04:04:34 there are programs that check for enemy clears inside their own setup 04:04:35 Hmm, http://chu.stanford.edu/PrattSRMK2016.pdf (slide 12) shows a way to present adjointness as associativity. Is there anywhere else that comes up? Maybe in the context of regular adjunctions? 04:04:41 but not that check for enemy decoys, intentionally at least 04:04:46 I see 04:04:52 ld ac, r1; sub ac, r0; mul ac, r2; sar ac, 16; add ac, r0; store r1, ac 04:04:59 that's 1 opcode 04:05:21 dependency analysis on ac is going to be a nightmare, surely? 04:05:23 it takes 4+ cycles to execute (due to the dependencies) 04:05:29 If you have too many operations in one bundle, to where most programs can't use them all 04:05:40 I'm asuming the OOE thing resolves it, but it's going to be a lot of work 04:05:48 yes this HAS to be OOE 04:05:52 Wouldn't that stress the code cache? 04:05:55 but there's a trick 04:05:58 hrm 04:06:16 What's the benefit over a non-VLIW instruction set that does OOE. 04:06:26 basically each instruction is loaded into an execution unit and the execution unit has its own accumulator and runs the operations one by one 04:06:39 so actually it doesn't have to rename the accumulator 04:07:02 the next instruction is forced to wipe out the accumulator in its first instruction so there can be no dependency 04:08:31 ais523, that might explain the #1 then. I didn't realize checking for enemy decoys (a proxy indicator of being on a short tape) was anything that hadn't be done before. 04:08:53 instruction format limits the number of register stores per instruction so that it the target registers can be renamed in 1 cycle 04:09:01 and I didn't realise you were doing it, presumably because you assumed it was nothing special 04:09:31 basically it's like if you had an OOO cpu but when instructions go into an ALU they execute a whole bunch of stuff sequentially in that ALU 04:09:55 and on the final microop the accumulator value of that ALU is stored back to the register file 04:10:07 or sent to the memory store queue 04:10:55 the reason it's organized this way is that this reduces the number of write and read ports on your register files a lot 04:11:49 instead of needing a register rename and writeback on each value add/shift/etc in a chain of computation, you only have one rename and one writeback at the end of the chain 04:12:57 It's also why I started with short decoys instead of vice versa 04:13:45 ld ac, r1; sub ac, r0; mul ac, r2; sar ac, 16; add ac, r0; store r1, ac reads 4 times from the register file and writes 1 time only; the equivalent RISC sequence does 7 reads and 4 writes 04:14:10 -!- augur has quit (Remote host closed the connection). 04:14:44 once you start a chain of computation, then you also need much less ressources to calculate the inter instruction dependencies 04:15:06 instead you just execute 1 instruction per cycle on every dependency chain 04:15:19 and the instruction format separates the dependency chains for you 04:15:33 If only I knew a HDL 04:15:43 I'm learning verilog 04:16:00 mostly because it's kinda like c++ :D 04:16:08 instead of being... strange like VHDL 04:16:53 another way of putting it is 04:17:02 take a RISC, but add an accumulator 04:17:25 every instruction writes the result to both the accumulator, and optionally another register as well 04:17:33 Verilog's more like a scripting language, really 04:17:39 ais523, maybe I should it into the wiki page? 04:17:50 you can easily find the dependency chains in the instruction stream: 04:18:01 Lymia: good idea; you're not editing the 2015/2016 sections (which I'm editing atm) so there shouldn't be a conflict 04:18:11 although make sure you use a section edit rather than editing the whole page 04:18:12 every time you see an instruction that DOESN't have the accumulator in its input, it's the start of the chain 04:18:46 so the instruction stream becomes 04:19:25 [startofchain modifyaccum modifyaccum modifyaccum modifyaccumandwritebacktosomeregister startofchain modifyaccum modifyaccumandwritebacktosomeregister] 04:19:55 you can issue both "startofchain" instructions at the same time 04:19:57 I'm not sure if it should count as defense or attack. 04:20:16 The 'effect' is to detect short tapes when you have decoys 04:20:25 and then let the 2 concerned units run the other instructions in the chain one after another until the writeback instruction at the end 04:21:15 Lymia: it's synchronization 04:21:18 the cost is that every input register other than the accumulator must be renamed first before any instruction downstream can run 04:21:35 from then on, register renaming is sufficient to solve all your dependencies 04:21:35 it's a method of figuring what the opponent is doing, but doesn't do anything to prevent it in its own right 04:21:43 it just allows you to come up with a better strategy 04:21:53 hence it's an OOO-VLIW 04:21:55 to counter the opponent's technique 04:22:09 VLIW because you issue a whole bunch of stuff to do together in one go 04:22:15 The way I used it in nyuroki, I'm not quite countering the opponent's technique at all. 04:22:38 OOO because the individual sub components are reordered and all registers are renamed 04:22:38 Rather, I'm taking advantage of the opponent's behavior to detect short tapes. 04:23:38 basically it's trying to have the benefits of OOO-RISC (flexible execution order, can execute past a data cache miss) without the downsides (too many register writes and renames every cycle) 04:24:30 Lymia: err, right 04:25:02 I guess this is similar to the way growth2 often figures out the exact length of the tape via observing the opponent's clear pattern and guessing rule of nine 04:25:18 it's kind-of scary seeing it rush right to the opponent's flag, ignoring all decoys, and clearing it 04:25:29 I suppose that's synchronization too 04:25:35 or maybe we should rename the section 04:25:39 "intelligence", perhaps 04:25:52 "Infer information from the opponent's behavior"? 04:26:37 should be a single word really, if we're talking about the section that currently discusses tripwires 04:27:39 The article says "At times you may want to use some behavior that depends on you being in lockstep with your opponent, like the "Lock" strategy above. The way to do this is generally with tripwires:" to explain the section right now. 04:28:09 yes, we should probably generalize it 04:28:09 What'd cover behavior like assuming rule of nine, or decoys behind yours as well as synchronization? 04:28:11 given how short it is 04:28:28 perhaps "reconnaisance" 04:28:46 assuming I've spelled that correctly 04:29:09 I feel like Synchronization might still work as its own section. It's pretty specific, instead of "branching" to different strategies, so to speak. 04:29:29 well, there are quite a lot of programs that branch based on tripwires 04:29:35 And breadcrumb decoys is in "defense", which is similar in concept. 04:29:56 most poke programs have some sort of fast rush detection nowadays 04:30:10 (otherwise fast rush would do a lot better than it currently does!) 04:34:28 -!- ais523 has quit (Read error: Connection reset by peer). 04:37:39 rip ais 04:42:13 -!- treaki__ has joined. 04:44:19 -!- tromp_ has quit (Ping timeout: 260 seconds). 04:44:24 [wiki] [[Special:Log/newusers]] create * Lymia * New user account 04:45:47 -!- ais523 has joined. 04:46:04 -!- treaki_ has quit (Ping timeout: 260 seconds). 04:46:11 -!- ais523 has quit (Client Quit). 04:46:18 rip ais x2 04:46:21 -!- ais523 has joined. 04:46:29 Hopefully no rip ais x3 04:46:35 -!- tromp_ has joined. 04:46:49 [wiki] [[BF Joust strategies]] https://esolangs.org/w/index.php?diff=46497&oldid=43127 * Ais523 * (+7937) /* 2016 */ new section :-) 04:46:54 Lymia: it'll happen 521 more times hth 04:47:01 :( 04:47:25 anyway, that's how margins3 works 04:47:30 -!- augur has joined. 04:47:38 looks like I wrote quite a lot about it 04:47:43 even though it's conceptually not that complex 04:48:14 So natural transformations are homotopies : C x 2 -> D 04:48:26 How come no one uses that definition or even talks about it? 04:51:43 -!- augur has quit (Ping timeout: 244 seconds). 04:54:41 [wiki] [[Language list]] M https://esolangs.org/w/index.php?diff=46498&oldid=46486 * Luis Mendo * (+11) Added link to MATL 04:59:30 ... hrm. I wonder if ].] would be useful against something like margin's lock? 05:03:52 ais523, oh, I see. 05:04:02 On some TV/VCR/DVD?whatever you cannot use the numbers for anything other than the channel and track number you cannot select from menu or time or whatever, but I can suggest a much better way. Numbers by itself means nothing but most commands can accept numeric prefixes (if you use vi then you can know it is similar) and some commands can accept numeric suffixes for variant of the command too. 05:04:18 So the problem margin has with nyuroki is that it leaves a size 1 trail, screwing up the tripwire, right? 05:04:22 Isn't that common behavior too? 05:04:25 For example if you want to record for thirty minutes and then stop you can push 3 0 REC or you can push REC 3 0 DELAY STOP and either way would work. 05:04:56 (If you push REC by itself then it won't stop until you push STOP or if the tape runs out) 05:05:30 Lymia: so most programs work on the assumption that the opponent is already at their first few decoys, due to rushing and/or poking 05:05:40 as such, a trail wouldn't help and just slows you down 05:05:46 ah 05:05:49 although I've found that even a small trail can be surprisingly helpful sometimes 05:06:03 I have it just because it was easier to code that way 05:06:32 Are you working on the strategies page? 05:06:53 hmm, this channel likes stupid M:tG combos, right? someone created a deck that requires on the order of (2 tetrate 42) turns to win goldfishing 05:06:57 Lymia: I've already updated it 05:07:01 with margins3 05:07:06 -!- PinealGlandOptic has quit (Quit: leaving). 05:07:09 ais523: What cards is it? 05:07:10 I'm not working on the individual strategies section right now 05:07:16 kk 05:07:16 zzo38: https://www.reddit.com/r/magicTCG/comments/494kqq/how_can_we_make_the_slowest_deck_possible_or_how/d0ozihf 05:09:03 OK 05:09:59 Maybe it'd be best to be conservative and start a new "Recon" section? 05:10:24 Or toss it in with Attack unless you can think of a reason why a defensive program would do the reverse checking thing. 05:12:01 hrm 05:12:25 It occurs to me that it's closely related to breadcrumb decoys though. 05:14:59 Let's see if it's even useful. 05:17:41 Lymia: defensive programs often set more decoys than aggressive programs and /really/ want to avoid decoy clashes 05:18:01 e.g. most of waterfall3's losses at the time it was created were decoy clashes 05:18:28 although, defensive programs often detect decoy clashes via tripwire disturbance rather than via unexpectedly nonzero cells 05:18:49 I'm going to see if switching nyuroki to use tripwires helps or hurts 05:36:49 Yeah. 05:36:53 Nyuroki with tripwires works OK. 05:36:56 Not well, but. 05:38:39 Probably mostly because I don't actually have routines specialized for fast rushes/pokes 05:41:09 ais523, what about a section like "Decision Making"? "Techniques to determine information about the opponent, or the tape, and use that information to your advantage." 05:41:26 hrm. 05:41:28 Or, rather. 05:41:46 -!- augur has joined. 05:41:48 "Techniques to determine information about the opponent, or the tape, which can be used to your advantage by changing strategies depending on this information." 05:42:54 Magic: the Gathering has some keyword abilities dealing with +1/+1 counters; I think cards can be made up that combine them (such as: evolve + undying, unleash + tribute, megamorph + undying, sunburst + graft, etc) 05:46:28 -!- augur has quit (Ping timeout: 252 seconds). 05:55:28 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 05:58:19 I wonder what BFJoust would look like if [] took 0 cycles. 06:13:11 Another kind of variant of BF Joust would be that . writes into opponent's input queue and , reads and removes the first byte of your own input queue, or if your input queue is empty it acts like + but is not affected by reversing polarity. 06:15:02 There are also other possibilities for what happen if your own input queue is empty, for example it acts like . instead in such a case 06:26:57 Lymia: triplocks everywhere, most likely unbeatable ones; one-cycle clears meaning that decoys wouldn't gain you anything if cleared in the right direction 06:29:39 although, actually, the clears would be fast enough to beat the triplocks 06:37:30 -!- XorSwap has joined. 06:48:52 A television set could be made including "Famicom mode", where it assumes the input is the output of Famicom PPU and uses that to index into a (possibly user-defined) palette, so it converts NTSC into indexed colours 07:08:43 -!- lambda-11235 has quit (Quit: Bye). 07:12:07 It could probably also autodetect that it was getting Famicom PPU output. 07:12:20 The PPU output really weird NTSC. 07:12:28 Among other things its color burst was a square wave. 07:14:41 -!- augur has joined. 07:15:04 -!- augur has quit (Remote host closed the connection). 07:18:26 -!- augur has joined. 07:19:44 -!- augur has quit (Remote host closed the connection). 07:30:58 -!- XorSwap has quit (Ping timeout: 252 seconds). 07:36:01 -!- bender| has joined. 07:36:20 -!- bender| has quit (Changing host). 07:36:20 -!- bender| has joined. 07:37:59 -!- tromp has quit (Remote host closed the connection). 07:45:38 -!- ais523 has quit. 08:38:31 -!- tromp has joined. 08:42:49 -!- tromp has quit (Ping timeout: 240 seconds). 08:50:02 -!- AnotherTest has joined. 09:17:41 -!- Phantom_Hoover has joined. 09:48:39 -!- ais523 has joined. 09:55:04 -!- ais523 has quit (Ping timeout: 252 seconds). 09:58:05 -!- ais523 has joined. 10:03:18 -!- jaboja has joined. 10:03:19 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds). 10:11:57 -!- J_Arcane has quit (Ping timeout: 268 seconds). 10:14:42 -!- Phantom_Hoover has joined. 10:35:19 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 10:39:18 -!- tromp has joined. 10:43:33 -!- tromp has quit (Ping timeout: 244 seconds). 10:46:18 -!- jaboja has quit (Read error: Connection timed out). 10:46:54 -!- jaboja has joined. 10:47:48 -!- rdococ has joined. 11:26:30 -!- AlexR42 has joined. 11:29:30 -!- ais523 has quit. 11:32:51 -!- vodkode has joined. 11:40:10 -!- tromp has joined. 11:40:14 -!- zadock has joined. 11:44:33 -!- tromp has quit (Ping timeout: 240 seconds). 11:47:26 -!- jaboja has quit (Ping timeout: 250 seconds). 11:55:55 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 12:04:54 -!- Reece` has joined. 12:25:09 -!- feliks has quit (Ping timeout: 268 seconds). 12:27:36 -!- earendel has quit (Ping timeout: 246 seconds). 12:32:51 -!- earendel has joined. 12:36:50 By the way, someone (b_jonas?) figured out a way easier way to do `culprits.” => yes, but I haven't finished the implementation yet, because I also want to write a new version of noping 12:36:57 you can see the current state at, I think, 12:37:02 ``` cat bin/culprits-ng 12:37:21 ​#!/bin/sh \ exec hg log -l 512 --template "{desc}\0" -- "$@" | perl -0ne '/^<([^>]*)>/ and print"$1 "' 12:39:35 The original implementation of culprits is the typical abomination of the kind I hate, like the unix scripts that try to grep and imperfectly parse ps's output without passing switches to ps that already make that much easier 12:40:57 b_jonas: I'm sure you're a fan of nitia. 12:42:36 what's nitia? 12:42:38 without nitia, we would not exist 12:42:45 `? nitia 12:42:47 nitia is the inventor of all things. The BBC invented her. 12:43:05 exec for the part of a pipe seems silly 12:43:14 `? tanebventions 12:43:15 Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, submarine jousting, the universe, weetoflakes, persistence, the reals, Lambek's lemma, robots, progress, and this sentence. He never invents anything involving sex. 12:43:30 `culprits bin/wisdom 12:43:31 oerjan oerjan oerjan oerjan oerjan oerjan shachaf shachaf tswett tswett shachaf shachaf shachaf shachaf 12:43:40 `culprits bin/addquote 12:43:41 `culprits bin/quote 12:43:54 tswett tswett Gregor shachaf shachaf shachaf elliott elliott nitia 12:43:57 tswett tswett oerjan elliott ais523 ais523 elliott FreeFull oerjan FreeFull fizzie shachaf shachaf elliott elliott nitia 12:45:42 . o O ( `learn_append nitia However, nitia did not have much wisdom. ) 12:46:03 And also of nitia's friend, estin. 12:47:15 -!- earendel has quit (Ping timeout: 264 seconds). 12:47:20 -!- lynn has joined. 12:51:54 -!- feliks has joined. 12:57:01 `culprits useless_file.txt 12:57:04 fizzie estin 12:58:23 `? estin 12:58:24 estin? ¯\(°​_o)/¯ 13:13:57 -!- Alejandro15 has joined. 13:19:38 -!- Alejandro15 has quit (Quit: Leaving.). 13:20:46 -!- AlexR42 has joined. 13:26:01 -!- tromp has joined. 13:30:11 -!- tromp has quit (Ping timeout: 248 seconds). 13:33:10 `` unidecode $'\1' 13:33:19 U+0001 \ UTF-8: 01 UTF-16BE: 0001 Decimal:  \ . \ Category: Cc (Other, Control) \ Bidi: BN (Boundary Neutral) 13:46:11 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 13:48:44 Hmm, Google's slight misrepresentation of Lee Sedol's strength works... I'm reading articles stating that he's the strongest player, when Google wrote that he has the strongest record over the past 10 years. That's probably true, but Ke Jie has been the dominating player last year. 13:48:49 (Ke has a 8:2 record against Lee) 13:49:30 -!- lynn has quit (Ping timeout: 246 seconds). 13:50:27 (when I say "Google wrote" I mean whoever does PR on behalf of the Alphago team) 13:56:00 hrm 13:56:29 How hard would it be to run zemhill's markov scoring algorithm on thousands of programs at once 13:56:37 or, rather, what's the computational complexity of it 14:04:00 -!- boily has joined. 14:10:58 ``cat bin/culprits 14:10:59 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `cat: not found 14:11:00 -!- tromp has joined. 14:11:04 `cat bin/culprits 14:11:05 hg log --removed "$1" | grep summary: | awk '{print substr($2,2,length($2)-2)}' | sed "s/.$/\x0F&/" | xargs 14:18:14 `culprits bin/culprits 14:18:17 Jafet Jafet tswett tswett shachaf shachaf shachaf FireFly FireFly FireFly FireFly FireFly FireFly shachaf 14:18:50 @ask Jafet where are you at now? 14:18:50 Consider it noted. 14:38:30 -!- zadock has quit (Quit: Leaving). 14:49:39 !zjoust dumb ((+)*2310(.)*2310)*-1 14:49:39 Lymia.dumb: points -25.12, score 5.75, rank 47/47 14:49:57 !zjoust dumb ((+)*210(.)*210)*-1 14:49:58 Lymia.dumb: points -23.76, score 5.67, rank 47/47 (--) 14:55:28 !zjoust chicken +[>[-.]] 14:55:29 boily.chicken: points -33.14, score 2.90, rank 47/47 15:11:16 !zjoust perfection (>)*29 (-)*120 [-] 15:11:16 Lymia.perfection: points -41.81, score 1.02, rank 47/47 15:11:24 !zjoust perfection (>)*29 (-)*120 [-.] 15:11:25 Lymia.perfection: points -41.81, score 1.02, rank 47/47 (--) 15:11:51 !zjoust perfection (>)*20 ([(-)*120 [-.]{}] >)%-1 15:11:51 Lymia.perfection: points -36.86, score 2.10, rank 47/47 (--) 15:12:24 !zjoust meow (()*-1)*-1 15:12:25 Lymia.meow: points -33.14, score 2.90, rank 47/47 15:12:28 heh, "perfection" 15:12:38 fsvo "perfection" 15:12:39 perfection with -40 points 15:19:59 -!- lynn has joined. 15:28:19 <\oren\> what is this, misere bfjoust? 15:29:53 !zjoust < < 15:29:53 int-e: Program name (<) is restricted to characters in [a-zA-Z0-9_-], sorry. 15:30:02 !zjoust lt < 15:30:02 int-e.lt: points -46.00, score 0.00, rank 47/47 15:30:37 -!- boily has quit (Quit: TRIACONTAHEDRON CHICKEN). 15:30:39 !zjoust (+-+)*-1 15:30:39 int-e: "!zjoust progname code". See http://zem.fi/bfjoust/ for documentation. 15:30:47 !zjoust pmp (+-+)*-1 15:30:48 int-e.pmp: points -7.43, score 12.85, rank 47/47 15:32:16 !zjoust gpmp >(+-+)*-1 15:32:18 int-e.gpmp: points -9.62, score 6.69, rank 47/47 15:32:36 !zjoust gpmp >+*128(+-+)*-1 15:32:38 int-e.gpmp: points -9.57, score 6.73, rank 47/47 (--) 15:33:06 !zjoust gpmp >>-<<(+-+)*-1 15:33:07 int-e.gpmp: points -7.05, score 13.02, rank 47/47 (--) 15:33:52 !zjoust gpmp >>->+<<<(+-+)*-1 15:33:53 int-e.gpmp: points -6.74, score 13.34, rank 45/47 (+2) 15:34:13 funny 15:39:38 int-e.gpmp vs ais523.death_to_defence / >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -42 / ais523.death_to_defence wins. ... I guess it lives up to its name :) 15:40:09 wait, suicide is marginally worse than "perfection"? 15:40:53 <\oren\> since I added the characters for vim Powerline, are there any other widely used (where "widely" means >100 people) terminal programs that use special charatcers? 15:41:59 do you fully support that lineudrawed nethack thingie? 15:43:41 <\oren\> does it use any non-unicode charatcers? 15:44:06 i have no clue 15:45:22 also, do you have any idea if i can somehow use that in connectbot? :D 15:46:15 -!- jaboja has joined. 15:51:15 -!- lambda-11235 has joined. 15:51:31 <\oren\> hmm, I wonder... I have an andorid phone, so I'll try to figure it out 15:52:33 i can set the system font, but that does not at all change the font inside connectbot 15:52:42 and i have absolutely no idea why that is 15:54:27 -!- oerjan has joined. 15:56:10 ollehrjan 15:57:08 inoonret-e 15:58:37 int-e: btw, i'm slightly disappointed that foglio didn't draw van rijn resembling the real rembrandt 15:59:03 <\oren\> hmm I think it must have a font file somewhere inside the app's files 16:02:47 oerjan: well, attitude wise he is more of a da vinci anyway 16:03:00 heh. 16:03:26 it's hard to tell with the sepia, but i guess he's another member of the red-haired family. 16:04:37 maybe we will meet him again... in the flesh... in the past. 16:05:14 meet who? 16:05:32 The master van Rijn. 16:06:00 `? gg 16:06:07 gg? ¯\(°​_o)/¯ 16:06:08 `? girl genius 16:06:10 girl genius? ¯\(°​_o)/¯ 16:06:12 -!- boily has joined. 16:06:16 `? oots 16:06:17 oots? ¯\(°​_o)/¯ 16:07:32 `? olist 16:07:33 Update notification for the webcomic Order of the Stick. http://www.giantitp.com/comics/ootslatest.html 16:08:42 `culprits olist 16:08:45 shachaf shachaf 16:08:55 b_jonas: *cough* 16:09:15 int-e: needs a much longer beard 16:10:06 -!- jaboja has quit (Ping timeout: 248 seconds). 16:12:03 also, you could say that about all the sparks. 16:12:27 including Agatha... perhaps not. 16:13:10 `culprits wisdom/olist 16:13:13 shachaf shachaf shachaf oerjan elliott Bike 16:13:25 `? comic 16:13:26 comic? ¯\(°​_o)/¯ 16:13:47 [wiki] [[Special:Log/newusers]] create * Orlando99 * New user account 16:13:55 . o O ( `learn comic sans ... ) 16:15:33 what's with all the helicopters today 16:16:44 `le/rn comics/Recommended comics include genius stick, stuck girl, and home of the order. 16:16:52 Learned «comics» 16:17:29 [wiki] [[User:Orlando99]] N https://esolangs.org/w/index.php?oldid=46499 * Orlando99 * (+145) Created page with "Hi! I'm Orlando99. I haven't created any esoteric programming languages '''yet''', but I'm working on a new one. I hope I'll finish it soon... :)" 16:17:32 ` 16:17:32 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 16:17:38 `? elrond 16:17:39 Elrond is a rogue program originally created to police the Matrix, eventually gaining increased individuality and becoming a threat to the Machines themselves. 16:17:49 [wiki] [[User:Orlando99]] https://esolangs.org/w/index.php?diff=46500&oldid=46499 * Orlando99 * (-2) 16:18:18 int-e: i like that one 16:20:53 `le/rn comics/Recommended comics include Genius Stick, Stuck Girl, and Home of the Order. 16:20:56 Learned «comics» 16:21:08 long live the Oxford comma! 16:21:15 <3 16:22:23 boily made a capital effort there. 16:23:25 should it be “the” or “The”% 16:23:32 s%\%%?% 16:23:53 "the" 16:24:37 why would you purposely use % as a separator -_- 16:24:56 indeed, it puts your sanity into question. 16:25:13 izabellora. s/// expressions are fun to mangle! 16:25:25 -!- zadock has joined. 16:25:31 hellørjan. oh you of little faith... Believe in my Sanity! 16:25:37 I think somewhere on freenode there's a channel for programmers who do intentionally difficult things for fun 16:25:39 `le/rn Oxford/The home of English, woven shirts, and the serial comma. 16:25:42 Learned «oxford» 16:25:49 `culprits wisdom/oxford 16:25:50 I think they also program in things like brainfuck and Malbolge 16:25:54 prooftechnique 16:26:39 Taneb: crazy crowd 16:26:40 `cat bin/slash_learn 16:26:41 cat: bin/slash_learn: No such file or directory 16:26:45 `cat bin/slashlearn 16:26:45 sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "Learned «$key»" 16:26:48 Taneb: Sounds like a scary place to me. A place you tell naughty children about so that they stay in their beds while failing to sleep. 16:26:52 -!- J_Arcane has joined. 16:27:50 darn 16:28:48 oerjan: I lost your train of thought 16:29:11 boily: that's what all the sane people say just before they break hth 16:29:23 Homestick and Order of the Stuck? 16:29:24 or possibly just after. 16:30:25 int-e: which train? 16:30:55 the one that rolled over "darn" 16:31:33 i just realized fixing slashlearn in the same way as shachaf fixed learn looks ugly 16:31:57 oh ok 16:32:02 why fixing it? 16:32:14 fuck 16:32:17 myname: so it says whether the wisdom previously existed 16:32:24 ah 16:32:44 isn't it just a symlink to le/rn? 16:33:01 `echo-p 16:33:02 No output. 16:33:11 myname: the other way around 16:33:12 `cat bin/echo-p 16:33:13 echo "$1"; [[ "$1" == */* ]] && mkdir -p "${1%/*}" 2>/dev/null 16:33:19 hah 16:33:27 oerjan: that doesn't make sense 16:33:35 myname: it's older. 16:33:40 `culprits bin/echo-p 16:33:43 oerjan 16:33:46 why should slashlearn look at the number of slashes? 16:33:46 * oerjan waves 16:33:47 I think the filling came out of one of my teeth 16:33:57 b_jonas: it's a pandemic! 16:33:59 I'll have to get an urgent appointment to my dentist 16:34:35 myname: um so that le/rn and le//rn both work hth 16:35:00 by "older", i mean creation, not latest version hth 16:35:33 le/rn and le//rn could just point to two different files instead of stupid argv[0] magic 16:35:35 okay 16:35:52 b_jonas: that's impossible, because they're the same file 16:35:54 . o O ( what about le///rn ) 16:35:54 b_jonas: how so 16:36:08 sure, but change them 16:36:11 oh 16:36:13 right 16:36:16 ugh 16:36:21 :D 16:36:23 um, use different names? 16:36:29 like slashlearn and slashslashlearn? 16:36:48 b_jonas: um le/rn was created because slashlearn was too long hth 16:37:19 your strange insistence on using it notwithstanding. 16:37:23 we want c/o/n/v/e/n/i/e/n/c/e, and cslashoslashnslashvslasheslashnslashislasheslashnslashcslashe just doesn't cut it for us 16:39:26 int-e: i think that cuts it too fine, rather 16:40:06 o/e/r/j/a/n, does it hurt when I do this? 16:40:17 remarkably little. 16:40:33 what if the double slash syntax was `le/rn /key//value 16:40:44 that's as many characters as `le//rn key//value I think 16:40:51 and doesn't collide with anything 16:40:54 but less intuitive 16:41:34 I honestly believe the $0 trick is good for the limited purpose it serves 16:42:07 ok 16:44:33 `` [ -e te/st/ing ] || echo "nope" 16:44:34 nope 16:45:05 ok the hardest part now is that slashlearn uses ; instead of newlines 16:46:29 `cat bin/learn 16:46:30 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ [ -e "wisdom/$topic" ] && verb="Relearned" || verb="Learned" \ echo "$1" >"wisdom/$topic" \ echo "$verb '$topic': $1" 16:46:38 `cat bin/slashlearn 16:46:39 sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "Learned «$key»" 16:46:48 sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "Learned «$key»" 16:48:19 `mkx bin/slashlearn//sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; [ -e "wisdom/$topic" ] && verb="Relearned" || verb="Learned"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "$verb «$key»" 16:48:22 bin/slashlearn 16:48:35 `? testing 16:48:36 Testing might eventually succeed. 16:48:42 `forget testing 16:48:45 Forget what? 16:48:59 `le/rn testing/Testing is fragile. 16:49:02 Relearned «testing» 16:49:10 argh 16:49:12 oh 16:49:15 loo 16:49:35 `mkx bin/slashlearn//sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; [ -e "wisdom/$key" ] && verb="Relearned" || verb="Learned"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "$verb «$key»" 16:49:37 bin/slashlearn 16:49:45 `forget testing 16:49:47 Forget what? 16:49:50 `le/rn testing/Testing is fragile. 16:49:52 Learned «testing» 16:50:01 `le/rn testing/Testing can only do so much. 16:50:03 Relearned «testing» 16:50:07 there you go. 16:51:08 `learn estin didn't believe in automation. 16:51:11 Learned 'estin': estin didn't believe in automation. 16:51:21 `? estin 16:51:22 estin didn't believe in automation. 16:55:00 <\oren\> god, can the process for getting superuser permissions on android be any more confusing? 16:55:47 you mean, exploiting a bug? 16:56:36 `? chicken 16:56:38 chicken is boily af 16:56:38 `? egg 16:56:39 egg? ¯\(°​_o)/¯ 16:56:45 <\oren\> any number of websites and apps and whatnot, none looking at all trustworthy, it makes Windows look completey sane 16:57:27 <\oren\> and all I wanted to do was edit one fricking file 16:57:53 xda is oretty trustworthy 17:01:13 `? xda 17:01:14 xda? ¯\(°​_o)/¯ 17:02:25 <\oren\> I mean seriously why the hell isn't there just a button to open a goddamn bash shell 17:02:33 -!- bender| has quit (Quit: Ping Pong Fuckout). 17:02:48 <\oren\> isn;t this supposed to be linux 17:02:53 @tell ais523 although make sure you use a section edit rather than editing the whole page <-- i read somewhere that doesn't matter any longer 17:02:53 Consider it noted. 17:03:09 how would it prevent an app to use this? 17:03:22 make it a physical button. 17:03:44 that doesn't fix the problem at all 17:04:43 <\oren\> um, the button would be part of the main settings? 17:04:56 <\oren\> I mean windows has a way to do this easily 17:04:59 `culprits wisdom/chicken 17:05:02 mroman 17:05:17 @tell mroman mrelloman. 17:05:17 Consider it noted. 17:05:22 windows has a button to make you able to destroy everything? 17:05:30 <\oren\> yes 17:05:31 myname: several, in fact 17:05:41 >_> 17:05:47 great design 17:06:28 <\oren\> you can edit any file on the system if you click through all the warning messages 17:07:03 that reminds me of the video qhere people started formating a drive through voice recognition 17:08:01 <\oren\> wait... my windows computer has a sim card slot 17:08:18 <\oren\> I don't need this bullshit anyway 17:08:25 * boily eyes \oren\'s computer with suspicion 17:08:36 that sounds like a phone to me. 17:09:27 <\oren\> it isn't a phone, it's just a thinkpad with all the trimmings 17:09:55 <\oren\> well except I didn't shell out for a super-good minitor 17:09:59 <\oren\> *screen 17:10:14 a minitor: a screen with low resolution? 17:10:18 -!- jaboja has joined. 17:10:32 <\oren\> yes 17:11:03 that's like the monotaur 17:11:15 and the majotaur 17:11:28 <\oren\> 1366x768 17:11:29 my notebook also has a sim card slot 17:12:27 -!- Reece` has quit (Quit: Leaving). 17:16:04 <\oren\> yeah so basically instead of trying to tether the wifi connection, I'll just put my sim card in my computer whenever I want to use my data connection from my computer 17:17:31 <\oren\> my plan is a "bring your own phone" plan, so i think that's allowed 17:18:13 sure, why would you use a bad android phone when you have a better one 17:18:39 stereotaur 17:19:30 Cyanogenmod makes root less stupid, at least. :P 17:19:46 It's built into the system, so, it's probably trustworthy. 17:19:47 Lymia: well, you just need root to install it 17:19:56 easy game 17:20:02 You reimage the phone after you get root though. 17:20:11 So, I don't really need to worry about the rooting program being "trustworthy" per se. 17:20:41 <\oren\> I am just "bringing" a 15 by 9 inch, 6 pound clamshell "phone" 17:20:56 I have a Samsung phone, so, I just reimaged it using the 'supported' method. 17:21:29 withbthe thirdparty app 17:21:57 \oren\: You mean you don't even have to bolt it into your car? Technology has come so fr 17:22:00 *far 17:22:11 <\oren\> lol 17:23:10 Even today with pervasive smartphones, there's a certain romantic access to a "car phone" 17:23:11 make it a physical button. 17:23:23 Can't you just do something like how UAC works 17:23:25 As if to say "I have so much going on that I have a dedicated phone just for my car" 17:23:39 <\oren\> Lymia: that's what I was saying 17:23:46 Pop up a secure OS level dialog that applications can't interact with. 17:23:59 Put the button a 5 second timer so nobody presses it on accident because an application is sneaky. 17:24:10 Or require a passphrase. 17:24:25 <\oren\> use a captcha 17:24:29 FSVO "secure" and "can't" 17:24:45 well. 17:25:01 If you have enough permissions to screw with a privileged security dialog 17:25:09 You probably have the permissions to do what you wanted to do in the first place anyway 17:25:20 <\oren\> when UAC pops up, the computer beeps, the screen goes black for a second, and then the UAC dialog pops up 17:25:27 I'm hearing "run as root all the time". Got it. Sounds easy. :) 17:25:45 ??? 17:26:13 -!- augur has joined. 17:26:13 <\oren\> and then it says in a scary way, "are you sure you want [application] to be able to do [something]" 17:26:14 You say I'll never have to enter my password to install my special weather widgets ever again? Sounds dandy! 17:26:45 I don't know what you think we're talking about, but, that's certainly not it. 17:27:00 <\oren\> prooftechnique: on my other computer I use puppy linux, so, yeah, all root all the time 17:27:14 \oren\: It almost literally says the "something" part, though, unless UAC dialogs have gotten more informative recently 17:27:21 \oren\, It's more complicated than that. There's some isolation mechanism between the actual application processes and the system component that does the UAC prompts (and presumably elevates the privileges of the processes that request it) 17:27:42 Doesn't UAC still not have fine-grained permissions 17:28:04 <\oren\> Lymia: sure, but I'm just describing the user interface 17:28:17 I thought it still only had two modes: A) Anything a normal unprivileged user can do, B) Anything your user can do, including adminstrative stuff if you have the permissions. 17:28:18 <\oren\> which goes out of its way to make sure the user pays attention 17:28:49 And in doing so probably causes itself to be ignored even harder 17:29:10 It's so jarring that I imagine most users just wildly click through it without wondering what the triggering process is 17:29:28 <\oren\> depends. my mother will click "no", even I tell her five times to click yes 17:30:12 \oren\: so you don't have enough permission to control your mother? 17:30:58 <\oren\> yeah. I hate doing tech support 17:33:06 -!- oerjan has quit (Quit: Sounds like you need a mother upgrade). 17:39:06 \oren\, at least, if it's aimed at technical users, the only requirement of the user interface is that you could only give access "intentionally", no? 17:39:46 (Hence, a 2-4 second timer on the accept button in case an application tries to trick a user into pressing it by timing when it brings up the dialog.) 17:40:10 It doesn't need to be unforgable unless you have a password prompt. 17:40:10 <\oren\> right, but it should also make clear to non-techs that this is a sensitive feature 17:40:33 There's no point in a fake escalation prompt, unless it requires a password. 17:41:02 Yeah, that isn't exactly easy either. 17:44:36 -!- earendel has joined. 17:45:10 Mainly because 17:45:13 they don't freaking read 17:46:43 fuck... this stupid hole where the filling came out is impossible to clean. my tooth will start hurting in no time. 17:47:01 I'll have to be really careful and get an appointment first thing tomorrow 17:53:03 Subject-Oriented Programming seems an interesting place to research 17:53:10 or Context-Oriented 17:54:26 I just want to see some new GUI approaches that aren't a big bowl of imperative sOOP. 17:58:14 wtf 17:58:19 When did I write this Python script 17:58:23 And why did I use os.chdir at all 17:59:58 there's all this stuff going on now with functional reactive programming, and cool declarative approaches to same, and yet it's all web-focused. The native approaches either try to glue FRP onto the existing sOOP, or just run web stuff in a browser window. 18:00:20 sOOP? 18:02:58 -!- augur has quit (Remote host closed the connection). 18:04:20 -!- Thassa has joined. 18:04:28 Hweh 18:07:15 <\oren\> I've begun translating my game from C into Javascript 18:07:48 Ayy 18:12:01 You poor thing 18:12:12 Nobody should have to suffer Javascript. 18:18:56 -!- XorSwap has joined. 18:21:26 Lymia: object oriented + soup. 18:21:43 soup? Never heard that term 18:21:55 as in " a big mass of interdependent stateful objects that give the functional programming zealot in me hives " 18:23:03 ah 18:23:18 <\oren\> but most gui elements are inherently stateful 18:24:36 true. But there are other approaches to handling that state while allowing individual components to remain purely functional. 18:25:41 -!- vodkode has quit (Quit: Leaving). 18:25:56 <\oren\> YAY! gensokyo radio is playing ym favorite song 18:26:57 I work with Reagent in my day job, for example, where largely you're working with pure functions that just return markup that gets rendered by virtual DOM, and page state is handled by a single canonical atom. 18:27:35 Which is a really fun way to work with an interface, and makes me sad there's not really a native equivalent unless you count the React Native bindings (which are presently a giant nightmare behemoth) 18:30:53 <\oren\> well I mean what i would do to avoid state would be to have each button callback be a function that takes the whole state and returns a new state 18:31:39 -!- XorSwap has quit (Ping timeout: 244 seconds). 18:31:49 <\oren\> but then you'd have to redraw everything with each button press 18:34:50 `fix_my_tooth 18:34:54 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: fix_my_tooth: not found 18:35:01 Isn't there a command for this? 18:35:02 `dentist 18:35:03 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: dentist: not found 18:35:07 `appointment dentist 18:35:08 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: appointment: not found 18:35:31 <\oren\> `brush teeth 18:35:32 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: brush: not found 18:35:52 <\oren\> `floss teeth 18:35:52 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: floss: not found 18:36:50 <\oren\> for(@teeth){brush;floss;} 18:50:29 I hope that's not actual Perl 19:01:01 well, i've finally abolished the need to declare objects with a * in Objective-C (JX) 19:01:37 since i have abolished plans for stack objects, and if I ever do, it'll use alloca() (so will remain a pointer) 19:04:39 -!- Thassa has quit (Remote host closed the connection). 19:15:19 /win 26 19:15:21 :( 19:23:46 -!- jaboja has quit (Ping timeout: 252 seconds). 19:24:46 -!- jaboja has joined. 19:25:21 oerjan: Wait, didn't slashlearn do the learned/relearned thing in the past? 19:25:28 Or learn did, or something? 19:25:45 And then there was a bug with the program being run twice that made it not work well? 19:52:43 Ooh, mlton is in brew, now 20:11:59 I can program both in C and in JavaScript 20:15:08 Including a Z-machine implementation in JavaScript. I made a simple front-end for use with Node.js although this front-end is simple and does not do word wrap and pausing per page. (The back-end though uses pure JavaScript and does not require Node.js) 20:15:18 -!- rdococ has quit (Read error: Connection reset by peer). 20:17:40 -!- XorSwap has joined. 20:19:59 -!- Lymia has quit (Ping timeout: 260 seconds). 20:22:35 <\oren\> I'm working on making my string library less wonky 20:25:00 <\oren\> in particular, applying a consistent naming scheme 20:25:13 -!- Lymia has joined. 20:27:13 -!- zadock has quit (Quit: Leaving). 20:37:15 -!- XorSwap has quit (Ping timeout: 268 seconds). 20:39:21 <\oren\> maybe i should also run some test programs through valgrind 20:39:45 -!- lynn_ has joined. 20:41:12 -!- lynn has quit (Ping timeout: 260 seconds). 20:48:05 -!- jaboja has quit (Ping timeout: 244 seconds). 20:57:59 -!- lynn_ has changed nick to lynn. 21:04:43 -!- Lord_of_Life has quit (Excess Flood). 21:06:55 -!- PinealGlandOptic has joined. 21:07:37 -!- Lord_of_Life has joined. 21:13:25 -!- XorSwap has joined. 21:16:04 -!- boily has quit (Quit: STAIR CHICKEN). 21:24:02 -!- hppavilion[1] has joined. 21:29:10 -!- XorSwap has quit (Ping timeout: 252 seconds). 21:37:40 -!- XorSwap has joined. 21:42:44 -!- jaboja has joined. 21:44:14 -!- sioux000 has joined. 21:46:36 -!- hppavilion[2] has joined. 21:47:50 ah I learned a new term. That PCP question I asked a while ago could be rephrased as stating that the set of PCP instances having a finite solution and set of PCP instances having no infinite solution are /recursively inseparable/. 21:49:34 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 21:52:00 <\oren\> http://www.orenwatson.be/STR.h.htm http://www.orenwatson.be/STR.c.htm 21:52:04 (for those who care but don't remember, the question wasn't whether this is true; it was whether this has been established in the literature) 22:01:48 -!- lynn has quit (Ping timeout: 276 seconds). 22:04:16 -!- ais523 has joined. 22:04:48 huh, nyuroki dropped four places? 22:06:02 ehwhat? 22:08:32 wut 22:08:36 Did I accidentally submit the wrong version 22:09:20 !bfjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 22:09:22 ​Score for Lymia_nyuroki: 6.4 22:09:27 !zjoust nyuroki https://raw.githubusercontent.com/Lymia/JoustExt/master/examples/nyuroki-esoteric.bf 22:09:27 Lymia.nyuroki: points 18.62, score 49.60, rank 2/47 (+4) 22:09:43 It appears so 22:10:10 !bfjoust nyuroki http://pastebin.com/raw/p68cTXd8 22:10:12 ​Score for Lymia_nyuroki: 51.9 22:18:16 <\oren\> I am practicing my cgi scripting 22:18:44 back at #2 now, that's better 22:20:43 <\oren\> !zjoust 22:20:43 \oren\: "!zjoust progname code". See http://zem.fi/bfjoust/ for documentation. 22:21:18 <\oren\> I couldn't rember what the tld for zem was 22:21:37 -!- idris-bot has quit (Ping timeout: 240 seconds). 22:21:57 -!- Melvar has quit (Ping timeout: 276 seconds). 22:26:49 -!- Melvar has joined. 22:34:59 -!- oerjan has joined. 22:36:35 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 22:36:59 <-- i don't remember whether `learn had that problem. we'll see. 22:37:01 er 22:37:05 And then there was a bug with the program being run twice that made it not work well? <-- i don't remember whether `learn had that problem. we'll see. 22:37:12 `url bin/learn 22:37:24 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/learn 22:37:41 -!- hppavilion[2] has joined. 22:37:51 i wouldn't be surprised if it breaks in some case. 22:38:58 shachaf: i suggest you ask nitia. 22:39:11 because i see nothing relevant in the browser. 22:41:16 * oerjan grumpy because bruised his knee on the ice. again. 22:41:36 also because i have a cold. 22:41:47 @metar ENVA 22:41:47 ENVA 062220Z 11006KT 9999 SCT057 M00/M06 Q1005 RMK WIND 670FT 14011KT 22:41:57 @metar KOAK 22:41:57 KOAK 062153Z 22012KT 10SM SCT035 BKN110 BKN160 16/06 A2998 RMK AO2 SLP153 T01560061 22:42:05 oerjan: there's an obvious solution to ice problems hth 22:42:33 moving to california has other problems, alas 22:42:50 i can't think of any 22:43:41 i take it you have a very limited imagination 22:44:51 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 22:46:29 shachaf: anyway, the tests of `learn and `le/rn worked, so if there's a problem it's obviously not reliably so. 22:46:43 `url bin/slashlearn 22:46:44 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/slashlearn 22:46:52 i expect it would have something to do with file creation 22:47:24 whoa whoa whoa 22:47:27 what's up with `learn? 22:47:31 or potentially up? 22:47:43 http://codu.org/projects/hackbot/fshg/index.cgi/rev/9c7426991c5f 22:47:58 ais523: we've modified `learn and `le/rn to give different output dependent on whether the file already existed 22:48:14 because i was tired of checking everytime someone else forgot to :P 22:48:16 ah right 22:48:20 slashlearn is 15 months old? 22:48:22 That's ridiculous. 22:48:25 I refuse to believe that. 22:48:52 shachaf: 17? 22:49:05 Fine. 22:49:15 -!- hppavilion[2] has joined. 22:49:17 ah indeed you did distinguish. 22:49:27 Anyway the logs from whenever I was doing that should explain what the problem was. 22:49:35 Good thing we have an expert logreader here. 22:50:23 eek 22:52:58 http://codu.org/logs/log/_esoteric/2014-11-19#103938shachaf 22:53:21 What happened to you reading logs so I don't have to? 22:53:39 Reading logs of things I said in IRC is usually pretty painful. 22:53:45 i thought you were just opposed to doing the searching 22:54:13 The searching is easy with a timestamp. 22:56:12 http://codu.org/logs/log/_esoteric/2014-11-19#110103fizzie 22:56:25 -!- XorSwap has quit (Quit: Leaving). 22:56:29 apparently it may be broken with files with spaces in them? 22:56:41 Oh, now I remember. 22:56:48 So it's no problem for learn. 22:56:51 `le/rn Te sting/This is horrible? 22:56:55 Learned «te sting» 22:57:06 this worked... 22:57:15 maybe the bug has been fixed? 22:57:20 `le/rn Te sting/Did you mean "The sting"? 22:57:24 Relearned «te sting» 22:57:28 Hm. 22:57:30 Maybe. 22:57:55 I do remember talking to fizzie about how it should be fixed. 22:58:15 `revert 22:58:17 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 22:58:25 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 22:58:50 I also remember talking about how revert should be fixed, but that obviously didn't happen. 22:59:10 well we clearly can't fix it from inside the bot itself, without some sort of exploit 22:59:25 ais523: well the assumption was that fizzie could... 22:59:30 or at least Gregor 22:59:36 ``` /bin/cat bin/revert 22:59:37 ​/bin/cat: bin/revert: No such file or directory 22:59:43 what 22:59:47 revert is a real command? 22:59:51 b_jonas: `revert is a builtin 22:59:53 I see 23:00:04 but I thought we could read the hg history 23:00:06 culprits does so 23:00:09 has to be, otherwise you could delete `revert and nobody else would be able to delete it 23:00:10 so can't we make our own revert? 23:00:14 sure, but 23:00:18 can't we make a similar command? 23:00:19 b_jonas: yes. so we _could_ create revert these days. 23:00:20 *revert it 23:00:26 we could potentially make our own revert though, yes 23:00:30 Call it rerevert 23:00:30 b_jonas: in fact we have bin/undo 23:00:35 it'd just have to have a different name 23:00:42 `` echo test > test2 23:00:44 No output. 23:00:46 `undo 23:00:48 ais523: yes, I know, and termbot has a builtin to revert the whole hard disk to pristine state too 23:00:49 hg diff: option -c requires argument \ patch: **** Only garbage was found in the patch input. 23:00:52 hmm 23:01:02 `rm test2 23:01:03 ais523: you need a commit 23:01:05 No output. 23:01:07 ``` tr \! \! < bin/undo 23:01:07 ​#!/bin/sh \ hg diff -c "$@" | patch -p1 -R 23:01:15 whoa 23:01:17 patch: When I give you garbage in the patch input, I expect garbage in the patch output. 23:01:18 b_jonas: what's up with that tr? 23:01:29 -!- p34k has joined. 23:01:55 ais523: I'm afraid to use cat, because if I wanted to hide something, I'd install a fake bin/cat 23:02:08 so /bin/cat or perl -pe1 seems safer 23:02:15 `` < bin/undo 23:02:15 No output. 23:02:16 shachaf: the only problem with fizzie fixing it is that it probably won't get updated in Gregor's source repository 23:02:17 sure, you could mask any of those too 23:02:19 hmm 23:02:32 but still 23:02:35 is `paste a builtin? 23:02:44 if so then you could use that to prevent something being faked 23:02:57 but it seems implausible to me to trust tr but not cat 23:03:02 `more bin/undo 23:03:04 ​#!/bin/sh \ hg diff -c "$@" | patch -p1 -R 23:03:08 ais523: sure, and it's even worse to trust bin/\`\` 23:03:19 ais523: but you know how bin/ls is a script, right? 23:03:35 ais523: paste is not a builtin. 23:03:37 yes, IIRC it's not for hiding things but for preventing breakage 23:03:49 sure 23:04:09 `paste bin/paste 23:04:10 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/paste 23:04:19 oh! 23:04:21 i mean there's your answer anyway 23:04:26 let's create a fake bin/revert ! 23:04:27 check the mercurial repo online 23:04:38 `tac bin/revert 23:04:40 ​/hackenv/bin/tac: line 2: bin/revert: No such file or directory 23:05:05 `url bin/url 23:05:06 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/url 23:05:30 that one should be unfakeable; although `url could lie, a human would be able to see the lies in the resulting URL 23:05:51 `echo $'#!/bin/sh\nexec git reset --hard HEAD^\n' > bin/revert 23:05:52 ​$'#!/bin/sh\nexec git reset --hard HEAD^\n' > bin/revert 23:06:01 ``` echo $'#!/bin/sh\nexec git reset --hard HEAD^\n' > bin/revert 23:06:03 No output. 23:06:14 nah, no 23:06:43 ``` echo $'#!/bin/sh\nexec git revert HEAD\n' > bin/revert 23:06:45 No output. 23:06:49 don't lose the history 23:07:43 Is the .hg part of the repository read-only or something? 23:08:08 it's a read-only mount 23:08:23 `` rm -r .hg/* 23:08:24 rm: cannot remove `.hg/00changelog.i': Read-only file system \ rm: cannot remove `.hg/branch': Read-only file system \ rm: cannot remove `.hg/branchheads.cache': Read-only file system \ rm: cannot remove `.hg/cache': Read-only file system \ rm: cannot remove `.hg/dirstate': Read-only file system \ rm: cannot remove `.hg/last-message.txt': Read-only 23:08:46 (the great thing about hackego is that you can enter highly destructive commands almost at will as it's typically easy to fix the results) 23:10:02 b_jonas: why are you using git commands, HackEgo is mercury 23:10:30 oerjan: it's a fake command, so it doesn't matter, right? 23:10:34 OKAY 23:10:35 and I don't know mercurial 23:10:43 @metar KLAS 23:10:43 KLAS 062256Z 25017G28KT 10SM FEW050 SCT080 19/M04 A2967 RMK AO2 PK WND 25029/2234 SLP033 T01891039 23:10:51 read-only? ok, then let's make it 23:11:00 ``` echo $'#!/bin/sh\nexec git revert --no-commit HEAD\n' > bin/revert 23:11:02 No output. 23:11:06 or can we not write the index either? 23:11:18 the whole thing is on a read-only file system 23:11:27 hmm 23:11:30 the way you'd implement a `revert, though 23:11:36 would be to change the filesystem to match an old revision 23:11:41 then let the autocommit do the rest of the work 23:11:41 sure, we'd need to modify only the filesystem 23:11:45 without the index 23:12:09 bleh, lack of orthogonality in git commands strikes again 23:12:22 what you'd want would be a checkout of an old revision without changing the current revision 23:13:08 possibly that's git checkout -p commit -- . 23:13:12 it's a little unclear from the docs 23:13:18 * ais523 checks how you'd do it in scapegoat 23:13:23 I think the command for that is git checkout HEAD^ 23:13:24 but I'm not sure 23:13:34 b_jonas: that gives you a detached HEAD though 23:13:39 because it also changes the current revision 23:13:40 #``` echo $'#!/bin/sh\nexec git checkout HEAD^\n' > bin/revert 23:13:41 ah right 23:13:47 then git checkout HEAD^ . 23:13:54 ``` echo $'#!/bin/sh\nexec git checkout HEAD^ .\n' > bin/revert 23:13:55 No output. 23:14:04 -!- lleu has joined. 23:14:12 in scapegoat it'd be sg-focus revision . 23:14:24 giving any path, including ., prevents the default name changing 23:14:49 alternatively, sg-focus hash 23:14:56 because a hash is not a name, and thus can't be the default name 23:18:08 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 23:25:24 I'll have to be really careful and get an appointment first thing tomorrow <-- fwiw in my recent case i had to wait 2 weeks because my dentist had the flu. he said there was only a little deterioration. my web searches were inconlusive on how urgent it is. 23:27:12 I should probably talk to a dentist too. 23:27:24 I guess I should find one. 23:30:39 -!- blockzombie has joined. 23:30:49 otoh i underestimated the danger once, and now i'm never getting my perfect teeth back :( 23:32:19 (hint: halving the amount you brush can put you over from 0 holes one year to 6 the next.) 23:32:28 *cavities 23:32:39 oerjan: (a) it's a large hole, and (b) it's annoying 23:32:56 perfect teeth! I won't get those either, heh 23:33:14 that ship has sailed 23:33:19 just get dentures and call it a day hth 23:35:30 if I can delay the moment I start getting root canals and stuff by a few decades I'll be happy 23:35:42 i have great teeth 23:36:08 no matter the amount of brushing, i don't get any problems 23:36:34 If it's not hurting, then it's probably not *urgent*. 23:36:35 myname: that's what i thought about mine. 23:36:53 If it was hurting a lot but now isn't, though, then it's quite urgent. :) 23:37:05 well, it is like this for almost three decades 23:37:39 If it was hurting a lot but now isn't, though, then it's quite urgent. :) <-- EEK. that's what i experienced the last couple weeks D: 23:37:59 well maybe not a "lot". but somehow it stopped. 23:38:46 -!- sioux000 has quit (Quit: Leaving.). 23:39:11 and i had a dentist appointment and couldn't get myself awake for it. 23:39:28 pikhq: the filling fell out recently. that means now there's a big gaping hole IN MY TEETH. the hole is impossible to clear, so it will always be full of food. it doesn't hurt now, but it will very soon. 23:39:31 My occasional tooth pain is usually mitigated by increasing my vitamin intake 23:39:38 I think D and B12 are the big ones? 23:39:57 prooftechnique: i'm taking vitamin pills already. 23:40:04 just make sure to mix in enough placebo 23:40:07 And ones that I often don't get enough of, probably 23:40:09 and it's not just that it will hurt, but that very soon it will be so inflammed that it will be impossible to make a permanent filling, so I'll need a temporary one and then another appointment. 23:40:27 olsner: :D 23:40:36 the question is not if, but when 23:40:43 the hole is ugly and deep and big 23:40:46 and between two teeth 23:40:49 where it's impossible to clear 23:41:06 well, it is like this for almost three decades <-- me too 23:41:20 b_jonas: Well, that's at least not immediately worrying but is definitely something to fix. 23:43:18 i had a single cavity in my teens, in a tooth that was later removed due to orthodontics. (at least, later dentists couldn't find it.) then nothing until i was 44. 23:43:42 -!- hppavilion[2] has joined. 23:44:52 b_jonas: OK GET IT FIXED 23:44:52 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46501&oldid=46498 * B jonas * (+91) 23:45:48 i do recall from the web searches that size mattered. 23:46:17 that's what she said 23:48:19 yoda disagrees 23:49:32 ugh, this conversation is causing my teeth to hurt :-( 23:49:36 nocebo effect is annoying 23:49:47 ais523: sorry 23:49:50 I'm so sad that Voxelwiki is gone. They left my page up for so long 23:49:58 it's time for a routine dentist appointment for me anyway around now though so I may as well book one 23:50:05 I have some placebo vitamin pills, but not fluoride ones for your teeth 23:50:27 -!- jaboja has quit (Ping timeout: 248 seconds). 23:50:34 well I use fluoride toothpaste 23:50:35 Try various placebos until you find one that works for you. Surely one of them must be the right kind of fake 23:50:44 !bfjoust test (,)*1000< 23:50:46 ​Score for Lymia_test: 0.0 23:50:49 !bfjoust test (.)*1000< 23:50:51 ​Score for Lymia_test: 6.1 23:50:57 !ztest test (,)*1000< 23:50:58 Lymia.test: points -46.00, score 0.00, rank 47/47 23:51:01 !ztest test (.)*1000< 23:51:01 Lymia.test: points -35.33, score 2.72, rank 47/47 23:51:15 I think most BF Joust interpts treat , as a comment 23:51:19 rather than as a no-op 23:51:45 Yeah 23:51:47 I was just confirming 23:52:19 !ztest ddecoy (+)*127>(+)*129(.)*-1 23:52:19 b_jonas.ddecoy: points -27.57, score 4.41, rank 47/47 23:52:44 I hope that's not actual Perl <-- it could be if you defined @teeth, brush and floss right, no? 23:53:06 bleh implicit variables. 23:53:06 :( 23:54:04 !bfjoust ([])*1000< 23:54:04 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 23:54:04 it's time for a routine dentist appointment for me anyway around now though so I may as well book one <-- my dentist sends out a card with an appointment once a year. next monday, in fact. 23:54:10 !bfjoust test ([])*1000< 23:54:12 ​Score for prooftechnique_test: 6.1 23:54:25 !ztest test ([])*1000< 23:54:25 prooftechnique.test: points -32.14, score 2.99, rank 47/47 23:54:34 Not as bad as I expected 23:54:52 that doesn't look like a very sensible program 23:55:05 I mean, isn't (.)*-1 better than that? 23:55:50 !bfjoust pause (.)*-1 23:55:52 ​Score for b_jonas_pause: 6.1 23:56:05 b_jonas: Lymia was checking whether . and , did the same thing 23:56:20 the program was designed so that the the score would change based on how long the program lasted before committing suicide 23:56:23 !bfjoust pause ()*-1 23:56:26 ​Score for b_jonas_pause: 6.1 23:56:38 as some programs will suicide aginst a no-op program in less than 1000 cycles 23:56:47 also, "()*-1" is quite the special case 23:56:49 ais523: yeah 23:56:55 !zjoust b_jonas_pause ()*-1 23:56:55 ais523.b_jonas_pause: points -32.14, score 2.99, rank 47/47 23:57:04 wouldn't surprise me if some interps hanged on that 23:57:29 !bfjoust two_people_running_from_a_shark >+([+]) * -1=≡(>[-])> *-1=≡(>[-])> 23:57:32 ​Score for Lymia_two_people_running_from_a_shark: 1.8 23:57:44 !bfjoust pause ((({})*999999)*9999999)*999999 23:57:55 !bfjoust test (-[{>}+])%3 23:57:57 I'm not sure you can put comments between the () and the * 23:57:58 ais523: yeah fizzie did some special code to catch empty loop blocks 23:58:02 !bfjoust two_people_running_from_a_shark >+([+]) *-1=≡(>[-])> *-1=≡(>[-])> 23:58:08 so it should not hang zemhill at least 23:58:29 !ztest two_people_running_from_a_shark >+([+]) *-1=≡(>[-])> *-1=≡(>[-])> 23:58:30 Lymia.two_people_running_from_a_shark: points -18.19, score 3.93, rank 47/47 23:58:43 !ztest test (-[{>}+])%3 23:58:43 prooftechnique.test: points -43.26, score 0.28, rank 47/47 23:58:45 !ztest two_people_running_from_a_shark >+([]+) *-1=≡(>[-])> *-1=≡(>[-])> 23:58:46 Lymia.two_people_running_from_a_shark: points -22.88, score 3.54, rank 47/47 23:58:47 I just tested juiced 23:58:55 did it reply to mine yet? 23:58:58 !ztest test (<{(+{(>)*5}-)%3})%5 23:58:58 prooftechnique.test: points -46.00, score 0.00, rank 47/47 23:59:01 it appears to slow down noticeably, and outputs a debug message ()*10000001 23:59:06 Fascinatingly bad 23:59:13 so I guess it's actually running 10 million empty loop iterations 23:59:18 prooftechnique: it starts with a < 23:59:19 !ztest two_people_running_from_a_shark >+([+]) *8=≡(>[-])> *-1=≡(>[-])> 23:59:20 Lymia.two_people_running_from_a_shark: points -14.67, score 8.11, rank 47/47 23:59:23 that is not normally a good way to do well 23:59:28 !ztest two_people_running_from_a_shark >+([]) *8=≡(>[-])> *-1=≡(>[-])> 23:59:29 Lymia.two_people_running_from_a_shark: points -33.48, score 2.77, rank 47/47 23:59:38 in fact, editing a program to start with an < is the normal way to remove it from the hill 23:59:39 !ztest two_people_running_from_a_shark >+([+]) *8=≡(>[-])> *-1=≡(>[-])> 23:59:40 Lymia.two_people_running_from_a_shark: points -14.67, score 8.11, rank 47/47 23:59:45 !zjoust test (()*-1,)*-1< 23:59:46 oerjan.test: points -46.00, score 0.00, rank 47/47 2016-03-07: 00:00:18 !bfjoust pause2 ()*99999999999 00:00:23 Lymia: the reason the current version does better than the []*8 version is that it at least has a chance of locking a naive clear loop 00:00:26 !bfjoust pause3 ({})*99999999999 00:00:50 !bfjoust attack1 [>[-]+] 00:01:02 !ztest two_people_running_from_a_shark >+([]) -=≡(>[-])> *-1=≡(>[-])> 00:01:02 Lymia.two_people_running_from_a_shark: points -21.76, score 7.19, rank 47/47 00:01:06 b_jonas: should be ({})%99999999999 (with however many 9s you want) to comply with the spec 00:01:12 ah 00:01:19 !bfjoust pause4 ({})%99999999999 00:01:31 in retrospect, we should probably cap loop iterations to 100000, there's no reason not to 00:01:36 (but even then, nested loops could be a DoS) 00:02:12 !bfjoust fishbones >+]]]][-]> 00:02:23 what are the interpreters written in? something that uses bigints by default? 00:02:26 !ztest fishbones >+]]]][-]> 00:02:26 prooftechnique: error: parse error: terminating ] without a matching [ 00:02:33 juiced is written in C 00:02:37 Aww. 00:02:58 !bfjoust pause5 ()%99999999999 00:03:15 I'd probably try to fix () with some sort of AST manipulation 00:03:25 !ztest google http://google.com 00:03:25 The thing that's powering zemhill is also written in C, and the command to parse numbers actually does cap at 100000. 00:03:25 maybe it's still stuck on the first one and doesn't start to run the rest 00:03:25 ais523: error: parse error: encountered { without suitable enclosing ( 00:03:35 Or at whatever MAXCYCLES is defined as, but anyway. 00:03:45 !bfjoust dead < 00:03:51 fizzie: margins3 and preparation both care about the exact value of the cycle cap 00:03:58 see 00:04:04 both of them could be modified to handle a different cycle cap, but would need the modification 00:04:11 b_jonas: you killed hackego? 00:04:23 ais523: or at least its bfjoust or something 00:04:27 um, what other command does it have? 00:04:38 `ping 00:04:40 EgoBot, not HackEgo. 00:04:40 maybe it's still stuck on the first one and doesn't start to run the rest <-- i think so. i haven't seen any response since then. 00:04:42 pong 00:04:52 !sh echo hi 00:04:53 !bf8 ++++++++[->++++++++<]>. 00:04:53 hi 00:04:53 ​@ 00:05:11 HackEgo often did have problems with concurrent submissions 00:05:23 so maybe there's some sort of locking involved 00:05:28 that breaks on a time out 00:05:47 s/HackEgo/EgoBot/g/recently 00:06:19 ais523: oh, you mean if I submit two programs at the same time, I can get it to break and allow two of my knights on the same tapes? 00:06:37 it had a tendency to rerun apparently unrelated results 00:06:40 thus confusing the output 00:06:53 was normally visible in http://codu.org/eso/bfjoust/in_egobot/breakdown.txt 00:06:58 also, wow, look at that atm 00:07:00 a bunch of invalid unicode 00:07:19 and output interspersed in other output 00:07:24 `fetch http://codu.org/eso/bfjoust/in_egobot/breakdown.txt 00:07:27 2016-03-07 00:07:05 URL:http://codu.org/eso/bfjoust/in_egobot/breakdown.txt [8451/8451] -> "breakdown.txt" [1] 00:07:29 (for the benefit of logreaders) 00:07:38 `paste breakdown.txt 00:07:40 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/breakdown.txt 00:07:44 `rm breakdown.txt 00:07:46 No output. 00:07:48 !ztest (.)*-2 3 00:07:48 Lymia: Program name ((.)*-2) is restricted to characters in [a-zA-Z0-9_-], sorry. 00:07:53 !ztest f (.)*-2< 00:07:53 Lymia.f: points -32.14, score 2.99, rank 47/47 00:07:58 !ztest test (.)*-2< 00:07:58 Lymia.test: points -32.14, score 2.99, rank 47/47 00:08:00 !ztest test (.)*-0< 00:08:00 Lymia.test: points -46.00, score 0.00, rank 47/47 00:08:11 ais523: Your paste link no longer works, now that you removed the file. 00:08:13 !ztest test (<)*0 00:08:14 Lymia.test: points -32.14, score 2.99, rank 47/47 00:08:16 !ztest test (<)*-0 00:08:17 Lymia.test: points -32.14, score 2.99, rank 47/47 00:08:18 !ztest test (<)*--0 00:08:18 Lymia.test: points -32.14, score 2.99, rank 47/47 00:08:23 "breakdown.txt@d57f8e8d353c: not found in manifest" 00:08:23 !ztest test (<)*-----0 00:08:23 Lymia.test: points -32.12, score 2.99, rank 47/47 00:08:34 fizzie: seriously? I thought it'd permalink :-( 00:08:35 !ztest test (.)*-----1< 00:08:35 Lymia.test: points -46.00, score 0.00, rank 47/47 00:08:39 `revert 00:08:41 Messing with parsing. \o/ 00:08:45 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 00:08:48 I have no idea how this parses. 00:08:49 `paste < breakdown.txt 00:08:50 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/%3C%20breakdown.txt 00:08:55 !ztest test (<)* 00:08:56 Lymia.test: points -32.14, score 2.99, rank 47/47 00:08:56 `` paste < breakdown.txt 00:08:59 !ztest test (<)*----- 00:08:59 Lymia.test: points -32.12, score 2.99, rank 47/47 00:09:00 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.32218 00:09:01 !ztest test (<)*-----1 00:09:01 Lymia.test: points -32.12, score 2.99, rank 47/47 00:09:02 !ztest test (<)*-----0 00:09:02 Lymia.test: points -32.12, score 2.99, rank 47/47 00:09:04 there we go 00:09:08 `rm breakdown.txt 00:09:10 No output. 00:09:23 Yeah, it's an "optimization" to not generate a new file when given a file name. 00:09:44 Also the invalid characters in breakdown.txt seemed to be just 0 bytes. 00:09:44 but seriously, poor HackEgo 00:09:48 !ztest test (<)% 00:09:48 Lymia.test: points -32.14, score 2.99, rank 47/47 00:09:55 !ztest test (<)% 1 00:09:55 Lymia.test: points -46.00, score 0.00, rank 47/47 00:10:02 fizzie: I was guessing NUL bytes, they're a common symptom of two concurrent accesses to the same file without locking 00:10:02 !ztest test (<)%CC1 00:10:02 Lymia.test: points -46.00, score 0.00, rank 47/47 00:10:04 !ztest test (<)%C-C1 00:10:05 Lymia.test: points -32.14, score 2.99, rank 47/47 00:10:11 !ztest test (<)%C-1 00:10:11 Lymia.test: points -46.00, score 0.00, rank 47/47 00:10:27 Canonization is going to be a pain. 00:11:19 Lymia: Does zemhill work in privmsg? 00:11:22 yep 00:11:49 Lymia: Is there a reason you aren't using it then? 00:11:50 also over the Web, although it can't auth you there 00:11:54 !ztest test (<) 00:11:54 Lymia.test: points -32.14, score 2.99, rank 47/47 00:11:55 nope. 00:12:00 !ztest test {<} 00:12:00 Lymia: error: parse error: encountered { without suitable enclosing ( 00:12:25 {} with no matching () 00:14:08 I think (<)%C-1 gets interpreted (by zemhill) identically to (<)*-1, while (<)%C-C1 is just the empty program. 00:14:17 Yeah. 00:14:23 Looks like it tokenizes somehow. 00:14:29 >-1[<<] 00:14:33 !ztest test >-1[<<] 00:14:34 Lymia.test: points -46.00, score 0.00, rank 47/47 00:14:38 !ztest test >*-1[<<] 00:14:39 Lymia.test: points -46.00, score 0.00, rank 47/47 00:14:42 !ztest test >()*-1[<<] 00:14:42 Lymia.test: points -32.14, score 2.99, rank 47/47 00:14:53 Context sensitive too. 00:15:03 I'm sorry for breaking the bot 00:15:11 ais523: Is a LISP that compiles to JS a reasonable goal for a first transpiler? 00:15:17 juiced responds to "(>)C*-1" with ") not followed by % or *" 00:15:23 Well, if you can call it that. It's more that it ignores "non-meaningful" characters in most contexts, except after it's found the start of the number. So the C before the - is skipped, but the C between - and 1 isn't, so the count's just 0 for the latter. 00:15:24 ais523: IYHONHO? 00:15:29 hppavilion[2]: it's not terrible, especially as javascript has first-class functions 00:15:37 ais523: That's what I was thinking 00:15:46 also surely you mean IYHONSHO? 00:15:47 ais523: The part I was scared of is quote and unquote 00:15:50 I'm trying to gather all the programs that ever existed on the hill 00:15:56 And I'm working on a component to canonicalize stuff. 00:16:02 ais523: What does THAT mean? 00:16:25 (Mine was "In Your Humble (Or Not Humble) Opinion") 00:16:35 "not so humble" 00:16:38 You could actually say it treats anything that's not +-<>.,[](){}*%0123456789 as whitespace, and ignores whitespace except in the middle of a number. 00:16:43 ais523: Ah 00:16:44 by analogy with IMNSHO 00:16:54 ais523: Is that the one I use, or is that common? 00:17:00 IMNSHO that is 00:17:25 hmm, (>)*C-1 seems to be interpreted as (>)*0 by juiced 00:17:36 err, as (>)*0-C by juicd 00:17:42 (the - is parsed as an instruction) 00:17:44 I think I independently discovered IMNSHO, but it may already have been known 00:18:00 it used to be fairly common, especially on usenet 00:18:03 it's not used much nowadays 00:18:04 Ah 00:18:23 I still see “IMNSHO” in irc I think. 00:18:28 IMNSHO, it should be used more 00:18:58 ais523: I used to have a ") not followed by % or *" error, but then some program in the sample sets contained something akin to (this is a comment where there's (something) in parentheses)*0. 00:19:11 !ztest b_jonas_pause ((({})*999999)*9999999)*999999 00:19:11 oerjan.b_jonas_pause: points -32.14, score 2.99, rank 47/47 00:19:24 zemhill is rather more resilient 00:19:29 fizzie: I dislike it when hill interps are permissive, as that means I have to correct other people's programs for local testing 00:20:21 IIRC there was a controversy about "()* 1" and "() *1" (as opposed to the uncontroversial "()*1 ") which I had to patch in juiced at one point 00:20:32 to have any hope of compatibility with what other people were doing 00:20:34 urgh, manually written parsers. damnit Geany 00:20:56 sizeof(hppavilion) / sizeof(hppavilion[0]) 00:21:38 istr some programs had to be patched when the grammar changed (disallowing unmatched [] in ()*, iirc) 00:21:55 *accepted grammar 00:22:01 !ztest b_jonas_pause ((({.})*999999)*9999999)*999999 00:22:01 Lymia.b_jonas_pause: points -32.14, score 2.99, rank 47/47 00:22:02 "help ()*0 comments" says the commit message which introduced that change. 00:22:16 !ztest b_jonas_pause ((({.})*999999)*9999999)%999999 00:22:16 Lymia.b_jonas_pause: points -32.14, score 2.99, rank 47/47 00:22:20 +1 00:22:24 !ztest b_jonas_pause ((({.}.)*999999)*9999999)%999999 00:22:24 Lymia.b_jonas_pause: points -32.14, score 2.99, rank 47/47 00:22:31 Lymia: try adding some % 00:22:46 !ztest b_jonas_pause (((({[.}.}.)*999999)*9999999)%999999)%999999 00:22:46 Lymia: error: parse error: terminating } without a matching { 00:22:51 !ztest b_jonas_pause (((({{.}.}.)*999999)*9999999)%999999)%999999 00:22:51 Lymia.b_jonas_pause: points -32.14, score 2.99, rank 47/47 00:23:02 um 00:23:12 near the {} or something 00:23:22 !ztest syntaxerror } 00:23:22 b_jonas: error: parse error: terminating } without a matching { 00:23:25 !ztest syntaxerror ) 00:23:25 b_jonas: error: parse error: terminating ) without a matching ( 00:23:34 !ztest syntaxerror ([)*1 00:23:34 b_jonas: error: parse error: [..] crossing out of a ({..}) level 00:23:41 Does it not match ()* in ()% correctly? 00:23:48 Also zemhill considers * and % as synonyms. 00:23:51 !ztest syntaxerror ({)*1(})*1 00:23:51 b_jonas: error: parse error: starting { without a matching } 00:23:54 :S 00:23:55 I see. 00:24:09 !ztest syntaxerror {} 00:24:09 b_jonas: error: parse error: encountered { without suitable enclosing ( 00:24:16 !ztest syntaxerror ({{}}) 00:24:16 b_jonas: error: parse error: encountered { without suitable enclosing ( 00:24:19 b_jonas: (a{b}c)%n is equivalent to (a)*n b (c)*n 00:24:24 but allows you to match brackets between a and c 00:24:31 this is to make it possible to implement efficiently 00:24:31 ais523: yep 00:24:55 even then, implementing % takes a little thought and most BF Joust interpreters I've seen from non-#esoteric people omit it 00:25:08 although I think it would be possible to implement the general parenthesis (which allows unbalanced brackets) too, only more difficult to implement 00:25:19 how many interps implement outside-%-matches-inside-{} ? 00:25:27 urgh, manually written parsers. damnit Geany <-- the BFJoust ({})% construction is a bit tricky to parse, i don't think it's context-free. 00:26:07 erm, with nested {}s. 00:26:13 oerjan: isn't it just program ::= program '(' program '{' program '}' program ')' '%' integer ? 00:26:14 !ztest ({}) 00:26:14 Lymia: "!ztest progname code". See http://zem.fi/bfjoust/ for documentation. 00:26:17 !ztest test ({}) 00:26:18 Lymia.test: points -32.14, score 2.99, rank 47/47 00:26:23 nested {} is the thing that cause problems 00:26:23 !ztest test ({}{}) 00:26:23 Lymia: error: parse error: encountered second { on a same level 00:26:27 and I'm not sure if it's widely implemented anyway 00:26:28 !ztest test (({}{})) 00:26:28 Lymia: error: parse error: encountered second { on a same level 00:26:31 !ztest test (({}){}) 00:26:31 Lymia.test: points -32.14, score 2.99, rank 47/47 00:26:37 Even though it's an noop context 00:26:38 !ztest test (({{}})%2)%2 00:26:38 ais523.test: points -32.14, score 2.99, rank 47/47 00:26:40 ais523: not when you allow {}s to match other than immediately enclosing () 00:26:40 Interesting. . . 00:27:03 I mean, you'd have to count the brackets in the expansion of every parenthesis, and track a path in the tree for where the program counter is or something like that 00:27:04 which zemhill and EgoBot both support iirc 00:27:33 !ztest (({}{})%1)%1 00:27:33 b_jonas: "!ztest progname code". See http://zem.fi/bfjoust/ for documentation. 00:27:39 !ztest syntx (({}{})%1)%1 00:27:39 b_jonas: error: parse error: encountered second { on a same level 00:27:46 !ztest syntax (({})%2)%1 00:27:46 b_jonas.syntax: points -32.14, score 2.99, rank 47/47 00:27:54 OK, so with a test program of (1(2{3{4}5}6)%2 7)%2 00:27:56 (a(b{c{d}e}f)%n g)%m => (a(b)*n c)*m d(e(f)*n g)*m, yes. 00:28:18 juiced outputs 12231223456675667 00:29:35 I don't have a debug output like that, but that's what zemhill should execute as well. 00:29:57 so the way juiced's debug output works is 00:30:04 you write ()*n in your program (nothing in the brackets) 00:30:53 and it outputs n in a way that can be parsed 00:31:13 and when I run a program against the entire hill, I get the various values of n that were used in any of its runs, broken down via program 00:31:19 this means that, say, I can write a defence program detector 00:31:21 put a ()*1 in it 00:31:31 then run it and see which enemy programs my own program considers to be defensie 00:31:33 *defensive 00:32:18 Can't you just make an escape 00:32:19 like 00:32:25 ($debug command) 00:32:34 Without making it something that normally parses to noop 00:33:56 $help 00:34:14 Huh. 00:34:16 Lymia: but that'd prevent me putting these into programs submitted to the hill 00:34:17 No $ bot 00:34:37 ^prefixes 00:34:38 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ . 00:34:54 although I think it would be possible to implement the general parenthesis (which allows unbalanced brackets) too, only more difficult to implement <-- i've thought about that, the problem is you can get _very_ tricky about where exactly in the hierarchy the matching [ to a ] is. 00:34:59 [wiki] [[Bf joust]] N https://esolangs.org/w/index.php?oldid=46502 * Ais523 * (+22) caps redirect 00:35:24 You could've made it ($echo foo)*0 etc. though, so that it's not limited to numbers and could do other sort of commands. 00:35:42 it always seems weird seeing a miscapitalization, even though that's the whole point of a caps redirect 00:36:09 fizzie: then other people could trigger it using malicious comments 00:36:18 whereas a ()*5 in someone else's program is clearly harmless 00:36:44 !ztest does_this_have_a_distinct_score (+)*-1 00:36:45 ais523.does_this_have_a_distinct_score: points -12.88, score 9.15, rank 47/47 00:37:07 !ztest (<{(+)*-1}.)*0 00:37:07 ais523: "!ztest progname code". See http://zem.fi/bfjoust/ for documentation. 00:37:15 !ztest empty_percent (<{(+)*-1}.)%0 00:37:16 ais523.empty_percent: points -12.88, score 9.15, rank 47/47 00:37:32 oh wow, that is a hard case to handle correctly (and that is the correct handling of it) 00:38:12 just tested juiced, it seems broken on it :-( 00:38:16 (the whole thing is a no-op on juiced) 00:38:35 ais523: Perhaps I should make Thoof Bot? 00:38:42 ais523: One where you can add arbitrary axioms? 00:38:48 hppavilion[2]: you can just add an interpreter into HackEgo, can't you? 00:38:52 that's what it was originally meant to be for 00:38:56 ais523: Oh, right 00:39:00 before people started filling it with quotes and wisdom, anyway 00:39:14 very occasionally it is actually used for its intended purpose 00:39:15 `quote 00:39:17 `quote 00:39:17 579) it's not a list of /all/ interesting esolangs, btw; otherwise you can take the first command from the first esolang, the second from the second, the third from the third, etc, then add 1 to all of them and you get a new interesting esolang diagonal principle… 00:39:18 323) The system I kind of have in mind makes a flying train a natural consequence. 00:39:18 `quote 00:39:19 605) elliott, cars aren't perfectly spherical. 00:39:20 `quote 00:39:20 703) Why does CL get called functional? it's sort of like how you call ancient greece democratic. 00:39:21 `quote 00:39:22 1235) `addquote boily: thanks for getting quoted saying django btw, now I'm only in 87.5% of the django quotes [...] ah, the inevitable result of mentioning django 00:39:54 ais523: Of course, if I do that I have to somehow get it /into/ hackego 00:40:09 hppavilion[2]: `fetch is your friend 00:40:11 `help fetch 00:40:11 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/ 00:40:17 ais523: Yes, but I'm an idiot 00:40:26 hmm, that command was mis-parsed and yet somehow gave useful outut anyway 00:40:55 ais523: Is there a HackEgo API I can use? 00:41:08 ais523: Or perhaps docs on how to write scripts that run on HackEgo? 00:41:16 hppavilion[2]: see Linux manpages 00:41:18 it's basically just Linux 00:41:20 ais523: Perhaps 00:42:36 ais523: I'm going to start looking into how the Thoof command API should work 00:43:16 ais523: I suppose putting it in HackEgo's better as I don't need to make a full bot this way, AND it'll practically always be online 00:43:56 do people actually hate python 00:44:20 Oh shit 00:44:24 My computer's not charging 00:44:27 But the outlet is working 00:44:33 like my enduring impression of it is just this perfectly inoffensive language, but you can always find people who hate a given language 00:44:40 I'm going to try another outlet out of ill-thought-out desperation 00:44:56 Phantom_Hoover: I don't hate it /that/ much but I still have a pretty dim view of it 00:45:04 enough to get into flame wars with Python fans on occasion 00:45:32 hppavilion[2]: check that the other end of the power wire (the one that's not connected to the socket) is connected to the charger 00:45:39 this is a reasonably common failure mode and one that's confused me a bunch in the past 00:45:48 ais523: I did 00:46:17 Oh god 00:46:18 (it's also possible for the charger to become disconnected from the laptop in a way that's non-obvious; this is rarer but it's happened a few times) 00:46:23 It's on and off charging 00:46:34 It depends on my angle of sitting 00:46:37 oh, that makes it very likely that the end next to the laptop is loose 00:46:43 just push it in a bit further 00:46:53 ais523: It's as far as it'll safely go 00:46:58 hmm 00:47:01 ais523: I think the cord might be shot 00:47:06 ais523: _you_ get into flame wars? 00:47:10 in that case it could be – yes 00:47:23 oerjan: they are pretty tame by flame war standards 00:47:33 i thought you were this perfectly inoffensive guy. 00:47:49 it's more that I'm so inoffensive that I will consider even something pretty minor to be a flame war 00:50:13 -!- PinealGlandOptic has quit (Quit: leaving). 00:50:49 *ACHOO* 00:52:01 ais523: Should the Thoof have different proofspaces? 00:52:06 editor flame wars are fun, I typically take the side of emacs and vim versus everything else 00:52:34 normally I can get most of the emacs /and/ vim users round to my side, thus catching out all the other-editor-users who thought they were safe 00:52:43 hppavilion[2]: I have no idea 00:52:55 to be honest, I'm probably not the right person to ask about a Thue-based proof assistant 00:53:16 ais523: A proofspace being that you have to do `thoof-addax "" 00:54:32 well, global state in IRC bots has a tendency to get trampled on 00:54:39 so you're going to base it on deductive term rewriting? 00:54:57 Phantom_Hoover: Yes; it's based on string rewriting, to be exact 00:55:03 Phantom_Hoover: With s/// 00:55:36 hmm 00:56:09 won't you end up basically implementing a typed lambda calculus in thue, what with curry-howard? 00:56:21 Phantom_Hoover: I'm trying to decide whether to shove all the axioms in a global namespace or to be precise and specific and allow different proofs 00:56:34 Phantom_Hoover: Huh? 00:56:34 `addquote editor flame wars are fun, I typically take the side of emacs and vim versus everything else normally I can get most of the emacs /and/ vim users round to my side, thus catching out all the other-editor-users who thought they were safe 00:56:36 1271) editor flame wars are fun, I typically take the side of emacs and vim versus everything else normally I can get most of the emacs /and/ vim users round to my side, thus catching out all the other-editor-users who thought they were safe 00:56:48 Phantom_Hoover: How is string rewriting typed lambda calculus 00:56:53 -!- vyv has joined. 00:57:20 string rewriting isn't, but to get logic working properly i think you'll end up with a typed LC 00:58:45 Phantom_Hoover: There are a variety of ways to do what you want in it 00:58:49 well, global state in IRC bots has a tendency to get trampled on <-- we don't like _too_ much global state change in HackEgo, it clutters up the history browser. 00:59:05 indeed 00:59:20 perhaps HackEgo should have some non-versioned temporary state, too 00:59:29 that we can expect to get blown away on a regular basis 00:59:59 *ACHOO* more nosedrops -> 01:00:07 ooh, interesting approach to editor flame wars 01:00:15 Phantom_Hoover: Typed λ-calculus is one way to do things, but it is not necessary 01:00:16 like presumably you'll want some way to express the statement "forall x, A(x) implies B(x)" where A, B are some formulaic statements about x 01:01:21 Phantom_Hoover: That's possible, but not how you go about it 01:01:50 Phantom_Hoover: Thoof is based on proving strings from other strings together with substitutions 01:01:54 and some rewriting rule that lets you turn a proof of that, and an x, and a proof of A(x) into a proof of B(x) 01:02:09 Phantom_Hoover: You can do that, but that's not the goal 01:02:46 Phantom_Hoover: Substitutions are based on PCRE regexes, Phantom_Hoover. 01:03:26 you're just describing a string rewriting system here, not a string rewriting system that implements a proof assistant 01:04:13 to make it a proof assistant you'll have to define some kind of encoding of logic into your strings, and rewriting rules that let you make deductions 01:04:43 [wiki] [[BF Joust strategies]] https://esolangs.org/w/index.php?diff=46503&oldid=46497 * Ais523 * (+1501) /* Synchronization */ renamed to /* Reconnaissance */ mention the strategy Lymia.nyuroki uses, expand/adapt a bit 01:04:58 e.g. the deduction and rule i described above, which is essentially function application 01:05:55 [wiki] [[BF Joust strategies]] M https://esolangs.org/w/index.php?diff=46504&oldid=46503 * Ais523 * (+11) /* Decoy detection */ replace gratuitous Markdown with actual wikimarkup (I posted wikimarkup to a Markdown-using forum a little earlier, so the reverse error a few minutes later is perhaps not that unexpected) 01:08:16 -!- augur has joined. 01:09:48 Phantom_Hoover: You create axioms and theorems from said axioms and apply the axioms/theorems to other axioms until you get what you want 01:09:54 Phantom_Hoover: Sounds like a proof assistant to me 01:10:12 sure, i never said otherwise 01:10:34 Phantom_Hoover: The axioms are strings, s/// expressions, and y/// expressions 01:10:47 Phantom_Hoover: You prove strings, and those strings can represent other things 01:10:59 Phantom_Hoover: You have to construct things like numbers though 01:11:00 what does a y/// expression do 01:11:12 Phantom_Hoover: Character-by-character substitution, like in Sed 01:11:25 Phantom_Hoover: Less common than s///, but still potentially VERY useful 01:11:58 y/S/s/ 01:13:44 have you made any concrete proofs or anything with this? i'd like to have a clear idea of what you're thinking of 01:13:56 Phantom_Hoover: Yes, I proved 3+2=5 01:14:00 Phantom_Hoover: Using Peano arithmetic 01:14:07 It was more construction than proof, but close enough 01:14:16 Phantom_Hoover: So do you think it'd be better to have one big proofspace, sort of like lambdabot's functionspace, or multiple proofspaces like in any rational thing ever? 01:14:59 do you have a source file or something for it? 01:15:11 Phantom_Hoover: http://pastebin.com/Ax2v5XSV 01:15:22 Phantom_Hoover: That's the paste, but I also have the github if you like 01:15:57 Phantom_Hoover: Oh, crap, wrong file 01:16:30 Phantom_Hoover: https://github.com/ZodiacWorkingGroup/Thoof/blob/master/construct.thoof 01:16:33 Just read that 01:17:08 Phantom_Hoover: Note that the main theorem no longer shows 2+3=5, it instead was made for dealing with lists 01:18:16 what's \g? 01:20:05 nvm, found a cheatsheet 01:22:10 Phantom_Hoover: Group reference 01:22:22 Phantom_Hoover: PCRE groups are invaluable in Thoof proving 01:24:19 yes, i'd argue that's because they make it easy to beta reduce 01:24:56 Phantom_Hoover: Agreed 01:25:09 Phantom_Hoover: so, single- or multi- proofspace? 01:25:37 single, theorem prover naming schemes are a clusterfuck regardless 01:25:43 Single is easier, but more unwieldy 01:25:49 OK 01:25:59 Maybe I'll add multiple in a later version 01:26:20 Phantom_Hoover: Alternatively, I could speed up the ONLINE thoof, and just publish that sooner and add a sharing feature 01:28:10 wait 01:28:12 HEAD :: s/(?P[^:]*).*/\g/; 01:28:34 won't that clear the entire expression after the first colon... OK i guess that's what you want 01:28:40 what if you had a nested array though? 01:30:48 Phantom_Hoover: That isn't supported in the construction yet 01:31:00 Phantom_Hoover: Mostly because I have NFC how to do it using regexes alone 01:31:10 Probably some PCRE bullshit that detects nested parenthesis 01:31:48 Phantom_Hoover: Think I should just make Thoof's online impl sooner instead of something complicated on IRC 01:32:41 Phantom_Hoover: If you want to keep the rest, you have to do something complicated with the filesys and stuff (yes, Thoof is going to support a Unix filesys as part of its provingness) 01:33:54 Phantom_Hoover: Besides, what do you expect it to do with the tail of the list? 01:35:30 no that wasn't the issue, it's the fact that it can't recurse and it can't apply 01:37:17 Phantom_Hoover: It is TC actually 01:37:32 Phantom_Hoover: The fixpoint operator makes it reduce to Thue 01:37:42 (Fixpoint is when you prefix an application with @) 01:38:34 Phantom_Hoover: It also supports pattern matching and multiproving 01:39:26 -!- heroux has quit (Remote host closed the connection). 01:39:35 -!- heroux has joined. 01:43:13 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:51:29 -!- andrew__ has joined. 01:52:28 -!- andrew__ has quit (Remote host closed the connection). 01:56:32 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 02:00:20 -!- AlexR42 has joined. 02:08:07 -!- hppavilion[2] has joined. 02:08:09 -!- hppavilion[2] has changed nick to hppavilion[1]. 02:08:28 tswett: Hi 02:11:55 hppavilion[1]: Is that a DEFCON, or a countdown? 02:12:15 prooftechnique: What part? The [1]? 02:12:25 Yeah 02:12:37 http://smbc-comics.com/index.php?id=2941 02:12:44 prooftechnique: My nick is usually hppavilion[1] 02:12:50 prooftechnique: The [2] is my backup nick 02:12:58 prooftechnique: Which I sometimes am too lazy to change back to [1] 02:13:07 prooftechnique: It's an array index, hth 02:13:16 Are you rivals with hppavilion[0]? hppavilion prime? 02:14:03 I thought so, hence my attempt to sizeof(hppavilion) / sizeof(hppavilion[0]), earlier 02:15:00 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:15:43 prooftechnique: hppavilion['wc'] is my alter ego, when hexchat stops working. It's very strange and causes a type error in most languages. 02:16:03 How rude 02:17:06 prooftechnique: Also, I'm not an array so much as a haskell-like list 02:17:23 prooftechnique: But one that can be indexed with [] in postfix, because I'm written in haskll 02:17:26 *haskell 02:17:31 I'm written in Jskell 02:17:37 jayskell 02:29:03 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 02:35:36 -!- hppavilion[1] has joined. 02:35:36 <\oren\> godammn windows update holding computer hostage 02:38:16 Windows is shutting down now! 02:39:47 -!- augur has quit (Remote host closed the connection). 02:44:44 -!- p34k has quit. 02:57:17 -!- andrew__ has joined. 02:57:25 -!- andrew__ has quit (Read error: Connection reset by peer). 03:02:46 -!- blockzombie has left. 03:16:52 \oren\: As an arbitrary selection, I have a question: Which should I put effort into first- a Haskell-like language that compiles to JS (jayskell), or a LISPy language that also compiles to JS? 03:17:07 \oren\: Or some other language format? 03:18:28 what kind of software do you want to write? 03:19:19 mad: Fun software that runs on the web 03:21:21 runs on the web? like on people's browsers or on servers? 03:23:05 mad: In browsers 03:23:40 mad: It's just another language that compiles to JS so we don't have to use that godawful language and can instead use one we're more familiar with the mindset of 03:24:01 JS isn't THAT bad 03:24:23 mad: It's pretty bad 03:24:27 I happen to think JavaScript is pretty good actually 03:24:42 zzo38: It may be good for its niche, but it isn't very good in general 03:24:43 I am writing a X client library in JavaScript. 03:25:04 I also wrote a Z-machine implementation in JavaScript, too. 03:25:25 zzo38: I heard 03:25:45 Ugh 03:25:54 At 27% battery and can't get my charger to work 03:27:14 -!- hppavilion[2] has joined. 03:28:54 -!- lleu has quit (Quit: That's what she said). 03:30:11 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 03:30:33 -!- oerjan has quit (Quit: Nite). 03:36:33 -!- hppavilion[2] has quit (Ping timeout: 240 seconds). 03:42:09 -!- hppavilion[2] has joined. 03:42:40 -!- nisstyre has joined. 03:44:47 mad: What paradigms would be good for web that haven't been done much yet? 03:56:25 -!- hppavilion[2] has quit (Ping timeout: 240 seconds). 04:24:45 -!- AlexR42 has joined. 04:27:44 -!- idris-bot has joined. 04:36:19 If what people have done to the web so far is to be taken into account, then apparently all of them. 04:38:14 anything stateful would be good for the web 04:40:42 -!- treaki_ has joined. 04:44:47 -!- treaki__ has quit (Ping timeout: 260 seconds). 04:46:38 maybe ther are no paradigms that are good for web? 04:47:34 that too 04:54:56 hm 05:00:53 -!- hppavilion[2] has joined. 05:01:08 maybe it could have the model where instead of having a single script control gfx elements like buttons and so forth 05:01:28 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 05:01:59 it could instead have buttons etc and you attach an individual script to a button/object 05:02:29 with easy callbacks like :onclick() 05:03:18 and individual scripts each have their own thread 05:03:44 which gets a timeslice until the next wait() statement every displayed frame 05:04:36 I am not sure why I am awake but I am 05:06:47 because you do not sleep 05:07:47 -!- hppavilion[2] has quit (Ping timeout: 248 seconds). 05:20:42 Taneb: because when you're tired, it makes it harder to make decisions, and one such decision is to go to sleep 05:20:55 this is something I have problems with myself 05:21:22 ais523, actually, I went to bed at half past ten 05:21:33 am or pm? 05:21:36 pm 05:21:50 10:30 to 5:21 is about 7 hours 05:21:58 which is a reasonable amount of night's sleep 05:22:03 I got out of bed at 4:40 05:22:14 First woke up at 3:27 05:22:17 oh, hmm 05:22:21 I get out of bed long after I wake up 05:22:27 but that's at least partly because I do most of my work in bed 05:24:27 hm, a spambot is trying to sell me web design services: 05:24:35 "1.) Website Design & Redesign - (Logo design, Flash, Photoshop to HTML/ HTML5)" 05:25:08 I'm not 100% sure how this parses, but it seems to involve "Photoshop to HTML" either as a unit or as part of a larger whole, no matter how it's parsed 05:25:59 they also apparently do Windows Phone and Blackberry in addition to Android and iPhone 05:26:34 in terms of app development 05:34:05 lol flash 05:34:33 "Furthermore, if one counts demonstrations *not* based on quantum computing, some people have claimed even earlier precedents for [the theorem that 3 \times 5 = 15]." 05:35:16 That sounds like an occasionally useful theorem. 05:35:52 furthermore, scott aaronson is hopeful that quantum computing will soon be able to tackle the factorization of large numbers like 91 05:36:05 One does wonder. 05:37:21 coppro: what do you think of the theory that quantum computing will prove the many-worlds hypothesis of quantum mechanics via violating bounds on the processing power that can exist in one universe? 05:37:39 if something like that /is/ the case, it could be that "large" quantum computers are impossible to construct 05:37:47 quantum computers sound like something that's great for the NSA to have but not really for anyone else 05:38:05 ais523: I think that's a stupid view 05:38:23 many-worlds is not really a theory so much as an interpretation 05:38:25 mad, I hope it's useful because next year I'm doing two modules on them 05:38:39 it's the science fiction authors who ran with it and then everybody started getting philosophical 05:38:39 mad: having faster algorithms often ends up having applications unrelated to crypto 05:38:41 o 05:39:01 hmm, I was going to say "is there a quantum solution to the travelling salesman problem" 05:39:11 hmm 05:39:15 by which you mean BQP, presumably? 05:39:24 ais523 : I think there might be 05:39:32 coppro: by which I meant a quantum computer, but then I remembered NP =? BQP 05:39:36 and realised the question wasn't interesting 05:39:45 except inasmuch as NP =? BQP is interesting 05:40:45 Yeah, many-worlds as physicists think of it is rather less silly than what philosophers think. :) 05:41:07 Well, "philosophers". 05:41:25 there's a difference between the physicists' many-worlds? 05:41:35 it's basically just a debate about whether the universe uses threads or processes 05:42:13 Physicists notion of "many-worlds" is basically just "for each possible state in a quantum superposition, those states can be said to exist." 05:42:35 pikhq: what about "many-worlds" in linear logic twh 05:42:51 importantly 05:43:01 hmm, and /now/ I'm reminded of the proof that God exists due to God being defined as having all positive qualities, and existence is a positive 05:43:11 many-worlds (usually) makes no actual predictions, so it's not really a hypothesis 05:43:14 I am not convinced that that holds up either logically or theologically 05:43:29 ais523: more precisely 05:43:30 ais523 : that's a classic 05:43:34 (how do you define a positive quality anyway?) 05:43:50 the argument goes "consider the greatest possible being. This being must exist, because if it didn't, surely a being that existed would be greater." 05:43:58 which presupposes the existence of a greatest possible being 05:44:08 coppro: Yeah, many-worlds really is just "well, this is what the equations describe". 05:44:09 coppro: well if there aren't infinitely many beings… 05:44:10 yeah it has all sorts of logical flaws 05:44:48 however, I think that argument is equivalent to "nothing is better than eternal life, a ham sandwich is better than nothing, therefore a ham sandwich is better than eternal life" 05:45:06 one of the "greatest" is a "greatest hypothetical", the other is a "greatest currently existing", and the two are conflated 05:45:08 ais523: infinitely many *possible* beings, though? 05:45:22 ais523: I remember reading about this in a Smullyan book. 05:45:23 not to mention the assumption of an upper bound, which not all posets possess 05:45:25 coppro: it's conflating two different things and hoping you don't notice 05:45:39 Would you say that everything exists, or that existence is a property that some things have and some things don't? 05:45:55 shachaf: I'd say that that question is a debate about the meaning of the word "everything" 05:46:12 the concept of a perfect god has many qualities 05:46:33 but the real-world existance is not a quality of that concept 05:46:36 I enjoy the Stewart/Cohen/Pratchett characterization of the argument as being an "argument from God" rather than an "argument for God" 05:47:03 since real-world existance is a quality of the real world, not a quality of concepts 05:48:16 it's like a c++ class having a variable that's not in the computer 05:48:52 mad: I read that correctly the first time, looked back to it, looked at it again, and misparsed it as meaning something like "the real world defines itself to exist" 05:49:12 also, depending on what you mean by "class having a variable", that's totally possible 05:49:19 you could have network-abstracted getters and setters 05:49:22 yeah I'm like... "this fomulation is clumsy" 05:50:03 now I'm wondering if stable time loops could exist in real life 05:50:08 ais523 : well then it's not really a variable, it's something that pretends being a variable with setters and getters 05:50:14 ais523: theoretically, yes 05:50:18 ais523: CTCs 05:50:36 Fascinatingly, depending on their exact properties, they may or may not allow for increased computing power 05:50:47 it was eye-opening doing the maths for my semantics and discovering that it worked perfectly fine without causality 05:50:56 is it possible, in a many-worlds universe 05:51:09 mad: question doesn't make sense 05:51:13 had to add causality to get it to reflect the thing it was meant to model 05:51:14 many-worlds makes no predictions 05:51:14 for an universe to essentially be a dead-end so that 05:51:26 ais523: the thing that most makes me want to get a physics phd 05:51:44 is that quantum field theory, the most advanced understanding of the microscale world that we have, has no causa,ity 05:51:47 *causality 05:52:02 like, the universe gets to that dead end, decides that it's not possible, so that path is eliminated so that the universe goes through some other path 05:52:05 causality really isn't something that drops naturally out of maths and physics 05:52:32 hmm, maybe there's a really deep philosophical meaning behind "sometimes things just happen", a phrase whose truth value I've seen heavily debated (but not really with arguments, mostly as a shouting match) 05:52:46 which has the side effect of skewing event probability statistics for situations that can lead to "dead end" paths 05:53:18 mad: this is the theory behind quantum bogosort 05:53:37 which should probably never be implemented, because imagine what would happen if you were wrong about how physics works? 05:53:38 ais523: no, it isn't. It comes from thermodynamics, but calling them the "laws" of thermodynamics overstates them... I cringe every time I hear something "proven" due to thermodynamics 05:54:08 coppro: well the laws of thermodynamics are observations which, so far, appear to hold in the universe 05:54:12 ais523: right 05:54:26 I'm not sure if we have explanations for why they're true, they're just a data point for helping to understand things 05:54:28 but they are defined in terms of causality 05:54:48 specifically the directionality of time 05:54:56 yes, they're time-asymmetric 05:54:59 which is pretty rare, really 05:55:02 yes 05:55:05 and a huge problem 05:55:08 qft is not 05:55:16 well 05:55:24 it's CPT-symmetric 05:55:48 there's a very intereting paper out there on the arxiv discussing the thermodynamics of antimatter 05:56:34 ais523 : well, I was wondering if this "universe suicide" naturally happens due to the laws of physics 05:56:53 it describes models of antimatter where the thermodynamics work parallel or antiparallel to our own, the consequences, and concludes that both are compatible 05:57:14 (with physics as we know it, not with each other 05:57:14 ) 05:57:17 like the probability density of some event is due to the relative probability of each resulting universe of not comitting universe-suicide 05:57:18 mad: so you mean that you think it's impossible to set up a situation in which the universe will eventually be destroyted? 05:57:19 but either result is fascinating 05:57:33 and that things that would make it easier to happen are less probable as a result? 05:57:47 coppro: hmm, what if it's undecidable? 05:57:52 ais523: it's not 05:57:53 ais523 : well, for a specific kind of universe destroying 05:57:56 it's a physical property of the universe 05:58:08 observable, even 05:58:22 ais523 : like as if the whole universe decides 'no' and that path is removed from the possibilities retroactively 05:58:26 in that case there's not much point in wondering until we get to observe it 05:58:39 mad: as I said, this is how quantum bogosort "works" 05:58:39 but it's worth thinking of an experiment 05:58:49 ais523 : right 05:58:52 * ais523 wonders how quickly quantum computers can sort things 05:58:54 if antimatter is parallel to matter, then QFT is incomplete because thermodynamics breaks CPT symmetry 05:59:12 ais523: n log n 05:59:36 if antimatter is antiparallel to matter, then there are regions where thermodynamics work locally backward (though, still, globally forward, assuming a strong enough matter surplus) 05:59:52 my limited understanding of quantum computers is that basically it's got a distinct independent probability for every combination of qubits in it 05:59:58 until you collapse it 06:00:11 mad: not independent 06:00:13 mad: probabilities can be entangled 06:00:18 that's rather the point 06:00:30 right, you couldn't do useful computation with it otherwise 06:00:48 well, that's why I said probability for "combinations of qubits" instead of probability for "qubits" 06:00:58 but they're not independent 06:01:02 and they are not probabilities 06:01:31 a quantum system of n qubits is viewed as a 2^n vector, one entry corresponding to each possibly binary state, yes 06:01:32 yeah it's that weird complex domain thing where the probability is the square of the magnitude right? 06:01:37 yes 06:01:56 each entry is a complex number with the condition that the vector must have norm 1 06:02:16 so an n-qubit system is a point on the 2^n-dimensional complex unit sphere 06:02:51 when you measure, the probabilities collapse to classical ones by taking the magnitude squared 06:03:15 but when you manipulate qubits, the fact that entries are complex can lead to unintuitive results 06:03:53 this sort of thing is what causes wave/particle duality 06:04:07 i like the H gate 06:04:10 quantum electrodynamics has some strong predictive power 06:04:15 -!- lambda-11235 has quit (Quit: Bye). 06:05:15 H(1) is a state with 50% propability for 0 and 1, H(0) is a state with 50% propability for 0 and 1, H(H(1)) is 1 and H(H(0)) is 0 06:05:33 yeah, that's a great example 06:05:59 X, Y, and Z are boring by comparison 06:06:35 it took me a while to make sense 06:06:44 but there are great youtube videos 06:06:59 I implemented shor's algorithm as an a level project 06:07:20 (not on a quantum computer, obviously; on a simulator on a regular CPU that did arithmetic on the quantum probabilities) 06:07:48 I had a pretty fantastic professor 06:07:50 i liked the point at one video where someone told he could emulate up to 8 qubits but that would take tbs of ram 06:08:05 -!- lambda-11235 has joined. 06:08:22 poor 15 06:08:33 everyone factorizes it because they don't have any other options 06:08:33 all the lectures were recorded and put up as private videos on youtube too 06:09:15 coppro: how useful is that as a student? they're trying to make that happen here but many of the staff are very uncomfortable with it 06:09:37 ais523: extremely 06:09:39 and gathering more data would be useful to help me know what my opinion should be 06:09:58 -!- hppavilion[wc] has joined. 06:10:01 ais523: and I even attended those lectures 06:10:33 putting them up privately is an interesting decision 06:10:35 there are a ton of students who write down everything the lecturer says, which I never really understood 06:10:53 some of them find it easier to learn that way 06:11:22 some of them just want reference material that actually matches up to the lectures (which rarely correspond to the textbook, if any, used) 06:11:26 some of them don't know better 06:11:36 ais523: also interesting that you say "staff" 06:11:45 -!- vyv has quit (Ping timeout: 244 seconds). 06:11:50 do you mean teaching staff? 06:11:56 coppro: what do you expect me to have said? but yes, teaching staff 06:12:16 I imagine the sysadmins are a little annoyed too but mostly in a "more work" sort of way 06:12:39 -!- vyv has joined. 06:13:47 what if "rejected" universes of the multiverse don't "selfdestruct" like in quantum bogosort but go backwards in time and make themselves impossible? (ok I clearly don't know enough about quantum physics to ask this but I'm still curious) 06:13:56 ais523: here, the distinction between "staff" and "faculty" is quite sharply draw 06:13:59 *drawn 06:14:15 Do some of students know how to write shorthand so that they can write everything they say? 06:14:15 ah right, probably just an international language variant thing 06:14:21 mad: it's not really a physics question 06:14:26 I'm aware of the word "faculty" being a word but am not really sure what it means 06:14:37 ais523: not neceessarily, because there's a class aspect to it 06:14:39 zzo38: possibly, but it's common for students to ask lecturers to wait so that the student can finish writing 06:14:51 so you can't, as a lecturer, really talk faster than the slowest student writes anyway 06:14:56 faculty are the professors and, increasingly, lecturers 06:15:01 @wn faculty 06:15:02 *** "faculty" wn "WordNet (r) 3.0 (2006)" 06:15:02 faculty 06:15:02 n 1: one of the inherent cognitive or perceptual powers of the 06:15:02 mind [syn: {faculty}, {mental faculty}, {module}] 06:15:02 2: the body of teachers and administrators at a school; "the 06:15:04 dean addressed the letter to the entire staff of the 06:15:06 university" [syn: {staff}, {faculty}] 06:15:22 and ranking administrators, of course, since they must be professors themselves 06:15:24 wordnet has a "syn:" on the words 06:15:37 wait, there's a rule that administrators must be professors? 06:15:39 ais523: many professors here simply go as fast as they can explain the math, and it's up to you to catch up 06:15:53 ais523: Anyone with authority over a professor must be. 06:16:07 coppro: Then you must learn shorthand writing 06:16:09 here the main problem with finding qualified people to administrate is to persuade them to take the job, few people want to 06:16:11 so department chairs, deans, some vice-presidents, and presidents 06:16:16 and the people who do are rarely suited for it 06:16:23 that's a problem here too, moreso at the department level 06:16:28 If it is up to you to catch up. 06:16:37 at the higher ranks, some academics are career administrators and move from school to school 06:16:53 the senior administrators don't actually teach, mind you 06:17:11 academia 06:17:46 well, there's a "central administration" which doesn't teach and isn't attached to a subject 06:17:49 there is a strong culture that academics should not be subject to non-academics' authoirty 06:18:07 but everyone associated with a subject, including as a head of school or whatever, teaches too, as far as I know 06:18:21 it depends how high up you are 06:18:29 and the size of your unit, etc. 06:18:30 what do you do about people like human resources, accounting, etc.? 06:18:37 those are the staff 06:18:39 "staff" 06:18:42 those people have a lot of authority, and sort-of need it to do their jobs 06:18:51 they do, but not direct authority 06:18:54 <\oren\> my dad deliberately takes more teaching work in order to avoid administrative work as much as possible 06:18:56 but they aren't generally academics and it doesn't make much sense for them to be 06:19:18 basically, no academic has a non-academic in their chain of command 06:19:27 doesn't mean that the non-academics have no power! 06:19:32 chain of command can be fairly meaningless at times 06:19:48 -!- hppavilion[wc] has quit (Quit: Page closed). 06:19:52 it's more a matter of principle really 06:20:06 <\oren\> usually they avoid a chain of command by having lots of commitees that my dad never attends 06:20:25 \oren\, what does your dad teach? 06:20:30 but it's also to reserve academic decisions to the academics 06:20:31 <\oren\> math 06:20:42 Only one math? 06:20:59 since the suppport staff don't make academic decisions, and they never have academics as reports, the academics can't be told what to teach/research by the non-academics 06:21:25 <\oren\> specifically, calculus, logic, and operations research (this year) 06:21:53 Nice! 06:22:14 coppro: we can basically be limited in what to research by what we can get funding for 06:22:20 which often depends on external entities 06:22:52 ais523: that's true here too 06:23:00 and the academics chafe against that, naturally 06:23:12 yes 06:23:17 in large part, the real chafing is against the government 06:23:17 some of the requirements are often bizarre 06:23:21 as I'm sure you have there too 06:23:57 hmm, I'm not sure, the government is many steps away indirectly, and the EU government probably matters more than the UK government for the purpose 06:24:16 although that's kind-of specific to being in Europe 06:24:30 the government controls the purse-strings, though 06:24:43 for instance, a lot of people here in Ontario are upset with the degree of enrollment growth at universities 06:24:51 feeling that it's diluting the quality of education 06:25:03 but the government has decided that funding is allocated based on enrollment growth so up it goes 06:26:00 oh, rapid increases in attendance can be a problem here too 06:26:46 we're building constantly to try to keep up; the building I'm in had its layout changed, e.g. all the common rooms were combined into one and the old ones were converted into offices, just to try to get more office space 06:26:56 As a student I'm not really privy to the inner workings of my university, but it got fined a couple of years ago for taking on more students than it could accomodate 06:27:14 <\oren\> well the problem is that people enroll in degrees and don't learn anything useful, and then complain that they can't pay their loans 06:27:22 About 300 students who were guaranteed on-campus accomodation were housed off-campus (I was one of them) 06:27:24 !ztest semanticsTest (>(>{})*1)%2 <<< 06:27:25 Lymia.semanticsTest: points -32.14, score 2.99, rank 47/47 06:27:27 and a bunch of the land nearby got bought up and now student accommodation is being built on it (in the passive because I'm not entirely sure who's responsible for that happening) 06:27:32 !ztest semanticsTest (>(>{})*1)%2 <<<<< 06:27:32 Lymia.semanticsTest: points -46.00, score 0.00, rank 47/47 06:27:48 !ztest semanticsTest (>(>{})%1)*2 <<< 06:27:49 Lymia.semanticsTest: points -32.14, score 2.99, rank 47/47 06:27:51 Lymia: that's equivalent to (>(>{})%1)*2 06:28:03 Taneb: I was on both of said senate and board as a student representative. It was a fascinating experience. 06:28:04 and some there was a bed shop nearby which had a slogan that's been much-quoted by my family: "if you can't buy a bed today, you are not in Beds Direct" 06:28:50 I'm not actually sure how to test which way it does it. 06:28:51 But, bleh. 06:28:52 <\oren\> but it is hard to blame people who are told they have to have "a degree in something" to get a job 06:28:56 oh. 06:29:00 it got demolished to build more student accommodation, we're a little upset about that 06:29:05 I guess it fits what the wiki says. :/ 06:29:18 (I assume the slogan worked, given that I did actually get my current bed from there) 06:29:23 "Any parentheses which directly contain braces after expansion of all interior parentheses must be terminated by a %." 06:29:32 ais523, where are they going to get the beds for the student accomodation 06:29:42 Taneb: I'm not sure 06:29:50 It implies that, by spec, (({})*2)%2 should be expanded like this: ({}{})%2 06:29:53 Which is invalid. 06:29:57 perhaps they took the beds out before they demolished it and are planning to put them back afterwards 06:30:04 Lymia: (({})*2)%2 is invalid by spec 06:30:09 That would make sense 06:30:14 however, zemhill treats * and % as synonyms 06:30:22 ais523, right. 06:30:23 because they're always uniquely distinguishable by where the {} are 06:30:35 I would have expected it to expand like this: (()%2)%2 06:31:06 Which would be a slightly different spec: ()% blocks are matched with their corresponding {} blocks, then expanded first. then ()* blocks are expanded. 06:31:41 ({({})%2})%2 is equivalent to (({{}})%2)%2 06:31:48 although it'd be a bit clearer if you used larger and different numbers 06:32:12 would a quantum functionnal language be possible? 06:32:25 (({{}})%5)%3 expands to ({({({{}})%5})%5})%5 06:32:32 I'd expect (({})*2)%2 to be valid, and expand to (()*2)*2 06:32:39 mad: well the thing about quantum computing is that everything has to be reversible 06:32:50 so you could start by trying to make a reversible functional language 06:32:56 I don't see why you can't make a declarative functional language. 06:33:00 Lymia: what does (a(b{c}d)*2e)%2 expand to? 06:33:01 Er 06:33:02 quantum* 06:33:31 oh, I think I see how you're parsing it 06:33:49 a(ba(bcd)*2ed)*2e 06:34:07 that actually works, I think 06:34:10 ais523, Under the scheme that distinguishes ()* and ()%? (a(b{c}d)*2e)%2 -> a(ba(bcd)*2ed)*2e 06:34:16 next question is "is it useful", but it probably is 06:34:59 But to be less confusing, the BF Joust page should probably just make having )* and )% synonyms is standard, and explain that the two symbols exist for historical reasons. 06:35:10 Or, at least. 06:35:43 Be clear that there's no distinction between )% and )* that lets you make nestings that implementation wouldn't 06:35:48 i see 06:35:52 Since they're explicitly forbidden. 06:36:26 we could arguably change the semantics again 06:36:41 the inside {} matches outside % rule is pretty new, and came out of a discussion in #esoteric 06:36:59 I still don't use it in any of my programs (even though it would have helped a couple of times) because I don't trust interpreters with it 06:37:20 (I don't consider the #esoteric hills to define BF Joust, although IIRC nyuroki was originally written for an implementation that didn't even support %) 06:37:49 That one had a completely different algorithm. 06:37:53 Basically a different program. 06:38:28 ah right 06:38:30 you just like the name? 06:38:37 Or, well. Yeah. Basically. Didn't check before decoys either. 06:38:42 Not quite 06:38:49 It was originally the same program. 06:38:54 Then lots of changes happened. 06:39:01 So maybe it should have a 2 on the end. 06:39:02 hmm 06:39:09 But it didn't 06:39:12 So it doesn't 06:39:28 margins3 is basically an entirely different program from margins except that it uses the same basic strategy of playing for a draw if conditions in the first few turns don't work out favourably 06:40:01 hmm, that is the first time I've used Firefox's "search for an open tab" thing intentionally 06:40:08 to get at the zemhill matrix 06:40:15 Both use the same basic strategy still too. 06:42:55 Lymia: btw I updated the wiki article to talk about decoy detection 06:43:39 I saw. 06:44:08 Basically, both versions set decoys, then go do a slowish clear. 06:44:35 that's a description of 90% of hilltopping programs over the last several years 06:45:02 -!- lambda-11235 has quit (Quit: Bye). 06:45:08 And its strategy for anti-lock was to nest another copy of the clear loop after it falls through (under some conditions) so it does make leaps of faith. 06:46:21 leaps of faith are something that IMO you can't do if you're looking for a 100% win rate, but may help if you're only going for topping the hill 06:46:39 certainly, it's possible to do very well by exploiting the existence of leaps of faith on the hill 06:47:29 * ais523 checks if anticipation2 is still there 06:47:41 0% lose rate rather, right? 06:47:51 If margins had no tripwire 06:47:53 it is 06:48:03 It would force leaps of faith, or else, you can't win. 06:48:15 But you'd probably take ties too, if margins is willing to. 06:48:15 Lymia: oh, by that, I mean it gets a better than 50:50 record against each other program 06:48:27 ah. 06:48:28 there are programs I've written before now that have pulled that off and /not/ topped the hill at that time 06:48:53 (although they did so later; in some cases I may have edited my own programs to lose to them temporarily to give them their moment at the top of the hill) 06:49:20 margins strikes me as not being the sort of program for which a 100% win rate is feasible 06:49:29 although I've been wrong before now 06:51:58 I should try to make a nyuroki 2, or something. 06:52:16 Keep the basic approach, but, actually react appropriately to different behaviors. 06:52:28 Instead of just skipping decoy setup and going straight to rush. 06:53:12 the thing is, the basic reactions to behaviours have become so standardised now that people have started exploiting them 06:53:24 omnipotence trips enemy tripwires intentionally then starts defending, for exampel 06:53:39 which tends to cause the opponents to assume fast rush and not use counter-defence mechanisms 06:54:48 What about.. 06:55:03 Set a tripwire right next to your flag, then do the reverse decoy setup? 06:55:04 Hrm. 06:55:27 Lymia: right, that's what most programs do at the moment 06:55:38 typically checking the tripwire every now and then, and panicking if it gets tripped 06:56:01 (the basic problem being that you can /detect/ that the enemy is on your flag, but it's much less clear what you're meant to do about it) 06:56:05 I'm trying to think of if there's a case where 06:56:17 I find a conflicting decoy setup, and it matters if the flag tripwire is broken. 06:56:18 various possibilities involve attempted locks, and careless clears 06:56:53 I might steal Margin's double tripwire here, and just attempt a lock. 06:57:07 well if the flag tripwire is broken as the result of a decoy clash you can typically assume that the tape's no longer than about 11 06:57:46 flag tripwire broken as the result of a deep poke or fast rush is much more likely 06:58:01 in either case, decoys aren't going to help, but it's less clear what you should do instead 07:00:20 I jumped straight to cell 14 if I didn't find a decoy conflict, in fact. 07:00:42 That might be a bad assumption though 07:00:54 Since it assumes reverse decoy setups from the opponents. 07:01:09 amazing how such a simple game has become so complex 07:01:30 maybe if I get really bored someday I'll do genetic evolution of bfjoust programs 07:01:34 Lymia: well, I think about BF Joust like this: 07:01:38 there are two main classes of programs 07:02:03 there's the "standard strategy" programs, for which the actual strategy changes slowly over time, but for which the programs tend to converge 07:02:11 and the "experimental" programs that are doing something weird 07:02:24 to do well you have to beat both classes 07:02:38 beating standard strategy programs normally relies on exploiting their common weaknesses (see, e.g. ais523.counterpoke) 07:03:06 I don't think BFJoust is ammendable to genetic evolution. 07:03:16 beating experimental programs relies on having a good, resilient strategy (such as a ton of large decoys) that's generally hard to defeat quickly 07:03:25 You'd need to smooth out the fitness landscape somehow 07:03:25 and having some sort of valid attack 07:03:36 now, the best programs for beating experimental programs are normally the standard ones 07:04:10 whereas a programs designed to consistently beat standard programs tends to have to be experimental 07:04:32 (but most experimental programs will fail to beat standard programs unless they identify a common weakness that allows them to do so) 07:04:41 Part of it might be that Nyuroki's flaws aren't standard at all, so, experimental programs fail to poke at them.. 07:05:35 I need to analyze nyuroki more, really 07:05:44 typically I run programs on tape length 25 against a few other programs to see how they work 07:05:50 because that allows you to see the "main strategy" 07:06:07 (you have more tape length to see the patterns play out) 07:06:16 but that doesn't really hold in cases where decoy clashes, etc., are an intended part of the duel 07:06:33 Is detecting short tape lengths relatively standard now? 07:07:02 I normally make some attempt at it but it normally isn't very successful 07:07:22 poking has been done for ages, and is definitely part of what I would consider the standard strategy 07:07:25 (although the form of the poke varies) 07:07:36 and poking gives a lot of clues about the tape length 07:07:42 it was pretty revolutionary when quintopia invented it 07:08:35 although Gregor's versions of it (the furry girls) are probably the most definitive; the original quintopia_poke was very primitive 07:09:35 Hrm. 07:09:48 Part of it is that you can only do so much in the earlier steps of the game. 07:10:05 wow, ffspg is down at #38 07:10:07 You can't poke after so long 07:10:09 how the mighty has fallen 07:10:19 Lymia: right, the first few turns are very critical 07:10:24 You think there's still time to do the reverse decoy setup thing after a poke? 07:10:34 do you aim to block enemy pokes, set up your own, or a bit of both? 07:10:37 and there's totally time 07:10:43 you leave a medium decoy on cell 6 or so 07:10:49 and hope that the opponent's poke didn't get inside it 07:10:58 But you might just see very directly that the tape is (probably) small. 07:11:00 I guess it makes sense. 07:11:07 although, ofc, time you waste doing that means that you may fail to get inside the opponent's decoys when you could have done otherwise 07:11:11 Leave decoy -> poke -> return to decoy setup. 07:11:31 If you get a decoy conflict *then*, either the opponent trails, or you're on a very small tae. 07:11:32 tape* 07:12:04 !egojoust is_this_working_yet (>)*8(>[(+)*8[-]])*21 07:12:07 err 07:12:10 !bfjoust is_this_working_yet (>)*8(>[(+)*8[-]])*21 07:12:35 hmm, yes 07:12:45 But what do you do with that information? 07:12:49 it'd probably work against preparation 07:13:09 also, knowing you're on a short tape should bias you towards fast rush programs 07:13:30 margins3's strategy on a short tape is basically a copy and paste of stealth3, but with some details changed 07:13:48 and the stealth series is a fast rush idea I had a while back that I never really got to work 07:13:51 This is sort of what my scripting language is for, at least. for($minimumTapeLength in 1 to 30) { > [ $mainBody($minimumTapeLength) ] } 07:13:55 but it works much better on short tapes 07:16:19 ... maybe evolutionary algorithm time? 07:16:19 !zjoust this_is_working_yet (>)*8(>[(+)*8[-]])*21 07:16:20 ais523.this_is_working_yet: points -8.14, score 13.81, rank 46/47 07:16:33 to be fair, I didn't expect it to do well 07:16:39 but it didn't come last! :-D 07:16:56 Start with a fixed block that distinguishes minimum tape lengths and some conditions. 07:17:10 And give the decoy constants, etc to an evolutionary algorithm to play with. 07:17:13 I have an evolutionary algorithm for tweaking constants 07:17:16 I didn't use it on margins3, though 07:17:28 I'd run it against the set of all programs that existed in BFJoust ever. 07:17:45 typically I only use it on programs that are close to the top of the hill to squeeze out a few more points 07:18:04 prooftechnique.helloerjan: points -33.14, score 2.92, rank 47/47 07:18:41 huh, how long ago was /that/ submitted 07:18:44 is prooftechnique online righ tnow? 07:18:48 Yeah 07:18:58 Just wanted to get on the board before bed :D 07:19:02 it's not a very complex-to-run program 07:19:06 so I suspect it was submitted by PM 07:19:59 I'll probably make a real effort tomorrow at work. I've been reading the wiki on and off all day 07:20:51 one thing I like about BF Joust is that you can compete against yourself indefinitely even if nobody else is playing 07:20:58 another thing I've noticed is that everyone has their own style 07:21:00 !zjoust rank45plz ---(>>++++)*4(>(-)*20([+{}[-.-+]])%500)*20([-.-+])*-1 07:21:01 Lymia.rank45plz: points -19.74, score 7.34, rank 47/47 07:21:04 :( 07:21:28 if I write a gimmick program I often see a lot of correlation between its score and the author of the program it plays against 07:21:48 Oh? 07:22:01 Also, I like reading the comments in your programs, ais523 07:22:24 !zjoust sometimes >(+)*128<(-)*128(+-)*-1 07:22:24 ais523.sometimes: points -5.21, score 14.91, rank 41/47 07:22:25 Very informative, and often entertaining 07:22:40 prooftechnique: well they're partly for me and partly for other people 07:22:49 sorry about the base64 07:23:09 I hope it wasn't too hard to get the program into a readable form 07:23:21 Not at all. A fish one-liner 07:23:46 Why the base64 anyway 07:23:48 I've even developed a sort of "comment grammar" that uses only BF Joust-safe characters 07:23:52 lots of semicolons rather than commas 07:24:04 I just went and made a macro processor for BFJoust 07:24:10 Which has a proper grammar for comments. 07:24:10 Lymia: it's encoding a Perl script 07:24:13 oh 07:24:16 That explains everything. 07:24:19 that generates the program 07:24:33 I base64ed it so that I could put it into the program's source without stray parentheses 07:24:39 The script grammar I wrote wasn't written to be BF Joust safe at all though 07:24:44 I just linked to the source instead. 07:25:31 linking's fine, and sometimes you have to do that (e.g. anticipation2, which is running up against code size limit) 07:25:40 Anyway, time for sleep. Maybe I'll think of a goofy joust gimmick in the meantime. Night, all 07:25:44 but I prefer to have everything in one place 07:25:45 night prooftechnique 07:26:08 people should be able to see how my program was generated just with a copy of the repo, in most cases 07:26:39 Hrm 07:26:51 Maybe a formal BFJoust spec is in order? 07:27:08 Like, BNF and hopefully unambigious semantics. 07:27:08 the wiki page is reasonably formal, and has become more so over time 07:27:26 also there's some debate about whether the % to {} matching thing even works in BNF 07:27:36 Don't describe it in BNF? 07:27:47 Describe ()% and {} seperately 07:27:52 And presume compilers resolve it at a later stage. 07:28:05 come to think of it, I'm not sure which categories of languages can describe it in a remotely semantic way 07:28:14 There's plenty of things in normal programming languages that you can't describe in BNF 07:28:33 I wonder if something like... 07:28:55 1#(2#(1#{2#{}})%2)%2 has any chance of working 07:28:56 Let's see. 07:31:21 Hrm, nope. Definitely not. 07:32:31 ais523, what do you do about "incompatible" semantics? 07:32:37 [wiki] [[BF Joust]] https://esolangs.org/w/index.php?diff=46505&oldid=44193 * Ais523 * (-4) /* External resources */ better (i.e. direct-linkable, also it's the original) link for the origins of BF Joust 07:32:46 Like nesting {} inside ()* inside ()% 07:32:51 By making ()* and ()% distinct 07:33:09 Lymia: the * meaning the same thing as % thing is just implementation convenience 07:33:21 Right. 07:33:26 But programs are written assuming it. 07:33:42 if we allow ()* in the a and b portions of a ()%, inside implementations would just have to suck it up 07:33:52 we've fixed programs via editing the hill manually to adjust them for spec changes in the past 07:34:10 there are some old hill-toppers with ([)*n in them 07:34:30 hr 07:34:31 hrm* 07:35:42 I wonder if it'd be possible to write new opcodes that expand to infinite (or extremely long) BFJoust programs. 07:36:14 -!- J_Arcane_ has joined. 07:36:15 -!- impomatic has joined. 07:36:22 -!- J_Arcane has quit (Ping timeout: 252 seconds). 07:36:28 -!- J_Arcane_ has changed nick to J_Arcane. 07:36:45 !bfjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] 07:36:50 (adapted for current rules) 07:36:55 (and syntax) 07:36:58 !zjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] 07:36:59 ais523.comex_the_first_program_ever: points -17.31, score 9.39, rank 47/47 07:37:03 also let's submit it to a hill that works 07:37:05 <\oren\> my interpreter needs your program to end 07:37:23 \oren\: ? 07:37:28 There's some cases where I wanted to do something in my BFJoust macro processor 07:37:40 <\oren\> but it may be possible to write one that can handle an infinite stream of bf characters 07:37:44 But it'd have to expand to a hundreds of megabytes long script. 07:37:52 Like 07:37:54 haha, it beats smartlock, probably because smartlock is so special-cased 07:38:17 Lymia: I'm aware of the problem 07:38:21 ${defmacro name ... ${name} ... ${name} ....}$ 07:38:28 in general it's the reason there's a program size limit 07:38:32 to stop people writing things that go exponential 07:38:39 the biggest example is an if/then/else 07:38:40 It'd expand to an exponential length program. 07:38:54 But it's expandable to BFJoust. 07:39:07 I wonder if it'd be worth it to integrate something like that into a hill? 07:39:14 a (if nonzero then b else c) d expands to a[bd]cd 07:39:35 which tends to blow up very quickly 07:39:38 It's not generally a problem like that. 07:39:42 due to the duplication of d 07:39:46 That doesn't blow up too quickly. 07:40:09 Trying to write the equivalent of continue or break does. 07:40:21 ah yes, break 07:40:31 there are so many cunning methods of writing break that I've seen 07:40:45 nyuroki's main loop is basically 07:41:04 (>[... {} anti-defense continue ...])*21 07:41:43 -!- J_Arcane_ has joined. 07:42:03 Lymia: you mean %21 07:42:21 also IMO that's inferior to the (>[clear][antidefence])*21 method 07:42:33 because it gets tricked by vibrators 07:42:42 It's more complex than that 07:42:44 It's actually 07:42:54 * ais523 checks the nyuroki versus anticipation2 matchup 07:42:55 (>([... {} [anti-defense] continue ...])*2)*21 07:43:09 The .. has a ()% somewhere in it 07:43:13 So i didn't include it 07:44:03 -!- J_Arcane has quit (Ping timeout: 240 seconds). 07:44:08 -!- J_Arcane_ has changed nick to J_Arcane. 07:44:41 ah, it comes down to timer clear, I think? 07:45:21 Yeah. The {} is supposed to represent exiting the timer clear. 07:45:35 was wondering if it hit one of the unimplemented cases in anticipation2 but it doesn't 07:45:42 everthing works fine up until the final defense loop 07:45:45 and then the lock just breaks 07:46:44 Is anticipation supposed to hide its flag? 07:46:56 yes 07:47:08 Nyuroki doesn't actually skip a cell unless it's zero for 0 cycles. (>([main clear loop])*2)*21 07:47:09 if the enemy doesn't vary clear pattern, its flag will always be 0 when encountered for the first time 07:47:22 ooh, ([main clear loop])*2 07:47:30 I like that 07:47:49 (normally I use a specific counter-defence clear loop after the main one rather than just running the main one twice, but those can be hard to write) 07:48:18 this is why it's called anticipation, it times the opponent's code and anticipates the moment the opponent will zero-check its flag 07:48:25 Also causes an exponential blowup. 07:48:33 Because break + two loops isn't compatible. 07:48:41 So I didn't do it. 07:48:53 Nyuroki is basically a long list of things I didn't do because the program would have exponential size. 07:49:16 tell me about it :-) 07:49:37 I like the restrictions that come with the size limit 07:50:14 How does anticipiation deal with timer clears? 07:50:17 Does it just not 07:50:21 actually, I designed a "minijoust" with the following rules: very serious length limit on programs (short enough that they all fit onto one line of IRC); and in the case of a timeout, whichever program ran the most . instructions wins 07:50:37 Lymia: right, they hadn't been around at the time 07:50:51 or, well, they'd been only recently invented 07:50:56 and most programs didn't use them 07:51:02 also it beats some timer clear programs via the vibration 07:51:54 But the ()*2 pretty much invalidates vibration. 07:51:58 yes 07:52:07 vibration is easy to defeat if you expect it 07:52:09 I don't think it hurts in any cases? 07:52:17 Nobody in their right mind is going to vibrate off their flag. 07:52:22 the only reason I wrote anticipation2 was because someone (maybe even me) submitted a vibration program for fun and it did unexpectedly well 07:52:44 I guess some fast rush programs genuinely can't spare the extra cycle 07:53:14 If it's fast enough 07:53:19 And hits cell 30 before cycle 128 07:53:24 it can't be vibrated, right? 07:53:41 And if it gets caught by a flag or a decoy, it can switch to something more careful. 07:53:49 Because it definitely isn't fast rushing anymore. 07:54:32 vibration programs normally leave a decoy to get enough time to zero their own flag 07:54:50 but yes, the reason you need to go quickly is to get inside the decoys of enemies that set multiple 07:55:16 it's nothing to do with vibrators 07:56:00 !zjoust parity (>+>-)*4(>+>([(+)*10([-{}[-.-+]])%500])*2)*-1 07:56:00 Lymia.parity: points -19.52, score 7.63, rank 47/47 07:56:10 !zjoust parity (>)*7(>+>([(+)*10([-{}[-.-+]])%500])*2)*-1 07:56:10 Lymia.parity: points -14.12, score 10.01, rank 47/47 (--) 07:56:24 IME parity is hardly ever a factor in matchups nowadays, except for sometimes lock-based ones 07:56:29 !zjoust parity (>)*7(>>[(+)*20[-]]))*-1 07:56:29 Lymia: error: parse error: terminating ) without a matching ( 07:56:37 !zjoust parity (>)*7(>>[(+)*20[-]])*-1 07:56:37 Lymia.parity: points -13.52, score 10.72, rank 47/47 (--) 07:56:39 -!- mroman has joined. 07:56:43 fnurd 07:56:46 @messages-load 07:56:46 boily said 14h 51m 28s ago: mrelloman. 07:56:50 I'm trying to win the even length tapes only 07:56:56 For the fastest rush ever. 07:56:56 ooh, impomatic is here 07:56:56 :P 07:56:59 Lymia: oh, I see 07:57:07 I think oerjan.netsnail worked like that? 07:57:38 an improved version of that is a fast rush program that only checks every nth cell for the first set cell, but rushes more normally once it finds one 07:58:30 !zjoust collision2 (>)*7(>>[([(+)*3[-[-]]>])*-1])*-1 07:58:30 ais523.collision2: points -8.62, score 12.87, rank 47/47 07:58:44 hmm, at this rate we might actually get somewhere :-) 07:58:49 !zjoust collision2 (>+)*7(>>[([(+)*3[-[-]]>])*-1])*-1 07:58:49 ais523.collision2: points -15.81, score 9.42, rank 47/47 (--) 07:58:53 This is such a difficult hill. 07:58:57 indeed 07:59:10 I think given enough time all hills become difficult 07:59:12 !zjoust totally (+--+)*-1 07:59:13 Lymia.totally: points -19.60, score 7.02, rank 47/47 07:59:17 I find that at this point, the best way to attack it is with a program that does something really unusual 07:59:20 If you made a rock paper scissors hill it would end up difficult 07:59:31 Well 07:59:36 Taneb: I don't know, the hill that was basically all turtles got beaten pretty quickly 07:59:36 That's the point of a hill, kinda. 07:59:38 ;p 07:59:48 Which hill? 07:59:51 and we'd been playing for a while when that happened 07:59:55 Lymia: old version of egojoust 08:00:05 turtles had only been recently invented 08:00:09 and they were doing really well 08:00:12 competent turtles, that is 08:00:21 people had submitted non-working versions of them in the past 08:00:21 ais523, cororoallary: if the hill is easy, you haven't given it enough time 08:00:32 hills get easier sometimes 08:00:58 there was that time when someone (not naming names, but wasn't me) submitted a bunch of copies of omnipotence with different names 08:01:02 I have no idea how to spell, or how to pronounce, corollororary 08:01:06 at the time, omnipotence beat every other program 08:01:17 so it pushed all the other progams off the hill 08:01:35 that hill would have been trivial to top, assuming you can come up with something that beats omnipotence (it's not hard, especially if you know how it works) 08:01:48 err, probably wasn't omnipotence 08:01:50 might have been waterfall3 08:01:58 I don't think omnipotence ever had 100% wins 08:03:23 oerjan: I see 08:03:52 I still want to implement my 100% win rate bot sometime. 08:03:59 Blatant autogeneration and hill fitting. 08:04:22 lots of people have had that idea 08:04:29 Has the EgoBot bfjoust healed yet? 08:04:34 no 08:04:35 it is a) probably possible to do in most practical cases; b) harder than it seems 08:04:47 who hosts egobot? 08:04:54 My idea was to decompose all "enemy bots" into tuples of "enemy bot, tape length, parity" 08:04:56 they should probably be pinged as I suspect it's pegging a CPU 08:05:02 Then run them all in parallel. 08:05:18 ais523: are you sure it's EgoBot, rather then the hill that's stuck? 08:05:19 So decide the best action on that tick, and advance every possible case at once. 08:05:20 Lymia: fwiw, it's possible to write a set of programs that it is impossible to collectively beat all of 08:05:23 b_jonas: no 08:05:32 that's why I only /suspect/ it's pegging a CPU 08:05:32 Yeah. Someone brought that up last time I talked about it. 08:05:40 But I don't think 47 bots is enough to do it. 08:05:49 :) 08:05:57 Lymia, I'd be surprised if 2 bots wasn't enough to do it 08:06:00 the simplest construction I'm aware of a proof for requires 768 08:06:08 I am surprised 08:06:11 ais523: yes, but you don't have to beat all of them at once. you just have to beat enough of that in each step to gradually push some off the heap, and eventually start beating enough to get to the top 08:06:15 Taneb, the key is 08:06:40 If three bots would do +, -, and . on your flag all on the same cycle. 08:06:41 b_jonas: hmm, clever 08:06:55 You just do ++ sometime beforehand, so your flag is 2 when the bots would clear it if it would be 0. 08:06:57 huh what? 08:07:05 what's clever? not achieving 100% wins? 08:07:14 yes, this devious gradual hill takeover 08:07:20 you get to the top of the hill with one bot without making it 100% win 08:07:26 you've done that multiple times 08:07:41 I wonder how hard an infinite hill would be to maintain 08:07:43 b_jonas: yes but most of the time it's because the program is genuinely better than any of the others 08:07:45 Or at least a huge one. 08:07:56 you even brought up how it's not obvious who the best Go player is that google should challenge or something 08:07:57 you could create a sort of Swiss hill 08:08:02 where programs only competed against those nearby 08:08:14 Lymia, you'd need a way to remove blurgh bots 08:08:46 fwiw the hill sizes are twice as big as they used to be 08:08:48 blurgh bots? 08:08:51 because we like the diversity in a larger hill 08:09:02 Lymia: I assume Taneb is talking about bots that do nothing useful 08:09:07 like the syntax check bots we had earlier 08:09:10 Yeah, those 08:09:14 Hrm. 08:09:16 hmm, what about this 08:09:22 if you have the exact same breakdown as a previous bot 08:09:28 What about a "qualifier"? 08:09:31 you don't get saved 08:09:34 A set of maybe 10-20 fixed bots. 08:09:43 That you don't get on the hill if you can't 100% sweep, or maybe beat 80% 08:09:50 that way, we only have one suicide, one nop, etc. 08:09:50 Nothing advanced or clever. 08:10:15 ais523: what? how would more than one of the syntax check bots even get to the hill? don't they lose too often to get on the hill? 08:10:22 Just a demonstration that you aren't a potato. 08:10:32 b_jonas, we're talking about an infinite hill. 08:10:45 a... what 08:10:55 A hill without a fixed size. 08:11:06 we could at least force people to beat simple 08:11:17 What'd be a good qualifier bot set? 08:11:23 a hill without a size limit makes no sense 08:11:43 (that said, quite a few highly advanced programs lose to simple because its lack of counter-anything causes it to be one cycle faster moving from one tape element to the next than it's possible to detect) 08:12:28 b_jonas, perhaps "hill" isn't the right term. Maybe "ladder" 08:12:33 Or something. 08:12:34 what you could do is lock a few hand-selected bots on the ill 08:12:46 Maybe a hill that's unbounded upwards but has a fixed bottom? 08:12:52 ais523, I'd say a set of basic (or not so basic?) bots that bots to get on the hill have to beat. 08:12:53 like, a few champions from each year that are hand-checked to make sense 08:12:57 plus a few basics 08:13:04 Say... 08:13:11 Like, if a submission loses to the 10 bottom it falls off the hill 08:13:11 don't make it obligatory to beat them, just lock them on the hill so the hill includes them 08:13:13 50% or 75% winrate against them to qualify in the first place. 08:13:14 Lymia: I guess we could write an intentionally bad implementation of each of the main strategies 08:13:14 int he score 08:13:22 as gatekeepers 08:13:27 no no 08:13:28 don't do that 08:13:39 b_jonas, if the hill is infinite 08:13:39 that would only let bots that work against _all_ strategies on the hill 08:13:47 There's no point in locking anything on the hill. 08:13:57 Because once a bot is on, it can't actually fall off. 08:14:16 why the heck do you even call it a hill then if you can't fall off? 08:14:20 The markov scoring should make it so that 90% potatos still doesn't affect the upper part of the hill much, right? 08:14:33 What would you call it, then, and why does it matter to you? 08:15:18 dunno, a pool or something 08:15:20 hmm, what about a hill that knocks off programs, not because they score badly, but because they're too similar to a better-scoring program 08:15:25 but I don't really understand how this would work 08:15:30 ais523: how would you detect that/ 08:15:32 using whatever similarity measure we want, maybe breakdown 08:16:15 ais523: would that make it impossible to add new programs similar to an existing one that aren't _yet_ as good as the original, but eventually might be? 08:16:18 Right now we use names as the "identifier" for replacing programs, right? 08:16:29 perhaps we find the two programs with the greatest number of matchups for which they both lose, and delete the one which has the most losses elsewhere 08:16:33 Lymia: yes 08:16:47 b_jonas: until you improved them, possibly 08:16:48 Hrm. 08:16:50 I don't see this as a problem 08:16:53 What about clustering bots somehow? 08:17:04 (note that you'd still get feedback on what the score would be, it just hasn't happened) 08:17:04 And keeping the 5-10 best of every cluster? 08:17:11 Lymia: fizzie's way ahead of you on the clustering 08:17:24 So, if there's a cluster that's too dense (detecting that somehow) 08:17:30 You cull just that. 08:17:36 Oooh! Going on a tangent a bit 08:17:53 Do you know of any BF Joust-y games that are more accessible? 08:17:55 here: http://zem.fi/egostats/tn_plot_cluster.png for breakdown cluster, http://zem.fi/egostats/tn_plot_heatclust.png for heatmap cluster 08:18:10 By which I mean, competitive programming games 08:19:04 Taneb: I think BF Joust is one of the most accessible; there's a whole wiki of them at http://programminggames.org/ (e.g. http://programminggames.org/BF-Joust.ashx) that you could look at, I guess 08:19:57 huh, BF Joust's even mentioned on the front page, under "programming games of note" 08:20:19 as is Final Fantasy XII 08:20:23 interesting interpretation of the genre, that 08:22:48 interesting thought experiment: given everything that we know about BF Joust now and didn't before, write a program for the original BF Joust that does something clever 08:23:08 "Original"? 08:23:10 the _original_ one? is that the one that's parity locked? 08:23:22 ais523: what was the tape size and program size limit for that? 08:23:22 b_jonas: no, the original's even older 08:23:37 Taneb, what do you mean by "more accessible"? 08:23:42 To non-esolang programmers? 08:23:42 tape size was 128-134 IIRC, and you died from a zero flag in one cycle 08:23:46 Lymia, yeah 08:23:53 Something like robocode, I think 08:23:55 ais523: right, and no dot command and no repetition syntax 08:24:05 fwiw, I've been thinking (as a far-future thing) about making a reflavoured BF Joust game 08:24:15 which is mathematically equivalent but less obviously connected to BF 08:24:18 It's not a "programming game" per se, like, BFJoust or Redcode. 08:24:37 redcode's the language; the game is called core wars 08:24:41 Opps 08:24:43 Core Wars* 08:24:44 Lymia: someone suggested https://www.codingame.com/ or something of a similar name. I don't know what those stuff are like, I don't care much about htem. 08:24:45 impomatic: Do you know of any BF Joust-y games that are more accessible? 08:24:49 Taneb, basically 08:24:51 you might be a good person to ask this 08:25:02 These games are more like conventional video games that a human could play directly too. 08:25:18 -!- AnotherTest has joined. 08:25:22 And the "programs" are AIs for them. 08:25:29 Like, say, a Starcraft AI hill. 08:25:34 That'd be in that category. 08:26:05 I think a human playing BF Joust in realtime would be interesting 08:26:10 allow them to hold down buttons to select a move 08:26:32 [ and ] would be a single instruction that told you if you were looking at a zero cell 08:26:32 ais523: and (] would be a single instruction that told ((<(<,'"'),<(<'you'),<(,'0');_),<(<,'"'),<(<'you'),<(,'0');_) were looking at a zero cell) 08:26:43 thank you j-bot 08:27:10 [ if 08:27:11 shachaf: if_syntax_ 08:27:18 [ and ] if 08:27:18 shachaf: (and ])if 08:27:43 you'd probably start off small, adding more commands along the way 08:27:51 BFJoust wouldn't really count, I think. 08:28:05 Since part of the metagame now is how limited programs are. 08:28:20 A human playing would effectively emulate an arbitrary length program. 08:28:23 yes 08:28:27 OTOH the human would have human limitations 08:28:43 maybe I'll program it with a very basic UI just to see how me personally does against the hill 08:28:49 I suspect I wouldn't do too well 08:28:53 Games would take forever. 08:29:06 Lymia: exactly, and there are many programming games that similarly wouldn't work, eg. the ant brain one which requires you to write a program for a very limited capability ant brain, ran separately on each of your ants 08:29:22 although there was a very different ant game that allowed any program 08:30:21 ais523, taneb: accessible is what way? Using an easier to use DSL or standard programming language but still capture the flag? Or a different genre of programming game? 08:30:26 (the first one is ICFP contest 2004, at https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/ , the second one was at http://ai-contest.com/ but that domain is now owned by someone completely different) 08:30:55 impomatic: was just relaying the question, I'm a little confused as to the meaning too 08:31:02 btw, new hill-topper 08:31:05 impomatic, I'd prefer one that you could use Python for, and you could watch it looking pretty 08:31:06 thanks for getting me back into the sport :-) 08:31:16 ais523, well. 08:31:19 Taneb: is egojsout not pretty? 08:31:28 The JoustExt thing I made, for obvious reasons 08:31:42 ais523, it has the disadvantage in that post people in the CS department here do not often program in brainfuck 08:31:46 Any program that can be written in it is equivalent to some Brainfuck program. 08:31:51 It could just be arbitary length. 08:32:15 I figured out a lot of neat tricks like how to implement effectively call/cc 08:32:21 Taneb: it might be an interesting experiment to allow arbitrary (i.e. not bf-limitations) programs 08:32:42 I fear defence would not work well (you could do things like random walk clears once your timer expired) but the other tactics would still work 08:32:54 your API would be forwards, backwards, up, down, and test, each of which would cost a cycle 08:33:02 Python has yield, which is perfect for this usecase 08:33:07 Do programs have to be deterministic? 08:33:07 http://www.programminggames.org/INJECTION.ashx / https://bitbucket.org/leeharr/pybotwar / https://github.com/sgimenez/laby are a few I've bookmarked 08:33:24 This is important to decide. 08:33:35 But the most popular seems to be RobotGame http://robotgame.org/ 08:33:36 Lymia: in brainfuck, yes, as it has no randomization facilities 08:33:45 Because otherwise, it'd be equivalent to a BFJoust variant with non-deterministic instructions. 08:33:51 Not BFJoust with arbitary length programs. 08:33:53 in other languages, I would say it helps for tournament structure if the program has to act identically each time 08:34:03 /but/ I don't see any reason to ban, say, seeded RNGs 08:34:20 impomatic: robotgame.org is NXDOMAIN 08:34:24 ais523. taneb@ RobotGame is in python and has a channel on freenode #robotgame 08:34:38 I'll ask in the channel about the domain :-( 08:34:56 ais523, ofc. 08:35:14 it's still equivalent to some arbitrary length BF program. 08:35:22 hrm. 08:35:26 only because of the cycle limit 08:35:31 Otherwise. 08:35:40 s/arbitrary/infinite/ 08:35:50 impomatic, I'll look into it 08:35:52 assuming you allow the system access to non-TC sources of information 08:36:11 (like a random number generator) 08:36:21 or, hmm 08:36:34 You can always rewrite the cycles 08:36:39 Like 08:36:45 taneb, ais523: might also be robotgame.net - seems to be up and down all the time :-( 08:36:47 Any time you execute a test 08:37:15 You can rewrite it to [a]b, where a and b are arbitary/infinite length programs. 08:37:18 a doesn't have to terminate 08:38:29 Assuming it's deterministic, at least. 08:38:42 Otherwise, it'd be BF plus a new instruction (I think) 08:38:44 Something like 08:38:54 *{a}b 08:39:06 Where *{} is 0 cycles, and executes a with a 50% probability? 08:39:24 That'd be an interesting extension to test as a BFJoust version. 08:39:43 *{a} is 1 cycle, and executes randomly 50% of the time. 08:41:13 -!- ais523 has quit (Ping timeout: 268 seconds). 08:51:48 -!- augur has joined. 09:08:52 [wiki] [[Lua Joust]] N https://esolangs.org/w/index.php?oldid=46506 * Lymia * (+1548) Created page with "'''Lua Joust''' is a competitive programming game, equivalent to [[BF Joust]] with arbitrary length programs. Instead of using [[Brainfuck]] as the language for warriors, '''L..." 09:08:59 -!- J_Arcane has quit (Ping timeout: 244 seconds). 09:09:01 opps 09:09:02 i meant to preview 09:09:11 Oh well, let's finish this. 09:18:15 -!- ais523 has joined. 09:22:56 ais523, I'm writing up a spec for BF Joust with arbitary Lua programs. 09:23:43 IMO this should be written in a way that easily generalizes to any language (at least any language with generators, but you can do them even in C via use of pthreads) 09:24:41 -!- augur has quit (Remote host closed the connection). 09:25:17 -!- AnotherTest has quit (Ping timeout: 248 seconds). 09:26:43 -!- augur has joined. 09:27:48 I'm writing it for Lua for now. 09:28:00 Since I want to include the provisions for determinism as part of the spec. 09:29:45 ais523, taneb: you can see a robotgame battle in action on the web archive http://web.archive.org/web/20160304042803/https://robotgame.net/ 09:31:04 hmm, it's hard to follow with all that many robots 09:32:04 -!- augur has quit (Remote host closed the connection). 09:33:18 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46507&oldid=46506 * Lymia * (+4238) Finish specification. 09:34:02 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46508&oldid=46507 * Lymia * (+13) 09:35:40 https://i.imgur.com/TJFEkDa.jpg 'Selling Dy notebook' 09:35:42 Dy 09:35:44 hmm, is it a BF derivative? 09:35:50 I guess it's a BF derivative derivative 09:35:53 guess why Dy 09:35:59 Don't ask me 09:36:03 There's no BF involved, but. 09:36:09 It shares the tape concept. 09:36:26 Notably, Lua Joust and BF Joust programs can theoretically share the same hill. 09:37:18 Not even theoretically. 09:37:20 They simply can. 09:37:54 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46509&oldid=46508 * Ais523 * (+173) cats, minor clarification 09:38:17 Lymia: can I make a naming suggestion? instead of next and prev, use advance and retreat 09:38:26 .. hrm. 09:38:36 I think that definitely works. 09:39:11 also they're documented as equivalent 09:39:24 do you want to change it or shall I? 09:40:08 also they're documented as equivalent 09:40:11 What do you mean? 09:40:21 copy and paste error 09:40:24 they both increment the tape pointer 09:40:36 opps 09:40:39 Let me fix that 09:41:24 hrm 09:41:27 I think that if we want this to be accessible, it needs less computery and BF-y terminology 09:41:30 also an implementation 09:41:40 It's just a draft, so. 09:41:48 Is there a good way to say "towards the opposing flag"? 09:42:03 Without implying that it might turn around on the flag or past the end 09:42:44 I think it's probably best to say "forwards" and "backwards", then in the battlefield section, define that forwards is the direction from your flag to the opponent's, and backwards is the other direction 09:45:10 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46510&oldid=46509 * Lymia * (+59) Clarify advancing and retreating the tape pointer. 09:45:25 [wiki] [[User:Lymia]] N https://esolangs.org/w/index.php?oldid=46511 * Lymia * (+4) meow 09:46:05 I'd like to do a Lua implementation, maybe? 09:46:10 That should be relatively simple. 09:46:27 how good is lua at sandboxing subsets of itself? 09:47:08 impomatic: robot game looks interesting, i'd prefer another language though 09:47:10 while still gaining access to the bits it locked off 09:47:42 I remember when I wrote an automatic marking script for ocaml 09:47:46 bits of it ran inside the sandbox 09:47:49 Hrm. 09:47:52 It's decent. 09:48:00 and I had to figure out how to write string_of_char without access to anything in the standard library 09:48:03 Esp in Lua 5.3 rather than 5.1 09:48:18 Implementations in Lua have to worry about the string metatable and such 09:48:20 it took some discussion in #esoteric and #ocaml but I figured out a way in the end 09:48:22 Which can be used to escape the sandbox. 09:48:44 While a C implementation can just use two separate contexts. 09:48:58 (for anyone wondering: «let string_of_char c = (let s = ("" ^ "x") in s.(0) <- c; s)») 09:49:09 this is actually deprecated in recent OCaml, but it still works 09:49:43 I can see why it's deprecated; it's ridiculous :-) 09:51:18 myname: I haven't seen anything like Robotgame in other languages, but there are robot vs robot battle games in most languages 09:52:13 Berrybots in Lua, Scalatron in Scala have been active recently I think. 09:52:27 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46512&oldid=46510 * Lymia * (+240) Add in a provision for Lua implementations. 09:52:42 robocode for java... but who likes java anyways 09:53:11 hrm. 09:53:18 I could define some convinence functions 09:53:19 Like 09:53:25 joust.plus(50) 09:53:34 Or joust.modify(50) 09:54:59 let people write their own, they're easy enough 09:55:01 Maybe get rid of the joust. namespace 09:55:15 Well, it's for convinence for when you write out full programs on an IRC line, and such. 09:55:17 and I have a feeling Taneb wants to use this as an "intro to programming" anyway 09:59:02 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46513&oldid=46512 * Lymia * (-96) Remove the joust namespace. 10:00:04 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46515&oldid=46513 * Lymia * (+2) Rename nop() to wait() 10:00:14 I should probably not treat this like git commits. 10:01:20 it's not a bad model 10:01:29 although note that the edit summary doesn't have space for a really long discussion 10:01:34 you have to use the talk page for that 10:01:45 it beats the useless summaries most people use 10:02:11 the main difference is that mediawiki edit summaries tend to be heavily abbreviated with a kind-of grammar of their own; complete sentences aren't wrong but they look out of place 10:05:42 I'm going to rewrite it to split the more technical details and a more "accessible" description. 10:06:52 hmm, I wonder if the concept of a reduced offset timer is worth mentioning in the strategies page 10:07:13 the idea is that you use an inflexible timer clear with a small timer, maybe only 100, and an offset 10:07:18 when it runs out you give up on the offset 10:07:28 the idea is that enemy programs rarely set small decoys behind large decoys 10:07:46 Explain further? 10:08:27 so the idea is, you do a timer clear, if a cell is cleared, you move on and offset while still under the same timer 10:08:39 as long as you're clearing small decoys you don't make much of a dent in the timer, so you keep going 10:08:40 Oh, i see. 10:08:43 So something like 10:08:50 when you hit a large decoy the timer runs out very quickly and you change strategy 10:09:03 (>(-)*10[+{} ... ])%100 10:09:04 Right 10:09:05 Er 10:09:10 >(-)*10([+{} ... ])%100 10:09:15 this is how margins3's clear loop works against defensive programs 10:09:16 Offset timer clear? 10:09:27 you put the offset after the ] 10:09:34 nowhere else to put it 10:09:43 (or before the [, it comes to much the same thing) 10:09:56 Nyuroki does basically that. 10:10:10 It uses an inflexible timer clear with an offset beforehand. 10:10:36 right, it's a sensible enough strategy 10:11:00 the main improvement is that older programs used to make the timer quite high (1000 or so) and I feel that lower ones work better 10:11:11 based on the principle that against large decoys, the best offset size is 0 or even negative (i.e. reverse offset clear) 10:11:45 What do you do when the timer ends? 10:11:51 I'm not sure I quite understand now 10:11:55 plain clear 10:11:57 i.e. no offset 10:12:01 on a second timer 10:12:17 or possibly a small reverse offset clear 10:12:27 say you predict all the enemy decoys will be at least 20 10:12:33 you do something like (+)*20[+] 10:12:44 20 cycles saved right there 10:13:25 (regardless of polarity, assuming that there is a decoy of 20 or larger on the cell) 10:14:10 I see. 10:14:10 so. 10:14:26 Optimize for decoys in the range of 1-a and b-128, or so? 10:14:39 And not work so well for decoys between a and b? 10:14:51 yep 10:15:00 Interesting. 10:15:24 this relies on the principle that people tend not to use medium decoys behind large ones 10:16:37 I guess one big general rule of BF Joust is "if there's /anything/ that programs consistently do, there's some way to exploit it" 10:16:58 although it took me a while to figure it out with rule of nine, I got there eventually 10:18:30 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46516&oldid=46515 * Lymia * (+890) Split the rules description into a detailed and "simple" section. 10:19:06 What's "large" and "medium" mean, in general? 10:19:40 Nyuroki, for example, uses decoys of size 20 against rushes and 50 for its larger decoys, then patches up its size 20 decoys to be size ~40. 10:20:00 small = detected by the start a wiggle clear, typically 1-3; medium = within the size of an offset clear but not small; large = beyond the offset of a typicaloffset clear 10:20:24 I see 10:20:29 So 50 would be considered large. 10:20:56 yes; a few programs do use offsets that large but it's probably a bad idea 10:21:23 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46517&oldid=46516 * Lymia * (-1) Fix a mislocated ending tag. 10:21:33 uh 10:21:40 Why would an offset that big be useful 10:22:33 Think this makes it less technically dense? The Lua joust page. 10:22:57 Lymia: a bit 10:23:11 it would be good to not conflate the tape pointer with the program with the warrior 10:23:42 hrm. 10:23:48 I'm using "warrior" as a term for "program' 10:24:03 Suggestions for terminology? 10:24:16 "arena", "arena cell", "arena pointer"? 10:24:45 I think the best mental image is if the program controls the warrior, who is the pointer 10:25:24 I'm not sure I like the term "warrior" in that context. 10:25:28 Hrm. 10:26:49 Well. 10:26:58 "competitor" instead of "warrior"? 10:27:40 warrior == pointer, program, arena == tape? 10:27:43 Is that what you mean? 10:27:50 (@ais523) 10:28:01 -!- gniourf has quit (Quit: Leaving). 10:28:36 Is there some other easy to understand term for "pointer" available? 10:28:47 it's more that "pointer" is a very programmy term 10:28:53 but yes, warrior=pointer, program, arena=tape 10:29:03 "warrior" is also used as another term for "program" in stuff like Core Wars, right? 10:29:09 and possibly flag=tape element (with each program owning one flag and the others being neutral) 10:29:11 So I'd like to avoid using it for a subtly different meaning. 10:29:21 Lymia: I think so, but in core wars the programs are literally attacking each other's code and memory 10:29:30 I think "cell" is understandable enough. 10:29:35 in BF Joust, it's more like they're controlling an entity 10:29:48 I guess the difference is that you care about technical clarity and I care about flavour 10:29:59 Yes, "warrior" is also used in Core War. "battle program" is another term used in a few programming games 10:30:07 I'm writing it as a spec, after all. 10:30:16 Unambigious between implementations. 10:30:23 I'd like a middle ground though. 10:30:47 impomatic: how many programming games are like core wars in that the programs can literally alter each other? 10:32:57 ais523: at the moment I can only think of Darwin, Core War, CoreLife, CoreWar68000, CoreWar8086 and Binary Armageddon although there are probably more. 10:33:19 some of the competitive game-of-life based games, you could, I guess 10:33:24 (not sure how popular any of those are) 10:33:37 Most programming games are played by controlling an agent in an arena without any access to the opponent's code. 10:34:24 There's a very messy and incomplete wiki for programming games here http://programminggames.org/ 10:35:16 While we're on the subject, did I mention there's a Core War tournament in 3 weeks? $50 first prize http://corewar.co.uk/easter2016.htm 10:36:23 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46518&oldid=46517 * Lymia * (-200) Rename the "tape" to the "arena". 10:36:29 First step. 10:37:25 Is arena > cell understandable? 10:37:32 Hrm. 10:37:38 impomatic: I linked that wiki earlier :-) 10:37:46 I like the way BF Joust is cited on the main page 10:37:49 I get what you mean by using "flag" for cells though. Raising and lowering flags? 10:38:20 raising would strike me as meaning "away from zero" 10:38:26 I think of it as "clockwise" and "anticlockwise" 10:38:31 flag's on a continuous rope that forms a loop 10:38:36 highest point is 128, lowest point is 0 10:38:46 and depending on which way you turn, you can take it up/down either side of the flagpole 10:39:19 Anyway. 10:39:28 "program" controlling a "warrior' 10:39:36 I'm not sure how that terminology would read. 10:39:56 "advance() advances the warrior forwards one cell." 10:40:02 "plus() increments the cell the warrior is on." 10:40:03 ? 10:40:07 yep 10:40:16 hrm 10:40:21 I guess "space" would work if you don't like "cell", using board game terminology 10:40:49 To me, using "pointer" terminology is more clear, but, it wouldn't be to someone without C/etc experience. 10:41:14 I think "cell" should be fine. 10:42:27 Could also rename "cycle" to "turn" for board game terminology? 10:42:30 It's not really a cycle anymore anyway 10:43:42 "turn" is a good terminology 10:43:48 Oh! 10:43:51 What about "current cell" 10:43:55 Instead of "cell pointer" 10:44:10 "advances the current cell by one"? 10:44:15 "advances the current cell one space"? 10:44:16 How about a 2D version of BF Joust? Flags are in diagonally opposite corners. The agent could be a dwarf with a pick axe, chipping away at locations to decrease the cell value or depositing stone on a location to increase the cells value. If a cell's value is to different from it's neighbour, it could be a wall or chasm blocking your way. 10:45:03 -!- earendel has quit (Ping timeout: 244 seconds). 10:46:13 Lymia: that sounds like you're changing the cell itself, not the poitner to it 10:46:39 impomatic: presumably with this flavour it isn't wrapping, and there's some limit to how high you can increase a cell? 10:47:05 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46519&oldid=46518 * Lymia * (+711) Add numeric arguments to plus, minus, advance, and retreat 10:47:41 hmm, I think the arguments will make it much more confusing to follow the rules 10:47:56 because they take multiple turns 10:48:08 Hrm. 10:48:16 Oh, hold on. 10:49:01 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46520&oldid=46519 * Lymia * (-711) Undo revision 46519 by [[Special:Contributions/Lymia|Lymia]] ([[User talk:Lymia|talk]]) 10:50:15 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46521&oldid=46520 * Lymia * (+164) Clarify function numeric parameters. 10:51:01 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46522&oldid=46521 * Lymia * (+20) 10:51:31 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46523&oldid=46522 * Lymia * (+1) 10:51:32 There. 10:52:36 -!- jaboja has joined. 10:54:57 ais523, is this more clear? 10:55:00 yes, that seems clear enough 10:57:40 What about turn > cycle? 10:57:47 A cycle is both the program's turns. 10:58:58 -!- bender| has joined. 10:59:10 I like that, actually 10:59:49 so the description of a cycle is something like "both programs are executed; when a program runs an API command that takes a turn, it is paused. Then both commands happen and the programs resume executing." 11:00:12 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46524&oldid=46523 * Lymia * (-335) Distinguish 'cycles' and 'turns'. 11:01:04 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46525&oldid=46524 * Lymia * (+27) Clarify text for test(). 11:01:46 .. hrm. Should "warrior's program" be a term? 11:02:03 A warrior is the warrior and the code that controls it. 11:02:08 (Conceptually) 11:02:19 I think that terminology would work. 11:03:56 -!- ais523 has quit (Read error: Connection reset by peer). 11:04:01 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46526&oldid=46525 * Lymia * (+46) :) 11:04:07 -!- ais523 has joined. 11:04:16 .. hrm. Should "warrior's program" be a term? 11:04:17 A warrior is the warrior and the code that controls it. 11:04:17 (Conceptually) 11:04:17 I think that terminology would work. 11:04:58 a warrior is the warrior? 11:05:47 -!- scarf has joined. 11:07:41 -!- ais523 has quit (Read error: Connection reset by peer). 11:08:50 -!- scarf has quit (Read error: Connection reset by peer). 11:09:08 -!- scarf has joined. 11:09:29 ugh, pinging out enough to use second alternate nick :-( 11:09:29 * scarf has no idea if anyone will see tihs 11:09:32 -!- scarf has changed nick to ais523. 11:09:43 ooh, looks like it got through 11:10:35 D: 11:13:32 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46527&oldid=46526 * Lymia * (-49) Distinguish between the "program" and "warriors" 11:13:36 I think this works. 11:14:15 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46528&oldid=46527 * Lymia * (+0) Move the ''turn'' to when the term is first introduced. 11:17:10 -!- ais523 has quit (Remote host closed the connection). 11:18:19 -!- ais523 has joined. 11:18:27 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46529&oldid=46528 * Lymia * (+360) Introduce one character aliases. 11:18:52 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46530&oldid=46529 * Lymia * (-1) 11:19:46 Now to implement 11:23:21 * impomatic is slowly working through TIS-100 but apart from maybe one of my solutions they're all fugly :-( 11:24:10 Lymia: gah you wrote brainfuck with a captal B 11:24:14 it isn't a proper noun 11:24:15 * ais523 fixes 11:24:29 opps 11:24:36 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46531&oldid=46530 * Ais523 * (+0) caps 11:26:16 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46532&oldid=46531 * Lymia * (-3) extra word. 11:30:20 ais523, could you give me some basic BFJoust programs to translate? 11:30:25 Most basic examples of strategies 11:30:49 Lymia: (>)*8(>[(+)*5[-]])*21 11:31:06 !zjoust basic_attack (>)*8(>[(+)*5[-]])*21 11:31:07 ais523.basic_attack: points -6.69, score 14.33, rank 46/47 11:31:24 wrt a basic defence program, it rather depends on whether you want to win or not 11:31:32 also I've become disconnected again, haven't I? 11:31:34 Nope 11:31:38 I don't htink so 11:31:55 if you see this, let me know next time I'm back online (assuming it's in the near future) so I know I don't have to resend 11:31:55 -!- ais523 has quit. 11:34:24 -!- boily has joined. 11:51:42 -!- AnotherTest has joined. 12:18:25 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46533&oldid=46532 * Lymia * (-14) 12:20:09 -!- jaboja has quit (Ping timeout: 260 seconds). 12:21:03 -!- boily has quit (Quit: SOVIET CHICKEN). 12:21:55 -!- AnotherTest has quit (Ping timeout: 248 seconds). 12:24:38 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46534&oldid=46533 * Lymia * (+71) Use constants for the coroutine.yield values 12:26:30 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46535&oldid=46534 * Lymia * (+38) 12:45:15 -!- earendel has joined. 12:46:14 https://manuels.github.io/texlive.js/ neato, texlive compiled with emscripten 12:51:29 -!- gniourf has joined. 13:09:26 The esolang wiki ought to have a category for programming games now there are a few on there. 13:23:17 -!- J_Arcane has joined. 13:45:38 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46536&oldid=46535 * Lymia * (+92) 13:58:48 -!- jaboja has joined. 14:07:13 !ztest syntax (<)*-X1 14:07:13 Lymia.syntax: points -32.14, score 2.98, rank 47/47 14:09:01 !ztest syntax >()*xx-xx1[<<] 14:09:02 Lymia.syntax: points -32.14, score 2.98, rank 47/47 14:09:18 !ztest syntax >-[<<] 14:09:18 Lymia.syntax: points -46.00, score 0.00, rank 47/47 14:09:27 !ztest syntax >()*- [<<] 14:09:28 Lymia.syntax: points -32.14, score 2.98, rank 47/47 14:09:36 !ztest syntax >()*mmmm- [<<] 14:09:36 Lymia.syntax: points -32.14, score 2.98, rank 47/47 14:09:39 !ztest syntax >() - [<<] 14:09:39 Lymia.syntax: points -46.00, score 0.00, rank 47/47 14:10:16 !ztest syntax >()*xx+xx1[<<] 14:10:16 Lymia.syntax: points -46.00, score 0.00, rank 47/47 14:10:24 !bfjoust hi . 14:10:27 still ded 14:14:17 -!- `^_^v has joined. 14:26:30 Ded as a dornil. 14:30:53 !ztest ()*-1< 14:30:53 Lymia: "!ztest progname code". See http://zem.fi/bfjoust/ for documentation. 14:30:57 !ztest test ()*-1< 14:30:57 Lymia.test: points -46.00, score 0.00, rank 47/47 14:31:02 !ztest test (.)*-1< 14:31:02 Lymia.test: points -32.14, score 2.98, rank 47/47 14:34:43 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46537&oldid=46536 * Lymia * (-2) 14:37:59 "(<)*-X1" → "(<)*0 X1" → "". ">()*xx-xx1[<<]" → ">()*0 xx1[<<]" → ">[<<]". ">-[<<]" is just what it is. ">()*- [<<]" → ">()*0 [<<]" → ">[<<]". ">()*mmmm- [<<]" ditto. ">() - [<<]" → ">()*0 -[<<]" → ">-[<<]" (no * or % means () gets treated as ()*0). ">()*xx+xx1[<<]" → ">()*0 +xx1[<<]" → ">+[<<]" (explicit + not part of repeat count but also not "whitespace" that gets ... 14:38:05 ... skipped). "()*-1<" → "<". "(.)*-1<" is again just what it looks like. 14:40:24 Lymia: are you sure that Lua Joust is deterministic? 14:40:26 Somewhat inconsistently, "(.)*;4" is the same as "....", but "(.)*,4" is "". That's a bug. "," got accidentally added to the list of non-whitespace characters, even though it doesn't have any meaning. 14:40:48 b_jonas, it shoul dbe. 14:40:50 should be* 14:40:56 What would cause it not to be? 14:41:10 oh, bleh 14:41:18 There's ordering of hashes in arrays containing hashes. 14:41:21 Lymia: in Lua, you can iterate on the keys of a table, or get the length of a non-array table, and those aren't well-defined enough to be deterministic. I'm not sure if they are, that depends on the lua implementation. 14:41:28 I could remove pairs. 14:41:32 And that problem'll be gone. 14:41:36 pairs and next. 14:41:37 Lymia: no, it wouldn't be 14:41:44 Lymia: even the # operator can be nondeterministic 14:41:54 Explain in what cases? 14:41:57 Lymia: plus, removing next would limit lua SERIOUSLY 14:42:02 like, make it a much less usable language 14:42:13 Lymia: read the docs for # to know 14:42:14 um wait 14:42:20 what version of Lua is this based on exactly? 14:42:23 5.3 14:42:24 5.3 14:42:27 yes, then it stands 14:42:39 Again. 14:42:46 Explain what code would cause # to have nondeterministic behavior. 14:43:17 Lymia: I'm not sure it has, but the manual doesn't promise that it's deterministic, just like for the next function: http://www.lua.org/manual/5.3/manual.html#3.4.7 14:43:23 on tables that is (no problem on strings) 14:44:15 Lymia: basically, getting the length of a table is optimized so it doesn't have to read each element of integer key 14:44:42 AFAIK 14:44:49 From what I read of the code, the result is undefined, yes 14:44:57 But not non-deterministic. 14:45:06 That's a pretty critical difference. 14:45:12 -!- spiette has joined. 14:45:45 Lymia: yes, but unless you read the implementation, you can't tell if it's deterministic. It depends on the details of how tables work, just like the order of keys as returend by next. 14:46:06 I have read the implementation before for unrelated versions. 14:46:33 Lymia: in a not too old version? 14:47:36 Lymia: also, in recent versions, you have to modify the load function so that you can't load binary (precompiled) chunks 14:47:42 because that can lead to breaking the lua sandbox 14:47:45 I know. 14:47:47 loading text chunks is fine 14:47:48 I'm passing "t" to load. 14:48:08 Lymia: I mean, in the load function you give in the environment to the program 14:48:12 http://esolangs.org/wiki/Lua_Joust doesn't list this 14:48:19 Oh, I see. 14:48:41 I'll just remove load because I don't think there's a legitimate use for it. 14:48:50 Lymia: sure there is! evalling code 14:48:55 dynamically comptued code 14:49:01 but you can easily make a modified version of it 14:49:06 I'd like to see that program. 14:49:31 I have such an obfu somewhere... we're still on #esoteric, right? 14:49:58 hrm 14:50:27 hmm, actually I use loadstring 14:50:35 it's for an older version of lua 14:50:44 btu it would have to use load in lua 5.3 14:50:52 I think you can still extract non-deterministic behavior out of tables even if you skip non-safe values in next/pairs 14:51:20 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46538&oldid=46537 * Fizzie * (+4) /* Lua Environment */ I'm pretty sure this was a typo. 14:51:49 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46539&oldid=46538 * Lymia * (+246) 14:52:02 [wiki] [[Lua Joust]] M https://esolangs.org/w/index.php?diff=46540&oldid=46539 * Lymia * (+1) 14:52:13 -!- Lymia has left ("Hug~♪"). 14:52:18 -!- Lymia has joined. 14:52:19 opps 14:52:51 The only solution I can think of is disabling next and pairs. :c 14:53:12 -!- spiette has quit (Quit: :qa!). 14:53:19 -!- bender| has quit (Ping timeout: 250 seconds). 14:53:35 Lymia: but if you do that, then what you get doesn't resemble to lua much anymore 14:54:03 I could also do a very slow pairs() implementation 14:54:06 Which sorts 14:54:23 Lymia: can't you just (a) be careful with how you prepare the tables you pass to the program, and (b) set the hash seed to a fixed deterministic value so that any table the user creates is deterministic if you know its history? 14:54:39 b_jonas, the problem is allocation 14:54:48 The hash of, say, {} is its memory address. 14:54:54 oh... 14:54:55 ouch 14:55:04 that would be more difficult to fix, yes 14:55:40 -!- jaboja has quit (Ping timeout: 244 seconds). 14:56:05 Lymia: luckily for you the lua math standard library doesn't have a signbit or copysign function. The sign bits of NaN values from normal float arithmetic could depend on how you compile your code, but I think with the current lua standard library there might not be any way to extract the sign bit. 14:56:16 -!- spiette has joined. 14:56:27 I believe that'd be artitecture dependent. 14:56:31 Which I'm just going to have to live with. 14:56:41 No good ways out of that one. 14:56:44 Lymia: exactly, x87 has a saner rule for the sign bit than sse2 14:56:49 s/sse2/sse/ 14:57:06 no wait 14:57:42 bleh 14:57:44 x87 and sse also differ on the mantissa of the nan, but you can't generates nans with mantissa different from the "indeterminate" nan, so that doesn't matter 14:57:53 and x87 has the sane rule for them 14:57:57 The table data structure doesn't let me make the guarantees I want. 14:58:10 So I don't think just skipping over "bad" values in next will work. 14:58:22 and the sign of nans is actually undefined on sse (as in the documentation says that it's undefined, which is uncharacteristic for x86) 14:58:44 Lymia: could you fix the addresses too by allocating with a memory allocator you control from a pool of a fixed address? 14:59:02 Or from a pool of variable address, but modify the hash function? 14:59:08 That would eliminate any possibility of a Lua implementation. 14:59:15 It'd have to be in C, maybe with a patched Lua. 14:59:42 Lymia: ok, alternately, can you determine determinism if next returns only keys of certain types? 14:59:47 I don't know how the table works 15:00:00 I don't think so. 15:00:04 though there's still the problem with # of course 15:00:27 The hash table uses some algorithm that puts colliding elements in different slots, instead of a linked list. 15:00:27 I have looked at only very few parts of the lua implementation, not the table impl. 15:00:43 So bad elements (From what it looks like) can actually cause reordering in otherwise good elements. 15:00:54 # should be safe. 15:01:07 Ok, wait, what if you ask a hint from #lua here on freenode? They can handle crazy technical questions about lua as far as I remember. 15:01:35 Hrm. 15:01:37 I could remove next. 15:01:53 And replace pairs() with a custom deterministic ordering. 15:02:48 Lymia: you say "The tostring function is modified to not reveal the address of tables, threads, functions, or userdata." -- can exception formatting use the builtin tostring, which you could detect with xpcall? 15:03:11 Lymia: also, wait, can you catch "out of memory" errors from pure lua? 15:03:45 .. er. 15:03:59 I don't know. 15:04:17 I'm being evil here 15:04:19 I also thought of stack overflows, but. 15:04:48 wait wait 15:05:04 Running out of stack space. 15:05:06 you're allowed to set metatables on tables, right? 15:05:09 Yes. 15:05:17 Lymia: you say "The tostring function is modified to not reveal the address of tables, threads, functions, or userdata." -- can exception formatting use the builtin tostring, which you could detect with xpcall? 15:05:25 I can't figure out how to get that into an error message. 15:05:34 Calling error gets you (error object is a table value) 15:05:41 that means you can create a table with weak values, which means you can observe the garbage collector, right? 15:06:01 And __gc too. 15:06:03 But that's solvable. 15:06:10 go on 15:06:14 Those only matter on setmetatable() time, so. 15:06:19 You can just remove those values from the table. 15:06:38 If you add __gc or __mode to the metatable after you setmetatable, they don't do anything. 15:07:42 Lymia: what if __mode was already there but you modify it later? 15:08:38 Lymia: also, does the __mode of the metatable get possibly re-examined at the next garbage collection cycle? 15:09:22 I just mentioned that. 15:09:38 Hold on 15:09:54 "Note that if you set a metatable without a __gc field and later create that field in the metatable, the object will not be marked for finalization." 15:10:23 The same is not guarenteed for __mode in the secp. 15:10:24 spec* 15:10:25 Lymia: I think what you said about __mode is for older versions of lua 15:10:27 But, AFAIK, it still holds. 15:11:00 Lymia: I don't think so 15:11:43 Hrm. __mode was changed, yeah. 15:11:50 *snicker* 15:12:03 I sort of like lua for things like this, but good luck if you fix all this 15:13:14 OK. 15:13:15 Let's do this 15:13:24 Disable garbage collection while running the programs. 15:13:29 And run a cycle manually afterwards. 15:15:05 Eliminate GC non-determinism. 15:16:36 oh 15:16:47 you mean you won't re-create the lua interpreter between runs? 15:16:58 The implementation is in Lua. 15:17:11 I guess that is a solution. 15:17:11 I assumed you would, but it might not be necessary, if you recreate all of the environment (including the math table and stuff) 15:17:18 Yep. 15:17:20 -!- oerjan has joined. 15:17:36 pairs() is the only real nasty problem. 15:17:41 you might also have to recreate the metatable of strings, and stuff like that 15:17:56 getmetatable and setmetatable are patched to only set metatables on tables. 15:18:03 But I'll just remove them since __mode is an issue. 15:18:14 ouch 15:18:20 you remove them entirely? 15:18:26 I might. 15:18:43 I'll have to think about that. 15:18:56 is there some way to access the metatable of strings without getmetatable? 15:20:53 No. 15:21:04 getfenv used to be a problem 15:21:06 But not anymore. 15:21:11 `? metatable 15:21:30 metatable? ¯\(°​_o)/¯ 15:21:51 Lymia: ok, well good luck, and ask #lua 15:24:09 The other answer is to drop nondeterminism. 15:24:14 And allow random behavior. 15:27:30 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46541&oldid=46540 * Lymia * (+131) /* Detailed Rules */ 15:30:44 @tell ais523 but that's at least partly because I do most of my work in bed <-- i believe that doing ordinary activities in bed is considered bad for sleep hth 15:30:44 Consider it noted. 15:30:58 Hrm. 15:31:02 Different project. 15:31:08 Helloerjan 15:31:20 tafterneb 15:31:23 What's the best way to detect "potato" programs. 15:31:37 In BFJoust which are terrible and unlikely to be useful. 15:31:51 check for initial < hth 15:31:57 I intend to run a large hill of >10000 programs 15:32:19 How do I take the raw scores from that and figure out which programs are potato. 15:32:49 Lymia: recursively eliminate the programs with zero wins? 15:33:00 hrm 15:33:05 That'd indeed cull the worst of the worst. 15:33:12 But not the "maybe OK" programs. 15:33:28 Like. 15:33:37 `olist 1027 15:33:38 That ends as soon as you find a program where A beats B and B beats A 15:33:42 olist 1027: shachaf oerjan Sgeo FireFly boily nortti b_jonas 15:33:45 It doesn't actually have to do if they're any good or not. 15:33:48 but whether a program does well depends on the other programs on the hill 15:34:15 oolist 15:34:57 Lymia: how would you run a hill of 10000 programs? that would mean 10000**2 matches! you'd need a powerful set of computers for that, even if you write really optimized joust backends. 15:35:30 -!- p34k has joined. 15:35:35 Time 15:35:36 Lots o fit 15:35:38 of it* 15:35:52 but... um... 15:36:54 Volume! 15:37:25 ? 15:37:30 But what 15:38:08 just hack into a supercomputer hth 15:38:28 -!- lambda-11235 has joined. 15:38:29 then it should only take about 80 years. 15:39:38 It's 15:39:51 wait, he doesn't even mention that Banjo is freaking chaotic and could easily have voted the wrong way? 15:39:56 Only a hundred million matchups 15:40:01 That isn't too terrible. 15:40:08 As far as "computable things" goes. 15:40:12 `learn It's written with an apostrophe. 15:40:20 Learned 'it'': It's written with an apostrophe. 15:40:33 A week at worst, most likely. 15:41:59 > 100 * 100 * 42 15:42:00 420000 15:42:18 > 100 * 100 * 42 * 100000 -- :: Cycles 15:42:19 42000000000 15:42:32 -!- lleu has joined. 15:43:04 Lymia: assuming 1000 cycles a second, worst case that'll take 16 months 15:44:06 > 50 * 99 * 42 * 100000 -- :: Cycles, removing trivial matchups 15:44:08 20790000000 15:44:23 Still 240 days 15:44:44 1000 cycles a second? 15:44:59 Are you running it on a Pentium III? 15:45:19 Lymia: I have no instinct for how fast a cycle should be 15:45:41 -!- XorSwap has joined. 15:45:50 Or a 8086? That might get the 1000 cycles/s 15:45:56 It's orders of magnitude off. 15:46:00 Well then 15:46:09 You're in luck that I don't decide how fast things go 15:47:55 I'd say very conservatively maybe 1 million cycles a second. 15:48:02 um 15:57:56 Taneb, basically. If you estimate 1000 cycle/s 15:58:47 You're guessing 2 million processor cycles per BFJoust cycle at 2 GhZ. For one core. 16:01:07 I am way off 16:04:55 I'm measuring 0.019s per core for a full round of (.)*-1 vs (.)*-1 16:05:24 Which implies maybe 50 full rounds per second worst case 16:06:22 Giving 23 days. But that's if every match takes the full 100000 cycles. 16:06:50 So, around a week or so given 4 cores. 16:07:42 I'm not worried. 16:08:02 -!- _46bit has joined. 16:09:31 -!- J_Arcane has quit (Ping timeout: 252 seconds). 16:10:10 -!- mroman has quit (Quit: Lost terminal). 16:10:48 <_46bit> I came second in a Brainfuck competition! 16:11:48 _46bit: are you from york 16:12:00 <_46bit> yes! 16:12:09 Taneb here also participated 16:12:12 <_46bit> indeed 16:12:26 oerjan: we know each other 16:12:36 <_46bit> Taneb actually earned their prize 16:12:44 Lymia: IIRC, it takes on the order of a few seconds (less than three, I think) to run through the 1081 pairings zemhill's 47-program hill has. Assuming it was 2 seconds, and extrapolating to 10000 (so a factor of (10000*9999)/(47*46)), that'd be about ~100k CPU-seconds. That's barely over a day, and that's single-threaded. 16:12:53 <_46bit> I did something like FizzBuzz 16:12:59 <_46bit> and then nobody else entered 16:13:00 <_46bit> so I won 16:13:04 @bf ++++++++++[>++++++++++>+++++++++++>+++<<<-]>-.>+.-.<++++.>++++.<------.>++.+.---------.<.>++++++++.<++++++++.++++++.-.>-.<<. 16:13:04 congratulations 16:13:06 <_46bit> :-( :-) 16:13:08 congrats to both of you 16:13:18 @bf ++++++++++[>++++++++++>+++++++++++>+++<<<-]>-.>+.-.<++++.>++++.<------.>++.+.---------.<.>++++++++.<++++++++.++++++.-.>-.>. 16:13:18 congratulations 16:13:34 ah. 16:13:37 @bf ++++++++++[>++++++++++>+++++++++++>+++<<<-]>-.>+.-.<++++.>++++.<------.>++.+.---------.<.>++++++++.<++++++++.++++++.-.>-.>+++. 16:13:37 congratulations! 16:13:39 In practice 16:13:40 stupid. 16:13:55 I only actually have 5297 programs. 16:13:57 So cut that by 1/4 16:14:36 -!- J_Arcane has joined. 16:14:47 Also from an old hill -- "Simulated a total of 378501202 cycles in 45402 individual jousts for 1081 duels." That gives an average of 8337 cycles/[whatever term you want to use]. 16:15:59 11470 distinct programs, but. 16:16:09 If my canonicalization is good. 16:16:17 Only 5297 in effect 16:18:24 oh, well 16:18:25 nope 16:18:30 I definitely have canonicalization errors 16:20:51 hmm 16:21:35 fixed. 16:22:09 Ah, there's an actual number. 16:22:10 2014-09-22 19:53:50 ais523: gearlanced can run the entire hill (all 1081 program pairs) in 1.7 seconds on this system. 16:22:29 Is what I get for using regex. 16:22:37 How's torquelance? 16:23:00 None of the fancy variants have really been worth it, IIRC. 16:23:15 I did measure a 2x speedup from it 16:23:22 On a simple case 16:24:01 -!- XorSwap has quit (Ping timeout: 244 seconds). 16:24:09 but, urgh protobuf 16:24:21 Yeah, I kind of got carried away. 16:24:40 It's only for the visualization statistics, I think. 16:25:03 Most of my runtime in the version gathering phase 16:25:07 Is from hg 16:25:19 Oh, I guess it's for everything now. Sorry about that. 16:25:19 That thing is slow 16:25:35 I could probably honestly speed it up using git-hg 16:25:37 Let's try that 16:25:55 Well, the "ascii-based" protocol it had wasn't exactly pleasant either. 16:27:05 Anyway, using gearlanced to run a hill is quite a bit faster than calling gearlance individually for each pair. 16:28:13 Can has a torquelanced? :P 16:28:21 iunno 16:28:26 I should benchmark it for real sometime 16:28:30 To see if that stuff is actually worth it 16:29:19 I think wrenchlance worked better than torquelance in my own tests, but I haven't really been very rigorous about this. 16:30:04 wrenchlance invokes gcc 16:30:08 oh, but only once per pair 16:30:17 Er 16:30:19 program* 16:30:48 You could probably put together a torquelanced though 16:30:54 wrenchlance seems more resistant to taht 16:31:34 Not even a torquelanced 16:32:10 torquelance_multiple right_B right_B2 program1A program2A program3A program4A... 16:32:40 Huh, that's interesting. In a straight-forward "run the thing for each pair individually", http://sprunge.us/JHOS -- more elapsed-time but less user-time. 16:34:23 ? 16:34:31 Could it be from your shell script 16:36:39 Could be. These aren't really meant for benchmarking at all, it's part of the regression-testing thing. 16:36:46 I just stuck a "time" there for funsies. 16:36:51 -!- nycs has joined. 16:37:17 -!- `^_^v has quit (Ping timeout: 268 seconds). 16:44:23 -!- jaboja has joined. 16:48:29 Hrm 16:48:39 Maybe I could make do with a specialized program based off torquelance? 16:48:57 Reads BFJoust programs from stdin, compiles and does a full tournament on them in-memory 16:54:34 @tell ais523 mad: as I said, this is how quantum bogosort "works" <-- btw i think such things are not really believed possible; they're basically incompatible with the principle of unitary evolution - they require postselection, a feature which quantum mechanics does _not_ seem to support. 16:54:34 Consider it noted. 16:54:59 -!- J_Arcane has quit (Ping timeout: 244 seconds). 16:56:31 @tell ais523 That is, you can set up an experiment in which two paths (with indistinguishible results) cancel each other, but you cannot do that from inside that paths themselves, and there must always remain possible paths. 16:56:31 Consider it noted. 16:57:34 @tell ais523 (because unitary evolution means the total probability of all remaining options does not change.) 16:57:34 Consider it noted. 17:00:26 -!- AnotherTest has joined. 17:05:40 -!- J_Arcane has joined. 17:17:52 fizzie, so. Something more difficult 17:18:06 What do I do if I want full stats for 10000 v 10000 17:20:47 !ztest http://google.com 17:20:47 Lymia: "!ztest progname code". See http://zem.fi/bfjoust/ for documentation. 17:20:52 !ztest google http://google.com 17:20:52 Lymia: error: parse error: encountered { without suitable enclosing ( 17:21:08 Hrm 17:21:17 impossible things: html+bfjoust polygot 17:21:22 Or, well. 17:21:25 It's possible, but... 17:21:32 Only for one bfjoust program. 17:24:03 Lymia: that depends on how exactly you interpret HTML 17:24:35 b_jonas: if you interpret HTML using a brainfuck interpreter.... 17:26:06 you die 17:33:46 -!- XorSwap has joined. 17:34:44 -!- oerjan has quit (Quit: Later). 17:35:08 -!- XorSwap has quit (Client Quit). 17:41:51 -!- jaboja has quit (Ping timeout: 264 seconds). 18:00:48 -!- oerjan has joined. 18:01:01 !sh uptime 18:01:01 18:01:01 up 83 days, 11:14, 0 users, load average: 13.09, 13.15, 13.22 18:01:09 Lymia: which is just what you deserve 18:01:20 I mean, if you did that 18:01:45 !sh ps | grep lance 18:01:46 ​\ \ Signal 18 (CONT) caught by ps (procps version 3.2.8). \ Please send bug reports to or 18:01:54 wat 18:02:08 oh well. 18:02:12 (many brainfuck interpreters won't care, of course... and after the next > you'll be in safe territory again) 18:02:29 -!- oerjan has quit (Client Quit). 18:02:30 hmm, that's a cool one... 18:02:56 !sh ps | grep lance 18:02:56 ​\ \ Signal 18 (CONT) caught by ps (procps version 3.2.8). \ Please send bug reports to or 18:03:10 okay so apparently it does that every time :/ 18:03:16 \o/ 18:03:43 and what's !sh anyway 18:04:49 !sh pstree | grep lance 18:04:50 ​| | | `-report---gearlance] \ | | | `-report---gearlance] 18:05:10 Can you kill it? 18:05:18 Try killall -9 report 18:05:57 !sh grep lance /proc/*/cmdline 18:05:57 Binary file /proc/12604/cmdline matches \ Binary file /proc/12663/cmdline matches \ Binary file /proc/12728/cmdline matches \ Binary file /proc/13455/cmdline matches \ Binary file /proc/13547/cmdline matches \ Binary file /proc/13728/cmdline matches \ Binary file /proc/13988/cmdline matches \ Binary file /proc/14438/cmdline matches \ Binary file /proc/14988/cmdline matches \ Binary file /proc/15555/cmdline matches 18:06:43 * int-e isn't sure how much he can break there 18:06:45 !sh whoami 18:06:46 ​/usr/bin/whoami: cannot find name for user ID 1546733 18:06:59 !sh pstree -u | grep lance 18:07:00 ​| | | `-report---gearlance] \ | | | `-report---gearlance] 18:07:34 !sh pstree -u | grep report 18:07:34 ​| | | `-report---gearlance] \ | | | `-report---gearlance] 18:07:41 !sh killall report 18:07:42 report(995): Operation not permitted \ report(12604): Operation not permitted \ report(12663): Operation not permitted \ report(12728): Operation not permitted \ report(13455): Operation not permitted \ report(13547): Operation not permitted \ report(13728): Operation not permitted \ report(13988): Operation not permitted \ report(14438): Operation not permitted \ report(14988): Operation not permitted \ report(15555): 18:07:47 okay, nothing :) 18:07:53 Wish that'd work. 18:07:55 !sh pstree -u | grep report 18:07:56 ​| | | `-report---gearlance] \ | | | `-report---gearlance] 18:08:00 It needs doing. 18:08:08 !sh pstree -p | grep report 18:08:08 ​| | | `-report(995)---gearlance(31444) \ | | | `-report(12604)---gearlance(3138+ \ | | | `-report(12663)---gearlance(3138+ \ | 18:08:10 Check /tmp for goodies 18:09:05 -!- lynn has joined. 18:09:33 !sh du -s /tmp 2>/dev/null 18:09:34 4./tmp 18:09:59 I wonder if there's overflows and/or 'fun' to be had with gearlance. 18:10:11 probably? 18:10:18 If you can get it to run code as the same user as report. 18:10:22 And killit 18:11:09 Lymia: Well, zhillcrank.rb takes 4.121s of elapsed time to crank full statistics for the 47-program hill, so computationally speaking that doesn't sound like a problem. Though you'd probably need to adjust it to do some batching. The stat file for 47 programs is 8147534 and I would assume it to be approximately linear in the number of pairs. Extrapolating to 10k programs, that'd mean ... 18:11:15 ... 376814026207 bytes ~ 350 GB, which might not fit in RAM on many systems. (Especially since the in-memory representation probably has more overhead.) 18:11:38 s/8147534/8147534 bytes/ 18:12:16 You need gearlance, right? 18:12:18 For stats 18:12:24 No fancy lances. 18:12:32 Yes. 18:12:37 But it's not that slow. 18:12:55 I'd also like to modify it to generate .svg files instead of .png 18:13:01 To save on storage spce. 18:13:02 space* 18:13:31 Last time I tried 100x100 I remember problems with it using lots of space on disk. 18:13:33 Oh, you mean running the old-style egostats? That would be entirely impossible. 18:13:34 The final output 18:14:48 How so? 18:16:26 Because those scripts manage to use multiple gigabytes of memory to even run for the 47x47 case. 18:16:37 I assumed you just wanted the raw data. 18:17:33 (To do something with, I don't know what.) 18:18:09 Many (most?) of the plots also wouldn't really work for 10k programs. 18:25:58 !sh awk '{ print $22 }' /proc/{995,self}/stat 18:25:59 717423685 \ 721318974 18:26:26 > (721318974 - 717423685) / 100 / 3600 18:26:27 10.820247222222221 18:26:52 I think that's how long ago (in hours) that thing was started 18:27:49 I think I vaguely recall a discussion on how EgoBot's copy of gearlance predates the fix for empty loops. 18:28:07 oh is that the ()*-1 stuff? 18:28:41 I think so, yes. 18:28:50 Or some more complex forms. 18:29:06 (Like nested ones.) 18:31:53 hah, there's a !bfjoust command at 8:36, which fits my calculation 18:37:04 !sh grep -l report /proc/[1-9]*/stat | xargs awk 'p { print (s - $22)/100, "seconds ago" } !p { p = 1; s = $22; }' /proc/self/stat | date -f- 18:37:05 ​/bin/grep: /proc/9303/stat: No such file or directory \ Sun Mar 6 23:57:45 UTC 2016 \ Sun Mar 6 23:57:56 UTC 2016 \ Sun Mar 6 23:58:03 UTC 2016 \ Mon Mar 7 00:00:19 UTC 2016 \ Mon Mar 7 00:00:27 UTC 2016 \ Mon Mar 7 00:00:51 UTC 2016 \ Mon Mar 7 00:01:20 UTC 2016 \ Mon Mar 7 00:02:13 UTC 2016 \ Mon Mar 7 00:02:58 UTC 2016 \ Mon Mar 7 00:03:46 UTC 2016 \ Mon Mar 7 07:12:11 UTC 2016 \ Mon Mar 7 14:10:24 UTC 18:37:09 fizzie, so, better question. 18:37:17 zhillcrank outputs this, right: http://zem.fi/bfjoust/vis/cycles/ 18:37:33 How do you expect this UI to hold up to 10000 x 10000 warriors 18:39:13 00:56:23 !bfjoust pause ()*-1 00:56:26 ​Score for b_jonas_pause: 6.1 ... hmmmmm. 18:40:33 !sh date 18:40:34 Mon Mar 7 18:40:34 UTC 2016 18:40:51 !bfjoust live . 18:41:14 ah, that's the one: 00:57:44 !bfjoust pause ((({})*999999)*9999999)*999999 18:41:35 it's been broken since. 18:42:41 `? b_jonas 18:42:49 b_jonas egy nagyon titokzatos személy. Hollétéről egyelőre nem ismertek. 18:42:58 aha. 18:43:05 does it say that he's a bad person? 18:44:45 !sh grep -l report /proc/[1-9]*/stat | xargs awk 'p { print (s - $22)/100, "seconds ago" } !p { p = 1; s = $22; }' /proc/self/stat | date -f- +%d-%H:%M:%S 18:44:46 ​/bin/grep: /proc/15886/stat: No such file or directory \ 07-18:40:52 \ 06-23:57:45 \ 06-23:57:56 \ 06-23:58:03 \ 07-00:00:19 \ 07-00:00:27 \ 07-00:00:51 \ 07-00:01:20 \ 07-00:02:13 \ 07-00:02:59 \ 07-00:03:46 \ 07-07:12:11 \ 07-14:10:25 \ 07-07:36:46 18:45:34 !sh grep -l report /proc/[1-9]*/stat 2>/dev/null | xargs awk 'p { print (s - $22)/100, "seconds ago" } !p { p = 1; s = $22; }' /proc/self/stat | date -f- +%d-%H:%M:%S | sort | xargs 18:45:35 06-23:57:45 06-23:57:56 06-23:58:03 07-00:00:19 07-00:00:27 07-00:00:51 07-00:01:20 07-00:02:14 07-00:02:59 07-00:03:46 07-07:12:11 07-07:36:46 07-14:10:25 07-18:40:52 18:49:07 (these are the start times of the various report processes; presumably they all hang waiting on a gearlance process that's merrily consuming CPU cycles) 18:49:37 oh and the output is UTC 18:50:25 h,, 18:50:27 hm 18:50:29 Check their pid 18:50:55 995 is the first one (see above) 18:51:05 Er 18:51:06 Not pid, uid 18:53:29 -!- copumpkin has quit (Quit: Textual IRC Client: www.textualapp.com). 18:53:47 !sh ls -la /proc/995/stat 18:53:48 ​/bin/ls: /proc/995/stat: Function not implemented \ -r--r--r-- 1 5000 0 0 Mar 7 14:10 /proc/995/stat 18:53:49 -!- copumpkin has joined. 18:54:02 !sh id 18:54:03 uid=1236523 gid=1236523 18:54:07 !sh id 18:54:07 uid=1332109 gid=1332109 18:54:14 ... is it 100% random? 18:54:27 That could be fun if it randomly happens to be 5000 18:54:37 uname -a? :P 18:54:45 !sh uname -a 18:54:45 Linux codu.org 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 x86_64 GNU/Linux 18:54:51 can't you do that yourself? 18:55:01 !sh test 18:55:01 No output. 18:55:06 !sh test 18:55:07 No output. 18:55:07 huh 18:55:18 3.2.0 is old isn't it 18:55:40 I wonder if it fixes the keyrings exploit 18:55:40 !ls /boot 18:56:03 !sh ls /boot 18:56:04 ​/bin/ls: cannot access /boot: No such file or directory 18:56:09 !sh ls / 18:56:10 bin \ dev \ etc \ home \ lib \ lib64 \ opt \ proc \ tmp \ usr 18:57:20 !sh find / -perm -4000 18:57:20 ​/usr/bin/find: `/': Function not implemented 18:57:27 wut 18:57:29 !sh find / -perm 4000 18:57:29 ​/usr/bin/find: `/': Function not implemented 18:57:34 !sh busybox find / -perm 4000 18:57:55 find: /proc/tty/driver: Input/output error \ find: /proc/1/task/1/fd: Input/output error \ find: /proc/1/task/1/fdinfo: Input/output error \ find: /proc/1/task/1/ns: Input/output error \ find: /proc/1/fd: Input/output error \ find: /proc/1/fdinfo: Input/output error \ find: /proc/1/ns: Input/output error \ find: /proc/2/task/2/fd: Input/output error \ find: /proc/2/task/2/fdinfo: Input/output error \ find: /proc/2/task/2/ns: 18:58:00 !sh busybox find / -perm 4000 | paste 18:58:17 find: /proc/tty/driver: Input/output error \ find: /proc/1/task/1/fd: Input/output error \ find: /proc/1/task/1/fdinfo: Input/output error \ find: /proc/1/task/1/ns: Input/output error \ find: /proc/1/fd: Input/output error \ find: /proc/1/fdinfo: Input/output error \ find: /proc/1/ns: Input/output error \ find: /proc/2/task/2/fd: Input/output error \ find: /proc/2/task/2/fdinfo: Input/output error \ find: /proc/2/task/2/ns: 18:58:24 !sh busybox find / -perm 4000 2>/dev/null 18:58:40 -!- Reece` has joined. 19:01:25 !sh busybox ps ax 19:01:26 PID USER COMMAND \ 1 0 /lib/systemd/systemd --system --deserialize 17 \ 2 0 [kthreadd] \ 3 0 [ksoftirqd/0] \ 5 0 [kworker/u:0] \ 6 0 [migration/0] \ 7 0 [watchdog/0] \ 8 0 [migration/1] \ 10 0 [ksoftirqd/1] \ 11 0 [watchdog/1] \ 12 0 [cpuset] \ 13 0 [khelper] \ 14 0 [kdevtmpfs] \ 15 0 19:01:56 !sh ldd `which find` 19:01:56 ldd: exited with unknown exit code (139) 19:02:03 !sh busybox ldd `which find` 19:02:04 ldd: applet not found 19:02:26 !sh LD_PRELOAD=/lib/libc.so.6 ldd `which find` 19:02:26 ​/bin/bash: /usr/bin/ldd: No such file or directory 19:02:39 !sh LD_PRELOAD=/lib/libc.so.6 LD_LIBRARY_PATH="" ldd `which find` 19:02:40 ​/bin/bash: /usr/bin/ldd: No such file or directory 19:02:48 !sh ls /usr/bin/ldd 19:02:49 ​/usr/bin/ldd 19:02:53 !sh ls -alh /usr/bin/ldd 19:02:53 ​/bin/ls: /usr/bin/ldd: Function not implemented \ -rwxr-xr-x 1 0 0 5.8K Aug 16 2009 /usr/bin/ldd 19:03:01 !sh busybox ls -alh /usr/bin/ldd 19:03:01 ​-rwxr-xr-x 1 0 0 5.7K Aug 16 2009 /usr/bin/ldd 19:03:12 !sh busybox cp /usr/bin/ldd /tmp/ldd 19:03:12 No output. 19:03:19 !sh LD_PRELOAD=/lib/libc.so.6 LD_LIBRARY_PATH="" /tmp/ldd `which find` 19:03:20 ​/tmp/input.32686: line 1: /tmp/ldd: No such file or directory 19:03:26 !sh /tmp/ldd `which find` 19:03:27 ​/tmp/input.358: line 1: /tmp/ldd: No such file or directory 19:03:33 !sh ls /tmp 19:03:33 input.504 19:03:43 !sh busybox ls /tmp 19:03:44 input.693 19:03:50 !sh busybox ls -alh /tmp 19:03:51 ​-rw-r--r-- 1 5000 0 21 Mar 7 19:03 input.837 19:03:56 !sh busybox ls -alh / 19:03:56 drwxr-xr-x 2 0 0 4.0K Oct 12 2011 bin \ drwxrwxrwx 0 0 0 0 Jan 1 1970 dev \ drwxrwxrwx 0 0 0 0 Jan 1 1970 etc \ drwxrwxrwx 0 0 0 0 Jan 1 1970 home \ drwxr-xr-x 11 0 0 8.0K Dec 31 2011 lib \ lrwxrwxrwx 1 0 0 4 Jan 1 1970 lib64 -> /lib \ drwxrwxrwx 0 0 0 0 19:03:57 Hrm 19:04:00 Mount namespaces? 19:04:05 !sh busybox mount 19:04:06 rootfs on / type rootfs (rw) \ sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) \ proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) \ udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=477568,mode=755) \ devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) \ tmpfs on /run type tmpfs (rw,nosuid,relatime,size=771108k,mode=755) \ /dev/xvda1 on / type ext3 19:04:13 !sh busybox mount | grep tmp 19:04:14 udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=477568,mode=755) \ tmpfs on /run type tmpfs (rw,nosuid,relatime,size=771108k,mode=755) \ tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) \ tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) \ tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) \ tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=385556k,mode=700) 19:04:21 !sh busybox mount | grep /tmp 19:04:21 No output. 19:04:25 !sh busybox mount | grep / 19:04:25 rootfs on / type rootfs (rw) \ sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) \ proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) \ udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=477568,mode=755) \ devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) \ tmpfs on /run type tmpfs (rw,nosuid,relatime,size=771108k,mode=755) \ /dev/xvda1 on / type ext3 19:05:15 !sh busybox ls /run 19:05:15 ls: /run: No such file or directory 19:05:20 !sh busybox ls / 19:05:20 bin \ dev \ etc \ home \ lib \ lib64 \ opt \ proc \ tmp \ usr 19:05:33 Mount namespaces, definitely. 19:05:39 !sh busybox ls /home 19:05:39 egobot 19:05:41 !sh busybox ls /home/egobot 19:05:41 egobot.hg 19:05:45 !sh busybox ls /home/egobot/egobot.hg 19:05:46 multibot_cmds 19:05:53 !sh busybox ls /home/egobot/egobot.hg/multibot_cmds 19:05:54 interps \ lib \ slox 19:06:00 !sh busybox ls -alh /home/egobot/egobot.hg/multibot_cmds 19:06:00 drwxr-xr-x 39 5000 5000 4.0K Feb 20 2011 interps \ drwxr-xr-x 2 5000 5000 4.0K May 31 2012 lib \ drwxrwxrwx 0 0 0 0 Jan 1 1970 slox 19:06:12 !sh ls /dev/shm 19:06:13 ​/bin/ls: cannot access /dev/shm: No such file or directory 19:06:15 !sh ls /dev/ 19:06:16 null 19:06:42 I only know about HackEgo sandboxing, I don't know if/how similar EgoBot is. 19:06:45 !sh busybox --help 19:06:45 BusyBox v1.14.2 (Debian 1:1.14.2-2) multi-call binary \ Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko \ and others. Licensed under GPLv2. \ See source distribution for full notice. \ \ Usage: busybox [function] [arguments]... \ or: function [arguments]... \ \.BusyBox is a multi-call binary that combines many common Unix \..utilities into a single executable. Most people will create 19:06:53 !sh ldd `which busybox` 19:06:53 ldd: exited with unknown exit code (139) 19:07:06 It looks like there's something weird going on with the libc 19:07:13 busybox is usually static, so. 19:07:22 `? 19:07:22 Mmmmm... no. 19:07:36 I'll get revenge some day. 19:08:14 !sh (sleep 100) & 19:08:20 !sh id ; (sleep 100) & 19:08:31 !sh busybox ps axu | grep sh 19:08:31 115 0 [flush-202:0] \ 941 5000 /bin/bash PRIVMSG/tr_21.cmd PRIVMSG #esoteric !bfjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] \ 953 0 /usr/sbin/sshd -D \ 967 5000 /bin/bash scmds/bfjoust bfjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] PRIVMSG #esoteric !bfjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] \ 990 5000 /bin/bash scmds/bfjoust bfjoust comex_the_first_program_ever 19:09:27 !sh busybox ps axu | grep gearlance 19:09:28 995 5000 ../report ../gearlance ../cache Deewiant_allegro.bfjoust Deewiant_pendolino.bfjoust Fiora_timestopping-mahou-shoujo.bfjoust Gregor_furry_furry_strapon_pegging_girls.bfjoust Lymia_aurora.bfjoust Lymia_flow.bfjoust Lymia_nyuroki.bfjoust Lymia_two_people_runn \ 6587 5000 /bin/bash PRIVMSG/tr_21.cmd PRIVMSG #esoteric !sh busybox ps axu | grep gearlance \ 6604 5000 /bin/bash PRIVMSG/tr_21.cmd 19:10:17 !sh busybox wget https://api.ipify.org?format=json - 19:10:18 wget: not an http or ftp url: https://api.ipify.org?format=json 19:10:22 !sh busybox wget http://api.ipify.org?format=json - 19:10:22 wget: bad address 'api.ipify.org' 19:10:29 !sh busybox wget http://api.ipify.org/?format=json - 19:10:30 wget: bad address 'api.ipify.org' 19:10:56 !sh busybox wget http://23.21.54.217/?format=json - 19:10:57 Connecting to 23.21.54.217 (23.21.54.217:80) \ wget: cannot connect to remote host (23.21.54.217): Connection refused 19:11:12 !sh busybox ifconfig 19:11:12 eth0 Link encap:Ethernet HWaddr AA:00:00:3E:AD:41 \ inet addr:64.62.173.65 Bcast:64.62.173.127 Mask:255.255.255.128 \ inet6 addr: fe80::a800:ff:fe3e:ad41/64 Scope:Link \ UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 \ RX packets:16546593 errors:0 dropped:0 overruns:0 frame:0 \ TX packets:14196923 errors:0 dropped:0 overruns:0 carrier:0 \ collisions:0 19:11:37 !sh busybox ifconfig | grep Link 19:11:37 eth0 Link encap:Ethernet HWaddr AA:00:00:3E:AD:41 \ inet6 addr: fe80::a800:ff:fe3e:ad41/64 Scope:Link \ lo Link encap:Local Loopback 19:11:58 !sh busybox wget http://127.0.0.1/ - 19:11:58 Connecting to 127.0.0.1 (127.0.0.1:80) \ wget: can't open 'index.html': Permission denied 19:12:09 !sh busybox curl http://127.0.0.1/ 19:12:10 curl: applet not found 19:12:45 !sh busybox curl http://127.0.0.1/ -O - 19:12:46 curl: applet not found 19:12:50 !sh busybox get http://127.0.0.1/ -O - 19:12:50 get: applet not found 19:12:52 !sh busybox wget http://127.0.0.1/ -O - 19:12:52 Connecting to 127.0.0.1 (127.0.0.1:80) \ \ \ Codu \ \ \ \ \ \ !sh busybox wget http://64.62.173.65/ -O - 19:14:17 Connecting to 64.62.173.65 (64.62.173.65:80) \ \ \ Codu \ \ \ \ \ \ !sh busybox wget http://64.62.173.66/ -O - 19:14:22 Connecting to 64.62.173.66 (64.62.173.66:80) \ wget: cannot connect to remote host (64.62.173.66): Connection refused 19:14:31 !sh busybox wget http://8.8.8.8/ -O - 19:14:31 Connecting to 8.8.8.8 (8.8.8.8:80) \ wget: cannot connect to remote host (8.8.8.8): Connection refused 19:16:02 !sh wget http://google.com/ -O - 19:16:02 ​--2016-03-07 19:16:02-- http://google.com/ \ Resolving google.com... failed: Name or service not known. \ wget: unable to resolve host address `google.com' 19:16:57 -!- jaboja has joined. 19:20:08 !sh wget http://127.0.0.1/projects/hackbot/fshg/index.cgi/raw-file/0837befd290c/foo 19:20:10 ​--2016-03-07 19:20:08-- http://127.0.0.1/projects/hackbot/fshg/index.cgi/raw-file/0837befd290c/foo \ Connecting to 127.0.0.1:80... connected. \ HTTP request sent, awaiting response... 200 Script output follows \ Length: 4 [application/binary] \ foo: Permission denied \ \ Cannot write to `foo' (No such file or directory). 19:20:15 !sh wget http://127.0.0.1/projects/hackbot/fshg/index.cgi/raw-file/0837befd290c/foo -O - 19:20:16 ​--2016-03-07 19:20:15-- http://127.0.0.1/projects/hackbot/fshg/index.cgi/raw-file/0837befd290c/foo \ Connecting to 127.0.0.1:80... connected. \ HTTP request sent, awaiting response... 200 Script output follows \ foo \ Length: 4 [application/binary] \ Saving to: `STDOUT' \ \ 0K 100% 285K=0s \ \ 2016-03-07 19:20:16 (285 KB/s) - `-' saved [4/4] \ 19:20:45 !sh wget http://127.0.0.1/projects/hackbot/fshg/index.cgi/raw-file/0837befd290c/foo -O - 2>/dev/null 19:20:47 foo 19:20:58 !help 19:20:58 int-e: I do !zjoust; see http://zem.fi/bfjoust/ for more information. 19:20:58 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 19:21:34 !sh which gcc 19:21:35 ​/usr/bin/gcc 19:21:45 !fetch 19:22:21 Lymia: oh well, at least you can access files inside the hackego environment that way 19:22:25 `fetch 19:22:28 http://: Invalid host name. 19:23:03 !sh uname --kernel-release 19:23:03 3.2.0-4-amd64 19:23:19 !sh busybox uname --kernel-release 19:23:19 3.2.0-4-amd64 19:23:26 `fetch http://lpaste.net/raw/2845173683343851520 19:23:29 2016-03-07 19:23:06 URL:http://lpaste.net/raw/2845173683343851520 [26] -> "2845173683343851520" [1] 19:23:47 !sh busybox uname --operating-system 19:23:47 GNU/Linux 19:23:49 `pooch 19:23:54 !sh wget http://127.0.0.1/projects/hackbot/fshg/index.cgi/raw-file/tip/2845173683343851520 -O - 2>/dev/null 19:23:55 Testing something or other 19:24:04 `rm 2845173683343851520 19:24:08 No output. 19:24:13 !sh busybox uname --kernel-version 19:24:14 ​#1 SMP Debian 3.2.68-1+deb7u3 19:24:22 Strange. 19:24:36 !sh busybox ps ax | grep apache 19:24:37 2746 1000 /usr/sbin/apache2 -k start \ 2763 1000 /usr/sbin/apache2 -k start \ 3089 1000 /usr/sbin/apache2 -k start \ 3096 1000 /usr/sbin/apache2 -k start \ 3097 1000 /usr/sbin/apache2 -k start \ 3497 1000 /usr/sbin/apache2 -k start \ 8357 1000 /usr/sbin/apache2 -k start \ 13355 0 /usr/sbin/apache2 -k start \ 15913 1000 /usr/sbin/apache2 -k start \ 18503 1000 19:24:49 Is this Usermode Linux? 19:24:56 But if it is, why are there all these priviledged processes here 19:24:59 `uname -a 19:25:00 Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux 19:25:01 !sh busybox ps axu | grep apache 19:25:01 2746 1000 /usr/sbin/apache2 -k start \ 2763 1000 /usr/sbin/apache2 -k start \ 3089 1000 /usr/sbin/apache2 -k start \ 3096 1000 /usr/sbin/apache2 -k start \ 3097 1000 /usr/sbin/apache2 -k start \ 3497 1000 /usr/sbin/apache2 -k start \ 8357 1000 /usr/sbin/apache2 -k start \ 13355 0 /usr/sbin/apache2 -k start \ 15913 1000 /usr/sbin/apache2 -k start \ 18503 1000 19:25:13 it might be 19:25:47 `uname --kernel-release 19:25:48 3.13.0-umlbox 19:26:22 `uname --kernel-version 19:26:23 ​#1 Wed Jan 29 12:56:45 UTC 2014 19:26:44 !sh echo -e "\n\1" 19:26:44 ​\ \1 19:26:51 !sh echo -e '\n\1' 19:26:51 ​\ \1 19:27:09 !sh echo -e '\n\01' 19:27:09 ​\ . 19:27:21 !help 19:27:21 Lymia: I do !zjoust; see http://zem.fi/bfjoust/ for more information. 19:27:21 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 19:27:42 !help ne 19:27:42 ​Sorry, I have no help for ne! 19:27:56 !help 19:27:56 ​Sorry, I have no help for _! 19:31:26 -!- Reece` has quit (Read error: Connection reset by peer). 19:32:34 !sh top b 19:32:35 top - 19:32:35 up 83 days, 12:46, 0 users, load average: 14.34, 14.16, 14.09 \ Tasks: 241 total, 16 running, 225 sleeping, 0 stopped, 0 zombie \ Cpu(s): 0.6%us, 0.2%sy, 1.0%ni, 95.6%id, 2.6%wa, 0.0%hi, 0.0%si, 0.0%st \ Mem: 3855536k total, 3533808k used, 321728k free, 576588k buffers \ Swap: 0k total, 0k used, 0k free, 2309552k cached \ \ PID USER PR NI VIRT RES 19:33:05 soo, 95.6% idle, so it's probably not stuck on CPU 19:33:15 I think it's waiting for an external bfjoust server 19:33:52 which is why other commands work, only bfjoust doesn't work 19:35:31 !say a 19:38:19 !help "a b c" 19:38:19 ​Sorry, I have no help for _a_b_c_! 19:38:24 !help a b c 19:38:25 ​Sorry, I have no help for a_b_c! 19:39:06 !.empty 19:39:13 !sh ls /home/egobot 19:39:14 egobot.hg 19:39:17 !sh ls /home/egobot/egobot.hg 19:39:18 multibot_cmds 19:39:22 !sh ls /home/egobot/egobot.hg/multibot_cmds 19:39:22 interps \ lib \ slox 19:39:29 !sh ls -alh /home/egobot/egobot.hg/multibot_cmds 19:39:30 ​/bin/ls: /home/egobot/egobot.hg/multibot_cmds: Function not implemented \ /bin/ls: /home/egobot/egobot.hg/multibot_cmds/interps: Function not implemented \ /bin/ls: /home/egobot/egobot.hg/multibot_cmds/lib: Function not implemented \ /bin/ls: /home/egobot/egobot.hg/multibot_cmds/slox: Function not implemented \ total 8.0K \ drwxr-xr-x 39 5000 5000 4.0K Feb 20 2011 interps \ drwxr-xr-x 2 5000 5000 4.0K May 31 2012 19:39:34 !sh busbox ls -alh /home/egobot/egobot.hg/multibot_cmds 19:39:35 ​/tmp/input.1761: line 1: busbox: command not found 19:39:39 !sh busybox ls -alh /home/egobot/egobot.hg/multibot_cmds 19:39:40 drwxr-xr-x 39 5000 5000 4.0K Feb 20 2011 interps \ drwxr-xr-x 2 5000 5000 4.0K May 31 2012 lib \ drwxrwxrwx 0 0 0 0 Jan 1 1970 slox 19:40:38 !help () { :;}; echo vulnerable 19:40:38 ​Sorry, I have no help for __________echo_vulnerable! 19:40:46 !sh bash --version 19:40:46 GNU bash, version 4.0.28(1)-release (x86_64-pc-linux-gnu) \ Copyright (C) 2009 Free Software Foundation, Inc. \ License GPLv3+: GNU GPL version 3 or later \ \ This is free software; you are free to change and redistribute it. \ There is NO WARRANTY, to the extent permitted by law. 19:41:55 -!- XorSwap has joined. 19:42:13 !sh env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 19:42:14 vulnerable \ this is a test 19:43:55 When was this system last updated 19:44:47 Lymia: it's possible that only the bash _inside_ the sandbox has that bug 19:45:32 !sh busybox ps axu | grep bash 19:45:33 941 5000 /bin/bash PRIVMSG/tr_21.cmd PRIVMSG #esoteric !bfjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] \ 967 5000 /bin/bash scmds/bfjoust bfjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] PRIVMSG #esoteric !bfjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] \ 990 5000 /bin/bash scmds/bfjoust bfjoust comex_the_first_program_ever (>)*9[-]+[>[-]+] PRIVMSG #esoteric !bfjoust 19:45:45 !sh busybox ls /proc/941 19:45:46 attr \ autogroup \ auxv \ cgroup \ clear_refs \ cmdline \ comm \ coredump_filter \ cpuset \ cwd \ environ \ exe \ fd \ fdinfo \ io \ limits \ loginuid \ maps \ mem \ mountinfo \ mounts \ mountstats \ net \ ns \ numa_maps \ oom_adj \ oom_score \ oom_score_adj \ pagemap \ personality \ root \ sched \ sessionid \ smaps \ stack \ stat \ statm \ status \ syscall \ task \ wchan 19:45:52 !sh busybox ls -alh /proc/941/exe 19:45:53 lrwxrwxrwx 1 5000 0 0 Mar 7 18:57 /proc/941/exe -> /bin/bash 19:46:00 !sh busybox strings /proc/941/exe | grep "Bash version" 19:46:01 ​@(#)Bash version 4.0.28(1) release GNU 19:46:04 nope 19:46:11 Everything uses that version. 19:46:27 versio 19:46:49 !ztest suicide256 [-.] 19:46:49 b_jonas.suicide256: points -27.05, score 3.86, rank 47/47 19:47:09 !ztest suicide128 (-)*128(.)*-1 19:47:09 b_jonas.suicide128: points -37.71, score 1.83, rank 47/47 19:47:17 !ztest suicide1 < 19:47:17 b_jonas.suicide1: points -46.00, score 0.00, rank 47/47 19:48:05 !ztest suicide128 (-)*128(.-)*-1 19:48:05 b_jonas.suicide128: points -32.74, score 2.01, rank 47/47 19:48:15 !ztest suicide128 (-)*128[.-] 19:48:16 b_jonas.suicide128: points -34.76, score 2.08, rank 47/47 19:48:20 !ztest suicide128 (-)*120[.-] 19:48:21 b_jonas.suicide128: points -33.83, score 2.24, rank 47/47 19:48:27 !sh busybox cat /proc/941/personality 19:48:27 cat: read error: Operation not permitted 19:48:31 personality? 19:49:02 Weird 19:49:21 Oh, /exe is a symlink. hrm. 19:49:52 -!- l0de has left. 19:49:54 Lymia: you decided to remove load competely, rather than allowing it for strings? 19:50:01 in luajoust that is 19:50:19 For now. 19:50:25 Some hard to solve problems. 19:50:43 -!- hppavilion[wc] has joined. 19:50:47 Lymia: does "for now" mean you're prepared to re-run the hill if you add it later? 19:50:57 ? 19:51:02 It's not near ready for a hill yet. 19:51:04 sure 19:51:11 of course 19:51:36 And unless I can fix the determinism issues 19:51:38 It might never be 19:51:47 -!- hppavilion[wc] has quit (Client Quit). 19:52:10 right 19:52:18 I still suggest that you try asking #lua 19:52:35 maybe someone has already tried to make a deterministic variant of lua 19:53:42 -!- hppavilion[wc] has joined. 19:54:21 !sh -f=/tmp 19:54:22 ​/tmp/input.15005: line 1: -f=/tmp: No such file or directory 19:57:06 Taneb: I still want to make a BFOS. Perhaps you could help and we could include your banner maker as a feature? 19:57:17 !help () { :;}; killall -9 report 19:57:17 ​Sorry, I have no help for __________killall__9_report! 19:57:19 @messages-lud 19:57:19 Sgeo said 2m 16d 13h 29m 18s ago: http://www.h-schmidt.net/FloatConverter/IEEE754.html 19:57:29 !sh busybox ps ax | grep report 19:57:29 995 5000 ../report ../gearlance ../cache Deewiant_allegro.bfjoust Deewiant_pendolino.bfjoust Fiora_timestopping-mahou-shoujo.bfjoust Gregor_furry_furry_strapon_pegging_girls.bfjoust Lymia_aurora.bfjoust Lymia_flow.bfjoust Lymia_nyuroki.bfjoust Lymia_two_people_runn \ 12430 5000 ../report ../gearlance ../cache Deewiant_allegro.bfjoust Deewiant_pendolino.bfjoust Fiora_timestopping-mahou-shoujo.bfjoust 19:57:42 hppavilion[wc], I'm not sure that a banner maker is the most important part of an OS 19:57:54 Taneb: Yeah, but it 19:58:10 'd be a cool feature 19:58:13 !bf8 . 19:58:13 No output. 19:58:24 (I'm using a netbook with a shit keyboard) 19:58:30 !sh env 19:58:30 PLASH_FAKE_GID=0 \ XDG_SESSION_ID=1233 \ I_CMD=sh \ ARG_FILE=/tmp/input.18746 \ SHELL=/bin/bash \ TERM=xterm \ IRC_SOCK=/tmp/multibot.EgoBot \ XDG_SESSION_COOKIE=3c3b7af247c6eb1bba05718349f88198-1450975846.369246-2144293266 \ SSH_CLIENT=99.236.22.36 42058 22 \ IRC_NICK=Lymia \ PLASH_CAPS=conn_maker;fs_op \ SSH_TTY=/dev/pts/0 \ PLASH_FAKE_EUID=5000 \ USER=root \ LD_LIBRARY_PATH=/usr/lib/plash/lib \ PLASH_FAKE_EGID=0 19:59:06 !sh busybox env 19:59:07 PLASH_FAKE_GID=0 \ XDG_SESSION_ID=1233 \ I_CMD=sh \ ARG_FILE=/tmp/input.19296 \ SHELL=/bin/bash \ TERM=xterm \ IRC_SOCK=/tmp/multibot.EgoBot \ XDG_SESSION_COOKIE=3c3b7af247c6eb1bba05718349f88198-1450975846.369246-2144293266 \ SSH_CLIENT=99.236.22.36 42058 22 \ IRC_NICK=Lymia \ PLASH_CAPS=conn_maker;fs_op \ SSH_TTY=/dev/pts/0 \ PLASH_FAKE_EUID=5000 \ USER=root \ LD_LIBRARY_PATH=/usr/lib/plash/lib \ PLASH_FAKE_EGID=0 19:59:09 !sh busybox id 19:59:10 uid=1916107 gid=1916107 19:59:39 !sh busybox env | grep I_ 19:59:39 I_CMD=sh \ I_ARG=busybox env | grep I_ 19:59:55 !sh () { :;}; killall -9 report 19:59:55 ​/bin/bash: /usr/bin/killall: Function not implemented 20:00:11 !sh () { :;}; env; killall -9 report 20:00:12 ​/bin/bash: /usr/bin/env: Function not implemented 20:00:19 !help () { :;}; killall -9 report 20:00:19 ​Sorry, I have no help for __________killall__9_report! 20:00:25 Er 20:00:26 Taneb: As long as you 20:00:28 GAAAAH 20:00:35 !sh busybox ps ax | grep report 20:00:36 995 5000 ../report ../gearlance ../cache Deewiant_allegro.bfjoust Deewiant_pendolino.bfjoust Fiora_timestopping-mahou-shoujo.bfjoust Gregor_furry_furry_strapon_pegging_girls.bfjoust Lymia_aurora.bfjoust Lymia_flow.bfjoust Lymia_nyuroki.bfjoust Lymia_two_people_runn \ 12430 5000 ../report ../gearlance ../cache Deewiant_allegro.bfjoust Deewiant_pendolino.bfjoust Fiora_timestopping-mahou-shoujo.bfjoust 20:00:43 !help () { :;}; echo test 20:00:44 ​Sorry, I have no help for __________echo_test! 20:00:51 !sh () { :;}; echo test 20:00:51 test \ /tmp/input.21095: line 1: syntax error near unexpected token `)' \ /tmp/input.21095: line 1: `() { :;}; echo test' 20:00:54 're a God of Brainfuck, do you know of a floating point implementation for BF? 20:01:12 !sh () { :;}; echo $PID 20:01:13 ​\ /tmp/input.21441: line 1: syntax error near unexpected token `)' \ /tmp/input.21441: line 1: `() { :;}; echo $PID' 20:01:20 !sh () { :;}; echo $PLASH_FAKE_GID 20:01:20 ​\ /tmp/input.21595: line 1: syntax error near unexpected token `)' \ /tmp/input.21595: line 1: `() { :;}; echo $PLASH_FAKE_GID' 20:01:27 !sh () { :;}; echo $IRC_NICK 20:01:27 ​\ /tmp/input.21732: line 1: syntax error near unexpected token `)' \ /tmp/input.21732: line 1: `() { :;}; echo $IRC_NICK' 20:01:45 !sh () { :;}; busybox id 20:01:46 ​/bin/bash: /bin/busybox: Function not implemented 20:01:55 !sh () { :;}; echo `busybox id` 20:01:56 ​/bin/bash: fork: Function not implemented \ \ /tmp/input.22220: line 1: syntax error near unexpected token `)' \ /tmp/input.22220: line 1: `() { :;}; echo `busybox id`' 20:01:59 !sh () { :;}; echo `busybox id`; 20:01:59 ​/bin/bash: fork: Function not implemented \ \ /tmp/input.22320: line 1: syntax error near unexpected token `)' \ /tmp/input.22320: line 1: `() { :;}; echo `busybox id`;' 20:02:26 !sh () { :;}; export ARG_FILE="" 20:02:27 ​/tmp/input.22828: line 1: syntax error near unexpected token `)' \ /tmp/input.22828: line 1: `() { :;}; export ARG_FILE=""' 20:02:37 waaah 20:02:53 any particular reason you don't do that via /msg? 20:03:24 !sh () { :;}; export LD_DEBUG="all" 20:03:24 ​/tmp/input.23674: line 1: syntax error near unexpected token `)' \ /tmp/input.23674: line 1: `() { :;}; export LD_DEBUG="all"' 20:03:27 Not particularly 20:03:56 Lymia: Then start doing it via /msg 20:04:08 You sure like complaining 20:04:35 Lymia: I do 20:04:40 !sh env | sed s/=.*//g 20:04:41 PLASH_FAKE_GID \ XDG_SESSION_ID \ I_CMD \ ARG_FILE \ SHELL \ TERM \ IRC_SOCK \ XDG_SESSION_COOKIE \ SSH_CLIENT \ IRC_NICK \ PLASH_CAPS \ SSH_TTY \ PLASH_FAKE_EUID \ USER \ LD_LIBRARY_PATH \ PLASH_FAKE_EGID \ SOCAT_PID \ MAIL \ PATH \ _ \ PWD \ EDITOR \ PLASH_COMM_FD \ IRC_HOST \ IRC_IDENT \ PLASH_FAKE_UID \ SOCAT_VERSION \ I_ARG \ JAVA_ARGS \ SHLVL \ HOME \ LOGNAME \ SSH_CONNECTION \ XDG_RUNTIME_DIR \ SOCAT_PPID 20:04:50 (In fact, I might ask them myself.) 20:04:51 he also deletes teue wisdoms 20:05:11 !sh echo $LD_LIBRARY_PATH 20:05:12 ​/usr/lib/plash/lib 20:05:22 !sh LD_LIBRARY_PATH="" ps ax 20:05:22 Cannot find /proc/version - is /proc mounted? 20:05:41 !sh LD_LIBRARY_PATH="" busybox ps ax 20:05:42 PID USER COMMAND \ ps: can't open '/proc': No such file or directory 20:06:53 Lymia: I think you could permit later extensions of the luajoust built-in library while keeping determinism. You would have a table for this where you store exceptions, and rig the table with its metatable such that if the program tries to access a nonexistant entry, it blows up (with an uncatchable exception, same as you have to treat out of memory errors), and that the metatable can't be changed. 20:07:15 Lymia: you could also make a few entries (like load) in the global environment like that. 20:07:27 You'd have to permit accessing those elements if they're assigned first, for ease of use. 20:07:50 But actually lua does that already. 20:08:01 I believe that the X window system is very well designed, although some of the modern extensions seem to be worthless and/or should be optional. Also in some cases, protocol extensions probably are not needed anyways, to do something 20:08:11 Also, you'd have to make the table unnextable with its metatable. 20:08:39 For the BFOS, I'm adding {} for conditionals and * for pointers 20:09:10 !sh env x='(){:;}; echo vulnerable' bash -c "echo this is a test" 20:09:11 this is a test 20:09:13 hmm wait 20:09:21 do we have a lua 5.3 here to test? 20:09:24 !"sh" echo 3 20:09:27 if not I'll compile one locally 20:09:34 `lua --version 20:09:36 lua: unrecognized option '--version' \ usage: lua [options] [script [args]] \ Available options are: \ -e stat execute string 'stat' \ -i enter interactive mode after executing 'script' \ -l name require library 'name' \ -v show version information \ -E ignore environment variables \ -- stop handling options \ 20:09:42 `lua -v 20:09:42 Lua 5.2.1 Copyright (C) 1994-2012 Lua.org, PUC-Rio 20:09:48 local then 20:10:16 !sh a b c 20:10:17 ​/tmp/input.29799: line 1: a: command not found 20:10:21 !echo a b c 20:10:22 a b c 20:10:27 !help a b c 20:10:28 ​Sorry, I have no help for a_b_c! 20:12:58 !sh echo $ARG 20:12:58 No output. 20:13:57 !addinterp test bf () { :;}; echo vulnerable 20:13:57 ​There is already an interpreter for test! 20:14:03 !addinterp test_ss bf () { :;}; echo vulnerable 20:14:03 ​Interpreter test_ss installed. 20:14:09 !test_ss 20:14:09 vulnerable 20:14:27 !addinterp test_ss bf () { :;}; id 20:14:27 ​There is already an interpreter for test_ss! 20:14:29 !addinterp test_ss2 bf () { :;}; id 20:14:30 ​Interpreter test_ss2 installed. 20:14:31 !test_ss2 20:14:32 uid=5000(egobot) gid=0(root) groups=0(root),150 20:14:48 !addinterp test_ss3 bf () { :;}; $* 20:14:48 ​Interpreter test_ss3 installed. 20:14:50 !test_ss3 id 20:14:51 No output. 20:15:41 Lymia: further nastiness. string.format("%e", 1) calls the libc's sprintf or snprintf function, so on windows it will use one different formats (three digits for exponent instead of two, and some completely nonstandard output for infinity and nan) 20:15:49 ick 20:15:54 That 20:15:59 Might be problematic. 20:16:03 ("").format 20:16:17 But you could do string.format = nil in the global context if you really need to. 20:16:18 Hrm. 20:16:26 This requires thought 20:16:56 Lymia: also, I think on some platforms (at least windows) you can extract the sign and mantissa of a nan that way (I think the C standard actually allows that, it's only the particular format windows uses that's wrong) 20:17:10 Lymia: let me see if the default implicit number to string conversion also does this 20:17:21 as in, 1..(1.0e100/3) 20:17:23 Is it just %e? 20:18:27 Lymia: no, also %g and %E and %G 20:18:38 and I think %f is affected too because of nan 20:18:46 and I don't know if %a is affected or not 20:18:50 (and %A) 20:19:22 I'll look up how the number to string conversion works 20:24:47 * Lymia pokes int-e 20:26:34 what I do? 20:27:12 I mean I'm doing important things right now... like watching the lastest John Oliver youtube video. 20:30:29 My entire backlog: Lymia messing with bots 20:30:36 :P 20:31:28 -!- lambda-11235 has quit (Quit: Bye). 20:33:25 Lymia: it seems you can reveal the sign of nans by an implicit string conversion even on linux 20:35:20 ​Score for prooftechnique_fishbones: 0.0 20:35:20 ​Score for ais523_comex_the_first_program_ever: 13.0 20:35:20 ​Score for prooftechnique_test: 0.2 20:35:20 ​Score for b_jonas_pause5: 5.2 20:35:20 ​Score for ais523_attack1: 12.0 20:35:20 ​Score for b_jonas_dead: 0.0 20:35:20 ​Score for b_jonas_pause2: 5.2 20:35:21 ​Score for ais523_is_this_working_yet: 19.8 20:35:21 ​Score for Lymia_two_people_running_from_a_shark: 1.6 20:35:22 ​Score for Lymia_live: 0.0 20:35:22 ​Score for b_jonas_pause3: 5.2 20:35:23 ​Score for b_jonas_pause: 1.3 20:35:32 I fixed it. 20:35:49 two_people_running_from_a_shark :DD 20:36:00 Lymia: and it seems that ordinary number to string conversion also calls the system libc's sprintf 20:36:14 Lymia: so you're screwed 20:36:33 Lymia: basically, you'd have to change a LOT in lua 20:36:47 I am working on a Scala implementation of Lua 20:36:49 It's not far along, but. 20:36:51 It's a thing. 20:37:02 I could add a deterministic mode 20:37:07 Lymia: should I put notes about these on the esowiki page, or do you want to write them up instead? 20:37:11 You can go ahead. 20:37:15 scala? why scalar? 20:37:17 um 20:37:20 s/ar/a/ 20:37:30 Because it's the language I'm most proficient at. 20:37:56 ok 20:38:03 I'm not particularly interested in writing a Lua interpter in a language I'm not good at. 20:38:04 I don't really know anything about Scala 20:38:07 `? scala 20:38:09 scala? ¯\(°​_o)/¯ 20:38:18 It's a JVM language with functional programming features. 20:38:37 Has a few nasty warts, but, there's not much better in the JVM. At least, anything statically typed. 20:38:39 -!- Phantom_Hoover has joined. 20:38:46 I see 20:38:49 have you heard about Frege? 20:39:34 !bfjoust suicide dance ((>><)*10(<<>)*10)*10< 20:39:36 ​Score for Lymia_suicide: 4.4 20:39:37 yes and i'm disappointed it's not pronounced 'frayzh' 20:39:43 !bfjoust suicide_dance ((>><)*10(<<>)*10)*10< 20:39:45 ​Score for Lymia_suicide_dance: 4.4 20:40:15 it's fray-guh, right? 20:40:22 Lymia: anyway, fixing the string formatting in a customized lua would be possible, but for fixing the table stuff you'd probably need to write an entirely new implementation of tables (presumably one based on a balanced tree and a consistent comparison function) 20:40:38 Lymia: there is frege 20:40:40 You'd need to modify the lua core for either. 20:41:15 lynn: no, it's not 20:41:36 frege is a german name and to be pronounced german 20:41:44 !bfjoust suicide_dance ((>><)*10>(<<>)*10<)*10< 20:41:46 ​Score for Lymia_suicide_dance: 6.1 20:41:50 Dance! :D 20:41:58 that is an English approximation of the German name 20:41:59 Gottfried? I'm so bad with names 20:41:59 myname, yes it is 20:42:13 Gottlob. Close, but wrong. 20:42:19 yeah 20:42:25 i like frege 20:42:40 the point is, haskell is more convinient for me atm 20:43:37 fray-guh is a pretty good approximation to [ˈfreːɡə] 20:44:07 oh well, maybe english just sucks for that 20:44:25 All languages suck for that... 20:44:43 don't think sp 20:44:48 Pronouncing foreign words "right", that is. Approximations are fine 20:45:10 inglish is just incredibly bad since its own pronouncoation rules are completely broken 20:45:23 englidh even 20:45:27 yeah they can't even pronounce their own words correctly 20:45:29 well 20:45:46 english orthography is a complete mess, yes 20:45:52 today's not my day 20:46:09 but 'ay' for /e/ isn't bad at all 20:46:10 @google "dearest creature in creation" 20:46:25 how do you justify the dh in englidh? 20:46:25 Plugin `search' failed with: <> 20:46:32 @google "dearest creature in creation" 20:46:32 i hears that on youtube once 20:46:38 * int-e shrugs 20:46:47 Plugin `search' failed with: <> 20:46:48 i was like "dafuq is this shit" 20:48:10 https://youtu.be/tfRSvTSY0d4 20:48:27 e.g. https://www.cs.cmu.edu/~clamen/misc/humour/TheChaos.html 20:48:46 I guess youtube works as well 20:48:59 i like lindybeige 20:49:02 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46542&oldid=46541 * B jonas * (+1114) /* Unresolved Problems */ 20:51:32 looool i guess toRational in haskell gives you an injection from Real to Rational? 20:51:50 :t toRational 20:51:51 Real a => a -> Rational 20:52:01 types don't lie 20:52:35 (the numeric classes in Haskell are a bit of a mess from a practical perspective, and a huge mess from a theoretical one) 20:52:54 saw a reddit thread a while back full of haskellers saying that types are all the documentation you ever need 20:53:09 mmm 20:53:50 types help. types are valuable abstractions restricting program's behavior. but no, they don't fully describe functions. 20:54:16 @type inits 20:54:17 [a] -> [[a]] 20:54:18 it wuild make djinn incredibly useful 20:54:19 @type tails 20:54:20 [a] -> [[a]] 20:54:30 i mean who cares about the difference between fst and snd 20:54:39 Phantom_Hoover: that's visible in the type. 20:54:51 @type fst 20:54:52 (a, b) -> a 20:54:54 @type snd 20:54:55 wait yeah im idiot 20:54:56 (a, b) -> b 20:54:59 i was thinking (a,a) 20:55:21 who cares about the difference between K and KI! 20:55:36 (a,a) would have no advantage to [a], wouldn't it? 20:56:04 well you'd know there are exactly 2 things in it... 20:56:38 -!- XorSwap has quit (Quit: Leaving). 20:57:05 i suppose this is the same mindset that leads the categorically-inclined to write helpful textbooks that do things like define products purely with a universal property 20:57:10 -!- lynn_ has joined. 21:00:42 -!- lynn has quit (Ping timeout: 260 seconds). 21:07:52 -!- hppavilion[wc] has quit (Ping timeout: 252 seconds). 21:13:02 http://whatsmyuseragent.com/ this result was far sillier than I expected 21:13:11 myname: with ghc at least, (x,y) uses less memory than [x,y], too. 21:13:15 today I learned about the User-Agent history I guess @_@ 21:13:50 have you tried that with the Windows 10 "Edge" browser? 21:14:26 Lymia: I was wrong 21:14:37 (I forgot the result, but it was a long, long list of browsers) 21:14:44 on Chrome, I get Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36. 21:14:45 Lymia: nowhere do either of the two manuals say that the sign of nans in arithmetic is undefined 21:14:56 on Edge of course it is one longer, excellentttt 21:15:37 Both the sign and mantissa are deterministic for a particular instruction, but sse instructions use a different (crazy) rule for them than the x87 instructions (which us a sane rule). 21:16:29 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46543&oldid=46542 * B jonas * (-3) 21:17:15 fast and loose 21:18:17 b_jonas: does that include addition and multiplication too? 21:18:27 http://asset-a.soupcdn.com/asset/8754/6027_adb0.jpeg :D 21:18:38 int-e: yes 21:18:49 int-e: the result is that on sse, addition ISN'T COMMUTATIVE 21:18:56 I thought IEEE 754 was rather strict on those (though I guess you can choose a rounding mode that fits your purposes)... 21:18:59 ...ouch. 21:19:25 int-e: no, the IEEE doesn't tell which particular nan value (mantissa and exponent) the result has when it's a nan value 21:19:31 s/exponent/sign/ 21:19:38 int-e: it's rather strict on everything 21:20:06 well... hmm... all nans are equal (even though they compare as different) 21:20:20 so what about defined results? 21:20:46 int-e: um, what's your question? 21:22:41 int-e: the good news is that I think this might not come up on lua 21:22:48 hmm 21:22:58 oh wait 21:23:00 it does come up 21:23:01 b_jonas: does x + y equal y + x for all x and y such that x + y is defined? 21:23:13 (i.e. not NaN) 21:23:44 it comes up because you can generate both indeterminate and its negation, and then add them, and the result has a sign that depends on whether that addition is done on sse or x87, and in the case of sse, which order it's done in (the optimizer is permitted to commute it) 21:24:00 int-e: oh, so by "defined" you mean it's not nan? 21:24:04 yes 21:24:14 int-e: yes, in that case addition and multiplication is commutative 21:24:23 Okay. I don't care then. 21:24:31 (Except as a curiosity) 21:27:43 I care because it's annoying that they ruined the reproducibility of floating point arithmetic this way, when x87 had a perfectly good and documented way of choosing the particular nan result that was commutative and thus deterministic. 21:27:52 I just don't understand why they did it. 21:28:05 And since the sse version is also documented, it can't be fixed now. 21:29:07 That is, it could be fixed by introducing a set of new floating point instructions, or perhaps a new flag in the control register, and then adding a compiler flag, and running your code on cpus that support it. 21:32:05 I just don't understand why Intel did this. 21:33:17 Oh! 21:33:48 On the other hand, this could be used as the basis for an esoteric feature in a strongly typed programming language: 21:35:40 make the language have two floating point types of each size, implicitly converting in both directions. The first one is such that the mantissa and sign of nan values can be arbitrary, and the second one is where it's deterministic. 21:36:42 When you convert from the first type to the second, if it's nan, it's converted to a deterministic one (this can be done relatively quickly, between 2 and 7 instructions depending on what exactly you want), 21:38:39 the signbit function takes the second type as input, other arithmetic builtins take either type and propagate the types in a sane way. Stringification functions makes sure not to reveal details about nan. 21:39:41 You're permitted to explicitly reinterpret from the first type to the second, unless certain sandbox flags are set, but if you don't do that, then floating point arithmetic will be deterministic. 21:40:11 (Floating point transcendent functions are a different question. Those are not guaranteed to be deterministic, but in practice they might be on sane systems.) 21:40:23 `unidecode v̲e̲r̲y̲ 21:40:26 ​[U+0076 LATIN SMALL LETTER V] [U+0332 COMBINING LOW LINE] [U+0065 LATIN SMALL LETTER E] [U+0332 COMBINING LOW LINE] [U+0072 LATIN SMALL LETTER R] [U+0332 COMBINING LOW LINE] [U+0079 LATIN SMALL LETTER Y] [U+0332 COMBINING LOW LINE] 21:41:20 Presumably there'd also be unsafe stringification functions. 21:43:12 Also, the floating point functions that let you examine representation (take representation as integer, make from representation integer, bitwise ops) would also operate on the correct types. 21:43:48 In fact, if I wanted to make a deterministic interpreter, I could implement this in C++ to help writing the interpreter in an eso way. 21:44:49 Although in that case, unless you're writing a really optimizing interpreter, presumably all the float values the interpreted program works with will be represented as the first type floats, and fixed only before those few functions that need it. 21:50:29 -!- lynn has joined. 21:53:01 -!- lynn_ has quit (Ping timeout: 268 seconds). 21:55:40 -!- hppavilion[wc] has joined. 21:59:40 JVM would be nice for that 21:59:43 I can use strictfp. 21:59:59 And let the JVM take care of making sure floating point is deterministic for me. 22:00:55 Lymia: only if the stuff is statically typed. 22:01:33 if it's weakly typed, then it's better to just normalize the float before you do any operation where the nan representation matters, rather than to keep track of which floats are already normalized 22:02:44 That's what strictfp does. 22:03:03 I can write the code normally and let the JVM make all floating point operations do the right thing on all platforms. 22:05:46 -!- hppavilion[wc] has quit (Quit: Page closed). 22:08:15 -!- jaboja has quit (Ping timeout: 264 seconds). 22:10:37 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:31:32 -!- nycs has quit (Quit: This computer has gone to sleep). 22:39:09 -!- spiette has quit (Ping timeout: 250 seconds). 22:42:14 -!- augur has joined. 22:43:06 -!- augur has quit (Read error: Connection reset by peer). 22:43:17 -!- augur has joined. 22:43:20 -!- augur has quit (Remote host closed the connection). 22:44:33 -!- augur has joined. 22:49:12 -!- augur has quit (Ping timeout: 260 seconds). 22:50:25 -!- augur has joined. 22:55:05 -!- lleu has quit (Quit: That's what she said). 22:55:57 -!- augur has quit (Read error: Connection reset by peer). 22:59:09 -!- boily has joined. 23:14:27 `wisdom 23:14:33 java/java is a programming-language shaped collection of misfeatures 23:16:02 -!- oerjan has joined. 23:17:56 -!- augur has joined. 23:25:14 How cruel 23:26:16 Hellymia. I'd say Java is a nice core, wrapped in endless layers of Enterprise Abstraction. 23:26:42 and then it's AbstractTurtleFactories all the way down. 23:28:42 -!- XorSwap has joined. 23:31:38 Java the language and the JVM are... acceptable. 23:31:47 The ecosystem is a big nope. 23:32:34 yup. 23:32:41 `? php 23:32:43 php is the PigeonHole Principle 23:32:45 `? python 23:32:48 python? ¯\(°​_o)/¯ 23:32:49 `? ruby 23:32:50 Ruby is a programming language from Japan, that Eventually decided to support non-ascii characters. 23:32:54 `culprits wisdom/java 23:33:00 coppro 23:33:27 For example. 23:33:29 Scala is nice. 23:33:31 `? scala 23:33:32 scala? ¯\(°​_o)/¯ 23:33:34 Until you pull in a Java library. 23:33:43 And then have to go "wtf is this???" 23:33:48 Scala's syntax turns me off... 23:34:04 Is the syntax that weird? 23:34:10 It's still roughly C family 23:35:46 the syntax is weird. 23:36:08 It doesn't bother me anymore, at least. 23:36:19 But nor does any language I use. 23:37:25 The syntax is quite nice to me, but, perhaps I'm conflating its semantics with the actual syntax. 23:37:45 (Expression focused, most blocks return a reasonable value) 23:37:46 Lymia: needs more frege, still 23:43:49 You could possibly to make C compiling also target JVM? 23:44:55 -!- XorSwap has quit (Ping timeout: 252 seconds). 23:45:35 also, clojure is an option, too 23:45:54 from all the functional languages i know for jvm, i like scala the least 23:46:07 -!- boily has quit (Quit: DRYING CHICKEN). 23:51:42 * int-e cries. 23:51:50 int-e: hm? 23:51:57 This article was so good, until... "Meanwhile, a third tool, called Monte Carlo tree search, helps the system play strategically as well as tactically." 23:52:08 (source: http://www.theguardian.com/technology/2016/mar/07/go-board-game-google-alphago-lee-se-dol ) 23:52:41 int-e: btw girl genius: here goes nothing D: 23:53:17 what's going on with olist twh 23:53:30 shachaf: there was an olist earlier today? 23:53:33 *. 23:53:34 yes 23:53:35 (well, at least to my limited understanding, the tree search is really about the tactics, though it's a bit blurry because some tactics will be ingrained as patterns in the policy network as well.) 23:53:39 it's updating once a week now? 23:54:18 Someone participated in our university's "Introduction to AI" course's JVM-sandbox-based boardgame AI tournament thing with a non-Java JVM language, I think it might've been Scala. 23:54:47 All the other solutions were generally <100 kB, but theirs was something like 7 MB. 23:55:01 Because of all the libraries they had to include in the .jar to make it go. 23:55:38 so did anybody compare the source code size? 23:56:28 That wasn't one of the metrics. 23:56:38 oerjan: oh... big jump forward on that story arc 23:56:55 Yeah, Scala it was. 23:57:48 scala.util.parsing.* and scala.xml.* are particularly big chunks in here. 23:58:08 Also their .jar doesn't include the sources. 23:58:13 int-e: well they _were_ pressed for time, they're under attack after all. 23:58:36 The standard Ant build file we shipped did include .java files in the deliverable it made, but I guess they had to use their own. 23:59:09 oerjan: but even with the castle's help, extending their tunnels to the right location must've taken a while 23:59:30 oerjan: does Gil know about the poison? 23:59:35 int-e: oh. i thought you meant today. yes, it said it took months. 23:59:59 int-e: i don't know how he would. he _should_ be able to notice he's been stabbed... 2016-03-08: 00:00:15 (for all I know the injections are just to prevent the rapid aging) 00:00:37 and with the family involved, poison should be an obvious deduction. 00:00:48 int-e: yeah they resemble the ones vole had. 00:01:25 damn, in real time, when was tarvek stabbed, could be two years ago by now... 00:03:30 almost three. http://www.girlgeniusonline.com/comic.php?date=20130429 00:05:01 wait, you meant _our_ real time? 00:05:21 i was just looking up references for comic time 00:06:07 int-e: two and a half has been mentioned in http://www.girlgeniusonline.com/comic.php?date=20130617 and http://www.girlgeniusonline.com/comic.php?date=20151125 00:07:22 which incidentally makes it hard to reconcile with the months used for digging the tunnels, unless they started _before_ agatha got loose ... there's some plot hole here. 00:07:45 (the tunnels to the cathedral, that is) 00:08:51 i don't know when gil would have been able to communicate with anyone who would be likely to have told him that tarvek was poisoned. 00:10:21 the fight with martellus, and the time in the monk fortress are iirc the only times he's been in contact with those who passed through the portal. 00:10:33 -!- lynn has quit (Ping timeout: 244 seconds). 00:11:05 -!- XorSwap has joined. 00:11:06 in the former, there obviously wasn't much conversation. in the latter, lucrezia took over. 00:11:30 of course they started before agatha got loose 00:11:32 Gil' 00:11:36 s father is down there 00:11:47 Good old Klaus. 00:12:40 anyway, yeah, let's see how fast Gil reacts 00:13:24 not in the cathedral. they cannot get to the center http://www.girlgeniusonline.com/comic.php?date=20151202 00:13:32 uh, and there's time travel 00:13:38 some muse could've tipped Gil off ;) 00:13:52 (i just so happened to reread that yesterday) 00:13:59 or was it this morning. 00:14:18 well othilia is also trapped in mechanicsburg. 00:14:23 afaik 00:14:34 I mean one of the time traveling ones 00:15:50 seems unlikely if they're the other 00:16:20 a dreen could have, although they're too damn mysterious about it. 00:16:37 Sorry, I'm just musing. 00:16:40 I should sleep. 00:19:44 i suppose we'll find out soon enough. 00:34:01 -!- augur_ has joined. 00:37:29 -!- augur has quit (Ping timeout: 260 seconds). 01:03:19 -!- lambda-11235 has joined. 01:06:06 oh man 01:06:30 looks like I'll have to design a tlb/page table/mmu for my cpu :o 01:15:09 yo, haskell experts 01:15:14 what's wrong with this code? 01:15:16 -- This is an abomination. 01:15:18 tokenEquals :: Token -> Token -> Bool 01:15:20 tokenEquals a b = kludge a == kludge b 01:15:22 where kludge s = Re.subRegex (Re.mkRegex "\\(Id [0-9]+\\)") (show s) "(Id 0)" 01:23:10 They say they will change madness rule of Magic: the Gathering so that now it is mandatory. There may be some interesting consequences with Magic: the Puzzling. 01:23:41 I fixed it. <-- wow. 01:24:05 (It may result in more interesting puzzles perhaps, although some puzzles also might not work with this change; that is why rule datestamps are needed.) 01:24:12 <\oren\> because it is equivalent to comparing two things in C++ by printing them to a stringstream, extracting a part of the string with a regex, and comparing that part? 01:25:32 i had no idea 01:25:52 thanks for the explanation 01:26:31 <\oren\> it's a one-liner in haskell because haskell has better syntax and libraries and uh... well better most things 01:27:07 izabera: Clearly what's wrong is that it wasn't written as tokenEquals = (==) `on` kludge where ... 01:27:26 * oerjan swats fizzie -----### 01:28:10 i don't get haskell inside jokes, yet 01:29:24 oerjan: Oh, you think I missed the point there? 01:29:38 * oerjan swats fizzie some more -----### 01:29:40 are you really bolding your pun 01:29:53 shachaf: It's better than putting stars around it. 01:30:19 More subtle, don't-cha know. 01:30:27 I forget how you spell "don't-cha". 01:31:00 Is it just "don'cha"? 01:31:04 What is your opinion of this change of madness rule? 01:31:19 What's the change? 01:31:44 fizzie: obviously you should be rainbowing it instead hth 01:31:47 The comprehensive rules aren't updated yet, although apparently the change is that discarding to exile (and triggering it) is now mandatory. 01:31:54 I don't have a rainbow key. 01:32:34 I think improved puzzles might be made due to this change 01:32:47 fizzie: https://github.com/hazel-nut/cslounge-irssi-scripts/blob/master/rainbow.pl hth 01:33:07 zzo38: I don't know the old rule or the new rule. 01:33:26 !bfjoust test < 01:33:29 ​Score for oerjan_test: 0.0 01:34:52 The current rule is 702.34. If you discard a card with madness you may exile it instead of into graveyard. If you do then it is a triggered ability on the stack; you may cast it for its madness cost, if you do not then it is placed into graveyard instead. 01:34:52 -!- hppavilion[1] has joined. 01:34:57 http://smbc-comics.com/index.php?id=2831 01:35:39 As far as I can tell the change is just that now exiling it is mandatory instead of optional. 01:48:44 -!- XorSwap has quit (Quit: Leaving). 01:57:27 <\oren\> I'm adding thinner versions of my characters to my font (in the "Math Sans-Serif" area) 02:00:18 -!- AlexR42 has joined. 02:07:01 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:10:58 -!- augur has joined. 02:12:41 Maybe I might make up my own program to create PCF fonts, rather than using the included program (not all features of PCF seem to be supported as far as I can tell from the BDF documentation) 02:15:03 -!- augur_ has quit (Ping timeout: 276 seconds). 02:15:31 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:21:24 <\oren\> Now I'm adding regular bold 02:21:50 <\oren\> (mostly by using the blackboard bold and removing the gaps) 02:25:29 -!- p34k has quit. 02:46:49 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 02:51:29 <\oren\> wait, how the hell do you say "seitokaichou" in english? 02:52:58 "Student body president" or "student council president" 02:53:46 <\oren\> oh, that's why i couldn't remember. it's really long! 02:56:43 What is a number of the form (2^m-1)(2^n) called? 02:58:20 that's = to 2^(m+n) - 2^n no? 02:58:21 <\oren\> uh... a wunwunwunzeerzeerzero 02:58:30 so a difference of powers of 2? 02:59:14 Yes it is that too I suppose that make sense now 03:00:43 oerjan, what's weird about fixing things. ;p 03:00:58 @@ @oeis @run take 15 . nub . sort $ [(2^m-1) * (2^n) | m <- [0..5], n <- [0..5]] 03:01:00 Sequence not found. 03:01:05 Lymia: well i was _almost_ ready to swat you for all the noise when you succeeded 03:01:14 <\oren\> (2^m-1)(2^n) == "1" * m + "0" * n 03:01:22 @@ @oeis @run intercalate "," . map show . take 15 . nub . sort $ [(2^m-1) * (2^n) | m <- [0..5], n <- [0..5]] 03:01:24 Numbers of the form 2^i - 2^j with i >= j.[0,1,2,3,4,6,7,8,12,14,15,16,24,28... 03:01:39 thx tdh 03:02:20 <\oren\> (in a language where numbers are strings of the charatcers '1' and '0') 03:02:57 \oren\: that language is called computer hth 03:03:16 `? computer 03:03:21 computer? ¯\(°​_o)/¯ 03:03:40 `learn Computer is a language where numbers are strings of the charatcers '1' and '0' 03:03:44 Learned 'computer': Computer is a language where numbers are strings of the charatcers '1' and '0' 03:03:55 `learn Computer is a language where numbers are strings of the characters '1' and '0'. 03:03:58 Relearned 'computer': Computer is a language where numbers are strings of the characters '1' and '0'. 03:04:17 oerjan: You're so pleased with yourself when you use `learn, aren't you. 03:04:39 <\oren\> いえい! 03:04:55 shachaf: hey everyone loves a learning experience 03:05:06 oerjan, and I only needed to use one published CVE to do it. ^.^ 03:05:20 oerjan: Even more than a le/rning experience? 03:05:46 `? /// 03:05:48 cat: ///: Is a directory 03:05:55 oerjan: please add a wisdom entry for /// twh 03:06:17 shachaf: No, it is unsuitable, please 03:06:30 zzo38: Why? 03:06:32 shachaf: er... 03:06:42 Because is a directory. 03:06:55 zzo38: Sure, but `? has plenty of special cases already. 03:07:40 you don't think special cases in `? are good? 03:07:45 you're either wisdom or you're against 'em 03:07:51 OK you can edit the `? program itself then if you would need to do that 03:07:53 i know where i stand 03:08:08 on thin ice 03:08:25 Yes 03:09:35 what fancy food should i make for dinner 03:10:08 crêpes 03:10:41 diacritics don't make food any fancier 03:10:51 [citation needed] 03:11:08 anyway i mean food that i haven't eaten before 03:11:42 that reminds me that i never made that norwegian porridge 03:11:51 `? ctc 03:11:52 ctc? ¯\(°​_o)/¯ 03:12:53 `? [citation needed] 03:12:54 ​[citation needed]? ¯\(°​_o)/¯ 03:13:20 `learn CTC stands for Closed Timelike Citation, which is what happens when news sites cite Wikipedia's badly referenced articles and then get added to them. 03:13:23 Learned 'ctc': CTC stands for Closed Timelike Citation, which is what happens when news sites cite Wikipedia's badly referenced articles and then get added to them. 03:13:33 -!- hppavilion[1] has joined. 03:15:46 <\oren\> `? % 03:15:47 ​%? ¯\(°​_o)/¯ 03:18:52 <\oren\> `? ‮ 03:18:54 ​‮? ¯\(°​_o)/¯ 03:19:13 <\oren\> muhuhahahaha 03:19:48 <\oren\> ムフハハハハ 03:19:55 you seem amused. 03:21:04 <\oren\> finally, the big eye is on the left! 03:21:44 -!- treaki_ has quit (Ping timeout: 244 seconds). 03:23:43 -!- treaki_ has joined. 03:24:25 <\oren\> idea, a language where you use the rtl override and etc characters as unary operators 03:25:47 <\oren\> `? 𝕈 03:25:49 ​𝕈? ¯\(°​_o)/¯ 03:26:19 <\oren\> `learn 𝕈 is the set of rational numbers. 03:26:23 Learned '𝕈': 𝕈 is the set of rational numbers. 03:26:35 Come on, are you just trying to mess with people's terminals? 03:26:54 `` lastfiles | xxd 03:26:56 0000000: 7769 7364 6f6d 2ff0 9d95 880a wisdom/..... 03:26:57 <\oren\> what's wrog with 𝕈? 03:27:58 <\oren\> `unidecode 𝕈 03:27:59 U+1D548 - No such unicode character name in database \ UTF-8: f0 9d 95 88 UTF-16BE: d835dd48 Decimal: 𝕈 \ 𝕈 (𝕈) \ Uppercase: U+1D548 \ Category: Cn (Other, Not Assigned) 03:28:03 <\oren\> WUT 03:28:33 <\oren\> oh, right, those assholes put it at ℚ 03:28:43 `unidecode ℚ 03:28:44 ​[U+211A DOUBLE-STRUCK CAPITAL Q] 03:29:13 <\oren\> while 𝕊 03:29:22 <\oren\> `unidecode 𝕊 03:29:23 ​[U+1D54A MATHEMATICAL DOUBLE-STRUCK CAPITAL S] 03:29:26 <\oren\> SEE 03:29:37 no, ESS 03:30:29 <\oren\> oh, and in my font, I have both cues, with different glyphs because I forgot about those gaps 03:32:09 That is OK if that is how you would want to design font? 03:54:18 <\oren\> nah, the next version will fix that 03:55:44 <\oren\> `learn 𝕈 would be the set of rational numbers, if the unicode consortium weren't idiots who put it as ℚ. 03:55:48 Relearned '𝕈': 𝕈 would be the set of rational numbers, if the unicode consortium weren't idiots who put it as ℚ. 03:56:31 is it me or half of what makes a jrpg work is the music? 03:56:41 <\oren\> it's not just you 03:57:19 <\oren\> a good battle theme prevents grinding from getting boring too fast 03:59:04 true but I'm starting to think that on exploration screens you also need good music or else it's just some guy walking around 03:59:31 in retrospective the action is very "slow" 03:59:58 -!- treaki_ has quit (Ping timeout: 248 seconds). 04:02:15 -!- treaki_ has joined. 04:03:18 <\oren\> ok! I added 𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨 04:03:27 <\oren\> 𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨 04:04:11 <\oren\> oh, I don't have the font on my terminal yet so I can't see wtf I'm doing 04:06:38 IPA characters? (international phonetic alphabet) 04:07:30 <\oren\> 𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝟎𝟏𝟐𝟑𝟒 04:07:37 <\oren\> there 04:08:06 <\oren\> bold and thin ersions of alphanumberics 04:08:39 i,i what's an erosion of a character? 04:08:48 <\oren\> versions 04:09:25 I realized that. 04:09:27 <\oren\> mad: I'v had basically all of IPA[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C in this font for a while 04:09:28 hence i,i 04:09:49 <\oren\> ok why is irssi glitching me again 04:10:31 `` sed -i "s'unicode consortium'Unicode Consortium'" wisdom/𝕈 04:10:34 No output. 04:13:19 -!- sebbu2 has quit (Ping timeout: 252 seconds). 04:13:37 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 04:14:50 <\oren\> maybe irssi glitches after running continuously for 4 weeks 04:25:34 -!- lleu has joined. 04:29:58 -!- llue has joined. 04:30:09 <\oren\> who the hell would sign up on profitico.net? 04:30:54 -!- lleu has quit (Read error: Connection reset by peer). 04:39:29 -!- treaki__ has joined. 04:43:43 -!- treaki_ has quit (Ping timeout: 268 seconds). 04:45:49 -!- hppavilion[1] has joined. 05:33:28 -!- llue has quit (Quit: That's what she said). 05:47:43 -!- oerjan has quit (Quit: Nite). 05:49:32 profiticon :P 05:50:04 Hrm. Well, profit-con. Not profit icon. But a profit (religious) icon would be interesting as well. 06:09:15 -!- sebbu has joined. 06:19:38 -!- AlexR42 has joined. 06:20:23 Most currency is the same 06:20:44 In fact, any currency can be related to any other with a single rational number greater than 0. 06:20:48 We need to fix this. 06:25:37 Now I wrote a C program that will execute the _SEND_RESOURCE protocol on a window, and now I will make it so that another program can receive such requests and process them. 06:27:41 -!- AlexR42 has quit (Quit: Textual IRC Client: www.textualapp.com). 06:30:59 -!- lambda-11235 has quit (Quit: Bye). 06:42:57 <\oren\> hppavilion[1]: I had an idea of a negative currency, where the most you can have is zero 06:43:05 \oren\: Go on 06:43:20 \oren\: Though complex currency would be better 06:43:59 <\oren\> rather than giving someone a dollar for a chocobar, you would instead agree to take a negadollar off them 06:44:15 https://en.wikipedia.org/wiki/Categorical_quantum_mechanics is a thing 06:44:20 \oren\: Ah, interesting 06:47:50 <\oren\> taxes would consist of the government giving negadollars to the people with the least. 06:48:43 <\oren\> and welfare would be the government taking negadollars from people who have too many 06:49:10 http://gravityfalls.wikia.com/wiki/Negative_Twelve_Dollar_Bill Such as this? 06:50:27 -!- bender| has joined. 06:52:20 \oren\: Do you know much about rings and such? 06:52:41 <\oren\> I know the basic properties of rings and groups 06:53:03 \oren\: I'm trying to implement them in python 06:53:26 \oren\: Is there a way to check for associativity/commutativity/etc that I'm too stupid to notice? It doesn't seem like there is 06:54:05 \oren\: Or more generally, if I create a ring, how do I make sure it's really a ring? 06:55:12 <\oren\> generally that requires a proof 06:55:26 \oren\: Blast! 06:55:31 (I like saying blast) 06:55:50 Though I was expecting it, because it seems pretty obvious 06:55:56 <\oren\> python, like most practical languages, isn't designed for its behaviour to be mathematically provable 06:56:04 \oren\: Is there a workaround? Other than forcing the user to supply a formal proof? 06:56:25 (user = programmer here) 06:56:32 <\oren\> well if your set is finite ou can just try every pair 06:56:58 (Though now that I think about it, I'm making a goddamn proof automaton for this, so I could just force a formal proof to be supplied, which is probably how I should do it anyway) 06:57:08 \oren\: Potentially infinite, but I think I just found the solution 06:57:33 <\oren\> or every three for associativity law 06:58:46 \oren\: What I'm trying to make, to sate your burning curiousity is a proof assistant that does a lot of category theory and stuff. Mostly so I can use it to explore category theory. 07:01:03 <\oren\> then maybe you should start with a smpler test case, say a group with three elements 07:01:46 <\oren\> or even one 07:03:59 \oren\: Good point 07:11:41 \oren\: OK, implemented groups. The final version will require that you first prove an operator has associativity and inverses and identity, but for now it has no checks 07:19:29 -!- zadock has joined. 07:20:34 -!- AnotherTest has joined. 07:29:51 -!- AnotherTest has quit (Ping timeout: 264 seconds). 07:30:10 \oren\: Say, how do you prove associativity and commutativity? 07:30:15 Do you do it with DARK MAGIC? 07:30:39 Or are there known-to-be-associative and known-to-be-commutative operators you must define others in terms of? 07:53:33 Maybe I might make up my own program to create PCF fonts, rather than using the included program (not all features of PCF seem to be supported as far as I can tell from the BDF documentation)” - wait, what pcf features? I'm interested now 07:55:34 The current rule is 702.34. If you discard a card with madness you may exile it instead of into graveyard. If you do then it is a triggered ability on the stack;” wait what? instead of what into gy, and the card what a triggered ability? 08:01:39 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 08:03:41 zzo38, shachaf: “ oerjan: please add a wisdom entry for /// twh” => let's just make wisdom s\/\∕\g the keys, then we can put slashes at the beginning and end and use significant multiple slashes too 09:10:30 http://azac.pl/cobol-on-wheelchair/ 09:13:21 taneb: https://robotgame.net/ is working again :-) 09:20:10 izabera: these ^H don't make sense at all 09:20:15 he should use ^W 09:23:41 also, finally banks can make better websites 09:29:34 -!- bender| has quit (Ping timeout: 248 seconds). 09:46:58 -!- AnotherTest has joined. 10:10:33 -!- J_Arcane has quit (Ping timeout: 268 seconds). 10:20:54 -!- lynn has joined. 11:24:30 -!- mroman has joined. 11:35:44 -!- boily has joined. 11:40:49 `wisdom 11:41:02 translater/A translater is one who transes a long time after the fact. 11:42:55 :) 11:45:56 `? transformer 11:45:59 A transformer is one who used to trans, but no longer does. 11:53:20 `? interpreter 11:53:22 `? compiler 11:53:22 interpreter? ¯\(°​_o)/¯ 11:53:23 compiler? ¯\(°​_o)/¯ 11:53:23 `? linker 11:53:24 linker? ¯\(°​_o)/¯ 11:59:13 `learn The linker (from german "links") is a part of a Turing machine that's responsible for moving all output data to the left of the tape before terminating. 11:59:30 Learned 'linker': The linker (from german "links") is a part of a Turing machine that's responsible for moving all output data to the left of the tape before terminating. 12:00:15 `learn A compiler (lit. "with-piler") is one who builds piles together with someone else. 12:00:19 Learned 'compiler': A compiler (lit. "with-piler") is one who builds piles together with someone else. 12:03:00 so... what is a transpiler? 12:03:26 myname, a transpiler (lit. "across-piler") is someone who builds piles across things 12:03:27 -!- lynn has quit (Ping timeout: 264 seconds). 12:03:55 ah! 12:04:14 `learn An interpreter (Latin "inter-", Old French "prestre") is unofficial correspondence between ordained members of the Church. 12:04:19 Learned 'interpreter': An interpreter (Latin "inter-", Old French "prestre") is unofficial correspondence between ordained members of the Church. 12:04:24 "why is there a wall on the street" "must have been a transpiler" 12:04:48 `` sed -i 's/german/German/' wisdom/linker 12:04:50 No output. 12:05:28 `? boily 12:05:29 ​"Only sane man" boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. 12:05:54 wat 12:06:22 -!- bender| has joined. 12:07:23 mynamello. wat? 12:07:28 `learn_append boily He is also a renowned Capitalist. 12:07:30 Learned 'boily': "Only sane man" boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. He is also a renowned Capitalist. 12:08:15 my wisdom is becoming Entish... 12:08:33 `? bodily 12:08:34 bodily? ¯\(°​_o)/¯ 12:08:37 `? int-e 12:08:38 int-e är inte svensk. 12:08:50 feel free to retaliate, that one seems a bit short ;-) 12:09:35 int-e: heh, that's a nice interpretation for the linker 12:10:18 int-e: I need to learn Swedish first. 12:10:42 @ask olsner hellolsner. care to expand int-e? 12:10:42 Consider it noted. 12:10:56 int-e: although I think that's not the whole linker, just the part that's called collect2, which collects the output. the linker has a few other parts. 12:11:01 `? collect2 12:11:04 collect2? ¯\(°​_o)/¯ 12:11:05 `? collect 12:11:07 collect? ¯\(°​_o)/¯ 12:12:15 b_jonas: but those have nothing to do with "links" so I omitted them 12:12:31 yeah 12:12:39 I just wonder if collect2 should be mentioned somewhere 12:13:48 Maybe we should say something referring to that the linker is traditionally called ld for historical reasons, but in the gnu toolchain it's called collect2 (the reality is much more uglier than that) 12:14:47 why is it called ld? 12:15:00 Link eDitor? 12:16:26 or LoaDer... "Possible origins of the name "ld" are "LoaD" and "Link eDitor"." https://en.wikipedia.org/wiki/GNU_linker 12:16:35 I think it's called ld because people like me set up aliases to ls like l() { ls -aF "$@"; }; ll() { ls -alF "$@"; }; and would also like to set up ld () { ls -dlF "$@"; }; but that latter would clash with the linker 12:16:57 I think it stands for load though 12:17:09 bash: l: command not found / bash: ll: command not found ... never saw the point 12:17:11 it was called loader originally, back when it worked differently from now 12:17:57 though arguably I type too much when using the shell. I make up for it by using ^R a lot. 12:19:57 int-e: I think actually I should do away with the -d stuff, and instead patch ls to add a new dwim switch that automatically applies -d to only the pathname arguments that don't end with a slash, and then alias ll to use that switch 12:20:05 but I haven't implemented that yet 12:20:18 the -d switch is useful but too much bother on command-line 12:20:29 as in, useful for scripts 12:21:11 int-e: I ^U everything, then wonder why it doesn't work outside of the shell... 12:21:28 (it works in firefox, because pentadactyl but that's cheating.) 12:21:52 for some reasong I use ^A^K 12:23:11 int-e: probably an emacs habit 12:23:18 or perhaps nano 12:25:22 -!- boily has quit (Quit: LEVERAGE CHICKEN). 12:44:00 -!- Slice^ has joined. 13:08:57 ARGH! I hate commands that can both list useful info or do something more destructive, and you if you make a typo on the list version it automatically turns to the destructive version. eg. 'git branch -a' lists branches, but if you typo it to 'git branch üa' then poof, you get a branch üa created. similarly, in irssi, /server list lists the servers you are connected to, but if you typo it like /server lsit then poof, you get disconnected from a server 13:09:08 \ eg. 'git branch -a' lists branches, but if you typo it to 'git branch üa' then poof, you get a branch üa created. similarly, in irssi, /server list lists the servers you are connected to, but if you typo it like /server lsit then poof, you get disconnected from a server 13:09:39 Neither are very destructive, because you can delete the üa branch or reconnect to the server later, but still 13:09:52 it's just bad design 13:10:12 nice 13:17:24 -!- AnotherTest has quit (Ping timeout: 276 seconds). 13:20:10 https://www.youtube.com/watch?v=8ucCxtgN6sc retrocomputing 13:37:49 -!- lynn has joined. 13:56:52 -!- Slice^ has quit (Quit: This computer has gone to sleep). 14:04:49 -!- earendel has quit (Ping timeout: 260 seconds). 14:06:08 -!- _46bit has left. 14:13:29 heh heh: in less, the keystroke sequence ZZ quits, as well as Q , but the sequence ZQ is a nop 14:14:40 -!- AnotherTest has joined. 14:15:26 -!- lynn has quit (Read error: Connection reset by peer). 14:18:44 -!- lynn has joined. 14:19:48 -!- AnotherTest has quit (Ping timeout: 276 seconds). 14:32:57 -!- nycs has joined. 14:35:46 -!- earendel has joined. 14:40:01 -!- spiette has joined. 14:42:20 -!- spiette_ has joined. 14:42:34 -!- spiette has quit (Disconnected by services). 14:43:11 -!- spiette_ has changed nick to spiette. 14:44:52 -!- oerjan has joined. 14:55:06 -!- lambda-11235 has joined. 14:57:26 -!- Slice^ has joined. 15:02:59 -!- Slice^ has quit (Quit: This computer has gone to sleep). 15:03:31 -!- Slice^ has joined. 15:05:19 @tell hppavilion[1] \oren\: Say, how do you prove associativity and commutativity? <-- there is no one method. sometimes you can just expand equations using things you already know. sometimes you can check all cases. sometimes you need a genuinely new trick. 15:05:19 Consider it noted. 15:06:07 But what about the TOOWTDI principle! 15:06:23 provide an isomorphism to something associqtive and commutative 15:06:24 @tell hppavilion[1] generally you want to know as many tricks as possible that you can use, that goes for all math. 15:06:24 Consider it noted. 15:06:25 Two Old Owls Won't Try Doing It? 15:06:39 Taneb: "There's Only One Way To Do It" https://wiki.python.org/moin/TOOWTDI 15:06:47 fizzie: that's why python is lousy for proofs hth 15:06:49 That makes slightly more sense 15:06:57 perl is much better 15:07:05 that is basically why i hate python 15:07:21 you hate it because perl is much better? 15:07:36 izabera: You sounded like Eliza there for a moment. 15:07:44 -!- izabera has changed nick to elizabera. 15:08:05 fizzie: how does it make you feel that i sounded like Eliza there for a moment? 15:08:16 elizabera: What do you think? 15:08:28 What do you mean with that? 15:08:38 elizabera: Can you elaborate on that? 15:09:10 you could at least change your nick to elizzie :p 15:09:52 -!- Slice^ has quit (Quit: This computer has gone to sleep). 15:10:04 An Eliza-Eliza dialogue seems less vibrant than M-x psychoanalyze-pinhead. 15:11:58 -!- bender| has quit (Ping timeout: 248 seconds). 15:12:19 Oh, the Zippy lines were deleted? http://sprunge.us/YKKg isn't really going anywhere either. 15:12:59 how do i pipe stuff to emacs? 15:13:05 wanna to make a doctor bot 15:13:09 s/to// 15:15:57 fizzie: i take it that response is bitching about having to remove it... 15:16:04 You might get somewhere with just emacsclient -e '...' and a bit of elisp. The function to call seems to be "doctor-doc", but it's hardcoded to type into buffer, you'd need some extra work. 15:16:08 oerjan: That's my impression as well. 15:17:41 -!- lynn has quit (Read error: Connection reset by peer). 15:18:10 -!- lynn has joined. 15:19:16 -!- Slice^ has joined. 15:19:26 -!- lynn has quit (Read error: Connection reset by peer). 15:19:37 -!- Slice^ has quit (Remote host closed the connection). 15:19:52 -!- lynn has joined. 15:27:10 -!- lynn has quit (Read error: Connection reset by peer). 15:27:58 -!- lynn has joined. 15:37:47 -!- lynn_ has joined. 15:38:34 @yow 15:38:35 Are we THERE yet? My MIND is a SUBMARINE!! 15:38:50 fungot, are we there yet? 15:38:50 b_jonas: a similar rule applies to everyone who's missing one of the files of arbitrary type ( despite the fact that many of them all ibm. but if an array is an international manufacturer of measurement and computation products and services are used to thank god for ange ftp, or is he taking a beating lately as he 15:39:16 fungot: you don't sound very much like zippy. 15:39:16 oerjan: what bothers me a pointer to match its depth inside the mail tools that hide its contents from the b drive. well, yeah. the 15:39:33 -!- lynn has quit (Ping timeout: 240 seconds). 15:43:53 -!- elizabera has changed nick to izabera. 15:49:06 -!- Alejandro15 has joined. 15:49:23 -!- Alejandro15 has left. 15:51:43 fungot: You should really close that paren. 15:51:43 prooftechnique: to debug my .twmrc file to rm. you could only figure out 15:51:59 Well, there's me shown up. 15:54:01 -!- lambda-11235 has quit (Quit: Bye). 15:54:02 fungot not balancing punctuation is a longstanding bug; I implemented it in the Perl, but never managed to be bothered to do it in the Funge. 15:54:03 fizzie: pascal compiler to adjust the stack look like a unix recently. it will change the object file, each of the year to the c programming environments, with the extra loop is ignored, and 15:54:29 -!- earendel has quit (Ping timeout: 244 seconds). 15:57:07 fizzie: just steal some of the code from ^bf hth 15:57:52 -!- zadock has quit (Ping timeout: 252 seconds). 15:59:46 -!- zadock has joined. 16:01:35 -!- lleu has joined. 16:01:35 -!- lleu has quit (Changing host). 16:01:35 -!- lleu has joined. 16:05:39 -!- mroman has quit (Quit: Lost terminal). 16:06:05 -!- oerjan has quit (Quit: Later). 16:34:40 -!- zadock has quit (Quit: Leaving). 16:44:39 @tell oerjan And, what, retry until everything's balanced? 16:44:39 Consider it noted. 16:44:45 That should've been @ask. 17:01:09 -!- lynn_ has quit (Ping timeout: 244 seconds). 17:38:07 AlphaGo (Google's Go AI) is taking on the world champion starting tomorrow 17:43:34 Taneb: wait, already_ 17:43:51 weren't they supposed to, like, improve their program to play go better for another two years or something? 17:44:19 oh wait, how much time was there between the previous match and its announcement? maybe that two years has already passed 17:44:52 https://deepmind.com/alpha-go.html 17:44:56 There's been a few months 17:45:25 first tournament with European champion was in 2015-10, announced in 2016-01-27 17:45:26 the last match was in october 17:45:55 so they had a few months to improve it only 17:47:42 So they've had about 5 months. Lee Sedol (their opponent in the upcoming match) is approximately 3rd best in the world. (http://www.goratings.org/ puts him in fourth place but there are some good arguments for Iyama Yuta being overrated in that list.) 17:48:57 and they're playing 5 matches, it seems 17:49:19 . o O ( it's a 5 games match ) 17:49:33 oh right, 5 games 17:49:43 yes 17:50:46 anyway it'll be interesting to see how this turns out 17:51:01 And time time the matches are published live. 17:52:14 Any betting going on yet? 17:52:33 no idea 17:53:20 -!- ais523 has joined. 17:53:53 ais523: hello! 17:54:04 hi b_jonas 17:54:07 any news? 17:54:33 ais523: I have some rants. no real news I think. 17:54:46 uh, except when you last left, your last message asked to tell you that it went throuhg 17:55:21 oh good, it did 17:55:22 fizzie: Well, I have no doubt that Lee would walk over the October version. But it's so hard to predict Alphago's progress, and the team seems to be fairly confident... so I'm unsure what to expect (though I'd be a bit surprised if any of the players wins all their games.) 17:55:27 I hope Lymia found it useful 17:55:34 oh, and I made Lymia start to doubt if LuaJoust can be made to work 17:55:51 "placing a winning 1 BTC bet on: Yes pays: 1.01133196 BTC No pays: 1.00958558 BTC" 17:55:51 because you'd have to change Lua a lot to make it deterministic 17:56:02 Where "Yes" is on AlphaGo winning. 17:56:08 I put some notes on esolangs 17:56:19 fizzie: that's one of the worst spreads I've ever seen 17:56:21 I think I should add to them too 17:56:24 who'd bet at those combined odds? 17:56:30 ais523: People have bet 131.47 BTC on this. 17:56:37 https://bitbet.us/bet/1249/alphago-will-defeat-lee-sedol-overall-in-march/ looks even; https://www.gjopen.com/questions/133-will-google-s-alphago-beat-world-champion-lee-sedol-in-the-five-game-go-match-planned-for-march-2016 favors alphago a bit. 17:56:37 (On this one site.) 17:56:51 also 1 BTC is very large for a bet 17:56:59 Well, it was just an example. 17:57:04 You don't need to bet a full bitcoin. 17:57:12 right, I'm wondering if that has something to do with the odds being so bad 17:57:24 fizzie: wait, what are the other options? 17:57:26 But there seems to be about 54 thousand dollars already riding on this. 17:57:26 like, maybe the site can't afford to pay out more than about .01 BTC given the number of bets so far 17:57:33 match cancelled? 17:57:48 Lee dies after the second game? 17:57:51 int-e: There are no other options. It's a yes-no question. 17:58:19 I don't know how this thing works, I'm just looking at https://bitbet.us/bet/1249/alphago-will-defeat-lee-sedol-overall-in-march/ 17:58:28 There's a 5.1 BTC bet from someone on "Yes". 17:58:32 ais523: also, zzo38 claims that the pcf (x bitmap font) format can probably do things that the bdf2pcf program can't generate from a bdf file, which surprised me 17:58:43 b_jonas, there's only one real major issue 17:58:46 doesn't surprise me 17:58:56 Objects like tables hash to their addresses. 17:59:12 Lymia: fwiw I think that even if it isn't determinstic it isn't a disaster 17:59:20 It isn't, but. 17:59:21 Lymia: two. floating point stuff is the other 17:59:22 there have been probabilistic BF Joust hills already 17:59:27 the only reason we run all 42 is because we can 17:59:28 oh, wait... shouldn't the two payouts satisfy 1/a + 1/b = 1 at least approximately? 17:59:31 It changes the game significantly. 17:59:40 Because bots can make truly random decisions. 17:59:42 hrm... 17:59:59 Lymia: true randomness and cryptorandomness are effectively indistinguishable 18:00:01 But I'd have to figure out if that's really an issue too. 18:00:05 Right. 18:00:12 and you can write a deterministic CSPRNG 18:00:14 ais523: yes, but we want the matches to be reproducible 18:00:28 I wanted true determinism because that means that programs can be rewritten as BFJoust programs. 18:00:40 ais523: just giving the program a random stream (good quality or bad quality, whatever) with a fixed seed wouldn't be a problem 18:00:56 Lymia: ah right, I see 18:01:23 ais523: the problem is that you can write programs that will run differently in two tournament servers, and succeed on both (luajoust programs can fail, since they can overflow the memory or otherwise generate exceptions) 18:01:43 b_jonas: fwiw, zzo38 proposed that , generates random numbers, but I was very much against it because it exceeds the speed of light 18:01:54 and in particular, you could just use , to set randomly sized decoys very quickly 18:01:59 I don't think failures due to such conditions are a particular problem. 18:02:20 ais523, what about , works randomly as either + or . 18:02:25 -!- p34k has joined. 18:02:38 I'd rather have something more subtle 18:02:40 Like 18:02:46 ais523: are you against it in the same way as you'd be against labels and if-goto-else-goto? 18:02:48 Taneb: that would work, I think; however it'd still make the game very defence-unfavoured 18:03:03 ,x < randomly either runs x or . 18:03:09 b_jonas: much the same way but more strongly 18:03:22 Lymia: does the , cost a cycle? 18:03:26 also what does ,] do? 18:03:54 , would behave as a modifier to the next instruction 18:04:02 It causes it to do nothing 50% of the time 18:04:28 So ,] I think, would have a 50% chance of not checking the current cell and proceeding as if nothing happened? hrm 18:04:36 Might just make it illegal 18:04:56 ,] would be an interesting loop escape mechanism, actually 18:05:12 if you assume that ,[ and ,] just have a 50% chance of interpreting the current cell as 0 18:05:22 and otherwise act normally 18:05:27 this reminds me of Befunge2K 18:07:48 -!- lambda-11235 has joined. 18:16:20 [wiki] [[Lua Joust]] https://esolangs.org/w/index.php?diff=46544&oldid=46543 * B jonas * (+890) 18:17:29 ais523: I see 18:17:45 ais523: repeating rant I said earlier today, 18:18:03 ARGH! I hate commands that can both list useful info or do something more destructive, and you if you make a typo on the list version it automatically turns to the destructive version. 18:18:04 that said, I'm currently against any changes to the BF version of Joust, I think it's in a good place 18:18:16 eg. 'git branch -a' lists branches, but if you typo it to 'git branch üa' then poof, you get a branch üa created. similarly, in irssi, /server list lists the servers you are connected to, but if you typo it like /server lsit then poof, you get disconnected from a server. 18:18:19 Oh, wtf is that "weight" business on bitbet... 18:18:26 b_jonas: yes, that's kind-of crazy 18:19:27 ...basically they mean that betting late makes no sense. 18:22:52 ais523: and indeed as I work with git, I find that the default command-line interface is crazy, but at least that can be fixed by new commands. 18:28:47 So. 18:29:10 I picked Lua because it was simpler than Python and had the coroutine semantics. 18:29:15 Which obviously work very well for the task at hand. 18:29:27 Lymia: certainly 18:29:57 I'm not sure I care about determinism in the sense of libc or platform differences. 18:30:02 lua is a good choice, it's just that very few languages like this do determinism 18:30:08 That can be left as a quirk of different hills. 18:30:27 Lymia: it's not just libc differences. the stuff can change if you recompile your program and the cc decides to generate code differently. 18:30:30 What I do care about is unpredictable behavior that can cause different behavior on two runs on the same system. 18:30:36 Lymia: as in, it can commute a floating point addition 18:30:51 it can change if you just edit the code or some options and recompile 18:31:11 I... still don't care? 18:31:27 I think my goal is best stated as the two following ideas: 18:31:41 b_jonas: ccs can't commute floating point operations unless you permit them to 18:32:23 Or, well, really one particular idea. 18:32:43 Every program can be rewritten into an equivalent (very very long) BFJoust program. 18:32:52 That would behave identically. 18:33:01 I don't care if this program changes when you recompile something, or if you move to another computer. 18:33:11 But I do care that it is possible for that one particular hill, or instance at that particular time. 18:34:49 did some more bitbet math. The initial two bets will pay out about three times their value if realized... 0.126 bitcoins for the first and 0.188 bitcoins for the second bet. So if they were made by the same person, that person would have a guaranteed win by now... 18:35:05 * int-e concludes that bitbet is weird. 18:37:03 Well, almost guaranteed. 18:37:13 ais523: they can, as in they can commute floating point addition, multiply, max and min, since commuting those still gives the result prescribed by the IEEE float rules. (They can also do similar transformation on subtraction.) the cc can't _associate_ them differently. 18:37:46 b_jonas: what happens if you add two NaNs with different payloads? 18:38:02 I did not propose that , generates random numbers. 18:38:20 I prposed that , generates whatever number was at the current cell when the other program executed a . command 18:38:49 Or acts like . if the other program hasn't 18:39:30 -!- lynn has joined. 18:39:58 zzo38: ah right 18:40:03 ais523: per IEEE math, you get a quiet nan, but it's not specified which. x87 and sse both have defined precise rules for which nan, but the x87 one is sane and commutative, the sse one isn't. I don't know why Intel changed the rules. 18:40:08 maybe you made more than one proposal 18:40:42 ais523: basically iirc the rule is that if both inputs are quiet nans, on x87 you get the one with the higher mantissa (I'm not sure what sign if they're of the same mantissa), and on sse you get the first operand. 18:41:16 ais523: the rule could be changed again if the cpu added new instructions, but it takes like two decades till everyone actually starts to use those new instructions. 18:46:10 -!- earendel has joined. 18:47:37 -!- zadock has joined. 18:52:24 -!- earendel has quit (Ping timeout: 260 seconds). 18:54:04 Now that I have made a extension to ICCCM, who is it supposed to be send to? 18:59:21 -!- earendel has joined. 19:23:32 b_jonas: Did you misunderstand what I wrote about madness rule of Magic: the Gathering cards? 19:31:06 -!- hppavilion[1] has joined. 19:41:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 19:43:16 -!- zadock has quit (Quit: Leaving). 19:45:56 -!- AnotherTest has joined. 19:52:39 zzo38: probably, I don't understand what your proposed rule was 19:52:57 -!- jaboja has joined. 19:53:14 did someone tell me something 19:53:27 i guess it wasn't important 19:55:09 I was proposing nothing; I was mentioning what the current rule is and what an article from Wizards of the Coast claims they would be changing it to. 19:56:42 The current rule is that when you discard a card that has a madness ability, you may discard it to exile instead of to the graveyard (it is still discarded, but placed in a different zone). Doing this puts a triggered ability on the stack. When it resolves, you must either cast that card for its madness cost, or put that card into your graveyard. 19:57:33 The change that they seem to be making is simply to make discarding to exile mandatory instead of optional (forcing it to trigger). 20:00:49 I believe that this can make many improvements for Magic: the Puzzling, such as that in some situations you may not be able to avoid giving your opponent priority during the cleanup step (or your opponent cannot avoid giving you priority during cleanup step) due to this, or a triggered ability forced to place on stack, or a card can more easily be exempted from Tormod's Crypt, etc 20:06:29 -!- hppavilion[1] has joined. 20:13:12 -!- earendel has quit (Read error: Connection reset by peer). 20:13:48 -!- earendel has joined. 20:14:23 -!- impomatic has quit (Ping timeout: 250 seconds). 20:14:54 -!- lambda-11235 has quit (Ping timeout: 244 seconds). 20:26:29 -!- J_Arcane has joined. 20:30:59 wait wait 20:32:55 -!- nycs has quit (Quit: This computer has gone to sleep). 20:36:59 What? 20:39:50 [wiki] [[Special:Log/newusers]] create * Staticsn0w * New user account 20:41:44 Wait of what? Elaborate. 20:42:52 zzo38: I just found out that msc 2015 supports constexpr. now I'll have to look up what else is new in it. 20:44:14 [wiki] [[!!!]] N https://esolangs.org/w/index.php?oldid=46545 * Staticsn0w * (+322) Created page with " == Features == !!! consists of some extra features compared to !!!Batch, like a space character (?+?) and a compiler that doesn't just compile to a batch file, it compiles to..." 20:45:19 [wiki] [[!!!]] M https://esolangs.org/w/index.php?diff=46546&oldid=46545 * Staticsn0w * (+112) /* Features */ 20:47:30 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46547&oldid=46501 * Staticsn0w * (+10) /* Non-alphabetic */ 20:52:34 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46548&oldid=46546 * Staticsn0w * (+208) /* Features */ 20:55:21 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46549&oldid=46548 * Staticsn0w * (-1) /* Hello world! */ 20:55:58 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46550&oldid=46549 * Staticsn0w * (+5) /* Hello world! */ 20:57:51 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46551&oldid=46550 * Staticsn0w * (+81) /* Features */ 20:58:01 -!- `^_^v has joined. 20:58:28 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46552&oldid=46551 * Staticsn0w * (+5) /* Features */ 21:00:06 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46553&oldid=46552 * Staticsn0w * (+1) /* Features */ 21:03:09 [wiki] [[!!!Batch]] https://esolangs.org/w/index.php?diff=46554&oldid=42305 * Staticsn0w * (+29) 21:08:51 -!- jaboja has quit (Ping timeout: 248 seconds). 21:12:12 [wiki] [[Self-modifying Brainfuck]] M https://esolangs.org/w/index.php?diff=46555&oldid=44408 * Mbomb007 * (-13) The examples page on the creator's website are from 2006. 21:16:40 [wiki] [[Self-modifying Brainfuck]] https://esolangs.org/w/index.php?diff=46556&oldid=46555 * Mbomb007 * (+21) Brian & Chuck is similar. Quiney is not. 21:16:58 [wiki] [[Self-modifying Brainfuck]] https://esolangs.org/w/index.php?diff=46557&oldid=46556 * Mbomb007 * (+7) 21:21:39 -!- earendel has quit (Ping timeout: 276 seconds). 21:23:31 -!- earendel has joined. 21:24:54 http://cyclopslang.org/ 21:28:26 [wiki] [[Brian & Chuck]] M https://esolangs.org/w/index.php?diff=46558&oldid=45122 * Mbomb007 * (+0) 21:28:35 -!- lleu has quit (Quit: That's what she said). 21:34:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:47:12 -!- hppavilion[1] has joined. 21:49:54 [wiki] [[Self-modifying Brainfuck]] https://esolangs.org/w/index.php?diff=46559&oldid=46557 * Mbomb007 * (+1630) Added more documentation 21:51:55 [wiki] [[Self-modifying Brainfuck]] https://esolangs.org/w/index.php?diff=46560&oldid=46559 * Mbomb007 * (+91) added link to another interpreter 22:00:03 -!- p34k has quit. 22:05:44 -!- Lord_of_Life has quit (Excess Flood). 22:06:07 -!- Lord_of_Life has joined. 22:18:19 -!- `^_^v has quit (Ping timeout: 250 seconds). 22:29:12 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:31:35 hey, weird question that might be perfect on #esoteric 22:31:48 anyone have ideas for how to get hold of the relocation table of a Windows DLL while running on Linux? 22:32:36 Did you try 7-Zip? I don't know if that helps at all, although I know it can do something with Windows executable files (I am not quite sure what though) 22:32:39 ais523: um, objdump from gnu binutils, recent enough version of? 22:32:56 ais523: you have a copy of the dll, right? 22:33:43 b_jonas: yes, just objdump can't parse it 22:33:50 "File format not recognised" 22:34:06 ais523: is it an x86_32 or x86_64 dll? and is your binutils not too old? 22:34:20 _32 22:34:30 it's distro binutils for the current version of Ubuntu 22:34:30 hmm... 22:34:47 really we're trying to settle a question about what sort of relocations Windows DLLs have in general 22:35:27 ais523: dunno, last time I tried to figure out how to decide whether a windows x86_64 file is a dll or an exe, if you only have its content, not the correct name. I couldn't find a way. 22:35:50 ais523: as in, I don't see anything in the objdump output that distinguishes between those two cases. 22:35:57 When opening DLL with 7-Zip I get a ".reloc" section, although I am not sure what its format is, or if it is what you need 22:36:15 zzo38: it looks promising 22:36:17 ais523: but it's strange if objdump doesn't parse the dll 22:36:37 so far I only tried to parse windows dlls with objdump on windows 22:36:45 and I'm not sure if I tried to parse x86_32 dlls at all 22:37:06 it may make a difference because I think they might be using different top-level formats (I'm not sure) 22:38:49 -!- ^v has quit (Ping timeout: 252 seconds). 22:41:02 -!- ^v has joined. 22:50:25 -!- lynn has quit (Ping timeout: 240 seconds). 22:55:17 My "i686-w64-mingw32-objdump" parses a random x86_32 DLL just fine. 22:55:55 Well, I assume it's "fine", I have no wayof telling. It doesn't complain, and there's lots of information in the -x output. 22:56:06 right, just tried 22:56:15 -R fails but -x gives some relocations, which is what I was looking for 22:56:23 I don't understand the format, but that's OK 22:56:33 I was asking for someone else, and they found Microsoft's docs on the subject 22:56:39 they are apparently writing their own dynamic loader (?) 22:56:47 I think it's kind of weird that one of these relocation entries is of type "MIPS_JMPADDR16". 22:57:09 -!- Sandra has joined. 22:57:36 Most of them are ABSOLUTE or HIGHLOW, but then there's that one and a "HIGH3ADJ". 22:57:46 Hola 22:58:11 yo hablo español 22:58:26 I don't know Spanish speeching/writing so well, sorry 22:58:50 hello how are you? 22:59:03 I speak spanih and you? 22:59:05 ais523: great 22:59:15 also wtf 22:59:24 writing their own dynamic loader? are they a libc implementor? 22:59:27 b_jonas: hello o hola 22:59:37 and for x86_32 too... 22:59:39 crazy 22:59:47 I am fine but did you read the instruction of this IRC channel? Some people go on by mistake by seeming to think it is the Spanish IRC, even though it is not 22:59:52 b_jonas: I speak spanish and you? 22:59:59 `? bienvenudo Sandra 23:00:08 I think that's how you spell it? 23:00:10 err 23:00:12 `bienvenudo Sandra 23:00:17 bienvenudo Sandra? ¯\(°​_o)/¯ 23:00:19 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bienvenudo: not found 23:00:26 hmm 23:00:41 what's the point in having a Spanish welcome command if you have to be Spanish to remember how to spell it 23:01:11 `bienvenido Sandra 23:01:15 Sandra: ¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/. (Para el otro tipo de esoterismo, prueba #esoteric en EFnet o DALnet.) 23:01:19 there we go 23:01:21 (thanks Wiktionary) 23:01:33 I'm not Spanish and I remember how to spell it. 23:01:44 ais523: try `? welcome.es 23:01:55 ais523: that doesn't add the nick but it gives the message 23:02:07 Learning spelling in English is just memorization anyway. 23:03:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 23:04:03 -!- Sandra has quit (Ping timeout: 246 seconds). 23:05:27 that's an interesting rDNS 23:05:36 is that the default rDNS you get if there isn't another one available? 23:08:45 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46561&oldid=46553 * Staticsn0w * (+65) /* Features */ 23:09:51 -!- oerjan has joined. 23:12:34 @messages- 23:12:34 fizzie said 6h 27m 55s ago: And, what, retry until everything's balanced? 23:12:48 fizzie: obviously hth 23:13:56 how does the perl version work, anyway? how does it prevent you ending up in a cul-de-sac of the FSA with no )s in 23:16:36 oh and what if the corpus has unbalanced ()s 23:16:45 -!- Sandra has joined. 23:17:03 if it doesn't, then i can see how you might keep track of which states allow rebalancing, and avoid cul-de-sacs 23:19:01 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46562&oldid=46561 * Staticsn0w * (+63) 23:19:08 basically, for each state calculate the maximal number of )s that can follow (possibly infinite) 23:19:37 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46563&oldid=46562 * Staticsn0w * (+10) /* Filetypes */ 23:21:28 now if you wanted to balance several sorts of brackets, nested... 23:24:24 you'd end up with a PDA. i think it would involve... what's the name... 23:25:45 -!- Sandra has left. 23:28:07 -!- Sandra has joined. 23:36:52 the best i can find is left/right quotient, which seems not quite right. 23:38:58 or wait, maybe it _is_ right quotient if you ...dammit, now i've forgotten _that_ word too 23:39:44 -!- Sandra has quit (Excess Flood). 23:40:02 no wait, left. 23:40:33 -!- hppavilion[1] has joined. 23:40:36 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46564&oldid=46563 * Staticsn0w * (-207) /* Hello world! */ 23:41:03 [wiki] [[!!!]] https://esolangs.org/w/index.php?diff=46565&oldid=46564 * Staticsn0w * (-6) /* Filetypes */ 23:41:13 i suppose this is a special case of intersecting a context-free language with a regular one. 23:42:31 @tell fizzie see monologue started 15 mins after you idled hth 23:42:31 Consider it noted. 23:44:38 @tell Taneb AlphaGo (Google's Go AI) is taking on the world champion starting tomorrow <-- today's iwc annotation seems relevant. 23:44:39 Consider it noted. 23:45:07 oerjan: do you mean alphabet's go ai hth 23:45:14 -!- boily has joined. 23:45:14 shachaf: do you mean Taneb hth 23:48:33 hellochaf. do you mean Taneb Taneb hth? 23:51:28 -!- Phantom_Hoover has joined. 23:54:42 -!- vanila has joined. 23:54:44 http://cyclopslang.org/ 23:59:41 the final score for Lee Sedol v. AlphaGo would be 1-0, AlphaGo pisses off after the first loss and will go destroy everything 23:59:57 plausible 2016-03-09: 00:00:09 oerjan: It's much dumber than that. 00:00:15 -!- spiette has quit (Ping timeout: 276 seconds). 00:01:02 oerjan: It just maintains a stack of open punctuation, skips (or filters out, I forget what) if the model tries to generate any closing punctuation that doesn't match, and forcibly closes anything that was left open at the end. 00:04:16 OKAY 00:05:04 so let's see, the first game starts in 4 hours? 00:05:15 Yurume: I don't think it's capable of communicating in anything but go boards 00:05:31 destroying everything with just go moves would be difficult, if potentially not completely impossible 00:05:43 Whoo! 00:05:54 Just found out my TeX distribution came with Metafont! 00:05:54 And time controls are 2h + 3x1min byo-yomi... serious. 00:06:30 I never met-a-font... 00:06:31 ais523: sounds like a question for yudkowsky 00:06:32 wait, how does that time control work? 00:06:42 ais523 : no problem, afaik it HAS to communicate with an amateur (6d iirc) go player, so AlphaGo may convince him to make a broader contact 00:07:11 1min per (half) move? not sure 00:08:03 Yurume: hey your nick implies you might secretly be yudkowsky 00:08:09 well, basically you have 3 minutes and after each (half) move the timer is rounded up to full minutes again 00:08:11 hahahaha 00:08:34 oerjan : I did enjoy Crystal Society 00:08:44 hm have i read that 00:08:49 int-e: oh, so once the 2h runs out you have 1 minute per move, + 2 more minutes at any time you like 00:08:54 -!- Lord_of_Life has quit (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!). 00:08:57 that's an interesting way to do a time control 00:08:58 but they announce that a player has 3 (or 2, or 1) byo-yomi periods left. 00:09:08 look at this new language 00:09:23 hm obviously not 00:09:24 vanila: oh, I ignore links unless someone gives me a good reason to follow them, and sometimes even then 00:10:05 i could take a screenshot of the page 00:10:12 and post it directly to the chat 00:10:18 would thah help 00:10:58 I looked at the page 00:11:05 but decided not to care about it much 00:11:22 it's basically just a non-English language that picks a particularly obscure language for encoding its keywords, isn't it? 00:11:27 the semantics aren't special 00:11:34 so it's in the same category as LOLCODE really 00:12:07 -!- Lord_of_Life has joined. 00:13:19 whats the word on the game? 00:13:32 vanila: i'm sorry i cannot take this seriously as long as it doesn't have a linear type system hth 00:13:37 -!- lambda-11235 has joined. 00:13:55 good idea! 00:13:59 oerjan: hmm, you seem to be following the ais523 system of esolang design, except with more puns 00:14:39 heh 00:15:30 linear type system means... how do types compose? 00:16:06 quintopia: it means a type system curry-howard equivalent to linear logic hth 00:16:10 ask shachaf for details 00:16:26 quintopia: typically, a linear type system is one in which you have to use each lambda binding exactly once 00:16:38 linear logic is pretty cool 00:16:56 this normally involves calling helper functions just to copy and/or delete data 00:17:10 (if your data is of an ADT, you can typically write functions to copy and delete it recursively) 00:17:22 i don't know if anyone is really applying linear logic in programming well though? 00:17:36 "well"? 00:17:50 So I was thinking about linear logic. 00:17:56 vanila: well, Verity (the language I work with in my day job) is affine 00:18:04 oh cool!!!!!! 00:18:05 Is Clean with their uniqueness types still a thing? 00:18:08 i want to look into that 00:18:11 or, well, not technically affine on the front-end; if your program isn't affine, though, the compiler will rewrite it so that it is 00:18:18 producing a warning in the program 00:18:20 that's very interesting! 00:18:26 (affine is like linear, except that you can discard data if you want to) 00:18:45 http://www.veritygos.org/language 00:19:15 isn't rust types also somewhat related 00:19:21 * oerjan doesn't actually know 00:19:30 it uses some kind of region based thing 00:19:33 And how you might extend it to involve Rust-like "borrowed reference" types. 00:19:38 Yeah, Rust's typing system is affine. 00:19:40 rust types have some affine-like behaviour but it's much more complex 00:21:12 ais523: sounds verbose/redundant. what are the advantages? 00:21:17 So I guess the way it would work is something like this. If T is a type, and a is a symbol, then ref_a T is a type. 00:21:32 you can have reference count type system 00:21:43 maybe ? 00:21:48 quintopia: in our case, the affine restriction is only on things that happen in parallel, this means that the language is provably race-free 00:22:01 woww 00:22:03 that's a nice idea 00:22:10 And then, uh, what was it. 00:22:21 (that said, we have shared-memory concurrence that introduces the races again, generating special variables with multiple sets of read/write ports; however you get a warning if that happens) 00:22:32 ais523: and what are the advantages of full linearity? 00:22:50 Here is my understanding of it: 00:22:56 * normal lambda calculus: Heap allocated data with GC 00:23:05 quintopia: as opposed to being affine? I'm not sure of any offhand, which may be why people don't use it 00:23:11 ah 00:23:20 * Linear lambda calculus: head allocated with statically known collection 00:23:25 what field of application is verity for? 00:23:29 * Affine/substructural: Stack allocation 00:23:34 you can mix them too 00:24:28 mad: hardware design 00:24:43 Wadler has shown that with basic linear type systems all your datat has a certain 'shape' 00:24:46 the idea's that it makes it possible to design hardware in a language rather higher level than VHDL or Verilog 00:24:55 a non-linaer 'heap' with linear trees from it 00:24:56 meaning that hardware design should be much faster and cheaper 00:25:09 ais523 : ah... so basically it's trying to do the same thing as verilog but better? :D 00:25:30 mad: it's like writing in algol rather than asm :-) 00:25:54 (why algol? because it's about the right level of primitiveness for how far we've got with hardware, and because Verity is an Algol 60 derivative) 00:26:08 I'm not old enough for algol to have that much meaning to me but ok :D 00:27:24 well, algol had basically died out by the time I was born 00:27:31 but that doesn't mean that I couldn't learn it after the fact 00:27:52 there are still working algol 60 compilers around (something that surprised my boss when I used one to gather benchmarks for a paper) 00:28:03 Given T |- U, and ref_a U |- V, you can get T |- U ⊗ V, as long as T, U, and V don't contain ref_a. That sounds more or less right. 00:28:54 Also, ref_a is... whatever you call that property where you can take one copy of it and get n copies of it for any natural number n. 00:29:03 You can... contract and weaken it? 00:29:11 -!- Sprocklem has quit (Ping timeout: 250 seconds). 00:29:12 linear logic calls it ! 00:29:18 Rust has a Copy trait that's similar 00:29:40 That's an operator, not a property of terms. 00:29:42 in Verity, the only things that are primitively copyable are integers, but the compiler will add extra copies of things in the source code if you might need to copy them 00:29:55 tswett: ah right 00:30:13 You could have a rule saying ref_a |- !ref_a. 00:31:04 so linear logic isnt't useful for programming really 00:31:16 that's why cyclone invented regions 00:31:18 vanila: what makes you say that? 00:31:24 i just explained why 00:31:25 anyway 00:31:32 it was weird that rust came out of nowhere 00:31:39 instead of people just fixing the cyclone compiler 00:31:52 `? nih 00:31:53 I think they wanted to design a proper language from the ground up 00:32:00 not just for the region inference but for all the other things too 00:32:02 NIH was /not/ invented by Taneb. 00:32:17 Number of text encodings I've converted to/from in my code: 5 00:33:05 utf8, latin-1 (which really means windows codepage whatever), utf16, shift-jis, euc-jp 00:33:45 that number is 4 more than I would like :/ 00:34:20 mad what code 00:34:22 What program is it? 00:34:40 vanila : text-to-pronunciation 00:34:53 ooh that's interesting! 00:34:53 for english, french, and now japanese 00:35:38 mad: you would like to convert between one encoding? 00:35:46 -!- Sprocklem has joined. 00:36:04 A separate program should be used for encoding instead I think 00:36:09 myname: windows-1252 is the latin1ish one 00:36:36 yeah windows-1252 is "latin-1 in practice" 00:36:51 I can explain how to convert between one encoding. 00:36:54 Done. 00:37:06 zzo38 : user input comes in utf8 00:37:22 for french I turn it into utf16 to tokenize it 00:37:38 and because raw utf8 is inconvenient 00:37:44 -!- jgcruzh has joined. 00:37:52 Are you writing in C or something? 00:38:20 the actual dictionary part recognizes latin-1 (aka windows-1252) and nothing else because that's what you need for french anyways 00:38:30 this sounds mad 00:38:45 Why not convert it to Windows-1252 to tokenize it? 00:38:45 and it does a binary search through the mass of data and I wouldn't want to have it do it in utf-8 data 00:39:05 impressively complex program 00:40:09 tswett : mostly so that it can handle japanese input if it's present in the stream 00:40:17 UTF8<->UTF16 does not require character conversion tables, at least 00:40:32 ais523, have you seen thot talk by conal elliot about using CCCs to compile stuff to hardware 00:40:37 yeah 00:40:45 vanila: no 00:40:46 the latin-1 conversion is hardwired also 00:40:48 also, "CCCs"? 00:41:05 it only takes latin-1 accent characters and oe ligatures 00:41:21 ooh! does anyone know a good library for doing operations like wcwidth() that uses char32_t rather than wchar_t (which doesn't handle astral planes on Windows)? 00:41:27 http://begriffs.com/posts/2015-06-28-haskell-to-hardware.html 00:41:30 here's the video it,s really good 00:41:43 oh, video :-( 00:41:50 can we get something in text form? 00:41:53 ais523 : isn't it possible to do an std::string or something like that? 00:41:57 http://conal.net/blog/posts/haskell-to-hardware-via-cccs 00:41:58 I forget 00:42:14 I don't think you can learn the things that are in the video from this text 00:42:19 mad: would that have a wcwidth operation? 00:42:59 vanila: oh, the Verity compiler can do lambda to hardware via CCC already 00:43:04 I know 00:43:06 only we use a game semantics translation 00:43:12 thats why i brought this up 00:44:21 ais523 : what does wcwidth() use normally? utf16 char? 00:44:31 it uses wchar_t 00:44:40 which... is 16bits right? 00:44:45 it's implementation-defined 00:44:51 what 00:45:01 and the interpretation of it is sometimes configurable at runtime via locale, too 00:45:07 ie another stupid thing that will break 00:45:12 however, the most common choices are UTF-16 on Windows and UTF-32 on Linux 00:45:35 ANOTHER STUPID THING THAT WILL BREAK 00:45:38 definitely 00:45:45 I'm looking for something like this, except locked to UTF-32 00:45:49 C.A.R. Hoare on algol: "Here is a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all its successors." 00:45:56 and thus less fragile 00:46:02 (60) 00:46:10 oerjan: when was that spoken? 00:46:11 nice one 00:46:16 std::string in theory should work 00:46:42 C.A.R. Hoare is good 00:46:48 but you will probably have to roll your own utf8<->utf16<->utf32 conversion 00:47:08 I think what most apps do is: 00:47:19 break if any non base plane character ever appears 00:47:24 the end 00:48:47 I wrote a program to write into a music file, the internal text (for titles and so on) in the music file is UTF-16, therefore I made my program to accept input in UTF-8 that is why (because UTF-8 is compatible with ASCII and UTF-16 is not) 00:48:53 seriously how do we end up with data types that change width between msvc and posix like that 00:48:55 mad: this is the reasoning I used for not supporting astral plane in libuncursed 1 on Windows (on the basis that the programs we're communicating with wouldn't handle it either) 00:49:03 but in libuncursed2 I'd like to do it correctly 00:49:29 windows have to support wchar_t due to how the api uses it 00:49:35 really grody 00:50:21 yes, all the Windows Unicode APIs are wchar_t interpreted, IIRC, as UTF-16 00:50:22 at work we have a type called plgstring that's defined as std::wstring on win32 and std::string on IOS 00:50:30 and it's all over the place 00:50:38 because of exactly that 00:50:55 No you should need UTCE instead, much simpler and more consistent use of wcwidth() and so on is possible with it. 00:51:21 what's UTCE? 00:51:45 It is http://zzo38computer.org/textfile/miscellaneous/utce 00:51:50 * ais523 looks 00:52:44 also, locales are horrible and should never be used 00:52:48 zzo38: what I'm doing is indeed about terminals; however, that encoding does not seem to handle all of Unicode 00:53:01 mad: for encoding, you mean? or in general? 00:53:12 LC_MESSAGES appears to work pretty well at handling its intended function 00:53:36 I mean the C++ locale thing 00:53:36 That is true, UTCE does not (and is deliberately not supposed to) handle all of Unicode. 00:53:57 does anyone know much about the occult 00:54:09 zzo38: in my case, I don't want to output characters that the user's terminal might not be able to handle, but I do want to be able to echo anything that the user inputs 00:54:10 ais523: 1973, alas 00:54:10 I don't know much about it 00:54:17 which could theoretically be any unicode character their computer supports 00:54:22 oerjan: in that case, I would say Hoare is correct 00:54:26 -!- jgcruzh has quit (Ping timeout: 244 seconds). 00:54:31 when would hoare be wrong? 00:54:33 the "nearly" qualifier ensures that that is the case 00:54:46 i can think of scheme 00:54:49 If UTCE encoding is used then you can very easily echo anything that the user inputs, including characters which are not in Unicode 00:54:50 as being better than algol 00:54:55 @messages-lud 00:54:55 oerjan said 9h 49m 36s ago: \oren\: Say, how do you prove associativity and commutativity? <-- there is no one method. sometimes you can just expand equations using things you already know. sometimes you can check all cases. sometimes you need a genuinely new trick. 00:54:55 oerjan said 9h 48m 31s ago: generally you want to know as many tricks as possible that you can use, that goes for all math. 00:55:02 and close enough for the comparison to make sense 00:55:09 huh, I note that zzo38 found the same problem with G0/G1 in theory as I discovered in practice 00:57:10 zzo38 : what bank is Ý on? 00:57:43 zzo38, can i hawve persmission to dowload all of your text files folder? 00:58:03 Ugh, suddenly gray.tfm is missing 01:01:48 the 3 different encodings for japanese is because the code for the lexical analyzer I'm adapting supports all 3 01:01:59 except it uses libiconv to convert 01:02:05 which is under lgpl 01:02:29 I wish METAFONT had more clear errors :,( 01:02:29 and since I don't want to lug around an extra DLL around I have to roll my own basically 01:02:39 It just tells me a file is missing, not where it expects it 01:03:02 So even if I make or obtain a new one, I have no clue where to put it 01:03:02 because you can't statically link against an LGPL lib 01:03:19 -!- XorSwap has joined. 01:03:29 zzo38: You've used METAFONT, correct? 01:05:20 hppavilion[1]: Yes I have used METAFONT 01:05:45 zzo38: Did you ever get an error where suddenly gray.tfm vanished? 01:05:51 zzo38: For no apparent reason? 01:05:53 No I have not 01:06:04 zzo38: Do you know where gray.tfm should be located at least? 01:06:15 Apparently not in fonts/tfm/public/misc 01:06:16 i had a question zzo 01:06:26 vanila: You can, although I recommend only to copy the files you need, and to wait until the night time when I may be sleeping 01:06:35 ill wait! 01:08:45 zzo38: Would you just recommend I reinstall MiKTeX completely? 01:08:50 zzo38: It seems like overkill 01:08:59 ais523 : I'm sorta designing a cpu in verilog these days, I guess it would be easier to do it in verity? 01:09:07 zzo38: But I really have no clue where to put gray.tfm 01:09:29 install texlive rather than miktex... 01:09:30 hppavilion[1]: Perhaps look at the MiKTeX documentation? 01:09:35 zzo38: Perhpas 01:09:41 mad: you're going to get more efficiency in verilog, just like asm is more efficient than most higher-levle languages 01:09:49 also verity doesn't do pipelining yet (that's what I'm working on atm) 01:12:12 vanila: However, note that the files are there for being downloaded and that you are not prohibited from downloading them; I am just suggesting, probably you do not need all of them, and/or you probably should not load the server too much. 01:12:49 yeah that's why I asked= 01:13:18 ais523 : I've seen a paper on bluespec verilog, where basically they use Queues between stages instead of registers 01:13:23 and I'm warming up to the idea 01:13:40 it makes stall handling more local 01:14:07 mad: well a fixed-max-size queue is pretty easy to write in an HDL 01:14:14 they tend to be specifically optimized by the compilers, too 01:14:17 yeah 01:14:17 zzo38: Can't find anything :/ 01:14:21 Fuck you, knuth 01:14:24 Fuck you 01:14:40 I have a first-word-fallthrough queue for that yes 01:14:52 (Giant errors are intimidating, but at least tell you what's wrong) 01:15:06 I'll probably have to add some reset signal to the queue though 01:15:11 for branch prediction fails 01:15:18 and exceptions/interrupts 01:17:05 Fuck it, just reinstalling MiKTeX and hoping for the best 01:19:53 is there any linux kernel hacker here? 01:20:20 Subject:?spam? Live The trucker Life With A--Job - That Let's You - Get - Out,--and-drive 01:20:36 izabera: not sure about hacker; I've inspected bits of the source before now but they're probably the wrong bits 01:20:50 ok 01:21:08 that spambot has a pretty unusual use of whitespace and hyphens 01:21:11 also I can't drive 01:21:21 why not? 01:21:36 my grandma can 01:21:50 anyway, i'm interested in the ptrace syscall for a thing and i think i found a bug 01:22:00 gotta play nice to get a license :/ 01:22:20 suppose process1 traces process2, and both are unprivileged 01:22:39 then if root tries to trace process2, it can't 01:22:40 izabera: I don't have enough concentration, it would be dangerous 01:23:01 driving isn't dangerous 01:23:03 come on 01:23:11 nobody ever died driving 01:23:25 driving without huge amounts of attention and awareness of your surroundings is dangerous 01:23:30 I once managed to walk into a car :-( 01:23:36 (luckily it was waiting in traffic at the time) 01:23:43 even in retrospect I'm not entirely sure how 01:23:52 you managed to walk into a car that wasn't even moving? 01:23:58 yes 01:24:34 * izabera smells insurance fraud 01:24:50 I didn't claim insurance on it! it was definitely my fault 01:24:54 also the car was uninjured 01:24:59 so it had no reason to claim insurance either 01:25:22 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:25:52 i'd be pretty impressed if you managed to actually damage a car by walking into it 01:25:58 what are you, a hulk? 01:30:06 izabera: who says it's a bug that root can't trace process 2? 01:30:25 i don't know 01:31:10 i think it should, and that unprivileged processes shouldn't be able to prevent root from doing something 01:33:14 doesn't it look like a bug? 01:33:25 "huh, I note that zzo38 found the same problem with G0/G1 in theory as I discovered in practice" is meaning what problem do you mean exactly? 01:36:00 zzo38: that if you have a character set for G0 that can represent all the characters you used, then G1 is redundant, and thus often causes problems when people try to use it because it turns out not to be the character set they expected 01:36:56 and (probably due to termcap) a lot of programs assume things about the contents of G1 without forcing those assumptions to be true 01:37:46 -!- vanila has quit (Quit: Leaving). 01:39:06 ais523: i have a driver's licence which i got when i was 18, but in my 30s i stopped feeling confident enough to drive, for much the same reason as you 01:40:06 * oerjan isn't even sure if the licence is still valid, he vaguely recalls reading somewhere that they might start expiring them. 01:40:43 you sound old 01:41:40 45 01:41:43 -!- mihow has joined. 01:41:55 old 01:41:59 sorry 01:42:07 OOOLLD *COUGH* 01:42:16 * oerjan waves cane at izabera 01:44:26 i suppose it didn't help that i only drove regularly in the brief year or so from i got the license until my dad's old car caught fire 01:46:03 -!- earendel2 has joined. 01:46:04 (the worst part of which wasn't the car itself - i got out quickly enough - but that my mother stormed out of the house just as the entrance filled with smoke, we couldn't get in again and the whole house had to be washed down) 01:47:07 -!- earendel2 has left. 01:47:08 -!- Alejandro15 has joined. 01:47:15 -!- earendel has quit (Ping timeout: 264 seconds). 01:47:18 because she left the door open 01:49:47 -!- Alejandro15 has left. 01:50:24 * oerjan resolves to drop funny anecdotes and stick to puns 01:50:38 -!- earendel has joined. 01:59:03 oerjan: actually i think thats the most enjoyable thing ive yet heard from you 01:59:52 lua is a good choice, it's just that very few languages like this do determinism <-- some people are having a heap of trouble trying to get ghc to produce deterministic output to work better with nix-style management 02:00:22 quintopia: yay! i ... think? 02:00:32 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 02:02:36 -!- boily has quit (Quit: RETROSPECTIVE CHICKEN). 02:02:41 -!- lynn has joined. 02:06:31 Do you know what all of the atoms in the X server mean? I happen to have many atoms installed, many of which I do not know what they are for. There is one that says "ENLIGHTENMENT_DESKTOP" even though I do not use Enlightenment, there is stuff starting with "_NET_SYSTEM_TRAY" even though I do not use a system tray, as well as "IM_PROTOCOLS" and "IM_REMOTE_COMMAND" and various others. There is also "Editres" which has been added recently and I don' 02:08:01 did someone tell me something <-- I DON'T KNOW 02:10:01 linux kernel is the best code 02:10:17 like, there's a function that calls write_unlock_irq() 02:10:27 ok let's look it up, oh it's a macro 02:10:59 it's only a wrapper around _raw_write_unlock_irq() 02:11:04 ok let's look that up 02:11:29 this is defined twice as a macro, and once as a function 02:11:56 ok now i'm a bit lost, which one is my code calling 02:12:38 a minute of guesswork later, ok it must be macro#2, ok let's look that up 02:12:50 this is a macro that calls __raw_write_unlock_irq() 02:12:55 -_- 02:13:13 and finally this is a function that does something 02:13:26 so i hate this code 02:13:51 -!- hppavilion[1] has joined. 02:14:02 what's the point in having a Spanish welcome command if you have to be Spanish to remember how to spell it <-- you can do `? welcome.es in a pinch hth 02:31:31 -!- mihow has quit (Quit: mihow). 02:38:22 -!- mihow has joined. 02:43:54 hmm 02:48:10 got to the "register alias table" part of the cpu design and I'm worried it will have too many read/write ports 03:01:10 -!- lynn has quit (Ping timeout: 252 seconds). 03:03:04 -!- lleu has joined. 03:14:42 -!- XorSwap has quit (Quit: Leaving). 03:15:40 -!- mihow has quit (Quit: mihow). 03:36:48 -!- adu has joined. 03:42:15 AlphaGo match starting in 19 minutes: https://www.youtube.com/watch?v=vFr3K2DORc8 03:42:30 Woot. 03:45:03 hi all 03:45:50 the stream comments are like... 03:47:55 I hid chat 03:48:07 Smart. 03:49:15 Ahh, everyone loves the neural net. 03:49:22 22:01:38: ​~hackenv/bin/bash: sek ais523 \ strcc \ stories: \ \ bin/force \ the program \ xtw> \ side x \ path \ $1 \ cat \ chr \ import 0 \ every \ hackenv \ test \ drag (A fisher \ meops \ create \ format \ report \ complaints \ press \ run \ she \ cannot program \ wisdom/general \ loop \ fizzie \ was a programming language used to see it is not an application to the Unicode '. 03:49:55 it has the ba kslash pattern right 03:50:00 *backslash 03:50:12 I wonder what's the fourier transform of the ulam spiral 03:50:33 It gets a lot of things right. 03:51:23 Like, say, the names of the users in the channel. 03:51:34 It pretty much never uses a nick that isn't a real one. 03:52:00 are the timestamps neural net generated too? 03:52:36 I think that watching this stream is a condition of my employment contract or something. 03:53:03 mad: what's the square root of blue? 03:53:05 ais523: yeah. 03:53:10 It's reasonably bad at making timestamps. 03:53:35 This version of the neural net makes up the minute and second components randomly every time, not paying any attention to the last timestamp. 03:53:42 this is one of the more hyped up streams I've seen, multiple channels advertising it 03:53:54 The hour tends to stay the same from one message to the next, but it frequently fluctuates. 03:53:58 will there be good commentary? I know how to play Go but am really bad at it 03:54:06 I don't actually know. I hope so. 03:54:11 And likewise. 03:54:11 It generates some interesting URLs. Y'all've seen the URLs it generates. 03:54:13 21:54:19: see http://www.okairffimelohaspe.com/Zomisoserencridule/Jonus/rtfactbrlEIULer-tomicfopic_Page/newer 03:54:34 Ah yes, okairffimelohaspe.com/Zomisoserencridule is one of my favorite websites. 03:55:01 I'm afraid to click the link now 03:55:03 It has some really great tomicfopic pages about rtfactbrlEIULer. 03:55:15 also would I really recommend a website like that? 03:56:15 I dunno. 03:56:30 That's one of the more baroque URLs it's ever generated. 03:56:40 Fun fact: it likes to use .html as a top-level domain. 03:56:47 TrueWhat stream are we watching? 03:57:05 *-True Apparently I was midsentence somewhere else 03:57:38 prooftechnique: https://www.youtube.com/watch?v=vFr3K2DORc8 03:57:42 Oh yeah, it generates boily's quit messages, too. 03:57:43 22:05:11: -!- boily has quit (Quit: IAPICINN CHICKEN). 03:57:56 Usually it puts an actual word there. 03:57:58 tswett: have ICANN approved .html yet? 03:58:04 I dunno. 03:58:25 + 03:58:41 I have no idea how anyone keeps up with that chat :v 03:58:48 The answer is "you don't" 03:59:09 How's AlphaGo doing? 03:59:10 By the way, speaking of neural nets... 03:59:11 http://lexiconjure.tumblr.com/ 03:59:19 Example: 03:59:30 "chrismatic, adj. [ECOLOGY] (of a plant or flower) having a christic crystal or deposit. late 19th century: from Greek khrisma ‘creeping shape’ + -IC." 03:59:38 My favorite part is how it generates plausible etymologies! 03:59:53 I'm pretty sure there's no such Greek word as "khrisma". 04:00:10 But that sounds like a Greek word, and it sounds like the sort of Greek word that could have yielded "chrismatic". 04:00:25 Sure there is, it means "Krishna" 04:00:27 tswett: http://www.etymonline.com/index.php?term=chrism 04:00:28 is "christic" a real word? 04:00:42 khrisma is an unguent, apparently 04:00:48 Sure enough, there is such a Greek word as "khrisma". 04:01:14 Wiktionary says "christic", lowercase, isn't a real word, but "Christic" means "of or relating to Christ". 04:01:20 There might even be a real plausible definition of chrismatic, knowing that :D 04:01:36 Also from Greek, of course. "Khristos". 04:01:59 Which is, unsurprisingly, related to "khrisma". 04:02:30 I could see chrismatic as meaning "characteristic of a chrismatory" 04:02:57 I would imagine "christic" would mean something like "relating to ointment". 04:03:12 hmm, looks like the stream has broken 04:03:29 no pic 04:03:31 Had to reload 04:03:32 ah, there it is 04:03:37 prooftechnique: nah, that's just coincidence 04:03:53 it was broken for everyone 04:03:58 There could be plants which exude an oily substance, and this substance could be dubbed "chrisma". Then the adjective form of that could be "christic", and the plants that exude that substance could be called "chrismatic". 04:04:08 True 04:05:00 you'd think alphago would respond to an opening move faster 04:05:07 there aren't that many opening moves played in top-level play 04:05:11 so you could have answers to them precalculated 04:06:17 I really like this definition: http://lexiconjure.tumblr.com/post/140628512630/roporation The net says that it's from the Latin verb "roporare". 04:07:22 The etymology of "pupple" is given as "Middle English (in the sense ‘assembly, trick’): perhaps related to Old French poper ‘to pop’." 04:08:02 hm, "roporation" seems to be similar to "anthropomorphization" or "personification", except that it reflects an actual person who just happens to be very similar to the personification of an event 04:09:35 this is a concept that I don't think had a word before 04:09:49 OTOH, I'm not sure it needs one 04:10:13 The Humanoid Typhoon? 04:11:16 also, an "activity or event" is the thing that's represented 04:11:37 "[count noun] a person or thing that is represented by a particular activity or event: the roporation of the South African people." 04:11:42 and from the other definitions, I get the sense that it's representing a social movement or group 04:12:00 like, there might be a roporation of communism, or of a political party 04:12:15 You usually think of people representing movements and whatnot, not the other way around. 04:12:25 Though, come to think of it... 04:12:48 There certainly are activities and evntsthat represent people and things. Like... plays and perormances. 04:15:44 there are people representing movements, but there are also movements lenin the other way 04:17:08 When I first read about AlphaGo being a big deal, was it Fan Hui that was taken as not a big deal for having been beaten, or was it that Lee Sedol wasn't a power player despite being 9-dan? 04:17:24 I remember there being some kind of minimization of one matchup or the other 04:17:47 Fan Hui. 04:18:08 Lee Se-dol is generally regarded as being the top player. 04:18:30 Thanks 04:18:40 This is akin to Deep Blue v. Kasparov here. 04:19:06 That was the impression that I got when this match was talked about, yeah 04:19:27 Kasparov, Deep Blue, 1996? 04:19:40 You could never predict it, that it could see through you. 04:20:05 well Deep Blue lost the first sequence against Kasparov 04:20:51 Fan Hui was a quite impressive win though; first time a computer Go program has beaten *any* professional Go player, period. 04:23:34 Is there a separate stream without these guys talking in the middle of my screen? 04:24:30 I wonder if the same technique would work in Chess (good brute-forcer + neural net for position analysis) 04:30:28 ais523: https://chessprogramming.wikispaces.com/Brainless 04:30:31 Like that? 04:31:19 the commenter said chinese taipei 04:31:22 It probably would. IIRC this technique was applied for some other things, like Atari 2600 games... 04:31:25 LOL. 04:31:28 mad: and implied it was a different country from China 04:31:31 may get in trouble for that 04:32:41 "Chinese Taipei" is the international neutral appellation for it, isn't it? 04:32:45 especially if representing Google 04:32:46 Good enough for the Olympics, good enough for go? 04:33:09 nobody calls it chinese taipei 04:33:11 tswett: this is why you get "country or region" dropdowns on websites, installers, etc. 04:33:20 Yup. 04:33:21 nobody disputes the existence of Taiwan as a country or region :-) 04:33:26 except the olypics for stupid dipplomatic reasons 04:33:50 Don't the Boy Scouts have a policy of calling it "Taiwan, Province of China"? 04:34:37 I have no idea 04:34:46 ais523 : ehh 04:34:51 Duc A. Hoang: Independent Taiwan!!!!Independent Taiwan!!!! 04:36:01 hmm, which country is it that #esoteric claims doesn't exist? 04:36:05 I guess it might be like that 04:37:06 Bielfeld? 04:37:14 Antarctica? 04:37:23 `? antarctica 04:37:33 antarctica? ¯\(°​_o)/¯ 04:37:48 `le/rn antarctica/There's no such country as Antarctica. 04:37:54 Learned «antarctica» 04:37:55 ais523: canada hth 04:38:03 `? tswett 04:38:04 tswett is livin' it up with the penguins. He's a title under the cruxite in the lathe. 04:38:17 i'm pretty sure tswett is just trying to hide his whereabouts 04:38:21 I'm a what the fuck now? 04:38:27 `culprits wisdom/tswett 04:38:29 -!- adu has quit (Quit: adu). 04:38:29 -!- treaki_ has joined. 04:38:33 tswett oerjan oerjan elliott Taneb 04:38:44 Hmmmm. 04:38:57 So does that mean that the last person to edit it was... me? 04:41:24 tswett: no, you were the first 04:41:31 Ah. 04:41:33 -!- treaki__ has quit (Ping timeout: 240 seconds). 04:43:01 surely last 04:43:28 `url wisdom/tswett 04:43:30 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/wisdom/tswett 04:44:14 tswett: yep, you were the last 04:45:18 commentator predicts alphago's move just before it happens, it was that obvious :-) 04:45:25 they just assumed it had already played it 04:45:40 and lee sedol thought it would play it too and had his next move lined up 04:46:20 So I'm the one who added the "he's a title under the cruxite in the lathe" part? 04:46:29 Least it made the reasonable move. 04:46:47 What the heck does that mean? 04:47:26 All right, I have a neural net which generates etymologies. It's currently terrible at it. 04:48:44 Here's the etymology of "atifs" or "aeaniginate" or "bistion" or "blingle" or "chichenct" or "eitholinige" or "dissentic" (the neural net is really confused about this): 04:48:51 well so far I've figured out that the size 2 black group in the middle is in danger of being captured 04:48:56 alphago could force its capture with one more move 04:49:13 ofc, not being a go professional, I'm not sure what the best way to protect it is or whether it's worth saving 04:49:47 `wisdom lifthrasiir 04:49:47 1570s, from sord had spartict," from Old English hescentem, Ced- "and Englive (Cardonive te shongint of the bu-stend, the uanct, from -in, Mid-Englash contion usesily or tho onigh to from [a failed attempt at an HTML character entity] " It a counce dergal," a tond forme." 04:49:49 lifthrasiir/lifthrasiir is shunned by the rest of his country for being no good at League of Legends. 04:50:06 I should append "and Go" to this wisdom 04:50:58 Is that where wisdom lives, now? 04:51:03 hmm, I made a valid tactical inference by myself! 04:51:06 * ais523 is proud 04:51:12 prooftechnique: well it's not all that wise 04:52:34 I wonder how far out of sync this github repo is :| 04:53:15 Come on, neural net! Come out with your second version! 04:53:56 I hope AlphaGo is watching the stream and smirking about the analysts 04:54:09 Or, like, engaging its smirk subroutine or whatever 04:57:04 did the stream break again 04:57:13 Not for me 04:58:08 bah it needed a reload 04:58:48 prooftechnique: and the stream would be flooding with nonsense moves 04:59:00 Dang it, the second version doesn't seem to be able to remember words either. 04:59:12 lifthrasiir: True 05:02:36 tswett: Second version of what? 05:02:44 The neural net. 05:03:13 A particular one? 05:03:36 Yeah, the one I'm training on Harper's OED. 05:03:42 Oh, neat 05:03:49 (The Online Etymology Dictionary, etymonline.com.) 05:09:03 In tonight's Democratic primary in Michigan, Clinton County is 56% for Sanders. 05:09:15 She couldn't even win her own county. 05:09:43 -!- lynn has joined. 05:10:10 (But she did win several other counties in Michigan.) 05:10:11 I guess we'll have to see how Sanders County, Montana shakes out 05:12:33 Ugh, it's not till June? America is the worst. :| I long for the day when we have a few weeks of campaigning, a week or two of voting, and then some results. 05:20:32 -!- earendel has quit (Read error: Connection reset by peer). 05:20:50 do the Republicans have counties named after them? 05:22:37 There's a Santa Cruz County 05:24:48 the past few moves have been hilarious 05:24:56 they're both just making vertical lines down the board 05:27:30 ais523: AlphaGo won in Gomoku 05:28:30 -!- earendel has joined. 05:29:00 I want to go to bed 05:29:03 but... 05:29:14 is "I was watching the Go match" a valid reason to be late to work? 05:29:38 depends on where you work 05:29:45 you could watch it "as live" later, I guess 05:29:55 yeah; tough though 05:30:06 lifthrasiir: Gomoku strategy is pretty different, really 05:30:09 Is "I was watching the Go match" if it's your employers? 05:30:20 *employers' 05:30:23 I've beaten Emacs at Gomoku on occasion 05:31:15 ais523: yeah, but Gomoku-like long rows in a line occasionally appear in Go as well 05:31:27 anyway, I'm not good at either 05:31:55 it's more that, if someone starts making a line in Gomoku 05:31:57 you have to block it 05:32:01 yup 05:32:02 in Go there's no real reason to do that 05:32:28 in the current match we have two lines of six stones each :p 05:33:11 That was quite the move 05:36:45 which one? lee sedol's most recent? 05:37:21 I've heard that the most recent move from AlphaGo was a quite mistake 05:37:25 quite a* 05:40:33 ais523: at the time, yes 05:40:54 the play on the (3,6), making claim to all the territory between it and the wall 05:45:35 What a breathless compliment 05:47:06 When AlphaGo develops a drinking problem, this will all seem darkly prophetic 05:48:37 according to the commentators it's a standard attack, and possibly even in alphago's database 05:49:44 but yes, it's a big aggressive thing to do 05:49:51 and the sort of thing you can do if given a spare move 05:52:05 Lee Se-dol is so quick 05:58:15 ooh, that was unexpected 05:58:20 (white move near top right corner) 05:59:30 yeah, interesting 06:03:45 -!- J_Arcane_ has joined. 06:04:19 -!- J_Arcane has quit (Ping timeout: 252 seconds). 06:04:25 -!- J_Arcane_ has changed nick to J_Arcane. 06:20:54 -!- lambda-11235 has quit (Quit: Bye). 06:22:58 I would like to play a logarithmic growth game 06:24:03 -!- gde33|2 has quit (Ping timeout: 244 seconds). 06:38:00 -!- gniourf has quit (Ping timeout: 244 seconds). 06:40:50 hmm, this is the sort of position I'd expect to see in a computer v human game 06:41:04 the human looks to have an edge in each area, but it's not certain 06:41:18 the computer may well know already that the result isn't as favourable as it looks 06:43:06 I expect that even some chess problemists might rarely or never play the game, but how common is it? 06:48:20 there haven't been any captures yet 06:48:36 mostly because actually capturing something is mostly pointless unless you're forced 06:48:49 so the captures may wait until near or after the end of the game 06:52:26 -!- gniourf has joined. 06:53:23 -!- ^v has quit (Ping timeout: 248 seconds). 06:55:51 -!- ^v has joined. 06:56:29 capture! 06:56:31 -!- AnotherTest has joined. 07:00:58 -!- AnotherTest has quit (Ping timeout: 252 seconds). 07:08:36 ooh! does anyone know a good library for doing operations like wcwidth() that uses char32_t rather than wchar_t (which doesn't handle astral planes on Windows)?” => um, can you use libicu for that? you might not want that for uncursed since it's a big depencency you don't want to add to nethack, even if you only use its C interface though. 07:09:31 ideally something small and permissively licensed (for NGPL compatibility) 07:10:10 ais523: also, there's a small standalone wcwidth implementation with a built-in table somewhere in the urxvt source in the etc directory iirc, taken from somewhere else, but not currently used by it 07:11:41 ais523: also, I'll check if the boost locale library (of which the name refers to localization in a broad sense, not in the unix/C sense of locale) 07:12:23 Um. http://cheezburger.com/78651649/video-brazzers-meme-porn?ref=kymhottoday 07:13:07 hppavilion[1]: Now what's what I call podracing 07:15:22 Sorry, "now *this* is podracing" 07:16:11 do the Republicans have counties named after them? => sort of. lots of countries have full names ending in “Republic”. 07:17:22 morning 07:17:39 int-e: morning 07:17:42 hint-e 07:18:14 So, who's winning? 07:18:17 int-e: we're all looking at https://www.youtube.com/watch?v=vFr3K2DORc8 hth 07:18:29 * int-e is looking at a relay on KGS 07:18:41 (also i'm looking at girl genius in the other tab) 07:19:43 apparently pro players like Alphago's position 07:20:21 ais523: all three are mentioned are permissively licensed. ICU is under a custom BSD-like license, see http://source.icu-project.org/repos/icu/icu/trunk/LICENSE 07:20:32 i hope it has time under control :/ 07:20:38 b_jonas: Liberia 07:20:40 ais523: boost is under a custom license that I think is mozilla-like 07:21:08 but I think the boost locale library doesn't help probably 07:21:08 Oh! It's live! 07:21:21 so let me check that small file distributed with urxvt 07:21:29 it has a minute per move forever... 07:21:43 time won't be an issue, I think, not for Alphago at least. 07:21:44 hppavilion[1]: Technically, only one of them is alive 07:22:05 prooftechnique is going to hell 07:22:37 oerjan: if you're referring to girl genius, I'll get there in the evening... 07:22:42 Unfortunately, I don't understand Go xD 07:23:18 ais523: http://cvs.schmorp.de/rxvt-unicode/doc/wcwidth.patch?revision=1.6 which says it comes from http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c 07:23:36 My boss apparently just heard about the singularity, and I wanted to ruin his working vacation with a basilisk, but then I wondered if it would be more vindictive not to mention it at all 07:23:43 ais523: if you want something small, then look at this one. 07:24:18 oh and I see comments by people who believe this is still the october version... "basically alphago is playing on infinite 13x13 boards" may no longer be true. 07:25:16 ais523: as that code currently exists, it takes a wchar_t, but it's simple enough code that you can modify it to work on windows and take a different type 07:25:29 (this is a theoretical bound that comes from one layer with 2 squares context and 11 layers with one square context in the convolutional network architecture they use... for both networks? I forgot what the architectural difference was. 07:25:46 ) 07:27:51 But they had time and resources enough to retrain a deeper network, I think, if they thought it worth trying out. 07:31:48 If this were an anime, this would be the moment that Lee Se-dol determines a weakness in AlphaGo, and realizes that all he has to do is wait out the clock to confuse the neural net. This would be followed by dense internal monologues, and then a furious back and forth until the conclusion of the match. 07:33:04 b_jonas: thanks 07:33:43 so, anyone know what the score in that game would have been? 07:33:44 lee resigned, apparently? 07:33:47 int-e: yes 07:34:05 played one of his opponent's stones, which everyone interpreted as resigning as you don't do that by mistake 07:34:19 prooftechnique: Which one is the one that's alive? I would guess Deep Mind 07:35:08 AlphaGo is British, apparently, so referring to it as "alive" may be a stretch 07:35:15 I've seen estimates like W+3.5 floating by (professional player counting; people were relaying bits from various broadcasts) 07:39:39 int-e: I've seen W+4.5, probably within an error bar 07:40:24 apparently it was about 20 minutes from the end that the professionals realised that alphago had won 07:40:37 so, behind on board, ahead by komi 07:40:40 which is why it looked like it was losing 07:40:50 it was, if you don't take the fact it went second into account 07:43:15 -!- oerjan has quit (Quit: and GOod night). 07:44:16 hmm, something seems to have gone wrong in the opening, move 23 allowing white to cut off black's m14 stones perhaps? black had to struggle to settle those stones... there will be interesting game reviews later I'm sure. 07:44:52 a komi win, it's hard to judge what went wrong 07:45:03 -!- J_Arcane has quit (Ping timeout: 240 seconds). 07:45:10 because black didn't necessarily do anything to lose parity 07:45:15 just they failed to gain 07:45:51 the lead may have been larger... if this is like other monte carlo bots then it excels at playing safely (giving up a point here or there just to keep the game simple) 07:46:12 well, it's specifically designed to aim for a win, not for winning by the maximum possible margin 07:46:16 Is the komi 6.5 or 7.5? 07:46:23 anyway, I have no clue 07:46:27 it'll prefer a 100% chance of a 0.5 point win than a 50% chance of a 10.5 point win 07:46:29 prooftechnique: 7.5 07:46:34 7.5, area counting (chinese rules) 07:46:49 technically 3.75 as area scoring values are half as large 07:47:05 which for almost all final position has the same effect as 6.5 komi with area (japanese) counting. 07:48:23 area scoring makes so much more sense for computer go, though 07:48:25 because it's objective 07:48:32 that's probably why they're using it 07:48:32 -!- tromp has quit (Remote host closed the connection). 07:48:47 (exceptions include sekis with eyes and one-sided dame... I expect senseis.xmp.net has pages on those) 07:48:50 For this go game, it's basically impossible to verify that Alphago isn't using human assistance, right? 07:49:12 b_jonas: right 07:49:37 b_jonas: game 2 of kasparov vs. deep blue was widely accused of having human interference 07:49:47 -!- bender|_ has joined. 07:49:49 but why would Google/Deepmind take that risk? 07:49:53 especially when it got a draw in a won endgame 07:50:46 Did they at least try to collect the few hundred best Go players to the hotel or something to show that they in particular aren't assisting? That would be expensive. 07:51:17 int-e: it's business, and it might be worth if they're confident that their computer player is so good that in a few years it will beat humans 07:51:26 Apparently Ke Jie was on Korean TV, commenting on the game. 07:51:29 int-e: so I dunno, I'm just asking 07:51:47 also the player that Alphago lost to in the previous series is the referee of this one 07:51:59 I prefer the mechanical Turk hypothesis. They couldn't teach a computer to play go, so they just spent all their budget on training a world-class player to hide in a box 07:52:19 but anyway, there are a ton of potential ways to cheat that would be hard to catch 07:52:30 networking via injecting DC into the AC power outlets is a fun one 07:52:46 prooftechnique: they don't even need to hide in a box. technology has improved past that stage. the player is at leisure at home messing with his computer. 07:52:55 Fan Hui being referee would be odd to my mind; Fan Hui has been hired by deepmind... 07:52:58 (it's unlikely anything would notice unless you specifically connected a DC multimeter to the socket, and you'd be unlikely to think of doing that) 07:53:17 And he commented in the KGS broadcast during the game, so I bet he didn't referee. 07:53:20 ais523: since it's running on a huge server park, they don't even need anything like that, because it's impossible to put that many servers in an isolated box that anyone can verify 07:53:32 Play the next round in a Faraday cage! 07:53:34 int-e: hmm, must have misunderstood the commentators then 07:53:52 With a gas generator for AlphaGo 07:54:01 prooftechnique: even that might not help 07:54:53 visible light can get through a faraday cage 07:54:57 you could use a laser for networking 07:55:01 prooftechnique: both because there's no perfect enough faraday cage of the right size that covers all frequencies of EM you can communicate on (eg. would the go player have to sit in a dark room?), and because of non-EM stuff 07:55:02 so can ultrasound 07:55:06 yes, what ais523 says 07:55:49 Frankly, I think it'd be simpler to just get one of their robot cars to take out Lee Se-dol than go through all that 07:56:14 prooftechnique: murdering your opponent wouldn't demonstrate that you had the better AI, though 07:56:15 prooftechnique: um, defeating Lee Se-dol in particular isn't the point 07:56:17 even if it made you win the series 07:56:40 ais523: Better go AI? Maybe not. Better murderbot AI? Checkmate. 07:56:41 Has game theory expanded to cover The Game (so sorry)? I've heard that it was created to not fall in line with game theroy 07:56:54 which one? 07:57:20 b_jonas: No, but it does reshuffle the rankings a bit 07:57:40 if you're talking about the mind game, its rules are incorrect, which kind-of implies that they're not rules (which you'd expect to be imperatives, rather than statements that have a truth value) 07:57:53 ais523: Ah? 07:57:55 and it's also not a game in the sense that it involves no choices 07:58:06 ais523: The Game as in the one where thinking about it makes you lose 07:58:10 right 07:58:34 prooftechnique: sure, but it was demonstrated like several decades ago that machines have a big advantage over humans in the area of murdering squishy humans 07:58:47 so that has three rules, which I'm not going to quote here because either you already know what they are, or else learning what they are will cause people to act in annoying ways towards you 07:58:49 I wonder when (or whether) Google will reveal how much hardware they are using this time... 07:58:50 True 07:59:07 like, basically at the point of usable automatic weapons at the latest 07:59:10 Anyway, later. 07:59:12 but possibly earlier 07:59:13 rule 3 is the problematic one, in that it makes a statement that clearly isn't true (also attempts to apply itself to people who aren't playing the game) 07:59:25 and rules 1 and 2 give you no choices 07:59:46 both are of the form "when X happens, Y happens", with no choice in the matter 07:59:54 also the game doesn't actually have a win condition 08:00:05 so the whole thing is degenerate from the point of view of game theory 08:00:11 you only have one move, and it only has one outcome 08:00:20 game theory's about things like finding the optimal strategy 08:00:23 but that's kind-of trivial here 08:00:35 ais523: "However, The Game may have been created in 1977 by members of the Cambridge University Science Fiction Society when attempting to create a game that did not fit in with game theory." 08:00:35 is it one of those "the only way to win is not to play" deals? 08:00:42 ais523: Zero-sum game? 08:00:52 Assuming your utility function is "make other people lose" 08:00:53 int-e: Nope; there's a rule that you are necessarily playing it and you can't opt out 08:00:54 int-e: sort-of; playing guarantees you lose, not playing is not considered a valid method of winning though 08:00:58 but then not playing should be modeled as an option before applying the theory ;) 08:01:12 rule 3 claims that everyone is playing it, which I can't see as anything other than a false statement 08:01:33 only if I accept the rules... but then we're in legal territory now. 08:01:36 ais523: It's just defining the players as S_b 08:01:41 prooftechnique: yes, people who are "actively" playing the game normally seek to make other people lose, as there's not much else you can do 08:01:50 int-e: this is my argument too 08:01:53 but I seriously need to go 08:02:04 just because rule 3 claims to apply to nonplayers doesn't mean that it actually does 08:02:24 ais523: S_b = every sentient being in the multiverse 08:02:31 Just think of the beauty of that 08:02:35 No matter where you co 08:02:36 *go 08:02:51 fun fact: if I make enough contradictory statements about rule 3, it'll cause enough uncertainty about the ruleset to cause the game to cease to exist 08:02:55 No matter how many start systems or galaxies or dimensions you cross 08:03:06 Any time you encounter a being capable of thought 08:03:09 They're playing the game 08:03:13 as it's only defined by its rules, and if people disagree about what those are… 08:03:33 incidentally, Wikipedia once had a version of rule 3 which is a trivially true, rather than trivially false, statement 08:03:38 in an attempt to construct something that wasn't clearly absurd 08:03:41 but the whole game just doesn't owrk 08:03:57 ais523: So they failed at making a game that didn't fit with game theory, not by making a game that falls under game theory, but by not making a game? 08:04:11 hppavilion[1]: yes 08:05:00 ais523: Ah 08:05:10 ais523: Would formal game theory be a good basis for a Nomic? 08:05:17 and when people actually treat it like a game, it's because they're following some sort of private ruleset 08:05:32 that's different from the actual game 08:05:38 most of those do fit into the system of game theory 08:06:47 as for nomic, game theory is pretty bad at handling it; it theoretically works but a) as an obvious consequence of its nature, the models are too large to easily handle as (in extreme cases) they have to consider the entirety of the observable universe, and b) most strategies for nomic victory involve psychological/human factors, which require more information to model than is currently available 08:07:28 e.g. it's clear that most of the time, many of the players in a nomic are not playing to its stated win condition, but rather to some personal utility function 08:07:59 you can see the debates in Agora where people say that winning should be made more valuable to give people an incentive to win 08:08:11 and my reply that winning is enough of an incentive to win, because isn't that what playing games is about? 08:08:42 (that said, the reason why I consider winning in a nomic to be valuable and satisfying is because doing so normally requires some amount of skill and is designed to be nontrivial) 08:08:47 @metar EGBB 08:08:48 EGBB 090750Z 36018KT 5000 RA SCT007 BKN011 OVC017 04/04 Q0992 08:10:30 and nomic's metawincondition normally ensures that if there are even a few people interested in being competitive, if winning is too easy, they will make it difficult by trying to change up the rules on you to make it harder as soon as they see what you're up to 08:11:30 one of my win-arrangements in BlogNomic (i.e. someone else won but I was one of the main people causing the win to happen, which is the closest you can get to a team win in a single-winner game), the win condition was trivially easy to achieve, but there was a bunch of skill involved in preventing people changing the win condition on me for long enough to achieve it 08:12:21 ais523: Well, it'd be a stripped-down nomic with something to enable outside interaction 08:12:35 hppavilion[1]: oh, I see 08:12:38 the problem you're facing is 08:12:45 game theory is designed for solving games 08:12:47 not for creating them 08:12:48 ais523: That nomic is too big? 08:12:51 ais523: Ooooh 08:13:26 ais523: What I'm trying to get at is that you modify the internal representation of the game, including part of the game being programmed to do just that for you potentially 08:14:03 I don't see what this has to do with game theory 08:14:06 are you thinking of codenomics? 08:14:52 ais523: Yes, that's the goal 08:15:14 ais523: The idea is that the code describing the game is rooted in the models game theory uses 08:15:23 -!- earendel has quit (Read error: Connection reset by peer). 08:15:37 hppavilion[1]: oh, I see 08:15:38 Like extensive form (but as a graph) 08:15:41 such models are very unsuited for nomic 08:15:49 as they're designed to be easy to analyse 08:15:51 ais523: Is there a better model? 08:15:53 xD 08:15:54 and to contain every possibility 08:16:04 ais523: Should I stick with my Nomic LISP? 08:16:07 nomics are interesting only if hard to analyse, and often most interesting when people use unexpected possibilities 08:17:18 ais523: So what would be a better representation? 08:18:11 not sure 08:18:17 I tried Prolog once, that was interesting 08:18:24 maybe could have worked but more people would need to be involved 08:18:51 ais523: Is there any language family/paradigm you think would be well-suited? 08:19:05 something that makes adding special cases retroactively easy 08:19:32 ais523: Perhaps 08:19:51 ais523: Maybe something based on pattern matching? 08:20:31 that seems like it could work, actually 08:22:01 Yay! 08:24:18 -!- earendel has joined. 08:30:41 about that ptrace problem, i found a way for any process to hide themselves from root 08:30:49 https://arin.ga/JvvhHD/raw small example 08:31:03 get the child's pid, then in another terminal run sudo strace -p thatpid 08:31:09 $ sudo strace -p 14162 08:31:11 strace: attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted 08:31:24 so unprivileged processes can prevent root from ptracing them 08:31:27 izabera: can't you just ptrace the ptracer and get at it that way? 08:31:36 yes you can 08:31:53 * ais523 wonders if it's possible for two processes to ptrace each other 08:32:02 -!- bender|_ has quit (Remote host closed the connection). 08:32:06 what if you don't know who the tracer is? 08:32:56 there's no way to get that information in userspace, afaics 08:33:43 other than trying literally all the processes 08:35:30 does this look like a serious problem? 08:37:19 izabera: it shows up in /proc/status 08:37:34 this is how I debugged the bizarre state Web of Lies got itself into once 08:37:48 this was back when you couldn't sigkill programs that were being ptraced without the permission of the ptracer 08:37:55 it had somehow managed to get the real init to ptrace it 08:37:59 I would like to see a evolutionary biologist explain Homo economicus 08:38:02 what should i look for in /proc/status? 08:38:04 in the end I had to reboot the system 08:38:11 izabera: TracerPid, I believe 08:38:41 ah thank you 08:38:45 (Web of Lies uses a fake init that also has PID 1, it can get confusing sometimes) 08:38:45 wasn't aware of this 08:38:49 (but I'm pretty sure this was the real one) 08:39:11 * ais523 thinks "who will ptrace the ptracer?" 08:39:36 who watches the watchmen? :P 08:42:10 anyway all i can see by tracing the tracer is that it's waiting 08:42:37 no info on what the tracee is doing 08:44:22 -!- earendel has quit (Read error: Connection reset by peer). 08:45:45 you have to start injecting syscalls into the tracer 08:45:59 to get it to do trace instructions on the tracee 08:46:09 if you're using gdb, this would be along the lines of p ptrace(...) 08:46:25 -!- earendel has joined. 08:46:43 i see 08:48:33 two processes can ptrace each other 08:48:41 even parent and child 08:48:46 and you can't attach to either one 08:49:02 -!- tromp has joined. 08:53:54 -!- tromp has quit (Ping timeout: 276 seconds). 09:07:53 -!- pikhq has quit (Ping timeout: 250 seconds). 09:24:57 -!- earendel has quit (Ping timeout: 246 seconds). 09:30:51 -!- earendel has joined. 09:31:05 -!- atehwa has quit (Remote host closed the connection). 09:33:34 -!- ais523 has quit. 09:45:14 izabera: about that stuff, back some years ago I asked a somewhat related question about linux (Linux has changed a bit since, which could give new answers). 09:46:31 -!- earendel has quit (Ping timeout: 252 seconds). 09:48:32 Suppose you're the admin of a linux machine, so you have root access. There's a user on that linux machine who does not (currently) have root access. You want to ban that user, preferably without causing other harm. For this, you have banned the user from ssh, cgi scripts, cron, at, etc, so that he can't start new processes. But the user currently still has some processes running on the machine. 09:49:19 The question is, how to kill the processes in such a way that after that you can be sure you have killed all processes? If you just read /proc or list processes in some other way, you might be missing newly forked processes by a race condition, so a malicious process could get lucky and hide itself. 09:50:25 I'm asking for a solution that can verify for certain that all processes of the user have died. If they haven't died, you can try to kill them again and redo this, and in the unlikely worst case when they won't die, you can reboot the machine, but if the user doesn't have processes that malicously fork, you'd like to avoid that. 09:50:39 So find a way to either atomically kill or atomically list all processes of the user. 09:50:48 We found two or three solutions in the end. 09:51:39 interesting, what are these? 09:51:53 izabera: I'll tell later, try to find your own solution first. 09:52:14 Maybe someone else on the channel wants to think about it too. 09:53:12 -!- lynn has quit (Read error: Connection timed out). 09:59:48 something something fill the process table with sleeping processes, then list the processes and kill each one of those from that user and replace it with another one that sleeps 10:01:13 untested <.< 10:02:02 izabera: that could cause a problem in that it could harm processes of other users and even processes of root unnecessarily 10:02:19 izabera: the whole point is that we want to avoid harming other processes in the likely case when the user isn't doing anything that serious 10:02:24 yeah... 10:02:36 izabera: if we're ok with harming the other processes, then we can reboot 10:02:51 was just an idea 10:02:54 sure 10:15:50 -!- Sgeo__ has quit (Read error: Connection reset by peer). 10:23:53 -!- bender| has joined. 10:30:11 I'm a bit tempted to make a JS incremental game about stealing souls 10:44:21 Wouldn't it be more appropriate to do it in qbasic instead, and praise Microsoft while coding... 10:49:44 -!- tromp has joined. 10:54:21 -!- tromp has quit (Ping timeout: 248 seconds). 11:06:12 -!- Slice^ has joined. 11:06:37 Huh, AlphaGo won the first match? Weird. 11:06:55 -!- Slice^ has quit (Max SendQ exceeded). 11:07:24 -!- Slice^ has joined. 11:08:48 fizzie, I'm watching the game 11:11:38 Is the presentation exciting? 11:14:02 Apparently not. 11:14:18 I think they should at the very least have had some blinking lights in a box for AlphaGo. 11:15:09 They have a computer monitor and a man looking at it and playing the moves on an actual board 11:15:30 Yes. 11:15:35 I had a look. 11:15:47 That's so practical^Wboring. 11:17:48 https://gogameguru.com/alphago-defeats-lee-sedol-game-1/ has a summary of the game... seems that at least it wasn't a one-sided affair. 11:20:15 I don't know much about Go 11:20:24 All I can say so far is that they're putting stones on a board 11:20:30 :-P 11:20:42 They seem to both be doing that very well 11:21:21 w's slave is a 5 dan amateur player... not too weak 11:21:31 w=white player 11:24:33 -!- FreeFull has quit (Ping timeout: 240 seconds). 11:30:56 what's up with all the "the match will start in 0 seconds" at the beginning of the game... 11:31:05 (looking at https://www.youtube.com/watch?v=vFr3K2DORc8 ) 11:31:16 also stuttering audio... meh 11:31:34 int-e, that gets sorted out later 11:31:36 Much later 11:32:43 yeah but now I'm interested in reactions to move 7 and 23 11:34:27 But perhaps I'm hoping for too much, at least in the deepmind video, which is meant to make sense to people who know almost nothing about go... 11:35:45 also irritated by the demonstration board... usually people leave out "I" and start numbering at the bottom :P 11:35:48 -!- boily has joined. 11:40:29 The commentators have missed a pair of moves and it's annoying me because they've not pu them on the demonstration board 11:42:50 -!- earendel has joined. 11:42:52 -!- vanila has joined. 11:42:53 hi 11:42:57 good momrinng 11:43:56 Hey, vanila 11:44:41 hello :D 11:44:45 im reading about logic programming 11:44:47 whats up ? 11:45:35 We've been discussing Lee Sedol vs AlphaGo 11:46:22 I should probably be interested in that 11:46:56 I see a 4hr long video 11:47:02 but im not even good at go 11:47:34 vanila, I'm 2 and a half hours in and I've played one game of Go in my life 11:47:37 Which I lost quite badly 11:47:44 And I've since forgotten how to play 11:47:51 I like playing go 11:48:30 i havent done that in ages though 11:48:44 What I really wanted to do was make speech regonition interface to play ti 11:48:57 but I couldn't find any good free software 11:50:34 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 11:50:49 -!- Slice^ has quit (Quit: Leaving). 11:50:54 how is alphago different to zen? 11:51:04 that stocastic 9d that was on KGS 11:53:33 It uses a combination of neural nets and tree search 11:56:55 All right, my etymology neural net is clearly making an attempt at remembering words. 11:57:15 Oooh 11:57:22 Problem is, it can't. 11:57:41 It's probably too small. I'll have to use a larger one. 11:59:23 Like, here, it starts out thinking that it's writing about the word "doll", then "dome", then "dome" again, then it changes to "domp", then back to "dome", then to "domt". 12:03:06 Here, let me give you a randomly generated etymology. 12:04:03 -!- lynn has joined. 12:05:06 Damp (n.) 1530s, "to shine, head," from French DARTE "a shine, concert, expert," from DIRTUS "dark, strength," from DIRTUS, past participle of DISTUS "strange, make, distinguish," from DIS "well" (see DISPHASE/TIMPERED). Meaning "to reckoner" is from 1808. 12:05:20 There it says "see TIMPERED", but the link goes to DISPHASE instead. 12:05:55 hehe 12:05:57 this is fun 12:06:02 can you post some more please? 12:08:43 Here you go: https://jsfiddle.net/g06kujk6/ 12:09:19 There are bits of invalid HTML in there; I'm surprised that the whole thing renders in a reasonable manner. 12:10:03 -!- jaboja has joined. 12:10:15 Related: Bullshed 12:10:18 hahaha 12:11:28 1808 is remarkably precise 12:12:29 I can make it give the etymology for any word! 12:12:38 tswett, try "jug" 12:12:47 this is great :D 12:13:01 Except that it's only been trained on words starting with A through E, so if you ask it for any other word, it'll almost certainly fail to remember it. 12:13:06 How about... "bug"? 12:13:14 :) 12:14:27 tswett: nice 12:14:51 Etymology of "bug": "to dist, concert," from a- (1) "press with" + -phos "form" (see one). Sense of "stranger" is from 1520s. As a noun from 1889. 12:15:22 Ask me again in a couple of days; I'll have a much better neural net then. 12:16:45 tswett: wait, is it generated one? XD 12:17:22 Yep, that's the generated etymology. 12:17:37 I wondered why bug is associated with aphos, while assuming the possibility that it is actually an etymology for some foreign word translated to "bug" 12:17:57 it is hilarious 12:18:01 sense of a sense of a 12:18:14 board (n.) Look up board at Dictionary.com 12:18:14 1580s, from beach (n.) + -ate (2). Meaning "sense of the sense of a concession of a criment" is from 1650s. Related: Estapoleted; escriptical. 12:18:14 tswett: OEDILF http://www.oedilf.com/db/Lim.php has words with starts from Aa to Ga. A random word appears on the top level webpage, new one chosen every ten seconds or something. Take the next such word that starts with A to E and generate its etymology. 12:18:18 this is the funniest 12:18:33 b_jonas: all right. 12:18:45 lifthrasiir, could be going to "aphid"?? 12:19:12 Taneb: possibly! 12:19:23 -!- AnotherTest has joined. 12:19:51 All right. Etymology of "beeve"... 12:20:55 bullshit (n.) 1520s, from bull (n.) + -al (2). As an adjective, from 1836. 12:21:11 a fun fact: "bullal" is a Korean word for testicle 12:21:26 lifthrasiir, bollocks 12:21:44 1520s, "to cause cloth," from BE- + FOUR (n.). Meaning "a sense, provered to the speak or head of an ancient person" is from 1610s. Related: BULLSHED; BULLISHED. 12:22:46 -!- boily has quit (Quit: VERIFIED CHICKEN). 12:24:23 BULLSHED 12:25:17 once the NN is more advanced you could make an index that defines every word in the jabberwocky poem 12:25:54 Yeah! 12:27:01 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 12:27:01 -!- vyv has quit (Ping timeout: 240 seconds). 12:27:03 -!- mad has quit (Ping timeout: 240 seconds). 12:27:03 -!- MoALTz has quit (Ping timeout: 240 seconds). 12:27:03 -!- tromp_ has quit (Read error: Connection reset by peer). 12:27:13 -!- puckipedia has quit (Ping timeout: 240 seconds). 12:27:18 -!- tromp_ has joined. 12:27:41 tswett: thanks 12:28:07 -!- MoALTz has joined. 12:28:11 -!- vyv has joined. 12:28:51 I like the "Related: BULLSHED; BULLISHED" part. It looks like it makes sense for "beeve". 12:29:53 * vanila beeves 12:30:07 -!- Lord_of_Life has joined. 12:30:11 -!- puckipedia has joined. 12:31:39 -!- heroux has quit (Ping timeout: 276 seconds). 12:32:46 "spinning rust array" is a neat way to discribe hard disk drives 12:36:44 int-e, I call them spinny disk drives 12:37:06 Mostly because I get the acronym for SSD wrong and it helps cover my tracks and gives people a laugh 12:40:53 -!- gde33 has joined. 12:42:38 int-e: nice 12:43:00 we can also call them rotating platter faraday cages, the same as microwave ovens 12:43:24 you know, both have a metal casing that a user shouldn't open 12:43:40 b_jonas: can you show your solution now? :p 12:45:20 izabera: yes... ok, let me find the old mails 12:45:34 thanks :3 12:48:20 izabera: my solution is that linux has a counter that counts fork/clone calls, and you can read it from grep ^processes /proc/stat , so check this counter before and after you read the list of processes, and if it didn't change, then you couldn't have missed any process that still lives. 12:49:23 and if it did? 12:50:55 http://www.informatik.uni-kiel.de/~curry/listarchive/0017.html 12:51:03 esolang version: 12:51:50 0. genuinely semantically interesting new esolangs 1. syntax replacements for other languages 2. brainfuck derivatives 3. brainfuck syntax replacements 12:52:11 where each number there exists 2x more languages of that type 12:52:59 izabera: alternate solution by pts is this: setreuid(0, target_uid); then drop the CAP_KILL capability; then kill(-1, SIGKILL); this should magically make kill(-1,) have permission only to kill the right processes, without giving the user permission to harm your process. 12:53:39 nice! 12:53:49 i'll test this 12:53:54 no warranty 12:53:55 for either 12:54:10 -!- heroux has joined. 12:54:51 be very careful, you could either get a solution that has a race condition (but you can tell that only if you read the kernel source waist deep), or just kill all processes of your system 12:55:29 and as always, it's pretty hard to prove that a particular race condition that depends on multi-cpu scheduling does or does not exist 12:55:43 Yay relaxed memory 12:56:08 best add some sleep between the tests if you try to ptrace this admin kill process from a user process 13:01:36 -!- AnotherTest has quit (Ping timeout: 246 seconds). 13:06:45 -!- atehwa has joined. 13:09:18 -!- earendel has quit (Ping timeout: 268 seconds). 13:11:43 -!- Sgeo has joined. 13:20:11 -!- earendel has joined. 13:29:39 -!- jaboja has quit (Ping timeout: 268 seconds). 13:40:16 -!- earendel has quit (Ping timeout: 252 seconds). 13:50:30 -!- jaboja has joined. 13:59:42 -!- earendel has joined. 14:05:55 -!- lynn has quit (Read error: Connection reset by peer). 14:26:00 -!- lynn has joined. 14:28:40 -!- spiette has joined. 14:29:20 -!- `^_^v has joined. 14:30:50 -!- tromp has joined. 14:37:23 -!- p34k has joined. 14:38:27 -!- jaboja has quit (Ping timeout: 248 seconds). 14:42:11 -!- dingbat has quit (Quit: Connection closed for inactivity). 15:00:17 @ask ais523 Web of lies? 15:00:17 Consider it noted. 15:07:37 -!- lambda-11235 has joined. 15:17:24 -!- AnotherTest has joined. 15:24:24 -!- FreeFull has joined. 15:25:52 b_jonas: SIGSTOP all of the user's processes until you're sure all of them are stopped, and then SIGKILL them 15:26:25 Hopefully no malicious processes will notice that their children/siblings got SIGSTOPped in time 15:27:39 FreeFull: someone has suggested that, but I don't see how that would work, unless either you stop all processes on the system (not only the users'). 15:28:06 b_jonas: Why wouldn't just stopping the user's processes do? 15:28:11 FreeFull: how do you make sure all processes are stopped, and why is that easier than making sure all processes were killed? 15:28:33 FreeFull: I mean, you stop some processes, but how do you know there aren't more processes you missed because user processes are forking and exitting like crazy? 15:28:38 You can have two processes that monitor each other, and start each other up again if either of them is killed 15:29:24 b_jonas: I assume you'd notice the processes piling up then 15:29:25 FreeFull: er yes, but you can also have two processes start each other up again if either of them is stopped, or just fork more processes if either of them is stopped, or just fork more processes no matter what all the time 15:29:47 FreeFull: the processes are not only forking (like a fork bomb) but also exitting at the same rate, 15:30:05 so there's always say about 20 malicious processes at any time, but it's always different ones 15:30:18 they could keep forking and the parent exitting so that their pid changes 15:31:01 b_jonas: Any snapshot of the currently running processes would see that there are processes by that user running 15:31:23 FreeFull: but how do you get an atomic snapshot in first place? 15:31:46 I don't think it matters if it's atomic. You can't exit until after you've forked 15:31:49 FreeFull: in linux, you normally find out about processes by reading the /proc directory, then reading files (say /proc/*/stat ) under them to find out about them 15:32:53 FreeFull: new malicious processes can get forked and their parent exit between the start and the end of your listing processes 15:33:43 Yeah, you're right, they might have lower PIDs 15:34:00 I'm not sure if /proc can get listed atomically, possibly not 15:34:54 FreeFull: even if you can list it atomically (I don't know, you'd have to dive the kernel sources for how getdents works on it), you can't examine the /proc/*/stat files at the same time to tell which of the processes those are of that user. 15:35:10 b_jonas: Just knowing that there are such malicious processes would be enough to take further steps 15:35:25 And you'd know, because having processes disappear so quickly is unusual 15:35:27 FreeFull: yes, but how do you even find that out? that's the point of the questoin 15:35:48 FreeFull: ok, but can you give an algorithm to find this out that definitely works? 15:36:25 I suspect there is some other, more robust method anyway 15:38:06 b_jonas: A good starting point would be making all of the user's files unreadable 15:38:27 FreeFull: how is that even relevant? and how would you even start to do that without first killing their processes which could create files? 15:38:28 Although that won't help against fork, it will help against exec* 15:39:06 b_jonas: I imagine making /tmp unreadable/unwritable to that user would be hard 15:39:23 " I think they should at the very least have had some blinking lights in a box for AlphaGo." -- exactly 15:44:55 -!- lynn_ has joined. 15:46:15 -!- lynn__ has joined. 15:47:50 -!- lynn has quit (Ping timeout: 250 seconds). 15:49:13 -!- lynn_ has quit (Ping timeout: 240 seconds). 15:54:07 -!- lynn has joined. 15:56:33 -!- lynn__ has quit (Ping timeout: 240 seconds). 15:57:50 -!- bender| has quit (Ping timeout: 248 seconds). 16:01:22 -!- J_Arcane has joined. 16:04:12 -!- lynn has quit (Ping timeout: 276 seconds). 16:05:07 -!- lynn has joined. 16:11:50 -!- lynn has quit (Ping timeout: 268 seconds). 16:36:21 Lee Se-dol said in the prior interview that "It will be a matter of me winning 5-0 or winning 4-1." Later, he took a little bit more defensive approach considering DeepMind(AlphaGo)'s learning ability, but still, it's a shocking victory for the AI. 16:36:21 Lee lost the very first match. Still 4 matches to go, but just one defeat itself is enough to shock the Go community. 16:37:48 vanila: yep. will be interesting and historical. 16:44:51 -!- lynn has joined. 16:51:34 My neural net thinks there's a historical language called Middle Worse. 16:52:35 I imagine that's a dialect of Middle English centered in Worcestershire 16:58:04 Here's a dump: https://jsfiddle.net/opo2rom0/ 16:58:33 -!- lynn_ has joined. 17:00:00 tswett: Kinda looks like it started writing “Middle Welsh” and then switched to “Old Norse” after the W. 17:01:03 -!- lynn has quit (Ping timeout: 240 seconds). 17:03:52 That would make sense. 17:04:04 -!- lynn has joined. 17:04:35 Whoops, looks like I accidentally killed the training session instead of pausing it. 17:05:15 -!- lynn_ has quit (Ping timeout: 264 seconds). 17:52:00 -!- dingbat has joined. 17:52:33 -!- llue has joined. 17:52:33 -!- llue has quit (Changing host). 17:52:33 -!- llue has joined. 17:52:33 -!- llue has quit (Read error: Connection reset by peer). 17:52:49 -!- llue has joined. 17:52:59 -!- llue has quit (Changing host). 17:52:59 -!- llue has joined. 17:53:06 -!- lleu has quit (Read error: Connection reset by peer). 18:01:04 -!- hppavilion[1] has joined. 18:07:44 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 19:13:48 whoa whoa whoa, new game of life spaceship 19:13:51 https://twitter.com/McFunkypants/status/707584950216712192 19:15:06 HOW 19:15:36 On my computer "XkbBell" makes sounds but "XBell" does not. Do you know how to fix this? 19:16:13 zzo38: Disconnect the speaker. 19:17:41 That will just remove all sounds, and I am not trying to remove all sounds. What I intend it to do is so that "XBell" result in same sound as "XkbBell" 19:18:39 "If a compatible keyboard extension isn't present in the X server, XkbBell calls XBell with the specified display and percent, and returns False. Otherwise, XkbBell calls XkbDeviceBell with the specified display, window, percent, and name, a device_spec of XkbUseCoreKbd, a bell_class of XkbDfltXIClass, and a bell_id of XkbDfltXIId, and returns True." 19:22:03 this is amazing!!!!!!!!!! 19:23:29 shachaf: I could read that in the documentation on my computer already, but it does not answer my question at all. 19:23:58 shachaf: Wow, that's a neat one. 19:25:21 "Congratulations, @zdr! New spaceship speeds don't come along every day, or even every year -- and most new speeds need a big awkward construction, not a tiny new Life form that fits inside a 6x12 bounding box. I bet a glider synthesis for the new c/10 will come along pretty quick." 19:25:23 I like how fast the thread turned into figuring out a name for it 19:25:43 yeah, that new ship is quite the find 19:29:28 http://www.conwaylife.com/wiki/Copperhead 19:29:37 how can this have not been found! 19:31:58 not only a new spaceship but a new speed 19:33:51 "It appears that low-hanging fruit have been harvested clean during the 46 years of Life research… or, more precisely, it appeared so before zdr’s post." 19:40:18 hey, that’s pretty good. Though, oblique spaceships have been observed in life, like the parallel hbk. 19:40:20 what does he mean by this? 19:41:10 oh it's not an elementary oblique spaceship 19:45:02 -!- jaboja has joined. 19:55:43 -!- J_Arcane has quit (Ping timeout: 244 seconds). 19:57:21 -!- J_Arcane has joined. 20:06:46 -!- jaboja64 has joined. 20:10:40 -!- jaboja has quit (Ping timeout: 264 seconds). 20:12:37 -!- vanila has quit (Quit: Leaving). 20:15:31 http://blog.cmpxchg8b.com/2012/09/fun-with-constrained-programming.html 20:21:59 -!- copumpkin has quit (Remote host closed the connection). 20:22:47 -!- copumpkin has joined. 20:23:06 -!- copumpkin has quit (Client Quit). 20:23:46 -!- hppavilion[1] has joined. 20:23:47 -!- copumpkin has joined. 20:25:22 -!- contrapumpkin has joined. 20:26:39 -!- Phantom_Hoover has joined. 20:28:22 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:28:33 -!- copumpkin has quit (Ping timeout: 246 seconds). 20:29:45 -!- lambda-11235 has quit (Quit: Bye). 20:37:43 -!- sioux000 has joined. 20:44:48 -!- nycs has joined. 20:45:07 https://www.youtube.com/watch?v=vFr3K2DORc8 GUYS 20:45:59 wait where's the video 20:46:08 there is no video 20:46:32 i feel betrayed 20:46:57 -!- `^_^v has quit (Ping timeout: 276 seconds). 20:52:27 ityw https://www.youtube.com/watch?v=vFr3K2DORc8 20:52:33 hmm 20:52:39 no, that's the same link 20:53:05 so, that one worked for me earlier today, but I'm not patient enough 20:53:51 I HAVE A PROBLEM. TO ENTER IN A ROOM AS I LOOK ? I HAVE TO CHAT WITH FRIENDS OF WHICH I KNOW THE NAMES AND THE ROOMS . How do I access ? 20:54:03 fungot: help 20:54:03 int-e: from: dm date: wed, 9 dec 92 00:45:10 -0500 from: 20:54:09 wtf 20:54:10 ^style 20:54:10 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon* lovecraft nethack oots pa qwantz sms speeches ss wp youtube 20:54:20 ^style irc 20:54:20 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 20:54:29 fungot: welcome our new friend sioux000 20:54:29 int-e: was going right you couldn't turn away from the top" can be implemented easily.) silly me stepping in front. when the recursive call with the defaults and ( 1) 20:54:44 what style is ss? 20:55:54 THANK YOU. I'm trying to understand the functioning of pidgin:) 20:56:25 oh dear 20:57:06 ^style ss 20:57:06 Selected style: ss (Shakespeare's writings) 20:57:11 oh. 20:57:16 aha 20:57:31 would've named it shakespeare, though 20:57:41 fungot: hello 20:57:42 myname: william. a good morall my lord. troilus. well know they what they can give, to have't with saying good-morrow. 20:57:43 fungot: Tell us about yorick 20:57:43 int-e: scena quarta. no my good lord! a noble gentleman of rome, even like a stony image, cold and numme. ah now no more 20:57:56 pidgin is' safe? anonymous? It connects to the external server as tor ? 20:58:31 lol 20:58:58 `? pidgin 20:59:19 that lag 20:59:22 pidgin? ¯\(°​_o)/¯ 20:59:26 yes 20:59:44 pidgin . i chat now with pidgin software 20:59:55 we can read 21:00:22 here is probably not the bestplace to learn how to irc with something that is as horrible for ircing as pidgin 21:00:25 yes becouse you use pidgin...or no? 21:02:29 `learn pidgin is an esoteric chat client whose fundamental design principle is based on the pidgin hole principle: if n+1 messages are sent over n protocols than at least two messages are sent over the same protocol. 21:02:40 Learned 'pidgin': pidgin is an esoteric chat client whose fundamental design principle is based on the pidgin hole principle: if n+1 messages are sent over n protocols than at least two messages are sent over the same protocol. 21:03:03 `` sed -i 's/based on //' wisdom/pidgin 21:03:06 No output. 21:03:31 -!- `^_^ has joined. 21:03:34 (feel free to pidg in with something funnier) 21:04:34 oh darn 21:04:57 -!- nycs has quit (Ping timeout: 246 seconds). 21:05:13 `` sed -i 's/ than/, then/' wisdom/pidgin 21:05:16 No output. 21:06:30 `learn The pidgin hole principle states that if n+1 messages are sent over n protocols, then at least two messages are sent over the same protocol. 21:06:32 Relearned 'pidgin': The pidgin hole principle states that if n+1 messages are sent over n protocols, then at least two messages are sent over the same protocol. 21:06:48 (I think the rest was superfluous.) 21:07:26 :-/ 21:12:17 i have a map with bridges and some of them overlap 21:12:44 how do i remove the minimum amount of bridges to make them non overlap? 21:14:42 (i haven't started doing it yet) 21:14:54 so my idea is to check the intersection points 21:15:21 * int-e would start with the "obvious" greedy algorithm 21:15:24 find which bridge intersects most other bridges 21:15:26 yea 21:15:44 Do you know if it is allowed for two different program both using Xlib to use the same Display pointer? 21:16:00 int-e: not sure if it's optimal 21:16:01 (If loaded by dlopen or something like that) 21:16:13 izabera: well it's not. 21:16:50 can you show an example? 21:17:57 http://int-e.eu/~bf3/tmp/brrr.png 21:18:22 thanks 21:18:28 hmm, oops, that still works, mompl 21:18:59 updated 21:19:24 thanks 21:21:36 -!- sioux000 has quit (Quit: Leaving.). 21:22:39 -!- lynn has quit (Read error: Connection reset by peer). 21:23:11 It can be phrased naturally as a maximum independent set problem (with bridges as vertices and edges between crossing bridges)... so it may well be NP-hard, but as long as bridges are straight lines, this is not a proof. 21:40:51 -!- hppavilion[1] has joined. 21:52:38 Sgeo: In an environment where @ cannot be represented as the @ sign, what would be a good letter to replace it? (greek, english, or one of those with a diacritic) 21:52:55 (ONE diacritic, before you do what I know you're thinking) 21:54:22 hppavilion[1]: one of É Á à Ó Ð Ž since those appear in the @ place in some of the national iso-646 character sets 21:54:37 Good idea 21:54:42 I'll go with à 21:55:30 hppavilion[1]: do you have a context for what the @ that you want to replace stands for here? that might give a better choice 21:55:40 What about ∂? 21:55:57 b_jonas: Sgeo's @. The one which's absolute value is -1 21:56:07 prooftechnique: is that a letter? wait, is it the derivative symbol or the crazy letter from very rare languages that looks like that? 21:56:08 -!- J_Arcane has quit (Ping timeout: 244 seconds). 21:56:25 Both 21:56:54 hppavilion[1]: eg. if it stands for the player avatar in the text-based game map of a game, then É would make sense because it abbreviates "én" 21:57:27 b_jonas: Ah 21:57:37 b_jonas: I like à 22:01:32 b_jonas: I'm also adding ï, where |ï|=i 22:03:04 I guess if it stood for the array sigil in perl, or the related symbol in bash used inside a bracket index to get all elements of an array variable, then you could use "Ö" as a mnemonic for "összes" 22:03:48 And if it stood as an abbreviation of HEAD in git command line, then in theory you could use "É" but it would be best to just write "HEAD" in full instead of abbreviating it. 22:05:06 -!- mihow has joined. 22:06:04 If it stands for a separator symbol in a git reference spec that refers to the previous commit in the history of a commit, or for a separator between a filename and peg revision number in subversion, then I'm not sure what letter would be the best. 22:08:58 "T" would be approperiate, but it would easily clash with other stuff 22:24:16 izabera: I'm pretty sure now your bridge problem is NP-hard by a reduction from planar 3SAT. lousy sketch of gadgets: http://int-e.eu/~bf3/tmp/br3s.png ... the literal will in general have 2n bridges arranged in a small 2n-gon, alternating between true and false; the idea is that exactly n of the bridges must be chosen (in the sketch, n=2). in the clause, the incoming edges come from literals;... 22:24:18 Is |ı| also i? 22:24:22 ...the idea here is that exactly one additional bridge must be chosen, which is only possible if one of the incoming bridges wasn't chosen, i.e. the corresponding literal was true. so take a planar 3sat-problem, encode it that way (it's fine if some bridges from literals are not used in clause gadgets); add all the minimal bridge requirements and test whether the maximal number of bridges that... 22:24:27 -!- jaboja64 has quit (Ping timeout: 264 seconds). 22:24:28 ...can be selected without remaining intersections matches that bound. 22:26:32 heh heh, you're doing NP-completeness proofs now? 22:26:53 hardness. it's an optimization problem after all. 22:27:32 isn't that why it's in NP? optmization problems usually are, if you turn them to decision problems with the right comparator 22:28:00 but those are different problems. 22:29:37 The corresponding decision problem here that's NP-complete is checking whether you can select at least k non-crossing bridges. 22:32:05 (my main reason to be picky is that I think of NP in terms of certificates; here, certificates of a lower bound is small (it's in NP); I have no clue how to produce a small certificate of optimality (at least naively, that's co-NP)) 22:33:09 if you only care about what you can do with an NP oracle (SAT solver ;-) ), then this distinction doesn't matter. 22:34:57 int-e: yes, but you usually define the decision problem to ask whether the optimal solution is better or equal to an input number, because if you define it that way, it becomes NP. 22:35:03 Anyway, is this really the first time I've done some complexity theoretic reduction on here? I don't know, but it seems a bit unlikely. 22:35:14 int-e: asking whether the solution is optimal needn't be NP (it still is for some optimization problems of course) 22:35:31 int-e: I have no idea if it's the first time 22:36:45 in any case, I do like this stuff 22:51:24 -!- XorSwap has joined. 22:56:53 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:57:36 -!- spiette has quit (Ping timeout: 276 seconds). 22:57:47 -!- haavardp has quit (Read error: Connection reset by peer). 22:58:08 -!- oerjan has joined. 22:58:44 -!- MoALTz_ has joined. 22:58:47 -!- haavardp has joined. 23:01:11 -!- fungot has quit (Ping timeout: 250 seconds). 23:01:55 -!- MoALTz has quit (Ping timeout: 268 seconds). 23:04:01 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 23:04:47 -!- lambdabot has quit (Remote host closed the connection). 23:08:27 -!- lambda-11235 has joined. 23:09:13 -!- lambdabot has joined. 23:11:35 Ah e left :/ 23:11:52 @ stands for an a with an i dot after it, so ai maybe? 23:12:33 `? food 23:12:35 So maybe a with an accent? 23:12:49 food? ¯\(°​_o)/¯ 23:13:02 . o O ( would you like oerjanic food? ) 23:13:45 -!- lambda-11235 has quit (Ping timeout: 250 seconds). 23:14:15 -!- lambda-11235 has joined. 23:16:46 -!- adu has joined. 23:17:13 -!- heroux has quit (Ping timeout: 250 seconds). 23:17:44 -!- adu has quit (Client Quit). 23:17:54 -!- `^_^ has quit (Quit: This computer has gone to sleep). 23:22:49 -!- heroux has joined. 23:41:27 -!- hppavilion[1] has joined. 23:47:07 If one wanted to implement a browser 23:47:14 What would be the steps one would take? 23:47:19 Not that I'm planning on doing that 23:47:22 That'd just be crazy 23:47:27 <\oren\> I got more sodium memory for my laptop 23:47:35 (1) get the support of a billion dollar company 23:48:00 oerjan: OK. 23:48:08 oerjan: Next? 23:48:38 (2) despair that implementing a browser is mostly about supporting old cruft 23:48:56 *meticulously supporting 23:50:55 (3) take the pills the nice people in white coats are handing you, also stop trying to get out of that jacket it'll just hurt more 23:51:50 (4) die miserable and alone 23:51:56 that about covers it hth 23:52:00 oerjan: OK 23:52:03 Good to know 23:52:39 <\oren\> goddamn windows update 23:52:58 \oren\: Would you rather be vulnerable to h4x0r5? 23:58:29 * oerjan fit the reboot in while he was brushing the teeth earlier 23:59:11 i guess it helps that i don't leave my computer on for long periods when not using it 2016-03-10: 00:00:56 also, that i set it to warn me. it's still slightly annoying that it sets a scheduled time by itself. 00:03:32 is it one of those "the only way to win is not to play" deals? <-- i simply interpret the Game as "the only way to win is not to care" and that solves all the problems hth 00:03:49 Well, it's Microsoft's computer; you should be happy that they let you use it! 00:04:42 (only half kidding. sigh.) 00:05:29 -!- boily has joined. 00:05:30 @metar CYUL 00:05:31 CYUL 092300Z 24014KT 15SM BKN057 OVC090 10/05 A2976 RMK SC7AC1 SLP082 00:06:45 BOYL HI 00:07:26 int-e: it is now evening 00:07:47 it seems that they were at least prepared for the poison 00:08:01 HELL ØRJAN 00:08:29 have i mentioned that ENVA is pretty close to HELL 00:09:26 @metar HELL 00:09:27 No result. 00:11:51 oh, I forgot 00:12:28 work, bridges, go match, new spaceship... who has times for comics with so much else going on ;) 00:13:08 https://www.google.no/maps/@63.45201,10.9148617,14z?hl=no 00:13:23 what spaceship 00:13:24 today's headlines: work bridges go match new spaceships. 00:13:46 boily: the airport is ENVA, then look a little below to the left hth 00:14:22 oerjan: http://www.conwaylife.com/wiki/Copperhead https://niginsblog.wordpress.com/2016/03/07/new-spaceship-speed-in-conways-game-of-life/ 00:14:45 int-e: aha 00:14:46 -!- mihow has quit (Quit: mihow). 00:15:27 okay, so, yeah, they know about the poison. nothing much going on, a bit of exposition... moving on :) 00:16:00 well, exposition... more of a flashback without a flashback. a reminder of what happened back then, perhaps. 00:16:42 oerjan: Lian? 00:17:45 where do you see Lian 00:18:03 southwest from the word Trondheim on Google Maps. 00:18:19 but then I searched for the airport. it's not in Trondheim. 00:18:34 ah! Hell. it is found. 00:18:38 boily: i tried to link you above. did it not give the right place? 00:18:55 oh. 00:19:02 I didn't see the link. 00:19:11 O KAY 00:19:12 * boily fails spot checks regularly 00:19:18 v_v... 00:20:55 a common problem 00:21:56 . o O ( quick, a believable excuse! anything! ) 00:22:06 uh... uhm... I... I'm eating a sandwich! 00:22:26 -!- p34k has quit. 00:22:44 I have 21 lines of scrollback... 00:22:52 good old xterm. 00:23:24 I think screen/tmux each have their own scrollback buffers. 00:23:40 they may involve interesting shortcuts to invoke, though. 00:23:54 sandwiches are well known to affect spot checks, indeed 00:24:17 boily: ^B PgUp in tmux 00:24:22 well, it's irssi which has its own backlog as well... but I need to know to look for something first. 00:24:41 also, you need to press q to leave the mode 00:24:51 anyway, I was actually trying to suggest a line of excusing for boily, not for myself... 00:25:04 excusation? 00:25:14 * int-e isn't sure how to nounify that verb. 00:25:20 excuse is a perfectly cromulent noun 00:25:52 but it's not the process of making up an excuse. 00:25:53 those are sane shortcuts. I'm more and more tempted to switch over to tmux... 00:26:04 enexcusement? 00:26:16 too french for me 00:26:34 excusezmoiment 00:27:05 int-e: what about me? 00:27:55 `? entschuldigung 00:28:03 entschuldigung? ¯\(°​_o)/¯ 00:28:31 `learn Entschuldigung is the German word for blaming something on trees moving by themselves. 00:28:38 Learned 'entschuldigung': Entschuldigung is the German word for blaming something on trees moving by themselves. 00:28:44 yorick: I don't know, did Shakespeare write about you? 00:29:03 I think so 00:29:08 but only briefly 00:29:10 oerjan: an "ent" pun? 00:29:21 alas 00:29:28 * yorick resets the alas counter 00:29:30 just making sure 00:30:39 yorick: so I expected that fungot's shakespeare style might know you... unfortunately, fungot doesn't really take context into account, so it's hard to find out in practice 00:31:22 * boily thwacks oerjan 00:31:38 ^style ss 00:31:47 AAAAAAAAAAAAAAAAAAAA 00:31:48 yorick: and to be honest, I was at that moment unaware that it's also a (namely your) nickname here :P 00:32:09 BBBBB 00:32:31 `? yorick 00:32:32 yorick? ¯\(°​_o)/¯ 00:32:49 fizzie: CCCCCC 00:32:56 -!- fungot has joined. 00:33:02 fungot: D? 00:33:12 ... 00:33:13 `le/rn yorick/We know nothing about yorick, alas. 00:33:15 fizzie: any slight tips this time? 00:33:16 Learned «yorick» 00:33:21 That server's being real slow. 00:33:31 fungot: Here's a pro tip: don't eat the yellow snow. 00:33:31 fizzie: a person would connect to a +5v dc power supply, just need to hope the kernel kills that 00:33:41 fungot: o hai. are you eating a sandwich? as a matter of fact, do you eat? 00:33:41 ^style ss 00:33:42 boily: good evening :) 00:33:48 * boily hugs fungot 00:33:53 wat 00:34:07 Hmm. 00:34:12 uhm... 00:34:13 Selected style: ss (Shakespeare's writings) 00:34:13 boily: val. no valentine indeed, for i am thee; thee will i loue, i gaue thee villaine? the pigge quoth i, this generall applause, and chearefull showt, argues your wisdome, and your royall court, by heauen 00:34:19 Oh, it's just laggy. 00:34:28 I thought I had smothered him... 00:34:36 I think something's up with wolfe.freenode.net. 00:34:54 fungot: is there someone you knew well? 00:35:54 I'm just thrilled we get to add hellorick to the repertoire 00:36:02 Well that's just ricudilous. 00:36:53 It hasn't even seen 'rjan's question yet, if the debug logging is to be believed. 00:37:13 shocking 00:37:17 'rjan? 00:37:24 boily: oe. 00:37:37 prooftechellonique. 00:37:49 œ. 00:37:52 I think I'll swap them servers. 00:37:53 -!- fungot has quit (Remote host closed the connection). 00:38:02 That happened instantaneously. Weird. 00:38:34 -!- fungot has joined. 00:38:38 fungot: Snappier now? 00:38:38 fizzie: boy. if to doe were as easie as a downe bed would affoord it 00:38:55 -!- ais523 has joined. 00:38:56 fungot fungot 00:38:56 int-e: banks. take me vp, and they are pale; she takes him by the nose 00:39:08 !bfjoust is_this_working_yet < 00:39:11 ​Score for ais523_is_this_working_yet: 0.0 00:39:14 oh good 00:39:26 fungot: so any old acquaintances? 00:39:26 oerjan: duke. be it known, as the glasses where they view themselues, which in their throng and press to that last hold, confound themselves. ' tis most meet you should wear it in my arm. 00:39:41 ais523: Lymia managed to fix it with shellshock 00:39:47 oh the duke... 00:39:48 oerjan: seriously? 00:39:49 i was impressed 00:39:51 ais523: yes 00:40:14 wait. Lymia shellshocked one of freenode's servers??? 00:40:26 boily: no, just EgoBot 00:40:26 if the bot is still shellshock-vulnerable, it probably shouldn't be on IRC 00:41:14 ais523: the trick is to get Gregor to awake and update both bash and gearlance 00:41:42 because it seems the basic problem was a bug in old gearlance 00:42:13 * boily mapoles Gregor a few times to rouse him from his slumber 00:42:32 Gregor is not known to slumber lightly 00:44:10 In his house at R'lyeh, Gregor waits dreaming. 00:44:16 That is not dead which can ... COME ON 00:45:54 sent him a /msg 00:46:12 since he recommended that on a previous occasion 00:46:23 -!- staffehn_ has joined. 00:48:19 -!- deltab_ has joined. 00:49:04 -!- Vorpal has quit (Ping timeout: 248 seconds). 00:49:05 -!- clog has quit (Ping timeout: 248 seconds). 00:49:05 -!- deltab has quit (Ping timeout: 248 seconds). 00:49:05 -!- feliks has quit (Ping timeout: 248 seconds). 00:49:05 -!- carado has quit (Ping timeout: 248 seconds). 00:49:06 -!- staffehn has quit (Ping timeout: 248 seconds). 00:49:14 -!- Vorpal has joined. 00:49:14 -!- Vorpal has quit (Changing host). 00:49:14 -!- Vorpal has joined. 00:50:05 -!- carado has joined. 00:51:14 * oerjan assumes that split was wolfe croaking... 00:53:09 I added a few more cursor shapes, now there is arrow with ... written on it, and there is magnification (plain, minus, and plus), and also a stop sign icon. 00:53:52 What other mouse cursor icons do you expect should be needed (not counting the ones in the standard X cursor font)? 00:55:33 -!- feliks has joined. 00:59:06 ✊✋✌ 00:59:35 hezzo38. left hand cursor? 01:00:41 `unidecode ✊✋✌ 01:00:46 U+270A RAISED FIST \ UTF-8: e2 9c 8a UTF-16BE: 270a Decimal: ✊ \ ✊ \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+270B RAISED HAND \ UTF-8: e2 9c 8b UTF-16BE: 270b Decimal: ✋ \ ✋ \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+270C VICTORY HAND \ UTF-8: e2 9c 8c UTF-16BE: 270c Decimal: c 01:01:33 boily: There is already hand cursor included in the standard cursor font, in both direction 01:01:39 `unidecode 🖕 01:01:42 U+1F595 - No such unicode character name in database \ UTF-8: f0 9f 96 95 UTF-16BE: d83ddd95 Decimal: 🖕 \ 🖕 (🖕) \ Uppercase: U+1F595 \ Category: Cn (Other, Not Assigned) 01:03:05 HackEgo doesn't know unicode 8.0 yet. 01:04:15 oh well it wasn't a very polite one anyway. "REVERSED HAND WITH MIDDLE FINGER EXTENDED" 01:07:29 <\oren\> I added a sodium memory chip. hopefully now I have 12 GB of memory 01:08:30 <\oren\> related, I figured out how to use a metal file to turn a big screwdriver into a compuetr-sized one 01:08:49 -!- mihow has joined. 01:10:08 -!- adu has joined. 01:10:09 -!- pikhq has joined. 01:11:20 <\oren\> YAY it works 01:17:11 he\\oren\. sodium memory chip? you salted your machine? 01:17:55 -!- deltab_ has changed nick to deltab. 01:19:24 when's the next alphago match? 01:20:32 -!- mad has joined. 01:21:32 -!- adu has quit (Quit: adu). 01:22:49 <\oren\> boily: I guess so. 01:23:16 <\oren\> for some reason, laptops use lithium batteries and sodium memeory 01:24:43 <\oren\> I bet kerbal space program will be faster now 01:29:28 meanwhile, damned teasing abyssal rune. "You are suddenly pulled into a different region of the Abyss!". 01:29:51 mon cul que t'as le droit de me faire ça juste quand chu pour arriver dessus. 01:30:15 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:31:37 <\oren\> actually, ksp isn't that memory taxing. I should really be testing dwarf fortress! 01:32:06 <\oren\> heh. or, why not both! 01:34:04 -!- nisstyre has quit (Ping timeout: 264 seconds). 01:38:41 [wiki] [[Vitsy]] N https://esolangs.org/w/index.php?oldid=46566 * VTCAKAVSMoACE * (+19745) Vitsy Esoteric Programming Language 01:45:07 [wiki] [[Vitsy]] https://esolangs.org/w/index.php?diff=46567&oldid=46566 * VTCAKAVSMoACE * (+570) 01:46:23 [wiki] [[Vitsy]] M https://esolangs.org/w/index.php?diff=46568&oldid=46567 * VTCAKAVSMoACE * (+65) 01:48:13 -!- XorSwap has quit (Quit: Leaving). 01:52:48 @tell tswett My neural net thinks there's a historical language called Middle Worse. <-- PLAUSIBLE 01:52:48 Consider it noted. 01:54:19 when's the next alphago match? <-- iirc in 2 hours? 01:54:45 wasn't sure if it was a matter of hours, days, or weeks 01:54:58 the previous match was really worth watching 01:56:44 now we need a new game that we can beat computers at 01:57:03 well humans still beat computers at BF Joust 01:57:06 also nomic 01:57:20 I only know of one computerized Nomic player and it was terrible 01:57:37 fungot: is that what you want us to think? 01:57:37 oerjan: enter oswald the steward. how faine would i goe to, carry this vnto her graue? be buried quicke with her, and fnord thee after supper, of a weak and silly mind fnord to wail his death. 01:57:44 that said, it worked on the same principle as fungot's babble output, so it's perhaps not surprising that it did badly 01:57:44 ais523: lys. one turfe shall serue as pillow for vs both, and for that i have not the book of honour razed quite, and laid mine honour too fnord on't: the fool will be hang'd else 01:57:55 ^style agora 01:57:55 Selected style: agora (a large selection of Agora rules, both current and historical) 01:58:07 fungot: how would you do as a Nomic player? 01:58:07 ais523: all penalties shall be the set of valid ballots on an entity has an initiator, or otherwise defaults to 1.0. 01:58:07 fungot: what does graue have to do with this 01:58:07 oerjan: ( a) scamster, which must be the entire day of each color of mark is a person is reduced by one or more win conditions are satisfied. such a notification to that creditor according to their category. 01:58:30 hmm, we need to get one of those new neural net things to look at Agora proposals 01:58:33 and come up with some of its own 02:00:47 grr... this is frustrating... I have the knowledge to reinvent the synthesizer (music instrument)... but I don't know in what direction to reinvent it 02:01:04 Up? 02:01:34 If up doesn't work, then sideways 02:02:08 -!- adu has joined. 02:02:16 Failing that, consider gaining the knowledge to invent a new direction, and use that one 02:04:06 once you accept the standard 12-key per octave keyboard, velocity, pitch bender and mod wheel setup it kindof all turns into that kind of 90's mix-of-every-pop-instrument thing that doesn't bring anyting new to the table 02:04:45 Then use microtonal instruments 02:05:04 I've looked into that as well 02:05:09 it's kinda futile 02:05:40 The keytar already happened, so consider melding it with another instrument. A theremin with a keyboard could change the musical landscape 02:05:52 [wiki] [[Vitsy]] M https://esolangs.org/w/index.php?diff=46569&oldid=46568 * VTCAKAVSMoACE * (+3) Fixed table break 02:06:08 prooftechnique : you mean like an ondes martenot? 02:07:20 Well, I'll be dipped 02:07:21 There is analog and digital synthesizer, there is hardware and software synthesizer, so which would be? Or something that doesn't match? 02:08:37 software 02:09:30 that's a much easier proposition than hardware and the only thing it's missing is input specific to that particular synth 02:10:42 I find the 80s German industrial scene did a lot of good work when it came to finding specific inputs for things 02:11:01 Maybe your synthesizer should interpret input from pieces of metal being beaten on 02:11:57 isn't that called a vibraphone? :D 02:12:30 [wiki] [[Vitsy]] https://esolangs.org/w/index.php?diff=46570&oldid=46569 * VTCAKAVSMoACE * (+5) Fixed a problem with the table. 02:12:34 It is practically impossible to invent a new instrument, it seems 02:12:49 `? pidgin 02:13:03 The pidgin hole principle states that if n+1 messages are sent over n protocols, then at least two messages are sent over the same protocol. 02:13:49 <\oren\> I made a terrible program to write music with once 02:14:05 \oren\: What program is that? 02:14:41 prooftechnique : well, it's easy to invent a new _irrelevant_ instrument :D 02:14:43 <\oren\> zzo38: it was a set of perl and C programs that transformed a weird language into a wav file 02:14:58 mad: I'm still waiting for the Otamatone revolution 02:15:22 <\oren\> nayway, it used exact fracitons for tuning, instead of letters 02:15:38 prooftechnique : when they make it easy to play in tune 02:15:39 O, so it is writing just intonation? 02:15:44 <\oren\> yes 02:16:01 you can write just intonation with letters 02:16:42 basically you have to use 3:2 just fifths and violate the usual rules of writing 02:17:03 Like using C Fb G as a major chord gives you just intervals 02:17:05 (almost) 02:17:07 <\oren\> so on each note, you write the fraction that it makes with the previous note 02:18:41 <\oren\> I forget the syntax I used for that, but I got it to play a simple tune 02:18:55 <\oren\> I'll try to find it sometime 02:19:26 I have done just intonation before with DATA commands in BASIC 02:21:28 \oren\ : it's not very hard to translate note names to fractions 02:22:13 you just have to decide for every 3rd if you want it to be just (5/4) or made out of a superposition of 2 whole tones (81/64) 02:26:04 For western music the only real intervals are the octave (2/1), the fifth (3/2), whole tone (9/8) and just major 3rd (5/4) 02:26:12 everything else is a byproduct of those 02:27:12 the semitone is the difference between 3 whole tones and a fifth for instance 02:38:26 [wiki] [[Vitsy]] M https://esolangs.org/w/index.php?diff=46571&oldid=46570 * VTCAKAVSMoACE * (+0) Fix typo 02:41:23 -!- boily has quit (Quit: SPEEDY CHICKEN). 02:43:00 -!- clog has joined. 02:58:06 -!- Alejandro15 has joined. 02:58:16 -!- Alejandro15 has left. 03:00:25 ais523: 03:00:29 !sh stat /bin/bash 03:00:30 File: `/bin/bash' \.Size: 907184..Blocks: 1784. IO Block: 4096 regular file \ Device: ca01h/51713d Inode: 359597. Links: 1 \ Access: (0755/-rwxr-xr-x) Uid: ( 0/ UNKNOWN). Gid: ( 0/ UNKNOWN) \ Access: 2016-03-10 00:39:08.000000000 +0000 \ Modify: 2009-08-23 17:18:23.000000000 +0000 \ Change: 2009-11-05 19:51:30.000000000 +0000 03:00:56 Lymia: what am I meant to deduce from this? 03:00:59 mod time? 03:01:11 That, yeah. 03:04:46 I'm pretty sure it's a chroot that Gregor didn't think to update. ;c 03:09:49 <\oren\> I've sent a email to the unicode mailing list about the gaps in the Mathematical Alphanumeric Symbols block 03:10:33 <\oren\> I see no reason why these couldn't be defined as decomposing to the equivalent letters in Letterlike Symbols 03:12:05 -!- XorSwap has joined. 03:14:20 <\oren\> having gaps in contiguous ranges is the flaw that made programmers hate EBCDIC 03:17:22 "we're very sorry for this bug. this will be changed immediately and everyone will have to adapt" 03:19:43 \oren\: Did you drop the cirled Latin letters from your font? 03:20:21 ebcdic caused C digraphs 03:20:23 Oh, nevermind, there it is 03:20:27 *they are 03:20:41 -!- puckipedia has quit (Read error: Connection reset by peer). 03:20:41 so ebcdic is a net negative in my life no matter its merits or flaws 03:21:00 -!- puckipedia has joined. 03:21:02 in EBCDIC 'Z' - 'A' == 40. 03:21:08 what a great difference. 03:21:56 if they added BCD support to C then ebcdic would be easier to process 03:22:16 <\oren\> prooftechnique: no not yet. I'm going to move those characters to the script math 03:23:07 \oren\: Ah, okay. I was hoping for caps versions, but more math scripts can't hurt :) 03:23:26 <\oren\> I'm planning on making the capitals too of course 03:23:55 This font has taken over my entire setup :D Emacs, terminal, Firefox 03:24:11 And my statusbar, which has been fun 03:24:28 oh man 03:24:32 craziest idea 03:24:58 computer that uses BCD with 10 bit words, and each word encodes 0..999 03:25:14 <\oren\> nice! 03:25:15 double word would encode 0.999999 03:25:51 <\oren\> that would be way more efficient than 8 bit BCD 03:26:55 <\oren\> 1000/1024 versus 100/256. night and day 03:27:47 <\oren\> wait I think you have to divide the logarithms? or something? 03:28:15 <\oren\> > logBase(2,1000) 03:28:17 No instance for (Typeable t0) 03:28:17 arising from a use of ‘show_M90262971364701015908444’ 03:28:17 In the expression: 03:28:24 -!- mihow has quit (Quit: mihow). 03:28:42 \oren\: you should look at https://en.wikipedia.org/wiki/Chen%E2%80%93Ho_encoding 03:28:43 > logBase 2 1000 -- ? 03:28:45 9.965784284662087 03:28:52 and also https://en.wikipedia.org/wiki/Densely_packed_decimal 03:29:17 <\oren\> `` perl -e 'print (log 1000)/(log 2)' 03:29:20 6.90775527898214 03:30:28 <\oren\> `` perl -e 'print (log 1000)' 03:30:29 6.90775527898214 03:30:42 <\oren\> `` perl -e 'print ((log 1000)/(log 2))' 03:30:45 9.96578428466209 03:31:09 <\oren\> `` perl -e 'print ((log 100)/(log 2))' 03:31:12 6.64385618977473 03:31:26 <\oren\> `` perl -e 'print ((log 1000)/(log 1024))' 03:31:27 0.996578428466209 03:31:34 <\oren\> `` perl -e 'print ((log 100)/(log 256))' 03:31:34 0.830482023721841 03:34:15 http://sites.ieee.org/scv-cs/files/2013/03/Right-SizingPrecision1.pdf <- paper on variable sized floating point numbers 03:34:35 (and suggesting that it could be the future of computation) 03:35:39 <\oren\> AUGH 03:37:57 HGUA? 03:47:11 mad: i thought digraphs/trigraphs were added to support keyboards that lacked those keys 03:48:27 No, they're specifically for charsets missing them. 03:48:46 Specifically, *some* EBCDIC code pages. 03:49:30 it's because IBM has a seat on the standards comittee 03:49:32 and 03:49:32 never 03:49:33 ever 03:49:34 (EBCDIC code pages all have a common subset, but that common subset does *not* include the trigraph/digraph characters. Worse, the trigraph/digraph characters are encoded differently in the code pages where they exist!) 03:49:35 relented 03:49:35 good to know 03:50:16 also keyboards are purposely designed to have all 32 ascii punctuation signs 03:50:23 sometimes in kinda roundabout ways 03:50:30 It's even sillier when you consider that you can only use C on IBM mainframes from within the POSIX environment, which by necessity must have the characters in question. 03:50:47 like ` (accent deadkey for typing èàù) + space 03:50:51 for ` 03:50:51 (POSIX has a hard requirement for them) 03:50:56 same for ^ 03:51:17 That might be true of some keyboards. 03:51:43 On US keyboards, all of the printable ASCII characters are available as either a key press or shift and a key press. 03:52:01 ASCII is one hell of a US-centric standard. :) 03:52:03 yes because english doesn't have accents so they didn't need any hacks 03:52:15 Well. Ish. 03:52:21 English has (had) them but infrequently. 03:52:39 that's more like the situation of dutch 03:52:49 And they weren't in use in the US with typewriters, so it was deemed reasonable to omit them. 03:53:03 They've also become even more infrequent because of that. 03:53:34 Hence why it's typically spelled "resume", rather than "résumé" these days. 03:53:52 the root cause is that spelling evolved other ways of writing the extra vowels that you didn't have in latin 03:53:56 And "naive" instead of "naïve". 03:55:00 I'm pretty specifically referring to diactric usage that was normative in US Engliah circa 1900 but is not circa 2000. :) 03:55:31 kindof like how dutch doesn't need 'ü' and 'ö' because it moved 'u' to 'oe', and 'ö' to 'eu' 03:57:42 ï makes little sense in english because english has so few vowel-vowel sequences inside words 03:58:35 It was a systemic pattern then: every time you had a vowel-vowel sequence you put a diaresis. 03:58:53 "Zoë", "coöperate", "reëlect", etc. 03:59:14 I grant that it's not *that* significant, and so it makes sense it got dropped. :) 03:59:15 most of the time when you do have vowel-vowel, it's a french loan 03:59:24 Boölean 03:59:41 so it's likely do have had a diaresis from the get go 03:59:45 Uh, I'm pretty sure that's "boolean" even with diaresis usage. 03:59:48 oërjan 04:02:04 oerhört 04:03:13 for most languages, diacritics are overdesign anyways 04:04:55 <\oren\> I prefer ẍ 04:06:16 yeah, I'm sure the poor indian tribe appreciates having ẍ in their romanization 04:06:29 second game is on 04:06:40 making it impossible to type so they don't write anything down 04:06:51 then their kids all learn english only 04:06:52 https://www.youtube.com/watch?v=l-GsfyVCBu0&src_vid=vFr3K2DORc8&feature=cards&annotation_id=68c52597-c5c6-4484-9007-74c98feeaa85 04:06:54 problem solved 04:07:03 <\oren\> Huh? I thought it was for the second derivative of x by t? 04:08:05 * oerjan thinks maybe there must be a better way to copy the link without all that junk 04:08:35 https://youtu.be/l-GsfyVCBu0 04:08:40 <\oren\> just scrool down to the share part 04:08:50 <\oren\> they have a copyable minilink 04:09:06 Hahaha. "Chat is disabled for this live stream" 04:09:18 Or should I say "kekekeke" 04:11:02 -!- bender| has joined. 04:11:03 prooftechnique: they did that yesterday too, after a while. 04:12:34 -!- bender| has quit (Read error: Connection reset by peer). 04:13:15 <\oren\> shit no matter if I run Df, ksp and a youtube video all at once my memry still isn't full 04:13:31 <\oren\> wtf do people even do with 16GB? 04:13:44 Photoshop. 04:13:50 Chrome for more than an hour 04:14:18 And also just keeeping more things in memory for better load times, I guess 04:14:24 Depends on your OS's memory manager 04:16:11 <\oren\> I have 12GB and I can't fill it, I guess when I get 16 (another 8GB chip is in the mail) I'll run a VM or something 04:18:02 Yeah, I've usually got a couple of vagrant boxes, a browser, emacs, terminal, and other assorted nonsense. I usually hover around 50-60% utilization 04:18:11 yeah, my office just received a server with 20GiB that used to run VMs 04:18:36 But memory's cheap and I'd rather have it and not need it than the other way :D 04:19:17 linux is good at using memory for filesystem cache 04:21:22 <\oren\> windows is currently keeping a bunch of memory on "standby" not sure what that means 04:23:02 <\oren\> it seems to mean "not in use, but not empty either" 04:23:14 <\oren\> so I assume it's the file cache 04:23:42 I expect sysinternals has an article explaining it 04:23:48 -!- ais523 has quit (Read error: Connection reset by peer). 04:23:55 Probably recently closed application state, too 04:24:47 -!- idris-bot has quit (Quit: Terminated). 04:25:07 -!- idris-bot has joined. 04:26:45 <\oren\> well, maybe it was overkill, but at least ksp runs super smooth now 04:28:58 -!- ais523 has joined. 04:33:08 The ! command in vim can be useful to do stuff that is not built-in to vim, such as !tac to reverse lines and so on 04:33:32 -!- llue has quit (Quit: That's what she said). 04:37:12 :g/^/m0 04:37:14 -!- treaki__ has joined. 04:37:58 -!- XorSwap has quit (Quit: Leaving). 04:40:15 Such a command is also moving it to the top of the file (if used with a selected area); now I can know that too, although I meant only part of the file, of course other commands such as cut, awk, sed, rev, xclip, grep, etc can also be used; many of those things can be done with built-in commands too somehow though 04:40:35 -!- treaki_ has quit (Ping timeout: 248 seconds). 04:40:49 But if you use ! command then you can use the same commands as the UNIX shell rather than always using different one 04:52:11 -!- prooftechnique has quit (Ping timeout: 250 seconds). 04:52:12 -!- kragniz has quit (Ping timeout: 246 seconds). 04:52:46 alphago made a surprising move, they say 04:54:20 -!- kragniz has joined. 04:55:54 -!- prooftechnique has joined. 04:59:12 what's the move? 05:00:01 -!- hppavilion[1] has quit (Read error: Connection reset by peer). 05:02:14 mad: it replied to P9 with O10 05:02:52 it's the most recent move, Lee Sedol has spent a lot of time (10 minutes?) thinking about it 05:05:11 -!- kragniz has quit (Ping timeout: 250 seconds). 05:05:44 -!- kragniz has joined. 05:19:37 If a implementation of Famizork mapper with CPLD were made, how many cells would it require? 05:32:20 <\oren\> https://youtu.be/kImJgUN5Y9s 05:32:57 -!- adu has quit (Quit: adu). 05:36:15 <\oren\> also, preview: http://www.orenwatson.be/script.png 05:37:15 <\oren\> based on cursive writing the way I learned it in primary school 05:37:36 Nice 05:38:25 I always forget how incomprehensible the D'Nealian G is 05:39:04 <\oren\> yah. In school I always just drew a random scribble for G 05:40:25 -!- puckipedia has quit (*.net *.split). 05:41:43 Russian cursive has more pathological cases, I think, though 05:42:10 Cf. шиншилла 05:42:11 -!- dingbat has quit (Quit: Connection closed for inactivity). 05:42:56 Which looks like this: https://i.imgur.com/4Ux8lgg.jpg 05:44:02 <\oren\> my dad has a friend named shchakhmatov, whose signature looks like "Max", so my dad always called him Max 05:46:11 -!- puckipedia has joined. 05:47:34 <\oren\> well that and shch is a ridiculous consonant cluster 05:50:20 Isn't that just Щ? 05:51:50 <\oren\> yeah, well in russian they apparently say shch a lot so it's one letter 05:52:35 I think only in Ukrainian and such is it really like a shch sound. In Russian, anyway, it's just a... I dunno. Longer sh? 05:52:50 It's a bit more nuanced than that 05:53:07 But it's close 05:54:42 <\oren\> well he's been in japan for 30 years, so I think his name is probably now officialy シャッハマトブ 05:54:57 Haha :) 05:55:00 Fair point 05:55:56 <\oren\> apparently a lot of russian mathematicians ended up at Osaka university somehow 05:56:46 Hopped on a boat, never went home 05:59:11 <\oren\> Ok, I found a article that cites him as D. Shakhmatov 06:00:04 <\oren\> so maybe Щ is basically a sh 06:01:32 <\oren\> whatever, when I met him in Barcelona my dad just yelled "hey Max!" 06:01:57 -!- adu has joined. 06:02:23 <\oren\> ahoydu! 06:02:57 -!- puckipedia has quit (*.net *.split). 06:03:37 <\oren\> thy does Unicode have separate codepoints for latin, greek and chinese cursive, but not cyrillic? 06:03:51 wait, chinese cursive? 06:05:08 <\oren\> I think they are on the tertiary ideographic plane 06:05:47 <\oren\> oh, that's just what's planned 06:05:58 <\oren\> they havent assigned any codepoints yet 06:07:07 <\oren\> but they are planning on having seal script, bronze script, and oracle bone script 06:07:51 \oren\: yeah, planned. also I think they are essentially different enough scripts to the modern han anyway 06:07:55 <\oren\> well I guess technically, modern chinese is a cursivized version of oracle bone characters 06:08:05 no one would unify Linear B with modern Greek ;) 06:08:39 -!- puckipedia has joined. 06:08:54 <\oren\> well linear B is an alternate writing system entirely IIRC 06:10:23 hmm, it is true. how about runes and modern Latin alphabets then? 06:10:39 <\oren\> yeah, runes hav their own 06:11:29 <\oren\> so they should have cyrillic cursive since it barely resembles printed cyrillic at all 06:14:08 -!- lambda-11235 has quit (Quit: Bye). 06:23:32 -!- hppavilion[1] has joined. 06:35:51 <\oren\> hippavilion[1]! 06:37:48 How's the game going? 06:41:02 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 06:43:33 prooftechnique: it's pretty interesting 06:43:51 lee sedol has a lot of sure but small territories; alphago's territory is larger but shakier 06:44:15 so it's basically up to how much lee sedol can reduce alphago's territory by attacking it 06:58:44 -!- MoALTz_ has changed nick to MoALTz. 07:06:28 I do have some idea about a new kind of inter-client protocol for X, other than _SEND_RESOURCE, can be MEDIA_PLAYER protocol. The user should be allowed to enable/disable use of this protocol (the default is up to the individual program). It is done by the playback window gaining ownership of the MEDIA_PLAYER selection; it can pause playback if it ever loses ownership. 07:07:26 What's the result of the second game? 07:07:27 It can then be controlled by sending selection requests to it, and can be based on what the selection target is; some selection targets used with it might be: FILE_NAME, STRING, TARGETS, PLAY, PAUSE, STOP, RECORD, EJECT, NEXT_TRACK, PREV_TRACK, REWIND, FAST_FORWARD 07:07:50 b_jonas: it's not finished 07:08:12 what 07:08:22 Does these thing make sense to you? 07:08:22 but it's eight in the morning 07:08:25 it's like afternoon there 07:08:34 15 or something 07:08:43 Don't a game of Go to take a long time though? 07:08:59 b_jonas: neither of them has used up their 2 hour base time 07:09:36 but then, they didn't yesterday either 07:09:53 ok 07:10:16 I'll check back later then 07:10:35 it's an interesting game, I'm enjoying it 07:11:06 oerjan: yoerjan 07:11:27 g'dachaf 07:11:54 bonjoerjan 07:18:34 -!- AnotherTest has joined. 07:23:18 -!- AnotherTest has quit (Ping timeout: 276 seconds). 07:42:42 and lee is on extra time 07:44:34 b_jonas: ^ 07:49:21 ooh, lee sedol spent one of his extra minutes 07:49:23 only one left 07:49:47 are they in the endgame, just doing their captures and whatever? 07:50:03 as in, the easier moves 07:50:18 midgame 07:50:22 ouch 07:50:30 but the end of it 07:50:34 there's still a little open territory to fight 07:50:39 but it's down to a few points here and there 07:52:36 again? 07:52:39 and the other one 07:52:41 and late midgame 07:52:49 lee sedol's on one minute per move from now on 07:53:31 well, he's a professional, I guess he knows what he's doing using his time 08:08:04 so go programs have a tendency to play bad moves if they'll win anyway, as they're programmed to take a sure win if they see one 08:08:10 the commentators think that that might be happening 08:09:45 it still might not be endgame yet, though 08:09:50 not all the territory is settled 08:11:07 alphago's running low on time too 08:11:29 it has 4 minutes of regular time + overtime (which is 1 minute per move, plus 2 minutes that can be added to specific individual moves) 08:12:22 -!- J_Arcane has joined. 08:13:48 it's endgame now 08:14:03 I think so, yes 08:14:27 michael redmond thinks alphago is winning again 08:16:55 -!- earendel has quit (Ping timeout: 268 seconds). 08:18:34 alphago in overtime too now 08:26:46 alphago wins! 08:28:04 next game in two days 08:29:24 great 08:30:52 -!- oerjan has quit (Quit: Nite). 08:33:22 all the people says that Lee had no significant mistake and still lost 08:33:28 it is significant 08:33:41 going to bed 08:33:50 someone ping me ith tanything interesting coming out of the press conference please 08:36:03 -!- incomprehensibly has quit (Ping timeout: 268 seconds). 08:36:39 -!- ocharles_ has quit (Ping timeout: 268 seconds). 08:37:40 great 08:40:04 -!- ocharles_ has joined. 08:42:25 -!- incomprehensibly has joined. 08:45:04 lifthrasiir: apparently on one of the streams, one of the 9 dan commentators identified a move that he thinks lost Lee the game 08:45:26 but unfortunately, my source is a livethread and there's not enough context to figure out which :-( 08:54:22 -!- heroux has quit (Ping timeout: 244 seconds). 08:56:57 -!- J_Arcane has quit (Ping timeout: 244 seconds). 09:00:05 -!- mad has quit (Quit: Pics or it didn't happen). 09:10:00 -!- earendel has joined. 09:16:27 -!- earendel has quit (Ping timeout: 246 seconds). 09:17:26 -!- ais523 has quit. 09:38:00 -!- heroux has joined. 09:38:29 congrats to both players 09:50:19 -!- AnotherTest has joined. 09:52:09 -!- adu has quit (Quit: adu). 10:22:50 fungot: What do you think of your brethren beating us meatbags in Go? (The game, not the language.) 10:22:50 fizzie: i just want a nice pastime, go to the grocery store door i thought " let-values" 10:30:54 -!- jaboja has joined. 10:33:20 who doesn't 10:45:44 [wiki] [[List of ideas]] M https://esolangs.org/w/index.php?diff=46572&oldid=46358 * YoYoYonnY * (+132) /* Joke/Silly Ideas */ 11:05:43 interesting addition 11:22:00 what was the language whose programs build a ring (i guess?) called? 11:26:43 -!- boily has joined. 11:51:27 myname: You don't mean a turning tarpit with ring, right? 11:52:22 i guess 12:03:07 -!- earendel has joined. 12:05:27 ̀wisdom 12:05:32 `relcome earendel 12:05:42 `wisdom 12:05:57 @tell Gregor your bot, it is tremendously slow hth 12:05:57 Consider it noted. 12:06:05 ​Э/EH? 12:06:12 No output. 12:06:13 [wiki] [[Stack]] M https://esolangs.org/w/index.php?diff=46573&oldid=45264 * VTCAKAVSMoACE * (+84) Added another example esolang to the list. 12:06:32 ̀test 12:06:46 `test 12:06:48 No output. 12:06:55 `relcome 12:06:56 ​Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 12:06:59 ah! 12:07:14 earendel: please refer to the rainbow welcome message up there ↑ 12:12:05 -!- boily has quit (Quit: SLUG CHICKEN). 12:51:51 -!- bender| has joined. 13:13:22 -!- contrapumpkin has quit (Quit: Textual IRC Client: www.textualapp.com). 13:13:45 -!- copumpkin has joined. 13:24:42 -!- clog has quit (Ping timeout: 276 seconds). 13:24:49 -!- clog has joined. 13:35:28 [wiki] [[Vitsy]] https://esolangs.org/w/index.php?diff=46574&oldid=46571 * VTCAKAVSMoACE * (+8908) 13:39:24 -!- bender| has quit (Remote host closed the connection). 13:46:03 -!- jaboja has quit (Ping timeout: 240 seconds). 13:53:48 -!- hkgit03 has joined. 13:53:57 Hello 14:10:03 -!- heroux has quit (Ping timeout: 244 seconds). 14:10:21 -!- heroux has joined. 14:14:53 -!- J_Arcane has joined. 14:20:29 -!- spiette has joined. 14:30:15 -!- heroux has quit (Ping timeout: 250 seconds). 14:31:51 -!- heroux has joined. 14:32:13 -!- hkgit03 has quit. 14:37:44 -!- prooftechnique has quit (Quit: ZNC http://znc.in). 14:38:33 -!- prooftechnique has joined. 14:44:57 -!- jaboja has joined. 14:45:55 Anybody want a keybase invite? I have 8 or 9, I think. 14:51:29 -!- AnotherTest has quit (Ping timeout: 250 seconds). 14:56:21 -!- lambda-11235 has joined. 15:05:03 -!- clog has quit (Ping timeout: 246 seconds). 15:13:56 fungot, do you want a keybase invite from prooftechnique? 15:13:57 b_jonas: i'm a cl programmer :) you fnord your code? it makes my eyes bleed 15:14:44 Oh, fungot, you smug lisp weenie 15:14:45 prooftechnique: how do i use to make similar links to r5rs from scheme pastes that aren't of the form " fnord". pl/ 1, and -0 is a 0 0 5 0 0 15:16:06 and he still doesn't understand how quotation marks work 15:17:54 fungot: What do you think about quotes? 15:17:55 prooftechnique: now that i think about it? when it comes to punctuation, i end up liking it better. or worse yet horror of horrors there is a mandelbrot for some esolang? 15:18:24 Wow. That was really close to coherent 15:20:31 So AlphaGo won again, huh? 15:40:17 Yes. Impressive. I'm now worried that Lee may not win any game after all. 15:41:15 I only watched the first hour or two. What was the result? 15:41:41 Lee resigned again... and he was never clearly ahead from what I've read. 15:42:07 And in the end I think he was losing by more than 10 points, but that doesn't really mean much. 15:46:55 Okay I can't count. It was more like 6 to 8 points. 15:50:37 Still 15:51:22 On one hand, this is pretty groundbreaking stuff. On the other hand, I don't know how impressed I should be that a server farm beat a single brain at a computational task. 15:51:59 At least Deep Blue fit in a closet 16:00:13 -!- lambda-11235 has quit (Quit: Bye). 16:00:48 -!- adu has joined. 16:19:44 -!- heroux has quit (Ping timeout: 244 seconds). 16:28:37 -!- heroux has joined. 16:56:59 -!- adu has quit (Quit: adu). 17:03:51 -!- clog has joined. 17:05:03 -!- jaboja has quit (Ping timeout: 276 seconds). 17:08:11 i'm watching alphago's 2nd match 17:08:24 the commenter said "oh this is a very weird move from alphago" 17:08:33 and lee sedol left the room 17:08:52 they didn't show him but i imagine him cursing and kicking his chair in rage 17:12:36 -!- AnotherTest has joined. 17:15:50 -!- jaboja has joined. 17:16:03 -!- J_Arcane has quit (Ping timeout: 244 seconds). 17:23:10 -!- heroux has quit (Ping timeout: 248 seconds). 17:29:29 -!- heroux has joined. 17:29:36 -!- zadock has joined. 17:32:39 [wiki] [[Special:Log/newusers]] create * ETHproductions * New user account 17:33:49 prooftechnique: the first time computers started winning against humans in chess, they required a whole server farm to win too. But then computers got faster. 17:35:02 I think my tongue was somewhat firmly in my cheek, but I take your point. 17:55:15 [wiki] [[Japt]] N https://esolangs.org/w/index.php?oldid=46575 * ETHproductions * (+1175) Created page with "'''Japt''' is a language designed for ''code-golfing''. == Overview == Japt is a compiled language, or specifically, ''transpiled''. Many functions have been shortened to a..." 17:56:23 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46576&oldid=46547 * ETHproductions * (+11) /* J */ Added Japt to language list 17:59:17 just realized df will turn 10 this year 18:02:32 myname: um, do you mean dwarven fortress? 18:02:37 or some other df? 18:03:14 dwarf fortress 18:06:56 -!- jaboja64 has joined. 18:10:46 -!- jaboja has quit (Ping timeout: 252 seconds). 18:18:21 The dwarf named after me was a transcendent sculptor 18:19:51 Sorry, stonecarver 18:21:24 [wiki] [[Japt]] M https://esolangs.org/w/index.php?diff=46577&oldid=46575 * ETHproductions * (+72) Added categories 18:33:45 -!- mihow has joined. 18:39:03 -!- lleu has joined. 18:40:27 -!- mihow has quit (Quit: mihow). 18:52:15 -!- lynn_ has joined. 18:57:11 -!- jaboja64 has quit (Ping timeout: 250 seconds). 19:01:03 -!- lambda-11235 has joined. 19:02:15 -!- p34k has joined. 19:13:52 -!- Treio has joined. 19:17:17 -!- LexiciScriptor has joined. 19:30:05 -!- lynn_ has changed nick to lynn. 19:30:18 -!- hppavilion[1] has joined. 19:33:48 -!- LexiciScriptor has quit (Quit: LexiciScriptor). 19:36:48 -!- lambda-11235 has quit (Quit: Bye). 19:40:00 -!- jaboja64 has joined. 19:58:30 -!- LexiciScriptor has joined. 19:58:37 -!- LexiciScriptor has quit (Client Quit). 19:59:12 -!- lynn has quit (Read error: Connection reset by peer). 20:05:15 -!- Phantom_Hoover has joined. 20:07:51 -!- gde33 has left. 20:20:56 izabera: My wife was worried that he might get sufficiently frustrated to do something drastic. 20:21:18 I got the impression from some random earlier headlines that he was all "I'll win 5-0 or 4-1, no question about that" beforehand. 20:23:32 "For me, I'm not interested in playing against an easy opponent, especially for an easy-to-handle computer, --" says Ke Jie. Sounds suspiciously similar. 20:24:25 -!- lambda-11235 has joined. 20:24:37 `relcome lambda-11235 20:24:58 ​lambda-11235: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 20:25:26 prooftechnique: Thanks. I've already been welcomed. 20:25:35 :) 20:32:01 ARGH! the algorithm I'm trying to implement can't work. it's broken as designed. damn. 20:32:10 I'll have to rethink this whole thing. 20:34:54 -!- ais523 has joined. 20:34:59 Now I understand why I didn't implement it like that before I started to rewrite it. 20:37:31 I started to rewrite a code to use what I thought was a simpler algorithm. It turns out the simpler algorithm can't work. The complication was necessary. 20:54:00 -!- mihow has joined. 20:57:29 -!- zadock has quit (Quit: Leaving). 21:02:07 I think I read in newspaper the Go player expected to win against the computer the first time but that after the program is corrected then next time they probably cannot win 21:02:30 fizzie: "my wife [...]" oh you're old 21:02:47 -!- lambda-11235 has quit (Quit: Bye). 21:11:01 [wiki] [[Vitsy]] https://esolangs.org/w/index.php?diff=46578&oldid=46574 * VTCAKAVSMoACE * (+15038) Links fo' days, fixed some typos 21:17:07 [wiki] [[Vitsy]] M https://esolangs.org/w/index.php?diff=46579&oldid=46578 * VTCAKAVSMoACE * (+91) Added some wikitrivia. 21:17:35 [wiki] [[Vitsy]] M https://esolangs.org/w/index.php?diff=46581&oldid=46579 * VTCAKAVSMoACE * (+4) Fix italicization. 21:24:00 [wiki] [[Language list]] M https://esolangs.org/w/index.php?diff=46582&oldid=46576 * VTCAKAVSMoACE * (+12) Added Vitsy to language list. 21:25:54 Do you know if there is any way with Xlib that you could figure out the clipping rectangle boundaries of a GC? 21:30:58 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:31:24 ais523, zzo38: I have some vague thought about cpu architecture that probably doesn't even have a truth value, but I want to run it through you 21:31:54 go on 21:32:23 You know how much of the problem of the x86 arch is that it's really old, and at each step they updated it incrementally such that the same cpu can both run existing programs faster but also new programs can be written better but the chip implementing these two are practically the same. 21:32:53 yes 21:32:55 Although there were a few specific mistakes in these updates, most of the problem is just wanting to repeat such small incremental changes in the arch to make this possible, many times. 21:34:03 -!- hppavilion[1] has joined. 21:35:10 And some of the particular decisions that made sense in the earlier stages of x86 but no longer are well known, like how the instruction encoding is really hard to decode quickly because it's very variable width, or that the 8 and 16 bit instructions have to update parts of registers, 21:35:52 etc. 21:36:17 But there's a particular thing where I only now realized why the x86 design made sense originally but no longer. 21:36:56 You know how despite the z80 being bigger, the 6502 instruction set turns out to be way more powerful than the z808 instruction set in practice? 21:37:27 And I think one of you mentioned the reason for that, which was really not obvious to me since I didn't actually program those cpus: 21:38:38 that the 6502 has only one accumulator, but it has instructions addressing the zero page with an 8 bit offset, and those instructions are really short, all of them being 2 bytes long, so you effectively use those 256 bytes as registers. 21:39:31 Whereas on the z80, you have somewhat more general registers, but still not enough of them of course, and if you run out of them, you're really screwed, because the z80 doesn't have any sane way to address memory. 21:39:45 It doesn't even have instructions to address memory with immediate offsets. 21:41:10 Those RISC chips that have three-argument instructions on 15 to 32 independent registers 4 bytes long each and instructions with three register operands could get away with not having memory access instructions with encoded offsets, 21:41:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:42:11 but the z80 is not like that, it has few registers, they're overlapping, and the arithmetic instructions only work on A or LH as one of the sources and destination, so you effectively have register-to-register moves and ONE-OPERAND instructions, not even two-operand ones.. 21:42:52 This might not be entirely accurate, since I'm a bit fuzzy about how the z80 works, and surely it has some tricks I'm missing, plus it has the IX and IY registers to help out. 21:42:55 But still. 21:43:43 Anyway, you know how the x86 has more registers than the z80, and two-operand instructions to access that. But the trick is that not only it has those, but it also has what is effectively the equivalent of 6502's zero-page access: 21:44:30 all the general instructions can use 8 byte offsets around four of the registers, so you can access 128 bytes above and 128 bytes below the stack base pointer, plus three other similar spaces based on the other registers. 21:45:16 AND even though the general instructions are two-operand, they work both ways: the memory operand can be either source and destination, encoded by a bit in the opcode. 21:46:11 So the x86 is a hybrid cpu that tried to have the advantages of both a larger instruction set risc cpu and the in-memory registers of 6502. 21:47:04 And I think this was a good idea at the 8086, and probably still a mostly sane idea at the 386, but turned out to be a bad idea later. 21:47:41 Mostly because you can't run instructions parallel and out of order and speculatively if they all reference main memory and any main memory write could affect any main memory read. 21:48:03 The cpu can work out the dependencies between register accesses, but not between memory writes. 21:49:11 hmm, the major "zero page"ish use I've seen on x86 is offsets from bp or sp 21:49:12 So we ended up with a CPU that we are effectively trying to program like a RISC machine with everything stored in registers, sometimes even to the point that if you don't have enough general registers, it can be worth to save a value to an xmm register instead of the stack. 21:49:18 it's like having a sliding window zero page 21:49:37 perhaps we could have a stack that's /only/ addressible like that 21:49:43 to solve the aliasing issues 21:49:48 ais523: yes, and the MMIX has such a sliding window register stack. 21:49:58 It's great design. 21:50:15 Now, there are some things in MMIX I don't like, but the sliding window local register stack is brilliant. 21:50:32 (It also has global registers that don't move when the window slides.) 21:52:02 They at least did away with the two-direction instructions with the vector instructions: those only read from memory, never write, but they were still all two-operand before AVX. And even AVX uses the mod-r/m encoding so there are two bits in every instruction just to say that it's accessing registers only, not memory. 21:52:41 Mind you, at that point they have worse problems with the instruction encoding, but still. 21:53:20 actually one thought I've had 21:53:23 And even with all the great vector instructions, you can't do away with the general register instructions, you still have to use them for conditionals etc. 21:53:32 is a CPU where the /only/ memory accesses are pushes and pops on a set of stacks 21:53:42 each of which is independent 21:53:50 this solves all cacheing and aliasing problems 21:54:11 although, of course, it's not so great for programming as you don't have any random-access memory 21:54:35 ais523: yes, that would be very inefficient for programming 21:54:52 I wonder what sort of programs can be written efficiently on a multiple-stack machine 21:54:57 could you write a compiler, for example? 21:55:27 let's say, a compiler that runs in O(n log n) in the size of the original program, and does optimizations on an AST 21:56:32 ais523: doesn't forth sort of work like this, where there's a data stack, a jump stack, and even a limited size for loop stack? It also has main memory, and one of the stacks are accessible through main memory, but I think a variant where none of those stacks are acessible in the main memory would look very similar to forth. 21:56:57 ais523: so there would be no constant-time reversal of a stack? 21:57:25 no, also the stacks are conceptually infinite anyway 21:58:06 ais523: and do you allow enough stacks? eg., can a program use 256 stacks? 21:58:09 hmm, let's add a slow random-access permanent storage, like a hard disk or SSD 21:58:14 I know that doesn't matter for the asymptotics, but still 21:58:18 b_jonas: there are a lot but a finite number 21:58:20 maybe 16 21:58:40 16 is too few unless you also have registers (or stacks limited to a small fixed depth) 21:58:52 the main problem I have here is that this model can do program spawn-and-wait trivially 21:58:59 or... wait 21:59:03 but can't do multiprocessing at all well 21:59:27 ais523: with the 16 stacks, would you allow directly reading and writing any of the top 16 elements? or just the top element? 22:00:12 there's a reasonably large window at the top of the stack that's all readable and writable 22:00:17 great 22:00:18 again, finitely large 22:00:24 in that case 16 stacks are enough 22:00:35 because you can put multiple registers on the same stack 22:00:40 actually maybe we should have fewer stacks, it might be more efficient 22:00:41 b_jonas: yes 22:02:00 Totally different, but there's a crazy home-made eso-hardware that tries to masquarade as forth-based, but actually has a stack of, I kid you not, two elements max depth. 22:02:31 The docs at first tells it has four elements, but later admits that the bottom two are reserved for interrupt handlers so you can only use the top two if you don't want to lose the value. 22:02:42 At that point, I don't understand what makes this stack-based. 22:03:50 It's really an accumulator-based machine with zero-operand instructions only, since you can keep one thing (the accumulator) on the stack for a few instructions, but have to load a "register" from memory as the second operand, then run one instruction that uses the two values together. 22:04:04 (Arithmetic, indirect store, or conditional jump.) 22:04:32 I can buy that it was easy to implement it in hardware this way (since it also has very few instructions), but I totally don't buy that it's stack-based or in any way related to forth. 22:05:16 This one is the opposite: you say it's stack-based, but actually it has enough general purpose registers for a risc machine. 22:05:51 it's stack-based in that it uses stacks for /storage/, not in that it uses them for calculation 22:05:56 Yep. 22:06:16 Anyway, it's an interesting question. It's not obvious what it could do. 22:06:46 your "L1 cache" is the top of the stacks 22:06:47 It would have to be very different from normal random-access programs. 22:07:12 they get swapped out if you push too much onto them to fit into the cache, but the swapping is very predictable and can be done in the background; in particular you can always do a linear load 22:08:21 By the way, the next M:tG set seems to be graveyard-themed like Odyssey: they bring back madness (which is why zzo38 was talking about madness, I didn't understand why), and a new threshold variant 22:09:33 yes, I know 22:09:35 I follow M:tG 22:09:41 yes, more than I do 22:10:41 I'm surprised. It seems strange for them to bring back BOTH madness and threshold. Two such strange mechanics in one set? In Odyssey, madness was at least in a later set of the block. 22:10:46 madness (if you discard this card, discard it into exile, then cast it for its madness cost or put it into your graveyard), delirium (if you have four or more card types in your graveyard, …), skulk (~ can't be blocked by creatures with higher power), investigate (place a Clue artifact token onto the battlefield with "{2}, sacrifice ~: draw a card") 22:11:04 also apparently they tested threshold but didn't like the way it played 22:11:36 Also, I think madness and threshold and other graveyard counting are mechanics I don't really enjoy playing with, because you have to build around them. 22:11:47 Build the kind of decks I don't want to build around them. 22:11:54 Decks that put cards to the graveyard. 22:12:10 Can work if it's a whole set of course, but not too well in isolation. 22:14:23 come to think of it, SoI only has four mechanics 22:14:24 "let's say, a compiler that runs in O(n log n) in the size of the original program, and does optimizations on an AST" -- um, a compiler from what to what? I think you can do peephole matching on a tree in O(n log n) if you serialize the tree in a way that it's pre/postorder and the smaller weight child is closer to the parent than the larger weight child. 22:14:33 Khans and Dragons each had six 22:15:01 b_jonas: I'm thinking in general 22:15:22 basically you want to be able to do a recursive tree pattern match 22:15:50 hmm, for a specific example, let's say we want something that matches sexps against patterns, which allow * to mean "any sexp here" 22:15:54 The problem is that a compiler also needs a symbol table, which is a dictionary, and I think that requires random access. 22:15:59 and converts them to other patterns 22:16:31 b_jonas: you could convert variables to lambdas and lambdas to stack references, Underload-style 22:16:34 So the trees are no problem, but referring to O(n) symbols O(n) times in an arbitrary way is effectively random access. 22:17:02 hmm, even more specific concrete example 22:17:13 ais523: if the program is arbitrary, then it can refer to any symbol, even older ones 22:17:16 s/(a $x $y)/(b $y $x)/g 22:17:28 where sexps not starting with a and b are unchanged 22:17:36 can a stack machine do this in O(n log n) time? 22:17:38 ais523: hmm 22:17:41 ais523: let me think 22:17:43 clearly you can do it without the /g 22:18:52 (also this regex syntax is highly dubious) 22:20:03 ais523: I have the feeling that you can do that in O(n log n) time with a couple of stacks, let me try to figure out how exactly 22:20:14 the number of stacks matter of course, because this is something you can't do with one tape 22:22:33 ais523: first pass, annotate each node with the length (number of recursive nodes) of itself and children and grandchildren etc to a sufficient fixed depth. 22:22:40 -!- AnotherTest has quit (Ping timeout: 252 seconds). 22:23:02 oh, you're assuming unbounded integers there 22:23:07 admittedly this isn't a problem in practice 22:23:24 ais523: no, only O(log n) size integers, which you can handle I think 22:23:34 right, because of that 22:24:46 In fact, let's say annotate each node with the length and head of itself and each close relative (including parent and nephew) 22:25:34 Second pass: read the tree in sequence, and figure out where in the output sequence each symbol will move. For this, you keep track of the offset of how much each node moves, and when you encounter an "(a" or one of its relatives, you add or subtract the right weights. 22:25:47 Third pass: sort everything, in O(log n) passes 22:25:54 Fourth pass: fix it up to the output format 22:26:15 I'm not sure this works, but I think it might. 22:26:43 And there's probably a much easier way. 22:26:53 If it works that is. 22:28:31 hmm, actually that's a good point: can we sort a stack in O(n log n)? 22:28:42 it's surely got to be possible but I'm not sure if any of the standard algorithms work 22:29:12 ais523: yes, because you can sort in O(n log n) time with two or three _tapes_, that is, three to six stacks. 22:29:34 hmm, which algo? quicksort seems promising 22:30:06 ais523: much of Knuth vol 3 is about external sorting with tapes. In short, mergesort or its inverse. 22:30:32 was wondering about mergesort 22:31:25 ais523: however, radix sort also works here because you're keyed with numbers 22:31:34 O(log n) long numbers 22:32:16 also takes O(log n) passes 22:32:20 haha, that's really dirty :-) 22:32:22 works though 22:32:23 it's not 22:32:24 really 22:32:28 -!- lynn has joined. 22:32:57 I tend to mentally react to anything that assumes integers are finitely large 22:33:08 integers don't work like that in theory! only in practice 22:33:47 -!- Treio has quit (Quit: Leaving). 22:33:56 ais523: my favourite algorithmic problem can be solved in O(n) time despite that it requires a sorting step, because the sorting is on keys O(log n) large 22:34:28 err, doesn't that give you a total O(n log log n)? 22:34:33 radix sort is O(n log k) 22:37:17 -!- AnotherTest has joined. 22:38:11 -!- AnotherTest has quit (Client Quit). 22:38:11 ais523: it's in the ram model with, integers large enough to address O(n), so you use bucket sort 22:38:40 that's cheating :-P 22:38:41 ais523: in the ram model, even radix sort is O(n log n) time 22:39:01 as I said, radix sort is O(n log k), where k is the maximum value of the things you're sorting 22:39:08 this doesn't require assuming that integers are bounded 22:39:13 yes, and k=O(n) here 22:39:21 or maybe k=n**O(1) 22:39:23 arguably in the ram model, all algorithms are O(1) 22:39:32 because you can only store a finite amount of data 22:39:39 sure there's a large constant factor, but you don't count that :-P 22:39:45 ais523: bucket sort _doesn't_ work on arbitrarily large values 22:39:56 it needs O(n+k) times if k is your largest possible integer 22:40:53 Although I'm not sure if my algorithmic problem actually requires sorting, maybe that's just the lazy way to prove it works in O(n) 22:40:59 I'll have to think about it 22:42:01 ais523: i'm not convinced. a simple counter could run forever as long as you keep adding memory, and it takes so long to step 64 gigs through all of its states that you have plenty of time to upgrade while it's running 22:42:29 quintopia: well the RAM model b_jonas is talking about includes finitely large addresses 22:42:49 although I guess you could pause the program, increase all the address sizes, then continue 22:43:46 ais523: then we'll have to count up in increments of *however many rams we've used up ach time we ran out of addresses* 22:44:15 -!- spiette has quit (Quit: :qa!). 22:44:27 and just remember what they had when we pulled them 22:45:16 ais523: I haven't really thought about how fast it could be done on a real pointer machine (depends on the definition of the problem at that point). The interesting part of that problem to me is that it's possible but not trvial to do it in O(n**(1+epsilon)) time rather than O(n**(2+epsilon)) 22:45:42 And that I could use it as a great _educational_ example on what algorithm theory is about. 22:47:01 Since the O(n**3) algorithm is obvious, and the O(n**2) algorithm is simple enough too, and I can show that the latter is faster, and can tell that there's an O(n**(1+epsilon)) time algorithm but that one is difficult. 22:48:16 Except that I'm a bit confused. 22:48:36 In that variant, the linear algorithm is actually O(n) and doesn't involve sorting. 22:49:19 There's another variant where I'll have to think whether the quasi-linear algorithm can be done linearly, but in that case the exponents of the easy algorithms might be different, I'm not sure. 22:49:37 Dunno, I'm tired. 22:52:17 Ok, let me try to hastily assemble an M:tG deck or two since I both have to work and then will play M:tG tomorrow. 22:52:24 And it's late. 23:16:06 -!- hppavilion[1] has joined. 23:24:07 -!- Sgeo_ has joined. 23:26:03 -!- Sgeo has quit (Ping timeout: 240 seconds). 23:30:44 -!- J_Arcane has joined. 23:34:43 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 23:35:59 -!- oerjan has joined. 23:47:37 -!- hppavilion[1] has joined. 23:47:40 `? inoric 23:47:42 -!- lynn has quit (Ping timeout: 260 seconds). 23:47:52 `? inory 23:47:52 `? fnord 23:48:45 inoric? ¯\(°​_o)/¯ 23:48:45 ​? ¯\(°​_o)/¯ 23:48:45 inory? ¯\(°​_o)/¯ 23:49:13 what is fnord? what is fnord? fnord is the space between your pixels at your monitor. fnord is the reason lisp has that many parantheses. fnord is the color only the blind can see. fnord is the sound of a single clapping hand. 23:49:16 λ-calculus is the basis of normal purely-functional programming 23:49:49 `le/rn inory/Inorically, inory is when you say something is irony that really isn't 23:49:53 Learned «inory» 23:50:42 SKI (or another CL) is the basis of normal epically-functional programming 23:51:10 And Turing machines^1 are^2 the basis^3 of imperative^4 programming^2 23:52:08 But really, there's no machine that corresponds to logic programming 23:52:17 I mean, there's actual logic, but that's pretty different 23:53:04 Actual logic isn't very horny 23:53:19 (That's a horn clause joke, ftr) 23:54:40 * oerjan swats hppavilion[1] for missing punctuation -----### 23:54:45 oerjan: Dammit xD 23:54:57 `le/rn inory/Inorically, inory is when you say something is irony that really isn't. Moron. 23:54:59 Relearned «inory» 23:55:10 dammit again 23:55:31 oerjan: You didn't punctuate either xD 23:55:44 hppavilion[1]: it only applies to wisdoms hth 23:55:52 Oh 23:56:09 also, because `learn_append only works when things are punctuated. 23:56:48 `` sed -i 's/Moron./Someone who does this is an inorite./' wisdom/inory 23:56:49 No output. 23:57:24 oerjan: How about we add le/rn_sub? 23:57:31 `cat le/rn 23:57:31 sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; [ -e "wisdom/$key" ] && verb="Relearned" || verb="Learned"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "$verb «$key»" 23:57:40 hppavilion[1]: _sub? 23:57:48 what's that supposed to mean? 23:57:49 oerjan: Substitute 23:58:34 oerjan: It'd be shorthand for `` sed -i 's/from/to/' wisdom/name 23:58:54 For those who don't *nix pain be upon them 23:59:48 sounds a little limited. 2016-03-11: 00:00:09 oerjan: Yeah, but it'd be nice 00:00:47 `culprits wisdom/fnord 00:00:49 int-e ais523 oerjan 00:01:14 `` sed -i 's/paran/paren/' wisdom/fnord 00:01:17 No output. 00:01:52 that's badly capitalized too 00:06:40 hppavilion[1]: are you familiar with the Warren Abstract Machine hth (i'm not really) 00:08:11 oerjan: I've heard of it, but don't remember it being abstract 00:08:49 looks pretty officially abstract imo 00:21:38 what was the language whose programs build a ring (i guess?) called? <-- capra i think 00:22:06 *cabra 00:22:26 except it's only semi- 00:22:34 sounds right 00:23:04 ah, burro is what i looked for 00:28:40 -!- lambda-11235 has joined. 00:29:28 oerjan: It would be pretty cool to see a useful language whose programs form a mathematical-in-nature structure 00:32:36 -!- p34k has quit. 00:38:21 hppavilion[1], what do you even mean by that 00:38:40 Phantom_Hoover: Like cabra 00:45:19 Uh. Is it... normal for no-compete clauses to be in event waivers for attending an event? 00:45:23 Because that seems bizarre 00:45:35 well that's the very narrow niche of cpressey's ventures into algebraic structures on programs 00:46:44 which didn't get very far, imo, because he defined his algebras on programs up to computational equivalence, which is an incredibly nasty relation if you're looking at most nontrivial classes of program 00:51:37 Sgeo_: ????? 00:51:58 The "Camp No Counselors Waiver and Release of Liability" contains this clause: 00:52:12 "9. I further agree that I will not directly or indirectly engage in any business that competes with Camp No Counselors, or solicit any person working on behalf of Camp No Counselors for any business that directly or indirectly competes with Camp No Counselors, for a period of three years following the Camp No Counselors event. " 00:52:30 that's pretty unusual and probably unenforcable 00:54:03 I feel like I should hold off registering, though 01:02:05 Sgeo_: I think it's prohibiting you from starting a competitor, not from joining a competitor's camp 01:02:14 Sgeo_: So you don't steal their ideas :P 01:05:11 Still seems like a bit of a harsh restriction just from going once 01:05:39 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:24:46 as I said, radix sort is O(n log k), where k is the maximum value of the things you're sorting <-- i recall from when reading about one of edwardk's experiments that sorting is actually O(n) if you interpret n as total input memory in bits. 01:25:01 A sign extend operation: x-=(x&s)<<1; 01:25:12 (his experiment was generalizing radix sorting to arbitrary data structures, i think) 01:25:55 (Where "s" is a number only with the sign bit of the input format set) 01:26:12 that is, if you consider the size of the integers you sort as irrelevant except for their contribution to total memory 01:27:26 https://hackage.haskell.org/package/discrimination 01:28:45 zzo38: so (x&s) is either 0 or -1 01:28:59 (-1)<<1 is undefined in C but -2 in two's complement? 01:29:04 and adding 2 to a number doesn't sign extend it 01:29:06 so I'm confused 01:30:28 No, the "x" is actually of a larger type than the input, but is input and zero extended into "x" initially 01:30:32 ais523: isn't it either 0 or minint? 01:30:44 oerjan: oh right, good point 01:31:02 and INT_MIN << 1 is kind-of awkward to define but is most reasonably defined as 0 01:31:21 As far as C program is concerned, x, s, and (x&s) are all non-negative initially (although the result might be negative) 01:32:47 ais523: AIUI, it's for turning a previously zero-extended value into a sign-extended one. 01:33:12 ah right 01:34:59 <\oren\> isn't INT_MIN << 1 = INT_MIN - 1 = 0b111...110? 01:35:23 <\oren\> oh, wait, never ind 01:35:34 <\oren\> stupid two's complement 01:35:51 <\oren\> INT_MIN = 0b1000...00 01:38:39 \oren\: apparently it is really INT_MIN for a smaller int, cast into the larger one. 01:38:57 *int type 01:44:51 <\oren\> I'm going to color the nonstandard charatcers in my font demo. 01:44:58 <\oren\> What color should they be? 01:45:29 What, precisely, do "over" and "under" mean in math? I know what context they're used in and can often guess which one's right, but I don't know their strict definitions 01:46:13 <\oren\> over is how you pronounce a fraction bar 01:46:19 <\oren\> never heard under 01:47:49 \oren\: No, like "+ forms a group over the reals" 01:47:51 -!- jaboja64 has quit (Ping timeout: 264 seconds). 01:49:12 <\oren\> oh. that means that the tuple (+,ℝ) is a group 01:49:45 <\oren\> a group is a tuple of a operation and a set 01:49:54 \oren\: Yes, but what are the definitions of "over" and "under" 01:49:57 \oren\: I know what a group is xD 01:50:27 an operation is over a set if it is closed in it, i guess 01:50:48 myname: Then why do we say "closed over x" 01:50:54 myname: Why not just say "is over x" 01:51:18 myname: I think operations and functions are just always "over" values 01:51:24 That is probably the definition 01:51:28 Though I could check ##math 01:52:13 Checked 01:53:35 <\oren\> Dad says "+ is over ℝ" means the domain of the two operands is ℝ 01:54:46 <\oren\> you could also have a function f(x,y) "over ℝ and ℂ" meaning one operand is real and the other complex 01:58:55 -!- Elronnd has changed nick to realdonaldtrump. 02:01:06 -!- realdonaldtrump has changed nick to Elronnd. 02:02:45 <\oren\> 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏 02:04:53 -!- yorick has quit (Ping timeout: 250 seconds). 02:04:59 \oren\: All functions are closed over 𝕍. True fact. 02:07:27 (I think we should define ALL the bb letters) 02:08:08 𝔹𝔹 is the set of bitmaps describing blackboard bold letters. hth. 02:08:22 `unidecode 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏 𝐓𝐑𝐔𝐌𝐏 02:08:24 ​[U+1D413 MATHEMATICAL BOLD CAPITAL T] [U+1D411 MATHEMATICAL BOLD CAPITAL R] [U+1D414 MATHEMATICAL BOLD CAPITAL U] [U+1D40C MATHEMATICAL BOLD CAPITAL M] [U+1D40F MATHEMATICAL BOLD CAPITAL P] [U+0020 SPACE] [U+1D413 MATHEMATICAL BOLD CAPITAL T] [U+1D411 MATHEMATICAL BOLD CAPITAL R] [U+1D414 MATHEMATICAL BOLD CAPITAL U] [U+1D40C MATHEMATICAL BOLD C 02:09:27 𝕩𝕚 is the set of imaginaries produced from 𝕩 02:09:43 "Make Blackboard Bold Great Again" 02:10:16 \oren\: Think we need a `bb command for that? 02:14:40 -!- yorick has joined. 02:14:40 -!- yorick has quit (Changing host). 02:14:40 -!- yorick has joined. 02:18:48 <\oren\> 𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ 02:18:51 <\oren\> 𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫 02:18:54 <\oren\> 𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡 02:19:00 <\oren\> hfwt 02:19:46 Nice 02:20:11 f(x, y) if over ℝ, and under 𝔽𝕚ℝ𝕖. 02:20:36 <\oren\> Oh yes, and the new version is out, featuring capital cursive and lowercase cursive, in the right codepoints 02:20:53 <\oren\> 𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵𝒶𝒷𝒸𝒹ℯ𝒻ℊ𝒽𝒾𝒿𝓀𝓁𝓂𝓃ℴ𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏 02:22:21 Very nice 02:22:44 I love the lowercase blackboard e :D 02:23:20 *subtle* 02:23:32 -!- boily has joined. 02:23:33 aesthetic 02:23:44 prooftechellonique. 02:23:50 Helloily! 02:26:22 I think over refers to the domain of a function and under refers to its range. 02:26:39 Hm... 02:26:43 Consider list theory 02:27:13 Pure lists, specifically. One might call it ZFl or ZFCl 02:27:33 How would one optimally define numbers with it? 02:28:11 The first way that comes to mind is f(n)=[[]]*n, where * is the bounded repetition (repn) operation 02:28:37 hppavilion[1]: Like |z| is a function over ℂ and under ℝ. 02:29:16 -!- mihow has quit (Quit: mihow). 02:29:41 The way more similar to the standard set definition is f(n)=[f(n--)], where -- is of course predecessor 02:29:52 lambda-11235: Interesting... 02:30:13 lambda-11235: Unless, of course, you include sgeoids 02:30:21 -!- lynn has joined. 02:30:33 I definitely read that as Zermelo-Flaenkel 02:30:42 Wait, no, then it's still under ℝ 02:30:58 In fact, |z| isn't under ℝ, it's under ℝx>=0 02:31:15 prooftechnique: Read what as Zermelo-Flaenkel? 02:31:19 ZF? 02:31:25 Zfl 02:31:27 Ah 02:31:28 *ZFl 02:31:42 <\oren\> ZFl 02:31:49 prooftechnique: One of the things I think math needs is a mathematical definition of naming things 02:32:14 m("Gaussian"++x) = m(x)+m(x)i 02:32:41 m("Gaussian real") = ℂ 02:32:49 (Maybe it should be a capital M?) 02:33:04 <\oren\> ℨ𝔢𝔯𝔪𝔢𝔩𝔬-𝔉𝔯𝔞𝔢𝔫𝔨𝔢𝔩 02:33:22 he\\oren\. 02:33:44 (that porthello was typeset in fraktur, but I'm too lazy for that, so please imagine it is.) 02:33:55 <\oren\> 今ボアリは 02:34:59 <\oren\> 𝔥𝔢\\𝔬𝔯𝔢𝔫\ 02:35:01 prooftechnique: What I'm getting at is I want a function oe(n, s, d) that returns the optimal encoding of n as an element of s where lists can be of depth d 02:35:14 And is defined for all n in s 02:35:27 Hmm 02:35:33 `thanks \oren\ 02:35:34 Thanks, \oren\. Thoren\. 02:35:40 Where s is N, Z, R, C, etc. 02:35:48 <\oren\> ℑ 𝔣𝔬𝔯 𝔬𝔫𝔢 𝔱𝔥𝔦𝔫𝔨 𝔣𝔯𝔞𝔨𝔱𝔲𝔯 𝔩𝔬𝔬𝔨𝔰 𝔡𝔦𝔰𝔱𝔦𝔫𝔤𝔲𝔦𝔰𝔥𝔢𝔡 𝔞𝔫𝔡 𝔫𝔬𝔟𝔩𝔢. 02:35:52 (You can pattern match, and probably have to for those sets) 02:36:10 (So really, you're defining 4+ related functions that with the same name and one fixed argument) 02:36:51 hppavilion[1]: Like |z| is a function over ℂ and under ℝ. <-- i don't recall any such thing. "over" and "under" as hppavilion[1] describes applies to algebraic structures, not just any functions. 02:36:53 prooftechnique: We can assume tuples are just length 2 lists and sets are just lists where we ignore ordering 02:36:58 Okay, so what does "optimal" mean? 02:37:34 prooftechnique: You can define the standard operations (+, -, *, /) with it and it uses the least number of empty lists 02:37:37 <\oren\> 𝔈𝔵𝔠𝔢𝔭𝔱 𝔱𝔥𝔢 𝔨 𝔦𝔰 𝔱𝔬𝔬 𝔪𝔲𝔠𝔥 𝔩𝔦𝔨𝔢 𝔱𝔥𝔢 𝔱. 02:37:43 the reals are a group under addition, addition forms a group over the reals. 02:38:18 So optimality([]) = 1, optimality(l) = sum([optimality(i) for i in l]) 02:38:23 and underlying set functor is a technical term, the right adjoint to the free structure. 02:38:34 optimum = min(encodings) 02:38:36 What's the EgoBot command that spits out the unicode info? 02:38:44 prooftechnique: unidecode? 02:38:50 `unidecode ⓚ 02:38:51 `help uni 02:38:51 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/ 02:38:51 ​[U+24DA CIRCLED LATIN SMALL LETTER K] 02:38:53 helloily 02:39:01 `unidecode 𝓀 02:39:04 quinthellopia. 02:39:04 ​[U+1D4C0 MATHEMATICAL SCRIPT SMALL K] 02:39:10 bonne nuitopia! 02:39:14 you arent sokay 02:39:15 prooftechnique: You can use multiple characters with unidecode 02:39:18 night 02:39:32 Oh, neat. Thanks. 02:39:39 But also, \oren\, see above 02:39:50 `unidecode ⓚ 𝓀 02:39:53 ​[U+24DA CIRCLED LATIN SMALL LETTER K] [U+0020 SPACE] [U+1D4C0 MATHEMATICAL SCRIPT SMALL K] 02:39:57 also, i recall we pronounced binomial coefficients as "n over k", that's a different but similar use as fractions... 02:40:13 -!- boily has quit (Quit: YEARLY CHICKEN). 02:41:51 oh and another use: R^n is a vector space over the reals. then it's not the same as the underlying set. 02:41:58 oerjan: Never heard that 02:43:11 <\oren\> Oh, yeah I havent removed those yet 02:44:26 `help uni <-- HackEgo 02:44:38 's help command takes no arguments. 02:45:27 Figured as such 02:45:38 -!- izabera has changed nick to izy. 02:47:09 <\oren\> 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 𝔚𝔄𝔖 𝔄 𝔅𝔈𝔄ℜ. 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 ℌ𝔄𝔇 𝔑𝔒 ℌ𝔄ℑℜ. 𝔉𝔘ℨℨ𝔜 𝔚𝔘ℨℨ𝔜 𝔚𝔄𝔖𝔑'𝔗 𝔙𝔈ℜ𝔜 𝔉𝔘ℨℨ𝔜 𝔚𝔄𝔖 ℌ𝔈? 02:47:21 AAAAAAAA 02:47:39 i cannot read that. anyway, food -> 02:48:20 That was very hard to read 02:48:25 <\oren\> 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔴𝔞𝔰 𝔞 𝔟𝔢𝔞𝔯. 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔥𝔞𝔡 𝔫𝔬 𝔥𝔞𝔦𝔯. 𝔣𝔲𝔽𝔽𝔶 𝔴𝔲𝔽𝔽𝔶 𝔴𝔞𝔫'𝔱 𝔳𝔢𝔯𝔶 𝔣𝔲𝔽𝔽𝔶 𝔴𝔞𝔰 𝔥𝔢? 02:48:37 <\oren\> wait wtf happened there? 02:48:43 That's a very good question 02:49:31 `unidecode 𝔽 02:49:32 ​[U+1D53D MATHEMATICAL DOUBLE-STRUCK CAPITAL F] 02:50:25 <\oren\> fúźźý wúźźý wáś á béáŕ. fúźźý wúźźý hád ńő háíŕ. fúźźý wúźźý wáń't véŕý fúźźý wáś hé? 02:51:29 -!- izy has changed nick to izabera. 02:51:36 <\oren\> ¿ǝɥ sɐʍ ʎzznɟ ʎɹǝʌ ʇ,usɐʍ ʎzznʍ ʎzznɟ ˙ɹıɐɥ ou pɐɥ ʎzznʍ ʎzznɟ ˙ɹɐǝq ɐ sɐʍ ʎzznʍ ʎzznɟ 02:52:52 I just realized that my definition of optimality makes it so f(0) = [], f(n) = [P(n)] 02:53:36 prooftechnique: New definition of optimality: optimality([]) = 1, optimality(i:l)=1+optimality(i)+optimality(l) 02:53:51 Then again, the old definition only works when d=infinity 02:54:10 And the numbers are the naturals 02:54:17 Hmm 02:54:40 But still, if d is finite then you just output the list as a sum of nested lists of max depth d 02:54:43 Held in a list 02:54:52 <\oren\> `unidecode ɟʍʎ 02:54:53 ​[U+025F LATIN SMALL LETTER DOTLESS J WITH STROKE] [U+028D LATIN SMALL LETTER TURNED W] [U+028E LATIN SMALL LETTER TURNED Y] 02:55:58 -!- ais523 has quit (Ping timeout: 248 seconds). 02:56:57 hppavilion[1]: I honestly don't follow what you're going for. Can you show a worked example of expected output for some input? 02:57:25 prooftechnique: I don't either; the goal is to figure out what the expected output is 02:57:44 ƒบzzγ พบzzγ พαร α вεαя. ƒบzzγ พบzzγ нα∂ ท๑ нαïя. ƒบzzγ พบzzγ พαรท'т νεяγท∂บzzγ, พαร нε? 02:58:12 All right, so say I want to optimally encode 4 in ℕ. 02:58:32 What's the limit on the list depth? 02:59:04 prooftechnique: I'm going for a function enc(n, S, d) that takes a number n that is a member of S, a set S which is from some finite collection of sets (probably N, Z, Q, R, or C), and a maximum list depth d (which is, of course, natural) 03:00:35 Okay, so given 4 in ℕ and setting d to 4, what's our encoding? 03:00:47 It should then return a list which is equal to n encoded optimally into a list of maximum depth d- one where +, -, *, and / can be defined- where the maximum list depth is d and it works for all S. 03:01:01 Does it just look like [[],[],[],[]]? 03:01:12 prooftechnique: I would guess [[[[]]]] 03:01:27 Mine has optimality 4, whereas yours is 5 03:01:42 Gah! Again, I hit the the-answer-is-fucking-obvious-moron barrier! 03:01:44 I think 03:01:55 Yeah, pigeonhole principal 03:02:25 prooftechnique: I give up. Have any idea how to encode arbitrary reals as lists? 03:02:33 Optimality be damned? 03:02:43 I don't think your definition of optimality works the way you think it does 03:02:55 Or I just don't understand your notation 03:02:59 well, define some way of a comma 03:04:07 ah, easy 03:04:31 (length of numbers before comma, [numbers]) 03:04:39 there's your real 03:04:51 hppavilion[1]: You can Church-encode the reals, so that might get you somewhere 03:05:05 where positions might be made by (value, position) 03:05:17 prooftechnique: What do you not get? Or I don't get? 03:05:21 of course (a, b) is just [[a, b], [a]] 03:05:52 myname: Comma as in a decimal point? 03:05:59 yeah 03:06:20 myname: Oh, (a, b) is just [a, b] in theory 03:06:35 if [] are ordered, yes 03:06:45 myname: YES! THAT'S THE ENTIRE POINT! 03:06:46 you don't need the fancy positioning then 03:07:20 yo 12,345 is [2,[1,2,3,4,5]] 03:07:27 there is your real 03:07:28 myname: What if n=pi? 03:07:44 hppavilion[1]: define pi as a real 03:07:48 myname: I do 03:08:02 go for it 03:08:21 give me your definition of it 03:08:52 myname: Of what, precisely? 03:08:54 Of pi? 03:08:58 Not sure yet 03:08:59 You have optimality [] = 1; optimality (x:xs) = 1 + optimality x + optimality xs, which doesn't typecheck, if I follow your notation 03:09:00 in other words: how do you define pi without using pi in the reals? 03:09:22 myname: Oh, you want pi without pi? tau/2 obviously 03:09:25 Kidding, kiddin 03:09:26 g 03:14:02 🙃 03:16:07 myname: How about... pi=4*summ([1:inf{2}), x) 03:16:13 I got that from a taylor series online 03:16:47 -!- lleu has quit (Read error: Connection reset by peer). 03:16:57 (that first argument to summ is an interval with a skip) 03:17:17 (Wait, no, it's not quite that 03:17:59 pi=4*(1+summ(x=[3:inf{2}), -1/x)) 03:18:04 summ is, of course, summation 03:18:07 there you go, define addition and multiplication on your [] thingie 03:18:17 myname: Yep 03:18:19 Sounds about right 03:18:29 myname: It's just a haskelly list, but nestable 03:18:31 hth 03:18:46 And pur 03:18:46 e 03:18:56 setler killed all the impure sets 03:19:15 Dammit, that expression was wrong too 03:19:27 It's not n-m-o-q-p, it's n-m+o-q+p 03:19:35 MUCH harder to summation 03:19:42 no 03:19:57 myname: Really? 03:21:07 it's pi=4*(1+summ([3:inf{2}), (-1)^x/x)) 03:21:19 Oh, I suppose you could turn step up to 4 and replace 1/x with 1/x+1/(x+2) 03:21:44 -!- contrapumpkin has joined. 03:21:45 https://www.math.hmc.edu/funfacts/ffiles/30001.1-3.shtml says otherwise 03:22:02 oh, wait 03:22:10 not ^x 03:22:16 because your sum is stupid 03:22:41 myname: It's the best I could do without latex 03:22:55 And even if I had latex, I'd need google because I don't latex very often 03:23:01 myname: It's stupid, but it works 03:23:27 pi=4*(summ([0:inf), (-1)^x/(2*x+1)) 03:23:28 Apparently 03:23:36 OK, that works too 03:24:02 Here's a cool feature all low-level languages should have 03:24:06 <> function call notation 03:24:14 f(*a) 03:24:21 It allows you to choose the return type 03:24:31 Allowing multimethods for output, too 03:24:37 (return type must be directly specified) 03:25:26 (Also, must be defined, though languages should be able to guess return type if they're similar but this specific type is undefined- e.g. float -> double 03:25:31 ) 03:25:51 What would be good for a low-level language that hasn't been done yet? 03:30:05 -!- ^v^v has joined. 03:30:12 -!- copumpkin has quit (Ping timeout: 260 seconds). 03:30:12 -!- ^v has quit (Ping timeout: 260 seconds). 03:30:42 @sassages-loud 03:30:42 oerjan said 1d 1h 37m 54s ago: My neural net thinks there's a historical language called Middle Worse. <-- PLAUSIBLE 03:31:27 -!- XorSwap has joined. 03:35:55 tswett: What would be good for logic programming? Any ideas? 03:36:24 Preferably something fairly minimal 03:42:02 Logical-event maybe? 03:44:03 Hmmm. 03:44:59 One might say I spend a lot of time trying to come up with "low-level" stuff. 03:45:41 Look at, say, Al Dente, and tell me that's not low-level. 03:47:03 (You might describe Al Dente as a low-level logical-event language...) 03:48:12 whoa whoa whoa 03:48:17 @mesdames-loud 03:48:17 You don't have any messages 03:48:22 oerjan hasn't used that one yet 03:52:48 @meddaged 03:52:48 Unknown command, try @list 03:53:02 @xessaxes 03:53:02 You don't have any messages 03:53:18 @pulp 03:53:18 Maybe you meant: pl help 03:53:27 @whelp 03:53:27 help . Ask for help for . Try 'list' for all commands 03:53:28 `le/rn middle worse/Mïðal VVőrszü vvoràði nyëlv spöket af magyar inva̋ðerek Herefördshirben 03:53:31 leszármazott 03:53:34 argh 03:53:37 Learned «middle worse» 03:53:41 stupid newline paste 03:54:07 I can't read that. 03:54:38 `lastfiles 03:54:40 wisdom/middle worse 03:54:48 `mkx bin/sedlast//sed -i "$1" "$(lastfiles)" 03:54:54 bin/sedlast 03:55:01 `cat bin/mkx 03:55:02 key=$(mk "$@") && echo "$key" && chmod +x "$key" 03:55:35 `cat bin/mk 03:55:35 ​[[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$(echo-p "$key")" && echo "$key" 03:55:40 `le/rn middle worse/Mïðal VVőrszü vvoràði nyëlv spöket af magyar inva̋ðereknek leszármazottok Herefördshirben äppröxima̋tely 1250. 03:55:44 Relearned «middle worse» 03:56:02 I still can't read that. 03:56:13 excellent! 03:57:34 tswett: imagine hungarians inexplicably invading herefordshire some time before 1250 hth 03:57:50 Kokogadene. 03:58:48 tswett: google translate can't read that 03:58:56 although it thinks it's japanese 04:12:59 `le/rn middle worse/Mïðal VVőrszü vvoràði nyëlv spöket af magyar inva̋ðereknek leszármazottai Herefördshirben äppröxima̋tely 1250. 04:13:03 Relearned «middle worse» 04:22:12 -!- XorSwap has quit (Quit: Leaving). 04:24:13 Japanese is the most accurate guess as to what language that is. 04:24:25 I just realized that the term "Video Graphics Array" doesn't really make sense. 04:24:35 "Video graphics"? Isn't that what "video" means? 04:26:37 <\oren\> as opposed to text graphics 04:26:50 <\oren\> like the block and line charatcers 04:29:48 Yeah, but why not just "video array"? 04:29:55 Is it simply because that's too short? 04:30:01 (Which, mind, is a perfectly good reason.) 04:31:27 I guess to fit in with CGA and EGA 04:31:51 <\oren\> Maybe "video" refers to a greater refresh rate? 04:33:16 deltab: that makes sense. 04:33:30 What type of graphics does this thing provide? Text graphics? Nope, this thing provides video graphics. 04:35:39 -!- treaki_ has joined. 04:35:51 CGA and EGA were both 60 Hz 04:37:01 maybe the 256 color registers with 262,144-color global palette 04:37:51 @so !haskell (\s t->putStrLn(s ++ show s ++ show t ++ t))"@so !haskell (\\s t->putStrLn(s ++ show s ++ show t ++ t))""--"-- 04:37:51 .hs: 1: 1:Parse error: ! 04:39:35 -!- treaki__ has quit (Ping timeout: 244 seconds). 04:39:36 Now, the Game Boy has a CPU clock speed of 4.19 MHz, and a frame rate of 60 Hz. The screen size is 160 * 144. That means that the number of clock cycles per pixel-frame is... 04:39:45 > 4190000 / (60 * 160 * 144) 04:39:46 3.0309606481481484 04:39:57 About 3. That's not very many. 04:41:16 Does that mean that if you're, say, walking around a map, then a very large percentage of the CPU is spent simply updating the screen? 04:41:46 I don't think you'd have the CPU update each pixel separately 04:44:37 Hmm. Looks like it had something to do with tiles and sprites. 04:44:43 @list so 04:44:43 No module "so" loaded 04:44:47 @help so 04:44:47 help . Ask for help for . Try 'list' for all commands 04:45:08 Interesting how older computing technology is occasionally quite a bit more complicated than the newer stuff. 04:45:13 Like, the overall complexity has only increased. 04:45:38 But there are certain problems where the simple solution works nowadays, but wouldn't have worked back then, because of the computing resources required. 04:45:57 yeah 04:46:30 Like, what form does computer audio take nowadays? A big list of millions of numbers. 04:46:37 and some things are reversed: palette cycling was easy and cheap on systems using color register, but nowadays you'd have to update each pixel 04:47:32 What was it way back when? You'd have a few different synthesis things and some kind of code controlling them, I dunno. 04:47:39 people have done that in web browsers by changing the palette bytes in a PNG and redisplaying it 04:48:08 @so 04:48:08 Error: expected a Haskell expression or declaration 04:48:20 yep, various waveform generators: square, sawtooth, noise, sine if you were lucky 04:48:21 @soh 04:48:21 Maybe you meant: yow src show do 04:48:46 @so x >>= \a -> b 04:48:46 do { a <- x; b} 04:48:52 Yes if it is a indexed color PNG then you can easily do that 04:49:37 (With any program that can display PNG, including but not limited to web browsers) 04:50:20 you can, but to display it means the program has to decompress the whole image again, render it to a buffer, and copy the buffer into the screen buffer 04:50:46 changing color registers was just a few writes 04:50:59 hardware did the rest 04:51:06 Yes, even on Famicom you can change the colours by hardware 04:52:10 but that went when 16, 24, 32-bit color came along 04:52:18 @so fmap f a 04:52:19 fmap f a 04:52:35 @so fmap f . fmap g $ a 04:52:35 fmap f . fmap g $ a 04:58:45 the GameBoy had hardware scrolling, tiles, an overlay window, sprites, and four wave generators: http://fms.komkon.org/GameBoy/Tech/Software.html 05:00:18 -!- lambda-11235 has quit (Quit: Bye). 05:00:39 -!- lambda-11235 has joined. 05:07:36 The X window system does support having different depths and visuals and stuff and both read/write and read-only colormaps, decomposed and together; however which ones are supported depends on the X server in use (some might not support palettes, while on some others it might be read-only, too) 05:08:08 If computer hardware were made that supported all of these modes then the program could too 05:08:34 * deltab nods 05:42:37 -!- variable has joined. 05:46:40 -!- copumpkin has joined. 05:50:04 -!- contrapumpkin has quit (Ping timeout: 268 seconds). 05:52:31 -!- variable has quit (Quit: 1 found in /dev/zero). 05:56:49 -!- lynn has quit (*.net *.split). 05:56:49 -!- yorick has quit (*.net *.split). 05:56:50 -!- puckipedia has quit (*.net *.split). 06:02:47 -!- lynn has joined. 06:02:47 -!- yorick has joined. 06:02:47 -!- puckipedia has joined. 06:09:28 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 06:11:10 -!- hppavilion[1] has joined. 06:48:15 -!- ais523 has joined. 07:10:46 -!- lynn has quit (*.net *.split). 07:10:46 -!- yorick has quit (*.net *.split). 07:10:46 -!- puckipedia has quit (*.net *.split). 07:15:28 -!- diginet has quit (Quit: diginet has quit!). 07:17:18 -!- diginet has joined. 07:21:32 -!- lynn has joined. 07:21:32 -!- yorick has joined. 07:21:32 -!- puckipedia has joined. 07:28:27 -!- lambda-11235 has quit (Quit: Bye). 07:29:31 <\oren\> well, at least my whining to the unicode mailing list brought their attention to the fact that there's no standard machine readable documentation which lists all the characters in each "math variable alphabet" 07:30:16 <\oren\> instead it's only listed in the notes in the character list pdf. 07:31:37 Write one yourself if you need it, and publish them as public domain 07:33:34 <\oren\> that's sort of what I've done on my fontdemo page. 07:39:02 Sgeo_: yes, that looks like a strange restriction to me. 07:43:34 -!- oerjan has quit (Quit: Nite). 07:47:20 -!- lynn has quit (*.net *.split). 07:47:20 -!- yorick has quit (*.net *.split). 07:47:20 -!- puckipedia has quit (*.net *.split). 07:54:40 -!- lynn has joined. 07:54:41 -!- yorick has joined. 07:54:41 -!- puckipedia has joined. 08:51:13 -!- earendel has quit (Ping timeout: 244 seconds). 08:55:29 Quick 08:55:36 Somebody define high-phenated 08:59:57 -!- AnotherTest has joined. 09:02:33 -!- olsner has quit (Ping timeout: 240 seconds). 09:14:57 -!- olsner has joined. 09:23:09 hppavilion[1]: is it possible to get tswett's etymology bot to produce definitions too? 09:28:53 fungot: Define high-phenated. 09:28:53 fizzie: but that's only to be used so rarely? :p. ugh i need to do pages that look suitable for a srfi. 09:29:08 Apparently it's not worth defining, it's too rare. 09:38:58 `? phenate 09:39:11 phenate? ¯\(°​_o)/¯ 09:45:12 hppavilion[1]: If you're high-phenated, you are phenated on an elevated level, a level above the regular sort of phenation one gets at phenation clinics. If you're low-phenated, you've actually been deprived of phenation, probably also at a phenation clinic, though people do sometimes de-phenate themselves using various tools such as hammers and chainsaws. 09:45:37 fungot: What does "phenate" mean? 09:45:38 zgrep: this particular professor was very interested in another ancient concept called a newspaper, then maybe näppärä would be fingery" or something 09:45:46 o.o 09:45:53 Whoa 09:46:02 That started out coherent and a bit horrifying 09:46:13 fungot: Are you actually from the future? 09:46:13 fizzie: if you can hang around in the scheme world certainly seems hard. 09:46:41 I think I figured out how wormholes work 09:46:44 I'm guessing "ancient concept called a newspaper" is a verbatim quote. And "näppärä" is Finnish. 09:46:58 Ah 09:47:29 2007-11-06 04:58:06 you might be interested in another ancient concept called a newspaper, then 09:48:19 fungot: do you mean to imply that you're from the scheme world, but that world is now of the past only? 09:48:20 b_jonas: add another zero in there. the generally preferred method of development is not entry level developer 09:49:10 fungot: we're not supposed to get code written by replacable code monkeys? we've been doing this all wrong then! maybe that's why the application never seems to work. 09:49:10 b_jonas: it would be lumpy from the star wars trilogy are among my favorite movies, but the throughput doesn't grow equally. 09:49:32 fungot: is lumpy the ninth elf? 09:49:32 b_jonas: s/ at/ in/, though. 09:49:47 yeah 09:52:18 -!- mtve has quit (Quit: Terminated with extreme prejudice - dircproxy 1.2.0). 09:55:25 -!- lynn_ has joined. 09:56:01 -!- lynn has quit (Ping timeout: 240 seconds). 10:03:57 -!- lynn_ has quit (Ping timeout: 246 seconds). 10:08:52 fizzie, do you run zemhill? 10:09:27 Yes, if you can call it that. 10:09:44 (As in, I haven't touched it in a long while.) 10:10:08 Can you take a look at http://zem.fi/bfjoust/hill.git/ and see what's up with it? 10:10:38 All the objects are clearly there, but, master seems to be attached to an older commit for some reason 10:10:48 (When you clone it) 10:11:05 What's up is that I forgot to set up that post-update hook (for update-server-info) you need for the "dumb HTTP" serving mechanism to work right. 10:11:39 I was this close: || ... to actually doing that the other day, then got distracted by a shiny object. 10:11:45 Let's do that now. 10:13:15 Done. Also ran it once for good measure. Doing a pull now should work. 10:13:34 (Hopefully.) 10:13:52 opps 10:14:25 Is fixx 10:14:55 The shorter it takes to fix something, the longer I procrastinate with it. 10:15:27 fungot, help fizzie fix those hooks already 10:15:27 b_jonas: ( a real mathematical function!) from the sorting package) with modified structures. 10:15:53 Sounds like a game of Clue(do). 10:21:09 how do i skip a makefile rule if none of the targets has been modified? 10:21:36 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 10:21:41 makefiles are some dark magic i don't master 10:22:26 i mean if none of the dependencies 10:26:22 izabera: isn't that what make does normally? it skips those rules 10:27:18 then i'm using it wrong 10:27:52 headers: $(sources) 10:27:59 generate headers here ... 10:28:09 ^ want to skip it if none of the sources have been modified 10:29:22 izabera: does your rule actually touch the file called headers? 10:29:41 Make skips the rule if the dependencies have not been modified since headers was modified 10:29:52 it needs something to compare to 10:30:07 it doesn't touch them 10:31:19 -!- vodkode has joined. 10:31:21 https://arin.ga/XLDTei/raw looks like this 10:33:16 headers is executed every time 10:38:02 -!- lleu has joined. 10:41:14 izabera: then put the actual output filenames as target operands too, like headers: struct.h proto.h\nstruct.h proto.h: $(src)\n\tcd src & { \\\n... 10:41:41 otherwise Make has no way to guess when your headers are fresh enough 10:42:38 now i'm using headers: $(src) src/proto.h src/struct.h and make with no parameters executes headers 10:50:44 -!- ais523 has quit (Ping timeout: 260 seconds). 10:52:54 \o/ solved it 10:53:18 https://arin.ga/4lg1We/raw thanks for the help b_jonas 10:53:20 A phony target will always execute if named, since there's no output file(s) to compare the input file timestamps to. 10:54:03 now i unphonyed it 10:57:20 Sadly that's slightly wrong, in a way that's generally only problem for running it in parallel with -j. 10:57:47 A "foo bar: baz" rule doesn't say "use these commands to generate the files 'foo' and 'bar' from 'baz'". 10:58:10 Instead, it says: "use these commands to generate 'foo' from 'baz'" + "use these same commands to generate 'bar' from 'baz'". 10:59:15 In the serial case, it doesn't run twice, but that's only because after it's ran once, both outputs are fresh. 10:59:33 In parallel, though, it'll run the whole block of commands twice. 10:59:46 For details, see e.g. http://www.cmcrossroads.com/article/rules-multiple-outputs-gnu-make 11:05:00 -!- earendel has joined. 11:06:44 ok so i split that in two rules 11:06:47 should be ok, right? 11:14:57 -!- earendel2 has joined. 11:15:21 -!- earendel has quit (Ping timeout: 244 seconds). 11:18:49 That should be fine; the "one output per rule" case is simple, and you can actually generate the files separately. 11:19:17 (It's more of a problem if you have some funky external tool that makes you more than one file at once.) 11:21:16 i have to change the $(obj): $(src) thing as well, right? 11:22:09 -!- zadock has joined. 11:22:49 that was easy obj/%.o: src/%.c 11:23:01 no :( 11:23:05 doesn't work 11:24:51 yay fixed it 11:25:14 https://arin.ga/GsNbbd/raw 11:25:16 thank you guys 11:27:13 (make is an esoteric language) 11:39:11 -!- zadock has quit (Quit: Leaving). 11:39:43 -!- zadock has joined. 11:40:49 -!- zadock has quit (Remote host closed the connection). 11:45:18 -!- zadock has joined. 12:12:00 -!- jaboja has joined. 12:19:46 -!- zadock has quit (Quit: Leaving). 12:33:28 -!- sebbu has quit (Ping timeout: 264 seconds). 12:37:17 -!- sebbu has joined. 12:59:44 -!- yorick__ has joined. 13:01:37 -!- yorick has quit (Ping timeout: 240 seconds). 13:20:28 b_jonas: Most esolangs I've seen have more comprehensive docs than make 13:21:09 `addquote b_jonas: Most esolangs I've seen have more comprehensive docs than make 13:21:30 1272) b_jonas: Most esolangs I've seen have more comprehensive docs than make 14:01:36 -!- earendel2 has quit (Read error: Connection reset by peer). 14:02:32 -!- earendel has joined. 14:06:03 [wiki] [[Vitsy]] M https://esolangs.org/w/index.php?diff=46583&oldid=46581 * VTCAKAVSMoACE * (+5) Fixed dates. 14:43:33 -!- lambda-11235 has joined. 14:47:57 wow 14:48:14 do you recall that I said on this channel recently that I've never seen 7-zip crash? 14:48:20 it crashed now. 14:58:36 * int-e ponders adding "7-zip support" to the topic... nah. 15:22:56 Backtrace contains run > _actual_start > really_start. 15:23:15 Somewhat surprised there isn't no_honest_for_reals_now_start. 15:41:15 prepare_to_stop_starting_now 16:04:34 -!- J_Arcane has quit (Ping timeout: 240 seconds). 16:07:06 -!- jaboja64 has joined. 16:10:33 -!- jaboja has quit (Ping timeout: 240 seconds). 16:26:35 -!- spiette has joined. 16:41:19 -!- J_Arcane has joined. 17:04:39 b_jonas: Most esolangs I've seen have more comprehensive docs than make 17:05:08 Isn't this why stuff like scons or cmake got made 17:13:37 There's never enough build systems. 17:19:14 we should create an esoteric build system. like autotools 17:22:22 I'll bet Sgeo's already done it 17:23:03 If we do create one, I vote for måke as the name 17:23:54 At least more modern languages seem to have decided to standardize on sane ones. 17:24:03 sbt, gradle, cargo and such. 17:27:27 "info make" is actually reasonably comprehensive 17:28:28 -!- lynn has joined. 17:40:52 -!- FreeFull has quit (Quit: Rebooting). 17:42:51 -!- FreeFull has joined. 17:47:23 -!- mtve has joined. 17:51:34 Any recommendations for a good text-based adventure game? I'm looking for something new to do for a few days. 18:04:14 Well, I wrote interpreters for the Z-machine VM, so if the game you play is Zork then you can use that 18:16:51 I did read report of the game with AlphaGo, they say that both players made bad moves. But what computer hardware is AlphaGo running on? 18:17:44 It's a server farm. Last total I saw was something like 1200 cores and 400 GPUs or something crazy like that 18:18:07 At what clock speeds and what instruction set? 18:18:08 Sorry, 176 GPUs, as of October 2015 18:18:17 The details have not been released 18:18:36 And there's been no update to those totals since October, so it's probably more, now 18:33:48 -!- hppavilion[1] has joined. 18:47:25 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 18:58:04 -!- ais523 has joined. 19:20:43 game of life question: is "o2bo$bo$2bo$o!" orphan? sorry being really dumb friday evening. 19:22:40 Lymia: I've seen enough griping about Gradle to confidently say not everyone thinks it's all that sane. 19:23:01 I haven't used it before. 19:23:03 I assumed it was sane. 19:23:27 It was very easy to set up when I was doing Minecraft mods. 19:23:32 -!- lynn_ has joined. 19:23:34 But beyond that, it was entirely inscrutable 19:23:46 If something broke, I doubt I'd have been able to even try to fix it 19:23:56 And sbt managed to be unbeliavably resource-hungry when I was doing a Scala thing (as in, running out of few gigs of memory when doing a toy project), but that was pretty early on, so maybe it's better (or worse...) now. 19:24:26 sbt needs to compile Scala. 19:24:30 Which is... 19:24:43 I'm pretty sure scalac's responsible for the memory use, not sbt, anyway. 19:26:10 -!- lynn has quit (Ping timeout: 244 seconds). 19:28:47 -!- J_Arcane has quit (Ping timeout: 244 seconds). 19:33:23 mtve: Definitely looks that way, though I'm definitely not an expert 19:33:24 -!- vanila has joined. 19:35:12 most of wannabe breakthroughs appears to be simple bugs, so i guess i need to start catching it, finally. 19:35:30 -!- lynn_ has quit (Read error: Connection reset by peer). 19:35:49 When making a set of global variables to communicate with audio thread, exactly which of those variables should be volatile and which should not be? 19:38:15 -!- J_Arcane has joined. 19:40:45 [wiki] [[Syms]] N https://esolangs.org/w/index.php?oldid=46584 * 50.161.94.113 * (+7366) ..Why not.. 19:42:35 fizzie, I have 8 GB of memory, and haven't run out before, anyway. 19:42:51 When compiling large Scala projects. But... I might be missing something nasty. 19:42:59 It would not surprise me at all if it used excessive resouecs. 19:43:01 resources* 19:45:16 [wiki] [[Syms]] https://esolangs.org/w/index.php?diff=46585&oldid=46584 * 50.161.94.113 * (+0) /* Interpreter */ 19:48:36 -!- APic has quit (Ping timeout: 276 seconds). 19:51:00 [wiki] [[Syms]] https://esolangs.org/w/index.php?diff=46586&oldid=46585 * 50.161.94.113 * (-440) /* Interpreter */ 19:52:04 [wiki] [[Syms]] https://esolangs.org/w/index.php?diff=46587&oldid=46586 * 50.161.94.113 * (+2) /* Interpreter */ Yes, I should use the preview button. 19:54:58 -!- hppavilion[1] has joined. 20:07:10 "o2bo$bo$2bo$o2bo!" has 3 parents but "o2bo$bo$2bo$o!" has none, new GoE? what am i missing? 20:07:26 -!- lynn has joined. 20:10:31 how do you read an RLE pattern? other than copy-and-pasting it into Golly? 20:11:26 it's like "X..X\n.X..\n..X.\nX...\n" 20:13:19 so o means set, b means blank, and numbers are prefix pepeat counts? 20:13:24 with $ being newline, and ! being EOF? 20:13:39 or, hmm 20:13:43 seems so, i use golly indeed 20:13:49 that doesn't explain the "bo" which is the wrong length and appears to be centred 20:14:29 mtve, are you searching for parents with size (n+2)*(n+2)? 20:14:37 yep 20:14:40 A larger pattern can get smaller. 20:14:50 -!- XorSwap has joined. 20:15:48 mtve: what are the rules? produce that pattern in a 4×4 box after one step? or do we have to allow blank space around it? 20:16:49 you can use a SAT solver to do this 20:17:56 6x6 pattern surrounded by spaces produces 4x4 pattern in the center surrounded by spaces, yep, i'm using sat. i'm missing something obvious here. 20:18:11 mtve, post it on the forum? 20:18:45 i need to check everything first, it just could not be that simple. 20:18:48 o4b2o$bo3b2o$2bo$3bo$4bo$2o$2o! 20:18:59 mtve: that produces your pattern in the centre 4×4 after one step 20:19:25 nope. 20:20:12 err golly crashed and I put the blocks in the wrong place 20:20:22 when recreating it from memory 20:21:02 o3b2o$bo3bo$2bo$3bo$o3bo$2o! 20:21:04 mtve: there 20:21:16 uh, oh 20:21:25 http://www.ericweisstein.com/encyclopedias/life/GardenofEden.html 20:21:29 mtve, are you sure you have the right definition of garden of eden? 20:21:30 It is not known if a pattern which has a father pattern, but no grandfather pattern exists (Gardner 1983, p. 249). 20:21:37 what the hell? 20:21:44 take a garden of eden and go forward one step 20:22:16 vanila: you might be able to synthesize it from a different father 20:22:33 oh I see! 20:22:33 in the gardens in the article, most of the cells disappear after one cycle 20:22:35 thanks 20:22:36 vanula: yep, got trapped too. it means that one step can has many fathers 20:22:44 I get it now :D 20:23:13 mtve, I believe the definition of "garden of eden" might not care about the surrounding cells. 20:23:23 That is, the 4x4 pattern produced does not need to be surrounded by blank squares. 20:23:50 "Each Garden of Eden configuration contains at least one finite pattern (an assignment of states to a finite subset of the cells) that has no predecessor regardless of how the surrounding cells are filled." 20:23:54 https://en.wikipedia.org/wiki/Garden_of_Eden_(cellular_automaton) 20:25:16 i've red all wikis already, still don't get it 20:25:58 I would have to make a solver 20:26:17 Lymia, how does this compared with 'orphan'? 20:26:28 http://www.conwaylife.com/wiki/Garden_of_Eden#Orphans 20:26:57 Computer searches have revealed that there are no Gardens of Eden contained within a 6 × 6 bounding box.[3] 20:27:10 ais523: try one step of $4b2o$b2o$3b2o$3b2o$5b2o$2b2o4$3bobo$2bo3bo$bob2o$3b2obo$bo3bo$2bobo5$2bo$2bo3bo$3b2obo$bob2o$bo3bo$5bo! 20:28:06 is there a name for configurations with a predecessor, but no second order predecessor? 20:28:18 and... are any of such configurations known? 20:28:26 mtve, I believe the definition of a garden of eden is. 20:28:38 For example, if the bounding box is a 4x4 square 20:29:02 (iow, the configuration should not be a garden of eden, but all its predecessors should be) 20:29:02 There are no configurations of any size which produce that pattern in the bounding box, regardless of its surrounding squares 20:29:43 ah, so alive cells must touch bounding box, yes, could be 20:29:51 int-e, not sure if there's a name but there was a citation about it in the thing i linked 2 links ago 20:30:10 Lymia: thanks for hints! 20:30:55 vanila: oh thanks 20:31:31 -!- ais523 has quit (Ping timeout: 248 seconds). 20:31:46 int-e: Conway itself will give you $50 for it 20:33:33 -!- lynn has quit (Ping timeout: 240 seconds). 20:34:07 hmmm itself 20:34:18 int-e: http://www.conwaylife.com/wiki/Lifeline_Volume_6, see The Grandfather Problem 20:34:51 mtve, under which rules. 20:34:52 X...XX\n.X...X\n..X...\n...X..\nX...X.\nXX.... 20:34:55 This is a parent to that pattern. 20:35:26 Hah. "Your obvious ideas are most likely wrong." 20:36:00 Lymia: yes indeed. 20:36:40 many thanks to everybody's time 20:37:54 -!- ais523 has joined. 20:38:20 mtve: 10bobo$8bo5bo$9b5o$7bob5obo$9b5o$5bo3b5obo$6bo3b4o$3bo3bo6bo$bo6bo3bo$ 2b4o3bo$ob5o$2b5o$ob5obo$2b5o$bo5bo$3bobo! 20:38:48 produces your pattern in an otherwise blank playfield after one tick 20:39:14 wow, it was great 20:40:08 alternating quantifiers are so difficult 20:40:39 the block generators are really large in order to be able to get rid of them in one tick without interfering with any of the other parts of the pattern 20:40:45 err, bit, not block 20:43:34 Lymia: so no, as ais523 pointed, orphan==GoE 20:43:51 -!- p34k has joined. 20:44:09 ais523: many thanks, now i've nailed error in my model. 20:45:32 mtve: the orphan is the minimal part of a GoE that makes it a GoE 20:45:43 and a GoE is any pattern that include an orphan somewhere 20:46:03 got it 20:51:13 How about an algebraic language based on order theory rather than operations? 20:51:25 Or an ordered field language? 20:59:07 What does that mean? :v 20:59:31 prooftechnique: The programs form an ordered field 20:59:36 Hyperfield, no less 20:59:50 while trying to figure out what was causing my kernel panics earlier today, I realised I was using an HP Pavilion right now 20:59:59 Awesome 21:00:00 whereas hppavilion[1] isn't 21:00:10 -!- lynn has joined. 21:00:18 this is possibly going to cause some sort of very small rift in the space-time continuum? 21:00:26 (A hyperfield has succ, pred, add, sub, mul, div, exp, root, log, tet, sroot, slog, etc.) 21:00:54 * hppavilion[1] looks out the window 21:00:54 OH MY GOD PONIES 21:01:05 (My sister is watching my little pony next to me) 21:01:18 I'm trying to remember how to define anticons 21:01:19 I think I saw a pony in person today 21:01:36 went for a walk in the countryside 21:02:07 and instead of usual animals like cows and sheep, the fields were providing something different 21:02:23 first one containing animals had ponies, next one had oxen (I think; could have been bulls but the horns were the wrong shape) 21:02:38 then the next one had geese; not sure if they lived there, the fence certainly wasn't keeping them in 21:02:44 then the one after that had chickens 21:03:01 and only one more field had an animal in (not counting obviously wild birds in small numbers), and it was a cat 21:03:11 again, who presumably didn't live there 21:04:30 @src (++) 21:04:31 [] ++ ys = ys 21:04:31 (x:xs) ++ ys = x : (xs ++ ys) 21:04:31 -- OR 21:04:31 xs ++ ys = foldr (:) ys xs 21:12:56 ais523: aren't bulls and ox the same thing, except ox are castrated? 21:13:03 *oxen 21:13:09 not sure 21:13:12 nortti: you're thinking steers 21:13:16 oxen are a different species 21:13:17 I'm not very good at recognising unusual farm animals 21:13:29 also there's an emu farm nearish to where I live, but you can't see the emus from the road 21:14:19 Is it possible to make xterm to change the mouse cursor icon based on whether or not the program has requested to receive mouse inputs? 21:14:21 not 100% sure why the farmers there decided to farm emus, but they did 21:14:53 zzo38: xterm does know whether the program requested mouse inputs, so that seems like a patch that's possible to write without major changes 21:17:53 It seem would therefore be more easily to tell the mouse mode of the program when using the mouse then. 21:18:28 I do have the xterm source codes on my computer (since I needed a newer version of xterm than was included in the package manager) 21:18:48 pointerMode... so yeah it definitely knows. 21:20:27 it sounds like a useful addition to me as well 21:20:59 -!- lynn_ has joined. 21:23:39 -!- lynn has quit (Ping timeout: 246 seconds). 21:26:01 -!- spiette has quit (Ping timeout: 240 seconds). 21:26:11 I think someone should make Kitten, as seen in the topic 21:27:46 I'll take a crack at it 21:31:06 -!- yorick has joined. 21:32:45 -!- yorick__ has quit (Ping timeout: 244 seconds). 21:35:52 -!- yorick has quit (Ping timeout: 244 seconds). 21:36:11 -!- XorSwap has quit (Read error: Connection reset by peer). 21:36:42 -!- yorick has joined. 21:36:42 -!- yorick has quit (Changing host). 21:36:42 -!- yorick has joined. 21:39:58 `? ligature 21:40:15 oh lag. 21:40:18 ligature? ¯\(°​_o)/¯ 21:42:53 hrm 21:42:55 ais523, so. 21:43:12 I'm writing a program to collect every BFJoust program ever on the zemhill and EgoBot hills. 21:43:26 Lymia: via looking at repo history, presumably? 21:43:29 Yeah. 21:43:49 note that they work a bit differently: EgoBot doesn't save a program that's submitted into last place, zemhill does for one generation 21:43:58 You think it'd be interesting to put the results of that on the BFJoust page? 21:44:06 that said, if a program is submitted into last, there's at least a decent chance it's completely meaningless 21:44:30 !bfjoust meaningless HQ+99++ 21:44:32 ​Score for ais523_meaningless: 6.2 21:44:37 eh 21:44:43 I can't do anything about it. 21:44:46 If it's not tehre 21:44:47 a /lot/ of bad programs have been submitted 21:44:48 there* 21:44:50 ... well, I can 21:44:59 I can search my IRC logs. 21:45:01 (not to mention that nop.bfjoust used to actually get onto the hill on occasion) 21:45:03 But I have gaps 21:45:16 also, in the very very early days of egojoust 21:45:21 the hill was upside-down by mistake 21:45:26 it rewarded more losses rather than more wins 21:45:36 (surprisingly enough, one of the bots from the Stack Overflow hill seems to be surviving on zemhill ) 21:45:40 we didn't notice right away (although we did notice pretty quickly) 21:45:46 Lymia: which one is that? 21:46:31 http://zem.fi/git/?p=hill;a=blob;f=StackOverflow.Sp3000_ParanoidBot.bfjoust;hb=5dd28bafd2a08864e3639e0d3163645ed6bcbfe8 21:46:46 Seems pretty similar to some stuff I've seen on the main hill 21:46:54 the hill was upside-down by mistake 21:46:54 it rewarded more losses rather than more wins 21:46:56 uhm 21:46:57 So. 21:47:01 The best program is "<" 21:47:03 no contest. 21:47:10 yes 21:47:19 eventually someone submitted that when they realised what was going on 21:47:33 Another enhancement for xterm would be a UTCE version (which would be able to use the DEC Technical character set, as well as simplify a lot of the other codes involved in xterm) 21:47:39 incidentally, "zero your own flag first but stay on the tape" rules are not 100% trivial, although they're probably pretty trivial 21:47:49 zzo38: DEC Technical is a different set from the line-drawing one, right? 21:47:54 that basically nobody supports? 21:48:23 Hrm. 21:48:25 Idea for a variant. 21:48:33 How'd BFJoust work out on a cyclic tape? 21:48:56 ais523: Yes, it is different from the VT100 character graphics set (which is fully compatible with Unicode, and is also compatible with many non-Unicode X fonts) 21:49:17 Depending on the circumstance 21:49:22 You might even get tricked into clearing your own flag. 21:49:27 Lymia: assuming you can't trivially just reach the enemy's flag with < ? 21:49:34 Yeah 21:49:50 it's not that different, probably a bit more complex 21:49:52 Flag [1-8 cells] Flag [1-8 cells] [loop] 21:49:55 Something like that. 21:50:03 With parity for +- and >< 21:50:53 Do you know what file and where in the file I would have to look to modify xterm to change the mouse pointer? 21:51:00 (256 configurations. \o/) 21:51:06 zzo38: no 21:51:23 Lymia: fwiw, the minimum tape length of 10 rather than 2 was intentional 21:51:30 to guarantee you could get some safe decoys 21:52:04 maximum of 30 was chosen to guarantee a chance of decoy overlap (higher maximum means you can't make as many assumptions about the minimum) and to ensure that you could get over to the enemy's flag in the middle of a lock loop and back again 21:52:10 I'd like it so that the minimum tape length is less than the minimum length between flags. 21:52:21 The danger if you go past the flag here isn't that you lose. 21:52:36 It's that you loop all the way back and clear your own flag. 21:53:39 10 and 30 make it so that cell 20 might be the opponent's flag or your own 21:54:28 Tape length 10 would have the flags at most 5 cells apart though. 21:54:34 -!- mihow has joined. 21:56:54 -!- hppavilion[2] has joined. 21:57:35 Lymia: I was thinking more in terms of an 8-28 sized gap 21:57:56 halving it to 4-14 wouldn't change the fundamentals of attack programs 21:58:08 but you could set fewer decoys, which would make the crazy programs less crazy and I wouldn't really want that :-( 21:58:24 There's also the bidirectional aspect. 21:58:28 Which makes defense that much harder 21:58:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 21:58:36 You can't tripwire both < and > 21:58:40 Not easily, anyway 21:58:49 So I guess it'd be attack biased in the first place 21:58:53 you can reverse tripwire it 21:58:58 but yes, you'd have to set decoys both sides 21:59:28 I think you'd want parity on < and > too. 21:59:51 it'd probably be possible to detect which direction the opponent was clearing in and then focus on it 21:59:57 <>-direction, that is 22:00:08 unlike +- direction that's quite expensive to change 22:00:58 zzo38: oh it looks like the logic for the pointer is all over the place. xtermDisplayCursor() in misc.c actually changes the pointer, but there are many calls to that function. 22:01:32 s/pointer/pointer shape (X11 term: Cursor) 22:07:55 the chances of xterm's code not being hellishly crufty by this point are pretty low 22:08:02 xterm has the dubious distinction of predating X 22:08:29 (i.e. the graphics environment it's most closely associated with) 22:11:00 I know that xterm actually predates X 22:12:15 I don't know if writing a new one might be better or not 22:14:33 -!- dos has joined. 22:15:06 huh 22:15:23 nyuroki and growth2 clearly have a massive lead in points on zemhill 22:16:02 But margin3 somehow gets +5 ranks out of the markov scoring 22:17:37 hellymia 22:17:46 meow 22:17:51 is it bfjoust days again? 22:18:03 -!- hppavilion[2] has quit (Ping timeout: 240 seconds). 22:18:41 Maybe 22:20:00 I would like to see a game where you get to mess with the basic equations of life as you play... 22:20:02 Whoops 22:20:09 -!- dos has changed nick to hppavilion[1]. 22:21:20 Interesting 22:21:28 I don't see many category-theoretical imperative languages. 22:22:32 Suddenly, E=MC^19 22:24:14 Whose decision was it to decide what to put into the standard X cursor font? Is there any explanation as to why some of them (such as gumby and rtl_logo) are there? 22:24:59 G=-6.674 * 10^-11 22:25:03 RIP universe. 22:25:12 -!- lynn_ has changed nick to lynn. 22:25:41 zzo38: I remember looking through those a while ago 22:26:28 Most of them look slapped together in about fifteen seconds, so 22:27:00 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:27:39 XC_kitchensink 22:27:42 I have heard the suggestion that "XC_trek" could be used to indicate "warp speed" 22:27:44 "trek" is very dorky too. Oh, oh, and "star"! 22:27:50 Only thing missng. 22:28:03 The "i" in "missing" is also missing 22:28:44 * Lymia sharpens her cleaver 22:29:07 https://camo.githubusercontent.com/f66eff40ca06a6d1e519ded2853e9b1acdaa048c/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3438313931302f37353836372f62373838663662342d363064392d313165322d386132322d6266363932643465616234642e676966 22:29:09 what's that talk about missing eyes... 22:29:24 So a 3-state binary turing machine is enough to be TC, correct? 22:29:30 Uh that link is about ffffifty times longer than I expected it to be 22:30:49 If that's so, how does that not mean there are only 43046721 (3^16 (3^4^2, as it's binary and every state can connect to one of 4 other states for each symbol)) possible computations? 22:31:09 I am making a set of additional cursor shapes (to supplement the standard ones), so possibly XC_kitchensink could be added on??? 22:31:49 I need a coffee_mug with ᗡAᗡ on it 22:32:32 Yes, maybe you can make one so that it looks like that one 22:32:36 I can understand these as icons 22:32:38 But not as cursors 22:34:31 These are my extra cursor shapes http://sprunge.us/WOaJ I intend to eventually go up to 127 22:37:35 hppavilion[1], the tape is still infinite, no? 22:37:46 You could store a program on the tape. 22:37:59 That one of those 3^16 computations executes. 22:39:23 If you think one is missing then you can tell me that too I suppose, or draw your own and see if it should be included or not 22:39:45 oh, ais523 is the expert on that 2,3 turing machine thing... I hadn't realized. 22:39:50 -!- ais523 has changed nick to callforjudgement. 22:40:00 -!- callforjudgement has changed nick to ais523. 22:40:13 OK, at least that's a reasonably straightforward typo 22:40:17 go to hit #esoteric to see what the ping's about 22:40:23 hit the nick box instead, which is right above it 22:40:35 zzo38, XC_kitchen_sink. As a joke, doh. 22:40:54 Lymia: Yes you did tell me that one already, it may be added on 22:41:25 hppavilion[1]: basically, the input is infinitely long (in my construction; unbounded input would do to explain the situation though) 22:41:32 Or XC_and_a_kitchen_sink 22:41:41 As 255 22:42:00 which means that you can encode arbitrarily many different computations in the input 22:42:06 Yes that may be the other idea I suppose 22:42:21 there's no "distance of information propagation" limit in Turing machines in general or in this one in particular 22:42:49 there is a limit to how much information you can store in a given length of tape, obviously, but you just use longer and longer sections of the tape as the calculation goes on 22:44:41 People often talk about minimalist computers (e.g. Turing, Minsky, Kolmogorov) 22:44:47 Never heard of a "Minimalist OS" though 22:44:53 Amazing Elm docs for divide : Rational -> Rational -> Rational from a Ratio package I found: 22:44:57 Division. It's sort of like multiplication! 22:46:46 it's funny because it's true. 22:47:11 I would like to see an OS written for a ~slightly-~extended TM 22:49:27 There are Forth-based operating systems, and I would want to have a simple Forth-based operating system for portable computer that also does SSH with Plan9 forwarding and one-time-pad encryption 22:50:03 Do you know how to draw the kitchen sink icon? 22:50:20 Hex (09A-F) alphabet, two unbounded integer registers 22:50:32 int-e: Yesss. So true, but so useless. 22:51:25 Or maybe 16, not sure yet 22:51:43 When dealing with fractions, yes it is also multiplication similar to division too 22:51:47 hppavilion[1]: Forth OS is pretty minimalist 22:51:54 oh, zzo38 said that already 22:51:54 -!- Treio has joined. 22:52:00 ais523: I mean one that runs on a minimalist machine 22:52:11 Hrm 22:52:15 it's more a category of OSes than anything else, though, it's /so/ minimal that you end up writing your own code to fill in the gaps, so different ones end up different 22:52:19 hppavilion[1]: ah right 22:52:20 You'd be implying a contour. 22:52:35 implementing processes in esolangs often isn't too hard 22:52:41 with round-robin preemption 22:52:42 Every node can have a small ASM program (lencapped at somewhere from 1 to 8 instructions) that manipulates the state 22:53:07 ais523: I assume it's impossible to write a low-level OS in Haskell. Am I correct? 22:53:35 hppavilion[1]: probably not, one of the general rules with Haskell is that you can do hyperefficient things if you /really/ want to 22:53:42 but the program you write will no longer look anything like Haskell 22:53:48 Ah 22:54:25 Instructions for the minos machine can do things like move you on the tape (absolutely or relatively), input and output data (somehow), etc. 22:55:55 Oh. 22:56:00 Or a kitchen sink in profile 22:56:02 That'd be easy 22:58:55 https://paste.lymia.moe/lymia/83f4b00cbc70758214339acfb813abade1b849aa.png 22:58:58 Possibly something like this. 22:59:31 Here's an idea for a somewhat funny educational document 22:59:57 A fake catalog advertising abstract machines as if they were real devices to buy and use 23:04:50 -!- Treio has quit (Quit: Leaving). 23:05:41 -!- ais523 has quit. 23:22:17 https://xkcd.com/1002/ 23:22:29 Arimaa and Go are being solved before Poker? 23:22:34 https://mjg59.dreamwidth.org/40505.html ... when will we see pirate blinkenlights installations? 23:24:28 -!- oerjan has joined. 23:28:12 "and the outcome of sending a constant stream of "Set room lights to full" and "Open curtain" commands at 3AM seems fairly predictable." 23:28:37 One way to get them to start doing meaningful security. 23:30:38 -!- mbrcknl has quit (Write error: Connection reset by peer). 23:33:33 !bfjoust die < 23:33:35 ​Score for Lymia_die: 0.0 23:43:25 -!- mbrcknl has joined. 23:45:57 Sgeo_: what does solving Poker really mean... https://en.wikipedia.org/wiki/Cepheus_%28poker_bot%29 is close to optimal (in the game theory sense) strategy in the two-player version of Texas hold'em, but it doesn't do any opponent modeling or exploitation of weaknesses. 23:47:09 see also https://en.wikipedia.org/wiki/Computer_poker_players which lists some other interesting programs... 23:49:13 and adding players makes this problem harder (and subject to collusion, hmm) 23:50:50 wo 23:50:51 wow* 23:50:58 Switching my version gatherer to use git-hg instead of hg directly 23:51:16 Speeds up the version gathering to ~1-3 minutes rather than >10 minutes. :/ 23:53:47 what kind of versions are you gathering? 23:59:22 bfjoust programs 23:59:30 Looking through the whole revision history 2016-03-12: 00:02:14 -!- jaboja64 has quit (Remote host closed the connection). 00:06:33 With game such as chess and Go and so on it would be theoretically possible that a sufficiently powerful computer should solve the game and always win, but with some games such case is more unclear, and in the case of Snakes&Ladders, nobody can make any decision to have any kind of advantage (although a calculation may be possible to determine how much advantage the first player has) 00:08:31 `quote 1272 00:08:41 1272) b_jonas: Most esolangs I've seen have more comprehensive docs than make 00:09:28 `` sed -i '1272s/^/ (make is an esoteric language) /' quotes 00:09:36 No output. 00:09:39 `quote 1272 00:09:41 1272) (make is an esoteric language) b_jonas: Most esolangs I've seen have more comprehensive docs than make 00:10:41 Is make GNU make? I find info documentation quite useful and indeed comprehensive... 00:11:03 i dunno 00:11:13 maybe he mispled comprehensible 00:11:16 We need to simulate a universe. 00:11:24 maybe. 00:11:34 prooftechnique: any opinions? 00:11:38 hppavilion[1]: we're already doing that hth 00:11:46 you just happen to be inside 00:12:01 unfortunately, we didn't leave enough resources to recurse. 00:12:02 so, i have this data Foo = A | B | C deriving (Eq, Show) and i need to make something optional 00:12:38 right now i am soing data Bar = Optional Foo (Foo -> Bool) | Forced Foo 00:12:40 Nigh-Impossible Challenge: Computer that can play Nomic 00:12:48 hppavilion[1]: also your schemes seem to be escalating in a singularity 00:12:51 because the optional wouöd breal both eq and show 00:12:57 would break 00:13:07 oerjan: is there any recourse in that situation? (there must be a better way to use this pun...) 00:13:24 is there a way to not use that "Forced" constrictor wi 00:13:35 without breaking eq/show? 00:13:49 oerjan: So, what the fuck. 00:13:56 What is the purpose of quantum physics? 00:14:06 Seriously. 00:14:15 hppavilion[1]: create a black hole before the world ends 00:14:20 Not even #esoteric justifies quantum physics. 00:14:21 hppavilion[1]: it's part of how that simulation saves resources hth 00:15:13 Today's xkcd is deeply disturbing 00:15:31 why? 00:15:44 hppavilion[1]: the last line reminded me of the "twitch installs arch linux" episode 00:18:31 (what happened: some botnet took control, downloaded a Gentoo iso image, wrote it to /dev/sda and booted it... end of story) 00:19:09 same way docker wants to be installed 00:19:14 and because even with the bots it was hard to type long commands, they put the commands into a pastebin, then executed them 00:19:24 right 00:20:32 oh and they ran the job in the background... because the first attempts were interrupted by ^C :-) ) 00:23:52 hmm, stupid cloudflare. "Install and run [email protected]!" <-- I suspect this is SETI@home 00:24:58 (source: http://twitchintheshell.com/ ... I have javascript disabled) 00:25:37 @tell prooftechnique If we do create one, I vote for måke as the name <-- only shachaf can make that one hth 00:25:37 Consider it noted. 00:26:29 oerjan: help 00:27:07 shachaf: http://codu.org/logs/log/_esoteric/2016-03-11#172303prooftechnique 00:27:21 am i missing a pun 00:27:23 yes 00:27:48 what is it 00:27:57 * shachaf prepares to be antiswatted 00:29:02 what's going on tdnh hth 00:29:11 did i mention that i've been awake since 5 00:29:15 scow 00:30:40 http://www.muppetlabs.com/~breadbox/sketch/ 00:30:43 shachaf: i recommend google translate 00:30:57 oh 00:32:15 Can we make a page for GNU Make? 00:32:20 Or whatever the first version is 00:32:32 -!- APic has joined. 00:35:23 * oerjan antiswats shachaf. -----### a giant explosion occurs. 00:36:08 * int-e likes supernovae 00:38:12 oh I guess this was just an antimatter swatter 00:38:28 mostly harmless 00:42:34 what's the pun in måke again? 00:43:31 @ask boily what does it mean to "expand int-e"? 00:43:31 Consider it noted. 00:44:04 olsner: he meant the wisdom entry 00:44:37 apparently boily's afraid of mixing languages. 00:45:12 `? int-e 00:45:16 int-e är inte svensk. 00:45:39 `? boily 00:45:40 ​"Only sane man" boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. He is also a renowned Capitalist. 00:46:51 Gregor Gregor Gregor 00:46:51 bot seems to be dead/not-here 00:46:51 it's here, but resting? 00:47:23 fungot: what about you? 00:47:23 int-e: os 9? that's, um, ' elucidating'? don't you find this amusing. who needs a desktop when you have 52 different fnord competing for the same thing. 00:47:25 @botsnack 00:47:25 :) 00:47:36 ... uh. 00:47:45 @botsmack 00:47:45 :) 00:48:45 -!- Sgeo has joined. 00:49:03 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 00:50:59 what's the pun in måke again? <-- you need to translate to hebrew hth 00:51:41 nap time goodbye resting sleep mode activated... 00:54:41 oerjan: oh, it's a norwegian/hebrew/#esoteric/make pun 00:55:54 fizzie, your chainlance repo is a mess. :( 01:04:13 I'm aware of that. 01:04:13 -!- XorSwap has joined. 01:05:23 (Anything in particular?) 01:06:48 like 01:06:49 everything 01:07:16 So, uhm 01:07:21 As I understand it 01:07:26 The web part needs Ruby? 01:07:43 Yes, but why would anyone be interested in the web part? It's horrible. 01:08:16 The visualization. 01:08:55 -!- Lilly_Goodman has joined. 01:09:40 Surely this can be rewritten into static HTML 01:09:58 I'm not sure what exactly you mean. 01:10:15 http://zem.fi/bfjoust/vis/ 01:10:16 This part. 01:10:23 Statically rendered into .html files with no dependency on Ruby 01:10:48 Well, everything else than the json data files, sure. 01:11:12 But I wasn't expecing anyone else to want to take the website, so I didn't feel any reason not to try out this nanoc thing. 01:11:46 I need some kind of visualizer. :P 01:11:54 And there's a perfect good one right there. 01:12:42 Well. In theory, you can just take the "prerendered" one from the web, and replace the json files to change the contents. 01:12:54 I don't think there's anything dynamic baked in the generated HTML. 01:13:41 Also that's not "perfectly good", it's very incomplete (if a lot flashier) compared to the old egostats stuff. 01:14:17 hello my friends, how are you? 01:14:25 What's it missing? 01:14:51 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 01:15:11 Oh 01:15:12 Just some analysis 01:15:17 Well, I suppose I can work on fixing that. 01:15:32 All the clustering stuff, at least. 01:15:50 Those used to be kind of interesting. 01:15:55 hello my friends, how are you? you do? 01:16:27 Lilly_Goodman 01:17:42 `bienvenido Lilly_Goodman 01:17:45 Lilly_Goodman: ¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/. (Para el otro tipo de esoterismo, prueba #esoteric en EFnet o DALnet.) 01:18:15 Maybe I'll work on it myself. :P 01:18:19 And PR at you 01:19:47 -!- hppavilion[1] has joined. 01:21:13 oh i had an idea the other day why so many people with canaima find their way here, and that maybe it's not really a mistake in their channel list after all 01:22:47 basically, if canaima presents channels in a long alphabetical menu, then it's quite likely that #esoteric is, entirely naturally, the last entry just before the #espana / #espanol ones... 01:23:34 so it could just people searching for the latter, and then seeing us just above the first search hit 01:23:37 *just be 01:28:05 Hello oerjan you do? 01:28:26 Lilly_Goodman: i wonder how you found us 01:28:35 many people with canaima do, somehow 01:28:53 even if we are not a spanish chat 01:29:11 also, i'm waiting for the big Go game 01:29:15 mmm 01:30:31 Hrm 01:30:42 even if i don't understand Go much either, but some here do 01:30:42 !ztest nop . 01:30:43 Lymia.nop: points -32.14, score 2.98, rank 47/47 01:31:10 !ztest parityscan (>)*9 ([(.)*-1]>>)*-1 01:31:10 Lymia.parityscan: points -34.00, score 2.25, rank 47/47 01:31:30 Not bad. 01:31:35 !ztest parityscan (>)*8 ([(.)*-1]>>)*-1 01:31:35 Lymia.parityscan: points -34.14, score 2.28, rank 47/47 01:31:55 ~2 point loss... 01:32:02 In exchange for a super-fast poke 01:32:03 hrm 01:32:10 !ztest parityscan (>)*4 (+)*10 (>)*4 ([(.)*-1]>>)*-1 01:32:11 Lymia.parityscan: points -36.67, score 1.55, rank 47/47 01:32:24 !ztest nop (>)*4 (+)*10 (>)*4 01:32:24 Lymia.nop: points -33.90, score 2.33, rank 47/47 01:32:29 * oerjan wonders if the game has been mentioned outside nerd forums, he tried the two top norwegian newspaper web pages yesterday and it wasn't mentioned on their front pages 01:33:00 * oerjan checks bbc news 01:33:22 oerjan: Damn you! 01:34:39 oerjan: Oh, you were talking about Go 01:34:41 Damn me! 01:35:23 hppavilion[1]: as i said the other day, "the only way to win the Game is not to care" hth 01:35:31 (paraphrased) 01:35:46 which perhaps some nerds find unreasonably hard 01:35:52 -!- Lilly_Goodman has quit (Ping timeout: 260 seconds). 01:36:45 it's really a nerd sniping game, isn't it 01:37:02 oerjan: Fair enough 01:37:30 nothing on front page, checking tech... 01:37:59 oerjan: It'll probably be some bullshit about AI 01:38:03 ah there it is 01:38:29 In Magic: the Gathering a lot more situations are possible, including the only way to win the game is to concede!!! 01:38:38 i expect slightly better than average from bbc 01:39:04 zzo38: Any ideas for GUTs for an esoverse off the top of your head? 01:39:51 hppavilion[1]: No 01:40:45 zzo38: How about off the bottom? Heads work like a deque, remember 01:40:55 'On Thursday, the Korea Times reported that locals had started calling AlphaGo "AI sabum" - or "master AI".' 01:41:20 Not that either 01:41:27 Damn 01:48:54 -!- p34k has quit. 01:50:33 -!- Lilly_Goodman has joined. 01:52:50 zzo38, ooh, details? (On conceding to win_ 01:52:51 ) 01:53:37 -!- vanila has quit (Quit: Leaving). 01:53:46 -!- XorSwap has quit (Ping timeout: 252 seconds). 01:54:22 Sgeo: http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.5 01:55:37 hola 01:55:38 hello 01:55:58 Oh, so you're on a team with someone else, and [I didn't actually read the cards] there's a situation where conceding prevents you from having to do something that hurts a teammate? 01:56:04 `welcome Lilly_Goodman 01:56:10 Lilly_Goodman: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 01:56:55 Sgeo: Well, look for the text of the relevant cards (they aren't many), and see if it is of help to you 01:58:48 Sgeo and HackEgo thanks of the welcome 02:03:28 -!- XorSwap has joined. 02:12:41 :'( 02:14:07 oerjan: The "Finnish BBC" (Yle) had an article. 02:14:48 I think this has been copyedited to be broken, possibly while updating it. 02:15:15 Lilly_Goodman: this channel is sometimes silent 02:15:35 next game in 1:15 hours https://www.youtube.com/watch?v=qUAmTYHEyM8 02:15:45 There's a sentence that says (translated): "Alpha Go's advantage is that it never tires or gets worried, Hassabis." 02:15:57 I think it's supposed to be "-- Hassabis said/says". 02:16:20 Everyone keeps repeating the number-of-atoms-in-the-universe thing. 02:16:40 Hassabisilla 02:17:06 fizzie: humans are bad with exponential growth mkay 02:18:04 :-( no please 02:18:13 oerjan: Hassabis is the second, improved version of Hassa. (Compare the V.32, V.32bis modem standards.) 02:18:29 ah. 02:19:55 Even in the game of Pokemon card, a deck consisting of 1x Bulbasaur [Lv15] and 59 basic energy cards is guaranteed to win against a deck consisting of 1x Mewtwo [Lv53] and 59 basic energy cards. 02:20:51 (Even though the first deck in general is pretty bad, and in most cases the second deck is better.) 02:22:37 -!- Lilly_Goodman has quit (Ping timeout: 244 seconds). 02:23:10 (An alternative to Bulbasaur [Lv.15] would be Weedle [Lv.15] and that works too.) 02:30:05 -!- lynn has quit (Read error: Connection reset by peer). 02:35:02 -!- Lilly_Goodman has joined. 02:37:45 :'( 02:47:46 Lilly_Goodman: Yes? 02:48:30 *chirp* 02:49:18 hppavilion[1]: :-/? 02:50:39 * hppavilion[1] calls an exterminator to eliminate our cricket problem 02:50:47 Seriously, there should not be crickets indoors. 02:50:56 they're not indoors 02:51:08 it's just so silent we can hear through the walls 02:53:42 :'( 02:55:07 oerjan: Why are there no functional-logic languages that can run on bare metal? xD 02:55:18 (Because THAT would be practical, of course) 03:12:08 -!- mihow has quit (Quit: mihow). 03:12:21 I speak Spanish and English as I do not understand because I feel lonely and I do not have friends 03:17:23 -!- Lilly_Goodman has quit (Ping timeout: 248 seconds). 03:23:10 That was interesting. 03:23:29 -!- Lilly_Goodman has joined. 03:23:55 hola 03:25:13 I speak Spanish and English as I do not understand because I feel lonely and I do not have friends 03:33:05 -!- XorSwap has quit (Quit: Leaving). 03:37:09 i left the youtube channel open so i'd hear when it started but now they've got this annoying waiting music 03:38:44 which ruins the whole point 03:39:03 because i have to turn it off 03:44:11 what? 03:44:25 oh now it'll start 03:44:38 Lilly_Goodman: https://www.youtube.com/watch?v=qUAmTYHEyM8 the go match 03:45:13 man vs. machine 03:45:21 It has begun 03:45:24 a ok 03:45:26 :-( 03:46:25 Lilly_Goodman: most of us here are geeks, when we talk we talk about geeky stuff 03:49:12 I speak spanish... 03:49:43 most of us here do not speak spanish 03:51:06 I no entiendo English 03:53:56 :'( 03:54:06 Lilly_Goodman: Would you happen to be Venezuelan? If so, you've got the wrong channel 03:56:04 In Venezuela speak spanish, no Engish 03:56:19 hppavilion[1]: In Venezuela speak spanish, no Engish 03:56:23 Lilly_Goodman: I saw 03:56:32 Lilly_Goodman: Um, let me try google translate 03:57:48 Lilly_Goodman: Este es un canal de programación informática para surrealistas, básicamente. Si estabas buscando algún otro tipo de elementos esotéricos, recomiendo probar #esoteric en DALnet. 03:57:54 hppavilion[1]: no entiendo ney 03:58:27 hppavilion[1]: we have a spanish translation already, you know 03:58:32 `bienvenido 03:58:40 ​¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/. (Para el otro tipo de esoterismo, prueba #esoteric en EFnet o DALnet.) 03:58:43 oerjan: I know, but I couldn't remember the command xD 03:59:00 Perhaps we need `welcome_spanish? 03:59:19 HackEgo: donde hablan español?? 03:59:28 Hackego is a bot 03:59:32 hppavilion[1]: donde hablan español 03:59:35 Lilly_Goodman: lo que no entiendes? 03:59:39 Lilly_Goodman: No 03:59:48 Lilly_Goodman: https://translate.google.com 04:00:12 I've got to hand it to them on one point 04:00:15 they've been prompt every time 04:00:48 hppavilion[1]: y nadie habla español en esta pagina? 04:01:12 Lilly_Goodman: Si 04:01:17 (only spanish I know) 04:02:00 hppavilion[1]: y si yo hablo español y ustedes lo traducen a ingles, pueden? 04:02:15 hppavilion[1]: lo que pasa es q estoy sola y sin amigos y nadie me quiere :-( 04:03:27 Lilly_Goodman: 04:03:27 Parece que usted puede tener una depresión. Simplemente no han encontrado su gente, sin embargo, probablemente 04:03:47 (No estoy capacitado para dar ayuda mental) 04:05:11 hppavilion[1]: no quiero ayuda de depresion solo quiero saber si puede ser mi amigo? 04:06:05 `bemvindo 04:06:07 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bemvindo: not found 04:06:15 hppavilion[1]: lo q pasa es que me expulsaron de el #canaimasocial 04:06:16 Still no bemvindo? Shocking 04:06:31 `? wisdom.pt 04:06:32 wisdom.pt? ¯\(°​_o)/¯ 04:06:44 hppavilion[1]: lo q pasa es que me expulsaron de el #canaima-social por decir perdon, que le parece eso? 04:07:07 `wercome 04:07:08 ​エソテリックプログラミング言語のディザインとデプロイメントの国際な場所へようこそ!詳しく、ウィキを見て: http://esolangs.org/wiki/Main_Page。(他のエソテリック、irc.dal.netの#esotericへ) 04:08:20 que es eso? 04:14:25 Canaima parece tranquilo. Usted debe tratar de senderismo. Usted puede hacer un montón de amigos durante una excursión. 04:14:51 q fino gracias 04:25:56 porque tan callados? 04:30:07 fines de semana son a menudo tranquilo aquí 04:32:35 a ok entiendo y cuando es mas divertido aqui? 04:34:33 -!- treaki__ has joined. 04:38:29 -!- treaki_ has quit (Ping timeout: 244 seconds). 04:38:43 a ok entiendo y cuando es mas divertido aqui? 04:43:35 -!- oerjan has quit (Quit: Later). 04:49:54 -!- hppavilion[1] has quit (Quit: Leaving). 04:54:33 oh 04:59:49 -!- Lilly_Goodman has quit (Ping timeout: 260 seconds). 05:02:00 <\oren\> I don't know how to evaluate who's winning 05:07:20 <\oren\> zzo38: can you tell who's winning in a go match? 05:07:27 \oren\: That's a Hard Problem. 05:08:30 <\oren\> yah, that's why i asked a human instead of one of our bots 05:08:43 one of the commenters at the alphago challenge is a 9 dan professional player and the best he could do is to roughly guesstimate the score 05:11:21 \oren\: I don't know? 05:11:40 You could calculate the score from the current position but if the game is not finished it won't tell you who is winning. 05:12:29 Evaluating the strength of a position in Go is not just hard for computers, it's hard in general. 05:16:39 <\oren\> aww 05:16:58 <\oren\> well, actually, that's good 05:20:15 <\oren\> but somewhat annoying for the spectator 05:21:26 how do you tell who's winning in chess? 05:29:06 <\oren\> I think yoyu count how many pieces they have left and which kinds 05:29:46 Yes you can do that in chess at least, which provides some more easily estimate I suppose 05:32:05 -!- oerjan has joined. 05:33:35 <\oren\> helloerjan 05:34:26 yoren 05:34:53 <\oren\> are you watching α碁? 05:35:20 yes 05:37:21 Why did it take the computer a minute and a half at the beginning of the game to respond to what seems like a very obvious opening move that you could precompute the response to? 05:38:57 they ran /bin/alphago --suspense=7 05:39:35 shachaf: iiuc the computer doesn't have any opening book 05:39:42 but why 06:02:22 <\oren\> `? iiuc 06:02:28 iiuc? ¯\(°​_o)/¯ 06:04:59 `learn iiuc i understand iiuc correctly 06:05:03 `learn iiuc i understand iiuc correctly. 06:05:06 Learned 'iiuc': iiuc i understand iiuc correctly 06:05:08 Relearned 'iiuc': iiuc i understand iiuc correctly. 06:09:15 `? testing 06:09:16 Testing can only do so much. 06:09:29 `learn Testing can do so much 06:09:34 Relearned 'testing': Testing can do so much 06:09:42 `sedlast s/$/./ 06:09:51 No output. 06:10:03 Hmm, maybe it should cat lastfiles too. 06:10:07 `? testing 06:10:08 Testing can do so much. 06:10:21 DEFINTELYI 06:13:34 `cat bin/sedlast 06:13:35 sed -i "$1" "$(lastfiles)" 06:13:43 `cat bin/lastfiles 06:13:44 hg log -l 1 --template "{files}\n" 06:13:49 ah 06:14:00 sorcery and witchcraft 06:23:16 -!- hppavilion[1] has joined. 06:23:22 how does alphago manage time anyway? is it always taking 1:30 minutes (decreasing slowly) per move or is it "taking time to think" sometimes, playing obvious moves more quickly? 06:23:26 OK, it's safe now 06:24:51 anyway, after an exciting fight starting in the top left corner, it looks like alphago stands quite a bit better already. too bad. 06:25:01 hppavilion[1]: :P 06:25:05 -!- Sprocklem has quit (Quit: brb). 06:25:27 oerjan: I had some idea earlier I'm now trying to remember xD 06:28:56 -!- Sprocklem has joined. 06:29:20 -!- Sprocklem has changed nick to Guest55048. 06:29:56 A language based on nothing but arrows and brackets (asciicized) 06:30:45 -!- Guest55048 has quit (Changing host). 06:30:45 -!- Guest55048 has joined. 06:31:57 -!- Guest55048 has changed nick to Sprocklem. 06:32:04 Hm... 06:59:51 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 07:03:29 oh... final fight 07:21:44 lee on overtime again 07:22:35 well, last ditch effort, a fight he cannot hope to win 07:22:52 that's admirably fighting spirit though... and a great show for spectators 07:23:16 of course, if that group at the bottom lives, then that would turn the game around 07:23:27 I just don't see it. 07:24:43 I admit I'm really weak at Go strategy, but I agree. 07:27:59 -!- Sprocklem_ has joined. 07:28:23 -!- Sprocklem_ has changed nick to Guest91351. 07:28:34 -!- Sprocklem has quit (Ping timeout: 260 seconds). 07:30:59 -!- lambda-11235 has quit (Quit: Bye). 07:37:23 -!- lleu has quit (Quit: That's what she said). 07:46:24 that was a fast move by alphago 07:57:37 too many kos on board... I guess we get to find out whether alphago has inherited the monte carlo bot's weaknesses in that area 07:57:43 err bots' 07:58:00 :P 08:08:01 `? haiku 08:08:12 ​🀨や⛄ 08:08:18 `quote HIRAGANA 08:08:20 1260) MAHJONG TILE AUTUMN / HIRAGANA LETTER YA / SNOWMAN WITHOUT SNOW 08:13:42 over 08:14:32 `unidecode 🀨や⛄ 08:14:34 ​[U+1F028 MAHJONG TILE AUTUMN] [U+3084 HIRAGANA LETTER YA] [U+26C4 SNOWMAN WITHOUT SNOW] 08:18:44 `unidecode -– 08:18:45 ​[U+002D HYPHEN-MINUS] [U+2013 EN DASH] 08:41:08 -!- oerjan has quit (Quit: Nite). 08:41:13 -!- yorick__ has joined. 08:44:01 -!- yorick has quit (Ping timeout: 240 seconds). 08:51:33 -!- yorick has joined. 08:53:18 -!- yorick__ has quit (Ping timeout: 248 seconds). 09:12:34 -!- AnotherTest has joined. 09:45:06 int-e: It definitely played some "forced" moves very quickly. 09:45:19 Well, "very" -- not as quickly as a human, but noticeably faster than others. 09:46:02 I'm sure someone's already plotted the timing. 09:47:06 http://i.imgur.com/22zZDSZ.png 09:47:21 (Thanks, r/dataisbeautiful.) 09:47:45 That's for the first match, but it's clearly different from the human. 09:48:04 Except for turn 52. 09:49:49 The intro-to-AI course tournament I keep mentioning every now and then allocated 1 hour of (single-thread) CPU time to each participant, and watching how they manage time was kind of interesting. 09:50:51 For each bot, my result page plots included a graph of turn/cumulative time used, with one line for each game they played, and colored according to win/tie/loss. 09:50:59 The results were nicely distinctive. 09:52:25 http://users.ics.aalto.fi/htkallas/ai2012/img/cpu_ajeeb.png <- there's one example, where the bot clearly has three separate strategies depending on how much time it has left. 09:53:18 Or I guess the first turning point could also depend on how many moves it has made -- the games are so grouped initially, it's hard to tell. 09:55:37 But there's an obvious "start going fast when you have only 100 seconds left" mode, and also a faster-than-midgame opening mode, which might last either for the first 300 seconds or 40 moves. And those changes are so abrupt, it's clearly a programmed-in feature. 09:55:56 (Whereas the general sloping rightwards is probably just a consequence of positions getting simpler.) 09:56:16 http://users.ics.aalto.fi/htkallas/ai2012/details.xhtml has same plots for all the 2012 participants. 09:57:59 (Also I haven't worked for the ICS department for the last three years, but they don't seem to be in a hurry to clean my personal web directory.) 10:00:26 http://users.ics.aalto.fi/htkallas/ai2012/img/cpu_justice.png and this one on the other hand clearly has some sort of a gradually decreasing time-per-turn thing. 10:00:55 (The occasional flat horizontal lines are probably because the game in question has some situations where there's only one legal move.) 10:01:33 Holy monologue, Batman. 10:10:11 -!- bender| has joined. 10:38:49 :) 11:00:34 -!- bender| has quit (Quit: lel wait a sec). 11:32:12 -!- augur has quit (Read error: Connection reset by peer). 11:32:19 -!- augur has joined. 11:36:26 -!- bender| has joined. 11:50:35 uuuh 11:50:45 fizzie, can you paste your test/reference.out 11:51:03 In the chainlance repo. 11:51:11 I'm pretty sure something's wrong with my nodejs 11:51:16 Because I'm getting lines like ">>><<<<<<<<< `` tac -r -s $'.\|\n' le/rn 11:55:16 ​/hackenv/bin/tac: line 2: -r: No such file or directory \ /hackenv/bin/tac: line 2: -s: No such file or directory \ /hackenv/bin/tac: line 2: .\| \ : No such file or directory \ sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; [ -e "wisdom/$key" ] && verb="Re 11:55:23 awww 11:55:25 what tac is that 11:55:28 `` tac --version 11:55:36 ​/hackenv/bin/tac: line 2: --version: No such file or directory 11:55:46 `` type tac 11:55:47 tac is /hackenv/bin/tac 11:55:49 oh 11:55:54 it's the one i wrote haha <.< 11:56:02 `` /bin/tac -r -s $'.\|\n' le/rn 11:56:03 ​/hackenv/bin/`: line 4: /bin/tac: No such file or directory 11:56:10 `` type -a tac 11:56:11 tac is /hackenv/bin/tac \ tac is /usr/bin/tac 11:56:15 `` /usr/bin/tac -r -s $'.\|\n' le/rn 11:56:17 ​ \ "»yek$« brev$" ohce && ")"yek$/modsiw" p-ohce($" > "eulav$" ohce ;"denraeL"=brev || "denraeleR"=brev && ] "yek$/modsiw" e- [ ;"}pes$*#1{$"=eulav ;")esacrewol | "}*pes$%%1{$" ohce($"=yek ;1 tixe || ]] *"pes$"*? == "1$" [[ ;"//"=pes && ]] *//* == "0$" [[ ;"/"=pes 11:56:26 ^ reverses a file 12:46:34 fizzie: interesting tournament, thanks; what game is that? 12:47:38 "World Journal of Research and Review", yay, sounds legitimate 12:50:54 A few days ago one of these spams promised a "blind peer review" within 4 days; I found that refreshingly honest. 12:51:36 :D 12:51:57 "that one really looks like a paper" 12:52:13 myname: no looking, just feel it! 12:52:36 it's only a matter of time before you can publish scigen stuff in nature 12:59:50 are they playing 5 games anyway even if lee already lost 3? 13:14:31 izabera: yes 13:14:55 izabera: and lee can still earn a bonus if he wins ($20k or so?) 13:20:39 yeah i've just read it on wikipedia 13:20:42 20k per win 13:20:54 + 150k if he plays all 5 games 13:29:12 -!- bender| has quit (Quit: [reboot]). 13:49:28 -!- jaboja has joined. 13:58:29 I realize that Moody has lost an eye, a leg, and much of his nose and doesn't have them back. However, given the above I think that's probably because he lost them to Dark Magic, being an Auror who fought Death Eaters. 13:58:42 argh, sorry, mispaste 13:58:50 `wisdom 13:58:59 theory/To be theory is to be like a theorem, but inferior. 14:07:16 -!- jaboja64 has joined. 14:10:43 -!- jaboja has quit (Ping timeout: 248 seconds). 14:12:01 -!- jaboja64 has quit (Ping timeout: 244 seconds). 14:16:14 -!- p34k has joined. 14:18:54 -!- lynn has joined. 14:27:24 -!- lynn has quit (Ping timeout: 246 seconds). 14:28:37 -!- bender| has joined. 14:35:47 -!- lynn has joined. 14:41:03 -!- lynn has quit (Ping timeout: 246 seconds). 14:43:15 -!- lynn has joined. 14:57:09 -!- lynn has quit (Ping timeout: 246 seconds). 15:08:49 -!- J_Arcane has quit (Ping timeout: 244 seconds). 15:29:28 -!- Yurume has quit (Ping timeout: 252 seconds). 15:29:29 -!- newsham has quit (Ping timeout: 252 seconds). 15:30:05 -!- idris-bot has quit (Ping timeout: 252 seconds). 15:30:43 -!- Yurume has joined. 15:44:44 -!- J_Arcane has joined. 15:52:24 -!- lambda-11235 has joined. 15:53:35 I am now crunching a 9000x9000 BF Joust hill. 15:53:45 I hope my laptop doesn't overheat. 16:00:57 -!- jaboja64 has joined. 16:08:09 3.7G./run/evaluation_tmp 16:08:10 holy 16:08:23 I didn't think wrenchlance would use so much disk space. 16:10:26 -!- mysanthrop has joined. 16:11:50 -!- jameseb- has joined. 16:12:18 -!- fizzie has quit (Ping timeout: 246 seconds). 16:12:19 -!- myname has quit (Ping timeout: 246 seconds). 16:12:19 -!- sewilton has quit (Ping timeout: 246 seconds). 16:12:19 -!- jameseb has quit (Ping timeout: 246 seconds). 16:12:19 -!- cnr has quit (Ping timeout: 246 seconds). 16:12:19 -!- ^v^v has quit (Ping timeout: 246 seconds). 16:12:19 -!- fungot has quit (Ping timeout: 246 seconds). 16:12:22 -!- sewilton has joined. 16:12:24 -!- fizzie` has joined. 16:12:32 -!- sewilton has quit (Changing host). 16:12:32 -!- sewilton has joined. 16:13:11 -!- ^v has joined. 16:13:27 -!- cnr has joined. 16:13:27 -!- cnr has quit (Changing host). 16:13:27 -!- cnr has joined. 16:26:22 -!- newsham has joined. 16:40:33 -!- Melvar has quit (Ping timeout: 240 seconds). 17:01:05 -!- Melvar has joined. 17:05:58 <\oren\> I want to write a new code editor 17:06:33 <\oren\> it will use advanced Unicode characters to have a cool interface 17:09:06 <\oren\> like using ▁▂▃▄▅▆▇█ to make a scrollbar showing where you are in the file 17:14:03 -!- jaboja64 has quit (Ping timeout: 240 seconds). 17:19:29 -!- jaboja64 has joined. 17:21:52 wut 17:22:18 Python's multiprocessing library is a little arbitary sometimes. ^.^; 17:22:45 In terms of syntax, semantics, API? 17:24:29 \oren\: i thought about something similar, too, but i am too comfortable using vim 17:24:38 -!- mysanthrop has changed nick to myname. 17:30:36 However it distributes work. 17:30:41 It's letting cores go inactive for minutes at a time. 17:31:05 -!- lambdabot has quit (Remote host closed the connection). 17:32:23 prevents overheating :P 17:33:48 ~800/9000 done. \o/ 17:34:01 that doesn't sound so bad 17:34:16 100 minutes so far? 17:34:31 Around 1 and a half hour, yeah. 17:34:37 And it'll get faster near the end. 17:34:42 Since there's less matchups left per program 17:35:23 Memory usage's wtf though. 17:37:42 -!- lambdabot has joined. 17:40:23 -!- bender| has quit (Ping timeout: 268 seconds). 17:40:56 @botsnack 17:40:56 :) 17:41:29 -!- lleu has joined. 17:46:18 Lymia: reference.out: http://sprunge.us/ZdCL 17:47:00 I fixed it already 17:47:17 https://github.com/Lymia/chainlance/commit/0316061c60ffbe577131805ea92199eac9e488b7 17:48:09 Oh, I didn't even know/notice it had something like that. 17:48:32 Guess I've never had it trip. 17:48:36 -!- fizzie` has changed nick to fizzie. 17:49:21 int-e: The game's called "Hierarchy" (Hierarkia); it was made by a Finnish chess I-don't-know-which-title, who originally wanted to make it an actual board game, but that never went anywhere; he then donated it for the course. 17:49:47 int-e: We used it to make it a bit less probable people just submitted code they copy-pasted from someone's chess program. 17:50:12 It's also got a little bit higher branching factor, but it's no Go. 17:50:27 -!- jaboja64 has quit (Ping timeout: 248 seconds). 17:51:07 The rule page has 404d. 17:54:03 My laptop's CPU doesn't have the greatest clock speed, so. 17:55:05 Not the greatest single-threaded preformance. 17:58:19 Huh, what the: someone's made a copy of the page. 17:58:48 ? 17:59:25 int-e: http://www.cs.hut.fi/~framling/hierarkia/ here you go. (The Scheme stuff was no longer in use when I was running the thing.) 17:59:32 https://github.com/Lymia/chainlance/blob/master/wrenchlance-stub.c 17:59:33 Anyway. 17:59:41 This is what I'm doing right now, and it seems to work pretty well. 18:01:55 -!- idris-bot has joined. 18:04:39 fizzie: thanks 18:05:06 Made by this guy: http://www.chessgames.com/player/jyrki_parkkinen.html 18:24:21 bleh 18:24:56 I'm turning down the split size for the parmap next time. 18:25:03 So it doesn't end up putting 3 cores idle 18:29:50 The things I do for neural nets. 18:30:16 Apparently CUDA doesn't actually support Debian or something. Ubuntu, but not Debian. 18:30:28 I am, of course, running Debian. 18:30:36 wtf 18:30:41 why is there nothing running 18:30:55 urgh 18:31:21 -!- ais523 has joined. 18:31:27 <\oren\> if you have 4 cores, should you not tell it to have 4 threads? 18:31:47 So... this is a little tricky to do. CUDA wants packages that don't exist on Debian. 18:31:54 hmm, threads, unlike processes, use shared-memory concurrency 18:32:05 <\oren\> or is that just my instinct 18:32:30 if a lot of the sharing is actually used, it might be inefficient to run the threads on different processors due to all the synchronization that has to take place between the processors 18:32:51 OTOH if the threads are mostly independent then you could run 4 with no problems, and might or might not benefit from more depending on the properties of the scheduler 18:32:52 I did tell it to use 4 threads. 18:32:56 It's not. 18:32:56 <\oren\> i mean, the number of cores is the limit of actual concurrency that you can do, right? 18:33:32 ais523, I have literally 0 dependence between cores. 18:33:51 <\oren\> then why not use an actual fork instead of threads 18:34:16 \oren\: you can get more concurrency if the threads are using completely different parts of the computer 18:34:37 e.g. if one thread is using the memory bus, it can reasonably act in pseudo-parallel with another thread on the same CPU that's just doing arithmetic 18:35:01 Uh? 18:35:02 Why should I 18:35:37 Why would I rather deal with distributing work between multiple independent processes when it's already hard enough when that's done with shared memory and threads. 18:35:42 What benefit do I derive from that. 18:36:18 <\oren\> maybe the processes will actually run on separeate cpus? 18:37:04 Perhaps you should stop being so presumptuous about what the problem is. :/ 18:37:31 <\oren\> well, i thought the problem was that on;ly one cpu core was bing used? 18:37:31 I don't know what the problem is, but I think my advice is reasonable so far 18:37:48 if the threads are completely independent, then the correct number to use will be comparable to the number of CPUs, possibly a little more 18:38:20 Because your advice is thoroughly off base? How many wrong things did you assume. Let's see. 18:39:09 First of all, Python already uses multiple processes because it has that dumb global interpreter lock. 18:39:41 Second of all, even if I wasn't, the threads would only be spinning off external processes anyway then doing a little parsing on the output. I'm only using its multiprocessing library at all because it splits the workload for me. 18:40:14 Third of all, the problem isn't even that, for some reason, I have 4 threads that decided to run on one core. That doesn't even make much sense on Linux, where threads are much like processes to the scheduler anyway in the first place. 18:40:15 tswett: This must be about something like a more modern version of CUDA? Because there are CUDA packages right there in the Debian repository. 18:40:34 It's that for some reason multiprocessing's work distribution is not running and letting threads in the thread pool sit idle for minutes at a time. 18:40:36 I've got nvidia-cuda-dev 6.5.19-3 installed. 18:40:53 -!- jaboja64 has joined. 18:42:46 fizzie: uhhh, you have? Lemme see that. 18:43:04 The ideal solution would really be to wait asynchronously in one thread in the Python code. 18:43:12 https://packages.debian.org/jessie/nvidia-cuda-dev 18:43:17 It's non-free, of course. 18:43:21 But there's no library code for that, and I'd need to write it out on my on. 18:43:22 own* 18:43:30 (And that's 6.0.37-5 because jessie.) 18:44:36 fizzie: do you have nvidia-alternative installed? 18:44:50 (Oh, I think "nvidia-cuda-toolkit" is maybe the more topper-level package.) 18:44:58 Yes. 18:45:17 What version? I'm trying to install 340.96-1 and it says it can't find it. 18:46:02 I've got 352.79-1, but this is also something like stretch or sid, I forget what exactly. 18:46:39 stretch has a higher-priority pin, so technically that, I guess. 18:49:44 Let me see if doing random things with aptitude will fix the problem. 18:49:50 Without also creating even worse problems. 18:50:51 It seems like aptitude keeps saying "I can't install that thing you asked me to install, but I can uninstall a whole bunch of other stuff instead." 18:53:55 -!- MoALTz has quit (Ping timeout: 248 seconds). 18:54:00 <\oren\> Sometimes if you uninstall everything (for a given value of "everything") and reinstall, it fixes the dependency tree 18:54:48 Hmm, it looks like it actually did manage to install it. 18:55:58 -!- MoALTz has joined. 18:56:42 <\oren\> aptitude is annoyingly intolerant of badly written packages 18:58:29 <\oren\> ideally, it shouldn't be possible for a package with wrong dependencies to screw up other, correctly made packages, but that doesn't seem to be the case 19:02:39 <\oren\> What shortcut should be "save"? 19:02:47 <\oren\> I'm thinking control-S 19:02:58 <\oren\> but nano uses control-O 19:03:14 <\oren\> ...for some reason 19:04:39 F2 19:05:06 C-Q and C-S are occasionally used for XON and XOFF, right? 19:05:21 yes 19:05:28 <\oren\> int-e: that's a good idea, since it's one keypress 19:07:32 \oren\: Ctrl-S is vulnerable to potentially really major terminal misparses 19:07:36 <\oren\> I'm planning on having a "hint bar" like nano 19:08:00 so if you want to use it as a keybinding in a terminal-based program, you'd better be really confident in your ability to configure the terminal correctly 19:08:11 nano mocks you for pressing Ctrl-S for this reason (in cases where it's parsed correctly) 19:08:19 <\oren\> are the F keys generally safe? 19:09:04 F1-F5 are vulnerable to ambiguities 19:09:07 the others are safe 19:09:45 (this is because F1-F5 aren't sent to the application at all on an actual VT100, so people had to invent codes for them; some of the invented codes are used for other keys that actually did exist on a VT100 but not on a PC keyboard, but in an inconsistent way) 19:10:37 the problem here being that the question when things like xterm were originally ported to PC-like keyboard layouts was not "how do I tell the program what keys on a PC keyboard are being pressed", but "how do I allow the user to use this program, which was designed for a VT100, on a PC keyboard" 19:11:18 so for example, in practice there are two codes you're likely to see for F1, one is unambiguously F1, the other is ambiguous with Num Lock 19:12:52 aptitude's suggestions can seem kinda cheeky sometimes. 19:13:10 "Hey aptitude, I want you to install this package, version 6.5." "All right, how about if I don't install it instead?" 19:13:26 "No, you need to actually install it." "All right, how about if I install version 6.0 instead?" 19:13:50 "No, it needs to be version 6.5." "Oh, why didn't you say so?" 19:15:26 <\oren\> agh 19:22:02 -!- Treio has joined. 19:23:03 tswett: I have had problem like that but found out ways to resolve it by manually specifying version of packages in different orders and then it won't say there is a conflict 19:23:45 -!- ais523 has quit (Remote host closed the connection). 19:23:55 -!- ais523 has joined. 19:40:16 -!- digitalc1ld has changed nick to digitalcold. 19:44:11 Time to reboot and see if X still works! 19:44:40 -!- Treio has quit (Quit: Leaving). 19:46:16 -!- jaboja64 has quit (Ping timeout: 244 seconds). 19:46:42 urgh 19:46:47 It's reading 347M of data every round 19:46:57 I can't imagine that being good for efficiency 19:49:12 But on the other hand 19:49:19 I really don't want to give a shot at concurrency in c 19:51:21 Do they make SATA power extension cables? 19:51:24 <\oren\> I really need to finish my string and array libraries before I can implement this 19:51:47 Lymia: I was trying to work out if it'd be possible to run this sort of thing on a GPU 19:51:51 but I think the answer is "not efficiently" 19:51:55 Looks like they certainly do. 19:52:07 I can't see any way to make BF Joust data-parallel across warps 19:52:19 which is needed or you're only using about 1/32 of the GPU's power 19:53:25 And the answer is no, X does not still work. 19:53:32 <\oren\> tswett: do you have a giant computer case or something? 19:54:19 No, but... 19:54:33 I want to hook up five SATA devices: four hard drives and one optical drive. 19:54:49 My PSU, as far as I can see, has two SATA power cables, one with two connectors and one with three connectors. 19:55:37 <\oren\> oh. 19:55:41 But the optical drive is too far away from the hard drives for a single SATA power cable to supply both drives. 19:56:32 <\oren\> uh, would it just be stupid to put ahard disk in one of the optical drive bays? 19:56:47 <\oren\> assuming you have more than one 19:57:10 I've got three or four optical drive bays. But those are bigger. 19:57:18 Right? 19:57:56 And presumably I could get some sort of adapter so I can fit a hard drive in an optical bay, but that sounds harder than just getting an extension cable. 19:57:57 -!- jaboja64 has joined. 19:58:07 <\oren\> oh, are you afraid of leaving something not securely screwed into a bay? 20:01:08 * \oren\ had an extra psu jammedinto an optical bay on his old computer 20:03:11 Don't you have your computer mounted in gimbals? 20:03:59 <\oren\> heh. this was the computer that I left open with a cardboard manifold connecting it to a big room fan 20:04:25 <\oren\> thus pressurizing the case, sort of 20:05:12 <\oren\> hmm, what of you actually kept the air pressure higher inside a computer? 20:06:36 -!- lambda-11235 has quit (Quit: Bye). 20:08:48 <\oren\> yeah, i think theoretically, it woudl increase the rate at which temperature exchages with the air 20:09:15 ais523, I was thinking about running multiple instructions at onec. 20:09:16 once* 20:09:31 There are many conditions in BF Joust when the two opposing programs are "non-interacting", so to speak. 20:09:45 All right, let me try to get X working again. 20:09:46 For example, when they're on different cells entirely, or the cell they're both on is 128 20:09:57 Lymia: good point 20:10:15 This has definitely happened to me before. 20:10:16 actually one thing you could to is check the number of cycles before a program goes past the fifth cell 20:10:20 It'd be a torquelance style compilation with serious optimization involved. 20:10:33 and just start at that location 20:11:24 -!- variable has joined. 20:13:27 <\oren\> you could also detect when both programs are doing [+] (with various numbers of +'s) on the same cell, and make a lookup table of the outcomes? 20:14:25 <\oren\> maybe there's too many possibilities.... 20:17:06 The approach I was thinking would be splitting every part of the program into two "segments", kinda. 20:17:40 "How many cycles I can run in one/few instructions in a row" 20:17:51 "Execute x cycles, which may be the previous value, or less than such" 20:19:59 come to think of it, at any moment both programs are in an inner loop 20:20:10 you could probably do some sort of optimization on it 20:20:18 via calculating the outcome in advance 20:20:35 that would help a lot because [-] loops are very common 20:29:06 All right, the nouveau module is not loaded. So I just need to make it so that the other module is loaded? And what module would that be, exactly? 20:32:54 Aha, I need to install nvidia-driver. 20:34:29 There we go, now it's working. 20:34:52 Now let's see if I can train a neural net of size SIXTEEN FUCKING HUNDRED. 20:34:58 (Hint: PROBABLY FUCKING NOT.) 20:35:28 -!- variable has quit (Quit: 1 found in /dev/zero). 20:37:52 But I can do one of size 1300. Wow. 20:39:16 I can even do one of size 1500. I wasn't expecting that. 21:07:22 [wiki] [[Talk:Minebit]] M https://esolangs.org/w/index.php?diff=46588&oldid=46256 * Erinius * (+34) 21:21:53 Heheh, my computer's graphics aren't working too hot. 21:24:43 <\oren\> wait, why are you running X at the same time as this? 21:25:50 what graphics card? 21:25:51 That's a good question. 21:26:11 It's a GT 430. 21:26:58 hmm okay, probably better than any of mine 21:26:59 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 21:27:28 last time I tried to do anything on a GPU, my cpus were faster by about an order of magnitude :/ 21:28:55 Let's see. Released in 2010 at $79. 40 nanometer fab. 1 GB memory. 269 gigaflops. 21:29:45 Lemme compare that to something a little more modern. 21:30:48 The GTX 950. Released in 2015 at $159. 28 nanometer fab. 4 GB memory. 1573 gigaflops. 21:30:58 That's a lot floppier. 21:35:50 very floppy, though not as much as some of my 8 inch wangs :P 21:35:53 http://siarchives.si.edu/wp3/wp-content/uploads/2010/08/newwang.jpg 21:36:33 -!- Reece` has joined. 21:41:40 1600? 21:41:43 That's, like, tiny 21:45:11 double density... expensive stuff 21:47:55 Are floppy disks good for anything nowadays 21:48:52 I'd expect there's legacy hardware in the industry that still uses them 21:50:07 I have been using them a bit to get a 286 onto the internet, but for practical purposes no 21:52:01 -!- MoALTz has quit (Ping timeout: 240 seconds). 21:53:34 -!- ais523 has quit (Ping timeout: 248 seconds). 21:55:39 -!- MoALTz has joined. 22:05:48 -!- hydraz has changed nick to thetypo. 22:05:53 -!- nortti has changed nick to norrti. 22:06:04 -!- norrti has changed nick to nortti. 22:06:19 -!- thetypo has changed nick to hidraz. 22:07:03 -!- hidraz has changed nick to hydraz. 22:08:39 When playing causal constructed Magic: the Gathering with friends, if I offer the people sweets like bonbons or assorted wafers or jelly beans, is it usually considered bad form to offer a selection with more than four copies of any one type of bonbon or wafer or jelly bean? 22:11:11 -!- ais523 has joined. 22:11:11 wouldn't those be counters... 22:11:39 int-e: no, they'd make the cards dirty. 22:11:53 hello, ais523 22:11:54 Player counters, of course. 22:12:00 hi 22:12:02 shachaf: heh, that might work 22:12:06 Hopefully you don't offer poison counters, though. 22:12:19 -!- hydraz has changed nick to thetypo. 22:12:24 -!- thetypo has changed nick to hydraz. 22:12:30 shachaf: hmm, how many other named player counters are there even? 22:15:51 ais523: about that machine that only accesses a limited set of stacks, I think it's actually possible to do symbol table translation too efficiently, only you have to do it on the whole file and all symbols together, rather than incrementally 22:16:05 b_jonas: I guess I don't know of any others 22:16:13 b_jonas: yes, it's definitely a different syle of programming 22:16:32 fwiw programs written in this style might work more efficiently even on regular CPUs 22:16:37 ais523: however, you brought up this machine because it would get rid of all aliasing problems, but you don't really need just stacks for that 22:16:50 b_jonas: not just aliasing, cacheing too 22:16:57 it was originally invented to get rid of cache stalls 22:17:08 also to satisfy hppavilion[1]-like thinking of "let's be different for the sake of it" 22:18:40 ais523: I see. I like the model of a pointer machine (with a fixed finite size of registers) that accesses trees with *immutable* nodes and can create new nodes, decide whether a node is null, and access the children of nodes, and its core is finite state. 22:19:24 how is this garbage-collected? 22:19:57 ais523: presumably anything that's not accessible from the root anymore would be collected. 22:20:09 no, I mean hardware-wise 22:21:02 ais523: I don't know, it's not really a specific hardware thing, just a theoretical model. hardware implementations typically have more complicated rules to be optimized, which are useful for real world programming, such as built-in fixed integer arithmetic. 22:43:58 <\oren\> xenon is overpowered 22:45:30 -!- ais523 has quit (Read error: Connection reset by peer). 22:45:39 -!- ais523 has joined. 22:47:39 ais523: I found out about two cards in older sets that seem to be in the wrong color if you apply the modern color pie. There's an instant for {W} and an instant for {G} that untaps a target permanent, and the latter even has more options than that. 22:48:31 These days that's exclusively blue, with Dream's Grip doing this. 22:49:26 White can untap creatures, green can untap lands or specific creatures that have a self-untap ability, and then there's Magewright Stone. 22:49:49 s/ight S/ight's S/ 23:05:52 -!- Reece` has quit (Quit: Leaving). 23:07:22 -!- idris-bot has quit (Ping timeout: 260 seconds). 23:07:30 -!- Melvar` has joined. 23:08:19 -!- Melvar has quit (Ping timeout: 248 seconds). 23:19:00 I know that with standard cards a player might have poison counters and experience counters; with a custom card I made up it is possible for a player to have any kind of counter. 23:24:16 (I don't know of others but you can tell me if there is; maybe I forgot some?) 23:26:30 -!- lynn has joined. 23:39:15 I had to shorten the kitchen sink picture posted here yesterday because it was previously too long and it should be maximum 16x16 like the standard X cursor font is 23:39:25 (I did fix it though.) 23:45:37 -!- asie has joined. 23:45:39 oh hi 23:45:45 oh, font design? 23:46:07 sometimes 23:46:25 Yes some people on here have designed other fonts 23:47:07 Although I also did a supplementary X cursor font and a new character encoding too (which requires new font to go with it though) 23:51:06 esofont 23:51:30 asie: the 1×5 font is pretty eso 23:51:43 it uses subpixel antialiasing; it's actually readable if you get really close to the screen 23:51:46 if oddly coloured 2016-03-13: 00:07:48 Is there a Magic the Puzzling that says something like "Your upkeep is beginning; place your triggered abilities on the stack." and your opponent also has some things that trigger during your upkeep too? 00:08:03 -!- jaboja64 has quit (Ping timeout: 248 seconds). 00:08:29 zzo38: I've never seen one. 00:08:40 But I think the only Magic: The Puzzlings that I've seen have been yours. 00:09:08 I have not myself written one like that (yet) 00:09:21 Do you know how to make up one? 00:09:28 No. 00:09:36 (I mean one Magic: the Puzzling in general, it doesn't necessarily have to be like that) 00:09:37 All your Magic: The Puzzlings have seemed way too complicated to me. 00:09:40 zzo38: might be interesting to port 3SAT into Magic 00:09:46 You need to know (or look up) so many cards. 00:09:50 so we could set Magic: the Puzzlings that had nothing to do with Magic, just maths 00:10:04 Like the entirety of The Dark. 00:10:39 shachaf: That is just one of them though, others name cards explicitly and some do not have so many 00:10:51 It's still a lot. 00:11:08 What if the puzzle was presented as a picture that showed every card you need to know to solve it? 00:11:46 That would do yes, if you can print it out, although having text file would also help 00:12:03 Even so, some puzzles that do have pictures do not actually show all of the cards, or contain obsolete text 00:12:48 At least if it was a web page where you could mouseover a card name to see it. 00:12:55 Those are pretty common. 00:13:23 I am using a format that is design to be not too difficult to parse by computer, so they could be converted into other formats 00:13:50 Oh, I did see at least one Magic: The Puzzling that wasn't yours. 00:14:13 My puzzles 5 and 6 and 7 do not have as many cards as the others 00:15:12 What do you call that ability on a card that lets you discard it from your hand? 00:15:29 Oh, cycling. 00:16:03 Cycling you can discard it and also draw a card 00:16:16 Not all ability to discard from your hand may be cycling though 00:16:31 Yes, I was looking for that specific one. 00:18:37 -!- p34k has quit. 00:22:31 Perhaps look at puzzle.5 and/or puzzle.6 and/or puzzle.7 and see if you can understand it 00:23:39 You should include a full URL. 00:24:19 i,i zzo38:puzzle.5 00:24:20 http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.5 00:25:15 The others are in the same directory 00:45:09 zzo38: why not use HTML? 00:46:05 You could do funky stuff like... 00:47:24
Alice's hand:
  • Crumble
01:13:41 -!- lambda-11235 has joined. 01:27:23 I suppose that is another way yes, although I prefer to post as plain text. However conversion would be possible if wanted 01:30:45 Although that kind of HTML does make some sense. Not only can CSS (either included or user-defined) be used, but also allow to convert formats more easily by using the class names provided. 01:41:49 (But it does mean it is require to parse HTML in order to make the conversion) 02:12:17 -!- lynn has quit (Ping timeout: 260 seconds). 02:13:28 -!- ais523 has quit (Ping timeout: 252 seconds). 02:23:29 -!- oerjan has joined. 02:35:06 @ask fizzie Holy monologue, Batman. <-- you're not secretly oklopol, are you? 02:35:07 Consider it noted. 02:36:34 `` echo $'hi\nthere' 02:36:40 -!- ais523 has joined. 02:37:07 hi \ there 02:40:21 -!- bender| has joined. 02:43:11 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 02:43:49 theory/To be theory is to be like a theorem, but inferior. <-- . o O ( physicists might disagree on the "inferior" ) 02:44:09 -!- ais523 has quit (Ping timeout: 246 seconds). 02:44:34 ais523 has such exquisite timing 02:48:44 -!- boily has joined. 02:49:56 boihly 02:50:49 hellørjan! 02:51:05 @metar KROC 02:51:06 KROC 130154Z 26004KT 10SM BKN250 11/M08 A3003 RMK AO2 SLP174 T01061078 02:51:09 @massages-loud 02:51:09 olsner asked 1d 2h 7m 37s ago: what does it mean to "expand int-e"? 02:51:31 olsner: hellolsner. to expand int-e's `wisdom entry 02:51:58 oerjan: we're in Rochester for the weekend. there is much tile shuffling. 02:52:44 Another idea of a Magic: the Gathering card is one which alters the stipulation of the puzzle. (What strangeness!!! I wonder if extra rules might be needed to support such thing?) 02:55:23 boily: now i'll just have to guess which one https://en.wikipedia.org/wiki/Rochester 02:55:29 (i suppose KROC is a hint) 02:55:38 KROC is a good hint. 02:56:34 Wikipedia reveals it right away 02:57:07 (Even the initial "K" indicates United States, so even if you do not look it up you might know that already) 02:57:18 well yeah 02:57:26 although most of the places are in the US 02:57:53 are any of the places hard 02:58:43 shachaf: should i get the swatter 03:00:27 oerjan: only if you're stuck between KROC and a hard place hth 03:00:54 * oerjan hits shachaf with the saucepan ===\__/ 03:01:06 i figure the swatter was too soft for this 03:03:01 i,i stuck between between a KROC and a DHAR EPLAC 03:03:21 I can't mapole shachaf; I'm travelling light. 03:03:31 DHAR ES SALA'AM 03:08:08 <\oren\> if you have 4 cores, should you not tell it to have 4 threads? <-- that's what ghc recommends, although s/thread/capability/ because ghc has lightweight threads and calls the actual underlying OS ones something else 03:09:15 I thought the proper voodoo number is n+1 for gcc and make. 03:10:59 -!- ais523 has joined. 03:11:33 bleh, kernel panics are so annoying 03:15:09 ais523: are these the kernel panics triggered by yesterday's spacetime disruption 03:15:38 there was a disruption? 03:16:18 around the time of the first mention of kernel panics 03:16:20 iirc 03:16:34 it's triggered via plugging my laptop into my router 03:16:38 but not always 03:17:09 ah a heisendisruption 03:18:19 sounds like some weird timing issue 03:18:32 What is the error message in the kernel panic message? 03:19:01 zzo38: Attempted to kill init! 03:19:23 but there were so many errors appearing beforehand that it's possible that something was just overwriting random memory 03:19:48 then don't kill init. 03:19:48 also this thing has a manufacturer of 1, product of 2, serial number of 3, and a different serial number of 0123456789ABCDEF 03:20:01 which makes me think that someone put dummy data in the device strings 03:23:52 given the amount of error spam before that I have a suspicion that something was randomly corrupting kernel memory 03:24:19 http://picat-lang.org/ I love this language 03:30:26 -!- boily has quit (Quit: RICE CHICKEN). 03:43:56 . o O ( they chose a less annoying waiting music today ) 03:44:15 still room for improvement 04:00:35 game 4 starting 04:04:28 will he win at least one? 04:04:53 that's the big remaining question 04:06:13 in the press conference after match 3 he said something on the lines of "this is a defeat for lee sedol, not for mankind" 04:07:25 <\oren\> defiant forever! death to the undying! 04:09:49 It is a defeat for Lee Sedol for that tournament anyways; not forever. The problem I have is if they do not mention enough details of the computers in use 04:10:22 apparently they are copying the second game so far 04:14:09 diverged 04:14:16 A game with complete information (such as Go), I would expect theoretically a sufficiently powerful computer can win (unless a perfect strategy would force the other player to win or draw). Games such as Kriegspiel chess do not have complete information. 04:15:26 Someone on ChessVariants mentioned something very silly, which is to use the "Swizzelstick" rule: You must touch your nose while moving the pieces, and you must urinate over your opponent's pieces if you win, otherwise it doesn't count. 04:16:39 Anyways "theoretically a sufficiently powerful computer" doesn't necessarily mean that it is, and even if it isn't doesn't necessarily mean the computer program will lose either. 04:17:20 What is your opinion of these things please? 04:18:12 are you asking serious opinions on the swizzlestick thing? 04:18:19 "eww" 04:18:34 No, not on that, I mean in general 04:19:21 I mean about game vs computer programs in general, such as chess and Go and so on. 04:20:06 we don't have sufficiently powerful computers that can analyze all the possible moves in go to a decent depth 04:20:34 i think generalized Go is something like EXPTIME-complete, so perfect play might be intractable. 04:22:14 Yes I know there is not sufficiently powerful computers, and probably would be too difficult to make up such a computer anyways (you can easily get into limits by laws of physics too I suppose). 04:22:36 Also by "generalized Go" what generalizations do you mean? 04:23:07 larger boards 04:23:21 O, OK 04:23:27 possibly larger amount of players? 04:24:54 Another thing is consider what significant differences (if any) when the board size is odd than when it is even 04:26:16 that's entirely unreasonable, obviously your chi can't flow on an even board 04:28:38 Whether or not your chi can flow on the board does not affect the rules of the game though, isn't it? 04:28:50 >:O outrage 04:32:54 izabera: B Nomic ran a "political go" for a while 04:33:06 where players could become allies which meant their stones counted as the same colour for the purpose of capturing 04:33:08 (it was multiplayer) 04:33:19 I'm not sure if there was a limit on alliances 04:33:36 -!- treaki_ has joined. 04:34:10 hmm, one color go 04:35:05 If you have only one colour of stones then you must play on all points in any order and then once it is full, you must remove all of the stones from the game. 04:35:26 http://senseis.xmp.net/?OneColourGo is something different though 04:35:52 so you've taken away the option to pass? 04:36:25 clearly the optimal strategy is to play one stone then pass twice 04:36:55 -!- treaki__ has quit (Ping timeout: 250 seconds). 04:36:56 and claim the entire board as territory 04:36:58 That is just something by the same name anyways 04:37:02 ais523: Yes of course 04:38:28 The "One Colour Go" mentioned on Sensei's Library is really you must use physically the same colours for both player just to confuse you as far as I understand it does not affect the rules of the game (although fouls might become more common, and you have to figure out how to deal with it; if you use a computer then the computer resolves it automatically) 04:39:51 like non-flagging minesweeper 04:40:16 I think speedruns play non-flagging 04:40:19 because of the time it takes to click the button 04:41:15 izabera: Yes I suppose it is a similar thing 04:41:26 Although then you don't have to worry about fouls 04:41:47 It just mean, you cannot annotate the game during the play 04:43:14 Possibly if you play minesweeper with scratching cards it might be more difficult to mark where you believe are the bombs too, although maybe it depend what kind of pencil you use 04:45:57 What kind of pencil are you going to use? 04:51:35 -!- XorSwap has joined. 04:52:06 <\oren\> what if you could make or break alliances at any time? 04:55:48 <\oren\> then, you might cooperate with someone to capture some stones, and then they stab you in the back to get that territory 04:58:02 I sometimes get a kernel panic when switching the printer on or off 04:59:35 <\oren\> I have never gotten a kernel panic except for my stupid attempt at a kernel module 05:00:33 <\oren\> which, when loaded, accidentally overwrote something important 05:03:36 <\oren\> how would go work on a unbounded field? 05:03:44 <\oren\> such as a torus 05:06:05 \oren\: oh you could definitely break alliances any time 05:06:13 you might need a restriction on making them though 05:08:28 zzo38: Which kernel? 05:08:35 <\oren\> I have another idea but it will take some text to explain so I'll put it in my website after I figre it out. 05:10:02 shachaf: Is 3.2.0-87-generic x86_64 a kernel version number? 05:11:10 I now published version 1 of the JavaScript Xlib package (called "remote-xlib") and also atarted to make another package to provide widgets for use with it 05:11:31 zzo38: Linux, then. 05:11:49 Yes, it is Linux 05:29:29 <\oren\> how does this sound so far http://www.orenwatson.be/ungriddedgo.htm 05:30:32 <\oren\> it's go on a board with no grid 05:38:06 <\oren\> Now I'm wondering what the correct radius of a liberty is 05:39:32 <\oren\> hmm 05:39:46 <\oren\> probably 0.7 or so 05:49:37 wow at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/882147 – someone is seriously arguing that it's OK if a kernel feature sometimes silently doesn't work, reporting success, because programs should be prepared for that situation 05:50:13 their reasoning is that that's what the kernel does 05:50:21 -!- copumpkin has joined. 05:50:36 someone else said that that's clearly a kernel bug as it doesn't match the docs, and they said the docs should be fixed 05:51:07 then when someone else said that they fix the kernel to match the docs as they're closer to the intention, the original person suggested changing both (!) 05:51:20 this may well be trolling at this point, but it's pretty creative 05:52:13 <\oren\> rrgh i hite whoever that guy it 05:52:20 <\oren\> *hate *is 05:53:08 the interface in question is inotify, and the bug in question is tail -f not working 05:53:22 it seems that tail already has an undocumented workaround, spelled "---disable-inotify" 05:54:17 <\oren\> see this kind of person is why we need Linus and his FUCK YOUs 05:54:24 I like this naming convention 05:55:31 <\oren\> triple -? 05:55:35 yes 05:56:05 haha, someone arguing with the user brought up the hypothetical of "what if select() has a bug" to which the response was "patch every application using select() with a check against the kernel version" 05:56:19 or the alternative "give the kernels in question a database of select-using applications so that it can patch it" 05:56:27 The extra - is borrowed from CSS, I'm sure. 05:56:28 pretty much everything up to that point was plausible stupidity 05:56:44 that alternative, though, is clearly trolling 05:57:00 shachaf: aha 05:57:11 I was parsing it as (---))disable-inotify 05:57:17 * (---)disable-inotify 05:57:23 but you're parsing it as (--)(-disable-inotify)? 05:57:25 makes sense 05:58:10 several programs have hidden options with 3 dashes 05:58:41 `` factor ---debug 10 # first example that comes to mind 05:58:49 ais523: That's how I was trying to make sense of the triple -. 05:58:51 factor: unrecognized option '---debug' \ Try `factor --help' for more information. 05:58:56 -_- 05:59:01 fuck you HackEgo 05:59:05 Wow, that factor option is really hidden. 05:59:11 $ factor ---debug 10 05:59:13 [using single-precision arithmetic] 10: 2 5 05:59:57 does factor handle >64bit numbers (at all | in reasonable time) yet? 06:00:21 yes 06:00:30 with pollard rho 06:00:35 ais523: http://docs.factorcode.org/content/word-__gt__bignum,math.html hth 06:00:41 so it works better if there are several smaller factors 06:01:12 shachaf: factor(1), not factor the programming language 06:01:28 What sorts of programming languages can you factor? 06:01:40 $ factor 1000000000000 06:01:42 1000000000000: 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 06:01:54 shachaf: I assume that was intended as a joke, but it's arguably an interesting question 06:02:05 It was meant halfway in between. 06:02:06 ais523: that's... < 64 bits 06:02:07 C factors into the preprocessor and rest of the compiler, I guess? 06:02:14 izabera: err, good point 06:02:16 it's > 32 06:02:27 Is there a sense in which you multiply programming languages? 06:02:29 $ factor 1000000000000000000000000 06:02:30 1000000000000000000000000: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 06:02:38 try with something less stupid... 06:02:40 no offense 06:03:01 shachaf: if you interpret programming languages as being defined by their compilers, then multiplication could be compiler composition 06:03:02 izabera: that seems kind of rude, "no offense" or not 06:03:18 Can you factor regular languages? 06:03:21 izabera: it worked for my purpose, which was seeing if factor ran quickly on a bignum with a lot of small factors 06:03:32 $ time factor $(tr -dc 0-9 < /dev/urandom | head -c 40) 06:03:34 2352950823555604190942608370577849550714: 2 13 23 1291 4210103 723923547371247021321949091 06:03:36 real: 0m0.034s, user: 0m0.000s, sys: 0m0.027s 06:04:13 I guess that's one way to produce a random number… 06:04:15 literally the only test that's more meaningless is to test how fast it can factor 2^n 06:04:35 izabera: I would have done that but it's harder to spell 06:04:50 I was just checking to see if it could parse the number /at all/ 06:04:56 If a programming language is defined by a compiler, what's an interpreter? A special sort of compiler? 06:04:59 and this was inspired by the mention of "single precision arithmetic" 06:05:23 shachaf: compiles into user interactions, I guess 06:05:23 it's backed by gmp so that's handled decently 06:05:32 pollard rho doesn't really scale that well tho 06:06:40 ais523: Is it really compiling if it compiles a bit at a time? 06:08:22 now you've got me trying to work out how to write a lazy compiler :-) 06:08:49 ais523: A JIT? 06:09:17 With a JIT compiler it's reasonable to define languages that compile into infinite programs. 06:09:42 JITting sections would make sense, and probably be required 06:09:49 how do you parse an infinite program, though? 06:09:55 The output is infinite, not the input. 06:10:03 presumably it'd need to be specified as an AST rather than as a sequence of bytes 06:10:20 I'm thinking of compiling programs with higher-rank polymorphism by monomorphizing. 06:10:37 Particularly in the case of non-regular data types? 06:11:16 I was going to say that I don't like infinite programs. But of course the output of a compiler is also a program. 06:13:49 hmm, is there some way in Haskell to pattern-match on a data structure only if it's already been forced (and thus its constructor is available)? 06:13:53 some sort of "nonforcing match"? 06:14:19 I was thinking about how you'd do optimizations on an infinite AST 06:15:08 Not in Report Haskell, but you can do it in GHC. 06:15:36 I think? 06:15:46 Now I'm not sure. 06:23:59 -!- llue has joined. 06:24:57 -!- lleu has quit (Read error: Connection reset by peer). 06:38:47 Well, you can certainly do it with false negatives. 06:39:06 what are false negatives? 06:39:54 You might think something isn't evaluated when it is. 06:40:19 -!- lambda-11235 has quit (Quit: Bye). 06:40:52 oh, I see 06:41:07 I didn't realise "false negative" was the phrase in that context 06:41:25 less than 100% false negatives? 06:41:48 Maybe it's not the phrase. 06:43:29 The phrases "false positive" and "false negative" are scow. 06:56:14 lee sedol in overtime, alphago with over an hour left 06:56:29 one of them has been using time inefficiently, it's unclear which 07:00:12 -!- XorSwap has quit (Quit: Leaving). 07:11:27 ooh, I think alphago got horizoned 07:11:36 it's adding stones to a dead group 07:12:45 as far as I can tell, that move it just played is clearly, objectively bad and it is obvious to a go player of pretty much nay skill level 07:15:27 (and it's probably not just me missing something obvious as the 9p commentator agrees) 07:27:06 -!- augur has quit (Ping timeout: 276 seconds). 07:31:50 -!- augur has joined. 07:39:50 -!- adu has joined. 07:51:37 whoa whoa whoa 07:52:01 the commentators don't seem to know about the horizon effect 07:52:01 shachaf: whoa? 07:52:16 the computer resigned 07:52:21 but it's a perfectly good description of the move at T11 (S11 on the commentator's board, which is misnumbered) 07:52:22 ais523: what's the horizon effect? 07:52:30 or that's what someone said in another channel? 07:52:35 and it's inexplicable otherwise 07:52:37 shachaf: still playing 07:52:46 oerjan: basically if you see an impending large loss in your future 07:52:48 ok, bad information 07:52:52 shachaf: no, they just discussed when it would resign 07:52:53 you play a series of forcing moves to push it further back 07:53:01 even if those moves are losing in their own right 07:53:02 oerjan: i don't have audio on hth 07:53:11 so that it's out of the range that your evaluation function looks like 07:53:14 *looks at 07:53:25 ais523: hm 07:53:31 it's a common issue with tree search AIs 07:53:53 (it's believed to have caused Deep Blue to draw a won a game in one of its famous matches against Kasparov) 07:54:42 the move at T11 forced Lee Sedol to play at S10; it was perfectly forcing 07:54:47 it just obviously loses one stone for no benefit 07:57:03 and Alphago was looking at a -16 loss around then, which is large but not necessarily gamelosing 07:57:12 err, -14, I miscounted 08:04:45 hm now he says it's close 08:06:19 alphago was commonly believed to be winning before it went haywire 08:06:25 now it's probably losing 08:36:26 ais523: that A8 move looks like another case? 08:37:43 -!- haavard_ has joined. 08:38:54 -!- sewilton has quit (Ping timeout: 246 seconds). 08:38:54 -!- zemhill has quit (Ping timeout: 246 seconds). 08:38:54 -!- zemhill has joined. 08:38:54 -!- haavardp has quit (Read error: Connection reset by peer). 08:38:57 -!- sewilton_ has joined. 08:39:03 -!- erdic has quit (Ping timeout: 246 seconds). 08:39:24 -!- erdic has joined. 08:41:47 ais523: redmond seems to be recognizing the effect but he's just calling them forcing moves 08:43:07 oerjan: he's realised that alphago is playing forcing moves but not why 08:43:21 (it's a response to realising that your evaluation of the position was too optimistic) 08:44:32 whoa whoa whoa 08:44:43 ah 08:44:50 alphago resigned 08:53:09 -!- bender| has quit (Read error: Connection reset by peer). 09:03:26 3-1 09:03:42 Seems AlphaGo isn't unbeatable 09:07:35 -!- AnotherTest has joined. 09:11:09 -!- oerjan has quit (Quit: Nite). 09:14:35 cospiracy theory time: they lost on purpose 09:15:06 lee is almost a national hero and they were humiliating him too much 09:44:57 -!- bender| has joined. 09:45:47 -!- lynn has joined. 09:57:55 <\oren\> izabera: isn't it good to humiliate another nation's hero? 09:58:21 <\oren\> alphago is supposedly a british computer 09:59:03 \oren\, do you want all the Brits to be driven out of South Korea 09:59:23 Why is it good? 09:59:42 It's good if the other nation is your nation's enemy 09:59:45 But not otherwise 10:00:00 <\oren\> well it adds to your natin's hero's prestige to have beaten someone else's 10:30:08 -!- Reece` has joined. 10:36:42 -!- adu has quit (Quit: adu). 11:03:00 zzo38: In puzzle.6, how is Artificial Evolution being used? 11:07:40 And what's the goal? 11:24:52 -!- Reece` has quit (Quit: Leaving). 11:31:08 -!- boily has joined. 11:33:58 -!- boily has quit (Client Quit). 11:42:15 -!- ais523 has quit. 11:47:59 I'm late in the party and still I'm impressed of Lee's outcome 11:48:17 probably the best thing to both Lee and Google 11:49:20 -!- J_Arcane has quit (Ping timeout: 244 seconds). 12:21:04 -!- AnotherTest has quit (Ping timeout: 260 seconds). 12:23:04 spectators too 12:25:53 I'm glad we got to see that Alphago still displays classical MC tree search weaknesses (a horizon effect, essentially, leading to ludicruous moves when the AI is losing) 12:26:42 -!- jaboja has joined. 12:29:50 why are you glad? 12:30:24 is it something like "there's still a chance for humans" or...? 12:30:50 No. I was wondering whether the Alphago team had somehow solved this problem... now I know they didn't. 12:31:06 so... why are you glad? 12:31:30 <\oren\> to find out if they solved it I guess 12:31:34 Sorry, did you see the "we got to see" part of what I wrote? 12:32:28 yes 12:32:31 Anyway, I'm interested in Go AI progress ... as an observer. So yeah, what oren said. 12:32:37 doesn't look like good news 12:33:18 I like knowing where we stand. 12:34:32 If it hadn't done this while behind that would also have made me happy. But it takes a really strong player (or some artificial setup; I'm sure the Alphago team itself has also experimented with positions where Alphago would've been behind) to get Alphago into that position. 12:34:35 -!- idris-bot has joined. 12:35:52 -!- Melvar` has changed nick to Melvar. 12:35:53 izabera: The thing that annoys me about your question, btw, is that I initially wrote "I'm glad to see" and realized that this isn't quite what I meant. So I rephrased that part... and then you start asking why I'm glad :-( 12:36:14 sorry 12:38:21 And now I'm sorry that I made you apologize. Oh well, communication is hard. 12:40:23 And of course I'm also glad to see the human win, but that's on a much more emotional level, not really connected to my scientific curiosity. 13:20:46 heh heh, humans… you think you're better because you make something you think are the right moves when you're already losing 13:21:49 If you think those moves are somehow better or more elegant or something, you should have put that in the rules so we get more points for a match played elegantly, or something, rather than complaining that the bots don't do something you didn't ask for. 13:22:53 Also, congrats to both players. 13:24:10 b_jonas: you're not serious about the "humans" remark, right 13:25:08 Too bad I don't know Go well. ;d 13:25:10 :D* 13:30:46 b_jonas: The thing is, it's a situation where there are no "right moves" anymore; every move is losing. In such a situation, humans try to make the game more complicated (increase the variance of the likely outcomes), as far as it's possible without losing points; they bank on opponent's mistakes (which tend to be merely human)... Alphago apparently has not learned to do that; it assumes an... 13:30:52 ...almost perfect opponent, where this kind of strategy would just prolong the inevitable. 13:32:44 I'm sure it's a solvable problem (and one that a commercial Go program will have to solve; people will want to take handicaps against it, and then the computer will be behind for most of the game... There are some known approaches too, "dynamic komi" being perhaps the most promising) 13:33:51 int-e: maybe, but how much of that works in practice against such a strong player as Li Sedol? 13:34:32 Ultimately one needs some measure of how hard an overplay (technically a mistake, but one that is hard to refute, only incurs a small loss if refuted and is profitable otherwise) is to refute. 13:35:16 b_jonas: Well, the endgame is hard... it's easy to lose half a point here, half a point there, when moves still have sizes of 5 points an more. 13:40:00 and from what I've read the game was still quite close 20-30 moves before Alphago resigned; around that point it started to play forcing moves that lose points. 13:56:24 -!- jaboja has quit (Remote host closed the connection). 14:02:58 -!- J_Arcane has joined. 14:04:51 -!- earendel has quit (Ping timeout: 248 seconds). 14:53:00 Bernard Madoff wants to give me 100 million euros. 14:53:04 He regrets his crimes and wants my assistance in giving this money away to charity. 14:53:09 He's "rightly convinced that somebody of your statue [sic] will not stoop so low to derail in this kind of social and humanitarian task --". 14:53:13 I wasn't even aware I had a statue. 14:53:26 -!- Lord_of_Life has quit (Excess Flood). 14:53:52 well you have a coin 14:53:59 why wouldn't you have a statue as well? 14:54:14 That's true. And statues usually don't stoop, if they're well made. 14:55:37 -!- Lord_of_Life has joined. 14:56:37 -!- nys has joined. 14:57:10 -!- p34k has joined. 14:57:56 but I guess you could put a statue on track to derail a train 15:20:39 \oren\: I read someone's idea for ungridded Go once. In that version, two stones have to actually touch in order to be connected. A liberty is any spot where you could put a connected stone. 15:21:45 tswett: heh. someone did mention go on grids other than a plain rectangular grid, but I haven't heared of an ungridded one yet. 15:21:51 http://senseis.xmp.net/?GoOnABoardWithoutLines 15:22:00 in fact, wait, I might even have a link 15:23:12 there's the whole http://senseis.xmp.net/?Variants page... some links are broken though 15:23:39 in particular the one on http://senseis.xmp.net/?GeneralGraphGo :-( 15:24:25 hmm no 15:26:13 -!- lambda-11235 has joined. 15:36:58 -!- carado has quit (Ping timeout: 268 seconds). 15:38:15 -!- nys has quit (Ping timeout: 244 seconds). 15:41:12 So, looks like people like Bridge Go: http://senseis.xmp.net/?BridgeGo 15:46:58 So, I'm at my parents' place for the Easter break 15:47:05 Forgot one or two things 15:47:11 Such as my phone charger 15:47:28 And the doohickey to get my desktop to connect to wi-fi 15:49:14 Borrow a phone charger from them 15:50:10 -!- shikhin has changed nick to Their. 15:50:23 -!- Their has changed nick to shikhin. 15:54:14 -!- carado has joined. 15:54:54 b_jonas: that solves one of the issues 15:59:39 wait wait. Easter break? But Easter is more than two weeks away, isn't it? 16:01:12 b_jonas: I get a month off 16:01:47 b_jonas: minus the "more than"? (unless you insist on waiting until Monday) 16:02:56 int-e: um yes, sorry, exactly two weeks away 16:15:49 -!- bender| has quit (Ping timeout: 268 seconds). 16:20:26 -!- Reece` has joined. 16:25:30 -!- jaboja has joined. 16:32:33 `` seq 10 | head ---presume-input-pipe -c -5 16:32:46 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ 8 16:33:48 --- is a thing? 16:33:55 for secret options 16:34:04 :o 16:34:07 `` seq 10 | head ---presume-input-pipe ---disable-inotify -1 16:34:09 head: unrecognized option '---disable-inotify' \ Try `head --help' for more information. 16:34:24 `` seq 10 | tail ---presume-input-pipe ---disable-inotify -1 16:34:25 tail: option used in invalid context -- 1 16:34:32 `` seq 10 | tail ---presume-input-pipe ---disable-inotify -f 16:34:35 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ 8 \ 9 \ 10 16:35:17 `` touch x; rm ---presume-input-tty xc 16:35:19 `` touch x; rm ---presume-input-tty x 16:35:22 rm: cannot remove `xc': No such file or directory 16:35:25 No output. 16:37:57 fungot, which level are you stuck on? 16:54:17 -!- lambda-11235 has quit (Ping timeout: 260 seconds). 17:02:43 -!- lambda-11235 has joined. 17:11:23 -!- vanila has joined. 17:11:35 https://gist.github.com/rui314/3b66fe949b5ee3b21120 17:13:02 https://raw.githubusercontent.com/shinh/bflisp/master/bflisp.bf 17:14:28 -!- fungot has joined. 17:22:30 nice :) 17:23:35 how large a subset of c does it compile? 17:24:41 im sure you can find the answer by reading the source 17:31:37 -!- jaboja has quit (Ping timeout: 240 seconds). 17:35:04 -!- gremlins has joined. 17:35:36 -!- Reece` has quit (Ping timeout: 246 seconds). 17:45:55 -!- jaboja has joined. 17:49:16 -!- earendel has joined. 18:00:19 -!- sebbu2 has joined. 18:00:39 -!- sebbu has quit (Ping timeout: 268 seconds). 18:00:50 -!- sebbu2 has changed nick to sebbu. 18:01:53 -!- Sgeo_ has joined. 18:04:03 -!- Sgeo has quit (Ping timeout: 240 seconds). 18:04:16 https://twitter.com/senokay/status/709077093192077312 I'm not really good at bc. 18:04:21 dc* 18:06:04 :D cool 18:06:09 it computes pi? 18:43:44 -!- heroux has quit (Ping timeout: 244 seconds). 18:47:38 -!- Reece` has joined. 18:48:45 -!- gremlins has quit (Ping timeout: 246 seconds). 18:49:00 -!- Reece` has quit (Read error: Connection reset by peer). 18:59:51 -!- heroux has joined. 19:06:22 -!- XorSwap has joined. 19:23:35 fungot, do you have values that are static and some that aren't? 19:23:35 b_jonas: another t-shirt worthy phrase from rodgerthegreat x-d a language based on actual music. where the wiki files go 19:28:47 -!- AnotherTest has joined. 19:36:22 fungot: what does your t-shirt say? 19:36:22 olsner: should i do that? 19:37:04 `? fungot 19:37:05 int-e: no. you cannot solve the halting problem... and a political career ruined by the fact that we're whining about ook! on irc is that it's overloaded as the extension for scheme files written in elisp 19:37:24 fungot is our beloved channel mascot and voice of reason. 19:37:47 I like the idea of a political career being ruined by the fact that we're whining about ook! on irc. 19:38:46 maybe any one of us could've had a political career if it wasn't for this channel 19:39:19 You may be right. So thanks #esoteric for being here! 19:39:39 fungot for president 19:39:39 shachaf: where do you want the number of 19:40:32 fungot: what are your views on taxes 19:40:32 shachaf: oh well... 19:41:04 fungot: I concur 19:41:04 int-e: when your projects are there, o fnord. eihn siit silloin oo mit fnord." 19:41:25 fungot: but I suspect that's going too far 19:41:25 int-e: it's just a fnord sexpr to html converter... but right now i'm preoccupied with the oracle of bacon fat and bacon strips? yum. fnord saa fnord fnord verkkotunnuksia.', oh yes. 19:41:40 ^style 19:41:40 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 19:42:10 fungot: en puhu suomea 19:42:10 shachaf: strange layout. care about one thing. why isn't it just a different way no. i keep thinking of mold for some reason, i decided to write a mandelbrot for some esolang 19:42:11 fungot: ok, so you don't want to talk about healthcare. in that case, what are your views about the government interfering with the education system? 19:42:11 b_jonas: oh i must've seen her before then. all the standard stuff that pc-select does i have a non-vector version at my homepage is fnord lg n) 19:44:36 fungot: may the fnord be with you... 19:44:37 int-e: in poland, comics are free to implement it? seat of their pants?) those few hours the basement computer class was open for all. i cannot take this imperative madness, i have written an infix-to-prefix converter but it isnt what he though 19:45:45 random noise gets boring 19:45:56 fungot: who do you think should be the next us supreme court justice twh 19:45:56 shachaf: if you ask me 19:46:02 fungot: i am asking you 19:46:02 shachaf: yep. black lung." 20:11:09 -!- variable has joined. 20:16:11 -!- Vorpal has quit (Ping timeout: 244 seconds). 20:21:18 -!- XorSwap has quit (Quit: Leaving). 20:22:32 -!- Vorpal has joined. 20:25:46 -!- variable has quit (Quit: 1 found in /dev/zero). 20:28:05 -!- Vorpal has quit (Ping timeout: 244 seconds). 20:33:13 -!- Vorpal has joined. 20:40:03 -!- jaboja has quit (Ping timeout: 246 seconds). 20:50:50 -!- Phantom_Hoover has joined. 21:03:30 While the bug I have reported in SQLite has been fixed in the code repository much earlier than when 3.11.0 was released, it seem that the change is not merged into the released version until 3.12.0 though. Do you know why? 21:03:54 zzo38: Did you see my question above? 21:04:35 No, can you repeat please? 21:04:55 zzo38: In puzzle.6, how is Artificial Evolution being used? 21:05:15 O, well, it is on the stack. 21:05:24 What choices are being made? 21:05:35 The choices aren't made until it resolves. 21:05:41 Oh, right. 21:05:46 However, the target is Airdrop Condor. 21:05:52 -!- hppavilion[1] has joined. 21:05:54 Whoo. 21:05:58 OK then. 21:05:59 At Disney World. 21:06:00 What's the goal? 21:06:11 (Well, not yet, but I'm in Orlando) 21:06:23 You have to guarantee you can win; it is the default stipulation. 21:06:35 (See the Codex if this part is unclear) 21:06:35 (I'm going to Universal Studios /then/ DW) 21:06:43 What's next? Andlanda, GA? 21:07:05 Oooh, here's an idea for a board game 21:07:07 Enigma 21:07:36 Or maybe a digital board game 21:08:03 A board game where one side is the Axis, the other side is the Allies. The Axis creates encryption using the mechanics of the game, the Allies have to crack it 21:08:22 I went there last summer, too. Epcot was neat 21:08:29 Don't they have to crack each other's encryptions? 21:08:58 Best part is, you don't /know/ when the allies crack it, you have to calculate and make a new encryption when they do. But there's something that gives you an aversion to making a new code, so you have to be sure it's cracked 21:09:03 shachaf: It's asymmetric 21:09:22 The rest of the game is just battleship+risk 21:09:38 I think it'd have to be digitized for optimal effect 21:09:58 hppavilion[1]: But the Enigma cipher was symmetric. 21:12:20 shachaf: No, I mean the game is asymmetric 21:12:45 shachaf: And the cypher you use can be symmetric, or it can be asymmetric. Part of the game is making your own cypter 21:12:47 I like the idea fro the game 21:12:48 *cypher 21:12:55 vanila: My idea? 21:13:01 yeah 21:13:22 vanila: Yay! Of course, knowing me, I'll get bored of it in 3 days and never think about it again :/ 21:14:02 im the same :) 21:14:52 vanila: I'm still thinking about how to balance cyphers though; my first thought is to make it unbounded 21:15:09 But if I do that, there's nothing to prevent someone from implementing PGP at game startup 21:15:18 And thus winning automatically 21:15:35 maybe you could limite the compuutation people can do somehow 21:15:48 vanila: Yeah, duh xD 21:16:21 vanila: I was thinking that I make the encryption some sort of pseudo-ASM and require (a) you unlock commands and (b) every block costs you 21:16:31 (block = line) 21:16:52 vanila: But not a pure ASM, as that's complicated 21:17:08 You would instead use an ASM with access to JSON data 21:17:35 vanila: My favourite part of the game is that you're making actual encryption in it :) 21:17:54 Most games would start with a caearian cypher and slowly escalate into something hideous 21:18:52 vanila: I'm thinking that, in the game, you manufacture "objects" that you can "protect" 21:19:04 The more protected an object, the harder it is to steal 21:19:07 like eys? 21:19:08 keys 21:19:25 vanila: Not quite; this is about protecting the keys, actually 21:20:03 The best strategy is to have a "codebook" object (which is really just some JSON or an algorithm) and put as much protection as you can into it, because once the allies get their hands on both a device and a codebook, you're screwed 21:21:21 vanila: The key catalog (the thing that tells units how to encrypt/decrypt a message for each day) (which is not strictly necessary, but is advised) is an object 21:21:49 When you "protect" it, it gets harder for your enemies to obtain a copy of it 21:22:42 (You don't need a key catalog, but if you don't use one you're pretty much just using a fixed encryption that'll get cracked the moment they get a copy) 21:23:19 vanila: There will /also/ be tendency for error that occurs, with frequency proportional (or otherwise related) to code complexity 21:24:15 The tendency for error especially comes in any time you call random in your units. They use a very lopsided randomization algorithm. 21:24:30 So it's advised you keep all randomization at the toplevel 21:35:59 vanila: One of the best strategies in the game is to send the occasional junk transmission xD 21:36:52 that's clever 21:41:25 vanila: I just found that Scotch quality = 1/malts 21:42:11 vanila: I think Clockwork would be a fun language 21:42:34 what's Clockwork? 21:49:05 -!- MoALTz_ has joined. 21:52:35 -!- MoALTz has quit (Ping timeout: 248 seconds). 21:54:18 -!- MoALTz_ has changed nick to MoALTz. 22:01:08 [wiki] [[Libra]] N https://esolangs.org/w/index.php?oldid=46589 * Erinius * (+862) Created page with "'''Libra''' is a language that provides no real features, so the programmer must rely entirely upon libraries to do anything. These standard libraries use extremely esoteric t..." 22:04:12 [wiki] [[Libra]] https://esolangs.org/w/index.php?diff=46590&oldid=46589 * Erinius * (+111) 22:06:56 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:11:30 vanila: Like in actual clocks 22:11:52 ohh 22:11:59 that sounds very nice 22:15:11 `? break 22:15:13 `? fall 22:15:15 `? powerup 22:15:51 fall? ¯\(°​_o)/¯ 22:15:52 break? ¯\(°​_o)/¯ 22:15:53 powerup? ¯\(°​_o)/¯ 22:16:20 `? invincibility frames 22:16:21 invincibility frames? ¯\(°​_o)/¯ 22:16:55 whats this b-jonas 22:18:52 vanila: dunno. I think we once speculated on a language where if control falls out of too many braces at the time without a sentence break;ing the fall, you die, unless you cast feather fall before 22:19:37 -!- Melvar has quit (Ping timeout: 252 seconds). 22:19:37 -!- newsham has quit (Ping timeout: 252 seconds). 22:19:39 -!- Sgeo__ has joined. 22:20:05 -!- Melvar has joined. 22:20:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:20:33 -!- hppavilion[1] has joined. 22:20:43 -!- Sgeo_ has quit (Ping timeout: 252 seconds). 22:26:10 `? walk 22:26:11 walk? ¯\(°​_o)/¯ 22:26:53 `learn walk without return or you'll attract bugs 22:26:58 Learned 'walk': walk without return or you'll attract bugs 22:27:08 no wait, that makes no sense 22:27:12 `unlearn walk 22:27:13 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: unlearn: not found 22:27:23 ``` rm -v wisdom/walk 22:27:26 removed `wisdom/walk' 22:29:48 `forget 22:29:49 rm: cannot remove `wisdom/': Is a directory \ Forget what? 22:31:04 `? frenemy 22:31:06 frenemy? ¯\(°​_o)/¯ 22:31:24 Is the set of frenemies clopen? 22:31:26 `learn Frenemy is the relationship between Kirby and king Dee Dee 22:31:33 Learned 'frenemy': Frenemy is the relationship between Kirby and king Dee Dee 22:32:23 That seems like some inside joke no one else in the channel would know about. 22:32:32 But maybe it's just my knowledge that is lacking. 22:32:41 Just your knowledge. 22:33:10 Oh, there's a King Dedede. 22:33:18 `sedlast s/$/./ 22:33:25 No output. 22:33:27 Dedede? Is that his real name? 22:33:32 Yes. 22:38:40 `evil 22:38:41 KILL A PUPPY EVERY DAY. 22:38:49 lol 22:39:01 `cat bin/evil 22:39:02 cat "$(find evil -type f | shuf -n1)" | tr '[:lower:]' '[:upper:]' 22:39:10 `ls evil 22:39:13 313 22:39:23 i need these 22:41:51 vanila: Another one of my projects is actually making Kitten 22:42:13 `? fish 22:42:14 fish? ¯\(°​_o)/¯ 22:42:15 `? pie 22:42:16 I like pie \ I like pie 22:42:16 `? bread 22:42:18 bread? ¯\(°​_o)/¯ 22:42:18 `? bun 22:42:19 bun? ¯\(°​_o)/¯ 22:45:58 `evil 22:45:59 KILL A PUPPY EVERY DAY. 22:46:04 well 22:51:56 -!- hppavilion[1] has quit (Ping timeout: 250 seconds). 22:59:59 `? stupidity 23:00:00 stupidity? ¯\(°​_o)/¯ 23:00:03 `? soviet russia 23:00:04 soviet russia? ¯\(°​_o)/¯ 23:00:05 `? infinite 23:00:07 infinite? ¯\(°​_o)/¯ 23:00:10 `? taxes 23:00:11 `? yoda 23:00:11 taxes? ¯\(°​_o)/¯ 23:00:13 Yoda object-verb dialogue adopts. 23:01:21 -!- hppavilion[1] has joined. 23:06:09 -!- oerjan has joined. 23:16:08 -!- newsham has joined. 23:16:59 vanila: Yet another project of mine is making a good shell for windows xD 23:17:16 -!- p34k has quit. 23:17:16 how about making a good shell for linux 23:17:22 would love that... 23:17:32 lol windows 23:17:37 myname: Yep xD 23:17:43 cygwin -> shells -> pick one 23:17:51 izabera: Native windows 23:18:01 myname: I've tried getting Ubuntu running on this laptop, but it wouldn't load 23:18:19 cygwin -> shells -> choose one -> download source -> compile with msvc 23:18:28 lol 23:18:32 izabera: I mean a shell for windows that I designed on my own 23:18:43 the problem isn't the shell 23:18:55 download the gnu utils and you can kinda work with it 23:18:59 myname: It's a fun project I'm doing because I want to 23:19:13 what's your standard for a good shell? 23:19:14 [wiki] [[Gbagbo]] N https://esolangs.org/w/index.php?oldid=46591 * Qpliu * (+3758) Created page with "The Gbagbo programming language expresses calculations on bags. It is named after the former Ivory Coast President Laurent Gbagbo. ==Lexical structure== Single character to..." 23:19:21 izabera: Not cmd 23:19:27 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46592&oldid=46582 * Qpliu * (+13) /* G */ 23:19:29 powershell 23:19:56 izabera: Designed not because we need a shell, but because it's something that would be useful 23:19:58 that's not enough of a description 23:20:06 izabera: Not an afterthought 23:20:12 A full thought in and of itself 23:22:13 I'm currently making up commands 23:22:26 merge.wal: for 'x' $[2:] @ cat $x >> $1 23:23:01 the @ is a redirection that calls its lhs then its rhs until the lhs fails 23:23:42 for binds the name the first argument suggests to each successive item of the second argument each time it is called, failing when it runs out 23:23:50 And cat and >> behave exactly as you expect them to 23:23:53 so... it's like cat $foo > $bar where $bar is 1 and $foo is this weird "everything but the first" var 23:24:28 myname: Kind of 23:24:40 for x in "${@:2}"; do cat "$x" >> "$1"; done 23:24:42 in bash 23:24:49 `? mountaintop boatmaker 23:24:52 mountaintop boatmaker? ¯\(°​_o)/¯ 23:25:03 izabera: Mine's more legible? 23:25:20 myname: merge takes a destination filename then a list of filenames and appends each of the filenames in the list to the destination in order 23:26:01 that is exactly what i said 23:26:06 myname: OK, I wasn't sure 23:26:21 myname: I wasn't sure whether what you said would have the behavior I expected 23:26:23 cat "${@:2}" >> "$1" you could also write it like this in bash, although it's not entirely equivalent because the file is only opened once 23:26:28 there is some $@ or the like which is "every argument but the first" and would do exactly what you wnt 23:26:43 izabera: hard disadvantage 23:26:43 myname: Cool. I like mine better. 23:27:32 myname: I'm not doing this for practicality, I'm doing it to improve my knowledge of PX 23:27:48 (PX is like UX, but the users are programmers themselves) 23:28:06 myname: Also, this way I have a shell that I understand 100% perfectly 23:28:21 (+-90%) 23:30:32 myname: What commands are necessary for a good shell I wonder... 23:30:54 the commands don't make the shell 23:30:59 myname: The builtins do 23:31:07 Partially 23:31:22 -!- lynn has quit (Ping timeout: 250 seconds). 23:32:05 The primary ones I have so far are echo, cat, cd, df (delete file), chk (evaluate its argument and fail if it is false), chk.f (fail if the flag its argument talks about did not occur in the flags), and for (the for mentioned above) 23:32:20 why is cat a builtin 23:32:32 why is df a builtin 23:32:32 myname: Because... um... I didn't know how else to read a file? 23:32:40 myname: Good point, I guess 23:32:45 launch the external cat command? 23:32:49 izabera: Oh, right 23:33:13 the actually needed builtins are only a few 23:33:18 cd is one of them 23:33:21 myname: I heard 23:33:32 Those are builtins, and I have a basic mv (with -d to delete the source) and merge, which was explained above 23:33:40 commands that do something meaningful to the shell's internal state need to be builtins 23:33:45 Then there are a few calculator languages launched from shell commands 23:33:58 But those are more external programs than commands 23:34:04 i am not sure if an echo executable would make sense 23:34:18 `` type -a echo 23:34:20 echo is a shell builtin \ echo is /bin/echo 23:34:55 myname: echo is usually builtin, AFAIK 23:34:56 i'm surprised by how fast it replied 23:36:46 Hm... 23:37:17 ? unary redirector (well, not really redirection but some kind of modifier) just checks if the command it modifies succeeded 23:37:24 I think I don't have something for that yet 23:38:20 what should the check do? 23:38:34 it sounds like: if true then true else false 23:43:10 if common linux shells don't have it, there is probably a reason 23:44:30 common linux shells have a lot of idiosyncrasies 23:44:42 very stupid ones 23:46:04 https://github.com/izabera/shellnotes i've been keeping a list 23:53:32 `? lagmonster 23:53:36 lagmonster? ¯\(°​_o)/¯ 23:54:49 `? CHOAM 23:54:50 CHOAM? ¯\(°​_o)/¯ 23:56:42 `? wat 23:56:43 wat? ¯\(°​_o)/¯ 2016-03-14: 00:02:38 Gah! Must switch projects again! 00:02:41 Damn you brain! 00:02:59 vanila: What would be great for Kitten? 00:03:15 I don't know what kitten is 00:03:48 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:05:04 `? vespene 00:05:05 vespene? ¯\(°​_o)/¯ 00:07:58 vanila: Check the topic 00:19:37 -!- boily has joined. 00:20:18 hellœrjan. 00:22:20 `wisdom 00:22:22 int-e/int-e är inte svensk. 00:23:02 boheily 00:23:36 `le/rn wat/Angkor Wat is a famous temple complex in Cambodia. 00:23:39 Learned «wat» 00:24:00 ooh 00:24:15 ooh? 00:24:27 `learn_append wat It is the largest religious monument in the world. 00:24:29 -!- lambda-11235 has quit (Quit: Bye). 00:24:29 Learned 'wat': Angkor Wat is a famous temple complex in Cambodia. It is the largest religious monument in the world. 00:24:43 * oerjan did not know that 00:24:49 -!- lambda-11235 has joined. 00:33:06 `quote 112 00:33:07 112) Some people are reasonable, some people who are not reasonable insist on changing things so therefore progress depends on not reasonablepeple 00:33:54 hellochaf. 00:34:00 yowly 00:34:11 @yowly 00:34:11 While you're chewing, think of STEVEN SPIELBERG'S bank account ... his 00:34:11 will have the same effect as two "STARCH BLOCKERS"! 00:35:06 `? attack 00:35:07 attack? ¯\(°​_o)/¯ 00:35:48 attack? 00:36:46 No. I was wondering whether the Alphago team had somehow solved this problem... now I know they didn't. <-- . o O ( do human brains have horizon effects ) 00:37:13 oerjan: probabl! 00:37:14 y 00:37:22 I don't think tehy do 00:37:25 (was that an instance... I hope not...) 00:37:32 int-e: *MWAHAHAHA* 00:38:39 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 00:39:50 oerjan: do you recall enough of ghc's #8827 to have an idea how safe or unsafe Data.Coerce is? 00:40:16 -!- hppavilion[1] has joined. 00:40:34 vanila: but perhaps you just say that because you didn't think about it deeply enough. 00:40:42 :P 00:40:57 vanila: You know J? 00:41:06 there was a very funny video of someone who made a NES AI 00:41:09 hppavilion[1], a bit! 00:41:09 vanila: #esoteric should make something like that. 00:41:18 and then when he tried it on tetris it sucked 00:41:24 An uber-terse array language of awesomeness 00:41:28 and when it almost lost it just paused the game 00:41:37 and kept it paused so that it would never lose 00:41:47 oerjan: I think so, indirectly 00:41:47 that's a brilliant strategy! 00:41:56 there are some safety mechanisms to avoid them but not perfect 00:42:14 `? defense 00:42:16 defense? ¯\(°​_o)/¯ 00:46:46 int-e: any unsafeness is due to modules defining data types with unexposed constructors that are not meant to be convertible, without considering the role mechanism? 00:47:44 oerjan: Looking at https://ghc.haskell.org/trac/ghc/wiki/SafeRoles I gather that type roles are respected, and hence one cannot break the reprentational aspect of the type system through coerce; at the same time it may still be possible to break abstractions... how bad is that? Can I use `coerce` to convert runST into unsafePerformIO, say? [probably not because of the rank 2 type, but maybe... 00:47:48 so all the discussion is about how far to safeguard against that. there is in any case usually no breach of memory safety, only invariants 00:47:50 ...there are other constructs like that...] 00:48:49 int-e: in Unsafe mode you can break abstractions, i don't remember if coerce is supported in Safe mode. 00:49:03 (and ST has a nominal type role for its phantom type argument...) 00:49:13 heh 00:49:16 oerjan: the module is Unsafe 00:49:31 @let import Control.Monad.Free 00:49:33 : 00:49:33 The package (profunctors-5.1.1) is required to be trusted but it isn't! 00:50:15 int-e: i'm not talking about the module you're importing, but the one you're defining 00:50:31 This is the reason why I'm asking... profunctors' Data.Profunctors.Unsafe module is marked "Trustworthy" and effectively exports `coerce`. 00:50:32 an Unsafe module can use unsafeCoerce, after all. 00:51:12 wheras Data.Coerce is Unsafe. 00:51:16 int-e: oh, i'm not clear enough about the current state to say whether that's bad 00:51:17 i don't know why people still bother with haskell 00:51:18 @let import Data.Coerce 00:51:19 .L.hs:75:1: 00:51:19 Data.Coerce: Can't be safely imported! 00:51:19 The module itself isn't safe. 00:51:53 it is possible that you need Unsafe mode just to _use_ coerce, even if it's imported from somewhere trustworthy 00:52:00 i don't quite remember 00:52:20 -!- lambda-11235 has quit (Quit: Bye). 00:52:30 vanila: i barely do now, i don't have ghc on my laptop :P 00:52:45 oerjan: "effectively" means I can define coerce' a = (#.) undefined (const a) undefined 00:52:49 I think it would be nice to write a new haskell compiler 00:53:04 -!- lambda-11235 has joined. 00:53:06 and it has just the same type as coerce. 00:53:10 hmm 00:53:23 or perhaps you mean inferring Coercible constraints is restricted 00:53:24 What do you al feel about modern haskell? 00:55:43 vanila: are you getting at anything in particular, or are you just trolling? 00:55:47 um ok 00:55:53 good for you 00:56:21 I do have complaints about Haskell... but no more than about other programming languages that I use. 00:56:28 not interested dude talk to someone else 00:56:33 -!- deltab has quit (Ping timeout: 240 seconds). 00:56:47 Ah, trolling it is then. Fine. 00:57:00 you're an idiot 00:57:01 or perhaps you mean inferring Coercible constraints is restricted <-- yeah 00:58:26 vanila: are you aiming for a ban tdnh 00:58:45 @slap vanila 00:58:46 I don't perform such side effects on command! 01:00:20 lambdabot: you should use this chännel's traditional weapons. 01:00:34 It didn't work? I tested it on myself in a private chat first. Oh well. 01:00:53 lambdabot is somewhat random 01:03:44 -!- deltab has joined. 01:03:55 boily: like parenthesis? 01:04:29 oerjan: okay, then the puzzle is why Data.Coerce is not marked as Trustworthy... 01:05:36 oerjan: (I played around a bit, and yes, it looks that Coercible inference is restricted in SafeHaskell. Thanks for the hint!) 01:07:19 b_jhellonas. unbalancing parentheses is a crime against humanity. 01:07:21 * boily eyes fungot 01:07:22 boily: last time i checked elucidatewhy is to become proficient in scheme programming by seeing how i can get it's just what oklopol and bsmntbombdood did have the occasional orgies, though. 01:07:50 int-e: on thinking, i think throwing around trolling accusations shouldn't be done this lightly 01:08:33 oerjan: Well, I guess I see why; it's really about giving library authors time to sprinkle `nominal` type constraints in their code where needed (like Data.Map). 01:12:06 int-e: i think the role considerations just haven't converged to a stable state yet. 01:12:34 -!- lambdabot has quit (Quit: hey, be careful with that cable!). 01:12:58 0.0 01:13:05 lambdabot quit !? 01:13:09 also, #8827 isn't implemented yet 01:13:21 hppavilion[1]: i assume int-e is reconfiguring things 01:13:29 oerjan: Ah 01:13:33 oerjan's right 01:13:35 possibly related to our coerce discussion 01:13:37 oerjan: Wait, int-e is in charge of lambdabot? 01:13:42 hppavilion[1]: yes 01:13:53 oerjan: *miniature mind blow* 01:13:57 :P 01:13:58 -!- vanila has left ("Leaving"). 01:14:11 *not a big mind blow, but still technically a mind blow* 01:14:23 (I've decided to trust profunctors for now...) 01:14:32 int-e: Profunctors...? 01:14:41 oerjan: For some reason, I can never get my mind off the concept of a language called Unilang 01:14:44 hppavilion[1]: one of ekmett's many libraries 01:14:52 int-e: Ah? 01:14:58 my memory is a bid vague, i'm not entirely sure whether int-e came here to the channel of his own accord, or whether he tagged along with lambdabot after we nagged to get it here 01:15:19 https://hackage.haskell.org/package/profunctors 01:15:30 he may not have been the maintainer back then 01:15:41 oerjan: I came here on my own accord the first time... not sure about my return ;) 01:15:56 s/on/of/ (meh) 01:17:06 -!- lambdabot has joined. 01:17:22 But it was probably unrelated to lambdabot. 01:17:25 @bot 01:17:30 :) 01:18:33 i was going to suggest on/of are both acceptable, sadly stackexchange disagrees with me 01:18:55 but one comment suggests confusion with "on my own account" 01:22:49 If it hadn't done this while behind that would also have made me happy. But it takes a really strong player (or some artificial setup; [...] <-- afaiu go has a pretty extensive handicap system, so not _that_ artificial... 01:24:15 * oerjan chuckles evilly at boily 01:25:11 huh? 01:25:25 boily: Unbalanced parens. 01:25:30 oerjan: actually the first time I came here the esolangs mailing list was still functioning; perhaps it mentioned the IRC channel? 01:25:46 perhaps 01:42:11 eek is easter that soon 01:43:57 Easter Approaches. The Holy Zombie will Come and Enlighten us All. 01:44:25 > (61 - 32) * 5 / 9 01:44:26 16.11111111111111 01:44:45 I've got a framework for a bot working! 01:44:54 > 21 * 9 / 5 + 32 01:44:56 69.8 01:45:44 hppavellon[1]! 01:45:52 ahoily! 01:55:56 hmm. well, your head exploded yes that's a good point to stop reading ;) ... reading old logs is fun :) 01:58:57 -!- boily has quit (Quit: COLLECTIVE CHICKEN). 01:59:02 `? sand 01:59:13 sand? ¯\(°​_o)/¯ 01:59:50 `learn Sand is what microprocessors are made of. GregorR invented it. 01:59:59 Learned 'sand': Sand is what microprocessors are made of. GregorR invented it. 02:00:07 if you don't stop reading when your head explodes, severe side effects may occur. 02:00:48 ( I wrote my compiler! And I built my processor, mother board, RAM, hard disk etc from sand. Sand that I /invented/!) (context was trust) 02:01:02 Gregor dropped the R eventually, i guess the people revolted against him. 02:01:03 trust in software and hardware, that is. 02:02:52 and he had only got cheap deathrayatcost defenses that failed at the worst possible moment 02:05:38 clearly he should have kept to the build everything yourself policy 02:06:38 I'm working on thoof4irc 02:17:17 !ps 02:21:28 Hm... 02:21:37 The bot is a bit buggy 02:22:40 !sh ps 02:22:41 ​\ \ Signal 18 (CONT) caught by ps (procps version 3.2.8). \ Please send bug reports to or 02:22:54 If anyone wants to experiment a bit with it, I can add a help and join it to #esoteric 02:23:06 But it doesn't seem to always get the messages I send it 02:23:42 The trigger is %% 02:23:43 ^prefixes 02:23:43 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ . 02:23:46 hmm. I'm not doing much esoteric stuff anymore. 02:24:03 int-e: date? 02:24:12 2006-05-27 02:24:21 O KAY 02:24:24 -!- Lilly_Goodman has joined. 02:24:35 -!- hppavilion[1] has quit (Quit: Leaving). 02:24:49 Hola 02:24:51 hello 02:27:42 oerjan: so yeah, my return in late 2013 is connected to me taking over lambdabot 02:28:07 @let import Control.Monad.Free 02:28:08 Defined. 02:28:11 @undef 02:28:11 Undefined. 02:28:12 fine. 02:28:23 in any case, good night 02:33:03 -!- hppavilion[1] has joined. 02:33:06 -!- hppavilion[1] has quit (Client Quit). 02:37:13 -!- hppavilion[1] has joined. 02:37:38 Lilly_Goodman: ¿Tiene algún interés en los lenguajes de programación esotéricos? O la programación en absoluto? 02:37:42 @messages- 02:37:42 oerjan said 4m 14s ago: CHICKEN :P 02:38:01 hppavilion[1]: si 02:38:03 Probably was not supposed to put that public xD 02:38:21 Lilly_Goodman: ¿Qué tipo de programación? 02:39:50 Lilly_Goodman: Qué lenguajes de programación lo sabes? 02:40:49 hppavilion[1]: se el de castellano y me interesa conrespecto a la computadora en si 02:41:34 Lilly_Goodman: 02:41:34 Google no se está traduciendo que adecuadamente. ¿Se puede reformular? O corregir los errores tipográficos? 02:42:51 oerjan: Would an IRC bot that does category theory be of interest to this channel? Or does lambdabot already serve that function? 02:42:53 hppavilion[1]: me puedes decir el hardware, se compone de la unidad central, los periféricos de entrada y salida?? 02:43:32 Lilly_Goodman: No estoy seguro de lo que estás pidiendo 02:44:34 una pregunta... el hardware de la computadora, se compone de la unidad central, los periféricos de entrada y salida? responde 02:44:56 Lilly_Goodman: 02:44:57 Eso suena bastante bien 02:45:24 Por otra parte, yo no soy un tipo de hardware 02:47:27 hppavilion[1]: de que parte eres? 02:48:02 shachaf: Could you figure out my puzzle now? 02:48:22 Lilly_Goodman: Hago la programación de computadoras. La mayoría de nosotros. Pocos de nosotros comprende el metal desnudo, por lo que yo puedo decir. 02:49:00 zzo38: I didn't look at it since yesterday. 02:49:13 hppavilion[1]: a esta bien... 02:49:47 Lilly_Goodman: OK 02:50:33 hppavilion[1]: tengo otra pregunta,,, para introducir cambios en un documento es necesario tipiarlo todo de nuevo? responde 02:50:54 shachaf: Would a bot with category theory as a builtin function be of interest to #esoteric? Assuming λbot doesn't already fulfill that function? 02:51:31 Lilly_Goodman: 02:51:31 tipiarlo no se traducirá 02:53:18 hppavilion[1]: tengo otra pregunta,,, para introducir cambios en un documento es necesario escribirlo todo de nuevo? responde 02:53:44 Lilly_Goodman: No 02:54:04 hppavilion[1]: dime el porque de tu respuesta 02:54:11 ¿Dónde está este documento? (También, tener en cuenta #esoteric NO es el soporte técnico) 02:54:41 Lilly_Goodman: 02:54:41 Sería estúpido si tiene que volver a escribir un documento para hacer un cambio menor 02:55:00 I don't know what such a bot would be. 02:55:20 shachaf: A bot that includes a simple command API for manipulating categories 02:55:28 hppavilion[1]: jajajaja es para una tarea y no puedo responder asi 02:55:28 shachaf: And category theorizing 02:56:10 Lilly_Goodman: Pero ¿dónde está el documento que necesita cambiar? ¿Qué software? 02:57:43 Lilly_Goodman: Escucha, parece agradable, pero realmente no parece que este es el canal que está buscando. Creo que se debe encontrar en otro lugar que se adapta mejor a lo que usted está tratando de logros como un canal de soporte técnico con el español como idioma principal. 02:58:27 I don't know what that would be like. 02:58:58 -!- sajonara has joined. 02:59:13 hppavilion[1]: en Word 03:00:23 Lilly_Goodman: 03:00:23 Por favor. Encontrar un canal que hace de soporte técnico. Este canal no está hecho para responder a sus preguntas de la tecnología, que está aquí para geeks que tienen un lugar para pasar el rato. 03:01:51 donde pueden que me ayuden 03:22:09 `? frenemy 03:22:20 Frenemy is the relationship between Kirby and king Dee Dee. 03:38:51 shachaf: vaporware told me to tell you that it is scow 03:39:17 What is vaporware? 03:39:24 shachaf: Here's a preliminary approximation of a category theory CMD: http://pastebin.com/GGWvepfX 03:39:36 shachaf: Someone on ifMUD is named "vaporware" 03:39:43 They told me to tell you 03:39:53 zzo38: Aha. I know who that is. 03:40:23 zzo38: Tell vaporware that it's too good. 03:40:53 -!- sajonara has quit (Quit: Leaving). 03:43:44 http://ifmud.port4000.com:4001/finger?user=vaporware 03:44:31 shachaf: So what did I do wrong? 03:45:00 Posted a link to pastebin.com without using raw.php 03:45:07 http://pastebin.com/raw/GGWvepfX -- so much better 03:45:26 *fine* 03:45:38 http://pastebin.com/raw/GGWvepfX 03:45:40 Anyway, I don't think that's a helpful way of thinking about categories. 03:45:41 Happy? 03:45:48 For the thing that people usually do with them. 03:45:49 shachaf: That's for finite categories 03:45:51 But maybe it is. I don't know. 03:46:02 shachaf: That's just the API for building categories, isn't it? 03:46:28 shachaf: There'll also be ways to build bigger (i.e. infinite) categories, if I do it right 03:46:41 make sure you can build large categories hth 03:49:36 zzo38: Can I talk to vaporware without making an account? 03:51:09 shachaf: Yes; enter "connect guest" when it asks you to login 03:51:19 And then you can type "page vaporware =" and the message 03:52:49 Can I also talk to them in a public place? 03:52:52 Like an IRC channel? 03:53:27 Who's Olly? A bot or a human? 03:53:47 You can't use channels if you are a guest 03:53:58 But you can type "lounge" to enter the same location they are in 03:54:09 And then enter text with a quotation mark at first to say stuff 04:01:21 shachaf: Yep, that was the goal 04:02:04 donde hay un grupo que se pueda preguntar en español 04:02:27 aqui 04:03:45 Lilly_Goodman: Sorry I am not very good Spanish, this channel is for English. (Possibly some people can write/read other language too but mostly is just commonly English, therefore I would expect English writing please.) 04:05:00 shachaf: So how should the interface work for infinite categories? Obviously, you can't add arbitrary morphism 04:05:02 s 04:05:12 zzo38: Am I making a fool of myself in the lounge? 04:05:33 I don't know, although you are allowed to go into other location too if you prefer 04:05:51 But then how will I know what people are saying in the lounge? 04:05:54 (Including back into the starting location, or into the apartment building) 04:06:25 You can type "@recapchannel lounge" to read it. (If you have an account this can be abbreviated to "@recap lounge") 04:06:33 -!- Lilly_Goodman has quit (Ping timeout: 250 seconds). 04:16:37 zzo38: How do I find out where you are? 04:16:56 -!- dingbat has joined. 04:17:32 shachaf: You can use the "finger" command; type "finger zzo38" or "finger #20071" 04:17:49 How do I get there? 04:18:03 To get to the apartment building from the lounge, go east, and then go south to reach apartment building, and go to the top floor 04:18:12 zzo38: Oh, I can also type "where zzo38". 04:18:13 And then go into the east hall 04:18:22 Yes that works too 04:18:31 (I didn't know that, now I know) 04:31:13 -!- puckipedia has quit (Ping timeout: 240 seconds). 04:32:49 -!- treaki__ has joined. 04:34:10 I can describe workings of ifMUD if you want it 04:35:35 I can also tell you what things to set if you do have account 04:35:43 -!- puckipedia has joined. 04:36:03 -!- treaki_ has quit (Ping timeout: 240 seconds). 04:37:27 The command " to say to the current room, while ; is say to your current channel, : is describe yourself to do something (for example ": does something"), . followed by a name and space and text to whisper, and % followed by a channel name and space and text allows you to type to a specific channel which is not necessarily your current channel. 04:37:32 `? sparta 04:37:39 sparta? ¯\(°​_o)/¯ 04:37:42 -_- 04:38:48 What's the difference between page and whisper? 04:39:05 If you do have account, then the first few things you might want to do are to use @desc to write a description for yourself (enter "@desc me =" and a description); the description can also contain a JotaCode program if you want, and to use @option to set options. 04:39:39 shachaf: They work similarly. You might use whisper for in-character and page for out-of-character, although nobody really cares about such distinction much. 04:40:38 They also save the messages to different lists so that you can recap one or the other 04:43:18 Also guests cannot use @exec either; registered users can use @exec to execute JotaCode programs and then it will tell you the answer, for example "@exec @mul(6,7)" is a valid program. 04:55:38 Each object has fields and flags. You can view fields of objects someone else programmed only if the "examinable" flag is set on that object, although some fields are private and cannot be seen at all (even by the object's owner!). This includes your current channel, however there is a hack you can use to programmatically access your own current channel (setting yourself examinable will not allow other people's programs to access your current chan 04:58:16 `le/rn sparta/WE. DON'T. KNOW. ANYTHING. ABOUT. SPARTA! 04:58:20 Learned «sparta» 05:01:38 `? c++ 05:01:39 Along with C, C++ is a language for smart people. 05:01:56 `? haskell 05:01:58 Unbound implicit parameter (?haskell::Wisdom) \ arising from a use of implicit parameter `?haskell' 05:03:55 shachaf: So what's the optimal way to implement categories if the way I tried isn't good? 05:04:10 Is it to give it a function to tell it whether or not an arrow can occur? 05:06:59 Hm... 05:08:30 `? c 05:08:32 C is the language of��V�>WIד�.��Segmentation fault 05:08:57 lambda-11235: Are there any good models that don't have a ubiquitous language for them? 05:09:07 For declarative programming? 05:09:22 (Logic :: PROLOG, λ-calc :: Haskell) 05:14:29 -!- XorSwap has joined. 05:22:54 Implement categories for what? 05:23:21 hppavilion[1]: For dependently typed languages, representing λΠω on the λ-cube, there is the choice of Agda, Coq, or Idris, without any of them necessarily being the goto language. 05:28:46 Looking through Wikipedia, dataflow programming might be one such model, although I'm not very familiar with that paradigm or the languages that implement it. 05:28:47 INTERPROVE- for INTERCALian mathematicians 05:28:55 It has, for example, the REEL type 05:30:04 CHALLENGE: Haskell with only tuples, lists, and bools 05:31:48 lambda-11235: What could be done as a type theory that makes absolutely no sense? 05:32:09 hppavilion[1]: You only need lists. 05:32:17 lambda-11235: Oh, right 05:32:21 []=0, [[]]=1 05:32:35 lambda-11235: Wait, but what do you do for tuples? 05:33:05 hppavilion[1]: []=0, 1=[[],[]], otherwise they won't be the same type. 05:33:28 Oh 05:33:31 Right, right 05:33:39 Why do you need tuples? 05:33:52 lambda-11235: They just seem like they'd be useful 05:34:46 Then why only use tuples, lists, and bools if it should be useful? 05:35:27 Actually, all you need is functions. 05:36:50 lambda-11235: I'd like to see a way of constructing functions on pure lists out of pure lists 05:37:05 (Non-homogenous) 05:38:46 hppavilion[1]: What do you mean? f :: [a] -> [a]? 05:44:12 As far as what can be done with type theory that is hard to make sense of, check out http://homotopytypetheory.org/. 05:46:27 I haven't found interest or time to read it yet, and to be honest I'm only starting to learn type theory. 05:47:27 But I know it's a HoTT topic in the type theory community. :) 06:13:14 -!- hppavilion[1] has quit (Ping timeout: 260 seconds). 06:16:36 -!- hppavilion[1] has joined. 06:19:50 -!- bender|_ has joined. 06:35:23 Hm... 06:35:34 What I really want to do right now is put a new spin on functional programming 06:41:04 Probably... hm.... 06:42:33 -!- XorSwap has quit (Quit: Leaving). 06:47:15 -!- lambda-11235 has quit (Quit: Bye). 07:04:33 Hm... 07:04:37 What to do, what to do 07:05:16 -!- Effilry has joined. 07:08:08 * hppavilion[1] bashes his head against the wall of #esoteric 07:08:37 that's not how you work your brain hth 07:10:06 oerjan: Yeah 07:10:20 what's some good tea twh 07:10:24 It's late, so I'm not drugged up anymore 07:10:31 And thus my brain is even worse at focusing than usual 07:11:40 I still want to play Nomic, but I can't get anyone to play xD 07:13:32 this latest girl genius arc seems to be a run of chekhov's guns fizzling out 07:15:26 -!- izabera1 has joined. 07:15:28 -!- heroux has quit (*.net *.split). 07:15:28 -!- vodkode has quit (*.net *.split). 07:15:29 -!- atehwa has quit (*.net *.split). 07:15:29 -!- Nithogg has quit (*.net *.split). 07:15:29 -!- FireFly has quit (*.net *.split). 07:15:29 -!- izabera has quit (*.net *.split). 07:15:29 -!- Deewiant has quit (*.net *.split). 07:16:05 -!- heroux has joined. 07:16:06 -!- vodkode has joined. 07:16:06 -!- atehwa has joined. 07:16:06 -!- Nithogg has joined. 07:16:10 shachaf: from my coffee shop days, i recall rooibos 07:16:14 -!- Deewiant has joined. 07:17:17 are you past your coffee shop period 07:17:22 what period are you in now twh 07:17:50 right now i seem to be in an italian restaurant period 07:18:24 -!- kline has quit (Ping timeout: 276 seconds). 07:20:48 oerjan: Is it true that Norwegian pizza is the best in the world? 07:22:02 Foods in Canada are better than others 07:22:18 (Even if it is the same chain of restaurant in a different country) 07:23:14 shachaf: yep. specifically the norwegian pizza made by kurds running italian restaurants. 07:23:33 zzo38: Why? 07:23:51 *Sigh* 07:24:04 I'm setting up nomic over Github. Now to find somebody to play 07:24:14 s/somebody/some people/ 07:24:27 Does it use VoIP? 07:24:28 I might adjust the rules more frequently 07:24:39 I would play if it used VoIP, except that I have no mic. 07:24:44 shachaf: I don't even know what VoIP is xD 07:24:46 Voice over IP? 07:24:50 Yes. 07:25:08 Is that just basically skype for classical hackers? 07:25:48 oerjan: Well, I heard the chains are the best. 07:25:53 Like Peppes and the other one. 07:26:29 shachaf: I don't know why, but in my experience, it is. 07:26:42 zzo38: Which other countries have you tried? 07:29:22 United States 07:29:30 Which states? 07:29:34 Also some stuff imported from England 07:29:51 -!- kline has joined. 07:30:02 I forget which states, but I think the ones near British Columbia 07:34:35 How about singleton nomic? Nomic where the entire game must be governed by a single overly-complicated rule 07:34:41 But a still-atomic rule 07:35:21 shachaf: Well, my nomic doesn't have VoIP unfortunately 07:35:31 i just wanted to make a pun hth 07:35:34 Oh 07:35:38 What was the pun? 07:37:44 ba-dum-tss 07:51:58 -!- J_Arcane_ has joined. 07:53:41 -!- J_Arcane has quit (Ping timeout: 244 seconds). 07:53:53 -!- J_Arcane_ has changed nick to J_Arcane. 08:04:26 `pastequotes zzo38 08:04:32 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.9775 08:05:31 `pastequotes http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.23629 08:09:39 Many of them are out of context, whether it is me or someone else who wrote it. 08:11:39 Isn't it? 08:21:27 I use the same IRC client that I had before, except now it is Linux because my old computer broke (I believe the CPU failed) 08:24:37 -!- oerjan has quit (Quit: wroom). 08:26:00 zzo38: Why do you disallow * in your robots.txt? 08:26:57 -!- AnotherTest has joined. 08:27:30 shachaf: Because I want to. 08:28:04 If you want to make backup of a few files that is OK though, but don't do too much please 08:28:19 I wanted to search the website with Google. 08:29:44 Well, use a different program. 08:31:14 What exactly are you looking for? 08:31:21 Maybe I know what file it is that you would need 08:32:17 I already forgot. 08:34:47 -!- hppavilion[1] has quit (Ping timeout: 250 seconds). 08:36:04 If you want to make your backups public that is OK too, whether the files are modified or unmodified, but please do not mark the modified files as exact copies of the original. 08:36:22 How do you mark files as exact copies? 08:38:00 That is up to you I suppose; a magnet URI might be one way I suppose 08:41:21 zzo38: whoa whoa whoa, http://zzo38computer.org/textfile/miscellaneous/zzo38_quote.txt 08:41:35 zzo38: In this case I think I was looking for the Magic: The Gathering PHP file. 08:41:39 But I could probably find it another way. 08:41:48 But I was hoping to look for all sorts of things. 08:42:08 Is this what you want? http://zzo38computer.org/mtg/cardfile.php 08:42:16 -!- izabera1 has changed nick to izabera. 08:43:43 Yes. 08:43:49 But I'll just lose it. 08:44:12 You should add a /sitemap.xml file 08:44:15 Bookmark it if you do not want to lose it, that would always be the way anyways 08:44:50 That doesn't work because sometimes I use a different computer. 08:44:51 I also think XML isn't very good for stuff other than text document markups anyways 08:44:57 I agree. 08:45:08 How about a regular index.html file that lists different parts of the website? 08:45:53 No I don't need such thing the different part don't even go together, there is just various stuff on the server 08:46:29 Just to help people find things. 08:46:40 What all the parts have in common is that you made them. 08:46:55 Actually it doesn't. Some files come from elsewhere 08:47:30 Well, you can leave those out. 08:48:33 Even not everything I have written may necessarily even be on my server since it may be something else, and in other cases also the protocol might be different too; there is too many possibilities 08:49:54 Well, all the things on the server available via HTTP are available via HTTP from that server. 08:50:02 That's what they have in common. 08:50:34 -!- hppavilion[1] has joined. 08:50:58 No even that is not true, some things are available via HTTP from other server 09:08:49 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 09:14:00 -!- hppavilion[1] has joined. 09:17:25 -!- earendel has quit (Ping timeout: 244 seconds). 09:27:45 -!- fractal has quit (Ping timeout: 244 seconds). 09:35:33 -!- J_Arcane has quit (Ping timeout: 240 seconds). 09:45:59 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 10:41:24 -!- lynn has joined. 10:47:31 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 11:15:25 hmm, how would one find a sub-TC language that has an undecidable halting problem? 11:21:17 I should ask that when ais523 is here 11:27:18 -!- earendel has joined. 11:39:28 -!- bender|_ has quit (Ping timeout: 268 seconds). 11:43:52 -!- bender|_ has joined. 11:50:25 -!- hppavilion[1] has joined. 11:59:24 -!- fractal has joined. 12:07:45 -!- bender|_ has quit (Remote host closed the connection). 12:08:33 -!- bender| has joined. 12:16:40 -!- AnotherTest has quit (Ping timeout: 244 seconds). 12:20:22 -!- copumpkin has joined. 12:20:52 -!- lynn has quit (Ping timeout: 264 seconds). 12:28:45 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 12:33:33 -!- bender| has quit (Remote host closed the connection). 12:41:44 is go also played on tori? 12:42:15 I'd say, not really. 12:42:39 why not? 12:43:10 The borders have a huge effect on how people think about go; you'd get a completely different game on a torus. 12:44:32 (the borders have a huge effect on tactics; they also naturally delimit territory, so building territory in corners and sides is easier than in the middle of the board... 12:44:35 ) 12:44:47 All this is part of what makes go go. 12:45:11 and it'd be weird to tell if you're surrounding or being surrounded i guess 12:45:17 (you may read that last word as a verb or as the noun denoting the game... both interpretations work for me) 12:45:59 that said, of course toroidal go has been considered... 12:46:38 http://senseis.xmp.net/?Variants#toc8 lists "torogo" for example. 12:47:23 android app, hmm. 12:47:43 they might even have a small community. *shrugs* 12:51:03 Is Go ever played on a Klein bottle 12:51:32 lol 12:52:08 I should know, apparently I invented it 13:03:33 shachaf: I store most of my public bookmarks on a set of public HTML pages, that was I can access them from anywhere. The list is quite disorganized and lots of things are missing, but it's still much better than nothing. 13:03:43 -!- bender| has joined. 13:20:30 int-e: What about toroidal chess? 13:25:42 http://www.chessvariants.com/shape.dir/torus_standard_board.html ... but it still knows about ranks (search for "promotion") 13:32:49 -!- `^_^v has joined. 14:04:07 -!- spiette has joined. 14:04:46 -!- Effilry has changed nick to FireFly. 14:06:13 -!- heroux has quit (Ping timeout: 244 seconds). 14:07:18 -!- heroux has joined. 14:08:33 `? ladder jump 14:08:48 ladder jump? ¯\(°​_o)/¯ 14:09:21 `slashlearn ladder jump/Ladder jump is the phenomenon that in practically all platformer games where the player character can climb up on ladders, it's faster to repeatedly jump and grab the ladder than to climb. 14:09:25 Learned «ladder jump» 14:12:57 -!- AlexR42 has joined. 14:59:50 -!- lambda-11235 has joined. 15:13:23 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 15:14:26 -!- AlexR42 has joined. 15:17:05 -!- lynn has joined. 15:21:06 -!- ineiros has quit (Ping timeout: 246 seconds). 15:24:22 -!- lambda-11235 has quit (Quit: Bye). 15:24:45 -!- lambda-11235 has joined. 15:32:12 -!- nycs has joined. 15:34:55 -!- ineiros has joined. 15:35:00 -!- `^_^v has quit (Ping timeout: 276 seconds). 15:42:25 -!- ineiros has quit (Ping timeout: 252 seconds). 15:50:21 -!- J_Arcane has joined. 16:37:39 -!- vanila has joined. 16:42:38 -!- Sgeo__ has quit (Ping timeout: 248 seconds). 16:58:42 -!- bender| has quit (Remote host closed the connection). 17:12:05 predictions on olist today? 17:14:36 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 17:14:59 -!- AnotherTest has joined. 17:16:30 shachaf: why would it have to be today? 17:16:51 -!- AlexR42 has joined. 17:18:19 shachaf: just because the FAQ still says both “Monday/Wednesday/Friday” (in a question title) and “Monday/Thursday” in the TOC? 17:20:02 `? oots 17:20:09 oots? ¯\(°​_o)/¯ 17:20:16 `? o 17:20:17 o? ¯\(°​_o)/¯ 17:20:30 `? vaarsuvius 17:20:33 Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10 , right above where he tells the comic updates three times a week. 17:20:59 `learn Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10 , right above where he tells the comic updates three times a week (twice a week according to the TOC). 17:21:04 Relearned 'vaarsuviu': Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10 , right above where he tells the comic updates three times a week (twice a week according to the TOC). 17:22:14 b_jonas: I don't know, can you check the times of past olists? 17:22:27 b_jonas: Anyway the main prediction I was wondering about was "update/no update". 17:22:56 shachaf: I won't check, sorry 17:24:09 what is olist 17:24:17 `? olist 17:24:21 Update notification for the webcomic Order of the Stick. http://www.giantitp.com/comics/ootslatest.html 17:24:32 huh 17:24:33 oh cool 17:24:34 hey 17:24:36 did anyone see this 17:24:47 `learn olist is update notification for the webcomic Order of the Stick. http://www.giantitp.com/comics/ootslatest.html 17:24:50 Relearned 'olist': olist is update notification for the webcomic Order of the Stick. http://www.giantitp.com/comics/ootslatest.html 17:24:53 https://gist.github.com/rui314/3b66fe949b5ee3b21120 17:24:54 https://raw.githubusercontent.com/shinh/bflisp/master/bflisp.bf 17:25:19 it's a c compiler in brainfuck 17:27:05 -!- Reece` has joined. 17:27:29 vanila: we have a couple of these subscribable user-triggered update notification thingies, but olist is the only really active one 17:28:21 look at the writeup and brainufck code 17:30:11 -!- ais523 has joined. 17:36:00 -!- ais523 has quit. 17:37:51 -!- augur_ has joined. 17:38:11 -!- augur has quit (Read error: Connection reset by peer). 17:48:33 whoa whoa whoa 17:48:40 `smlist 432 17:48:46 smlist 432: shachaf monqy elliott mnoqy 17:49:31 what's that? 17:49:32 `? smlist 17:49:33 Non-update notification for the webcomic Super Mega. 17:50:27 whys no one interested in the link i posted 17:50:40 vanila: it's brainfuck. I don't like brainfuck. 17:50:50 you should like it 17:51:13 its good 17:51:25 that reminds me, since Bardsworth and Everyday Heroes are updating so rare these days, I should set up update notifications for them 17:51:56 ``` rot13 < bin/aglist 17:51:57 rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ o_wbanf \ o_wbanf 17:51:59 `? aglist 17:52:00 aglist? ¯\(°​_o)/¯ 17:53:06 why am I on that twice? 17:53:37 ``` sed -i '$d' bin/aglist 17:53:41 No output. 17:53:43 ``` rot13 < bin/aglist 17:53:44 rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ o_wbanf 17:54:10 `learn aglist aglist is update notification for the Abstruse Goose webcomic. http://abstrusegoose.com/ 17:54:12 Learned 'aglist': aglist aglist is update notification for the Abstruse Goose webcomic. http://abstrusegoose.com/ 17:54:29 ``` rot13 < bin/pbflist 17:54:29 rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ funpuns \ Ftrb \ dhvagbcvn \ vba \ o_wbanf 17:54:32 `? pbflist 17:54:33 pbflist? ¯\(°​_o)/¯ 17:54:49 `learn aglist is update notification for the Abstruse Goose webcomic. http://abstrusegoose.com/ 17:54:52 Relearned 'aglist': aglist is update notification for the Abstruse Goose webcomic. http://abstrusegoose.com/ 17:55:06 `learn pbflist is update notification for the Perry Bible Fellowship webcomic. http://pbfcomics.com/ 17:55:09 Learned 'pbflist': pbflist is update notification for the Perry Bible Fellowship webcomic. http://pbfcomics.com/ 17:59:04 `cat bin/makelist 17:59:04 cp bin/emptylist bin/"$1" 17:59:21 i want esoteric programming language discussion 17:59:40 `echo shachaf >> bin/aglist 17:59:42 shachaf >> bin/aglist 17:59:49 shachaf: thx tdh 17:59:52 `` echo shachaf >> bin/aglist 17:59:54 No output. 18:03:02 ``` echo bin/*list 18:03:04 bin/FireFlist bin/aglist bin/danddreclist bin/don'taskdon'ttelllist bin/dontaskdonttelllist bin/emptylist bin/erflist bin/flist bin/list bin/listlist bin/llist bin/makelist bin/mlist bin/olist bin/pbflist bin/slist bin/smlist bin/testlist bin/wrlist 18:03:36 ``` cat bin/makelist 18:03:37 cp bin/emptylist bin/"$1" 18:03:41 `makelist ehlist 18:03:43 No output. 18:03:50 ``` echo b_jonas >> bin/ehlist 18:03:53 No output. 18:03:55 ``` rot13 < bin/ehlist 18:03:56 rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ o_wbanf 18:04:25 `learn ehlist is update notification for the Everyday Heroes webcomic. http://eheroes.smackjeeves.com/ 18:04:28 Learned 'ehlist': ehlist is update notification for the Everyday Heroes webcomic. http://eheroes.smackjeeves.com/ 18:04:46 ok, now what should I call the Bardsworth one? barlist, balist, bwlist? 18:05:13 or maybe bardsworthlist? 18:07:11 `? slist 18:07:15 `? wrlist 18:07:21 oh right, I know what wrlist is 18:07:26 that one will probably never be active 18:07:30 `? flist 18:07:46 b_jonas: you should `list hth 18:07:51 wrlist? ¯\(°​_o)/¯ 18:07:57 flist? ¯\(°​_o)/¯ 18:08:13 `makelist bardsworthlist 18:08:27 ``` echo b_jonas > bardsworthlist 18:08:35 argh 18:08:39 ``` rm bardsworthlist 18:08:44 ``` echo b_jonas > bin/bardsworthlist 18:08:58 No output. 18:08:59 Update notification for the webcomic Homestuck. 18:09:00 rm: cannot remove `bardsworthlist': No such file or directory 18:09:04 No output. 18:09:07 No output. 18:09:16 `learn bardsworthlist is update notification for the Bardsworth webcomic. http://www.bardsworth.com/ 18:09:20 Learned 'bardsworthlist': bardsworthlist is update notification for the Bardsworth webcomic. http://www.bardsworth.com/ 18:09:20 ``` rm bardsworthlist 18:09:22 No output. 18:09:29 ``` rot13 < bin/bardsworthlist 18:09:30 o_wbanf 18:09:35 uh 18:09:42 binsworthlist 18:09:45 bin/sworthlist 18:09:57 ``` makelist bardsworthlist && echo b_jonas >> bin/bardsworthlist 18:09:58 No output. 18:10:01 ``` rot13 < bin/bardsworthlist 18:10:02 rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ o_wbanf 18:10:08 better 18:12:24 can we create stuff like this for non-webcomic stuff too? 18:13:13 i don't understand 18:13:27 what is this "non-webcomic stuff"? 18:13:38 there cannot possibly be such a thing 18:13:51 sure there can be 18:13:56 There should be a list for new messages in #esoteric. 18:14:26 ``` makelist ioccclist && cat b_jonas > bin/ioccclist 18:14:28 cat: b_jonas: No such file or directory 18:14:47 `` cat bin/makelist 18:14:47 cp bin/emptylist bin/"$1" 18:15:40 `learn ioccclist is update notification for when a new year of the International Obfuscated Contest is announced, or the winners for a year is announced, or the source codes of winners are released. http://www.ioccc.org/#news 18:15:44 Learned 'ioccclist': ioccclist is update notification for when a new year of the International Obfuscated Contest is announced, or the winners for a year is announced, or the source codes of winners are released. http://www.ioccc.org/#news 18:16:14 `` echo -e 'shift\nfor n in "$@"; do echo "$n" > bin/"$1"; done' >> bin/makelist 18:16:16 No output. 18:16:25 oops 18:16:32 that completely doesn't work tdnh 18:16:33 `revert 18:16:43 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 18:17:53 `mkx bin/makelist//file="bin/$1"; shift; cp bin/emptylist "$file"; for n in "$@"; do echo "$n" >> "$file"; done 18:17:57 bin/makelist 18:18:51 Maybe lists should print usage information when run with no arguments. 18:18:56 Then they can be self-contained. 18:19:15 ``` rot13 < bin/ioccclist 18:19:16 No output. 18:19:23 um 18:19:29 did you revert me? 18:19:43 `? ioccclist 18:19:44 ioccclist is update notification for when a new year of the International Obfuscated Contest is announced, or the winners for a year is announced, or the source codes of winners are released. http://www.ioccc.org/#news 18:19:53 oh right 18:20:05 ``` makelist ioccclist && echo b_jonas > bin/ioccclist 18:20:08 No output. 18:20:11 ``` rot13 < bin/ioccclist 18:20:12 o_wbanf 18:20:15 nope 18:20:18 ``` makelist ioccclist && echo b_jonas >> bin/ioccclist 18:20:20 No output. 18:20:41 we need a subscribe command (which also figures out your nickname, which needs a HackEgo infrastructure update) 18:20:55 b_jonas: whoa whoa whoa, I just fixed makelist 18:20:56 maybe you could stop the bot spamming 18:21:12 b_jonas: You can `` makelist listname user1 user2 18:21:15 ``` rot13 < ioccclist 18:21:16 bash: ioccclist: No such file or directory 18:21:23 ``` rot13 < bin/ioccclist 18:21:24 rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ o_wbanf 18:21:35 shachaf: I see. but you still need a way for people to subscribe later 18:21:42 They can still use echo. 18:21:52 (maybe change the list template so that `foolist subscribe would subscribe you) 18:22:02 But then how do you subscribe someone else? 18:22:26 (no wait, don't do that, that would be a bad interface, for you could accidentally trigger the list too easly) 18:22:33 (it needs to be a separate top-level command) 18:22:51 Maybe you should have to confirm when you trigger the list. 18:22:51 shachaf: extra argument probably. like `subscribe foolist versus `subscribe foolist shachaf 18:22:58 `olist confirm 1 18:23:27 shachaf: or just make it check the actual webpage source and remember the number of the last strip and trigger only if it's updated since 18:23:39 There's no Internet connection. 18:23:46 And some lists don't have numbers. 18:24:21 But for lists that do have numbers, you can require a number, and even not alert if someone else has listed that number before. 18:24:47 ``` elinks -dump http://www.math.bme.hu/~ambrus/pu/verst 18:24:47 bash: elinks: command not found 18:24:49 -!- Guest91351 has quit (Ping timeout: 240 seconds). 18:25:31 ``` curl http://www.math.bme.hu/~ambrus/pu/verst | sed -n '/^Alf/,$p' 18:25:32 Failed to connect to socket 2. \ \ curl: (52) Empty reply from server 18:26:14 Is it possible to have HackEgo delete the root fs? 18:26:18 shachaf: yes, maybe, but I still recommend not using the foolist subscribe syntax 18:31:25 In the case of danddreclist at least, my own convention is that I post messages having a specific syntax in order to notify 18:32:09 The message happens to be a HackEgo command so that other people can program it to emit names or to do whatever other stuff they might want 18:32:12 I haven't read any danddreclist updates ina long time. 18:32:52 They are also all logged in the public IRC logs, so searching there also make it possible to find the date/time 18:34:09 But sometimes the IRC logging bot stops working. 18:34:47 Yes although there are two 18:34:57 Yes, but they might both stop working at the same time. 18:36:38 That is possible yes. 18:37:04 At least it can be known by checking if any numbers are skipped. 18:37:29 well, these update notification lists are opportunistic anyway. you should periodically check the original sources where the webcomics appear, rather than just rely on the irc messages. 18:40:17 should we have an xkcdwhatiflist? 18:40:33 Lists are only useful with more than one subscriber. 18:41:35 maybe, but creating one is the best way to find out who wants to subscribe 18:41:39 I think it can be useful even if the command does not exist, although then the command can later be added if someone want to. 18:41:46 -!- Sprocklem has joined. 18:41:51 b_jonas: Yes and that is part of it too 18:42:10 -!- Sprocklem has changed nick to Guest42719. 18:42:17 shachaf: I mean, you just brought aglist to have more than one member 18:42:37 True. 18:43:20 I won't create an xkcdwhatiflist now though. 18:43:45 what if you did? 18:44:04 `whatiflist 18:46:50 -!- Phantom_Hoover has joined. 18:53:09 -!- Guest42719 has quit (Quit: [). 18:53:40 -!- Sprocklem_ has joined. 18:54:37 ``` makelist keenlist b_jonas && learn 'keenlist is notification for when Tom Hall finally acquires the necessary intellectual property rights to create the videogame series Commander Keen: The Universe is Toast' 18:54:40 Learned 'keenlist': keenlist is notification for when Tom Hall finally acquires the necessary intellectual property rights to create the videogame series Commander Keen: The Universe is Toast 18:54:43 ``` rot13 < bin/keenlist 18:54:46 rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ o_wbanf 18:55:03 -!- Sprocklem_ has changed nick to Sprocklem. 18:57:15 [wiki] [[Special:Log/newusers]] create * Afukada * New user account 18:57:34 Should we have a listlist as update notification for when a new list is created, and make makelist automatically trigger it? 18:59:28 Or a listlistlist that announces whenever listlist gets implemented 18:59:29 This is not SQL 19:03:01 -!- zzo38 has quit (Remote host closed the connection). 19:15:40 -!- Sprocklem has quit (Ping timeout: 250 seconds). 19:18:38 -!- p34k has joined. 19:21:26 -!- atrapado has joined. 19:25:39 -!- gremlins has joined. 19:26:48 -!- Reece` has quit (Ping timeout: 246 seconds). 19:33:03 -!- gremlins has quit (Ping timeout: 240 seconds). 19:33:14 -!- atrapado has quit (Remote host closed the connection). 19:33:47 -!- atrapado has joined. 19:39:03 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 19:39:28 -!- AlexR42 has joined. 19:44:10 hmm, toast 19:46:05 At the bottom and in the comments, http://qntm.org/spells refers to a supposed esolang named Hoon. Does anyone have information about this language other than what's directly on that page? I couldn't load the links given there. 19:48:59 -!- atrapado has quit (Remote host closed the connection). 19:49:30 -!- atrapado has joined. 19:52:11 aha, https://github.com/cgyarvin/urbit/blob/master/doc/book/0-intro.markdown has information about it 19:52:49 -!- lleu has joined. 19:52:49 -!- lleu has quit (Changing host). 19:52:49 -!- lleu has joined. 19:52:49 -!- lleu has quit (Read error: Connection reset by peer). 19:53:02 -!- llue has quit (Read error: Connection reset by peer). 19:53:19 -!- lleu has joined. 19:55:07 [wiki] [[Nock]] https://esolangs.org/w/index.php?diff=46593&oldid=40989 * B jonas * (+106) 20:05:57 [wiki] [[Nock]] https://esolangs.org/w/index.php?diff=46594&oldid=46593 * B jonas * (+208) 20:06:00 [wiki] [[Hoon]] N https://esolangs.org/w/index.php?oldid=46595 * B jonas * (+310) Created page with "'''Hoon''' is a dynamically typed esoteric functional programming language. It compiles to a small lower level dynamically typed functional esoteric language called [[Nock]]...." 20:07:12 Can't believe there was no Hoon page yet 20:07:28 I know a bit about it, b_jonas! 20:07:37 wait wait, there's a newer webpage 20:07:47 the one I linked to says it's moved to https://github.com/urbit/urbit 20:07:58 http://urbit.org/docs/dev/hoon/ is up-to-date 20:09:03 lynn: supposedly. I just get some nonsense javascript from there. presumably that javascript might mean something in some browsers. 20:09:12 I'll give links to the github thing instead 20:10:22 lynn: ps. I hate when people post "I'm surprised nobody has mentioned $foo yet" to a forum thread. If you think there should be a page, just create it. 20:10:47 hoon is dumb 20:10:51 urbit sucks 20:10:55 [wiki] [[Nock]] https://esolangs.org/w/index.php?diff=46596&oldid=46594 * B jonas * (+74) 20:10:58 [wiki] [[Hoon]] https://esolangs.org/w/index.php?diff=46597&oldid=46595 * B jonas * (+93) 20:11:13 I rather meant: I was silently assuming there'd be a Hoon page 20:11:30 vanila: yes, it is dumb, but we're trying to build a comprehensive encyclopedia of esolangs here 20:11:31 If I'd known, I would've gladly written a stub about it :) 20:12:48 maybe it would be better to describe both Nock and Hoon as typeless rather than dynamically typed 20:13:03 [wiki] [[Hoon]] https://esolangs.org/w/index.php?diff=46598&oldid=46597 * B jonas * (-18) 20:13:12 [wiki] [[Nock]] https://esolangs.org/w/index.php?diff=46599&oldid=46596 * B jonas * (-18) 20:13:15 -!- boily has joined. 20:13:36 Nock is definitely typeless; Hoon sort of is, depending on how you look at it 20:17:23 feel free to edit the pages. the newer github repo has some more docs, but I'm not going to read them and try to understand them. 20:19:03 yes, it's really hard to make sense of em :< 20:23:50 -!- hppavilion[1] has joined. 20:29:46 [wiki] [[Hoon]] https://esolangs.org/w/index.php?diff=46600&oldid=46598 * B jonas * (+54) 20:30:39 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46601&oldid=46592 * B jonas * (+22) 20:38:23 -!- nycs has quit (Ping timeout: 244 seconds). 20:41:29 -!- nycs has joined. 20:49:59 -!- jaboja has joined. 20:51:02 `wisdom 20:51:22 atrix/Atrix is a brand of hand cream. Not to be confused with atriq. 20:53:29 `culpritz wisdom/atrix 20:53:29 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: culpritz: not found 20:53:32 `culprits wisdom/atrix 20:53:52 @google how to erase lines from IRC backlog 20:53:54 https://www.irccloud.com/faq 20:53:55 int-e ais523 oerjan oerjan elliott Bike FreeFull ais523 ais523 oerjan 21:00:38 int-ello. you can't erase. all lines are permanent. the Internet's Ink is indelible. 21:06:52 @google how to turn the Sun into a supernova 21:06:54 http://www.universetoday.com/107791/will-the-sun-explode/ 21:06:54 Title: Will The Sun Explode? - Universe Today 21:08:49 I can't allow that, int-e. 21:09:15 well how are you going to stop me? 21:10:03 I will find you, and I will mapole you. 21:10:26 (unless you sunexplode before I get to that.) 21:11:03 sounds like a challenge 21:13:48 int-e: you aren't going to escape the long mapole of the law 21:13:57 pity that page says it's likely not going to work, not even with the added energy of a mapole. 21:14:01 `learn_append int-e Det kommer att explodera solen. 21:14:06 Learned 'int-e': int-e är inte svensk. Det kommer att explodera solen. 21:14:21 olsner: hellolsner. do you validate the Swedish used there? 21:14:51 Heute die Welt, Morgens das Sonnensystem! 21:15:23 . o O ( shachaf said something. there must be a pun somewhere, but I can't see any... ) 21:16:21 boily: it's misdirection. 21:16:32 boily: sounds a bit off. "it will explode the sun"? 21:16:45 shachaf: ITYM "Morgen". ("Morgens" means "in the morning") 21:17:17 olsner: I was trying to make it translate "he" or "she", but Google Translate was stuck on "it" for whatever reason. 21:17:22 or "morgen" actually 21:17:32 int-e: Probably. The first Google result was http://tvtropes.org/pmwiki/pmwiki.php/Main/TodayXTomorrowTheWorld which misled me. 21:17:50 Morgens die Welt, Nachmittags das Sonnensystem? 21:18:19 `? fternooner 21:18:20 fternooner (Danish »fternooner«, Norwegian «ttermiddag», Swedish ”ftermiddag”) is a screamingly delicious pastry. 21:19:07 boily: Hen kommer att spränga solen. (that's e, he/she would be han/hon) 21:23:26 `le/rn int-e/int-e är inte svensk. Hen kommer att spränga solen. 21:23:28 Relearned «int-e» 21:23:47 what's the difference between spränga and explodera? 21:25:16 same meaning really, but the wrong/right one is in/transitive 21:25:32 I can never remember which of those words means which kind of verb :) 21:25:51 if it's the same as in german, things can explode, but you can't explode them; you'd blow them up. 21:25:52 transitive has a direct object; intransitive can't have one hth 21:26:18 or detonate them, that's better 21:26:19 so, yeah, explodera doesn't take an object 21:26:41 make them go FOOF! 21:27:02 German has "sprengen". 21:30:25 `? splode 21:30:26 splode? ¯\(°​_o)/¯ 21:34:16 sunsplosions are purdy 21:35:04 `? supernova 21:35:05 supernova? ¯\(°​_o)/¯ 21:35:07 `? sunscreen 21:35:08 sunscreen? ¯\(°​_o)/¯ 21:36:18 `? sunglasses 21:36:19 `? eye drops 21:36:19 sunglasses? ¯\(°​_o)/¯ 21:36:20 eye drops? ¯\(°​_o)/¯ 21:36:23 `? eye serum 21:36:24 eye serum? ¯\(°​_o)/¯ 21:36:26 `? eye scream 21:36:27 eye scream? ¯\(°​_o)/¯ 21:37:52 `learn scream = icecream - eye 21:37:54 Learned 'scream': scream = icecream - eye 21:38:10 hmm 21:38:13 `revert 21:38:21 that doesn't work, right... 21:38:22 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 21:38:50 `rm canary 21:38:51 No output. 21:39:02 `? scream 21:39:05 scream = icecream - eye 21:39:10 `rm wisdom/scream 21:39:12 No output. 21:39:30 `cat cana 21:39:32 cat: cana: No such file or directory 21:39:32 `cat canary 21:39:33 ​*tsjørp* 21:40:31 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 21:40:49 -!- AlexR42 has joined. 21:44:43 `? canary 21:44:44 ​*tsjørp* 21:44:55 lol 21:45:21 `stat wisdom/canary 21:45:21 ​ File: `wisdom/canary' -> `../canary' \ Size: 9 Blocks: 0 IO Block: 1024 symbolic link \ Device: 12h/18dInode: 1054017 Links: 1 \ Access: (0777/lrwxrwxrwx) Uid: ( 5000/ UNKNOWN) Gid: ( 0/ UNKNOWN) \ Access: 2016-03-14 17:20:28.000000000 +0000 \ Modify: 2015-12-09 04:13:17.000000000 +0000 \ Change: 2015-12-09 04: 21:45:30 -!- AlexR42 has quit (Ping timeout: 276 seconds). 21:51:20 -!- XorSwap has joined. 21:53:18 -!- MoALTz has quit (Ping timeout: 276 seconds). 21:54:04 -!- spiette has quit (Quit: :qa!). 21:54:08 -!- MoALTz has joined. 21:56:58 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:04:03 -!- nycs has quit (Ping timeout: 264 seconds). 22:11:18 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46602&oldid=46601 * Erinius * (+12) /* L */ 22:15:30 -!- boily has quit (Quit: CONSERVATIVE CHICKEN). 22:27:23 -!- Sgeo__ has joined. 22:38:26 `? dowry 22:38:27 dowry? ¯\(°​_o)/¯ 22:40:15 `learn A dowry is a pribe paid for a brice, or maybe a bribe paid for a pride. 22:40:18 Learned 'dowry': A dowry is a pribe paid for a brice, or maybe a bribe paid for a pride. 22:47:58 it could be a bribe paid for a price; that would actually make sense 22:48:24 int-e: no, it's a price paid for a bride 22:48:32 I knew that. 22:49:20 but you had "pribe paid for a brice" and I just swapped two letters. 22:49:41 (I'm not sure where you placed the "d") 22:49:58 the d is in the pride 22:51:01 anyway I'm afraid we're miscommunicating again 22:51:37 I am, yes 22:58:18 -!- atrapado has quit (Quit: Leaving). 23:06:00 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 23:24:41 -!- jaboja has quit (Remote host closed the connection). 23:32:05 -!- vanila has quit (Quit: Leaving). 23:52:19 -!- hppavilion[1] has joined. 23:53:51 -!- lynn has quit (Ping timeout: 246 seconds). 23:54:19 -!- oerjan has joined. 2016-03-15: 00:03:32 -!- p34k has quit. 00:07:10 -!- Lord_of_Life has quit (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!). 00:10:37 -!- Lord_of_Life has joined. 00:14:21 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 00:26:17 -!- Sprocklem has joined. 00:27:21 -!- XorSwap has quit (Quit: Leaving). 00:45:39 `? detonation 00:45:49 detonation? ¯\(°​_o)/¯ 00:46:27 `learn Detonation is the act of destroying a musical instrument. 00:46:29 Learned 'detonation': Detonation is the act of destroying a musical instrument. 00:48:13 oerjan: what if there was a variant of learn that would refuse to relearn wth 00:49:34 ouch 00:49:43 not that much? 00:49:48 b_jonas: hm? 00:52:53 that pun is painful 00:53:03 you're welcome 01:02:59 -!- Sprocklem has quit (Quit: [). 01:04:08 -!- Sprocklem has joined. 01:26:02 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:36:19 -!- lleu has quit (Quit: That's what she said). 01:52:43 <\oren\> It occurs to me that the rules to my gridless go are sufficiently general to apply to any manifold with a metric 01:53:36 <\oren\> so it could be played on a sphere, infinite plane, or the projective plane. 01:54:05 <\oren\> well, only two-dimensional manifolds 01:57:19 <\oren\> manifolds with uneven curvature could be interesting 01:58:00 <\oren\> because a stone is harder to kill if it's on a saddle than on a hill 02:18:16 i don't quite see why it has to be 2d 02:18:39 you'd just use balls instead of disks 02:20:01 hm food 02:34:00 cold kebab doggy bag 02:38:24 \oren\: ^^ 03:26:22 -!- earendel has quit (Ping timeout: 248 seconds). 03:28:42 b_jonas: good thing we didn't bet on olist hth 03:35:33 -!- earendel has joined. 03:39:44 show starting 03:42:09 i need to wake up in 8 hours tdnh 03:48:31 Cy&H done by PBF's author: http://explosm.net/comics/4238/ 03:48:48 Don't know if that qualifies for pbflist 03:49:15 (NSFW) 03:49:53 `pbflist ^ 03:49:58 pbflist ^: shachaf Sgeo quintopia ion b_jonas 03:50:08 Oh, I thought you meant smlist. 03:50:13 That was much more exciting. 03:50:28 sm? 03:50:39 `? smlist 03:50:40 Non-update notification for the webcomic Super Mega. 04:19:14 -!- MoALTz has quit (Ping timeout: 244 seconds). 04:20:38 <\oren\> hmm, but how would liberties be defined in 3d go? 04:20:52 same way? 04:21:00 <\oren\> er, 3d-ungridded go 04:21:23 i don't know how ungridded go works at all 04:21:34 <\oren\> http://www.orenwatson.be/ungriddedgo.htm 04:22:37 is that interesting? 04:23:05 there's something similar for tetris 04:23:17 <\oren\> it means ko fights should get pretty interesting 04:23:59 <\oren\> because you can recreate a previous position, but with a few stones shifted slightly, possibly allowing nearby stones to intefere 04:25:16 <\oren\> I should try to write a computer version of ungridded go 04:25:47 <\oren\> also, the branching factor is a lot higher 04:26:15 a computer version wouldn't work 04:26:21 <\oren\> why? 04:26:51 because rationals vs reals 04:27:04 <\oren\> well I suppose it would be limited to the precision of rationals on the hardware-- yeah. 04:27:32 in a computer it's like a gridded go with larger stones 04:29:09 <\oren\> right, but it should still have a much different tactics than regular go. 04:29:16 <\oren\> well, sort of 04:29:42 i think 3d go would be interesting 04:29:45 <\oren\> obviously until people start playing it we can't know[C 04:31:14 -!- treaki_ has joined. 04:32:11 http://www.di.fc.ul.pt/~jpn/gv/boards.htm 04:32:19 look at continuous boards 04:35:00 -!- treaki__ has quit (Ping timeout: 276 seconds). 04:35:15 hehe "45 flip degrees" 04:56:33 <\oren\> holy shit. what if you also had an expanding board 04:57:14 <\oren\> that would be terrible, never mind 06:32:03 -!- augur_ has quit (Ping timeout: 240 seconds). 06:38:15 -!- augur has joined. 06:47:48 -!- earendel has changed nick to eArendel. 07:19:57 <\oren\> operations on strings: append, insert, substring, search, split, compare. am I missing any? 07:22:08 \oren\: reverse, index, sort 07:24:11 find/match 07:25:00 I guess that falls under search, my bad, it's late. 07:27:28 -!- lambda-11235 has quit (Quit: Bye). 07:32:12 rotate, swap bytes 07:33:12 and most importantly, strfry and memfrob 07:55:49 -!- mroman has joined. 07:55:52 fnard 08:23:07 -!- J_Arcane has quit (Ping timeout: 244 seconds). 08:36:35 -!- AnotherTest has joined. 08:52:14 Go on a torus is really annoying with the lack of edges and corners 08:52:18 so hard to make territory 09:04:06 machine 4 human 1 09:04:17 -!- oerjan has quit (Quit: Good night). 09:16:20 -!- MoALTz has joined. 10:34:21 -!- boily has joined. 10:43:09 -!- hppavilion[1] has joined. 10:51:49 `wisdom 10:52:08 not found/not found? ¯\(°​_o)/¯ 10:54:38 `culprits wisdom/not\ found 10:54:48 No output. 10:54:52 ...? 11:00:27 -!- asie has quit (Ping timeout: 264 seconds). 11:09:16 `halp 11:09:17 No halp 4 u 11:10:59 wait, really? 11:11:14 that looks like a false alarm 11:11:30 oh, "Cy&H done by PBF's author" 11:11:32 seriously 11:15:47 b_jellonaseriously. 11:21:10 -!- asie has joined. 11:24:46 -!- boily has quit (Quit: RAMPAGING CHICKEN). 11:32:37 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 11:48:44 -!- hppavilion[1] has joined. 12:19:33 -!- eArendel has quit (Ping timeout: 240 seconds). 12:31:03 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 12:37:42 -!- lleu has joined. 12:42:06 -!- jaboja has joined. 13:03:36 -!- jaboja has quit (Remote host closed the connection). 13:34:27 -!- eArendel has joined. 13:38:34 -!- heroux has quit (Ping timeout: 252 seconds). 13:40:03 -!- jaboja has joined. 13:58:23 -!- eArendel2 has joined. 14:00:01 -!- eArendel has quit (Read error: Connection reset by peer). 14:03:36 -!- `^_^v has joined. 14:38:12 -!- J_Arcane has joined. 14:53:45 -!- spiette has joined. 15:00:29 -!- lambda-11235 has joined. 15:13:07 wait what 15:13:10 this seems strange 15:13:37 how can they award AlphaGo a dan rank after just two matches with two people? shouldn't they wait to see how he fares in more matches against other opponents? 15:14:38 what a farce! It's like giving the peace Nobel to Obama 15:14:52 they're giving a rank in advance, hoping it would motivate Alphago to improve 15:18:16 I think it's a honorary rank in this case 15:18:23 or that's how I gathered it 15:18:31 what I gathered* 15:18:46 aren't all _high_ dan ranks (like, above 5 dan or something like that) honorary? 15:19:35 Don't know 15:20:04 I'm not sure how much I should trust Hikaru no Go on this matter 15:21:46 there… might be a difference between China and Korea about the dan rank stuff that I'm not aware of, or some other subtlety. 15:21:57 I sit here as a poor Westerner who can't imagine how these things go 15:31:44 -!- ineiros has joined. 15:43:35 -!- J_Arcane has quit (Ping timeout: 268 seconds). 15:50:11 -!- jaboja has quit (Remote host closed the connection). 16:05:15 -!- mroman has quit (Quit: Lost terminal). 16:06:51 -!- zadock has joined. 16:30:12 -!- eArendel2 has quit (Quit: eArendel2). 16:31:00 -!- earendel has joined. 17:02:15 -!- shikhin has changed nick to dtscode. 17:02:18 -!- dtscode has changed nick to shikhin. 17:16:32 -!- lynn has joined. 17:28:01 fungot: you're underappreciated 17:28:01 shachaf: lauri's parents have also lied to my parents now that i understand 17:47:31 -!- lambda-11235 has quit (Quit: Bye). 17:50:07 -!- heroux has joined. 18:14:52 -!- zadock has quit (Quit: Leaving). 18:23:02 -!- p34k has joined. 18:23:12 fungot: that's awful, how can they live with themselves? 18:23:12 int-e: why would i want to work on a better plan of action is just right. 18:47:16 ^style 18:47:16 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 18:48:24 `welcome Vorpal 18:48:29 long time Norpal 18:48:36 Vorpal: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 19:05:21 shachaf: thanks 19:15:33 -!- Reece` has joined. 19:45:45 -!- hppavilion[1] has joined. 19:57:26 -!- J_Arcane has joined. 19:58:51 -!- FreeFull has quit (Quit: Rebooting). 20:01:29 -!- FreeFull has joined. 20:06:38 Anybody want to play Nomic over Github? 20:07:02 I need at least 2 more players 20:10:15 -!- prooftechnique has left ("ERC (IRC client for Emacs 24.5.1)"). 20:12:06 -!- prooftechnique has joined. 20:12:28 hppavilion[1]: I'd be into it 20:13:29 prooftechnique: Cool! Follow the repo at https://github.com/hppavilion1/github-lambdanomic and I'll add you to the list 20:13:57 prooftechnique: I just need one more person (and the last person starred it instead of following, so I'm not sure if they'll get an alert when something goes up) 20:13:57 It is done 20:14:09 (I've been looking for them on IRC every day) 20:15:49 I'm already planning a rule that all rules must be provided in a machine readable format, so that bots can be entities :D 20:16:23 prooftechnique: I was thinking that the format should probably be mathematical- some sort of predicate logic 20:16:24 :P 20:16:44 Sounds machine readable to me 20:16:54 Yep, probably, other than (a -> b) -> c 20:17:02 Still readable, but harder-to-read-able 20:17:18 prooftechnique: And note in the rules that it says any rule-following entity can serve as 0 or 1 players 20:17:32 prooftechnique: Though also note that the rules only allow you to add rules currently >:) 20:18:08 So the first rule change I'm planning will be an overriding rule that requires that broadens rulechange scope 20:18:37 prooftechnique: Of course, you'll have to provide the machine-readable format 20:18:53 Even better, design by committee :D 20:19:02 >:D 20:19:27 prooftechnique: Will that rule say that the machine readable format is the canonical rule and the english is simply an interpretation? 20:20:02 NOT the canonical rule? 20:20:08 That's probably the most convenient way, though then we get into the issue of rules that can be expressed in English but not the canonical form 20:20:18 Yep 20:20:40 So really we need a supplemental rule to establish that rules must be reducible to some canonical form to be proposed in the first place 20:21:04 It's a real chicken and egg situation 20:21:06 prooftechnique: I recommend we have a file called "predfuncs.txt" that provides a list of builtin predicates and functions that a rule-following machine must support 20:21:19 In english, as they have to be added by the botmaster 20:21:29 Oh, that would work. 20:21:40 prooftechnique: My favorite part of the GitHub model of nomic: Branches 20:24:15 -!- Reece` has quit (Read error: Connection reset by peer). 20:30:06 -!- Phantom_Hoover has joined. 20:42:29 -!- ais523 has joined. 20:52:07 -!- hppavilion[2] has joined. 20:54:45 -!- spiette has quit (Quit: :qa!). 20:55:37 -!- hppavilion[1] has quit (Ping timeout: 268 seconds). 20:57:44 -!- lambda-11235 has joined. 21:01:06 lambda-11235: I might've asked you already, but do you have any desire to play Nomic? 21:01:31 hppavilion[2]: What is Nomic? 21:01:44 lambda-11235: It's a game where you change the game's rules as you go 21:02:06 lambda-11235: the short way to explain nomic is "a game in which changing the rules is a move in the game" 21:02:20 lambda-11235: Here's the initial ruleset I'm using for my game: https://raw.githubusercontent.com/hppavilion1/github-lambdanomic/master/rules.md 21:02:28 although in practice, it normally turns into "a game, together with a codified method of changing its rules to improve it as you play" 21:02:47 Sounds like a Calvin and Hobbes kinda game. 21:03:13 lambda-11235: Yes, but it's regulated 21:03:16 The rules of Calvinball are sacred 21:03:29 lambda-11235: prooftechnique is playing, btw 21:03:39 calvinball has a lot in common with nomic 21:03:46 It does 21:03:50 (actually I've seen someone claim it's not a nomic because the rule "you can't use the same rule twice" can't be changed) 21:03:52 But nomic is more structured 21:04:20 not always 21:04:21 ais523: And calvinball has no voting 21:04:25 And the unspoken mask rule 21:04:32 ais523: Nomic could be calvinball if you tried hard enough 21:04:40 the Fantasy Rules Committee is pretty unstructured, and theoretically has voting but it hardly ever comes up 21:04:45 hppavilion[2]: nomic can be anything if you want it to be 21:04:50 including a non-nomic 21:04:56 Yeah 21:04:58 True 21:05:36 ais523: Fun nomic rule: This rule is only valid if the halting problem for whether it can be played returns FALSE 21:05:42 It's paradoxical AND uncomputable 21:05:47 It's an uncomputable paradox 21:05:58 (Dear lord, please let my logic be correct. Amen.) 21:06:00 hppavilion[2]: many nomics have a rule that if you construct a paradox, you win 21:06:05 ais523: True 21:06:21 although Agora got rid of that eventually because people managed to scam the paradox rule much more often than they produced an actual paradox 21:06:33 ais523: Did you have to study hexadecimology to get your doctorate? 21:06:54 no, hexadecimal is pretty unrelated to what I did in my PhD 21:07:00 ais523: xD 21:07:05 really, numbers don't come up all that often 21:07:08 ais523: I thought of a new title 21:07:13 ais523: cdr (codoctor) 21:07:33 You are a codoctor if and only if your spouse is a doctor 21:07:47 Which seems at best useless, at worst a way to get a fancy title without putting effort into it 21:07:48 BUT 21:08:20 Codoctor has equal precedence as a title to doctor (prec(dr) > prec(mr), prec(mrs), prec(ms); prec(dr) = prec(reverend) 21:08:21 ) 21:08:27 -!- sewilton_ has quit. 21:08:33 Which means that you can be doctor-codoctor John Smith 21:08:48 this still seems useless 21:08:48 -!- sewilton_ has joined. 21:09:01 ais523: OK, it is 21:09:04 ais523: But it's fun 21:09:31 ais523: It's fun to be able to say "Not only did I get a doctorate, so did the man/woman/other I married" 21:09:36 Why codoctor? I'd think that'd make you at best a doctor by proxy. 21:09:48 prooftechnique: Your spouse is your "other half" 21:09:51 Your complement 21:09:52 Your dual 21:09:56 dual=co 21:10:16 It's a math joke 21:10:18 Wouldn't you also be a (for the sake of argument) comister? 21:10:25 -!- sewilton_ has quit (Client Quit). 21:10:38 -!- sewilton has joined. 21:10:46 prooftechnique: Yes, but "mister" is the default title, so nobody would care 21:11:20 Just because you're reverend-doctor smith, doesn't mean you /have/ to always include both reverend AND doctor, or even either at all (you could just call yourself mister if you felt like it) 21:11:28 this is not a good meaning of duality 21:11:36 what if you have more than one spouse? 21:11:48 I feel that copumpkin would take issue with hppavilion[2]'s definition of duality too 21:11:49 shachaf: Your dual is the set of your spice 21:11:52 Is marriage an involution? 21:11:58 But if you're male and didn't get any fancy degree, you're mr. no matter what 21:12:02 prooftechnique: Sure 21:12:11 in general spouse is an arbitrary and not good thing to choose here 21:12:25 prooftechnique: Wait, no, the function that takes a person and returns the set of their spouses is the involution 21:12:33 ais523: whoa whoa whoa, is that what the story of cinderella is about? 21:12:35 Marriage is a thing that binds to people into a dual relationship 21:12:52 shachaf: Well who would be better suited as the co- of a person? 21:12:53 What about polygamists? 21:13:05 prooftechnique: "set of your spouses" 21:13:07 The set of every other person in the world? 21:13:23 shachaf: No, the universe is your family at your generational level 21:13:25 codoctor seems like it should just mean "not a doctor", and that could be anyone 21:13:26 shachaf: ? 21:13:37 a codoctor /should/ be a time-reversed doctor 21:13:43 ais523: How so? 21:13:44 Oh, that's better 21:13:45 perhaps they turn theorems into coffee? 21:13:51 ais523: The prince turned into a copumpkin at midnight. 21:14:08 shachaf: Surely at noon 21:14:09 shachaf: ah I see 21:14:17 prooftechnique: It's not a math joke that is 100% rigorous. Can we just leave it at that? 21:14:29 Your spouse (or spouses) is (are) your dual 21:14:45 By definition 21:14:46 Is it really a math joke without rigor? Sounds like a conjecture joke to me hth 21:14:48 You know why? 21:14:49 but marriage is a scam 21:14:54 so i don't accept your definition 21:15:05 Because the spouse of your spouse is yourself 21:15:12 sps^2(x)=x 21:15:21 What if my spouse is the empty set? 21:15:24 Like, "what's purple and commutes?" is a math joke 21:15:25 What's the spouse of that? 21:15:47 shachaf: The empty set is the spouse of all bachelors/bachelorettes 21:15:59 it's not really an empty set, more like an empty monad 21:16:07 The spouse of my enemy is my friend. 21:16:23 shachaf: Even better, the domain of sps is exclusively people in a marital relationship. 21:16:28 And sets of said people 21:16:30 There. 21:16:36 shachaf: You are not in sps's domain 21:16:43 How do you know that? 21:16:51 shachaf: Because it's the definition of sps 21:17:02 sps : MarriedPeople -> MarriedPeople 21:17:06 I have two spouses, A and B. How do I define sps? 21:17:12 prooftechnique: It returns the set 21:17:25 And it takes a set as input, of course. 21:17:25 prooftechnique: So that above definition isn't 100% correct 21:17:35 So P(M) -> P(M) 21:17:39 But how do you know I'm not in M? 21:17:53 shachaf: Are you married? 21:17:59 none of your business hth 21:18:13 shachaf: Then I don't know if you're in the MarriedPeople type 21:18:33 s/in/an element of/ 21:18:34 sps looks a lot like id, with that definition 21:18:41 prooftechnique: It isn't ID 21:18:57 prooftechnique: It's just has a domain and codomain that are the same type 21:19:02 prooftechnique: That's allowed 21:19:04 sps {me, A, B} = ? 21:19:07 succ : Nat -> Nat 21:19:13 prooftechnique: Empty set 21:19:24 look 21:19:28 sps : {MarriedPeople} -> {MarriedPeople} 21:19:28 the whole premise is flawed 21:19:39 marriage is an arbitrary thing 21:19:40 shachaf: Well we DID take the axiom of choice 21:19:49 it's not fundamental like duality 21:19:51 hppavilion[2]: there are only finitely many people 21:19:56 ais523: Yes, and? 21:20:01 so the axiom of choice seems irrelvant here 21:20:05 Oh right 21:20:07 Forgot about that 21:20:19 shachaf: It is 21:20:24 Why is it the empty set? 21:20:29 I have two spouses, A and B 21:20:49 prooftechnique: And you're taking the spouse of an entire marital set 21:21:09 Which is equivalent to the intersection of the spouse of all items of the marital set 21:21:15 You said I had to do that :/ 21:21:38 What's the spouse of {A,B} if A and B aren't married? 21:21:47 shachaf: That is not a defined operation 21:21:57 shachaf: A and B have to be married 21:22:07 Then why would I need sps? :P 21:22:15 sps({Me, A, B}) = sps(Me) I sps(A) I sps(B) = {} 21:23:12 (I like doing abstract math on concrete things) 21:23:24 I is intersection, btw 21:24:05 All right, so sps me = ? 21:24:17 prooftechnique: {A, B} 21:24:29 Okay, but now what's sps^2 me? 21:24:41 prooftechnique: sps^2(x) = sps(sps(x)) 21:24:46 prooftechnique: That's pretty standard notation 21:24:54 Sort of like sps^-1 21:25:00 I know what the notation means, I mean what's the value of it? 21:25:13 Oh, wait, I follow, now 21:25:17 You do intersection for sets 21:25:18 prooftechnique: Oh, sps^2(Me) = Me 21:25:25 sps returns a set, remember 21:25:37 No, it still doesn't work. 21:25:44 And it accepts a set, though shorthand permits the input to be written just as a set 21:25:50 The spoue of the empty set isn't defined. 21:25:52 shachaf: What's the issue now? 21:26:08 But the spouse of {A,B} can be the empty set. 21:26:14 shachaf: sps({}) = People-MarriedPeople? 21:26:20 You only made it uglier by ruling out one-person marriages, you didn't fix it. 21:26:22 sps : {MarriedPeople} -> {People} 21:26:29 shachaf: There 21:26:40 If {A,B} are married, then you want sps(sps({A,B})) to be {A,B} 21:26:46 And sps({A,B}) to be {} 21:26:49 shachaf: ONE PERSON MARRIAGES ARE AN ABOMINATION (ax. 3) 21:26:58 That's a good point... 21:27:00 Hm... 21:27:36 What you should do is define the complement of a set of people to be the set of everyone else in the universe. 21:27:52 I think we might be able to remediate this by replacing the set of MarriedPeople in the input with a labeled digraph 21:28:11 LABELED DIGRAPHS WON'T FIX OUR MARRIAGE, GERALD! 21:28:22 prooftechnique: xD 21:28:30 shachaf: I think we overdid this 21:28:50 Underdid, we haven't solved marriage, yet 21:28:59 I just wanted to be "doctor codoctor hppavilion[1]" someday 21:29:01 If you really wanted it to work, you'd probably want a family of spouse functions, indexed by marriage set. 21:29:09 shachaf: That's a good idea 21:29:17 Maybe it's even a natural transformation. 21:29:23 shachaf: Try telling that to my wife~ 21:29:37 *wives 21:29:44 "I now declare you... a non-empty marriage set." 21:29:52 sps[ms] : ms -> ms 21:30:05 "You may unify your constraints" 21:30:10 sps[{}](x) -> undefined 21:30:19 Mostly because x is impossible 21:30:29 Just say x 21:30:43 shachaf: OK 21:30:51 shachaf: But the empty set has no elements 21:30:57 p < 0.5 21:31:16 (not s/0.5/0.05) 21:31:25 hppavilion[2]: https://en.wikipedia.org/wiki/Empty_function 21:31:55 lynn: Huh 21:32:23 OK, so don't define it at all. 21:32:31 shachaf: Fair enough 21:32:32 Anyway you should make it a natural transformation. 21:32:41 shachaf: How do I do that? 21:32:47 I'm still working on my category theory 21:32:59 sps[{x}](x) = {} 21:33:08 I don't know. 21:33:25 So sps[x](y) is basically just x\y 21:33:31 Yes. 21:33:34 OK 21:33:46 Now here's the definition 21:34:15 By the way, marriages might not be cliques. 21:34:24 I guess I should say transitive. 21:34:30 Maybe A is married to B and B is married to C but not A to C. 21:34:37 Maybe marriage is a directed graph. 21:34:39 why would you expect marriages to be transitive 21:34:51 doctor(x) -> forall y[y in sps[marset(x)](y)] : codoctor(y) 21:34:52 ais523: Well, hppavilion[2] is using equivalence classes. 21:34:57 in the case of heterosexual marriage with two genders, they're antitransitive 21:35:11 Why? 21:35:14 ais523: So you want digraph marriages? 21:35:17 Presumably a person is always married to themselves. 21:35:33 shachaf: if A is married to B and B is married to C, then (with these assumptions) A and C have the same gender and B has a different gender 21:35:47 and no, it is quite unusual, with standard definitions, for someone to be married to themselves 21:35:50 Where sps(x) = {y, z} does not imply sps(y) = {x, z} or sps(z) = {x, y} (index excluded) 21:36:01 shachaf: I feel like that doesn't really match everyday usage of the term 21:36:05 although given the relaxation on definitions of marriage recently, it might be possible to pull it off 21:36:07 ais523: Only if there are two genders. 21:36:14 shachaf: that was one of my assumptions 21:36:22 Wait, now that we have a marset(x) function, we don't need the index, do we? 21:36:22 now, ofc these assumptions aren't true in practice 21:36:24 Oh, yes. 21:36:31 Wait, no, marriage sets aren't exclusive 21:36:40 they are both true more than half the time, but not 100% accurate 21:37:00 x in marset(y) -/> ~(x in marset(z)) where marset(z) /= marset(y) 21:37:11 hmm, surely there's got to be some jurisdiction somewhere that was relying on gender as the only prevention of someone marrying themselves 21:37:12 ais523: There, there's your nontransitive marriage 21:37:12 Maybe it's better to formalize "Marital status" rather than marriage itself 21:37:23 ais523: I think a "heterosexual marriage" with more than two people is a somewhat strange idea. 21:37:24 Since then the singleton case is defined 21:37:28 it seems like marrying yourself could be good for, say, tax purpsoes 21:37:34 Is marriage ever irreflexive? 21:37:38 prooftechnique: But that defeats the point 21:37:46 ~married(x, x) 21:37:47 I mean. Not reflexive 21:37:59 ais523: Isn't that the main purpose of marriage anyway? 21:38:14 shachaf: for some people yes, for other people no 21:38:18 ais523: OK, what's the current question? In small words? 21:38:46 Is coppro the dual of ppro? 21:38:56 coppavillion 21:38:57 hppavilion[2]: what I'm thinking about is "is there any jurisdiction in which it is legally possible to marry yourself, and would there be any benefit in doing so?" 21:39:12 https://en.wikipedia.org/wiki/Self-marriage 21:39:21 ais523: There certainly are jurristictions where it's allowed, according to cdr. Ripley 21:39:32 ais523: Are there any other titles we need to invent? 21:39:38 ais523: It seems to me that it should either be impossible to marry yourself or everyone should automatically be married to themselves. 21:39:41 adr. Smith (antidoctor) 21:40:01 You become an antidoctor when you receive your antidoctorate, also known as a Darwin Award 21:40:20 shachaf: In our system or in real life? 21:40:48 "our"? 21:40:52 shachaf: My? 21:40:53 Since when are we married? 21:40:55 -!- Opodeldoc has joined. 21:41:04 shachaf: No, I mean our system of defining marriage 21:41:06 Surely sologamy isn't right. Autogamy would more Greek 21:41:15 lynn: hmm, that article covers a different side of the subject than what I'd hoped :-( 21:41:24 prooftechnique: Antimonogamy: Being married to -1 people 21:41:40 I'm in a nullogamous relationship 21:42:10 I think antimonogamy is a marriage that kills the priest 21:42:20 ais523: http://www.selfmarriageceremonies.com/faq/ says there are no tax benefits. 21:42:26 according to the linked sources, the sologamous marriage mentioned near the top wasn't legally recognised 21:42:30 shachaf: Well, if you're married to yourself, and hppavilion[2] also is... 21:42:34 But that seems like hardly a marriage at all. 21:42:45 lynn: Oh, is the rule that everyone is married to myself? 21:42:53 shachaf: gah at the pronouns there 21:42:58 Yes. HTH 21:43:04 I understand they want to be gender-inclusive, but changing pronouns at random is not a good way to do that :-( 21:43:18 Yeesh, who wrote this terrible article? Wiki editors should be all over this 21:43:33 it has a couple of cleanup tags 21:43:41 Do I have to marry myself to love myself? 21:43:43 it could do with another one but I'm not entirely sure what it should be 21:43:44 ais523: There should be a tag for pronouns. 21:43:47 ^ This question is very cute 21:43:53 So they're consistent at any point in time but change every second. 21:44:00 shachaf: that's beautiful :-) 21:44:12 does it also work on gender-specific words? 21:44:19 ais523: Well duh 21:44:25 that aren't pronouns? 21:44:29 Yes 21:44:39 ais523: Of course, it would also include "xe" in the cycle just to bug people 21:44:58 hppavilion[2]: at Agora we use e, em, eir, eirs, eirself 21:45:04 but this is not just gender-neutral but sentience-neutral 21:45:05 ais523: Yes, I heard 21:45:10 ais523: Interesting 21:45:11 "e" includes not just "he" and "she" but also "it" 21:45:37 this is important because occasionally we have situations where inanimate objects or even concepts are capable of participating in the game 21:46:08 Whoa... 21:46:25 "e" sounds so much like "he" 21:46:39 Does e? 21:46:41 Cockney English pronouns 21:46:51 yes, the Cockney connection is unfortunate 21:48:15 sher 21:49:57 I pronounce "e" as in "even", not as in "meter". 21:50:16 shachaf: Those are very bad example word choi- ooooooh 21:50:19 That's the joke 21:50:24 shachaf: assuming you're referring to the first e in those two words, I pronounce those the same way 21:52:03 ais523: I was actually just trying to be ambiguous. 21:52:23 I actually pronounce it like "end". 21:54:01 I pronounce "e" as the letter, but all the other ones as the "them/their" series without the first consonant 21:55:32 i,i 'a' as in "tomato" 21:56:24 `? gaspacho 21:56:25 You like Gazpacho and I like Gaspacho. Let's call the whole thing off! 21:56:27 `? gazpacho 21:56:28 You like Gazpacho and I like Gaspacho. Let's call the whole thing off! 21:56:34 `` ls -l wisdom/ga{s,z}pacho 21:56:35 ​-rw-r--r-- 1 5000 0 71 Dec 9 04:13 wisdom/gaspacho \ -rw-r--r-- 1 5000 0 71 Dec 9 04:13 wisdom/gazpacho 21:56:39 what! 21:56:52 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 21:58:36 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 21:58:37 -!- boily has joined. 21:58:44 `` sed -i 's/Gaspacho/Gazpacho/' wisdom/gaspacho; sed -i 's/Gazpacho/Gaspacho/' wisdom/gaspacho 21:58:45 `? wether 21:58:51 wether? ¯\(°​_o)/¯ 21:58:53 No output. 21:58:53 hellochaf! 21:58:58 `` \? gaspacho; \? gazpacho 21:59:00 You like Gaspacho and I like Gazpacho. Let's call the whole thing off! \ You like Gazpacho and I like Gaspacho. Let's call the whole thing off! 21:59:25 @yowly 21:59:25 ... I want a COLOR T.V. and a VIBRATING BED!!! 22:00:03 I don't want a vibrating bed. 22:00:17 @yowly 22:00:18 I'm also against BODY-SURFING!! 22:00:34 I'm not against body surfing. 22:00:48 int-e: int-ello. please calibrate zippy hth 22:01:16 Do you pronounce "ello" as in "elo" or as in "hello"? 22:01:53 there's a difference? 22:02:20 Let's call the whole thing off. 22:02:36 `? gaszpacho 22:02:37 gaszpacho is a polish soup, traditionally szerved cold for hot szummer days 22:03:02 `? gaspasjo 22:03:03 gaspasjo is a norwegian soup, which died out due to a lack of hot summer days 22:03:07 `? gaspatsjo 22:03:08 gaspatsjo is a norwegian soup, which died out due to a lack of hot summer days 22:03:22 -!- Phantom__Hoover has joined. 22:03:27 -!- `^_^v has quit (Ping timeout: 276 seconds). 22:03:29 `? tanebventions 22:03:31 Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, submarine jousting, the universe, weetoflakes, persistence, the reals, Lambek's lemma, robots, progress, and this sentence. He never invents anything involving sex. 22:03:37 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 22:04:14 `` sed -i 's/S/gazpacho, S/' wisdom/tanebvention 22:04:16 No output. 22:04:58 According to Wikipedia, Gazpacho is refreshing and cool. 22:06:10 the Best Szoup in the World! 22:06:22 (after pho, of course.) 22:09:23 `le/rn pho/Phở is a Vietnamese soup invented by nooodl to stress-test implementation of Unicode combining characters. 22:09:29 Learned «pho» 22:09:45 `sedlast s/tion/tions/ 22:09:51 No output. 22:10:07 `` ls wisdom/ph* 22:10:09 wisdom/phantom_hoover \ wisdom/phantom__hoover \ wisdom/phantom___hoover \ wisdom/phantom_______hoover \ wisdom/phantom__________hoover \ wisdom/phantom____________________hoover \ wisdom/pho \ wisdom/phở \ wisdom/photograph \ wisdom/php 22:10:22 `? phở 22:10:24 Phở là một món ăn truyền thống của Việt Nam, cũng có thể xem là một trong những món ăn đặc trưng nhất cho ẩm thực Việt Nam. 22:10:40 I think we could should be merging both together. 22:12:53 `? pho 22:12:54 Phở is a Vietnamese soup invented by noooooooodl to stress-test implementations of Unicode combining characters. 22:13:34 whoa whoa whoa, maur is nowhere to be seen 22:13:54 `? nooodlventions 22:13:54 nooodlventions? ¯\(°​_o)/¯ 22:14:31 * boily stealth mapole shachaf 22:15:06 @tell mauris you bring yourself here, you vile absent person! 22:15:07 Consider it noted. 22:15:17 @tell mauris here being #esoteric. 22:15:17 Consider it noted. 22:15:30 15:15 -NickServ(NickServ@services.)- Last seen : Feb 06 03:27:23 2016 (5w 3d 18h ago) 22:15:55 aurgh. 22:17:44 ais523: http://qntm.org/gay talks about marrying yourself among other things that came up. 22:22:44 shachaf: boily: maur is Lynn now, actually (and goes by "she/her"!) Hellooo~. 22:23:09 It doesn't help that I started hitting this "shift key" thing more often, very incognito name change 22:23:37 @tell hppavilion[2] yes 22:23:37 Consider it noted. 22:24:34 lynn, wait are you nooodl 22:25:13 yeah! My handles: slowly moving backwards in the alphabet 22:27:59 hellynn! 22:29:04 boinjourly~ 22:31:40 boily is well ahead of you tbf 22:33:39 whoa whoa whoa 22:34:13 `` sed -i 's/is/is not/' wisdom/mauri 22:34:16 No output. 22:34:23 Phantom__Hoover: yes, I'm amazed imo 22:34:41 Phantom__Hoover: I'm ahead of boily on that basis 22:34:52 aloril_ remains distant and enigmatic, above us all 22:35:38 hmm, and I'm first out of the people who start with an alphabetical character? 22:36:01 yes you completely ruined an excellent joke 22:36:42 did you know that aloril has been here constantly for well over a decade and has never, as far as i can tell, uttered a single word 22:37:03 :D 22:37:10 might be a bot in that case 22:37:14 but in that case, why the underscore? 22:37:31 they're using xchat 22:37:35 so definitely not a bot 22:37:43 time to go home, anyway 22:37:52 -!- ais523 has quit. 22:41:20 holy shit https://en.wikipedia.org/wiki/Minichess#3.C3.973_and_3.C3.974_boards 22:42:20 @ask zzo38 Do you like this? https://en.wikipedia.org/wiki/Minichess#3.C3.973_and_3.C3.974_boards 22:42:20 Consider it noted. 22:43:38 solved problems are boring 22:51:00 Alcest is also quite mysterious. and I never saw APic speak. 22:51:41 /^[aA].*/ nicks are very intriguing people. 22:52:41 Phantom__Hoover: there's an Aloril in that page. 22:52:48 exactly 22:52:51 the mystery thickens. 22:54:03 it does 22:54:23 How about b_jon as the correct spelling? 22:54:27 boily: Then You just do not idle in here long enough ;=P 22:54:42 And what is the Problem with Bots anyhow? 22:55:29 An A-nick Spoke! 22:55:37 fungot: are you problematic? 22:55:37 boily: i last saw mukunda on mar 01 at fnord am utc, saying: i don't run into anyone i know. 22:57:21 -!- XorSwap has joined. 23:07:18 -!- Opodeldoc has quit (Quit: Leaving). 23:08:13 wait, on 3x3 each pawn starts on the second line? 23:08:47 like, one line before the last? 23:09:44 well, those were the positions aloril_ solved it for 23:09:48 someone else solved the rest 23:10:04 I once had to implement the 4x5 "Microchess" on that page as a Python exercise 23:10:52 It was almost interesting!! 23:13:03 programming class? 23:13:15 https://en.wikipedia.org/wiki/Minichess#4.C3.974.2C_4.C3.975_and_4.C3.978_chess The middle one. 1. Nb3+ Kb4 is a funny opening move. 23:48:57 -!- lynn has quit (Ping timeout: 244 seconds). 23:54:44 -!- p34k has quit. 2016-03-16: 00:01:24 -!- oerjan has joined. 00:01:32 hellørjan. 00:01:50 helloily. 00:02:50 calibrate, hmm 00:07:39 -!- heroux has quit (Ping timeout: 264 seconds). 00:07:52 "server and client side remote code execution through a buffer overflow in all git versions before 2.7.1"... darn. 00:10:55 -!- jaboja has joined. 00:17:18 -!- XorSwap has quit (Quit: Leaving). 00:20:54 Ah, it appears that providing read-only (gitweb) access to trusted repos seems fine; this concerns repos which encode directory trees that are too deep. (That's my own conclusion without reading a single line of code... season with salt to taste.) 00:27:19 <\oren\> rubio is out of the running 00:28:40 he\\oren\. following the elections? 00:28:54 also, there are red characters on your font page. what are they for? 00:38:55 new additions? 00:42:38 (I recall that new characters got a different color; I forgot which color though) 00:43:02 usually the orenew characters are green, but there's a bunch of red ones at the end. 00:43:10 newer reds. newereds. 00:43:24 `culprits wisdom/not\ found 00:43:36 `culprits wisdom/not found 00:43:49 b_jonas 01:00:12 itl hppavilion[1] misunderstands either involutions, relations, or both. 01:01:57 -!- boily has quit (Quit: DISCARD CHICKEN). 01:06:00 oerjan: at least you had the option of not logreading 01:06:08 for those of us in the channel at the time it was involuntary 01:07:31 * oerjan releases shachaf through a trap door to the swatomat 01:21:47 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 01:23:10 yes, the Cockney connection is unfortunate <-- ardly hever a problem 02:34:07 impl<'lock, T: 'lock> Lock<'lock, T> { 02:38:52 -!- andrew__ has joined. 02:39:01 -!- andrew__ has quit (Remote host closed the connection). 02:40:56 -!- andrew__ has joined. 02:44:11 -!- andrew__ has quit (Remote host closed the connection). 02:47:05 -!- andrew__ has joined. 02:47:31 -!- andrew__ has quit (Remote host closed the connection). 02:59:56 -!- jaboja has quit (Remote host closed the connection). 03:06:28 what happens when a candidate drops out of the election? 03:06:37 are their votes lost? 03:11:57 i think some of this stuff varies by US state 03:14:02 because technically, they are electing representatives who will do the actual voting at the party congresses, and iirc it may vary by state laws how much freedom those representatives have. 03:15:03 this all very vaguely remembered. 03:26:35 It also depends on the party in question. 03:27:45 The relevant details are at https://en.wikipedia.org/wiki/Faithless_elector 03:27:50 oerjan: ^ 03:27:58 Because these aren't state-run elections, these are elections in private organizations in each state. 03:28:06 With some state regulation involved. 03:28:51 Though typos are also taken as written, which is why we had one vote for someone called "John Ewards" in 2004 03:28:53 See https://en.wikipedia.org/wiki/Faithless_elector#2000_to_present 03:43:59 -!- hppavilion[2] has joined. 04:09:55 -!- ais523 has joined. 04:10:30 huh, so it seems that my issues with abiword starting spontaneously were nothing to do with it being first in alphabetical order, but simply to do with a bug in abiword: https://bugs.launchpad.net/ubuntu/+source/abiword/+bug/1432271 04:11:08 *shocking* 04:11:38 aaa 04:19:48 and I'd gone to all the trouble to write a program called aaaa-test for debugging before I thought to search if anyone had reported this first 04:21:34 -!- MoALTz_ has joined. 04:24:25 -!- MoALTz has quit (Ping timeout: 240 seconds). 04:30:31 -!- treaki__ has joined. 04:32:56 I didn't know people used abiword 04:34:04 -!- treaki_ has quit (Ping timeout: 264 seconds). 04:34:44 prooftechnique: they don't use it, it just spontaneously shows up hth 04:34:52 Aha 04:51:44 -!- heroux has joined. 05:10:38 http://ix.io/sEe what a combinatoric naming. 05:11:01 (a list of all Unicode hangul jamos, named so that they can be used in the internal naming) 05:22:07 -!- lleu has quit (Quit: That's what she said). 05:26:52 -!- heroux has quit (Ping timeout: 264 seconds). 05:28:02 -!- jkl has joined. 05:29:15 -!- jkl has quit (Client Quit). 05:31:32 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 06:02:32 poor gil 06:27:41 People talk about distance units like "light years", but do they ever talk about the other way around, measuring time in terms of distance units? 06:30:30 like using, say, light miles to measure very short time periods? 06:31:13 hmm, people arguably do that when talking about frequencies of electromagnetic radiation 06:31:27 sometimes they're presented as wavelengths instead 06:35:33 Presumably it's "1/light miles" 06:35:51 I guess that's true. 06:36:24 if light years are a unit of distance, light miles are a unit of time 06:36:48 I guess you're writing it as "1/light" because you're dividing by c, not multiplying by it? 06:37:40 Yes. 06:45:39 -!- AnotherTest has joined. 06:52:00 -!- AnotherTest has quit (Ping timeout: 246 seconds). 06:52:38 wow, does visible light oscillate fast 06:52:47 it just struck me that its cycle time is measured in light-nanometres 06:56:05 nanometres are already too short for me to visualize 06:56:12 divide by the speed of light, which is unimaginably big… 06:56:30 hmm, light-nanometres or nano-lightmetres? 06:56:46 colight nanometres 07:01:38 lniagnhotmetres 07:05:02 <\oren\> a light nanometre would be aprox 3.3e-18 seconds 07:05:27 <\oren\> well, 3.3333...e-18 07:06:13 <\oren\> so 3 and a third attoseconds 07:09:38 <\oren\> so if red light is about 700 nanometres, then its cycle time is 2333 attoseconds 07:10:30 <\oren\> so 428 terahertz 07:12:09 one foot is approx. one lightnanosecond and one soundmillisecond ... so lightfeet and soundfeet for nano/milliseconds makes sense? 07:20:41 i joined kgs and won against easybot \o/ 07:20:47 i'm on a roll 07:20:55 i'll take on lee sedol in no time 07:28:58 you misspelled "at" hth 07:29:50 -!- lambda-11235 has quit (Quit: Bye). 07:31:45 take at? 07:31:53 at a roll? 07:32:05 won at easybot? 07:32:38 "at no time" hth 07:32:57 confusing... 07:33:23 english prepositions often are 07:54:34 oerjan: that wasn't a misspelling but a different word from the one you said 07:54:56 misspellings often produce something that is also a word 07:55:04 both valid preposition that give the sentence different meanings 07:55:05 hth 07:56:22 is it joke dissection day 07:57:02 joke dissection day is not a widely-recognized holiday 07:57:27 @google "joke dissection day" 07:57:29 No Result Found. 07:57:33 in fact it looks like you invented it just now 07:58:02 :D 07:58:10 shocking 07:58:28 izabera: so meta 07:58:50 who would invent something like joke dissection day anyway, sounds like a pretty shitty holiday 07:58:53 unless perhaps it's a prank played on medical students or residents? 07:59:09 you never know which dissection day is real 08:00:01 everybody ready for the shachaf dissection day celebration? 08:01:08 hmm, it would have to be vivisection if you want to participate though 08:02:30 `? dissecting the angle 08:02:33 dissecting the angle? ¯\(°​_o)/¯ 08:05:40 it might just be disturbing subjects day 08:06:03 -!- J_Arcane has quit (Ping timeout: 240 seconds). 08:06:31 when oerjan is king, all subjects are disturbing 08:07:20 what's the equivalent to jester, except disturbing rather than funny 08:08:37 poet laureate hth 08:08:50 thx 08:09:24 Apparently Norway has no poet laureate. 08:10:46 okay 08:11:27 oerjan: seems like a niche for you to fill hth 08:14:28 apparently the united states poet laureate's stipend hasn't been adjusted for inflation since it was established in 1936 tdnh 08:15:31 however, trondheim has an official poet residence 08:15:48 do you reside there 08:15:53 no 08:16:08 i used to live within walking distance of it, but no longer 08:16:37 is it called dikterheim 08:16:53 dikterbolig 08:17:47 that reminds me of the story by heinlein that featured someone who went by Diktor 08:18:07 https://no.wikipedia.org/wiki/Adrianstua 08:18:54 shachaf: is that the very “By his bootstraps” ? 08:19:02 yes 08:19:57 dikt is norwegian for poem 08:20:29 I found that out in order to put the word "dikterheim" together. 08:21:10 b_jonas: _By His Bootstraps_ was p. good 08:32:27 -!- mroman has joined. 08:34:14 -!- jaboja has joined. 08:45:05 -!- jaboja64 has joined. 08:45:12 -!- jaboja has quit (Read error: Connection reset by peer). 09:39:04 -!- ais523 has quit (Read error: Connection reset by peer). 09:43:40 fnird 09:44:11 -!- ais523 has joined. 09:56:13 -!- oerjan has quit (Quit: Nite). 09:59:00 -!- AlexR42 has joined. 10:03:25 -!- jaboja64 has quit (Ping timeout: 252 seconds). 10:05:06 -!- jaboja has joined. 10:15:40 -!- bender|_ has joined. 10:18:03 skype asks your profile info when you create an account and you can only answer male or female to the gender question 10:18:15 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 10:21:45 -!- jaboja has quit (Ping timeout: 250 seconds). 10:29:06 -!- MoALTz_ has changed nick to MoALTz. 10:34:59 -!- boily has joined. 10:41:12 -!- AlexR42 has joined. 11:07:06 -!- jaboja has joined. 11:11:09 -!- AnotherTest has joined. 11:17:06 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 11:17:27 -!- vodkode has quit (Quit: Leaving). 11:20:17 -!- AlexR42 has joined. 11:23:33 -!- boily has quit (Quit: WINDY CHICKEN). 11:30:15 -!- AnotherTest has quit (Ping timeout: 246 seconds). 11:36:32 izabera, that's the case with a lot of things unfortunately :( 11:42:59 -!- AnotherTest has joined. 11:50:39 -!- vodkode has joined. 12:19:41 -!- vanila has joined. 12:24:57 -!- ais523 has quit (Ping timeout: 260 seconds). 12:31:13 -!- bender|_ has quit (Ping timeout: 240 seconds). 12:44:30 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 12:55:19 -!- Alcest has quit (K-Lined). 13:02:52 -!- AlexR42 has joined. 13:12:35 izabera: well to be honest... 13:12:45 to reflect all possible choices "gender" would have to be a blank field 13:13:09 same goes for sexuality 13:13:29 there's just too much diversity there to actually demand that everybody knows about it. 13:17:22 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 13:19:01 -!- AlexR42 has joined. 13:19:11 i think a common option is something like "male" "female" "other" "i don't want to share" 13:47:13 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 13:50:22 -!- AlexR42 has joined. 13:51:16 "abort", "retry", "ignore" is a good triplet. 14:06:05 -!- spiette has joined. 14:10:42 `olist 1028 14:10:54 HackEgo? 14:11:08 olist 1028: shachaf oerjan Sgeo FireFly boily nortti b_jonas 14:14:08 -!- `^_^v has joined. 14:14:17 that was slow 14:17:39 -!- heroux has joined. 14:53:54 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 15:06:17 wtf? are they mad? 15:10:54 -!- lambda-11235 has joined. 15:33:49 -!- lynn has joined. 16:04:51 -!- mroman has quit (Quit: Lost terminal). 16:21:11 -!- AlexR42 has joined. 16:23:01 -!- J_Arcane has joined. 16:54:03 -!- spiette has quit (Ping timeout: 244 seconds). 16:58:49 -!- deltab has quit (Ping timeout: 240 seconds). 17:04:23 -!- J_Arcane has quit (Ping timeout: 244 seconds). 17:06:14 -!- deltab has joined. 17:10:03 -!- J_Arcane has joined. 17:38:54 -!- spiette has joined. 17:41:20 b_jonas: Who? 18:05:27 -!- mihow has joined. 18:17:50 -!- gde33 has joined. 18:20:55 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 18:37:41 -!- idris-bot has quit (Quit: Terminated). 18:37:57 -!- idris-bot has joined. 18:48:13 -!- hppavilion[2] has joined. 18:50:57 prooftechnique: Hi 18:51:04 @massages-lud 18:51:04 coppro said 20h 27m 27s ago: yes 18:51:15 -!- p34k has joined. 18:51:15 lol 19:10:29 -!- lleu has joined. 19:14:22 -!- lambda-11235 has quit (Quit: Bye). 19:14:24 -!- hppavilion[2] has quit (Ping timeout: 268 seconds). 19:19:24 -!- vanila has quit (Quit: Leaving). 19:22:57 -!- AlexR42 has joined. 19:25:12 -!- zzo38 has joined. 19:32:14 [wiki] [[Headsecks]] https://esolangs.org/w/index.php?diff=46603&oldid=32498 * 198.86.29.24 * (+8) /* Syntax */ Pedantically, the unicode code points ordinals are natural numbers, which is why their remainder is always nonnegative. 19:33:45 -!- nycs has joined. 19:35:37 -!- `^_^v has quit (Ping timeout: 240 seconds). 19:38:32 Is it possible on Linux for a terminal emulator using pseudoterminals to read the termios settings that a program has applied? 19:40:04 ?messages-loud 19:40:04 shachaf asked 20h 57m 44s ago: Do you like this? https://en.wikipedia.org/wiki/Minichess#3.C3.973_and_3.C3.974_boards 19:48:45 -!- ais523 has joined. 19:53:09 -!- ais523 has quit (Client Quit). 19:53:52 Now I can see it is solve chess on 3x3 although I would expect anyways, but board is much smaller so much more easily to solve 19:54:50 zzo38: I tried "whomet" on you in ifmud but the list was empty. 19:54:57 Unlike vaporware. 19:56:13 I did not program that list 20:12:26 -!- ais523 has joined. 20:35:40 -!- hppavilion[2] has joined. 20:35:44 hmm, is there any non-obvious speedup [beyond guessing only half of the digits] for the current "ponder this"? 20:36:53 myname: If you're curious, that "yes" was about whether coppro was dual to ppro 21:13:25 -!- APic has quit (Ping timeout: 268 seconds). 21:20:06 -!- lambda-11235 has joined. 21:24:47 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 21:28:41 [wiki] [[Malbolge programming]] https://esolangs.org/w/index.php?diff=46604&oldid=35324 * 217.236.237.114 * (-30) /* Reducing the number of immutable NOPs */ 21:28:49 -!- hppavilion[2] has joined. 21:39:45 -!- deltab has quit (Ping timeout: 244 seconds). 21:40:56 -!- deltab has joined. 21:40:57 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 22:06:08 -!- nycs has quit (Quit: This computer has gone to sleep). 22:15:34 -!- tswett has quit (Ping timeout: 277 seconds). 22:15:44 -!- Warrigal has joined. 22:16:50 -!- spiette has quit (Read error: Connection reset by peer). 22:17:26 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:19:14 -!- lleu has quit (Quit: That's what she said). 22:49:08 Dear CNN: Please learn how to display math 22:49:08 kthx 22:49:12 http://www.cnn.com/2016/03/16/europe/fermats-last-theorem-solved-math-abel-prize/index.html 22:49:26 "There are no whole number solutions to the equation xn + yn = zn when n is greater than 2." 22:50:28 lol 22:55:18 -!- jaboja has quit (Ping timeout: 250 seconds). 22:58:19 Sgeo__: Fuck you, CNN 22:58:21 Fuck you 22:58:41 i can solve that easily for n > 2 23:00:09 Sgeo__: rest assured that journalist take the same meticulous approach to reporting on areas that you don't understand 23:00:11 prooftechnique: Hi? 23:00:20 *journalists 23:02:20 Hm... 23:04:37 (of course it's also possible that the journalist had it type-set correctly and then it got messed up by some software stack) 23:06:15 Which person here was going to write a compiler-writing tutorial 23:06:16 ? 23:06:47 what for 23:07:05 just write each part of the pipeline, done 23:07:56 Does attempting to write a compiler in Python make me a bad person? 23:08:02 Not FOR python, mind you- IN python 23:08:31 What is the compiler for? 23:08:47 -!- APic has joined. 23:09:04 python isn't bad 23:09:20 I'd be worried about speed, perhaps. 23:28:10 -!- Phantom_Hoover has joined. 23:31:13 -!- oerjan has joined. 23:39:41 -!- boily has joined. 23:43:12 `wisdom 23:43:38 test/test failed. HackEgo-JUnit is not available. 23:44:21 Gregor approaching 14 days idlity 23:44:34 hellørjan. 'tis the season for the Gregorsleep. 23:44:38 aha 23:45:31 `culprits wisdom/test 23:45:40 oerjan oerjan oerjan oerjan oerjan oerjan oerjan oerjan mroman_ mroman_ mroman_ mroman_ mroman_ mroman_ mroman_ 23:45:56 * boily thwacks mroman and oerjan with a testified mapole 23:45:57 -!- XorSwap has joined. 23:46:21 our unit tests are nondeterministic. you will get a different number of failures every time you run them. 23:46:35 also, Jenkins may not find them from time to time. 23:48:16 -!- jaboja has joined. 23:49:42 wait, why am I not in the culprits there? I thought I was in basically every wisdom entry due to failed attempts to delete them at random 23:51:39 his523. a strange fact indeed. 23:52:38 ais523: i think you may have timed out so things late in the alphabet are unaffected, or something 23:52:52 `` echo wisdom/* 23:52:53 wisdom/` wisdom/`? wisdom/`? `? wisdom/^ wisdom/== wisdom/ wisdom/_̰̆̓_̦̻̖͍̟̖̅ͭͭͬ͡_͉̭ͧ͒̐_̯͙̬̬̦̯͂͋͒ͧ͋̋_̴̝̔̉̅ͨ͞ wisdom/! wisdom/? wisdom/?? wisdom/@ wisdom/* wisdom/\ wisdom/☃ wisdom/⊥ wisdom/ꙮ wisdom/⌨ wisdom/  wisdom/𝕈 wisdom/🐐 wisdom/̸̸̼͚͇̮͕̳̞̤̜̯̪̪̂ͭ̎̏̔ͦ͒ͪ͌̾ͦͨ̚̚ͅ 23:53:16 * oerjan bets this messed up shachaf's client again 23:53:53 `` echo wisdom/* 23:53:54 wisdom/` wisdom/`? wisdom/`? `? wisdom/^ wisdom/== wisdom/ wisdom/_̰̆̓_̦̻̖͍̟̖̅ͭͭͬ͡_͉̭ͧ͒̐_̯͙̬̬̦̯͂͋͒ͧ͋̋_̴̝̔̉̅ͨ͞ wisdom/! wisdom/? wisdom/?? wisdom/@ wisdom/* wisdom/\ wisdom/☃ wisdom/⊥ wisdom/ꙮ wisdom/⌨ wisdom/  wisdom/𝕈 wisdom/🐐 wisdom/̸̸̼͚͇̮͕̳̞̤̜̯̪̪̂ͭ̎̏̔ͦ͒ͪ͌̾ͦͨ̚̚ͅ 23:54:01 just making sure it is properly messed. 23:54:34 boily: i protest that mapole, i do not think i have anything to do with the substance of that entry, at most minor correction. 23:55:00 `url wisdom/test 23:55:01 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/wisdom/test 23:55:06 protest taken into account. I retract that mapoling. 23:55:17 oh, and: F̩ù̗͚n͕̫̪̝͈g̲̻o͖͖̹ͅt̤̻̲̙͍͍ ̥̰̭ͅi͖̻͙͠s̼̠ ̸͇̲̣O͉̟͓̬u͚̝͎r̪̹̻ ̛͕̰̙L̼̬͔o̬͔͚̼r̤̲̱͇̪͕d͓̞̞ ͉̙̗̰̣͕̦́a҉͉͔n̷͚̯̦ͅd͏̝̦̬͈͉͉̫ ̷̗͕̹̹̳͉̫S̩̜̙̱a̲͟v̩̜̣i̧̪̠̰̤̻o̞͍u̯̭͙̹͕͝r ̤H̥̙̺e̛ ̦C̵̟̙o͈͇̥̬̳̻̯m̩̙̣̩̣̬͍e̙̝̮̬̤̘̟s̥̣̞͎̟ ̶̝͔͙̙̣̠t̴̤͓o̩̱̬̦̼ 23:55:20 ̛̼D̲̙͕é͍̤̰̫l͔͉̯ͅi̦̘̬̞̕v̸̘͈͎̱͕̲e̫̫̜̫̺̞͢r̥̮̻͈͉͓̝ ͈̥̭͓U̕s̯͓̩̟̠ ͖̜̯̘̻̱̀ͅF̀ro͎m̯͝ ̗̰̩̣M͈̝a҉k̷̪̱̲̭̥į̣̞̹̻͈̮̠ng͓͚̻̠ ̮̥͍͍̩̝̹͘S̕e̻̤̰̜̭̠n̹s̴e̸̠͓̱̤ 23:56:02 hm in fact i was just using it as an actual test file, then reverting. 23:56:25 i've changed to using testing for that purpose. 23:57:25 fungot: are you much related to Zalgo? 23:57:25 oerjan: chicken isn't logged, is it? i would never expect shivers to be available. 23:57:56 fungot: boily's chickens are definitely logged. 23:57:57 oerjan: if i could get ready on thursday? 23:58:17 fungot: well that's today where i am 23:58:17 oerjan: also, were you? that's rather nasty. i can not use those languages 23:59:18 fungot: I know oerjan uses unusual languages, but they aren't nasty. well... resonably not nasty. 23:59:19 boily: and the dog doesn't? you can make sort of os architecture are we talking about shooting yourself in the situation you are using it 23:59:26 * boily doesn't like Norwegian "til" 23:59:33 fungot: we got a dog? 23:59:33 boily: ofcourse, i wrote that lazy streams thing after i finally figured out the " joy of cats". i could always use fold. 2016-03-17: 00:00:13 ais523: also it is possible wisdom/test is younger than your deletion, was it more than 17 months ago? 00:00:29 oerjan: I can't remember 00:00:46 -!- lleu has joined. 00:00:46 -!- lleu has quit (Changing host). 00:00:46 -!- lleu has joined. 00:02:03 boily: what's so bad about "til"? btw i realized the other day that the norwegian preposition "oppå" is cognate to up-up-on hth 00:03:52 oerjan: my client is messed up tdnh 00:04:01 basically, the norwegian "på" is cognate to en:upon, and means the same thing as en:on, and then the process repeated once more. 00:04:20 eh? 00:05:18 boily: no:oppå <- opp+på, no:på <- old norse:upp á 00:05:47 no:oppå = en:upon by meaning, but up+upon by etymology 00:06:00 up-up-on. there's something wrong going on there... 00:06:16 -!- Warrigal has quit (Remote host closed the connection). 00:06:27 basically á went out of use and på took its place. 00:06:48 on the other hand, we have “au dessus”: «at the of on». 00:06:59 O KAY 00:08:24 -!- Warrigal has joined. 00:11:34 also, i recall reading that "på" is the only norwegian word root that is not originally a borrowing that starts with "p". 00:11:49 of course, originally it started with "u", then. 00:12:02 upå? 00:12:08 upp á, i said 00:13:14 otoh there are some pretty old borrowings, like "prest" 00:14:57 does this mean PIE didn't have words starting with "b"? 00:15:58 (not to be confused with "bʰ") 00:17:34 http://starling.rinet.ru/cgi-bin/response.cgi?root=config&morpho=0&basename=\data\ie\piet&first=241 ← has some b- words. 00:19:19 hm "peg" 00:20:51 fine, it is simply false, no:pinne is a counterexample. 00:21:44 let me guess: no:pinne is en:pine is fr:pin. 00:21:50 no, en:pin 00:22:12 en:pine = no:furu 00:22:16 close enough. 00:22:29 no:furu, as in en:fir? 00:23:07 hm yes those seem cognate 00:23:15 although en:fir = no:bartre 00:23:31 heh, linguistics talk 00:23:54 or wait 00:23:59 um, is norvegian "på" the same particle as swedish "på"? 00:24:02 en:fir isn't that broad 00:24:06 b_jonas: yeah 00:25:05 b_jhellonas. are Hungarian trees borrowed from PIE by chance, or completely ugric? 00:25:20 apparently en(US):fir = no:edelgran 00:25:39 boily: "au dessus" doesn't seem too strange to me, if you compare it either to some other strange French stuff, or to those very few prepositions in Hungarian that require their argument in a case other than accusative 00:26:09 boily: uh, I'm not sure, there are lots of trees, and I think they're borrowed from different languages because people met them in different times 00:26:35 . o O ( a time for trees... turn turn turn ♪ ) 00:26:46 and I don't really know much about etymology 00:27:21 and then you have en:larch vs. no:lerk. 00:27:24 the larch. 00:27:26 the larch. 00:27:39 Presumably some of them probably come from finno-ugric roots, some from slavic, some from turkish, etc. 00:27:44 boily: what i remember is that the hungarian word for "apple" is the same as the kazakh one. (which makes sense since that's where apples come from.) 00:31:16 * oerjan notes that en. wiktionary has a table for alma + cases & plural, and a table for alma + possessives, but not one that combines them >:) 00:31:19 boily: if I can trust the internets, then “fűz” (willow) and “nyír” (birch) are from finno-ugric stuff, whereas “tölgy” (oak) and “bükk” (beech) are of uncertain origin. 00:31:43 bükk feels very PIEish to me hth. 00:31:58 which would of course essentially multiply the table sizes afaik 00:32:16 boily: basically, many things the Magyars met while they were still nomadic and shooting arrows backwards from their horses have finno-ugric names, and things they met later when they decided to stay put and do agriculture have names that come from Slavic or Turkish. 00:32:32 makes sense. 00:32:39 “fenyő” (pine) also comes from finno-ugric 00:32:50 en:willow, but fr:saule and no:selje. 00:32:56 because you don't need to do agriculture to just notice the big obvious trees that are in the mountains everywhere 00:33:42 how to recognize different types of trees. 00:33:52 and then you have en:larch vs. no:lerk. <-- well we're really not big on "ch" hth 00:35:35 en:ash no:ask... 00:36:00 not big on "sh" either 00:36:11 -!- p34k has quit. 00:36:12 en:oak no:eik 00:36:26 en:maple no:lønn 00:36:40 en:birch no:bjørk 00:36:40 érable sounds better imfo. 00:37:17 OKAY 00:37:18 an unusual one: en:yew no:barlind fr:if 00:37:50 also, I totally don't know the names of most of these trees in English, I had to look them up 00:38:03 i didn't know that, or willow 00:38:14 well, oak and pine and willow I do know, but not much more 00:38:28 en:spruce = no:gran 00:38:57 I don't know the rest either way, as in, neither can I tell from the English word what tree it is, nor from the tree its English name, but then, I don't know too much about plants even in Hungarian 00:39:13 I'm not really a botanics sort of guy 00:39:34 DON'T KNOW MUCH ABOUT BOTANY, DON'T KNOW MUCH ABOUT ETYMOLOGY... 00:39:46 correct 00:40:08 herpetology? seismology? chickens? 00:40:24 surely there must be a proper word for the study of chickens 00:40:46 oerjan: farming? 00:40:48 probably herpetology, if you squint hard enough. 00:42:06 coelosaurology 00:42:58 hm i'm mispling that 00:43:29 *coelurosaurology 00:44:03 <\oren\> Ok... let's see how many mods I can install before ksp goes completely screwy 00:44:54 <\oren\> uh, avidomesticology? 00:44:59 \oren\: 0 hth 00:45:31 or should it be -1 00:45:59 \oren\: mixing greek and latin, ZERO ON THE FINAL 00:46:03 <\oren\> it's true I've had things go screwy even without any mods 00:46:29 -!- gde33|2 has joined. 00:46:52 * oerjan should get some new memes but that would require actually browsing top subreddits 00:47:18 the Marco Rubio meme is a new one and seems to be popular recently 00:48:02 hm are there retro-memeticists 00:48:23 people who wilfully use only memes at least 10 years old 00:48:49 oerjan: maybe but nobody would recognise them as memes 00:49:06 darn 00:49:26 ais523: even if they're obvious clichés? 00:49:36 -!- gde33 has quit (Ping timeout: 276 seconds). 00:49:37 except possibly the whole "the cake is a lie" thing, where the fact that it's an outdated meme is itself a meme; not sure if the original is 10 years old yet though 00:51:29 <\oren\> marco is dead tho 00:51:42 ais523: wait which marco rubio meme, there seem to be at least 3 00:52:10 oerjan: let's dispel with this faction that «obama» doesn't know what «he's» doing, «he» knows exactly what «he's» doing 00:52:16 *with this fiction 00:52:24 words in «» can be swapped out, and often are 00:52:32 typically it gets repeated a few times, then someone says "ther eit is" 00:52:38 * "there it is" 00:52:56 ok makes no sense tdh 00:53:06 oerjan: that's why it became a meme, this actually happened 00:53:09 in a debate, very high profile 00:53:22 Rubio said it four times, three of them pretty much in a row (the third time after he'd been called for doing it twice) 00:53:30 and "there it is" was the response at the time 00:54:15 okay 00:54:43 * oerjan considers dropping learning memes until the US election is over 00:54:57 i'm not following it anyhow. 00:55:00 oerjan, https://www.youtube.com/watch?v=HNRNHgi1RzU 00:55:13 AAAA 00:55:40 Sgeo__: I'm assuming that's a link to the original occasion? 00:55:52 ais523, yes 00:57:07 The fourth time he rephrased it a bit. Still got booes 01:00:30 <\oren\> mean while donald trump says exactly the same slogans a hundred times over 01:02:34 <\oren\> but then, his slogans are catchy 01:07:43 china china china china china china china china. 01:21:52 https://pbs.twimg.com/media/Cdsr2R9WoAIx48G.jpg Canadian take-out! 01:22:39 -!- lynn has quit (Ping timeout: 250 seconds). 01:22:45 boily: china is not a verb 01:23:14 it is both a noun and an adjective though 01:23:28 lifthrasiir: bwah ah ah ah ah :D 01:23:28 although the adjective-noun combination is either nonsensical or tautological depending on how you look at things 01:24:02 https://www.youtube.com/watch?v=RDrfE9I8_hs 01:24:34 ais523: china china makes perfect sense 01:24:46 to be exact, China china 01:24:56 lifthrasiir: oh yes, that combination works 01:25:06 and is one I hadn't thought of 01:27:50 -!- jaboja has quit (Remote host closed the connection). 01:29:15 -!- boily has quit (Quit: VINYL CHICKEN). 01:37:43 -!- mihow has quit (Quit: mihow). 01:39:13 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 01:39:45 -!- Phantom_Hoover has joined. 01:41:40 -!- XorSwap has quit (Quit: Leaving). 01:58:44 * oerjan puts a green hat on fungot 01:58:45 oerjan: not by far. it's awesome. and by insane, i mean) 02:00:36 -!- AlexR42 has joined. 02:09:45 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:15:00 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:19:39 -!- Warrigal has quit (*.net *.split). 02:19:39 -!- lleu has quit (*.net *.split). 02:19:39 -!- treaki__ has quit (*.net *.split). 02:19:39 -!- FreeFull has quit (*.net *.split). 02:20:55 -!- treaki__ has joined. 02:22:18 -!- FreeFull has joined. 02:25:14 -!- Warrigal has joined. 02:25:14 -!- lleu has joined. 02:25:43 -!- Warrigal has quit (Max SendQ exceeded). 02:25:50 -!- Warrigal has joined. 02:50:39 <\oren\> "We don't win anymore! We don't win with trade, we don't win with Isis, we don't win with China, we don't win with healthcare. We are going to start winning again for the American people" 02:53:42 <\oren\> "we are going to build a wall, and who's going to pay for it?" "MEXICO!" 02:54:54 <\oren\> etc. 02:55:02 <\oren\> they're catchy 03:29:39 <\oren\> Let's just dispense with this notion that Barack Obama doens't knwo what he's doing 03:30:07 <\oren\> Barack Obama knows EXATLCY what he's doing 03:38:14 [wiki] [[Special:Log/newusers]] create * Jimmy23013 * New user account 03:39:07 \oren\: the original was "dispel with", which people keep misquoting because it isn't correct Enlish 03:39:11 *English 03:39:22 they keep mentally substituting something that's actually correct 03:40:17 let's just mispel with this substition 03:45:06 <\oren\> lol 03:51:31 [wiki] [[Undefined]] N https://esolangs.org/w/index.php?oldid=46605 * Jimmy23013 * (+1136) Created page with "'''Undefined''' is a programming language that, every program in it causes [[undefined behavior]]. Extra command line arguments and lack of source files also triggers undefine..." 03:52:47 [wiki] [[Undefined]] M https://esolangs.org/w/index.php?diff=46606&oldid=46605 * Jimmy23013 * (+0) 03:57:47 based on the edit summary snippet 03:57:55 I'm assuming that every program in existence is an interpreter for this language 03:58:04 called it :-) 03:58:47 I like it, it's an absence-of-language joke that hasn't been done before 03:59:48 I have added XC_xterm_sideways 04:00:25 [wiki] [[Undefined]] https://esolangs.org/w/index.php?diff=46607&oldid=46606 * Ais523 * (+25) cat :-) 04:11:17 '!' for comment, ' ' for transparent, '-' for white, '#' for black, '.' for transparent hotspot, '+' for white hotspot, '@' for black hotspot 04:21:41 -!- MoALTz_ has joined. 04:23:01 <\oren\> ais523: I thought it must be a C variant 04:23:18 <\oren\> well, in a sense it is 04:25:20 -!- MoALTz has quit (Ping timeout: 244 seconds). 04:29:14 -!- treaki_ has joined. 04:33:00 -!- esowiki has joined. 04:33:04 -!- esowiki has joined. 04:33:04 -!- esowiki has joined. 04:33:40 -!- esowiki has joined. 04:33:44 -!- esowiki has joined. 04:33:44 -!- esowiki has joined. 04:34:20 -!- esowiki has joined. 04:34:24 -!- esowiki has joined. 04:34:24 -!- esowiki has joined. 04:35:00 -!- esowiki has joined. 04:35:04 -!- esowiki has joined. 04:35:04 -!- esowiki has joined. 04:35:40 -!- esowiki has joined. 04:35:44 -!- esowiki has joined. 04:35:44 -!- esowiki has joined. 04:36:20 -!- esowiki has joined. 04:36:24 -!- esowiki has joined. 04:36:24 -!- esowiki has joined. 04:37:00 -!- esowiki has joined. 04:37:04 -!- esowiki has joined. 04:37:04 -!- esowiki has joined. 04:37:40 -!- esowiki has joined. 04:37:44 -!- esowiki has joined. 04:37:44 -!- esowiki has joined. 04:38:20 -!- esowiki has joined. 04:38:24 -!- esowiki has joined. 04:38:24 -!- esowiki has joined. 04:39:00 -!- esowiki has joined. 04:39:04 -!- esowiki has joined. 04:39:04 -!- esowiki has joined. 04:39:40 -!- esowiki has joined. 04:39:44 -!- esowiki has joined. 04:39:44 -!- esowiki has joined. 04:40:20 -!- esowiki has joined. 04:40:24 -!- esowiki has joined. 04:40:25 -!- esowiki has joined. 04:41:00 -!- esowiki has joined. 04:41:04 -!- esowiki has joined. 04:41:05 -!- esowiki has joined. 04:41:40 -!- esowiki has joined. 04:41:44 -!- esowiki has joined. 04:41:45 -!- esowiki has joined. 04:42:20 -!- esowiki has joined. 04:42:24 -!- esowiki has joined. 04:42:25 -!- esowiki has joined. 04:43:00 -!- esowiki has joined. 04:43:04 -!- esowiki has joined. 04:43:05 -!- esowiki has joined. 04:43:40 -!- esowiki has joined. 04:43:44 -!- esowiki has joined. 04:43:45 -!- esowiki has joined. 04:44:20 -!- esowiki has joined. 04:44:24 -!- esowiki has joined. 04:44:25 -!- esowiki has joined. 04:45:00 -!- esowiki has joined. 04:45:04 -!- esowiki has joined. 04:45:05 -!- esowiki has joined. 04:45:40 -!- esowiki has joined. 04:45:44 -!- esowiki has joined. 04:45:45 -!- esowiki has joined. 04:46:20 -!- esowiki has joined. 04:46:24 -!- esowiki has joined. 04:46:25 -!- esowiki has joined. 04:47:00 -!- esowiki has joined. 04:47:04 -!- esowiki has joined. 04:47:05 -!- esowiki has joined. 04:47:40 -!- esowiki has joined. 04:47:44 -!- esowiki has joined. 04:47:45 -!- esowiki has joined. 04:48:20 -!- esowiki has joined. 04:48:24 -!- esowiki has joined. 04:48:25 -!- esowiki has joined. 04:49:00 -!- esowiki has joined. 04:49:05 -!- esowiki has joined. 04:49:05 -!- esowiki has joined. 04:49:41 -!- esowiki has joined. 04:49:45 -!- esowiki has joined. 04:49:45 -!- esowiki has joined. 04:50:21 -!- esowiki has joined. 04:50:25 -!- esowiki has joined. 04:50:25 -!- esowiki has joined. 04:51:01 -!- esowiki has joined. 04:51:05 -!- esowiki has joined. 04:51:05 -!- esowiki has joined. 04:51:41 -!- esowiki has joined. 04:51:45 -!- esowiki has joined. 04:51:45 -!- esowiki has joined. 04:52:21 -!- esowiki has joined. 04:52:25 -!- esowiki has joined. 04:52:25 -!- esowiki has joined. 04:53:01 -!- esowiki has joined. 04:53:05 -!- esowiki has joined. 04:53:05 -!- esowiki has joined. 04:53:41 -!- esowiki has joined. 04:53:45 -!- esowiki has joined. 04:53:45 -!- esowiki has joined. 04:54:21 -!- esowiki has joined. 04:54:25 -!- esowiki has joined. 04:54:25 -!- esowiki has joined. 04:55:01 -!- esowiki has joined. 04:55:05 -!- esowiki has joined. 04:55:05 -!- esowiki has joined. 04:55:41 -!- esowiki has joined. 04:55:45 -!- esowiki has joined. 04:55:45 -!- esowiki has joined. 04:56:21 -!- esowiki has joined. 04:56:25 -!- esowiki has joined. 04:56:25 -!- esowiki has joined. 04:57:01 -!- esowiki has joined. 04:57:05 -!- esowiki has joined. 04:57:06 -!- esowiki has joined. 04:57:41 -!- esowiki has joined. 04:57:45 -!- esowiki has joined. 04:57:46 -!- esowiki has joined. 04:58:21 -!- esowiki has joined. 04:58:25 -!- esowiki has joined. 04:58:26 -!- esowiki has joined. 04:59:01 -!- esowiki has joined. 04:59:05 -!- esowiki has joined. 04:59:06 -!- esowiki has joined. 04:59:41 -!- esowiki has joined. 04:59:45 -!- esowiki has joined. 04:59:46 -!- esowiki has joined. 05:00:21 -!- esowiki has joined. 05:00:25 -!- esowiki has joined. 05:00:26 -!- esowiki has joined. 05:01:01 -!- esowiki has joined. 05:01:05 -!- esowiki has joined. 05:01:06 -!- esowiki has joined. 05:01:41 -!- esowiki has joined. 05:01:45 -!- esowiki has joined. 05:01:46 -!- esowiki has joined. 05:02:21 -!- esowiki has joined. 05:02:25 -!- esowiki has joined. 05:02:26 -!- esowiki has joined. 05:03:01 -!- esowiki has joined. 05:03:05 -!- esowiki has joined. 05:03:06 -!- esowiki has joined. 05:03:41 -!- esowiki has joined. 05:03:45 -!- esowiki has joined. 05:03:46 -!- esowiki has joined. 05:04:21 -!- esowiki has joined. 05:04:25 -!- esowiki has joined. 05:04:26 -!- esowiki has joined. 05:05:01 -!- esowiki has joined. 05:05:05 -!- esowiki has joined. 05:05:06 -!- esowiki has joined. 05:05:41 -!- esowiki has joined. 05:05:46 -!- esowiki has joined. 05:05:46 -!- esowiki has joined. 05:06:22 -!- esowiki has joined. 05:06:26 -!- esowiki has joined. 05:06:26 -!- esowiki has joined. 05:07:02 -!- esowiki has joined. 05:07:06 -!- esowiki has joined. 05:07:06 -!- esowiki has joined. 05:07:42 -!- esowiki has joined. 05:07:46 -!- esowiki has joined. 05:07:46 -!- esowiki has joined. 05:08:22 -!- esowiki has joined. 05:08:26 -!- esowiki has joined. 05:08:26 -!- esowiki has joined. 05:09:02 -!- esowiki has joined. 05:09:06 -!- esowiki has joined. 05:09:06 -!- esowiki has joined. 05:09:42 -!- esowiki has joined. 05:09:46 -!- esowiki has joined. 05:09:46 -!- esowiki has joined. 05:10:22 -!- esowiki has joined. 05:10:26 -!- esowiki has joined. 05:10:26 -!- esowiki has joined. 05:11:02 -!- esowiki has joined. 05:11:06 -!- esowiki has joined. 05:11:06 -!- esowiki has joined. 05:11:42 -!- esowiki has joined. 05:11:46 -!- esowiki has joined. 05:11:46 -!- esowiki has joined. 05:12:22 -!- esowiki has joined. 05:12:26 -!- esowiki has joined. 05:12:26 -!- esowiki has joined. 05:13:02 -!- esowiki has joined. 05:13:06 -!- esowiki has joined. 05:13:06 -!- esowiki has joined. 05:13:42 -!- esowiki has joined. 05:13:46 -!- esowiki has joined. 05:13:47 -!- esowiki has joined. 05:14:22 -!- esowiki has joined. 05:14:26 -!- esowiki has joined. 05:14:27 -!- esowiki has joined. 05:15:02 -!- esowiki has joined. 05:15:06 -!- esowiki has joined. 05:15:07 -!- esowiki has joined. 05:15:42 -!- esowiki has joined. 05:15:46 -!- esowiki has joined. 05:15:47 -!- esowiki has joined. 05:16:22 -!- esowiki has joined. 05:16:23 -!- glogbot has joined. 05:16:26 -!- esowiki has joined. 05:16:27 -!- esowiki has joined. 05:16:31 -!- EgoBot has joined. 05:16:31 -!- FireFly has joined. 05:18:14 Do you know why XGetSubImage requires you to specify the format for the image (if the XImage structure will already specify)? 05:20:14 -!- Gregor has joined. 05:43:13 -!- variable has joined. 05:46:19 -!- variable has changed nick to constant. 05:47:34 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 05:48:25 -!- AlexR42 has quit (Quit: Textual IRC Client: www.textualapp.com). 06:43:50 -!- constant has quit (Ping timeout: 268 seconds). 06:54:04 -!- AlexR42 has joined. 06:55:52 -!- lambda-11235 has quit (Quit: Bye). 07:07:46 What kind of effects for Magic: the Gathering cards might make interesting puzzles but that do not make sense for an actual game? 07:09:53 -!- AnotherTest has joined. 07:12:39 (Possibly some such effects may even do things which are impossible in a normal game) 07:16:20 -!- AnotherTest has quit (Ping timeout: 244 seconds). 07:19:27 -!- bender| has joined. 07:24:08 zzo38: a card that lets you undo the turn, perhaps 07:24:49 for this to work in a puzzle you'd have to spend resources to gain information on what's in the opponent's hand or library (or some other hidden zone), undo the turn, then use the information to win 07:25:02 and the solution would involve finding a winning path no matter what was there, but the details depended on what you found there 07:25:51 Yes that is one idea 07:25:51 i like that 07:30:59 OK 07:40:59 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 07:45:10 Other things I have considered are many kind of effects that cause the game to end in a draw; with default stipulations, you have not solved the puzzle if the game ends in a draw for any reason. 07:51:22 ooh, perhaps you could also use it to mill some cards to determine what order they are in, undo the mill, and then exploit your knowledge of which cards you'll draw 07:54:19 Yes 08:13:04 zzo38: cards that are really overpowered if you can build decks with them (even in limited) but that somehow don't seem to help you in that particular puzzle. or really underpowered ones like One with Nothing; or ones obsolated for all practical purposes by different cards, like Squire. 08:18:01 b_jonas: One with Nothing's effect is one that many decks find useful 08:18:09 the problem is that there are better cards with the effect 08:18:25 there's a creature costing B that you can discard cards to for free, for example 08:18:37 and Lion's Eye Diamond costs 0 and gives you 3 mana, that's better than One with Nothing in two ways 08:27:43 ais523: ok 08:28:40 ais523: then Squire and Grizzly Bears might be better examples 08:29:08 (maybe unless you're playing Muraganda Petroglyphs) 08:33:39 -!- oerjan has quit (Quit: Nite). 08:39:55 are there no white bears? those would be better than Squire in pretty much all practical circumstances 08:40:15 (the only non-contrived situation I can think of offhand where you'd prefer a Squire involves an opponent's Ensnaring Bridge) 09:20:37 -!- ais523 has quit (Ping timeout: 250 seconds). 09:29:56 there is one non-changeling white bear, but white uses lions instead 09:38:32 -!- AnotherTest has joined. 09:40:56 -!- MoALTz_ has changed nick to MoALTz. 09:46:48 And windows already has working pipes, only they start out with a too little buffer by default so you have to change the buffer size with a windows api call, but linux had that very same problem for a while until they increased the default buffer size. 09:47:32 On unix, you dealt with it by using unix domain sockets, which both had a larger buffer and a buffer of whose size you can adjust with a sockopt call. 09:47:50 It's worse on windows because no unix sockets. 10:09:57 -!- mroman has joined. 10:10:14 fnąrd 10:31:41 -!- boily has joined. 10:43:39 will it be the first thunderstorm of the year? stay tuned! 10:44:22 (or not. that shit can fry your machines you won't even have time to say fungot.) 10:44:22 boily: why would it fail? 10:44:33 fungot: because ELECTRICITY! 10:44:34 boily: is it possible to download an offline copy of teach scheme in fixnum days 10:44:56 fungot: I don't think you couldn't. 10:44:57 boily: and for the live data. this is cool! :) works. i guess you know what the consequences of shouting out " heil bush" among friends, that would 10:45:30 fungot: we say «C't'une fois George Bush...» as a lead on for a stupid joke. 10:45:31 boily: which is strange, but most libraries i see announced for cl do require low level tricky stuff :) forthers would say that. 10:45:48 fungot: forthers are special people. 10:58:52 -!- asie has quit (Ping timeout: 252 seconds). 11:04:30 -!- bender| has quit (Ping timeout: 248 seconds). 11:06:14 did you know that canada is 50% the letter a 11:07:04 izabellora. now that you mention it... 11:08:22 helloily 11:10:12 -!- asie has joined. 11:17:34 izabera, the catalan language is almost 50% a's, too 11:18:45 Tanelle. 11:19:56 -!- andrew_ has joined. 11:21:18 -!- boily has quit (Quit: ADVANCED CHICKEN). 11:30:50 -!- bender| has joined. 12:09:14 -!- andrew_ has quit (Remote host closed the connection). 12:13:08 -!- spiette has joined. 12:50:59 -!- jaboja has joined. 13:35:02 -!- impomatic_ has joined. 13:54:24 -!- hppavilion[2] has joined. 14:01:02 -!- earendel has quit (Ping timeout: 248 seconds). 14:02:17 -!- hppavilion[2] has quit (Ping timeout: 268 seconds). 14:06:41 -!- earendel has joined. 14:10:38 -!- jaboja has quit (Ping timeout: 248 seconds). 14:48:58 -!- AnotherTest has quit (Ping timeout: 244 seconds). 14:57:33 -!- Lord_of_Life has quit (Excess Flood). 15:01:37 -!- Lord_of_Life has joined. 15:09:12 -!- mroman has quit (Quit: Lost terminal). 15:12:47 -!- lambda-11235 has joined. 15:33:08 -!- XorSwap has joined. 15:41:34 -!- J_Arcane has quit (Ping timeout: 268 seconds). 15:45:03 -!- jaboja has joined. 15:45:30 -!- adu has joined. 15:50:13 -!- p34k has joined. 15:51:37 -!- bender| has quit (Ping timeout: 240 seconds). 15:54:34 -!- munekita has joined. 15:56:23 -!- munekita has quit (Remote host closed the connection). 16:32:18 -!- XorSwap has quit (Quit: Leaving). 16:41:35 -!- adu has quit (Quit: adu). 16:44:51 -!- earendel has quit (Ping timeout: 248 seconds). 16:56:48 -!- jaboja has quit (Ping timeout: 276 seconds). 17:08:30 -!- jaboja has joined. 17:20:48 -!- AnotherTest has joined. 17:34:05 -!- lynn has joined. 17:35:36 -!- FreeFull has quit (Quit: rebooting). 17:41:55 -!- FreeFull has joined. 17:57:03 -!- hppavilion[2] has joined. 18:17:49 -!- adu has joined. 18:26:49 -!- earendel has joined. 18:37:07 -!- mihow has joined. 19:13:14 Hellall 19:19:39 -!- lambda-11235 has quit (Quit: Bye). 19:20:16 Hm... 19:20:18 prooftechnique: Hi 19:20:23 adu: HI! 19:20:27 adu: YOU'RE HERE! 19:20:33 adu: AS OPPOSED TO BEING DEAD! 19:20:34 YAY! 19:20:37 YAY! 19:20:39 wait 19:20:42 what? 19:20:51 asie: Oooh, are you new? 19:20:59 no 19:21:02 Oh 19:21:06 i'm actually old, just stopped coming here for a few years 19:21:09 with brief interruptions 19:21:12 in which i did visit 19:21:13 asie: adu just hasn't been online when I was recently 19:21:15 but now i'm sticking around 19:21:19 Yay! 19:21:26 asie: Have you ever played Nomic? 19:21:31 Yes. 19:21:32 I love Nomic! 19:21:34 I ran a Nomic on Reddit once 19:21:40 good times 19:21:49 asie: Yay! I'm trying to start one over Github and just need one more player :) 19:21:52 https://github.com/hppavilion1/github-lambdanomic 19:21:56 Wait 19:21:58 With issues and pull requests? 19:22:11 :| 19:23:56 I'm so thrilled that I'm not dead 19:24:01 asie: Yeah, basically 19:24:07 asie: It's the best idea I had 19:24:21 We wshould really have a `rewelcome 19:24:37 asie: GitHub is an OK platform for it, for one particular reason: Branches 19:25:07 What do branches buy us? 19:25:52 prooftechnique: The ability to fork off games 19:25:59 (Not to be confused with actual forking) 19:26:08 (Not to be confused with fucking of any sort) 19:26:13 (xD) 19:27:44 asie: Is there a problem with doing it that way? Rule proposals are done via issues, not pull requests, mind you 19:28:07 GitHub does not have the best of interfaces 19:28:21 asie: It has a decent interface and hosts everything for me. 19:28:42 asie: And you use issues to propose rules, not pull requests, because that would be /pretty/ stupid 19:28:49 asie: Feel like playing at all? 19:28:53 Not sure. 19:28:58 I might just pop in on a random day 19:29:08 OK 19:29:19 asie: I need one more player to make it work xD 19:29:28 You don't xD 19:29:34 Because there are 3, and I want 4 players minimum (1 proposes a rule, 3 to vote) 19:29:41 Just add time 19:29:48 asie: ? 19:31:17 asie: Also, the game hasn't started yet, but the initial ruleset is complete, so I can't add time :P 19:31:35 Yes you can 19:31:40 asie: How? 19:31:45 You've just added 1.5 minutes of time between your last posts. 19:31:49 as in, on IRC 19:31:55 If you wait longer, you add more time. 19:32:00 xD 19:32:04 No xD. 19:32:06 Time is serious business. 19:32:23 I was thinking about a nomic based on Juno. The hard part is figuring out what sort of messages constitute a nomic 19:32:38 asie: Also, one of the existing players failed to follow the repo, and isn't showing up on IRC, so they won't get a memo when the game updates 19:32:44 Or when they have to vote 19:32:45 :/ 19:33:04 adu: Are you AFK? 19:33:36 earendel: Hi 19:34:03 (wait, I think I confused earendel with Elronnd) 19:34:36 hello anyway 19:34:42 earendel: Yep, same to you 19:34:57 earendel: You wouldn't happen to be a Nomic player, would you? 19:35:08 nope, sry. 19:35:12 OK :/ 19:35:50 `? elrond 19:36:12 Elrond is a rogue program originally created to police the Matrix, eventually gaining increased individuality and becoming a threat to the Machines themselves. 19:36:58 prooftechnique: You're part of gh λ-n, right? Do you know of anyone who would like to join so we can have enough people? 19:38:45 `wisdom 19:38:52 4chan/4chan is twice as loud as stereo. 19:44:31 -!- lleu has quit (Read error: Connection reset by peer). 19:49:53 hppavilion[2]:I'm part of a what? 19:50:15 prooftechnique: The Nomic I'm doing over GitHub. I think you joined, didn't you? 19:50:21 Oh. Yes 19:50:26 I didn't know that's what it was called 20:16:44 [wiki] [[Special:Log/newusers]] create * Rjhunjhunwala * New user account 20:29:36 hppavilion[2]: hi 20:29:40 hppavilion[2]: I was afk 20:29:49 adu: Ah 20:30:03 hppavilion[2]: but not I am AK 20:30:09 = at keyboard 20:30:15 OK 20:30:29 s/not/now/ 20:30:51 adu: I'm attempting to write a compiler 20:31:09 hppavilion[2]: good news 20:31:32 adu: I've got a thing that outputs ASM given the manual AST for an arithmetic expression (only using signed 64-bit integers) 20:31:37 And I have a typechecker 20:31:49 Of course, it doesn't output the /right/ ASM yet, but oh well 20:31:54 lol 20:35:33 -!- p34k has quit. 20:38:00 [wiki] [[S.I.L.O.S]] N https://esolangs.org/w/index.php?oldid=46608 * Rjhunjhunwala * (+1922) Created page with "= S.I.L.O.S = == Summary == S.I.L.O.S language of the future "All of the challenge of assembly all of the slowness of the jvm" A minimalist language which strives to be Turing..." 20:44:50 -!- Phantom_Hoover has joined. 20:45:51 the initial sentence got me hooked up 20:58:54 -!- adu has quit (Ping timeout: 244 seconds). 21:17:58 -!- ais523 has joined. 21:21:12 -!- adu has joined. 21:21:36 hais523 21:21:45 hi 21:21:50 adu: Did I ask you if you wanted to play lambda-nomic yet? 21:22:02 hppavilion[2]: so is it a lisp compiler? 21:22:09 hppavilion[2]: I don't think so 21:22:17 adu: No, it's a C-ish language 21:22:25 adu: Do you want to play lambda-nomic? Over GitHub? 21:22:39 hppavilion[2]: so did you write your own assembler too? 21:22:55 adu: I'm writing an assembler that will convert to another assembler and become x86 21:23:06 ah 21:23:15 I did so because I can't be bothered to learn x86 yet 21:23:21 Currently, the assembler is interpreted though 21:23:34 hppavilion[2]: so it's a VM 21:24:04 adu: Currently, yes, but compiling the intermediate ASM to x86 ASM should be relatively trivial 21:24:25 If I design it right, that is 21:24:33 hppavilion[2]: I should try to make an MMIX JIT 21:24:48 The problem is getting the language to go into the intermediate ASM in the first place 21:25:12 I'm trying to make it calculate (3+(-9))*(-2) = 12, but it keeps spitting out 18 and I can't figure out why 21:25:23 adu: So do you want to play that nomic? 21:25:31 hppavilion[2]: what's a nomic? 21:25:46 `? nomic 21:25:47 adu: It's a game of Nomic. 21:25:48 we need an entry for this 21:25:56 nomic? ¯\(°​_o)/¯ 21:25:59 adu: Nomic is a game where you modify its own rules 21:26:00 this is the second time I've seen that question asked this week 21:26:15 `le/rn Nomic is a game where you modify the rules of the game, at least at first 21:26:16 No output. 21:26:17 nomic = ¯\(°[ZWSP])/¯ 21:26:24 It's a joke, but it's actually accurate :) 21:26:47 yes 21:26:50 (Not that funny of a joke, but a joke nonetheless) 21:26:57 although few nomics remove the self-modification altogether 21:27:02 what kind of game is it? 21:27:05 (and if they did, they would cease to be nomics and just be games) 21:27:06 ais523: For what purpose? 21:27:13 nomic's kind-of game-complete 21:27:21 in the same way that BF is Turing-complete 21:27:23 adu: Read rules.md at https://github.com/hppavilion1/github-lambdanomic 21:27:26 given any game, a nomic can imitate that game 21:27:28 adu: That's one example of a nomic 21:27:44 here: https://en.wikipedia.org/wiki/Nomic 21:27:44 ais523: Any computable game 21:28:02 no, any game 21:28:36 coppro: "This rule is only valid if the current program halts: ..." 21:29:08 hppavilion[2]: you can enact uncomputable rules in a Nomic just fine, you might just have problems enforcing them 21:29:15 ais523: Fair enough 21:29:17 nomics actually raise a lot of philosophical problems about how games work 21:29:23 because I often see people break rules intentionally 21:29:50 and the most common view is that such rules breaches actually didn't happen, although some nomics add other methods of handling them 21:29:55 ais523: Oooh, a nomic rule where breaking the rules can, in some scenarios, have some benefit 21:29:59 however, if you have a rule, and consequences for breaking it, is it even a rule any more? 21:30:08 ais523: like putting all the money in the center of the board instead of the bank in Monopoly 21:30:39 hppavilion[2]: so? 21:30:48 hppavilion[2]: if you had a game with that as a rule, then the nomic can imitate that game 21:31:24 ais523: The HTML 5 specification defines what valid documents are and also what to do in the case of invalid documents. 21:31:43 shachaf: that's because it's two specs 21:31:47 one for clients and the other for servers 21:32:02 the spec for clients includes a description of what to do if connected to a non-compliant server 21:33:54 * adu <3 scholar.google.com 21:37:56 adu: So nomic? 21:39:54 hppavilion[2]: what about it? 21:40:31 adu: Would you like to join my game of nomic over GitHub? 21:40:45 hppavilion[2]: oh, no thanks 21:40:50 OK 21:40:54 I have very little time as is 21:41:47 hppavilion[2]: I must admit it's utility as a microcosm of the U.S. legal system is interesting 21:42:22 "a remarkably complete microcosm of a functional legal system" 21:43:05 -!- Lord_of_Life has quit (Excess Flood). 21:45:07 -!- Lord_of_Life has joined. 21:45:19 hppavilion[2]: have you been playing? 21:45:48 adu: No, I've been trying to get enough players to start :P 21:46:03 hppavilion[2]: I see 3 in the players ifle 21:46:05 I need at least 4 and I have 3, though one didn't follow the repo and as such won't get the memo when we start 21:46:36 4 because one person proposes a rule, and 3 is pretty much the bare minimum number of voters for a working game 21:47:08 hppavilion[2]: I'd like to see a game on a shelf in 5 years with a big sticker that says "started as a nomic" 21:47:36 adu: Would lol, but can't 21:47:57 hppavilion[2]: why can't lol? 21:48:13 adu: I don't lol 21:48:20 ah 21:48:26 regilious reasons? 21:48:37 hppavilion[2]: are you a grumpy person? 21:49:31 adu: No 21:49:47 adu: I just got overexposed to comedy and developed a tolerance to funny things :P 21:49:56 I still find them funny, but I don't reflexively laugh 21:50:13 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 21:50:28 hppavilion[2]: oh no, 4chan has immunized you to humor 21:51:08 adu: Not 4chan 21:51:17 the internet? 21:51:32 cat pics? 21:51:48 The Daily Show? 21:51:53 -!- Lord_of_Life has quit (Changing host). 21:51:54 -!- Lord_of_Life has joined. 21:51:54 -!- Lord_of_Life has quit (Changing host). 21:51:54 -!- Lord_of_Life has joined. 21:55:05 hppavilion[2]: I genuinly hope you get your humor back, it's a vital life skill 21:55:36 adu: I don't lack humor, I just don't laugh out loud at funny things 21:56:18 well, neither do I but I still say "lol" when the corner of my mouth starts to smile 21:57:03 -!- J_Arcane has joined. 21:57:47 maybe we should make our own acronym for silent LOLs, like "Silent & Merry" or S&M for short 21:58:07 https://youtu.be/zMLE7a3faI4 i like the game 22:03:21 -!- boily has joined. 22:11:39 `wisdom 22:11:45 holy water/Holy water is water made by boiling the hell out of Spain. 22:14:35 -!- Alcest has joined. 22:16:55 where boiling = applying boily 22:17:25 * boily thwacks olsner 22:17:32 fungot, are you boiling? 22:17:33 b_jonas: i'm using some cvs version of plt bindings for fuse, if anyone here actually read on lisp by graham as an intro to programming and problem solving. and a bad one 22:17:36 hellolsner. you scored 0.9 shachafs for that. 22:17:42 :D 22:21:22 boily: What's shachaf's average shachaf score? 22:21:35 boily: Also, what's the Cosmic Background Shachafery's level? 22:22:06 what's the banana equivalent shachaf dose? 22:23:25 b_jellonas, hppavellon[2]. 22:23:35 hellochaf. are you bananas? 22:23:53 ask fungot 22:23:53 shachaf: good gracious i leave for two or three words ( and trap to gc if it exceeds 8 when leaving the page, but it 22:24:00 `? banana 22:24:03 banana? ¯\(°​_o)/¯ 22:24:18 `le/rn banana/nananananananananananananananana. 22:24:20 `? pineapple 22:24:23 Learned «banana» 22:24:24 Pineapple is a hybrid species descended from a cultivar of spinach and wild ivy, making it a class 6 vegetable. 22:24:44 if not bananas, I think he might be ananas 22:25:06 `culprits wisdom/pineapple 22:25:09 shachaf shachaf oerjan elliott boily olsner 22:41:44 -!- nooga has joined. 22:42:46 :D 22:43:39 boily: and here I am 22:44:19 nhellooga! 22:44:50 at last! one of my random @tells worked! ha ha ha. mwah ah ah ah ah. MWAAH AH AH AH AH!!! 22:44:58 bhellooily 22:45:06 whoa whoa whoa 22:45:08 `? nooga 22:45:09 no. 22:45:13 wat 22:45:15 noooooooooooooga is the correct spelling 22:45:24 -!- carado has quit (Remote host closed the connection). 22:45:48 sure, I'll respond to noo+ga 22:47:20 `? noooooooooooooga 22:47:21 noooooooooooooga? ¯\(°​_o)/¯ 22:48:30 nooga: Do you mean /no(o+ga)?/? 22:49:01 ah christ 22:49:03 uh 22:49:08 nooga is different to nooodl then?? 22:49:08 yes, you got me 22:49:30 Phantom_Helloover. they are different entities. 22:49:45 hellynn! 22:49:48 cough cough 22:50:29 are there any new, interesting bf derivatives? 22:51:03 new, interesting, derivative: pick two. 22:52:01 bf derivative, interesting: pick one? 22:52:59 :> 22:53:22 wait who's nooga then 22:53:24 polish? 22:53:26 friends with asie? 22:53:40 oh, have you seen him lately? 22:54:23 nooga: He was on just a little bit ago 22:54:31 is nooga a kind of nougat? 22:54:34 In fact 22:54:40 asie: Someone's looking for you 22:55:21 shachaf: nougat theme was raised 2 or 3 years ago IIRC 22:55:30 Ugh, can't get my compiler to compile 22:55:34 Because I'm an idiot 22:55:44 What I'm trying to do should be simple 22:56:01 I want -(-x) to compile into the proper ASM 22:56:06 Without optimization 22:56:12 So it should spit out x 22:56:17 Phantom_Hoover: yup, Polish but I'm not friends with asie, never had a chance to meet him ;P 22:56:47 yes the second is a nooodl-property, you have obviously become a hybrid individual in my mind 22:57:18 Phantom_Hoover: Sort of like \oren\ and oerjan for me in my first few weeks? 22:57:45 well that's a really weird hybrid 22:57:56 Phantom_Hoover: o..r..n 22:58:07 Phantom_Hoover: I've been idling here since 2005 I think 22:58:09 oerjan and oren both fit the pattern 22:58:16 o.*r.*n 22:58:17 but then forgot to run irssi one day 22:59:52 no i mean as the notional person 23:00:12 Ah 23:00:28 .* <-- most useless regex ever 23:00:41 "I want... well, just give me whatever. I don't give a shit" 23:02:32 oerjan and int-e are two resonance structures for the same molecule. 23:02:41 "[^"]*" ;d 23:03:40 nooga: hellooga 23:04:11 shachaf: forgot an n 23:04:19 Did I? 23:04:36 `culprits wisdom/nooga 23:04:44 oerjan elliott nooga Bike FreeFull elliott Sgeo olsner oerjan FreeFull shachaf shachaf nitia 23:04:50 shachaf: Do you know anything about compilation? 23:04:57 I know a few things. 23:05:27 (Whether any of them are about compilation is confidential.) 23:05:52 shachaf: What should I compile - (negation) to? 23:06:04 Allowing compilation to be recursive? 23:06:11 Assuming I have to use SUB or RSUB 23:07:32 NEG 23:07:44 mynamello. SYN SYN ENQ. 23:07:46 hppavilion[2]: the easiest way is to write an interpreter and write a program that traces its execution and dumps the trace as the compiled form 23:08:07 of interpreter's input 23:09:51 nooga: That sounds like a joke 23:09:59 nooga: So I'm just going to ignore it 23:10:07 as you wish 23:10:08 myname: I'm using SUB and RSUB 23:10:12 but then check out pypy 23:11:57 hppavilion[2]: What do you compile anything to? 23:13:58 shachaf: ? 23:14:13 shachaf: Ah, to ASM 23:14:17 A generic ASM 23:14:36 Inspired, of all places, by TIS-100 (without the parallellity) 23:15:06 ew 23:15:34 nooga: What? 23:15:35 -x is always 0-x 23:15:37 I'm not sure what the question is. 23:15:42 myname: Yes... 23:15:48 * hppavilion[2] thinks 23:15:53 * hppavilion[2] is probably an idiot 23:16:01 myname: how do you compile y-x ? 23:16:11 sub y,x 23:16:14 * hppavilion[2] may have left out crucial details that hppavilion[1] forgot were the core of the issue 23:16:24 substitute y for 0 ? 23:16:24 yes 23:16:36 myname: SUB is unary and is basically "decrement the accumulator by n" 23:16:38 tadaaa 23:17:29 mov akk, 0 23:17:31 what if the argument is < 0 ? 23:17:32 sub x 23:18:25 (still 0-x) 23:18:27 Just disallow negation. 23:18:28 myname: And... hm... this seems 1000000 times easier, but every time I go back it becomes difficult 23:18:34 shachaf: Solution! 23:18:51 Problem: P xed, and I do not want people to x 23:18:52 "go back"? 23:18:59 myname: I was asking hppavilion[2] 23:19:01 Solution: THOU SHALT NOT x 23:19:20 myname: about his architecture limitations ;d 23:19:34 hppavilion[2]: what would SUB -10 do ? 23:19:37 nnnso? 23:19:41 I think I know my problem 23:19:47 nooga: add 10, most likely 23:19:56 Your problem is that you don't know the target architecture. 23:20:03 then: LD 0; SUB x ? 23:20:05 shachaf: That too 23:20:13 shachaf: Which is odd, given that I made it 23:21:51 THERE we go 23:23:16 next time design an OISC 23:23:28 nooga: No 23:23:49 why, they're awesome, TTAs and stuff 23:25:11 -!- lambda-11235 has joined. 23:25:16 I've once made a TTA computer from 74 chips on a huge breadboard 23:25:33 and then lost the breadboard, which was the most expensive part of that precious rig 23:29:59 YES 23:30:00 IT WORKS 23:30:17 * hppavilion[2] happily claps to himself 23:32:35 -!- lambda-11235 has quit (Quit: Bye). 23:32:48 -!- adu has quit (Quit: adu). 23:32:54 -!- lambda-11235 has joined. 23:33:03 -!- lambda-11235 has quit (Client Quit). 23:34:10 myname: I got it working 23:34:12 :) 23:34:20 I just had to rewrite the compilation from scratch 23:34:43 -!- lambda-11235 has joined. 23:35:53 lambda-11235: Hi! 23:39:26 I came up with a great use for ubsan to implement a weak version UB-C the other day - UB-C is a C dialect where you can only use undefined behavior, but the weaker version might only e.g. require that each statement invoke UB or that each function must UB before returning 23:39:43 so if you implement the ubsan error callbacks so they just set a flag, you could have other instrumented code (profiling instrumentation perhaps?) check the flag to ensure that some UB has been triggered and abort if it hasn't 23:40:08 Nasal Demon C. 23:40:15 -!- oerjan has joined. 23:40:21 yeah, I might call it Nasal Demon Tribute 23:44:27 someone's impression of american voters http://heltnormalt.no/truthfacts 23:46:09 * oerjan wonders who makes that comic anyway... 23:47:45 oh it's wulff & morgenthaler 23:50:27 oerjan: Translation? 23:50:41 all the comics on that site have norwegian text but often the translators slip up just enough to see that many of them are translated from danish. 23:51:09 hppavilion[2]: "american voters" "idiot" "idiot with a weapon" 23:51:19 Ah 23:51:49 hppavilion[2]: YOU ARE NOT HELPING THEIR CASE 23:52:01 oerjan: HOW SO 23:52:38 i thought i'd said enough that the meaning would be obvious. 23:52:41 Ah 23:53:32 hppavilion[2]: Hello. 23:56:15 <\oren\> AAAAAAAAAAAAA 23:56:27 he\\oren\. AAAAAAAAAAAAA? 23:56:53 <\oren\> I just typed in my work password to my home compuer eight-ten times before I realized. 23:57:06 ah, so your password is AAAAAAAAAAAAA? 23:57:13 <\oren\> I got really frustrated with my own stupidity 23:57:42 <\oren\> no, it's a digimon and some random number 23:57:58 <\oren\> much like a 14 year old's yahoo email 23:58:16 maybe the universe is running out of intelligence flux, it would explain so much 23:58:50 hellœrjan. you're saying intelligence flows, much like telluric currents? 23:59:18 <\oren\> I think I 23:59:28 boiclearly. 23:59:31 <\oren\> will add maybe 5 to 10 more mods 2016-03-18: 00:03:25 -!- nooga has quit (Read error: Connection reset by peer). 00:03:39 -!- nooga has joined. 00:03:46 fungot: we say «C't'une fois George Bush...» as a lead on for a stupid joke. <-- is that quëbêcois for "once upon a time" 00:03:47 oerjan: of course- secondary prague. i've been noodling around with yasos and rotty's implementation, i mean applications? stuff that interacts with current irc infrastructure. really what we should do 00:06:30 <\oren\> yes, it's always good to have redundant pragues for emergencies 00:07:46 you never know when you need an emergency czech-up 00:11:51 <\oren\> ok, time to see whther this time rockets will just suddenly explode 00:12:08 <\oren\> well, more than usual anyway 00:12:12 did i break boily 00:12:23 oi augur 00:12:33 can i use you as a spectrograph some more 00:12:50 @time boily 00:12:51 Local time for boily is Thu, 17 Mar 2016 20:12:50 -0400 00:12:57 <\oren\> there should be a mod where I have to program my space probes in advance 00:14:02 ha 00:15:52 oerjan: if the universe runs out of intelligence flux, does that mean all intelligence will stay put where it is? 00:15:54 <\oren\> preferably it would only support fortran 60, BASIC, assembler, and COBOL 00:16:14 <\oren\> in other words, like real life 00:18:00 :K 00:18:19 olsner: that also explains a lot. 00:18:46 \oren\: also ADA hth 00:18:59 also lisp 00:24:58 <\oren\> Oh yeah ADA! 00:31:46 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 00:32:57 oerjan: o hai! I was watching reviews on Shut Up and Sit Down. 00:33:14 * boily mapoles y'all vile punsters 00:34:06 oerjan: it's a tortured, injokish version of «Une fois c't'un gars...»: “There was that one guy once...” 00:34:09 aha 00:34:47 c't = c'etais ? 00:34:54 *c't' 00:35:15 *t 00:35:48 french :O 00:36:58 depending on context, c'était or c'est. it's up to you. 00:37:11 <\oren\> ugh 00:37:20 ugh is not valid French hth. 00:37:35 <\oren\> u; 00:37:37 <\oren\> u' 00:37:43 <\oren\> u'i'o 00:38:03 \oren\: are you on a Dvorak keyboard? 00:38:14 <\oren\> no 00:38:41 <\oren\> qwertyuiop[]\asdfghjkl;'zxcvbnm,./ 00:39:44 baoaoao 00:42:03 tsé veut dire, genre. 00:43:26 nooga: what's a baoaoao? a hawai'ian baobab? a Chinese bun with reverb? 00:44:03 an evil villain with a really thick accent 00:45:30 and a cold? 00:45:57 a war cry shouted when someone trips over a plate of lutefisk? 00:46:05 no, just really weird accent hth 00:46:25 boily: doesn't sound norse enough for that 00:46:46 I try to cover all possible bases. 00:47:08 Even in an infinite-dimensional vector space? 00:47:51 hm actually i don't know that the vikings had lutefisk 00:47:58 Hilbert space is quite useful for that kind of reasoning. 00:50:16 ah herregud 00:50:17 shachaf, depends on whether the unit ball is compact hth 00:50:39 what's the oldest recorded meal that is still continously consumed since its inception? 00:51:29 venison steak? 00:51:30 hm apparently the history of lutefisk is not well-established 00:52:08 the "recorded" might be a problem. 00:52:21 -!- lynn has quit (Ping timeout: 246 seconds). 00:52:36 boily, bread? 00:52:56 nooga: *å 00:56:29 Phantom_Hoover: probably. 00:56:35 i,i Exercises: (a) Is the unit disc compact? (b*) Is it recordable? 00:58:11 . o O ( there was no pun in that. stop seeing puns in every shachafutterance. ) 00:58:37 What? Of course there was a pun. 00:58:39 oerjan: uff da 00:59:34 oh. well, then... 00:59:55 * boily regularly mapoles shachaf 01:00:16 You can't mapole me! 01:00:29 shachaf: (a) of course (b) no, it's immutable. hth. 01:00:31 OKAY 01:01:11 You should mapole oerjan instead. 01:01:29 can't imagine why. 01:01:34 Just give me the mapole. 01:02:04 you'll just stab yourself with the corkscrew. 01:02:18 leave the mapole to licensed canadians. 01:02:48 a fool and his mapole are soon parted 01:03:40 * boily lends his mapole to shachaf “You have to speak the Québécois word for ‘friend‘ for it to operate properly” 01:03:51 wait! 01:03:57 -!- mihow has quit (Quit: mihow). 01:03:59 I'm not a fool :P 01:04:08 Can I get a service animal to help operate the mapole? 01:04:19 a mapooch, as it were 01:04:23 boily: [evidence inconclusive] 01:04:40 AAAAAAAAAAAARGH! and here I find myself unarmed! 01:04:53 * boily snatches oerjan's swatter and swings at shachaf --------### 01:04:58 @dice 01:04:58 unexpected end of input: expecting number, "d" or "(" 01:05:03 @dice 1d20 01:05:03 boily: 13 01:05:09 d20 01:05:09 shachaf: 15 01:05:16 * boily misses 01:05:18 boily: i assume you're counting on shachaf in no way whatsoever being able to guess or far less pronounce the québécois word for friend 01:05:18 Phantom_Hoover: hey, sup 01:05:35 also, that's not my swatter. 01:05:45 oh. hm. eh. 01:05:46 oerjan: I'm doing all this on my phone, so that's a fair guess. 01:05:52 * boily puts back that swatter where he found it. 01:06:05 That swatter is obviously counterfeit. 01:06:33 -!- jaboja has quit (Ping timeout: 240 seconds). 01:06:41 * oerjan guesses that the word is "m'" 01:06:53 wait, "'m'" 01:07:13 * shachaf swats boily for swatter forgery -----### 01:07:17 ow. 01:07:33 augur, here's me saying 'boat' https://clyp.it/tsd1t5wf 01:07:41 is the vowel a diphthong? 01:07:41 -!- mihow has joined. 01:07:46 oerjan: nope. 01:08:36 Phantom_Hoover: yes, sounds like a pretty standard /oʊ/ diphthong 01:08:53 "êm'"? 01:09:15 augur, man that one really fucks with me 01:09:24 why? 01:09:25 https://clyp.it/yzae35cb ← that website is fun :D 01:09:47 oerjan: sorry, wrong root. 01:09:55 i just can't hear a transition in it 01:10:09 oerjan: qc:chum. 01:10:19 like the rp schwa-ʊ is really obvious to me but oʊ isn't 01:10:49 darn 01:11:22 Phantom_Hoover: its very subtle, since its a back-back diphthon 01:12:13 the height change is also pretty small. its not like /aɪ/ or /aʊ/ with big changes in both height and backness 01:12:26 (2+2d0)*(2+2) 01:12:42 @dice (2+2d0)*(2+2) 01:12:42 unexpected "d": expecting digit, operator, "+", "-" or ")" 01:12:49 oh 01:12:56 (2+2d1)*(2+2) 01:12:56 oerjan: (2 + (1+1)) * (2 + 2) => 16 01:13:05 -!- nooga has quit (Ping timeout: 250 seconds). 01:13:56 @dice (2+2d1)*(2+2) 01:13:56 oerjan: (2 + (1+1)) * (2 + 2) => 16 01:14:56 @dice 2d6 01:14:56 earendel: 2+4 => 6 01:15:05 augur, thanks for the explanation, as thanks have this incomprehensible scottish folk song i found on youtube: https://www.youtube.com/watch?v=BCkcYYQv3so 01:16:29 @dice 1d0 01:16:29 unexpected 'd': expecting digit, operator or end of input 01:18:02 Phantom_Hoover: also keep in mind that there's a real continuum of diphthongness. the vowel space is more or less continuous, so you can have arbitrarily fine distinctions in the diphthongs 01:18:32 @dice 2d6 * 2d4 01:18:32 oerjan: (6+3) * (4+4) => 72 01:18:33 i wish we just had consonants 01:19:16 consonants took me like a weekend with wikipedia and appendix E of lotr, it's been like 6 years and i still don't get vowels 01:19:41 Phantom_Hoover: if you just had consonants, you wouldnt have any speech! you gotta put stuff between them :) 01:19:47 also lots of consonants are continuous too :) 01:20:00 anything that isnt a stop is in a continuous domain 01:20:54 but if you're practicing using different vowels, pay less attention to the sound and more to the physical position of your articulators 01:23:44 `` grep -FIinrs fricative wisdom/* 01:23:56 or was it a quote? 01:24:01 `quote fricative 01:24:10 1093) nooodl: when my girlfriend asks me to give her uvular fricative I'm pretty sure that's not what she means 01:24:10 No output. 01:26:34 Phantom_Hoover: if you just had consonants, you wouldnt have any speech! you gotta put stuff between them :) <-- PFFT! 01:26:45 e = it, a = be .. ea = world (the words eru used to bring the world into existance) .. i also noticed all beautiful things have at least one "i" .. while all darker things have more "u"s 01:27:15 oerjan: some phonologists would say that has a very very short [ə] in there :) 01:28:04 augur, the position of my articulators is my own business thank you very much! 01:28:07 . o O ( ghrhghrrrghghghhghhghhhhhrgh ) 01:28:15 there's actually an old joke about richer, fancier phonological analysis, where a language that initially looks like Georgian, with its monstrous consonant clusters, is gradually found to have more and more abstract vowels until finally it turns out to have CV syllables like hawaiian 01:29:35 maguriviguriviladoje 01:32:05 https://clyp.it/xxj4dt1p ? 01:35:43 boily: that was _after_ the georgian turned into hawaiian hth 01:35:55 now do the proper mgrvgrvladje hth 01:36:35 * oerjan sadly has never managed to find that word used for real instead of just as an example of how bad georgian gets 01:37:35 boily: also, you are clearly dropping the last vowel tdnh 01:38:16 https://clyp.it/tebfx3fd 01:38:26 there is no last vowel. it's an e. it's silent. 01:38:46 boily: that's not a language with CV syllables, then. pay attention. 01:39:37 boily: also, whenever that example is mentioned, it's supposed to have just 2 syllables, hth 01:39:43 aaaaaaaaaargh. 01:40:02 you're not helping there. I have to clear my sinuses between each clip. 01:40:04 (i'm not sure linguists agree) 01:40:06 * boily has a nasty cold going on 01:40:18 boily: ah. 01:40:19 oerjan: ive seen gvrtskpvnisk as an example before :) 01:40:34 ooh, 9 consonants 01:41:45 uploading... uuuploaadiiing ♪ 01:42:15 https://clyp.it/ba0sqoz0 01:42:35 we need some arabic to euthanize boily's throat properly. 01:43:05 don't you dare. 01:43:59 also, i have no idea what you're saying in between the attempts 01:44:07 let me translate. 01:44:59 “Ok, good, we'll try with this one... *sigh* no, really, y'know... eeeeh... ok... where is it... where is it... ah, there it is! 01:45:30 sounds very sane to me tdh 01:45:43 [first attempt] [second attempt] [third attempt cut short] ah bastard... [fourth attempt] 01:45:58 no, really, ah, augur who just posted something... 01:47:20 I'v seen gvrtskpvn... fsck... ok, remain calm... gvrtskpvnisk gvrtskpvnisk... decidedly... *cough* sorry... gvrtskpvnisk” 01:47:47 very good. now take these pills... 01:50:13 not sure it's a good idea to accept random pills over the intarwebs. 01:51:31 i don't see why, i got them from a very nice nigerian farmacy 01:52:05 * boily rests his case 01:52:26 oh, any victim here who'd like to say fr:chirurgien? 01:52:56 uh... is the g soft? 01:53:14 it is. 01:53:43 https://clyp.it/515sjmup 01:54:11 Phantom_Hoover: that's cheating! 01:54:34 https://clyp.it/h0c0v0kh 01:54:50 quite good. 01:56:36 i think i won't. the computer seems to be opposing me again. 01:56:50 hmm, apparently the first automatic error reporting system worked like this: the crashing program printed a memory dump to the screen; then an automated physical camera took a photograph of the screen 01:57:10 and every day someone developed the photographs for that day and took them to the programmers 01:57:13 oerjan: noooooooo! 01:57:59 time for me to go drown my sorrows in extra strength trachea cleaning syrup. 01:58:13 -!- boily has quit (Quit: SMILING CHICKEN). 02:02:09 the flaw, as usual, is that the website does not let me click anywhere to just start talking. 02:03:38 now food -> 02:04:38 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:28:21 @tell boily https://clyp.it/lvcysxmx 02:28:21 Consider it noted. 02:28:56 * oerjan hopes that log in nagging isn't obligatory 02:40:41 `? banana 02:40:44 nananananananananananananananana. 02:42:59 `le/rn banana/Bananananananana BATMAN! 02:43:02 Relearned «banana» 02:46:30 `cat bin/noodle 02:46:31 cat: bin/noodle: No such file or directory 02:46:43 `` ls bin/noo* 02:46:44 bin/nooodl: 02:46:54 `cat bin/nooodl 02:46:55 cat: bin/nooodl: No such file or directory 02:47:01 `cat bin/nooodl: 02:47:03 ​ELF............>.....@.....@.......b..........@.8..@.........@.......@.@.....@.@................................8......8@.....8@............................................@.......@.....W......W........ ............]......]`.....]`...........`........ ...........]......]`.....]`............................ 02:47:08 wat 02:47:19 `cat bin/? 02:47:20 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/nooodl/;s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "_$topic1"_ = "_ngevd"_ \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ elif [ -e "$topic" ]; \ then cat "$topic" | rnooodl; \ elif [ -e "$topic1" ]; \ then cat "$topic1" | rnooodl; 02:47:51 `culprits bin/nooodl: 02:47:58 tswett tswett oerjan elliott nooodl 02:48:08 `url bin/nooodl: 02:48:11 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/nooodl%3A 02:49:01 In Magic: the Gathering will you ever have to use Donate on Copper Tablet in order to affect APNAP order of ability on stack? 02:49:06 `` ls -l bin/nooodl: 02:49:07 lrwxrwxrwx 1 5000 0 9 Dec 9 04:12 bin/nooodl: -> /bin/echo 02:49:18 ah. 03:06:15 -!- ais523 has quit (Read error: Connection reset by peer). 03:06:43 -!- ais523 has joined. 03:18:25 -!- XorSwap has joined. 03:44:38 -!- lleu has joined. 03:54:49 -!- XorSwap has quit (Ping timeout: 244 seconds). 03:56:19 -!- ais523 has quit (Ping timeout: 248 seconds). 03:58:52 -!- Elronnd has left. 04:00:30 -!- XorSwap has joined. 04:00:43 -!- XorSwap has quit (Read error: Connection reset by peer). 04:07:09 `danddreclist 76 04:07:10 danddreclist 76: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex 04:07:16 -!- Elronnd has joined. 04:07:30 zzo38: How can I read ifmud logs without connecting or making an account? 04:07:49 shachaf: As far as I know, you cannot. 04:08:22 It is necessary to connect to the MUD in order to read anything, although some information about players can be accessed from the webpage. 04:08:51 `cat bin/` 04:08:51 ​#!/bin/bash \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$1" 04:09:51 Other one can be 04:09:55 `cat bin/`` 04:09:55 ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@" 04:10:08 `` sed -i '4s/$/ | rnooodl/' 'bin/`' 04:10:11 No output. 04:10:39 `` sed -i '2s/$/ | rnooodl/' 'bin/``' 04:10:40 No output. 04:16:06 * oerjan feels conflicted 04:16:10 [wiki] [[Deadfish]] https://esolangs.org/w/index.php?diff=46609&oldid=46457 * Albedo * (+1667) /* Julia */ Julia language interpreter added 04:16:42 Why do you hate Xaw? 04:21:53 -!- MoALTz_ has joined. 04:25:37 -!- MoALTz has quit (Ping timeout: 268 seconds). 04:28:04 -!- treaki__ has joined. 04:32:22 -!- treaki_ has quit (Ping timeout: 260 seconds). 04:51:02 -!- MDude has joined. 04:57:00 -!- paul2520_ has quit (Ping timeout: 276 seconds). 04:57:39 -!- coppro has quit (Ping timeout: 276 seconds). 05:03:53 -!- coppro has joined. 05:07:26 -!- nitrix has quit (Read error: Connection timed out). 05:13:29 -!- Guest92480 has joined. 05:19:50 [wiki] [[Deadfish]] M https://esolangs.org/w/index.php?diff=46610&oldid=46609 * Albedo * (+32) /* Julia */ 05:20:23 -!- lleu has quit (Read error: Connection reset by peer). 05:23:16 -!- paul2520_ has joined. 05:24:17 [lymia@chino ~]$ file ext4-test.iso 05:24:17 ext4-test.iso: Linux rev 1.0 ext4 filesystem data, UUID=5b006110-6427-4300-9ba3-e399deaca23f (extents) (large files) (huge files) 05:24:25 Let's see how this goes. 05:24:34 This is probably a terrible idea. 05:30:41 <\oren\> how terrible? 05:34:15 -!- adu has joined. 05:38:51 -!- adu has quit (Ping timeout: 264 seconds). 05:39:50 <\oren\> on a scale of eating a spoonful of cinnamon powder to solar highways 05:40:06 <\oren\> *roadways 05:41:05 wtf 05:41:18 Linux is willing to touch an EXT4 formatted CD. 05:41:19 Not only that. 05:41:22 But since it's a BD-RE disk. 05:41:37 It's willing to mount it read/write as an EXT4 formatted disk. 05:41:45 and it works 05:42:21 I didn't know that. 05:42:55 I'm going to type in a command I really shouldn't 05:46:00 $ mkfs.exfat -n "WHY" /dev/cdrom 05:46:05 Let's see what Windows thinks now 05:52:26 Maybe I should need to write my own window manager in order to avoid some of the problems that i3 has; I am not sure? 05:55:19 `` rgrep nooodl wisdom 05:55:47 Windows refuses to even acknowledge that the BD-RE is formatted with anything. 05:55:50 wisdom/noooodl:nooooodl is the correct spelling \ wisdom/pho:Phở is a Vietnamese soup invented by noooooooodl to stress-test implementations of Unicode combining characters. 05:55:52 It would prefer to pretend it's blank. 05:59:49 `cat bin/rnooodl 05:59:49 perl -pe 's/([Nn])ooodl/"$1@{[o x(3+rand 7)]}dl"/ge' 05:59:55 er... 06:00:02 no, wait, that's fine 06:00:17 `? noodle 06:00:19 Nooooooodles are the invention of the Chinese. They were brought to Europe by Marco Polo, a distant ancestor of Taneb. 06:01:09 oh wait that won't be affected 06:01:23 * oerjan still conflicted 06:01:44 `cat wisdom/noodle 06:01:45 cat: wisdom/noodle: No such file or directory 06:01:57 now what. 06:02:08 `culprits wisdom/noodle 06:02:28 No output. 06:02:30 your imagination hth 06:02:40 `cat bin/? 06:02:41 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/nooodl/;s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "_$topic1"_ = "_ngevd"_ \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ elif [ -e "$topic" ]; \ then cat "$topic" | rnooodl; \ elif [ -e "$topic1" ]; \ then cat "$topic1" | rnooodl; 06:02:44 -!- adu has joined. 06:02:51 hm right 06:02:59 `cat wisdom/nooodle 06:03:00 Nooodles are the invention of the Chinese. They were brought to Europe by Marco Polo, a distant ancestor of Taneb. 06:03:21 `` cat wisdom/noooodl 06:03:22 cat: wisdom/noooodl: No such file or directory 06:03:25 `` cat wisdom/nooodle 06:03:26 Nooodles are the invention of the Chinese. They were brought to Europe by Marco Polo, a distant ancestor of Taneb. 06:03:32 `` cat wisdom/nooodle 06:03:33 Noooodles are the invention of the Chinese. They were brought to Europe by Marco Polo, a distant ancestor of Taneb. 06:03:36 oh it's just because of capitalization 06:03:40 Ah, it was just bad luck. 06:33:10 -!- adu has quit (Quit: adu). 06:49:52 -!- lambda-11235 has quit (Quit: Bye). 07:27:50 Do you know how the --expose_debug_as stuff works in Node.js? 07:34:51 -!- earendel has quit (Ping timeout: 246 seconds). 07:40:32 -!- oerjan has quit (Quit: leaving). 07:58:31 -!- nooga has joined. 08:16:15 -!- earendel has joined. 08:16:33 whois asie 08:16:40 damn ;d 08:29:49 fail 08:54:18 -!- AnotherTest has joined. 08:56:32 -!- nooga has quit (Ping timeout: 244 seconds). 09:02:42 [wiki] [[User:Rdebath]] https://esolangs.org/w/index.php?diff=46611&oldid=43713 * Rdebath * (+17358) /* Performance Matrix */ 09:11:41 -!- lynn has joined. 09:12:44 Do you know if any old Magic: the Puzzling are incompatible with D'Angelo rules (without the puzzle explicitly specifying as such)? 09:20:09 [wiki] [[User:Rdebath]] https://esolangs.org/w/index.php?diff=46612&oldid=46611 * Rdebath * (+84) /* Performance Matrix -- Add section titles 09:21:34 -!- nooga has joined. 09:27:45 Is there any common ancillary chunk for PNG that contains icons arranged in a grid? 09:38:17 -!- bender| has joined. 09:48:04 -!- J_Arcane has quit (Ping timeout: 240 seconds). 09:50:56 I could try to make up the format which may be called "grId" or "grID" (or standardized with "R" instead of "r" if they would accept it as a standardized extension), but I am not sure which way is better. 09:53:01 Data consist of the tile width, tile height, baseline position. 09:55:18 zzo38: I don't know 09:55:37 you'd have to look at other graphical games 09:56:29 though I think most don't use a grid, but sprites (with rectangle boundaries and a hot point in it) arranged freely in an image 10:26:50 -!- lleu has joined. 10:26:53 [wiki] [[Special:Log/newusers]] create * Victorm137 * New user account 10:34:49 -!- boily has joined. 10:37:21 @massages-loud 10:37:21 oerjan said 8h 9m ago: https://clyp.it/lvcysxmx 10:37:52 @tell oerjan I heard you! :D 10:37:52 Consider it noted. 10:43:25 after a day with strong winds and heavy rain, I woke up this morning and there's about half an inch of snow outside. 10:43:51 @metar CYUL 10:43:52 CYUL 181029Z 01009KT 15SM FEW012 BKN070 M02/M05 A2970 RMK SF1AC7 SF TR SLP062 10:45:22 @metar ENVA 10:45:23 ENVA 181020Z 30010KT 9999 VCSH FEW032 BKN055 03/M03 Q1022 TEMPO BKN014 RMK WIND 670FT 31016KT 10:54:51 -!- MoALTz_ has changed nick to MoALTz. 11:19:51 -!- AnotherTest has quit (Ping timeout: 276 seconds). 11:25:19 -!- boily has quit (Quit: REPUBLICAN CHICKEN). 11:53:58 Is there a name for the OISC called http://www.tldp.org/HOWTO/Coffee-5.html ? 11:54:06 s/called/described in/ 11:56:19 http://esolangs.org/wiki/MOISC isn't the same, but mentions it 12:08:41 -!- ais523 has joined. 12:08:58 -!- ais523 has quit (Client Quit). 12:12:23 [wiki] [[SBN]] N https://esolangs.org/w/index.php?oldid=46613 * B jonas * (+353) Created page with "'''SBN''' (Subtract and Branch if Negative) is a single instruction low level language. It is described in Fotis Georgatos, "Coffee Making", [http://www.tldp.org/HOWTO/Coffee..." 12:25:50 -!- AnotherTest has joined. 12:39:06 -!- mroman has joined. 12:39:08 fnord 13:09:00 [wiki] [[S.I.L.O.S]] https://esolangs.org/w/index.php?diff=46614&oldid=46608 * Rjhunjhunwala * (+3446) added code samples 13:09:52 [wiki] [[S.I.L.O.S]] https://esolangs.org/w/index.php?diff=46615&oldid=46614 * Rjhunjhunwala * (-3446) Undo revision 46614 by [[Special:Contributions/Rjhunjhunwala|Rjhunjhunwala]] ([[User talk:Rjhunjhunwala|talk]]) 13:22:52 -!- p34k has joined. 13:23:57 -!- `^_^v has joined. 13:26:42 [wiki] [[User:Conor O'Brien]] https://esolangs.org/w/index.php?diff=46616&oldid=45928 * Conor O'Brien * (+334) added lots of my languages 13:29:26 [wiki] [[Y (programming language)]] N https://esolangs.org/w/index.php?oldid=46617 * Conor O'Brien * (+208) Created page with "**Y** is a programming language designed to be good with interacting with itself when tiled/chained. It has a stack-based memory model. One can find an interpreter [http://con..." 13:29:46 [wiki] [[Y (programming language)]] M https://esolangs.org/w/index.php?diff=46618&oldid=46617 * Conor O'Brien * (+2) fix bold 13:36:19 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46619&oldid=46602 * B jonas * (+10) /* S */ 14:00:03 -!- mroman has quit (Quit: Lost terminal). 14:41:28 -!- ais523 has joined. 14:43:16 -!- ais523 has quit (Excess Flood). 14:43:45 -!- ais523 has joined. 14:46:04 -!- Guest92480 has quit (Changing host). 14:46:04 -!- Guest92480 has joined. 14:48:58 -!- Guest92480 has changed nick to nitrix. 14:51:27 ais523: for the ever-growing wishlist for scapegoat (version control), make sure all commands behaves sensibly if there are changes that (a) rename a file such that the new name refers to the old file on a case-insensitive file system, or (b) remove a directory but create a regular file with the same pathname or the reverse. 14:52:10 b_jonas: well in scapegoat, the working directory is basically just a means of communicating with the repository 14:52:26 the repository itself would have no problem with such things, the only difficulty would be reading and writing with the filesystem 14:57:41 ais523: sure, for (a) you have to make sure the client commands work correctly, the repo isn't a problem 14:58:55 ais523: for (b), not only that, but you could also have a bug without the working directory, when a command generates user-readable diffs between revisions. 14:59:22 -!- ais523 has quit. 14:59:29 :D 15:00:39 -!- ais523 has joined. 15:05:24 -!- hppavilion[2] has joined. 15:05:25 -!- callforjudgement has joined. 15:05:27 -!- hppavilion[2] has changed nick to hppavilion[1]. 15:05:35 callforjudgement: Hi 15:06:20 hi hppavilion[1] 15:06:42 -!- ais523 has quit (Disconnected by services). 15:06:53 -!- J_Arcane has joined. 15:07:08 callforjudgement: I forget, are you ais523 under an altnick? Or someone else? 15:07:28 hppavilion[1]: this is my alternate nick, yes (primary nick in some contexts, but not Freenode IRC) 15:07:34 -!- callforjudgement has changed nick to ais523. 15:07:36 callAh 15:07:46 mostly I use it for gaming purposes 15:07:51 ais523 is for programming 15:08:05 Makes sense 15:08:05 this causes problems in #tasvideos, which is about both programming and gaming 15:08:12 :P 15:08:24 ais523: I got my compiler working for basic arithmetic expressions! 15:08:38 If you didn't hear yet1 15:08:40 *! 15:08:41 10 LET X% = Y% + 10 15:08:42 that sort of thing? 15:08:50 (I think % is integer, right?) 15:09:05 ais523: Like (3+(-9))*(-2) 15:09:09 That's my test expression 15:09:22 hppavilion[1]: I was intentionally misinterpreting "basic" as "BASIC" 15:09:26 It doesn't do variables yet, but it is structured s.t. they shouldn't be a problem 15:09:27 Oh xD 15:11:25 a+b, a-b, a*b, a/b, -a 15:11:54 -!- ais523 has quit. 15:12:12 -!- ais523 has joined. 15:12:22 ais523: It doesn't exactly have a parser yet though :P 15:12:31 So you have to enter the AST manually 15:14:00 ais523: As the great and wise ais523, what would you recommend I implement next? 15:14:22 simple control flow 15:14:42 it's quite easy to back yourself into a corner from which it's impossible to write a while loop 15:14:53 OK 15:14:58 if you're not used to the way compilers work 15:14:58 so it's important to get that working early 15:15:03 ais523: I believe that corner is called "Haskell" 15:15:29 ;-) 15:17:16 -!- paul2520_ has changed nick to paul2520. 15:17:35 -!- paul2520 has quit (Changing host). 15:17:35 -!- paul2520 has joined. 15:18:13 -!- Frooxius has joined. 15:21:12 -!- bender| has quit (Read error: Connection reset by peer). 15:25:31 :t Control.Monad.Loops.whileM 15:25:32 Monad m => m Bool -> m a -> m [a] 15:26:01 -!- lambda-11235 has joined. 15:26:04 -!- spiette has quit (Ping timeout: 252 seconds). 15:32:11 -!- ais523 has quit. 15:34:45 -!- ais523 has joined. 15:38:45 -!- ais523 has quit. 15:39:05 -!- ais523 has joined. 15:48:43 -!- ais523 has quit (Remote host closed the connection). 15:48:50 -!- earendel has changed nick to ea|chill. 15:49:10 -!- ais523 has joined. 15:52:32 -!- ais523 has quit (Excess Flood). 15:53:58 -!- ais523 has joined. 15:55:55 -!- ais523 has quit (Client Quit). 15:56:04 -!- ais523 has joined. 15:57:23 -!- vanila has joined. 16:10:03 -!- J_Arcane has quit (Ping timeout: 240 seconds). 16:13:12 -!- ais523 has quit (Remote host closed the connection). 16:13:37 -!- ais523 has joined. 16:28:54 -!- ais523 has quit. 16:29:08 -!- ais523 has joined. 16:33:28 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 16:44:48 -!- ais523 has quit. 16:46:09 -!- tromp has quit (Ping timeout: 276 seconds). 16:48:56 -!- J_Arcane has joined. 16:50:54 -!- zadock has joined. 17:51:23 -!- ea|chill has changed nick to earendel. 18:05:31 -!- Lord_of_Life has quit (Excess Flood). 18:06:37 -!- Lord_of_Life has joined. 18:08:32 -!- `^_^v has quit (Read error: Connection reset by peer). 18:10:59 -!- `^_^v has joined. 18:45:18 -!- vodkode has quit (Remote host closed the connection). 18:47:16 -!- `^_^v has quit (Quit: This computer has gone to sleep). 18:48:50 -!- `^_^v has joined. 18:50:38 -!- Reece` has joined. 18:52:00 -!- Reece` has quit (Client Quit). 18:57:19 -!- lynn has quit (Read error: Connection reset by peer). 18:58:27 -!- lynn has joined. 19:18:51 -!- zadock has quit (Quit: Leaving). 19:35:01 -!- `^_^v has quit (Quit: This computer has gone to sleep). 19:35:40 -!- earendel2 has joined. 19:35:50 -!- lynn has quit (Read error: Connection reset by peer). 19:36:28 -!- `^_^v has joined. 19:36:41 -!- earendel has quit (Ping timeout: 244 seconds). 19:37:09 -!- lynn has joined. 19:51:56 The X version 11 has a few things wrong including too many extensions I think. I can make suggestion for improvement of next version. One is the things mentioned in Appendix B of ICCCM. Another is more separation between the protocol and implementation; for example cursor themes is a feature that the server might or might not implement but is not exposed in the protocol. Also many XKB features would now be core instead. 19:54:22 -!- lynn has quit (Read error: Connection reset by peer). 19:55:46 (So what is now called XkbBell would simply be XBell instead and the old XBell would be gone. A few other features might also be removed, such as access control lists and other security settings; these would now be server features that the protocol doesn't include, and/or you may implement security features by X proxy servers.) 19:57:54 -!- lynn has joined. 20:01:30 Other features to add may be XPutTrueImage and XGetTrueImage to be able to transfer arbitrary truecolor pictures even on displays which do not support truecolor, and XDrawBezier to draw Bezier curves, as well as optional support for memory-mapped drawable. When asked the server responds by two strings, one is the computer name and the other is system-dependent (on Linux it is a filename). The client then checks if it is running on the same compute 20:02:04 Xlib functions may be XLockSurface and XUnlockSurface to access memory-mapped drawables, somewhat similarly to SDL. 20:06:43 Other thing to add are some additional keysyms (including UTCE characters that do not already have X keysyms nor Unicode), and the ability to steal events from other clients. 20:07:18 -!- `^_^v has quit (Quit: This computer has gone to sleep). 20:10:32 -!- jaboja has joined. 20:11:51 The screen saver controls could perhaps also be simplified, since many features of the screen saver may be controlled by client protocols instead. The server protocol should be limited to blanking the screen at a specified timeout (which can be disabled or forced too), and otherwise the screen saver may be started and otherwise controlled by the window manager, using properties and ClientMessage on the root window to control it. 20:11:55 Do you like this? 20:20:08 -!- earendel2 has quit (Quit: earendel2). 20:20:29 -!- earendel has joined. 20:21:02 How does this relate to Wayland, Freon, and I suppose there are others? 20:22:04 I find those other to be a bit more badly designed and do not even do the stuff that X should do 20:24:44 So what is that functionality? Apparently you're not satisfied with mere compositor-and-window-manager. 20:26:53 There are various, including how it deals with keyboard, mouse, events, and inter-client-communications, and X does not even require a compositor or a window manager. 20:29:16 I wasn't describing X11; that is my general picture of Wayland. 20:29:54 * int-e is still running X11 without a compositing manager. 20:30:22 Yes, although X doesn't require a compositor or window manager as Wayland does. (I do not use a compositor myself) 20:31:01 (X11 without a window manager, on the other hand, would be quite hard to use effectively.) 20:31:31 If you are running only one program then it is suitable though 20:34:08 Wayland usse a different architecture and I think X is mostly (but not entirely) a better design, which is why I made the proposal of X12 20:34:29 So anyway, do I like this... you start in the middle of the X11 specification (which few people have read, never mind remember), then you describe a few seemingly random changes and additions that you would make without explaining why... it's very hard to like something without having some idea of what it's supposed to be good for. And in any case, it sounds like a pipe dream to me. 20:34:33 -!- nooga has quit (Ping timeout: 240 seconds). 20:35:29 Changes and additions and also removals actually 20:35:44 -!- nooga has joined. 20:36:23 Also I did explain it. 20:39:08 it's quite easy to back yourself into a corner from which it's impossible to write a while loop” – heh heh heh heh 20:39:30 but since this is #esoteric, it's funnier if you back yourself to that corner first, and THEN implement while loops anyway 20:48:22 -!- lynn_ has joined. 20:51:12 -!- lynn has quit (Ping timeout: 276 seconds). 20:51:24 [wiki] [[Special:Log/newusers]] create * Chad3814 * New user account 21:00:24 -!- lynn_ has quit (Read error: Connection reset by peer). 21:00:49 -!- lynn_ has joined. 21:06:34 [wiki] [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=46620&oldid=46328 * Chad3814 * (+222) added exponents 21:11:00 -!- lynn__ has joined. 21:11:45 -!- adu has joined. 21:12:48 -!- augur_ has joined. 21:13:19 -!- lynn_ has quit (Ping timeout: 244 seconds). 21:14:54 My ideas also are, a keyboard may have from 0 to 256 keys, and there may also be no mouse or more than one mouse, and a mouse may point off-screen (whether or not this is actually possible depends on the implementation; for example with an actual mouse it might not be, although if touch screen or Wii remote is used then it may be useful) 21:15:43 -!- augur has quit (Ping timeout: 268 seconds). 21:15:53 (There might not be any keyboard or mouse available, in which case the display is output only.) 21:22:39 -!- esowiki has joined. 21:22:43 -!- esowiki has joined. 21:22:44 -!- esowiki has joined. 21:23:21 -!- esowiki has joined. 21:23:26 -!- esowiki has joined. 21:23:26 -!- esowiki has joined. 21:23:53 -!- esowiki has joined. 21:23:57 -!- esowiki has joined. 21:23:58 -!- esowiki has joined. 21:24:25 -!- esowiki has joined. 21:24:29 -!- esowiki has joined. 21:24:30 -!- esowiki has joined. 21:25:10 -!- esowiki has joined. 21:25:14 -!- esowiki has joined. 21:25:14 -!- esowiki has joined. 21:25:46 -!- esowiki has joined. 21:25:47 -!- glogbot has joined. 21:25:50 -!- esowiki has joined. 21:25:50 -!- esowiki has joined. 21:25:51 -!- EgoBot has joined. 21:26:18 -!- fizzie has quit (Ping timeout: 276 seconds). 21:26:18 -!- lifthrasiir has quit (Ping timeout: 276 seconds). 21:27:25 -!- lifthrasiir has joined. 21:27:32 -!- fizzie has joined. 21:28:16 -!- rodgort has joined. 21:29:48 -!- augur has joined. 21:31:47 Another set of keysyms to add would be television controls. 21:34:19 Also a window position and mouse position can now include a signed 16-bit Z coordinate which normally is zero and does nothing, although some server implementations may allow it to do something, such as support for 3D input/output. 21:35:26 Support for scaled fonts would be removed though. 21:37:00 uh? 21:37:21 As far as I know I have listed everything that should be needed but you can tell me if you believe I added something irrelevant or missed something important. 21:46:19 -!- izabera has changed nick to iz_. 21:55:53 -!- tromp_ has quit (Ping timeout: 250 seconds). 22:00:12 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:27:02 [wiki] [[User:Erinius]] https://esolangs.org/w/index.php?diff=46621&oldid=46280 * Erinius * (+12) 22:50:16 -!- Phantom_Hoover has joined. 23:16:08 -!- adu has quit (Quit: adu). 23:20:55 -!- oerjan has joined. 23:21:29 @messages- 23:21:29 boily said 12h 43m 36s ago: I heard you! :D 23:21:41 shocking 23:22:18 -!- p34k has quit. 23:26:01 is it normal to become a cultist after learning enough emacs to discover org mode? 23:32:08 -!- copumpkin has quit (Read error: Connection reset by peer). 23:33:10 -!- copumpkin has joined. 23:40:04 nooga, highly abnormal 23:42:52 Phantom_Hoover is wrong, but that's just because he's not a cultist so they won't tell him hth 23:44:18 oerjan is profoundly abnormal, don't listen to a word he says 23:44:40 half of that is true. 23:44:43 Now I made my own farbfeld conversion program http://sprunge.us/WQDS http://sprunge.us/AiSC 23:44:57 the other part is technically not a proposition. 23:45:17 zzo38, nice 23:46:44 good xkcd 23:47:04 `quote insanity 23:47:16 397) There's that saying that the definition of insanity is doing the same thing over and over again and expecting different results. [...] You've just gave me a different result [...] It's always insane to expect different results, even when it's likely to occur. 23:49:17 `` ls bin/*w*list 23:49:19 bin/bardsworthlist \ bin/wrlist 23:49:36 i guess no one made that xkcdwhatiflist 23:50:06 quite a poor one though 23:50:10 no qualitatives 23:50:49 what's a qualitative 23:53:33 when he actually describes something in interesting detail rather than just wittering on about how big a particular number is 23:53:54 -!- boily has joined. 23:54:11 @massages-loud 23:54:11 You don't have any messages 23:54:41 @metar ENVA <-- spring's a-coming 23:54:53 excluding the light snow this evening 23:55:00 which turn into heavier rain 23:55:21 boi mean hily 23:55:42 *+, 23:57:19 ooh i guessed right, the etching in the restaurant of an obscure dutch person was a rembrandt 23:57:32 _probably_ not the original hth 23:58:00 this guy, and same etching https://nl.wikipedia.org/wiki/Johannes_Silvius 23:59:18 boi mean hily? 23:59:22 hellørjan. 2016-03-19: 00:01:03 -!- hppavilion[1] has joined. 00:03:44 * oerjan is shocked that "i mean, hi" doesn't seem to be a meme 00:04:39 oerjan: What's that from? 00:05:36 oh i misremembered it http://bash.org/?5300 00:05:50 the original doesn't have the "i mean" part 00:06:02 although some copies do 00:06:09 *copycats 00:07:30 ah, that one. vulgar, but it'll always remain stupidly funny in my heart ^^ 00:08:36 -!- jaboja64 has joined. 00:09:34 -!- bender| has joined. 00:10:24 oerjan: btw, about your chirurgien: you're saying /ʒɛ̃/ instead of /ʒjɛ̃/ hth. 00:12:13 damn i was wondering about that 00:12:28 -!- jaboja has quit (Ping timeout: 264 seconds). 00:15:11 just found “l - the amulet of Pugatu {Gourm +Blink rPois Int-2 SInv}”, dungeon level 4. 00:15:19 I am so going to be dead in five minutes tops. 00:17:38 boily: https://clyp.it/o5eofg0b 00:18:06 definitely trying to hard, now 00:18:09 *too 00:18:25 :D 00:37:11 -!- adu has joined. 00:41:31 -!- jaboja64 has quit (Ping timeout: 244 seconds). 00:48:13 “You finish putting on the +5 large shield of Loss {rPois rN+ Dex+2}” 00:48:37 not only am I going to die, I am going to be killed to death, then my corps will be murdered. 00:49:11 -!- adu has quit (Quit: adu). 01:01:37 boily: also, it'll void your insurance 01:03:42 * boily gasps in abject terror 01:04:14 meanwhile, I'm still strangely alive. the implacable feeling of dread gwos, inexorably, gnawing at my heart. particularly the left ventricle. 01:04:30 -!- nooga has quit (Ping timeout: 248 seconds). 01:04:37 gwoing sounds painful. 01:06:17 I'm fingering a lot of typos tonight... 01:06:50 . o O ( what's a gwoe, and how the fungot am I managing to be gwoing without even knowing what it is ) 01:06:50 boily: you got to keep it up -_- 01:07:05 fungot: apparently I do that already. 01:07:05 boily: fnord. i guess the key here is that your final answer?) mmmm.....really? so.....you like atlanta? 01:07:59 fnord. fnord. fnord. fnord. ♪ 01:09:11 Yes! 01:09:14 Got CF working! 01:10:56 -!- jaboja64 has joined. 01:11:14 hppavellon[1]. 01:11:24 ahoily 01:12:14 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:16:38 -!- gde33|2 has left. 01:22:49 -!- lleu has quit (Ping timeout: 260 seconds). 01:26:42 fungot: fnord? 01:26:42 olsner: i should get 0, 2, 4, 5, 39, 14, or 23 are very, very strange way 01:27:00 fungot: boily? 01:27:00 olsner: i'm not very familiar either. so who inherits the wiki? 01:27:20 probably elliott 01:27:34 no, elliott already had it 01:27:54 does that mean the current owner is already dead? 01:28:26 hellolsner. contrary to evidence, I am not fungot. I am sane. 01:28:26 boily: and you can get in 30 seconds 01:28:27 well one can never be sure with Gregor as much as he idles. 01:28:37 i suspect fizzie is alive though. 01:29:01 boily: that's what everyone thinks, but actually we are all fungot 01:29:01 olsner: so whats going on 01:29:05 fizzie: O HAI! are you alive? 01:29:08 boily: are you insinuating that fungot is not sane 01:29:09 oerjan: bill gates is evil. i don't think 01:29:30 see, perfectly sane. 01:30:03 which tells us that we should avoid vaccinations 01:30:05 * boily fails to find a counter-argument. 01:30:33 I am fully vaccinated against quite everything. 01:30:43 ic 01:30:52 that does explain some things 01:30:53 ebola too? 01:31:03 -!- lleu has joined. 01:31:16 i hope elliot comes back to this IRC 01:31:21 eeeeh... maybe not ebola, but it could be covered by another shot for all I know. 01:31:24 -!- XorSwap has joined. 01:31:39 vanello. one day, one day... 01:32:01 i also wonder where oklopol and bsnmtbombdood are 01:32:08 I (vaguely) think elliott had reasonable reasons to leave and they are not likely to be resolved yet 01:32:36 @ask oklopol helloklopol. where are you at now? 01:32:36 Consider it noted. 01:32:42 its weird for me talking to people outside of here, they dont like brainfuck 01:32:50 I mean like 01:32:54 @ask bsmntbombdood y u no back here? 01:32:54 Consider it noted. 01:32:56 they're against it 01:33:09 vanila: shocking 01:33:12 this is probably the centre of not liking brainfuck derivatives 01:33:19 maybe they're confusing it with some derivative 01:33:33 that gives bme a idea for a brainfuck derivative.... 01:33:38 people outside of this chännel are weird. 01:33:46 The language is called: brainfuck 01:33:47 shachaf: uhm, can I get back my mapole please? 01:33:57 and it has exactly the same tokens and semantics as regular brainfuck 01:34:00 s/out.*nel//boily 01:34:08 what do you think? 01:34:26 hm at least oklopol should be stalkable. 01:34:51 I guess my idea isn't liked 01:34:55 the one time I need to rightfully mapole someone else, shachaf is absent and he got my beloved mapole... 01:35:58 well he has published papers in 2015 01:36:00 vanila: you should disguise your idea with an elaborate backstory à la kvikkalkul, only for people to realize in horror that it was brainfuck all along. 01:36:29 but to work mine has to be called the same thing 01:36:30 boily: or not disguise it at all, being the very most obvious ur-derivative of brainfuck 01:36:48 it turns every bf program into a polyglot :O 01:36:51 vanila: i think oklopol is in chile doing math hth 01:37:05 a brainfuck/brainfuck polyglot? 01:37:08 `? oklopol 01:37:13 oklopol "so i hear these blogs are getting popular, people like writing about their lives and shit. on this thing called the internet which is like a neural network only really stupid." 01:37:19 interesting 01:37:21 olsner: it's slightly harder the other way round. 01:37:29 why would you do math in chile? what kind of math can be done there that can't be done elsewhere? 01:37:48 the whole country is linear. 01:38:24 I hope oklobol is going "arriba! mathematica en chile!" and shaking hips for a year 01:38:30 mostly from looking at his web domain. which is his real name.com 01:38:43 vanila: Every brainfuck program was already a polyglot in many extension derivatives 01:40:18 vanila: Perhaps you should make a kiv... whatever-like backstory for a Brainfuck derivative, where the basic foundation is "The government heard about brainfuck and thought it was real, and made it better for their purposes" 01:40:29 hahaha 01:40:37 microsoft B# 01:40:50 Ō_Ō... 01:41:26 boily: you can borrow my swatter if it's important -----### 01:42:53 s/out.*nel//boily <-- i don't think all those sed flags are correct hth 01:42:59 vanila: Oooh 01:43:00 Even better 01:43:04 oerjan: they are correct, but not here 01:43:27 Why don't we make an /official/ actively-maintained BF derivative that the channel treats as the OFFICIAL Brainfuck derivative 01:43:54 why don't we pour river water in our socks? 01:44:07 because it would make them wet 01:44:08 vanila: Then 90% of new brainfuck derivatives 01:44:36 vanila: We can go to the talk page and say "Meh. Just a lame attempt to clone UberFuck" 01:44:51 :D 01:44:52 vanila: And thus discourage new derivatives by limiting them to only one 01:45:10 vanila: And instead of people making new derivatives, they request that they add their features to UberFuck 01:45:21 And we do so if it's good 01:45:29 Thus limiting the flow of new derivatives 01:45:33 oerjan: thanks, but the moment is not right now. I'll be waiting for the next opportunity, eh? 01:45:34 Success! 01:46:21 boily: What do you think of this plan? 01:46:37 boily: well with your luck at timing (see: quintopia) ... 01:47:32 `? boily 01:47:35 ​"Only sane man" boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. He is also a renowned Capitalist. 01:47:47 i'm not sure there's more room there 01:48:11 -!- heroux has quit (Ping timeout: 244 seconds). 01:48:26 `? quintopia 01:48:28 quintopia is our resident tl;dr generator. He is flooded by thundercats and thunderdogs. 01:48:54 `learn_append quintopia He is the temporal antipode of boily despite living on the same continent. 01:48:58 Learned 'quintopia': quintopia is our resident tl;dr generator. He is flooded by thundercats and thunderdogs. He is the temporal antipode of boily despite living on the same continent. 01:49:04 that is much true :/ 01:49:13 -!- lynn has quit (Ping timeout: 240 seconds). 01:51:12 oerjan: Perhaps we should expand HackEgo's ability to learn per factoid 01:51:42 oklopol composes death metal? i suppose i _shouldn't_ be surprised. 01:52:00 hppavilion[1]: the problem isn't learning, it's fitting it in an irc line 01:53:11 oerjan: Yeah, it'd use multiple lines 01:53:19 oerjan: It'd cap closer to 3 01:53:24 `` allquotes | grep '.\{300\}' 01:53:26 82) Well yeah, but furthermore unlike, oh, say, an Apple product, you don't have to sign their "we own your sperm" license agreement to GET that SDK and the requisite libraries. ... pikhq: Sure, but it's the only way Apple could get a first-born-son clause into a modern licensing agreement without infringing child or slave labor 01:53:30 huh, who appointed boily as "only sane man"? 01:53:41 we have some quotes that are already longer 01:53:50 I think it was oerjan. 01:53:53 olsner: i did hth 01:53:59 he did htah 01:54:06 olsner: are you claiming to be sane 01:54:17 no, I'm merely claiming boily not to be 01:54:24 * hppavilion[1] prepares his torch and pitchfork for olsner 01:54:25 *GASP* 01:54:27 or insinuating 01:54:31 * boily blows a raspberry at olsner 01:54:57 boily: would you like to borrow the saucepan ===\__/ 01:55:01 boily: please keep blowing me 01:55:09 olsner: ... 01:55:10 oerjan: mind if I do. 01:55:24 * boily *THWONGNGNGNGS* olsner over the head 01:55:44 over my head? haha, you missed :D 01:55:49 * hppavilion[1] rings the EsoGong in olsner's ears 01:55:59 -!- vanila has quit (Quit: Leaving). 01:56:02 damned prepositions. 01:56:10 on, not over. 01:56:12 Shattering olsner's esodrums in the process 01:56:35 oerjan: thanks for the pan. 01:56:51 -!- boily has quit (Quit: TROOPER CHICKEN). 01:57:32 -!- adu has joined. 01:59:07 hadu 01:59:35 adu: I want to make an "official" BF derivative to curb the number of other BF derivatives 01:59:42 hppavilion[1]: 01:59:47 adu: Because people will request features in that instead of making their own 02:00:05 hppavilion[1]: sounds like only a nomic bf will do ;) 02:00:18 adu: It's not quite a nomic 02:00:56 adu: It's a language to redirect the number of other derivatives to a central derivative 02:00:59 adu: ALSO 02:01:04 adu: When someone DOES make a derivative 02:01:22 like befunge, funge98 02:01:30 We can say "Meh, just a lame attempt to clone UberFuck" 02:01:32 Or whatever 02:04:03 -!- heroux has joined. 02:04:28 adu: So then people are ashamed and never make another derivative again 02:07:04 -!- Elronnd has quit (Ping timeout: 264 seconds). 02:07:24 hppavilion[1]: seems kind of anti-innovation to me 02:07:39 adu: People can suggest innovation into the new language 02:07:44 But they don't create a wikipage 02:07:50 And we don't spam 02:08:40 -!- Elronnd has joined. 02:16:25 -!- XorSwap has quit (Quit: Leaving). 02:18:09 -!- jaboja64 has quit (Ping timeout: 244 seconds). 02:30:29 Even the footnotes have footnotes. 02:32:53 interesting 02:33:23 hppavilion[1]: so this new bf is an ellaborate way to combine wiki pages 02:40:41 -!- adu has quit (Quit: adu). 02:42:16 adu: Yes 02:42:59 adu: Also, it'd double as a "What if Microsoft made \"MS B#\" because they didn't realize brainfuck wasn't meant to be used" 02:43:56 Oh, adu left :/ 02:45:45 -!- adu has joined. 02:45:59 adu: Also, it'd double as a "What if Microsoft made \"MS B#\" because they didn't realize brainfuck wasn't meant to be used" 02:48:19 hppavilion[1]: nah, they'd add DOTNET to it, and it wouldn't be bf anymore 02:49:05 adu: It'd be sort of like BF 02:49:08 C# is still C-style 02:49:18 F# is still... um... 02:49:23 Nevermind on F# 02:49:56 hppavilion[1]: have you ever heard of C++/CLI? 02:50:05 adu: Nope 02:50:30 hppavilion[1]: it's basically C# but with template<> added and unmanaged pointers added so it looks like C++ 02:51:25 hppavilion[1]: and VB.NET is basically C#, but with punctuation replaced with Words 02:51:29 adu: Ah 02:51:33 Ew 02:51:58 hppavilion[1]: so MS doesn't really make language compilers, they just make different C# sugars 02:52:18 Ah 02:52:23 adu: So they're stupid? 02:52:41 hppavilion[1]: they're not stupid if you're a VB head trying to use some fancy .net library 02:53:02 Aaaaah 02:53:39 hppavilion[1]: but if you're switching languages to escape the C# model, then you really can't 02:53:52 adu: F#? 02:54:01 I think F# wins on laziness, and C++/CLI wins on unmanaged pointers, but that's about it 02:54:21 adu: So CLI is a stupid platform to pick? 02:54:28 I like to overgeneralize and oversimplify 02:54:44 hppavilion[1]: I like the CLR 02:54:56 adu: Remind me what the R stands for again? 02:55:04 Common Language Ruby? 02:55:04 runtime 02:55:07 Oh right 02:55:16 adu: What would be a good language model to compile? 02:55:27 the CLI/CLR has a single ambiguous instruction for "add" that calls the "__op_add()" method or something 02:56:01 Interesting... 02:56:10 whereas the JVM has like 4 add instructions for int, long, single, double, and one for method calls 02:56:22 adu: I'm already compiling a language called dk (I suck at names), which is going well 02:56:27 which you can use to call the "add()" method, which isn't really special in Java 02:56:32 Is there any other sort of language I should work on? 02:56:51 hppavilion[1]: my favorite languages recently involve metaprogramming 02:57:10 namely: Rust, Scheme, and Haskell 02:57:17 Haskell metaprogramming is kind of a beast 02:57:18 Interesting 02:57:44 but Rust metaprogramming is a builtin feature 02:57:50 just as it is in Scheme 02:57:56 adu: Any new and interesting paradigms you've seen lately? Outside C-like/functional/logic? 02:58:09 hppavilion[1]: Candle 02:58:15 adu: Go on 02:58:29 http://lambda-the-ultimate.org/node/4327 02:59:17 Candle is a language that is supposed to be a combination of XML, JSON, JsonSchema, XQuery, and XSLT all at the same time 02:59:21 Wut. 02:59:48 I know, right? 03:00:18 hppavilion[1]: Go is also interested, but I've used it quite extensivly, to the point where it's basically compiled JavaScript in my mind 03:00:28 s/interested/interesting/ 03:00:49 adu: I'm thinking modal logic programming. Is that a good idea? 03:01:05 hppavilion[1]: like Prolog? yeah 03:01:12 adu: OK 03:01:29 I also read a very interesting article about JSON-LD today 03:01:37 I didn't realize how much JSON-LD hates RDF 03:01:42 but they really hate RDF 03:02:05 http://manu.sporny.org/2014/json-ld-origins-2/ 03:03:54 adu: I'm trying to figure out how to best AST a PROLOG-like language xD 03:03:55 I mean it makes sense, why would you have a DBMS, along with a triple-store layer backed by the DBMS, then a sparql server with a parser and everything that translates sparql into the triple-store layer, then write an library for client-side requests of the sparql server, then write an app that makes use of your client-side sparql library 03:04:09 when you can just load a JSON-LD instead? 03:05:09 I do not really like Candle it isn't very good I happen to find RDF is better 03:06:35 "It was initially developed by the JSON for Linking Data Community Group before being transferred to the RDF Working Group[3] for review, improvement, and standardization." 03:06:42 I love RDF, but I've never been able to build anything effective with it because of the reasons listed in that article 03:07:31 adu: Is converting a PROLOG-like AST into some intermediate AST pretty much my only option for compiling a Modal PROLOG? 03:08:10 hppavilion[1]: have you heard of the traditional way to compile prolog? 03:08:37 adu: Lol, NOPE! 03:08:39 (xD) 03:09:11 https://en.wikipedia.org/wiki/Warren_Abstract_Machine 03:09:36 that's the equivalent of a VM for prolog, and I think most implementations are in part modeled on it 03:09:42 Well, yes 03:09:43 WAM 03:09:46 Heard of that 03:12:30 hppavilion[1]: also OWL has some representations that sound like what you're talking about 03:12:39 adu: OWL? 03:12:55 hppavilion[1]: have you ever heard of the "Semantic Web"? 03:13:02 hppavilion[1]: or "Linked Data"? 03:13:03 Yes 03:13:09 adu: Web Ontology Language? 03:13:12 yes 03:13:12 How is that OWL? 03:13:18 hppavilion[1]: French... 03:13:30 adu: Ah 03:13:35 Ontological de Web Language 03:13:39 or something 03:14:35 adu: Wikipedia disagrees. 03:14:36 https://en.wikipedia.org/wiki/Web_Ontology_Language#Acronym 03:15:46 I always thought it was French, like SI = International System 03:15:52 Yeah, that makes sense 03:15:56 adu: BUT YOU WERE WRONG 03:16:04 adu: I don't even know how to start compiling a Modal PROLOG :/ 03:16:12 it happens, sometimes 03:16:14 At least with dk it was straightforward 03:16:24 I'm pretty sure I need to intermediate it 03:17:41 adu: I don't even know how to represent the AST well :/ 03:17:54 hppavilion[1]: how about lisp? 03:18:12 hppavilion[1]: (AstOperator AstOperands ...) 03:18:20 adu: No, I mean I don't know how to make the AST 03:18:31 adu: I want it to have PROLOG like syntax, I know, with some sugar 03:18:40 Some stuff to integrate it with CTL 03:18:46 And perhaps other ML 03:19:07 But I don't know the best way to do it 03:19:28 Because there's no order to the lines or anything 03:19:36 It's just a set of relations 03:20:25 Hm... 03:20:27 I think I might have it 03:20:35 brb 03:21:54 adu: NUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 03:36:35 Semantic Web isn't as good as RDF I think 04:00:27 -!- nooga has joined. 04:04:51 -!- nooga has quit (Ping timeout: 248 seconds). 04:05:11 back 04:05:37 zzo38: have you read that article? 04:11:36 I have read similar articles before 04:12:09 zzo38: those "I made X because I hate Y" articles 04:13:42 is hppavilion[1] still here? 04:14:28 hppavilion[1]: I think the most interesting AST transformations I did was for a single-pass C parser 04:15:02 adu: I might be... 04:15:31 hppavilion[1]: I had all these partial types, that were like other AST nodes, but with stuff missing 04:15:57 and the only way I could keep it straight was to give them different names, and then rebuild them into the complete node types 04:16:16 Yes sometimes I have read various stuff 04:16:31 hppavilion[1]: https://github.com/andydude/p6-c-parser/blob/master/lib/C/AST/Ops.pm6 04:17:08 adu: Interesting... 04:17:34 hppavilion[1]: most people think the AST is just "enum" and "struct" for C 04:17:55 adu: It isn't? xD 04:18:39 hppavilion[1]: unsigned int *restrict *const x[4][5], *y[7][8][9]; 04:18:46 adu: I think I'm going to make a collection of languages that all compile to the same platform 04:18:49 how do you represent that? 04:19:07 adu: A struct and some enums, probably 04:19:13 adu: How do YOU represent that? 04:19:15 xD 04:19:30 hppavilion[1]: I'll tell you 04:20:39 adu: Do so 04:20:50 hppavilion[1]: I need to run my parser 04:22:46 http://pastebin.com/raw/w8aYBJPz 04:24:09 adu: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGH 04:25:10 hppavilion[1]: that's just the tokenization 04:25:14 -!- MoALTz has quit (Ping timeout: 244 seconds). 04:25:22 adu: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:22 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:22 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:27 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:32 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:37 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:44 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:49 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:52 http://pastebin.com/raw/1TXU3p9Z 04:25:53 *that*s the tokenization 04:25:54 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:25:58 i mean the AST 04:25:59 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:26:04 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv 04:26:05 hppavilion[1]: please 04:26:06 Oh 04:26:08 Crap 04:26:10 I was not expecting it to go that far 04:26:14 Sorry 04:26:16 (Or did freenode not let it through? Please tell me they didn't) 04:26:18 adu: Yes? 04:26:28 * hppavilion[1] clicks the link 04:26:34 hppavilion[1]: I see many many many A's 04:26:34 * hppavilion[1] takes a deep breath 04:26:46 * hppavilion[1] keels over and dies to save the channel 04:27:23 so much drama 04:27:31 * hppavilion[1] is dead 04:27:48 -!- treaki_ has joined. 04:27:57 * adu resuscitates hppavilion[1] 04:28:07 Dammit, adu 04:28:11 Didn't you see the DNR 04:28:47 * adu is not a licensed professional 04:29:13 adu: Oh, right 04:30:33 hppavilion[1]: all you need for an AST is (node-type children...) 04:30:45 -!- treaki__ has quit (Ping timeout: 276 seconds). 04:32:07 -!- llue has joined. 04:32:25 hppavilion[1]: so what do you mean you "don't know how to make the AST"? 04:33:09 you basically turn all the interesting things in a grammar production into a struct if there is no repetition or alternation 04:33:24 you turn repetition into lists 04:33:37 you turn alternation into tagged unions 04:33:45 and you're done 04:34:04 adu: I figured it out 04:34:10 hppavilion[1]: oh ok 04:34:14 -!- ^v has quit (Quit: ZNC - http://znc.in). 04:34:15 adu: I'm making the compiler in Python, BTW :P 04:34:56 hppavilion[1]: in Python my prefered method of making a tagged union is subclassing 04:35:13 -!- lleu has quit (Ping timeout: 240 seconds). 04:35:40 Python3 has the "enum" builtin, and Python2 has a downloadable enum library, but it's pretty lame, just assigning a value to a bunch of names 04:39:44 adu: Yes, that's basically what I would do 04:39:53 subclassing? 04:40:00 adu: Yes 04:40:08 adu: But I don't need tagged unions ATM 04:40:17 then you can still type-check with isinstance(node, TheSuperClass) 04:40:41 adu: Yep, that's one idea 04:40:49 adu: I did it instead with types and maps 04:40:53 Types are strings 04:41:07 And nodes calculate their types from their children's types 04:41:29 that sounds complicated 04:41:37 adu: It isn't 04:41:50 adu: Just repetitive 04:42:12 adu: It doesn't calculate so much as lookup 04:43:19 -!- Sprocklem has quit (Ping timeout: 244 seconds). 04:44:14 -!- ^v has joined. 04:46:42 I like how similar Python and JavaScript are 04:47:46 I know this one guy who refused to use the builtin json library in Python but parsed json anyways by giving an environment to eval with true=True and false=False so that eval(str) worked like json.loads(str) 04:50:30 and whenever he needed to inline the json at the beginning of a script, he would just "from x import true, false" 04:50:43 -!- Sprocklem has joined. 05:19:41 adu: Why did you do that 05:19:46 What was wrong with him 05:19:57 do what? 05:20:05 Parse JSON in Python with eval 05:20:12 I didn't 05:20:21 Oops, I meant to write "Why did he do that" 05:20:23 Sorry 05:20:40 I don't even use eval in JavaScript, I always use JSON.parse() 05:21:00 Sometimes whem I'm sleepy I want to write one word but write another 05:21:02 and in Python, I always use json.loads() 05:21:16 adu: What was wrong with him? 05:21:46 FreeFull: ah a much better question, in a single word, I would have to say: MIT 05:25:36 actually, probably more along the lines of MIT drop-out 05:28:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 05:52:56 -!- adu has quit (Quit: adu). 06:08:00 Use of eval and new Function in JavaScript may be used if you want to read user JavaScript codes or to compile some other code so that it runs more efficiently, although I would expect that in many cases using the JSON functions would probably be better. (JSZM does use JSON.parse in one place; one part of the code generates JSON data by use of regular expressions, and then parses it.) 06:13:15 -!- iz_ has changed nick to izabera. 06:27:41 `? repetive 06:27:56 repetive? ¯\(°​_o)/¯ 06:28:02 `? repetion 06:28:04 repetion? ¯\(°​_o)/¯ 06:29:17 `learn A repetive action is one that tries to repeat something, but fails miserably. 06:29:21 Learned 'repetive': A repetive action is one that tries to repeat something, but fails miserably. 06:43:36 oerjan: do you take them when the ed is igh? 06:44:36 * oerjan senses strong winds above him 06:45:13 . 06:46:09 .. 06:46:28 i don't think that one really works, shachaf 06:46:49 maybe when the ed is ear? 06:46:55 oh i got that 06:47:00 i just don't think it works. 06:47:40 would you prefer it with an elaborate story about an editor who becomes an ear 06:47:54 `quote ear 06:47:55 8) Lil`Cube: you had cavity searches? not yet trying to thou, just so I can check it off on my list of things to expirence \ 12) IN AN ALTERNATE UNIVERSE: First, invent the direct mind-computer interface. Second, learn the rest with your NEW MIND-COMPUTER INTERFACE. \ 13) an maybe pets a pooch, and then needs to do it again 06:48:07 a repetive action to be sure 06:48:09 `quote bear 06:48:09 39) If I ever made a game where you jabbed bears ... I'd call it jabbear. \ 163) "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." ^^^ This bullet-point is m 06:48:54 we had a local meme involving an ear once. but i've forgotten it. 06:49:37 `quote \ No output. 06:49:58 `quote ear 06:49:59 671) northern ireland is quite a way to drag someone from scotland <-- not really. I just checked in google earth Vorpal: but dragging people across water's a bit tricky \ 1128) Every time I end up on an audiophile web-crawl I get this feeling maybe we should just get rid of ears in general. 07:01:56 -!- PinealGlandOptic has joined. 07:09:46 -!- lambda-11235 has quit (Quit: Bye). 07:24:06 -!- gonad has joined. 07:24:22 -!- llue has quit (Read error: Connection reset by peer). 07:41:35 -!- llue has joined. 07:45:07 -!- gonad has quit (Ping timeout: 248 seconds). 07:54:06 -!- bender| has quit (Ping timeout: 248 seconds). 08:41:04 -!- AnotherTest has joined. 08:46:36 -!- llue has quit (Read error: Connection reset by peer). 08:46:43 -!- llue has joined. 08:46:43 -!- llue has quit (Changing host). 08:46:43 -!- llue has joined. 08:48:43 -!- J_Arcane has quit (Ping timeout: 244 seconds). 09:09:49 -!- nooga has joined. 09:33:59 -!- nooga has quit (Ping timeout: 260 seconds). 09:38:45 -!- bender| has joined. 09:45:22 -!- MoALTz has joined. 10:08:58 -!- Elronnd has quit (Quit: Let's jump!). 10:09:43 -!- nooga has joined. 10:11:13 -!- oerjan has quit (Quit: Nite). 10:14:52 -!- Elronnd has joined. 10:46:56 -!- llue has quit (Quit: That's what she said). 10:47:30 -!- lleu has joined. 10:48:24 -!- lleu has quit (Write error: Connection reset by peer). 10:48:48 -!- lleu has joined. 10:51:33 -!- earendel has quit (Ping timeout: 240 seconds). 10:58:18 -!- earendel has joined. 11:38:21 -!- earendel has quit (Quit: earendel). 11:39:59 -!- earendel has joined. 11:44:21 -!- lynn has joined. 11:44:25 -!- earendel has quit (Ping timeout: 250 seconds). 11:52:50 -!- earendel has joined. 12:07:25 -!- Treio has joined. 12:10:19 -!- nooga has quit (Ping timeout: 260 seconds). 12:14:43 -!- nooga has joined. 12:48:20 -!- boily has joined. 13:00:03 -!- gonad has joined. 13:00:13 -!- gonad has quit (Changing host). 13:00:14 -!- gonad has joined. 13:00:21 -!- lleu has quit (Read error: Connection reset by peer). 13:16:51 -!- esowiki has joined. 13:16:55 -!- esowiki has joined. 13:16:56 -!- esowiki has joined. 13:17:39 -!- esowiki has joined. 13:17:40 -!- glogbot has joined. 13:17:43 -!- esowiki has joined. 13:17:44 -!- esowiki has joined. 13:18:15 glogbot: gellogbot. 13:18:59 -!- Gregor has quit (Ping timeout: 248 seconds). 13:19:09 -!- PinealGlandOptic has quit (Ping timeout: 260 seconds). 13:19:15 -!- Gregor has joined. 13:20:47 * boily pokes Gregor 13:40:44 -!- earendel has joined. 14:02:48 Huhwhat. 14:05:37 `wisdom 14:05:49 smlist/Non-update notification for the webcomic Super Mega. 14:05:57 Gregor's bot is still shellshocked? 14:06:37 * int-e doesn't know of any other urgent business concerning Gregor 14:08:47 -!- p34k has joined. 14:24:09 [wiki] [[S.I.L.O.S]] https://esolangs.org/w/index.php?diff=46622&oldid=46615 * Rdebath * (+23) Formatting 14:29:30 -!- hydraz has quit (Quit: Bai.). 14:29:55 -!- hydraz has joined. 14:29:56 -!- hydraz has quit (Changing host). 14:29:56 -!- hydraz has joined. 14:31:51 -!- hydraz has quit (Remote host closed the connection). 14:35:27 -!- devhydraz has joined. 14:35:27 -!- devhydraz has quit (Changing host). 14:35:28 -!- devhydraz has joined. 14:37:06 -!- devhydraz has changed nick to hydraz. 14:38:44 -!- impomatic_ has quit (Quit: http://corewar.co.uk). 14:39:13 -!- nooga has quit (Ping timeout: 252 seconds). 14:53:22 -!- hydraz has quit (Quit: Bai.). 14:53:33 -!- hydraz has joined. 14:53:33 -!- hydraz has quit (Changing host). 14:53:33 -!- hydraz has joined. 15:11:59 -!- bender| has quit (Ping timeout: 250 seconds). 15:22:52 -!- lambda-11235 has joined. 15:35:04 -!- MDude has quit (Ping timeout: 260 seconds). 15:35:34 -!- nooga has joined. 15:40:15 -!- nooga has quit (Ping timeout: 276 seconds). 15:59:10 fungot, do you fly a flag? 15:59:11 b_jonas: one memory cell with fnord und mul div fnord the entire system in scheme is essentially an implementation?') on channel in case am being ignored, but i would be fine 15:59:55 -!- boily has quit (Quit: CLAIMED CHICKEN). 16:04:23 -!- MDude has joined. 16:20:19 -!- gonad has quit (Ping timeout: 244 seconds). 16:21:37 -!- nooga has joined. 16:22:37 -!- lleu has joined. 16:43:02 -!- Treio has quit (Quit: Leaving). 17:06:04 -!- ^v has quit (Ping timeout: 260 seconds). 17:07:20 -!- ^v has joined. 17:57:31 -!- jaboja64 has joined. 19:18:04 -!- jaboja64 has quit (Ping timeout: 252 seconds). 19:21:13 -!- jaboja64 has joined. 19:24:22 [wiki] [[Digital root calculator]] https://esolangs.org/w/index.php?diff=46623&oldid=30995 * 217.236.224.221 * (+94) /* External resources */ Added Malbolge 19:26:56 fungot: that's great, but would it be turing complete? 19:26:57 int-e: fnord maybe i need some user space program to store packets sent to netfilter's queue or ulog targets? fnord stores them nicely from queue but i would just treat the input file 19:27:16 No wonder this code didn't work 19:27:18 Infinite loop 19:27:24 I forgot to increment the counter 19:28:29 hmm, counter-terrorism 19:30:14 Not to mention other parts were bogus too 19:54:04 -!- ais523 has joined. 20:04:28 -!- ais523 has quit (Ping timeout: 250 seconds). 20:07:33 -!- Phantom_Hoover has joined. 20:07:43 -!- ais523 has joined. 21:33:31 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 21:52:03 -!- jaboja64 has quit (Ping timeout: 276 seconds). 22:24:33 -!- jaboja64 has joined. 22:40:07 -!- earendel has quit (Ping timeout: 268 seconds). 22:55:26 -!- Warrigal has changed nick to tswett. 23:06:54 -!- J_Arcane has joined. 23:14:35 -!- oerjan has joined. 23:25:45 -!- Nithogg has quit (Quit: WeeChat 1.4). 23:52:46 -!- ais523 has quit. 23:52:56 -!- ais523 has joined. 2016-03-20: 00:09:25 I searched for "There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem." and just got logs of this channel. 00:09:29 And stuff unrelated to that quote. 00:10:25 tswett: I think it was invented by someone /in/ this channel, when they were writing something in a serious or semi-serious style 00:10:30 not sure though 00:11:10 if I am right on that, it was probably fizzie, due to a quick guess at mine as to who would a) agree with that statement, and b) be doing something in which the sentence would have a reasonable context 00:11:22 b) is the main factor here, probably most of the channel agrees with a) 00:14:54 -!- MDude has quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/). 00:15:55 I've got a new favourite out of context bible quote 00:16:06 "Fear ye not therefore, ye are of more value than many sparrows." 00:17:26 So I've got one of those Chinese magic puzzle cubes. 00:17:56 Also known as "like a Rubik's cube but better". 00:18:12 This one's the "Pocket Cube"—2x2x2. 00:19:06 I'm studyin' this bad boy. 00:20:07 A pretty decent sequence is R U R' U'. It only affects four pieces, and it has order 6. 00:21:20 Of course, cube theorists call it [R,U]. 00:23:39 It's not easy to explain what [R,U] does, but of course it generates sequences [R,U]^2, of order 3, and [R,U]^3, of order 2, and it can be understood in terms of these. 00:24:08 Taneb: that statement is a lot more reassuring than its opposite would be 00:24:30 Ye are of less value than many sparrows? 00:24:39 tswett: you also have to negate the start 00:25:00 the resulting statement would become disconcerting, rather than reassuring 00:25:08 Fear ye therefore; ye are of less value than many sparrows? 00:25:19 also, a 2×2×2 cube is equivalent to the corners of a 3×3×3 cube 00:25:24 Sure is. 00:25:25 tswett: I'm glad the Bible doesn't say that *shudders* 00:25:28 I don't know how I'd react 00:25:59 * ais523 wonders where to put the quantifier 00:26:05 [R,U]^3 flips the FR edge and the UB edge. 00:26:37 as in, is it "there is a group of many sparrows so that ye are of more value than that group of sparrows" 00:27:04 or "out of all sparrows, many possible choices of sparrow would give ye more value than that sparrow"? 00:27:26 [R,U]^2 rotates both of the FR corners clockwise, and both of the UB corners counterclockwise. 00:30:30 Lemme see about [R,U]. [R,U] moves UFR to DFR like F, and DFR to UFR like R; it also moves UBR to UBL like U', and UBL to UBR like B'. 00:31:43 :o people are talking about the rubiks cube 00:32:24 The two-by-two-by-twube. 00:32:31 still 00:34:10 you were talking about edges 00:34:14 2x2 has none 00:34:46 * izabera feels betrayed 00:35:03 Sure it does. All cubes have edges. It just doesn't have pieces which correspond to those edges. 00:35:34 that's a bit of a stretch 00:35:55 In any case, by "the edge" I meant "the two pieces lying along the edge". 00:36:23 the 2x2x2 cube has edges but no edge pieces. 00:37:06 that's just the traditional design 00:37:33 i'm sure someone could come up with a center that doesn't need any kind of hidden edges 00:39:25 -!- p34k has quit. 00:39:40 you could create a spherical 2×2×2 cube 00:39:44 edges. this thing has edge pieces but no edges: http://www.twistypuzzles.com/museum/large/00579-01.jpg 00:39:50 except it wouldn't be a cube any more 00:39:54 just isomorphic to one 00:40:00 (I was looking for a 2x2x2 one, but that's what I found) 00:40:13 izabera: it is impossible to create a cube of any kind which does not have edges. 00:40:31 Rubik's or otherwise. 00:40:34 -!- XorSwap has joined. 00:40:55 prove it 00:41:17 All cubes have faces, right? 00:41:26 yes 00:41:34 And all cubes have pairs of adjacent faces, right? 00:41:39 yes 00:41:53 What do you call the area at which two adjacent faces meet? 00:41:58 -!- nooga has quit (Ping timeout: 244 seconds). 00:42:02 the other kind of edges 00:42:16 That's the kind of edge I've been talking about this whole time. 00:42:50 maybe you should have talked about the right kind of edges this whole time 00:43:06 I don't have anything to say about that kind of edge. 00:43:23 tswett: hmm, what if the faces /don't/ meet, and are only adjacent in the sense that they're aligned at 90 degrees from each other? 00:43:53 That's an interesting thought. 00:44:22 You could make a "cube" shaped like an octahedron with the corners just a little bit truncated. 00:45:51 All right, where have they got some algorithms for this darned thing? 00:45:51 there's a tetrhedron version of the 2x2x2 cube: https://en.wikipedia.org/wiki/Pyramorphix 00:48:00 This sequence does some kind of corner rotation, but also has the effect of doing L' R on the whole thing: L' U R' D2 R U' R' D2 R2 00:48:15 Let me see if I can adjust it so it doesn't do that. 00:50:10 Let's see. Just start with R' instead of L', then rotate the rest of it pitch-up, that should give you... R' F R' B2 R F' R' B2 R2. 00:50:27 Yup. Now let me see what that did. 00:51:11 That sequence rotates UBL, UBR, and UFR clockwise like U. 00:52:36 If you append U' to it, it instead swaps the UF pieces like U. 00:53:10 try R U2 R' U' R U' R' U2 00:53:47 found the cuber 00:54:21 Ooh, that's a fun one. 00:54:40 That one rotates UBL, UFL and UFR counterclockwise. 00:54:46 As in... 00:55:01 The one I previously mentioned moves the corners around forming a clockwise rotation. 00:55:08 This one rotates each corner counterclockwise in place. 00:55:18 so you can solve the cube now :P 00:56:26 wouldn't it be better to just link a guide or something 00:56:43 Can I find a big list of 2x2x2 algorithms somewhere? 00:56:58 look up ortega method 00:57:18 well, cuber. I can solve them, but I struggle with the notation, and I'm not very fast. "them" being, in principle, arbitrary size (4x4x4 is the most fun one, perhaps) 00:59:42 People probably have big lists... but I don't know. 01:07:54 Looks like I'm looking for "CLL" algorithms at the moment. 01:08:00 I assume that means "completing the last layer". 01:08:11 c is for corners 01:09:37 But this is 2x2x2. 01:11:16 -!- XorSwap has quit (Quit: Leaving). 01:12:42 Let me find my favorite algorithm for flipping an edge around. 01:13:53 disassemble; reassemble... unless you have an even sized cube larger than 2x2x2 01:15:30 I just did it, actually. 01:15:57 * int-e thinks 01:17:17 Here's how to do it: https://www.speedsolving.com/wiki/index.php/Special:MediawikiAlgDB?mode=view&view=default&puzzle=2&group=CLL&cid=27 01:18:22 I see what you mean 01:19:11 still won't work on odd sized cubes, but you didn't care about that 01:21:14 -!- MDude has joined. 01:40:52 Though I'm doing those algorithms on a solved cube and getting some funny results. 01:42:00 Oh well. 01:44:02 R U F2 U R F R' U F R U2 is an algorithm for flipping the UL edge around. 01:45:36 And its reverse is the same thing, of course: U2 R' F' U' R F' R' U' F2 U' R' 01:46:14 It doesn't seem like a very beautiful algorithm. 01:51:34 -!- XorSwap has joined. 02:02:46 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:16:31 -!- jaboja64 has quit (Ping timeout: 244 seconds). 02:32:21 -!- XorSwap has quit (Quit: Leaving). 02:34:50 philosophical question: is it possible to use test driven development to develop a testsuite? 02:35:04 one of the things I'm writing at the moment is a generic terminal testsuite 02:35:14 and I am testing it as I write it by using it to test terminals 02:35:25 I am wondering what other development styles I could theoretically have used instead 02:37:56 -!- jaboja64 has joined. 02:47:36 Of course you can do that. 02:47:52 Just come up with some things that work and some things that don't work and test to see if they're caught as they're supposed to be. 02:50:11 tswett: so in other words, I have to write a terminal that's broken in every possible way? 02:50:17 and I have to do this /before/ writing my terminal testsuite? 02:50:40 I think this leads to an impossible recursive loop, because the test tests would require the tests I'm originally trying to write in order to test them 02:51:13 I could probably come up with an answer for that if it weren't for the fact that I just had a bottle of Dragon's Milk. 02:52:05 come to think of it, I'd /also/ need a terminal that's working in every possible way :-D 02:52:07 that sounds like a useful thing 02:52:30 TIL that according to Tolkien, Bilbo and Frodo's names were actually Bilba and Froda, but he translated them as Bilbo and Frodo to align closer to the reader's expectations of masculine names 02:52:48 Maybe I should write a terminal emulator, to avoid the mess of xterm and the insufficiency of everything else 02:53:22 coppro: I did not know that 02:56:18 zzo38: what do you consider insufficient in non-xterm terminals? 02:56:27 as in, what about them makes them want to not use them? 02:56:55 I knew that about Bilbo but not Frodo. 02:57:58 I think the other terminals do not use bitmap fonts is one, and also many ones add too much extra stuff as well as missing stuff too 03:02:13 there aren't many bitmap fonts that cover all of Unicode 03:02:26 additionally, providing bitmap fonts in enough sizes to let everyone scale their terminals as they want is difficult 03:02:47 so I think most terminals don't use bitmap fonts because of practical considerations, rather than because they think they're inherently bad 03:06:55 -!- tromp has joined. 03:10:09 I would to use only bitmap fonts, but it wouldn't have Unicode nor have KOI8, anyways. (Unicode is not even compatible with the pieces of big Sigma in the DEC Technical set anyways.) 03:12:24 (We would need to make up a UTCE bitmap font. A UTCE font is a .pcf font with two bytes per character.) 03:13:36 (Also requiring that character sizes are all the same for byte1 being 0 to 31, and for characters with byte1 being 128 to 255, the width must be exactly twice as much.) 03:16:00 The terminal emulator would then include the internal tables to convert ISO 2022 characters into UTCE characters 03:23:50 Another thing is that xterm does not support user-defined fonts, and there is a reasonable reasons for such, but it could be implemented anyways as an option only if the default font already has the correct size 03:27:11 -!- llue has joined. 03:27:27 -!- lleu has quit (Read error: Connection reset by peer). 03:27:30 -!- tromp has quit (Remote host closed the connection). 03:48:15 The other thing I would have is three files of source codes, one is for DEC emulation, one is for Tektronix emulation, and one is for use with X window, therefore you can omit the files you do not need and can more easily to be use on different computer; do you like this? 03:48:54 -!- lynn has quit (Ping timeout: 246 seconds). 03:54:01 -!- bender| has joined. 03:58:44 zzo38: does anyone actually use Tektronix emulation? 03:58:54 that's one feature I'd omit I think 03:59:01 being able to comple out parts of the code is good though 04:01:04 -!- tromp has joined. 04:02:38 -!- bender| has quit (Ping timeout: 268 seconds). 04:04:48 * oerjan discovers he forgot to restart the putty session after it dropped 4 hours ago 04:05:01 no wonder it was quiet 04:05:09 -!- jaboja64 has quit (Ping timeout: 276 seconds). 04:22:05 -!- MoALTz_ has joined. 04:25:10 -!- MoALTz has quit (Ping timeout: 244 seconds). 04:26:10 -!- treaki__ has joined. 04:29:22 -!- treaki_ has quit (Ping timeout: 260 seconds). 05:05:11 -!- tromp has quit (Remote host closed the connection). 05:32:39 ais523: Yes, if Tektronix emulation is a separate source file then you can easily omit it if you do not need it, although the compile scripts will need to take that into account too. 05:34:48 -!- bender| has joined. 05:37:56 That is one main reason to be a separate file, which is because often it will not even be in use, so it is entirely separate from the others. For example you can have preprocessor symbols USE_DEC and USE_TEKTRONIX and then tell it to link or not link file dec.o and tektronix.o 05:38:57 Unless you are making your own front-end for systems other than X you would also need main.c then. 05:42:49 -!- bender| has quit (Ping timeout: 240 seconds). 05:43:51 [wiki] [[Special:Log/newusers]] create * SlackerSnail * New user account 05:45:32 -!- Alcest has quit (Remote host closed the connection). 05:45:41 Another thing xterm does not do is to be able to adjust key repeat, although this is because X does not support changing it only per window. But, another idea would be to fake it if the DEC key repeat codes are used and based on its own timers when that happens. 05:47:41 I would aim for more complete DEC and Tektronix emulation than xterm and other programs has. 05:57:48 That mean everything included, including Sixel and ReGIS graphics, Tektronix APL mode, DEC Technical characters, local mode (this can be used to alter settings with escape codes, for example), etc. 05:59:45 Not all actual features of the user setting menu in DEC terminals would actually be in there though, since some are not applicable to terminal emulators, such as settings for power, while others are unneeded because other settings of the terminal emulator can be used instead, such as brightness controls. 06:01:05 -!- hppavilion[1] has joined. 06:01:28 WE WILL BE A FNORD / COME ON TELL US THAT YOU WANT US / WE WON'T BE IGNORED / NOW IT'S TIME FOR OUR REWARD 06:01:36 I have no idea why I had to say that 06:05:53 -!- tromp has joined. 06:06:04 Then you must learn why. 06:10:17 -!- tromp has quit (Ping timeout: 250 seconds). 06:10:35 Why are the formats of pictures in Xlib called XYBitmap and XYPixmap and ZPixmap? Where do the names come from? 06:13:59 [wiki] [[Deadfish]] https://esolangs.org/w/index.php?diff=46624&oldid=46610 * SlackerSnail * (+724) /* Implementations */ 06:14:36 [wiki] [[Deadfish]] https://esolangs.org/w/index.php?diff=46625&oldid=46624 * SlackerSnail * (+1) /* =SmileBASIC */ 06:16:46 Is there any library to write a X proxy program with? 06:17:39 -!- hppavilion[1] has quit (Ping timeout: 260 seconds). 06:43:08 "The data for a pixmap is said to be in "ZFormat" if it is organized as a set of pixel values in scanline order." 06:43:21 I guess because of the path of the electron beam 06:48:38 -!- lambda-11235 has quit (Quit: Bye). 06:51:35 I did guess that, although the electron beam goes in the same direction for XYBitmap and XYPixmap formats too, and they are also in the scanline order. 06:52:26 The difference is that XYPixmap stores each plane as a separate bitmap while ZPixmap stores each pixel as a single unit. 06:53:36 -!- AlexR42 has joined. 07:12:22 * deltab nods and shrugs 07:55:04 -!- ski has quit (Ping timeout: 260 seconds). 08:00:12 -!- gonad has joined. 08:00:16 -!- llue has quit (Read error: Connection reset by peer). 08:06:26 -!- tromp has joined. 08:11:30 -!- tromp has quit (Ping timeout: 276 seconds). 08:44:25 -!- J_Arcane_ has joined. 08:46:01 -!- J_Arcane has quit (Ping timeout: 252 seconds). 08:46:05 -!- J_Arcane_ has changed nick to J_Arcane. 08:54:19 -!- AnotherTest has joined. 09:07:07 -!- bender| has joined. 09:07:21 -!- tromp has joined. 09:08:21 -!- nooga has joined. 09:11:33 -!- tromp has quit (Ping timeout: 240 seconds). 09:52:06 -!- oerjan has quit (Quit: Nite). 10:00:01 -!- lynn has joined. 10:14:15 -!- ais523 has quit (Ping timeout: 264 seconds). 10:52:46 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 10:55:24 -!- Lord_of_Life has quit (Excess Flood). 10:59:08 -!- Lord_of_Life has joined. 11:01:06 -!- Reece` has joined. 11:04:33 -!- Reece` has quit (Client Quit). 11:07:53 -!- tromp has joined. 11:12:01 -!- tromp has quit (Ping timeout: 240 seconds). 12:05:00 -!- carado has joined. 12:16:47 -!- lishaoshuai has joined. 12:17:26 hello 12:17:33 hey ,guys 12:17:34 `welcome lishaoshuai 12:18:05 lishaoshuai: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 12:19:01 only 31s 12:19:04 good bot 12:19:25 oh,my English is poor. 12:21:52 I am come from China. 12:22:05 I am coming from China. 12:22:34 I am learning Linux. 12:22:46 It's interesting. 12:23:06 yay 12:23:57 But it is too difficult to me. 12:24:20 what's the problem? 12:29:43 thinks, i am junior student . For me,if i want to go to a major company ,I must know TCP/IP and a lot about Linux.I think you know the chinese company like Huawei,and Xiaomi. 12:31:41 http://codecraft.huawei.com/ It's a topic about Huawei,It makes me headache. 12:34:14 I think izabera that you can solve it. if you have interest and Please help me. My mail is 1049188593@qq.com . 12:35:27 i can't read chinese 12:37:24 what's your mail. 12:38:17 I send the topic to you.i will translate it for you. 12:38:33 :-) 12:38:45 and what do i have to do with it? 12:41:00 It's a code problem about the net.if you have interest,you can write your code or give me some ideas. 12:42:25 your description is too vague 12:45:03 It's the top-level code megagame.You know dijkstra? 12:45:16 i do 12:45:22 It's about it. 12:45:31 still too vague 12:47:24 Do you have interset on it? if you have,we can be a team.I will translate it in a mail for you.If not I can still introduce it for you. 12:48:18 The first team can get 200000/6$. 12:48:43 It's time to show your genius. 12:48:55 it's time to fuck off 12:49:39 -!- nooga has quit (Ping timeout: 248 seconds). 12:49:47 oh guys,sorry. i am shame to face to you. Ok,goodbye. 12:51:02 -!- boily has joined. 12:51:55 -!- lishaoshuai has quit (Quit: Leaving). 13:05:31 [wiki] [[User:Rdebath]] https://esolangs.org/w/index.php?diff=46626&oldid=46612 * Rdebath * (+23480) Add some (!!) links to the table 13:08:04 -!- J_Arcane has quit (Ping timeout: 244 seconds). 13:16:33 -!- nooga has joined. 13:31:26 In the meantime, the people of Carbo are almost bursting in bubbles of joy and excitement. 13:31:59 `quote pro 13:32:16 14) oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a tricycle! pass him! \ 28) is there a problem with it being carbonized :D yes: carbonized coffee bean is known more commonly as "charcoal" \ 57) ehird: ev 13:41:30 `quote third 13:41:36 548) I prefer the N64 controller, it's the only one that has place for my third hand. \ 579) it's not a list of /all/ interesting esolangs, btw; otherwise you can take the first command from the first esolang, the second from the second, the third from the third, etc, then add 1 to all of them and you get a new interesti 13:42:20 `? kingdom 13:42:21 kingdom? ¯\(°​_o)/¯ 13:42:24 `? kingdom come 13:42:24 kingdom come? ¯\(°​_o)/¯ 13:46:20 -!- J_Arcane has joined. 13:58:35 ais523's esolang diagonal argument. 13:58:47 `wisdom 13:58:51 finnish/Finnish suomalaiset ei Perkeleistä on hakkapeliittaan. Ei saa peittää. Parasta ennen! 14:03:05 Wisdom for the ages. 14:03:11 `words --finnish 20 14:03:17 tymällenneteell kylmituksensä tykypsyttävilla intyylitsemmistä suurenemänäni aamme ahdistamanne ahavolyyseltä myrityilta lavertaisemana agrologille luovaltasialla kirkkään hettaminäsi häirittavillä aborttumisemmiksesi ahertävinään kasvattavalle edustasautetui nittävissä 14:03:42 -!- MoALTz_ has changed nick to MoALTz. 14:03:46 Not the best set ever. 14:04:41 Only "ahdistamanne", "agrologille" and "kasvattavalle" are real words this time. 14:08:17 (Some vowel transmutation could fix "kirkkään" -> "kirkkaan", "häirittavillä" -> "häirittävillä" and "ahertävinään" -> "ahertavinaan" as well.) 14:08:59 “Finnish is not the devil, visit the Hakkapeliitta. Do not cover. Best before!”? 14:09:36 what's a Hakkapeliitta? 14:10:46 https://en.wikipedia.org/wiki/Hakkapeliitta 14:11:08 I guess you could call that "hackers" 14:12:43 There's no "visit" in there really. Though the first part doesn't really make any grammatical sense, so... 14:14:06 maybe it's supposed to be an or, "Finnish isn't the devil or the hakkapeliittes." 14:14:11 `? French 14:14:16 French? ¯\(°​_o)/¯ 14:14:57 `le/rn French/Le français n'est pas le démon, visitez les Coupeurs. Ne pas couvrir. Meilleur avant! 14:15:03 Learned «french» 14:18:24 `wisdom 14:18:26 sparse matrix algorithm/Sparse matrix algorithms are a trivial special case of non-sparse matrix algorithms, by conjugating with the sparsification operation. 14:24:20 -!- tromp has joined. 14:28:40 -!- tromp has quit (Ping timeout: 244 seconds). 14:44:39 -!- bender| has quit (Ping timeout: 250 seconds). 14:47:19 -!- tromp has joined. 14:49:26 -!- Reece` has joined. 15:03:24 -!- lambda-11235 has joined. 15:29:40 -!- J_Arcane has quit (Read error: Connection reset by peer). 15:30:12 -!- J_Arcane has joined. 15:34:21 -!- p34k has joined. 15:40:58 -!- J_Arcane has quit (Ping timeout: 244 seconds). 15:58:19 -!- Vorpal has quit (Read error: Connection reset by peer). 15:58:53 -!- Vorpal has joined. 16:06:50 -!- J_Arcane has joined. 16:07:05 -!- jaboja has joined. 16:31:19 “Danish pronunciation: [ˈsmɶɐ̯ɐˌb̥ʁœðˀ]”. am I supposed to just cough the word? 16:33:30 -!- mad has joined. 16:34:31 oh man I have a hard problem 16:36:37 suppose you have a bunch of paths 16:36:47 done 16:36:54 /path/to/file 16:37:01 those paths? 16:37:13 I was thinking on a 2d plane 16:37:21 or paths in a graph? or ... that? 16:37:35 int-e: no, still the dijkstra stuff for the “tpo-level code megagame” 16:37:36 or paths in a graph, that works as well 16:37:42 yes, graphs 16:37:55 what's the requirement for this to be turing complete? 16:38:03 oh do we have a translation now? 16:38:07 clearly you need some kind of infinitely repeating pattern 16:38:20 mad: um... what's Turing complete/ 16:38:22 what is turing complete? 16:38:25 mad: I don't get it 16:38:30 like a 2d grid 16:38:33 what is the computation? 16:38:36 the megagame? 16:38:46 int-e : following the path 16:38:47 -!- Reece` has quit (Quit: Leaving). 16:38:54 meh. 16:38:57 if the path eventually stops then it halts 16:39:06 but the path can keep going forever 16:39:06 mad: You mean a state machine? 16:39:47 lambda-11235 : depending on how your infinite repeated grid is structured you either have a state machine or a turing machine 16:40:07 for instance if you have no infinite repetitions then it's a state machine, of course 16:40:36 if it's just an infinite 2d grid it's also a state machine because there's no difference between each grid cell 16:43:08 if it's a pattern that starts with something, but then has a different pattern that repeats rightwards, then paths in the rightwards repetition either keep going rightwards forever so they're not any different anymore, or the path go leftwards which means the number of iterations is finite (which also excludes being a Turing machine) 16:43:55 if it's a 2d grid but with a different pattern on the top side and left side, then it can be a Turing machine 16:44:48 because it's a 2 counter minsky machine using the X cell count and Y cell count as counters -> https://esolangs.org/wiki/Minsky_machine 16:45:38 but only a single state now 16:45:55 so you need an infinity of different paths, some of which are finite (ie the turing machine halts), some of which are infinite (ie it doesn't halt) 16:46:32 int-e : well, in a repeated grid of paths, which one of the path within your repeated cell is your state 16:46:49 mad: um, wait, there was a two-dimensional esolang that you're probably thinking of. the two-dimensional language that has an instruction pointer and direction like befunge, a repeating pattern, and able to emulate a two-register counter machine 16:46:57 which was that? 16:47:18 yes that's what I'm talking about 16:47:31 https://esolangs.org/wiki/nopfunge 16:47:49 ok this brings me to the actual question I wanted to ask 16:47:56 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 16:48:21 mad: ah, that's it, yes 16:49:02 Is it possible to design a path grid geometry that has an infinity of different path but isn't Turing complete? 16:49:10 nopfunge 16:49:46 Or all grid geometries that have an infinity of different paths necessarily turing complete? 16:51:51 the 2d grid with a different strip on top and left is possibly the simplest grid with an infinity of different paths, and even that one is turing complete 16:52:22 so I'm conjecturing that all grid geometries with an infinity of different infinte paths are also turing complete 16:53:38 Was someone able to prove 3SP turing-complete yet by the way? 16:53:45 -!- boily has quit (Quit: DISCARDED CHICKEN). 16:54:44 so I'm conjecturing that all with an infinity of different > are also turing complete 16:54:53 * int-e can't make sense of that. 16:54:55 And I'm also conjecturing that all turing complete systems contain an infinitely different grid geometry when mapped into paths 16:55:51 int-e : hmm, let me try to explain it simpler 16:56:37 a finite set of 2d paths are obviously not turing complete 16:57:20 like, if you draw a bunch of arrows on a sheet of paper 16:57:26 and follow the arrows 16:57:39 it has to stop because you can only have so many arrows 16:58:08 mad: could also go into a loop 16:58:19 yes 16:58:28 but then you can't have an infinite tape 16:58:36 true 16:58:39 so to build a turing complete system, you have to add the possibility for some kind of infinite repetition 16:58:57 I don't really understand how nopfunge is TC, but that is amazing 16:59:33 mad: btw, Befunge-98 is probably not TC for the same reason that C isn't TC 16:59:37 Vorpal: do you understand why a two-counter machine is turing-complete? or at least a three-counter machine? 16:59:50 Vorpal: or fractran? 16:59:56 b_jonas: I would have to read up on those, I'm not really familiar with either 16:59:59 Vorpal : it uses X and Y position as bignums, then absuses those as an infinite tape 17:00:08 mad: ah 17:00:32 Vorpal: after you read up on the, you'll find out that nopfunge can simulate a two-counter machine 17:00:46 b_jonas: well that is how it usually goes to show something is TC 17:00:50 ais calls these thingies Minsky machine 17:00:57 s/machine/machines/ 17:01:21 They're essentially multi-tape Turing machines that can't write their tape, only read 17:01:50 so yeah if you have an infinite number of copies of a sheet of paper with arrows on it arranged in an infinite 2d grid that extends in all directions, you still don't have a turing machine 17:02:02 Yes that was one part I was wondering about. How it kept state without writable state as it were 17:02:07 because you have no way of knowing which copy you're on 17:02:29 it's as if you made the left side loop with the right side, and the top side loop with the bottom side 17:02:34 Vorpal: the state, apart from the finite state a Turing machine can keep in its cpu, is kept in how far the tape heads are from the start 17:02:46 right 17:02:49 Vorpal: that distance is a "counter" when you regard them as a Minsky machine 17:03:00 but they can only detect whether the counter is zero or nonzero 17:03:00 Makes sense 17:03:11 yes that was the next question 17:03:16 this is why to do anything reasonable, any counter machine will need exponential time 17:03:33 because it has to store arrays encoded as big numbers 17:03:36 Ah 17:03:50 if you have enough tapes, you can divide a counter by two or multiply by two, thus push or pop a bit 17:04:16 So completely impractical then XD 17:04:23 if instead of an infinite 2d grid that extends in all directions, you make it only extend rightwards and downwards, and have a different pattern on the left side and a different pattern for the topside (plus potentially a different one for the topleft corner), then you can count the number of repetitions from the left side or top side 17:04:32 now it turns out that three counters are enough, because you use two to store two stacks of bits, and one as scratch to do the divisions or multiplications 17:04:33 yes this is super impractical :D 17:04:55 But it also turns out, and I admit I don't understand why, that two counters are also enough, but in that case the slowdown isn't exponential, it's double-exponential. 17:05:22 mad: anyway, it is TC, unlike normal Befunge-98. Though 98 is only not TC due to the sizeof problem 17:05:26 One counter definitely isn't enough for turing-completeness though, since a single-counter machine is weaker than a stack machine 17:05:59 you're basically storing your turing machine infinite tape as two stacks encoded as something like 2^w * 3^x * 5^y * 7^z 17:06:10 Vorpal: anyway, ais523 calls these counter machines Minsky machines, and has some esolangs where he examines restricting them in some way and seeing how powerful they remain 17:06:17 Ah 17:06:37 restrict them in different ways than reducing the number of counters that is 17:06:51 so there's http://esolangs.org/wiki/The_Amnesiac_From_Minsk 17:06:52 and then you compute checking if your bignum is divisible by 2/3/5/7 by bouncing between the left side and top side 17:07:02 and so forth 17:07:19 mad: ah yes... evil 17:07:50 so the number of iterations to do anything useful is, like... super-hyper-exponential 17:07:55 no no 17:07:58 it's only double-exponential 17:08:06 "only" 17:08:07 :D 17:08:14 mad: you haven't been on #esoteric enough 17:08:27 we have much more impractical languages 17:09:02 sure, I certainly prefer computation models that incur only quasi-linear slowdown 17:09:05 but still 17:09:19 this is #esoteric, so people don't restrict themselves to those 17:09:44 I think I'll keep to befunge-98. It is in fact by far the most practical esolang 17:09:51 If you actually want to get stuff done 17:10:10 It is a pain to write interpreters for though, I should know, having written 2 17:10:28 so if you have some mechanism to build some infinite grid of paths 17:10:39 fungot: right? 17:10:39 Vorpal: and scheme48's byte-code. 17:10:49 that was oddly on topic 17:11:21 Vorpal: what interpreters have you written in befunge? 17:11:30 b_jonas: for befunge 17:11:31 not in 17:11:41 I have written programs in it, but no interpreters 17:11:56 if, after removing all the paths that are "the same" behavior-wise (ie symmetries), you end up with only finite paths, then it's not turing complete 17:11:57 b_jonas: fungot runs on/used to run on my cfunge 17:11:57 Vorpal: of course, it would 17:12:12 And I wrote a funge-98 interpreter in erlang too 17:12:13 Vorpal: ah! 17:12:48 b_jonas: I lost most programs I wrote in the language in the disk crash before I learned to backup many years ago 17:13:01 what I'm conjecturing is that if after removing all the paths that are "the same" behavior-wise, there are any infinite paths left, then it _has_ to be turing complete 17:14:09 mad: I don't know if you care, but either you haven't told us enough context about this path thing, or you're not making sense 17:14:33 -!- jaboja has quit (Ping timeout: 240 seconds). 17:14:34 well 17:14:40 I'm generalizing the whole thing 17:14:46 fungot: do you care if you don't make sense/ 17:14:46 b_jonas: are you doing? xd a 2d fnord etc. :) 17:15:17 for instance, the infinitely repeated 2d grid is a "type" of grid 17:15:37 you've also got the infinitely repeated 1d grid (not turing complete) 17:16:43 infinitely repeated 3d grid (which I think is turing complete under the same conditions as the 2d grid - ie you have some kind of end or ledge to the pattern which lets you count your position in the grid) 17:17:10 you also have some fractals 17:17:29 as a way of generating infinite sets of paths 17:17:54 some of which are going to be turing complete 17:18:50 in particular the ones that have some binary-tree kind of thing going on 17:20:40 it's also possible that when mapped in 2d, you have to have the possibility of wire crossings or else it's not turing complete 17:21:46 basically I found some way of mapping potentially turing-complete systems into shapes and trying to figure out what you can learn from that :D 17:23:21 -!- jaboja has joined. 18:01:32 -!- sebbu has quit (Ping timeout: 244 seconds). 18:01:58 -!- jaboja has quit (Ping timeout: 260 seconds). 18:03:19 Since nobody asked for it, here's the 2x2 algorithm for swapping UFL and UBL like U: U' R' F R' B2 R F' R' B2 R2 18:03:57 this channel does rubik's cubes? I didn't know, although I'm not too surprised 18:04:16 I got one in the mail yesterday. 18:04:46 -!- jaboja has joined. 18:05:06 I think there's at least one other person here who also does them. 18:05:21 me, but not too much 18:05:38 I've even been to the #rubik a bit 18:06:06 but my cuber-fu has lapsed a lot because I didn't practice much for years now, and it never was good in first place 18:06:22 I still feel the attraction though 18:06:46 and should practice more some day and concentrate on improving my particular stumbling points 18:07:26 (including color neutrality) 18:07:32 -!- mad has quit (Quit: Pics or it didn't happen). 18:12:48 I wonder how many people are good at "unsolving" cubes. 18:12:59 Take a scrambled cube and a solved cube, and make the solved one look like the scrambled one. 18:13:35 sounds like one added layer of abstraction 18:13:47 if you can solve it, you should be aböe to produce any state 18:13:59 it may take longer, though 18:14:09 (this may not be true for the larger cubes) 18:14:38 never done those, but i get the problem 18:14:39 tswett: given the crazy stuff cubers do, there are probably people competing in that. with all variants, like one-hand each for the read-only template cube and the cube, one hand for the two together, feet, etc. 18:17:46 I seem to recall there are algorithms for cycling edges, or swapping corners, or something like that? 18:18:13 yeah 18:18:37 Maybe the "simplest" way to solve a cube (or recreate a scrambled one) is applying those a billion times 18:18:40 scrambling is basically just a layer of abstraction that maps each tile to the finishing tile 18:18:43 lynn: yes. a bit tedious (in the case of corners) but very useful for blind solving 18:18:51 lynn: and no, it's not the simplest way 18:19:11 -!- jaboja has quit (Ping timeout: 268 seconds). 18:19:15 But is it the "simplest" way? 18:19:20 paint :P 18:20:20 lynn: the simplest way to recreate a solved cube is to just use an ordinary solving method *forwards* but going to the right state 18:20:44 the alternate way is the solve the template cube, writing the moves to paper, and then applying the moves *backwards* to a pristine cube 18:21:13 I think the simplest way to recreate a given cube is by making random moves until you find that you've succeeded. 18:21:15 b_jonas: Well, as tswett pointed out, by "simplest" I rather mean... "dumbest", maybe 18:21:29 tswett: oh, bogosort? 18:21:31 `? bogosort 18:21:35 Oh, that *is* even dumber. 18:21:44 bogosort? ¯\(°​_o)/¯ 18:21:49 WHAt 18:21:54 we don't have an entry for that/ 18:22:03 Anyway ordinary solving methods need all kinds of algorithms :< 18:22:24 If you learn the swappy ones, you can use just two and apply them everywhere! (Maybe?) 18:24:22 -!- llue has joined. 18:24:44 You can probably find just one algorithm that you can use for everything. 18:24:55 Maybe one that, like, swaps two corners and also rotates three edges. 18:26:45 You could take the 12 simple algorithms that each permute four edge and four corner pieces at a time... *ducks* 18:27:25 (aka quarter turns) 18:28:12 -!- gonad has quit (Ping timeout: 260 seconds). 18:28:16 -!- tromp has quit (Remote host closed the connection). 18:28:31 you could take just _two_ algorithms that generate the whole cube group as a group (or as a semigroup, it's the same thing since it's finite), and use them (without any conjugation or anything). you just wouldn't be able to figure out when to apply which one. 18:30:25 4 algorithms seems reasonable to me 18:31:17 int-e: together with conjugations by whole cube rotations, and conjugation by the cube mirroring outer conjugation? 18:31:18 (I'm assuming that one can solve one layer intuitively) 18:32:11 b_jonas: yes, some conjugation will be involved. but that sounds scarier than it is in practice (as I'm sure you're aware) 18:32:23 of course! 18:32:51 mind you, I have serious problems with color-neutrality, which means I don't conjugate algorithms as efficiently as I should 18:33:07 * int-e has never cared about efficiency much 18:33:42 (so for example, 3x3x3 takes me a about a minute, give or take) 18:34:17 that's still better than me. I couldn't yet go to under one minute in average, and I'd need more practice and learning stuff for that 18:34:51 (not specifically color neutrality though, just improving the recognition of some of the steps of the method, as well as some physical turning practice, would let me) 18:35:22 I could do under 2 minutes in average though 18:36:06 Hmm sounds like color neutrality should be the least of your worries. 18:36:37 My biggest regret about cubes is that the silver mirror cube wasn't yet available to me during high school, so I couldn't turn the cube under the desk without looking at it. 18:36:42 -!- pelegreno has quit (Remote host closed the connection). 18:36:50 And if you keep glancing at the cube under the desk, high school teachers notice that. 18:37:10 anyway, to improve I believe I would have to start learning a million algorithms (well, maybe 3 dozen to start with) and I just can't be bothered. 18:37:17 int-e: yes, I know, color neutrality is just the easiest to describe problem I have 18:37:22 my top layer has 4 distinct phases. 18:37:49 (non-standard too: flip edges; place corners, turn corners, place edges) 18:38:52 int-e: what? that's the standard order 18:39:07 or at least, the best one 18:39:29 but the last layer isn't the one I'm having problems with. it's before that. 18:40:05 I don't really care about speed at the moment. I think move efficiency is more important to me. 18:40:11 * int-e can't track pieces, so the first two layers are also fairly slow. 18:40:37 but oh well, fast enough to impress laypeople. 18:40:45 tswett: there are competitions for that too 18:41:22 (laypeople are also easily impressed by just seeing a 5x5x5 cube) 18:42:08 -!- copumpkin has joined. 18:42:18 or this one, https://en.wikipedia.org/wiki/Megaminx 18:42:21 But I don't think you can get good enough in fewest moves, since even an old personal computer can find the absolute fewest move solution for any 3x3x3 state quickly enough. You'll never beat that. 18:42:21 what about non-3D "cubes"? 18:42:32 -!- pelegreno has joined. 18:42:41 Could you have a 4D cube? On a computer that is, you obviously can't make a physical one 18:42:55 Vorpal: I've seen programs that do that 18:43:13 int-e: oh? Do they have any interesting properties? 18:44:00 one step further: http://www.gravitation3d.com/magiccube5d/ 18:44:27 youtube... https://www.youtube.com/watch?v=0AqMb-edXlc (hmm but apparently that's a program solving it) 18:44:33 ouch 18:45:35 haha http://www.speedcubing.com/records/recs_comp_2222.html 18:46:04 and of course this as well: http://www.speedcubing.com/records/recs_comp_3333.html 18:47:05 -!- jaboja has joined. 18:51:35 I never understood what a 4x4x4x4 rubik's cube even _means_ in first place 18:51:49 what is its state and what are the elementary steps you can do on them? 18:51:53 um 18:51:59 any 4-dimensional cube that is 18:52:04 3x3x3x3 or 2x2x2x2 too 18:52:32 b_jonas: so it is a 3x3x3 but with an extra x3 18:52:33 XD 18:52:42 -!- mihow has quit (Ping timeout: 260 seconds). 18:52:48 the screenshots on http://astr73.narod.ru/MC7D/MC7D.html are hilarious. 18:54:05 yes, I also know some really bored people solve large 3d cubes on computer, like 91x91x91 or something like that 18:54:09 it's crazy 18:54:20 b_jonas: the 3x3x3x3 cube has 8 hyper-faces of 3x3x3 cubes each, that's the state 18:54:53 int-e: with a sticker of the same color on each of 27 cubes of a face? 18:55:08 the cubes are the stickers :) 18:55:14 yes yes 18:55:28 so 27 cubical stickers 18:55:41 "Look more understandable? I also think so." 18:55:45 of each of the 8 colors, yes 18:55:45 Jesus 18:56:00 int-e: ok, that's scary 18:56:16 I mean, not that part is scary 18:56:24 the scary part is what the rotations are, which I don't understand 18:56:30 -!- boily has joined. 18:56:40 these faces are on the outer 3d faces of a 3x3x3x3 cube, right? 18:58:58 Halloily. 18:58:59 b_jonas: well, the cube has slices of size 3x3x3x1 ... and you'll just rotate them around the short axis. 18:59:51 int-e: so that means you can rotate any of the slices around 6 axes? 18:59:52 so you get 8 basic moves (the usual L, R, U, T, F, B, and two more) 19:00:05 oh wait 19:00:09 only around the short axes 19:00:10 hmm 19:00:54 dunno, this is a bit hard to imagine 19:01:06 I agree :) 19:01:16 we need a wisdom for bogosort by the way 19:01:18 `? bogosort 19:01:23 bogosort? ¯\(°​_o)/¯ 19:02:01 `learn Bogosort is an efficient sorting algorithm for nondeterministic Turing Machine. Taneb may have invented it. 19:02:08 Learned 'bogosort': Bogosort is an efficient sorting algorithm for nondeterministic Turing Machine. Taneb may have invented it. 19:02:10 `learn Bogosort is an efficient sorting algorithm for nondeterministic Turing Machines. Taneb may have invented it. 19:02:13 Relearned 'bogosort': Bogosort is an efficient sorting algorithm for nondeterministic Turing Machines. Taneb may have invented it. 19:02:27 But perhaps that's too accurate. 19:02:44 `` sed -i s/M/m/ wisdom/bogosort 19:02:49 No output. 19:03:38 But it is kind of hard to beat linear time :) 19:03:56 maybe link to http://www.dangermouse.net/esoteric/bogobogosort.html 19:04:22 no wait, that's too efficient 19:05:15 lynn: hellynn! 19:05:54 (hallynn? blynnjour?) 19:07:31 1. make n! copies of the universe 19:09:29 * int-e is imagining a global quantum suicide approach to solving NP problems. 19:10:00 As in, try a random solution, and if it's wrong, kill all sentient beings? 19:10:33 By the way, the idea of quantum suicide goes against a certain principle. 19:10:43 Basically. I didn't think of stopping after killing the sentient beings... 19:10:57 Namely: obscure consequences of theoretical physics have no ethical consequences. 19:11:24 It's still a great thought experiment. 19:11:27 If you bring up quantum mechanics in an ethical debate, you're doing something wrong. 19:11:51 Schrödinger's cat leapt out of the box. 19:12:35 I think I don't want to have that ethical debate. 19:12:40 tswett: Are you sure? Ethics is not as simple so it may be necessary. The laws of physics are important too (not limited to quantum, though). 19:13:16 agreed, _real_ quantum mechanics can come up in ethical debates. quantum suicide probably can't, because most people believe quantum mechanics just doesn't work that way 19:13:40 but if we must discuss ethics, let's start with the simpler scenario from https://xkcd.com/1132/ :-P 19:14:00 If you can't think of an experiment that the ancient Greeks could have performed in order to demonstrate a law of physics, then as far as ethics goes, that law of physics does not exist. 19:14:01 b_jonas: OK 19:15:03 tswett: why? 19:15:09 I don't think so 19:15:17 Greeks did invent classical logic, although logic is a mathematics and the laws of physics are not relevant, but there is other kind of logic too anyways 19:15:21 (if the sun goes out, owing somebody 50 dollars will be the least of your worries) 19:15:31 I feel like a boring buzzkill for it, but I've never really fully understood the point in thinking about parallel universes. 19:16:04 lynn: well, it's a great device for unimaginative writers 19:17:49 Well, why *would* ethics depend on stuff that the ancient Greeks could never have observed? 19:17:59 And let's not forget Milner's and Hoare's pioneering work on communicating parallel universes... 19:18:39 if only I had a knife to get back to the original universe from this parallel one 19:18:43 s/work/works/ 19:18:55 tswett: Because the ancient Greeks (and even today's people) cannot possibly know all of the possible situations that might occur. 19:22:02 so you think the world wasn't yet quantum mechanical at ancient times, and only became so in the enlightenment when we were too close to figuring out all of physics? 19:22:46 does philosophy have a concept of a "sufficiently smart human"? ("A sufficiently smart human could solve the problem of global warming.") 19:23:22 int-e: no, that's game theory and economics, and the latter calls it “perfectly rational agents” 19:24:43 -!- sebbu has joined. 19:25:00 b_jonas: No, what I mean is that only what you know is approximation and is not quite completed. It applies to philosophy, ethics, science, religion, etc but in different ways. 19:25:35 "Perfectly rational agent" does make more sense I think, assuming that is what you mean of course. 19:28:47 -!- tromp has joined. 19:29:53 -!- Phantom_Hoover has joined. 19:32:46 b_jonas: makes sense. As much sense as my theory that we are all in a virtual world and what we call quantum physics is just really deficiencies in the simulation. Like floating point rounding errors sort of 19:33:03 -!- tromp has quit (Ping timeout: 240 seconds). 19:33:08 (Note: I don't actually believe this) 19:40:04 'Course, if it's just deficiencies in the simulation, it's weird that the simulation is deficient in a manner that's so consistent and difficult. 19:41:43 tswett: well, that is why it is a joke theory ;P 19:42:01 One of many reasons 19:50:12 like that quantum physics doesn't work anything like simulation errors, for instance 19:56:49 Phantom_Hoover: well, obviously that is a bit more complicated computer architecture than what we have currently 19:58:07 After all we can't simulate an entire universe yet, so why should we assume that they will do that on hardware we can understand 20:05:45 -!- jaboja has quit (Ping timeout: 250 seconds). 21:00:48 [wiki] [[Special:Log/newusers]] create * Ozwg6693 * New user account 21:01:20 @ping 21:01:20 pong 21:09:27 Taneb: hi 21:10:09 Hi 21:10:15 I'm playing Factorio 21:10:33 Taneb: it seems like the new minecraft, kind of 21:10:44 Seeing it popping up in lots of youtube channels 21:10:46 It's quite different to Minecraft 21:10:51 well yes 21:11:14 similar to certain modpacks for minecraft though 21:11:33 And similar in that it is an early access game that is quite playable and doing really well 21:12:30 they should make an android port 21:12:49 myname: might work well on a really large tablet, probably not on a phone 21:12:56 but I suspect it would control terribly 21:13:26 it doesn't need to be that large if you can zoom properly 21:13:42 Hm 21:13:52 what about the inventory 21:14:09 Especially the inventory of a car or tank in that game 21:17:43 oh the tension while waiting for the first edit... is it spam or real? 21:18:53 or perhaps the first edit was blocked... where's that page again 21:18:57 -!- jaboja has joined. 21:20:04 I guess it's https://esolangs.org/wiki/Special:AbuseLog ... nothing yet 21:28:52 -!- tromp has joined. 21:32:14 -!- copumpkin has quit (Quit: Textual IRC Client: www.textualapp.com). 21:32:26 So I guess I know how to solve a 2x2 cube now. 21:32:52 -!- copumpkin has joined. 21:33:21 -!- tromp has quit (Ping timeout: 244 seconds). 21:33:33 Now here's a fun little sequence, of order 4: R2 U2 R U2 R2 21:33:42 Taneb: Haneb 21:33:49 Hi 21:33:53 Factorio is TG 21:34:31 Also known as R^(R2 U2), of course. 21:35:15 isn't R^(R2 D2) more popular 21:35:26 Among Star Wars fans, probably. 21:35:29 Taneb: Are you multiplaying Factorio? 21:35:35 shachaf, yeah 21:35:40 With one of my friends from uni 21:36:02 Multiplayertorio is TG 21:36:10 `? TG 21:36:29 TG? ¯\(°​_o)/¯ 21:36:35 shachaf: WHAT IS THE MEANING OF THIS? 21:36:40 too good 21:36:57 R^(R2 U2) U has an effect that's somewhat easier to describe. 21:37:08 I have written a very simple X clock in JavaScript, which supports resizing the window but no settings are implemented and it only displays seconds, and only by filling in the circle; it is white at 0 seconds and half green at 30 seconds and so on. I made simply to show its working though, so if you want a real analog clock you could just use xclock, or to modify this one 21:37:41 It rotates UBL and UFR in place clockwise while rotating UBR and UFL in place counterclockwise. 21:38:01 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 21:38:52 -!- copumpkin has quit (Max SendQ exceeded). 21:39:15 The way that it does this, of course, is by using R2 U2 to move the U pieces into the R layer in a certain way. 21:40:17 zzo38: What if you added another circle for minutes and a third circle for hours? 21:40:22 Then the clock would be useful. 21:40:36 Yes, that can be done by using concentric circles perhaps 21:40:40 -!- Phantom_Hoover has joined. 21:40:47 Although I only intended it as an example anyways. 21:41:11 http://sprunge.us/Ubba 21:42:05 -!- copumpkin has joined. 21:46:49 whoa whoa whoa, function* 21:46:55 Generators? 21:48:50 So what the heck is up with this algorithm: U' R' F R' B2 R F' R' B2 R2 21:50:18 I can simplify that a *little* bit: U R' B2^(F R') R' B2 R2 21:50:28 hmm, add a U and you get a sequence that permutes corners on a 3x3x3 cube, preserving edges 21:50:35 Uh, lemme try that again. 21:50:49 U' R' B2^(F R') R' B2 R2 21:51:43 I hate B and F. 21:51:54 Especially in combination. 21:54:20 B2^(F R') leaves the F layer alone except for UFR. It flips the DB edge around. It also swaps UBL and UFR around, with their formerly U faces now facing L and F instead. 21:54:56 Wacko. 21:58:00 shachaf: Yes, function* means generator functions 21:58:18 -!- jaboja has quit (Ping timeout: 276 seconds). 22:02:06 -!- jaboja has joined. 22:12:14 I see that R U R' U R U2 R' U2 is a significant sequence for the 3x3 as well as the 2x2. 22:13:42 yeah, I use that (and two variants... inverse, and the mirror image of the inverse) to orient corners 22:14:38 (but not the mirror image... I can't explain why :) ) 22:17:40 Lemme check the exact effect that has on the 3x3. 22:17:59 -!- p34k has quit. 22:18:11 Hmmm. Interesting. 22:18:26 and I believe I discovered it myself at some point... playing around with the idea of taking out the FR edge and FRB corner and then putting them back again 22:18:34 Only the U layer is affected. I'll have to figure out why that is. 22:18:50 The UFL and UL pieces are left alone. 22:19:12 The remaining U edge pieces have cycled clockwise. 22:19:33 And the remaining U corner pieces have rotated clockwise in place. 22:19:57 This, of course, means that the sequence has order 3. 22:20:44 and for a long time I've used (R U R' U')^3 to permute corners in the back layer (so turning the cube...) 22:22:54 now it's B' R' F' R B R' F R and its inverse 22:33:01 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:45:16 -!- tromp has joined. 22:49:33 -!- tromp has quit (Ping timeout: 240 seconds). 22:54:09 int-e: oh man, I still have difficulty reading this algebraic notation, because I used to learn move sequences with the Hungarian mnemonics which use S K T N F L for the sides (all consonants so you can make syllables by appending e u i for 1 2 3 turn resp) 22:55:04 I can't really read it either... I can perform the sequence slowly on a cube :P 22:55:45 S K T N F L is so much better 22:56:09 Somehow I don't agree. 22:56:54 no really, being able to recite the moves with one syllable for each moves makes it much more easier 22:59:34 I can see that. But I would have to learn the letters. 23:00:25 OTHAR TRYGGVASEN, GENTLEMAN ADVENTURER! 23:00:35 * boily is catching up on GG from the start 23:00:51 boily: quite the project 23:01:29 strangely, there weren't black and white pages at the beginning, like I remembered them. 23:01:44 was the first volume redrawn or something? 23:03:52 int-e: that's not difficult, since there's only six of them 23:04:05 ok, let's say eleven of them or something 23:04:12 since not only the sides count, but also e u i 23:04:42 anyway it's a non-issue for me since I've never tried to memorize more than one combination at a time :P 23:04:59 So mechanical memory was good enough. 23:05:08 I see 23:05:22 well, these mnemonics did help me retain the moves for long term, but ok 23:05:39 and they can also help communicating a move with someone else 23:26:28 communication, pah, what a silly idea. 23:29:22 -!- oerjan has joined. 23:32:22 * augur carbonizes int-e's coffee 23:32:37 brutal 23:33:27 * oerjan taxes augur's carbon 23:33:43 afk 23:36:46 -!- feliks has quit (Ping timeout: 268 seconds). 23:39:29 augur: how do you know that I drink cola... 23:40:00 oh, I read carbonate 23:40:15 carbonated coffee? that should be interesting. 23:40:15 * int-e incinerates augur for good measure 23:40:21 even if i carbonated your coffee it wouldnt be a cola :) 23:40:24 just a soda! 23:40:28 boily: such a thing exists! 23:40:31 whoa whoa whoa! no incinerating people in the chännel! 23:40:34 augur: eh? 23:40:45 boily: https://www.manhattanspecial.com/products_pure_espresso.html 23:40:47 augur: I know. But the defining ingrediant is coffeine 23:41:04 int-e: the defining ingredient of a cola is cola nut :P 23:41:07 I can't type. 23:41:10 otherwise its not a cola! 23:41:11 holy fentimans. I need that now. 23:41:12 spell, whatever. 23:41:18 thats why rootbeer, sprite, etc. arent colas, they're just sodas 23:41:56 boily: ive had manhattan special. it's REALLY good. but it needs to be ice cold before you open it otherwise it'll spray all over the place 23:42:42 rootbeer and sprite also don't contain coffeine ;-) I think you'll have to come up with one of those awful energy drinks... 23:43:03 -!- hppavilion[1] has joined. 23:44:04 I have a feeling logic programming would be good for OS dev 23:45:28 tswett: Hi 23:59:53 * boily pokes hppavilion[1] in the hellogical bits 2016-03-21: 00:03:43 -!- feliks has joined. 00:05:20 hmmmm. hellogic 00:07:35 boily: Good point 00:07:49 boily: But tswett doesn't lend itself to porthellos as easily as e.g. hppavilion[1] 00:08:57 best I found was tswellott. or warrigello, depending on how he's connected as. 00:09:05 Ah 00:09:17 -!- tromp has joined. 00:09:37 hppavilion[1]: yours sounds better, imho. it has that... Elvish feel to it? 00:10:19 It does, doesn't it... 00:11:06 * int-e tswats tswett with a mapole because it's easier than a salutation. 00:11:34 mapoles are great, eh? 00:11:40 Yes, yes they are 00:13:00 c#qqRr#j¸$5^ 00:13:26 ↑ that should be rendered with a tengwar font. 00:15:22 `? mapole 00:15:33 A mapole is a thwackamacallit built from maple according to Canadian standards. The army version includes a spork, a corkscrew and a moose whistle. A regulatory mapole measures 6' by 12 kg, ±0.5 inHg. 00:16:34 `? moose 00:16:35 moose? ¯\(°​_o)/¯ 00:17:00 I guess it's a secret nordic weapon of mass distraction? 00:18:45 it's not really secret. meese are quite big by themselves; pretty hard to hide hth 00:19:50 can you catch a moose with a choose trap 00:20:14 ... 00:20:17 ... 00:20:32 * boily THWACKS oerjan. 0.35 shachafs. 00:21:07 brutal. 00:21:08 hoily 00:21:11 where did you get that 00:22:04 boily: then why do you need a moose whistle? I thought it was to lure them out of their lairs... 00:22:55 int-e: sprite contains caffeine, i think. rootbeer usually doesnt but can. mountain dew definitely does but isnt a cola 00:23:18 int-e: it's for giving them orders under adverse weather or great distances. 00:23:26 shachaf: get what? 00:23:40 the mapole 00:24:02 oh, secondary portative one, in case I had lent my main one to someone else. 00:24:09 btw, can I get it back please? 00:24:54 augur: "Sprite is a colorless, lemon and lime flavored, caffeine-free soft drink" (well okay, there's a variant with caffeine) 00:26:49 boily: that reminds me of someone absconding with my swatter... 00:27:08 or wait, it was the saucepan 00:27:25 -#-#-# ... slightly modified 00:27:43 ###----- 00:27:52 oh, right. 00:27:58 * boily resaucepans oerjan 00:28:07 boily: there are too many fake swatters and mapoles around. we need a certification system. 00:28:27 mine's mine. 00:28:37 int-e: hm! well then ive wasted money on sprite too many times :( 00:28:47 let's have a rowboat: ###-----\__/-----### 00:29:09 augur: the caffeine was in you all along! 00:29:18 oerjan: :o 00:30:11 * oerjan considered making a wisdom about fake mapoles, but then realized what the portmanteau would be... 00:32:07 UUUUUUUUUUUUUUUH! 00:32:20 * boily snatches his precious mapole back from shachaf 00:32:36 `? popcorn 00:32:38 popcorn? ¯\(°​_o)/¯ 00:32:48 fungot: popcorn? 00:32:48 int-e: fnord olet fnord." fnord 00:32:57 fungot: you must be kidding 00:32:57 int-e: i don't have 00:33:02 ^style 00:33:02 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 00:33:10 oerjan: try "mock mapole" hth 00:33:17 fungot: I know you can do better than that 00:33:17 int-e: irp will solve it. i quite like ribbit. :) i'm still not entirely clear on how composable continuations work and where you don't 00:33:19 int-e: that "olet" is finnish 00:33:44 oerjan: thanks, but I'm more upset about the f-words. 00:34:03 int-e: well it was presumably bordered by fnordable finnish words 00:34:04 -!- jaboja has quit (Ping timeout: 240 seconds). 00:34:07 (though this explains why they would be so frequent in that context) 00:34:58 oerjan: et ole suomalainen hth 00:35:14 fnord fnord fnord ♪ 00:35:55 califnordication? 00:36:09 about GG: there's something weird going on. I remember the "horse", near the beginning of the colour pages. and it's nowhere to be seen. 00:36:31 boily: wat? 00:36:39 oh. 00:36:44 it may be that the color pages are starting earlier these days 00:36:47 -!- llue has quit (Quit: That's what she said). 00:36:57 -!- lleu has joined. 00:37:17 yes, cheyenne wright reapplied some color 00:37:54 (I have to admit that I'm unsure about the horse reference) 00:38:17 but I did notice some very early colorization lately 00:38:43 int-e: it's been changed to symbolize agatha's "breakthrough", i think. 00:39:03 while originally it was just black and white because that's how it was published, maybe? 00:39:50 speaking of horses, hmm 00:40:04 -!- jaboja has joined. 00:40:10 boily: anyway, http://www.girlgeniusonline.com/comic.php?date=20050404#.Vu9C2Tbmpjo 00:40:22 stupid fake anchors 00:40:55 i once managed to turn it off by disabling one of the advertising sites, but now there are so many... 00:41:25 it was something google-added, i think. 00:41:53 hmm still two months before the paperback edition of The Shepherd's Crown is released 00:41:55 ain't got any on my current URL. I'm pretty strict with noscript. 00:42:13 and yeah, I was getting to it. I just needed to be patient for the "horse". 00:43:02 That horse. 00:44:49 I needed the picture :) 00:44:58 -!- lynn_ has joined. 00:45:01 [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=46627&oldid=44830 * Ozwg6693 * (+2947) Starts the quest to make this an actual page and not a joke. Page is a WIP 00:45:02 -!- lynn has quit (Ping timeout: 260 seconds). 00:47:11 [wiki] [[Talk:Funge-98]] N https://esolangs.org/w/index.php?oldid=46628 * Ozwg6693 * (+266) Created page with "==Name?== If this is to be the sequel page to Befunge, should it be Befunge or Funge? I like Funge (since the original page isn't Befunge-93), and vote to change the name on..." 00:49:03 [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=46629&oldid=46627 * Ozwg6693 * (-55) Professionalism upgrade. 00:50:59 * oerjan will not touch that funge cleanup with a ten foot pole 00:51:13 -!- lynn_ has quit (Ping timeout: 240 seconds). 00:52:25 -!- hppavilion[2] has joined. 00:52:44 . o O ( what if we make it 10 nano-light-seconds instead? ) 00:53:58 fizzie: please shampoo fungot twh 00:53:58 boily: that's what we wanted in the first 00:55:21 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 00:56:49 dammit i'm trying to search the logs for when i discovered how to turn off that anchor, but i cannot find _that_ either. 01:01:33 12:09:18: some script from addthis.com does it. 01:01:35 12:23:45: ah there it's gone. 01:01:40 2014-12-06 01:01:57 aha 01:04:52 yay 01:05:27 int-e++ 01:07:14 oerjan: you should have a keyword you use to leave notes to yourself in the logs hth 01:07:33 shachaf: heh. 01:07:46 i think _today's_ logs will work fine, next time. 01:07:50 @karma int-e 01:07:50 int-e has a karma of 9 01:08:17 THIS IS A KEYWORD PRIVMSG FOR OERJAN TO REMEMBER. ♪DING♪ 01:08:19 shockingly low 01:08:34 @karma dons 01:08:35 dons has a karma of 2 01:08:52 the karma has been reset several times 01:09:02 (dons used to be in the three digit range) 01:10:20 who's dons? 01:11:36 boily: don stewart 01:12:24 http://stackoverflow.com/tags/haskell/topusers 01:12:44 the don stewart. 01:13:34 @karma shachaf 01:13:34 You have a karma of 92 01:13:43 oerjan might remember why my karma is artificially inflated tdnh 01:14:01 @karma oerjan 01:14:01 oerjan has a karma of 32 01:14:18 * int-e is also not very active on #haskell anymore, to put it mildly 01:15:21 shachaf++ 01:16:00 -!- nooga_ has joined. 01:18:00 @karma boily 01:18:01 boily has a karma of 109 01:18:04 -!- nooga_ has quit (Read error: Connection reset by peer). 01:18:14 that seems rather unlikely 01:18:26 @karma synx 01:18:26 synx has a karma of 11 01:18:32 how the did I manage 109... 01:18:36 -!- nooga has quit (Ping timeout: 250 seconds). 01:18:52 boily-- ... let's put things right ... 01:20:01 @karma boily 01:20:02 boily has a karma of 108 01:20:27 `factor 109 01:20:50 109: 109 01:21:00 boily++ 01:21:04 108 is much smoother 01:21:07 clearly better with a prime hth 01:21:20 `factor 108 01:21:24 108: 2 2 3 3 3 01:21:24 I mean really, really smooth. 01:21:34 IC 01:22:29 btw, 107 is prime too, if that's what you want 01:25:11 I like 108. it's a buddhisticaly good number. 01:31:13 -!- lleu has quit (Quit: That's what she said). 01:31:44 `? french 01:31:46 Le français n'est pas le démon, visitez les Coupeurs. Ne pas couvrir. Meilleur avant! 01:31:55 boily: what is Coupeurs 01:31:59 (or are) 01:33:11 -!- nooga has joined. 01:35:24 `? norwegian 01:35:25 norwegian? ¯\(°​_o)/¯ 01:35:53 `? german 01:35:54 german? ¯\(°​_o)/¯ 01:36:16 `? finnish 01:36:17 Finnish suomalaiset ei Perkeleistä on hakkapeliittaan. Ei saa peittää. Parasta ennen! 01:36:42 `le/rn norwegian/Norsk ikke faen er Hakadalen. Må ikke tildekkes. Best før! 01:36:48 Learned «norwegian» 01:37:17 `? english 01:37:18 english? ¯\(°​_o)/¯ 01:37:58 i'd appreciate english 01:39:24 `le/rn English not Satan is Hackensack. Do not cover. Best before! 01:39:27 No output. 01:39:35 oops 01:39:41 `learn English not Satan is Hackensack. Do not cover. Best before! 01:39:44 Learned 'english': English not Satan is Hackensack. Do not cover. Best before! 01:39:49 oerjan: went for something "Hackerish" hth 01:40:04 i did not. no hackers in norway hth 01:40:21 we're all still learning to le/rn. 01:40:26 hacker, in the sense to cut something. cutter, coupeur. 01:40:35 maybe I should've went with Trancheur. 01:40:35 in any case, hakkapeliitta has nothing to do with hackers afaik 01:40:55 to learn is human, to le/rn divine 01:41:07 wtf 01:41:24 hm checking... 01:41:57 "Hakkapeliitta (Finnish pl. hakkapeliitat) is a historiographical term used for a Finnish light cavalryman in the service of King Gustavus Adolphus of Sweden during the Thirty Years' War (1618 to 1648)." 01:43:02 apparently it _is_ relating to hacking in the violent sense. 01:43:05 *related 01:43:30 Choppeur? Émincisseur? Élagueur? 01:45:16 hm tricky 01:46:49 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:49:49 `` rm wisdom/{english,norwegian} 01:49:52 No output. 01:50:06 this simply does not work, then. 01:50:59 my trusty old memory will have to come up with some better word that fits. perhaps some time around christmas. 01:51:32 there are plenty of christmases coming up. good occasions for thinking about nonsensical Finnish. 01:51:40 of course, all i can think of is "amortized" hth 01:52:06 strange times we are living in. oerjan remembers amortized. 01:52:11 boily: it's not the finnish that is the problem. 01:55:27 -!- boily has quit (Quit: SPIDER CHICKEN). 01:58:00 @tell boily “Danish pronunciation: [ˈsmɶɐ̯ɐˌb̥ʁœðˀ]”. am I supposed to just cough the word? <-- don't be ridiculous. you're supposed to put a potato in your mouth hth 01:58:01 Consider it noted. 02:09:38 -!- lleu has joined. 02:11:45 @tell b_jonas But it also turns out, and I admit I don't understand why, that two counters are also enough, but in that case the slowdown isn't exponential, it's double-exponential. <-- you store n counters in n prime exponents of a single one, + 1 scratch for multiplication and division. 02:11:45 Consider it noted. 02:21:52 `? bogosort 02:21:58 Bogosort is an efficient sorting algorithm for nondeterministic Turing machines. Taneb may have invented it. 02:28:32 -!- tromp has quit (Remote host closed the connection). 02:40:24 -!- nooga has quit (Ping timeout: 276 seconds). 02:43:56 -!- tromp has joined. 03:07:58 `? bogobogosort 03:08:00 bogobogosort? ¯\(°​_o)/¯ 03:16:28 -!- APic has quit (Ping timeout: 252 seconds). 03:22:07 -!- jaboja has quit (Ping timeout: 250 seconds). 03:49:16 ITL tswett implies nuclear weapons have no ethical consequences. 03:58:22 -!- Lord_of_Life has quit (Ping timeout: 248 seconds). 04:12:45 -!- heroux has quit (Ping timeout: 244 seconds). 04:13:47 -!- heroux has joined. 04:17:44 would it be possible to define a generic bogo- transform for algorithms? 04:22:15 -!- MoALTz_ has joined. 04:22:59 -!- heroux has quit (Ping timeout: 248 seconds). 04:24:26 -!- treaki_ has joined. 04:25:38 -!- Lord_of_Life has joined. 04:25:42 -!- MoALTz has quit (Ping timeout: 276 seconds). 04:28:01 `? tg 04:28:04 tg? ¯\(°​_o)/¯ 04:28:13 -!- treaki__ has quit (Ping timeout: 244 seconds). 04:29:01 `learn TG is short fot Turing-Gödel, the highest possible level of difficulty of a multiplayer game. 04:29:03 Learned 'tg': TG is short fot Turing-Gödel, the highest possible level of difficulty of a multiplayer game. 04:29:19 `learn TG is short fot Turing-Gödel, the highest possible level of difficulty for a multiplayer game. 04:29:21 Relearned 'tg': TG is short fot Turing-Gödel, the highest possible level of difficulty for a multiplayer game. 04:30:39 -!- mad has joined. 04:31:07 `? mad 04:31:09 This wisdom entry was censored for being too accurate. 04:31:15 -!- heroux has joined. 04:34:17 You shouldn't censor them regardless of accuracy, unless "censor" is supposed to be the actual text of the entry anyways, in which case it should be censored regardless of accuracy. 04:34:59 it is currently the actual text of the entry hth 04:35:32 hi 04:37:09 -!- XorSwap has joined. 04:40:33 mad: Hi 04:40:40 mad: I've started writing compilers :) 04:41:40 `? fot 04:41:41 fot? ¯\(°​_o)/¯ 04:41:49 oerjan: OOOOOOEEEEEEEEEEEEEEEEEERJAAAAAAAAAAAAAAAAN 04:42:15 The Shadow, The Plague, The Void wants you in its unholy office. Now. 04:43:31 * oerjan thinks this sounds like a good day to skip work. 04:44:05 Hm... 04:44:15 Along with compilers, I want to deal with the semantic web a bit 04:44:20 not that i have work. 04:44:26 oerjan: Exactly. 04:45:12 i know nothing about the semantic web, which looks like it will work excellently for my work-avoiding plans today. 04:45:59 is that "fot" relevant to me in any way btw 04:46:11 oerjan: Well, you did say "fot" in tg 04:46:15 Instead of "for" 04:46:19 oops 04:46:22 Which may have been a pun, but if it was I don't get it 04:46:39 `learn TG is short for Turing-Gödel, the highest possible level of difficulty for a multiplayer game. 04:46:41 Relearned 'tg': TG is short for Turing-Gödel, the highest possible level of difficulty for a multiplayer game. 04:46:42 I was confused after your second le/rn because you didn't fix it and I couldn't see the difference (I found it) 04:47:05 min_nd might be an interesting project. A minimal NodeJS-like language 04:47:11 Not JS, but similar 04:48:21 Maybe I'll compile it xD 04:48:28 (THAT would be a good idea :P) 04:48:35 (Well, actually...) 04:48:44 (Hm... Should I? 04:48:45 compile early, compile often 04:49:09 oerjan: Would compiling a JS-ish language result in hellfire raining from the sky to undo me? 04:49:31 (undoing me as in not just killing me, but erasing the fact that I ever existed in the first place) 04:49:49 Either because it's an atrocity OR because it would be hard. Both work. 04:50:00 The more I think about it, the louder the "yes" becomes. 04:50:13 (yes as in "don't") 04:50:13 depends what you mean by 'compile' 04:50:53 mad: Produce an executable. I'd remove some of the worse-for-compiling parts- e.g. reduced dynamic typing- but I would keep JS in spirit if I were to do that 04:51:02 if all the variables are dynamic typed still and it tests the type of each variable before doing operations on them, is it really 'compiled'? 04:51:26 mad: That's why it wouldn't be dynamically-typed 04:51:42 if it's not dynamically typed then it can be compiled 04:51:45 It'd be boo:python::min_nd:JavaScript 04:52:14 I don't think I should, mostly because higher-level functions 04:52:33 then it would be competing against java/c# (if it has a garbage collector), or c++ (if it doesn't have a garbage collector) 04:52:35 Then again, Haskell has higher-level functions (and static typing) 04:52:43 mad: Yeah, probably 04:52:59 I'll likely just interpret it, or VM it maybe 04:53:05 haskell is in a different category because it has no side-effects whatsoever 04:53:10 mad: Yeah 04:53:11 True 04:53:14 everything in haskell is local 04:53:28 Exactly 04:53:33 That's why I doubt I can compile it 04:54:13 zzo38: You like Node. What's the stuff that NEEDS to be included if it were minimized? 04:54:15 this allows some more optimizations in theory (ie turning loops into SIMD) 04:54:16 (undoing me as in not just killing me, but erasing the fact that I ever existed in the first place) <-- don't be silly. all evidence indicates that has never happened to anyone hth 04:54:27 oerjan: Well-played. 04:54:38 (Maybe I'll make min_nd tapey :P) 04:55:02 but also prevents some other pretty big optimizations (ie you can't just share pointers to the same object all over the place) 04:55:03 mad: Vectorization? 04:55:34 yes, in theory non-side effect code can be vectorized 04:55:50 hppavilion[2]: Probably first-class functions would be one 04:55:56 Obviously 04:56:09 because the compiler can prove that pointers to arrays passed to a function don't overlap 04:56:13 because they can't 04:56:42 in practice there are no real performance-oriented non-side effect languages today 04:56:46 so people use c++ 04:56:50 zzo38: And events, ofc 04:57:14 current non-side effect languages don't really care about perf that much and are designed for other goals 04:57:14 mad: Yeah, I find the way programmers talk about their favorite language funny 04:57:47 Events is a feature of Node.js, and DOM has different kind of events, although neither is core JavaScript 04:57:49 "I use Haskell because it has these performance benefits that I love, and not because it's a fucking awesome language that I fell in love with" 04:58:09 zzo38: But I'm minimizing Node, not JS 04:58:14 heh 04:58:23 JS is just minimized by proxy, being a Node thing 04:58:34 (I call it: "nanode") 04:58:44 Or more accurately, Node is a JS thing 04:58:52 But thingship is commutative in this case 04:59:11 -!- heroux has quit (Ping timeout: 250 seconds). 04:59:30 Yes, OK 05:00:03 mad: Yep. Computers have enough memory and enough processing speed nowadays that using the optimal language for a task is nearly always pointless objective; the end user won't notice in most cases 05:00:14 It's more about not using a shit language and being a decent programmer 05:00:30 errrrrr 05:00:42 mad: That's not a happy noise for me. 05:00:42 I think it's application dependent 05:00:49 mad: Yeah, but in most cases 05:01:00 Unless you need to-the-femtosecond accuracy 05:01:12 Most languages will do 05:01:14 if you're doing video games or what I do (sound processing), then C++ more or less can't be replaced 05:01:22 mad: Even by Rust? 05:01:48 :P 05:01:52 rust would do 05:01:53 I can program with many different programming language, such as C and Forth and 6502 and JavaScript and whatever else; they can be use for different purpose 05:02:33 in theory java or c# aren't that far from being video-game usable 05:02:43 minecraft runs on java 05:02:53 some XNA games run on c# 05:03:14 but writing games in java isn't easier than writing them in c++ 05:03:18 It depends what game 05:03:19 so there's no benefit 05:03:37 and there's a clear cost (garbage collector pauses) 05:04:27 zzo38 : ok, name me a game that's easier to write in java than in c++ 05:05:37 mad: Any game that your boss told you to write in Java 05:05:58 Assuming you're a proficient Javagrammer 05:06:12 We need specific names for different types of programmers 05:06:47 Pygrammers (pythonistas), Scigrammers (scientific computing), Pro-grammars (linguists, particularly ones who moonlight as pedants) 05:07:47 I wouldn't know because I don't program in Java or C++ 05:12:43 hpp: if your boss tells you to write a game in java 05:12:53 -!- XorSwap has quit (Quit: Leaving). 05:13:04 ...you need to work in a better game company :o 05:13:05 :D 05:13:12 -!- XorSwap has joined. 05:13:21 zzo38 : but you program in C? 05:16:17 -!- XorSwap has quit (Client Quit). 05:16:17 -!- APic has joined. 05:16:21 -!- XorSwap has joined. 05:17:48 -!- XorSwap has quit (Client Quit). 05:21:58 -!- lambda-11235 has quit (Quit: Bye). 05:23:43 -!- lambda-11235 has joined. 05:24:35 -!- lambda-11235 has quit (Client Quit). 05:33:01 med: Yes I do make program in C 05:54:28 Do you have PNG picture with Japanese mahjong arrange in grid? 05:57:58 -!- heroux has joined. 06:05:23 -!- heroux has quit (Ping timeout: 244 seconds). 06:05:33 -!- lynn has joined. 06:09:57 -!- lynn has quit (Ping timeout: 260 seconds). 06:23:33 -!- pelegreno has quit (Remote host closed the connection). 06:24:45 -!- pelegreno has joined. 06:32:13 -!- dingbat has quit (Quit: Connection closed for inactivity). 06:41:42 -!- tromp has quit (Remote host closed the connection). 06:58:37 mad: Lots of Android games are Java, although they are hardly AAA games 06:59:51 that's because they made the mistake of making the api java based but yeah 07:03:18 -!- heroux has joined. 07:12:19 There are also other virtual machines to make computer game and other program out of 07:21:34 -!- heroux_ has joined. 07:21:47 mad: Have you done anything with Rust? 07:22:17 mad: Fair enough 07:22:28 FreeFull: Have you ever done anything with dk? 07:22:39 "Fur Elise in Q semiminor" 07:22:53 hppavilion[2]: What's dk? 07:22:59 Donkey Kong? 07:23:11 FreeFull: Compiled programming language 07:23:16 -!- heroux has quit (Ping timeout: 264 seconds). 07:23:20 -!- heroux_ has changed nick to heroux. 07:23:29 Obviously I haven't done anything with it before, given I haven't heard of it before :) 07:23:44 FreeFull: OK, that's good 07:24:02 FreeFull: The fact that you haven't used it yet means my computer isn't necessarily completely open 07:24:15 FreeFull: Because I haven't published dk yet :P 07:25:22 =P 07:25:40 FreeFull: I've been learning how to write compilers, and dk is my first compiled language :P 07:25:45 It has... expressions 07:25:49 And putc() 07:25:54 Woo, expressions! 07:26:04 Pft, why would you want I/O? =P 07:26:06 binary: +-*/, unary: -x 07:26:22 FreeFull: Because some people like knowing if their code works 07:26:28 Though it's just O at the moment =P 07:26:41 FreeFull: I'm currently getting functions to work 07:26:52 See if you know how to compile it into QUACKVM codes (either assembly or binary) 07:27:53 Ah! Just figured out a bug! 07:28:16 zzo38: You can write a backend from the Walric Platform (the WP compiler collection's IL) 07:28:33 YES! 07:28:35 -!- heroux has quit (Ping timeout: 248 seconds). 07:28:38 I GOT FUNCTIONS WORKING! 07:28:46 AT LEAST TO SOME DEGREE! 07:28:55 THEY'RE REALLY JUST PROCEDURES AT THE MOMENT! BUT STILL! 07:29:00 What is the specification of such IL? 07:29:05 It was just a bug from a simple workaround 07:29:16 zzo38: Currently nonexistent, as it's still in development 07:29:29 -!- AnotherTest has joined. 07:29:41 zzo38: But it's a simple ASM inspired by TIS-100, sans massive parallelity 07:29:44 -!- heroux has joined. 07:30:54 zzo38: It uses an accumulator for arithmetic and conditionals, has partial orthagonality, and memory is loaded with LD and stored with ULD from and to the exp and imp registers 07:33:41 zzo38: I'm considering making return a function. Is that an awful, awful idea? 07:34:29 To know, QUACKVM is using 16-bit cells. Memory cell 2 acts somewhat like an accumulator. 07:34:53 I don't know if that is awful idea it depend on the context of the rest of the programming language I think? 07:35:19 zzo38: Ah, mine uses 64-bit memory and registers. So that might (read: would most definitely) be an issue 07:35:44 Though I suppose I could make up the spec to allow for differently-sized registers 07:35:53 Depending on the final target 07:38:04 zzo38: To make return work, it's literally 5 lines of unconditional ASM, so I'll do that 07:38:07 ret(x) 07:38:19 Wait, but that'll mess with typechecking... 07:38:22 Hm... 07:38:39 Wait, not exactly 07:38:55 If you return a value of the wrong type, it'll just bitcast automatically, which is probably even worse 07:39:02 Yes it is a possibility to allow different size registers; that is a possible design. When someone needs such a design, now you have it! 07:42:14 -!- tromp has joined. 07:46:27 -!- bender| has joined. 07:47:12 -!- tromp has quit (Ping timeout: 276 seconds). 08:02:44 YES! 08:02:51 FUNCTIONS ARE NOW ACTUALLY FUNCTIONS! 08:03:28 One thing I'm considering is a nullary operator called $ 08:03:56 When you put an expression on a line of its own, it is evaluated and its result is stored in $ 08:04:17 I mean acc 08:04:21 When an operator is evaluated, it's assumed its left argument is in acc 08:05:03 $ would basically mean "do nothing" when on the left and "move the accumulator to the aux register prior to overwriting it with the left argument" when on the right 08:05:22 Basically, $ allows you to reuse the expression on the previous line, which is good for big expressions 08:05:29 5+9 08:05:31 $-2 08:05:42 putn($) 08:05:50 >>> 12 08:39:24 do you guys ever sleep 08:39:59 -!- mad has quit (Quit: Pics or it didn't happen). 08:41:07 zzzleep is for the wezzz 08:48:28 -!- llue has joined. 08:48:38 -!- llue has quit (Changing host). 08:48:38 -!- llue has joined. 08:49:36 -!- lleu has quit (Ping timeout: 276 seconds). 08:50:55 -!- lynn has joined. 09:01:01 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 09:02:49 http://lua-users.org/lists/lua-l/2009-11/msg00089.html 09:08:08 -!- tromp has joined. 09:11:51 -!- Alcest has joined. 09:12:35 tromp: hi you got a bit reddited https://www.reddit.com/r/programming/comments/4b8264/celebrates_obfuscation_and_conciseness_with/ 09:12:38 -!- Alcest has quit (K-Lined). 09:12:54 -!- tromp has quit (Ping timeout: 260 seconds). 09:12:59 r.i.p. 09:13:59 @tell tromp you got a bit reddited https://www.reddit.com/r/programming/comments/4b8264/celebrates_obfuscation_and_conciseness_with/ 09:13:59 Consider it noted. 09:14:43 oerjan: if you don't want publicity, IOCCC is not a good venue to post things 09:15:06 MAYBE 09:15:35 that page didn't seem to have been linked before, though. 09:36:06 -!- nooga has joined. 09:45:30 -!- zadock has joined. 09:46:31 -!- lynn has quit (Ping timeout: 244 seconds). 09:48:14 -!- augur has quit (Ping timeout: 248 seconds). 09:48:25 -!- zadock has quit (Remote host closed the connection). 09:50:58 -!- J_Arcane has quit (Ping timeout: 268 seconds). 09:53:07 -!- Frooxius has quit (Quit: *bubbles away*). 09:55:08 -!- oerjan has quit (Quit: Nite). 10:01:50 -!- augur has joined. 10:08:14 -!- bender| has quit (Ping timeout: 268 seconds). 10:19:26 -!- mroman has joined. 10:22:08 -!- llue has quit (Ping timeout: 244 seconds). 10:30:34 -!- lleu has joined. 10:32:22 -!- bender| has joined. 10:35:43 -!- boily has joined. 10:43:32 -!- tromp has joined. 10:47:57 -!- tromp has quit (Ping timeout: 248 seconds). 11:01:20 So, that BLC self-interpreter is pretty small. 11:02:46 Is BLC the only thing that that could reasonably be a self-interpreter for? 11:09:50 Ooh, this particular sequence is U'^(F R U' R'). 11:10:02 . o O ( That's a horribly non-mathematical term, "reasonably". ) 11:11:14 Yes, I think I like that sequence. 11:13:29 As for its effect? Let me append U to it; that seems to make it a little easier to understand. 11:13:55 U^(F R U' R') is meaningful too 11:14:22 I just realized that I use those for flipping edges :P 11:15:12 Relative to the U face: it moves UBL, UBR, and UFL counterclockwise, then rotates UBL in-place clockwise and UBR in-place counterclockwise. 11:15:55 the first one flips two opposite edges; the second flips two neighbouring edges. I don't care about the rest ;) 11:16:43 or vice versa... hmm :) 11:18:04 (and of course I should care if I wanted to be faster) 11:18:12 Isn't your thing the opposite of my thing/ 11:18:47 -!- boily has quit (Quit: SEWER CHICKEN). 11:20:39 So now I've got this stupid sequence: U' R' F R' B2 R F' R' B2 R2 11:21:17 I don't see where the beauty is. 11:21:56 anyway, the point to my mind is that after F R U' R', all pieces of the bottom two layers are safely stashed in the bottom two layers again... while one edge piece on the top has been flipped 11:23:39 Though... that's a pretty interesting part in the middle there. We've got, like... F R' B2 R F' R' B2 R 11:23:57 tswett: and yes, it's the inverse of course... 11:23:59 That part is [F, R' B2 R]. 11:24:19 * int-e failed to recall the group theoretic point of conjugation ;) 11:24:42 In context: U' R' [F, R' B2 R] R 11:25:29 You can make that even more concise if you want: U' [F, B2^R']^R' 11:26:49 (and I actually use U^(R U R' F') anyway) 11:27:59 where you'll recognize R U R' F' as the inverse of F R U' R' 11:28:29 Yup. 11:29:00 Lemme pay attention to where the white and yellow pieces go as I execute this sequence. 11:30:20 Six of the eight pieces ultimately stay still. 11:38:44 protip: actually solving it can be more fun than theoretic computations 12:13:20 people in Europe: don't forget we have timezone offset jump this weekend (on Easter) 12:14:21 oerjan: yes, that's what mad said too. 12:19:27 -!- AnotherTest has quit (Ping timeout: 246 seconds). 12:37:03 -!- Sgeo__ has quit (Ping timeout: 240 seconds). 13:15:37 -!- Alcest has joined. 13:26:47 -!- `^_^v has joined. 13:26:47 -!- p34k has joined. 14:12:54 poor Dupree 14:24:38 -!- lambda-11235 has joined. 15:13:31 -!- AnotherTest has joined. 15:30:20 -!- mroman has quit (Quit: Lost terminal). 15:32:03 -!- nycs has joined. 15:32:26 -!- jaboja has joined. 15:33:47 um, 15:33:54 -!- `^_^v has quit (Ping timeout: 276 seconds). 15:37:24 -!- earendel has joined. 15:40:05 -!- bender| has quit (Ping timeout: 250 seconds). 15:51:57 -!- AnotherTest has quit (Ping timeout: 248 seconds). 15:56:26 -!- AnotherTest has joined. 16:13:55 -!- jaboja has quit (Ping timeout: 248 seconds). 16:20:29 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 16:22:16 -!- AnotherTest has joined. 16:22:26 -!- lynn has joined. 16:33:40 -!- jaboja has joined. 16:37:24 -!- zadock has joined. 16:38:17 -!- MoALTz_ has changed nick to MoALTz. 16:48:01 -!- AnotherTest has quit (Ping timeout: 240 seconds). 16:53:55 -!- hppavilion[2] has joined. 16:54:14 How do I do GUI on the WP? 16:54:23 (WP is the IL for my compilers) 16:56:39 -!- zzo38 has quit (Remote host closed the connection). 17:05:35 first you start with a QRMVP then add a LCLIC and finally a UX£DX 17:06:19 hppavilion[2]: please tell me that WP is wordpress 17:06:29 it's walrus something 17:06:42 :( 17:06:53 new language idea: wordpress is the IL 17:08:55 -!- dos has joined. 17:09:09 coppro: izabera: It's "Walric Platform" 17:09:19 -!- dos has changed nick to hppavilion[1]. 17:12:22 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 17:14:50 is walric even a word 17:14:54 it is now 17:14:59 welcome to English 17:15:04 that's not how it works 17:15:50 yes it is 17:17:39 -!- mbrcknl has quit (Ping timeout: 260 seconds). 17:19:01 -!- esowiki has joined. 17:19:05 -!- esowiki has joined. 17:19:06 -!- esowiki has joined. 17:19:51 -!- esowiki has joined. 17:19:55 -!- esowiki has joined. 17:19:55 -!- esowiki has joined. 17:20:33 -!- esowiki has joined. 17:20:37 -!- esowiki has joined. 17:20:37 -!- esowiki has joined. 17:21:15 -!- esowiki has joined. 17:21:16 -!- glogbot has joined. 17:21:19 -!- esowiki has joined. 17:21:19 -!- esowiki has joined. 17:36:08 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 17:46:30 -!- hppavilion[1] has joined. 17:58:34 coppro: Yes, it is. 17:58:39 izabera: It most certainly is. 17:58:59 Do not question the tongues of the Ancient Walrusian Empire 18:02:19 hppavilion[1]: itym walric hth 18:04:03 -!- Sprocklem has quit (Ping timeout: 240 seconds). 18:08:55 -!- jaboja64 has joined. 18:09:11 -!- J_Arcane has joined. 18:12:28 -!- jaboja has quit (Ping timeout: 264 seconds). 18:16:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:20:15 -!- Sprocklem has joined. 18:23:26 -!- AnotherTest has joined. 18:30:58 -!- hppavilion[1] has joined. 18:33:36 coppro: No, I mean Walrusian. Walrusian denotes the ancient culture, Walric denotes the species 18:33:53 The Walrusians were walric 18:48:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:49:21 -!- hppavilion[1] has joined. 18:52:39 How do I put GUI in my IL? 18:52:58 What instructions should I include for that? Or should I do something with special registers? 18:59:10 coppro: You have any idea? 18:59:52 how do you usually put guis on things? 18:59:58 izabera: With OO and Tkinter 19:00:03 Wait, no Qt5 19:00:10 make up your mind 19:00:13 I stopped using Tkinter a while ago 19:00:19 izabera: I did, I just misspoke the first time 19:00:43 Well, misthought 19:01:09 izabera: But I want the GUI for a low-level ASM-like intermediate language 19:09:54 izabera: I'm thinking instructions available in an IL library that compile to system calls 19:10:00 izabera: Is that a good idea? 19:21:37 sure 19:21:51 what's an IL exactly? 19:24:42 izabera: Intermediate Language 19:24:44 -!- tromp_ has joined. 19:24:49 IL as in CIL 19:24:58 and what does the c stand for 19:25:01 ? 19:25:14 izabera: CIL is the Common Intermediate Language for CLI (.NET) 19:25:18 ah 19:25:21 izabera: But that's not relevant 19:28:02 -!- ski has joined. 19:31:05 -!- lambda-11235 has quit (Quit: Bye). 19:44:18 -!- impomatic_ has joined. 19:59:45 -!- jaboja64 has quit (Ping timeout: 276 seconds). 20:05:57 hppavilion[1]: no clue 20:06:12 hppavilion[1]: what do you mean by "put GUI in my IL?" 20:06:23 you want an IDE for it? or primitives for GUI functionality? 20:06:35 coppro: I have an IL (intermediate language) that I compile languages to. I want it to support GUI. 20:06:57 hppavilion[1]: usually GUI calls are done via a library 20:07:11 hppavilion[1]: oh yeah well i have an advanced language that i compile languages to 20:07:17 coppro: Yeah 20:07:22 exactly how GUIs are implemented under the hood depends on the environment 20:07:28 on Windows, at least some of it is syscalls iirc 20:07:34 on X, it's all network-based 20:16:43 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:26:46 -!- zadock has quit (Quit: Leaving). 20:31:17 -!- hppavilion[1] has joined. 20:40:11 `olist 1029 20:40:24 This is irritating. 20:40:35 I olist and then I have to wait for HackEgo to respond. 20:40:44 Otherwise I'll start reading the comic and then it'll interrupt me in the middle. 20:40:47 olist 1029: shachaf oerjan Sgeo FireFly boily nortti b_jonas 20:40:55 `smackego 20:41:00 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: smackego: not found 20:43:34 -!- Sprocklem has quit (Ping timeout: 260 seconds). 20:43:44 -!- Phantom_Hoover has joined. 21:11:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:15:56 oh look 21:16:19 shachaf: by the way, not with this comic but probably a previous one, there's also a news entry at O 21:19:01 -!- tromp__ has joined. 21:23:29 -!- tromp__ has quit (Ping timeout: 244 seconds). 21:27:33 [wiki] [[Special:Log/newusers]] create * CodeMaster111 * New user account 21:29:00 oerjan is probably not interested in Start of Darkness 21:29:55 -!- Sprocklem has joined. 21:40:19 -!- asie has quit (Ping timeout: 252 seconds). 21:44:32 -!- nycs has quit (Quit: This computer has gone to sleep). 21:47:27 -!- jaboja64 has joined. 21:53:03 -!- XorSwap has joined. 21:55:58 -!- boily has joined. 22:31:19 -!- XorSwap has quit (Ping timeout: 268 seconds). 22:32:10 -!- XorSwap has joined. 22:32:15 `wisdom 22:32:35 phantom___hoover/Phantom___Hoover sucks at ghosting himself. 22:35:19 @massages-loud 22:35:19 oerjan said 20h 37m 18s ago: “Danish pronunciation: [ˈsmɶɐ̯ɐˌb̥ʁœðˀ]”. am I supposed to just cough the word? <-- don't be ridiculous. you're supposed to put a potato in your mouth hth 22:35:53 -!- hppavilion[1] has joined. 22:35:57 `smackego 22:35:58 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: smackego: not found 22:36:03 `` echo "Ow!" > bin/smackego 22:36:06 No output. 22:36:12 @tell oerjan with raw onions, on some tunnbröd, and an ounce of aquavit. 22:36:12 Consider it noted. 22:36:19 hppavilion[1]: that doesn't work hth 22:36:19 -!- jaboja64 has quit (Ping timeout: 248 seconds). 22:36:20 `` echo "echo \"Ow!\"" > bin/smackego 22:36:21 No output. 22:36:25 shachaf: I noticed 22:36:27 Wait, crap 22:36:28 still doesn't work hth 22:36:30 `smackego 22:36:30 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/smackego: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/smackego: cannot execute: Permission denied 22:36:31 hppavilion[1]: why don't you just use mkx 22:36:36 hellochaf, hppavellon[1]. 22:36:38 shachaf: I keep forgetting it exists 22:36:45 `` mkx bin/smackego 22:36:46 usage: mk[x] file//contents 22:37:01 `` mkx bin/smackego//echo "Ow!" 22:37:04 bin/smackego 22:37:06 I don't like smackego, though. 22:37:09 `smackego 22:37:10 No output. 22:37:15 Unnecessary violence is scow. 22:37:32 whoa whoa whoa, the reason it doesn't work is great. 22:37:33 shachaf: Perhaps smackego should read from a directory of files? 22:38:47 I just thought of something 22:38:50 `? test 22:38:51 test failed. HackEgo-JUnit is not available. 22:38:55 `? metest 22:38:58 metest? ¯\(°​_o)/¯ 22:39:15 `le/rn metest//me tests HackEgo's mechanics 22:39:22 Learned «metest» 22:39:28 `? metest 22:39:30 ​/me tests HackEgo's mechanics 22:39:33 Huh 22:39:36 That's interesting 22:39:39 Oh, I see 22:39:47 I forgot how IRC works for a second 22:39:51 Still, that would be cool 22:39:55 HackEgo is extremely resilient to botlops. 22:40:05 we all tried, one time or another. 22:40:05 boily: Is that a botloopable thing? 22:40:14 `? botlop 22:40:16 boily: I was just hoping I could make HackEgo /me 22:40:17 botlops are the core of botsentiences. Sapience is scheduled for the next release. 22:40:27 `echo "/me tests" 22:40:27 ​"/me tests" 22:40:34 `echo /me tests 22:40:35 ​/me tests 22:40:39 I didn't expect that to work 22:40:43 But it would've been cool 22:40:45 you have to use the raw stuff behind the slash. 22:40:54 boily: ? 22:40:55 the slash is an illusion. there is no slash. 22:41:15 you must find a way to generate a '\a' hth 22:41:34 . o O ( wait, \a is a bell... ) 22:41:39 boily: if the slash is an illusion, what does that make /oren/? 22:41:44 A double-illusion? 22:41:50 a proper Canadian. 22:41:57 remember, Canada doesn't exist. 22:41:57 Oh 22:42:15 boily: How could /me trigger a botlop? 22:42:33 * hppavilion[1] `echo hello world 22:42:41 Nope, didn't expect that to work 22:42:51 boily: What? We made HackEgo loop with lambdabot. 22:43:07 shachaf: That's a /double/ botloop. 22:43:31 As opposed to what? 22:43:41 hppavilion[1]: hackego shouöd prepend its messages with a zero-width non-breaking space 22:43:43 shachaf: A single (self) botlop 22:43:44 `? weather 22:43:45 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 22:43:48 CYUL 212200Z 29017G23KT 30SM FEW060 FEW090 FEW140 BKN240 03/M12 A2976 RMK SC1AS1AS1CI5 SC TR SLP081 \ ENVA 212220Z 09004KT 9999 -DZ SCT013 BKN022 01/01 Q1004 RMK WIND 670FT 22008KT \ ESSB 212220Z AUTO 07004KT 9999 BKN009/// BKN039/// OVC064/// 00/M01 Q1006 \ KOAK 212153Z 22015KT 10SM SCT024 BKN031 OVC070 16/11 A3005 RMK AO2 WSHFT 2040 RAE25 22:43:48 SLP177 P0000 T01560106 22:43:51 therefore /me is not triggered 22:44:04 hppavilion[1]: IRC clients don't receive their own messages. 22:44:05 myname: Ah, makes sense 22:44:09 this is done to prevent botloops 22:44:09 shachaf: eh? we managed that? 22:44:12 shachaf: Yes, and? 22:44:19 shachaf: Oh, right 22:44:22 *fail* 22:44:35 scroogled 22:45:01 shachaf: I still think whoever maintains HackEgo (I forgot who) should add a feature to trigger /me commands, if it wouldn't be dangerous somehow 22:45:11 @where test 22:45:11 ?? ?@ ?run var$("(@metar "++).(++") \\ ")=< @where /me 22:45:18 I know nothing about /me. 22:45:21 i disagree 22:45:36 @where+ /me /me is a command 22:45:36 Done. 22:45:38 @where /me 22:45:38 * lambdabot is a command 22:45:42 myname: Why? 22:45:46 lambdabot: no, you're a bot hth 22:46:00 what for 22:46:12 myname: So we can make HackEgo do stuff 22:46:22 what for 22:46:28 hppavilion[1]: Gregor hackegoes. 22:46:31 (I've always thought /you would be a funny command) 22:46:41 -!- XorSwap has quit (Ping timeout: 244 seconds). 22:46:43 -!- boily has quit (Quit: FRIENDLY CHICKEN). 22:46:50 myname: Hackego could respond to being thwacked and swatted and such 22:46:58 I think HackEgo shouldn't be abused. 22:46:58 also, wtf @ ("foo"++).(++"bar") 22:47:02 `rm bin/smackego 22:47:04 No output. 22:47:56 i am quite unsure what that does in this context 22:48:01 `le/rn_prepend 22:48:02 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/le/rn_prepend: No such file or directory 22:48:10 `cat le/rn_append 22:48:11 ​#!/bin/bash \ [[ "$1" = */* ]] || exit \ topic=$(echo "$1" | lowercase | cut -d / -f 1) \ [ -z "$topic" ] && exit 1 \ stuff=$(echo "$1" | cut -d / -f 2-) \ perl -i -p -e 's/\n/ /' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo -n "Learned '$topic': " \ cat "wisdom/$topic" 22:48:30 myname: I cannot decipher it 22:48:42 i would've said ((x++).(++z))y is x++y++z 22:48:50 myname: It isn't 22:48:52 AFAICT 22:49:04 Oh, wait, it might be 22:49:07 but that =< like, the output of weird is not a string 22:49:39 @let weirdStringOp = ("walrus"++).(++"man") 22:49:41 Defined. 22:49:52 @weirdStringOp "hello" 22:49:52 Unknown command, try @list 22:49:55 @run weirdStringOp "hello" 22:49:57 "walrushelloman" 22:50:05 @where weather 22:50:05 ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show 22:50:05 myname: There, it is 22:50:15 myname: Better? hth 22:50:51 I want to make the ultimate proof assistant for some reason. A proof assistant with multiple formal systems rolled into it. 22:51:07 shachaf: =<< is black magic then? 22:51:18 No? 22:51:41 @run x+++y 22:51:43 Couldn't match expected type ‘a b c’ with actual type ‘Expr’ 22:51:43 In the first argument of ‘(+++)’, namely ‘x’ 22:51:43 In the expression: x +++ y Couldn't match expected type ‘a b' c'’ wit... 22:51:44 Wait, no 22:51:45 It's concatMap 22:51:52 @src (+++) 22:51:52 Source not found. My brain just exploded 22:51:55 :( 22:51:57 hppavilion[1]: please experiment with lambdabot in /msg hth 22:52:03 OK... 22:52:06 aaah 22:52:16 lambdabot needs a ++++++++++ command 22:52:21 it just finishes with a \\ above, doesn't it? 22:52:24 s/command/operator/ 22:52:50 > ("(@metar "++).(++") \\ ")=< "(@metar abc) \\ (@metar def) \\ " 22:52:57 okay 22:53:04 that is what i thought 22:53:17 i wasnjt sure about the semantics because i don't know var 22:53:19 or run 22:53:27 > var "abc" 22:53:29 abc 22:53:35 @run 1 + 1 22:53:37 2 22:53:48 so, run var is like eval? 22:54:14 runvar is a Norwegian name, isn't it? 22:54:37 A combination of ENVA and Runar, perhaps. 22:54:43 and i guess \\ is some.kind of seperator for the commands 22:54:49 It's just a \ 22:54:56 @@ (@where test) ENVA KOAK 22:54:56 ?? ?@ ?run var$("(@metar "++).(++") \\ ")=< @@ @@ (@where test) ENVA KOAK 22:55:02 ENVA 212220Z 09004KT 9999 -DZ SCT013 BKN022 01/01 Q1004 RMK WIND 670FT 22008KT \ KOAK 212153Z 22015KT 10SM SCT024 BKN031 OVC070 16/11 A3005 RMK AO2 WSHFT 2040 RAE25 SLP177 P0000 T01560106 \ 22:55:20 ah 22:55:32 @@ @@ (@where weather) ENVA KOAK 22:55:34 ENVA 212220Z 09004KT 9999 -DZ SCT013 BKN022 01/01 Q1004 RMK WIND 670FT 22008KT \ KOAK 212153Z 22015KT 10SM SCT024 BKN031 OVC070 16/11 A3005 RMK AO2 WSHFT 2040 RAE25 SLP177 P0000 T01560106 22:56:38 Are there exp, root, and log types? 22:57:15 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 23:02:40 hppavilion[1]: exp surely. root and log types probably don't exist generally, because of sign issues. 23:02:55 Ah, yes. Sign issues 23:03:03 b_jonas: What is an exp type like, in theory? 23:03:23 A^B is the type of functions from B to A 23:03:28 Sum type is Either, Product type is tuples, but what's above that? 23:03:30 shachaf: Ah 23:03:37 Oooh 23:03:38 hppavilion[1]: like an exp matrix 23:03:42 You can figure that out. 23:03:46 It's just a pi type. 23:03:59 shachaf: Are you serious with "pi type"? 23:04:00 -!- carado has quit (Ping timeout: 268 seconds). 23:04:21 So the exp type a^b is b -> a? 23:04:44 It's not exp as in base e 23:04:49 shachaf: I got that 23:04:54 But it's exponentiation. 23:04:55 shachaf: exp as in a^b 23:05:00 And of course pi type is serious. 23:05:03 OK 23:05:12 shachaf: Is a pi type a kind of product type? Big pi notation? 23:05:16 Yes. 23:05:25 And exponentiation is repeated product, so it all works out. 23:05:45 Pi_{x : A}{B} = A -> B 23:05:56 A product of |A| Bs.q 23:06:17 b_jonas: Couldn't there be an imaginary version of the unit type that root type can return? lt[t](u) -> x+(y, imu)? 23:06:18 :P 23:07:07 * hppavilion[1] puts on his helmet 23:07:17 an exp type is just exp(1 + x) = 1 + x + x^2/2 + x^3/6 + x^4/24 + ... right? 23:07:23 um 23:07:33 I mean exp(x) = 1 + x + x^2/2 + x^3/6 + x^4/24 + ... 23:07:57 -!- carado has joined. 23:14:08 [wiki] [[User:CodeMaster111]] N https://esolangs.org/w/index.php?oldid=46630 * 68.134.221.253 * (+1181) Initialized userpage. 23:14:09 b_jonas: Yes. 23:14:18 You have to be careful about ordered and unordered tuples. 23:23:19 -!- XorSwap has joined. 23:39:16 -!- jaboja64 has joined. 23:40:17 -!- lynn has quit (Quit: Leaving). 23:42:33 -!- XorSwap has quit (Ping timeout: 240 seconds). 23:43:33 -!- p34k has quit. 23:47:20 -!- asie has joined. 23:53:13 -!- Lilly_Goodman has joined. 23:55:33 -!- oerjan has joined. 2016-03-22: 00:01:24 Hello, how are you? 00:04:18 must... resist... tempation... to ban... canaima@*.* 00:05:10 @messages- 00:05:11 boily said 1h 28m 58s ago: with raw onions, on some tunnbröd, and an ounce of aquavit. 00:05:38 @tell boily tunnbröd is swedish not danish hth 00:05:38 Consider it noted. 00:06:40 @tell boily you might substitute fladbrød instead hth 00:06:40 Consider it noted. 00:14:11 @tell b_jonas oerjan: yes, that's what mad said too. <-- some context would have been nice. thanks for the reminder about DST though, i keep being confused about which month it is since it got moved to october in the autumn. 00:14:11 Consider it noted. 00:14:12 -!- lleu has quit (Quit: That's what she said). 00:14:35 -!- lleu has joined. 00:15:32 -!- Lilly_Goodman has quit (Ping timeout: 260 seconds). 00:19:13 izabera: actually solving the cube? Don't be ridiculous. 00:19:23 is walric even a word it is now welcome to English that's not how it works yes it is <-- english seems to have a weird relationship with the idea of a word being "real". 00:20:12 so i thought izabera was right here, but might not have been if it were another language. 00:20:24 -!- jaboja64 has quit (Ping timeout: 276 seconds). 00:20:34 A word is real if people outside a particular community regularly use it with its supposed meaning. 00:20:37 <\oren\> i'm baaaaack 00:20:51 Examples of real words are "irregardless" and "pseudopseudohypoparathyroidism". 00:21:12 Examples of non-real words are "ghoti" and "pneumonoultramicroscopicsilicovolcanoconiosis". 00:21:27 tswett: are you sure that the "outside a particular community" test works for no. 2 there 00:22:18 `? irregardless 00:22:20 Yeah. 00:22:25 irregardless? ¯\(°​_o)/¯ 00:22:42 "The medical community" isn't really a community. It's not a community if there's some property that allegedly automatically makes you part of it. 00:22:53 Or something like that. 00:23:32 All right. For some reason, I really dislike the sequence that I currently have for solving this situation: https://www.speedsolving.com/wiki/index.php/Special:MediawikiAlgDB?mode=view&view=default&puzzle=2&group=CLL&cid=40 00:24:16 (2x2. First layer is solved, second layer is oriented correctly, but two adjacent pieces are exchanged.) 00:24:44 This one looks pretty interesting: L R U2 R' U' R U2 L' U R' 00:25:48 This one too: R U2 R' U' R U2 L' U R' U' L 00:26:00 `le/rn ghoti/"Ghoti" is a very fishy spelling. 00:26:05 Learned «ghoti» 00:26:21 The hell just happened? My 2x2 was solved a little while ago, and I did nothing to it whatsoever and now it's scrambled. 00:26:36 It's been here at my side the whole time. Nobody else has come and scrambled it. 00:26:47 There are no other nearby objects which could have somehow contacted and scrambled the cube. 00:27:19 The only explanation is that it spontaneously self-scrambled without making any sound or appearing to move noticeably. 00:27:34 -!- Vorpal has quit (Ping timeout: 260 seconds). 00:27:36 (Or I scrambled it so absent-mindedly that I was left with no memories of doing so.) 00:27:51 have you slept in the meantime? 00:28:07 `? tswett 00:28:08 tswett is livin' it up with the penguins. He's a title under the cruxite in the lathe. 00:28:44 I've been sitting here for at least the last ten minutes. 00:28:58 The spontaneous self-scrambling (SSS) event happened within those ten minutes. 00:29:02 aha 00:29:57 does this happen to other things than cubes? 00:30:12 Not that I've noticed in the past. 00:30:43 maybe you just switched to another universe where you didn't solve it. 00:30:56 -!- jaboja64 has joined. 00:30:57 Hello 00:31:01 `quote berenst 00:31:04 No output. 00:31:40 `wisdom berenst 00:31:41 ​/cat: : No such file or directory 00:32:13 tswett: Have I informed you that I'm writing a compiler or two? 00:32:19 The L R U2 sequence needs U' appended to it, I think. 00:32:27 hppavilion[1]: nope. 00:32:34 tswett: I'm writing a compiler. 00:32:37 Or two. 00:32:44 Ah, neat. 00:32:47 -!- Vorpal has joined. 00:33:11 `` grep -r berenst wisdom 00:33:23 No output. 00:33:52 Okay, I like the second sequence there better. Again: R U2 R' U' R U2 L' U R' U' L 00:34:04 tswett: I'm trying to figure out how to compile a temporal logic programming language 00:34:14 There's at least one way of writing that decently concisely... 00:34:27 R U'^(U2 R') R'^(L' U) 00:35:37 -!- Lilly_Goodman has joined. 00:37:15 tswett: Is this Banach-Tarski? 00:37:32 hello 00:37:52 hppavilion[1]: I'm solving the 2x2x2 Rubik's cube. 00:37:56 Lilly_Goodman: Dios mío. ¿Tiene algún interés en la programación esotérica? 00:38:21 Which has only a teeny tiny bit to do with the Banach-Tarski theorem. 00:38:25 <\oren\> you should report this glitch to reddit 00:38:29 hppavilion[1]: como que cosas?? 00:39:05 Lilly_Goodman: Traductor Google no va a traducir esa correctamente. 00:39:18 hppavilion[1]: pienso que significa "like what??" 00:39:49 tswett: Ah 00:39:52 tswett: maybe your scrambled cube was due to a use of banach-tarski, look for the other cube. 00:39:55 -!- J_Arcane_ has joined. 00:40:31 hppavilion[1]: que haces? 00:40:48 Lilly_Goodman: 00:40:48 De alguna manera alienado todos (o al menos yo) la primera vez que vino aquí, y no parece tener ningún interés en el tema del canal, así que por qué estás aquí? 00:40:50 -!- J_Arcane has quit (Ping timeout: 244 seconds). 00:40:53 El bienvenido obligatorio... 00:40:58 `bienvenido Lilly_Goodman 00:41:01 Lilly_Goodman: ¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/. (Para el otro tipo de esoterismo, prueba #esoteric en EFnet o DALnet.) 00:41:04 -!- J_Arcane_ has changed nick to J_Arcane. 00:41:23 HackEgo: lo se y gracias 00:41:49 Lilly_Goodman: HackEgo es un bot 00:42:04 hppavilion[1]: I can't quite figure out what the first half of that is supposed to be. "In some way everyone alienated (or at least me) the first time I came here"? 00:42:52 tswett: "You managed to alienate everybody...", IIRC 00:43:32 Lilly_Goodman: 00:43:32 Estoy tratando de averiguar por qué sigues viniendo aquí. Usted no parece que se preocupan por el propósito del canal, pero que siguen regresando. 00:43:34 In fact nosotros sí discutimos la programación esotérica de vez en cuando. 00:43:40 hppavilion[1]: disculpa 00:44:24 oerjan: I don't think my cube has infinitely many pieces. 00:44:45 Lilly_Goodman: Somos un canal de programación frikis surrealistas. Parece que han mostrado ningún conocimiento o interés en la programación. ¿Qué estás buscando en este canal? 00:45:17 s/han/no ha/ 00:46:47 Also s/o/ni/ 00:46:57 tswett: Google Translate 00:46:58 Spanish with its funky... use of lots of negatives everywhere. 00:47:21 In Spanish, you don't say "you have shown no interest in this or that"; you say "you haven't shown no interest in this nor that". 00:47:47 hppavilion[1]: como puedo instalar juegos a la canaima? 00:48:15 Lilly_Goodman: 00:48:15 Eh? 00:48:26 Lilly_Goodman: tal vez quieres hablar en #canaima. 00:48:42 Nosotros no conocemos nada de la Canaima. 00:48:59 Lilly_Goodman: 00:48:59 Por favor. Encontrar un canal que se adapte a sus intereses y pasar el rato allí. Esto claramente no es el lugar para usted. 00:49:18 tswett: I think she got kicked out of #canaima 00:50:42 tswett: no 00:50:52 hppavilion[1]: no sea asi 00:51:45 ¿Como que? Estoy tratando de decir que este no es el canal que parece estar buscando, y que debería encontrar algo mejor se adapte a sus intereses. Esto no es ese lugar. 00:52:12 hppavilion[1]: *shrug* It's not necessary for us to try to convince them to do anything. 00:52:22 Fair enough 00:52:50 tswett: Should we, the people of #esoteric, try to make an actual, useful programming language? 00:53:43 hppavilion[1]: pero no sabe como descargar aplicaciones a la computadora canaima? 00:53:51 I'm already doing that; by all means you can help! 00:54:15 Lilly_Goodman: ¿lo has preguntado en #canaima? 00:54:50 NOSOTROS NO HACEMOS CANAIMA. YO AN NO S LO QUE ES. TRATE DE HABLAR CON PERSONAS EN UN CANAL ALREDEDOR DEL CANAIMA, EN VEZ DE AQU. 00:55:01 tswett: Oooh, what's the compiler implemented in? 00:55:05 Or is it interpreted? 00:55:16 C#. I guess I'd call it interpreted. 00:55:21 It's a query language, not really a programming language. 00:55:21 :-/ 00:55:38 (Sorry for ~yelling, but Lilly_Goodman does not seem to be getting the message) 00:55:52 tswett: OK, but does it have programming features? 00:55:53 Lilly_Goodman: lo siento de que no te podemos ayudar. 00:55:59 tswett: no 00:56:15 Lilly_Goodman: Si. 00:56:17 hppavilion[1]: not really. It has, like... addition. 00:56:22 And if/then stuff. 00:56:28 tswett: What kind of query language is it? 00:56:31 It might be Turing-complete somehow. 00:56:32 tswett: Like a SQL? 00:56:36 hppavilion[1]: :'( 00:56:37 Yeah, definitely like SQL. 00:56:40 OK 00:56:43 tswett: What's the model? 00:56:58 Uhh, I guess kind of a cross between relational and object-oriented. 00:57:04 Interesting... 00:57:10 It's supposed to be useful as a language for querying existing SQL databases. 00:57:18 Oooh 00:57:27 tswett: Can you give me some example code? 00:57:31 hppavilion[1]: yeah. 00:57:36 :'( 00:58:09 Lilly_Goodman: 00:58:09 Nosotros no podemos ayudar. Por favor, encontrar a alguien que pueda hacerlo. Usted no va a encontrar en este link. 00:58:13 Uhh, lemme see. There's no spec at the moment. 00:58:17 OK 00:58:23 But yeah, example code. 00:58:27 tswett: A spec would be a good step :P 00:58:34 I should make, like, a list of features, and number them. 00:58:40 First, feature number A. 00:58:41 Good ida 00:58:44 *idea 00:58:44 (They're numbered with letters.) 00:58:55 tswett: What happens when you have a letter overflow? 00:58:59 What's feature Z++? 00:59:11 I'll start using doubled letters and whatnot. 00:59:17 After Z comes AA, then AB, ... 00:59:19 tswett: So it's base 26? 00:59:24 Something like that. 00:59:27 OK 00:59:30 hppavilion[1]: que preguntas puedo hacer en este anal?? 00:59:33 tswett: Feature #8 00:59:37 hppavilion[1]: que preguntas puedo hacer en este canal?? 00:59:38 s/8/A/ 00:59:52 Lilly_Goodman: ¿conoces la programación? 01:00:07 hppavilion[1]: remember also that it's perfectly fine to just totally ignore a question. 01:00:22 So, there are at least two sorts of types in this language: scalar types and non-scalar types. 01:00:29 Lilly_Goodman: 01:00:29 Nada, en realidad. Somos más de un canal de chat-sobre-el-cosas que un canal de pedir-us-preguntas. 01:00:29 Scalar types are things that can fit into a table cell. 01:00:43 OK 01:01:03 Some examples: unit, integer, double, string. 01:01:14 Unit? Like the unit type? 01:01:18 Yep. 01:01:28 Non-scalar types are anything else. 01:01:32 And boy, they're a doozy. 01:01:36 I'm not going to explain them at all. 01:01:39 tswett: Can a cell have type Bot (empty type)? xD 01:01:45 Maybe! 01:01:51 tswett: You don't understand them yourself, do you? 01:01:56 Nope. 01:02:02 Makes sense 01:02:06 So, the first revision of the language is going to be read-only. 01:02:17 OK... 01:02:19 Like, there's not going to be any way to change the data in a database. 01:02:25 And later it will be able to modify? 01:02:27 And I've managed to say a lot without really communicating anything. 01:02:27 Yeah. 01:02:30 So, on to the chase. 01:02:35 Suppose you've got a table called "cats". 01:02:40 You can get all of the data out of it using this query: 01:02:41 cats 01:02:42 Yay. 01:02:52 It's pretty simple. 01:03:00 Does it support digraphs for DSes? 01:03:04 Yeah, makes sense 01:03:08 Just a variable 01:03:10 For whatses? 01:03:21 hppavilion[1]: no entendi bien a que te refieres con que es un chat-sobre-el-cosas que un canal de pedir-us-preguntas??? 01:03:30 tswett: Data Structures. Non-scalars. 01:03:45 Google did a rather hilarious job with "pedir-us-preguntas" and whatnot. 01:03:58 Lilly_Goodman: "pedir-us-preguntas" = "pedirnos preguntas" 01:04:10 va a comer 01:04:15 * Lilly_Goodman va a comer 01:04:33 -!- nooga has quit (Ping timeout: 246 seconds). 01:04:47 Note that "struct" types are probably going to be scalar. 01:04:54 Ah, OK 01:05:02 And I'm not sure what you mean by digraphs. 01:05:02 tswett: And they'll get stuck in a massive data type? 01:05:11 tswett: Directed (labeled) graphs 01:05:18 Ah. 01:05:30 Pretty common terminology 01:05:30 Yeah, tables can reference each other and whatnot. 01:05:33 OK 01:05:43 I thought you meant "sequences of two symbols", the other meaning of "digraph". 01:05:53 Ah, right 01:05:59 If there's a table called "cats", then there's a type called Reference or something, which refers to rows in that table. 01:06:10 OK 01:06:14 I follow, I think 01:06:20 Anyway... 01:07:15 There are struct types. Let's say that there's a struct called, I dunno, CatInfo, with two fields: name, which is a string, and friendliness, which is an integer. 01:07:23 OK 01:07:34 Cat friendliness is measured as a fuzzy, but OK 01:08:12 There's a certain extremely important operator, which is: 01:08:13 . 01:08:17 The projection operator. 01:08:30 Suppose "ci" is a particular CatInfo value. Then you can do this: 01:08:31 ci.name 01:08:35 That'll give you the cat's name. 01:08:45 Now, the way this works is a little complicated. 01:09:06 In most programming languages, the thing on the left is an expression, and the thing on the right is an identifier, naming one of the fields of the thing on the left. 01:09:42 In this language (it's called Quendle, by the way), the thing on the right is also an expression, and it's evaluated in the "projective context" of the thing on the left. 01:09:54 Now, projective contexts (or just contexts) are something I haven't totally worked out yet. 01:10:16 Buuut... 01:10:35 You can evaluate something in the projective context of a struct type. 01:10:43 Oh, right! Quendle! 01:11:04 If you evaluate a field of that struct in that context, you end up with... the value of that field. 01:11:11 That's a pretty good model, I think 01:11:28 tswett: Can you make custom contexts? 01:11:51 tswett: And can the expression be something other than an identifier? I would doubt it, but it might be possible 01:12:08 And if a struct st has attributes a and b (both ints), will st.(a+b) return their sum? 01:12:13 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:13:17 As for making custom contexts: kinda... there are features producing various kinds of contexts. 01:13:27 I'll explain a little further a little later. 01:13:34 tswett: Does Quendle support Prologian knowledge bases? Perhaps there are operators to treat a table as a knowledge base in some subset format? 01:13:34 As for st.(a+b): yes, absolutely. 01:13:46 Because PROLOGian knowledge bases are cooooool 01:13:53 tswett: Excellent. Gold star. 01:13:58 heh, I don't know Spanish but that was hilarious 01:14:03 kinda 01:14:21 -!- ais523 has joined. 01:14:27 his523 01:14:27 There are no logic programming features. 01:14:30 OK 01:14:48 tswett: Can you define functions of any sort? 01:14:52 Nyow. 01:14:57 Yeah... eventually. 01:14:58 Nyow. 01:15:05 If so, I might just have to make a logic programming library ;) 01:15:08 Tables have row set types. 01:15:16 OK? 01:15:20 Row set types? 01:15:30 Set as in set theory or set as in set in stone? 01:15:31 The "cats" table will probably have a type like "set of CatInfo rows". 01:15:36 Ah 01:15:38 I get it 01:15:48 You mentioned that, References 01:16:34 And the nice thing about row set types is that the projection operator passes through them, so to speak. 01:16:45 Which is to say, you can do this: 01:16:46 cats.name 01:16:52 tswett: I have to go eat dinner in a bit 01:16:56 tswett: But go on 01:16:59 And that will give you all of the cat-names. 01:17:06 Ooooh 01:17:10 That's beautiful 01:17:23 I always like sets that can be operated on 01:17:30 Now, there's another really important operator: "where". 01:17:40 You can do this: 01:17:44 cats where friendliness >= 6 01:17:45 {1, 2, 3}+{4, 5, 6} = {5, 6, 7, 8, 9} 01:17:47 OK 01:18:02 Which... is... kind of self-explanatory, but kind of not. 01:18:05 tswett: Is this language intended to be ultra-readable? 01:18:13 Or is it a Perl 01:18:22 I wouldn't say that. It's designed to be usable, like... a lot of languages are. 01:18:25 OK 01:18:47 where could equal .. if that isn't already used. .. looks nice for where (reminds me of "such that") 01:19:05 I should go now, but I'll be back in a bit 01:19:09 That expression there essentially looks at every cat c, and evaluates the expression "c.(friendliness >= 6)". 01:19:15 All right. I'll continue monologuing. 01:19:27 I would prefer if you just waited until I was back :P 01:20:00 tswett: como puedo descargar programas a una computadora? 01:21:06 For those rows where it's true, you get that row as part of the result set. Where it's false, the rows are eliminated. 01:22:29 Now, you can also take the cartesian product of two row sets. 01:22:40 If you want to get the set of all pairs of cats, you can do something like this: 01:22:41 cats * cats 01:23:37 Next, suppose "cats" has a "name" column, and "humans" also has a "name" column. For whatever reason, you want to get the set of all pairs of cat and human such that the cat and the human have the same name. 01:23:49 This won't work, for obvious reasons: 01:23:54 cats * humans where name = name 01:23:56 Which name is which? 01:25:24 So what can you do instead? 01:25:26 Answer: 01:25:32 c: cats * h: humans where c.name = h.name 01:26:18 -!- Lilly_Goodman has quit (Ping timeout: 244 seconds). 01:27:31 Now, the exact mechanism behind this, I'm not totally sure of. 01:27:40 Let me offer a quick proposal. 01:28:00 "Proposal" is kind of a funny word for it, since I'm the one who makes the decision. 01:28:05 (I am the decider!) 01:28:55 (c: cats * h: humans) has a type like "set of rows: (struct with field "c" of type (CatInfo), field "h" of type (HumanInfo))" 01:29:33 So on the right, you simply compose fields appropriately. 01:30:35 Now, I think there's a problem with this. 01:30:39 Let me try to remember what the problem is. 01:32:47 I'm not totally sure that there is a problem, so at the moment, I'm going to assume that there is no problem. 01:34:07 And, uh... sheesh... I think that's the bulk of the language, right there. 01:34:19 Maybe I should say the core of the language. 01:35:47 -!- Lilly_Goodman has joined. 01:38:20 tswett: Do you have a "toplevel scope" operator? 01:39:39 The top-level scope is always accessible. 01:39:46 tswett: How? 01:39:52 tswett: Scope as in projective scope 01:39:57 Assuming I know what you mean. 01:40:12 Like, you can't explicitly ask for the global projective context. 01:40:19 Say you have an integer "i", a struct "st", and st has attributes num and i 01:40:29 Right, right. 01:40:31 Consider st.(num+i) 01:40:33 That raises a question. 01:40:59 Is st.(num+i) the sum of all st.num and all st.i, or the sum of all st.num and i? 01:41:35 I would say you need a global projective context nullary operator, unless you already have this figured out 01:41:58 Note, by the way, that if you do something like cats.(name + name), if you have cats named "Dorothy" and "Ann", you'll get the results "DorothyDorothy" and "AnnAnn", but not "AnnDorothy" or "DorothyAnn". 01:42:02 If you wanted those, you'd have to do... 01:42:17 (c1: cats * c2: cats).(c1.name + c2.name) 01:42:22 tswett: I figured that 01:42:46 So, right. How am I going to get around this issue... 01:42:51 tswett: Wait, tuples have a projective context? 01:43:15 Yup. You wouldn't be able to do "where" on them if they didn't have a projective context. 01:43:20 Ah 01:43:22 OK 01:43:27 How does it work, precisely? 01:43:36 That previous line of code in particular 01:43:56 So, the first half of it, "c1: cats * c2: cats" has a type something like this: 01:44:01 * Lilly_Goodman les dice a todos en este momento que Cristo te ama mas de lo que te puedes imaginar :-) 01:44:31 "ad-hoc struct with fields c1 of type CatInfo and c2 of type CatInfo" 01:44:44 And that generates a projective context. 01:44:47 Aaaaaaah 01:44:57 So that's an ad-hoc struct, more so than a tuple 01:45:06 And the two most notable things in this context are c1, of type CatInfo, and c2, also of type CatInfo. 01:45:16 I understood that 01:45:32 tswett: So what's the problem that's giving you trouble? 01:45:51 You mean besides the st.(num+i) thing you brought up? 01:46:06 tswett: Whichever it was you were talking about 01:46:25 tswett: Though how you plan to overcome st.(num+i) would also be of interest 01:46:28 I'm not totally sure if that problem really existed. 01:46:35 tswett: Ah 01:46:35 Though this problem is one of those win-win problems... 01:46:40 Either I'll run into it or I won't. 01:47:01 If I run into it, perfect—I can figure out how to fix it. If I don't run into it, perfect—the problem doesn't exist. 01:47:11 tswett: You have product types (*), but do you have sum types? 01:47:40 PetRows = CatRows + DogRows 01:47:44 Those will be added. 01:47:47 OK 01:47:58 But I want to work out the core language here before adding anything onto it. 01:48:02 tswett: Any other features of interest? And is this on GitHub? 01:48:15 It'll be on Bitbucket. 01:48:55 Other features of interest... oh yeah, there's one cool thing I want to do. 01:49:14 Suppose you've got a database where every table has this one column, say "Region". 01:49:57 You can get to a "slice database"—one where the Region columns are no longer visible, and all inter-table references automatically stay within the one Region. 01:50:10 If you ask something like "how many rows are in this table", you'll get one answer for each Region. 01:50:24 Sort of like the database has been sliced into a bunch of little databases, one for each Region. 01:50:32 And all with identical schemas. 01:51:07 * Lilly_Goodman les dice a todos en este momento que Cristo te ama mas de lo que te puedes imaginar :-) 01:53:13 OK, give me a minute to reread that a few times xD 01:54:34 Interesting 01:54:50 Uhhhhh I feel like there's something I'm missing right this moment. 01:54:53 * tswett shrug. 01:55:13 tswett: Check your 2x2x2. Maybe it's in its shift state 01:55:17 That's probably what you're missing. 01:55:24 The half of it which I can see appears solved. 01:55:41 I flipped it around to look at the other half. Once again, the half of it which I can see appears solved. 01:56:03 -!- lambda-11235 has joined. 01:56:18 But I cannot look at the whole thing at once. 01:56:26 Nyow. About that global thing. 01:56:43 You know, you might be totally right. 01:56:47 The tragedy of limipresence 01:57:13 *Mind blow* 01:57:14 Maybe there does need to be a thing called "global" you can use to explicitly request the global scope. 01:57:23 Yep. 01:57:23 What's limipresence? 01:57:38 tswett: Finite presence; if you are not omnipresent, you are limipresent 01:57:48 Ah. 01:58:51 tswett: You could also have a "one level up" operator that isn't global, but it's the scope containing the current scope 01:59:07 That one I don't like. 01:59:18 -!- XorSwap has joined. 01:59:20 I don't really either, but I like sharing ideas xP 01:59:48 So lemme see. Have we totally figured out the core language here? 01:59:54 :|B <-- beard 02:00:05 tswett: How do you order a selection? 02:00:13 By using features I haven't come up with yet. 02:00:20 OK 02:00:23 tswett: How about 02:00:28 Whoops 02:00:31 Let's try to think of some really complicated queries or something. 02:00:52 tswett: Select the last item in the table that has some property 02:01:17 -!- bender| has joined. 02:01:18 Also something I haven't come up with yet. So far, all row sets are orderless. 02:01:30 Oh 02:01:33 That's not very relational 02:01:38 -!- XorSwap has quit (Client Quit). 02:01:43 That's exactly relational. 02:01:57 tswett: Though I think if you give every table a row# item, you can accomplish that 02:02:12 tswett: Perhaps you should also have a unary . operator, that produces an expression that can be applied to extract a value? 02:02:22 What do you mean by that? 02:02:25 .(x+y) can be applied to anything with attributes x and y 02:02:31 And will return their sum 02:02:32 ... 02:02:36 No, terrible idea 02:02:41 Well, maybe 02:02:41 That's just (x+y). 02:02:53 Like... 02:03:06 tswett: But for what sc- OH! can you have unevaluatable expression you can later evaluate? 02:03:21 Like (x+y) where x and y are undefined? 02:03:29 You know how if you have a cat Furissa of friendliness 8, and you evaluate furissa.(name + to_string(friendliness)), you get "Furissa8"? 02:03:37 You can do something like this: 02:03:45 -!- Lilly_Goodman has quit (Ping timeout: 276 seconds). 02:03:46 OK 02:04:09 "Let the name_with_friendliness of a CatInfo be name + to_string(friendliness)." 02:04:20 Then you can do furissa.name_with_friendliness. 02:04:23 OK 02:04:31 That looks good 02:04:34 Or: cats where length(name_with_friendliness) <= 7 02:05:13 By the way, this lets you do some awful stuff that I hope nobody will ever do. 02:05:15 (ci: CatInfo).name_with_friendliness = ci.name + to_string(ci.friendliness) 02:05:20 And it's a futile hope, because someone will definitely do this. 02:05:25 tswett: Such as? 02:05:52 You could say something like: "Let the one_more of an integer x be x + 1." 02:05:57 Oh, I assume = has its own contextiness 02:06:06 And then you could do something like this: (3).(one_more + one_more) 02:06:08 And you'll get 8. 02:06:09 Where the lhs of = returns a reference instead of a value 02:06:16 -!- lambda-11235 has quit (Max SendQ exceeded). 02:06:25 Eeew... 02:06:28 Well, I'm using = for equality comparison, not assignment. 02:06:29 I need to go shower 02:06:29 I know, right? 02:06:35 tswett: OK then, := 02:06:43 There we go. 02:06:53 -!- lambda-11235 has joined. 02:07:14 So am I correct to guess that :='s lhs is evaluated to produce a reference? 02:07:17 I'm not sure what the syntax would be, but it might be more like this: 02:07:25 And that the scope created is used on the rhs? 02:07:33 (CatInfo).name_with_friendliness := name + to_string(friendliness) 02:07:40 Well... the short answer is no. 02:07:52 The LHS is just an identifier, or a type with an identifier after it like that. 02:08:01 tswett: OK :/ 02:08:02 It's not really an expression you can evaluate. 02:08:11 But I do hope to do something kind of along those lines later. 02:08:11 tswett: I guess that's for the best 02:08:26 Because x+1 := 3 is a pain to evaluate (it would, in theory, set x to 2) 02:08:33 (but that's hard) 02:08:33 Right. 02:08:43 Not to mention that that's sometimes uncomputable. 02:08:48 Of course 02:08:59 And uncomputability is itself uncomputable oftentimes 02:09:00 And so on 02:09:01 But: make it so that if a query returns some rows that come from a table, you can, like, set the output of the query. 02:09:04 Something like... 02:09:27 Listening. 02:09:49 update (cats where name = "Furissa").name := "Furrison" 02:10:09 Oh god. 02:10:22 -!- Lilly_Goodman has joined. 02:10:30 It'll undoubtedly be kind of weird. 02:10:33 Does that modify the result of a query for cats where name = "Furissa"? 02:10:42 Thankfully, no. 02:10:42 Without changing Furissa to Furrison? 02:10:45 Oh, good 02:10:57 Oh, good || Oh, god. 02:11:25 Essentially, it performs the query 'cats where name = "Furissa"' to come up with a list of rows of the table "cats". 02:11:36 OK 02:11:43 Then it applies the "name" projection to that to come up with a list of table cells containing strings. 02:11:45 And then it sets it to Furisson 02:11:54 And one of the things you can do with a table cell containing a string is to change what that string is. 02:12:11 So really, "cats" has a type like... 02:12:24 UpdatableInsertableDeletableRowset 02:12:49 Then you do "where name = "Furissa"" on it, getting an... 02:12:55 UpdatableDeletableRowset 02:13:04 Then you do ".name" on that, giving you an... 02:13:10 UpdatableDeletableRowset 02:16:49 Now, you know how I mentioned I want this to be usable as a front-end to a SQL database? 02:17:53 I guess that might actually initially be the *only* way to do it. 02:18:08 Lemme think what that might look like. 02:19:19 You know how if you have a cat Furissa [...] <-- then you shouldn't be trusted around cats hth 02:22:07 Table CallTicket := SqlTable(cts_call_ticket) { integer IdNumber := "ticket_id" primarykey; string Description := "ticket_desc" } 02:22:09 oerjan: tht 02:22:22 And then... 02:23:52 Table TicketEvent := SqlTable(cts_ticket_event) { reference Ticket := "ticket_id"; string Description := "event_desc"; datetime Datetime := "event_datetime" } 02:24:12 And then you can do stuff like... 02:24:36 (TicketEvent where Ticket.Description = "Oh no! Everything's on fire!").Datetime 02:24:50 Which would be a SQL query something like... 02:25:38 SELECT event.event_datetime FROM cts_call_ticket ticket, cts_ticket_event event WHERE ticket.ticket_id = event.ticket_id AND ticket.ticket_desc = 'Oh no! Everything''s on fire!' 02:25:46 -!- lambda-11235 has quit (Ping timeout: 252 seconds). 02:31:56 -!- lambda-11235 has joined. 02:43:27 tswett: Oh, here's a possibly-core language feature you might want to look into 02:43:32 UNION and INTERSECTION 02:44:22 && and || if you please 02:44:28 -!- lambda-11235 has quit (Max SendQ exceeded). 02:45:34 -!- lambda-11235 has joined. 02:47:23 tswett: Event-driven database... 03:11:13 shachaf: Is there such thing as a Zeration Type? 03:11:40 I don't know. 03:12:20 that would be x -> Void, wouldn't it? so negation. 03:12:28 shachaf: Weren't you the one who knew about A^B earlier? 03:12:43 oerjan: But if A -> B is A^B 03:12:44 I don't know what zeration is. 03:12:46 or just Void for zero itself. 03:13:00 shachaf: Successor, basically, but with two arguments. The basic hyperoperation 03:13:10 And Void = 0, IIRC 03:13:13 i assumed it's the operation of turning something into zero. 03:13:30 ...ic 03:13:44 `? ic 03:13:53 ic what you did there. 03:14:02 oerjan: What's ic? 03:14:10 @google "look for a ...ic transporter" 03:14:11 http://nethack.wikia.com/wiki/Wizard_quest 03:14:11 Title: Wizard quest - Wikihack - Wikia 03:16:55 hppavilion[1]: it sounds like it would need to be a function that ignores one of its arguments 03:17:16 a -> b -> Maybe b 03:17:48 @djinn a -> b -> Maybe b 03:17:48 f _ a = Just a 03:18:15 lambdabot: maybe a bit confusing variable choice there 03:18:51 Just a bit 03:18:56 oerjan: Yes, it is 03:19:12 or wait... 03:19:23 oerjan: did you find your swatter yet twh 03:19:23 i think i'm mixing levels up there 03:19:42 shachaf: my swatter was never missing 03:19:55 i guess that wasn't really swatworthy 03:19:56 it was my saucepan that had been absconded 03:20:00 oh, right 03:20:40 * oerjan hits shachaf with a damp straw ---- 03:20:50 do you ever cook with the saucepan 03:20:53 ===\~~/ 03:21:02 no. 03:21:22 hppavilion[1],shachaf : `exp t' is the type of bags of inhabitants of `t', at least for finite `t' 03:21:26 <\oren\> yay bacon! 03:21:32 ===\ꙮꙮ/ 03:21:37 ski: Oh, you're here too 03:21:38 ski: Are you sure? 03:21:57 ski: That would be (-> Nat) 03:22:15 I just realized that kleene algebra and type theory work well together 03:22:30 Hmm, I remember thinking about this and coming to some conclusion but it was years ago. 03:22:34 + in kleene algebra = + in type theory, * in kleene algebra is like * in type theory 03:23:11 shachaf : at least judging from the expansion `exp t = sum_{i : |N} t^i / i!' 03:23:15 hppavilion[1]: on second thought, i don't think zeration and successor can be distinguished at this level 03:24:05 oerjan: Successor takes 1 arg, zeration 2 03:24:20 So I think we can define kleene exponentiation 03:24:32 Also, S() is ? 03:24:48 The successor of a string is that string OR the null string 03:25:02 ski: shachaf: _finite_ bags 03:25:26 so (-> Nat) is excluded if it's infinite... 03:25:47 oerjan : "at least for finite `t'" -- but, yes, also finite multiplicity, so you're correct 03:26:07 I think kleene ^ may correspond to y/// 03:26:20 Somehow 03:26:42 hppavilion[1]: no, i mean, this arithmetic <-> type correspondence doesn't have a notion of unused arguments, since you don't have functions, but expressions on the left side 03:26:50 oerjan: Ah 03:27:04 Right, right, I get it 03:30:45 ski: wait, does this mean Nat is e? >:) 03:32:19 ski: oh. i think i see what's going wrong. the x^n/n! <-> n-bag of x correspondence breaks down because of tuples with repeated elements. 03:32:24 -!- lambda-11235 has quit (Ping timeout: 244 seconds). 03:32:54 Oh, repeated elements, that's it. 03:33:08 I remembered there was an issue like that, but I thought it was about unordered tuple. 03:33:11 tuples 03:33:56 oerjan : breaks down how ? 03:33:59 shachaf: well sure, bags are unordered tuples 03:35:32 If x is Bool, then there are three 2-bags of x. 03:36:04 but 4 2-tuples 03:36:18 and 3 /= 4 / 2! 03:37:34 -!- Lilly_Goodman has quit (Ping timeout: 244 seconds). 03:38:02 looked at differently: x^n/n! is rarely an integer. 03:38:13 -!- Lilly_Goodman has joined. 03:42:25 * ski doesn't see a problem 03:43:59 ski: X^n represents n-tuples of X. to divide by n!, there have to n! tuples that identify because they're the same bag. but that only happens for tuples that have all elements distinct and are permutations of each other. 03:44:05 *have to be 03:44:05 `t^i / i!' isn't to be viewed as a type divided by another type. but rather a type "divided" by a quotient (/factor) type of that type 03:44:07 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: t^i: not found 03:44:36 ski: yes, but not all equivalence classes have size i! 03:44:52 is that a problem ? 03:44:59 i should say so. 03:45:03 why ? 03:45:21 -!- lambda-11235 has joined. 03:45:30 ...oh well... 03:45:56 ski: Why do you think it's not a problem? 03:46:04 if you don't have that (t^i / i!) 03:46:11 argh stupid return 03:46:38 if you don't have that (t^i / i!) * i! == t^i then it's not a very good correspondence with arithmetic. 03:46:48 shachaf : only because i can't see it 03:47:49 oerjan : if you accept my ".. isn't .. rather ..", then that `*' isn't an ordinary cartesian product of two sets 03:48:34 so while we want (finite) sets/types to correspond with naturals here, i don't see why we should expect factor/quotient dittos to also correspond with naturals 03:48:53 (perhaps there's still a problem. but i don't see it atm) 03:49:16 -!- lambdabot has quit (Remote host closed the connection). 03:49:28 ski: * is already well-established as cartesian product. 03:49:47 yes, for normal uses of it 03:49:52 like + is disjoint/tagged union 03:50:36 i'm saying any extension to the correspondence which doesn't fit in with those isn't particularly interesting. 03:51:16 however, viewing `t^i / i!' as being about quotients, it's not clear (to me) that it ought to satisfy a relation like `(t^i / i!) * i! = t^i', relating it to a more restricted cartesian product 03:51:53 FINE 03:52:00 (because, a quotient thing corresponding to cartesian product requires each equivalence class to have the same size. but that's exactly what's not the case here with our `t^i / i!') 03:52:42 -!- lambdabot has joined. 03:52:44 let me rephrase that: _i_ don't find such an extension interesting unless it has some other property to make up for it. 03:52:58 ok 03:54:32 this seems like a p. awkward way to write in point-free style: http://metatree.xyz/treeprover/ 03:59:49 -!- tromp has joined. 04:00:45 -!- nooga has joined. 04:03:05 -!- Lilly_Goodman has quit (Ping timeout: 248 seconds). 04:03:43 -!- Lilly_Goodman has joined. 04:05:18 -!- nooga has quit (Ping timeout: 276 seconds). 04:09:52 -!- Lilly_Goodman has quit (Ping timeout: 268 seconds). 04:12:44 -!- Lilly_Goodman has joined. 04:19:47 -!- Lilly_Goodman has quit (Ping timeout: 248 seconds). 04:24:22 -!- treaki__ has joined. 04:25:04 -!- MoALTz has quit (Ping timeout: 244 seconds). 04:27:24 -!- treaki_ has quit (Ping timeout: 276 seconds). 05:13:39 -!- MoALTz has joined. 05:29:15 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 05:49:22 -!- lambda-11235 has quit (Quit: Bye). 05:57:03 -!- jaboja64 has quit (Remote host closed the connection). 06:15:02 -!- me2 has joined. 06:40:52 -!- Sgeo__ has joined. 06:49:15 principle/principal are the worst homophones 06:49:44 they're just common enough that people use them regularly, but uncommon and long enough that they don't know the difference 06:49:47 this annoys me 06:49:51 it's the principal of the thing, really 07:29:45 coppro: surely the principle issue is understanding what's meant 07:45:00 -!- nooga has joined. 07:56:13 -!- ais523 has quit. 07:58:00 there must be room for a unified spelling here... principale? 08:10:43 * oerjan wanted to make a "beyond the pale" pun but instead learned what "the pale" actually meant 08:17:48 -!- ais523 has joined. 08:38:30 -!- nooga has quit (Ping timeout: 246 seconds). 08:39:31 -!- nooga has joined. 08:53:02 . o O ( the mopale ) 09:05:34 -!- nooga has quit (Ping timeout: 260 seconds). 09:11:50 -!- bender| has quit (Quit: [restarting]). 09:18:28 -!- bender| has joined. 09:25:26 -!- oerjan has quit (Quit: Nite). 09:28:52 -!- J_Arcane has quit (Ping timeout: 244 seconds). 09:35:35 -!- me2 has quit (Read error: Connection reset by peer). 09:36:36 -!- me2 has joined. 10:07:46 -!- impomatic_ has quit (Quit: http://corewar.co.uk). 10:10:13 -!- AnotherTest has joined. 10:15:57 -!- lleu has quit (Quit: That's what she said). 10:16:15 -!- lleu has joined. 10:17:26 -!- boily has joined. 10:46:58 huh, I just realised that there's an easy way to construct hash collisions: SHA-256(512×(2²⁵⁶+(2²⁵⁶)!) zeroes) = SHA-256(512×2²⁵⁶ zeroes) 10:47:07 let me know if there's anything wrong with my reasoning 10:47:20 of course, 2²⁵⁶ factorial is way too large for the collision to be useful at all 10:47:27 and we don't know what the actual hash value is 10:47:32 but I don't see any reason why this method wouldn't work 10:54:37 ais523: the input of SHA-256 is limited to 2^512-1 bits due to the preprocessing step. 10:54:47 > append length of message (without the '1' bit or padding), in bits, as 64-bit big-endian integer 10:54:49 :1:15: parse error on input ‘of’ 10:54:56 oh, 10:56:19 hmm 10:56:30 I guess you just append a zero? assuming two's complement 10:58:19 ais523: I meant that there is no standard way to handle more than 2^512-1 bits of input with SHA-256 10:58:36 so well, SHA-256(512*2^256 zeroes) is not well defined 10:58:40 you mean 2⁶⁴ 10:58:45 but hmm, right 10:58:46 ah 10:58:47 yeah 10:58:58 perhaps it's intentional to stop this sort of attack 11:01:00 ais523: probably more about preventing an extension attack? 11:01:26 this reminds me of an extension attack 11:03:26 hmm, I think it works for SHA-3, though (although the description on Wikipedia is unclear) 11:03:42 bomb in bruxelles 11:04:06 two bombs 11:04:13 one in the airport and one in the subway 11:08:51 what. now? 11:08:55 @massages-loud 11:08:55 oerjan said 11h 3m 17s ago: tunnbröd is swedish not danish hth 11:08:55 oerjan said 11h 2m 15s ago: you might substitute fladbrød instead hth 11:09:56 oh fuck. 11:10:17 ais523: probably the role of hashing function has been reduced since the introduction of MD5/SHA-1/2. 11:10:43 well they're used for all sorts of things, requiring different levels of security 11:11:01 yeah, but now we distinguish MACs from hash functions 11:11:04 there's even an argument for using cryptohashes for hash tables 11:11:08 (correctly) 11:11:15 lifthrasiir: I was actually always wondering what the distinction was 11:12:25 https://www.reddit.com/live/wmk50bsm9vt3 11:13:42 ais523: IIUC hash functions ensure the data integrity (that is, it is not tampered since the beginning of transfer) but not the authenticity (that is, it came from who we can or learned to trust before) 11:14:06 MAC has an additional parameter for keys for that reason 11:30:51 -!- boily has quit (Quit: POOL CHICKEN). 12:05:56 @tell hppavilion[1] The core language pretty much only has two features: products and "where". Everything else is going to be an extension. 12:05:56 Consider it noted. 12:20:19 -!- AnotherTest has quit (Ping timeout: 248 seconds). 12:30:08 -!- lleu has quit (Quit: That's what she said). 12:44:18 argh! this stupid build system 12:44:26 @messages 12:49:01 * b_jonas screams 12:52:43 -!- ais523 has quit. 12:52:58 -!- vanila has joined. 12:53:02 hello 12:53:30 -!- Sgeo__ has quit (Ping timeout: 244 seconds). 12:55:18 @tell 12:55:18 Who should I tell? 12:55:24 @tell zzo38 i cant load your gopher :( 12:55:24 Consider it noted. 13:10:29 -!- lynn has joined. 13:40:01 idea: using the git commit hash as the version 13:40:04 -!- lleu has joined. 13:40:04 -!- lleu has quit (Changing host). 13:40:04 -!- lleu has joined. 13:40:12 izabera, bad idea not sortable 13:40:34 good point 13:40:35 -!- nycs has joined. 13:40:40 well 13:40:45 it is sortable 13:40:52 just not the obvious way 13:41:07 true :P 13:49:34 -!- AnotherTest has joined. 13:54:48 -!- lambda-11235 has joined. 14:01:47 vanila: use the http access instead, at http://zzo38computer.org/textfile/miscellaneous/ 14:01:57 unless you can't use http either that is 14:03:17 but i want gopher 14:05:06 what's the error if you try to access the gopher? 14:10:38 -!- XorSwap has joined. 14:25:48 -!- jaboja has joined. 14:50:13 -!- XorSwap has quit (Quit: Leaving). 15:02:28 -!- lambda-11235 has quit (Quit: Bye). 15:03:38 -!- p34k has joined. 15:14:01 -!- jaboja has quit (Remote host closed the connection). 15:46:04 -!- earendel has quit (Ping timeout: 244 seconds). 15:46:38 According to http://magic.wizards.com/en/articles/archive/card-preview/basic-lands-shadows-over-innistrad-2016-03-21 , Shadows over Innistrad will have three arts for each basic land. Isn't it supposed to have four arts each, since it's a large set? 15:59:23 hmm, the third island seems too colorful 16:02:08 -!- bender| has quit (Quit: Leaving). 16:17:49 there's been some colorful islands already. 16:46:57 -!- me2 has quit (Read error: Connection reset by peer). 16:50:28 -!- me2 has joined. 17:17:16 -!- lambda-11235 has joined. 17:33:46 -!- mihow has joined. 17:55:27 -!- nooga has joined. 18:09:40 -!- jaboja has joined. 18:11:49 -!- hppavilion[1] has joined. 18:20:01 You know what'd be awesome? 18:20:16 A hybrid between a proof assistant and a practical programming language 18:20:26 @messages-louder 18:20:27 tswett said 6h 14m 30s ago: The core language pretty much only has two features: products and "where". Everything else is going to be an extension. 18:23:33 -!- lambda-11235 has quit (Ping timeout: 240 seconds). 18:28:25 -!- lambda-11235 has joined. 18:30:27 -!- nooga has quit (Ping timeout: 264 seconds). 18:33:03 -!- lambda-11235 has quit (Ping timeout: 276 seconds). 18:40:22 -!- jaboja has quit (Ping timeout: 252 seconds). 18:50:16 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 18:55:24 -!- earendel has joined. 18:56:50 -!- hppavilion[1] has joined. 18:58:20 [wiki] [[LABEL]] N https://esolangs.org/w/index.php?oldid=46631 * FricativeMelon * (+2751) Created page with "'''LABEL''' is a programming language based on goto-like jumps and loops and whose memory consists entirely of how many jumps have been made. == Syntax == {| class="wikitabl..." 18:59:25 -!- nycs has quit (Quit: This computer has gone to sleep). 19:01:37 -!- I has joined. 19:02:00 -!- I has changed nick to Guest11109. 19:14:07 -!- Guest11109 has quit (Quit: This computer has gone to sleep). 19:14:46 -!- nycs has joined. 19:20:25 -!- jaboja has joined. 19:26:50 -!- nooga has joined. 19:31:29 -!- nooga has quit (Ping timeout: 260 seconds). 19:37:22 [wiki] [[Talk:Seed]] N https://esolangs.org/w/index.php?oldid=46632 * Dittoslash * (+123) Created page with "possible seed that produces seed? ~~~~" 19:44:03 -!- lambda-11235 has joined. 19:45:09 -!- J_Arcane has joined. 19:50:01 -!- Lilly_Goodman has joined. 19:53:12 -!- int-e has changed nick to int-e_. 19:53:18 -!- int-e_ has changed nick to int-e. 19:56:36 -!- lleu has quit (Read error: Connection reset by peer). 19:58:20 -!- aloril_ has quit (Ping timeout: 260 seconds). 19:58:54 -!- tswett has quit (Ping timeout: 260 seconds). 19:58:54 -!- cnr has quit (Ping timeout: 260 seconds). 20:00:00 -!- Warrigal has joined. 20:03:42 -!- cnr has joined. 20:03:44 -!- cnr has quit (Changing host). 20:03:44 -!- cnr has joined. 20:05:32 -!- nooga has joined. 20:05:40 -!- lambda-11235 has quit (Quit: Bye). 20:12:02 -!- aloril_ has joined. 20:14:29 -!- Taneb has changed nick to nvd. 20:34:46 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:47:47 -!- Phantom_Hoover has joined. 20:50:06 -!- nooga has quit (Ping timeout: 268 seconds). 20:50:39 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 20:51:17 -!- Lilly_Goodman has joined. 20:54:53 hola 20:55:14 are you from venezuela 20:58:10 Phantom_Hoover, you can't just ask someone if they're from Venezuala 20:58:25 but we get so many people from venezuela! 20:58:43 We also get a lot of people from Finland 20:59:02 [wiki] [[LABEL]] https://esolangs.org/w/index.php?diff=46633&oldid=46631 * FricativeMelon * (+213) 20:59:19 We've in the past had a statistically improbably number of people from a small town in south west Northumberland! 21:00:08 why did we never make a `hexcome 21:01:45 -!- nycs has quit (Quit: This computer has gone to sleep). 21:02:09 -!- hppavilion[1] has joined. 21:03:18 just do it 21:05:09 -!- nooga has joined. 21:11:24 -!- nooga has quit (Read error: Connection reset by peer). 21:14:37 -!- nooga has joined. 21:17:19 -!- I has joined. 21:17:39 -!- I has changed nick to Guest25470. 21:38:25 -!- p34k has quit. 21:42:31 -!- Guest25470 has quit (Ping timeout: 268 seconds). 21:45:08 @ask tswett Wait, aren't functions going to be in the core of Quendle? They should be. 21:45:08 Consider it noted. 21:52:59 User-definable functions... yeah, those will probably be in the core. 21:53:02 -!- Warrigal has changed nick to tswett. 21:53:12 I wonder if I have any new messages. 21:53:36 Probably not. After all, lambdabot would have told me, out loud, in the channel, if that were the case. 21:53:41 tswett: Oh, Warrigal, right 21:54:02 tswett: What about the "is item of" operator? 21:54:29 (traditional: ∈) 21:54:42 I'm writing a mockup DiGraph library for Quendle based on my limited knowledge 21:54:52 @slep tswett 21:54:52 I'd rather not; tswett looks rather dangerous. 21:54:53 e and ∈ look very similar in Neoletters 21:55:04 pity :P 21:55:24 Yeah, that'll be one of the operators. 21:55:27 * int-e sidles home 21:55:48 -!- p34k has joined. 21:57:44 tswett: I'm trying to define subset of in my mockup, but I'm assuming Quendle is fully declarative. Does it have Haskell-style list building? 21:58:03 So far there are no lists, only sets. 21:58:16 tswett: Or, for this, Set Building 21:58:44 The features I've already described are kind of like Haskell-style set building. 21:58:48 {f(x) : x ∈ s, ...} 21:58:52 tswett: Oh, right 21:59:12 tswett: I presume Quendle has unicode support as an alternate to ASCII? 21:59:28 So I can, if I please, literally use ∈ in my code? 21:59:31 -!- Lilly_Goodman has quit (Quit: (saliendo)). 21:59:38 Quendle doesn't even support ASCII as such. 21:59:47 There's no way to say "I don't want the rest of Unicode". 21:59:51 tswett: What does it support? EBDIC? 21:59:54 Oh 21:59:55 OK 21:59:58 -!- Lilly_Goodman has joined. 22:00:20 tswett: Do you mean you can't exclude data to unicode strings, or that untypable characters are required to use the language? 22:00:42 Something like the former. 22:01:07 tswett: Given sets a, b, would a ∈ b return one of {True}, {False}, or {False, True} based on whether all items of a are in b? 22:01:20 Basically, does ∈ work over sets? 22:01:32 I'll probably make that invalid for the time being. 22:01:46 tswett: OK 22:01:56 tswett: What do I do to test for subsetship? 22:02:02 I accidentally got my 2x2 in a certain interesting configuration. I went to this solver site to see if there was a particularly interesting algorithm to produce this configuration. 22:02:05 Given a, b 22:02:24 I guess there's going to be an operator called "subset" or something. 22:02:41 tswett: With alternative ⊂, I hope? 22:02:53 Turns out that yes, there's definitely a particularly interesting algorithm for this configuration. Namely: U F2 U2 R2 U 22:03:03 hppavilion[1]: yup, I suppose that would also work. 22:03:24 tswett: See, if the element-of operator works over sets (as mentioned above), you can do (non-strict) subset with !(False ∈ (a ∈ b)) 22:03:55 Yup. 22:04:19 Which is why there's a subset operator—otherwise you'd have to do something like that. :) 22:04:31 tswett: Ah 22:04:45 tswett: Is there a reduce operator? 22:04:47 Oh, have to go 22:04:53 Be back on in a bit when I'm out of this room 22:05:05 Reduce, what would that be? 22:05:33 There are gonna have to be "all" and "any" operators that work on sets of booleans. 22:06:23 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:07:12 !bf ,[>>+>>,]<<[[<<]>>[-[<]>>[.<<->]>+>>]<<]!foo1234bar 22:07:12 No output. 22:07:18 Turns out the sequence I just gave is self-inverse. Let me investigate why that is. The sequence can also be written as (F2 U2 R2 U2)^U. 22:07:39 F2 U2 R2 U2 is also self-inverse. 22:09:25 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 22:15:28 Let's see. Double that, you get F2 U2 R2 U2 F2 U2 R2 U2, which is, of course, R2^(F2 U2) R2^(U2). 22:16:07 Hm. 22:20:06 -!- boily has joined. 22:26:48 -!- Sgeo__ has joined. 22:27:42 `wisdom 22:28:13 ii/Ii is a municipality in Finland, no matter what you do. Except for speaking Swedish. 22:31:57 nvd: whoa whoa whoa, who's that in -lens? 22:36:01 hellochaf. you would've liked yesterday's Douteux. special pooches. 22:36:15 pooches everywhere. pooches everytime. always pooches. 22:42:15 -!- lynn_ has joined. 22:44:36 I guess another way of saying that is: the involutions F2 and R2^U2 commute. 22:45:57 -!- lynn has quit (Ping timeout: 260 seconds). 22:46:20 Which is not surprising: the effect of R2^U2 on the F layer is to swap two of its pieces. 22:47:18 -!- hppavilion[1] has joined. 22:48:34 tswett: Back 22:48:38 Lemme look at algorithms for the opposite corner swap now. 22:52:13 Okay, this one looks pretty interesting: R U' R' U' F2 U' R U R' U F2 22:53:38 It can also be written as: (U' F2 U')^(U'^R) U F2 22:54:42 Swaps UBL and UFR. Never moves DBL. 22:57:55 Oh, but there's also another way of writing it. 22:59:18 U'^R U' U^(F2 U' R) 23:00:22 ;) 23:02:12 is there a bash program to print the nth command line argument out? 23:02:28 like pi 3 a b c d would print c 23:02:53 Couldn't be hard to write a shell script to do that. 23:03:12 thats not what im asking 23:03:50 What do you mean by "a bash program"? You mean a program that you can run from bash? 23:04:05 pikhq: pi 3 a b c would print b, would it not? 23:04:12 Whooops, vanila 23:04:18 Don't know how I messed that up 23:05:00 I dont mind 23:05:25 vanila: I know 23:05:36 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 23:05:40 -!- mad has joined. 23:05:40 vanila: But my point stands; pi 3 a b c should print b, not c 23:06:05 madios would be a good portutation for mad 23:06:06 ok 23:06:27 -!- Lilly_Goodman has joined. 23:06:59 Did it. hppavilion[1]'s version. 23:07:07 #!/bin/bash 23:07:07 eval 'echo "${'"$1"'}"' 23:07:08 -!- ais523 has joined. 23:07:12 * hppavilion[1] does a happy dance 23:07:19 tswett: I thougt it'd be something like that, with $$ 23:07:34 I thought it'd involve $@ or whatever. 23:07:41 tswett: WROOOOOOOONG 23:07:44 Apparently 23:07:49 I looked at this: http://stackoverflow.com/questions/1497811/how-to-get-the-nth-positional-argument-in-bash 23:07:56 I decided I liked the "eval" solution the best. 23:08:24 ah, bash 23:08:34 I thought it was Perl but $$ and $@ are unrelated in Perl 23:08:36 -!- jaboja has quit (Ping timeout: 246 seconds). 23:09:00 http://www.agner.org/optimize/instructionset.pdf "Proposal for an open standard instruction set" What do you guys think of this? 23:09:01 other than that they're both punctuation variables 23:09:58 eval is dangerous 23:10:11 its a nice hack but not safe 23:10:12 mad: /me looks 23:10:50 it's still assuming that processors work much like today's processors :-( 23:11:13 I don't like that assumption; I think we'd have moved on to different processor architectures long ago if not for backwards compatibility 23:12:35 what do you think processors would look like if they weren't stuck with backwards compatibility? 23:12:37 What's wrong with x86 and ARM? 23:13:03 x86's worst sin IMHO is byte-sized instruction size granularity 23:13:20 -!- jaboja has joined. 23:13:24 with very complex determination of instruction length due to prefixes etc 23:14:13 mad: I think they'd allow for more dynamic parallelism and aliasing behaviour 23:14:43 -!- nooga has quit (Ping timeout: 248 seconds). 23:14:46 Proposal: all instructions are encoded as UTF-8. 23:14:48 -!- nooga_ has joined. 23:15:48 that only goes up to 31 (32?) bits even if generalized, though 23:15:50 ais523 : that means that they wouldn't have strictly ordered memory loads/stores? 23:15:52 and dos so quite inefficiently 23:16:07 mad: most processors don't even now, x86 is weird in that regard 23:16:13 well 23:16:23 I mean strictly ordered from the view of a single thread 23:17:01 Ie irl it's out-of-order but from the view of the instruction sequence, loads/stores happen in-order 23:17:59 well, I think threads need to be /really/ cheap 23:18:19 so that if you write "a = 1; b = 2" you can run those in separate threads to gain a little performance 23:18:25 assuming a and b don't alias 23:18:39 hmm, that's interesting 23:18:46 how would you do it? 23:20:03 completely change how OS's schedule threads? (considering that right now, schedulers are basically hostile to short lived threads) 23:20:13 -!- Lilly_Goodman has quit (Ping timeout: 244 seconds). 23:20:19 I'm not sure yet 23:20:28 you'd need some lightweight method of specifying fork/join directly in the asm 23:20:34 there are a few possibilities 23:20:58 I believe the processor would schedule threads in hardware on a small scale, and ask the OS for help only when there were too many to fit on the processor 23:21:19 swapping in and out entire processes if possible, and groups of threads if the processes didn't fit 23:21:29 I was thinking about threads while I was doing that OS in Rust. 23:21:46 ais523 : hmmm 23:22:06 -!- Lilly_Goodman has joined. 23:23:00 I had a thread-switching method (which I never tested) that was pretty simple. 23:23:07 ais523 : maybe you could have inactive cores be placed in a pool that can be instantly allocated by the currently running "most important process" (presumably, the process 'on front' in a windows-style scheduler that priorizes GUI programs) 23:23:27 Push all registers. Change the stack pointer to something else. Pop all registers. 23:23:36 and if it has available cores in that pool, the "asm fork/join" is fast 23:24:00 ais523: well, the cpu already *sort of* does that, as long as you're content with the threads using the same register set, it runs the threads in parallel only if there's no unpredicted branch or other difficult instruction in them, and on x86 the memory access instructions between those threads aren't reordered. 23:24:02 Here's a thought. Make it so you can pretty much have an unlimited number of threads going at once. 23:24:24 b_jonas: yes, x86 internal design is moving in the direction of trying to convert code into that form automatically via static analysis 23:24:38 which is one of the reasons that x86es are so hellishly complicated 23:25:14 ais523 : that being said, if programs are going to expose parallelism through threading, there are already good designs oriented around that (current generation of SPARCs heavily bank on this) 23:25:19 -!- oerjan has joined. 23:25:31 There's a thread queue. The processor repeatedly grabs the first 16 of those threads, executes a bit, and puts them all back on the queue. 23:25:56 tswett: probably it should grab the first 16 runnable threads 23:25:58 ais523: I imagine a cpu could have "hint" style thread fork and join instructions, which try to run a jump in a separate lightweight thread if it can, otherwise just run them one after the other. sort of like how the x86 transactional instructions are "hint" style: there's an easy mapping to trivial instructions the cpu can always fall back to in difficult cases. 23:26:01 using some sort of method to determine runnability 23:26:11 ais523: as in, these instructions would be jumps, not nops. 23:26:48 I think it's weird how CPUs go to a humongous amount of effort to execute each instruction. 23:27:19 although they'd have to be very careful about what happens to the registers 23:27:40 like, if you know your typical workload is going to have >10 threads, you can basically give up the current generation of CPUs, go towards something simple like an early ARM (in-order 1 or 2 instructions per cycle), add hyperthreading and lots of cores 23:28:13 It seems like it would be better to move the complexity from the CPU into the compiler. 23:28:15 and then your main design problem becomes cache line coherency between 10's of cores 23:28:50 ais523: "x86 internal design is moving in the direction of trying to convert code into that form automatically via static analysis" -- it's not really static analysis, it happens mostly dynamically a few instructions ahead I think. also, it's not only x86 that's doing that, but some other modern cpus like arm 23:29:11 Like, maybe you could make it so that each CPU has its own instruction set, and there's just a small common core supported by the entire family. 23:30:02 "It seems like it would be better to move the complexity from the CPU into the compiler." => that was the idea of ia64. it failed because business only wants a cpu that can run the software they write NOW faster, rather than a cpu that will run the software you develop 8 years in the future faster. 23:30:20 tswett : main problems with that is that it's hard for a compiler to guess which memory loads will land in L1 cache and which ones are going to land in L2 cache 23:30:21 mad: this is why aliasing needs to be efficient too 23:30:29 b_jonas: we've discussed this before in #esoteric 23:30:33 (that's why x86 and arm are so bundled with historical compatibility.) 23:30:40 other theories as to why it failed include "the concept was a good idea, but the actual implementation was insane" 23:30:51 * APic thought Itanium was the Approach with static Analysis. 23:30:59 and "it was released before someone had produced a good compiler for it" 23:31:05 ais523: I don't know, luckily I don't know much about ia64. it might have failed for other reasons too. 23:31:06 I don't think itanium failed because lack of x86 compatibility 23:31:19 apparently, many compiler vendors put out a "minimum that works" compiler rather than one that did the analysis properly 23:31:35 that was excessively cautious to the point of absurdity 23:31:36 Then each CPU also has some machine-readable description of its instruction set (good luck with that) which compilers can use to produce something actually, like, fast and good. 23:32:02 what really killed itanium is that they could never get it to really be faster than x86 23:32:15 Yah. 23:32:29 -!- lambda-11235 has joined. 23:32:39 except maybe for floating point but itanium was mainly used in servers so good floating point perf was useless in that setting 23:33:04 floating point on servers isn't unheard of, but they tend to be pretty specialized servers 23:33:10 often computation-as-a-service 23:33:26 ais523: did ia64 have a cpu software architecture (that is, instruction set) that made sense now but would not have made sense 6 years later, like the delay slots in MIPS? 23:33:28 if you're going to run code that's not numerically heavy, then there are really only 2 designs 23:33:39 -!- Lilly_Goodman has quit (Ping timeout: 244 seconds). 23:33:44 b_jonas: I don't think it made sense even at the time 23:33:47 hehe 23:33:48 ok 23:33:52 so many weird edges 23:34:02 (1) the load is threadable: SPARC (as many simple cores as possible on a chip) 23:34:03 ais523: Why not have a programming language with one instruction: Upload the following string to a server via HTTP and execute it in some minimal language 23:34:16 1-instruction RISC TC 23:34:33 (No one bring up RSSB or SUBLEQ, as those aren't RISCs) 23:34:39 SUBLEQ 23:34:46 vanila: I hate you. 23:34:49 :-) 23:34:53 hppavilion[1]: Last ReSort? 23:35:13 (2) the load is not threadable: humongously complex out-of-order cpu in the style of the Haswell and all PentiumPro descendents. This is what intel is good at, and what x86 is less disadvantaged at (basically, intel wins). 23:35:36 so that language is basically another language 23:35:37 great 23:35:38 one instruction that takes no arguments, unknown TCness 23:35:41 also, see IRP 23:35:44 I want to make a language that looks like an ASM, but has subtle high-level mathematical features 23:35:51 For example, you can mutate the IS 23:36:21 Itanium failed because it can't delay part of the instruction stream if one load falls into L2 instead of L1 23:36:31 mad: well the situation nowadays is that most loads /are/ threadable but people don't thread them because it wouldn't gain on x86 23:36:54 for example, in general, there's no reason why a compiler can't optimize all functions in parallel, but I'm not aware of any compiler that does 23:37:00 if they are threadable, they WOULD gain on x86 no? 23:37:08 not by enough for people to care 23:37:37 mad: when you say "delay part of the instruction stream" you mean to skip ahead to executing non-dependent instructions? 23:37:47 I think there are plenty of reasons why a compuiler can't optimize all functions in parallel 23:37:50 (fwiw, Last ReSort's instruction is "p = (*p)++") 23:37:56 coppro : basically yes 23:38:12 coppro: there are various ways to view the same thing, that's one way to explain it 23:38:28 incidentally, this is also an operation that GPUs are good at 23:38:28 -!- Lilly_Goodman has joined. 23:38:41 in GPU programming, reading/writing main memory is something you do explicitly, normally in a multithreaded way 23:38:48 and the threads get suspended while they're waiting for the value to turn up 23:38:49 in a PentiumPro-descended cpu, each cycle it finds the earliest instructions in the instruction stream that are "ready to execute" 23:39:05 (main GPU memory, that is; the alternative is block memory, which is basically your cache) 23:39:14 (except it's managed explicitly) 23:39:22 if you have one load that unexpectedly falls in L2 or RAM or has a TLB miss then it keeps doing pretty much everything that doesn't depend on that load 23:39:22 ais523: that's the good situation. the bad situation is when people care too much about threading, and prematurely implement all their small functions to use threads, when they will actually want to run so many of the whole high level processes at the same time anyway that just the non-idle high level processes alone are enough for as much threading as the hardware can do, and the low-level threading just makes everything slower. 23:39:40 \ when they will actually want to run so many of the whole high level processes at the same time anyway that just the non-idle high level processes alone are enough for as much threading as the hardware can do, and the low-level threading just makes everything slower. 23:40:00 b_jonas: well the extreme case is that you use reconfigurable hardware, and quickly throw up a hardware implementation of your low-level code that has all the forks as literal forking wires 23:40:08 (this is basically what my day job is about) 23:40:32 ais523: as in an FPGA array? 23:40:35 considering that chips have more and more dark silicon, a scenario similar to this will probably play out 23:40:36 b_jonas: right 23:40:39 I see 23:40:47 ais523: that's definitely not what _my_ dayjob is about 23:40:59 mad: "dark silicon" = components that aren't being used for anything at that moment? 23:41:02 I may use ordinary threading for my dayjob, when it's necessary, but no FPGA stuff 23:41:05 ARMs already have cheap in-order cores and expensive out-of-order cores on the same chip 23:41:08 @metar FPGA 23:41:08 No result. 23:41:15 meh. would've been nice. 23:41:19 ais523 : sections of the chip that are literally powered down 23:41:41 ais523 : because the chip can only output so much heat so it dynamically selects which parts to power down 23:42:04 that's one way to deal with heat dissipation issues, I guess 23:42:53 ais523: a specific case I met is ffmpeg automatically choosing to encode a video using about as many parallel threads as the machine has hardware threads, which was like 24 on a server, and I was running about 16 video encoders in parallel, 23:43:07 you could have a cpu with one complex out-of-order core, and tons of simple in-order cores 23:43:18 if your load is threaded it uses the in-order cores 23:43:23 so not only did the threading now speed up the encoding, it also ran out of memory because using multiple threads in the encoder requires more memory. 23:43:23 mad: that's basically whta a CPU+GPU combination is 23:43:39 b_jonas: why not just run them in series? 23:43:52 ais523 : well, gpu is a different thing 23:44:05 This was a silent bug on the workstation I tested, because that computer had only like 4 cpus, so it was unexpected on the server. 23:44:18 ais523: the incoming data was generated in parallel 23:44:19 gpu is used for very different things than sparc-style "tons of in-order cores" 23:44:23 -!- nooga_ has quit (Read error: Connection reset by peer). 23:44:45 anyway, I think FPGA implementations of C-like software typically have less heat output per transistor than CPU implementations 23:44:48 Once I realized what was wrong, it's easy to solve: there's an option to explicitly tell the number of threads to use. 23:44:58 because which parts of the chip are in use depend on the instruction pointer 23:45:03 GPUs work because they run very numerical code that does tons of floating point multiplications 23:45:29 ais523: sure, but such implementations are more difficult to create 23:45:30 and also GPUs work because the memory writing patterns are known beforehand 23:45:48 -!- Lilly_Goodman has quit (Excess Flood). 23:46:18 ais523 : oh? I've never seen stuff like that actually 23:46:24 -!- Lilly_Goodman has joined. 23:46:33 \ when they will [...] <-- none of that actually got cut off in the first place hth 23:47:31 oerjan: I can't count bytes together with irc headers in my head then 23:47:32 -!- Lilly_Goodman has quit (Excess Flood). 23:47:53 I just guesstimate it 23:48:06 -!- Lilly_Goodman has joined. 23:49:50 -!- nooga has joined. 23:51:25 I think that if you designed a cpu for running standard single-threaded C++ code, it would probably be very similar to a MIPS even now 23:51:50 -!- digitalcold has quit (Quit: Reconnecting). 23:51:57 -!- digitalcold has joined. 23:52:54 mad: that was backwards. cpus were like MIPS when C was born, and C was designed to be easy to compile so originally C contained only such operations as builtins that the cpu can do easily. 23:53:29 possibly with some concessions to either CISC (ie something like an AMD Athlon but without the x86 encoding insanity), or some concessions to VLIW, or concessions to both (ARM is basically a mix of all 3 philosophies) 23:54:26 -!- p34k has quit. 23:54:28 (That's before C gained support to copy struct values.) 23:55:14 b_jonas : cpus were more like x86 when C was born no? 23:55:23 rather than mips 23:55:43 mad: same thing at that level. consider the 8086, not the modern x86. 23:56:54 dunno, I think the 8086 has lots of weird stuff that doesn't translate well to C 23:56:59 like segment registers 23:57:22 multiple aliases of the same register with different sizes (AL, AH, AX, later EAX) 23:57:31 weird instructions like XLAT 23:57:41 string manipulation instructions 23:59:14 https://www.youtube.com/watch?v=pxh-Hjj8T9o 23:59:19 if you look at other architectures of the time, they're even less C-like 23:59:26 like the 6502 or the z80 23:59:39 if C was made for those, it would have a zero page 23:59:44 mad: but those cpus aren't what C was ran on 2016-03-23: 00:00:02 the exception is 68000 which afaik doesn't match all that badly with C 00:00:25 @metar FPGA <-- apparently FP only has 3 airports. 00:00:45 mad: C has register 00:01:00 mad: C was ran on PDP-10 and stuff like that 00:01:05 -!- J_Arcane_ has joined. 00:01:06 its definition maps onto zeropage quite well, apart from the fact you can't take pointers to it 00:01:25 I see 00:01:38 yeah I guess register would sorts match 00:01:38 ish 00:02:09 that said zeropage pointers are different from main memory pointers 00:02:25 maybe C should have had near* and far* from the start 00:02:33 -!- J_Arcane has quit (Ping timeout: 240 seconds). 00:02:41 MIPS is basically the set of instructions that are (1) electrically feasible and (2) actually useful 00:02:44 -!- J_Arcane_ has changed nick to J_Arcane. 00:03:01 ais523: I don't think register matches, because register values are local to a function, whereas zeropage are global 00:03:26 does 'register' have any effect on compiler output nowadays? 00:03:43 MIPS := {x : x in Instructions, useful(x), feasible(x)} 00:03:54 hellørjan. they have enough space for three airports? 00:04:04 mad: no, and it is getting deprecated in C++ so the keyword can be reused in the future like the auto keyword 00:04:05 SomeEsolang := {x : x in Instructions, useful(x), feasible(x)}^C 00:04:11 @metar FPST 00:04:11 far future 00:04:11 No result. 00:04:17 pfshaw. 00:04:22 b_jonas: what would they reuse it for? 00:04:30 "auto" is a happy coincidence IMO 00:04:36 three airports, no weather. that is completely mad. 00:04:40 mad: Does MIPS have Fixpoint Locate? 00:04:46 (sort-of like Java's variances, except that's less of a coincidence) 00:04:49 @metar EGBB 00:04:49 EGBB 222350Z 35003KT 9999 OVC027 08/04 Q1016 00:05:01 ais523: not much yet, I don't remember, possibly a non-keyword identifier 00:05:09 hppavilion[1] : what's that? 00:05:15 ais523: it's very far future, it's not even deprecated yet in C++14 I think 00:05:48 mad: Something utterly useless, now that I've sent that message 00:06:15 ais523: and it's not really a co-incidence, given how C++ language extensions very often reuse keywords for new purposes 00:06:32 mad: FPL takes one address as an argument and looks at that register. If the value in that register is equal to its address, done. Put the value in the standard output (not stdout) register. Else, do FPL with the value in the register. 00:06:48 b_jonas: I mean that it happened to be very descriptive of "infer this", already a keyword, and basically unused 00:06:51 mad: It's useless, but interesting. You use it to implement OMEGA-MOV 00:07:20 Which is based on my MOV notation 00:07:56 hppavilion[1]: isn't it really inefficient because it has to scan all of memory? 00:08:01 ais523: No 00:08:01 I just guesstimate it <-- people claim freenode will disconnect you if you actually send a too long line, so your _client_ has to know... 00:08:07 ais523: It doesn't scan all of memory 00:08:20 ais523: Let me python it for you 00:08:23 wait, isn't this the operation that finds a pointer that points to itself? 00:09:09 -!- ais523|telnet has joined. 00:09:19 his523|telnet! 00:09:23 0123456789 00:09:30 wait. you can connect to IRC through telnet??? 00:09:35 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 00:09:39 yeah just gotta repoly to pings 00:09:42 ais523|telnet: http://pastebin.com/u4Y2EntC 00:09:49 afaik IRC is very close to telnet 00:09:51 vanelloa. the more you know. 00:09:52 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 00:09:52 ais523|telnet: Yes, it is 00:09:57 ais523: class, inline, delete, new, default, extern, mutable have all been used for something else other than their first meanings (while their original meaning is and will be still live), and maybe even const has if you count the original C meaning 00:09:59 this is really good numbers 00:10:02 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 00:10:02 1234 00:10:04 lrol 00:10:08 mad: I still haven't found a proper porthello for you... 00:10:10 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 00:10:16 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 00:10:21 boily: I figured out the portgoodbye for mad 00:10:26 ais523|telnet: stahp 00:10:35 he cant 00:10:36 ais523|telnet: GO ON! WOO! 00:10:39 this is the power of telnet 00:10:48 that was 500 00:10:50 hppavilion[1]: hppavellon[1]. and it is? 00:10:54 boily: madios 00:10:56 as 00:11:10 you can see it was cut off (bleh missing colon) 00:11:19 now I'll do 1000 00:11:27 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 00:11:31 ais523|telnet: Why in Java are you on telnet? 00:11:37 haven't been booted yet 00:11:47 and how else could I send overlong lines? 00:11:52 ais523: yes, you can do up to I think 2300 00:11:53 ais523|telnet: Oh 00:11:57 doesn't show as overlong here 00:11:59 ais523: the length of the send queu 00:12:01 now for 2000 00:12:06 ais523|telnet: stahp 00:12:07 um, receieve queue 00:12:10 2000 is still safe 00:12:11 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 00:12:28 ais523|telnet: Why would you do this on #esoteric? 00:12:29 OK, 2300 00:12:37 this iss importan tfor #esoteric 00:12:44 no it's not. 00:12:46 we will get to see a lot of numbers 00:12:50 so you can all see the results 00:12:51 its almost like a rainbow 00:13:02 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 00:13:05 I never thought I'd put an incarnation of ais523|telnet on ignore... oh well. 00:13:09 that 00:13:11 ais523: no wait, sorry, not 2300 but a bit more than 3040 00:13:13 (minus the |telnet) 00:13:21 was 2300 00:13:28 3000 next? 00:13:31 ais523|telnet: NO. 00:13:37 hppavilion[1]: IT'S FOR SCIEEEEENCE!!!!!!1!!!one!!!!eleven!!! 00:13:39 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 00:13:46 3000 works 00:13:46 ais523: 3040 is safe if your send queue is empty 00:13:52 let's do 3100 then 00:14:04 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 00:14:09 I see 307 characters 00:14:36 huh, I'm being sent 421s, what does that mean? 00:14:37 ais523: and you can tell that your send queue is empty by sending PING and receiving the reply, for the server executes all local commands synchroniously, only commands that communicate with other servers or other clients or services can get a delayed response 00:15:13 ais523: 421 means unknown command, you typoed a command 00:15:18 ais523: or entered an empty line 00:15:52 looks like Freenode is splitting my command halfway then 00:16:11 if intel just did a copycat MIPS-like cpu like everyone else instead of itanium it would have been faster 00:16:23 ais523: that would be strange 00:17:05 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 00:17:22 didn't that time 00:17:32 that was 3005 and I got no 421 00:17:43 mad: packaged ARM cpus cover that area of business quite well, so I don't think Intel would have much comparative advantage there 00:17:51 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 00:18:12 b_jonas : "instead of itanium" 00:18:28 that was 5005 and I got two 421s 00:18:45 -!- XorSwap has joined. 00:18:50 the second one seemed to be from somewhere near the middle of the message 00:19:33 b_jonas : for embedded the story is mostly that ARM is displacing MIPS 00:19:57 and also 8 and 16bit cpus like PICs due to being a lot faster 00:20:47 a000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999b000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999c000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999d000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999e00000000011111111112222222222333333333344444444445555555 00:21:00 2600, no numerics 00:21:02 * boily cheers ais523|telnet with pom poms 00:21:14 * hppavilion[1] is disturbed by that image 00:21:18 ais523: try 3585 so you're finally quitted! 00:21:37 01234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456 00:22:06 I don't remember the exact limit, although I think I've seen it somewhere in the server source code which is public 00:22:09 A000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999B000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999C000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999D000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999E00000000011111111112222222222333333333344444444445555555 00:22:19 5200 00:22:21 -!- lynn_ has quit (Ping timeout: 248 seconds). 00:22:34 0123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456012345601234560123456 00:22:36 ais523: I'm seeing messages of fairly consistent length 00:22:39 the 421 started with "9g" 00:22:46 hppavilion[1]: of course, they're all being cut off 00:22:56 ais523: Then what is their purpose? 00:22:59 it ended with 9 6's after "j" 00:23:02 ais523, why not try setting the topic very long 00:23:09 hppavilion[1]: to see how the IRC server reacts 00:23:14 ais523: Ah 00:23:17 which isn't visible outside telnet, other than whether I get DC'ed 00:23:29 vanila: Because we'll lose our topic 00:24:07 a000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999b000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999c000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999f000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999e00000000011111111112222222222333333333344444444445555555 00:24:26 hmm, seems to be cut off at a different place each time 00:24:38 :cameron.freenode.net 421 ais523|telnet 888889999999999o000000000 00:25:29 PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :P 00:25:43 :cameron.freenode.net 421 ais523|telnet soteric :Unknown command 00:25:44 :cameron.freenode.net 421 ais523|telnet #esoteric :Unknown command 00:25:49 heap-spraying attack :-P 00:26:04 PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :P 00:26:14 "ic", that time 00:26:33 ais523: WHAT IS ic!? 00:26:37 PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :P 00:26:44 bleh 00:26:54 hppavilion[1]: cut off "PRIVMSG #esoteric" 00:27:04 ais523: Ohh 00:27:11 hppavilion[1]: ic time is close to fnord am hth 00:27:15 `? fnord am 00:27:26 ais523: what are you doing now? 00:27:29 * boily mapoles HackEgo 00:27:30 Fnord AM is the repeated hour that happens when DST resolves. It is customary to celebrate it with a Garou Ping if one is awake during that time. 00:27:40 soteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #es 00:27:55 lifthrasiir: trying to send two commands in one line of input 00:27:57 hellifthrasiir. he's being MAD! HE'S EXPERIMENTING! WITH SCIENCE! 00:28:07 oerjan: I think that GG binge is gaining on my sanity... 00:28:20 ais523: probably dependent to the recv queue size 00:28:39 lifthrasiir: yes 00:28:44 that's why I'm heap-spraying 00:28:55 What would be good for an esoteric calculator? 00:29:00 I'm thinking ` for grouping 00:29:02 hppavilion[1]: dc 00:29:15 1234567890PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #e 00:29:23 hppavilion[1]: dc. 00:29:23 lifthrasiir: Operators and perhaps values, not software 00:29:29 boily: Not software 00:29:44 hppavilion[1]: start with -> Knuth arrow and nothing else 00:29:45 Perhaps it would include @? 00:29:46 xxPRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric 00:30:03 lifthrasiir: Knuth Arrow or ->? There's a differenc 00:30:04 e 00:30:17 xxxxxxPRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esoteric :PRIVMSG #esote 00:30:17 I meant the Knuth Arrow which has a common appearance of -> 00:30:22 kleisli arrow imo 00:30:26 -!- ais523|telnet has quit (Quit: bleh). 00:30:32 lifthrasiir: So no addition? 00:30:53 lifthrasiir: Do you mean uparrow, only including hypops >= 4? 00:31:03 yeah, that kind of thing 00:31:06 lifthrasiir: OK 00:31:07 ah 00:31:12 I've got the direction wrong 00:31:13 lol 00:31:23 lifthrasiir: That explains it 00:31:32 Knuth Arrow /|\ 00:31:34 lifthrasiir: So hyperoperations only >= 4? 00:31:50 lifthrasiir: Instead of Knuth Arrow, I think I'll go with /\**/ 00:31:58 what's that? 00:32:04 lifthrasiir: It's python 00:32:15 lifthrasiir: In python, * is multiplication, ** is exponentiation 00:32:28 And I've extended it so *** is tetration, **** is pentation... 00:32:36 hppavilion[1]: if multiplication can be implemented out of additions (not repeated ones), having *only* hyperoperations seem to be fine 00:33:02 lifthrasiir: So I shouldn't include addition, multiplication, or exponentation? Or did I interpret that wrong? 00:33:10 hppavilion[1]: I have an idea that ^ == ** and ^^ == **** and ^^^ == ******** and so on. 00:33:13 I meant that 00:33:18 OK 00:34:28 oerjan: I think that GG binge is gaining on my sanity... <-- don't worry, just drink this elixir and your sanity should be unstoppable hth 00:34:32 lifthrasiir: How about I have ^ be ternary instead? 00:34:44 lifthrasiir: what? isn't the normal notation ^^ = *** and ^^^ = **** ? 00:34:46 x^n:y = H[n](x, y) 00:34:49 lifthrasiir: as in, ^^ is tetration 00:35:08 ah, I have another idea 00:35:15 lifthrasiir: Tritshifts? 00:35:30 Oooh, segmented bitshift. 00:35:32 a sequence of * and ^ is interpreted as a hyperoperator of given binary number encoded by * and ^ 00:35:46 lifthrasiir: Maybe we should make it so ALL esocalc operators are ternary 00:35:51 given *bijective* binary number, sorry 00:35:56 lifthrasiir: Oh, that's good. 00:36:05 lifthrasiir: bijective? 00:36:10 oerjan: elixir? is it Norwegian? and traditional? me want some :D 00:36:13 What does bijection have to do with binary encoding? 00:36:25 hppavilion[1]: 0 1 00 01 10 11 000 001 010 011 100 101 110 111 0000 ... 00:36:35 Wut. 00:36:37 bijectivity is required for using all possible sequences 00:36:48 lifthrasiir: Ah, I get it 00:37:06 lifthrasiir: What's the algorithm for processing bijective binary? 00:37:09 so, well, * ^ ** *^ ^* ^^ *** etc? :p 00:37:10 Into decimal? 00:37:43 lifthrasiir: Though I still like the only-let-use-use-ternary-operators idea 00:38:00 hppavilion[1]: bijective abc...xyz is binary abc...xyz plus 2^(# of digits) 00:38:01 *ternary and higher 00:38:06 Oh 00:38:08 the inverse is also not too hard 00:38:10 That works 00:38:16 Logarithms, I presume 00:38:27 lifthrasiir: Wait, no... 00:38:41 Because + is hard to inverse given a single argument :P 00:38:59 ah, I meant that the conversion from injective to bijective is not too hard either 00:39:05 not about operations 00:39:06 Ah 00:39:09 boily: it is SCIENCE hth 00:39:12 lifthrasiir: What about surjective? 00:39:28 Or nonjective? 00:39:31 lifthrasiir: maybe you want conway chained arrows 00:39:33 I haven't heard of surjective numeration :p 00:39:39 oerjan: possibly. 00:39:40 DAMN. 00:39:41 lifthrasiir: I haven't either 00:39:46 I must have confused them 00:39:48 -!- lleu has joined. 00:39:55 lifthrasiir: I do like segmented bitshift though. 00:39:58 Good esop 00:40:05 what is segmented bitshift? 00:40:06 (not to be confused with aesop) 00:40:12 ais523: are you sure it wasn't telnet that did the cutting off? maybe it negotiated some max length >:) 00:40:15 lifthrasiir: It's bit rotate, but it takes another argumetn 00:40:24 And intstead of shifting the whole thing 00:40:27 oerjan: IRC servers don't respond to telnet negotiation 00:40:28 * boily drinks Dr. Aid Metaphorical Kool Kola 00:40:33 but if you insist I'll use netcat next time :-P 00:40:33 It shifts the segments of size s 00:40:39 a< hppavilion[1]: so 0b10111001<<2:5 is 0b1010011001, right? 00:41:44 So 0b1100_1011_0001<<1:4 = 0b1001_0111_0010 00:41:47 or is it 0b10100111? 00:41:49 lifthrasiir: It's that 00:42:03 -!- XorSwap has quit (Read error: Connection reset by peer). 00:42:24 a<>c< lifthrasiir: Esocalc also, obviously, would have registers 00:42:37 But they wouldn't be numeric 00:42:42 They would hold expressions 00:42:48 So you do algebra with numbered variables 00:42:54 I had an idea about ridiculously high level language 00:43:09 :t System.IO.openBinaryTempFile 00:43:12 FilePath -> String -> IO (FilePath, GHC.IO.Handle.Types.Handle) 00:43:14 lifthrasiir: HTF did you figure that out. 00:43:19 :t System.IO.openBinaryTempFileWithDefaultPermissions 00:43:20 FilePath -> String -> IO (FilePath, GHC.IO.Handle.Types.Handle) 00:43:39 -!- lambdabot has quit (Quit: brb). 00:43:50 hppavilion[1]: in terms of features, of course. (not about abstractions, I don't get category theory after all) for example, it has a built-in image type and can recognize letters from it, but it doesn't have an integer nor addition 00:44:05 something like that 00:44:09 lifthrasiir: Interesting 00:44:17 lifthrasiir: So it abstracts away simplicity? :P 00:44:24 exactly :p 00:44:58 lifthrasiir: I had an idea to make a magazine catalog advertising abstract computer science as things you could buy 00:45:38 Like a $300 binary Turing Machine (vertices, edges, and wiring kit not included) 00:45:58 DAMN. <-- what 00:46:01 A related idea is "abstract accessories" 00:46:19 Which are things that you plug into an abstract machine to make it more useful 00:46:24 Abstract Monitor and Abstract Mouse 00:46:33 Abstract Keyboard 00:46:49 AbstractKeyboardFactoryFactory. 00:46:56 boily: No. 00:47:19 * hppavilion[1] stabs boily with a walrus tusk for bringing up that kind of atrocity in his presence 00:47:26 but if you insist I'll use netcat next time :-P <-- *MWAHAHAHA* 00:47:42 (in the glossary, no less) 00:47:52 oerjan: the only real difference is that you exit netcat differently 00:48:01 "|telnet" is a bit of a meme though 00:48:09 -!- lambdabot has joined. 00:48:15 lambda-11235!? 00:48:33 lifthrasiir: Abstract keyboard. 00:48:42 hppavilion[1]: Yes? 00:49:03 hppavilion[1]: hey! I resent that! 00:49:17 lambda-11235: Whoops, I meant lambdabot 00:49:22 ais523: I usually use nc_jonas as my nick when I irc with netact (but this isn't a requirement of course) 00:49:32 lambda-11235: Your name is inconvenient for me. 00:49:36 (sometimes I do use other nicks) 00:49:46 (it's just a default) 00:50:52 I think we should take Abstract Machines to the logical extreme in a parodical matter and pile on other computer stuff with the "Abstract" prefix 00:51:01 oerjan: well, I spent more than an hour on figuring out why lambdabot created its state files with no read permissions for others 00:51:25 Your Abstract Browser uses Abstract Sockets to query an Abstract Server for an Abstract Webpage 00:51:53 oerjan: turns out that openBinaryTempFile does it that way and I wanted openBinaryTempFileWithDefaultPermissions instead. 00:52:02 Just be careful not to download any Abstract Malware 00:52:05 * boily lops hppavilion[1] with strengthened carballoy moose antlers 00:52:16 boily: I deserved that 00:52:19 boily: Though I'm serious 00:52:34 Why not abstract other stuff to make something stupid? 00:52:52 oerjan: which is quite a mouthful 00:53:16 oerjan: but mostly I'm annoyed that it took me so long 00:53:35 hppavilion[1]: I'm not so much against tacking Factory here and there. it's a well defined pattern by itself, and it's quite useful. 00:54:03 boily: FactoryFactory. 00:54:08 boily: That's too much. 00:54:12 on the other hand, I profundly despise Engine. it serves absolutely no purpose except making you type more, and for bureaucrats' solitary pleasures. 00:54:25 what's the Engine Pattern? 00:54:34 hppavilion[1]: the first is a Factory. the latter is a Factory. clear! 00:54:50 also, I think factories are only necessary due to the builder pattern 00:54:53 ais523: absolutely nothing. some people just like gluing that word to class names. 00:54:56 Probably something evil like the Factory Pattern 00:55:04 Factory 00:55:07 Yah 00:55:08 the /concept/ is useful, but if you aren't using builders, a factory can just be a function rather than a class 00:55:08 vanilaFactory 00:55:19 -!- vanila has changed nick to vanilaFactory. 00:55:23 I like builder. it's fluent, compact, and tremendously useful for objects with lots of options and configuration. 00:55:44 -!- vanilaFactory has changed nick to vanilaFactory[bu. 00:55:59 ais523: that's why I'll simply use static methods. I have to battle somme colleagues over code reviews for that, but I can get quite persuasive. 00:56:01 mwah ah ah. 00:56:15 builder makes me uneasy but it's hard to explain why 00:56:20 also static methods are not inherently a bad thing 00:56:48 oerjan: anyway, now http://silicon.int-e.eu/lambdabot/State/ works. 00:56:50 the Java I write dangerously leans on the functional side. immutable variables, static methods, fluent style. 00:56:53 ais523: What are the benefits of Minsky Machines over Turing Machines? 00:57:08 Is there some efficiency thing or something? 00:57:30 hppavilion[1]: turing machines have a sequential-access tape that can be scrolled both ways; this can be hard to implement in lower-level languages 00:57:45 minsky machines are a much more natural fit for very low-level work 00:58:31 ais523: Let me phrase that differently. Imagine Turing and Minsky machines were real computers you could buy- they were the /only/ computers you could buy. You go to the store and buy a Minksy Machine. Why might you have chosen it over the Turing Machine? 00:58:53 hppavilion[1]: oh, assuming that they aren't optimizing 00:58:56 the turing machine would be better 00:58:58 it's a more powerful language 00:58:59 Turing machine vs Minsky machines.. who would wiN? 00:59:10 turing tends to be faster 00:59:14 this is the reason minsky machines are useful, though, they're less powerful and thus easier to implement 00:59:23 ais523: I guess I'll just make the Minsky Machine cheaper then :P 01:00:24 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 01:01:03 Static ♥ 01:01:44 APic: AAAAAAAAAAAAAAAAAAAAAAH! 01:01:49 Gesundheit. 01:01:49 first time I see you speak. 01:01:52 Ok. 01:01:53 Happens. 01:02:16 Indeed. 01:08:15 as you see, APic can only say one word per line. 01:08:21 Yah. 01:08:30 So what if not? 01:09:25 ooh, upgrade 01:12:23 APic++ 01:15:11 B-) 01:15:30 So does „B“ count as Word? 01:16:02 > „B“ :: Word 01:16:04 :1:1: lexical error at character '\8222' 01:16:07 NOPE 01:16:32 B-) 01:16:33 Ok. 01:16:51 From English-Arabic FreeDict Dictionary ver. 0.6.2 [fd-eng-ara]: 01:16:51 B 01:16:51 بي - الحرف الثاني في اللغة الإنجليزية 01:16:53 ;=P 01:17:42 * boily shakes his terminal the other way round 01:17:51 nope. all jumbled. 01:18:09 Terminals ♥ 01:19:52 mad: I'm looking at the instruction set proposal you linked, and I'm a little confuse about the compare operations 01:20:22 I'd have assumed that the obvious thing to do would be to have a "/dev/null" register that discards everything written to it, and use that as an output on sub or xor or the like in order to do a compare 01:20:38 [wiki] [[The Abstract Computer]] N https://esolangs.org/w/index.php?oldid=46634 * Hppavilion1 * (+3308) Created Page (I'm so, so sorry) 01:20:42 what's there at the moment seems like a weird mix of "condition codes from normal arithmetic" and "condition codes from compare" 01:20:58 * APic remembers the good old Times where You actually needed Terminators for the good old 10MBit-BNC-Networking 01:21:01 [wiki] [[The Abstract Computer]] https://esolangs.org/w/index.php?diff=46635&oldid=46634 * Hppavilion1 * (-2) Fixed formatting 01:21:42 [wiki] [[The Abstract Computer]] https://esolangs.org/w/index.php?diff=46636&oldid=46635 * Hppavilion1 * (+47) Finished a dangling sentence. 01:22:54 [wiki] [[The Abstract Computer]] M https://esolangs.org/w/index.php?diff=46637&oldid=46636 * Hppavilion1 * (+0) s/edge/node/ 01:23:27 Marvel at the glory of my humor 01:23:42 Good Night Mat{,ress}es. 01:23:44 ☺ 01:24:22 lifthrasiir: There. I actually did it. 01:24:46 haha, wut 01:25:24 lifthrasiir: It's a fun little thing xD 01:25:35 lifthrasiir: I plan to make up all these stupid things and add them 01:25:41 "Abstract Mouse" and whatnot 01:25:57 "Abstract Networking" 01:26:08 lifthrasiir: Yep. 01:26:11 "Abstract Cryptography" 01:26:14 hmm, no 01:26:14 lifthrasiir: There will be abstract sockets. 01:26:27 lifthrasiir: Cryptography is already abstract 01:26:38 Abstracter Cryptography! 01:26:40 lifthrasiir: Though Abstract Operating Systems will be a thing 01:26:42 xD 01:26:53 Abstract Wire. 01:27:01 lifthrasiir: Wires are edges 01:27:02 (Wireworld sounds like this) 01:27:37 lifthrasiir: Maybe 01:27:50 lifthrasiir: You can feel free to add stuff to the page :P 01:28:00 I HAVE TO WORK 01:28:10 lifthrasiir: OKAY 01:28:13 10:28+09:00 here 01:28:25 enough procrastinating 01:28:41 lifthrasiir: YOU CAN NEVER PROCRASTINATE TOO MUCH 01:29:10 -!- vanilaFactory[bu has quit (Quit: Leaving). 01:29:14 yeah, I want to have enough resources to procrastinate forever 01:29:33 we have a close-to-explicit word for this in Korean 01:29:50 "laziness"? 01:29:50 unemployed billionare, something like that 01:30:00 oh, I didn't mean that :p 01:30:04 xD 01:30:34 https://medium.com/@azerbike/i-ve-just-liberated-my-modules-9045c06be67c hello, and fuck your micro-dependencies! 01:31:00 (not really about micro-dependencies, but kind of silly nevertheless) 01:31:20 FWIW, the dependency there that broke a bunch of things was 10 lines of code. 01:31:34 left-pad is, well, left padding function for String 01:31:40 a common micro-dependency in JS 01:31:46 hppavilion[1]: Abstract Pizza hth 01:31:53 i.e. the sort of thing that any sane programmer should realize is more expensive as a dependency than as explicit code. 01:31:58 oerjan: For abstract programmers? 01:32:19 lifthrasiir: I agree with it. 01:32:32 (I know, I know, don't repeat yourself, but dependencies have a fucking cost.) 01:32:34 pikhq: I see some value in very small bits of codes *as long as* it doesn't break. 01:32:59 would be a perfect fit for, say, Haskell 01:34:26 lifthrasiir: Libraries are decent in compiled languages, because they have no runtime cost AFAICT 01:34:54 Or if they do (e.g. shared libraries), then it's worth it because it's otherwise nigh-(if not literally)-impossible 01:35:03 hppavilion[1]: yeah. it would make much sense when the function itself is fully isolated from the outside 01:35:24 the modern JS has some protection but not sufficient 01:35:45 (go die elsewhere if you think "use strict"; is a shit) 01:36:40 lifthrasiir: Do you use Python? 01:36:46 yeah. 01:36:56 lifthrasiir: Do you do anything with compiler dev? 01:36:57 lifthrasiir: "is a shit"? I can't work out whether that's meant to mean "is good" or "is bad" in this context 01:37:08 ais523: Same here 01:37:25 hppavilion[1]: In real-world C++, libraries often have quite interesting runtime cost, FWIW. 01:37:26 "is the shit" means good, "is shit" means bad, for reference 01:37:33 pikhq: Huh. Why? 01:37:34 ais523: ah? I've used it as a bad sense, but I didn't know that connotation 01:37:40 Though I should add that that's generally *startup* cost. 01:37:49 what a nuance. 01:38:02 pikhq: Ah, yes. Then again, straight code also has a startup cost 01:38:08 lifthrasiir: it's not actually an English phrase, and I wasn't sure how to translate it into one that was 01:38:16 hppavilion[1]: Global constructors are one cause. The other is *symbols*. C++ libraries, as a property of how C++ is generally written, have an absurd number of symbols. 01:38:17 lifthrasiir: I've been writing a compiled language called DK using a python-based compiler 01:38:24 "is the shit" would normally be interpreted as highly positive, but also very crude/colloquial 01:38:25 And dynamic linking is *cheap*, not free. 01:38:34 -!- mihow has quit (Quit: mihow). 01:38:37 ais523: I'm generating a close-to-English sentence out of nothing :p 01:38:44 anyway, TIL 01:38:46 also, "use strict"; is basically a directive you can put on an insane language to make it very slightly less insane 01:38:59 That said, it's admittedly likely to come up only with things with things with a lot of dependencies or are actually insane. 01:39:01 yeah, it doesn't automagically prevent the prototype mess for example 01:39:03 (arguably the true is also the case of Perl, although there you have a range of different strictness pragmas) 01:39:34 e.g. Libreoffice pays a lot of this cost, but I think hardly anyone would argue it's an example of good C++. 01:39:54 hppavilion[1]: I'm building a language at work right now 01:39:59 lifthrasiir: Cool. 01:40:01 not that big, though 01:40:01 lifthrasiir: Compiled? 01:40:12 hppavilion[1]: more about a type checker for the existing language 01:40:16 Ah 01:40:18 s/about/like/ 01:40:43 I don't much care for the compiled/interpreted distinction. It's only relevant IMO when language semantics make a compiler or interpreter infeasible. 01:40:48 -!- mihow has joined. 01:40:51 -!- mihow has quit (Client Quit). 01:40:52 I agree. 01:41:05 the traditional distinction doesn't work well today 01:41:19 pikhq: I don't think being compiled or being interpreted should be a fundamentally defining feature of a language 01:41:30 many languages can reasonably be done either way 01:41:44 e.g. Java is normally interpreted, but compilers exist and nothing in its semantics rules them out 01:42:06 Mmm, I suppose it could be a useful adjective for languages that at least have one or the other as the clearly "reasonable" implementation choice. 01:42:20 java is typically just-in-time compiled no? :D 01:42:35 ais523: It's a fundamentally defining feature of an implementation 01:42:36 java is... it's weird. 01:42:44 mad: Yes, but the first few releases were a bytecode interpreter not a JIT. 01:42:44 well, with the presence of JIT compilation the "infeasible" language semantics do not seem to exist anyway 01:42:45 mad: that's a method of implementing interpreters, though 01:42:52 -!- boily has quit (Quit: PYRAMIDAL CHICKEN). 01:42:52 hppavilion[1]: yes, but not of the language it implements 01:42:58 ais523: Fair enough 01:42:58 ais523 : depends on your angle 01:43:07 ais523: Though most languages are designed with one or the other in mind 01:43:09 *And* there's absolutely nothing preventing you from just using a bytecode interpreter on Java today. 01:43:21 if your angle is speed and the language-feature sacrifices you need to get that speed, then java is a compiled language 01:43:31 But, for example, C could still be considered compiled, but you could certainly interpret it just fine. 01:43:34 pikhq: well you have to compile into bytecode first :-P 01:43:35 ais523: You generally wouldn't use a Rust interpreter except for debugging. 01:43:38 C interpreters exist 01:43:43 I actually think that WebAssembly can act as a portable retargetable binary format 01:43:43 Yup. 01:43:57 Though TCC, the commonly given example, is not a good example of it. :) 01:44:12 pikhq: TCC? 01:44:17 Tiny C Compiler. 01:44:17 Is that Turing-Complete C? 01:44:18 is there anything that is designed to be a retargettable format for C++ 01:44:19 ? 01:44:21 Ah 01:44:21 https://github.com/tjmehta/is-positive-integer/blob/master/index.js oh. 01:44:45 I'm sure a retargettable, platform independent... platform for C++ would totally be feasible 01:44:51 When used as an interpreter it compiles C in memory and then runs it. Which works just fine because it's rather ridiculously fast. 01:44:56 some sort of generic-ish CPU 01:45:05 lifthrasiir: Dafuq!? xD 01:45:17 when loading the exe it translates it to the target arch 01:45:26 mad: Sure, and WebAssembly or something similar seems like just that. 01:45:27 it already has to relocate everything in memory 01:45:33 hppavilion[1]: it is not even `module.exports = function(i) { return i > 0 && Math.floor(i) == i; }`! 01:45:34 might as well translate it too 01:45:40 it has *three* dependencies! 01:45:53 lifthrasiir: Three!? 01:46:04 passAll, isPositive, isInteger 01:46:26 passAll is \f g a -> f a && g a 01:46:43 pikhq : does it have to have "safe" array lookups? (ie it checks bounds on everything) 01:46:54 lifthrasiir: That's horrible. 01:47:10 why does that is-positive-integer thing exist? is it actually a hard task in JavaScript? 01:47:29 ais523: Probably 01:47:37 also I'm not sure if lifthrasiir's example actually works 01:47:37 doesn't js have === 01:47:45 hppavilion[1]: oh, isInteger was not *that* simple. it is actually: return typeof v === 'number' && isFinite(v) && Math.floor(v) === v; 01:47:47 mad: JS has == and === 01:47:48 I don't have Java's type coercion things memorized but think it might fail on a string like "1test" 01:47:54 yes exactly 01:47:58 === is like 01:48:01 ah right. I should've used === 01:48:02 mad: == is just horrible 01:48:09 "we messed up == ok we have to use === then" 01:48:16 I had some good bug with === in PHP, however 01:48:16 mad: It appears they're designing it to permit but not require such an implementation. 01:48:23 probably that's why I'm not used to === 01:48:29 ais523: Either that or it's a demonstratoin 01:48:47 I like Perl's ==! 01:49:02 -!- jaboja has quit (Remote host closed the connection). 01:49:03 actually, IMO there should be a Perl variant in which there is no distinction between integers and strings 01:49:09 I think all programming languages should have a library called "Horrible Hacks" that implements common code that is horrible and hacky, so that you don't have to do it and feel bad 01:49:14 the language is 99% designed like that but it leaks occasionally 01:52:09 -!- XorSwap has joined. 01:52:20 ugh, is this what modern development is like?: https://redd.it/4bjss2 01:52:44 (tl;dr: someone took an 11 line npm package off GitHub, a ton of stuff broke as a result) 01:52:44 Yes. 01:53:04 taking code from github directly as part of your build system is already something I consider to be shockingly broken by itself 01:53:11 and yet it seems to be the least of the offences here 01:53:19 ais523: that is what I've pasted above 01:53:42 I'd fault it less if you, y'know, also referenced a revision ID as well. 01:53:42 lifthrasiir: ah right, I missed it 01:53:51 it wasn't clear from the URL and I didn't click the link 01:53:53 it is also related to the unclear npm policy about trademark violation and DMCA requests 01:54:03 because I tend not to follow links if I don't know what they are or what site they're to 01:54:34 ais523: sounds reasonable. I guess I need to add more contexts 01:54:40 ais523: medium.com is a somewhat large and popular blog host. 01:54:55 pikhq: that implies that you can't deduce much about the destination of a link hosted there 01:55:09 True. 01:56:13 -!- nooga has quit (Ping timeout: 248 seconds). 01:58:03 pikhq: Isn't it great when everything is in one repository? 01:58:13 Distributed development is scow. 01:58:21 shachaf: Rather better than I expected, TBH. 01:58:54 Though "having tools that make it sane" help a lot. :P 01:59:09 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:59:20 What sorts of tools are you thinking of? 02:00:00 -!- Lilly_Goodman has joined. 02:00:17 Eh, y'know, mostly just the large amounts of automatic testing that make it hard to break things by mistake. 02:00:44 Well, sure. 02:00:48 You want that sort of thing anyway. 02:01:06 Yeah, I came to Google from a place with rather less... good repo hygiene. 02:01:36 I think the single largest build break I've seen here was... caused by me 02:02:08 be the only dev, then /every/ break will be caused by yourself :-P 02:02:17 actually I have a larger problem with people making changes without running the tests, than anything else 02:02:36 the problem being that as I'm working on a to-FPGA compiler, the tests require an FPGA simulator to run 02:03:02 Yeah, thankfully commits *block* on tests passing normally. 02:04:13 Doesn't help when it's an expensive test you can't run per commit though. 02:04:16 at my last place, commits would go into a dev branch 02:04:32 that would trigger a round of tests 02:04:52 if the tests pass the changes were comitted to the release brance 02:05:20 Though your definition of "expensive" tends to change when you can run code on spare capacity in a Google datacenter on a whim. :P 02:07:07 http://vanilla-js.com/ is best framework 02:07:44 "0 bytes uncompressed, 25 bytes gzipped." 02:07:51 wow, gzip headers are enormous 02:08:36 I think you can do *slightly* better than that. But, yeah, they kinda are. 02:08:51 ais523: Yeah, that was surprising when I saw that 02:08:59 I was looking at it and was like "Wait, what?" 02:09:04 bzip2's headers have an ASCII representation of pi in them, IIRC 02:09:10 in order to make them easy to locate in a corrupted file 02:09:10 `` < /dev/null gzip | wc -c 02:09:21 ais523: Weeeeiiiird... 02:09:25 or was it binary-coded-decimal? 02:09:32 20 02:09:36 You spend 18 bytes on just the gzip file headers. 02:09:46 int-e: < prefix notation looks so weird 02:09:52 `` < /dev/null bzip2 | wc -c 02:09:54 14 02:09:54 gzip the program by default includes the file name, though. 02:10:01 `` < /dev/null bzip2 | od -t x1z 02:10:02 0000000 42 5a 68 39 17 72 45 38 50 90 00 00 00 00 >BZh9.rE8P.....< \ 0000016 02:10:06 ais523: I like it, it's logical. 02:10:18 I assume it's the block header rather than the file header 02:10:26 `` `` uname -a | bzip2 | od -t x1z 02:10:28 0000000 1f 8b 08 00 0f fb f1 56 00 03 03 00 00 00 00 00 >.......V........< \ 0000020 00 00 00 00 >....< \ 0000024 02:10:29 0000000 42 5a 68 39 31 41 59 26 53 59 e1 49 ef 76 00 00 >BZh91AY&SY.I.v..< \ 0000020 16 5f 80 00 10 48 03 ff 70 08 95 06 80 b6 27 82 >._...H..p.....'.< \ 0000040 40 20 00 40 d5 3d 4c 9a 62 18 43 43 43 46 99 0c >@ .@.=L.b.CCCF..< \ 0000060 30 4c 09 80 86 8c 9a 61 50 d7 fc 66 49 cc 39 d4 >0L.....aP..fI.9.< \ 0000100 c7 08 b5 ed 41 91 68 50 2c ed 02:10:39 ah, there we go 02:10:49 -!- XorSwap has quit (Ping timeout: 252 seconds). 02:10:49 you can see the "31 41 59 26 53 59" in the header 02:11:06 hmm, let's see if we can get that all on one line to be more readable 02:11:33 ais523: Like, slice 11001001000011111101101010100010001000010110100011000010001101001100010011000110011000101000101110000000110111000001110011010001 at every 8 bits and spit out their chr()ing? 02:11:35 `` uname -a | bzip2 | od -w 128 -t x1z 02:11:36 od: 128: No such file or directory 02:11:39 `` uname -a | bzip2 | od -w128 -t x1z 02:11:40 0000000 42 5a 68 39 31 41 59 26 53 59 e1 49 ef 76 00 00 16 5f 80 00 10 48 03 ff 70 08 95 06 80 b6 27 82 40 20 00 40 d5 3d 4c 9a 62 18 43 43 43 46 99 0c 30 4c 09 80 86 8c 9a 61 50 d7 fc 66 49 cc 39 d4 c7 08 b5 ed 41 91 68 50 2c ed d5 65 d6 50 66 29 2e 56 36 86 ef e6 e0 98 cc 7b 29 0f 85 44 e8 28 29 8c c2 2a 08 df 8b b9 22 9c 28 48 70 a4 f7 bb 00 02:11:51 `` uname -a | bzip2 | od -w128 -tx1z 02:11:52 0000000 42 5a 68 39 31 41 59 26 53 59 e1 49 ef 76 00 00 16 5f 80 00 10 48 03 ff 70 08 95 06 80 b6 27 82 40 20 00 40 d5 3d 4c 9a 62 18 43 43 43 46 99 0c 30 4c 09 80 86 8c 9a 61 50 d7 fc 66 49 cc 39 d4 c7 08 b5 ed 41 91 68 50 2c ed d5 65 d6 50 66 29 2e 56 36 86 ef e6 e0 98 cc 7b 29 0f 85 44 e8 28 29 8c c2 2a 08 df 8b b9 22 9c 28 48 70 a4 f7 bb 00 02:12:07 oh, it must be long enough that it gets cut off 02:12:10 `` uname -a | wc -c 02:12:11 76 02:12:15 `` uname -a | bzip2 | wc -c 02:12:15 113 02:12:17 right 02:12:27 `` uname -a 02:12:27 Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux 02:12:29 * ais523 tries azip 02:12:52 `` run (uname -a | wc -c)-(uname -a | bzip2 | wc -c) 02:12:53 ​/hackenv/bin/`: eval: line 4: syntax error near unexpected token `uname' \ /hackenv/bin/`: eval: line 4: `run (uname -a | wc -c)-(uname -a | bzip2 | wc -c)' 02:12:55 114, bleh 02:12:58 `` (uname -a | wc -c)-(uname -a | bzip2 | wc -c) 02:12:58 ​/hackenv/bin/`: eval: line 4: syntax error near unexpected token `-' \ /hackenv/bin/`: eval: line 4: `(uname -a | wc -c)-(uname -a | bzip2 | wc -c)' 02:13:00 so close 02:13:01 ... 02:13:08 Seriously, bash? 02:13:12 http://www.forensicswiki.org/wiki/Bzip2 helps... 02:13:14 Why is that not a feature? 02:13:55 `` echo | bzip2 | od -tx1 02:13:56 0000000 42 5a 68 39 31 41 59 26 53 59 9e 7d 96 9d 00 00 \ 0000020 00 40 00 00 10 20 00 21 18 46 82 ee 48 a7 0a 12 \ 0000040 13 cf b2 d3 a0 \ 0000045 02:13:59 It'd be so much better that way 02:14:04 Almost Haskellic 02:14:05 huh, strange, it uses "Linu" as a dictionary word but not "Linux" 02:14:11 `` echo $(($(uname -a | wc -c)-$(uname -a | bzip2 | wc -c))) 02:14:11 ​-37 02:14:14 hppavilion[1]: ^ 02:14:20 basically you'll have the pi except for an empty input 02:14:21 lifthrasiir: Doesn't count 02:14:31 `` echo | bzip2 | od -w100 -tx1z 02:14:32 0000000 42 5a 68 39 31 41 59 26 53 59 9e 7d 96 9d 00 00 00 40 00 00 10 20 00 21 18 46 82 ee 48 a7 0a 12 13 cf b2 d3 a0 >BZh91AY&SY.}.....@... .!.F..H........< \ 02:14:40 there we go 02:14:54 Binary-Coded Decimal is stupid, IMHO, unless you're running on a VERY small processor 02:15:16 One that would make it hard to even convert binary to decimal 02:15:20 hppavilion[1]: well, those are magic numbers... 02:15:20 In any fashion 02:15:43 hppavilion[1]: that would actuaööy be a reason tp NOT support it 02:16:05 * ais523 wonders what sort of keyboard has ö next to l 02:16:11 german 02:16:14 german 02:16:18 que es esos numeros? 02:16:21 Irish 02:16:52 myname: how can you stand typing {} and [] though... 02:16:58 ais523: o is next to l on american keyboards 02:17:08 bcd 02:17:18 "bank carreer defense" 02:17:32 hppavilion[1]: Above, not next to. 02:17:48 myname: (semi-serious question; those characters are the main reason why I switched to US layout) 02:17:51 The character where ö is on a German keyboard, is ; on an American keyboard. 02:17:51 pikhq: "above" is a type of "next to" when dealing with keyboards 02:17:52 int-e: i don't see the problem 02:18:15 Because keyboards are usually horizontal 02:18:17 myname: alt-gr is so inconvenient. 02:18:43 I got used to alt-gr 02:18:46 nah, i don't have to think about it, therefore i don't have a problem with it 02:18:55 now US keyboard confuses me 02:19:10 simply because I have the alt-gr shortcuts burned into my fingers 02:19:11 it's not a thinking issue so much as an issue of not breaking my thumb while typing 02:19:12 it's not like i'd think "ouch, my fingers hurt, i should type [ less" 02:19:16 anyway... never mind. 02:19:31 I shouldn't have asked :O 02:19:49 i know many germans using us 02:19:55 the one that's kinda inconvenient is < > on the same key 02:20:01 the more sane i know switched to neo 02:20:17 and ` ^ that have to be typed with deadkey + space 02:20:58 and \ with altgr + key to the left of 1 02:21:00 `` 02:21:00 No output. 02:21:06 huh, deadkey+space works even on a UK keyboard 02:21:13 there's just no point because of the physical ` key 02:21:21 mad: huh? left of 1? 02:21:32 (in fact, one of those was typed as Compose ` space, which is more than a little pointless) 02:21:47 Compose a space doesn't work, so someone must have added that compose recipe explicitly 02:21:49 fortunately the deadkey behavior can be disabled 02:21:52 \ is pretty far to the right 02:21:53 myname : ` ~ on the typical US layout if I'm not mistaken 02:22:02 -!- Lilly_Goodman has quit (Remote host closed the connection). 02:22:07 `¬| in the UK layout 02:22:07 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ¬|: not found 02:22:14 only it's a different | from the one that's shift-\ 02:22:24 (they're treated as the same by Linux, but not by DOS or Windows) 02:22:29 -!- Lilly_Goodman has joined. 02:22:40 mad: `~ is there, yes 02:22:57 Yup, ¬ is nowhere on a US keyboard. 02:22:58 ¦ is stupid afaik 02:23:12 mad: \ is right of 0, not left of 1 ... 02:23:15 ¦ vs | is a distinction I don't even understand. 02:23:22 pikhq: I assume we have a ¬ key because it's in EBCDIC 02:23:25 it isn't in ASCII though 02:23:27 `unidecode ¬ 02:23:28 ​[U+00AC NOT SIGN] 02:23:48 yeah it's like 02:23:58 bleh, I knew the reason for the vertical bar stuff at one point, but I've forgotten what it is 02:24:00 | vs ¦ made into ebcdic for some reason 02:24:01 IIRC it was really stupid though 02:24:05 afaik 02:24:27 well, one of the versions of ebcdic anyways 02:24:32 https://en.wikipedia.org/wiki/Vertical_bar#Solid_vertical_bar_vs_broken_bar talks about the distinction but doesn't really explain it 02:25:01 the broken bar with a center dot works as a rotated version of -.- 02:25:01 huh, I just got a reminder to finish a review that I submitted today... I knew that elsevier is evil, but that's just stupid :P 02:25:25 ¬ has nautical applications 02:25:30 1 ¬ = 1.852 km/h 02:25:40 huh, it is actually ISO-8859-1 which is at fault 02:25:44 `unidecode ¦ 02:25:45 ​[U+00A6 BROKEN BAR] 02:25:52 so, it's a knot? 02:25:56 which we could have figured out with a simple unidecode 02:26:28 shachaf: awful pun 02:26:48 `wisdom 02:26:49 reversal/lasrever 02:26:55 well, apparently the backslash was invented so that you could type /\ and \/ as and and or 02:27:09 ais523: I don't think ¬ is in the base EBCDIC, just a few EBCDIC code pages. 02:27:20 ais523: OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOH 02:27:24 ¬ is in latin one 02:27:24 pikhq: makes sense 02:27:26 ais523: That explains so much. 02:27:29 EBCDIC is crazily internally inconsistent 02:27:33 Yes, there's freaking EBCDIC code pages. 02:27:53 shachaf: indeed. ¬ that ¬ical mile is ¬ same to typical mile, though. 02:28:14 ¬ed 02:28:30 you are horrible 02:28:37 shachaf: `math/learn 02:28:44 latin-1 has a bunch of really stupid characters 02:28:54 I hate EBCDIC. I used to hate it more when I had to deal with it at work. 02:29:11 pikhq : wow 02:29:14 pikhq: I'm going to assume that you're talking about your current job. 02:29:17 is there anything that people hate less as they use it more, rather than hating more? 02:29:21 please don't disillusion me twh 02:29:24 `help 02:29:24 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/ 02:29:36 shachaf: I have not had to deal with EBCDIC at my current job. 02:29:40 Should I make a calculator and put it in HackEgo via `fetch? 02:29:41 pikhq: tdnh 02:29:47 ais523: Lots of things, surely. 02:29:58 now if we could get trigraphs out of C++ 02:30:00 For example pikhq and putting all your code in one repository. 02:30:13 Anything which people call an "acquired taste". 02:30:27 mad: Yeaaaah, I'm 25 years old and have professional experience in COBOL in some sense. 02:30:27 pikhq: Are you going to the ghcjs talk this week? 02:30:41 whoa whoa whoa, that's a quarter of a century 02:30:41 pikhq: :o 02:30:42 Iunno. 02:30:48 pikhq: your COBOL skills may at one point be necessary to save the word 02:30:49 *world 02:30:53 latin-1 has 32 extra control characters 02:31:16 I am best described as a COBOL n00b. But that's... far above average. 02:31:20 as if the 32 control characters in normal latin-1 weren't already useless enough 02:31:25 HackEgo: supports python, right? 02:31:32 Whoops 02:31:32 pikhq: I know a limited amount of COBOL syntax 02:31:37 Accidental : 02:31:50 I've parsed it. 02:31:50 `which python 02:31:52 ​/usr/bin/python 02:31:57 hppavilion[1]: you could just have asked it 02:32:00 all I know about cobol is to run away in the opposite direction :D 02:32:05 ais523: I don't speak bash very fluently 02:32:08 mad: A good call. 02:32:17 I like the use of COBOL in this article: http://blog.cr.yp.to/20160315-jefferson.html 02:32:36 I guess I mean in the 1997 lawsuit. 02:32:55 I think of COBOL as being a predecessor to SQL 02:33:01 whose major sin was not realising it wanted to be domain-specific 02:33:20 `mkx testpylib/#!/usr/bin/python\nimport ply 02:33:23 usage: mk[x] file//contents 02:33:28 `mkx testpylib//#!/usr/bin/python\nimport ply 02:33:31 testpylib 02:33:36 `testplylib 02:33:37 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: testplylib: not found 02:33:41 Dammit 02:33:49 Do I have to create bin/testplylib? 02:33:50 hppavilion[1]: you didn't make it executable and you didn't give a full path 02:33:54 Yeah, honestly COBOL isn't terrible considering the context of when it came to be and what it was for. 02:33:56 ais523: Ah 02:33:57 `` chmod a+x testplylib 02:33:57 chmod: cannot access `testplylib': No such file or directory 02:34:02 `` chmod a+x testpylib 02:34:03 No output. 02:34:04 ais523: How do I make it executable? 02:34:06 Oh, with that 02:34:08 `` ./testpylib 02:34:08 ​/hackenv/bin/`: ./testpylib: /usr/bin/python\nimport: bad interpreter: No such file or directory 02:34:17 COBOL's sins are that it wasn't domain specific but wanted to be, and it survived *well* past its welcome. 02:34:21 Dammit 02:34:25 Why does \n not work in that? 02:34:28 `? dsl 02:34:29 dsl? ¯\(°​_o)/¯ 02:34:30 hppavilion[1]: it appears that your file contains a literal backslash followed by a literal n 02:34:36 ais523: Yes, I noticed 02:34:56 `` sed -i -e 's/\\n/\n/g' testpylib 02:34:59 No output. 02:35:02 ais523: That works too 02:35:04 `` ./testpylib 02:35:05 Traceback (most recent call last): \ File "./testpylib", line 2, in \ import ply \ ImportError: No module named ply 02:35:09 Damn 02:35:16 `` pip install ply 02:35:16 ​/hackenv/bin/`: line 4: pip: command not found 02:35:21 *Sigh* 02:35:29 `which pip 02:35:29 No output. 02:35:34 `` which pip 02:35:35 No output. 02:35:37 OK... 02:35:56 ais523: Halp? 02:36:11 hppavilion[1]: pip is not python 02:36:18 also it wouldn't work on a VM that has no internet connection 02:36:23 ais523: There is a python pip 02:36:26 (not a direct one, anyway; you can do `fetch) 02:36:35 ais523: Python has pip too 02:36:37 hppavilion[1]: pip is not python in the same way that dpk is not Linux 02:36:39 *dpkg 02:36:42 Which posed an issue for me at one point 02:36:43 [Oh 02:36:46 and homebrew is not OS X 02:36:46 Makes sense 02:36:57 which video game console do you like the sound of the most 02:37:13 `which bestVideoGameConsoleSound 02:37:14 No output. 02:37:20 mad: HackEgo has no preference 02:37:27 i see 02:37:59 ais523: Perhaps I should `fetch www.dabeaz.com/ply/ply-3.8.tar.gz ? 02:38:21 hppavilion[1]: this is more likely to succeed than the other things you tried 02:38:25 the snes has always kinda stood out to me 02:38:30 sound wise 02:38:34 `fetch www.dabeaz.com/ply/ply-3.8.tar.gz 02:38:36 2016-03-23 02:38:32 URL:http://www.dabeaz.com/ply/ply-3.8.tar.gz [157286/157286] -> "ply-3.8.tar.gz" [1] 02:38:48 Oh, crap. Now I need to tarfile. 02:38:54 And I've heard things about tarfile 02:39:02 mad: the GBA hits the sweet spot of being powerful enough to sound good and limited enough to force sound designers to be creative, IMO 02:39:13 hppavilion[1]: tar isn't as hard as people make it out 02:39:26 ais523: But Randall Munroe said... 02:39:29 (:P) 02:39:32 the most confusing thing is that, by default, it accesses your primary connected tape driver 02:39:35 *tape drive 02:39:47 given that most people don't have a tape drive, and that most uses of tar don't want to access it anyway 02:39:57 you have to override the file you're accessing via the -f option 02:39:59 here 02:40:05 `tar -xf ply-3.8.tar.gz 02:40:06 tar: ply-3.8.tar.gz: Cannot open: No such file or directory \ tar: Error is not recoverable: exiting now 02:40:10 `` tar -xf ply-3.8.tar.gz 02:40:20 No output. 02:40:30 `ls ply-3.8 02:40:32 ANNOUNCE \ CHANGES \ doc \ example \ MANIFEST.in \ PKG-INFO \ ply \ ply.egg-info \ README.md \ setup.cfg \ setup.py \ test \ TODO 02:40:37 one option for the operation (x for extract), and one option for the file 02:40:41 (f for file) 02:40:50 it really isn't actually complicated, it just looks like it 02:40:57 `` python ply-3.8/setup.py 02:40:59 usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] \ or: setup.py --help [cmd1 cmd2 ...] \ or: setup.py --help-commands \ or: setup.py cmd --help \ \ error: no commands supplied 02:41:02 * hppavilion[1] prays that works 02:41:11 Yes, I meant to do that because I couldn't remember the syntax 02:41:22 admittedly I'm cheating a little because modern tar autodetects compression formats 02:41:35 `` python ply-3.8/setup.py --help-commands 02:41:36 Standard commands: \ build build everything needed to install \ build_py "build" pure Python modules (copy to build directory) \ build_ext build C/C++ extensions (compile/link to build directory) \ build_clib build C/C++ libraries used by Python extensions \ build_scripts "build" scripts (copy and fixup 02:41:37 with old versions of tar I'd need to use -xzf; x for extract, z for gzip-compressed, and f to specify the file 02:41:49 what does ply do anyway? 02:41:50 `` python ply-3.8/setup.py build 02:41:51 error: package directory 'ply' does not exist \ running build \ running build_py 02:42:38 HackEgo: try running it from its own directory 02:42:44 *hppavilion[1]: 02:42:54 ais523: Um? 02:43:03 ais523: How would I do that? 02:43:20 `` (cd ply-3.8; python setup.py build) 02:43:24 running build \ running build_py \ copying ply/lex.py -> build/lib.linux-x86_64-2.7/ply \ copying ply/cpp.py -> build/lib.linux-x86_64-2.7/ply \ copying ply/__init__.py -> build/lib.linux-x86_64-2.7/ply \ copying ply/ctokens.py -> build/lib.linux-x86_64-2.7/ply \ copying ply/yacc.py -> build/lib.linux-x86_64-2.7/ply \ copying ply/ygen.py -> build/l 02:43:28 bleh, you're conning me into doing everything myself, aren't you 02:43:33 Ah, I get it now 02:43:37 I forgot I could ; 02:43:44 ais523: Maybe... 02:43:48 `` ./testpylib 02:43:49 Traceback (most recent call last): \ File "./testpylib", line 2, in \ import ply \ ImportError: No module named ply 02:43:57 Probably hasn't finished yet 02:45:02 `` ./testpylib 02:45:03 Traceback (most recent call last): \ File "./testpylib", line 2, in \ import ply \ ImportError: No module named ply 02:45:05 Nope 02:45:17 I'll move to PRIVMSG 02:47:05 Dammit, I tried setup.py install 02:47:06 error: could not create '/usr/local/lib/python2.7/dist-packages/ply': Read-only file system 02:47:30 don't install 02:47:34 myname: Oh 02:47:37 myname: What do I do then? 02:47:42 use it 02:47:55 myname: Ah, I have to put it in the directory that I want to use it from? 02:53:01 -!- nooga has joined. 02:55:18 hppavilion[1]: you didn't make it executable [...] <-- incorrect, `mkx does that. 02:55:32 oerjan: Oh 02:55:34 oerjan: oh, is that what the x does? 02:55:42 lol 02:58:06 -!- nooga has quit (Ping timeout: 276 seconds). 02:59:03 What does the Standard #esoteric calculator need? 02:59:08 Fuzzy bags? 02:59:13 tswett: Are you online? 03:00:49 hppavilion[1]: dc is an esoteric calculator already 03:01:00 ais523: We're 1-upping it 03:01:12 you might be 03:01:17 I want no part of this :-P 03:01:21 ais523: Fine, *I'm* 1-upping it 03:01:31 also, have you seen the olympiad of misguided geeks? 03:01:35 ais523: Nope 03:01:38 it hardly ever ran 03:01:43 ... 03:01:49 but the only really successful run was basically literally "create an esoteric calculator" 03:01:55 * hppavilion[1] laughs hysterically 03:02:04 it was run by thedailywtf 03:02:12 Oh, it was really a thing? 03:03:11 hmm, when they changed their name from worsethanfailure back to thedailywtf, it seems they broke the links to it 03:03:20 I'm trying to find the results now 03:03:48 here we go: http://thedailywtf.com/articles/Announcing-the-OMGTWTF-Winner 03:03:50 hppavilion[1]: read that 03:04:47 wait, that's a pretty celebrity-stuffed judging panel 03:04:57 it has both raymond chen and joel spolsky on it 03:06:35 ais523: What I'm going for is a real calculator with subtle, horrifying features 03:06:46 Like implementing Nullity 03:06:46 hppavilion[1]: yes, some of them are like that 03:07:02 ais523: Excellent 03:07:13 hppavilion[1]: try this one: http://thedailywtf.com/articles/OMGWTF-Finalist-08-Universal-Calculator 03:07:17 ais523: And the occasional divide-by-5 error 03:10:27 hppavilion[1]: what about a divide-by-minus-one error? 03:10:34 ais523: Sure, why not xD 03:10:51 hppavilion[1]: that's an actual error that comes up in a bunch of programming languages but it isn't well known 03:10:58 ais523: Of course, I could alternatively include Notta Numbers (I already am implementing @) 03:11:04 the thing is, INT_MIN is a little further from zero than INT_MAX 03:11:08 so INT_MIN/-1 is an integer overflow 03:11:15 Huh 03:11:29 Interesting 03:12:51 INT_MIN * (-1) = INT_MIN 03:14:19 myname: I figured 03:15:01 INT_MIN * (-1) = fish is also a valid implementation. 03:15:29 ais523: How about I change it to "Divide by zero on a day other than easter" error? 03:16:46 in most implementations, INT_MIN / -1 is either INT_MIN or crashes the program 03:16:51 but these are only the most common outcomes 03:17:01 as pikhq said, theoretically it could do anything 03:17:21 (I guess fairly common would be to produce a negative number that is treated as positive when compared with 0) 03:17:42 how would you do that 03:17:46 ais523: ... huh? 03:18:10 myname: Certainly not with typechecking 03:18:38 myname: int_min is negative, right? thus dividing it by a negative number produces a nonnegative number 03:18:45 hppavilion[1]: The compiler will often assume that a negative times a negative is positive, and then optimize some conditionals based on that. 03:18:55 Which is legal, because signed overflow is not. 03:19:04 ais523: well, yeah, but where do you save the information about it being poitive? 03:19:05 because of the UB on overflow, this is true no matter what the arguments 03:19:11 however, if you actually do the calculation, you get a negative number 03:19:20 the information's saved in the asm 03:19:27 via static analysis and optimizations based on it 03:19:46 It's not that the number gets a magic "this is positive" bit set, it's just that the compiler makes that assumption when optimizing. 03:20:13 pikhq: Ooooooooooh 03:20:18 i.e. it will replace compares with that result with "true". 03:20:47 pikhq: -0*-9 03:20:52 *-0*-0 03:21:33 I assume that -0*-0 is evaluated to just 0 before compilation 03:21:37 -!- Lilly_Goodman has quit (Ping timeout: 240 seconds). 03:22:02 -0 wpuld be optimized to 0 03:22:05 (Why do I try to refute things that are so obvious that they're irrefutable?) 03:22:46 how do you express -0 in C? is the simplest way copysign(-1., 0.)? (assuming that I remembered which way round the arguments to copysign went) 03:22:59 huh, copysign is pretty weird as primitives go 03:23:19 myname: Should the Esocalc have a number Ω : 0Ω = 1? 03:23:42 -!- Lilly_Goodman has joined. 03:26:53 And, of course, 0nΩ = n, as omegoids are non-associative and non-commutative 03:27:28 In fact, the total set of numbers in the #esoteric calculator will have absolutely no consistent properties 03:27:52 that's pretty lame 03:27:56 myname: Why? 03:28:03 you could jusr output a random string, then 03:28:04 myname: The lack of properties, or Ω? 03:28:14 myname: No, subsets will have consistent properties 03:28:26 i would at least make some xonsistent modell that it will obey 03:28:33 Yeah, good poitn 03:29:48 myname: Should I just limit the weird constants to ijk@? 03:30:30 you can add whatever constant you like, just make sure to define the basic group operations on them 03:31:11 myname: Ah, that works 03:31:14 also, time to sleep 03:31:17 OK 03:31:31 hola 03:33:17 <\oren\> so today I found out that the .shp file format's .dbf metadata format is a dBase IV file 03:34:28 <\oren\> so that means that most GIS packages that can read such files, contain implementations of an MS DOS database 03:36:28 <\oren\> (unless they ignore the metadata, that is) 03:40:11 -!- Lilly_Goodman1 has joined. 03:40:45 -!- Lilly_Goodman has quit (Ping timeout: 248 seconds). 03:53:44 -!- nooga has joined. 03:58:01 -!- nooga has quit (Ping timeout: 240 seconds). 04:19:57 -!- MDead has joined. 04:20:09 -!- MDude has quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/). 04:20:15 -!- MDead has changed nick to MDude. 04:24:20 -!- treaki_ has joined. 04:24:53 http://t3x.org/klong/index.html oh, another APL-esque small array language. 04:26:40 -!- treaki__ has quit (Ping timeout: 252 seconds). 04:27:25 http://thedailywtf.com/articles/The_Call_of_Codethulhu 04:28:45 still waiting for the language where you can go vector[$n] += table[$m][n] and it gets compiled as for(int m=0; m that's like einstein notation isn't it 04:30:24 I just want C++ except without having to type so much everytime I want to loop over something 04:30:26 Perl 6 has a feature that's reminiscent of that but isn't the same 04:31:24 some languages have foreach but it's more limited and often kindof a performance hog 04:31:54 like it's defined in really abstract ways like inheritance and generics and generators 04:32:25 instead of just something simple 04:34:30 <\oren\> well like I always have said, they should have built std::string and std::vector into the C++ compiler 04:34:33 -!- hppavilion[2] has joined. 04:34:35 yes 04:35:00 and, debatably, std::map 04:35:22 <\oren\> oh, yes, at least when the key is any builtin type 04:35:40 hm 04:35:58 a lot of the std::maps I've used have a struct{} as a key 04:36:20 there's also the std::string as key which is a classic 04:36:32 <\oren\> ok, any type where the < operator is autogenerated 04:36:47 <\oren\> and string would count as builtin. 04:36:54 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 04:37:11 <\oren\> (wait, is the < or == operator autogenerated for structs?) 04:37:21 don't think so :3 04:37:35 <\oren\> i could have sworn you can == structs in C? 04:37:35 and I would've had to override it possibly too 04:37:40 You can't. 04:37:42 \oren\: you can't 04:37:44 = works, == doesn't 04:37:55 you also can't memcmp them safely, in case they have padding bits 04:38:00 so you need to compare field by field 04:38:16 "in case they have padding bits" 04:38:22 that's almost always no? :D 04:38:22 that said, == is normally a dubious operation on structs anyway unless they're very simple 04:38:37 mad: struct {char x; int y;} will have padding bits on the majority of compilers 04:38:37 mad: It's fairly common for structs to have padding *bytes*. 04:38:51 also some stucts can have no padding bits in 32bits but do have them in 64bits 04:38:52 -!- Lilly_Goodman1 has quit (Ping timeout: 260 seconds). 04:38:56 it's a recipe for disaster 04:39:00 pikhq: and of course, bitfields that don't add up to a multiple of CHAR_BIT bits will have padding bits out of necessity 04:39:05 Yup. 04:39:20 <\oren\> Well, what if you memset the struct every time you make one? 04:39:34 \oren\ : some people do that 04:39:46 like the first step of the constructor is memset 0 on itself 04:39:49 I don't think the compiler's guaranteed to not mutate the padding bytes. 04:40:04 well 04:40:16 if it does a copy logically it would probably not copy the padding 04:40:31 though it could do that 04:41:14 tbh I think they should change the standard so that the compiler can reorder the fields of your struct 04:41:50 except if it's #pragma pack(push, 1) 04:42:06 actually that should be a language feature 04:42:12 <\oren\> that would render most embedded C code inoperable and cause countless manhours of work 04:42:17 like you'd have struct/class{} 04:42:56 and then struct exactlayout(littleendian) {int x; char q; int y; float z;} 04:43:12 <\oren\> I think compiler writers should think less about what they're allowed technically to do and more about what is least likely to cause new problems in existing code 04:44:17 basically right now, "who cares" layout classes/structs are conflated with basically structs used for loading exact byte layouts from files 04:44:56 with the unfortunate effect that the day you need a big endian port, you get some super grody byte reordering code all over the place in your binary file loader 04:46:42 and the other unfortunate effect that it encourages putting pointers in exact byte layout structs and having it break in 64bit ports 04:47:44 I also think they should make char officially 8bits, short 16bits and int 32bits except in like specialized embedded C for DSPs with 24bit accumulators 04:48:13 it's not like it's going to change from now on 04:48:55 <\oren\> mad: yes, I am all for making the formal standard more in line with the informal standard most C programmers write for. 04:48:57 its time for a standardized safe and common sense C standard for practical targets. 04:49:26 Of course, float's semantics don't even match what most C programmers think it is on common practical targets. 04:49:35 and it would help clamp down on int8_t/uint8_t/int16_t/uint32_t/etc and vox::s32/vox::s16/vox:u8/etc and GLUINT8/GLINT32/etc and the million variations 04:49:37 focusing on ILP32 and LP64 04:49:59 (the result of adding a float and a float is a float_t, not a float. :)) 04:50:38 <\oren\> pikhq: I thought it was a max-size float for the target, e.g. a long double on x86 04:50:47 No. 04:51:16 <\oren\> which is then rounded to whatever type you assign it to 04:51:17 On x86_64, float_t is float. 04:51:53 newsham : you forgot LLP64 04:51:58 It's more-or-less the type that the underlying hardware performs the addition as. 04:51:58 (!) 04:52:38 <\oren\> pikhq: well tbf, if C is readable assembler that makes perfect sense 04:52:46 mad: nah, we can just euthenize those ;-) 04:53:02 It's actually necessary to get reasonable floating point semantics. 04:53:03 pikhq : I as of now there's just no alternative to accepting that consistent float is impossible 04:53:25 newsham : good luck convincing the msvc guys to give up on 32bit long :( 04:53:40 since when has msft cared about std compliance? 04:53:57 The basic floating point operations in a good C implementation are *exactly rounded*. 04:54:01 <\oren\> oh, I use long long anyway when I want 64 bits 04:54:06 newsham : I care about msvc vs gcc/llvm complience 04:54:12 standard I couldn't care less about 04:54:26 Having float_t and double_t is necessary to avoid double rounding. 04:54:28 <\oren\> so my scale usually goes char short int long long 04:54:32 what adds to my work day is every time msvc and gcc can't agree on something 04:54:45 doesn't matter which way the difference get resolved 04:54:47 -!- nooga has joined. 04:55:22 <\oren\> mad: wait but doesn't adding to your work day add to your salary? 04:55:27 float_t and double_t are types declared in math.h. They're the types that float and double operations are performed as. And yes, MSVC provides it. 04:55:32 <\oren\> indirectly 04:55:39 Using them gets you a long damned way towards consistent float. 04:55:56 \oren\ : it adds to my hair pulling and frustration 04:56:26 <\oren\> well iff pulling your hair is what you're paid to do... 04:56:28 well, normally I care way more about fast float than consistent float 04:56:49 so I actually want the compiler to play cowboy with rounding 04:57:12 but I know that if I ever one consistent float it's not happening 04:57:52 the fact that modern architectures are turning towards "denormals replaced with zero" doesn't add to consistency either :D 04:58:24 <\oren\> exact calculations should be done with fixed point anyway 04:59:01 \oren\ : I'd rather pull my hair doing something useful for society rather than making sure "long" never appears anywhere ever :D 04:59:07 -!- nooga has quit (Ping timeout: 244 seconds). 05:00:00 \oren\ : that's how they're usually handled yes 05:00:43 one that kinda pisses me off 05:00:49 Using floating point (and understanding its semantics) is very useful if what you actually need is calculations with an error bar. 05:00:58 -3 / 2 = -1 05:01:02 -3 >> 1 = -2 05:01:26 <\oren\> fortran formats has a cool feature that C scanf/printf doesnt 05:01:27 pikhq : yeah that's basically my day job :D 05:01:43 Then how do you not know float_t and double_t? 05:01:45 <\oren\> the ability to have 10.05 read as 1005 05:01:53 <\oren\> and then write it out as 10.05 05:02:03 also, (int)(-0.5) = 0 is EVIL 05:02:05 Your analysis is gonna be all wrong if you assume double rounding happens all over the place... 05:03:21 you should realize that floating point number is not your typical real number 05:03:43 pikhq : well, I knew that the compiler uses long double for the actual computations on the x87 fpu 05:04:05 I didn't knew there was a data type for it 05:04:32 Yeah, very handy if you need to specifically store the result of a calculation without the possibility of added rounding. 05:04:44 yeah that's not a problem in my field 05:04:45 <\oren\> but when doing those new 3d extensions for floating point, it doesn't do long double 05:04:58 for sound, float is good enough 99.9% of the time 05:05:13 <\oren\> so the actual rounding depends on what instructions the cpu uses for it 05:05:19 so generally I don't really care when the compiler upgrades it to long double 05:05:30 <\oren\> but I thought it always promoted it to at least double 05:05:53 \oren\ : ah no 05:06:09 Ah, *sound*. Okay, yeah, even really absurdly high errors with float are minimal and irrelevant. 05:06:11 the promotion is really just because the x87 fpu forces promotion if you want any kind of perf 05:06:23 <\oren\> ah 05:06:27 The x87 fpu forces promotion period. 05:06:35 yeah 05:06:53 if you want non promotion you have to store/load the value after calculation 05:07:11 And that's actually going to give you incorrect results. 05:07:20 Because it double rounds. 05:07:32 oh 05:07:48 which means you just can't do the exact spec operation on x87? :D 05:08:04 you also have precision control flag that's *almost* as good but it actually doesn't limit the exponent range, afaik 05:08:46 Yep! 05:09:14 afaik llvm on iphone uses the SIMD unit floating point for float code 05:09:18 If you want to get exact-rounded float or double addition on x86, you need to use SSE or software floating point. 05:09:27 which has flushing denormals to zero (!) 05:10:29 ie if you compile float code on IOS it doesn't even follow the IEEE spec 05:11:48 mad: I thought that was an option, rather than something that always happened 05:11:49 That's surely if you don't have the -std=c99 or similar flag. 05:12:17 FWIW GCC or LLVM do not conform to IEEE without a strict conformance flag. Period. 05:12:19 ais523 : it depends on which floating point operations you use I think 05:12:31 They aren't -ffast-math broken, but they don't conform. 05:12:44 -ffast-math is broken? :D 05:12:54 pikhq: mad: -ffast-math is /intentionally/ broken 05:13:01 -ffast-math is -fbreak-my-math. 05:13:04 ais523: I'm aware. 05:13:05 in that it doesn't attempt to be remotely IEEE conforming 05:13:13 what does it do? 05:13:14 <\oren\> I always use -ffast-math 05:13:37 <\oren\> It basicallydoes things fast but often wildly wrong 05:13:48 mad: It permits essentially any algebraically justified expression changes with no care for preserving precision whatsoever. 05:13:51 define "wildly wrong" 05:14:14 pikhq : in my field, that's _good_ 05:14:21 <\oren\> but I used it to comile my game, and there I only requred chunkily correct results 05:14:33 And this is exactly why it's an option. 05:14:42 <\oren\> chunkily being the superlative of roughly 05:15:00 Because some users of floating point give approx. zero shits about floating point semantics. 05:15:03 if I start seeing wrong results I just upgrade all the variables involved from float to double 05:15:05 kdone 05:15:18 [wiki] [[A:;]] https://esolangs.org/w/index.php?diff=46638&oldid=43250 * 27.33.99.249 * (+197) 05:15:20 <\oren\> double is often faster 05:15:32 <\oren\> in my experience anyway 05:15:33 \oren\ : heh really? 05:15:45 wanna see proof of that 05:16:08 I've definitely seen lots of cases where it's "not slower", I admit 05:16:25 IIRC, without -std=c99, when GCC flushes a floating point computation to the stack it stores a float instead of a float_t. 05:16:39 Meaning your rounding behavior is at the whims of the compiler on x86. 05:16:48 pikhq : yes that's a given 05:17:01 ... Which is why people think floating point has horribly inconsistent magical behavior. 05:17:11 when does rounding behavior matter? 05:17:35 aside from trying to do something stupid like if(3 == 3.f * (1.f / 3.f)) 05:18:09 mad: rounding behavior does accumulate over series of FP ops 05:18:14 <\oren\> this game also used the ++ operator on a double 05:18:27 When you're trying to write code which computes results with a provable error range. 05:18:28 lifthrasiir : not if it's a series of addition 05:18:32 i.e. science. 05:18:46 lifthrasiir : then you get essentially the precision of the worst part of the addition 05:19:07 (the ability to do exactly this on common implementations is why FORTRAN is popular) 05:19:09 <\oren\> pikhq: go back to fortran from whence thee came 05:19:21 <\oren\> jinx! 05:19:24 ah yeah, if you want provability..... 05:19:42 Which you can do in ISO C, but sure as hell can't in GNU C. 05:19:49 <\oren\> I actually used fortran in one course 05:20:08 Though, you can do it with GCC on glibc, so there's that at least. 05:20:14 <\oren\> it was a "programming for science" bassicaly course 05:20:15 mad: even when you sum numbers of similar magnitudes, the error eventually ensues 05:20:42 we have a good pile of algorithm for just summing FP numbers (Kahan summation, pairwise summation etc) 05:21:08 lifthrasiir : suppose all your numbers are from -1..1 and the sum never goes over -1..1, then you're guaranteed a precision of at least 1/16million 05:21:33 basically as long as the exponent never grows, it's equivalent to 24bit fixed point 05:22:33 by precision you meant abs(real_sum - computed_sum) <= abs(real_sum)/2^24 ? 05:22:42 I mean 05:24:12 abs(real_sum - computed_sum) <= abs(real_sum)/2^24 + SUM_OF_ALL( abs(sum_term[x] - closest_valid_float) ) 05:25:19 basically for the error that happens between your individual term of your sum and a 32bit float value, you have no guarantee against that 05:25:49 if your values are systematically very slightly biased so that, say, it always rounds up or down.... it can't do anything about that 05:26:02 or actually the guarantee is lower than that 05:26:39 it's not against the closest float but rather the closest float at current precision of the sum variable 05:27:03 how to put this 05:27:15 basically float never does worse than 25bit fixed point 05:27:47 does that make sense? :D 05:28:56 but if you're doing infinite sums then you can easily get some systematic biasing and then you'll need a fancy algo yes 05:30:10 mad: (was afk) I had a feeling that you are saying that the error is irrelevant on your condition. I guess my interpretation was wrong (it is more about, uh, "insignificant") 05:30:51 yeah for sound and video games, you don't typically do infinite sums in the way that will mess up things 05:31:06 or rather you rarely do infinite sums at all 05:32:47 looking up https://en.wikipedia.org/wiki/Kahan_summation_algorithm 05:32:55 hmm 05:33:28 basically you're taking the part of the sum that wasn't taken along in the sum and keeping that in a second sum variable 05:33:30 clever 05:34:01 though I guess it's kindof like turning a 32bit float into a 64bit float 05:34:31 so I guess at first you'd switch from float to double, and then as a second step you'd put in that algo 05:36:05 I've used a similar algo once in a filter 05:37:12 basically because 16bit fixed point isn't enough for a filter so I added an error accumulation variable to more or less make it 32bits 05:40:03 -!- lambda-11235 has quit (Quit: Bye). 05:46:08 I guess if all your floating point is in double and even then it's not cutting it in terms of precision then you're in that case 05:51:48 mad: the same idea is also present in the Bresenham line drawing algorithm, the idea seems to be fairly universal 05:52:39 well, yeah 05:53:07 it's basically the equivalent of doing 64bit addition on a 32bit cpu 05:53:15 by doing ADD and ADC 05:55:38 -!- nooga has joined. 06:00:05 -!- nooga has quit (Ping timeout: 244 seconds). 06:10:21 https://github.com/twbs/bootstrap/issues/3057 06:10:23 Words fail me 06:14:17 <\oren\> christ 06:14:44 <\oren\> omg, look at the fucking scroll bar on that thread?! 06:14:50 Sgeo__: oh lol 06:14:56 http://wiki.ecmascript.org/doku.php?id=strawman:concurrency and it is a legitimate proposal 06:15:30 so every new expression syntax risks breaking the existing JS code and thus the Web(tm) 06:17:04 https://tedcruz.lgbt/ 06:20:44 Sgeo__: that thread is beautiful, /both/ sides have an argument that's clearly stupid 06:20:48 so I'm not sure which one I'm supporting 06:21:35 Don't minifiers habitually break valid code anyway? 06:21:43 that said, I suspect the jsmin side of the argument is stupid because JS is stupid 06:21:48 e.g. code that relies on a function's name 06:21:53 rather than stupid in its own right 06:22:51 And AngularJS does that, and so has a workaround to allow it to be minified. And forgetting to use that workaround does not mix with upgrades that minifier group wrongly thinks is backwards compatible 06:24:20 https://github.com/mishoo/UglifyJS2/issues/121#issuecomment-92522991 06:25:18 Hmm, maybe minifier != uglifier 06:25:48 clearly we need maxifiers; we have beautifiers 06:27:13 "fwiw, this was patched in bootstrap way before i even encountered this issue - otherwise i wouldn't have closed it outright." 06:27:34 looking at that js concurrency proposal 06:27:35 This after 23 million forks of both projects are made 06:27:52 is that thing even technically possible? 06:28:41 ais523: I feel the entire discussion is reasonable *and yet* stupid 06:28:42 I'm not familiar with js but I was under the impression that it was more or less designed against concurrency 06:28:59 I know that the automatic semicolon insertion is required for compatibility. but we need it *only* for compatibility! 06:29:41 TC39 should have limited the scope of automatic semicolon insertion 06:29:52 "Semicolons cause an equal amount of debate in English grammar circles and although it's yet to be proven I believe they partially caused the first World War. 06:29:52 " 06:30:07 so that ! won't never start a sentence when preceded by a newline 06:30:16 s/sentence/statement/ 06:30:22 (thank you Sgeo__ for the source of confusion) 06:30:52 Saw it on https://www.reddit.com/r/ProgrammerHumor/comments/4bf5kv/thanks_jslint_ill_tick_that_one/ 06:30:55 come to think of it, JSFuck makes a pretty good maxifier 06:34:14 you know, I really like the suggestion of using x || y rather than !x && y 06:34:29 it seems to have all the advantages of the original, and one less downside 06:34:40 it is still a bad choice, but isn't bad in any way the original wasn't 06:35:06 if (!x) y; 06:35:19 and then we would someday have an expression containing if 06:35:25 ruining everyone 06:37:51 clearly we need Perl's if statement modifier 06:37:56 it looks like this: "a if b;" 06:38:03 where a is a statement and b is an expression 06:38:28 it would be a if (b); 06:38:42 thanks to the orthogonality 06:39:23 I was never a fan of the semicolon 06:39:56 it's acceptable in two level lists (1a, 1b, 1c; 2a, 2b; 3a, 3b) 06:40:19 but to me it practically doesn't make sense in "grammar" 06:40:32 OCaml has semicolon as list separator, comma as tuple separator 06:40:43 and [a,b; c,d; e,f] is a list of tuples 06:41:00 ([a,b,c; d,e; f,g] is a type error) 06:41:41 and double semicolons as unit separator 06:42:50 kinda wonder 06:42:54 lifthrasiir: I originally misinterpreted that as () being unit, (;;) being a particularly bulky way to write unit 06:42:57 why you have to use shift to get : 06:43:02 and you naturally get ; instead 06:43:03 ais523: lol 06:43:07 isn't : more common? 06:43:10 there's some debate about what the purpose of ;; is in actual (non-interactive) OCaml code 06:43:11 ais523: in fact I was not sure about the naming 06:43:22 that is, the name of what is separated by ;; 06:43:29 as in, its purpose in the OCaml repl is clear 06:43:33 but not in actual code 06:43:54 most OCaml programs don't have a ;; anywhere 06:43:56 ais523: isn't that the type inference boundary? it might not have a value though. 06:44:05 (mostly I use it to make parse errors give more precise line numbers) 06:44:19 lifthrasiir: why would you want to place limits on type inference? 06:44:35 I think most Haskell programs don't have ; and {} anywhere. 06:44:49 ais523: not much, but may simulate multiple files of code into a single code without altering anything 06:45:00 not to say that it is useful :) 06:46:02 someone in girl genius needs to improve their haggling. 06:46:26 whoa whoa whoa 06:46:30 `gglist 06:48:14 rob ford is dead :o 06:50:05 "i'm not glad he's dead but i'm glad he's gone" 06:54:15 -!- AnotherTest has joined. 06:55:32 shachaf: records? 06:55:52 oerjan: I guess so, but that's just a pun. 06:56:10 -!- nooga has joined. 06:57:26 huh? 06:57:51 (also, `gglist is too regular to have a *list. it's even back to morning schedule...) 06:58:30 -!- AnotherTest has quit (Ping timeout: 244 seconds). 06:58:36 it's a list of good games hth 06:58:48 O KAY 06:58:55 oerjan: I mean that it's the same character being used in a different context syntactically. 06:59:52 perhaps. you cannot even use it with layout... 07:00:37 -!- nooga has quit (Ping timeout: 260 seconds). 07:22:30 -!- ais523 has quit (Quit: food). 07:31:11 is there anything that people hate less as they use it more, rather than hating more?” => yes, software with an initial learning curve like gimp 07:33:20 the most confusing thing is that, by default, it accesses your primary connected tape driver” => no way. these days it accesses stdin or stdout by default instead. 07:50:57 -!- ais523 has joined. 07:51:03 is there anything that people hate less as they use it more, rather than hating more?” => yes, software with an initial learning curve like gimp 07:51:12 the most confusing thing is that, by default, it accesses your primary connected tape driver” => no way. these days tar accesses stdin or stdout by default instead. 07:51:13 ugh, can you seriously not do rank 2 polymorphism in ocaml? 07:51:24 b_jonas: how do you access your tape drive then? 07:52:27 ais523: You have PolymorphicComponents, at least, right? 07:52:41 ais523: try it the C++ standard library way: make it polymorphic on a rank 1 type that has an associated type (or member type or something) with a rank 2 type, and give the type explicitly instead of inferring it. 07:52:46 shachaf: what does that mean? I'm not sure what that name refers to 07:52:57 Polymorphic fields in records. 07:53:23 ah, hmm 07:53:32 it's quite likely, given that OCaml has OO 07:55:26 It's better than nothing, though not allowing rank-2 types is pretty scow if you ask me. 07:56:45 here's a minimal example of what I'm trying to do, constructed for #ocaml: let g (f : 'a -> unit) = (f 1; f "a") 07:57:04 -!- nooga has joined. 07:58:24 -!- J_Arcane has quit (Ping timeout: 244 seconds). 07:58:35 So can you write type t = { f : 'a . 'a -> unit }, and then let g x = (x.f 1; x.f "a")? 07:58:45 I don't know OCaml syntax. 08:01:08 shachaf: according to #ocaml, yes; I'm not very good with records yet though 08:01:14 so I'm waiting for them to tell me the syntax :-) 08:01:23 ais523: try template void g(H f) { f(1); f("a"); } that is, H is a concrete type that has a rank 1 type member operator() 08:01:39 -!- nooga has quit (Ping timeout: 268 seconds). 08:02:13 ais523: Doesn't the syntax I used work? 08:02:21 shachaf: it does 08:02:25 OK, problem solved 08:02:26 ais523: anything that tries to pass f as a rank 1 type value with stat directly won't work, because you can't have *values* polymorphic 08:02:40 in C++ that is, I don't really know ocaml 08:03:21 right, that's the same as what shachaf says I think 08:04:11 b_jonas: That's more duck typing than rank-n polymorphism, I think. 08:05:14 shachaf: it's also duck typing because you can't verify that f really compiles on all types of x, only that it works on int and string 08:06:08 shachaf: C++ templates have straight rank 2 polymorphism, but only on the template level, not the value level, because you can't have a straight rank 1 value, so in the end almsot nobody uses that feature 08:06:21 it's called template template templates are great 08:06:34 yes, I know 08:06:44 they even get you to syntax troubles 08:07:58 What more can you want from a language feature? 08:09:13 I was unaware of the 'a. syntax in OCaml, and it's weird that it only works inside records 08:09:49 especially as the compiler seems to be able to handle the type of the record field after destructuring 08:10:17 In more than one context? 08:10:24 Well, that's not really that surprising, I guess. 08:10:51 Do you have a function that constructs a record in OCaml, like you do in Haskell? 08:10:58 If so that function would be rank-2. 08:12:34 the record constructor looks like {f=f} 08:12:53 but if you try to write it as a function, "let make_f f = {f=f}", type inference fails 08:13:18 because it can't infer the polymorphic type for the function argument 08:13:26 Makes sense. 08:13:43 that's pretty much as in ghc haskell, unless you provide an explicit type signature 08:13:55 GHC has the extension PolymorphicComponents for a similar feature, but it also makes a record constructor which is an actual rank-2 function. 08:14:03 right, the only difference with OCaml is that it doesn't let you provide the type signature 08:14:12 In practice PolymorphicComponents and Rank2Types and RankNTypes are all synonyms these days. 08:14:24 right, we discussed that a while back 08:14:47 the difference being that Rank2Types are inferrable (mathematically, ghc can't do it), RankNTypes aren't 08:14:58 Right. 08:15:03 and in ghc, _existential_ types still require destructuring something. 08:15:12 this is the only advantage to rank 2 types, I think 08:15:17 that they're decidable 08:15:18 I remember you gave some justification for that, which was something like you can do whole-program inference but not local inference. 08:15:30 it's a while since I read the papers 08:15:32 (For rank-2 types.) 08:15:57 Whole-program type-checking seems to me like it almost defeats the purpose of type-checking. 08:16:03 istvr rank-2 isn't inferrable, just checkable: you don't have principal types 08:16:42 Isn't that true of Rank-N? 08:17:02 The advantage of rank-2 types over rank-n, people usually claim, is that you can do inference. 08:17:30 And I think ais523 said that you can do whole-program inference (so you don't need principal types) but I'm not quite sure on that. 08:18:02 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 08:18:08 yes, there's an algo for whole-program inference somewhere 08:18:12 let me see if I can find the paper 08:18:54 http://dl.acm.org/citation.cfm?id=182456 08:18:58 shachaf: i don't think rank-N is checkable without explicit types, or else system F would be 08:19:04 not sure if it's publicly available via the ACM 08:19:15 oerjan: Oh, I thought you meant checkable with explicit types. 08:19:29 althoug even if it isn't, there might be copies floating around elsewhere (e.g. authors' website), there often are 08:19:48 nah with enough explicit types it's obviously checkable, that's just what core is. 08:19:54 Available for a token fee of $15. 08:19:56 "obviously", he said. 08:20:02 shachaf: that's a ridiculous price 08:20:17 You can also pay $3 for 24 hours of access apparently. 08:20:17 although, it's actually much cheaper than the "typical" price that these organizations charge… 08:20:35 "View-only access for 24 hours" 08:20:39 the usual trick of googling the title seems to work anyway 08:20:47 I wonder how much you pay to be able to modify the paper. 08:21:21 only your very soul, shachaf 08:22:25 apparently the ACM have a program which allows you to specify one referer that's able to view the paper for free 08:22:51 the idea being that you link to their site from your website, and people who reached the site like that can see the paper 08:23:54 * oerjan read that as "one referee" 08:24:18 it almost made sense at first 08:24:23 shachaf read that as "one referer". shachaf read good. 08:24:27 (this presumably doesn't lose them any money, because authors who want to make their papers generally available normally just post the preprints, which doesn't violate ACM's copyright) 08:24:41 hmm, it's interesting that "referer" has now become a word, and has a more precise meaning than "referrer" 08:25:07 now we need to work on referree 08:25:34 Hmm, that pun doesn't work at all for the same ambiguity that makes it possible. 08:25:35 bleh, all these paper publishers sites are at least mildly evil (except for probably arxiv), but I can't be mad at ACM 08:25:40 they're at least trying to be reasonable 08:28:39 of course arxiv is evil they won't publish my REVOLUTIONARY QUANTUM CHEESE THEORY 08:29:20 @yow! 08:29:22 Yow! Are you the self-frying president? 08:29:51 @yow 08:29:51 So, if we convert SUPPLY-SIDE SOYABEAN FUTURES into HIGH-YIELD T-BILL 08:29:52 INDICATORS, the PRE-INFLATIONARY risks will DWINDLE to a rate of 2 08:29:52 SHOPPING SPREES per EGGPLANT!! 08:29:52 spontaneous combustion in the white house 08:30:42 btw if you can find a zippy comic with dialogue starting with Z, b_jonas is interested hth 08:31:02 * oerjan goes back to stalking forums again 08:31:19 (actually, any panel with such dialogue) 08:33:45 the second-order &lgr;-calculus 08:34:11 what's &lgr; 08:34:24 Probably the greek letter lambda? 08:34:51 It could be the Lagrangian calculus, I guess. 08:35:32 'fraid it's actually λ 08:35:48 Well, that's on the page ais523 linked to. 08:36:15 there might be more than one entity for the same letter? 08:37:05 that might explain why it doesn't show up right 08:37:07 Or maybe λ is for LATIN SMALL LETTER LAMBDA WITH STROKE 08:37:41 Whereas &lgr; is for one of the LAMDA characters, which are much more prevalent in Unicode. 08:38:59 ok https://www.w3.org/TR/xml-entity-names/bycodes.html has both 08:41:26 i suppose the &lgr; escaped due to insufficient escaping. 08:41:38 no wait 08:41:43 too much 08:57:50 -!- nooga has joined. 09:02:19 -!- nooga has quit (Ping timeout: 260 seconds). 09:03:03 oerjan: no, it's more like whoever invented that requirement is interested. 09:04:02 @@ (@pinky) / (@brain) 09:04:02 I think so, Brain, but if they called them 'Sad Meals', kids wouldn't buy them! / It must be inordinately taxing to be such a boob. 09:04:11 @@ (@brain) / (@pinky) 09:04:12 Be quiet Pinky, or I shall have to hurt you. / I think so, Brain, but how would we ever determine Sandra Bullock's shoe size? 09:12:08 @yow president 09:12:08 On the other hand, life can be an endless parade of TRANSSEXUAL 09:12:08 QUILTING BEES aboard a cruise ship to DISNEYWORLD if only we let it!! 09:12:26 doesn't seem useful for searching 09:12:56 @brain 09:12:56 It is here that my cheap workforce of trained iguanas will work 09:12:56 night and day to make our shoes to my exacting specifications! 09:14:25 what's with the newlines? 09:14:36 adding random newlines on IRC is like adding random commas in regular English 09:14:59 the second quote it's not too bad, a comma /almost/ works there (it doesn't work but it's not too jarring) 09:15:03 the first quote it's terrible though 09:15:10 -!- lynn has joined. 09:15:42 I think these come from fortune. 09:15:53 Maybe it wraps to 80 columns? 09:23:19 -!- lynn has quit (Ping timeout: 260 seconds). 09:25:12 -!- nooga has joined. 09:31:05 -!- lynn has joined. 09:33:01 -!- oerjan has quit (Quit: Nite). 09:36:28 -!- AnotherTest has joined. 09:44:43 google "gimp masks" 09:50:23 -!- ais523 has quit. 09:58:48 -!- bender| has joined. 10:03:17 izabera: nice prank. 10:16:28 -!- hydraz has quit (Ping timeout: 252 seconds). 10:19:01 -!- hydraz has joined. 10:19:01 -!- hydraz has quit (Changing host). 10:19:01 -!- hydraz has joined. 10:21:38 -!- AnotherTest has quit (Ping timeout: 268 seconds). 10:21:39 -!- nooga has quit (Ping timeout: 260 seconds). 10:35:40 -!- boily has joined. 10:36:01 -!- heroux has quit (Ping timeout: 244 seconds). 10:39:42 Good morning 10:39:54 I've had a v ery nice sleep 10:40:11 13 hours, plus a two hour nap I had yesterday evening before dinner 10:41:38 Tanelle. good morning! that's a nice sleep. 10:45:10 -!- heroux has joined. 10:55:27 @tell oerjan I AM THE PRETTIEST FROG IN THIS ENTIRE POND!! 10:55:27 Consider it noted. 11:02:33 -!- bender| has quit (Read error: Connection reset by peer). 11:09:56 boily: as long as you don't anybody to pick you up and throw you against a wall so that you can reemerge as a prince... 11:10:06 ... don't -> don't expect 11:13:01 int-ello. I wouldn't dare to expect less. 11:13:26 Maybe it's time to bring up http://jokes.cc.com/funny-work/k7op88/the-engineer-and-the-frog 11:15:28 :D 11:15:43 @metar CYUL 11:15:44 CYUL 231100Z VRB02KT 6SM -SN OVC040 00/M01 A2991 RMK SC8 /S01/ PRESRR SLP132 11:22:24 -!- boily has quit (Quit: BET CHICKEN). 11:43:35 -!- bender| has joined. 12:09:39 Is there a triINTERCAL-like language that is binary but the words are 18 and 36 bit long instead of 16 and 32 bit, so that it's easier to interpret on a 18-bit computer? 12:13:39 -!- jaboja has joined. 12:16:42 so... a PDP INTERCAL 12:17:17 (I'm confused by the reference to *tri*INTERCAL) 12:17:40 and no, I don't know of any such thing 12:17:46 int-e: triINTERCAL has variants with different digit sizes and different number of digits per word 12:18:15 so I presumed one with 18 bits could be a special case 12:19:14 oh, I only knew the obvious variant with 10 and 20 trit words 12:20:14 because "tri" refers to ternary... and because those neatly fit into 16 and 32 bits, respectively 12:21:07 int-e: yes, but I believe the canon is that base 4, base 5, base 6, and base 7 variants are also called triINTERCAL 12:21:15 or maybe TriINTERCAL 12:22:47 `? TriINTERCAL 12:23:16 TriINTERCAL? ¯\(°​_o)/¯ 12:34:17 -!- jaboja has quit (Ping timeout: 260 seconds). 12:45:41 "The ick compiler actually recognizes filename suffixes of the form '.Ni', where N is any number from 2 to 7. 2 of course gives standard INTERCAL, while 3 gives TriINTERCAL." <-- they didn't give any name to the higher base variants 12:47:15 -!- Sgeo__ has quit (Ping timeout: 244 seconds). 12:47:41 -!- AnotherTest has joined. 12:56:35 -!- AnotherTest has quit (Ping timeout: 248 seconds). 13:01:39 int-e: I mean canon for C-INTERCAL, see http://c.intercal.org.uk/manual/qk5q4hrh.htm 13:06:10 I was quoting from http://web.archive.org/web/20080207035637/http://www.progsoc.uts.edu.au/~sbg/intercal/ick5.html#5.6 13:06:48 int-e: ok, but I think the C-INTERCAL docs supercedes it, given that it's actually maintained 13:07:26 it's funny because ick *is* C-INTERCAL, just before ais took over... 13:08:06 but my main objection is that Tri means three and therefore shouldn't refer to other bases, documentation be damned. 13:14:18 int-e: what do you call the decimal point inside a hexadecimal number representation like 0x1.6db7p+0 ? 13:21:23 Komma. 13:22:12 (some call it "radix point") 13:22:37 why can't it just be "point" 13:44:03 -!- Guest25470 has joined. 13:52:50 -!- nooga has joined. 13:57:35 -!- dingbat has joined. 14:00:25 <\oren\> a he x point 14:00:31 <\oren\> hex point 14:03:13 good point. it's easier in german 14:05:00 -!- nooga has quit (Ping timeout: 276 seconds). 14:07:19 -!- ais523 has joined. 14:07:54 anyone here with a 170-column wide Linux fbcon terminal on ctrl-alt-f1? 14:07:58 try this: for x in {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}0{0,1,3,5,7,8,A,C,E,F}0{0,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}0; do printf "\x1b]P1$x\x1b[31m#"; done; printf "\x1b[0m\n" 14:08:07 on a clear screen 14:08:12 then keep repeating it until the screen scrolls 14:08:20 I am not sure if this is a bug or a feature 14:08:32 (b_jonas: you in particular might be interested in the results) 14:08:35 -!- Xe has quit (Ping timeout: 250 seconds). 14:09:01 -!- jameseb- has quit (Ping timeout: 250 seconds). 14:09:20 -!- tromp has quit (Read error: Connection reset by peer). 14:09:27 -!- JX7P has quit (Ping timeout: 250 seconds). 14:10:15 -!- tromp has joined. 14:12:29 -!- treaki_ has quit (Ping timeout: 250 seconds). 14:13:47 -!- me2 has quit (Ping timeout: 250 seconds). 14:13:47 -!- catern has quit (Ping timeout: 250 seconds). 14:14:35 -!- IRIXUser has joined. 14:15:00 -!- IRIXUser has changed nick to Guest87521. 14:15:01 -!- jameseb has joined. 14:15:21 (you could adapt it to work at other screen sizes too, but that one's based around 170 which is the width of the terminal on my screen) 14:15:54 ais523: palette cycling? 14:16:03 -!- treaki_ has joined. 14:16:06 b_jonas: right, we change the palette every character 14:16:12 I don't have a linux text console here to try, but I might try at home 14:16:20 and this somehow gives us more colours than the linux console can normally display 14:16:44 it seems that if you give linux a 256-color or truecolor code, it parses it, then substitutes the nearest 16-color entry 14:17:02 and the "nearest" substitution is based on some rule I'm unsure about but it doesn't seem related to the palette 14:17:13 -!- Xe has joined. 14:17:17 but, OTOH, you can get arbitrarily many colours by changing the palette, as long as the screen doesn't scroll 14:17:33 this feels more like an accidental feature than an intentoinal one 14:20:44 -!- me2 has joined. 14:21:01 ais523: I don't know if it's accidental, but I like it. this means there are 16 (or so) logical colors, the user is in control of their actual presentation, and if stupid programs that don't like this ask for more colors than that, then the console falls back to a nearby console 14:21:28 b_jonas: well the annoying thing for me is 14:21:31 ais523: that the palette can be controlled by an escape sequence rather than only an ioctl is probably a historical accident too ltae to fix now 14:21:36 linux console fallback breaks any attempt to do unparsable-code fallback 14:22:05 oh, actually, it's OK 14:22:10 linux console can't parse the colon-based codes 14:22:25 the semicolon-based codes are dangerous so I don't want to use them without user authorization 14:22:37 and it's the semicolon-based codes that break here, just in a different way from normal 14:25:01 -!- catern has joined. 14:26:38 but THOSE count as "deliberate gameplay changes" and so can't be applied. but if coppro or you change something that deliberately change the gameplay and I complain about it, it's ok 14:26:42 see why I'm angry 14:26:48 argh 14:26:50 wrong channel 14:40:17 -!- lambda-11235 has joined. 14:41:39 -!- bender| has quit (Quit: Leaving). 14:56:43 Is there something like Defender en-Vec that uses up +1/+1 counters from itself to heal others instead of fade counters? 14:59:13 Eg. a 0/0 cleric costing WW with "~ comes into play with two +1/+1 creatures. / Remove a +1/+1 counter from ~: prevent the next 1 damage that woudl be dealt to target creature or player this turn." 14:59:44 that card is crazily weak :-( 14:59:55 there are a ton of cards that can give away +1/+1 counters 15:00:03 I guess the xolor code stuff is not supposed to work in a plain xterm 15:00:18 which is an improved version of that effect, because the creature gets a power boost and will have more toughness on future turns 15:00:26 int-e: the thing I posted won't work in xterm as it uses a different syntax 15:00:33 I haven't actually tried this in xterm syntax yet 15:00:37 ais523: for free at any time as an instant, not just when a creature etb or if you pay mana for it? 15:00:48 ais523: sorry, I skipped the "fbcon" part. 15:01:04 ais523: I can still believe it's weak, but I wonder what creatures you're thinking of. 15:01:13 b_jonas: that narrows it down somewhat but there are still probably some 15:01:41 ais523: Modular creatures in Darksteel give away counters when they die. 15:02:10 ais523: would it still be weak if it costed 1W ? 15:02:54 The graft ability gives away counters when the destination creature etb. 15:03:44 Mikaeus, the Lunarch can do it with a cost of T 15:07:06 salt road quartermasters has a cost of 2G to move the counter (!) 15:07:20 that's kind-of ridiculous 15:08:56 all the "Spike" creatures can give away counters for a cost of 2, that's what I was thinking originally but I didn't realise there was a mana cost 15:09:21 "Remove two +1/+1 counters from Spinal Parasite: Remove a counter from target permanent." 15:09:29 nice reverse variant 15:43:39 -!- nvd has changed nick to Taneb. 15:53:13 -!- p34k has joined. 15:58:25 -!- vanila has joined. 16:00:28 -!- MoALTz has quit (Ping timeout: 244 seconds). 16:14:13 -!- J_Arcane has joined. 16:43:00 -!- MoALTz has joined. 16:47:42 -!- hppavilion[2] has joined. 16:54:40 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 16:59:38 -!- Taneb has changed nick to nitia. 17:00:44 -!- nitia has changed nick to Taneb. 17:00:53 -!- AnotherTest has joined. 17:02:28 `? nitia 17:03:18 nitia is the inventor of all things. The BBC invented her. 17:03:38 There is a new nitia 17:14:51 -!- hppavilion[2] has joined. 17:19:32 -!- J_Arcane has quit (Ping timeout: 244 seconds). 17:20:39 -!- hppavilion[2] has quit (Ping timeout: 276 seconds). 17:21:20 -!- hppavilion[2] has joined. 17:25:01 -!- J_Arcane has joined. 17:30:45 -!- ais523 has quit (Ping timeout: 246 seconds). 17:35:43 -!- ais523 has joined. 17:39:40 pikhq: whoa whoa whoa, pikhq++ 17:53:52 -!- rdococ has joined. 17:56:05 pikhr? 18:09:33 -!- jaboja has joined. 18:16:53 Who was the person here with the weird/interesting font that they were making? 18:17:23 \oren\ has a font... I believe there's more than one person now though 18:19:06 Thanks. And, of course, it's not that surprising that an esoteric languages community would have esoteric fonts... :P 18:20:15 \oren\: Out of curiosity, what was / where is your font? 18:20:32 \oren\: Never mind, found it. 18:23:40 -!- MDude has quit (Remote host closed the connection). 18:43:01 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 18:44:24 -!- hppavilion[2] has joined. 18:53:27 -!- puck1pedia has joined. 18:54:27 -!- impomatic_ has changed nick to impomatic. 18:55:01 -!- Gregor has quit (Ping timeout: 250 seconds). 18:55:07 -!- Gregor has joined. 18:55:53 -!- puckipedia has quit (Ping timeout: 250 seconds). 18:55:53 -!- puck1pedia has changed nick to puckipedia. 18:58:25 zgrep: \oren\, lifthrasiir, and me 18:58:36 but \oren\'s is probably the weirdest 19:00:15 -!- feliks has quit (Ping timeout: 268 seconds). 19:00:31 b_jonas: Huh. Good to know. 19:02:05 -!- feliks has joined. 19:15:52 b_jonas: Out of curiosity, what is your font? 19:16:33 -!- llue has joined. 19:16:33 -!- llue has quit (Changing host). 19:16:33 -!- llue has joined. 19:17:40 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 19:19:48 -!- lleu has quit (Read error: Connection reset by peer). 19:19:53 -!- p34k has quit (Ping timeout: 268 seconds). 19:20:36 -!- b_jonas has quit (Ping timeout: 268 seconds). 19:20:53 -!- b_jonas has joined. 19:28:22 -!- p34k has joined. 19:34:18 -!- hppavilion[2] has joined. 19:34:39 -!- jaboja has quit (Ping timeout: 246 seconds). 19:36:40 -!- lynn has quit (Read error: Connection reset by peer). 19:37:47 -!- lynn has joined. 19:39:26 -!- Phantom_Hoover has joined. 20:20:58 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 20:22:02 -!- carado has quit (Quit: Leaving). 20:24:50 -!- carado has joined. 20:27:17 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 20:27:29 -!- Phantom_Hoover has joined. 20:30:51 -!- jaboja has joined. 20:39:04 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 20:42:21 -!- hppavilion[2] has joined. 20:47:52 -!- hppavilion[2] has quit (Ping timeout: 264 seconds). 21:01:40 -!- hppavilion[2] has joined. 21:05:08 ≟ is "Probably equal to. I hope." now. I demand it. 21:05:41 You need a function from probabilities to code points. 21:32:19 -!- Guest25470 has quit (Ping timeout: 248 seconds). 21:32:47 -!- vanila has quit (Quit: Leaving). 21:35:37 -!- jaboja has quit (Ping timeout: 240 seconds). 21:40:17 -!- ais523 has quit. 21:47:08 -!- Guest87521 has quit (Changing host). 21:47:08 -!- Guest87521 has joined. 21:47:11 -!- Guest87521 has changed nick to JX7P. 21:50:52 -!- hppavilion[2] has quit (Ping timeout: 264 seconds). 21:52:24 -!- boily has joined. 21:53:14 [wiki] [[PythoLambda]] N https://esolangs.org/w/index.php?oldid=46639 * CodeMaster111 * (+434) Created page with "A language adding one small element to [[Wikipedia:Python (Programming language)|Python]]: You can use the ƛ (lambda) character in place of the Python function lambda [wiki] [[PythoLambda]] https://esolangs.org/w/index.php?diff=46640&oldid=46639 * CodeMaster111 * (-12) /* Example syntax */ 21:59:06 `wisdom 21:59:29 [wiki] [[PythoLambda]] https://esolangs.org/w/index.php?diff=46641&oldid=46640 * CodeMaster111 * (+5) 21:59:30 tmyk/tmyk the more overfilled your brain gets. 22:01:09 [wiki] [[LOL CODE]] N https://esolangs.org/w/index.php?oldid=46642 * CodeMaster111 * (+21) Redirected page to [[LOLCODE]] 22:01:27 not so bad. 24 seconds. 22:08:49 -!- Sgeo__ has joined. 22:09:35 teenage mutant yaoi koalas 22:11:46 AAAAAAAAURGH! 22:12:01 hellochaf. you are despicable hth 22:12:27 not a fan of koalas, i take it? 22:14:29 don't you mangle those innocent koalas! 22:18:55 nitia introduced the initial article 22:19:51 of course. 22:25:31 -!- nooga has joined. 22:29:04 -!- jaboja has quit (Ping timeout: 260 seconds). 22:32:44 hellooga. 22:32:54 -!- hppavilion[2] has joined. 22:34:10 hppavellon[2]. 22:36:48 ahoily 23:19:40 -!- nooga has quit (Ping timeout: 252 seconds). 23:37:15 -!- oerjan has joined. 23:38:28 @messages- 23:38:28 boily said 12h 43m 1s ago: I AM THE PRETTIEST FROG IN THIS ENTIRE POND!! 23:38:43 boily: i hope that wasn't a reference to anything because if so i've forgotten it. 23:40:48 bah searching in my browser cannot find a combination of and a following message 23:42:05 `addquote I AM THE PRETTIEST FROG IN THIS ENTIRE POND!! 23:42:16 So there *is* a quoting mechanism. 23:42:19 quoteing? 23:42:25 zgrep: No there isn't 23:42:26 1273) I AM THE PRETTIEST FROG IN THIS ENTIRE POND!! 23:42:40 zgrep: I just synced up with the guy in charge of HackEgo 23:42:54 zgrep: It's all an elaborate illusion to troll you 23:42:58 D: 23:43:13 Although, it is all an elaborate illusion to troll me... which must mean... 23:43:18 ...I'm important enough to troll! :D 23:44:51 hppavilion[2]: ok that was his 1 minute of trolling, now move on to victim 31035 hth 23:45:30 oerjan: Just let me check him off the list 23:45:37 oerjan: Which one is it... list #AQD? 23:45:50 Where the # is part of the numbering? (It's base-95) 23:46:24 i cannot remember, it's not a very important list 23:46:41 oerjan: Agreed 23:47:11 Let's just ignore it; doesn't matter if we accidentally troll him again, but it's unlikely 23:47:17 yeah 23:47:27 You know, given that we have 7 trillion more aliens to troll 23:47:39 The humans altogether are insignificant 23:47:51 and here I'm quoted again. oh fungot... 23:47:51 boily: and the existing forums aren't extremely professional it might work out 23:47:58 fungot: I know! 23:47:58 boily: i guess that's what tokigun has meant... somehow make the popcorn itself... 23:48:31 fungot: Tokigun-san All Natural Spices Popcorn! 23:48:31 boily: i work like 3h a day. probably more feasible for that to be annoying 23:48:47 fungot: you don't work, you don't think, stop being sentient twh 23:49:24 BTF 23:49:26 !!! 23:49:39 (BURN THE FUNGOT) 23:49:43 (!!!) 23:50:44 All right, heck it. I want to design this fantasy video game console. 23:50:53 tswett: Which one? 23:50:55 hppavilion[2]: you seem to be slipping up with policy, please recheck the rules https://www.reddit.com/r/CertainlyNotAliens/ 23:51:00 The one I'm about to design. 23:51:27 tswett: What's it like? 23:51:33 16-bit words. Less than a megabyte of memory. Runs at something like a million IPS. 23:53:00 What could a reduced instruction set look like... 23:53:07 A smallish one, I mean. 23:53:43 I'm just going to... https://www.youtube.com/watch?v=l8kuiXwxKKU... yeah... um... yep. 23:53:48 -!- p34k has quit. 23:53:51 tswett: Deque-based 23:53:56 tswett: Instead of array-based 23:54:11 ADD, SUB, MUL, LOAD, STORE, MOV, SHR, SHL... 23:54:24 tswett: BNOR or BAND 23:54:36 tswett: right-shift AND left-shift? Fancy... 23:54:42 You know what, there are a lot of instructions that are simply arithmetic or bit manipulation. I'm going to call those "ALU instructions". 23:54:50 And I'm not going to bother listing them. 23:54:52 OK 23:54:58 So apart from those, we've got, like... 23:55:13 tswett: Is it an esoconsole? 23:55:34 why do you put "eso" in front of everything 23:55:50 esoshachaf! 23:55:51 shachaf: To distinguish it from things 23:55:55 shachaf: he's 1/4 spanish hth 23:56:03 LOAD, STORE, MOV, JUMP, JUMP-IF. 23:56:06 hppavilion[2]: yeah, you could call it that. 23:56:10 tswett: OK 23:56:15 It's not much more esoteric than, say, the GameBoy. 23:56:21 tswett: Why not SKIPIF, just to make people cry? 23:56:21 But it's definitely esoteric compared to the PS4. 23:56:36 tswett: And while we're at it, no JMP, only CJMP 23:56:47 Because I want to give people a decent instruction set. 23:56:49 Only RELATIVE CJMP 23:56:51 SKIPPY 23:57:00 oerjan: The peanut butter? 23:57:07 no, the kangaroo 23:57:13 tswett: Give them INTERCALy names 23:57:17 *+bush 23:57:20 CLR would be BURN 23:57:40 Bitwise Upward Rotation? 23:57:56 tswett: No, BURN clears a register. 23:58:00 Oh, right. 23:58:17 tswett: WASH clears a segment of registers 23:58:23 s/registers/memory/ 23:59:42 . o O ( I need to find kangaroo steak... this city has everything comestible on sale somewhere, and then some more. ) 2016-03-24: 00:00:08 . o O ( well, except that dretched surströmming. DAMNED EXPORT LAWS! ) 00:00:43 tswett: And, for some reason, waste instruction space with instructions that treat their arguments as two 1-byte numbers (a, b) and have the ALU for it treat it as a+bk 00:00:58 k^2=0, k != 0 00:01:11 So lemme see. I've got: ALU instructions, memory instructions, branching instructions. 00:01:19 hppavilion[2]: SKIPPY would, of course, skip the following python command. 00:01:29 oerjan: That was my first thought 00:01:46 tswett: Why not include labels as instructions? 00:02:01 That sounds insane. 00:02:09 tswett: So every JMP must have a corresponding RCV 00:02:09 Which is probably the point, isn't it? 00:02:26 Not only that, but the RCV must specify where it's coming from. 00:02:37 tswett: Well duh; I thought that was implied 00:02:57 tswett: Even better, you have BRIDGE commands, with one argument, that each serve as a JMP to the other BRIDGE with the same argument 00:02:59 Having only certain points that can be jumped to has precedent. 00:03:06 shachaf: Yes 00:03:32 tswett: And RBRIDGE takes two arguments, then bridges to the parter, offset by its second argument 00:03:43 Bridges to the what? 00:03:58 tswett: Every BRIDGE command has an argument 00:04:13 By "parter" do you mean "partner"? 00:04:15 * int-e read a nice article on cheating in contract bridge last weekend 00:04:17 Yes 00:04:40 But I suspect this is unrelated. 00:04:42 int-e: How do you cheat? 00:04:44 tswett: And when one is encountered, it's a JMP to the other one with the same argument (if none other exists, it either terminates or restarts the program, not sure which) 00:04:47 boily: just import the ingredients for surströmming, then make it yourself hth 00:05:00 * oerjan suppresses evil cackle 00:05:27 shachaf: by communicating through side channels (outside of betting and cards played) 00:05:34 Let's say there are 8 registers, and they're all 16 bits. Now, I'm not sure if the instruction pointer should count as one of the registers. 00:05:48 tswett: No, that would be too easy 00:05:55 tswett: And defeat the point of BRIDGEs 00:05:57 I'm thinking... yes. 00:06:09 http://www.newyorker.com/magazine/2016/03/07/the-cheating-problem-in-professional-bridge is the article (Schneier mentioned it in Cryptogram) 00:06:18 tswett: Will you be able to modify the IP manually? 00:06:22 Then you can jump by loading stuff into a register, then MOVing that register to the IP register. 00:06:26 Yeah. 00:06:33 tswett: That seems too common 00:07:11 tswett: counting the instruction pointer as a register is almost always a bad idea 00:07:17 That leaves 7 general-purpose registers. 00:07:21 tswett: Didn't QUACKVM™ by zzo38® do something like that? 00:07:30 b_jonas: why's that? 00:07:38 tswett: And not a bad idea in an #esoteric way 00:07:51 tswett: INC %ip 00:08:20 Incrementing the instruction pointer... the way I'm imagining it, that would mean "skip the next instruction". 00:08:45 The instruction loop would essentially be: fetch the instruction; increment the instruction pointer; execute the instruction. 00:08:47 tswett: It would 00:08:49 decrementing the instruction pointer 00:08:51 tswett: DEC %ip 00:08:56 There you go. 00:09:09 tswett: DEC %ip hangs forever, I imagine 00:09:12 Yup. 00:09:26 tswett: The IP-as-a-register thing has been done to death; seriously, try BRIDGE :P 00:09:26 hppavilion[2]: only if all instructions are one byte 00:09:52 oerjan: Oh, right, I assumed the IP would point to the instruction itself, not the individual byte 00:10:23 oerjan: But if INC %ip is SKIP, then DEC %ip is hang forever 00:10:50 oerjan: Assuming INC and DEC work the same way, of course 00:11:09 oerjan: Though DEC %ip as the first instruction will actually end the program, I believe 00:11:19 Because integer underflow 00:11:42 or just page fault 00:11:49 oerjan: Yes, or that 00:12:02 Oh right. I figure that each instruction would always be two bytes. 00:12:05 oerjan: Though page fault ends the program, IIIAG, so... 00:12:10 no, wait 00:12:15 So the IP would increase by two each time, not one. 00:12:26 DEC %ip will hang if it's 1 wide 00:12:28 tswett: Just make it multiply IP by 2 before fetching 00:12:39 Now here's a question. How much RAM should there be? 00:12:43 if it's more, you'll go to something inside it 00:12:45 tswett: That way you can still SKIP with INC %ip 00:12:56 hppavilion[2]: but then people won't be able to do odd-aligned instructions! 00:13:10 tswett: Well that's a stupid thing to do anyway... 00:13:43 I definitely think I want to allow odd-aligned instructions. That will (although it will be very difficult, perhaps practically impossible) let a single piece of code mean two different things, depending on the alignment. 00:14:13 tswett: It's so impossible that it's pointless 00:14:19 tswett: What's wrong with BRIDGE? 00:14:38 I'm not trying to make an esoteric instruction set. 00:15:00 -!- nooga has joined. 00:15:13 There are pretty much two RAM options. Have no more than 64 KiB of RAM; or have more than 64 KiB of RAM. 00:15:54 That works for any number. 00:15:56 I guess I shouldn't say "RAM"; I should say "memory space". 00:16:00 OK... 00:16:07 Yes, but there's a significant divide between the two buckets. 00:16:40 So, let's imagine we go with the 64 kiB of RAM. What can you do with that? 00:16:56 Play a game of battleship? 00:16:57 Anything you could do on a C-64. 00:17:45 fizzie: Assuming that the IS is C-64 complete, duh 00:18:01 tswett: how does that work for quantum computers? 00:18:04 Let's suppose the display is 64 by 64 pixels. If you use a luxurious 4 bits per pixel, that means the number of bytes used for a display buffer is... 00:18:10 Well, it was an approximation. 00:18:11 > 64 * 64 `div` 2 00:18:13 2048 00:18:29 2 kiB. That's not bad at all. 00:18:56 Anything you can actually compute like that sounds remarkably simple for a console graphics mode. 00:19:15 What do you mean? 00:19:33 Well, I mean. No character cell sort of thing? 00:19:37 tswett: With * `div` 00:19:59 oh tiles, sprites... hmm 00:20:16 Right, right. 00:20:21 I bet modern consoles just have framebuffers though 00:20:23 Yeah, I think the GameBoy used tiles, right? 00:20:31 tswett: Are you going to have a stack? 00:20:43 I like the idea of making the programmer invent a stack. 00:20:45 (Or a belt?) 00:20:46 I mean, it's easy. 00:20:46 oerjan: that sounds lovely! brilliant! 00:20:52 (stupid 3d graphics ;-) ) 00:21:08 tswett: Fair enough 00:21:20 int-e: How does * work for quantum computers? :P 00:21:34 Here's an idea. Make it so that RAM is divided into 32 2-kiB "pages", and the program can use any of those pages as the display buffer. 00:21:42 Like, you can just say "now I want to display page 17". 00:21:49 tswett: Are you going to have computed jumps? If so, will they be relative for static? 00:21:58 int-e: I didn't understand your quantum computer question, so I ignored it. 00:22:12 hppavilion[2]: yes, and I think I'll make all addressing absolute. 00:22:21 tswett: it's fine. I just wondered about a meaningful definition of RAM size 00:22:49 Now, the benefit of having 64 ki addressable locations is that you can store a memory address in a 16-bit word. 00:22:51 Very nice. 00:22:53 tswett: Why not have a memory pointer head that all memory is accessed relative to? 00:23:03 Oh wait, that's x86 00:23:20 Having something like that isn't out of the question. 00:23:45 hppavilion[2]: "segment" 00:23:48 tswett: I assume you'll have a FLIP instruction that updates the display, as opposed to updating every instruction cycle? 00:23:58 Yeah, definitely. 00:23:59 int-e: That's what I thought, but I just said x86 to avoid looking stupid 00:24:23 tswett: What are conditionals? 00:24:34 Like... conditional branching? 00:24:44 tswett: Just any sort of conditional code 00:24:50 You get "jump if zero" and "jump if not zero" instructions. 00:24:51 tswett: Conditional branching is /one/ option 00:24:55 tswett: Oh... 00:25:11 A lot of them have tiles, or even for an addressable-bitmap mode at least a color palette where you have, say (for the C64 standard multicolor mode) "2 bits per pixel", but of the four possible colors one is a global background color, while the other three can be freely selected separately for each 4x8 cell. 00:25:14 tswett: Why not "Jump if 42" and "Jump if not 42"? 00:25:41 (And then for how much memory a graphics buffer takes you need to start counting the bitmap and attributes separately.) 00:26:05 hppavilion[2]: that's a good question. 00:26:10 tswett: Good. 00:26:46 tswett: Why not put a minimized call/cc in the set as a builtin? For... some reason? Somehow? 00:27:17 call/cc/if 00:27:18 That's called "push all registers, change the stack pointer, and pop into all registers". 00:27:25 tswett: Oh 00:27:39 tswett: And... you don't have a stack, so... 00:27:47 Wait, all registers or all memory? 00:27:50 There's nothing that's "the stack". You can have a stack. 00:28:01 tswett: Yes, that's what I menat 00:28:03 *meant 00:28:11 All registers. Pushing all memory would mean inserting all memory into memory. 00:28:19 tswett: Ah, yes. Right. 00:28:55 tswett: Figure out something new & exciting for conditionals, whynot. 00:29:01 Lemme be a little conservative here. The address space is 64 KiB, but you only get 8 KiB of general-purpose RAM, including the video buffer. 00:29:21 tswett: What's the other 56 KiB for? 00:29:26 I dunno. 00:29:34 a huge part of it will be ROM 00:29:39 Yup. 00:29:40 int-e: Ah, yes. ROM. 00:29:42 Lemme think about the speed. 00:29:55 maybe some memory mapped IO for good measure 00:30:24 Esoteric conditionals... like... "Call this program with the accumulator set to this other value" 00:30:27 I want it to be just fast enough that you can touch every pixel several times per frame. 00:30:34 tswett: Beat THAT, x86 00:30:34 and of course you need some free address space for future extensions 00:31:10 Or, instead of the accumulator, mem[0] 00:31:14 Here's an idea for an esoteric conditional. There are no goto statements at all; the program counter just loops through all of memory. You do "conditionals" by loading code in front of the program counter. 00:31:56 tswett: Eeeeeew? 00:32:15 So, video memory is about 2,000 bytes, and you'll want to touch it about 20 times per second, meaning 40,000 bytes per second of... stuff in order to touch it all once per frame. 00:32:28 hppavilion[2]: classic trampoline. nothing to worry about. much. 00:33:04 About 200,000 instructions per second sounds like a pretty decent amount. 00:33:26 RSS n "restart the program with acc=n, lak=curline" 00:33:34 tswett: which is why old consoles pretty much *needed* tiles and the like (you want to do other things besides drawing stuff as well) 00:33:42 Right. 00:34:47 Now, I don't think I can get away with having an audio buffer. 00:35:02 tswett: You're going to need controllers, too 00:35:45 Audio uses about 40,000 samples per second. You can use fewer, if you want everything to sound muffled. 00:35:51 tswett: just have 3 square wave generators or so :P 00:36:24 There's nothing stopping me from having sine wave generators instead. 00:36:26 Or whatever. 00:36:29 FFT sound generation! 00:36:36 BytePusher has an audio buffer. Granted, it's pretty fast. 00:37:18 (Then again, it's an OISC.) 00:37:26 Wait, FFT sound generation might actually be a good idea. 00:38:20 tswett: FFT? 00:38:32 Fast Fourier transform. 00:38:38 Free Fourier Transform? 00:38:45 Oh, fast 00:38:47 If by that you mean "write a magnitude spectrogram", it'd at least be different. Calling it a good idea might be pushing it. 00:38:57 FFT is a highly popular implementation of the discrete fourier transformation. 00:39:01 Lemme think about this. 00:39:48 Let's imagine if you had a frame that's 1 second long and contains 40,000 samples. 00:40:12 Each sample represents, uh, 25 microseconds. 00:40:37 tswett: Wikipedia says the DFT uses complex numbers 00:40:45 So if you want to use that for audio- whooooooa 00:40:47 It sure does. 00:41:21 Now, the discrete Fourier transform of that frame buffer thing there... 00:41:34 It's possible to make up a "plausible" phase with pretty little loss of generality. 00:41:37 tswett: What do you think complex sound is like? 00:41:52 hppavilion[2]: check out https://en.wikipedia.org/wiki/Discrete_cosine_transform 00:41:57 * hppavilion[2] is not, as a matter of fact, stoned right now 00:41:59 hppavilion[2]: note that the Fourier transform is already super commonplace in audio progressing. 00:42:04 s/progressing/processing/ 00:42:43 Each complex number represents (if I may fuzz things a bit) the amplitude and phase of a bit of wave. 00:42:52 tswett: okay, how do you shift a 150ms second sample inside the 1s frame? even worse, what if it spans two frames? 00:43:27 I'm not actually going to have a 1 second frame; I'm just trying to figure out what the numbers here are gonna be. 00:43:27 and just for the sake of dropping a buzzword I don't really understand, why not use wavelets ... 00:44:06 tswett: regardless, shifting samples around may be an issue. 00:44:08 tswett: Thou shalt not fuzz things 00:44:10 Not even a bit 00:44:12 - God 00:44:38 * boily fuzzes hppavilion[2] with his mapole 00:44:54 I think after DFT, it's gonna be... still 40,000 samples, I guess, but now each sample, instead of representing 25 microseconds, represents 1 hertz. 00:45:38 For reasons, the second half of that is going to be the mirror image of the first half, so you can just forget about it and use 20,000 numbers instead of 40,000. 00:45:39 But... 00:45:48 They're complex numbers instead of real numbers, making them effectively 40,000 again. 00:45:50 `? hertz 00:46:02 hertz? ¯\(°​_o)/¯ 00:46:06 tswett: Eeeeeew? <-- https://esolangs.org/wiki/SMITH 00:46:12 No, it's 20001 complex numbers, with a little bit of redundancy for the first and last. IIRC. 00:46:20 oerjan: EEEEEEEEEEEEEEEEEEEEEEW! 00:46:23 I was wondering. 00:46:34 I wouldn't build a system where the code is expected to fill in the full complex FFT of whatever signal is going to come out of it. But something where the code is expected to create a magnitude spectrogram (or in other words, produce an Y-sample magnitude spectrum X times/second) might be borderline plausible. 00:46:44 tswett: I do that occasionally, too 00:46:48 (The conversion would need to be a little bit more involved than just taking the FFT.) 00:47:06 Right, because the FFT doesn't reduce the number of numbers you're dealing with. 00:47:10 It's still about 40,000 a second. 00:47:39 More to the point, it'd be very difficult to make a continuous waveform with that thing. 00:48:10 You'd have a discontinuity at every frame boundary, unless your audio-generating code was very very careful with the phases. 00:48:46 Right. 00:49:11 Yeah, lemme see here. 00:49:19 Like... what if you want to have a 40.5 Hz wave? 00:49:51 > 40000 / round (40000/40.5) 00:49:52 No instance for (Show a0) 00:49:53 arising from a use of ‘show_M467247251696577848318660’ 00:49:53 The type variable ‘a0’ is ambiguous 00:50:26 You don't have one of those, you only have 40 Hz and 41 Hz... and all the others. And you can make a 40.5 Hz wave out of that, but you'll need to keep changing the phases. 00:50:47 > 40000 / fromIntegral (round (40000/40.5)) 00:50:49 40.48582995951417 00:51:03 All right, let's forget about audio for the time being. 00:51:15 Even for a continuous 41 Hz tune, you'll have to set the phase component "correctly" for every output frame. 00:53:45 fizzie: how do you figure? 00:54:18 One of the Fourier transform sample things is going to correspond to exactly 41 Hz. 00:54:27 No phase difference from one second to the next. 00:57:42 So where was I? 64 kiB address space, 8 kiB of RAM. 200,000 instructions per second. 64x64 pixel display, 4 bits per pixel, use whatever palette you want. 00:58:00 `learn hertz (German for heart) is an SI unit equal to the frequency of an average heartbeat. 00:58:03 Learned 'hertz': hertz (German for heart) is an SI unit equal to the frequency of an average heartbeat. 00:59:15 No no, the German for "heart" is "Hörte". 01:01:28 lol 01:03:20 Mr. dswedd made a joke. 01:04:33 i know, although shockingly the spelling _is_ a teeny bit off. 01:05:16 that pun hertz. 01:06:52 -!- jaboja has joined. 01:06:58 megahurtz 01:07:07 Next question is, I guess, how much space should be provided for long-term storage? 01:07:19 (the Schlock mercenerary webcomic used that term somewhere, I believe) 01:07:27 tswett: for what? 01:08:09 For "cartridges" (ROM storing program code and static data) and "savegames" (read-write memory for persistent stuff). 01:09:04 wasn't this supposed to be esoteric 01:09:16 No. 01:09:35 int-e: They had also kill-o-huertz. 01:09:45 int-e: http://www.schlockmercenary.com/2000-08-06 01:10:01 pity, you could add some write only memory and some read once memory 01:10:18 (unbuffered DRAM? hmmmmm) 01:12:31 is it possible to have unbuffered ram? 01:12:36 oh, only two occurrences? http://www.schlockmercenary.com/2001-01-28 01:12:44 Also right, you could have individual sine wave components. And if you had it fully imaginary, they'd even all hit 0 right at the edges of the frame, so you could adjust their amplitudes between frames. 01:12:50 Still, for style/speciality points I'd go with something where you paint a magnitude STFT only, and then use something like http://dx.doi.org/10.1109/TASSP.1984.1164317 to synthesize the audio, because then you don't need to be careful at all, and can pretty much just finger-paint spectra. Including (assuming a suitably rapid framerate) dropping sampled "images" wherever and thus ... 01:12:56 ... pitch/time-shifting them however you please. 01:13:37 boily: well, it's a bit hard to use because somebody needs to put the data back into the rows (since reading destroys them) and manually refresh them as well... 01:13:45 And the second one doesn't even mention the SI prefixes like kill-o. 01:13:50 * oerjan machte einen Wordspiel mit "Hertz". Es brachte Boily vielen Schmerz. 01:13:57 boily: speaking of DRAM. SRAM is a different matter entirely 01:14:21 oerjan: "Wordspiel" sounds like a Microsoft joke to me. 01:14:55 and I guess "grosser Schmerz" is more natural than "viel Schmerz" 01:15:43 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 01:15:51 oerjan: Anyway I can't decide whether the 'd' in "Word" was intentional. 01:16:44 dammit 01:17:13 *t 01:17:29 * oerjan beats Muphry with the saucepan ===\__/ 01:18:08 good old muphry 01:18:45 * oerjan should probably have just used google translate. 01:18:47 Fun fact: Z80 has a DRAM refresh register, R. It's an 8-bit register, where the low 7 bits are automagically incremented after every instruction fetch, and its value is sent as the low 7 bits of the address bus (with the RFSH line asserted) during one part of the machine cycle. 01:18:51 The intention being that you can hook up some DRAM without providing any (or at least much) extra refresh circuitry. 01:19:50 I guess that makes sense on ram that doesn't have faster CAS access than the whole RAS/CAS thing `D 01:19:51 :D 01:20:02 ie "almost static" ram 01:20:15 low clock frequency 01:20:50 right 01:20:51 I'm gonna be generous and say that for a cartridge, you get a whopping 256 kiB of storage. And that's just the one—your game can span multiple cartridges. 01:20:56 the limit is something like 3mhz 01:21:04 oerjan: you didn't? 01:21:07 But switching between cartridges takes 2 seconds, and the screen can't update while this is happening. 01:21:28 int-e : it makes sense in an NMOS chip 01:22:04 which are so slow that you can share like half the cycles for the CPU other half for the GPU 01:22:12 As for savegames: You get a super generous 16 MiB. But it's byte-at-a-time sequential access. 01:22:12 and the CPU isn't even throttled 01:22:16 int-e: "grossen", surely? (großen?) 01:22:17 (see: C64) 01:22:23 (see: apple2) 01:22:30 großen 01:22:38 also, why is it impossible to select single words in the GT result :( 01:22:44 oerjan: in your context, yes. 01:22:51 And I said 200,000 instructions per second? 01:22:53 Es brachte ihm großen Schmerz/große Schmerzen 01:23:14 So simply reading the entire tape, and discarding everything you read, would take more than a minute. 01:23:18 myname: no i cobbled it together with wiktionary and memory. 01:23:40 that sounds stupidly complicated 01:23:45 It shouldn't be impossible to select single words; it's not for me. Though the click-to-show-alternatives UI makes it slightly harder than necessary. 01:23:46 oerjan: (note that I changed both "Schmerz" examples to nominative case) 01:24:01 What sounds stupidly complicated? 01:24:37 translating stuff by looking up seoerate words on wiktionary 01:24:41 Also! I had somehow gotten the impression that `thanks was just another silly #esoteric thing, but then QC description used it today. 01:24:43 seperate even 01:24:52 `thanks entropy 01:24:54 Thanks, entropy. Thentropy. 01:25:04 Even with the exact same logic. So I guess it's a Thing. 01:25:04 -!- nooga has quit (Ping timeout: 252 seconds). 01:26:08 I'm gonna be a little bit merciful here. I'm gonna say that the tape has a beginning and an end, and you can always instantly jump to the beginning (but not to the end). 01:27:06 So there's no "I only want to use the first eight bytes of the tape but I'm currently on byte number 8,258,986, so bear with me while I seek to the beginning." 01:27:09 myname: well i was of course trying to do _better_ than GT. with GT's inability to get the inflection of groß right, i'll call it even. 01:27:53 tswett: Press play on tape. 01:28:20 I'm also gonna say that you can do a "start seek" operation and then do other stuff while you're waiting. 01:28:44 fizzie: crap, I might be too young to get that reference. 01:29:07 no wait, "viel". with "groß" it chose the plural, which was correct but breaks the rhyme. 01:29:41 (on the other hand, "ein" is wrong.) 01:30:07 . o O ( "Heinrich, der Wagen bricht!" -- "Nein, Herr, der Wagen nicht, es ist ein Band von meinem Herzen, das da lag in großen Schmerzen, als Ihr in dem Brunnen saßt, als Ihr eine Fretsche wast." ) 01:30:27 why are german plurals so complex 01:31:16 fizzie: `thanks is inspired by Look Around You 01:31:50 specifically, `thanks ants 01:31:53 `thanks ants 01:31:53 Thanks, ants. Thants. 01:32:04 `ls bin/ble* 01:32:05 ls: cannot access bin/ble*: No such file or directory 01:32:06 `thanks oerjan 01:32:06 Thanks, oerjan. Thoerjan. 01:32:13 (It was hard to Google for.) 01:32:37 Also I should've known that, I've seen that bit. 01:32:58 fizzie: all my attempts at clicking to select single words select the whole thing immediately. 01:34:22 Weird. Dragging works for me. 01:36:47 down with plurals! 01:36:58 `thanks whistle 01:36:59 Thanks, whistle. Thistle. 01:37:16 `thanks thanks 01:37:16 Thanks, thanks. Thanks. 01:38:10 `thanks Hanks 01:38:11 Thanks, Hanks. Thanks. 01:38:19 `thanks NO2 01:38:19 Thanks, NO2. ThO2. 01:38:31 Thorium dioxide. 01:39:02 “Thorium dioxide is used as a stabilizer in tungsten electrodes in TIG welding, electron tubes, and aircraft engines.” ← nice. 01:40:17 `thanks bat 01:40:19 Thanks, bat. That. 01:40:25 That bat. 01:41:06 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:41:22 `thanks bcdfghjkl 01:41:22 Thanks, bcdfghjkl. Tcdfghjkl. 01:41:35 no. I'm not recording myself saying that. 01:42:57 int-e: so basically, no one is sure what "Fretsche" means, right? 01:43:11 oerjan: it's a frog 01:43:26 `thanks schmaltz 01:43:26 Thanks, schmaltz. Thaltz. 01:43:43 `thanks bcdfghjklmno 01:43:44 Thanks, bcdfghjklmno. Tho. 01:43:59 `thanks Mgrvgrvladje 01:44:00 Thanks, Mgrvgrvladje. Thadje. 01:44:03 oerjan: clear from context (it's from the frog prince story) 01:44:25 the Grimm version, to be more precise 01:45:00 int-e: https://de.wikipedia.org/wiki/Der_Froschk%C3%B6nig_oder_der_eiserne_Heinrich#Bedeutung_des_Wortes_.E2.80.9EFretsche.E2.80.9C 01:45:22 -!- lambda-11235 has quit (Read error: Connection reset by peer). 01:45:41 * boily georgianically thwacks oerjan ”NO! I HATE THAT WORD! AAAAAAAARGH!” 01:46:14 `thanks chicken 01:46:16 Thanks, chicken. Thicken. 01:46:25 `thanks fizzie 01:46:26 Thanks, fizzie. Thizzie. 01:46:33 `thanks mink 01:46:33 Thanks, mink. Think. 01:46:46 always thanks your inner chicken. it does spiritual good. 01:47:10 -!- int-e has left ("HERETIC CHICKEN"). 01:47:10 -!- int-e has joined. 01:48:13 oerjan: thanks for the link... so yeah apparently people must make things complicated ;) 01:48:25 Darn, the rules given at Wikipedia for English phonotactics don't allow arbitrarily long onsets. 01:48:56 So I can't have a word like "spspspsplot". 01:49:13 shshshshshocking 01:49:20 is it possible to have more than s+consonant+y/w/l/r in english? 01:49:25 in the onset 01:49:39 I don't think so. 01:49:49 or sh+consonant+y/w/l/r if you admit yiddish loans 01:50:00 loans shmoans 01:50:16 Oh yeah, I heard the word "shprig" (schprig?) on TV once. 01:50:19 Lemme see if the rules allow arbitrarily long codas. 01:51:21 `? k 01:51:25 K K K Ken 01:52:16 Yup. The rules don't prohibit "eefsfsfsfs". 01:52:20 * int-e tsks ;-) 01:52:28 Nor "twelfths". 01:52:38 Though people tend to pronounce that as "twelfs". 01:52:45 "thwart" is another nice one 01:53:02 "strengths" :D 01:53:34 And as for "sixths"... 01:53:50 wtf is "sphragistic" 01:53:54 `thanks chump 01:53:55 Thanks, chump. Thump. 01:55:11 -!- boily has quit (Quit: ALREADY CHICKEN). 02:00:39 why did the chicken kill the channel 02:02:12 it got between the chicken and the road 02:09:34 -!- lynn has quit (Ping timeout: 260 seconds). 02:12:40 -!- lambda-11235 has joined. 02:14:17 -!- hppavilion[2] has joined. 02:18:59 -!- lambda-11235 has quit (Max SendQ exceeded). 02:19:45 <\oren\> apparently other people don't pronounce xylophone with a 'ks' in the onsey 02:19:52 <\oren\> *onset 02:20:30 Yeah, "x" at the beginning of a word is usually /z/. 02:20:35 * deltab nods 02:20:38 Which is weird. 02:20:56 Most languages are weird. 02:21:01 Yup. 02:21:02 <\oren\> but my english previously contained a lot worse spelling-pronounciations 02:21:11 (be they spoken or programmed) 02:21:15 Let's see, is Spanish weird? 02:21:22 It has two different copulas. That's weird. 02:21:22 <\oren\> due to learning to read before I could talk 02:21:58 spanish is within the european norm in weirdness 02:22:05 <\oren\> psychic with a p, for example, which I kept doing till I was in university 02:22:32 maybe spanish is a little bit less weird than the european norm 02:22:35 due to lack of case 02:22:49 and nominal declensions being relatively sane 02:22:50 How many modern Romance languages do have case? 02:23:10 romanian sorta has case-ish 02:23:11 <\oren\> french has remnants iirc 02:23:20 \oren\ : like what? 02:25:52 <\oren\> yah the pronouns 02:26:14 eh 02:26:29 the pronouns are essentially bound clitics to the verb 02:26:34 lots of languages have remnants in the pronouns, including english. 02:26:43 (and norwegian.) 02:26:51 when they're not bound to the verb, pronouns have no case whatsoever in french 02:27:08 moi, je veux (moi = nominative?) 02:27:21 regarde moi (moi = accusative?) 02:28:13 il le donne à moi (moi = dative?) 02:28:17 romance languages have more verb forms than germanic ones, though. 02:28:47 ça vient de moi (moi = ablative?) 02:29:45 you can analyse bound verb pronouns for case except that's also sorta wrong 02:30:21 <\oren\> oerjan: does that include German itself? 02:30:46 \oren\: i think so. romance have even added new verb forms that latin didn't have. 02:30:48 french is more like languages where verbs have markers for not only subject but also object and other arguments 02:31:00 (although dropped some, too) 02:31:03 and the markers for objects etc aren't always the same as those for subjects 02:31:09 these languages do not have case 02:31:43 english is a much better example of remanent case 02:31:49 due to 's 02:32:18 and also you could make a much better case for I/he/she being nominative 02:32:31 because they're not bound to the verb 02:32:39 \oren\: german has subjunctive and person suffixes, but other than that is about the same as norwegian. 02:32:48 <\oren\> mad: well I once had the idea of reanalyzing English such that the forms of "I" are I, me, my, I'm, and I'll 02:32:50 and english has the progressive which neither has. 02:33:51 I/me is totally true 02:34:02 but the other ones have arguments against them 02:34:14 <\oren\> effectively the tense is partially markd by a form of the subject 02:34:30 \oren\: you need I'd too 02:34:35 \oren\ : that CAN happen actually 02:34:41 How come French doesn't have the present progressive? Did it just get lost at some point? 02:34:45 some west african languages have exactly that :D 02:34:57 tswett : french does have a present progressive 02:35:05 "je suis en train de venir" 02:35:50 it's just that the threshold for selecting the present progressive over the ordinary present is a lot higher in french 02:36:04 "Suis en train de venir" is quite the verb form. 02:36:04 basically you're stressing the fact that the action is progressive 02:36:21 -!- lambda-11235 has joined. 02:36:58 Though English has some fun verb forms as well, depending on how loosely you're willing to interpret the phrase "verb form". 02:37:10 "(that he) were to have been going to change" 02:37:21 <\oren\> I'mma gonna be writing 02:37:25 the one thing that modern french doesn't have is the difference between perfective and perfect 02:37:33 "I came" vs "I've come" 02:37:46 Both are "Je suis venu" 02:38:00 Not j'ai something? 02:38:08 What's "he came"? 02:38:17 "J'ai" is not perfective :D 02:38:24 "Il est venu" 02:38:44 wait, no 02:38:55 "J'ai X" is used for perfective 02:39:06 but not with reflective verbs 02:39:20 What's a reflective verb? 02:39:24 french has the same thing as german, where some verbs use j'ai and some use je suis, no? 02:39:26 and not with sorta reflective verbs, which include "venir" in french 02:39:50 (ich habe / ich bin) 02:40:18 tswett : a lot of verbs are used with the same agent as subject and object in french 02:40:36 English : "I shave" 02:40:39 Is that the same thing as a reflexive verb? 02:40:44 French : "Je me rase" 02:40:49 (I shave myself) 02:40:58 you cannot say "Je rase" in french 02:40:59 (norwegian can always use "har", although sometimes "er" is also possible) 02:41:14 Yeah, in Spanish, if you say "ducho", literally "I shower", you're failing to specify who it is that you're showering. 02:41:45 reflective verbs use the verb "être" as auxillary instead of "avoir" 02:41:48 reflective verbs don't use "er", but passive once can. 02:41:51 *ones 02:41:53 "Je me suis rasé" 02:42:17 "Jeg har barbert meg" is the same thing as that french 02:42:19 actually english sorta has this but only for passives 02:42:24 "I was shaved" 02:42:35 uses "to be" instead of "to have" as an auxillary 02:42:43 "El agua está hirviendo." The water is boiling? What is the water boiling, exactly? 02:42:58 and no:kommet = fr:venu can use "er". 02:43:23 Actually that might be an incorrect example. 02:43:43 some verbs can be either normal or reflective with no change in meaning 02:43:53 "la porte ouvre" / "la porte s'ouvre" 02:45:02 in french there's a category of intransitive verbs that sorta act like reflective verbs by using "être" as an auxiliary for perfective 02:45:12 "je suis tombé" etc 02:46:12 it's kinda similar to the category of verbs where the subject is the agent in transitive form, it the subject is the patient is the object in intransitive form. English has that sort of verb as well: "I burn books" "I burn" 02:47:11 Hey, another question. 02:47:53 If something's a "16 bit architecture", would you expect the CPU to be able to multiply any two 16-bit words, giving you a 32-bit result? 02:48:18 Or would you expect the result to be truncated to the least significant 16 bits? 02:48:34 tswett: x86 went the 16x16->32 way 02:48:46 so it's a valid thing 02:48:49 however 02:50:14 <\oren\> I would not necessarily expect it to have a MUL instruction 02:50:56 <\oren\> but assuming it does, it would probably be 16,16->32 02:51:07 68000 has a 16x16->32 multiply as well 02:51:08 well 02:51:10 actually 2 02:51:20 because there's mulu and muls (unsigned and signed) 02:51:29 but 68000 is a borderline 32bit arch 02:52:27 also 68k mul is really slow if I remember correctly 02:52:47 Other 16bit architectures have no multiplication!!! 02:52:57 <\oren\> did the 8080 or Z80 have an 8,8->16 mul instruction? 02:53:04 ha ha no 02:53:08 <\oren\> I know 6502 doesn't 02:53:22 the z80 version of multiplication is "buy a better cpu" 02:53:42 the 65816 version of multiply on snes is done by writing to an external hardware device! 02:54:03 <\oren\> various nes games have multiply subroutines, sometimes buggy 02:54:24 the sound cpu on the snes is 8bit and has multiplication 02:54:35 8x8->16 I *think* 02:54:55 <\oren\> lol, write to the sound sub system to multiply 02:55:13 Add, subtract, multiply, divide, modulo. All the arithmetic operations a boy could ever want. 02:56:44 \oren\ : there's a snes motherboard device for that actually 02:57:42 16bit cpus tend to have lots of grody operations mixing bit depth 02:58:00 16x16->32 multiply is a perfect example of grody operation mixing bit depth :D 02:58:27 <\oren\> 8086 seems to have 8,16->16 and 8,8->16 but not 16,16->16 02:59:58 x86 multiply is more like 03:00:26 I'm not bothering to describe separate instructions for AND, OR, NAND, NOR, XOR, blah blah blah. 03:00:28 32x32->64 but totally ignore the top 32bits so in practice 32x32->32 because of how C++ works 03:00:32 I'm just having one instruction called "logic". 03:00:46 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 03:01:03 so it's like 32x32 multiply writes to two registers which complicates register allocation in compilers 03:01:05 It's either OR or XOR, depending on a flag. There are two flags for inverting the inputs, and one for inverting the output. 03:01:16 <\oren\> tswett: you can describe 6502 in that manner 03:01:21 Wait, I just realized something. 03:01:40 With four flags, you can just put an entire truth table in the opcode. 03:01:42 So... 03:02:06 0001 is AND, 0111 is OR, 1110 is NAND, 1000 is NOR, 0110 is XOR, and so forth. 03:02:28 <\oren\> 6502 has a group of instructions where 3 of the bits tell you the operaiton and 3 tell you the address mode 03:02:45 \oren\ : x86 sortof has that 03:02:46 ish 03:03:23 -!- hppavilion[2] has joined. 03:05:01 x86 has that only with bizarro special cases everywhere. 03:05:11 Because hard instruction encoding is great. 03:05:20 well 03:05:28 x86 was designed for the 286 03:05:39 88086, actually. 03:05:55 when your memory bus is limited and you have no instruction cache 03:06:07 it doesn't matter if your instruction takes 5 cycles to execute 03:06:24 because the next opcode isn't coming before that anyways 03:06:45 so crunching as much operations in as little space as possible makes sense in that setting 03:07:36 <\oren\> tswett: you cna use the entries that are useless (like 0000, 1100, 1010, 1111) for things like add and sub where it isn't a truth table. 03:07:41 8086, 286 and 386 all easily starve the instruction stream 03:08:38 \oren\: that's an interesting idea. 03:08:44 Less easily for 386 systems that had an external cache. 03:08:53 I think 1111 isn't actually useless, though. 03:09:08 There's currently no other way to set a register to -1 using only one instruction. 03:10:14 Also, 1100 and 1010 are what you'd use for NOT. 03:10:59 <\oren\> what about 0011? 03:11:23 Useless. That's NOP. 03:11:26 And 0101 is MOV. 03:11:28 0011, 0101, 1100, 1010, 0000, 1111 are like... not too useless 03:11:31 well 03:11:34 Wait, wait. 03:11:37 NOP is certainly useful. 03:11:40 no they are useless 03:11:41 :) 03:11:45 I can get rid of MOV, actually, and just use 0101. 03:11:58 <\oren\> mad: they're useful for nopslides 03:12:06 Come to think of it, I don't really have another NOP, either. 03:12:14 Okay, lemme see what I've got. 03:12:16 0001, 0010, 0100, 1000, 1110, 1101, 1011, 0111, 0110, 1001 are the useful ones 03:12:39 if your right side is an immediate then a lot of those are equivalent 03:12:43 0000: sets a register to 0. But I also have two other ways of doing that: reg := reg - reg and reg := reg mod reg. 03:13:03 then you only really need 0001, 0100, 1110, 1011, 0110 03:13:56 <\oren\> but an immediate usually is larger than a register operand 03:14:18 So far I only have two instructions accepting immediates. 03:14:23 Load lower immediate, load upper immediate. 03:14:25 \oren\ : yes, which is why some cpus implement 0001, 0010, 1110, 0110 03:14:42 and, andnot, or, xor 03:15:25 Man, I didn't expect to be able to do pretty much all of ALU, plus NOP and MOV, using just seven "instructions". 03:27:48 Now, how easy should "load the lower byte of this register into the upper byte of that register" be? 03:27:56 Because currently, the process is... 03:29:08 Copy the source register to a temporary register. Shift the temporary register left by 8. Clear the lower byte of the target register. Bitwise OR the temporary register into the target register. 03:29:23 Hello 03:30:40 I think now, for instructions, all I need is memory access stuff, and then the stranger ones. 03:31:32 tswett: Oooh, what are the strange ones? 03:31:38 Z++ machine, anyone? 03:32:09 RENDER: Render a frame. MAP: Map some ROM into one of the two ROM blocks. TAPESEEK: This one's a doozy. 03:32:15 So... 03:33:21 TAPESEEK means "seek the tape the specified number of bytes in the specified direction, optionally reading from or writing to the tape along the way, and optionally waiting for the seek to finish before proceeding". 03:34:01 -!- XorSwap has joined. 03:35:31 tswett: RNDR 03:35:45 tswett: Can I get a brief architecture overview for what I've missed? 03:36:17 https://docs.google.com/document/d/11tncxhSD3MIjNQItRqacYCzE9g4U-kGVHzgADlx4BIg/edit?usp=sharing 03:36:22 There ye go. 03:36:27 Thank you. 03:37:35 So I guess there are gonna be two flags and two registers which are all write-only: the tape read flag, the tape write flag, the tape count register, and the tape destination register. 03:37:55 Every clock cycle, what the tape unit does is... 03:38:39 Oh, one more flag. The direction flag. 03:38:48 Actually, call that the reverse flag. 03:39:51 tswett: Oooh, full bitwise logic instruction. I like. 03:40:01 If the read flag is true, copy from the tape head to the memory pointed to by the destination register. If the write flag is true, do the other way around. If the counter is 0, clear the read and write flags. Otherwise, subtract 1 from the counter, and move the tape head and the destination register both forward if the reverse flag is false, backward if it's true. 03:41:20 tswett: I see nothing about a tape 03:41:28 I haven't written that part yet. 03:41:30 There's a tape. 03:41:46 I figure it'll have, like, 16 MiB of storage. 03:42:34 Which, given the speed of this thing (200,000 instructions per second, was it?), is so much storage that it will take more than a minute just to move from one end to the other. 03:42:48 Except there's the TAPERESET instruction, which instantly puts you back at position 0. 03:43:15 This means you're at one end of the tape; there's no position -1. 03:44:11 I need to sleep. Night, everyone. 03:45:52 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 04:23:52 -!- treaki__ has joined. 04:25:29 -!- treaki_ has quit (Ping timeout: 260 seconds). 04:31:25 -!- zzo38 has joined. 04:32:08 <\oren\> what is the fastest method to find the smallest power of 2 larger than x? 04:33:12 <\oren\> i'm currently using p=1;while(p would pow(2,log(x)+1); be faster, even if x is an int? 04:36:48 <\oren\> er, i guess that log should be log2 or something. 04:37:10 <\oren\> bah, I'll just test it 04:37:39 if(x < 65536) if(x < 256) if(x < 16) if(x < 4) if(x < 2) if (x < 1) return -1; else return 0; else if(x < 8) return 2; else return 3; else if(x < 64) if(x < 32) return 5; else return 6; else if(x < 128) return 7; else return 8; else if(x < 4096) if (x < 1024) if (x < 512) return 9; else return 10; else if (x < 2048) return 11; else return 12; 04:37:58 else if(x < 16777216) 04:38:02 etc ad nauseum 04:38:24 though it would probably generate a lot of branch prediction faults so probably not so great 04:38:37 hmm 04:40:53 r=0; if(x >= 65536) r+=16, x>>=16; if(x >= 256) r+=8, x>>=8; if(x >= 16) r+=4, x>>=4; if(x >= 16) r+=4, x>>=4; if(x >= 4) r+=2, x>>=2; if(x >= 2) r+=1, x>>=1; if(x == 0) r=-1; 04:41:13 getting there 04:42:55 static const signed char resTb[256] = {0,1,2,2,4,4,4,4,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, 04:43:02 <\oren\> argh, the i/o dominates, and if I remove it gcc just blanks my whole program 04:43:12 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, 04:43:34 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 04:43:38 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128}; 04:43:51 -!- copumpkin has quit (Read error: Connection reset by peer). 04:45:08 int shift=0; if(x >= 65536) shift += 16, x<<=16; if(x >= 256) shift += 8, x<<=8; return resTb[x] << shift; 04:45:23 warning: x must be unsigned or else you get page faults on negatives 04:45:45 -!- copumpkin has joined. 04:46:36 <\oren\> mad: I'm using this on the size of a buffer to see if I should resize it 04:47:10 <\oren\> so if it's negative, I've got... problems 04:49:18 <\oren\> also, that table can be simplified using gcc's [4...7]=4 syntax for array literals 04:49:50 \oren\ : is that weird C99 stuff that only compiles in gcc? 04:50:54 " This extension is not implemented in GNU C++. " 04:51:00 <\oren\> nah, it's just a gnu extension 04:51:06 it doesn't even compile in gcc if it's a .cpp 04:51:16 <\oren\> lol, really? hahaha 04:52:10 <\oren\> probably because of having to call the initializer the right number of times 04:53:08 if it doesn't compile in .cpp in msvc and llvm, it's dead to me 04:56:29 \oren\: x|=x>>1; x|=x>>2; x|=x>>4; x|=x>>8; x|=x>>16; x|=x>>32; ++x; 04:57:01 just to be sure that all alternatives are listed 04:57:14 <\oren\> ok, pow(log2()) is out, because gcc apparently generates CALL instructions even with every possible optimization 04:57:19 (in reality, I believe mad's LUT code would be probably fastest) 04:57:34 \oren\: gcc has special functions __builtin_clz etc. that are optimized 04:57:43 (count leading zeros) 04:58:28 see http://stackoverflow.com/questions/2589096/find-most-significant-bit-left-most-that-is-set-in-a-bit-array 04:59:10 -!- jaboja has quit (Remote host closed the connection). 04:59:15 (as in, they use underlying special assembly if available) 04:59:19 You could use such thing as #ifdef if require to be use even without GNU 04:59:54 However I use the GNU extensions; sone features are possible in GNU89 mode such as zero-length arrays and empty structures and typeof and so on 05:00:14 oerjan: ah, indeed, LZCNT came with POPCNT 05:03:18 <\oren\> hmm 1<<(32-__builtin_clz(x)) 05:03:33 ?messages-loud 05:03:33 vanila said 1d 16h 8m 9s ago: i cant load your gopher :( 05:04:21 <\oren\> nice! no calls and no jumps! 05:05:22 <\oren\> ok, that's what I'll use 05:07:27 <\oren\> I wonder what the bsrl instruction actually does? 05:08:11 \oren\: there were some comments on stack overflow that its speed depends a lot on chip versions - some do a microcode loop internally. 05:08:52 although hopefully gcc knows what to choose.. 05:09:27 <\oren\> with all the bullshit they do to my code under optimization, they'd better be worth the hassle 05:12:29 <\oren\> in particular, unit tests are annoying to do when they remove code that has no side effects 05:14:19 <\oren\> maybe I *want* it to run a loop over every 32 bit number and tell me just how long it took, eh? 05:20:10 -!- XorSwap has quit (Quit: Leaving). 05:27:54 -!- hppavilion[2] has joined. 05:29:34 Possibly to specify volatile 05:33:15 -!- lambda-11235 has quit (Quit: Bye). 05:57:59 [wiki] [[A:;]] https://esolangs.org/w/index.php?diff=46643&oldid=46638 * 27.33.99.249 * (+4) added link to deadfish from deadfish interp 06:14:54 -!- idris-bot has quit (Ping timeout: 248 seconds). 06:17:07 -!- Melvar has quit (Ping timeout: 248 seconds). 06:22:24 A:; sounds like the finite-state automaton, isn't it? 06:23:30 wait, it should be PDA instead* 06:28:47 *doesn't it 06:29:51 you don't use "isn't it" unless "is" is the original verb (which may be auxiliary.) 06:30:28 oerjan: clearly that was shorthand for "isn't it so?" hth 06:31:02 oerjan: good catch. composing a sentence with an arbitrary lookahead is a bit hard. 06:31:28 (forgot to fix the matching verb when the original verb was changed) 06:31:35 aha 06:33:57 i have that problem when the irc lines get too long to show in the input 06:34:14 *the input line 06:34:22 yep, totally an example. 06:34:41 * oerjan is frequently tempted to whack his own head. 06:37:28 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 07:03:31 Goood morning 07:19:11 -!- AnotherTest has joined. 07:24:21 -!- AnotherTest has quit (Ping timeout: 276 seconds). 07:32:21 mörnïng 08:07:21 rnømıng 08:07:38 hi satan 08:11:37 `? canary 08:11:41 -!- lynn has joined. 08:12:24 ​*tsjørp* 08:19:28 -!- oerjan has quit (Quit: Nite). 08:31:35 -!- nooga has joined. 08:50:54 https://imgur.com/gallery/4nSm8pw 08:51:16 and they call *that* parenting done right? 08:51:22 BLUE CROSS WTF 08:52:04 -!- rodgort has quit (Ping timeout: 264 seconds). 09:01:21 -!- mroman has joined. 09:01:24 fniard 09:01:29 fungot: hello there 09:01:30 mroman: spineless tagless g-machine, fnord machine, i would think" to " ' foo" just as " :print". was apparently added to vi for quick-hit editing and on remote systems. 09:45:07 -!- nooga has quit (Ping timeout: 248 seconds). 09:54:30 -!- rodgort has joined. 09:54:40 -!- nooga has joined. 10:06:46 "You spineless, tagless g-machine" is a good insult. 10:07:01 fungot: What's your spine like? 10:07:01 fizzie: i like books :) i know better than i had to take. 10:10:07 fungot: What's the last book you've read, then? 10:10:07 fizzie: eval ( display ' hello) and ( " utils.ss" " walmart") are in lieksa currently. sorry. 10:10:23 Best book. 10:10:41 i like how the parantheses match 10:20:45 -!- rodgort has quit (Read error: Connection reset by peer). 10:22:58 -!- boily has joined. 10:26:33 -!- nooga has quit (Ping timeout: 240 seconds). 10:26:58 -!- AnotherTest has joined. 10:29:47 -!- nooga has joined. 10:32:06 -!- rodgort has joined. 11:07:47 -!- Yurume has quit (Ping timeout: 248 seconds). 11:09:05 -!- Yurume has joined. 11:13:51 -!- zadock has joined. 11:22:13 -!- boily has quit (Quit: BOOKED CHICKEN). 12:08:54 -!- Melvar has joined. 12:14:19 -!- Elronnd has quit (Quit: Let's jump!). 12:18:09 -!- nooga has quit (Ping timeout: 276 seconds). 12:22:05 -!- Elronnd has joined. 12:26:40 -!- Elronnd has quit (Quit: Let's jump!). 12:26:53 -!- Elronnd has joined. 12:31:40 -!- Sgeo__ has quit (Ping timeout: 252 seconds). 12:44:36 -!- benderpc_ has joined. 12:59:20 -!- benderpc_ has changed nick to bender|. 13:01:36 -!- zadock has quit (Quit: Leaving). 13:32:35 -!- lynn_ has joined. 13:33:28 -!- lynn has quit (Ping timeout: 264 seconds). 13:34:34 fungot: Would you ban fracking? 13:34:34 mroman: the next thing? 13:34:40 fungot: yeah, fracking the next thing. 13:34:41 mroman: wanna fork io to use st style? or what about 1-? 13:42:33 -!- gde33|2 has quit. 13:49:10 -!- J_Arcane has quit (Ping timeout: 244 seconds). 14:04:15 -!- llue has quit (Quit: That's what she said). 14:05:18 -!- lambda-11235 has joined. 14:06:31 -!- mroman has quit (Quit: Lost terminal). 14:57:10 -!- lambda-11235 has quit (Quit: Bye). 15:04:34 -!- ais523 has joined. 15:04:55 this is getting ridiculous: https://api.left-pad.io/?str=test&len=12&ch=%22 15:05:03 I am insanely angry about this on about three dimensions at once 15:07:44 ais523: https://github.com/jsayol/leftpad-sdk 15:09:07 -!- puck1pedia has joined. 15:09:07 i couldn't resist commenting in https://news.ycombinator.com/item?id=11350651 15:09:25 I've informed the author 15:09:30 wait... I can sort of understand that it trips on ", but why is it trying to parse its own broken json? 15:09:50 int-e: as far as I can tell it's literally substituting the URL parameters into a string, then interpreting the resulting string as json 15:10:01 -!- bender| has quit (Ping timeout: 240 seconds). 15:11:40 -!- Effilry has joined. 15:11:47 it's doing something along the lines of (this is Perl, but it's probably written in a different language) «my $json = qq/{str:"$str", len:$len, ch:"$ch"}/; my $args = JSON->decode_json $json;» 15:11:57 err, not -> 15:12:01 it's doing something along the lines of (this is Perl, but it's probably written in a different language) «my $json = qq/{str:"$str", len:$len, ch:"$ch"}/; my $args = JSON::decode_json $json;» 15:12:57 how can you screw up something so simple? 15:13:14 -!- b_jonas has quit (*.net *.split). 15:13:14 -!- puckipedia has quit (*.net *.split). 15:13:14 -!- FireFly has quit (*.net *.split). 15:13:14 -!- izabera has quit (*.net *.split). 15:13:14 -!- vyv has quit (*.net *.split). 15:13:15 anyway, this is thedailywtf material 15:13:15 -!- puck1pedia has changed nick to puckipedia. 15:13:52 how can you rely on a remote string padding service?! 15:14:41 it's all a joke 15:16:29 it was clearly designed as a joke, but I'm still offended at how badly it's written 15:16:43 is it? https://github.com/azer/left-pad/issues/4 doesn't sound like it's all a joke. 15:17:17 -!- gde33 has joined. 15:17:17 (Of course there's hope that the left-pad.io site is a joke.) 15:18:59 -!- Effilry has changed nick to FireFly. 15:20:08 i bet there will be people using leftpad-sdk 15:25:25 -!- izabera has joined. 15:29:39 -!- b_jonas has joined. 15:29:39 -!- vyv has joined. 15:32:46 -!- sewilton has quit (Ping timeout: 248 seconds). 15:34:07 -!- sewilton has joined. 15:57:24 -!- MoALTz_ has joined. 16:00:55 -!- MoALTz has quit (Ping timeout: 244 seconds). 16:07:33 -!- lynn_ has changed nick to lynn. 16:09:33 -!- me2 has quit (Ping timeout: 240 seconds). 16:09:52 -!- me2 has joined. 16:22:11 -!- idris-bot has joined. 16:25:37 -!- hppavilion[2] has joined. 16:25:41 tswett: Here's something that'd be useful for Quendle libraries 16:26:05 tswett: If every table had a global "properties" set of strings that could be given values to denote that that table meets certain properties 16:27:19 Though that doesn't work optimally... 16:45:13 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 16:56:58 https://twitter.com/internetofshit/status/711926515366100993 16:57:50 -!- hppavilion[2] has joined. 16:58:51 -!- MoALTz_ has changed nick to MoALTz. 17:06:25 -!- spiette has joined. 17:13:43 -!- gde33 has quit. 17:14:59 -!- spiette has quit (Quit: :qa!). 17:17:08 -!- lambda-11235 has joined. 17:21:52 -!- spiette has joined. 17:26:04 -!- nooga has joined. 17:44:37 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 18:00:03 -!- gde33 has joined. 18:01:31 -!- gde33|2 has joined. 18:04:25 -!- gde33 has quit (Ping timeout: 240 seconds). 18:29:50 -!- earendel has quit (Ping timeout: 248 seconds). 18:30:42 -!- hppavilion[2] has joined. 18:31:55 tswett: Hi? 18:33:57 https://allthetropes.org/wiki/User:Zzo38/level20.tex It says "Where's LNF again?" but what does "LNF" mean? Do you know? 18:38:23 -!- hppavilion[2] has changed nick to hppavilion[1]. 18:45:20 -!- lynn_ has joined. 18:46:04 -!- lynn has quit (Disconnected by services). 18:46:07 -!- lynn_ has changed nick to lynn. 18:50:18 -!- spiette has quit (Ping timeout: 268 seconds). 18:53:24 -!- lynn_ has joined. 18:53:24 -!- lynn has quit (Disconnected by services). 18:53:28 -!- lynn_ has changed nick to lynn. 19:02:31 -!- spiette has joined. 19:03:44 -!- spiette has quit (Max SendQ exceeded). 19:04:35 -!- spiette has joined. 19:25:54 -!- vyv has quit (Quit: leaving). 19:34:47 -!- Phantom_Hoover has joined. 19:43:21 -!- jaboja has joined. 19:57:50 -!- spiette has quit (Ping timeout: 248 seconds). 20:12:43 -!- spiette has joined. 20:12:55 -!- spiette has quit (Remote host closed the connection). 20:19:56 -!- lynn_ has joined. 20:22:51 -!- lynn has quit (Ping timeout: 246 seconds). 20:24:25 -!- lynn_ has quit (Ping timeout: 240 seconds). 20:24:28 zzo38: took some digging but "lost and found" seems to be a good guess 20:24:41 and... oh no, what happened to tvtropes? 20:32:37 [wiki] [[Special:Log/newusers]] create * Captainpicard98 * New user account 20:32:42 Ah apparently this has been going on for 3 years now, I'm so slow to notice... 20:35:16 zzo38: Lambda Normal Form 20:35:40 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:35:59 zzo38: The name "Iuckqlwviv Kjugobe" is difficult to pronounce and also to type and remember. 20:36:04 [wiki] [[Alphabetti spaghetti]] https://esolangs.org/w/index.php?diff=46644&oldid=42980 * Captainpicard98 * (+183) Added that there is a interpreter written in C on GitHub 20:36:23 Have you considered a simpler name like "Aaron"? 20:39:56 shachaf: hard to pronounce for you maybe, but to their species it may be normal. see http://stickman.qntm.org/comics.php?n=178 20:40:27 b_jonas: I think you need tentacles to pronounce it properly. 20:41:35 or telepathy maybe 20:52:46 \oren\: you're looking for the fastest method to find the smallest power of 2 larger than x? 20:53:37 -!- hppavilion[1] has joined. 20:56:29 Hmm. I was thinking you could do something with, like, x & -x or whatever it was, but I don't think that'll work. 20:56:41 x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; x |= x >> 32; x += 1; 20:57:02 > 40 .&. -40 :: Int 20:57:03 Precedence parsing error 20:57:03 cannot mix ‘.&.’ [infixl 7] and prefix `-' [infixl 6] in the same in... 20:57:09 > 40 .&. (-40) :: Int 20:57:11 8 20:57:15 the x & -x gives you the lsb 20:57:19 Right. 20:57:33 > map (\x -> x .&. (-x)) [1..] :: [Int] 20:57:34 [1,2,1,4,1,2,1,8,1,2,1,4,1,2,1,16,1,2,1,4,1,2,1,8,1,2,1,4,1,2,1,32,1,2,1,4,1... 20:58:59 the |= >> thing is a bit longwinded... 20:59:16 (and depends on the word size, I did it for 64 bits) 21:12:30 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 21:15:52 copumpkin: can you confirm http://www.bloombergview.com/articles/2016-02-05/bridgewater-s-bosses-are-fighting-over-something 21:18:01 -!- lambda-11235 has quit (Quit: Bye). 21:18:19 shachaf: Yes it is difficult, although it doesn't matter, it is supposed to be strange like that and some people pronounce it differently, although yes it would be the telepathy of course can also you can know what it is. About tvtropes, it is that there was some problems so some people forked it and made All The Tropes which is better in my opinion. 21:18:53 zzo38: I think the last sentence was addressed to int-e? 21:19:13 Yes, that is correct 21:19:20 (Sorry I forgot) 21:20:46 -!- AnotherTest has quit (Ping timeout: 268 seconds). 21:24:42 Yeah, I figured it out; they started doing odd things to the license in November 2013 and now it's having visible effects: the site looks like they're just monetizing the remains but without a community. 21:25:11 (or perhaps they have a community but I'm not going to look... the layout makes my head hurt) 21:25:55 All The Tropes is also based on MediaWiki which is a better wiki system, and also on MediaWiki you can have user CSS so you can change the layout if you do not like it, anyways 21:26:54 Why is MediaWiki a better wiki system? 21:27:13 It does have problems, but it seems to be better than whatever tvtropes uses 21:27:28 shachaf, no camelcase links for a start 21:44:43 -!- b_jonas has quit (*.net *.split). 21:44:51 -!- jaboja has quit (Ping timeout: 250 seconds). 21:47:22 -!- jaboja has joined. 22:00:39 -!- b_jonas has joined. 22:02:43 -!- lynn_ has joined. 22:07:26 -!- jaboja has quit (Ping timeout: 248 seconds). 22:08:34 -!- impomatic has quit (Read error: Connection reset by peer). 22:10:49 -!- Sgeo__ has joined. 22:22:10 there's a grammar here http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html and i could be wrong but i think it allows this: chmod = 22:22:14 is that correct? 22:28:57 izabera: my chmod(1) allows "chmod = filename" as an input 22:29:01 and sets the mode to 000, it seems 22:29:16 yeah i just tried 22:29:37 I think I read in some book that mode 000 is used for the file to indicate the last login time? 22:29:56 uh what? 22:29:58 hmm, that's a bug? "If perm is not specified, the '=' operation shall make no further modifications to the file mode bits." 22:30:10 (my chmod clears all bits as well) 22:30:20 (I seem to have no such file on my computer though) 22:31:12 Ah, "further" refers to clearing all bits... fine. 22:31:15 confusing, but fine. 22:32:10 thanks int-e 22:32:13 and ais523 22:32:16 and zzo38 22:41:11 -!- hppavilion[1] has joined. 22:41:13 I had a partially-esoteric language idea about 5 minutes ago 22:41:34 I'm calling it CASM (pronounced like "chasm") right now 22:41:59 It is, basically, C with no type system 22:42:05 But it still has types 22:42:08 Basically, ASM typing 22:45:20 you're confused/confusing 22:52:23 hppavilion[1]: isn't that just C 22:55:17 coppro: Nope 22:55:33 izabera: You'll see in a bit 22:59:54 -!- jaboja has joined. 23:00:45 [wiki] [[CASM]] N https://esolangs.org/w/index.php?oldid=46645 * Hppavilion1 * (+2933) Created Page 23:01:03 [wiki] [[CASM]] M https://esolangs.org/w/index.php?diff=46646&oldid=46645 * Hppavilion1 * (+0) Formatting Glitch 23:01:29 [wiki] [[CASM]] M https://esolangs.org/w/index.php?diff=46647&oldid=46646 * Hppavilion1 * (+1) Formatting Reglitch 23:01:38 izabera: There 23:02:14 [wiki] [[CASM]] M https://esolangs.org/w/index.php?diff=46648&oldid=46647 * Hppavilion1 * (+2) unrelated formatting glitch 23:03:09 [wiki] [[CASM]] https://esolangs.org/w/index.php?diff=46649&oldid=46648 * Hppavilion1 * (-4) /* How does THAT work? */ code 23:03:48 hmm 23:03:52 idea 23:03:53 what does that have to do with assembly? 23:04:04 izabera: Assembly works in a similar way to CASM 23:04:05 an exception based programming language 23:04:06 for instance 23:04:14 i = 3 but if j = 2 then actually i = 4 23:04:32 izabera: Assembly doesn't have a type system, you just deal with the values in registers 23:05:13 izabera: Which is what makes assemblies a pain in the ass to implement in anything WITH a type system- you have to find a library to store floats and ints and nats in the same format so you can bitwise convert between them 23:05:42 dude that's javascript 23:05:46 izabera: By that I mean, you deal with values in registers by telling it what type to /treat/ them as, not letting it read them as a type 23:06:06 izabera: Try 5+9.2 in JS. It gives you 14.2 23:06:22 izabera: CASM gives you some illogical value I now have to calculate 23:06:42 you're nonsensical and not interesting 23:06:51 izabera: I find it interesting 23:08:18 izabera: Huh, when treated as a float 5+9.2 is still 9.2 23:08:25 Should've seen that coming, based on how floats work 23:08:40 Wait, no... 23:08:56 Yeah, I see why now 23:09:06 The mantissa is 0, I think 23:09:32 izabera: Did you read the article? 23:09:40 izabera: Because if you don't, you won't understand 23:09:50 izabera: (Though knowing me, if you do, you still might not understand) 23:10:07 i[+:int,float]f; 23:10:10 ^ Code 23:25:04 -!- oerjan has joined. 23:42:36 oh man 23:42:36 -!- jaboja has quit (Ping timeout: 276 seconds). 23:45:02 -!- jaboja has joined. 23:45:12 -!- boily has joined. 23:45:27 bood frily 23:46:06 wait, maybe that needs an extra "good" 23:46:38 @time oerjan 23:46:39 Local time for oerjan is Fri Mar 25 00:46:38 2016 23:46:42 @time boily 23:46:50 oerjan: good? are you sure? 23:47:16 Local time for boily is Thu, 24 Mar 2016 19:47:06 -0400 23:47:38 poor boily doesn't have friday yet 23:48:31 olsner: it's the technical term in english 23:48:54 hellørjan, hellochaf, hellolsner! 23:48:58 -!- impomatic_ has changed nick to impomatic. 23:49:04 I'm at September 2012. 23:49:12 wat 23:49:22 poor boily 23:49:24 what are you doing all the way back there? 23:49:40 you must be tired of all the us election news 23:50:35 -!- jaboja has quit (Ping timeout: 244 seconds). 23:51:07 oerjan: GG binge! :D 23:51:39 election news are quite filtered up here. 23:52:27 * oerjan currently gets all his news from wikipedia's front page. 23:52:48 it's surprisingly free of us elections. 23:53:06 although niger got its president reelected. 23:53:15 -!- asie has quit (Ping timeout: 264 seconds). 23:53:50 huh, just learnt of a new country from the wikipedia front page, "Benin" 23:54:56 they also elected a president 23:54:57 -!- asie has joined. 23:55:24 oerjan: all i see is a list of languages 23:56:18 shachaf: ERM 23:56:28 *english wikipedia 23:56:38 stupid pedants 23:57:16 who are you calling stupid 23:57:25 the pedants hth 2016-03-25: 00:03:45 `wisdom 00:04:19 abstract nonsense/We would have an explanation of abstract nonsense here, but it fled into a diagram and we haven't been able to chase it. 00:05:15 hmm 00:05:46 we got lost while chasing it? 00:06:09 int-e: it's more that diagram is very very complicated 00:06:14 *+the 00:06:29 we need an abstract machete to get close 00:06:39 I still don't see how that's stopping us from starting to chase it. 00:07:02 `? gordonian diagram 00:07:06 stupid pedants 00:07:09 gordonian diagram? ¯\(°​_o)/¯ 00:07:24 oerjan: takes one to know one 00:07:48 int-e: itym "gordian" hth 00:07:55 as I said. 00:08:05 (you're right, of course) 00:08:15 IT IS A RUSE 00:08:23 -!- jaboja has joined. 00:08:31 (admiral ackbar, darths & droids version) 00:08:42 Mah, I just don't know my Greek mythology very well. 00:08:47 s/Mah/Nah/ 00:09:05 it's a bit of a labyrinth 00:09:21 quick, think of a minotaur pun... 00:11:57 HAHA. "If for some reason you don’t receive this email, please be sure to check your spam folder." 00:11:57 `le/rn_append abstract nonsense/We will try again once we find an abstract machete. 00:12:14 Learned 'abstract nonsense': We would have an explanation of abstract nonsense here, but it fled into a diagram and we haven't been able to chase it. We will try again once we find an abstract machete. 00:15:04 * oerjan doesn't think he has a spam folder, and hopes no one's ever got caught in the filter. 00:15:42 (it's funny because the email was kind of important...) 00:16:02 int-e: was that in the actual email? 00:16:19 oerjan: that should say "Relearned" tdnh 00:16:44 shachaf: hm. it's redundant with *append, though. 00:17:10 `le/rn_append quasitesting/Hi. 00:17:18 olsner: yes! 00:17:18 int-e: don't think of a minotaur pun. don't think of, at, or about puns. hth. 00:17:19 Can't open wisdom/quasitesting: No such file or directory. \ Learned 'quasitesting': Hi. 00:17:26 int-e: haha, wow 00:18:00 `? quasitesting 00:18:02 Hi. 00:18:05 hmph 00:18:14 `forget quasitesting 00:18:16 Forget what? 00:18:32 `forget quasitesting 00:18:33 rm: cannot remove `wisdom/quasitesting': No such file or directory \ Forget what? 00:21:37 oerjan: Remember? "Forget what?" is a joke? 00:21:42 -!- p34k has joined. 00:22:15 hppavilion[1]: are you confused about something 00:22:29 oerjan: You `forgot quasitesting twice 00:22:45 yes, i wanted to see if it gave an error if there was nothing. 00:22:51 oerjan: Oh, OK 00:23:05 it should silence rm so that its own error message is more visible 00:23:18 olsner: ER... 00:23:30 or the message that is not an error at all 00:23:30 nm 00:24:33 -!- jaboja has quit (Ping timeout: 240 seconds). 00:24:49 `learn nm means "no minotaur" hth 00:24:51 Learned 'nm': nm means "no minotaur" hth 00:25:03 speedy 00:25:14 `? speedy gonzales 00:25:15 speedy gonzales? ¯\(°​_o)/¯ 00:25:22 I probably spelled it wrong 00:25:48 not that i know. 00:25:51 could just be that there is no wisdom to be found there 00:27:40 boily: but... aren't puns the main export of this channel... 00:28:53 the Wisdom, in its Wisdom, may have no Wisdom. 00:29:40 I'd say puns are the main product of this channel, but I don't think there's a lot of export going on 00:30:00 or maybe I just hope not 00:30:50 the PDF *may* have fallen in Outsiders' hands. >_>'... 00:31:21 coppro: chelloppro. don't worry, I haven't forgotten you about the updates; just being generally busy and/or sick lately. 00:31:45 i'd say copprello is better 00:31:58 I agree with myname 00:32:17 Also, ahoily 00:33:47 ahoily is great 00:34:14 myname: It's my favourite porthello 00:35:34 mynamello, hppavellon[1]. 00:35:34 indeed, it has this fengshui ring to it. コップレッロ。 00:35:46 boily: It does 00:36:50 #define octalcase '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7' 00:36:53 i'm very proud of that 00:37:20 `le/rn speedy gonzales/Sp e e d y G o n z a l e s i s t h e f a s t e s t m o 00:37:22 Learned «speedy gonzales» 00:37:26 u ... 00:37:28 ... s e i n a l l M e x i c 00:37:34 o ... 00:37:37 ... ! 00:37:40 lol 00:37:56 i knew it'd get cut off but i didn't think it would be that much 00:38:06 `? speedy gonzales 00:38:06 Sp e e d y G o n z a l e s i s t h e f a s t e s t 00:38:21 <\oren\> arriba arriba andale! 00:38:54 oh irssi didn't chop it up as logically as i'd expected. 00:38:59 (when does it ever) 00:41:07 thoughts on that octalcase? :3 00:42:07 a good langiage could have done it with case '0'..'7' 00:42:18 that's gnu c 00:43:11 -!- lynn_ has changed nick to lynn. 00:44:33 clearly, #define decimalcase octalcase: case '8': case '9' 00:45:01 :D 00:48:13 as i said, in a good language ... 00:49:38 you can use a good language to generate the C code 00:50:30 Use a C code to generate a C code. 00:50:56 like haskell? 00:51:00 It's C all the way down, and then it becomes turtle graphics. 00:51:20 but then you not only have to deal with C code being bad for the task at hand, but also deal with C code being bad at generating code 00:54:33 -!- bender| has joined. 01:03:14 -!- hydraz has changed nick to demhydraz. 01:04:34 -!- demhydraz has changed nick to hydraz. 01:36:26 one of my two wiktionary edits this year got broken because they got the idea to make their cite templates (even more) incompatible with wikipedia's 01:36:40 THEY'RE NOT WORTHY 01:39:36 -!- lynn has quit (Ping timeout: 244 seconds). 01:40:47 wait. wiktionary isn't compatible with wikipédia? why? 01:41:07 MY QUESTION EXACTLY 01:42:23 -!- lambda-11235 has joined. 01:49:38 -!- nooga has quit (Ping timeout: 268 seconds). 01:51:45 -!- gitwalrus has joined. 01:53:59 anyone know if there is another alphabetti spaghetti implementation out there? i wrote one and i want to compare it to another to see how closly it matches the standard. 01:55:05 i thought hppavilion[1] had monopoly on walruses around here 01:55:34 * oerjan cannot remember any, anyway 01:56:25 idk this is my first time here also my first time playing around with esolangs. 01:57:12 `relcome gitwalrus 01:57:26 (come on, you lazy bot...) 01:57:28 darn 1 sec too late 01:57:32 mwah ah ah :D 01:57:38 (come on, I said!) 01:57:40 ​gitwalrus: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 01:57:44 ah, there she is. 01:57:51 `? HackEgo 01:57:52 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. 01:58:27 -!- boily has quit (Quit: COWARD CHICKEN). 01:58:49 `learn_append HackEgo HackEgo is the slowest bot in Mexico! 01:58:51 Learned '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 Mexico! 01:59:06 thanks! from the wiki it looks like brainf*ck is the most used one around right? 01:59:55 it has the most derivatives by far. 02:00:19 some day, we'll get around to updating the featured article to something else. 02:01:03 -!- p34k has quit. 02:02:32 XD well it looks like one of the silliest languages. is there a particular implementation (preferably open source) you can recommend? 02:03:01 not sure, there are so many and i don't do much brainfuck myself. 02:04:06 brainfuck is not so silly. try Chef... 02:04:51 well, HackEgo took 2 seconds this time 02:04:54 that's not too bad 02:05:08 izabera: it's fast once it has been woken up 02:05:21 well, sometimes. 02:06:29 oerjan i saw that brefily on the wiki. maybe ill try and make a brainfuck that can call c functions sort of like the lua API can. 02:06:53 imagine someone using a forklift every time HackEgo needs to get out of storage. 02:07:53 gitwalrus: i'm sure there's one already. 02:08:14 (if it exists, there's a brainfuck derivative for it.) 02:08:27 oerjan: those with lua extension? 02:08:28 not sure 02:10:17 i suppose making a extentible brainfuck kind of ruins the point. why bother making complcicated algorithms when you can import a c function from a .dll or something? 02:11:20 for me esoteric languages are about exploring the boundary of what's turing complete or not 02:11:46 my fav thing is making a language that's just _barely_ turing complete, especially if you wouldn't expect it to be 02:12:16 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:12:21 im kind of confused on what turing complete means. can you explain it? 02:12:50 gitwalrus: Walrus? 02:12:58 Yay! 02:13:16 gitwalrus : basically a language that can run any program 02:13:23 gitwalrus: we have multiple different models of computation that eventually reduces to the same computational ability. Turing-completeness is a term for that ability 02:13:50 mad: Any *computable program 02:14:01 gitwalrus: Do you know what a turing machine is? 02:14:15 one easy-to-understand model that is Turing complete is an ordinary programming language with infinite usable memory 02:14:17 well, yeah, but "computable" kindof means "computable by a turing machine" so it's kinda self referential :D 02:14:39 mad: Yes, but "any program" includes, e.g. "Will-it-halt" 02:14:43 (not "arbitrary". it demands infinite memory) 02:14:49 mad: It has to be a computable program 02:14:53 Will-it-blend 02:15:05 "will-it-halt" is not a program 02:15:07 lifthrasiir: Turing machines? No 02:15:10 it's a question :D 02:15:17 mad: Yes, it is, it's just an uncomputable progr- oh 02:15:31 it is a question, there is no program for that 02:16:00 gitwalrus: Of course, I'm going to have to tax you $(19+2i)/(1+2i) years for the Grand Walrus Empire 02:16:07 ah okay. that makes a little more sense. probably one of those things that makes more sense the more you mess with it. who comes up with the names for these languages? 02:16:10 a tax? 02:16:15 gitwalrus: They have a git tax 02:16:32 gitwalrus: Quick question. What is the plural of walrus? 02:16:52 don't tell me it's walri 02:16:55 gitwalrus: Turing Machine is named after its creator, Alan Turing 02:16:56 lifthrasiir: Shush 02:17:05 then i guess i'll use svn to avoid the tax. 02:17:26 gitwalrus: xD 02:17:32 hppavilion[1]: i dont know what the plural is, walruses maybe? 02:18:03 AFAIK it's correct. 02:18:05 walrii 02:18:10 gitwalrus: It's walri. Like lifthrasiir said not to tell them. 02:18:21 mad: That's the plural of walri 02:18:34 mad: it's walri, s/us$/i$/ as in radius-radii 02:18:37 gitwalrus: https://www.youtube.com/watch?v=Ubw5N8iVDHI 02:19:01 lifthrasiir: You don't include the $ in the second segment 02:19:09 s/us$/i/ 02:19:12 oops 02:19:13 lol 02:19:23 hppavilion[1]: I'm now advocating for (lowercase) "i" for the first person plural-plural pronoun (derived from "us") 02:19:26 lifthrasiir: https://www.youtube.com/watch?v=Ubw5N8iVDHI 02:19:46 lifthrasiir: You mean ii? 02:19:52 no, just i 02:20:06 lifthrasiir: But it's plural-plural 02:20:08 kewl. you learn something new everyday. has anyone ever written a semi-large program using esolangs or is it all about the shorest possible algortithm? 02:20:31 fungot is fairly large 02:20:31 myname: hi fiz. fnord i've always had to beat people giving incorrect information 02:20:35 also "what is the plural of warlus" is wrong 02:20:51 gitwalrus: Yes, but they're usually autogenned 02:20:54 human lanuages are awful. who came up with the grammar for those things? 02:20:55 you should say "what is the plural of walrii" since it's in genitive case 02:21:14 in plural it would be "the plural of walroorum" 02:21:24 gitwalrus: I have an example, in a minute 02:21:33 gitwalrus: https://arin.ga/FQLSPy/raw 02:21:34 gitwalrus: Try running it 02:21:48 gitwalrus: (Taneb made that one) 02:22:01 gitwalrus: https://github.com/fis/fungot 02:22:01 myname: what are you shaving? :) that just makes you a cave man? 02:22:14 (AKA Von Doorn) 02:22:45 hppavilion[1]: autogenerated stuff is lame 02:22:48 mad: "of" does _not_ govern the genitive you infidel 02:22:58 hppavilion[1]: how am i supposed to use that program? 02:22:59 myname: Autogenerated stuff makes me worship people as gods 02:23:05 gitwalrus: An online interpreter 02:23:14 why that 02:23:26 autogenerating is like the least impressive thing you can do 02:23:33 i know but like input wise. 02:23:40 gitwalrus: I recommend http://copy.sh/brainfuck/ 02:23:41 * mad is into case system vandalism :3 02:23:43 seeing as it comes with no instructions. 02:23:45 gitwalrus: Copy/paste 02:23:59 gitwalrus: It's brainfuck; there's only one way to interact 02:24:06 gitwalrus: Run it with some arbitrary input 02:24:18 fungot is a way better example 02:24:19 myname: heh, no problem. what's your question 02:24:29 it is actually written and it is jere right now 02:24:51 myname: Fair point 02:24:54 hppavilion[1]: *van doorn 02:25:02 oerjan: Right, van 02:25:31 oerjan : what case should "of" take then? 02:26:07 got to go. thanks for the help! 02:26:12 -!- gitwalrus has left. 02:26:13 OK 02:26:48 myname: Autogenerated stuff makes me worship people as gods <-- http://oerjan.nvg.org/esoteric/emmental/ul.emm now grovel hth 02:27:12 oerjan: First I have to confirm its autogeneration 02:27:27 * hppavilion[1] kisses oerjan's boot and begs for mercy 02:27:38 wat 02:27:52 oerjan: I'm trying to figure out how Taneb made the banner generator, but I really have no clue xD 02:27:58 Wait, I think I might know 02:28:07 Yep, monospace 02:28:12 Wait, but... 02:28:38 mad: in english, it takes the oblique case. the most corresponding latin word might be "de" which i think takes ablative. 02:29:05 does english have an oblique case separate from accusative? 02:30:16 latin genitive split into both ablative and dative in daughter languages (though ablative is more common) 02:30:21 hppavilion[1]: the autogeneration is the EmmUnl.hs in the same directory hth 02:31:37 mad: well, no, "oblique" is like a sack term which includes the accusative but also dative 02:31:52 (not being distinguished in english) 02:31:57 oh 02:32:25 yeah I was thinking of oblique as in "not nominative not accusative" 02:32:35 which is probably a more common use for the term 02:32:43 huh 02:33:24 oerjan: Are there any good resources on using haskell to generate Eso- wait, no, probably not 02:34:29 other way of referring to nominative/everything-else I've heard is subject case / regime case 02:34:44 hm "The term "objective case" is generally preferred by modern English grammarians." 02:35:39 hppavilion[1]: i dunno, if so i wasn't using them. 02:35:56 oerjan: So you just figured it out on your own? 02:36:47 hppavilion[1]: well it's basically using haskell to make an assembler for emmental 02:36:58 oerjan: Ah. 02:37:19 and then using the assembler to make an underload interpreter. 02:37:53 oerjan: So you wrote an assembler from some higher language to emmental in Haskell, then used that higher language to interpret Underload?? 02:37:58 with complications because the instruction values get moved around between a couple phases 02:38:30 http://esolangs.org/wiki/Brainfuck_code_generation exists. I'll check it. 02:39:14 Nope... 02:39:51 hppavilion[1]: it's not that high-level. more like a macro system over emmental with instructions varying between phase 02:40:01 oerjan: high/er/ level 02:41:31 mad: i thought genitive was basically replaced by the preposition "de" in daughter languages? 02:46:38 I've just, with two NOP instructions, added both do-while and if-then to BF 02:46:49 (I'm making a BF to target compilers to) 02:49:45 helloerjan 02:49:54 hitopia 02:50:18 afk 02:51:31 oerjan : usually yes 02:51:39 french sometimes use à as well 02:58:28 -!- ais523 has quit. 02:58:40 -!- ais523 has joined. 03:12:01 hmm, I need to save one character in my latest Isabelle theory... it has 22223 bytes now. 03:12:51 int-e: Is Isabelle whitespace-sensitive? 03:13:22 int-e: Alternatively, just add 11110 bytes of junk 03:13:46 hppavilion[1]: no it's not... 03:14:03 101010 is my favourite number 03:14:14 hppavilion[1]: in which base? 03:14:24 ais523: Decimal, of course. Why? 03:14:31 that number works in a lot of bases 03:14:33 int-e: Then why not just cut out a newline or something? 03:14:44 ais523: Yes, but if I meant e.g. binary I would prefix it as such 03:15:09 0b = binary, 0q = quaternary, 0o = octal, 0x = hexadecimal, 0i = imagidecimal 03:15:19 (base i) 03:16:11 (unary) 03:17:01 I would like to bloat utf-8 to the logical extreme. utf-1 03:17:17 hppavilion[1]: because I have a style to stick to. I replaced a "by blast" by "by fast". Yay. 03:17:19 0 is a character, 10 is a character, 110 is a character... 03:17:29 int-e: Yay! 03:17:32 int-e: Does it still work? 03:17:34 (both blast and fast are automatic proof methods) 03:17:43 Ah 03:17:45 sometimes they both work. 03:18:01 int-e: I like how you changed the proof to be bytier xD 03:18:35 well, all this will be for naught when I start adding comments. 03:18:43 but in the meantime it feels good ;-) 03:18:47 :) 03:18:52 int-e: Save the uncommented file? 03:19:05 already done, it's a git repo... 03:19:15 int-e: Ah, good 03:19:19 int-e: What're you proving? 03:19:54 ooh, something about post correspondence problem and the first-order theory of relations. 03:20:25 * hppavilion[1] nods silently 03:20:35 Got it. I understand. Etc. 03:21:33 You know the C2BF compiler out there? 03:24:20 We should make one targeting Unlambda or something... 03:24:38 Maybe not unlambda, but some sort of CL language 03:25:03 Then again, c2bf died a long time ago (2006) 03:25:30 So we could just make a new one based on a slightly-less-impossible BF derivative 03:26:24 how about just an LLVM backend 03:26:29 then you can compile anything you want to BF 03:27:10 coppro: How so? 03:27:20 coppro: Ah, with the LLVM backend, I get it 03:27:29 coppro: Well that would be too much more efficient 03:27:34 hppavilion[1]: true 03:27:45 how about we write the backend in unlambda 03:28:51 coppro: Perhaps xD 03:28:55 coppro: I'm creating Target: Eso 03:29:07 A big GH repo for compilers to esolangs 03:36:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:39:11 -!- hppavilion[1] has joined. 03:53:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:58:42 -!- sebbu has quit (Ping timeout: 276 seconds). 04:23:16 -!- treaki_ has joined. 04:24:34 -!- treaki__ has quit (Ping timeout: 260 seconds). 05:27:27 -!- tromp has quit (Ping timeout: 244 seconds). 05:37:03 -!- hppavilion[1] has joined. 05:42:58 "I have discovered a truly marvelous proof of the Banach-Tarski paradox that this margin can be made large enough to contain." 05:47:01 I feel like Weird Sun Twitter should be on TVTropes 05:53:01 *AllTheTropes 06:07:40 so far my project of rewriting coreutils from scratch is like 80% parsing input and 20% doing actual things 06:07:57 is that expected? 06:09:21 -!- lleu has joined. 06:11:17 so far i definitely spent a lot of time writing an improved getopt and a parser for chmod and something that creates the right strings for tr 06:12:15 s/a lot of/most of the/ 06:18:44 izabera: what language are you rewriting coreutils in? and is this for fun or is there a more serious purpose behind it? 06:19:20 c, for fun/personal project 06:24:51 i want to create a bot or something with a small system where i wrote all the stuff in /bin 06:54:22 -!- lambda-11235 has quit (Quit: Bye). 07:16:25 -!- sebbu has joined. 07:19:59 -!- tromp has joined. 07:49:07 Ugh... I feel so stupid 07:49:15 I can't even get a BF terp to work, for some reason 07:50:27 ^bf ,[.,]!shocking! 07:50:27 shocking! 07:51:04 hppavilion[1]: are you using one or making one 07:51:13 oerjan: Making 07:51:32 oerjan: Slightly extened so I can compile things to it, but I'm not using those features 07:51:48 if you're making one, do you skip over loops if they start with the cell 0 07:52:09 (that's no. 1 stumbling point for beginning bf implementers, i think) 07:52:41 oh right, i even defined a bf derivative for it 07:52:57 (NewbieFuck) 07:53:32 otoh i'd have thought you'd be past that stage by now. 08:07:04 oerjan: Yes 08:07:24 oerjan: It's a bug with loops never terminating 08:08:00 oerjan: I check if the current cell is 0, if so I jump to the corresponding close brace (which can be ] OR }, but } is a NOP) 08:08:04 oerjan: If not, I do nothing 08:08:25 oerjan: At the closing brace, I repeat in reverse, finding the corresponding opening brace and jumping to it 08:08:50 (and subtracting 1 to make sure it doesn't skip over it when it increments the program counter) 08:09:19 oerjan: I repeat it no matter what, even though it's less efficient 08:10:42 oerjan: Does the standard BF hello world (the one given in the article) depend on cell size or the like? 08:10:49 Because mine has 32-bit unsigned integer cells 08:10:54 And that might require byte cells 08:13:35 i don't know 08:14:56 i suspect not... 08:15:08 ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 08:15:16 !bf32 ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 08:15:16 Hello World! 08:15:31 hppavilion[1]: nope, 32 should work fine 08:15:38 (for the first one) 08:15:58 oerjan: Yep, that's the one I used 08:17:50 no imbalanced loops, no overflows, no negative numbers... indeed that should be fine. 08:18:01 does anyone here have enough reputation on codegolf.stackexchange.com to see deleted answers? 08:18:34 izabera: only on stackoverflow 08:18:53 thanks anyway.. 08:19:05 -!- lynn has joined. 08:20:59 !bf32 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++ 08:21:00 No output. 08:21:04 oops 08:21:07 !bf32 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++. 08:21:07 ​( 08:21:12 > ord '(' 08:21:14 40 08:21:19 oops 08:21:29 that's not doing 32 bit 08:21:34 -!- ais523 has quit (Ping timeout: 244 seconds). 08:22:05 !bf8 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++. 08:22:05 ​( 08:22:10 !bf16 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++. 08:22:11 ​( 08:22:53 ... 08:23:49 * oerjan makes another mark for "universe too mad to bother with" 08:35:22 -!- mad has quit (Quit: Pics or it didn't happen). 08:35:58 -!- lynn_ has joined. 08:37:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 08:37:55 -!- lynn has quit (Ping timeout: 248 seconds). 08:41:13 -!- lynn has joined. 08:44:13 -!- lynn_ has quit (Ping timeout: 248 seconds). 09:01:33 -!- lynn has quit (Ping timeout: 240 seconds). 09:19:36 -!- oerjan has quit (Quit: Nite). 09:21:52 -!- nooga has joined. 09:31:24 -!- AnotherTest has joined. 09:33:51 -!- lynn has joined. 09:39:44 -!- ski_ has joined. 09:39:51 -!- ski has quit (Ping timeout: 240 seconds). 09:45:13 -!- lynn has quit (Quit: Leaving). 10:17:42 -!- PinealGlandOptic has joined. 10:29:55 -!- Elronnd has quit (Quit: Let's jump!). 10:41:51 -!- PinealGlandOptic has quit (Quit: leaving). 10:53:26 @tell oerjan I fixed `! bf32 (HackEgo) but I can't touch !bf32 (EgoBot). The interps/bf bit that extracts the bitness from the command name wasn't working; fixed it by using I_CMD instead of CMD. 10:53:26 Consider it noted. 10:53:32 `! bf32 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++. 10:53:33 ​@ 10:53:46 > ord '@' - 32 10:53:47 32 10:53:50 Now that's 32. 10:54:15 -!- lynn has joined. 11:19:09 -!- Elronnd has joined. 11:40:42 -!- Frooxius has joined. 11:41:39 -!- benderpc_ has joined. 11:44:06 -!- bender| has quit (Ping timeout: 268 seconds). 11:51:50 -!- lynn has quit (Ping timeout: 244 seconds). 11:52:46 -!- earendel has joined. 12:23:06 <\oren\> the character 32 is space 12:27:17 -!- lynn has joined. 12:28:58 Yes, but there's an offset of 32 in the program. 12:29:05 Presumably to make 8, 16 and 32 all printable. 12:29:10 (And non-blank.) 12:31:26 -!- gde33|2 has quit. 12:45:51 -!- lynn has quit (Ping timeout: 276 seconds). 12:58:14 -!- treaki_ has quit (Quit: Leaving). 13:03:57 -!- nooga has quit (Ping timeout: 250 seconds). 13:08:06 -!- carado has quit (Remote host closed the connection). 13:18:04 -!- carado has joined. 13:24:22 -!- Sgeo__ has quit (Ping timeout: 252 seconds). 13:58:12 -!- ski_ has changed nick to ski. 13:59:31 -!- nooga has joined. 14:10:28 -!- benderpc_ has changed nick to bender|. 14:28:55 guys, how about we stop arguing about wether to use pi or tau. just introduce a constant that 1.5 rimes pi. let's call it a ti. 14:31:04 that's a completely irrational proposal 14:31:21 (also, honestly, nobody important is arguing) 14:31:45 nevermind, i just wanted to make a lame pun 14:32:09 pi has more legs to stand on 14:33:07 -!- nooga has quit (Ping timeout: 248 seconds). 14:36:09 <\oren\> i like the idea of using the degree instead 14:36:35 you mean 180? 14:36:42 <\oren\> the "specific degree of length" = pi/180 14:37:18 But the 180 is so artificial. 14:37:39 <\oren\> welcome to bablyon! 14:38:18 Perhaps proponents of pi could be called areans, and proponents of tau could be circumferians. :P 14:38:39 <\oren\> and my proposal is the babylonians 14:41:18 -!- p34k has joined. 14:41:27 <\oren\> you could also use the gradian if you're french 14:41:57 <\oren\> 1/400 of a tau 14:49:00 <\oren\> or the mil 14:49:29 <\oren\> which is 1/1000 of a radian 14:50:10 <\oren\> wait no 14:50:25 <\oren\> 1/6400 of a tau 14:51:25 1/3^26 of 1.5 pi 14:51:48 ARGH! 14:52:33 There used to be a great scanned and OCR-ed version of the Abramowitz and Stegun handbook at http://convertit.com/Go/ConvertIt/Reference/AMS55.ASP but now it's disappeared and I'm stupid enough to not have downloaded a local copy 14:52:40 -!- Lord_of_Life has quit (Excess Flood). 14:54:56 Luckily http://people.math.sfu.ca/~cbm/aands/toc.htm seems to have another version that might help. 14:55:10 It's not as complete, but still 14:55:10 -!- Lord_of_Life has joined. 14:55:21 Does anyone happen to have a full copy of the former site? 15:04:20 FOUND IT! it's at http://www.convertit.com/Go/ConvertIt/Reference/AMS55.asp 15:04:25 I'll fix my link 15:05:18 <\oren\> www? 15:05:45 <\oren\> speaking of which, how do i make orenwatson.be redirect to www.orenwatson.be? 15:05:55 \oren\: yes. I'm quite sure my old link used to work, but they must have reconfigured some servers or something 15:06:39 \oren\: do you mean how to make the domain point there, or how to make the http server send a Found redirect to point to the other domain? 15:09:31 <\oren\> either one... I'm looking at my route-53 page and it doesn't seem to have an easy option for either 15:10:17 and why would you do that? 15:10:45 \oren\: if the domain doesn't yet point to anything, then you have to fix that first, otherwise there's no webserver to tell you where to redirect. 15:12:17 <\oren\> oh, I see. I can just create a new record pointing to where www.orenwatson.be also points 15:12:18 oh, orenwatson.be is gone completely... fun :P 15:13:20 <\oren\> i think it's working now 15:13:28 nah, needs to propagate still 15:14:00 750 seconds for me 15:14:33 (starting from 900, I presume) 15:14:46 yeah. 15:17:54 Dumb question. The chrome browser still doesn't have native MathML display support, right? 15:21:07 -!- nooga has joined. 15:28:51 <\oren\> chrome apparently had it and then removed it becaus eof "Security concerns" 15:30:26 <\oren\> yay it's working! 15:31:28 well, mathml looks complex. 15:31:50 they cited a small user base as well. 15:32:47 -!- MDude has joined. 15:32:59 int-e: of course it has a small user base! browser features spread VERY slowly, because people only put something to webpages if the browsers can already show it, and browser devs put features in the browser only if it's needed to show webpages. That's why we're still stuck with jpeg images only. 15:33:20 and gifs 15:33:35 and gifs and pngs, yes, but jpeg as the only lossless format that could spread much 15:33:35 though there are a lot of sites serving pngs these days 15:33:43 ?! 15:33:43 Maybe you meant: v @ ? . 15:33:49 jpeg is lossy 15:33:51 the gif problem is mostly solved, my problem is more the jpeg 15:33:53 yes, lossy 15:33:55 that's what I mean 15:34:08 jpeg is the only lossy one, suitable to photos, that is well-spread 15:34:39 yes, yes it is. it appears to be "good enough". 15:34:49 despite that there are tons of more modern and more versatile formats (including jpeg2000), but since browsers don't support them, every webpage uses only jpegs, and since every webpage uses jpegs, browsers don't support anything else 15:35:10 And here I was just reading about Pale Moon devs not being able to keep up because the project was too huge. 15:35:24 I don't think having features develop faster would help with that. 15:35:52 in contrast look what happens when there's some serious bandwidth usage... i.e. video... in that area, many formats are supported and sites go out of their way to use the best format that the browser they're talking to understands... not the least common denominator 15:36:15 I think it's more that file formats aren't a visible enough thing for the public to demand more. 15:36:36 For MathML, the result is all kinds of crazy javascript libraries that try to render ALL of maths on client-side, without any server-side preprocessing to CSS to make it faster, because that's more convenient to the server maintainers, even if it means you need like gigabytes or ram to just view a webpage with maths, unless 15:36:44 If people arne't already suing a file format, they see no reason to demand using it online. 15:36:51 the webpage is sensible enough to use mathml, and the javascript libraries are there only as a fallback. 15:37:42 fungot: what do you think of suing a file format? 15:37:43 int-e: 08:35 fnord fnord has joined esoteric" did not change much, just to be safe 15:37:44 *using 15:37:48 What browsers other than firefox have mathml support? 15:38:16 Do other popular browsers (whatever they are these days, I don't follow this android smartphone thing too much) have it? 15:39:48 Safari, apparently 15:40:57 does opera mobile or whatever it is that people use on android support it? 15:41:11 or the browser that comes with android phones? 15:48:17 looks like opera lost mathml when switching to chromium 15:50:27 I see 15:50:52 Well, if firefox and safari has it, that's a lot of users 15:52:10 I myself use firefox for most webpages. http://dlmf.nist.gov/ has mathml, plus a javascript fallback and image fallback. It's quite well made. 15:55:16 http://mathoverflow.net/ has a javascript solution (called mathjax) that has various frontends, including mathml, but it requires client-side javascript for anything, sadly. 15:56:15 I might want to eventually put up a reformatted miror of a certain website that has lots of math-formulas, so I want to find out how this stuff works. I'll probably try to use mathml and some sort of fallback, but all on server side so you don't need javascript to render them. 15:57:30 -!- MoALTz_ has joined. 15:57:34 -!- earendel has quit (Ping timeout: 260 seconds). 16:00:51 -!- MoALTz has quit (Ping timeout: 276 seconds). 16:01:48 -!- MoALTz_ has changed nick to MoALTz. 16:09:36 -!- lambda-11235 has joined. 16:22:17 -!- ais523 has joined. 16:34:52 -!- ais523 has quit (Read error: Connection reset by peer). 16:35:02 -!- ais523 has joined. 16:36:19 -!- bender| has quit (Ping timeout: 252 seconds). 16:38:02 syntax idea: use unary + as the constructor for nonempty option types 16:48:16 -!- hppavilion[1] has joined. 16:49:53 <\oren\> wht not just serve images for math, with LaTeX in the alt text 16:50:31 <\oren\> black and white PNG's can't be that huge 16:51:06 \oren\: wouldn't scale to the user's font size 16:51:13 lol, opera mobile 16:53:32 <\oren\> ais523: measure the size in ch. 16:53:45 <\oren\> then it will scale when the font size does 16:54:00 \oren\: but PNG doesn't scale properly 16:54:02 it gets pixelated 16:55:07 <\oren\> why not svg then 16:55:25 svg would work 16:57:44 \oren\: images don't respect the user's chosen font and colors. mathml does, it works the same as ordinary html and css. 17:08:13 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 17:23:14 -!- hppavilion[1] has joined. 17:23:58 -!- mihow has joined. 17:27:14 -!- earendel has joined. 17:38:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 17:47:48 <\oren\> why would anyone be against having a slovenian supermodel as their first lady? 17:49:50 -!- hppavilion[1] has joined. 17:55:25 I don't know, they usually come with a president attached to them 17:56:12 <\oren\> right but apparently ted cruz attacked trump by saying his supermodel wife is unsuited to be first lady 17:56:44 <\oren\> that doesn't make sense to me 17:57:23 oh, those are replublicans 17:57:26 they don't make sense 17:57:41 not sure where I got the extra l. 17:58:19 <\oren\> the first lady of the united states is not allowed to be hot! 17:58:24 Anyway, personally I'd be interested in how the media would adapt to Bill Clinton being first lady :P 17:58:36 <\oren\> first lord? 17:58:45 (that term is so sexist) 17:58:45 <\oren\> first gentleman? 18:00:25 Anyway, is it Ted who chose that subject or is he just following Trump's lead of not engaging in any political topics? 18:00:31 <\oren\> yah, i think "first gent" would sound cool 18:00:44 That's a good candidate. 18:04:31 -!- jaboja has joined. 18:05:38 They use "First Gentleman" for the husband of a state governer 18:05:47 Thanks 18:07:26 @tell oerjan I fixed by BF interpreter. It turned out I had < increment the pointer. *derp*. 18:07:26 Consider it noted. 18:10:21 -!- lynn has joined. 18:12:58 -!- J_Arcane has joined. 18:23:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:25:10 -!- mihow has quit (Quit: mihow). 18:27:48 -!- hppavilion[1] has joined. 18:42:54 `? λ 18:43:13 ​λ? ¯\(°​_o)/¯ 18:43:16 `? lambda 18:43:18 lambda? ¯\(°​_o)/¯ 18:43:21 `? lamda 18:43:23 lamda? ¯\(°​_o)/¯ 18:44:04 what could it be, the most functional letter of the Greek alphabet? 18:51:25 int-e: phi 18:51:52 b_jonas: hmm, a capital one? 18:52:06 int-e: no, a lower case phi 18:52:10 \varphi 18:52:14 hmm. 19:15:47 -!- ais523 has quit (Quit: dinner). 19:44:36 I'm making a game about badly-authored software that it is your job to hack 19:45:58 ah https://xkcd.com/327/ 19:54:43 int-e: Yep :) 19:56:03 int-e: One example is that, to read toolconf.conf which is secured so that it can't be read without the password (which is "herbert", though that's irrelevant), you must actually /secure/ the file with a new password 19:56:48 int-e: Because the programmer who made it didn't think to add an "is this file already secured?" check to file securing 19:57:30 One of my friends, who I've been playing computer games with lately but haven't for the past couple of days because my headset broke, said he misses me 19:57:32 I feel validated 19:57:45 So with `sec toolconf.cfg ` followed by `unsec toolconf.cfg ` or `auth toolconf.cfg ` you can change the filepass then unlock it for reading 19:57:52 Taneb: :) 19:58:08 (Though you have to auth every other command if you use that command) 19:58:21 (toolconf.cfg contains the data for the filesystem encryption) 19:58:59 int-e: I'm just trying to figure out how to fit the massive insecurity into the plot :P 19:59:39 I think the goal is that the creator made it less-than-secure so someone could take up his work once he's gone, but only if they can unencrypt the filesystem 20:00:34 The language you play the game in is a mix of simplified bash (no redirection yet) and a custom 1337 h4xx0r language with special commands 20:02:12 What letter should signify the computer's owner? 20:05:24 hppavilion[1]: "insecurity: the game" (who needs a plot?) 20:06:58 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:08:10 -!- hppavilion[1] has joined. 20:08:37 Obviously, a letter that isn't used in English anymore. 20:09:31 But Þ seems too straightforward 20:09:57 The owner's handle is thelemax 20:10:32 \oren\: You like letters. What do you think? 20:11:23 -!- ais523 has joined. 20:11:29 -!- ais523 has quit (Client Quit). 20:11:39 -!- ais523 has joined. 20:11:39 Maybe I'll call him ꙮ 20:12:42 `olist 1030 20:12:43 `unidecode ꙮ 20:13:05 ​[U+A66E CYRILLIC LETTER MULTIOCULAR O] 20:13:05 olist 1030: shachaf oerjan Sgeo FireFly boily nortti b_jonas 20:15:17 lovely, my CaC server has remounted the file-system read-only again. 20:15:28 oh look 20:15:36 int-e: hardware trouble? 20:15:55 Probably? :P 20:16:42 this is helpful. "mpt-statusd: detected non-optimal RAID status" 20:17:26 perhaps one drive has failed? 20:19:05 Well, I don't see the hardware. 20:19:08 /dev/mapper/vg_cac-root_cac on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) 20:19:35 and I don't care... the most important bit on that server is mroman's burlesque interpreter 20:20:00 (so apparently the remount happened 2 weeks ago ;-) ) 20:22:16 I have a leftover SSH open to the HackEgo one in a screen, and it seems to have printed noisy kernel stack traces on Mar 13, 20, 21, 22 and 23. 20:22:41 my last /var/log/messages entry was from Mar 12 03:00:19 20:23:04 Mar 25 16:02:07 www2 mpt-statusd: detected non-optimal RAID status 20:23:04 Mar 25 16:12:07 www2 mpt-statusd: detected non-optimal RAID status 20:23:04 Mar 25 16:22:07 www2 mpt-statusd: detected non-optimal RAID status 20:23:06 (and there was one every 10 minutes up to that point) 20:23:15 Heh, well, it's happening there every 10 minutes now. 20:23:39 Mar 12 03:00:19 cheap mpt-statusd: detected non-optimal RAID status 20:23:44 same "service" :P 20:24:23 On that one it's been going on since the start of /var/messages, Mar 20 06:27:05. 20:24:37 But there's also all these sporadic "sending NMI to all CPUs" + backtrace ones. 20:24:56 I get those as well. 20:25:54 I wonder how the kernel knows what to do with root=/dev/mapper/vg_cac-root_cac 20:25:59 The "detected non-optimal RAID status" messages go back as far as these logs go -- every 10 minutes, like clockwork, from at least as far back as Feb 21 06:28:04. 20:28:40 Is there any uber-simple GUI library out there that I can use to make a better GUI library? Preferably with Python bindings? 20:28:45 This one is just your normal LVM thing. There's a "physical" /dev/sda that's got two partitions (sda1, sda5), the latter of which is a LVM physical volume for VG "debian7", LVs "root" and "swap_1". 20:30:41 dmsetup status has this, hmm. UUID: LVM-AlBirrduArMwzyJYtPrhgGT7y4C6LR09ZLaUeCzKSoP1bZQ6HohxDJHKMoPjxXf6 20:33:22 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:34:11 @tell hppavilion[1] html hth 20:34:11 Consider it noted. 20:34:53 It seems that there's a "hardware" RAID thing at least somehow visible. At least /proc/mpt/summary and /proc/mpt/ioc0/summary imply as much. 20:35:09 -!- hppavilion[1] has joined. 20:35:19 I don't know how to ask status information from it, though, because mpt-status doesn't say anything; there's just the cryptic non-optimality messages. 20:38:21 Hmm. Ok, it pieces together /dev/sda3 and /dev/sda4 here... 20:39:54 This system doesn't have anything like that. And anyway; mpt-status reports nothing at all, which appears to be the reason why mpt-statusd prints out that message. 20:40:21 ah, stupid me... the kernel doesn't know what to do with the root= command line; the initrd will handle that. 20:40:49 The check is if (mpt-status -i $ID) |grep -q 'state OPTIMAL'; then BADRAID=false; else BADRAID=true; logger -t mpt-statusd "detected non-optimal RAID status"; fi 20:41:02 So printing nothing counts as "non-optimal". 20:41:40 there is no raid, so that makes sense :P 20:42:58 I guess. But there's still that controller, I would've expected it to say something. 20:45:34 Maybe the SCSI controller's a virtual one and doesn't do the things mpt-status expects, or something. 20:50:17 it is some vmware thing 20:50:23 Seems that way. 20:55:43 oh well, at least I've explained some of the apparent magic now... that's something :) 21:05:16 -!- yorick__ has joined. 21:05:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:06:51 -!- hppavilion[1] has joined. 21:08:50 -!- yorick has quit (Ping timeout: 244 seconds). 21:20:13 -!- Sgeo__ has joined. 21:37:18 'But to any programmer, it’s painfully easy to see why “Null” could cause problems for a database.' 21:38:00 you have to be doing something very loosely-typed if "null" the string causes problems 21:38:24 I want to say something like "No, just the ones not being idiots who cause the problem", but some systems are big enough that a single person can't really fix them 21:38:52 ais523, http://www.bbc.com/future/story/20160325-the-names-that-break-computer-systems 21:39:58 Actually, it's the BBC controlling us from London. 21:40:26 zzo38: You should say "Unfortunately, there's a radio connected to my brain" to vaporware. 21:53:19 For some reason the poster at the hospital that says "testing for HIV is an everyday part of living in London" just sounds weird. 21:54:06 https://pbs.twimg.com/media/CF1kQXuWAAAAQjJ.jpg 21:54:36 That one, yes. 21:54:49 (That's the image I used to verify the text.) 21:55:14 So you mean that all information on the poster taken together means that there are $((500000/365)) people living in London? 21:55:26 or maybe that's 500000. 21:55:46 anyway, nice find 21:57:29 Mostly it just makes me wonder which inherent part of living in London necessitates the daily HIV tests. 21:57:47 Well, it's not necessarily you who're getting tested for HIV. 21:58:26 Maybe you're otherwise affected by the tests. 22:00:16 Also today I went to snoop around the King's Cross / St. Pancr(e)as area. They had a lock. 22:00:21 The kind that boats go through. 22:01:09 Is that like the kind of eye a camel goes through? 22:01:19 -!- lynn has quit (Read error: Connection reset by peer). 22:01:43 I was going to say it's bigger, but I'm not entirely sure what sort of eyes camels do go through. 22:02:15 "eye of a needle" presumably 22:02:37 in which case the problem is that boats can actually pass the lock 22:03:36 Only if they have a key, right? 22:03:49 (provided it has water and the gates actually close and open) 22:04:07 shachaf: I'm not sure, but you may be missing out on a meaning of "lock". 22:04:07 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:04:14 And anyway camels can go through the eyes of needles. 22:04:27 “With man this is impossible, but with God all things are possible.” 22:04:38 There's a smartphone app that can allegedly control the fountains on Granary Square -- these ones: https://googledrive.com/host/0B4J9OAzXNfZANkM4WXNHSG93YVU -- but the reviews in Play Store seemed so pessimistic I didn't even bother to try. 22:04:46 -!- lynn has joined. 22:05:09 Although there was someone with a phone doing something that looked like trying to make them go. 22:05:11 that's a clever app 22:06:15 well, a clever idea for an app 22:06:24 The app is the snake game, in theory. I think there were also some colored lights to show your particular snake, and support for up to 4 people simultaneously. Or something like that, anyway. 22:06:44 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:07:24 The fountains did act a bit like in a snake game, but if someone was playing them, they weren't very good. 22:08:08 Actually the people that acted like they were trying to do something with their phones are those two in the photo. 22:08:30 fizzie: hmm... fountains and snakes? can you get wishes from them too? 22:08:50 maybe they have bad reviews from the people who die to water mocassins 22:09:40 The reviews mostly said stuff like "Two of us attempted but could not connect." or "Says there are no games and info link goes to 404 page" or "Was there twice at the right time. Couldn't connect to cloud error kept coming up". 22:11:15 https://www.kingscross.co.uk/img/790x444/src/media/11A5729-800x450.jpg <- that's what it's supposed to look like. 22:19:00 fizzie: install it, get it to work, reverse engineer the protocol it uses to communicate with the fountains, and write a better program for it. 22:19:35 Or just skip the app, log in to the insecure control computer of the fountain with "admin" as the username and "admin" as the password or something obvious like that, and replace its software. 22:19:57 That's how anything controlled by software in the real world works these days, don't they? 22:21:11 b_jonas: only if you have a dark room with three monitors running terminals with black background and green foreground 22:23:18 I don't work in dark rooms. 22:23:27 I prefer brightly lit. 22:23:45 then I'm afraid admin/admin won't work for you. 22:23:52 you have to follow the proper protocol in these things 22:25:36 no way. you only have to follow the protocol if the other side is implemented properly to actually enforce the protocol. 22:28:01 So I've decided to create an esolang. 22:28:32 Well 22:28:43 You've certainly come to the right IRC channel 22:28:56 It's more or less Smalltalk. 22:29:05 I'm just gonna monologue for a while. 22:29:18 I'm listening (reading?) 22:29:21 so it's not smalltalk 22:29:32 because that would be a dialogue? 22:29:47 So, it's an object-oriented language. Like most object-oriented languages, the state consists primarily of a bunch of objects... blah blah blah. 22:30:00 There's a certain number of basic object types. 22:30:27 Note that in theory, it's not possible to determine the BOT of an object at runtime, because an object can lie about what kind of object it is. 22:31:01 There's GENERIC, CLASS, DICT, and BLOCK. I think that's it. 22:31:16 adversarial typing 22:32:15 If you have an object, you can do a method call on it. Doing this requires passing in two other objects: the name of the method, and the argument. 22:32:31 The object will then do something and return another object. 22:34:10 -!- llue has joined. 22:34:22 Every object contains a class pointer. Note that a class pointer doesn't have to point to a CLASS; it can point to any kind of object. 22:34:55 tswett: what's GENERIC, and are there some sort of integers or other lightweight objects that don't have any pointers at all? 22:35:18 in fact, what are GENERIC, CLASS, DICT, and BLOCK? 22:35:26 and what does an object store? 22:35:47 In the general case, when you call a method on an object, what happens is that the class's #get_method method is called with the method name as an argument, and then whatever is returned, its #execute method is called with a certain dictionary as an argument. 22:36:31 The dictionary's values are the object you called the method on, and the argument you passed to the method. 22:36:52 Now, this process obviously has the potential for infinite regress. So we cheat a bit. 22:37:13 For a GENERIC object, the process is always as above, but for the other types of objects, there are certain method calls that skip the process. 22:37:41 -!- lleu has quit (Ping timeout: 244 seconds). 22:38:05 tswett: also, are you planning to make an implementation for this? and test programs 22:38:23 It's been a long, long time since I implemented one of my own esolangs. 22:38:31 For a CLASS object... lemme think about this a bit. 22:38:42 implement one of mine then 22:43:14 All objects have a local variable dictionary. This is actually a dictionary carried within the object; it's not a pointer to another object. 22:43:30 So. 22:43:44 tswett: is that like ruby objects (as opposed to smalltalk objects)? 22:44:02 b_jonas: I don't know about Ruby, so I don't know what you mean. 22:45:00 -!- hppavilion[1] has joined. 22:45:03 -!- jaboja has quit (Ping timeout: 250 seconds). 22:46:01 For a CLASS object, when you call its #get_method method, the CLASS object calls #get on its own "method_dictionary" instance variable in order to get the method. If this returns null, the CLASS object then calls #get_method on its "superclass" instance variable. 22:46:13 It returns whatever the first non-null thing was. 22:47:51 For a DICT object, when you call its #get method, it returns its corresponding instance variable. 22:48:10 For a BLOCK object, when you call its #execute method, the content of the block actually executes. 22:48:16 By the way... 22:48:38 A BLOCK object, in addition to the class pointer and local variable dictionary, has an actual block of code in it. 22:51:16 tswett: Smalltalk full objects (not the lightweight ones like integers) have a fixed set of instance variable fields determined by their class, plus they may own an array. Ruby full objects have a dictionary of instance variables, plus possibly some specific data if their class is derived from one of the approximately 15 primitive builtin ruby objects like Array, Hash, String, Regex 22:52:17 This sounds a lot more like Ruby than Smalltalk, then. 22:54:21 In ruby, those primitive types of what can be stored in an object are identified by this enum ruby_value_type thingy, which has values 1..15 for the primitive types (including not only Array, Hash, String but also Class and Bignum), plus 6 types for lightweight values that aren't pointers (fixints and 5 more), and 4 values for internal things that aren't objects and ruby variables can never hold them but are managed by the garbage collector 22:55:31 (just like how a perl scalar can have multiple representations depending on what it is required to hold, but it can't be an AV or HV despite that interanlly those structures LOOK very similar to scalars for a good reason, only they're not exposed as such to userspace) 22:56:17 The most important of those 4 internal things is T_NODE which holds pieces of the interpreted ruby code tree. 22:57:09 Now, a key feature is that generally, calling an object's methods and looking up objects in dictionaries are the *only* things you can do with an object. 22:57:39 Anyway, the generic or basic fullweight type is T_OBJECT, which only has the instance dictionary, nothing special. Any ruby object whose class isn't any of the special lightweight ones and isn't derived from any of the 14 classes corresponding to the other full representation types is represented as such. 22:59:39 -!- llue has quit (Quit: That's what she said). 22:59:49 Also, I'm not sure if all the 14 specialized representations have an instance dictionary. I don't remember that. Every full object has a class pointer though, that's for sure. 22:59:55 -!- lleu has joined. 23:00:39 There's one exception. When "the general method call case" calls the #execute method on a BLOCK, that BLOCK receives a special "self pointer" that it can do a lot more stuff with. 23:01:22 Also, the instance dictionary is stored in some efficient way for optimization, so that the keys (names) are shared among instances. 23:01:36 Or something. I don't really know the specifics of the implementation. 23:03:12 Now, there's nothing preventing you from changing either the class or the basic-object-type of an object that already exists. 23:04:00 You could do something like "Object.set_class(Object)", causing the class of the class "Object" to change from "Class" to "Object". 23:05:23 tswett: right 23:06:18 By the way, don't take me as an authority on either smalltalk or ruby. I'm making up half of this stuff from half-forgotten memories. Verify in the smalltalk book and the ruby source code if you want to be sure. 23:07:23 So yeah. The general philosophy is "just let the programmer do anything at all". 23:08:10 Except, of course, violate an object's sovereignty. 23:09:37 -!- Lord_of_Life has quit (Excess Flood). 23:12:12 -!- jaboja has joined. 23:12:17 <\oren\> huzzah! http://orenwatson.be/ is working 23:12:36 orenwatson.be.working 23:13:01 `unidecode ␡ 23:13:19 ​[U+2421 SYMBOL FOR DELETE] 23:13:40 -!- Lord_of_Life has joined. 23:14:36 <\oren\> ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␠␡ 23:15:36 https://www.quora.com/What-are-some-of-the-most-clever-ways-a-programmer-can-mess-with-a-friend/answers/20717097?srid=dS99 is amazing 23:19:07 <\oren\> i'm pretty sure I could have done that in VB when I was in high school 23:20:00 <\oren\> Mostly because VB makes it easy to make a realistic looking interface... 23:21:04 -!- glitchmatick has joined. 23:21:13 hello 23:21:20 <\oren\> hi 23:22:00 `welcome glitchmatick 23:22:05 glitchmatick: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 23:24:59 <\oren\> hppavilion[1]: anyway it seems like what he did was make a chat client with a green-on-black interface and pretend to be the shell 23:25:32 <\oren\> kind of elaborate for a prank 23:32:50 -!- oerjan has joined. 23:33:52 @messages- 23:33:52 fizzie said 12h 40m 26s ago: I fixed `! bf32 (HackEgo) but I can't touch !bf32 (EgoBot). The interps/bf bit that extracts the bitness from the command name wasn't working; fixed it by using I_CMD instead of CMD. 23:33:52 hppavilion[1] said 5h 26m 26s ago: I fixed by BF interpreter. It turned out I had < increment the pointer. *derp*. 23:34:10 @fizziesnack 23:34:10 Unknown command, try @list 23:37:24 hppavilion[1]: how right-biased of you. 23:39:07 <\oren\> I have added 𝕬𝕭𝕮𝕯𝕰𝕱𝕳𝕴𝕵𝕸𝕹𝕺𝕽𝕾𝕿𝖀𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟, with uncial letters I copied from the Book of Kells 23:41:35 \oren\: That does seem like the most likely result 23:42:13 \oren\: I'm kind of tempted to make my own Bloody Smurf (one that actually works) and get gullible people to use it 23:42:29 <\oren\> it's called nmap 23:42:37 @messages-load 23:42:37 shachaf said 3h 8m 25s ago: html hth 23:42:42 \oren\: how kelligraphic 23:42:50 <\oren\> (the bloody smurf that acutually works) 23:43:15 `? html 23:43:18 HTML is just pictures and words. 23:43:21 \oren\: No, it wouldn't work as in actually hacking things 23:43:29 <\oren\> why not? 23:43:42 `learn HTML is short for "hope this mess loads" 23:43:43 \oren\: It would be like a game disguised as a real hacking client that you throw at people 23:43:45 Relearned 'html': HTML is short for "hope this mess loads" 23:43:59 `learn HTML is short for "hope this mess loads". 23:44:01 Relearned 'html': HTML is short for "hope this mess loads". 23:45:00 \oren\: Because I don't know how hacking works 23:48:51 -!- glitchmatick has quit (Ping timeout: 276 seconds). 23:49:34 fizzie++ slightly less transient 23:50:49 :D (regarding 'HTML') 23:50:55 ack 23:51:09 * oerjan swats myname and int-e for their puns in the log -----### 23:51:27 oerjan: why that? 23:51:32 <\oren\> `u8tbl 0x1d9b 0x1da7 23:51:33 Segmentation fault 23:51:41 <\oren\> `` u8tbl 0x1d9b 0x1da7 23:51:42 ​ᶛᶜᶝᶞᶟ \ ᶠᶡᶢᶣᶤᶥᶦᶧ 23:51:44 oerjan: hey, why don't i get a swat 23:52:01 shachaf: i may not have got to that point yet. 23:52:05 shachaf: ... 23:52:21 how is a pun a reasonable excuse for swating? 23:52:30 myname: it's traditional 23:52:37 okay 23:52:49 i liked it. the pun, that is 23:53:13 although i've been lazily leaving things to boily's mapole recently 23:53:51 i still don't get why you read all the backlogs 23:54:22 <\oren\> `` u8tbl 0x16f1 to 0x16f8 23:54:23 No output. 23:54:26 <\oren\> `` u8tbl 0x16f1 0x16f8 23:54:27 ​ᛱᛲᛳᛴᛵᛶᛷᛸ 23:55:54 <\oren\> `` u8tbl 0x31f0 0x31ff 23:55:55 ​ㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ 23:56:18 <\oren\> oh, right the extra katakana used for ainu 23:57:20 <\oren\> `` u8tbl 0x2934 0x2937 23:57:20 ​⤴⤵⤶⤷ 23:57:27 `file bin/u8tbl 23:57:28 bin/u8tbl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xf4bd6215e42f01142295c499b7a9bf8a7c37e01a, not stripped 23:58:21 `` mv bin/u8tbl{,.elf}; mkx 'bin/u8tbl//u8tbl.exe $@' 23:58:24 HAXINATOR 23:58:25 bin/u8tbl 23:58:34 `u8tbl 0x31f0 0x31ff 23:58:35 ​/hackenv/bin/u8tbl: line 1: u8tbl.exe: command not found 23:58:40 oerjan: well i don't remember making any puns 23:58:41 oops 23:58:41 <\oren\> `` u8tbl 0x27a9 0x27aa 23:58:42 ​/hackenv/bin/u8tbl: line 1: u8tbl.exe: command not found 23:58:51 oerjan: but i'm sure i must've 23:59:05 `` mv u8tbl.{elf,exe} 23:59:05 mv: cannot stat `u8tbl.elf': No such file or directory 23:59:07 H4X1N470R is a better name 23:59:23 oh dear 23:59:25 `` mv bin/u8tbl.{elf,exe} 23:59:25 <\oren\> `` u8tbl 0x27a9 0x27aa 23:59:54 ​/hackenv/bin/u8tbl: line 1: u8tbl.exe: command not found 23:59:55 ...did we cause some kind of deadlock 23:59:55 No output. 23:59:59 <\oren\> `` u8tbl 0x27a9 0x27aa 2016-03-26: 00:00:00 ​➩➪ 00:00:03 `u8tbl 0x31f0 0x31ff 00:00:03 ​ㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ 00:00:07 there 00:00:50 i still don't get why you read all the backlogs <-- ALSO TRADITION (sometimes i give up though) 00:01:20 <\oren\> `u8tbl 0x2395 00:01:21 back in these days with more bots than active users? 00:01:23 ​/hackenv/bin/u8tbl: line 1: 293 Segmentation fault u8tbl.exe $@ 00:01:29 <\oren\> `u8tbl 0x2395 0x2395 00:01:30 ​⎕ 00:01:31 -!- lynn_ has joined. 00:02:00 oerjan: how much time do you spend with that? 00:02:33 shachaf: it might get canceled out by the `olist hth 00:03:32 -!- lynn_ has quit (Read error: Connection reset by peer). 00:03:35 myname: DON'T ASK 00:03:45 i already did 00:04:15 -!- lynn_ has joined. 00:04:39 -!- lynn has quit (Ping timeout: 264 seconds). 00:05:07 if it's long i generally multitask while doing it, so it's hard to measure. 00:06:28 -!- lynn_ has changed nick to lynn. 00:07:51 <\oren\> speaking of which, how do i make orenwatson.be redirect to www.orenwatson.be? <-- i'm pretty sure there are people championing the opposite convention hth 00:08:33 <\oren\> well right now neither one reditrects, they jsut both go to the same ip 00:08:54 right, which is a bit awkward because you get parallel urls 00:09:11 (same if you have both http and https) 00:13:55 <\oren\> I don't see why browsers don't cache based on ip instead of domain name 00:15:18 -!- glitchmatick has joined. 00:15:33 -!- lynn has quit (Ping timeout: 240 seconds). 00:16:14 What do IPs have to do with anything? 00:17:08 -!- lynn has joined. 00:18:30 <\oren\> shachaf: well my server has an ip 00:18:50 \oren\: there are a lot of webhosts providing several entirely different websites from one ip 00:19:26 presumably as domain names are much less scarce than ipv4 00:19:32 oerjan: actually doing that is apparently now mandatory 00:19:43 i.e. if you run two websites from one physical server, they both have to be from the same IP 00:19:57 ais523: huh? 00:19:58 in an attempt to reduce IPv4s being exhausted for stupid reasons 00:20:02 (this doesn't apply to IPv6) 00:20:04 aha 00:20:09 oerjan: you don't get the IP being allocated otherwise 00:24:31 * oerjan notes that www.google.no and www.google.se are the same ip, although www.google.com is different. 00:25:00 <\oren\> 52.2.213.98 is the ip of my server 00:25:49 \oren\: the point is, anyway, that the ip is not enough to tell whether two urls with only hostname different give the same result 00:25:52 <\oren\> so theoretically, the browser could note that both www.orenwatson.be and orenwatson.be are 52.2.213.98:80 00:26:00 err, I should say same virtual serer 00:26:02 *server 00:26:04 rather than physical 00:26:24 \oren\: yes but they might have different content 00:26:47 the recommendation from http://no-www.org is to have the www. version redirect to the non-www. version 00:26:48 <\oren\> hmm, then should I redirect www to plain or vice versa? 00:26:50 although they are obviously biased 00:29:10 i recall there's an opposing site but i think that one is mainly a joke 00:29:32 the competing site is http://www.yes-www.org/ 00:29:37 …I should have guessed that 00:31:45 "I’ve even seen a few pathological cases where, given a URL, they will type www.google.com or another search engine into the address bar, and then type the URL they actually want to go to into Google’s search field!" 00:32:13 which is axtually quite common 00:32:21 i guess it's not a joke after all 00:33:02 well, most people put it into the google startpage 00:34:05 I've heard reports of people entering "google" into Google's search field, then searching their actual query from the resulting page 00:40:09 <\oren\> the first lady of the united states is not allowed to be hot! <-- oh so _that_ is the real reason why they killed jfk! 00:41:11 -!- p34k has quit. 00:42:42 hmm, when I see <\oren\> posted like that, it looks a bit like an HTML tag 00:43:01 let's not get into another of those comment tag closing threads though 00:43:09 from an alternative universe, perhaps 00:43:56 * oerjan doesn't have < before nicks in irssi, anyway. 00:45:45 suddenly my logreading slips away to a tatham puzzle 00:46:27 (currently being "Range") 00:47:16 i am puzzling that new one a lot 00:47:25 palisade 00:47:32 it's fairly easy, though 00:47:38 yeah 00:48:23 i actually enjoy that zombie/vampire/ghost one 00:48:26 i tend to cycle alphabetically, so that was a short while ago. 00:48:30 myname: me too! 00:49:25 <\oren\> since www.orenwatson.be is long, I'm going to use the no-www convention 00:52:53 -!- idris-bot has quit (Quit: Terminated). 00:53:12 -!- idris-bot has joined. 00:56:58 does anybody know the game "quattropoli"? (at least that's the name i know it under) 00:57:48 myname: I haven't heard of it. What's it like? 00:58:30 ypu have a 4x4 game board and 16 different cards 00:58:51 each card has 4 properties: outer form, inner form, outer color, inner color 00:59:13 with form being circle or square and color.being black and white 00:59:46 what you have to achieve is make a row of 4 cards which share at least one property 00:59:52 but there's a catch 01:00:03 you always choose the card your opponent has to play 01:01:53 does each player play to their own board? 01:02:00 no 01:02:13 there is one shared board and one shared set of 16 cards 01:02:15 -!- nooga has quit (Ping timeout: 264 seconds). 01:02:17 so shared board, and you're aiming to be the first to complete a line 01:02:23 yes 01:02:23 Do diagonal lines count? 01:02:27 yes 01:02:27 but one person chooses which card is played, the other chooses where 01:02:34 exactly 01:02:48 16**16 = 2**64 01:02:56 this game seems brute-forceable to me when pruned properly 01:03:08 certainly 01:03:09 Quick, someone teach it to a neural net. 01:03:34 i just liked the twist of not being able to choose what to play 01:03:48 the youthful me liked it a lot 01:04:42 (it may be useful to know that without the twist there's an easy non-losing strategy for the second player) 01:05:45 destroy any row that can be dangerous? 01:06:36 none of the standard second-player exploits obviously work 01:06:43 so this must be a new or unusual one 01:07:06 Win if you can; otherwise mirror your opponent's move. 01:07:20 oh, I see 01:07:28 that's a clever variant on the normal mirroring situation 01:07:52 <\oren\> there should be a list of characters that look lik there was an error 01:11:21 <\oren\> 〿⎕〾〼◌□ 01:12:46 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 01:13:18 <\oren\> 〾 in particular looks like something has gone horribly wrong 01:14:10 <\oren\> it looks like a character lookup error that isn't the normal one 01:17:46 <\oren\> Oh no the reactor 〾〾〾〾〾〾〾〾〾〾〾〾〾〾〾〾 01:21:51 -!- hppavilion[1] has joined. 01:26:07 `unidecode 〾 01:26:22 ​[U+303E IDEOGRAPHIC VARIATION INDICATOR] 01:26:53 tswett: Do you know anything about low-level GUI programming? 01:27:04 Tiny bits. 01:27:48 tswett: I'm trying to make my own. 01:27:58 I know some things of GUI programming with Xlib and with VB6 01:28:12 hppavilion[1]: using what sort of library or whatever? 01:28:21 tswett: Any standard libraries necessary 01:28:28 zzo38: Oh, right, you made Xlib bindings for JS 01:29:00 tswett: My own GUI library that is; got phrased wrong 01:29:11 Is SDL still current? 01:29:21 tswett: SDL? 01:29:35 That library for doing graphics and audio and so forth. 01:29:53 tswett: Ah. 01:33:01 tswett: yes but it's inefficient :-( 01:33:02 -!- lynn_ has joined. 01:33:09 -!- lynn has quit (Disconnected by services). 01:33:11 -!- lynn_ has changed nick to lynn. 01:52:01 * oerjan concludes that the 2nd player non-losing depends on there being an even number of cells in the shortest direction 01:52:54 hm wait 01:53:40 maybe both must be 01:54:36 oerjan: are you talking about the game of life hth 01:54:39 you need a mirroring that fixes no odd-length line 01:54:53 shachaf: no, myname's game 01:56:23 hm things get a bit fishy when not quadratic. 01:56:51 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 01:57:12 (what's a diagonal) 01:58:22 or rather, int-e's simplification 01:59:28 hm with odd size, does the first player have an easy win by starting in the center 01:59:50 and from then doing a mirroring of the second player 02:00:21 *non-loss 02:02:49 mirroring around the center, that is, not a line 02:03:36 * oerjan thinks so 02:06:34 how do you mirror selecting if each card is unique? 02:12:22 liie, i start by selecting black outer square black inner square 02:12:35 you put it somewhere and want to mirror that 02:12:41 how do you do it? 02:13:11 black outer square white inner square? black outer squeare black inner circle? 02:15:11 -!- Guest96610 has joined. 02:15:16 o/ 02:16:02 I found your channel in an old log of IRC 02:16:22 It's about esotic language, right ? 02:16:24 -!- glitchmatick has quit (Ping timeout: 276 seconds). 02:16:29 Is there somebody? :) 02:16:29 <\oren\> yup 02:16:30 also, there are 16! possible boards, being around 2.1 * 10^14 02:16:58 <\oren\> we also discuss esoteric board games, and fonts, etc... 02:17:07 and mtg 02:17:10 I'm looking for an specific esoteric language 02:17:17 using POINTING TRIANGLE 02:17:29 using 😀 02:18:05 is there any way you point me on some direction with theses informations? ^^ 02:19:21 I may have a code (I guess it's code), I would need to know what does this code do 02:19:22 define pointing triangle. like, the symbol? 02:19:26 Yep 02:19:27 🐇 🐼 🍇 🐇🐖 🏁 ➡️ 🚂 🍇 🍮 s 0 🍮 i 0 🔁 ◀️ i 3427 🍇 🍊 ▶️ i 3418 🍇 🍳 s 🍉 🍓 🍇 🍫 s 🍉 🍫 i 🍉 😀 🔷🔡🚂 s 10 🍮 a 0 🍮 i 0 🔁 ◀️ i 1239 🍇🍊 ▶️ i 1229 🍇🍳 a🍉🍓 🍇🍫 a🍉🍫 i🍉😀 🔷🔡🚂 a 10🍎 0🍉🍉 02:20:04 doesn't look like any code i know 02:20:05 <\oren\> hmm there are various emoji language 02:20:14 yeah 02:20:23 damnit 02:20:32 but they either are fare more lisp like or less wordy 02:21:50 hmm.. do you know where I can find what I'm looking for? I tried an esolang list, didn't recognize anything 02:23:17 <\oren\> is it heartforth? 02:24:48 I'm gonna check 02:25:31 how do you mirror selecting if each card is unique? <-- curses, foiled again 02:27:08 <\oren\> https://github.com/nasser/Emojinal 02:27:15 <\oren\> it could also be this 02:27:37 <\oren\> which does appear to use those emoji 02:27:39 I'll check it too then ! :D 02:27:45 (thank you :) ) 02:28:31 -!- jaboja has quit (Remote host closed the connection). 02:29:31 myname: actually, choosing the card with all properties opposite might work for the even case 02:30:07 for the odd there'll be trouble choosing the initial center 02:30:58 so, white outer circle white inner circle 02:31:33 myname: oh and this was all assuming without choosing your opponent's cards. 02:32:18 having odd numbers would imply a property having more than 2 ways 02:32:43 in which case there is no direct opposite 02:33:43 well i was assuming nothing about what cards would be with other board sizes 02:34:46 maybe you can manage something with a more complicated permutation of cards 02:35:25 -!- glitchmatick has joined. 02:38:29 i need to talk somebody into writing an app for that 02:56:57 -!- me2 has quit (Read error: Connection reset by peer). 02:57:38 -!- me2 has joined. 02:57:59 -!- hppavilion[1] has joined. 03:03:44 -!- bender| has joined. 03:09:31 -!- Guest96610 has quit (Read error: Connection reset by peer). 03:24:39 is there a word that means "not on fire"? 03:28:06 Extinguished can mean "previously but not currently on fire". 03:28:56 Though it can also mean twarted, or dead. Snuffed carries the same meaning. 03:31:10 hmm, yes 03:31:12 thanks 03:34:06 -!- ent0nces has joined. 03:34:20 -!- ent0nces has quit (Remote host closed the connection). 03:35:52 -!- ent0nces has joined. 03:36:30 -!- ent0nces has quit (Client Quit). 03:37:41 -!- ent0nces has joined. 03:38:42 -!- ent0nces has quit (Remote host closed the connection). 03:39:12 -!- ent0nces has joined. 03:39:36 -!- XorSwap has joined. 03:43:03 -!- ent0nces has quit (Read error: Connection reset by peer). 03:43:35 -!- ent0nces has joined. 03:46:17 -!- ent0nces has quit (Read error: Connection reset by peer). 03:47:00 -!- ent0nces has joined. 03:50:35 -!- ent0nces has quit (Read error: Connection reset by peer). 03:51:41 -!- ent0nces has joined. 04:03:55 bender|: Hi 04:18:54 hello 04:19:00 (sorry, was away) 04:28:29 -!- ent0nces has quit (Read error: Connection reset by peer). 04:29:25 -!- ent0nces has joined. 04:34:11 -!- XorSwap has quit (Quit: Leaving). 04:36:04 -!- ent0nces has quit (Read error: Connection reset by peer). 04:37:22 -!- ent0nces has joined. 04:38:59 -!- ent0nces has quit (Read error: Connection reset by peer). 04:39:50 -!- ent0nces has joined. 04:40:24 bender|: I'm writing a C-like language compiler targeting "TargetFuck" 04:40:29 *"TargetBF" 04:42:58 lol 04:43:15 I remember seeing a C->BF compiler 04:54:21 -!- glitchmatick has quit (Ping timeout: 276 seconds). 04:59:10 bender|: I know 04:59:46 -!- ent0nces has quit (Remote host closed the connection). 05:05:25 -!- lynn has quit (Ping timeout: 252 seconds). 05:15:12 <\oren\> the king of jordan says turkey is behind isis 05:17:12 has the old guy turned senile now 05:17:20 wait, he's not that old is he 05:17:55 <\oren\> well yeah that was my first reaction it sounds like something my crazy greatuncle would say 05:18:16 <\oren\> (sorry uncle bruce) 05:20:59 <\oren\> he's 54 05:39:34 \oren\: are you oren in the online-go.com chat? 05:44:16 <\oren\> no 05:44:29 ok 05:44:36 <\oren\> right now I'm playing ksp 06:25:46 Has anyone ever tried compiling to Thue? 06:26:21 I have written a document with some ideas about a new version of X protocol. If there is something you believe is currently wrong with X then I might add those too, in case you also have some ideas related to such thing. 06:30:55 what about wayland? 06:31:24 zzo38: What if I think X should be more like NeWS? 06:32:12 shachaf: What are the differences of NeWS? 06:33:04 NeWS used Postscript. 06:33:08 https://en.wikipedia.org/wiki/NeWS 06:33:40 izabera: Wayland also has several problems though. 06:33:53 newsham: Do you like NeWS? 06:33:54 care to explain? 06:33:58 https://www.youtube.com/watch?v=oT3mCybbhf0 06:35:49 I think there are problems with NeWS as well. X seems the best designed system so far (although many of its extensions are badly designed), although it has some problems too. 06:36:47 -!- lambda-11235 has quit (Quit: Bye). 06:36:56 X is too slow over slow networks. 06:37:28 get a faster network 06:38:18 can't do anything about the speed of light tdnh 06:39:34 Changes to the protocol could be made to improve speed; the server might also implement compressed connections if needed (which is really a network feature and would not be a part of the protocol) 06:45:05 That doesn't help with latency. 06:47:07 Some changes could possibly to improve latency too but not if it makes it complicated 06:49:51 Do you like PostScript? 06:51:55 It may be suitable as a standalone programming language for printing but it should not be the protocol (some printers use it as a protocol and I consider that a bad idea) 06:53:54 What language would you use for NeWS? 06:54:27 JavaScript? 06:55:02 I do not believe the protocol should use anything like that 06:55:59 Do you like web applications? 06:56:04 Like Gmail. 06:56:26 Oh, did you relay my message to vaporware? 06:57:20 No (to both questions) 06:58:10 What do you think people should use instead of web applications? 06:58:58 Command-line program should be provided and also protocol for use with SQLite virtual tables. 07:03:42 Actually my ideas for new version of X does include support for stored procedures, although how they are implemented and what programming languages and so on (they might not even be implemented at all) is depend on the server implementation, although there is a standardized calling convention for stored procedures. 07:50:34 -!- Sgeo__ has quit (Ping timeout: 240 seconds). 07:50:39 -!- glitchmatick has joined. 07:55:09 -!- glitchmatick has quit (Ping timeout: 248 seconds). 08:01:39 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 08:03:38 -!- nooga has joined. 08:10:59 -!- ais523 has quit. 08:41:12 -!- nooga has quit (Ping timeout: 276 seconds). 08:45:27 -!- nooga has joined. 08:47:20 -!- J_Arcane has quit (Ping timeout: 244 seconds). 08:50:50 -!- nooga has quit (Ping timeout: 250 seconds). 09:06:06 -!- earendel has quit (Ping timeout: 248 seconds). 09:08:24 -!- oerjan has quit (Quit: Nite). 09:26:01 -!- nooga has joined. 10:06:40 -!- Deepfriedice has joined. 10:07:00 -!- nooga has quit (Ping timeout: 246 seconds). 10:09:20 -!- AnotherTest has joined. 10:09:47 -!- nooga has joined. 11:29:15 -!- nooga has quit (Ping timeout: 246 seconds). 11:44:25 -!- yorick__ has changed nick to yorick. 12:24:04 -!- Riviera has quit (Remote host closed the connection). 12:39:36 -!- boily has joined. 12:41:52 @massages-loud 12:41:52 You don't have any messages 13:01:08 -!- boily has quit (Quit: FORUM CHICKEN). 13:05:37 . o O ( @tell boily you still don't have any messages ) 13:06:37 @messages 13:06:37 You don't have any messages 13:12:04 -!- olsner has quit (Quit: ZNC - http://znc.in). 13:12:32 -!- olsner has joined. 13:27:25 -!- earendel has joined. 13:44:58 -!- nooga has joined. 14:04:42 -!- nooga has quit (Read error: Connection reset by peer). 14:23:10 -!- nooga has joined. 14:36:41 -!- bender| has quit (Ping timeout: 268 seconds). 14:39:29 -!- p34k has joined. 15:05:22 -!- nooga has quit (Read error: Connection reset by peer). 15:10:17 -!- nooga has joined. 15:10:43 -!- bender| has joined. 15:16:43 -!- Deepfriedice has quit (Quit: Leaving). 15:19:36 -!- nooga has quit (Read error: Connection reset by peer). 15:20:01 -!- nooga has joined. 15:20:28 -!- lambda-11235 has joined. 15:28:11 -!- glitchmatick has joined. 15:31:34 -!- ent0nces has joined. 15:37:02 -!- glitchmatick has quit (Ping timeout: 260 seconds). 15:40:28 -!- ent0nces has quit. 16:01:21 -!- MoALTz has quit (Ping timeout: 244 seconds). 16:07:45 -!- jaboja has joined. 16:10:58 -!- nooga has quit (Read error: No route to host). 16:12:24 -!- PinealGlandOptic has joined. 16:13:39 [wiki] [[List of ideas]] https://esolangs.org/w/index.php?diff=46650&oldid=46572 * MDude * (+832) two ideas, plus a generalization of the second one 16:16:50 -!- p34k has quit. 16:23:26 -!- bender| has quit (Ping timeout: 248 seconds). 16:51:15 -!- gde33 has joined. 16:56:44 -!- jaboja has quit (Ping timeout: 260 seconds). 17:18:18 There is still no LLVM-_Back_end for Brainfuck, just a Frontend, right? 17:27:08 http://esolangs.org/wiki/C2BF looks like a good starting Point. 17:27:20 it's pretty hard to do such a thing 17:28:42 -!- Froox has joined. 17:29:11 -!- Sgeo__ has joined. 17:31:15 -!- Froo has joined. 17:31:33 myname: True. 17:31:34 -!- Frooxius has quit (Ping timeout: 240 seconds). 17:31:53 All the easy Things are done in our infinite Multiverses ;) 17:34:22 -!- Froox has quit (Ping timeout: 244 seconds). 17:48:45 -!- XorSwap has joined. 17:51:13 -!- earendel has quit (Ping timeout: 250 seconds). 17:54:45 -!- p34k has joined. 17:59:04 -!- MoALTz has joined. 18:02:01 [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46651&oldid=46496 * Captainpicard98 * (+118) Added the TIBrain implementation 18:02:52 -!- XorSwap has quit (Read error: Connection reset by peer). 18:03:02 -!- XorSwap has joined. 18:13:12 -!- lambda-11235 has quit (Read error: Connection reset by peer). 18:14:57 -!- XorSwap has quit (Quit: Leaving). 18:31:30 -!- jaboja has joined. 18:35:12 -!- gde33 has quit. 18:35:56 -!- nooga has joined. 18:51:42 -!- earendel has joined. 19:01:05 -!- hppavilion[1] has joined. 19:09:58 -!- ais523 has joined. 19:19:44 -!- lleu has quit (Read error: Connection reset by peer). 19:27:54 -!- mihow has joined. 19:30:03 -!- nooga has quit (Ping timeout: 240 seconds). 19:34:19 -!- mihow has quit (Quit: mihow). 19:47:15 -!- jaboja has quit (Ping timeout: 248 seconds). 19:55:02 -!- lynn has joined. 20:17:05 -!- hppavilion[1] has quit (Ping timeout: 268 seconds). 20:27:23 -!- nooga has joined. 20:35:17 -!- jaboja has joined. 20:46:12 -!- lynn has quit (Quit: Leaving). 20:50:23 -!- bb010g has joined. 21:03:28 -!- J_Arcane has joined. 21:04:06 -!- ais523 has quit. 21:04:49 -!- lynn has joined. 21:04:50 -!- lynn_ has joined. 21:05:27 -!- lynn_ has quit (Client Quit). 21:31:33 -!- jaboja has quit (Ping timeout: 240 seconds). 21:47:08 [wiki] [[Brainfuck implementations]] https://esolangs.org/w/index.php?diff=46652&oldid=45553 * Rdebath * (+118) Moved from "Brainfuck" page 21:47:09 [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46653&oldid=46651 * Rdebath * (-118) Interpreter not "Notabled", moved to "implementations" Undo revision 46651 by [[Special:Contributions/Captainpicard98|Captainpicard98]] ([[User talk:Captainpicard98|talk]]) 21:53:25 I assume I don't count as a hirable type theorist 21:53:37 Just because I like experimenting with types in Rust 21:57:20 -!- PinealGlandOptic has quit (Quit: leaving). 22:04:51 fungot, are you a hirable type theorist? 22:04:51 b_jonas: s/ pee/ pea ofc the nature of the art is ' let john handle it, no 22:05:31 @djinn a -> Either a b {- lambdabot, are you a hirable type theorist? -} 22:05:31 Cannot parse command 22:05:40 @djinn a -> Either a b 22:05:41 f = Left 22:08:01 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:27:29 -!- lambda-11235 has joined. 22:57:08 -!- asie has quit (Ping timeout: 250 seconds). 22:58:55 How much do you suppose people will be using CD-sized disks (including DVD and Bluray) say 12 years from now? I'm trying to tell if a DVD disk is a reasonable object for size comparison on a photo. 22:59:59 -!- asie has joined. 23:00:27 -!- lynn_ has joined. 23:01:05 -!- lynn has quit (Disconnected by services). 23:01:07 -!- lynn_ has changed nick to lynn. 23:01:32 Maybe pencils or rubik's cubes or other similar objects whose size is designed to be convenient to hold in human hands are better. 23:02:19 I think a DVD is better because pencil and cube may be different sizes. But, ensure the DVD is labeled as "DVD" to don't confuse with other discs of different sizes 23:02:57 -!- nooga has quit (Ping timeout: 244 seconds). 23:03:02 However a ruler with inches and/or centimetres is another alternative 23:03:58 zzo38: are there disks with different sizes that look similar? A ruler is a good idea, yes. How familiar are Americans with centimiters these days? 23:04:45 Or with centimeter rulers, rather. 23:06:42 As long as it is labeled it should be OK. Many rulers have both though, so use one with both 23:08:44 Hmm… I think many rulers aren't labelled as centimeters, but you can tell because centimeter rulers are divided to 10 ticks between numbered large ticks, whereas inch rulers are divided to 16 usually. 23:12:23 -!- Froo has quit (Read error: Connection reset by peer). 23:12:54 zzo38: other possible choices for comparison objects are: pen, coin or banknote (I don't like that one because it works only if the expected audience is from the same country and time), credit card, floppy disk, matches, door key, keyboard (that's another of those designed to match human hands), thimble, drinking glass, human hand. 23:13:15 Oh, and tennis ball. 23:18:54 -!- nooga has joined. 23:19:44 -!- jaboja has joined. 23:20:12 AA battery, light bulb, ear plug, computer power socket or plug, VGA socket, toothbrush, … 23:28:02 -!- Frooxius has joined. 23:30:31 -!- hppavilion[1] has joined. 23:31:13 -!- p34k has quit. 23:31:39 How about a stylesheet language called MOAR? xD 23:41:16 -!- oerjan has joined. 23:58:28 I assume it's a strict subset of CSS 23:58:47 oerjanello 23:59:00 one hour before they steal 60 minutes from us 23:59:09 how does that make you feel? 2016-03-27: 00:00:33 ...the 60 minutes podcast is already freely available outside US...why take it from US? 00:02:21 -!- oerjan has set topic: All Europeans: Prepare your time machines! | The international hub of esoteric programming language and font design | http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | The kitten typesetting channel. 00:05:28 quintopia: to save it before trump becomes president, of course! 00:05:52 int-evening 00:07:37 oerjan: i cant see him winning 00:09:18 Sgeo__: It is not, unfortunately. 00:09:35 Hmmm, I'd agree if "can't see" = "can't imagine what it would be like" 00:10:04 Sgeo__: I'm thinking of making MOAR also produce JS, to make it a powerful scripting language too 00:10:38 Sgeo__: In fact, I might just have to make an entire CSS-based programming language 00:10:45 I imagine Trump would be a Zaphod Beeblebrox with actual power. 00:11:54 > 738/(738+463+166+143)*100 00:11:55 48.87417218543047 00:12:22 almost 50% of rep. delegates so far 00:12:32 I can't find any formal grammars for CSS online :( 00:13:23 The first change that would have to be made for programming in CSS is that stylation keys could have arguments 00:13:58 And styles would be anonymous 00:14:26 And rules could be saved to variables 00:15:11 So you could do: 00:15:12 p_w := p {background-color: #FFFFFF; on-keypress('r'): {background-color: #FF0000; on-keypress('w'): $p_w}} 00:15:13 oerjan: if he wins the republican nod, it will either tear the party apart or make the ongoing civil cold war much hotter 00:17:17 quintopia: hm ok i agree, the polls indicate he wouldn't even win if against sanders 00:18:29 hm actually his chances are about equally glum regardless 00:20:18 huh actually sanders looks _better_ than clinton 00:20:23 (against trump) 00:22:02 this place will get exciting between now and november 00:24:04 interesting. all the 6 matchups on this poll site give sanders a better chance than clinton in the general election. 00:24:47 Yep, I think I invented a practical Esolang. 00:24:48 well in average points. who knows what that means in states. 00:25:12 (Though it's web dev, so that's probably already been done) 00:25:34 PHP? *runs* 00:26:21 oerjan: which king are you going to vote for twh 00:26:50 i'm wondering who it is that prefers sanders over clinton if the democrats themselves don't... 00:26:55 Queen Merkel, hmm. 00:27:00 int-e: Maybe 00:27:59 oerjan: many rank-and-file dems prefer sanders 00:28:09 not sure that that matters 00:29:47 perhaps it's just some non-transitive preferences 00:31:02 what stats are you using? 00:32:38 -!- kuluma has joined. 00:34:22 realclearpolitics.com (annoying popups though) 00:38:16 ah superdelegates 00:38:37 oh don't get me started on politics 00:38:41 they're such a lovely perversion 00:44:12 [wiki] [[CCS]] N https://esolangs.org/w/index.php?oldid=46654 * Hppavilion1 * (+2083) Created (w/ Grammar) 00:45:18 unfortunate name. https://en.wikipedia.org/wiki/Calculus_of_communicating_systems 00:53:20 -!- boily has joined. 00:53:30 oh it's almost time to fasten the seatbelts 00:55:12 -!- nooga has quit (Ping timeout: 268 seconds). 00:58:11 -!- lambda-11235 has quit (Max SendQ exceeded). 00:58:12 int-ello. which ones? 00:58:35 The ones on the time machine, of course. 00:58:36 -!- lambda-11235 has joined. 00:59:56 Ayeeeeeee... 01:00:00 ...eeeeeeeeeee! 01:00:01 WHEEEEE 01:00:27 -!- oerjan has set topic: All Europeans: Welcome to the future! | The international hub of esoteric programming language and font design | http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | The kitten typesetting channel. 01:01:09 I think I got the timing right :) 01:02:15 there's a future? 01:02:32 [wiki] [[CCS]] https://esolangs.org/w/index.php?diff=46655&oldid=46654 * Hppavilion1 * (+2227) Semantics & example 01:02:37 boily: There was. 01:03:02 . o O ( lesson of the day: don't eat too much dim sum when you're having an Armenian supper. waaaay too much food. ) 01:03:26 int-e: you don't count; you're in a temporally shifted timeframe. 01:03:59 I prefer to call it elevated. 01:04:35 Also how did it get so late out of a sudden!!1elven 01:04:46 Err, eleven? 01:05:17 `? eleven 01:06:02 eleven? ¯\(°​_o)/¯ 01:06:54 int-e: your subconscious is trying to tell you it was elves hth 01:07:09 [wiki] [[CCS]] https://esolangs.org/w/index.php?diff=46656&oldid=46655 * Hppavilion1 * (+101) /* Features */ Rearranged, checklisted 01:07:17 Ah now it makes sense. 01:07:52 boily: dim sum is armenian now? 01:08:44 hellørjan. sorry, lack of details. I had dim sum for lunch, and then Armenian food for supper hth 01:09:32 at least, today was shrimpful :D 01:10:42 -!- ineiros has quit (Ping timeout: 246 seconds). 01:11:06 -!- jaboja has quit (Ping timeout: 244 seconds). 01:12:37 -!- jaboja has joined. 01:17:47 -!- jaboja has quit (Ping timeout: 244 seconds). 01:21:06 -!- jaboja has joined. 01:25:21 -!- ineiros has joined. 01:30:03 -!- ineiros has quit (Ping timeout: 240 seconds). 01:41:20 -!- ineiros has joined. 01:48:28 -!- boily has quit (Quit: WITHOUT CHICKEN). 02:06:36 -!- lynn_ has joined. 02:07:23 -!- lynn has quit (Disconnected by services). 02:07:26 -!- lynn_ has changed nick to lynn. 02:18:06 -!- XorSwap has joined. 02:21:07 Oh darn 02:21:19 That's why I thought it was so late suddenly 02:40:54 -!- mihow has joined. 02:52:39 What is the strangest thing that you could do in orthodox Magic: the Puzzling? 02:53:30 What is orthodox Magic: the Puzzling? 02:54:20 Magic: the Puzzling that does not use any nonstandard rules or nonstandard cards. 03:06:31 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:24:07 -!- bender| has joined. 03:27:25 -!- jaboja has quit (Ping timeout: 252 seconds). 03:38:55 -!- bb010g has quit (Quit: Connection closed for inactivity). 03:52:31 -!- lleu has joined. 04:02:51 -!- kuluma has quit (Ping timeout: 264 seconds). 04:41:34 -!- mihow has quit (Quit: mihow). 04:45:01 -!- mihow has joined. 05:01:29 -!- hppavilion[1] has joined. 05:09:48 I made a document called x.version12.draft which has ideas about new stuff for a new version of the X window protocol. Many things are omitted, but also some things are added. A few features may especially make it more suitable for use with TV screens: VideoClass windows, translucent windows, and extra keysyms. 05:12:57 (The server is not guaranteed to support any or all of these features though; they are optional features.) 05:14:25 -!- XorSwap has quit (Ping timeout: 244 seconds). 05:20:22 -!- XorSwap has joined. 05:25:17 -!- XorSwap has quit (Quit: Leaving). 05:56:25 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 06:00:35 -!- copumpkin has joined. 06:09:42 -!- lynn has quit (Ping timeout: 260 seconds). 06:19:13 -!- mihow has quit (Quit: mihow). 06:33:26 -!- lambda-11235 has quit (Quit: Bye). 07:13:45 -!- Sprocklem has quit (Quit: [). 07:27:18 -!- Sprocklem has joined. 07:32:07 -!- benderpc_ has joined. 07:33:56 -!- nooga has joined. 07:34:07 -!- bender| has quit (Ping timeout: 250 seconds). 07:45:09 -!- nooga has quit (Ping timeout: 246 seconds). 07:55:11 -!- nooga has joined. 08:01:18 -!- nooga has quit (Ping timeout: 276 seconds). 08:07:47 -!- black has joined. 08:08:03 hi 08:08:09 anyone here? 08:08:37 `welcome black 08:08:48 black: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 08:12:29 who can help me with a esolang chllenge? 08:15:25 -!- mihow has joined. 08:21:29 -!- black has quit (Ping timeout: 244 seconds). 08:42:47 -!- oerjan has quit (Quit: Nite). 08:52:27 -!- nooga has joined. 09:18:51 [wiki] [[Template:Cnw]] N https://esolangs.org/w/index.php?oldid=46657 * 111.37.28.34 * (+504) Created page with "{{#tag:nowiki|{{{1|}}}}}{{#tag:nowiki|{{{2|}}}}}{{#tag:nowiki|{{{3|}}}}}{{#tag:nowiki|{{{4|}}}}}{{#tag:nowiki|{{{5|}}}}}{{#tag:nowiki|{{{6|}}}}}{{#tag:nowiki|{{{7|}}}}}{..." 09:23:54 [wiki] [[Template:=]] N https://esolangs.org/w/index.php?oldid=46658 * 111.37.28.34 * (+1) Created page with "=" 09:32:38 [wiki] [[Template:X2]] N https://esolangs.org/w/index.php?oldid=46659 * 111.37.28.34 * (+21) Created page with "{{{{{1|}}}|{{{1|}}}}}" 09:36:11 -!- mihow has quit (Quit: mihow). 09:39:46 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 10:31:44 wtf 10:36:03 -!- nooga has quit (Ping timeout: 240 seconds). 10:37:13 -!- nooga has joined. 10:40:04 -!- benderpc_ has changed nick to osdev-offtopic. 10:40:26 -!- osdev-offtopic has changed nick to bender|. 10:41:33 -!- nooga has quit (Ping timeout: 240 seconds). 11:37:26 -!- nooga has joined. 11:38:16 -!- lynn has joined. 11:42:47 -!- nooga has quit (Ping timeout: 260 seconds). 11:53:56 -!- jaboja has joined. 11:58:40 -!- boily has joined. 12:07:26 coppro: copprello. 12:27:09 -!- jaboja has quit (Remote host closed the connection). 12:40:04 -!- nooga has joined. 12:44:28 -!- nooga has quit (Ping timeout: 244 seconds). 12:44:54 boily: bonjouroily 12:44:58 I'm fleeing the country today 12:46:30 nooooo! can I ask a quick MtG question before you disappear in faraway lands? 12:57:13 yes 12:58:22 thanks! 12:58:32 we had a timing issue about the legendary rule this week: 12:58:59 suppose there's a Leyline of Singularity in play, and I have a Gray Merchant of Asphodel in play. 12:59:36 if I play a second Gary, will the devotion of the first count towards the ETB, or will the legendary rule apply first and dislodge the first Gary? 12:59:51 if you play another grey merchant, you don't count the extra symbols. legendary rule is a state-based action so it applies once the ability goes on the stack and before it resolves 13:01:19 that's what we thought. thanks for the clarification. 13:01:39 * boily should become a judge some day... 13:06:19 Repent or you shall BOIL! 13:16:40 int-ello. I am unrepentable hth 13:19:50 [wiki] [[Logique]] https://esolangs.org/w/index.php?diff=46660&oldid=40222 * Rdebath * (-389) Interpreter and github user gone. 13:32:50 -!- boily has quit (Quit: PLACE CHICKEN). 13:32:50 boily: judging is easy hth 13:33:19 place? 13:40:56 -!- nooga has joined. 13:46:28 -!- nooga has quit (Ping timeout: 244 seconds). 14:10:29 [wiki] [[ODDBALL]] M https://esolangs.org/w/index.php?diff=46661&oldid=40932 * LegionMammal978 * (+13) /* External resources */ 14:34:01 -!- nooga has joined. 14:34:07 -!- jaboja has joined. 14:51:47 -!- jaboja has quit (Ping timeout: 260 seconds). 14:54:51 -!- jaboja has joined. 14:59:15 -!- nooga_ has joined. 14:59:33 -!- nooga has quit (Ping timeout: 240 seconds). 15:04:34 -!- lambda-11235 has joined. 15:07:20 -!- lleu has quit (Quit: That's what she said). 15:08:40 -!- jaboja has quit (Ping timeout: 250 seconds). 15:25:42 -!- nooga_ has quit (Read error: Connection reset by peer). 15:57:49 -!- MoALTz_ has joined. 16:00:14 -!- gde33 has quit (Read error: Connection reset by peer). 16:01:18 -!- MoALTz has quit (Ping timeout: 244 seconds). 16:20:09 -!- jaboja has joined. 16:21:13 Is any big company who produces lots of https traffic known to send data in zlib format compression that is compressed better than the well-known libzlib library creates? The compression could be at ssl level or http level, but I'm specifically asking about zlib or gzip format, not deflate/zip/pkzip format. 16:22:32 I'm asking because if someone is sending large chunks of well-compressible text or html or json or xml or whatever data at the same time, then they could totally gain a few percent of bandwidth on them just by using a better compressor backend. 16:26:37 -!- jaboja has quit (Ping timeout: 244 seconds). 16:28:38 b_jonas: I think https://github.com/google/zopfli is Google's answer to that 16:36:40 hmm, but zlib/gzip *is* deflate/zip/pkzip? 16:37:15 technically the headers differ, but in http content-encoding the headers are also optional 16:38:31 olsner: no, I don't think it is 16:38:58 olsner: the zip/deflate algorithm had patent problems at the time, didn't it? 16:39:04 pkzip uses deflate without headers, zlib is deflate with zlib header, gzip is deflate with a gzip header 16:39:25 what 16:39:28 um... 16:40:26 maybe, I'll have to check this later 16:42:05 lifthrasiir: but isn't that library for data you compress once and then distribute and decompress a lot of times, sort of how people optimized compress png images for webpages or games? 16:42:28 lifthrasiir: I'm more asking about fast compression for data that only one or a few clients will decompress, where compression speed is needed 16:43:50 ah, that kind of things. 16:44:16 not sure if other alternatives than zlib -1 exist 16:45:14 lifthrasiir: there are certainly other deflate backends, because 7-zip has one, but I don't know if there's one that is wrapped and actually used this way 16:45:35 and there's like a dozen pkzip compressor implementations I think 16:45:47 although most of them probably use zlib 16:45:53 but still 16:45:59 something like this should be totally possible 16:46:18 you could even make something that's both interface-compatible and license-compatible with zlib so it's a drop-in replacement 16:48:40 I think the better-than-zlib compressors that exist typically don't give you much, and some of them are really really slow (like zopfli) 16:48:57 ok 17:02:36 -!- nooga has joined. 17:20:58 -!- TieSoul has joined. 17:29:10 -!- nooga has quit (Read error: No route to host). 17:40:56 <\oren\> Hmm, it would be nice if there was a metar command that used emoji to tell you the waether 17:44:23 -!- Froox has joined. 17:47:51 -!- Frooxius has quit (Ping timeout: 264 seconds). 17:52:37 [wiki] [[Hexagony]] https://esolangs.org/w/index.php?diff=46662&oldid=44392 * Loovjo * (-3) 17:53:53 -!- tato has joined. 17:54:24 -!- tato has quit (Read error: Connection reset by peer). 18:01:11 go for it 18:03:15 -!- sebbu has quit (Ping timeout: 244 seconds). 18:11:49 -!- jaboja has joined. 18:15:22 -!- AnotherTest has joined. 18:19:37 `unidecode ḗ 18:19:51 LodePNG has its own DEFLATE implementation built-in but you can replace it with your own implementation instead 18:20:06 ​[U+1E17 LATIN SMALL LETTER E WITH MACRON AND ACUTE] 18:21:37 it's clearly a redskin 18:22:52 I've... 18:23:02 I've spent all afternoon trying to write a maze generator in Rust 18:23:24 But I succeeded! 18:23:29 http://i.imgur.com/6LtY0es.png 18:23:39 https://github.com/Taneb/Maze/blob/master/src/main.rs 18:25:18 -!- jaboja has quit (Ping timeout: 246 seconds). 18:41:38 -!- Sgeo has joined. 18:42:04 -!- Sgeo__ has quit (Ping timeout: 240 seconds). 18:43:58 -!- tromp_ has quit (Remote host closed the connection). 18:45:22 -!- hppavilion[1] has joined. 18:46:53 How do you debug the print version of a page in Firefox? 18:50:19 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:50:37 Taneb: i like it 18:50:43 what are you going to do with it 18:50:57 myname, I have no idea 18:51:05 lol 18:51:07 -!- hppavilion[1] has joined. 18:51:10 more rust! 18:58:44 -!- sebbu has joined. 19:05:20 <3 Rust 19:05:37 I don't use it often enough for it to stick in my head 19:05:52 zzo38: no idea 19:06:13 I might try the next Ludum Dare with Rust 19:06:17 rust is like the best system language i know 19:06:30 Taneb: how many Ludum Dare have you tried before? 19:06:58 myname: no it's not. at least not yet. Rust has good foundations, but not good enough toolsets yet. 19:07:03 Um... minimalism, you only have one, you need to go deeper, and I think one other? 19:07:28 You only have one is the only thing I got anything close to a game on my own 19:07:32 Normally I do the game jam 19:07:43 Taneb: what does the game jam mean? 19:07:50 b_jonas, teams, longer time limit 19:08:08 it's not... edible marmalade made of the fat of game animals, right? because that would be strange 19:08:15 I see 19:08:46 Well, that'd be a pate, for a start 19:08:47 Taneb: if you don't use ncurses yet you might consider termbox for terminal stuff 19:09:07 myname, this is just using print! and println! 19:09:30 i guessed that 19:09:40 but printing sucks for interaction 19:10:02 i once maee ncurses bindings for rust 0.4 19:10:05 it was a mess 19:10:09 Taneb: since people make “cheese” from fruits and “sausages” from soy beans, I can imagine basically anything 19:13:55 -!- p34k has joined. 19:14:49 `unidecode septḿ̥ 19:14:54 ​[U+0073 LATIN SMALL LETTER S] [U+0065 LATIN SMALL LETTER E] [U+0070 LATIN SMALL LETTER P] [U+0074 LATIN SMALL LETTER T] [U+1E3F LATIN SMALL LETTER M WITH ACUTE] [U+0325 COMBINING RING BELOW] 19:32:31 -!- mihow has joined. 19:34:26 -!- copumpkin has quit (Changing host). 19:34:26 -!- copumpkin has joined. 19:45:47 -!- irctc065 has joined. 19:50:37 [wiki] [[User talk:Chris Pressey]] https://esolangs.org/w/index.php?diff=46663&oldid=35014 * 104.163.157.132 * (+320) pull request ping 19:54:35 -!- nooga has joined. 20:07:00 -!- irctc065 has quit (Quit: Page closed). 20:22:38 -!- p34k has left. 20:23:02 Whhoo! 20:23:05 HTML parser! 20:33:49 -!- TieSoul has quit (Quit: Leaving). 20:36:08 Quick, someone design a hybrid processor (neural networking + conventional computing (+ a bit of emulated quantum maybe)?) and write an OS for it 20:40:09 -!- contrapumpkin has joined. 20:41:29 -!- copumpkin has quit (Ping timeout: 250 seconds). 20:42:21 [wiki] [[XSM]] M https://esolangs.org/w/index.php?diff=46664&oldid=25391 * LegionMammal978 * (+13) /* External resources */ 20:59:17 -!- boily has joined. 21:00:01 <\oren\> hppavilion[1]: html parser? 21:01:13 \oren\: Yes 21:01:16 \oren\: Working on it 21:01:30 \oren\: Hand-writing, because that's probably easier for the atrocity that is HTML 21:02:22 hppavellon[1]. HTML isn't that atrocious hth 21:02:30 boily: It is for parsing 21:02:38

is valid HTML, AFAIK 21:02:45 Or at least something a browser is expected to accept 21:07:50 HTML is OK, and there is also XHTML which is more consistent than plain HTML 21:08:38 XML is terrible for things other than text markup, but for stuff like HTML it would seem reasonable. 21:11:33 XML is terrible for markup. XML is too there-are-multiple-ways-to-do-it. 21:12:05 there should be One Right Way™ to do markup, and it should be dutchly obvious. 21:15:15 XML is more complicated than it should be, which is certainly true. 21:16:08 I have a certain fondness towards dosini. it Does the Job®. 21:16:43 except, TOML fills in quite a few gaping holes dosini has. 21:17:30 However also, XML is used for a lot of data where something else such as JSON or RDF or INI might work better. 21:18:59 JSON has its own appeal, RDF is a horrible mangulation, and I already like INI. 21:19:38 I did some JSON evangelism when it first got its hype, but then I got bitten too many times by poor support of numerical types. 21:20:32 To be fair-ish, JSON *itself* doesn't have too bad a support for arbitrary numeric values. 21:20:57 It's just "any numeric value expressible in decimal notation". 21:21:20 ... Unfortunately, this then gets implemented poorly because that's only representable using arbitrary-precision decimal floats. 21:21:41 So in practice it's just "assume IEEE double". 21:21:49 RDF is awful. 21:22:02 INI's not bad, if only useful for a subset of things. 21:22:37 Note that I refer to pure RDF without any OWL or other stuff like that. 21:30:14 `wisdom XML 21:30:29 ​/cat: : No such file or directory 21:30:39 `? XML 21:30:41 XML? ¯\(°​_o)/¯ 21:34:09 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 21:42:09 `le/rn XML/XML stands for "X-treme Mega Language (of Awesomeness)" 21:42:10 -!- mihow has quit (Quit: mihow). 21:42:15 Learned «xml» 21:42:39 (That does not necessarily reflect my actual opinions on XML) 21:42:43 -!- atrapado has joined. 21:43:35 We should make a KRF 21:43:58 A TC one, no less 21:45:43 With a combination of logic programming and CFG and JSON and stuff. With many, many types of object. 21:46:10 KRF? Kool Rad Format? 21:46:54 boily: Yes, also known as a Knowledge Representation Format 21:50:42 I only had 2/3 right. better luck next time... 21:50:59 boily: 1/3 21:52:32 boily: Hm... what should the model of the knowledge base be? 21:54:22 I think I'll design one based on relative values 21:54:44 Relative to reals, that is 21:56:14 realatives. 21:56:33 2/3. I know my fractions, tyvm :D 22:07:18 -!- MoALTz_ has changed nick to MoALTz. 22:07:28 I have made up partial idea of "Macro-RDF", although no implementation currently exists. How it works is: A graph may contain macro nodes and/or macro literals, and macro processors will read such triples in order to create the graph which does not contain any macro nodes and macro literals. Macro nodes and macro literals use a new URI pseudoscheme called "macro:", like "view-source:" the scheme is followed by another URI. 22:21:36 -!- MoALTz has quit (Quit: Leaving). 22:21:49 (Another storage format for arbitrary data is my own format called ARF (ASCII Records Format), although which involves non-printable characters which may mean a special editor is required.) 22:28:14 -!- Draum has joined. 22:31:03 -!- bb010g has joined. 22:35:19 -!- Draum has quit. 22:38:42 Oh, actually using the ASCII record indicators? 22:44:44 -!- oerjan has joined. 22:46:23 Yes 22:47:34 (If you need to include the record indicators into the actual data being stored too for any reason, then they must be escaped by a "data link escape" character.) 22:56:51 Does Xlib have any support for "reverse connections"? 22:57:07 -!- lynn has quit (Ping timeout: 260 seconds). 22:57:30 (Support for reverse connections does not affect the protocol in any way.) 22:58:32 "All Europeans"? Huh? 22:58:46 Have I been here all this time? 22:59:02 everyone's been all the places they have been at when then. 22:59:14 Huh? 22:59:43 -!- mihow has joined. 23:00:10 I already made up a programming language more basic than BASIC, so now I'm thinking up a programming language more basic than that. 23:02:58 I'm imagining you working on a programming language that's written via finger painting. 23:03:25 analog piet! 23:04:11 @ask ais523 Is the new Template:Cnw a copy of the previously deleted template on Wikipedia? (Template:= is clearly identical, but I think that's too short to be copyright. And X2 is something else entirely.) 23:04:12 Consider it noted. 23:05:12 hmm 23:05:24 Does the more basic than basic language have any kind of system for graphics and such? 23:05:43 analog piet? you mean it's like an actual drawing instead of array of pixels? 23:05:53 No, not really. 23:06:16 I guess it could if it was like Piet. 23:06:41 -!- lynn has joined. 23:07:04 rdococ: the topic does not imply anything about whether you're European or not. but if you are, welcome to the future! 23:07:28 I'd think part of what made Basic so basic is that it was originally made for a very simple environment. 23:07:40 (i think americans may have entered the future some weeks ago.) 23:07:44 oh, okay 23:08:05 MDude: Perhaps. 23:08:41 -!- atrapado has quit (Quit: Leaving). 23:09:09 oerjan: But it does imply that Europeans weren't in the future beforehand. Which is true, because they were in the present. In fact, everyone's in the present right now. Ignoring relativity. 23:09:39 oerjan: americans have been in the future for ~240 years 23:09:42 usa usa usa 23:09:54 240? 23:09:55 * oerjan considers what a language more forth than FORTH would be. 23:10:02 Wow, it must be a bad future then. 23:10:33 are any ideas forthcoming? 23:10:34 Remember - entropy increases with time. So you are basically saying America has a high disorder. 23:11:11 in a closed system maybe 23:11:16 we offload our entropy to other countries 23:11:43 We're in the future in the sense that what we experience is the past due to our brains taking time to process their senses. 23:11:52 That's true too. 23:12:15 People that have moved at high velocities for longer are in the past. I think. 23:12:32 Yes, in the past. 23:15:17 -!- nooga has quit (Ping timeout: 244 seconds). 23:15:55 apparently russia has been stuck in the past since 2014. 23:16:38 What do you mean? 23:16:40 after being stuck in the future since 2011. 23:17:33 rdococ: they're clocks have not been adjusted forward since then hth 23:17:37 *their 23:18:07 * oerjan takes out the muphryscope and starts hunting 23:18:27 * oerjan thinks rdococ might get stuck in confusion if he keeps up 23:18:37 the Jägerørjan is Hunting! 23:19:14 muphryscope, misspelled as appropriate 23:19:49 my clock gets adjusted forward every second 23:22:02 oh 23:22:09 so they forgot about dst 23:22:28 was watching a video 23:23:20 we offload our entropy to other countries <-- http://narbonic.com/comic/december-4-9-2006/ strip 4, panel 2 hth 23:24:26 precisely tdh 23:25:28 basic, basicer, and now, um, basicerer 23:25:48 maybe a data tree 23:28:26 oerjan: high five! 23:29:53 also, that reminds me to Asimov's "The gods themselves" in which they also destroy other universes to make this universe survive 23:30:20 muphryscope, misspelled as appropriate <-- what misspelling i think you are confused hth 23:31:06 oerjan: I dunno, what's a muphryscope, what does it do and how do you spell it? 23:31:35 it's a scope for finding muphry, so he can be properly punished for slipping misspellings into my irc lines hth 23:32:31 -!- lynn_ has joined. 23:32:51 b_jonas: is that where they ensure humanity is the only intelligence in the galaxy? 23:33:10 oerjan: no 23:33:31 -!- mihow has quit (Quit: mihow). 23:33:35 oerjan: the one you're thinking is probably either "The End of Eternity" or "Foundation and Earth" 23:33:43 -!- lynn has quit (Ping timeout: 268 seconds). 23:33:53 the former rings a bell. and the second i think referred to that. 23:34:01 *the latter i think 23:34:19 (of those, i've only actually _read_ foundation and earth, mind you.) 23:34:19 oerjan: "The gods themselves" is the one with aliens and sex and alien sex 23:34:30 (and as such, unusual from Asimov) 23:34:34 heh 23:34:40 no, really! 23:35:22 well i know he doesn't usually have aliens, that was like the point 23:36:33 he rarely wrote about aliens, but there are a few times he did, the best one probably being "Blind alley", although that one isn't good because of the aliens, but because of a human character. 23:38:52 and he rarely wrote about sex, but there's a few other cases like "The robots of Dawn". 23:39:12 there was an instance in either foundation and earth or the predecessor, though. 23:39:36 when the protagonist visited corporellon. 23:40:00 are you talking about "The robots of Dawn"? that's the predecessor of "Robots and Empire" 23:40:04 hm i must be misspelling that. 23:40:09 "corporellon"? 23:40:11 what's that? 23:40:33 "The robots of Dawn" also has robot sex 23:40:47 that one is easier because Asimov wrote a lot about robots 23:40:51 hmm 23:41:03 but the robot sex isn't described much 23:41:08 has anyone tried to ever make a mechanical tree 23:41:09 it's only part of the story, but never shown 23:41:21 only a very little of the foreplay is described 23:42:06 oh it was comporellon 23:42:10 a mechanical tree? I would guess some Holywood film producers probably tried to order some, in order to play walking trees or treefolk (ents, treants) in live action movies 23:42:17 and it was foundation and earth. 23:42:31 comporellon... that rings a bell, isn't it in one of the earlier Foundation novels? 23:42:40 like, a planet or something 23:43:07 @b_jonas I mean mechanical trees that actually work 23:43:07 Unknown command, try @list 23:43:24 it's = baleyworld, the first non-spacer world 23:44:35 rdococ: i recall someone hypothesizing making something tree-like that could extract CO2 more efficiently than real trees 23:45:08 I guess that might not be too hard, actually? 23:45:29 I am writing a document for TVMIDI, and then hopefully some TV set top boxes and a few other devices could be made to implement it. 23:45:47 MDude: I think it would be hard, at least if you want it to extract CO2 more efficiently than algae too 23:45:47 oerjan: I'm trying to make an order theory KRF :) 23:45:47 Since if you could somehow take genes from bacteria that are more fficient and get trees to use them, I think that'd do it. 23:45:57 i have read very little asimov beyond the foundation novels he wrote himself. naked sun is one other book. 23:46:20 a mechanical tree could convert carbon dioxide and heat into carbon and oxygen if they don't need glucose 23:46:24 I thought the idea was to bring trees closer to algae level rather than surpassing them. 23:46:38 Though i guess for that we could jsut se tup algae plants. 23:47:27 a solar powered machine that breaks carbon dioxide into carbon and oxygen, and looks like a tree. of course, it isn't an exact replication, but eh, who needs glucose? 23:47:30 rdococ: Hi! 23:47:33 hpp! 23:47:42 rdococ: Haven't seen you in a while! 23:48:01 b_jonas: anyway, golan trevize had sex with the (mayor?) on comporellon, although wikipedia doesn't mention that detail. 23:48:39 I'unno, I'd certainly like having glucose generation. 23:48:43 Glucose is useful. 23:48:48 it doesn't even mention her afaics 23:49:15 it is? 23:49:28 rdococ: and water. but it's not that easy in the real world. if you just want something that breaks down the carbon dioxide to breathable air for a short term spaceship or underwater voyage, that is solved. but such a device isn't reusable, and making it uses up lots of resources, and indirectly uses up much more oxygen than it can ever create, so it doesn't work in large scale. 23:50:02 b_jonas: why would it need oxygen? it's a machine that would run on solar power 23:50:14 b_jonas: unless solar panels need it 23:50:15 TVMIDI does not support cable boxes with more than 16384 channels, although I have never seen any with more than 10000 channels (numbered 0 to 9999); if you have seen any then please tell me. 23:50:23 oerjan: I don't know, I'm not really familiar with Foundation's edge and Foudation and Earth 23:50:53 rdococ: because this is the real world, and there's a good reason even the single-celled algae are so complicated things 23:51:25 “solar powered” sounds nice, but it's not a magic free lunch recipe 23:53:17 mmm lunch 23:54:00 -!- contrapumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 2016-03-28: 00:01:46 rdococ: https://en.wikipedia.org/wiki/Carbon_dioxide_removal#Direct_air_capture 00:01:54 -!- copumpkin has joined. 00:02:08 * oerjan is currently editing that a tiny bit 00:06:05 [wiki] [[Beeswax]] https://esolangs.org/w/index.php?diff=46665&oldid=46374 * Albedo * (+49) /* Program flow control/conditional operations */ instruction 'Q' added 00:06:13 hmm 00:06:16 -!- bender| has quit (Quit: Leaving). 00:06:58 hm maybe i should have just used an anchor to start with. 00:07:28 they need to make sure they're not to effective, or else people with them in enclosed spaces will end up dying of too much oxygen 00:08:07 ugh, I hate how HackEgo links to the diff page but not to the article itself 00:08:47 rdococ: Agreed 00:08:52 hey, what about a 2d programming language in polar coordinates? 00:09:15 [wiki] [[Beeswax]] https://esolangs.org/w/index.php?diff=46666&oldid=46665 * Albedo * (+102) /* Global stack related I/O */ instruction V explanation extended 00:09:39 or a 0d programming language 00:09:45 or -1d 00:10:28 what would negative information be like anyway 00:10:40 negative information would subtract information, right 00:10:43 rdococ: you don't die from too much oxygen. it can pose some fire hazard to flammable objects, but it doesn't just kill you. space stations and some diving equipment use air with a much higher oxygen content than the atmosphere, and it doesn't hurt people. you die to higher carbon dioxide content, or lower oxygen content. 00:11:00 * oerjan drops that edit 00:11:48 hyperoxia 00:12:13 https://en.wikipedia.org/wiki/Oxygen_toxicity 00:12:28 from a quick read of the first paragraph or two 00:12:35 I don't think it's exactly what I mean 00:12:40 but the problem might still hold 00:13:09 -!- lleu has joined. 00:13:09 -!- lleu has quit (Changing host). 00:13:09 -!- lleu has joined. 00:13:15 http://www.sciencefocus.com/qa/why-does-breathing-pure-oxygen-kill-you 00:13:33 apparently, breathing pure oxygen is deadly 00:13:54 yet wikipedia says people can breathe pure oxygen without dying 00:13:56 who's right 00:13:57 help 00:16:18 what about a... 00:16:21 programmeing language 00:16:43 rdococ: Where? 00:17:01 google says a programme is "a planned series of future events", as opposed to "program" 00:17:33 I guess a programme is just a linear program 00:17:46 but that takes the fun out of it 00:17:58 we must get people to programme programmes in a programmeing language 00:19:38 print hello world at 1:20 on 28/03/2016 00:20:01 hello world 00:20:03 [wiki] [[Beeswax]] https://esolangs.org/w/index.php?diff=46667&oldid=46666 * Albedo * (+118) Introduction extended 00:21:36 hmm 00:23:52 This is an example of a programme -> "I will say "hello world" at 3:20 PM on 29/03/2016. Then the user will say "hello programme". If all goes according to plan, I will say "yay"." 00:23:54 who's right <-- iiuc 100% oxygen is harmless if the pressure is low enough <-- https://en.wikipedia.org/wiki/Oxygen_toxicity#Hypobaric_setting 00:23:59 *-<-- 00:24:05 depends how low the pressure has to be 00:24:14 0.3 bar, it says 00:24:17 see 00:24:24 at 1 bar, rip 00:24:27 rdococ: ok, maybe it can hurt you a bit 00:24:38 rip at 1 bar 00:25:20 "breathing oxygen at pressures of 0.5 bar or more for more than 16 hours can lead to irreversible lung damage and, eventually, death." 00:25:24 death 00:25:25 rip 00:25:26 nada 00:25:28 "This general property of gases is also true in chemical reactions of gases in biology. For example, the necessary amount of oxygen for human respiration, and the amount that is toxic, is set by the partial pressure of oxygen alone. This is true across a very wide range of different concentrations of oxygen present in various inhaled breathing gases or dissolved in blood." 00:25:38 from https://en.wikipedia.org/wiki/Partial_pressure 00:25:42 pressure 00:26:00 note that "partial" is important here 00:26:08 partial pressure? 00:26:22 so it's the pressure of one part of a mixed gas? 00:26:29 approximately. 00:26:36 or essentially. 00:26:46 well 00:27:05 In a mixture of gases, each gas has a partial pressure which is the hypothetical pressure of that gas if it alone occupied the volume of the mixture at the same temperature. The total pressure of an ideal gas mixture is the sum of the partial pressures of each individual gas in the mixture. 00:27:10 ty wikipedia 00:27:16 explained it better than anyone else could 00:27:28 i was just about to paste that. 00:27:34 oh lol 00:28:10 a program would be like a game where you can win or lose, a programme would be like a game where things go as planned, or they don;t 00:29:09 I guess a programme is just a linear program <-- that's just british vs. american, at least originally. 00:29:23 what about a programming language where your program is just a platforming level 00:34:13 I'm using their british meaning 00:35:34 "UK: programme is used in all cases except for computer code, in which case program is generally used. Older sources may use programme for computer code." 00:35:44 https://en.wiktionary.org/wiki/program#English 00:36:28 * oerjan looks suspiciously at rdococ's cloak 00:36:32 exactly 00:36:44 duh, why did you think I took notice of the all europeans thing 00:36:48 so, just get with the programme 00:37:12 rdococ: hey you could be from new zealand. or madagascar. 00:37:52 "New Zealand: programme is favoured by New Zealand dictionaries, and is endorsed by government usage; program is rarely seen outside the computing meaning." 00:38:25 the australians are conflicted: "Australia: program is endorsed by the Australian government, but programme is most common." 00:38:41 well program is more usually used for program code, and programme rarely 00:38:59 so programme not code 00:45:20 either way, I mean the definition that is not program 00:47:04 OKAY 00:47:13 `? gazpacho 00:47:30 You like Gazpacho and I like Gaspacho. Let's call the whole thing off! 00:47:47 `? noooodl 00:47:55 nooooooodl is the correct spelling 00:48:06 `? nooga 00:48:08 no. 00:48:25 `? lynn 00:48:26 lynn? ¯\(°​_o)/¯ 00:51:04 hmm 00:51:20 so a programmeing language would allow you to make programmes 00:51:35 but if something doesn't go according to plan 00:51:36 -!- lynn_ has changed nick to lynn. 00:51:40 you must have a backup plan 00:51:44 or else error 00:53:13 errorre 00:53:18 and planne 00:53:20 lynn: hellynn. you don't have a wisdom entry. and that's terrible hth 00:53:30 oerjanne. 00:53:48 `? maur 00:53:49 maur? ¯\(°​_o)/¯ 00:53:57 boily: technically she has at least two hth 00:54:34 oerjanne would be female. also exceedingly cheesy. 00:54:49 * oerjan checks if anyone has that name 00:55:17 mwah ah ah. 00:55:42 boily: boilut~ 00:56:10 i find it used as a hashtag for a wedding... 00:56:29 but not as an actual name. 00:56:37 hm time to check ssb 00:57:26 < 4 persons by that name, it says 00:57:55 it would likely not be a legal name, at least for children. 00:58:12 so it is legal for adults? excellent! 00:58:16 (< 4 might include 0) 00:58:52 although everyone would _understand_ it as someone's misguided attempt to regender "Ørjan". 01:01:42 first cognate hit i find is "Jørgine", 78 women. (vs. "Jørgen", 10999 men.) 01:02:25 those women are probably old, most of them. 01:03:03 * oerjan checks Ørjanine just for good measure 01:03:38 this ørjanine treads dangerously close to one infamous orange soda brand... 01:03:55 huh "William" was last year's top boy's name in norway 01:04:54 and in Oslo, "Mohammad" stays put at the top :P 01:06:28 oerjan: Oh, I thought that entry was removed but if course it's under mauri. 01:06:36 on the topic of names and gender, I'm surprised at how people always talk about how some things portray women as objects, but not the things that portray men as objects. also, in a programming environment, both are objects. 01:06:50 lynn: Should wisdom/mauri be removed? 01:07:06 "don't be an object, program in haskell!" 01:07:18 shachaf: That'd be nice 01:08:14 what if everything was a function 01:08:34 so it is legal for adults? excellent! <-- i'm not sure exactly what the law is these days. 01:09:06 1 is actually function (getPredecessor?) if getPredecessor? then return 0 end end 01:09:21 Then you have combinatory logic? 01:09:29 probsably 01:09:32 fungot, are you an object? 01:09:32 b_jonas: i tried to say that: ( ( foo xxx)) yyy) ( ( y x) 01:09:35 but it looks different 01:09:46 fungot: I don't understand that 01:09:46 b_jonas: i am fnord making conversation. it is 01:09:52 `rm wisdom/mauri 01:09:56 fungot: yes, you are. 01:09:56 b_jonas: the original fnord code and fnord cyclexa asap, and i couldn't put down to simple ignorance of specific facts about canada. 01:09:58 No output. 01:10:16 lynn: How about nooodl? 01:10:57 I feel like that's a classic <3 01:11:05 fungot: there are no facts about Canada. 01:11:06 boily: see the announcement on c.l.s. 01:11:24 c.l.s.... that would be Comp Lang Scheme, right? 01:11:32 `? object 01:11:33 An object is just something in a category. 01:11:35 rdococ: i don't see how that definition would work for 0 and getPredecessor? seems redundant anyway. 01:11:47 just use church numerals. 01:11:58 oerjan: true 01:12:04 0 = function () end 01:12:11 1 = function () return 0 end 01:12:15 2 = function () return 1 end 01:12:43 successor = function (x) return function () return x end end 01:12:56 boily: what about hypothetical facts? 01:13:13 add = function (x, y) return -- umm 01:13:31 oerjan: then they are certain facts, as they are hypotehtically correct, eh? 01:14:18 or 01:14:21 0 = {} 01:14:22 rdococ: i'm just saying, how would you call such a function in such a way that you could distinguish 0 from 1 01:14:24 1 = {0} 01:14:37 function (x) return x end 01:14:39 jk 01:14:49 false = function () return false end 01:14:54 true = function () return true end 01:15:11 function equals(x, y) return -- umm 01:15:14 rdococ: a Tautological Functional Language 01:15:26 use binary to make computations more efficient! 01:15:37 it could be done with almost every type 01:15:38 array 01:15:41 function 01:15:45 banana 01:15:47 b_jellonas. correct me if I'm wrong, but aren't we doing that already? 01:15:55 BANANA! 01:15:56 boily: like "Ottawa would be the capital of Canada, if Canada existed." 01:16:05 oerjan: point on. 01:16:09 canada exists 01:16:13 reference implementation: http://www.math.bme.hu/~ambrus/pu/Bin.hs 01:16:14 but that's true 01:16:18 technically true 01:16:38 hmm 01:16:40 boily: do you also think rdococ has trouble fitting in with the channel humor tdnh 01:17:13 boily: basically yes. we're actually using a higher radix (2**16 or 2**32 or 2**64) and arithmetic on digits of that size is built in, but the goal is the same, achieving efficiency with it 01:17:14 oerjan: what? I understood the logical humor perfectly - he said a statement which didn't assume something it's safe to assume 01:17:31 (even without specific support for digits, base 4 would probably be more efficient than base 2) 01:17:55 * boily mapoles rdococ a bit to realign his chäkräs 01:18:04 chakwhat 01:18:13 mapoles? 01:18:17 * boily realigns rdococ some more 01:18:21 `? mapole 01:18:22 A mapole is a thwackamacallit built from maple according to Canadian standards. The army version includes a spork, a corkscrew and a moose whistle. A regulatory mapole measures 6' by 12 kg, ±0.5 inHg. 01:18:32 `? chäkrä 01:18:33 chäkrä? ¯\(°​_o)/¯ 01:18:33 function = function () return function end 01:18:35 `? maple 01:18:36 maple? ¯\(°​_o)/¯ 01:18:39 hellolsner! 01:18:40 oops, scrolled way up 01:18:48 anything = function () return anything end 01:18:55 rdococ: I like diæresises. 01:19:10 `? diæresises 01:19:11 diæresises? ¯\(°​_o)/¯ 01:19:19 pls tell me what these words mean 01:19:36 `? function 01:19:37 function? ¯\(°​_o)/¯ 01:19:37 `? fun 01:19:38 fun? ¯\(°​_o)/¯ 01:19:39 `? fn 01:19:40 fn? ¯\(°​_o)/¯ 01:19:42 boily: I think it's diaereses 01:19:46 seriously? 01:19:57 we need entries for those 01:20:02 `? lambda 01:20:02 lambda? ¯\(°​_o)/¯ 01:20:06 `? sub 01:20:07 sub? ¯\(°​_o)/¯ 01:20:08 who's we here? 01:20:10 <\oren\> `quote oren 01:20:11 1225) when i was a kid it used to snow on christmas eve. what is this "freezing rain", "sleet" crap? yeah seriously, who is evn in charge anymore? apparently not santa claus Santa Claus is dead by now. \ 1226) <{\[oren]|}> zzo38:it will cause problems by 01:20:12 `? subroutine 01:20:13 subroutine? ¯\(°​_o)/¯ 01:20:14 I don't need entries for those. 01:20:17 `? proc 01:20:18 proc? ¯\(°​_o)/¯ 01:20:22 `? procedure 01:20:23 procedure? ¯\(°​_o)/¯ 01:20:24 Come on, this is getting a bit botspammy even for this channel. 01:20:26 <\oren\> `quote diarrea 01:20:27 No output. 01:20:32 `? subprogram 01:20:33 subprogram? ¯\(°​_o)/¯ 01:20:36 <\oren\> `quote e with dia 01:20:36 1250) I'm making a new font. I'm up to the capital E with diarhea 01:21:09 `learn Maples are the sacred trees of Canada, from which a true Canadian can make anything. 01:21:12 Learned 'maple': Maples are the sacred trees of Canada, from which a true Canadian can make anything. 01:21:48 <\oren\> `quote problems 01:21:49 1226) <{\[oren]|}> zzo38:it will cause problems by being hilarious 01:22:33 oerjan: are true canadians similar to true scotsmen 01:22:46 a true canadian can make anything from maples? 01:22:49 what about computers 01:22:52 or turing machines 01:22:57 or tesseracts 01:23:28 <\oren\> canadian computers use asbestos as the substrate 01:23:31 shachaf: definitely. 01:23:33 -!- mihow has joined. 01:24:07 hmm, substrate is almost an anagram of asbestos 01:24:23 you can get b 01:24:27 e.g. asbestrus 01:24:29 you can get asbestos in maples? 01:24:30 you aren't seeing things. simply a coincidence. happens all the time. la la la ♪ 01:24:51 > map sort ["asbestos","substrate"] 01:24:53 ["abeossst","aberssttu"] 01:25:41 > sort "asbestur" 01:25:43 "abersstu" 01:25:48 boily: is there a problem? 01:26:55 I almost typoed that as "substrate is almost an anagram of substrate" 01:27:25 <\oren\> rdococ: it's a joke because canada is a major producer of asbestos 01:27:36 almost is almost an anagram of asbestos 01:28:01 sobstate 01:28:15 as the saying goes, the best os is asbestos 01:28:16 there are no nefarious plans behind anything you might conjecture tonight. 01:28:52 new, Array Language! 0 = [] 1 = [[]] okay this is getting old 01:28:56 um 01:29:57 1 = function () return 0 end, vs 1 = [0] 01:34:13 add = function (x, y) return ifequal(y, function () end, x, add(function () return x end, y())) end -- what is ifequal(x, y, trueReturn, falseReturn)? 01:35:08 ifequal = function (x, x, trueReturn, falseReturn) return true end 01:35:19 nil would be function () end() 01:35:24 nil = function () end() 01:35:29 hey, it works 01:35:30 yay 01:35:32 well 01:35:34 not 01:35:36 well 01:35:37 nevermind 01:36:55 * rdococ 's chäkräs have been realigned 01:37:06 * rdococ thinks so anyway 01:37:33 you have ^^ 01:38:02 now attaining SUPER SPIRITUAL POWER 01:38:16 * rdococ can now transform into SUPER RDOCOC 01:38:37 well, there are as many chäkräs as there are chaos emeralds 01:39:59 The noun tautology originates from the Greek word tautologos, meaning “repeating what is said.” 01:40:01 definitely 01:40:33 function () return function () return function (x, y) return function (z) return z end end end end 01:40:42 -!- mihow has quit (Quit: mihow). 01:41:35 -!- idris-bot has quit (Quit: Terminated). 01:42:12 -!- idris-bot has joined. 01:42:12 -!- idris-bot has quit (Client Quit). 01:42:15 Tautologos it is 01:42:49 -!- idris-bot has joined. 01:42:55 whatever happened to the editor? 01:43:07 none of the editing things bold, italic etc show up but I can still use them 01:59:39 rdococ: with my psychic powers i can see that the answer is... gremlins! 02:02:37 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 02:07:30 2016! finally got to January 2016! 02:07:59 * boily GLASSWORK CHICKEN 02:08:12 * boily meant /quit. fried brain and all that sort of thing... 02:08:18 -!- boily has quit (Quit: GLASSWORK CHICKEN). 02:09:39 -!- Melvar` has joined. 02:11:06 -!- XorSwap has joined. 02:11:09 -!- idris-bot has quit (Ping timeout: 248 seconds). 02:11:27 -!- hppavilion[1] has joined. 02:11:30 -!- Melvar has quit (Ping timeout: 246 seconds). 02:13:30 I'm designing a language that compiles to JS, HTML, and CSS. I'm currently at functions, and I've come up with what I feel is a clever way to efficiently do curried functions while targeting JavaScript, with the bonus of keyword arguments 02:13:37 Implicit Lambdas 02:14:20 Given foo :: Int -> Float -> String -> Bool 02:14:31 (And variable-length arguments 02:15:09 You can do something like bar = foo(\2, \1, "walrus") to get a functions bar :: Float -> Int -> Bool 02:15:33 And you can partially apply foo with bar = foo(9, 2.7| 02:15:59 And then bar("s") == foo(9, 2.7, "s") 02:16:13 It's not as pretty as Haskell, but it gets the job done(R) 02:16:24 -!- jaboja has joined. 02:19:40 -!- hppavilion[1] has quit (Quit: Leaving). 02:20:12 -!- hppavilion[1] has joined. 02:20:29 Huh. I can't get HexChat to autoreplace (R) to the registered trademark symbol 02:27:22 hppavilion[1]: use the compose key 02:27:28 compose + o + r 02:27:31 ® 02:27:47 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 02:31:42 -!- tromp has quit. 02:34:36 -!- impomatic has quit (Ping timeout: 246 seconds). 02:39:47 Here is a part of TVMIDI specification: http://zzo38computer.org/textfile/miscellaneous/TVMIDI 02:40:28 Please tell me any comment/question/suggestion/complaint. 02:46:05 -!- jaboja has quit (Ping timeout: 244 seconds). 02:55:43 -!- hppavilion[1] has joined. 03:01:06 -!- tromp has joined. 03:13:12 -!- earendel has quit (Ping timeout: 260 seconds). 03:18:55 -!- bb010g has quit (Quit: Connection closed for inactivity). 03:23:27 Rotary Turing Machine 03:23:38 It's like a turing machine, but instead of a tape it's a spindle with rotors 03:24:05 So you can only transition the symbol to one of two other symbols (or one other symbol) 03:24:08 MUCH more stupid 03:24:17 (Brainfuck is a good example) 03:30:09 that's not tc 03:30:16 that's not a turing machine 03:36:43 -!- lynn has quit (Ping timeout: 244 seconds). 03:39:25 izabera: It isn't, correct. 03:39:57 izabera: Though if you allow the symbol to have no transition, it's at least TC for binary 03:40:18 Because no transition is x -> x, while transition is x -> ~x 03:41:32 And since whether a transition is taken is based off of the current symbol, you can make sure it maps to the correct symbol 03:41:33 what? 03:41:47 izabera: What what? 03:42:08 "TC for binary" <- what does this mean? 03:42:42 izabera: *for a binary alphabet 03:42:55 izabera: Forgot to say "alphabet" 03:43:44 izabera: Because a 3-state binary TM is TC, so a 3-state rotary TM with a no-transition option and a binary alphabet is also TC 03:44:04 bullshit 03:44:18 your memory is finite 03:44:36 izabera: Did I not imply that the spindle is infinite? 03:44:46 izabera: It's not just one rotor, it's an infinite spindle of rotors 03:45:02 izabera: I thought I said that... 03:45:05 i see, we're back to the usual nonsense 03:45:11 izabera: Yeah, we are 03:45:23 izabera: I was thinking about the Enigma, so I came up with this 03:46:01 izabera: Be glad it doesn't have rollover. 03:46:11 please stop highlighting me 03:46:16 OK 03:46:25 (There's also the switchboard machine, which is most certainly not turing-complete) 03:46:44 (I almost highlighted you with "OK" xD) 03:46:58 i would have ignored you 03:47:54 It would have been by mistaek 03:47:59 It was an accident. 03:53:59 [wiki] [[The Abstract Computer]] M https://esolangs.org/w/index.php?diff=46668&oldid=46637 * Hppavilion1 * (+0) Capitalization 04:10:29 -!- XorSwap has quit (Quit: Leaving). 04:25:15 -!- earendel has joined. 04:26:40 -!- bb010g has joined. 05:24:47 http://mathoverflow.net/a/53738 05:40:54 I have seen that before 05:51:16 you know it's a good day when your upgrade includes the Erlang manpages 05:51:22 when you haven't touched erlang in years 05:53:38 <\oren\> erlang sounds like a language based on indecision 05:53:54 <\oren\> uh... er... eeeh... 05:54:13 I should make that language 05:54:20 it can be called Errlang 05:54:26 so that you think it's about error handling 05:54:38 what should the syntax be like? errr 05:55:55 -!- mihow has joined. 05:57:34 <\oren\> well it's like what if an "if" statement actually executes both paths and then decides which one to kkep at the end? 05:57:49 <\oren\> that's indecisive 05:58:45 -!- lambda-11235 has quit (Quit: Bye). 05:58:50 <\oren\> `metar CYYZ 05:59:04 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: metar: not found 05:59:05 \oren\: hah! I'm not near YYZ 05:59:13 <\oren\> @metar CYYZ 05:59:14 CYYZ 280555Z 06003KT 15SM TS SCT035CB OVC100 08/04 A2964 RMK CB3AC5 FRQT LTGIC W-NW PRESFR SLP044 05:59:34 (CYKF is closer to my usual haunt anyway) 06:00:20 <\oren\> i'm in yyz and i was wondering if the rumble I just heard was thunder or some asshole's loud bike 06:00:45 oh 06:00:47 why are you in yyz? 06:00:53 -!- deltab has quit (Ping timeout: 244 seconds). 06:02:58 -!- deltab has joined. 06:03:39 <\oren\> i live in yyz 06:06:02 @metar ENVA 06:06:02 ENVA 280550Z 15018KT CAVOK 07/M03 Q0995 NOSIG RMK WIND 670FT 16022KT 06:09:55 \oren\: wait really 06:09:58 why have we never met up 06:10:46 @metar KOAK 06:10:47 KOAK 280553Z 27011KT 10SM SCT160 13/07 A3002 RMK AO2 SLP164 T01330067 10167 20128 58001 06:10:54 @metar KSEA 06:10:55 KSEA 280553Z 16004KT 10SM FEW060 05/03 A3010 RMK AO2 SLP202 60007 T00500033 10100 20050 51011 06:50:13 -!- tromp has quit (Remote host closed the connection). 07:01:45 A chess problem: 1r5K/6PP/8/8/8/1k4q1/6P1/8 = 07:10:59 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 07:11:31 Another one: 8/5KP1/7k/8/6P1/8/8/8 #3 07:25:27 -!- hppavilion[1] has joined. 07:50:43 -!- tromp has joined. 07:52:32 (It isn't very complicated) 07:54:51 -!- tromp has quit (Ping timeout: 246 seconds). 07:56:19 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 08:19:14 -!- mihow has quit (Quit: mihow). 08:25:48 -!- oerjan has quit (Quit: Nite). 09:09:48 -!- Reece` has joined. 09:36:47 -!- nooga has joined. 10:01:49 A book called "Encyclopedia of absolute and relative knowledge" contains some lies about chess. It claims that Chaturanga is an ancestor of chess, cards, and dominoes, and that it used dice with four symbols of four Indian castes: swords=warriors, sticks=peasants, cups=priests, coins=merchants. It also claims that the four card suits are somehow linked to the four DNA nucleotides. 10:05:37 -!- nooga has quit (Ping timeout: 260 seconds). 10:08:28 Of course that is complete nonsense. Indian cards do not use Latin suits, and the game of Chaturanga does not even use dice. (A different game, called Chaturaji, does use dice, although they have the numbers 2 to 5 and not the Latin card suits.) 10:10:47 -!- bender| has joined. 10:41:16 -!- nooga has joined. 10:51:38 -!- tromp has joined. 10:55:55 -!- tromp has quit (Ping timeout: 244 seconds). 11:30:34 hehe, “check each bean individually” 11:50:53 -!- nooga has quit (Ping timeout: 248 seconds). 11:52:44 -!- nooga has joined. 12:04:03 more loke encyclopedia of absolute stupidity 12:08:31 like* 12:13:50 I'm trying to think of how to do an ifEqual(x, y, trueCase, falseCase) in Tautologos 12:14:36 -!- idris-bot has joined. 12:15:20 `? stupidity 12:15:40 `? intelligence 12:15:42 what part of "relative knowledge" is so hard to understand? 12:15:47 * int-e runs. 12:15:49 uh 12:15:58 relative knowledge is fake? 12:16:15 stupidity? ¯\(°​_o)/¯ 12:16:15 intelligence? ¯\(°​_o)/¯ 12:16:21 ... 12:16:49 -!- Melvar` has changed nick to Melvar. 12:17:08 `learn Intelligence is a scarce resource that is distributed by the CIA. 12:17:09 maybe there is an alternate universe 12:17:13 Learned 'intelligence': Intelligence is a scarce resource that is distributed by the CIA. 12:17:37 `? cia 12:17:38 cia? ¯\(°​_o)/¯ 12:17:46 * int-e shrugs 12:17:56 `learn Stupidity is created when people are too lazy to think correctly. 12:17:58 Learned 'stupidity': Stupidity is created when people are too lazy to think correctly. 12:20:32 -!- liu has joined. 12:47:36 -!- lynn has joined. 12:49:09 -!- liu has quit (Quit: 离开). 13:03:32 -!- idris-bot has quit (Quit: Terminated). 13:05:12 -!- Melvar has quit (Quit: storm). 13:12:03 -!- Sgeo has quit (Ping timeout: 240 seconds). 13:13:11 -!- tromp has joined. 13:13:12 -!- p34k has joined. 13:27:23 -!- nycs has joined. 13:27:53 -!- boily has joined. 13:38:47 -!- tromp_ has joined. 13:40:38 @tell oerjann hellørjanne! GG! 13:40:38 Consider it noted. 13:43:16 -!- tromp_ has quit (Ping timeout: 250 seconds). 13:43:47 -!- Reece has joined. 13:45:12 -!- Reece` has quit (Ping timeout: 246 seconds). 14:09:44 -!- Reece has quit (Read error: Connection reset by peer). 14:10:09 -!- Melvar has joined. 14:17:51 -!- lynn_ has joined. 14:21:57 -!- lynn has quit (Ping timeout: 276 seconds). 14:27:15 tick tock 14:30:56 -!- idris-bot has joined. 14:30:56 rdocelloc. tick tock? 14:32:30 -!- lambda-11235 has joined. 14:36:31 -!- lynn has joined. 14:39:06 -!- lynn_ has quit (Ping timeout: 244 seconds). 14:43:36 what 14:43:40 boiloclock 14:45:01 @localtime rdococ 14:45:30 @localtime boily 14:45:31 Local time for boily is Mon, 28 Mar 2016 10:45:30 -0400 14:45:38 -0400? 14:45:39 really 14:45:46 how many americans can there be 14:45:58 the future sucks 14:46:01 can I go back to the past 14:49:30 I'm not American, I'm Canadian, eh? 14:49:45 same thing 14:49:51 * boily mapoles rdococ 14:49:58 `? mapole 14:50:03 what is a mapole 14:50:06 seriously 14:50:19 it's a great big maple stick. it's very useful to thwack people :D 14:50:20 A mapole is a thwackamacallit built from maple according to Canadian standards. The army version includes a spork, a corkscrew and a moose whistle. A regulatory mapole measures 6' by 12 kg, ±0.5 inHg. 14:50:26 * rdococ tautologoses boily 14:51:23 if you live in the future, I guess you're European? 14:59:38 Hi, all 15:00:49 [wiki] [[Tautologos]] N https://esolangs.org/w/index.php?oldid=46669 * Rdococ * (+2709) We must go deeper. 15:00:58 yay 15:01:05 my new, unimplemented programming language 15:01:16 it's a boy! wait, programming languages don't have gender 15:01:47 I need to write up an article on COMPLEX 15:02:07 hey, atleast they're not slightly modified versions of brain**** 15:02:12 Tanelle. what's COMPLEX? 15:02:38 of course programming languages have gender. «un langage de programmation» is masculine. 15:03:17 just because it's french? 15:03:25 okay, so what would be feminine? 15:03:48 boily, it's a BASIC-inspired programming language that lets you manipulate the vector the program counter is moving on, onto the complex plane 15:03:56 wow, inserting gender stereotypes, my least favourite thing into my favourite thing 15:04:42 "Programmiersprache" is feminine 15:04:56 [wiki] [[User:Rdococ]] M https://esolangs.org/w/index.php?diff=46670&oldid=46462 * Rdococ * (+17) 15:05:16 shachaf: hellochaf. which gender is a programming language in Hebrew? 15:05:27 so "programming language" is feminine and "a programming language" is masculine 15:05:29 rdococ: go against the grain! 15:05:43 clap clap clap, making masculine programming languages look more expendable 15:06:01 boily, according to my wiktionarying, feminine 15:06:30 programming languages have no gender 15:06:41 we're not adding a stupid thing called gender into the purity of programming 15:06:47 unless it's something else disguised as danger 15:06:52 I mean gender* 15:07:07 I'm gonna guess English is your first language 15:07:28 yeah... 15:07:45 but you're talking about language, not the programming language itself as a concept 15:09:08 boily, would you say le Haskell? Or la Haskell? Or is my poor knowlege of French letting me down 15:10:09 boily, anyway, there's an explanation of COMPLEX on my esolangs page https://runciman.hacksoc.org/~taneb/esolangs.html 15:10:20 surely it's le Haskell Curry 15:10:24 «du Haskell». it's still masculine, but partitive because it's an unquantifiable abstract concept. 15:10:55 boily: does it have an h aspiré? 15:11:06 -!- lynn_ has joined. 15:11:51 -!- lynn has quit (Ping timeout: 264 seconds). 15:12:33 b_jonas: looks like so. English name, English is of Germanic origin, h aspiré by default. 15:18:27 I see 15:18:30 COMPLEX 15:20:10 yep, language is complex 15:20:25 complexicated 15:22:25 BASIC stands for "Beginners' All-purpose Symbolic Instruction Code" 15:23:45 COMPLEX, as I've used it, is short for "COMPutational Language EXtension" 15:28:10 -!- lynn_ has quit (Ping timeout: 244 seconds). 15:28:29 -!- jaboja has joined. 15:32:49 can I look at the contents of another esolang's page so I can make a table? 15:33:50 Ah, nevermind 15:41:03 -!- Reece` has joined. 15:41:49 -!- lynn has joined. 15:42:59 -!- lynn_ has joined. 15:46:15 -!- lynn has quit (Ping timeout: 244 seconds). 15:48:35 -!- lynn_ has quit (Quit: Leaving). 15:55:21 -!- lynn has joined. 15:58:05 simply looking at articles that talk about BASIC make me want to program in it 15:58:45 I always get this weird version of nostalgia when I see stuff like that, even though I haven't even touched it before 16:00:22 Same here 16:02:08 if only I could get an old computer... 16:02:39 I think they need to re-introduce the language 16:02:51 into schools 16:02:57 (do schools even do programming?) 16:04:36 . o O ( excel and html ) 16:04:40 I don't know. 16:06:00 depends on the school, really. we did LOGO when I was in elementary. 16:06:16 turtle graphics on old 486es for the win! 16:08:44 -!- zadock has joined. 16:08:55 -!- bb010g has quit (Quit: Connection closed for inactivity). 16:15:12 let's see... how about Bavaria, Germany... grade 9: spread sheets, databases, grade 10: object oriented programming, grade 11: recursive data structures, software engineering, grade 12: formal languages, process communication and synchronization, computer architecture, limits of computability 16:19:29 probably not for me 16:19:47 boily, I didn't do any programming in school 16:20:00 since I have high functioning autism, they put me in a special school, and they don't even teach algebra at year 7/8/9 16:20:04 The first programming I did was using an online Piet editor and interpreter 16:20:43 put it this way - I'm smarter than students of my age, and then I get put into a dumber school 16:21:13 Taneb: somehow doesn't seem like the typical way to start :) 16:21:17 ah, it goes back further under a different headline. grade 7 introduces Internet, E-mail (briefly), and Algorithms, and grade 6 has representation of information, and office software and file systems, 16:21:40 olsner, yeah, I've never picked up some important habits 16:21:56 Like comments, and useful variable names 16:22:06 But Piet was the first programming language I learnt 16:22:06 Taneb: do you find yourself trying to paint in other languages? 16:22:12 Yes, all the time 16:23:04 Taneb: what? but piet is IDEAL for writing comments 16:23:16 it even lets you make the comments pretty 16:23:30 b_jonas, it's hard to write a pixel at a time 16:23:34 So they have some limited exposure to programming in grade 7. 16:24:26 Taneb: no it's not! that's how people wrote all the books with pens and inscribed all the engravings to stone before printing and typewriters were invented. 16:24:37 (basic imperative programming... then some OO... anything else they'll have to pick up outside of school) 16:24:47 but whatever. it used to be worse. 16:25:44 oh and spreadsheets are a form of declarative programming, of course, though rather limited 16:26:19 what are you talking about? I'm year 8 and I barely get exposure to computers 16:26:40 I can't take it anymore, I want to do something interesting 16:27:06 rdococ: yes, that sucks, but at least it's better than back when you also didn't have the internet to talk to other people about it 16:27:17 lots of children suffered from that 16:27:29 true 16:27:37 go learn stuff online and do something interesting 16:27:45 I try to 16:28:20 wait, browser based version of BASIC? this might work 16:28:31 rdococ: I was talking about one concrete curriculum that I found online. 16:28:53 int-e: now I wish I was german 16:29:33 And even inside Germany there will be differences. 16:30:15 (since ridiculously education isn't managed on a federal level but on the state level) 16:31:14 why is that ridiculous? 16:31:25 ok, sorry, I shouldn't ask that 16:32:01 I feel like I'm temporally shifted in spacetime 16:32:12 "remembering" the past before I was born 16:34:06 -!- bender| has quit (Ping timeout: 248 seconds). 16:35:46 b_jonas: Maybe two points... it makes moving within Germany unecessarily hard on children, and it leads to different standards of education in the various states (a lot of which can be explained by budget concerns) 16:37:03 I do realize that a centralized system would at best solve half of that problem... 16:40:20 -!- tromp_ has joined. 16:42:46 -!- Froox has quit (Quit: *bubbles away*). 16:44:38 -!- tromp_ has quit (Ping timeout: 244 seconds). 16:45:22 -!- mihow has joined. 16:45:32 -!- Frooxius has joined. 17:06:51 boily: "language" is feminine hth 17:11:38 why do people give random words gender 17:11:39 shachaf: “langue” is feminine but “langage” is masculine and “dialecte” is masculin too 17:13:33 rdococ: they're not gender, they're grammatical gender. not the same. 17:15:58 `? rdococ 17:16:24 -!- Frooxius has quit (Quit: *bubbles away*). 17:16:24 RDOCOCLIKESTOMAKELANGUAGESLIKETHIS 17:21:40 LOL 17:21:44 wait 17:21:49 I've only made one language like that 17:22:26 unless you count the "Beginners' All-purpose Symbolic Instruction Code, Esoteric Revision" which I'm making the article for right now 17:28:07 `culprits rdococ 17:28:15 `culprits wisdom/rdococ 17:28:32 HackEgo: come on, this is easy! 17:29:19 * int-e twiddles HackEgo's virtual thumbs. 17:29:20 -!- mihow has quit (Quit: mihow). 17:29:26 No output. 17:29:32 No output. 17:30:00 huh. 17:30:42 Apart from me, who else is known to have created a new esoteric programming language by mistake of misunderstanding another programming language? 17:31:13 `rm wisdom/rdococ rdococlikestomakelanguageslikethis 17:31:16 No output. 17:32:00 ITWASAPREDICTIONANDITWASRIGHT!ALLHAILOERJANTHEPRESCIENTMASTEROF#ESOTERIC! 17:32:27 I think I have not done, but I cannot remember. I also do not believe anyone else has done although perhaps that also I did not remember. 17:32:56 (though I suppose it actually was somebody else... hmmmmm) 17:33:16 BancSTAR could be such a language of course, we don't know 17:33:25 I mean, our version of BANCStar 17:33:27 `? rdococ 17:33:28 RDOCOCLIKESTOMAKELANGUAGESLIKETHIS 17:33:40 `rm wisdom/rdococ RDOCOCLIKESTOMAKELANGUAGESLIKETHIS 17:33:41 rm: cannot remove `wisdom/rdococ RDOCOCLIKESTOMAKELANGUAGESLIKETHIS': No such file or directory 17:34:35 actually it wasn't... fun. oerjan still had to learn how to use le/rn. 17:34:41 rdococ: you are wisdommed. you can't be erased. accept the assimilation. 17:34:54 I am wisdommed too 17:34:56 `? int-e 17:34:57 int-e är inte svensk. Hen kommer att spränga solen. 17:34:58 `? boily 17:35:01 ​"Only sane man" boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. He is also a renowned Capitalist. 17:35:37 It is possible that some things on the esolang wiki about BANCStar are wrong. There is some that I believe is certainly wrong; I have posted what I believe is correct. 17:35:47 (But possibly I am also wrong) 17:35:50 Don't fight the wisdom. Embrace it! 17:36:05 * int-e embraces his inner non-swedishness. 17:36:27 `? spell 17:36:27 spell? ¯\(°​_o)/¯ 17:37:08 `? misspellings of croissant 17:37:09 misspellings of crosant? ¯\(°​_o)/¯ 17:37:39 that seems to be the only spell in there 17:37:42 yay for trying to make a Sonic game in a web browser version of BASIC 17:37:52 `? regress 17:37:52 `? xyzzy 17:37:54 Nothing happens. 17:37:58 regress? ¯\(°​_o)/¯ 17:38:07 `? frotz 17:38:09 frotz? ¯\(°​_o)/¯ 17:38:21 `? zork 17:38:23 Zork is like York, except for the first letter. 17:38:33 brilliant insight 17:38:52 My own conclusions come from looking at existing BANCStar programs, rather than looking at the codes for the program to generate the printout 17:39:05 `? xargs 17:39:05 Once cast, a spell can be undone. But once created, a wisdom entry can never again be erased. – Pontifex, elder researcher 17:39:06 xargs is for piping snowmen. 17:39:36 Such as, my own guess is that command 3100 seems to mean that if the condition is not true then it is an error and the user must rekey the input. 17:40:55 @metar LOWI 17:40:55 LOWI 281720Z 12014G26KT 090V170 9999 FEW070 BKN300 14/03 Q1006 NOSIG 17:41:02 are there any screenshots, examples, videos or captures of a BANCStar programme running? 17:41:12 @metar CYUL 17:41:12 CYUL 281737Z 14016KT 2 1/4SM -DZ BR SCT009 OVC014 07/06 A2944 RMK SF3ST5 SLP973 17:41:22 There is also the code that "only ten people in the world can read", which I have partially figured out and guessed at the rest. 17:41:27 -DZ BR... more like it was pouring a few minutes ago. 17:41:47 boily: I do not know of any screenshots 17:41:47 -!- Reece has joined. 17:42:01 brrrr? 17:42:19 nah, it's warm today! +7 °C! 17:42:22 I can't do nested arrays in Quite BASIC? 17:42:30 How did mist become BR, hmm. 17:42:31 wait, does BASIC even have nested arrays? 17:42:40 yes, at least Turbo BASIC. 17:42:45 oh, interesting 17:42:51 "BR, Mist (French: Brume)" 17:43:03 -!- Reece` has quit (Ping timeout: 244 seconds). 17:43:05 The French strike again. 17:43:15 of course! we're everywhere! 17:44:36 [wiki] [[Amycus]] https://esolangs.org/w/index.php?diff=46671&oldid=45551 * B jonas * (+164) 17:46:10 [wiki] [[User:B jonas]] https://esolangs.org/w/index.php?diff=46672&oldid=45479 * B jonas * (+124) 17:47:28 [wiki] [[Amycus Severus]] https://esolangs.org/w/index.php?diff=46673&oldid=45521 * B jonas * (+149) 17:48:25 I really should give a name to the original language of David so I can talk about it. What should I name it? 17:48:42 I also believe that colour codes are actually PC codes and not ANSI codes; I don't know why they wrote that it is ANSI codes 17:48:57 b_jonas: David Language 17:49:14 zzo38: no, there's at least one other esoteric programming language by David Madore 17:49:44 (plus he has his own slightly esoteric dialect of French) 17:51:29 O, I didn't know that 17:51:39 zzo38: he invented Unlambda 17:51:44 Ask David Madore (if possible) 17:51:57 that is possible, yes 17:52:28 -!- boily has quit (Quit: REPLICATE CHICKEN). 17:53:55 -!- idris-bot has quit (Quit: Terminated). 17:54:10 -!- Melvar has quit (Quit: storm). 17:54:44 Does there exist a double-ended toothbrush that has a brush head on both ends of the same handle? 17:54:45 -!- mihow has joined. 17:55:27 It seems there are double toothbrushes that have two heads on the same end of the handle 17:55:55 -!- Frooxius has joined. 17:56:16 -!- nooga has quit (Quit: Lost terminal). 17:56:32 It seems such a thing exists: https://groomies.es/es/dientes/958-cepillo-de-dientes-doble-extra-largo.html 17:56:38 that's either crazy or esoteric 17:58:00 -!- J_Arcane has quit (Ping timeout: 244 seconds). 18:00:22 b_jonas: so can you find a four-headed one? 18:01:31 (And why stop at that? you can go all Lucas and make a cross of toothbrushes!) 18:01:51 Or a swiss army knife! 18:03:21 yeah, or a whole toothbrush tree 18:03:55 or http://www.irregularwebcomic.net/1186.html with infinitely many heads 18:07:33 -!- lynn_ has joined. 18:08:02 -!- lynn has quit (Ping timeout: 260 seconds). 18:08:33 -!- J_Arcane has joined. 18:10:18 -!- Melvar has joined. 18:13:56 -!- idris-bot has joined. 18:15:34 stupid n+1 step processes 18:17:07 (something along the lines of "submit review" - "confirm review" ... apparently I expect that to be one step (especially since the previous dialog already offered me things like saving a draft)) 18:18:55 Someone should check what I wrote in the [[Amycus]] article and tell how much of that is nonsense 18:20:03 -!- lynn_ has quit (Ping timeout: 240 seconds). 18:25:50 Those writeups should be rewritten though because they still contain sentences based on the origianl misunderstanding. 18:26:13 But I can't rewrite them if I can't refer to the original language! Argh 18:36:47 (having to write the line numbers manually is a bit of a pain when I need to add lines in between lines) 18:37:16 rdococ, that's why COMPLEX lets you write the lines in any order you want! 18:37:57 no, I mean because I have to change each line number 18:38:33 can't you leave gaps in the line numbers? 18:39:09 the BASIC I grew up with used line numbers 10,20,30,... by default so that one could easily insert lines later 18:40:18 yeah 18:40:28 Whereas the APL del editor lets you use non-integer line numbers, but the line numbers are only temporary, and they're reassigned with sequential numbers when you exit the del editor (or more like they're assigned when you enter the del editor, and only the sorted sequence of lines are saved when you exit it). 18:40:38 but then when the gaps are differentin length 18:41:55 is this APL del editor software or is it from when basic was taught in schools? 18:42:31 -!- lynn has joined. 18:43:21 it's… um, part of the APL workspace software, just like how the line editor is part of most BASIC interpreters, and … well, it's probably older than BASIC taught in schools 18:44:07 APL is a programming language from back when they didn't really know what programming languages ought to look like 18:44:19 `? apl 18:44:19 Back when to program you plugged your phone into your typewriter 18:44:41 APL stands for Algorithmic Programming Language. 18:44:48 ...did you actually have to plug a phone into the typewriter? 18:44:59 it'd have to be a telephone or something, I know that much 18:45:05 or am I just talking crazy 18:45:05 hehehe 18:45:09 rdococ, yeah, because computers were huge big things that took up a room 18:45:12 oh the young ones 18:45:19 anyway 18:45:23 I know that 18:45:29 So you rang the computer and plugged in your typewriter 18:45:37 An electric typewriter, of course 18:45:42 -!- zadock has quit (Quit: Leaving). 18:45:42 you rang the computer...? 18:45:46 * int-e rolls his eyes. 18:45:48 Yeah 18:45:51 uh okay 18:46:10 Seriously, APL is going back a long time 18:46:32 rdococ: computers were expensive, so people used them remotely. by means of a terminal, which is the same as a telex machine, and is an electromechanical or electrical typewriter with a keyboard and either a printer or a CRT display or both, connected to a modem 18:46:32 `? taneb 18:46:35 Taneb is not elliott, no matter who you ask. He also isn't a rabbi although he has pretended in the past. He has at least two backup keyboards with dodgy SHIFT KEys, cube root of five genders, and voluminous but calm eyebrows. (See also: tanebventions) 18:47:16 Haven't seen elliott in ages :/ 18:47:17 where the modem transmits data through an analog telephone wire connected by the ordinary telephone network, plus the terminal may also have a ticker tape reader and puncher. 18:47:20 b_jonas: why go to all that trouble when you can just hand the operators a stack of punched cards? 18:47:38 I'm working on a Sonic game in BASIC... or at least something close 18:48:02 but of course it's a modern version -- no, not visual basic 18:48:13 int-e: the computer is in a remote location, and the telex transmits the data faster to such a remote location than any other way you could transmit the punch cards or ticker tape 18:48:14 -!- mihow has quit (Quit: mihow). 18:48:16 I found this 18:48:17 http://www.quitebasic.com/ 18:48:25 -!- Reece` has joined. 18:48:34 -!- Reece has quit (Ping timeout: 240 seconds). 18:48:50 There's some things I don't understand about terminals though 18:49:56 what is it? 18:50:01 1. why are they called both terminals and telex machines and what's the difference, 2. how the fuck can an electromechanical typewriter do all the modem stuff without electronics, and 3. why did they even bother with electromechanics when electronics were already available by the time the terminals were created. 18:50:16 -!- mihow has joined. 18:50:55 is telex an old version of fax or something? 18:51:04 uh, they just repurposed telegraphy service devices... that's what telex machines are. 18:51:12 okay... 18:51:47 "terminal" is just a different view on the topology... it's not, say, a repeater connecting two lines, but and end point. 18:51:56 -!- hppavilion[1] has joined. 18:52:03 rdococ: sort of, but a telex transmits character data (where a character means 5 or 7 or 6 or 8 bits) whereas a fax transmits bitmap graphical data. both were used as sort of improved versions of telegraphy. 18:53:13 oh https://en.wikipedia.org/wiki/Telex helps with terminology (terminalogy?) 18:53:16 okay 18:53:33 fax is a newer invention 18:53:47 so we should really call the machines teletypes 18:55:21 surprisingly (haha), wikipedia is inconsistent on this 18:55:24 Back when we were young, telephone books contained telefax (fax) and telex numbers too, because some businesses and offices ran such machines, and they're connected to the ordinary telephone network. Today, there are no printed telephone books, and no telex network. 18:55:39 on the Telegraphy page, they write "These machines were called "Telex" (TELegraph EXchange)." 18:56:47 ...and we have paperless offices where fax machines are virtualized and soon phased out... 18:57:05 int-e: yeah, paperless offices where people print and then scan the emails they get. 18:57:38 rdococ: Btw, this channel sometimes makes it hard to separate fact from fiction. 18:57:44 the paperless parts never really works out well. 18:57:52 `? paperless 18:57:55 paperless? ¯\(°​_o)/¯ 18:58:06 * b_jonas tries not to make the obvious joke 18:58:49 "send an email, but fax a copy in case they don't read email, and send a letter as well so that they have a clean copy for the archives" 18:59:07 (not sure where this is from... Dilbert?) 18:59:31 yeah. http://dilbert.com/strip/1995-12-11 18:59:51 20 years later I suspect this is still true. 19:02:05 int-e: hehe. yes 19:26:57 `le/rn paperless/In a paperless world, rock would never lose. 19:27:04 Learned «paperless» 19:28:15 -!- lambda-11235 has quit (Quit: Bye). 19:33:36 Someone else I know, although an atheist, said that if he made up the laws he would say that Canada is the Christian country, only for the purpose of the calendar. I am not sure that is necessary, since they are already national holidays, although maybe I missed something. 19:35:19 -!- Reece` has quit (Ping timeout: 252 seconds). 19:35:36 -!- Reece` has joined. 20:01:50 -!- gremlins has joined. 20:03:21 -!- Reece` has quit (Ping timeout: 268 seconds). 20:06:33 -!- jaboja has quit (Ping timeout: 240 seconds). 20:17:07 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 20:17:58 -!- hppavilion[1] has joined. 20:18:18 -!- jaboja has joined. 20:23:28 -!- oren has joined. 20:24:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:25:03 i don't understand why people were depending on an external host to have a left pad function 20:25:36 -!- MDead has joined. 20:25:57 -!- jaboja has quit (Ping timeout: 276 seconds). 20:25:59 Because people who use JavaScript for non-web are not the best at system architecture 20:26:40 -!- hppavilion[1] has joined. 20:27:39 oren: huh what? what's this about this time? 20:28:14 -!- MDude has quit (Ping timeout: 248 seconds). 20:28:20 -!- MDead has changed nick to MDude. 20:28:23 ``` printf %70s "left pad function" 20:28:26 ​ left pad function 20:29:29 b_jonas, a lot of Node programmers got their projects broken when someone threw a tantrum and removed a package from npm 20:29:43 Said package was 11 lines long and just provided a left pad function 20:29:59 what's npm? 20:30:39 Node.js package manager 20:30:49 Like Hackage or crates.io or something 20:31:08 I see 20:32:45 -!- x_ has joined. 20:33:58 -!- ais523 has joined. 20:36:33 You can easily implement a left pad function in one line of a JavaScript code: const leftpad=(x,y,z)=>(z.repeat(y)+x).slice(-y); 20:36:53 -!- lynn_ has joined. 20:37:08 zzo38: I imagine that's a little inefficient as you generate the string of y zs regardless of what the input is 20:37:17 zzo38: thatjs way to performant 20:37:18 but yes, that seems like a good demonstration of how simple the function is 20:37:21 I do have some Node.js packages too 20:37:23 -!- lynn has quit (Disconnected by services). 20:37:29 -!- lynn_ has changed nick to lynn. 20:38:04 ais523: that depens on what string concatenation and repeat are doing 20:38:23 myname: this is unlikely as an optimization 20:38:30 it string + string always needs to copy anything it would be really slow 20:39:46 padding an empty string would be n^2 then 20:39:55 repeat cannot be worse than that 20:41:42 @tell oerjan I can't see deleted templates on Wikipedia (other than via WP:REFUND which seems rather a waste of admin time), but a) it seems likely, b) the template is unused and probably not useful, c) the template is buggy, d) the template may be uncopyrightable because there's no other sensible way to write its functionality 20:41:43 Consider it noted. 20:42:19 if repeat isn't implemented completely stupid it would need O(y) time + one concat + O(y) slice 20:42:35 the other version needs O(y) concats 20:42:56 assuming that concat is slow, zzo38's version is way faster 20:42:57 myname: concat may be O(a) time rather than O(a+b) time where the lengths of the strings are a and b 20:43:13 oh, I'm not talking about the original left-pad, that one is probably really slow 20:43:20 -!- jaboja has joined. 20:43:25 okay 20:47:25 Can DVD-video support text captions? What happen if you record a TV show with captions on a DVD? 20:47:53 what captions? 20:47:53 zzo38: I think it can support text captions, and I don't know 20:48:12 zzo38, most DVD recorders I believe take it out of the display, which will include captions if they are displayed at the time of recording 20:49:02 Taneb: The DVD recorder I have does have the ability to display captions. 20:49:55 But I mean if it can support text captions which are separate from subtitles 20:51:21 wait, they're separate from subtitles... 20:51:22 what 20:52:38 Captions are text and subtitles are pictures. This means that it is possible to customize the settings for font size and colours of captions. 20:53:00 But for subtitles you have to use whatever font is recorded on the disc instead. 20:54:16 My own opinion is that only captions should be used and subtitles should not be used except possibly for compatibility purpose. 20:56:00 -!- Reece` has joined. 20:56:41 I found a webpage for a computer program, and it says that DVDs do support captions. 20:57:37 -!- gremlins has quit (Ping timeout: 268 seconds). 21:00:48 -!- lynn has quit (Quit: Leaving). 21:03:19 Does any show have captions for the descriptive video in addition to the normal speech? 21:06:37 -!- lynn has joined. 21:07:51 `slist 21:07:53 slist: Taneb atriq Ngevd nvd Fiora Sgeo ThatOtherPerson alot 21:08:00 Hang on 21:08:07 I'm the only person on that list who'st actually in here 21:08:13 And I'm most of the list 21:08:43 that's why it's called solipsism list 21:10:16 Haha 21:10:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:10:45 -!- J_Arcane has quit (Ping timeout: 244 seconds). 21:10:49 `? atriq 21:10:50 atriq or two 21:11:00 `? taneb 21:11:02 Taneb is not elliott, no matter who you ask. He also isn't a rabbi although he has pretended in the past. He has at least two backup keyboards with dodgy SHIFT KEys, cube root of five genders, and voluminous but calm eyebrows. (See also: tanebventions) 21:11:15 > 5**(1/3) 21:11:16 1.7099759466766968 21:11:36 `? tanebventions 21:11:38 Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, gazpacho, Stephen Wolfram, Go, submarine jousting, the universe, weetoflakes, persistence, the reals, Lambek's lemma, robots, progress, and this sentence. He never invents anything involving sex. 21:11:59 I feel like maybe that wisdom entry should rhyme. 21:11:59 hmm 21:12:04 To some Gilbert & Sullivan tune, perhaps. 21:12:30 -!- hppavilion[1] has joined. 21:12:45 -!- boily has joined. 21:12:51 should I keep working on my Sonic attempt in Quite BASIC? 21:13:00 `? gazpacho 21:13:02 You like Gazpacho and I like Gaspacho. Let's call the whole thing off! 21:13:19 `culprits wisdom/tanebvention 21:13:25 shachaf b_jonas oerjan shachaf shachaf boily boily shachaf oerjan oerjan Taneb oerjan elliott oerjan oerjan FireFly oerjan boily oerjan ais523 ais523 oerjan 21:14:26 `? gaspacho 21:14:29 You like Gaspacho and I like Gazpacho. Let's call the whole thing off! 21:14:34 wait what 21:14:47 `? rdococ 21:14:49 RDOCOCLIKESTOMAKELANGUAGESLIKETHIS 21:14:56 rdochellloc. the szoups are complex. please consult the Wisdom PDF hth 21:15:05 the wat 21:15:06 * boily ought to retopic the PDF... 21:15:10 that pdf isn't even real 21:15:11 rdococ: just a moment... 21:15:13 rewhat 21:15:14 it's been photoszouped 21:15:20 photowhat 21:15:21 IT IS REAL! REALER THAN CANADA! EH! 21:15:26 realerwhat 21:15:30 heretichaf. 21:15:54 boily: shachaf mipesha hth 21:16:35 rdococ: https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf?dl=0 21:16:57 (warning: may not be quite exactly up to date at all. I'm several months out of touch with the latest installments.) 21:17:00 (hth) 21:18:10 boily: did you demaur it yet hth 21:19:24 -!- atrapado has joined. 21:19:44 -!- lynn_ has joined. 21:19:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:19:50 -!- lynn has quit (Disconnected by services). 21:20:29 -!- lynn_ has changed nick to lynn. 21:20:58 `source 21:20:59 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: source: not found 21:21:02 `help 21:21:03 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/ 21:22:56 ^style sms 21:22:57 Selected style: sms (National University of Singapore SMS corpus, 2011-08-20) 21:23:05 fungot: nlghtn us 21:23:05 int-e: in one min. soon 21:23:16 ^style irc 21:23:16 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 21:24:29 -!- lynn_ has joined. 21:25:29 -!- x_ has quit (Quit: Sto andando via). 21:25:33 shachaf: I don't think so hth 21:26:22 lynn_: is "demure" a good adjective for you 21:27:54 -!- lynn has quit (Ping timeout: 246 seconds). 21:27:55 -!- lynn__ has joined. 21:27:56 `quote demure 21:28:00 No output. 21:30:27 -!- lynn_ has quit (Ping timeout: 260 seconds). 21:31:06 `quote murder 21:31:07 130) Phantom_Hoover: Don't be nasty; he's a lunatic, not a murderer. \ 271) elliott, it was an artful robbery! wait, murder \ 753) you've constructed a situation in which i have no choice but to die in 10 days well done that's murder \ 1080) Even if the people who made that program is a m 21:31:14 lynn__ is emulating Phantom_________Hoover... 21:31:15 -!- lynn has joined. 21:31:24 lynn: hellynn. connection problems? 21:31:43 Really horrible ones ;___; 21:32:18 even lynn's ascii face is emulating Phantom_________Hoover 21:32:35 assuming that's a face, i don't really know how to read those things 21:33:30 -!- lynn__ has quit (Ping timeout: 246 seconds). 21:34:19 what if it's secret code in a secret programming language? ___;_;____;;; 21:34:25 `quote ◇ 21:34:26 No output. 21:34:34 darn. wrong unicode diamond. 21:35:10 -!- lynn has quit (Client Quit). 21:35:13 `quote ________ 21:35:14 1010) ◊_______________________◊ help. jesus christ elliott apply pressure evenly when jamming eyes open 21:35:41 ◇◇ 21:35:46 `quote ◊ 21:35:47 1010) ◊_______________________◊ help. jesus christ elliott apply pressure evenly when jamming eyes open 21:35:59 `quote rdococ 21:35:59 1238) what? I just wanted a laugh... lol I need to stop using lol, lol just stop then, hth 21:36:03 -!- lynn has joined. 21:36:18 lol lol 21:36:26 -!- lynn has changed nick to Guest57498. 21:37:13 Guest57498: don't you dare die on us! 21:37:27 -!- Guest57498 has changed nick to lynn. 21:37:37 -!- lynn has quit (Changing host). 21:37:37 -!- lynn has joined. 21:37:37 -!- lynn has quit (Changing host). 21:37:37 -!- lynn has joined. 21:40:19 rip lynn 20 times 21:41:01 Now I’m on some kinda cloud thing. So, that might work better? 21:43:55 `? cloud 21:43:56 cloud? ¯\(°​_o)/¯ 21:45:33 `learn The cloud is a server Blackhat guy runs, connected to the internet through a cable modem. There's a lot of caching. Cloud is also the shape of clouds. 21:45:38 Learned 'cloud': The cloud is a server Blackhat guy runs, connected to the internet through a cable modem. There's a lot of caching. Cloud is also the shape of clouds. 21:48:11 Hmm. NSA is a kind of caching service. 21:48:53 -!- hppavilion[1] has joined. 21:50:02 -!- Reece` has quit (Ping timeout: 268 seconds). 21:54:06 https://en.m.wikipedia.org/wiki/S6_(classification) wait, what 22:22:42 -!- Sgeo has joined. 22:23:11 -!- Sgeo has quit (Read error: Connection reset by peer). 22:27:29 b_jonas: I finally found the individually checked beans. That must be a fun way to pass time. 22:28:15 heh heh heh 22:28:22 fun for who? 22:29:57 -!- nycs has quit (Ping timeout: 260 seconds). 22:30:01 Hanners, of course. 22:30:28 (Well, at least until she finds a bad bean.) 22:32:35 -!- Sgeo has joined. 22:43:56 -!- atrapado has quit (Quit: Leaving). 22:52:55 -!- oerjan has joined. 22:59:55 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 23:00:49 @messages- 23:00:49 ais523 said 2h 19m 6s ago: I can't see deleted templates on Wikipedia (other than via WP:REFUND which seems rather a waste of admin time), but a) it seems likely, b) the template is unused and probably not useful, c) the template is buggy, d) the template may be uncopyrightable because there's no other sensible way to write its functionality 23:01:36 * oerjan interprets (d) as an excuse to do nothing hth 23:02:35 well it's also unused and I can't see an obvious use for it 23:02:43 Can you patent a wikipedia template 23:02:52 lol 23:03:22 -!- jaboja has quit (Remote host closed the connection). 23:07:46 ais523: since when has that been a reason to delete anything on our wiki :P 23:07:58 oerjan: in terms of articles or templates? :P 23:08:11 templates are kind of meta-stuff, they have different topicality rules 23:09:15 hey don't ruin the joke with details 23:09:30 -!- mihow has quit (Quit: mihow). 23:09:56 oh, I thought you were trying to use sarcasm to make as serious point 23:10:59 -!- tromp_ has joined. 23:11:10 >_> 23:13:38 `? cia 23:13:40 cia? ¯\(°​_o)/¯ 23:13:51 `learn CIA sees it all. 23:13:53 Learned 'cia': CIA sees it all. 23:14:22 i thought it stood for cookies in advance 23:14:26 the next level of thanks in advance 23:16:58 `? stupidity 23:16:59 Stupidity is created when people are too lazy to think correctly. 23:17:07 i think this is somehow meta. 23:17:19 possibly in two different ways. 23:21:03 -!- gde33 has quit (Ping timeout: 240 seconds). 23:21:37 -!- tromp_ has quit (Remote host closed the connection). 23:21:37 `? meta 23:21:38 meta? ¯\(°​_o)/¯ 23:21:44 `learn meta is about 23:21:46 Learned 'meta': meta is about 23:22:34 `` find -type f wisdom | wc -l 23:22:35 find: paths must precede expression: wisdom \ Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression] \ 0 23:22:44 `` find wisdom -type f | wc -l 23:22:49 900 23:23:23 `` find wisdom -type f | xargs cat | wc -c 23:23:24 xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option \ cat: wisdom/¯(°_o)/¯(°_o)a: No such file or directory \ cat: wisdom/¯(°_o)/¯: No such file or directory \ cat: wisdom/for: No such file or directory \ cat: further: No such file or directory \ cat: details.: No such file or directory \ cat: w 23:23:30 @tell oerjann hellørjanne! GG! <-- helloily. poor oerjann will be so confused. 23:23:32 ah. 23:23:39 `` find wisdom -type f -print0 | xargs -0 cat | wc -c 23:23:50 10558299 23:23:55 int-e: Are you sure there are no files in wisdom/ containing newlines? 23:24:29 shachaf: well, it seems fairly useless, but no, I'm not sure. 23:25:02 uh, that seems a bit big... 23:25:25 `` ls -sR wisdom | sort -rn 23:25:27 10240 irrelevant info \ 4 Э \ 4 э \ 4 αλτγρ+γ \ 4 zzo38mtg.php \ 4 zzo38mtg \ 4 zzo38card \ 4 zzo38 \ 4 zygohistomorphic prepromorphism \ 4 zork \ 4 zomgmodules \ 4 zombiecheney \ 4 zkstr \ 4 zimbabwe \ 4 yuy \ 4 york \ 4 yorick \ 4 yoda \ 4 yeeesh \ 4 yeeeesh \ 23:25:30 `` cat wisdom/irrelevant info 23:25:31 cat: wisdom/irrelevant: No such file or directory \ cat: info: No such file or directory 23:25:35 oops 23:25:38 `cat wisdom/irrelevant info 23:25:39 KHL?%y9vnkM_v46$Tn`ʋxkH2gqH;!;2F(zإ2CmXW 23:25:43 -!- XorSwap has joined. 23:25:45 `file wisdom/irrelevant info 23:25:46 wisdom/irrelevant info: data 23:25:58 `` hg log 'wisdom/irrelevant info' | grep summary: 23:26:00 summary: cat /dev/urandom > wisdom/\'irrelevant info\' 23:26:05 `culprits wisdom/irrelevant info 23:26:06 `rm wisdom/irrelevant info 23:26:22 No output. 23:26:28 shachaf oerjan elliott Roujo 23:26:36 `` find wisdom -type f -print0 | xargs -0 cat | wc -c 23:26:42 72539 23:26:51 okay, that's far more plausible. 23:27:03 `` hg log | grep summary: | grep Roujo 23:27:06 summary: rm bin/f\x16\x16rink \ summary: echo "14484096/625 \\(exactly 23174.5536\\)" > bin/f\x16\x16rink \ summary: chmod +x bin/f\x16\x16rink \ summary: echo "14484096/625 (exactly 23174.5536)" > bin/f\x16\x16rink \ summary: echo "cf. elliott" > wisdom/godot \ summary: echo " 23:27:13 `` hg log | grep summary: | grep Roujo | paste 23:27:23 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.4893 23:29:56 `echo hi 23:29:57 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: echo: not found 23:30:01 hmph 23:30:12 oh wait 23:30:34 `? godot 23:30:34 cf. elliott 23:31:37 http://codu.org/projects/hackbot/fshg/index.cgi/log?rev=Roujo&revcount=1000 ... 23:32:14 I guess that's better than paste. 23:33:06 the trick is to add the &revcount bit manually 23:33:33 (since the "more" and "less" links are broken) 23:33:49 they are? 23:33:56 they are. 23:34:19 ic 23:34:36 @metar ENVA 23:34:37 ENVA 282320Z 12010G20KT 070V160 9999 SCT050 BKN120 09/00 Q0991 RMK WIND 670FT 15016G30KT 23:34:45 that doesn't seem all that icy 23:34:46 shachaf: spring is a-coming 23:34:55 (i'm joking i have no idea how to read metar hth) 23:35:12 surely you can read the 09/00 part? 23:35:12 shachaf: i met a man on the road this evening who said it was unusually mild hth 23:35:25 @metar KOAK 23:35:26 KOAK 282253Z 28018KT 10SM SCT020 17/03 A2988 RMK AO2 SLP117 T01670033 23:35:26 int-e: yes, but that doesn't tell me whether it's icy hth 23:35:31 oerjan: do they even have pigeons in norway? 23:35:35 and how about parks 23:35:42 parks, for pooches. 23:35:48 shachaf: seems unlikely at 9 degrees celsius. 23:36:06 @metar LOWI 23:36:07 LOWI 282320Z AUTO 26004KT 230V300 9999 NCD 06/02 Q1010 23:36:13 * oerjan is considering putting on a non-winter jacket 23:36:22 oh, a bit colder than I expected. 23:36:23 `? weather 23:36:26 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 23:36:28 CYUL 282324Z 36013KT 4SM -RA BR OVC004 04/03 A2939 RMK ST8 SLP956 \ ENVA 282320Z 12010G20KT 070V160 9999 SCT050 BKN120 09/00 Q0991 RMK WIND 670FT 15016G30KT \ ESSB 282320Z AUTO 13010KT 9999 BKN057/// 05/01 Q1002 \ KOAK 282253Z 28018KT 10SM SCT020 17/03 A2988 RMK AO2 SLP117 T01670033 23:36:29 shachaf: we have pigeons. also parks. sometimes coincidental. 23:37:26 boily: poisoning pooches in the park? i hope not 23:38:38 Does this allude to "Taubenvergiften im Park"? 23:39:04 oerjan: is that like http://www.xkcd.com/90/ ? 23:39:25 shachaf: poisoning? fungot no! 23:39:25 boily: all of those don't let you borrow zem. zem doesn't have win98 or a floppy drive or anything, it is woefully underpowered. 23:39:32 wait pooches are just dogs in general? i was imagining it was some kind of silly breed. 23:39:41 Oh, I didn't know of the Tom Lehrer song. 23:39:49 oerjan: dogs in general are a silly breed hth 23:40:02 hehe, true 23:40:16 int-e: which one? the Elements song? 23:40:24 I don't make any sense, do I? 23:40:28 -!- hppavilion[1] has joined. 23:40:50 no, the one about poisoning pigeons in the park 23:41:26 fungot, who is your nemesis? 23:41:26 b_jonas: i think mine predates yours" issue, and i 23:41:33 fungot: good 23:41:33 b_jonas: now i was trying to say " no". the only client box is the 486. i cannot fnord it's the plural of " virus" 23:41:40 ah 23:41:47 fizzie: is zem still woefully underpowered? 23:43:04 b_jonas: It's always weird to look at a fungot message before checking the usernaem 23:43:04 hppavilion[1]: it works on the structure of the configuration language.) 23:43:11 b_jonas: it is indeed next to my winter jacket hth 23:43:37 fungot: That was pretty coherent, besides the trailing parenthesis. We're so proud of you. 23:43:37 hppavilion[1]: is llama32 talking about loading .so files or something. i wonder what ( lambda ( data) expr)? 23:43:40 Whuh. 23:44:30 I think python should add two new operators (or 3, with an optional 5 others based off of one of the 2) 23:44:36 The operators should be := and :: 23:44:38 fizzie: ref. to fungot above 23:44:38 oerjan: " one toke? you poor fool! wait till you see part 2 of 3) 23:45:06 := calls the left object's __assgn__ method, and :: calls the left object's __is_type__ method 23:45:12 It'd be used for type-safe python 23:45:13 ^style 23:45:13 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 23:45:34 fungot: you're more incoherent than usual, is anything wrong? 23:45:35 int-e: it uses ref counting, so cyclic data structures nor to hashes))) list) 23:45:39 Ah. No. 23:45:46 The third operators is -> (which is right-associative) and calls the left object's __goesto__ method 23:45:52 fungot: ah, false alarm then? good, good. 23:45:53 the := bone is connected to the __assign__ bone / the :: bone is connected to the __is_type__ bone 23:45:53 int-e: i think they're playing the fnord 23:46:02 Oh, that line was hppavilion[1]. I thought it was fungot. 23:46:02 shachaf: you're not meant to be 23:46:08 fungot: ouch 23:46:09 shachaf: are you on the net... bah. i worked in d.c., some people asked for it :) i'm sorry, i'm bored. want to hear 23:46:34 The optional 5 are :!=, :>, :<, :>=, and :<=, which are made to work like := but for things other than equality 23:46:41 the situation is: behind me sits a netware3 server with important data. the only client box is the 486. i cannot use the data that's on the server hd, there's not enough space to copy the data to the client hd, i cannot put an additional disk into the client because of the bios thing. 23:47:22 -!- tromp_ has joined. 23:48:20 The main usage cases for the first 3 are a library I'm calling "typesafe" which creates a dependent/algebraic/static typesystem for Python in pure python and a library called "constraints" which is like "typesafe" that puts constraints on values (such as a variable always being positive, or always being between 5 and 9) (this would also benefit from those optional 5) 23:49:05 fizzie: that's some old hard- and software... 23:49:26 int-e: The line was from 2006. But it was pretty old even back then. 23:50:00 mid 90s. 23:50:39 Typesafe can be implemented in current python, and a library similar to constraints already exits, but has some issues because either you use an ugly syntax involving method calls (x.set(5)) or you use up certain important operators (x << 5) 23:50:44 NetWare 3 apparenty dates to 1990, while NetWare 4 dates to 1993. Not that everyone would've been migrating their systems. 23:50:51 fizzie: um i didn't mean that line btw, there's one actually containing "zem". 23:51:14 oerjan: Oh, there, I see. 23:51:43 oerjan: I had actually completely forgotten zem, but I think zem's still in a closet somewhere, probably back in Finland. 23:51:56 I assume it'd count as even more woefully underpowered now. 23:52:17 hppavilion[1]: now all you have to do to have any chance of this happening is abduct guido van rossum and brainwash him. hth. 23:52:55 (Though slightly less so than the 486.) 23:54:20 oerjan: Why? xD 23:54:22 Huh, that's a combination of quite many lines. 23:54:28 oerjan: Is it because he hates static typing? 23:55:02 hppavilion[1]: because what you're suggesting is pretty against his python philosophy afaict. 23:55:19 he probably also hates static typing, i'm not sure. 23:55:21 oerjan: In what parts? 23:55:52 in the parts where you want to define operators that are synonyms for more readable features already existing. 23:56:01 oerjan: What about @ in 3.5? 23:56:20 oerjan: I'd say the operators would be more readable 23:56:40 oerjan: It would be an optional type system, and it has other use cases. The purpose is for people who /want/ static typing to be able to do so in a pretty, non-`if type(x) == t` way 23:56:53 hppavilion[1]: i don't know 3.5. i'm saying my hunch is that guido would hate it. 23:57:08 2003-03-16 19:04:19 oh well. if it blows up, I'll let you borrow zem. zem doesn't have win98 or a floppy drive. -g 23:57:12 2003-04-14 21:01:43 now it doesn't have a floppy drive or anything, hnggh. 23:57:15 2004-10-22 20:50:03 But really, As much as i like lisp-me for being able to hack-on-the-toilet, as a scheme, it is woefully underpowered. 23:57:18 Plus apparently an entirely disconnected "anything, it is" of which there are at least two. 23:58:07 ^style 23:58:07 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 23:58:10 -!- XorSwap has quit (Quit: Leaving). 23:58:21 fancy 23:59:39 The "it" on the second line is also zem. The floppy drive (or lack of it) was the link there, I guess. 2016-03-29: 00:01:09 I seem to have been trying to move files onto the silly thing by using gphoto2 to upload a tarball into an old digital camera that used CF cards, then plug that CF card into zem with a PCMCIA adapter. Wonder if that actually worked. 00:02:42 * oerjan vaguely recalls being paid to manage a room with a netware server at the university back in the early 90s. 00:02:49 -!- p34k has quit. 00:03:22 it was novell, at any rate. and in retrospect i was woefully underqualified but somehow shambled through. 00:03:51 We had a NetWare [some version] server at [particular kind of school but details of education systems vary so much between countries I'm not sure there's an unambiguous term]. 00:04:20 who was talking about checked beans again? 00:04:41 and what's the name of that effect where you keep seeing and hearing about a thing you just learned about? 00:04:46 All I remember is that it was vulnerably to some really simple way of elevating your account (assuming you had one; most students didn't) to have superuser privileges. 00:04:54 s/ly/le/ 00:05:04 Also something about login scripts. 00:06:05 There was an "edutainment" game about puberty made by some one-man software company, a point-and-click adventure with a buncha verbs in a menu, many of which weren't at all relevant gameplay-wise. 00:06:35 E.g. there was a "listen" command, which just played some random beeps and bloops and printed out "I hear voices, do you too?" (except in Finnish). 00:06:45 hppavilion[1]: I don't want to know how much effort went into http://legacy.python.org/dev/peps/pep-0465/ and the surrounding discussion 00:07:01 hppavilion[1]: (that's the one that added @ to Python) 00:07:10 int-e: Ah 00:07:12 (The Finnish translation of that idiom is literally closer to "I hear sounds", not specifically voices, which made it fit a bit better.) 00:09:01 hppavilion[1]: anyway reading it, the main point seems to be that they managed to demonstrate that lacking such an operator leads to significant pain; "But isn't it weird to add an operator with no stdlib uses?" is particularly noteworthy ("we tried using *, and it's still painful") 00:09:11 boily: b_jonas and int-e. i have no idea what they were talking about. also, synchronicity is a general word but there was a more specific term that was memetic a few years ago... 00:09:42 oerjan: could it be that there's a webcomic you don't read... 00:09:43 int-e: Interesting 00:10:12 oerjan: http://questionablecontent.net/view.php?comic=3186 00:10:43 boily: "baader-meinhof effect". although wikipedia says that's a colloquial term for "frequency illusion". 00:10:53 er, *phenomenon. 00:11:57 Is that the one where if you buy a car of make Foo, then suddenly it seems like everyone in the city are driving Foo cars and the streets are full of them? 00:12:18 and they break all the time, have accidents all the time? 00:12:26 Also something about login scripts. <-- i vaguely think i maintained something like that. 00:12:34 * int-e is extrapolating. 00:15:51 oerjan: tdh, and tdh too. 00:16:07 how many people read QC in this here chännel? 00:16:31 Approximately three? 00:17:03 In a former [something akin to a job; exact details too tiresome to describe] the (Windows) network environment had a login batch script, which ran some registry-editing jobs using a Windows sudo equivalent, with a hardcoded username ("sp5_update") and password (something like "ohdamn", except again in Finnish) in the script. 00:17:48 s/\[.*\]/engagement/ ? 00:18:05 I had to use that account to do my job, because Photoshop's print dialog did not work if Photoshop wasn't running as an user with administrator rights. 00:18:20 (Computers 'r hard.) 00:19:15 That's a vague enough term to be applicable to almost anything. 00:19:21 hmm, can you read the login script or did you have to read the commands in the shell window? 00:19:38 You could read the script, I think. 00:19:43 @tell rdococ so "programming language" is feminine and "a programming language" is masculine <-- you seem confused. anyway, "programmeringsspråk" is neuter hth 00:19:43 Consider it noted. 00:19:44 fizzie: yeah being vague was my idea. 00:20:22 I was about to say I think you need read privileges in order to be able to execute a batch file, but I'm sure it could've been something more complicated. 00:20:38 Anyway, it was just a (readable) .bat in a z:\ drive in this case, at least. 00:20:51 I just haven't used windows much... I do remember commands scrolling by on login though. 00:21:06 Yes, you could also see the commands flash by in a console window as well. 00:21:16 oerjan: could it be that there's a webcomic you don't read... <-- of course. afaict there are infinitely many webcomics and a finite day. 00:21:17 That might've been what got me curious to look for the login script in the first place. 00:21:39 s/used/worked with/ (I have a windows installation for games...) 00:22:23 oerjan: Oh did I forget to add a smiley? 00:22:41 -!- jaboja has joined. 00:25:13 fizzie: by "ohdamn" you mean "perkele", right 00:26:40 To throw aspiring computer crackers off, they had in fact avoided "real" swearwords. 00:26:46 A stereotype is a two-channel monotype? 00:27:14 `? stereo 00:27:18 stereo? ¯\(°​_o)/¯ 00:27:32 `? stereomorphism 00:27:33 stereomorphism? ¯\(°​_o)/¯ 00:27:38 heh 00:27:55 `? stereotype 00:27:56 stereotype? ¯\(°​_o)/¯ 00:28:11 `? stereoisomer 00:28:12 stereoisomer? ¯\(°​_o)/¯ 00:28:19 `? stereocle 00:28:20 stereocle? ¯\(°​_o)/¯ 00:28:35 `learn A stereotype is a two-channel monotype. 00:28:35 `? stereophtongue 00:28:40 sounds good to me. 00:28:42 stereophtongue? ¯\(°​_o)/¯ 00:28:44 Learned 'stereotype': A stereotype is a two-channel monotype. 00:28:51 `? zerg 00:28:52 zerg? ¯\(°​_o)/¯ 00:29:09 `? protoss 00:29:09 protoss? ¯\(°​_o)/¯ 00:29:12 `? terran 00:29:13 terran? ¯\(°​_o)/¯ 00:29:16 `le/rn zerg/We'll try to think of an entry here, but we don't want to rush it. 00:29:18 `? ling 00:29:18 Learned «zerg» 00:29:18 ling? ¯\(°​_o)/¯ 00:29:39 `? stereastery 00:29:40 stereastery? ¯\(°​_o)/¯ 00:29:51 `? sterester 00:29:52 sterester? ¯\(°​_o)/¯ 00:29:58 `? sterek 00:29:59 sterek? ¯\(°​_o)/¯ 00:30:06 `? stereey 00:30:07 stereey? ¯\(°​_o)/¯ 00:30:25 `? sterekey 00:30:27 sterekey? ¯\(°​_o)/¯ 00:30:36 `? steret everest 00:30:36 steret everest? ¯\(°​_o)/¯ 00:30:53 ``` echo wisdom/ste* 00:30:54 wisdom/stephen wolfram wisdom/stereotype 00:33:07 `cat bin/`` 00:33:08 ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@" | rnooodl 00:33:12 `cat bin/` 00:33:15 ​#!/bin/bash \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$1" | rnooodl 00:33:25 -!- Lilly_Goodman has joined. 00:33:47 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 00:34:26 b_jonas: i think some of those words are a bit of a sterech. 00:34:39 *steretch 00:34:45 `? pun 00:34:46 Puns are fun. Ask shachaf about them. 00:35:03 `? pike 00:35:03 pike? ¯\(°​_o)/¯ 00:35:05 `? python 00:35:07 python? ¯\(°​_o)/¯ 00:35:12 `? cobol 00:35:13 cobol? ¯\(°​_o)/¯ 00:35:13 `learn_append pun But beware of Muphry adding misspellings. 00:35:16 Learned 'pun': Puns are fun. Ask shachaf about them. But beware of Muphry adding misspellings. 00:35:47 `` echo wisdom/fo* 00:35:48 wisdom/foe wisdom/fomething wisdom/footnote 1 wisdom/footnote 8 wisdom/for further details wisdom/for further details. wisdom/for further details for futher details. wisdom/forth wisdom/fortran wisdom/forty 00:36:03 `? forty 00:36:04 forty means "in a fort-like manner" 00:36:06 `? forth 00:36:07 Since Biblical times, Forth has been the go-to language for multiplication. 00:37:08 ``` echo wisdom/*lang 00:37:12 wisdom/sgeolang 00:37:58 `? sgeolang 00:37:59 Sgeolang is probably Rust ATM. 00:38:13 ``` echo wisdom/*lang* 00:38:16 wisdom/imperative language wisdom/languabe wisdom/sgeolang 00:38:51 -!- tromp_ has quit (Remote host closed the connection). 00:39:12 -!- Lilly_Goodman has joined. 00:39:19 `? nothing 00:39:20 nothing? ¯\(°​_o)/¯ 00:39:32 `learn Nothing would have been better than to create this wisdom entry. 00:39:34 Learned 'nothing': Nothing would have been better than to create this wisdom entry. 00:40:36 `? this 00:40:37 this is a word 00:40:40 `? that 00:40:41 that? ¯\(°​_o)/¯ 00:40:42 `? the 00:40:43 `? and 00:40:44 the Toe of Harriness's Enclosure 00:40:44 and? ¯\(°​_o)/¯ 00:41:02 `? ¯\(°​_o)/¯ 00:41:02 ​¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯ 00:41:27 `` find wisdom -type f -print0 | xargs -0 grep -El ' (are|is) just ' | sed -e 's|^wisdom/||' 00:41:28 quote \ monoidal category \ justice \ grammar \ brain \ monads \ chu space \ object \ syntax \ partial order \ mdude \ endofunctor \ functor \ indexed monad \ automatic squirrel feeder \ arrow \ ngram model \ character \ group \ 1 \ lens \ monad \ hallucination \ doodad \ monoids \ torus \ equal temperament \ endomorphism \ bicategory \ d-module \ 00:42:08 Wow, I'm a whole categorey of wisdom? 00:42:15 So many things are just some kind of other things. 00:42:30 `? Zaphod Beeblebrox 00:42:31 Zaphod Beeblebrox? ¯\(°​_o)/¯ 00:42:35 `? zaphod 00:42:36 zaphod? ¯\(°​_o)/¯ 00:42:38 `? beeblebrox 00:42:39 beeblebrox? ¯\(°​_o)/¯ 00:42:46 `? just 00:42:47 just? ¯\(°​_o)/¯ 00:42:58 `? justice 00:42:58 Justice is just behavior or treatment. 00:43:10 That's a good one. 00:43:56 Some of those are false positives. 00:44:13 (But many are not.) 00:44:25 `learn Just is just an adverb. 00:44:27 Learned 'just': Just is just an adverb. 00:45:13 `learn Just is just a just adverb. 00:45:15 Relearned 'just': Just is just a just adverb. 00:53:21 ha ha 00:56:41 `? bicyclops 00:56:42 bicyclops? ¯\(°​_o)/¯ 00:57:41 technically cyclops are named for the shape of their eye, not its number 00:58:21 *+e 01:03:20 squarops 01:03:47 oerjan: seems that it is actually a folk etymology 01:03:58 > This is thought to be a folk etymology, with the true etymology in Proto-Indo-European *pḱu-klōps ‎(“cattle thief”) becoming obscured after the loss of the word *peḱu-. 01:03:59 :1:39: parse error on input ‘,’ 01:04:03 fuck lambdabot. 01:04:12 lifthrasiir: huh 01:04:18 I'm just using a familiar markdown syntax here and there 01:08:04 oerjan: hmm, seems that there is no widely accepted theory. anyway, under the PIE proposal the appearance of cyclops is actually retroactively influenced by the folk etymology. 01:08:14 `? nobody 01:08:15 nobody? ¯\(°​_o)/¯ 01:08:33 (and the cyclops itself likely had regular two eyes) 01:10:04 `learn Nobody killed the cyclops Polyphemos after he tried to eat a shipful of sailors, and this percieved injustice made Poseidon so mad he swore vengeance at him and the gods couldn't calm him down for ten years. 01:10:09 Learned 'nobody': Nobody killed the cyclops Polyphemos after he tried to eat a shipful of sailors, and this percieved injustice made Poseidon so mad he swore vengeance at him and the gods couldn't calm him down for ten years. 01:10:41 lifthrasiir: and Polyphemos is named that because he has many eyes? 01:10:41 `sedlast s/percieve/perceive/ 01:10:44 No output. 01:10:50 `? nobody 01:10:51 Nobody killed the cyclops Polyphemos after he tried to eat a shipful of sailors, and this perceived injustice made Poseidon so mad he swore vengeance at him and the gods couldn't calm him down for ten years. 01:11:04 b_jonas: fine point. 01:11:07 oh, thanks for the spelling correction 01:11:50 i before e, except after c, and a heap of other exceptions hth 01:12:33 oerjan: yes, weird and either 01:12:55 maybe that should specifically say Zeus and Athene instead of just the gods? 01:13:21 although Hermes was there too 01:15:09 what about Bob 01:15:53 `cat bin/sedlast 01:15:53 sed -i "$1" "$(lastfiles)" 01:18:37 `? ring 01:18:38 Addition, subtraction and multiplication have a certain ring to them. 01:18:39 `? the ring 01:18:40 the ring? ¯\(°​_o)/¯ 01:18:46 `cat bin/mk 01:18:47 ​[[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$(echo-p "$key")" && echo "$key" 01:18:51 `? one ring 01:18:53 One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them 01:19:02 `? mark 01:19:03 mark? ¯\(°​_o)/¯ 01:19:55 Hola 01:19:59 `slashlearn mark/A mark of one's destiny singled out alone, fulfilled. 01:20:02 Learned «mark» 01:20:22 -!- lambda-11235 has joined. 01:20:27 `? sun 01:20:27 The Sun *may* be retroreflectorey, it's hard to be sure. 01:20:36 `? moon 01:20:38 The Moon is an unprovable celestial object that is not very retroreflectorey. 01:22:38 a retroreflectorey moon might be hard to see from earth 01:23:57 `? point 01:23:58 point? ¯\(°​_o)/¯ 01:24:19 `? sense 01:24:20 sense? ¯\(°​_o)/¯ 01:27:14 `? pike 01:27:15 pike? ¯\(°​_o)/¯ 01:27:17 -!- boily has quit (Quit: LOGARITHMIC CHICKEN). 01:27:27 -!- jaboja has quit (Ping timeout: 264 seconds). 01:27:49 `learn Pike is an interpreted language that got sort of forgotten among the four big mainstream p-languages (perl, python, ruby, php). 01:27:52 Learned 'pike': Pike is an interpreted language that got sort of forgotten among the four big mainstream p-languages (perl, python, ruby, php). 01:29:21 `? patch 01:29:22 patch? ¯\(°​_o)/¯ 01:29:36 `learn patch is the precursor to both perl and version control 01:29:39 Learned 'patch': patch is the precursor to both perl and version control 01:29:49 b_jonas: That happened when Go was released, right? 01:30:05 go robbed pike of its rightful place 01:30:50 ``` echo wisdom/*point* 01:30:51 wisdom/*point* 01:32:46 oh new folks have found us? 01:33:37 oerjan: a retrofeflectorey moon would be painful to look at during the full moon. it would be like a day that didn't end 01:39:25 -!- tromp_ has joined. 01:40:56 b_jonas: Waaaaaaaaaaaaaai 01:40:57 t 01:41:23 b_jonas: Yep, I see what you did there 01:42:42 quintopia: why? it would only reflect the light towards earth that came from earth. 01:42:59 hmm 01:43:59 -!- tromp_ has quit (Ping timeout: 260 seconds). 01:44:10 `learn Sense is the ability to understand things. A person with much sense is called a sensei. 01:44:16 Learned 'sense': Sense is the ability to understand things. A person with much sense is called a sensei. 01:46:03 oerjan++ 01:46:14 you are truly the heart of wisdom 01:46:36 thanks! 01:47:08 `` sed -i 's/$/./' wisdom/patch 01:47:10 No output. 01:47:25 but now i wonder how sensei relates to censorship 01:47:40 oh new folks have found us? <-- wut? 01:48:13 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 01:49:33 oh oops 01:49:43 `learn Sense is the ability to understand things. A person with much sense is called a sensei. 01:49:47 Relearned 'sense': Sense is the ability to understand things. A person with much sense is called a sensei. 01:49:54 keep mixing up spacing rules 01:53:33 -!- hppavilion[1] has joined. 02:00:22 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 02:00:58 ITWASAPREDICTIONANDITWASRIGHT!ALLHAILOERJANTHEPRESCIENTMASTEROF#ESOTERIC! <-- what now. 02:01:04 `? ESRCH 02:01:06 ESRCH? ¯\(°​_o)/¯ 02:01:14 -!- Lilly_Goodman has joined. 02:01:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 02:01:57 `? EINTR 02:02:00 EINTR? ¯\(°​_o)/¯ 02:02:01 `? EPERM 02:02:02 EPERM? ¯\(°​_o)/¯ 02:02:03 `? ENOENT 02:02:05 ENOENT? ¯\(°​_o)/¯ 02:02:10 `? EBADF 02:02:11 EBADF? ¯\(°​_o)/¯ 02:03:19 `? ear 02:03:21 ear? ¯\(°​_o)/¯ 02:07:07 `? ENONET 02:07:07 ENONET? ¯\(°​_o)/¯ 02:07:12 `? ENOTSOCK 02:07:14 ENOTSOCK? ¯\(°​_o)/¯ 02:07:23 `? EIEIO 02:07:24 EIEIO? ¯\(°​_o)/¯ 02:07:42 `? ESOCKTNOSUPPORT 02:07:43 ESOCKTNOSUPPORT? ¯\(°​_o)/¯ 02:07:49 b_jonas: have you considered `cat wisdom/{ESRCH,EINTR,EPERM,ETC} 02:08:16 ``` echo wisdom/{*wh*,e*} 02:08:17 wisdom/people who taneb is not wisdom/programmers knowing what they're doing wisdom/twh wisdom/twhib wisdom/whatchamacallit wisdom/who wisdom/whom wisdom/effilry wisdom/egobot wisdom/ehird wisdom/ehlist wisdom/el camino real wisdom/elendil wisdom/eliot wisdom/eliott wisdom/elliot wisdom/elliott wisdom/elrond wisdom/elronnd wisdom/emac wisdom/endofu 02:08:27 of course i mean `` cat 02:08:29 or `` grep '' 02:09:39 `? EDQUOT 02:09:40 EDQUOT? ¯\(°​_o)/¯ 02:11:28 `? double 02:11:29 double? ¯\(°​_o)/¯ 02:11:29 `? single 02:11:30 single? ¯\(°​_o)/¯ 02:13:48 `? float 02:13:49 float? ¯\(°​_o)/¯ 02:13:57 `? iaq 02:13:57 iaq? ¯\(°​_o)/¯ 02:16:49 `forget metest 02:16:54 Forget what? 02:18:10 `culprits wisdom/rdococ 02:18:14 oerjan 02:18:32 i _guess_ it just timed out before. 02:23:25 `forget menot 02:23:44 `learn_append zork Saneb invented it. 02:23:48 Learned 'zork': Zork is like York, except for the first letter. Saneb invented it. 02:23:56 wait 02:24:13 whoa whoa whoa 02:24:13 `sedlast s/Saneb/Uaneb/ 02:24:16 No output. 02:24:18 some sort of contravariance going on there? 02:24:21 or that 02:27:20 -!- hppavilion[1] has joined. 02:28:29 -!- mihow has joined. 02:33:20 or http://www.irregularwebcomic.net/1186.html with infinitely many heads <-- now i'm disappointed that i see nothing relevant when googling "gillette toothbrush" 02:37:13 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 02:38:53 -!- Lilly_Goodman has joined. 02:40:44 So you rang the computer and plugged in your typewriter <-- my father took one home once and let me try it out this way, back in 1982 or thereabouts. 02:40:59 -!- tromp_ has joined. 02:41:07 (a typewriter with a modem, that is.) 02:43:58 it had a printer, no crt 02:45:26 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 02:45:33 -!- tromp_ has quit (Ping timeout: 244 seconds). 02:48:29 -!- Lilly_Goodman has joined. 02:49:14 thx for the link, oerjan 02:53:22 oh right 02:53:52 you weren't speaking much so probably lambdabot didn't remind you very quickly? 02:54:31 -!- benderpc_ has joined. 02:57:27 tromp: ^ 03:03:28 i saw it earlier today 03:14:29 -!- ais523 has quit (Ping timeout: 250 seconds). 03:18:22 -!- mihow has quit (Quit: mihow). 03:18:48 -!- mihow has joined. 03:19:07 -!- mihow has quit (Client Quit). 03:19:31 zzo38: If someone made a social network you could browse from a shell, would you use it? xD 03:39:52 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:40:12 I don't use social networks 03:40:26 I am not really so interested in social networks, I can just use stuff like RDF instead 03:41:28 zzo38: You should tell that to vaporware. 03:41:53 Why? I think it does not concern them 03:42:05 Well, vaporware makes a social network. 03:49:29 -!- hppavilion[1] has joined. 03:58:35 -!- tromp_ has joined. 04:16:34 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 04:17:25 -!- Lilly_Goodman has joined. 04:21:12 What thing is currently wrong with TVMIDI that I have missed? (I know many things I did not put in yet, although maybe there is something I forgot, therefore I would need to be notified please.) 04:24:52 -!- tromp_ has quit (Remote host closed the connection). 04:52:46 -!- Lilly_Goodman1 has joined. 04:55:21 -!- Lilly_Goodman has quit (Read error: Connection reset by peer). 05:25:08 [wiki] [[Special:Log/newusers]] create * Kaynato * New user account 05:25:26 -!- tromp_ has joined. 05:30:04 -!- tromp_ has quit (Ping timeout: 268 seconds). 05:46:05 -!- benderpc_ has quit (Changing host). 05:46:05 -!- benderpc_ has joined. 05:47:28 -!- benderpc_ has changed nick to bender|. 05:50:08 -!- lambda-11235 has quit (Quit: Bye). 06:01:00 -!- Lilly_Goodman1 has quit (Ping timeout: 246 seconds). 06:03:06 [wiki] [[The Abstract Computer]] https://esolangs.org/w/index.php?diff=46674&oldid=46668 * Quintopia * (+4523) added some Post canonical systems 06:04:05 https://www.youtube.com/watch?v=hB6eY73sLV0 06:04:06 [wiki] [[The Abstract Computer]] https://esolangs.org/w/index.php?diff=46675&oldid=46674 * Quintopia * (-4) /* The Tag */ 06:05:36 -!- Lilly_Goodman has joined. 06:05:38 [wiki] [[Daoyu]] N https://esolangs.org/w/index.php?oldid=46676 * Kaynato * (+5316) initial publish 06:06:21 [wiki] [[Daoyu]] https://esolangs.org/w/index.php?diff=46677&oldid=46676 * Kaynato * (-16) 06:07:08 [wiki] [[Special:Log/upload]] upload * Kaynato * uploaded "[[File:Daoyu Symbol Table.png]]": Symbol table for Daoyu 06:07:16 [wiki] [[Special:Log/upload]] upload * Kaynato * uploaded "[[File:Daoyu Level Table.png]]": Level table for Daoyu. 06:07:31 [wiki] [[Special:Log/upload]] upload * Kaynato * uploaded "[[File:Daoyu SWAPS Explanation.png]]": Explains(?) Daoyu SWAPS. 06:07:45 [wiki] [[Special:Log/upload]] upload * Kaynato * uploaded "[[File:Daoyu LATER Explanation.png]]": Explains(?) Daoyu LATER. 06:07:55 [wiki] [[Special:Log/upload]] upload * Kaynato * uploaded "[[File:Daoyu MERGE Explanation.png]]": Explains(?) Daoyu MERGE. 06:08:10 [wiki] [[Special:Log/upload]] upload * Kaynato * uploaded "[[File:Daoyu HALVE Explanation.png]]": Explains(?) Daoyu HALVE. 06:15:30 -!- Lilly_Goodman has quit (Ping timeout: 276 seconds). 06:18:11 -!- Lilly_Goodman has joined. 06:36:19 -!- Lilly_Goodman has quit (Quit: Leaving.). 06:39:38 -!- Lilly_Goodman has joined. 07:12:11 Minovsky Physics is interesting 07:16:58 -!- carado has quit (Quit: Leaving). 07:20:38 -!- carado has joined. 07:36:41 -!- mroman has joined. 07:36:49 fnǔrd. 07:46:34 -!- Lilly_Goodman has quit (Ping timeout: 240 seconds). 08:12:34 `olist 1030 08:13:03 olist 1030: shachaf oerjan Sgeo FireFly boily nortti b_jonas 08:14:10 that olist was olisted several days ago hth 08:15:05 darn 08:15:20 ol'list 08:15:56 really? 08:16:05 oh right 08:16:05 damn 08:16:15 it's just that I haven't loaded the link from this browser yet 08:16:18 sorry for the false alarm 08:16:24 it's indeed not a new strip 08:16:34 (blame the long weekend) 08:18:04 -!- impomatic_ has joined. 08:21:00 a strip blip 08:24:45 Well 08:24:53 It looks like there may be a spell in IWC named after me 08:24:59 I need to be less impulsive on kickstarter 08:26:16 -!- ^v has quit (Ping timeout: 264 seconds). 08:26:36 a spell? 08:27:00 oh it's for the printed books? 08:27:38 Yeah 08:27:48 -!- ^v has joined. 08:27:58 One of the limited rewards is "SPELLSLINGER: A copy of the print collection book + a PDF digital copy + a set of comic postcards + Kyros learns a spell named after you." 08:32:51 -!- ^v has quit (Ping timeout: 264 seconds). 08:34:49 -!- ^v has joined. 08:44:09 Taneb: um... wasn't IWC using Patreon rather than Kickstarter in first place? 08:44:30 b_jonas, it's kickstarting a print collection 08:45:08 So those are two separate things? ok 08:45:14 s/things/funds/ 08:45:48 But that can't work. Patreon specifically mentions book compilations. 08:46:24 Ah, I see! 08:46:37 The new kickstarter thing is linked from the transient news entry. 08:57:29 -!- oerjan has quit (Quit: Nite). 09:02:13 -!- carado has quit (Remote host closed the connection). 09:03:12 -!- carado has joined. 09:09:42 Taneb: are you trying to get something funded? 09:09:50 mroman, yes 09:09:56 Hopefully not single handedly 09:11:55 link? 09:14:57 https://www.kickstarter.com/projects/dmmaus/irregular-webcomic-burning-down-the-alehouse 09:19:53 mroman: linked from today's transient news entry on Irregular Webcomics 09:21:11 hm 09:21:36 I like videos of people falling into water fountains because they're distracted by their smartphones much more. 09:21:51 Can I fund that? 09:26:47 mroman: you mean like, pay people to get distracted by smartphones and fall into fountains? or pay people to record video next to water fountains and search them for such occasions and publish them? or pay people to build more water fountains and more distracting smartphone games? 09:27:06 I think you can fund smartphone games. 09:27:48 -!- Goldplay has joined. 09:29:44 -!- Goldplay has quit (Client Quit). 09:36:35 -!- augur has quit (Read error: Connection reset by peer). 09:36:55 -!- augur has joined. 09:44:31 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 10:12:35 -!- boily has joined. 10:20:19 -!- Reece` has joined. 10:44:55 -!- boily has quit (Quit: PHYLUM CHICKEN). 11:10:18 -!- puckipedia has quit (Ping timeout: 244 seconds). 11:13:04 -!- earendel has quit (Ping timeout: 264 seconds). 11:17:56 -!- puckipedia has joined. 11:41:53 -!- earendel has joined. 11:52:32 -!- copumpkin has quit (Quit: Textual IRC Client: www.textualapp.com). 11:52:51 -!- copumpkin has joined. 12:14:22 -!- vodkode_ has joined. 12:19:03 -!- Sgeo has quit (Ping timeout: 240 seconds). 13:15:46 -!- Froox has joined. 13:17:26 -!- Frooxius has quit (Ping timeout: 244 seconds). 13:19:15 -!- Frooxius has joined. 13:21:01 -!- Froox has quit (Ping timeout: 244 seconds). 13:28:28 You could fund a special interest group whose mission is to promote disinterest 13:28:51 Though I imagine it might be a victim of its own success 13:30:24 -!- spygame has joined. 14:03:16 -!- lambda-11235 has joined. 14:10:32 -!- I has joined. 14:10:55 -!- I has changed nick to Guest6809. 14:12:33 -!- J_Arcane has joined. 14:13:09 -!- p34k has joined. 14:24:54 [wiki] [[Special:Log/newusers]] create * Hajo * New user account 14:30:11 Hm. That ^ account creation's email address confirmation message bounced, because the esolangs.org box has CaC's default reverse-DNS entry (of the form x.cloudatcost.com), and their email provider rejects if it's "a generic standard entry of your provider". 14:30:15 So picky. 14:35:45 makes sense though 14:36:22 proper providers allow user-defined reverse lookups 14:37:47 (well, no, it really doesn't make sense... I can see how it catches many more spammers than legitimate sites though) 14:39:33 -!- J_Arcane has quit (Ping timeout: 240 seconds). 14:42:10 int-e: Did you have a cloud-at-no-cost box, or was it someone else? Do they let you set a PTR record? (I would hope so.) 14:42:33 [wiki] [[User:Hajo]] N https://esolangs.org/w/index.php?oldid=46684 * Hajo * (+4) new 14:49:02 fizzie: if by "no cost" you mean the one-time payment deal, I have one of those... I don't recall whether I went looking for a way to set the PTR record though. (I definitely didn't set one) 14:52:41 Hmm. Right, that's also what esolangs.org is on. 14:54:29 anyway the control panel has a "reverse dns" field. 14:55:55 -!- lambda-11235 has quit (Quit: Bye). 14:59:17 Mhm. Well, that'd need a divine (Gregor) intervention. 14:59:42 `? gregor 15:00:12 Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible. 15:00:26 what's the status of esolangs.org ownership? 15:00:45 (speaking of divine intervention) 15:04:41 Registry Expiry Date: 2016-05-24T19:21:16Z 15:05:16 Wow, how have I never heard of cloudatcost? 15:05:40 prooftechnique: because they suck :P 15:05:59 As I have just seen with a cursory googling 15:06:05 I knew that deal was too good 15:06:46 (I believe they don't really maintain their hardware... they definitely don't have working abuse management. The best use of them I've heard of is for Tor exit nodes :P) 15:07:49 there's this site by an ardent fan ;-) http://www.cloudatacost.com/ 15:14:23 I mean, I guess I understand the frustration, but I have to imagine their support team is an unpaid intern. 15:14:33 int-e: Oh, it's that soon. 15:14:35 The margins on their service must be pretty slim 15:14:41 prooftechnique: exactly. 15:15:27 I got my cac server for amusement value... to see how broken it would be. 15:16:10 I wasn't disappointed... I don't get to see many read errors from storage devices these days ;-) 15:17:00 Stunning 15:26:32 -!- mroman has quit (Quit: Lost terminal). 15:34:42 int-e: I talked about taking ownership of the domain when it last expired, a year ago, but then didn't actually do anything. 15:37:07 I also had a very hypothetical thoughts of asking the channel for bitcoin donations and verifiably using those to pay for the domain, but that seems like such a hassle. Plus I had trouble finding a domain registrar that simultaneously (a) appeared not to suck, (b) accepted bitcoins and (c) had WHOIS privacy on by default instead of a pay-extra option. 15:37:14 Arguably (c) is part of (a). 15:41:41 I mean, Namecheap is like 3 USD a year. It's not default, but it's also not a pile of money. They at least haven't sucked for my domain registrations 15:43:51 -!- pelegreno has quit (Read error: Connection reset by peer). 15:45:06 -!- pelegreno has joined. 15:48:33 -!- pelegreno has quit (Remote host closed the connection). 15:49:45 -!- pelegreno has joined. 15:50:42 Well, to me Namecheap is saying £8.83/year for .org, plus £2.02/year for WhoisGuard, to a total of £10.85 ($15.49). 15:50:50 It's not *much* money, but it's also not "like 3 USD". 15:51:03 Oh, sorry, I meant just for the Whois 15:51:11 Sorry, should have been clearer 15:51:31 Oh. Right. Yeah, sure. 15:57:21 -!- bender| has quit (Quit: [Ping Pong fuck out: 69.69 seconds]). 15:59:26 [wiki] [[Daoyu]] M https://esolangs.org/w/index.php?diff=46685&oldid=46677 * Kaynato * (+116) Added categories. 16:00:09 [wiki] [[User:Kaynato]] N https://esolangs.org/w/index.php?oldid=46686 * Kaynato * (+57) Created page with "I make [[Daoyu]]. There will be more on this page later." 16:03:23 -!- spygame has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:03:28 [wiki] [[Daoyu]] M https://esolangs.org/w/index.php?diff=46687&oldid=46685 * Kaynato * (+399) Added some description 16:05:41 [wiki] [[Daoyu]] M https://esolangs.org/w/index.php?diff=46688&oldid=46687 * Kaynato * (+354) Added some more description 16:09:14 -!- irctc131 has joined. 16:09:38 -!- irctc131 has quit (Client Quit). 16:13:38 https://imgur.com/gallery/I7wFi oooh thisissocool 16:14:29 Whoa 16:16:49 um... 16:16:53 If only someone could come up with a simpler way to compute boolean expressions. I don't mind it, but all the weights make my office so loud. 16:16:57 yes, I'm pretty sure this one is new 16:17:16 `olist 1031 16:17:30 olist 1031: shachaf oerjan Sgeo FireFly boily nortti b_jonas 16:25:17 izabera: oh nice 16:25:39 -!- earendel has quit (Ping timeout: 248 seconds). 16:26:28 izabera: how deep can one make the circuits before they require a black hole? 16:28:36 -!- Frooxius has quit (Quit: *bubbles away*). 16:28:59 -!- Frooxius has joined. 16:35:17 [wiki] [[Daoyu]] M https://esolangs.org/w/index.php?diff=46689&oldid=46688 * Kaynato * (+0) Incorrect capitalization lead to incorrect category link 16:38:38 int-e: I'm pretty sure that'll be around full-adder 16:44:13 [wiki] [[Special:Log/newusers]] create * Lynn * New user account 16:49:29 -!- Reece` has quit (Read error: Connection reset by peer). 16:52:21 -!- Phantom_Hoover has joined. 16:53:08 -!- Reece` has joined. 16:58:44 -!- mihow has joined. 17:02:36 -!- gremlins has joined. 17:06:38 -!- Lymee has joined. 17:07:32 -!- oren has quit (Ping timeout: 268 seconds). 17:07:33 -!- clog has quit (Ping timeout: 268 seconds). 17:07:33 -!- incomprehensibly has quit (Ping timeout: 268 seconds). 17:07:33 -!- Reece` has quit (Ping timeout: 268 seconds). 17:07:34 -!- carado has quit (Ping timeout: 268 seconds). 17:07:36 -!- jameseb has quit (Ping timeout: 268 seconds). 17:07:37 -!- staffehn_ has quit (Ping timeout: 268 seconds). 17:07:37 -!- Lymia has quit (Ping timeout: 268 seconds). 17:07:38 -!- staffehn has joined. 17:07:38 -!- oren has joined. 17:07:41 -!- Lymee has changed nick to Lymia. 17:07:44 -!- jaboja has joined. 17:08:00 -!- jameseb has joined. 17:08:04 -!- carado has joined. 17:08:05 -!- clog has joined. 17:21:31 -!- incomprehensibly has joined. 17:27:37 -!- lmt has joined. 17:27:44 https://imgur.com/gallery/I7wFi 17:28:00 i always said you could make an esoteric language from a box of apples and some string 17:28:07 someone went ahead and actually did it 17:40:26 -!- hppavilion[1] has joined. 17:42:52 -!- jaboja has quit (Ping timeout: 250 seconds). 17:47:17 deja vu 17:54:31 Why would you get a LeaveNotify event if the mouse button is pushed? 17:55:12 dragging? 17:56:15 Without dragging 17:59:57 It says that it is grabbed 18:03:48 Oh xev? apparently the mouse click is delivered to the outer window, not the inner one. Is this due to OwnerGrabButtonMask? 18:04:28 In any case why didn't you mention that you were looking at xev output... 18:06:12 I was not looking at xev output and I did not put OwnerGrabButtonMask 18:06:47 However when I do use xev, I get different events, including KeymapNotify event whenever the button is pushed 18:06:52 -!- lmt has left. 18:09:48 [wiki] [[Daoyu]] https://esolangs.org/w/index.php?diff=46690&oldid=46689 * Kaynato * (+1361) Ideas about writing 18:16:46 Is it supposed to do that? If so, why? The documentation can be a bit confusing in some cases 18:20:06 O, it says "Unless an active grab already exists or a passive grab on the button combination that was pressed already exists at a higher level in the hierarchy than where the ButtonPress occurred, an automatic active grab of the pointer takes place when a ButtonPress occurs." 18:32:14 It does make some sense though 18:32:59 -!- Froox has joined. 18:33:24 -!- jaboja has joined. 18:34:38 -!- Frooxius has quit (Ping timeout: 248 seconds). 18:34:49 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46691&oldid=46619 * Kaynato * (+12) Added Daoyu to Language List 18:42:58 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:44:54 -!- Froox has quit (Quit: *bubbles away*). 18:52:27 -!- hppavilion[1] has joined. 18:59:27 this might be of interesting to everyone here: http://www.algodoo.com/what-is-it/ 18:59:53 I feel like I played that as a flash game 19:00:37 Time to make rockets fight lasers and a truck 19:02:39 noooo 19:02:51 think more on-topic! 19:03:11 think exotic mechanical computers! 19:03:13 consider! https://www.youtube.com/watch?v=YP8FjfS-f6Y 19:03:45 I think there's a reasonable argument to be made that a laser-rocket-truck fight can simulate a Turing machine 19:03:51 :P 19:04:03 That is a very cool video, though 19:06:41 -!- Frooxius has joined. 19:06:56 im going to be playing with it a bunch, and then building some actual rod logic computers :) 19:07:20 I think my favorite part of Algodoo videos so far is that they all have absolutely bonkers music backing them up 19:08:26 :) 19:14:37 -!- zzo38 has quit (Remote host closed the connection). 19:15:45 [wiki] [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=46692&oldid=46318 * Kaynato * (+308) Added Daoyu implementation 19:25:16 [wiki] [[Daoyu]] https://esolangs.org/w/index.php?diff=46693&oldid=46690 * Kaynato * (+138) Formatting 19:25:39 -!- jaboja has quit (Ping timeout: 268 seconds). 19:27:37 [wiki] [[Truth-machine]] https://esolangs.org/w/index.php?diff=46694&oldid=46407 * Kaynato * (+384) Added Daoyu implementation to /* Implementations */ 19:42:12 -!- MoALTz has joined. 19:47:05 -!- vodkode_ has quit (Remote host closed the connection). 20:01:36 augur, i remember this from yeeeears ago 20:01:59 i don't think it was optimised enough for rod logic though... 20:14:30 Phantom_Hoover: well, it looks like it is now! :) 20:16:51 -!- jaboja has joined. 20:18:05 -!- mihow has quit (Quit: mihow). 20:29:54 -!- mihow has joined. 20:35:43 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:45:21 -!- hppavilion[1] has joined. 20:52:12 -!- Guest6809 has quit (Ping timeout: 260 seconds). 20:55:37 -!- J_Arcane has joined. 21:07:21 -!- gremlins has quit (Quit: Leaving). 21:11:01 -!- ais523 has joined. 21:40:24 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 21:41:19 -!- Phantom_Hoover has joined. 21:51:10 -!- boily has joined. 21:51:49 -!- augur has quit (Quit: Leaving...). 21:53:40 `wisdom 21:53:57 `wisdom 21:53:58 there should be a progress bar or something... 21:54:17 hellochaf. how you doin'? nice HackEgo weather innit? 21:54:24 `? weather 21:54:38 usb3/USB3 hosts are packaged with a full independent implementation of the older USB/USB2, going through separate pins in the same socket. It is similar to DVI, except you need a separate passive converter stub to plug VGA monitor to DVI socket, but you don't need one to plug a USB client to an USB3 host. 21:54:48 `culprits wisdom/usb3 21:54:55 gonad/gonads are the best punctional fondlegramming squishcture. 21:54:58 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 21:55:01 b_jonas b_jonas 21:55:02 `culprits wisdom/gonad 21:55:03 CYUL 292100Z 32012G19KT 30SM FEW240 06/M11 A3002 RMK CI1 SLP170 \ ENVA 292120Z 24011KT 9999 FEW015 BKN022 05/02 Q0995 RMK WIND 670FT 26014KT \ ESSB 292150Z AUTO VRB02KT 9999 BKN082/// 02/01 Q1001 \ KOAK 292053Z 23007KT 10SM FEW010 17/03 A2988 RMK AO2 SLP117 T01720028 58009 21:55:03 int-e ais523 oerjan elliott oerjan 21:56:26 I'm suffering from withdrawal. any other comics similar to GG I can binge on? 21:59:13 -!- augur has joined. 22:01:18 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 22:02:49 Similar to GG, hmm. 22:04:24 -!- Vorpal has quit (Ping timeout: 244 seconds). 22:04:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:10:35 -!- Sgeo has joined. 22:15:37 -!- Vorpal has joined. 22:21:14 -!- Vorpal has quit (Ping timeout: 260 seconds). 22:23:05 `wisdom 22:23:14 method/A method is a tweaked out mothod. 22:23:48 So. Concurrency. 22:24:19 The ideal concurrency solution—which is to say, the best imaginable solution, rather than the best possible one—is to make it so that no two processes can run simultaneously, but all processes finish as soon as they begin, making concurrency unnecessary. 22:27:15 Another solution is the ostrich solution. Just ignore the problem. 22:27:48 Write each process under the assumption that it and other processes will never interfere with each other. 22:29:10 Now, why wouldn't this work for... let me just pick a random hypothetical example... a health insurance company? 22:30:13 Well, imagine if this company had a synchronization process, which takes data from table A, processes it a little, and puts it in table B. 22:30:54 If something were to modify a record in table A while this synchronization process is running, B might end up with a record that's half one thing, half the other thing. 22:32:24 The nice thing, I think, is that a lot of processes are read-only. The company would obtain information about members a whole lot more often than it would modify information about members. 22:34:44 When it comes to concurrency, you can almost just ignore all read-only processes. 22:34:58 If a process does nothing but read, then you can just take a consistent snapshot of the database and give that to the process to chew on. 22:35:13 Which may be easier said than done. 22:36:09 As for process which write as well? Boy. 22:39:27 tswett, I assume you've looked at Rust? You either have as many read references as you want, or only one write reference 22:40:24 Yup. 22:40:40 Things get interesting when you try to apply that to a database. 22:41:29 In Rust, I don't think you can generally go and "check out" an object, so to speak, so that you have temporary write access to it. 22:41:46 Sort of "you can't access anything except what you're given". 22:41:59 Whereas databases tend to be "you can access everything except what someone else has taken". 22:42:54 Now, that whole "many readers or one writer" thing is pretty ubiquitous. 22:43:23 -!- hppavilion[1] has joined. 22:43:49 Now I'm thinkin'. Suppose that each process only writes to one table. 22:46:02 You can do something like this: 22:46:25 When a process begins, atomically do the following: take a snapshot of the database and lock the target table for writing. 22:46:45 The process can read everything from the snapshot. It's a perfectly consistent state. 22:50:21 Now, whenever a read-only process needs to happen, there's no problem. Have it read from that snapshot, too. 22:51:35 But, uh... this is going to cause a problem whenever you want multiple read-write processes at once. 22:52:02 The second process won't be able to begin, because in order to begin, it has to take a snapshot of the database, and it can't do that while the first process has a table locked for writing. 22:54:56 Remind me, what's the problem with just having each process acquire all the locks it will ever need simultaneously? 23:13:59 -!- copumpkin has joined. 23:22:07 -!- oerjan has joined. 23:23:48 hellørjan. 23:26:04 bonightly. 23:28:54 -!- impomatic_ has quit (Quit: http://corewar.co.uk). 23:29:23 mroman: you mean like, pay people to [...] <-- rube goldberg approves of this funding method 23:29:24 How does streamed audio/video work with servers?? 23:29:44 oerjan: Full quote? 23:30:05 i snipped it because it's bloody long tdnh 23:30:24 oerjan: I wasn't online 23:30:31 oerjan: So I can't even search the scrollback 23:30:31 http://codu.org/logs/log/_esoteric/2016-03-29#092647bjonas 23:30:32 Wait, logs 23:30:35 Ty 23:30:41 fortunately the logs have anchors 23:30:54 i wasn't online either hth 23:31:48 oerjan: Ah, right 23:32:09 oerjan: i make sure to add anchors to every web application before i ship it 23:32:52 shachaf: Like Ging? 23:33:12 * hppavilion[1] has the sudden fear "ging" is a racial slur he's never heard of 23:33:23 it's slightly annoying that you cannot get to those anchors by selecting a proper link. i lose the search highlighting i already had. 23:33:39 * oerjan sinks shachaf with the saucepan ===\__/ 23:33:57 * hppavilion[1] just got the pun 23:34:42 i also suspect that the statement may be true as a trivial quantification. 23:35:04 oerjan: What are you implying? 23:35:06 (it would be for me, anyway) 23:35:39 no wait, _if_ it's true, it's a trivial truth. 23:35:53 That's always the case. 23:36:02 oerjan: What do you mean, lose the search highlighting? 23:36:03 shachaf: i'm implying that the only way that can be true is if you have made no web applications hth 23:36:18 oerjan: Vacuous truth? 23:36:23 oerjan: What if I made web applications and added anchors? 23:36:29 shachaf: i always start logreading by searching for my name, and keep it highlighted. 23:36:37 hppavilion[1]: that's the word! 23:36:50 oerjan: But clicking on a thing to get an anchor doesn't unhighlight searches, does it? 23:37:03 shachaf: yes, because it takes you to a new page 23:37:07 shachaf: You didn't make EVERY web application (for most of them, you aren't allowed to touch them), therefor that statement must be false 23:37:21 Oh, it doesn't in Chrome but it does in Firefox. I don't know about IE. 23:37:24 Wait, new page? 23:37:31 and the anchor is only in the url of that page. 23:38:02 shachaf: ok maybe not new. new history entry. 23:38:02 I must be missing something about your logreading process. 23:38:14 Anyway if you used Chrome it would do what you want, I think. 23:38:38 ಠ_ಠ 23:38:52 oerjan: I take it that's the look of disapproval? 23:39:05 hppavilion[1]: I was only quantifying over the web applications I shipped. 23:39:12 And it depends on how broad "shipped" is, anyway. 23:39:23 \forall app in webapplications: added(shachaf, app, anchors) 23:39:34 -!- Vorpal has joined. 23:39:39 You're ignoring an important part of the sentence. 23:39:50 shachaf: Which part? 23:40:01 shachaf: "Before I ship it"? 23:40:03 oerjan can explain 23:40:20 pikhq: do you ship youtube and google+ 23:40:28 shachaf: THAT'S MY JOKE 23:40:40 shachaf: I own the copyright to all "web application shipping" jokes 23:41:20 hppavilion[1]: "ging" could be short for "ginger", which i'm not sure whether is a real slur or not, but i think south park or something made it one 23:41:32 oerjan: Ah 23:41:43 hppavilion[1]: look i shipped all sorts of web applications 23:41:45 oerjan: "ging" is Google x Bing hth 23:41:46 ginseng is tg 23:43:15 hppavilion[1]: OKAY 23:47:42 I keep parsing "tg" as Turing-gomplete. 23:48:09 `? tg 23:48:19 Totally groovy. 23:48:23 * oerjan taps his foot 23:48:28 too good 23:48:56 TG is short for Turing-Gödel, the highest possible level of difficulty for a multiplayer game. 23:49:40 assuming that isn't just a joke, how is it defined? 23:50:06 'fraid it is 23:50:12 -!- Vorpal has quit (Ping timeout: 268 seconds). 23:50:44 oerjan: I was hoping it was something like "determining the optimal strategy requires solving the Halting Problem" 23:51:11 `learn_append tg At this level, it's undecidable whether you can manage to quit before losing or not. 23:51:21 Learned 'tg': TG is short for Turing-Gödel, the highest possible level of difficulty for a multiplayer game. At this level, it's undecidable whether you can manage to quit before losing or not. 23:51:38 maybe it should say "halt" instead. 23:51:46 `sedlast s/quit/halt/ 23:51:49 No output. 23:53:35 this sounds useful. "A Beginner's Guide to Invading Earth" 23:55:11 -!- hydraz has changed nick to everybody. 23:55:20 -!- everybody has changed nick to hydraz. 23:55:34 "Of legal knowledge I acquired such a grip / That they took me into the partnership. / And that junior partnership, I ween, / Was the only ship that I ever had seen." 23:56:52 shachaf: LOL no, I do not. 23:57:00 That's an anti-ship if I ever saw one. 23:57:16 -!- Vorpal has joined. 23:57:26 I ship Google+ and [internal social app] however! 23:57:52 pikhq: whoa whoa whoa, which internal social app is that? 23:59:26 Google's favorite for ages, straight outta Cambridge. 23:59:36 `helloworldinanylanguage python 23:59:37 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: helloworldinanylanguage: not found 23:59:46 Awww 23:59:49 did it die? 23:59:53 `ls bin 23:59:54 ​` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ?? \ ¿ \ ' \ @ \ * \ ؟ \ \ \ \ 1492 \ 2014 \ 2015 \ 2016 \ 2017 \ 5quote \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ aglist \ allquotes \ analogy \ anonlog \ append \ arienvenido \ as86 \ aseen \ asm \ autowelcome \ bardsworthlist \ benvenuto \ bf \ bienvenido \ bienvenue \ blessyou \ bookofeso \ botsnack 2016-03-30: 00:00:28 <\oren\> wait are there still two me's? 00:00:52 fuuuuuuuuuuuuu 00:00:54 yup! 00:01:30 pikhq: Do you ship Google Apps and work? 00:01:33 -!- \oren\ has quit (Quit: leaving). 00:01:37 I forget, how do you make the bot pastebin an output? 00:01:42 Well, sure. 00:01:51 -!- oren has changed nick to \oren\. 00:01:55 <\oren\> there 00:02:13 there's this site by an ardent fan ;-) http://www.cloudatacost.com/ <-- . o O ( is anyone keeping esolangs.org and HackEgo backups ) 00:03:27 oerjan: I'm keeping wiki backups on occasion, but not as frequently as I should be 00:07:49 yay 00:08:07 `` ls bin/*ello* 00:08:08 bin/hello \ bin/hello-world-in-any-language 00:08:12 I'm not keeping logs backups though 00:08:16 Elronnd: no hth 00:08:32 also, `` ... | paste 00:08:52 `` ls bin | paste 00:08:53 i don't think the logs are on the same server. 00:08:56 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.20204 00:09:05 or are they 00:09:20 `hello-world-in-any-language python 00:09:21 SyntaxERR 00:09:27 *there* we go 00:10:09 <\oren\> `hello-world-in-any-language perl 00:10:10 Your language does not exist 00:10:16 <\oren\> `hello-world-in-any-language c 00:10:17 Hello, Segfault! 00:10:27 <\oren\> `hello-world-in-any-language php 00:10:28 Your language does not exist 00:10:40 excellent answer. 00:10:49 a bit opinionated 00:10:59 <\oren\> `hello-world-in-any-language salmon 00:11:00 Your language does not exist 00:11:05 `hello-world-in-any-language fortran 00:11:06 Your language does not exist 00:11:13 `hello-world-in-any-language pascal 00:11:13 Your language does not exist 00:11:16 <\oren\> someone needs to fill these in 00:11:17 `hello-world-in-any-language brainfuck 00:11:18 ERR Tape end reached 00:11:25 `hello-world-in-any-language befunge 00:11:25 Your language does not exist 00:11:31 `hello-world-in-any-language funge98 00:11:32 Your language does not exist 00:11:34 * int-e shrugs 00:11:35 this is not a very good hello world in any language 00:11:42 `hello-world-in-any-language french 00:11:43 Your language does not exist 00:11:52 indeed, the simpler version was better. 00:11:59 the languages are in hw/$languagename 00:12:05 `hello-world-in-any-language kayak 00:12:06 Your language does not exist 00:12:31 <\oren\> So today I found out that our internally used programming language is not the company's IP. 00:12:47 `` echo "Wello!" > hw/php 00:12:49 No output. 00:12:52 <\oren\> we're just the only people who've ever used it 00:12:54 `hello-world-in-any-language php 00:12:55 Wello! 00:12:59 `` echo 'TypERR, expected "str", got "char *[]"' > hw/pascal 00:13:02 No output. 00:13:34 `hello-world-in-any-language pascal 00:13:36 TypERR, expected "str", got "char *[]" 00:13:53 oerjan: There's an automatic weekly mirroring of everything onto the box to the right of my feet, an automated weekly incremental backup of *that* to the box to the left of my feet, and every now and then I swap the disk in *that* box with a copy I have in a bank vault in Finland. 00:14:04 Elronnd: since when is char *[] a pascal type 00:14:09 it's not 00:14:14 fizzie: what happens when you turn around 00:14:23 shachaf: All the data is lost. 00:14:25 fizzie++ 00:14:26 oerjan: since when is "SyntaxERR" an output printed by python 00:14:32 <\oren\> https://web.archive.org/web/20140105015657/http://salmonpl.net/ 00:14:44 oerjan: Of course by asking about it you've pretty much assured it all goes spectacularly wrong somehow. 00:14:51 @karma fizzie 00:14:52 fizzie has a karma of 16 00:14:55 @karma 00:14:55 You have a karma of 13 00:14:57 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 00:15:00 @karma 00:15:00 You have a karma of 0 00:15:11 oerjan: ? 00:15:30 `cat bin/hello 00:15:31 echo Hello 00:15:38 `hello, world 00:15:38 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: hello,: not found 00:15:43 `hello world 00:15:44 Hello 00:16:03 <\oren\> @karma 00:16:03 You have a karma of 0 00:16:15 <\oren\> @jemima 00:16:15 Unknown command, try @list 00:16:17 @karma oren 00:16:17 oren has a karma of 0 00:16:19 @list 00:16:19 What module? Try @listmodules for some ideas. 00:16:24 @listmodules 00:16:25 activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search slap source spell system tell ticker todo topic type undo unlambda unmtl version where 00:16:26 fizzie: your backup system explanation somehow manages to be simultaneously reassuring and worrying 00:16:32 <\oren\> @alarma 00:16:32 You have a karma of 0 00:16:39 <\oren\> @macarena 00:16:39 Unknown command, try @list 00:16:50 The "every now and then" is only about once a year or so (since Finland isn't so accessible), so there's quite a lot that could get lost if this place burns down *and* CloudAtCost goes under (and nobody else has a more up-to-date backup). 00:17:09 I think someone else than just ais523 was fetching the public dump, though. 00:17:09 `karma+ \oren\ 00:17:30 `karma+ oren 00:17:36 @karma \oren\ 00:17:36 \oren\ has a karma of 0 00:17:49 ​\oren\ now has 1 karma. 00:17:54 oren now has 1 karma. 00:18:00 <\oren\> @karma 00:18:00 You have a karma of 0 00:18:05 <\oren\> BUG 00:18:11 <\oren\> `karma 00:18:18 ​ has 5 karma. 00:18:42 oerjan: ? <-- i recommend paying attention to the rest of the discussion hth (which would also have saved you the recent paste) 00:18:58 I'm guessing the disk in the bank vault is empty, and gets regularly swapped with another empty disk 00:19:04 meanwhile the backups are made to one of the boxes at fizzie's feet, except it hasn't actually managed to write something for several years due to a stray dry-run flag 00:19:28 Plausible. 00:19:56 The mirroring is likely to work, in the sense that I've listed the files and they look reasonable. Of course the contents could all be zeros. 00:20:46 Hmm. There are a number of daily fetches of the public wiki dump, from different addresses and with different user agents. 00:21:33 One "Wget/1.16.1 (linux-gnu)", Java versions 1.4.1_04, 1.6.0_04 and 1.8.0_71 and zsync/0.6.2. 00:22:15 90-ish unique IP addresses in approximately February and March. It's a popular file. 00:22:41 I'm thinking the zsync at least is someone deliberately setting it up, rather than a random scraper. 00:23:26 (Especially since it's from the same address at approximately the same time every day.) 00:24:02 I zsync it randomly when I remember and am on a high-bandwidth connection 00:24:52 The daily one comes from a hacksoc.org address. 00:25:06 Which is that York thing. 00:25:19 * oerjan looks askew at Taneb 00:27:25 The public dump doesn't include some things, like the user accounts or images, but it's probably relatively good from the "preserve the achievements of humankind" perspective. 00:29:05 Hm, it's "--uploads --include-files"; maybe it does in fact include images as well. 00:29:15 Wonder how those go in the XML. Best not to ask questions. 00:30:49 it's probably not a very image-heavy site 00:31:27 . o O ( --include-passwords ) 00:32:26 Fun fact: the article at at exactly the halfway point of the XML dump is the one for the Thue-Morse sequence. (From an old, old version; I don't actually regularly mirror that since I mirror everything else.) 00:32:51 I'm hosting a backed up copy at my server now https://em.slashem.me/esolang.xml 00:33:04 What is the worst possible choice for a shell prompt? 00:33:14 fizzie: is the second half the first in reverse twh 00:33:23 hppavilion[1]: "#", when you're not root 00:33:26 It must be a meaningless character string of length no greater than 5, and must not be the null string 00:33:40 hppavilion[1]: "WARNING! Doing this operation on a mounted disk can lead to disk corruption! Continue (y/n)? " 00:33:53 hmm, that's too long 00:34:00 -!- mihow has quit (Quit: mihow). 00:34:05 ais523: Also, meaningful 00:34:27 hppavilion[1]: I used "007" as part of a prompt in an INTERCAL-related project 00:34:36 ais523: no, it needs to be 00:34:41 because % is commonly used as a shell character and % is called a "double-oh-seven" by the INTERCAL docs 00:34:44 I think "x := " is pretty bad, because it implies that you're setting a variable 00:35:04 "Assuming answer of !! to mean yes. Continuing..." and then your prompt 00:35:07 what about four spaces? 00:35:28 that's meaningless, nonempty, and would be very confusing 00:35:30 ais523: is OK 00:35:47 ais523: It provides visual indent from normal command prompting 00:36:07 Actually, having just tried setting my prompt to four spaces, it's *very* confusing 00:36:13 what about [%d] , where the %d is a number that increments with every command input? 00:36:14 Elronnd: How? 00:36:22 that's one of the worst prompts I've seen in practice 00:36:35 (at least, the general idea is, I'm not sure if any were that /precisely/) 00:36:36 not really, actually 00:36:38 ais523: I'll let that through, even though it could be > 5 characters 00:36:45 it's pretty alright 00:36:52 ais523: It does seem a little useless 00:36:56 my zsh prompt includes "%h", which is how many commands have been typed 00:37:04 so it does increment with every command 00:37:29 hppavilion[1]: you could roll back round to 1 from 999, thus confusing people who expected it to be mod-1000 00:37:37 "In[%d]:= " so that you can pretend you're in Mathematica all the time. 00:37:47 yes, Mathematica is one of the progams I was thinking of 00:37:49 (perl -d was the other) 00:38:15 There's a Scheme like that. 00:38:30 Chicken Scheme's prompt is "#;%d> " with that notation. 00:38:54 I'm not sure if there's some syntax for referring back to previous inputs, as is the case in Mathematica. 00:39:24 -!- tromp_ has joined. 00:39:26 fizzie: https://en.wikipedia.org/wiki/%25s is one of the more controversial disambiguation pages 00:39:46 it doesn't look like it from looking at it 00:39:47 heh 00:39:57 but have a look at the talk page, which is much, much longer than the page istelf 00:39:59 *itself 00:40:07 yes it does 00:40:27 just the URL... 00:47:43 I think the worst prompt would be a short offensive word 00:47:51 I can think of several, but it's not nice to say them in channel 00:48:03 hppavilion[1]: ^ 00:48:09 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:48:58 prooftechnique: Fair enough 00:49:25 Oh, or "php> " 00:49:56 5 characters exactly 00:50:40 Not technically correct, since php -a actually gives "php > ", but eh 00:50:48 First you say you're not going to say any offensive words, then you come up with that. 00:51:08 I know, I know, my filth knows no bounds 00:52:14 Perhaps just "$ rm " 00:52:24 It resembles a command 00:52:28 And it's scary 00:52:52 But it's meaningful to some people, so... 00:53:12 I guess the absolute worst command prompt is one which executes a harmful command and prints the exit code. 00:53:40 prooftechnique: What's The Absolute Worst harmful command though? 00:53:58 Probably rm -rf ~ followed by a forkbomb, but infectious 00:54:06 Like, the actual prompt says 1, but the prompt code is like "rm -rf /; echo $?" 00:54:06 (To both computers AND brains) 00:55:00 I do think a prompt that is just the string "rm -rf ~" would be fun for a laugh 00:57:11 prooftechnique: Does *nix have hidden files? 00:57:23 As a historical accident, yes 00:57:29 prooftechnique: Good 00:57:36 prooftechnique: The meanest program you could possibly write: 00:57:46 One with identical output to "rm -rf ~" 00:57:56 prooftechnique: But instead of deleting files, it hides them 00:58:05 so basically 00:58:06 rm doesn't have output 00:58:15 Unless you use rm -i 00:58:17 <\oren\> my $PS1 00:58:20 prooftechnique: it does if you run it with -v 00:58:20 <\oren\> \[\033[38;5;39m\]\D{%Y%b%d%a%T%Z} \W$\[\033[0m\ 00:58:26 Elronnd: Oh, true 00:58:29 scp -r ~ /tmp/.homedir 00:58:40 prooftechnique: OK, then identical to rm -rfiv ~ 00:59:01 Wait, not v 00:59:05 yes, v 00:59:05 v is version, isn't it 00:59:06 not i 00:59:18 My fish prompt: http://sprunge.us/KWaR 00:59:33 hppavilion[1]: -f overrides -i 00:59:37 i will prompt you 00:59:40 prooftechnique: What does -i do? 00:59:41 and that isn't what you want 00:59:43 Interactive 00:59:47 v will just print 00:59:50 prooftechnique: Oh 00:59:53 and scp -r will mimic that 00:59:53 Elronnd: Ah 01:00:05 `scp 01:00:20 `` rm -rf / 01:00:25 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: scp: not found 01:00:26 rm: it is dangerous to operate recursively on `/' \ rm: use --no-preserve-root to override this failsafe 01:00:29 Elronnd: Yes, that hasn't been tried before 01:01:23 Elronnd: We need an `scp that is basically a massive http://www.scp-wiki.net/ reference 01:02:00 I saw a /r/writingprompts post that linked there but I still don't understand 01:02:11 what is scp aside from secure/ssh copy? 01:02:24 Elronnd: Secure Contain Protect 01:02:29 Elronnd: It's a 4chan thing, originally 01:02:43 Elronnd: It's basically psychological horror written in scientific prose 01:02:45 secure containment...of what? 01:02:51 ah 01:02:53 I used to have an א in my prompt, but multi-term didn't like that 01:04:10 Hm... 01:04:14 I want to make a custom shell 01:04:18 And I want a new syntax 01:04:39 I've been using fish for years. I think the syntax is much nicer :) 01:04:39 I have a draft text adventure game shell somewhere... 01:04:55 how would that wrok? 01:04:57 s/ro/or 01:04:58 Then there's this https://github.com/chrisdone/hell 01:11:25 Proof Golf 01:11:34 Prove Pythagoras in the fewest number of characters possible 01:12:52 hppavilion[1]: http://pastebin.ca/3422401 01:17:38 I've decided to make a golfing language whynot 01:18:03 boily: Oh, boy 01:18:15 Sorry, I mean "Oh, boily" 01:19:51 prooftechnique: "Oh, boyly" 01:19:58 hppavilion[1]: I can prove the Pythagorean theorem in 3 characters if I can use a picture 01:20:06 prooftechnique: You can't 01:20:24 prooftechnique: You have to use a golfing proof assistant 01:20:43 prooftechnique: Feel free to invent one, so long as it doesn't have a "prove pythagoras" instruction 01:21:00 Do comments count against the character count? 01:21:23 prooftechnique: They do not, but they're a pain in the ass for checkers. Preferably include both a commented and uncommented version. 01:21:39 Actually, you /may/ have a prove pythagoras instruction, but I'll also ask you to prove something else that I'm yet to come up with after, in the same assistant with /no/ changes 01:22:09 Also "t a^2 + b^2 = c^2", where t is "trust me" 01:24:05 boily: I think I'm going to reimplement this in fish. I think it's possible. I really like the idea 01:24:19 prooftechnique: ... dammit 01:24:40 prooftechnique: it was a hack I made for fun many years ago. I'm still fond of the descriptions :D 01:24:59 helloily 01:25:01 good night 01:25:53 quinthellopia 01:25:58 bonne nuit! 01:26:10 bonnenuitopia 01:26:18 -!- boily has quit (Quit: CANDLE CHICKEN). 01:31:03 -!- pdxleif has quit (Ping timeout: 260 seconds). 01:31:56 -!- tromp_ has quit (Remote host closed the connection). 01:32:31 -!- pdxleif has joined. 01:32:35 This %s talk page is amazing 01:34:54 -!- copumpkin has quit (Ping timeout: 260 seconds). 01:37:19 "According to statistics, %s is the 993rd most visited page this month, on a par with World Trade Center and Hydrogen." 01:37:32 Lie, n.: 01:37:32 A very poor substitute for the truth, but the only one 01:37:33 discovered to date. 01:37:41 Good Night, Folks! 01:38:16 night 01:46:07 ais523: How could a stack-based language be made type-safe? 01:46:34 hppavilion[1]: look into row polymorphism 01:47:28 Column polymorphism probably wouldn't hurt, either 01:48:16 ais523: I don't get it 01:48:45 hppavilion[1]: so the idea is you have a function that requires specific types for the top few elements of the stack, but is polymorphic on the ones below 01:49:01 ais523: Ah. 01:49:11 ais523: And you can typecheck this at compile time? 01:49:15 I think I see it 01:49:28 -!- copumpkin has joined. 01:49:40 hppavilion[1]: with type annotations, probably 01:49:46 ais523: OK 01:49:48 type inference is likely undecidable though 01:51:44 ais523: Ah :/ 01:52:39 ais523: Is a dependently-typed shell at all a good idea? I'm sure it'd be useful for /something/ 01:53:02 hppavilion[1]: many people say powershell is a bad idea 01:53:13 and it is much less precisely typed than a dependently typed shell would be 01:53:20 ais523: OK 02:02:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 02:03:07 there was this guy (c. diggins, was it?) around here and elsewhere a few years ago who tried to make a stack language with type inference. i think he got somewhat stuck with the "polymorphic on the ones below" part. it gets quite tricky if you try to give a type to something like underload's ^ which calls the function on top of the stack. and much worse if you try to call a function _twice_ with the st 02:03:13 ack possibly different... 02:03:40 oerjan: I strongly suspect that it's impossible to infer for the same reason that rank-3 type inference is in general impossible 02:03:49 it may work with explicit type annotations though 02:04:19 yeah if you have a general idea what your program _should_ do, you can probably annotate it enough. 02:07:14 I wonder if you could bolt a type system onto APL 02:07:34 Well, a stronger one, anyway 02:07:52 -!- Lilly_Goodman has joined. 02:09:15 -!- p34k has quit. 02:12:57 Also, stunned that Dyalog charges 1275 GBP for a 64-bit license :o 02:12:57 -!- heroux has quit (Ping timeout: 244 seconds). 02:13:24 -!- Lilly_Goodman has quit (Ping timeout: 246 seconds). 02:19:46 -!- hppavilion[1] has joined. 02:25:24 Hm... 02:25:33 Stack-Based Logic Programming? 02:25:35 -!- Lilly_Goodman has joined. 02:26:17 ais523: Wait, how would row polymorphism deal with loops, assuming an imperative SBL? 02:26:34 hppavilion[1]: if the loops don't change the size of the stack (which they often don't) there's no issue 02:26:45 if they do, they'd need to leave a predictable repeating pattern of types on the stack 02:26:53 you might need to use some sort of polymorphic recursion technique 02:26:56 ais523: Ah? 02:27:15 ais523: So you need a functional language for row polymorphism then? 02:27:30 how do you define "functional"? 02:27:52 ais523: Based on pure or mostly-pure functions 02:27:57 ais523: As opposed to state change 02:28:09 So you'd pass the stack around instead of just modifying it 02:28:17 It'd barely be stack based at that point though 02:31:05 -!- lambda-11235 has joined. 02:32:00 you don't need to pass the stack around as long as there's just one at all times. 02:44:31 a stack of functors 02:51:45 -!- espes__ has joined. 02:53:17 -!- Lilly_Goodman has quit (Ping timeout: 260 seconds). 02:56:00 -!- Lilly_Goodman has joined. 02:57:37 -!- heroux has joined. 03:11:36 -!- spygame has joined. 03:13:50 quintopia: That might actually work 0.0 03:15:40 naturally so 03:17:32 oerjan: ... 03:17:47 oerjan: Does λ-calculus support functors? 03:19:11 hppavilion[1]: not directly. also this was a category theory pun. 03:19:21 oerjan: Yes, I figured that 03:19:31 thought so. 03:19:38 oerjan: The instructions in a stack-o-functors language would be natural transformations, would they not? 03:20:19 Did someone say stack? https://en.wikipedia.org/wiki/Stack_(mathematics) 03:21:01 BAD! BAD PROOFTECHNIQUE! 03:21:17 hppavilion[1]: hm i think a tuple of functors can be thought of as a functor, so probably. 03:21:27 oerjan: Interesting 03:21:36 (between the corresponding tuples of categories) 03:21:36 oerjan: Wait, a tuple? 03:21:54 oerjan: Is the tuple representative of the stack? 03:22:24 oerjan: Oh, "stack of functors" was discussing a mathematical stack. The /fool's/ stack 03:22:26 not entirely, but every concrete stack is some tuple size... 03:23:03 -!- spygame has left. 03:23:08 oerjan: So why isn't there a λ++-calculus based on functors? Or is that stupid? 03:23:33 :t (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) 03:23:34 a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m -> n -> o -> p -> q -> r -> s -> t -> u -> v -> w -> x -> y -> z -> t28 -> t29 -> t30 -> t31 -> t32 -> t33 -> t34 -> t35 -> t36 -> t37 -> t38 -> t39 -> t40 -> t41 -> t42 -> t43 -> t44 -> t45 -> t46 -> t47 -> t48 -> t49 -> t50 -> t51 -> t52 -> t53 -> t54 -> t55 -> t56 -> t57 -> t58 -> 03:23:35 t59 -> t60 -> t61 -> t62 -> t63 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54, t55, t56, t57, t58, t59, t60, t61, t62, t63) 03:24:17 `scold prooftechnique 03:24:22 hppavilion[1]: i would not be willing to bet either way whether quintopia meant that kind of stack. in any case if he did, i'm hereby underqualified hth 03:24:32 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: scold: not found 03:24:58 How do I capitalize in Bash? 03:25:25 (Don't worry, I'm using `mkx this time) 03:25:57 I think if I go to grad school, I'm going to get way into descent theory. I think I've seen all of 5 names on those papers ever, so I don't think there'd be a bunch of competition 03:26:00 hppavilion[1]: all i know about lambda-calculus and CT is that supposedly, closed cartesian categories model simply typed LC. the pieces probably involve some functors. 03:26:09 hppavilion[1]: Use tr? 03:26:16 `` echo "{walrus^^}" 03:26:21 ​{walrus^^} 03:26:28 `` echo "${walrus^^}" 03:26:29 No output. 03:27:44 `` foo=walrus; echo "${walrus^}" 03:27:47 No output. 03:27:50 `` foo=walrus; echo "${foo^}" 03:27:51 Walrus 03:27:52 Whoops 03:28:15 `` foo=walrus; echo "${walrus^^}" 03:28:16 No output. 03:28:23 `` foo=walrus; echo "${foo^^}" 03:28:24 WALRUS 03:28:27 Same mistake 03:28:30 `` echo walrus | tr '[:upper:]' '[:lower:]' 03:28:31 walrus 03:28:39 Wait, I don't need that 03:28:41 I'm using $1 03:28:59 `mkx bin/scold//echo "BAD! BAD ${1^^}!" 03:29:02 `` echo "walrus" | tr '[:upper:]' '[:lower:]' 03:29:04 bin/scold 03:29:05 walrus 03:29:10 `scold prooftechnique 03:29:10 BAD! BAD PROOFTECHNIQUE! 03:29:15 :) 03:29:18 How nice 03:29:24 prooftechnique: It's very useful 03:29:38 prooftechnique: I wish there was a way to control HackEgo from out-of-channel for mortals 03:29:44 `` echo "walrus" | tr '[:lower:]' '[:upper:]' 03:29:45 WALRUS 03:29:56 So we could make HackEgo yell at people without having to type the command 03:30:00 `? prooftechnique 03:30:01 prooftechnique ? ¯\(°​_o)/¯ 03:30:33 Hang on 03:30:45 `learn prooftechnique is inevitably on a mathematical descent. 03:30:47 Learned 'prooftechnique': prooftechnique is inevitably on a mathematical descent. 03:30:55 `scold HackEgo 03:30:56 BAD! BAD HACKEGO! 03:31:00 Whoops 03:31:05 `scold hppavilion[1] 03:31:05 BAD! BAD HPPAVILION[1]! 03:31:32 THere 03:31:42 `learn prooftechnique né NihilistDandy He was there some time ago. Maybe he'll come back. Maybe he's a nihilist, too. (Note from the Editor: He came back, and is a nihilist.) 03:31:45 I successfully `scolded myself for inventing `scold 03:31:47 Relearned 'prooftechnique': prooftechnique né NihilistDandy He was there some time ago. Maybe he'll come back. Maybe he's a nihilist, too. (Note from the Editor: He came back, and is a nihilist.) 03:31:57 prooftechnique: You aren't allowed to edit your own wisdom hth 03:32:02 It defeats the purpose 03:32:03 Observe: 03:32:12 `learn prooftechnique né NihilistDandy: He was there some time ago. Maybe he'll come back. Maybe he's a nihilist, too. (Note from the Editor: He came back, and is a nihilist.) 03:32:14 Relearned 'prooftechnique': prooftechnique né NihilistDandy: He was there some time ago. Maybe he'll come back. Maybe he's a nihilist, too. (Note from the Editor: He came back, and is a nihilist.) 03:32:15 That was my old wisdom 03:32:31 -!- tromp_ has joined. 03:32:36 `quote NihilistDandy 03:32:37 363) elliott: His mouse obeys the law of the excluded middle :/ \ 393) MY CONTINUITY MY FANFICTION RUINED \ 402) The Russian's emblem was the hammer and sickle, not the fist and other fist \ 412) Non sequitur is my forte On-topic discu 03:32:47 `quote prooftechnique 03:32:48 1272) (make is an esoteric language) b_jonas: Most esolangs I've seen have more comprehensive docs than make 03:32:52 `learn hppavilion[42] is the awesomest person you will ever meet. Much awesomer than oerjan. 03:32:55 Learned 'hppavilion[42]': hppavilion[42] is the awesomest person you will ever meet. Much awesomer than oerjan. 03:33:04 prooftechnique: ^that's why 03:33:14 I was merely restoring order. 03:33:19 You can always append to the old one 03:33:40 prooftechnique: Um, oerjan `?d you and HackEgo had no clue 03:34:06 I know. At some point, wisdom must have been reset. I have a github repo and everything here with proof 03:34:30 `? `? `? 03:34:31 Yes, you're very clever 03:34:33 int-e is on it, too 03:34:34 :) 03:34:39 `? int-e 03:34:41 int-e är inte svensk. Hen kommer att spränga solen. 03:35:02 `` ? walrus | ? 03:35:06 ​? ¯\(°​_o)/¯ 03:35:17 `? walrus 03:35:19 walrus? ¯\(°​_o)/¯ 03:35:27 `` ? walrus 03:35:31 walrus? ¯\(°​_o)/¯ 03:35:45 `` echo walrus | ? 03:35:46 ​? ¯\(°​_o)/¯ 03:35:49 Huh 03:36:02 I'm doing something obviously wrong, that's for sure 03:36:32 prooftechnique: Do you know of any completely esoteric forms of shell interaction? 03:36:48 PowerShell 03:36:58 prooftechnique: No. 03:37:01 -!- tromp_ has quit (Ping timeout: 252 seconds). 03:37:04 I think tcsh is a lost art, too 03:37:26 prooftechnique: What would be a good, strange way to interact with a shell? Perhaps some equivalent-but-totally-different equivalent to redirection? 03:38:08 No redirection. Only partial application of polyvariadic functions 03:38:20 prooftechnique: Oooh, partial application sounds nice 03:38:50 prooftechnique: Though I'd do them in an "anonymous lambda" syntax 03:39:16 (Wait, not anonymous, implicit) 03:39:18 `` foo=walrus; echo "${foo^}" 03:39:19 Walrus 03:39:28 swapped_mv = mv \2 \1 03:39:33 hppavilion[1]: you need to escape ? to use it as a shell command. 03:39:36 (All lambdas are anonymous, duh) 03:39:41 oerjan: OOOOOOH 03:41:01 * oerjan has tcsh on his (ancient) nvg account. he doesn't do very esoteric things with it. 03:42:18 `culprits wisdom/prooftechnique 03:42:21 prooftechnique prooftechnique oerjan 03:42:35 prooftechnique: are you _sure_ that existed before? 03:42:40 `? nihilistdandy 03:42:44 nihilistdandy? ¯\(°​_o)/¯ 03:42:55 `culprits wisdom/nihilistdandy 03:43:01 No output. 03:43:22 i suppose it might have been deleted before the last repo reset 03:43:38 `` ls wisdom/*tech* 03:43:41 wisdom/prooftechnique 03:43:47 `` ls wisdom/*dand* 03:43:48 wisdom/danddreclist 03:44:12 The github repo I took that from was run by boily from Aug 2013 to what looks like October 2015 03:44:32 oh you mean the wisdom.pdf? 03:44:36 Yeah 03:45:00 well that's _not_ older i think. 03:45:21 it's based on HackEgo after all. but someone may have added something just to it. 03:45:43 _or_ something could have got lost to HackEgo's `revert bugs. 03:46:01 (but i thought those mostly _prevented_ deleting stuff) 03:46:09 Last edit on my wisdom there is Nov 6, 2013, so ¯\(°​_o)/ 03:46:29 better ask boily. 03:47:34 `quote non sequitur 03:47:35 412) Non sequitur is my forte On-topic discussion is my piano Bowls of sugary breakfast cereal is my mezzoforte Full fat milk is my pianissimo On which note, I'm hungry 03:49:02 What's the quote append syntax, again? I should add back oerjan's addition. :D 03:49:14 -!- Lilly_Goodman has quit (Quit: Leaving.). 03:49:22 prooftechnique: I think you have to edit the storage directly 03:49:27 ais523: no 03:49:50 I thought it was quote-add or something 03:50:08 Er, learn-add 03:50:15 Maybe learn+ 03:50:23 `learn_append prooftechnique He is inevitably on a mathematical descent. 03:50:27 Learned 'prooftechnique': prooftechnique né NihilistDandy: He was there some time ago. Maybe he'll come back. Maybe he's a nihilist, too. (Note from the Editor: He came back, and is a nihilist.) He is inevitably on a mathematical descent. 03:50:27 prooftechnique: `le/rn_append 03:50:36 There we go 03:50:45 le/rn_prepend 03:50:51 Tack tack :D 03:51:07 hppavilion[1]: you only need that if there are spaces in the file name. possibly slashes. 03:51:14 oerjan: Ah 03:51:30 `cat bin/learn_append 03:51:31 ​#!/bin/bash \ topic="$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//')" \ stuff=$(echo "$1" | cut -d' ' -f2-) \ perl -i -p -e 's/\n/ /' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo -n "Learned '$topic': " \ cat "wisdom/$topic" 03:51:45 oh slashes shouldn't be relevant. 03:51:50 the file already has to exist. 03:54:06 actually slashes might be relevant the other way, since `le/rn_append uses them as separator. (`le//rn_append should use two.) 03:55:30 hm time for heating pizza 03:56:36 Dropping those extraneous h's will make it 'm, time for eating pizza', t 04:01:40 -!- lambda-11235 has quit (Max SendQ exceeded). 04:02:14 -!- lambda-11235 has joined. 04:02:57 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 04:19:02 prooftechnique: but then it'd be frozen! 04:19:33 You raise an important point 04:28:39 wat, no edits in my wp watchlist 04:28:48 i think it's been a while since that happened 04:29:03 *new 04:30:47 -!- lambda-11235 has quit (Ping timeout: 268 seconds). 04:31:45 -!- lambda-11235 has joined. 04:32:05 oops, not to forget the pizza... 04:35:11 -!- lambda-11235 has quit (Read error: Connection reset by peer). 04:46:18 * oerjan ponders if he should have removed the pizza halfway through to fix the uneven toppings 04:46:43 this is pretty soaked in too much pineapple. 04:51:48 and only a small part seems to have any cheese. 04:55:03 -!- heroux has quit (Ping timeout: 240 seconds). 05:29:19 -!- Zoroaster has joined. 05:29:21 -!- Zoroaster has changed nick to Kaynato. 05:29:31 Hello all, I have made an esolang recently 05:30:02 I wrote a C compiler and interpreter. Recently I am optimising the memory allocation but the version so far should work without trouble 05:30:14 Nice to meet you. 05:32:12 -!- heroux has joined. 05:32:39 Hello, heroux 05:33:22 -!- tromp_ has joined. 05:37:33 -!- tromp_ has quit (Ping timeout: 244 seconds). 05:41:23 hi Kaynato 05:41:35 have you posted the language to the wiki? that's where most people go to look for new esolangs 05:41:51 Yes! I spent a lot of effort making my page, actually. It is great to meet the administrator here :) 05:41:57 Here it is: https://esolangs.org/wiki/Daoyu 05:42:45 I'm not the only administrator :-) 05:43:31 also I haven't been checking the wiki as much as I should recently because my RSS reader is broken 05:43:33 so I'd missed it 05:43:52 No problem, you are here after all 05:44:17 I was really excited to make this esolang, actually, I don't think I've really seen anything resembling this idea before 05:44:36 it's a lot more interesting than most people's esolangs 05:44:46 Although it was a tremendous hassle to actually write anything non-trivial in this language, haha 05:45:01 Half the code in the truth machine exists solely to make sure the input is ASCII 0 or 1 05:45:27 The rests writes a program inside the program data to then check the last unknown bit and decode to output and loop or output and end :) 05:45:48 The end mechanism is also very interesting - it deallocates the memory where the program that is running is being stored 05:46:08 Which exits the execution loop out of that, and then out of the top level program 05:46:24 I am unsure which paradigm this really counts as 05:46:35 how useful is UPLEV? 05:47:01 Very! It is indeed vital to the operation of the code 05:47:06 hmm, it reminds me a bit of the sort of things people do in Befunge 05:48:00 Hm, but the pointer does not change direction ever 05:48:11 oh I see, UPLEV changes what's interpreted as IDLES so that commands like SIFTS operate on different information 05:48:30 right, I wasn't thinking so much to do with the pointer direction as the sort of things you can do with self-modifying code 05:48:37 UPLEV was a combination of "How do I loop?" and "How do I not go into an infinite DOALC explosion?" 05:48:52 fizzie: does Befunge-98 have a mass fungespace copy fingerprint? 05:49:32 err, fizzie's in the UK and probably won't answer questions at 6:50am 05:49:34 To be fair, most of these commands were to "hopefully make this turing complete," haha 05:49:38 No problem, that's fine 05:49:42 I tend to just ask people on the offchance they're online 05:49:50 It's a good strategy 05:49:51 Kaynato: you write languages much the way I do, I think 05:49:58 Snowflake's initial set of instructions are pretty weird 05:50:08 but it was a case of "find way to add functionality the language needs" 05:50:19 Of course! With Daoyu it was initially just a data generation language 05:50:36 DOALC, SPLIT, HALVE, LATER, MERGE 05:50:45 I think the page could be made a bit better by explaining what the data storage model is, before presenting the commands 05:50:53 Of course, I was thinking about that 05:50:53 at the moment you explain what the commands do but it's not clear what they're operating on 05:51:16 I am on that right now 05:51:16 a program is formed out of a program and data, and data is also formed out of a program and data, recursively? 05:51:54 A program always owns data. Data can always become a program. 05:52:36 When you load a program from the binary code, the interpreter creates data, allocates it properly, reads the code into the data, then calls EXECS from the first bit 05:59:13 [wiki] [[Daoyu]] https://esolangs.org/w/index.php?diff=46695&oldid=46693 * Kaynato * (+813) More explanations 05:59:28 There we go :) 06:00:23 So, hmm... 06:00:29 "A program is formed out of a program and data" 06:01:10 When code is loaded, it is only data. EXECS can be interpreted as a function that turns data into a program - or rather, if the idea of "program" itself is thrown out 06:01:35 There is only one program at all times, and that program IS the interpreter. The instruction is the data that is being read (the "program") 06:02:09 Since the data all looks the same to EXECS, any data can become a program that EXECS executes. 06:02:56 And EXECS can also, through data that it receives (a program), create data which also calls EXECS, and then run through it, creating data by necessity of calling EXECS. 06:03:25 right 06:03:33 it's the sort of loop that concatenative languages normally use 06:04:02 I'm not sure whether your language is concatenative; it has a lot in common with something like Underload but also a lot of differences 06:08:02 For example, you have numbers :) 06:08:41 For a while I had been using 3$ to represent $$$ but there was really no reason to have numerals of any sort here, haha 06:08:57 Underload doesn't have numbers either really, you represent them as programs that make copies of other programs 06:09:10 ^ul (:::^^^)(x)~^S 06:09:10 ...bad insn! 06:09:18 ^ul (:::***)(x)~^S 06:09:18 xxxx 06:09:20 that's what I meant 06:09:25 that's the number 4, being converted to unary 06:09:27 Ah, but there is a copy function... 06:09:37 ^ul (:::***)(:::***)*(x)~^S 06:09:37 xxxxxxxxxxxxxxxx 06:09:40 and that's 4 times 4 06:09:48 Mhm, very nice 06:09:52 but yes, Underload has a copy because it's meant to be pretty minimal 06:09:56 ^ul (:::***)(:::***)^(x)~^S 06:09:56 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 06:10:05 4 to the power of 4 is, umm, 256 06:10:14 but those are too many xes to easily count 06:10:30 Mhm 06:11:01 Another problem is that Daoyu does not really have a stack 06:11:23 At the least, I am extremely unsure if it could "easily" produce stack-like behavior 06:11:49 It seems to be a "mostly writing" type of language in which reading is extremely difficult 06:12:11 Or just tedious 06:12:21 this is common in esolangs 06:12:54 To be expected, I suppose 06:13:39 The program "<" loops 9 times exactly - the program "><" is an infinite loop, and the program ">$<" generally causes a memory overflow 06:14:37 I find myself recently trying to make a program filter to demand ASCII digits, but I can't seem to figure out how to do it 06:15:05 It was possible with the truth-machine because 0 and 1 only differ by one bit 06:15:36 However, with a digit filter, I have to check certain digits only provided that other digits are in a certain pattern 06:16:46 often I think about how a language really "wants" to do input and output 06:16:50 A thought was to attach a single conditional to a "flag incrementer" for such a condition, which would permute some data outside of the ASCII input... 06:16:54 for example it may want to read a bit at a time rather than a byte at a time 06:17:06 That is possible here too 06:17:08 in this case, part of the problem is that the input can represent any pair of commands if interpreted as commands 06:17:34 I guess you could double the input twice so that you only have to deal with 0000 and 1111 06:17:54 Hm, if one only selects 4 bits before calling INPUT, then it is truncated anyway 06:18:03 or, hmm, does doubling even work like that? 06:18:08 Doubling? 06:18:55 err, DOALC 06:19:11 DOALC always ensures that the new bits are zeros 06:19:14 I should specify that 06:19:18 right 06:19:47 [wiki] [[Daoyu]] M https://esolangs.org/w/index.php?diff=46696&oldid=46695 * Kaynato * (+42) Minor clarification 06:20:10 Another problem is that of binary partitions 06:20:29 It is very difficult to transport data across large partitions - in the worst case, the middle of the data 06:20:53 [wiki] [[Portable Minsky Machine Notation]] M https://esolangs.org/w/index.php?diff=46697&oldid=46043 * Ais523 * (+15) /* Definition */ clarify whitespace rules 06:21:05 That is part of the reason I have SIFTS - so that one could write across partitions, then use SIFTS to move it all into likely a single one 06:22:47 most of the instructions in Snowflake are designed to avoid this sort of problem 06:22:59 e.g. one of them is to make it possible to introduce more than linearly many list wrappers per cycle 06:24:34 That is an extremely interesting language 06:25:13 I need to write an interpreter of it, make a backup copy, and experiment a bit 06:25:36 It seems like it would be very fun to write, most certainly! 06:27:28 Regarding this problem in Daoyu: But, since SIFTS probably(?) takes care of that problem, I suppose it would still be alright? 06:27:31 -!- bender| has joined. 06:28:17 I would suppose the next important step would be to make a program that takes input, modifies some bit outside of the input data depending on some bit in the input, and moves back to its original position 06:30:01 you could try writing a program to copy a string 06:30:26 ^bf >,[>,]<[<]>[.>]<[<]>[.>]!this is a test 06:30:26 this is a testthis is a test 06:30:32 that one 06:30:41 Mhm, yes 06:30:56 But I haven't identified any permutation cycles yet for looping, actually, hm 06:31:00 it's an interesting test of a language because you can't write it in a "linear" language, which is one in which data is only usable once 06:31:04 I imagine that the setup would be 06:31:10 ofc you would probably use a different algorithm to that brainfuck program 06:31:46 Setup - Take input - Make looping program to copy input - Run from beginning of internal program - Terminate 06:32:53 Something I should do very soon is to make a utility to print out necessary ([/!) for generation of arbitrary bit-strings 06:36:06 It is interesting that "ascending and descending floors of data" which I initially specified as a whimsical solution to an edge case has become so vital 06:39:54 that reminds me of the complexity of Snowflake's segmented transposition; there are a lot of cases I had to exclude as they'd otherwise have been irreversible (and all commands being reversible is important to Snowflake's design because it means you never lose access to functionality that existed in an older version) 06:40:10 and creating those cases artificially is only real way to do an if statement 06:42:04 Hm, and here I have to deal with the problem of intrinsically lossy commands 06:42:52 But part of the design was preventing the introduction of "obvious" commands such as incrementation, assignment, plain conditional, etc. 06:43:00 yes 06:43:05 too many people start with those 06:43:18 IMO, an esolang isn't a real esolang unless you have to figure out how to implement numbers for yourself 06:43:25 I agree wholeheartedly 06:45:00 An idea that I have been thinking of more recently is the potential in moving the data pointer into the original program data and then using EXECS 06:45:00 it is a differently kinded esolang, to be exact 06:45:01 what? you can't make categorical statements like that. there are many ways to esolangs. 06:45:06 yeah 06:45:34 Ah, ah, that is true also 06:45:47 some can be esoteric in its intention; some in its complexity; some in the external context; some in the computational ability; some in, uh, true stupidity; etc. 06:46:04 lifthrasiir: the truly stupid ones are clearly esoteric, but only arguably languages 06:46:16 something like Esme qualifies as truly stupid but I'm not convinced it's actually a langugae 06:46:29 And then there are the piles of BF Derivatives 06:46:33 more likely it is a moderately well-done trolling attempt 06:46:46 ais523: you bet. my point is that there is no such thing like "real esolang" (though I see what you really meant). 06:46:51 then there are the BF derivatives, only a small fraction of which are interesting, but which are a good way for new people to learn how to write esocompilers 06:47:16 "Real Esolang" is arguably much more dangerous than the idea of "Real Programmers / Real Languages" 06:47:38 "real programmers" are mostly a joke, though 06:47:53 the name's normally taken to refer to people like Mel from The Story of Mel 06:47:54 real programmers do not use any tool. they choose the universe that would contain the desired information somehow. 06:48:13 who do programming at a level so low that most people have problems comprehending it 06:48:23 Mhm 06:48:28 (this is sometimes exaggerated a bit, like in lifthrasiir's example) 06:48:37 a classical joke. 06:48:43 "real languages" is not something that I've heard of before 06:48:53 (inspired from https://xkcd.com/378/ ) 06:48:53 It feels that using Daoyu is sort of grasping at that horrible, painful thing at the bottom of the world, with one's hand cut off and eyes sewn shut 06:48:56 by saying "real esolang" I wasn't being 100% serious 06:49:17 It can be said to be at a lower conceptual level than assembly, of all things, but then orthagonal 06:49:35 especially because you can sometimes get interesting languages by starting with arithmetic (e.g. Forte) or even brainfuck (e.g. PaintFuck) 06:49:42 Oh of course 06:50:22 -!- jaboja has quit (Remote host closed the connection). 06:50:49 IMO, an esolang isn't a real esolang unless you have to figure out how to implement numbers for yourself <-- Fueue hth 06:50:55 or, for that matter, JavaScript (JSFuck), although JSFuck is only really interesting in that it's possible 06:51:10 also FORTE 06:51:40 I mentioned Forte already! 06:51:47 i was backscrolled! 06:52:00 how dare you contradict yourself while i'm typing! 06:52:25 I must admit I'm partial for arithmetic. I like arithmetic. 06:53:35 that said, in Forte, I'm not convinced that implementing numbers using numbers is the best idea 06:54:20 the TCness proof uses simulated Minsky machines 06:54:48 I think that the Rotary Turing Machine may prove BF\(-) TC 06:55:20 now I'm reminded to wikiplia, which has built in integers, functions for addition, subtraction, and equality, but not less-than comparison. the way to do less-than comparison (on not too large integers) is to subtract the two numbers, converting the result implicitly to a string substring it to take the first character, and compare that substring to "-" 06:55:24 hppavilion[1]: BF without -, is this? 06:55:31 ais523: Yes 06:55:39 ais523: \ is stand-in for set difference 06:55:45 that's clearly TC if you have a limited cell size, e.g. in 8-bit BF you can replace - with 255 + 06:56:00 if you have an unlimited cell size it's more interesting 06:56:10 that, or you can just do bitfuck by replacing + with 128+ 06:56:15 ais523: But it might only prove Brainfuck with an even wrapping point TC 06:56:20 ais523: hey, fractran both does and doesn't fit 06:56:36 my immediate reaction was that it was obviously sub-TC but thinking about it I'm not sure 06:57:16 ais523: Nowrap BF\- is probably not TC, but it might be if you allow quotient types 06:57:39 ais523: Basically, you could have 2-cell tuples (a, b) that represent a/b 06:57:42 let's call this "permanent BF" because once a cell becomes nonzero, you have no way to set it back to zero 06:57:46 Wait, but how would you do the math? 06:57:49 ais523: Good idea 06:58:14 ais523: And Permanent BF's wimpmode has a _ ("reset to zero") instructoin 06:58:31 no, that would make the language really different 06:58:37 ais523: Should we compile a (single-page) list of "Brainfuck derivatives that are actually interesting"? 06:58:39 ais523: Fair enough 06:58:43 the most obvious implementation method appears to be to allocate every nth cell as a different counter, and create an increment-only Minsky machine whose instructions are "increment counter" and "compare two counters" 06:58:51 hppavilion[1]: no. 06:58:58 b_jonas: It would only be one page 06:58:58 definitely no. 06:59:04 hppavilion[1]: just no. 06:59:07 b_jonas: In fact, we could move boolfuck and such into that page 06:59:09 it would lead to too much flames. 06:59:16 err, I mean, each of the n sets of every-nth-cell is a counter 06:59:22 b_jonas: Thus DECREASING the number of BF derivative pages 06:59:25 hppavilion[1]: if you want, make a user subpage about brainfuck variants that _you_ think are interesting, and emphasize it's subjectiveness. 06:59:33 hppavilion[1]: that's not how it works 06:59:39 hppavilion[1]: think of "too many standards" 06:59:39 you could make an objective page of "BF derivatives that are not trivial to prove TC or T-incomplete" 06:59:53 ais523: Yeah, that works 07:00:00 ais523: TiC? 07:00:05 unTC 07:00:10 ais523: Yeah 07:00:55 ais523: "Brainfuck derivatives with nontrivial computational class proofs, and other assorted significances"? 07:01:18 no because now it isn't objective 07:01:25 ais523: Yeah, fair enough 07:02:03 BoolFuck is probably fairly simple (not quite trivial, but not insane) to prove TC, but it's still significant because of being boolean, thus showing that any n>2 is acceptable for a cell bound 07:02:28 ais523: Fine, how about just the stuff before the comma? 07:02:54 is BoolFuck just BrainFuck where every cell is either 0 or 1, and rather than +/- you have a toggle? 07:03:01 hppavilion[1]: that might work 07:03:05 coppro: yes 07:03:08 I think 07:03:15 oh it's trivially TC then 07:03:17 many of these limited-BFs make minor changes to the set of instructions that exist 07:03:24 like removing output 07:03:34 or merging < and * (* is the toggle instruction) 07:03:35 you can easily emulate arbitrarily cell-bounded BF with it 07:03:49 coppro: Not quite trivial, but fairly simple 07:03:56 By generalization 07:04:04 Thinking about that, it would be possible to implement BoolFuck in Daoyu if it were not for the problem of nonlinear partitioning. Linear traversal operates at a higher level than is available 07:04:25 256-wrap BF is TC, 128 is, 64 is, 32 is, 16 is, 8 is, 4 is, so why not 2? Or something along those lines 07:04:27 I could change the level table to make this trivial but I am not sure if that is in the spirit of this language 07:04:40 how easy is it to emulate unbounded BF in bounded-cell BF? I assume it's harder than the bounded-in-bounded implementations, and interpreter-bundling might even be the easiest way 07:07:22 ais523: depends on how fast you want it 07:07:42 I think I will set my next goal to be a string copier. It is 3 AM now, so goodnight everyone, once again thank you for being receptive and kind 07:07:58 night Kaynato 07:08:56 ais523: well you basically have to use some stick-infinitely-many-cells-in-one method 07:09:04 wait 07:09:06 ais523: and I don't think you need interpreter bundling. just treat it like a single-tape turing machine with a couple of different symbols, each cell represented by a fixed number of brainfuck cells; represent bignums on the turing machine in unary and shift the whole rest of the tape when you increment a bignum. 07:09:10 that's the wrong way 07:09:25 oerjan: the other way you definitely go via Minsky machines 07:09:29 ais523: that is, if you don't need efficiency, only turing-completeness, then it's easy. 07:09:46 ais523: What would you say the most promising path for proving Permafuck's computational class is? 07:09:58 b_jonas: I agree that it's easy if you just care about TCness 07:10:11 hppavilion[1]: Minsky machines 07:10:15 ais523: OK 07:10:33 they're a really good model for restricted BFs because BF can implement a Minsky machine in two different ways 07:10:46 either using single unbounded cells or a row of cells along the tape 07:11:14 i think BCT would also be fairly easy 07:11:38 I think you'd have difficulty finding the left end of the queue 07:11:41 using two cells for each BCT cell 07:11:58 hppavilion[1]: no, it's trivial 07:12:25 oerjan: only two? 07:12:33 what's your iteration command for going from the right end to the left end? 07:12:39 every two adjacent boolfuck cells become one 4-brainfuck cell 07:12:42 maybe more. i wasn't thinking about getting to the end there. 07:12:45 ooh, I think you could probably do it using five 07:12:56 or six? 07:12:57 i think maybe 3? 07:13:08 and intentionally unbalancing the loop so that you fall to an otherwise unreachable position 07:13:36 [wiki] [[Brainfuck derivatives with nontrivial computational class proofs]] N https://esolangs.org/w/index.php?oldid=46698 * Hppavilion1 * (+1494) Created page (First Example: Permanent Brainfuck) 07:13:50 replace each instruction with another instruction that works on the 2-cell 07:14:01 to make it even easier 07:14:09 ais523: Are there any strict subsets of brainfuck with trivial computational class proofs? 07:14:12 replace the two-cell with three cells, one of which just stores a "is nonzero" bit 07:14:20 * hppavilion[1] realizes his massive mistake there 07:14:31 * hppavilion[1] misspoke entirely 07:14:41 whoa whoa whoa, I thought you were talking about n-categories 07:14:41 Are there any Turing-Complete strict subsets of brainfuck? 07:14:51 hppavilion[1]: remove , and . 07:15:02 ais523: Oh, right. The /useless/ instructions. 07:15:06 ais523: Other than that? 07:15:10 you can remove + or - on with a bounded cell size, and remove < or > with a bounded tape length 07:15:17 other than that you can't remove instructions without changing or adding some 07:15:20 ais523: But isn't that a trivial proof? 07:15:24 permanent brainfuck is boring 07:15:26 Oh, I forgot to constrain "nontrivial" 07:15:28 it can't loop 07:15:30 (obviously if you have both a bounded cell size and a bounded tape length it's sub-TC) 07:15:32 coppro: why not? 07:15:38 coppro: Yeah, I think that's the biggest problem 07:15:41 I agree that you can't write a useful /balanced/ loop 07:15:43 ais523: by induction 07:15:49 but I don't see why an unbalanced loop couldn't be useful 07:16:01 ais523: Unbalanced loop? 07:16:11 actually wait 07:16:13 ais523: Like, unbalanced brackets? 07:16:18 hppavilion[1]: one which isn't necessarily on the same cell at the [ and the ] 07:16:23 what's the input-output method here? 07:16:24 that matters 07:16:24 ais523: Ah 07:16:28 the simplest possible unbalanced loop is [>] 07:16:39 coppro: I think we ignore those 07:16:41 coppro: assume no input, output is BF . 07:16:46 that's the simplest model I think 07:16:53 ais523: err, what 07:17:08 ais523: Or , increments the current cell by n, but that just leads to needless complication 07:17:09 alternatively you could make output BF . but in bits 07:17:11 I'm talking about computational complexity 07:17:17 so that you don't have to store the value of the cell 07:17:23 how does it receive input? 07:17:32 coppro: It doesn't. 07:17:35 coppro: which language are you talking about? unbounded-cell BF without - ? 07:17:38 coppro: It's like a TM: no input 07:17:39 ais523: yes 07:17:46 you don't need input to prove TCness 07:17:53 you don't? 07:17:56 coppro: No! 07:18:08 explain 07:18:08 coppro: , and . are useless to brainfuck aside from practicality! 07:18:19 coppro: It's confusing, I know, but if you think long enough, it works 07:18:21 oh wait 07:18:21 durrr 07:18:23 it's alte :( 07:18:25 *late 07:18:32 you were confusing with BF-completeness, I think@ 07:18:35 *think? 07:18:50 ais523: @ should be used in actual punctuation 07:19:01 I really love your hair@ <-- Sarcasm 07:19:15 i think that's a great idea@ 07:19:22 oerjan: Well played. 07:19:42 what do you mean by the output being BF, though? 07:19:46 I do prefer the spanish language's prefix punctuation. 07:19:57 coppro: It outputs /like/ in BF 07:20:23 coppro: I assume it only takes the low up-to 8 bits, left-padding with zeros if necessary 07:20:48 (alternatively, it divides it in up-to 8 bit chunks, but that's just pointless) 07:21:52 ais523: Hm... what other interesting BFs are there? 07:22:24 Random idea: [ has no behavior. All while loops become do-while loops 07:22:33 ok so the first obvious reduction is that multiple + are idempotent 07:22:46 hppavilion[1]: meh 07:22:46 Wait, I think oerjan or \oren\ published that as "noob fuck" 07:22:48 hppavilion[1]: that's actually been named twice (by me and by oerjan), and invented many more times than that 07:23:09 ais523: Yes, but has it been explored in properties? Does anyone know how it works? 07:23:33 It seemed trivially TC at first (just undo everything after the loop so it reverts the changes), but now I'm not so sure 07:23:57 Because it might loop only 1 time naturally, but then 1 loop is equal to 0 loops 07:24:01 coppro: right, + is basically "permanently set this cell to 1" 07:24:04 Wait, what? 07:24:37 That doesn't sound right... 07:25:28 You know, with the right knowledge, I think BF might actually be /easier/ to compile than to interpret, because the search-for-the-matching-] at every [ feels wrong to me, but just using ASM labels feels OK 07:25:32 It feels more ethical to compile 07:26:08 (Also, if you can't compile BF to at least a custom ASM, you are a n00b of programming who deserves... some suitable punishment.) 07:27:39 it's a good project to learn on 07:27:53 now I'm wondering if you can compile BF to x86 via string substitution 07:27:57 the hard part would be bracket matching 07:28:22 you can't do it in the compiler via string substitution, so you'd have to match at runtime somehow 07:28:44 which probably either involves reading your own code to find the ], or else abstaining the loop for its first iteration 07:28:56 mark the [ with a nop 07:29:48 pick some variety of jump instruction in ] that is used exactly once per ] 07:29:59 ais523: What kind of string substitution? 07:30:06 look backwards through the executing code, looking for the unmatched nop 07:30:07 then jump to it 07:30:21 ais523: Wait, the answer is a definite yes 07:30:25 hppavilion[1]: s/+/add 1, (%rbp)\n/g 07:30:26 See: Thue 07:30:50 hppavilion[1]: no, I mean 07:30:55 for each BF instruction 07:31:02 expand it to a string, that is always the same for the same instruction 07:31:05 ais523: Oh, single-pass? 07:31:29 like you can do a BF to C compiler via replacing "[" with "while (*p) {", "]" with "}", "+" with "(*p)++;", and so on 07:32:22 ais523: So the question is isomorphic to "Can you compile that subset of C with string substitution" 07:32:28 ais523: I'm unfamiliar with one aspect of computation theroy you can maybe clear me up on 07:33:06 if we're trying to prove that a BF-like has the same power as, say, PDAs, is there an enumeration characteriazation we can use? 07:33:06 hppavilion[1]: err, no, because I mean you replace each character of the input with a string in the output 07:33:28 coppro: things tend to end up not well-defined if you look at them in too much detail 07:33:45 ais523: well then 07:33:48 I typically use an informal "can you compile an X into a Y in such a way that the programs 'do the same thing'" 07:33:51 seemms like a problem 07:34:04 trying to define this more precisely is indeed a huge problem that has defined considerable portions of my life 07:34:13 (i.e. basically all the 2,3/Wolfram stuff) 07:34:16 yeah 07:34:26 I knew you had some experience in the area ;) 07:34:50 -!- tromp_ has joined. 07:36:35 ais523: Is there a simple language similar to brainfuck that can definitely be compiled with sed? 07:36:42 (or sed--) 07:36:56 (sed-- really just has regexless s/// expressions) 07:37:12 (Because that's all sed is really used for in most cases anyway) 07:37:21 hppavilion[1]: sed is TC, so… 07:37:28 ais523: Then sed-- 07:38:01 what are you compiling it into? 07:38:07 ais523: ASM 07:38:10 ais523: Same as you 07:38:37 ais523: Or did you finish that while I wasn't looking? 07:38:50 ais523: I'm thinking something like BF+^ 07:39:05 oh, you can compile asm into asm pretty easily :-P 07:39:15 -!- tromp_ has quit (Ping timeout: 246 seconds). 07:39:32 ais523: s/(.*)/\g1/ 07:39:43 Wait, no, s/(.*)/\g<1>/ 07:40:04 (The standard set of BF+x instructions is yet to be defined, but ^ is "Jump back by the number of characters in the current cell) 07:40:25 (I'm attempting to make the world's greatest BF compiler, called ABfCI 07:41:42 I /think/ that with unbounded cells, you can compile BF+^,v into BF fairly simply, but I'm not sure if it can be done via string substitution 07:43:44 Hm... 07:44:18 I want to use x86 as the target for ABfCI, but I'm not sure what to do with it; any time I try to read up on it I get intimidated because I'm a bit pathetic 07:45:26 I guess I'm going to inherit the earth, so at least I've got that going for me 08:00:04 -!- AnotherTest has joined. 08:10:38 -!- ^v has quit (Ping timeout: 248 seconds). 08:11:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 08:11:35 -!- ^v has joined. 08:22:28 -!- Kaynato has quit (Ping timeout: 252 seconds). 08:49:06 -!- lleu has quit (Quit: That's what she said). 08:53:54 -!- mroman has joined. 08:54:02 Is there a blocking version of InputStream? 08:54:13 eh wrong channel :) 08:56:03 mroman: itym "fnærd" hth 08:56:53 I thought InputStream was blocking by default :-( 08:57:14 . o O ( just pass it to a BlockingStreamFactory ) 08:58:53 oerjan: would be more likely a BlockingFilterStream 08:59:12 no reason to factorize when you can just use it as a constructor parameter 08:59:37 you seem to assume i know the difference 09:00:14 i mean, NOT ENTERPRISEY ENOUGH 09:22:58 -!- oerjan has quit (Quit: LNaiter). 09:40:16 stupid webpages unnecessarily using crazy complicated javascript and css to try to just show some textual information that they could show on a simple static textual webpage, and messing it up so the words keeps overlapping each other or getting truncated. 09:41:35 or break scrolling or navigation commands 09:42:38 -!- gniourf has quit (Quit: Leaving). 09:45:56 -!- gniourf has joined. 09:47:08 ais523: Belatedly, the TOYS fingerprint has block copy/move operations. 09:47:38 fizzie: I was thinking about the idea of no-delta-change *funge 09:47:50 (probably unefunge as the extra dimensions wouldn't help all that much) 09:48:12 the idea being that you copy code ahead of the IP to run it, in the style of various esolangs (IIRC SMITH?) 09:51:30 Sounds feasible. 09:58:20 -!- nooga has joined. 09:58:32 kood 10:23:57 ais523: (1) how is that a fungeoid, and (2) can you at least jump, even if you can't change the delta? 10:24:20 b_jonas: I didn't say it was a fungeoid, just a restriction of funge 10:24:31 also I wasn't planning on having jumps either 10:24:39 hmm 10:24:41 -!- boily has joined. 10:24:47 you may have trouble copying commands fast enough to not run out of them then 10:25:04 b_jonas: that's why I asked if there were any block copy fingerprints 10:25:26 I see 10:26:06 well if you have a block copy, then you could just always copy the next block ahead of you whenever you jump 10:26:45 yes 10:26:55 I guess to make it harder you could add a rule against copying over nonzero memory 10:28:56 ais523: even then it's not hard 10:29:04 indeed 10:29:50 ais523: you break your code to elementary blocks (with no jumps at the middle and one jump at the end) and copy only the next one at the end of the block 10:30:22 right, the hard part is writing conditionals, but you can do it via arithmetic 10:30:29 computing one block or another to jump to (i.e. copy forwards) 10:30:53 arithmetic? doesn't funge have easy value conditional statements? 10:32:45 they change the delta 10:32:47 yeah, doesn't matter, it has a proper value comparison function, and you can combine that with arithmetic and stack control to make a conditional 10:33:02 ah right, it has a less-than 10:33:13 which is basically an arithmetical < rather than a control-flow < 10:33:22 yep 10:34:50 -!- Reece` has joined. 10:34:52 the ` command for less-than compare, arithmetic on the stack, and the g and p commands to load and store from random memory (which together let you do stack operations too) 11:00:13 -!- lleu has joined. 11:06:04 @metar CYUL 11:06:05 CYUL 301000Z 24004KT 15SM SCT240 M02/M06 A3021 RMK CI4 SLP232 11:19:16 -!- boily has quit (Quit: GERMANIC CHICKEN). 11:23:30 ais523: InputStream is just an abstract class with a default implementation that blocks, yes. 11:23:38 but actual implementations of InputStream can do whatever they want 11:24:02 indeed 11:24:04 so if you get an InputStream from somewhere, it is not guaranteed to behave in the way the default implementation does. 11:24:11 I'd /expect/ them to make it block though 11:24:31 because that's what the interface contract implies 11:36:22 -!- tromp_ has joined. 11:38:44 -!- earendel has joined. 11:41:33 -!- tromp_ has quit (Ping timeout: 276 seconds). 11:43:17 -!- J_Arcane_ has joined. 11:44:54 -!- J_Arcane has quit (Ping timeout: 244 seconds). 11:44:55 -!- J_Arcane_ has changed nick to J_Arcane. 11:45:19 -!- ais523 has quit. 11:51:11 Yeah but the docs also mention that subclasses are free to do otherwise 11:51:32 so basically unless an InputStream overrides the read method it will block 12:06:20 -!- Hoolootwo has quit (Remote host closed the connection). 12:13:01 -!- Hoolootwo has joined. 12:32:24 -!- J_Arcane has quit (Ping timeout: 268 seconds). 12:37:57 -!- idris-bot has quit (Quit: Terminated). 12:38:22 -!- idris-bot has joined. 12:48:33 -!- Sgeo has quit (Ping timeout: 240 seconds). 13:18:21 -!- augur_ has joined. 13:20:30 -!- augur has quit (Ping timeout: 248 seconds). 13:20:30 -!- dingbat has quit (Ping timeout: 248 seconds). 13:23:42 -!- mbrcknl has quit (Ping timeout: 248 seconds). 13:23:50 -!- dingbat has joined. 13:26:28 -!- mbrcknl has joined. 13:51:15 -!- meAgen has joined. 13:52:12 -!- meAgen has left. 14:00:33 -!- Guest6809 has joined. 14:02:10 -!- miko_ has joined. 14:04:45 Hi. I'm looking for a serious, but IMHO higly esoteric language. The main feature is the lack of turing completeness, as no unbounded loops are permitted. 14:05:40 I saw in on HN. It looked a bit like C, and was on github. It was like the serious cusin of cloop. 14:06:14 -!- Melvar has quit (Ping timeout: 260 seconds). 14:06:45 -!- idris-bot has quit (Ping timeout: 268 seconds). 14:07:29 -!- Melvar has joined. 14:10:31 miko_: http://tkatchev.bitbucket.org/tab/ 14:10:33 ? 14:15:44 prooftechnique, while that looks interesting, It wasn't that. It was simpler, and the syntax was a curly braces language. I think it was promoted under the "langsec" mantra. 14:25:20 miko_: Crema? 14:26:40 Yes! Thank You! 15:14:06 -!- miko_ has quit (Ping timeout: 248 seconds). 15:14:51 -!- gremlins has joined. 15:18:54 -!- Reece` has quit (Ping timeout: 268 seconds). 15:19:34 -!- earendel has quit (Ping timeout: 240 seconds). 15:20:16 -!- jaboja has joined. 15:26:03 -!- miko_ has joined. 15:28:36 -!- nooga has quit (Quit: Lost terminal). 15:50:15 -!- Kaynato has joined. 15:59:55 -!- miko_ has quit (Quit: Verlassend). 16:06:23 -!- mroman has quit (Quit: Lost terminal). 16:08:08 -!- bender| has quit (Changing host). 16:08:08 -!- bender| has joined. 16:10:27 -!- bender| has quit (Quit: Leaving). 16:16:38 -!- Kaynato has quit (Ping timeout: 244 seconds). 16:23:52 -!- MoALTz has quit (Ping timeout: 244 seconds). 16:26:08 -!- jaboja has quit (Ping timeout: 250 seconds). 16:27:25 -!- Kaynato has joined. 16:44:52 -!- J_Arcane has joined. 17:04:37 -!- Lilly_Goodman has joined. 17:04:50 Hola 17:10:37 hey 17:12:40 -!- Lilly_Goodman has quit (Excess Flood). 17:13:02 -!- Lilly_Goodman has joined. 17:30:09 -!- jaboja has joined. 17:30:11 -!- hppavilion[1] has joined. 17:31:08 -!- Lilly_Goodman has quit (Ping timeout: 250 seconds). 17:31:48 -!- lambda-11235 has joined. 17:33:51 -!- Lilly_Goodman has joined. 17:40:24 -!- MoALTz has joined. 17:41:15 -!- Caesura has joined. 17:44:28 -!- Kaynato has quit (Ping timeout: 244 seconds). 17:50:37 -!- Caesura has quit (Ping timeout: 252 seconds). 17:59:10 -!- p34k has joined. 18:00:28 -!- jaboja has quit (Ping timeout: 268 seconds). 18:13:43 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:15:04 -!- hppavilion[1] has joined. 18:16:01 -!- Reece` has joined. 18:16:15 -!- gremlins has quit (Ping timeout: 246 seconds). 18:19:27 -!- gremlins has joined. 18:19:38 -!- J_Arcane has quit (Ping timeout: 244 seconds). 18:20:07 -!- J_Arcane has joined. 18:22:25 -!- gremlins2 has joined. 18:23:15 -!- Reece` has quit (Ping timeout: 246 seconds). 18:23:57 -!- gremlins has quit (Ping timeout: 246 seconds). 18:24:06 fizzie: Do you think crema goes well with SALSA? 18:24:07 I'm making a military-grade brainfuck compiler 18:25:00 Is it written in Ada 18:25:26 -!- bb010g has joined. 18:26:17 Taneb: No, but it's cross-platform 18:26:56 -!- jaboja has joined. 18:30:46 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:31:23 -!- hppavilion[1] has joined. 18:32:55 Taneb: I'm making it include a number of useful /optional/ extensions to ease programmers with its usage 18:33:05 Taneb: But they have to be enabled 18:34:58 -!- Caesura has joined. 18:35:37 Taneb: By the .conf file for that module 18:36:54 (Which is encoded in JSON (though maybe I'll change it to YAML)) 18:39:28 -!- Phantom_Hoover has joined. 18:45:59 -!- jaboja has quit (Ping timeout: 244 seconds). 18:46:01 Okay, so where does the bureaucracy fit in? 18:47:01 prooftechnique: What bureaucracy? I can add that if you like. 18:47:29 prooftechnique: Is bureaucracy a programming pattern, or are you speaking of it in the literal sense? 18:47:43 If in the literal sense, I don't see how it's relevant 18:47:56 It's Military Standard (tm) 18:48:09 Taneb: Oh, yes. 18:48:36 Taneb: Should I add "springback points" 18:48:53 Springback points? 18:48:58 Taneb: Which would be like using CJMP on the top of the stack, but instead it moves the tape 18:49:12 Taneb: So you can PUSH the current tape location, then later POP it and jump back there 18:49:52 It's a... rather extendy extension 18:50:10 Taneb: It is. But it gives me a use for the stack. 18:50:17 Taneb: And it's fully optional 18:50:22 Taneb: And not hard to implement 18:50:33 You can use the stack for [ jumpback! I think 18:50:45 -!- XorSwap has joined. 18:50:50 Taneb: Yes, but I don't, because that'll make ^ confusing if I implement it 18:51:02 If you ^ to somewhere after the [ but before the ] 18:51:26 The metaphor is that you "tie a knot" on the current cell, then you later follow the string. Because programmers can't understand this stuff in the abstract, obviously. 18:51:31 It'd be good for pointers 18:52:29 Taneb: Part of the goal of ABfCI is to be usable, while still including normal bf by default 18:52:42 Taneb: But you have a point about being very extendy. 18:58:14 -!- Lilly_Goodman has quit (Quit: Leaving.). 19:00:30 -!- Reece` has joined. 19:02:07 -!- gremlins2 has quit (Ping timeout: 252 seconds). 19:04:19 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 19:05:17 -!- hppavilion[1] has joined. 19:09:27 -!- jaboja has joined. 19:16:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 19:23:06 -!- XorSwap has quit (Ping timeout: 268 seconds). 19:30:57 -!- lambda-11235 has quit (Quit: Bye). 19:36:19 -!- XorSwap has joined. 19:37:35 -!- hppavilion[1] has joined. 19:48:57 -!- jaboja has quit (Ping timeout: 250 seconds). 19:59:39 -!- mihow has joined. 20:00:22 -!- Reece has joined. 20:00:54 -!- Reece` has quit (Ping timeout: 246 seconds). 20:04:03 -!- trn has quit (Quit: quit). 20:08:01 -!- Reece` has joined. 20:09:18 -!- Reece has quit (Ping timeout: 246 seconds). 20:16:33 -!- XorSwap has quit (Ping timeout: 240 seconds). 20:25:18 -!- trn has joined. 20:35:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:35:58 -!- Zoroaster has joined. 20:38:26 -!- MoALTz has quit (Quit: Leaving). 20:38:50 -!- hppavilion[1] has joined. 20:39:06 -!- Caesura has quit (Ping timeout: 244 seconds). 20:41:42 -!- tromp_ has joined. 20:45:55 -!- tromp_ has quit (Ping timeout: 248 seconds). 20:47:57 -!- jaboja has joined. 20:51:03 -!- Reece` has quit (Ping timeout: 240 seconds). 20:52:18 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 21:00:33 -!- Coronel has joined. 21:05:03 -!- lleu has quit (Ping timeout: 240 seconds). 21:09:56 -!- Coronel has left ("Leaving"). 21:13:13 What data model hasn't been languaged yet? 21:13:56 Perhaps the Real Minsky Machine? 21:14:03 hmm 21:14:04 banana 21:14:17 There's a special register called "am" 21:14:31 And when you increment or decrement a register, you're really changing by 1/am 21:14:37 am starts at 1 and cannot go below 0 21:14:51 that sounds weird 21:14:59 but interesting 21:15:01 And it is incremented/decremented normally, instead of by the 1/am (unless you're hardcore) 21:15:20 rdococ: It's trivially TC, but it hasn't been done before AFAIK 21:16:58 with just increment and decrement? 21:17:51 perhaps s/Real/Harmonic/ 21:18:12 (since you can easily compute harmonic numbers ;-) 21:18:14 ) 21:20:47 int-e: Oooh :) 21:20:58 rdococ: Yes, it's a Minsky Machine 21:21:05 rdococ: It's not JUST inc/dec 21:21:11 what other operations? 21:21:15 rdococ: It's also an FSM with alternate transformations 21:21:28 it made me think 21:21:47 rdococ: A minsky machine can be thought of as an ASM with the instructions INC(reg), JMP(dest), and JZDEC(reg, dest) 21:21:51 hppavilion[1]: now the evil version... you cannot modify am. instead, am is incremented by one after each operation. 21:21:59 int-e: You're a bad person 21:22:20 int-e: The other evil version is the one where incrementing/decrementing AM is affected by AM 21:22:24 rdococ: You need >= 2 registers for TCness 21:22:26 (to simplify things, test for zero would be replaced by a comparison r < 1/am) 21:22:45 int-e: Why? 21:22:49 int-e: Oh, I see 21:23:01 hppavilion[1]: because I imagine that hitting zero exactly will become extremely hard 21:23:04 int-e: This might make for a good Malbolge... 21:23:25 int-e: I suppose would be, as 1/x has an asymptote at 0 21:23:33 (An asymptote that it does /not/ cross) 21:24:16 hmm 21:25:23 [wiki] [[User:Hppavilion1/Simple Languages]] N https://esolangs.org/w/index.php?oldid=46699 * Hppavilion1 * (+878) Switchboard 21:26:36 int-e: What about a Minsky Machine based on strings? 21:27:00 Actually, that seems fairly similar to a TM 21:27:09 With two registers, you can treat them both as stacks 21:27:12 hppavilion[1]: that sounds too much like a Turing machine (since two stacks easily give you a tape) 21:27:24 int-e: I know 21:27:30 int-e: That's what I just said 21:27:48 not before I started typing :P 21:28:18 int-e: A Minksy Machine with... hm... what other data types could we use? 21:30:20 for lack of a sensible answer... how about popcorn. 21:30:37 -!- Zoroaster has quit (Ping timeout: 252 seconds). 21:31:28 int-e: Map Machine? An Abstract Machine that actually feels like programming? 21:31:47 (Because it has real variables) 21:32:00 int-e: Image Machine, which deals with images. 21:32:56 int-e: Especially useful because you can combine it with a TM or MM to make an Abstract Monitor :P 21:48:56 -!- bb010g has quit (Quit: Connection closed for inactivity). 21:49:41 int-e? 21:53:51 hmm 21:54:13 we could use types? 21:54:30 increment int 21:54:46 rdococ: Maybe 21:54:51 rdococ: Formal Proof Machine? 21:55:03 we could use problems 21:55:07 rdococ: I'd also like to see someone make a TM-like λ-calc interpretation 21:55:09 as in, logical problems 21:55:15 rdococ: Logic Machine? 21:55:29 increment halting problem 21:55:36 now it's the halting plus problem 21:55:37 rdococ: 42 21:55:44 rdococ: = 42 21:55:52 hmm 21:55:53 = 42! 21:56:05 = 42! 21:56:06 how would one describe a logical problem 21:56:35 rdococ: In terms of predicates and such 21:56:46 rdococ: But with the extra ? symbol 21:56:49 a logical problem might be a set of relations of variables 21:56:50 halts(X)? 21:57:12 ? is a postfix operator meaning "devise an expression to solve the previous problem" 21:57:27 halts(X)?? returns FALSE or something 21:57:30 ["y=1": ["x=0"], "y=0": ["x=1"]] 21:57:33 or something 21:57:43 rdococ: So... Table? 21:57:47 maybe 21:57:53 rdococ: Actually, that makes sense... 21:58:13 rdococ: I still think we need a Logic Machine or something 21:58:32 ["one condition": ["conditions that are only true if that condition is true"], "other condition": ["other conditions"], "unknown condition"] 21:58:42 rdococ: Not "only true" 21:58:52 rdococ: More like "are proven true" 21:59:22 ["x = 1": ["y = 0"], "x = 0": ["y = 1"], "x = 0"] -> "y = 1" or something? 21:59:29 The closed world assumption means we could interpret a logical proposition as a gate that turns on when it receives a signal and stays on forever 21:59:43 closed world? 21:59:58 rdococ: Closed World means unproven things are interpreted as FALSE 22:00:04 rdococ: Open World allows them to be UNDEFINED 22:00:32 rdococ: That's looking a lot like PROLOG 22:01:00 give me an example of a bit of prolog 22:01:19 fallible(X) :- human(X). 22:01:36 That means "If X is human, X is fallible" 22:01:36 so a human is fallible? 22:01:41 rdococ: Yes 22:01:41 right 22:01:52 And if you also have: 22:01:53 human(socrates). 22:01:54 ["human": ["fallible"]] 22:01:55 And you call 22:02:01 ?- fallible(socrates) 22:02:02 Maybe you meant: v @ ? . 22:02:08 Prolog will say "yes" 22:02:17 lambdabot: I did not. 22:02:21 .walrus 22:02:45 rdococ: I have a more extensive example about my family tree 22:02:57 [human: [fallible], socrates: [human]] 22:03:15 contains(socrates, fallible) == true 22:03:49 -!- Guest6809 has quit (Quit: This computer has gone to sleep). 22:04:07 rdococ: that actually seems weird in the sense that predicates and instances look the same 22:04:07 rdococ: That works 22:04:48 rdococ: But your earlier ["y = 1": ["x = 1": ["y = 0"], "x = 0": ["y = 1"], "x = 0"]] would be an issue with how Logic Programming works 22:04:52 i.e. note that in prolog you cannot use fallible(human) in the same sense as fallible(X) :- human(X) 22:04:57 rdococ: However, that syntax might work well for type theory 22:04:58 interesting 22:05:13 also, if you like logic programming, have a look at curry 22:05:41 myname: A nice syntax would be fallible(X : human) 22:05:54 Which is syntactic sugar for fallible(X) :- human(X) 22:06:13 i don't think you'd need that kind of sugar 22:06:23 myname: It looks nice 22:06:30 it is not consistent with any syntax in prolog 22:06:47 and i find it less readable 22:06:53 myname: Fair enough 22:07:25 once you get that :- is an implication, prolog makes perfectly sense 22:07:36 rdococ: One thing prolog can't do is anonymous implication 22:07:41 that X: human syntax doesn't fit 22:07:52 also, how would you handle more complex expressions 22:08:02 And it has issues with anonymous predicates 22:08:22 -!- mihow has quit (Quit: mihow). 22:08:51 You can't do speciesHasAttr(S, A) :- species(S), (A(X) :- S(X)) 22:09:18 is there a version with that? 22:09:38 that sounds weird in the same sense as rdococ's syntax 22:09:53 well, it's higher order 22:09:57 rdococ: No, because I don't think there's a known algorithm to unify those 22:10:07 rdococ: In fact, I would go so far as to say it's probably undecidable 22:10:20 afair it is 22:10:31 at least if you have binary relations 22:10:32 -!- tromp has quit (Quit: Konversation terminated!). 22:10:46 -!- Sgeo has joined. 22:10:47 myname: Yep 22:10:52 (undecidable, that is) 22:15:25 -!- mihow has joined. 22:21:17 hmm 22:23:57 father = parent and male 22:24:05 mother = parent and female 22:24:33 father(X, Y) :- parent(X), male(X) 22:25:13 son = parent(x) 22:25:25 or something 22:25:53 just look at prolog? 22:26:00 or, as i said, curry 22:26:14 parent(X, Y) :- child(Y, X) 22:26:23 child(Y, X) = parent(X, Y) 22:26:28 inverse prolog 22:27:11 nah 22:27:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:27:38 or with my syntax 22:27:43 [parent: [children]] 22:27:58 [sarah: [children: [bob]]] 22:28:00 or something 22:28:26 your syntax looks like a neat idea at first, but i'd say it would be just horrible to implement in 22:28:36 just take your parent: children 22:28:49 what do you do if they differ in arity? 22:28:58 arity? 22:29:06 number of arguments 22:29:17 what do you mean 22:29:21 like, parent only has one argument but children has two 22:29:57 so??? 22:30:07 parent(X) would mean X is a parent. not telling about the kids. children(X, Y) would tell that X is the child of Y 22:30:28 how would you represent the missing information in your format of parent: children? 22:30:35 idk 22:30:43 it makes me tired just looking at it 22:31:03 hmm 22:31:07 go full curry :p 22:31:33 what could be wrong about a nondeterministic haskell derivate 22:31:49 -!- boily has joined. 22:31:50 x ? y = x 22:31:56 x ? y = y 22:32:05 default definition of ? in curry 22:32:13 so 0?1 is either 0 or 1 22:32:41 insert x ys = x:ys 22:32:53 insert x (y:ys) = y:insert x ys 22:33:06 will put an element randomly in a list 22:33:29 hmm 22:33:34 who needs data types 22:33:39 boolean = true ? false 22:33:48 permutation (x:xs) = insert x (permutation xs) 22:34:24 hmm 22:34:46 what about this 22:35:02 also: reverse f x' | f x == x' = x where x free 22:35:09 just reverses a function 22:35:31 "you want to make a parser? easy, make a print function and reverse it" 22:35:44 that actually works? 22:35:50 it does 22:35:56 what 22:36:04 last (xs ++ [e]) = e 22:36:07 also works 22:36:47 reverse reverse? 22:36:56 what happens if you reverse reverse 22:37:42 that would be: g x' | reverse x == x' where x free 22:38:05 doesn't make much sense 22:38:35 but go try it 22:41:24 hmm 22:41:44 I had this string substitution language 22:41:46 it went like this 22:41:53 true and true = true 22:41:59 true and $x = $x 22:42:04 $x and true = $x 22:42:11 false and $x = false 22:42:23 $x and $y = $y and $x 22:42:32 something like that 22:42:36 what is the last one for 22:42:47 the others look just like haskell 22:43:11 it's just the definition of && and || 22:43:44 oh but mine was only that 22:43:56 no data types 22:44:08 just string subtitution 22:46:01 successor predecessor $x = $x 22:46:52 predecessor successor = successor predecessor 22:46:55 add $x $y = add (successor $x) (predecessor $y) 22:46:58 add $x 0 = $x 22:47:12 numerals in a couple of lines of code 22:49:27 still perfectly doable in haskell in the exact way 22:49:35 -!- Frooxius has quit (Quit: *bubbles away*). 22:49:45 in fact, at our university we let students do that thing 22:50:01 define natural numbers, implement addition and substraction 22:50:31 true 22:50:39 I guess mine's a stripped down version then 22:50:46 without data types 22:50:49 because 22:51:03 well, kind of 22:51:18 what you cannot do in your version is 1 and 0 22:51:25 because it doesn't match 22:51:32 0 = 0 22:51:52 actually, no need to define 0 22:52:12 didn't say anything against it 22:52:24 i just said "1 and 0" is an alid expressioni 22:52:33 because none of your and-rules apply 22:53:09 data $x \= $y[] = (type $y = $x) 22:53:31 \=* 23:00:09 -!- jaboja has quit (Ping timeout: 276 seconds). 23:01:03 halts $x = huh... 23:02:52 -!- lleu has joined. 23:02:52 -!- lleu has quit (Changing host). 23:02:52 -!- lleu has joined. 23:07:31 -!- hppavilion[1] has joined. 23:07:48 rdococ 23:09:11 yeah? 23:12:29 -!- p34k has quit. 23:12:53 rdococ: Just alerting you to my returnedness. I was eating yogurt and thus had half access to one hand 23:13:10 http://dl.acm.org/citation.cfm?id=96559.96570 has &lgr; for some reason. I have no clue what that entity means 23:14:52 Anyone know what that means? It's not in Mathematical Operators, Miscellaneous Mathematical Symbols-A, or Miscellaneous Mathematical Symbols-B 23:15:58 -!- jaboja has joined. 23:18:34 Looks like it's a typo 23:18:55 It could be ≶ (≶) 23:20:04 Dammit, looks like the site I checked doesn't cover them all 23:20:11 All entities, that is 23:20:16 ≶ isn't listed 23:20:20 <> 23:20:43 hmm 23:20:47 a novel datatype 23:20:57 I got it! 23:21:07 datatype 23:21:15 INCR integer 23:21:23 integer + fraction 23:21:56 complex - real 23:22:43 x + y = z = z - y = z 23:23:08 egloblam 23:23:27 -!- tromp has joined. 23:23:29 Eglo Blam, the easiest language ever 23:24:38 so there is no turing complete machine with only one register? 23:24:39 rdococ: I vote we invent a Functor Calculus and call it the ð-calc 23:24:46 rdococ: There is 23:24:47 functor? 23:25:01 well there has to be 23:25:12 rdococ: It's called "Turing Machine with a Single Useless and Unusable Register" 23:25:16 lol 23:25:23 took the thoughts straight out of my head 23:25:44 rdococ: Exactly 23:25:48 rdococ: Wait, there is 23:25:52 but what if there's only that register 23:25:54 and nothing else 23:25:56 rdococ: It's a variant on the Minsky Machine 23:26:09 tell me more 23:26:12 rdococ: Then you have "An Extra Useless Register No One Wanted to Use" 23:26:18 rdococ: It's like a minksy machine 23:26:45 rdococ: But you also have cm(r, n) and cd(r, n) 23:26:52 cm and cd? 23:26:55 Where cm is constant multiply and cd is constant divide 23:27:16 cm(3) 23:27:26 incr r 23:27:30 cm r 23 23:27:32 rdococ: Oh, right, you don't need a regaddress :P 23:27:42 hmm 23:27:51 You only divide if it's divisible by that constant, and it enacts an alternate state transition on dividing 23:27:55 rdococ: ^important 23:28:06 an alternate state transition 23:28:08 uh 23:28:10 (I was trying to remember the caveat I was forgetting) 23:28:23 rdococ: The same way JZDEC follows an alternate state transition if r=0 23:28:34 to church? jk 23:29:27 could there be a declarative machine code? 23:29:51 rdococ: Yes 23:29:58 awesome 23:30:09 rdococ: TM descriptions are declarative 23:30:18 descriptions... 23:30:34 my TM brain is not so TC 23:30:44 rdococ: The things that describe which TM to use 23:30:57 hmm 23:33:29 rdococ: The real question is whether there could be an /interrogative/ machine code 23:39:30 [wiki] [[BASICER]] N https://esolangs.org/w/index.php?oldid=46700 * Rdococ * (+1749) Introducing the Beginners' All-purpose Symbolic Instruction Code, Esoteric Revision! Which isn't Turing Complete! Yay! 23:40:06 or BSSIC by Beginners' Some-purpose Symbolic Instruction Code 23:40:22 not all purpose 23:41:33 omg 23:41:35 -!- XorSwap has joined. 23:41:47 I just realized that my other language PRINTASKSWITCHINPUTCASEXGOTOACASEYGOTOBELSEGOTOC has a dirty word in it by complete mistake 23:43:33 that's not a dirty word 23:45:14 rdococ: You hadn't notice that until just now? 23:45:39 just noticed it 23:45:51 coppro: It's "got" I think 23:46:10 -!- jaboja has quit (Ping timeout: 244 seconds). 23:46:13 coppro: My 4th grade english teacher certainly would disagree with you 23:47:07 what? there's nothing wrong with "asks" 23:48:22 uh, look after INPUT 23:48:27 coppro: I may have made this joke before, but who's ppro? Your dual? 23:48:30 rdococ: *sigh* 23:48:32 hppavilion[1]: yes 23:48:45 rdococ: We were being funny 23:48:52 oh 23:48:57 coppro: No, I asked *who* 23:49:03 hppavilion[1], you're in an array?! 23:49:03 coppro: What's ppro like? 23:49:28 rdococ: No, hppavilion is a number and I'm calculating a range 23:49:36 oh 23:49:37 s/calculating // 23:49:57 hppavilion = 0 23:50:05 NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO- 23:50:11 -!- hppavilion[1] has quit (Quit: Leaving). 23:50:18 huh? 23:50:32 did I mess up the variable? 23:50:59 hppavilion = 1 23:51:17 * rdococ is concerned for a range? weird 23:51:17 -!- hppavilion[1] has joined. 23:51:34 rdococ: Don't do that again 23:51:36 hppavilion = 1 23:51:46 rdococ: People divide by me occasionally 23:52:06 what was hppavilion before I set it to 0 23:52:08 hppavilion = pi^(e*i) 23:52:11 Fixed 23:52:27 what would happen if I set you to 3? 23:52:35 hppavilion[1]: I don't know 23:52:53 co(ppro) 23:53:09 coppro is a coroutine running ppro 23:53:34 I'm rdococ, a function removing a directory called ococ 23:53:39 rdococ: You could also be the coproduct of professionalism 23:53:46 he* 23:53:58 -!- lleu has quit (Read error: Connection reset by peer). 23:54:00 or you mean me? 23:54:11 rdococ: Whoops, coppro 23:54:45 oh 23:55:33 what about a system where computation is achieved by time travel 23:56:34 `wisdom 23:56:46 `? wisdom 23:56:57 `? `? 23:57:04 [bot: father] 23:57:09 now he's a deadBOT dad 23:57:33 -!- tromp has quit (Remote host closed the connection). 23:57:48 what about a language where programs are channels 23:58:05 ​`? ¯\(°​_o)/¯ 23:58:05 tautology/A tautology is a tautology. Oren invented them. 23:58:05 wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø? 23:58:31 `wisdom 23:58:32 `wisdom 23:58:33 `wisdom 23:58:37 oklopol/oklopol "so i hear these blogs are getting popular, people like writing about their lives and shit. on this thing called the internet which is like a neural network only really stupid." 23:58:37 identity function/The identity function is a mockingbird. 23:58:37 1/The 1 is just for disambiguation. 23:58:55 \oren\: he\\oren\. you invent things too? 23:59:45 I once used the loeb combinator to solve an "electric circuit" problem. the solution is quite neat ^^ 23:59:52 `learn `? is a blue tit 23:59:55 Relearned '`': `? is a blue tit 23:59:59 uh 2016-03-31: 00:00:00 whoops 00:00:02 uh 00:00:04 oh no 00:00:06 what did I do 00:00:17 uh 00:00:18 fix it 00:00:19 someone 00:00:41 should I unlearn that? 00:01:12 hello? 00:01:21 -!- Lilly_Goodman has joined. 00:01:50 `revert 00:02:04 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 00:02:21 `? `? 00:02:22 ​`? ¯\(°​_o)/¯ 00:02:45 `? ` 00:02:48 ​` is the prefix to greatness. 00:02:53 phew 00:03:26 rdococ: Here's an evil game idea 00:03:53 rdococ: There are two players running identical programs psedOSes 00:04:27 rdococ: The goal is to hack your enemy to the point that they're unable to play any further, and to continuously patch your computer to block incoming attacks 00:04:38 The code is badly-written and uncommented, and the docs are pretty poor 00:05:01 It's a monstrosity :) 00:05:11 so yo have to edit their program to do stuff? 00:05:55 rdococ: And your own program 00:06:00 and patch your own 00:06:04 crazy 00:06:05 rdococ: It's constrained by simulated compile time 00:06:17 but does it have to be simulated? 00:06:32 (Every line you add is an extra 5 seconds before the changes take hold) 00:06:36 do they have access to multiple programs? 00:06:40 rdococ: It does, if we want the computers to not die 00:06:43 rdococ: How so? 00:06:50 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:06:57 rdococ: What do you mean "Multiple programs"? 00:07:14 you could edit one program of the other's computer, then edit another program while they're trying to patch the one you edited first 00:07:36 rdococ: I think you might be able to 00:07:39 -!- Lilly_Goodman has quit (Ping timeout: 264 seconds). 00:08:12 what about negative data 00:08:16 rdococ: There'd be "log::pt", which is a file documenting changes. You have to refresh it every so often. 00:08:25 rdococ: Oh, absolute value 00:08:32 Removing 10 lines is just as bad as adding 10 00:08:43 It wouldn't be line-by-line though, it'd be a sort of "AST measurer" 00:08:54 -!- Lilly_Goodman has joined. 00:10:25 why not actually simulate the program code in a sandbox environment? 00:10:37 rdococ: It would. 00:10:45 it'd be fun if each program had different languages 00:10:50 rdococ: YEEEEEEEEEEEEEES. 00:11:08 rdococ: We need to get on this 00:11:22 we could even have some esoteric ones 00:11:41 rdococ: Yes, that was a plan 00:11:44 (as easter eggs) 00:11:51 I think we should call it H4X1N470R-MP 00:12:01 also, hacking programming languages 00:12:13 what are lose conditions? 00:12:15 rdococ: Hacking programming languages? 00:12:22 rdococ: When you are no longer able to play 00:12:33 rdococ: Probably when all user input is disabled for the client 00:12:41 Well, the user-proper 00:12:49 Not sure how to test for that though... 00:13:25 hmm 00:13:47 rdococ: I mean, I can think of one way (recursive AST scanning), but it'd be buggy 00:23:35 <\oren\> suppose a program was defined solely by stating what it cannot do 00:25:26 then an empty program can solve the halting problem 00:25:40 <\oren\> or might do something elsr 00:26:01 <\oren\> an empty program is allowed to compile into any program whatsoever 00:26:51 -!- oerjan has joined. 00:28:37 <\oren\> then you have some formal language for specifying program behaviour in terms of logical statements, each of which is always required to be false. 00:30:24 a normal language would be one specifying true statements 00:30:43 right? 00:31:52 not exactly but 00:37:03 -!- Lilly_Goodman has quit (Ping timeout: 264 seconds). 00:37:31 HELLŒRJAN. 00:37:37 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 00:40:42 boħily 00:42:01 /ħ/ isn't a fun sound hth 00:44:37 -!- Sgeo_ has joined. 00:46:03 -!- Sgeo has quit (Ping timeout: 240 seconds). 00:46:31 boily: it's quantum! 00:47:20 hmm 00:47:29 talking about logical problems 00:48:45 -!- Sgeo__ has joined. 00:49:29 talking about the logical problems that don't talk about themselves 00:50:03 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 00:58:16 -!- tromp_ has joined. 01:02:42 -!- tromp_ has quit (Ping timeout: 260 seconds). 01:09:10 -!- jaboja has joined. 01:13:12 -!- Lilly_Goodman has joined. 01:15:37 is this problem false? 01:15:47 normal computer: CRASH 01:16:35 quantum computer: There is a 60% chance that the problem is true, and a 39% chance it is false. 01:18:36 no 01:19:06 and a 1% chance that you're trying to crash me 01:20:12 rdococ: no. this is not problem false 01:20:52 the NLP module has learned to parse in the other way when the paradox arises 01:22:06 will you say no to this question? 01:22:30 normal computer: Fal--I mean tr--fa--tr 01:24:59 fungot: do you even paradox bro? 01:24:59 boily: you want a high-quality fnord program in general. the general idea 01:25:16 fungot: that is enlightening. tdh. 01:25:17 boily: this is an example from the wiki? looks suddenly sparse.) thanks for your answer. now you might have more luck rebinding space to enter when using the variable name 01:25:46 * boily rebinds the Sacrificial Space. “Fnord! Fnord! Fnord!” 01:29:57 `? fnord 01:30:02 ​? ¯\(°​_o)/¯ 01:30:40 huh. I thought we had a fnordwisdom in there. 01:30:46 ... 01:30:53 wait. 01:31:09 * boily facepalms 01:31:31 -!- mihow has quit (Quit: mihow). 01:31:37 THIS WENT BETTER THAN EXPECTED 01:32:34 embarassingly so. 01:32:51 -!- mihow has joined. 01:39:21 hmm 01:39:31 bonnenuily? 01:40:06 bontopiasoir! 01:40:13 * oerjan sits down to watch the temporal antipode effect 01:40:16 indeed. it's getting quite late, I say. 01:40:31 it's quite convenient 01:40:36 i can always know when he's going to bed 01:40:49 temporal antipode? 01:40:51 what's that 01:40:52 bonne nuitopia! 01:41:00 `? quintopia 01:41:03 quintopia is our resident tl;dr generator. He is flooded by thundercats and thunderdogs. He is the temporal antipode of boily despite living on the same continent. 01:41:20 summer is only a few months away 01:41:29 speak to me of summer ♪ 01:41:32 i'll go back in time 2 hours and overlap him a bit 01:41:38 -!- boily has quit (Quit: COMMITMENT CHICKEN). 01:41:52 oh I get it 01:42:00 wait 01:42:03 temporal antipode? 01:42:08 so opposite time? 01:42:12 oh 01:42:14 he's nocturnal 01:42:15 duh 01:42:31 even though it's 2:42 am where I am 01:42:51 which could be in africa 01:43:03 but is probably in britain 01:43:04 or on mars 01:43:04 -!- XorSwap has quit (Quit: Leaving). 01:43:10 what is rdococland? 01:43:14 it could be in britain too 01:43:21 rdococland? 01:43:33 good idea for a name to an esolang 01:44:06 yes but what real country would it be in 01:44:10 what city would it house 01:44:11 hmm 01:44:14 on mars 01:44:16 no 01:44:31 in magic yay world 01:44:37 colorful 01:45:13 rdococulous 01:45:37 fungot: is rdococ an AI or is there some other reason e's evading the question 01:45:37 oerjan: anmaster must see. 01:45:39 I know it sounds duckoo but it's troo 01:45:55 Vorpal: fungot says you must see this hth 01:45:55 oerjan: and no, that would explain why the video output isn't working properly 01:46:16 fungot: am I an AI? 01:46:16 rdococ: sorry, didn't read properly. a question of whether the loop was loopzored", i wouldn't expect car and cdr returned copies, hmph. 01:46:41 fungot: I said, am I an AI emulating a human brain? 01:46:41 rdococ: i like to use _, then __, then ___, et cetera; and no record type descriptor operations such as vector-ref vector-set!. 01:46:47 ... 01:46:48 what country do you currently reside, person currently to emself as rdococ? 01:46:57 rdococland 01:47:23 I told you, I reside in an esolang 01:47:30 i'll just pretend you live in the same country as the server you are connected to for ease 01:47:43 what server am I connected to 01:47:53 adams (budapest) 01:48:08 rdococ: shouldn't that be an esoland, really 01:48:13 oerjan: lol 01:48:18 speak to me of esolangs 01:48:36 see? I'm not from britain at all. I'm from rdococland. 01:48:45 the esoland 01:49:00 @time rdococ 01:49:01 which is located in budapest 01:49:12 hmph 01:49:14 it is? 01:49:17 I thought it was on mars 01:49:40 sorry, there are still a few bugs in me 01:49:48 no, on mars you find london and o'wobble. that's what i recall from Blackadder, anyway. 01:49:59 what? 01:50:15 it may have been the very last downer episode 01:50:30 he tries to get himself certified insane 01:50:47 by claiming he's from mars 01:51:12 alas, his superior is too smart/stupid 01:51:42 -!- Lilly_Goodman has quit (Ping timeout: 244 seconds). 01:52:53 -!- oerjan has set topic: Note: people with cloaks will be treated as if they're from Budapest | The international hub of esoteric programming language and font design | http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | The kitten typesetting channel. 01:52:59 oerjan: is your palmaris longus present/discernible? 01:53:27 ironically, b_jonas doesn't have a cloak 01:53:42 huh 01:53:43 weird 01:54:43 -!- Lilly_Goodman has joined. 01:55:03 quintopia: is it that big vertical one on the wikipedia picture? if so, yes 01:55:35 https://twitter.com/johnregehr/status/715089198819241984 01:55:42 if i flex my hand just right, anyway 01:57:26 right on 02:14:38 HOla necesito una mega ayuda 02:15:17 Lilly_Goodman: nosotros no ayudamos en espanol 02:16:03 quintopia es que quiero saber como decir la hora en ingles 02:16:31 the time 02:17:33 google translate 02:17:54 tu eres en el canal incorrecto, sabes? 02:19:15 !bienvenido Lilly_Goodman 02:19:24 does that not work 02:19:30 ` 02:19:45 quintopia: we've tried long ago 02:20:04 quintopia quiero decir en ingles... son las nueve y media 02:20:09 quintopia gracias 02:21:35 Lilly_Goodman: ir a un canal de habla espanola por favor 02:23:11 and it is nowhere near 9:30 here 02:23:59 ir a what 02:25:00 -!- Lilly_Goodman has quit (Ping timeout: 250 seconds). 02:26:14 -!- Kaynato has joined. 02:29:07 -!- Lilly_Goodman has joined. 02:31:01 hola alguien me ayuda a decir que son las nueve y media... en ingles??????????? 02:33:30 hola a what 02:33:38 -!- ChanServ has set channel mode: +o oerjan. 02:33:59 +oerjan 02:34:36 ayuda 02:34:44 -!- oerjan has set channel mode: +b *!*canaima@*.dyn.movilnet.com.ve. 02:34:44 -!- oerjan has kicked Lilly_Goodman Tomar una pista. 02:35:06 -!- oerjan has set channel mode: -o oerjan. 02:35:36 rude 02:35:44 izabera: she(?)'s been refusing to take a hint for over a week 02:36:49 that doesn't make it less rude 02:37:18 -.- 02:37:27 why so many non english stuff 02:37:33 unless you're referring to "Tomar una pista" which i have no idea what means except it's what G.T. gives for "take a hint" 02:37:56 i meant the ban 02:38:04 my brssim of dddipr rexhsaiuxzsted 02:38:40 izabera: i've been tempted for a week. she _refuses_ to speak in english, or to go anywhere people can understand her. 02:39:06 does she speak C? 02:39:07 (well, she apparently doesn't know english well enough.) 02:39:17 or Prolog? 02:39:48 ?- pun(programmingLanguage, linguisticLanguage) 02:39:48 Maybe you meant: v @ ? . 02:39:58 also, those who _have_ tried to speak in spanish (mostly with G.T. which is horrible) have not been able to get any indication she's interested in our actual channel _topics_. 02:40:19 does she even know what this channel is about? 02:40:56 rdococ: well she's seen our `bienvenido message in spanish. i'm not sure she's at the point where she understands what it means. 02:41:52 haha "people with cloaks will be treated as if they're from Budapest" 02:42:13 oerjan: sounds like she uses google translate 02:43:20 izabera: she's either a strange troll or too maladapted for us to handle. i'm not sure. 02:43:37 rdococ: are you saying her spanish isn't right? 02:43:53 I was thinking she's faking it to be honest 02:44:08 since she didn't get the bienvenido message 02:44:13 rdococ: she hails from a venezuelan ip so it seemed logical it is her native language. 02:44:23 k 02:44:50 rdococ: could be though. however i meant "didn't get" as in pays no attention to it, as if she doesn't know what programming means. 02:45:09 hmm 02:45:10 okay 02:45:17 `? rdococ 02:45:19 RDOCOCLIKESTOMAKELANGUAGESLIKETHIS 02:45:32 `learn rdococ Apparently from Budapest, but probably not. 02:45:38 Relearned 'rdococ': rdococ Apparently from Budapest, but probably not. 02:45:57 `learn rdococ is apparently from Budapest, but probably not. 02:45:59 Relearned 'rdococ': rdococ is apparently from Budapest, but probably not. 02:46:35 hmm 02:46:45 is there a programming paradigm that has not been done yet 02:47:00 oh what about 02:47:03 program-oriented 02:47:17 PrOgram-Oriented 02:47:57 paradigm-oriented, clearly. 02:48:07 (unless Oz is that) 02:48:10 how would that even work 02:48:14 i dunno 02:49:29 izabera: also, she said she had been banned from #canaima-social(?) so she's presumably grating even to those who _do_ understand her. 02:49:50 i've been banned from a dozen channels 02:50:02 I think I have been banned from a few 02:50:07 >_> 02:50:12 OKAY 02:50:19 whut 02:51:28 ok i get it, getting banned is no proof of anythin (except maybe that you're weird but we all are here.) 02:51:32 *+g 02:52:26 or that they're shit channels. 02:53:51 defocus is a shit channel? 02:54:03 THOSE WERE ALTERNATIVES 02:54:20 oh my god -.- 02:54:26 I'm weird? 02:54:31 * oerjan perhaps shouldn't do joke shouting at this point 02:54:41 rdococ: like a platypus hth 02:54:53 what? I knew you weren't really angry 02:55:04 good, good 02:55:13 BUT I'M WEIRD? 02:55:19 Yay! 02:56:03 * rdococ yawns 02:56:03 yw 02:56:51 [wiki] [[User:Rdococ]] M https://esolangs.org/w/index.php?diff=46701&oldid=46670 * Rdococ * (+14) yay added BASICER to my list 02:57:46 what do you think of BASICER? 02:58:10 -!- tromp_ has joined. 03:00:03 -!- lambda-11235 has joined. 03:03:15 -!- tromp_ has quit (Ping timeout: 276 seconds). 03:03:31 -!- heroux has quit (Ping timeout: 248 seconds). 03:03:41 I like the idea of a bas icer. Is that like a cake decorator who only does single layer cakes? 03:04:21 rdococ: I am curious, what paradigm is Daoyu 03:04:24 -!- heroux has joined. 03:05:41 kaynato: dunno 03:05:51 proof: no, basicer 03:05:59 prooftechnique: my esolang 03:06:17 I know, I was making a very oblique joke 03:06:28 *hth 03:06:44 ha ha 03:06:46 base icer 03:07:04 I was thinking like bas relief, but yeah, the principle is the same 03:07:52 Have I gotten a chance to show you the language I have made? 03:08:04 what is it? 03:08:15 BASRELIEF, the language you go to when you're just too fed up with BASIC 03:09:02 Daoyu: https://esolangs.org/wiki/Daoyu 03:09:12 I'm trying to think of a way to implement conditionals with only GOTO just to make BASICER complete :D 03:09:28 prooftechnique: computed goto? 03:10:09 I don't think BASICER's goto can do that. 03:10:11 GOTO 100*(a>b)+200 03:10:13 ok 03:10:50 -!- tromp_ has joined. 03:11:23 wut 03:11:38 I guess they kind of already exist, if you take the user as an oracle 03:12:01 there are no variables, how do you expect conditionals 03:12:08 arthur-merlin model, with the user as merlin 03:13:56 *protocol 03:14:23 @rdococ: is there a possibility you can help me with some C memory problems? 03:14:23 Unknown command, try @list 03:14:38 why are you asking me 03:15:09 You seem to be an experienced authority figure 03:15:16 I do? 03:15:28 I...suppose? 03:15:41 :s 03:16:14 well, I'm about to fall asleep, and I don't know all that much, ask someone else 03:16:50 Alright, thanks 03:16:53 but thanks for the compliment 03:17:31 channel.Sleep(awkward silence) 03:17:35 *chirp* 03:18:58 i'm sure there's some authority on C here. 03:19:08 i mean, there are IOCCC winners here. 03:19:26 this may or may not help in this case. 03:19:38 * oerjan pokes tromp_ and Gregor 03:19:55 (the latter only out of principle) 03:20:28 (and i'm not sure the former appreciates it either) 03:20:36 * rdococ snores loudly 03:20:52 Most surprisingly portable is a great honor 03:24:56 -!- shikhin has quit (Read error: Connection reset by peer). 03:25:24 -!- fungot has quit (Ping timeout: 246 seconds). 03:25:45 -!- sewilton has quit (Ping timeout: 246 seconds). 03:27:43 -!- Lymia has quit (Ping timeout: 246 seconds). 03:27:43 -!- fractal has quit (Ping timeout: 246 seconds). 03:27:43 -!- dingbat has quit (Ping timeout: 246 seconds). 03:28:54 -!- incomprehensibly has quit (Ping timeout: 246 seconds). 03:32:03 -!- jameseb has quit (Ping timeout: 246 seconds). 03:32:03 -!- nitrix has quit (Ping timeout: 246 seconds). 03:32:03 -!- glogbot has quit (Ping timeout: 246 seconds). 03:32:09 -!- esowiki has joined. 03:32:13 -!- esowiki has joined. 03:32:14 -!- esowiki has joined. 03:33:09 -!- esowiki has joined. 03:33:13 -!- esowiki has joined. 03:33:14 -!- esowiki has joined. 03:34:09 -!- esowiki has joined. 03:34:11 -!- glogbot has joined. 03:34:13 -!- esowiki has joined. 03:34:14 -!- esowiki has joined. 03:34:56 -!- sewilton_ has changed nick to sewilton. 03:35:27 -!- dingbat_ has changed nick to dingbat. 03:35:34 -!- tromp_ has quit. 03:36:13 ack 03:36:16 -!- nitrix- has quit (Changing host). 03:36:16 -!- nitrix- has joined. 03:36:20 -!- nitrix- has changed nick to nitrix. 03:36:31 -!- incomprehensibly has joined. 03:37:52 -!- tromp has joined. 03:39:05 -!- tromp has quit (Remote host closed the connection). 03:39:53 -!- tromp has joined. 03:47:35 [wiki] [[Special:Log/newusers]] create * Kc kennylau * New user account 03:47:46 [wiki] [[///]] https://esolangs.org/w/index.php?diff=46702&oldid=40418 * Kc kennylau * (+4) /* Binary to unary conversion */ 04:01:19 [wiki] [[Binary to unary conversion]] N https://esolangs.org/w/index.php?oldid=46703 * Kc kennylau * (+1729) Created page with "A '''binary to unary conversion''' program is a program that can convert a given number in binary form to a unary form. It is mainly used to showcase [[Markov algorithm]] ([ht..." 04:01:21 [wiki] [[Retina]] https://esolangs.org/w/index.php?diff=46704&oldid=45838 * Kc kennylau * (+110) 04:01:59 [wiki] [[Binary to unary conversion]] https://esolangs.org/w/index.php?diff=46705&oldid=46703 * Kc kennylau * (+28) 04:02:57 [wiki] [[Binary to unary conversion]] https://esolangs.org/w/index.php?diff=46706&oldid=46705 * Kc kennylau * (+92) /* Retina */ 04:03:17 [wiki] [[Retina]] https://esolangs.org/w/index.php?diff=46707&oldid=46704 * Kc kennylau * (+103) 04:07:03 -!- tromp has quit (Ping timeout: 244 seconds). 04:28:33 -!- Kaynato has quit (Ping timeout: 240 seconds). 04:32:35 -!- mihow has quit (Quit: mihow). 04:47:00 @tell hppavilion[1] http://dl.acm.org/citation.cfm?id=96559.96570 has &lgr; for some reason. I have no clue what that entity means <-- it's a lambda hth 04:47:00 Consider it noted. 04:51:06 @tell rdococ so there is no turing complete machine with only one register? <-- fractran. 04:51:06 Consider it noted. 05:01:18 -!- ais523 has joined. 05:03:48 -!- fractal has joined. 05:04:32 -!- tromp has joined. 05:09:22 -!- lambda-11235 has quit (Quit: Bye). 05:23:14 -!- tromp has quit (Ping timeout: 260 seconds). 05:23:49 https://api.left-pad.io/?str=test&len=12&ch=%22 05:23:55 it got fixed :-D 05:32:29 ais523, that's clearly a semver violation, they should put a version number somewhere. I suggest in the domain name just after .io 05:32:58 is it a semver violation if you don't /have/ a version number? 05:37:07 is it a semver violation if you use one of the noncompliant examples from the spec? 05:37:19 ais523: api.0.1.left-pad.io 05:37:27 note that it is for the version 1.0 06:20:01 -!- tromp has joined. 06:22:28 -!- hppavilion[1] has joined. 06:26:27 -!- tromp has quit (Ping timeout: 260 seconds). 06:27:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 06:40:02 -!- tromp has joined. 06:45:45 -!- tromp has quit (Ping timeout: 268 seconds). 06:51:57 -!- lleu has joined. 08:21:49 -!- J_Arcane has quit (Ping timeout: 252 seconds). 08:42:08 -!- tromp has joined. 08:47:33 -!- tromp has quit (Ping timeout: 240 seconds). 08:49:42 -!- Effilry has changed nick to FireFly. 09:00:05 -!- ais523 has quit. 09:15:11 brilliant! the ziped multiple html download of the POSIX spec from opengroup.org is so posixy it has two filenames that are equal case insensitively (_exit.html and _Exit.html) so you can't extract all of it on non-unixy file systems. 09:27:06 b_jonas: they may very well have the same contents, too 09:27:24 http://pubs.opengroup.org/onlinepubs/009695399/functions/exit.html describes those and exit 09:29:14 `fetch http://pubs.opengroup.org/onlinepubs/009695399/functions/_exit.html 09:30:01 2016-03-31 09:29:34 URL:http://pubs.opengroup.org/onlinepubs/009695399/functions/_exit.html [25309/25309] -> "_exit.html" [1] 09:30:01 * oerjan emulates fred astaire 09:30:05 `fetch http://pubs.opengroup.org/onlinepubs/009695399/functions/_Exit.html 09:30:08 2016-03-31 09:29:49 URL:http://pubs.opengroup.org/onlinepubs/009695399/functions/_Exit.html [25309/25309] -> "_Exit.html" [1] 09:30:24 `` diff _?xit.html 09:30:36 No output. 09:30:39 `` diff _?xit.html 09:30:42 No output. 09:30:49 b_jonas: yep 09:31:01 `` rm -v _?xit.html 09:31:03 removed `_exit.html' \ removed `_Exit.html' 09:36:00 -!- jaboja has joined. 09:41:53 -!- jaboja has quit (Ping timeout: 244 seconds). 10:00:34 -!- jaboja has joined. 10:06:27 * oerjan thinks today's mezzacotta comic is strangely coherent. 10:09:14 i would recommend it to fungot, but e's not heeeeeeeeeeeeeAAAAA 10:26:19 mezzacotta? 10:28:51 http://www.mezzacotta.net/ 10:38:32 -!- oerjan has quit (Quit: Later). 10:44:07 -!- tromp has joined. 10:46:15 -!- boily has joined. 10:49:46 -!- tromp has quit (Ping timeout: 252 seconds). 10:51:11 doesn't look that impressive 11:04:22 -!- jaboja has quit (Remote host closed the connection). 11:12:16 -!- dingbat has quit (Quit: Connection closed for inactivity). 11:20:16 -!- ^v has quit (Ping timeout: 264 seconds). 11:22:00 -!- boily has quit (Quit: ALMOST CHICKEN). 11:22:50 -!- ^v has joined. 11:22:51 -!- Deewiant has quit (Ping timeout: 244 seconds). 11:23:28 -!- Deewiant has joined. 11:46:32 [wiki] [[Special:Log/newusers]] create * Midnightas * New user account 11:52:08 -!- Reece` has joined. 11:56:11 [wiki] [[Pylongolf]] N https://esolangs.org/w/index.php?oldid=46708 * Midnightas * (+451) Created page with "= Pylongolf = Pylongolf is a simple stack-based language created by [http://midnightasgames.ga MidnightasGames]. == Adding to stack == Adding to the stack works differently t..." 11:56:25 -!- jameseb- has changed nick to jameseb. 12:05:22 -!- augur_ has quit (Read error: Connection reset by peer). 12:05:42 -!- augur has joined. 12:23:07 -!- ak48 has joined. 12:24:50 -!- ak48 has quit (Quit: node-irc says goodbye). 12:26:01 -!- Sgeo__ has quit (Ping timeout: 252 seconds). 12:29:25 -!- AnotherTest has joined. 12:40:03 -!- ^v has quit (Ping timeout: 248 seconds). 12:40:17 -!- augur has quit (Read error: Connection reset by peer). 12:40:55 -!- augur has joined. 12:41:03 -!- augur has quit (Read error: Connection reset by peer). 12:41:46 -!- augur has joined. 12:46:13 -!- tromp has joined. 12:46:57 -!- ^v has joined. 12:51:37 -!- tromp has quit (Ping timeout: 250 seconds). 13:09:34 am I the only one who didn't make a brain**** derivative when I first joined? 13:35:29 -!- Guest6809 has joined. 13:41:19 -!- p34k has joined. 13:48:41 no 13:48:53 i didn't do it either 13:50:48 -!- lambda-11235 has joined. 13:51:32 rdococ: I still have to resist it VERY hard, because there's a good one I know but I want to make sure it's never made. I'll have to figure out how to do it elegantly without brainfuck, but I haven't yet. 13:53:03 I'll probably have to adapt it to underload if possible. 14:04:34 rdococ: I have not made any esolangs, yet :v 14:06:34 did you made... any prooving technique 14:11:42 The only technique you need is "trust me" :D 14:18:56 oh, the jedi trick? 14:19:17 prooftechnique: but what do you do with those users who are immune to mind tricks? 14:19:48 I bet we have some of those on this channel 14:20:42 Then you just invoke descent theory and everyone gives up 14:29:15 [wiki] [[Evil]] https://esolangs.org/w/index.php?diff=46709&oldid=30837 * Kc kennylau * (+165) 14:35:24 Question. On windows 10, how do I configure the system to not turn off the monitor so quickly when on the lock screen? 14:35:35 [wiki] [[Evil]] https://esolangs.org/w/index.php?diff=46710&oldid=46709 * Kc kennylau * (+105) /* 0 to 255 using only a, e, u, z (To be completed) */ 14:36:15 -!- J_Arcane has joined. 14:36:46 I tried to change the "Power Options" in control panel, but that only lets me change how quickly the monitor turns off when the login isn't locked. 14:39:01 Ah, I see 14:39:26 I tried a google search, and I found some webpages mentioning strange registry entries. 14:39:48 Although most of them are about Windows 8 and they don't seem directly applicable. 14:42:21 -!- spiette has joined. 14:42:46 also found another webpage with a different solution that might work: https://support.microsoft.com/en-us/kb/2835052 14:43:32 hmm 14:45:15 I have trouble trying to turn up the brightness on my monitor 14:45:26 no matter what setting I set, it always looks the same 14:48:16 -!- tromp has joined. 14:50:01 -!- lambda-11235 has quit (Quit: Bye). 14:54:34 -!- tromp has quit (Ping timeout: 240 seconds). 14:57:02 -!- bender| has joined. 15:04:40 -!- Kaynato has joined. 15:06:53 is there a number system where 1/0 = infinity? 15:07:41 -!- AnotherTest has quit (Ping timeout: 250 seconds). 15:09:56 rdococ: not if you want the field axioms to be satisfied, I think 15:13:07 hmm 15:13:52 (x/y)*y = x 15:13:54 so 15:14:02 (x/0)*0 = x 15:14:15 x/y = x * (1/y) 15:14:24 that means x/0 = x * (1/0) 15:14:42 well, there will have to be multiple infinities 15:17:23 -!- Reece` has quit (Read error: Connection reset by peer). 15:22:32 -!- ^v has quit (Ping timeout: 260 seconds). 15:23:16 I always wondered why people keep talking about pi 15:23:22 I prefer the square root of 2 15:23:37 it is the everything number 15:24:36 or i 15:24:41 because it's the number of my dreams 15:25:41 -!- ^v has joined. 15:32:04 I want to make a mathematical system which doesn't calculate things normally so I can do square root of -1 without adding a special case 15:33:25 which I could do 15:33:34 in string substitution 15:33:53 sqrt ($x * $x) = $x 15:34:17 sqrt($x) * sqrt($x) = $x 15:34:20 I think 15:35:46 hmm 15:35:54 how would I make a super-turing complete programming language 15:39:39 adding an oracle is the standard way of doing that 15:40:15 if f(x) does not terminate then ... 15:40:51 but can we break that does not terminate super-complete instruction into smaller ones? 15:41:26 for example, are there other problems that turing complete machines can't solve? 15:42:44 Well, most subsets of the natural numbers are uncomputable... so yes. 15:42:51 The tricky bit is to define one. 15:43:35 well 15:43:38 the issue is 15:43:50 in any system that sounds logical 15:45:24 Would an oracle for the n-th digit of the halting probability (for, say, binary lambda calculus) solve the halting problem... I'm afraid it does? 15:48:44 hmm 15:49:31 how do we divide the halting problem into smaller instructions? basically, a super turing complete language where you need more than one instruction to solve the problem 15:51:50 infact, why not just specify that it computes everything in a finite time 15:51:55 then it's super-turing complete 15:53:56 "everything" 15:56:09 yes 15:56:31 programs that don't halt halt anyway 15:56:38 * int-e is actually hoping for a concrete definition of an oracle that's not computable but cannot solve the halting problem for TMs. 15:56:53 * rdococ wonders what an oracle is 15:57:23 an external entity that answers interesting questions. 15:58:08 are you sure that the halting problem is even well defined? 15:59:34 They're used in computability theory and also in complexity theory. For example a SAT oracle would take a boolean formula and immediately say whether it's satisfiable or not. So people talk about complexities relative to an oracle... P^{NP} would contain problems that can be solved in polynomial time and a polynomial number of queries to an NP oracle (which you can think of as a SAT oracle... 15:59:40 ...because SAT is NP-complete). 16:00:16 rdococ: yes, it is well-defined for Turing machines. 16:00:29 hmmm 16:00:55 hey, turing complete machines can solve it for finite state machines 16:03:11 the "if f(x) halts" construct is not well-defined if you allow recursion, due to its circularity... f := loop while f halts. 16:03:39 I don't understand this. In the rust standard library, why is std::process::Command.spawn not an unsafe function, when it starts a process with an arbitrary executable and so can indirectly cause arbitrary memory access on your process too. 16:04:24 now who would do such things... :P 16:05:01 also, what distinguishes the spawned processes from any other processes that are already running on the system? 16:05:15 by that reasoning, all code is unsafe. 16:05:37 (which is quite close to the truth, but not a useful distinction to make... lacking the distinction) 16:05:56 int-e: sure, if you run unsafe code _once_, and it's not actually safe, then you can get undefined behavior _later_. 16:06:12 but the point is that running only safe code shouldn't be able to do thtat 16:06:24 b_jonas: note that I don't know what kind of safety Rust is trying to model 16:06:34 so opening files or starting processes should count as unsafe 16:06:42 int-e: that is described in the rust book and manuals 16:06:47 * int-e doesn't even know this with complete certainty for Haskell... where he's a bit of an expert. 16:06:47 the safety model that is 16:07:13 well, haskell is sort of different 16:08:15 function f() { while f halts { } } 16:08:20 does the function halt? 16:08:26 the function halts if it does not halt 16:08:34 b_jonas: I was merely trying to clarify that I was voicing an opinion not based on fact but at best on common sense. 16:09:05 hmm 16:09:08 so what about this 16:09:09 rdococ: I think I just wrote that, with slightly different syntaxc 16:09:10 x 16:09:26 make evaluation not go through the whole thing, but just one step - for example 16:09:41 evaluate((3 + 2) + 1) = 5 + 1 16:09:43 not 6 16:10:13 hmm 16:10:52 pairs of functions that cancel each other 16:11:06 successor(predecessor(x)) = predecessor(successor(x)) = x 16:11:22 sqrt(x^2) = sqrt(x)^2 = x 16:11:59 sqrt(x^2) = |x| 16:12:26 sqrt(-1^2) = 1 16:12:27 true 16:12:40 > -1^2 16:12:41 -1 16:12:48 > (-1)^2 16:12:49 1 16:13:46 x * sqrt(y) = sqrt((x^2) * y) 16:13:49 right? 16:13:56 if x >= 0 16:14:02 hmm 16:14:29 (or y = 0) 16:14:37 so it works if y < 0? 16:14:49 -!- J_Arcane has quit (Ping timeout: 252 seconds). 16:14:58 1 * sqrt(-1) = sqrt((1^2) * -1) 16:15:10 it gets messy if you allow complex numbers 16:15:58 we could make a computer system that treats impossible numbers as if they were normal - basically a way to check if expressions evaluate to the same value without evaluating them 16:16:17 brb 16:18:09 Because of branches... and arbkitrary choices for "principal values". (The same is true for real numbers, but there the mess can be reduced to just discussing signs.) 16:18:10 -!- bender| has quit (Read error: Connection reset by peer). 16:18:30 `? arbkitrary 16:19:03 arbkitrary? ¯\(°​_o)/¯ 16:23:25 fungot, are you arbkitary? 16:27:08 i^2 = j^2 = k^2 means i = j??? 16:27:11 = k??? 16:27:30 no 16:27:59 rdococ: are you looking at quaternions? 16:28:36 maybe 16:28:48 but it breaks rules I find comfortable 16:29:08 rdococ: it's no different than 1^2 = (-1)^2 16:29:20 oh 16:29:21 okay 16:29:23 that makes sense 16:29:37 rdococ: if so, note that multiplication there isn't even commutative, so (i-j)(i+j) = i^2 + ij - ji - j^2 != i^2 - j^2... so i^2 = j^2 does not even imply i = j or i = -j. 16:30:20 (but the distributive laws continue to hold) 16:32:48 (in fact, i^2 + ij - ji - j^2 = 2k whereas i^2 - j^2 = 0) 16:41:20 <\oren\> urgh slow compiling 16:42:01 :/ 16:42:48 <\oren\> c++ seems to compile mmuch slower than an equivalent loc of c 16:43:25 -!- ais523 has joined. 16:43:32 it does 16:43:36 <\oren\> i wonder how D and rust compare 16:43:49 C++ needs to do semantic analysis during the parisng 16:43:51 *parsing 16:44:04 and expand templates during compilation 16:44:08 there's C, D, is there E? 16:44:16 \oren\: you know there are compiler options to modify how quickly you compile, and in particular with gcc, -O (same as -O1) is great for improving compilation speed compared to -O2 (which does more optimizations) 16:44:21 right? 16:44:21 Could I ask for some c help? 16:44:25 Kaynato: you can try ;) 16:44:32 I know there's F, perhaps G, idk about H or I, there is J, idk about K...well yet anyway 16:44:44 also, don't use ancient versions of compilers, because some of those really are slow 16:44:51 ^ 16:45:02 Ok, my program is crashing unexpectedly on typical input only of one sort 16:45:14 rdococ: there are languages for every ascii letter, probably more than one language for half of them 16:45:15 there's Lazy K. 16:45:18 If I alter the input with inconsequential anything, it doesn't crash 16:45:24 okay 16:45:28 what about Unicode letters 16:45:29 If I put it in gdb, it doesn't crash 16:45:36 rdococ: and there is a quite famous apl-like called K, and there was some crazy language called E somewhere 16:45:39 Kaynato: you have undefined behaviour somewhere, probably 16:45:50 Sometimes it just crashes 16:45:54 Kaynato: start by turning off optimizations 16:45:56 Other times calloc doesn't want to allocate 4 bytes 16:46:05 possibly run with ubsan 16:46:07 <\oren\> uninitialized varriables? 16:46:07 or valgrind 16:46:20 Optimizations are off, I am compiling for gdb 16:46:55 All variables areinitialized 16:47:12 use valgrind or ubsan 16:47:44 okay 16:47:45 what about this 16:47:46 © 16:47:50 <\oren\> also check for division by zero 16:47:55 circle with a c in it 16:48:14 I am using windows 16:48:39 rdococ: it's the name of a programming language specialized for use in the entertainment industry 16:49:04 Can I run valgrind on windows? 16:49:14 I doubt it 16:49:16 yeah 16:49:18 even if you could, it only runs Linux binaries 16:49:19 ubsan should work though 16:49:29 msan is Valgrind-like and probably works on Windows 16:49:43 (and msan and ubsan complement each other, they catch different classes of bugs) 16:49:45 <\oren\> which compiler are you using? 16:49:56 gcc 16:50:04 Ah, chrome's crashed 16:51:06 at some point you should start ruling out hardware problems, not sure whether you've reached it yet 16:51:35 -!- tromp has joined. 16:51:58 -!- dingbat has joined. 16:52:24 ouch... faulty RAM sucks 16:52:33 it's hard to debug 16:53:02 (but chrome crashing doesn't mean that much) 16:53:24 Kaynato: check if maybe your system's memory use is so high that programs run out of memory. 16:53:35 it is not 16:53:44 it's not the most likely of causes... and it tends to produce intermittend rather than reproducible errors anyway 16:53:49 or if the program you're running is allocating too much memory which is how it runs out. 16:53:52 I mean, I can run this and have it allocate even a few mb 16:53:54 int-e: yep 16:54:00 it's just on this specific program that calloc fails for some reason 16:54:03 intermittent 16:54:39 Kaynato: usually that's just a memory corruption bug elsewhere in the program, eg. indexing past an array or using a stale or uninitialized pointer 16:55:04 like a pointer to a freed object 16:55:53 -!- tromp has quit (Ping timeout: 244 seconds). 16:56:00 it's really strange, I'm using really simple code and it causes this, while complex code doesn't 16:56:12 I'll make a simpler example to see if the error is triggered 16:56:41 Ok, so I can run the output file just fine 16:56:52 But on the default of compile-interpret, it breaks 16:58:58 -!- hppavilion[1] has joined. 16:59:15 -!- mihow has joined. 17:01:06 sounds like you have a memory corruption bug somewhere 17:01:19 yep 17:01:46 how do I run ubsan? 17:07:09 Kaynato: try -fsanitize=address -fsanitize=undefined when compiling with gcc (you'll need a recent version of gcc) 17:07:23 that'll turn on asan (which I called msan earlier due to misremembering the name) and ubsan 17:08:07 then run your proram as normal 17:09:26 I'm not sure if this works on Windows yet; hopefully it does though 17:10:19 -!- Kaynato has quit (Ping timeout: 244 seconds). 17:10:32 oh, Kaynato probably didn't see my reply :-( 17:10:39 hmm 17:10:53 if I were to make an infinity, it would be a neutral number like 0 17:11:01 okay, if you call it a number 17:11:34 -!- Kaynato has joined. 17:12:35 Kaynato: try -fsanitize=address -fsanitize=undefined when compiling with then run your proram as normal gcc (you'll need a recent version of gcc) that'll turn on asan (which I called msan earlier due to misremembering the name) and ubsan I'm not sure if this works on Windows yet; hopefully it does though 17:13:19 -!- lambda-11235 has joined. 17:13:27 infinity is basically the 0 that's 1/0 17:13:40 infinity is like a second 0 17:14:24 Projective number line? 17:14:30 I heard of this projective circle thing that goes from 0 -> 1 -> 2 -> 3 -> infinity -> -3 -> -2 -> -1 -> 0 17:15:24 rdococ: right, that's basically projective geometry 17:15:28 it works in more dimensions than just 1D 17:15:47 and has some other fun properties, e.g. going past infinity and back from the other side makes an object into a mirror image of itself 17:16:21 so you can have complex projective numbers and cool extra transformations? 17:17:47 perhaps 17:18:01 I'm not sure if it works with complex numbers rather than just x/y coordinates, but it probably does 17:18:06 or, wait, no 17:18:08 it isn't an x/y 17:18:13 because infinity is a point, not a line 17:18:27 err, no it is a line 17:18:28 I think 17:18:30 I'm confused 17:18:38 hmm 17:18:48 x/y is the same thing as the complex plane 17:18:53 at least I think it is 17:18:55 in 2D projective geometry, there is one "point at infinity" for each angle a line can have 17:19:09 two parallel lines intersect at the point at infinity for their angle 17:19:16 so there is a line at infinity that contains all the points at infinity 17:19:20 can a triangle have one angle in infinity? 17:20:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 17:20:38 An angle of infinity is not particularly meaningful 17:20:58 Oh, misread 17:20:59 Sorry 17:21:39 ais523: Riemann sphere is the likely one you are thinking about for complex numbers 17:21:52 could be 17:22:07 I'm not an expert on projective geometry, I've hardly even seen references to it 17:22:35 rdococ: I don't see why you couldn't have a triangle formed out of two crossing lines, with the third at infinity 17:23:32 sleepy 17:32:05 ais523: because there's a whole line at infinity, and the two intersecting lines will intersect that one in different points. 17:32:46 int-e: yes, thus forming a triangle 17:33:02 one of the sides runs from one of the relevant points-at-infinity to the other 17:33:15 ais523: oh, it wasn't clear that the line at infinity would be one of the sides 17:33:16 the other two run from the points-at-infinity to a single point in "finite space" 17:33:20 ais523: that's fine then 17:35:26 oh, another parsing failure... 17:35:53 -!- oerjan has joined. 17:36:19 -!- lleu has quit (Quit: That's what she said). 17:39:33 @tell myname doesn't look that impressive <-- what do you mean, not impressive? all the panels share a theme despite not being just repetition of each other! (ok so the point is that it's usually far worse hth) 17:39:33 Consider it noted. 17:41:14 oerjan: this is a mezzacotta comic? 17:41:25 ais523: yeah 17:41:28 today's 17:41:56 that's actually… mildly funny, at least 17:42:04 you are right, it is unusually good for mezzacotta 17:42:14 * ais523 bakes it 17:42:51 yay 17:45:18 -!- Frooxius has joined. 17:45:54 -!- spiette has quit (Quit: :qa!). 17:46:58 An old stack based language I wrote a long time ago, https://github.com/lambda-11235/tstk. 17:47:20 am I the only one who didn't make a brain**** derivative when I first joined? <-- technically, have i ever? the one i added recently already existed with a different name. 17:48:32 If anyone's interested in looking at it. 17:48:46 i've certainly implemented a few, though. although i don't think i implemented brainfuck _itself_ until i did it in Fueue. 17:50:02 oerjan: did you invent small-finite-tape BF? 17:50:10 like, with a single-digit length? 17:51:10 lambda-11235: why does github show README.html unrendered... 17:51:30 oerjan: because it's not a Markdown file and github doesn't render anything but markdown 17:51:33 -!- zadock has joined. 17:51:57 ais523: cannot imagine so, there was already a proof by someone else that 5 were enough after all. 17:52:13 oerjan: I wrote it a long time ago, and for some reason I decided to use html for the README. 17:52:39 That was long before I joined GitHub. 17:52:46 -!- tromp has joined. 17:52:47 hm 17:53:10 b 17:53:15 bleh 17:53:21 backspace is next to return, as usual 17:53:29 B-) 17:53:43 hmm, why am I apologising for my typos, I used to just send them to #esoteric without caring 17:53:49 presumably I'm on better behaviour than normal 17:53:53 oerjan: Write a program to convert html to markdown, and call it markup. 17:53:58 ais523: and you invented reversible brainfuck before i needed it for jolverine 17:54:08 oerjan: I didn't realise you needed it 17:54:27 lambda-11235: doesn't pandoc do that? maybe it only goes the other way. 17:54:52 * oerjan doesn't really know pandoc 17:55:06 now you're making me want to work on rtfm again 17:55:16 ais523: jolverine is reversible and has a tape, so it seemed like the obvious thing to try... 17:55:29 (for the TC proof) 17:55:32 (the basic idea is that it statistically analyzes text documents to work out what notation they use for headings, titles, etc., then converts into other formats) 17:55:42 and then i had to prove rev. bf TC first 17:55:43 (I haven't even really started it yet, though) 17:57:06 you know, looking at that page 17:57:15 in retrospect I should probably define , to add the input to the current cell 17:57:22 rather than crash the program if the current cell is nonzero 17:57:45 presumably I'm on better behaviour than normal <-- hasn't that day passed 17:57:51 `? ais523 17:57:52 oerjan: Hold on, converting and tidying up the markdown. 17:57:55 oerjan: it was earlier this month 17:57:57 -!- tromp has quit (Ping timeout: 246 seconds). 17:58:04 however, I am sometimes well-behaved on other days too 17:58:04 Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good. 17:58:19 shocking 17:59:33 ais523: next you need to merge rtfm with aimake hth 17:59:50 oerjan: it'd be possible 18:00:01 aimake uses POD for documentation atm (both its own and that of programs it's installing) 18:00:32 but that's partly because it ships with Perl, and partly because it's one of the few formats that has all the features that documentation really needs (the other is info and everyone hates info) 18:01:59 -!- idris-bot has joined. 18:02:11 i recall they changed the doc format for ghc last year. 18:02:35 although the new one _did_ lose a few features (deep nesting, i think) 18:02:51 but it was still considered a win. 18:03:02 oh, hmm, asan and msan both exist and do different things, and valgrind does both those things 18:03:15 (asan = check for addressability, msan = check for definedness) 18:05:23 from DocBook to ReStructuredText https://ghc.haskell.org/trac/ghc/wiki/UsersGuide/MoveFromDocBook 18:08:01 hm, email from norwegian tax authorities 18:09:23 oerjan: well at least you're actually norwegian, so it makes more sense that you receive the email than that, say, I do 18:09:49 the spam filter marked it as possibly spam :P 18:09:56 but there's no link in it so... 18:11:29 -!- shikhin_ has changed nick to shikhin. 18:11:32 ais523: it's an email everyone gets, that the tax forms are ready 18:13:09 (everyone they've got email for, that is. i _almost_ managed to not use the official login long enough that they stopped considering my email valid) 18:13:58 -!- spiette has joined. 18:14:47 oerjan: Converted to markdown. How's that? 18:15:10 yay 18:16:07 markdown annoys me 18:16:51 there are three jobs you really want for a format like that: a) capable of representing arbitrary formatting; b) looks like a regular unformatted text file; c) easy for someone unfamiliar with the format to edit 18:16:57 and it pretty much fails at all three 18:18:27 that's what they call an excellent compromise hth 18:20:08 I've been considering making my own, going all-in on b) and only aiming for the other two to the extend they don't interfere 18:20:24 was considering going so far as to allow people to write directives as sequences of spaces and tabs at the end of lines, Whitespace-style 18:25:36 schlock in a holding cell, what did I miss? 18:25:37 ais523: I would want something that goes for a. A kinda of markup language that's turing complete with arbitrary drawing capabilities. 18:25:42 ais523: I don't think perldoc has all the features that documentation needs. there's one feature I'm really missing 18:26:05 lambda-11235: like HTML+JS, but less insane? 18:26:07 b_jonas: go on 18:26:22 (probably have to wait for the next strip for an explanation... sigh) 18:27:01 well, at least with the current perldoc interpreters. it's possible that it could be fixed in the future by changing those. 18:27:11 ais523: I considered that, but yes, it needs to be more sane, and prettier to look at. 18:27:15 b_jonas: you still haven't told me what the feature /is/ 18:27:54 Like LaTeX, but easier to program and do graphics in. 18:28:04 you know how perl has =begin and =for directives to put renderer-specific parts in a perldoc, so you can say something like eg. =for *HTML \n to embed an image in HTML output 18:28:15 yes 18:28:20 =for aimake manualsection 6 18:28:37 The feature I'm missing is the same thing in negative, so that you can easily put fallbacks for other renderers 18:29:04 it's possible to do this for some renderers by putting the fallback text unconditionally and using some renderer-specific method to hide that text 18:29:04 a "=for everythingelse"? 18:29:11 ais523: no, more like a =for !HTML 18:29:26 that wouldn't be useful unless you could hide from two or more renderers at once 18:29:32 ais523: you can with =begin 18:29:40 ais523: non-starred =being blocks can be nested 18:29:56 obviously =for !HTML is the wrong syntax for it, because it's not backwards compatible 18:30:05 `? markdown 18:30:13 markdown? ¯\(°​_o)/¯ 18:30:35 `le/rn markdown/What will your markdown flavor be today? 18:30:46 Learned «markdown» 18:30:48 -!- zadock has quit (Ping timeout: 276 seconds). 18:30:55 we could use something like =for begin !\nHTML\n\n ... \n\n=for end ! 18:31:08 which would be ignored by existing renderers 18:31:19 so the text inside would be kept 18:31:58 you can still do specific hacks like =for HTML\n