←2017-12-08 2017-12-09 2017-12-10→ ↑2017 ↑all
00:01:15 <int-e> same golden ratio (the slope of the right queens is one plus that proportion, because the queens to the right are always placed on the next free diagonal)
00:02:45 <ais523> well, it looks like if you reorder the queens by x-y coordinate, then half of them are on each side of the x=y linen
00:03:05 <int-e> for 10000: (3819,6181)
00:03:11 <ais523> that feels like it's the start of a proof
00:03:19 <ais523> but I'm too tired to work out the details
00:04:13 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
00:33:15 <int-e> quintopia: In fact it appears that the antidiagonals (with constant x+y) only add noise to the otherwise pretty picture thing; if only diagonals (constant x-y) and vertical lines are considered, the queens could be placed at ([k*phi + 1], [k*(phi+1) + 1]) and ([k*(phi+1) + 1], [k*phi + 1]) for k >= 0, where [] is the floor function.
00:33:25 <int-e> s/ thing//
00:34:23 <int-e> (and phi = (1+sqrt(5))/2)
00:35:19 <int-e> so the challenge is to somehow show that the effect of the antidiagonals is negligible for those asymptotic slopes.
00:46:29 <int-e> (Everything seems to boil down to showing that all verticals and diagonals are occupied, and there are only two asymptotic slopes; given that, if d is the proportion of queens to the right of the main diagonal, the k-th "right" queen will end up around (k/d + k, k/d), and the k-th "left" queen at (k/(1-d) - k, k/(1-d)); in order to occupy all verticals, the densities of k/d+k and k/(1-d)-k must...
00:46:35 <int-e> ...sum to 1; hence, d/(1+d) + (1-d)/d = 1, 1 = d + d^2, d = (sqrt(5)-1)/2 = phi-1, and the resulting slopes are phi and phi+1...)
00:57:35 -!- sleffy has quit (Ping timeout: 240 seconds).
00:57:38 -!- adu has joined.
01:02:40 -!- esowiki has joined.
01:04:09 -!- sprocklem has quit (Ping timeout: 246 seconds).
01:04:16 <fizzie> Just as a note of caution, the recent changes feed may be a little flaky at first. I haven't set it up as an autostarted service.
01:12:41 <int-e> `relcome esowiki
01:12:43 <HackEgo> esowiki: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
01:14:03 -!- sleffy has joined.
02:14:51 -!- moonythedwarf has joined.
02:16:52 -!- adu has quit (Quit: adu).
02:17:46 -!- moony has quit (Ping timeout: 260 seconds).
02:31:02 <ais523> huh, so apparently someone's been writing an OS in subleq, of all things: http://esoteric.codes/post/168290778358/a-programming-language-with-only-one-command-and
02:31:29 -!- sleffy has quit (Ping timeout: 248 seconds).
02:41:06 -!- sebbu has quit (Ping timeout: 260 seconds).
02:53:05 -!- DHeadshot has joined.
03:08:04 -!- sprocklem has joined.
03:15:58 -!- sleffy has joined.
03:42:21 -!- heroux has quit (Ping timeout: 240 seconds).
03:43:15 -!- moonythedwarf has quit (Remote host closed the connection).
03:50:36 <\oren\> ok it took me this long but I have stuff working on my new computer
03:51:21 <\oren\> And decided what color I want my computer keys to glow
04:19:41 <zzo38> Incoming connections do not seem to work on my computer (even though it worked yesterday). Is that a problem with my computer? The ISP seems to think so.
04:24:08 <zzo38> Ah, I think I may have found the problem
04:24:19 <zzo38> Maybe.
04:24:26 <shachaf> ais523, int-e: Donald Knuth says he thinks this may never be proved.
04:24:38 <shachaf> Which seemed surprising to me.
04:24:41 <zzo38> No it seems to be correct
04:31:39 <ais523> shachaf: "this" = what? the queens problem?
04:31:57 <ais523> (also, I assume you didn't ask him just now, so presumably he was studying it earlier)
04:32:04 <\oren\> I wanna try this dawn os thing
04:32:29 <shachaf> ais523: Yes.
04:32:41 <shachaf> ais523: He mentioned it at a talk I went to yesterday, which is where I learned about it.
04:34:26 <shachaf> `? queen
04:34:27 <HackEgo> queen? ¯\(°​_o)/¯
04:34:28 <shachaf> `? shachaf
04:34:29 <HackEgo> Queen Shachaf of the Dawn sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. He doesn't know when to stop asking questions.
04:36:46 <ais523> huh, it isn't on OEIS (unless I made a data entry mistake)
04:37:17 <ais523> oh, I did make a data entry mistake
04:37:21 <ais523> http://oeis.org/A065188
04:37:49 <shachaf> Yes, I linked it above.
04:39:24 <ais523> not since I joined, I think?
04:40:07 <shachaf> Oh, I didn't know when you joined.
04:40:12 <shachaf> I thought you saw my original description.
04:47:34 <\oren\> http://gerigeri.uw.hu/DawnOS/img/dawnos.png
04:47:51 <\oren\> I think I detect anime waifus in that screenshot
04:59:37 -!- MDude has quit (Ping timeout: 268 seconds).
05:00:54 -!- MDude has joined.
05:06:06 -!- sleffy has quit (*.net *.split).
05:06:06 -!- MrBismuth has quit (*.net *.split).
05:06:06 -!- GeekDude has quit (*.net *.split).
05:06:07 -!- yorick has quit (*.net *.split).
05:06:07 -!- ineiros has quit (*.net *.split).
05:06:07 -!- DHeadshot has quit (*.net *.split).
05:06:07 -!- xkapastel has quit (*.net *.split).
05:06:07 -!- puckipedia has quit (*.net *.split).
05:06:07 -!- __20h__ has quit (*.net *.split).
05:06:07 -!- Hooloovo0 has quit (*.net *.split).
05:06:07 -!- zarcade_droid has quit (*.net *.split).
05:06:07 -!- BooK has quit (*.net *.split).
05:06:07 -!- idris-bot has quit (*.net *.split).
05:06:07 -!- brandonson has quit (*.net *.split).
05:06:07 -!- sftp has quit (*.net *.split).
05:06:08 -!- LeoLambda has quit (*.net *.split).
05:06:08 -!- Cale has quit (*.net *.split).
05:06:08 -!- shachaf has quit (*.net *.split).
05:06:08 -!- paul2520_ has quit (*.net *.split).
05:06:09 -!- j-bot has quit (*.net *.split).
05:06:09 -!- sdhand has quit (*.net *.split).
05:06:09 -!- rodgort has quit (*.net *.split).
05:06:09 -!- HackEgo has quit (*.net *.split).
05:06:09 -!- iovoid has quit (*.net *.split).
05:06:09 -!- Guest96194 has quit (*.net *.split).
05:06:09 -!- MDude has quit (*.net *.split).
05:06:09 -!- aloril has quit (*.net *.split).
05:06:09 -!- b_jonas has quit (*.net *.split).
05:06:10 -!- jjthrash has quit (*.net *.split).
05:06:10 -!- Yurume_______ has quit (*.net *.split).
05:06:10 -!- ais523 has quit (*.net *.split).
05:06:10 -!- augur has quit (*.net *.split).
05:06:10 -!- Gregor has quit (*.net *.split).
05:06:10 -!- grumble has quit (*.net *.split).
05:06:10 -!- Vorpal has quit (*.net *.split).
05:06:10 -!- newsham has quit (*.net *.split).
05:06:10 -!- erdic has quit (*.net *.split).
05:06:10 -!- sprocklem has quit (*.net *.split).
05:06:10 -!- ski has quit (*.net *.split).
05:06:10 -!- lifthrasiir has quit (*.net *.split).
05:06:10 -!- relrod has quit (*.net *.split).
05:06:11 -!- \oren\ has quit (*.net *.split).
05:06:11 -!- deltab has quit (*.net *.split).
05:08:51 -!- zzo38_ has joined.
05:09:22 -!- copumpkin has quit (Ping timeout: 264 seconds).
05:09:29 -!- zzo38 has quit (Ping timeout: 268 seconds).
05:11:06 -!- MDude has joined.
05:11:06 -!- aloril has joined.
05:11:06 -!- Guest96194 has joined.
05:11:06 -!- iovoid has joined.
05:11:06 -!- HackEgo has joined.
05:11:06 -!- rodgort has joined.
05:11:06 -!- sdhand has joined.
05:11:06 -!- j-bot has joined.
05:11:06 -!- b_jonas has joined.
05:11:06 -!- jjthrash has joined.
05:11:06 -!- Yurume_______ has joined.
05:14:01 -!- sprocklem has joined.
05:14:01 -!- ski has joined.
05:14:01 -!- lifthrasiir has joined.
05:14:01 -!- relrod has joined.
05:14:01 -!- \oren\ has joined.
05:14:01 -!- deltab has joined.
05:14:35 -!- shachaf has joined.
05:14:35 -!- paul2520_ has joined.
05:15:05 -!- sleffy has joined.
05:15:05 -!- MrBismuth has joined.
05:15:05 -!- GeekDude has joined.
05:15:05 -!- yorick has joined.
05:15:05 -!- ineiros has joined.
05:15:20 -!- MrBismuth has quit (Max SendQ exceeded).
05:15:56 -!- ais523 has joined.
05:15:56 -!- augur has joined.
05:15:56 -!- Gregor has joined.
05:15:56 -!- grumble has joined.
05:15:56 -!- Vorpal has joined.
05:15:56 -!- newsham has joined.
05:15:56 -!- erdic has joined.
05:16:37 -!- MrBismuth has joined.
05:21:12 -!- zzo38_ has quit (Ping timeout: 268 seconds).
05:23:46 -!- jaboja has quit (Remote host closed the connection).
05:24:24 <ais523> int-e: shachaf: here's a much easier problem: make it so that the queens can only attack north-south and northeast-southeast
05:24:27 -!- zzo38 has joined.
05:24:37 <ais523> *northwest-southeast
05:25:02 <shachaf> Where do you put the corner?
05:25:08 <ais523> you'll find that the pattern is much simpler due to no random northeast-southwest lining-ups, and yet the ratio is still the golden ratio
05:25:18 <ais523> and this is based in int-e's picture, starting in the top left
05:25:45 <ais523> I think that should be very easy to prove
05:26:12 <ais523> then it might be possible to prove that the northeast-southwest lining-ups aren't common enough to make a long-term difference to the ratio
05:27:41 <zzo38> The DHCP server is giving me an invalid IP address "" but somehow outgoing connections still work; incoming connections don't work. How to fix it?
05:31:40 <shachaf> Hmm.
05:39:52 -!- DHeadshot has joined.
05:39:52 -!- xkapastel has joined.
05:39:52 -!- puckipedia has joined.
05:39:52 -!- __20h__ has joined.
05:39:52 -!- Hooloovo0 has joined.
05:39:52 -!- zarcade_droid has joined.
05:39:52 -!- BooK has joined.
05:39:52 -!- idris-bot has joined.
05:39:52 -!- brandonson has joined.
05:39:52 -!- sftp has joined.
05:39:52 -!- LeoLambda has joined.
05:39:52 -!- Cale has joined.
05:40:03 -!- xkapastel has quit (Max SendQ exceeded).
05:41:57 -!- xkapastel has joined.
05:49:19 <zzo38> I fixed it
05:53:49 -!- zzo38 has quit (Ping timeout: 250 seconds).
05:57:02 -!- zzo38 has joined.
05:58:03 <zzo38> I found out what the problem was and corrected it. Now the IP address changed back to what it was before, and it works (although the DNS will also have to be reverted; once it is, then it will work I expect)
06:00:33 <zzo38> I don't know why it suddenly stopped working today, but fortunately I managed to fix it, after figuring out what was the correct password for the modem (the people on the telephone gave me an incorrect password)
06:16:00 <shachaf> ais523: You're forbidding east-west too, of course
06:16:06 <shachaf> Except that's implicit in the greedy algorithm
06:17:21 <ais523> yes, EW is irrelevant here
06:17:43 <shachaf> But this gives us http://oeis.org/A002251
06:19:07 <shachaf> Or I guess you'd call it http://oeis.org/A019444
06:20:27 <shachaf> "Also, a lexicographically minimal sequence of distinct positive integers such that all values of a(n)-n are also distinct"
06:20:38 <shachaf> They don't make the connection explicit, this is probably worth submitting.
06:26:49 <shachaf> If you solve this problem Knuth will sign your thesis.
06:34:07 -!- ais523 has quit (Ping timeout: 248 seconds).
06:37:30 <zzo38> fizzie: Copy the good messages from the old forum into a static document. The bad messages could be moved into another static document, maybe.
06:38:15 <zzo38> And, I have never heard of this "infinite queen" problem.
06:38:25 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:48:21 -!- sprocklem has quit (Ping timeout: 240 seconds).
06:58:57 -!- augur has quit (Remote host closed the connection).
07:22:04 <zzo38> I played chess earlier today, and my opponent resigned after I failed to recapture one of his pawns with one of my own, instead choosing to advance without capturing.
07:22:32 <esowiki> [[Crement]] https://esolangs.org/w/index.php?diff=53554&oldid=53490 * Zzo38 * (+72) Categories
07:24:17 -!- augur has joined.
07:41:05 -!- sprocklem has joined.
07:42:30 -!- rodgort has quit (Quit: Leaving).
07:46:46 -!- rodgort has joined.
07:57:22 -!- heroux has joined.
07:59:46 -!- augur has quit (Remote host closed the connection).
08:08:01 -!- sleffy has quit (Ping timeout: 248 seconds).
08:15:41 <* Taneb> hello
08:15:49 <shachaf> Haneb
08:17:30 <Taneb> Is that a new bot specifically for the wiki I see?
08:17:58 <shachaf> HackEgo was both for the wiki you see and for the wiki you don't see
08:18:14 <shachaf> This one is more useful to you
08:18:14 <shachaf> Or maybe less useful?
08:19:00 <Taneb> I see
08:26:50 <shachaf> So Wythoff's Nim is a game where there are two piles, and you can remove some number from either pile, or you can remove from both piles, if you remove the same number from each one
08:27:12 <shachaf> This variation would allow you to move from one pile to the other as well.
08:30:11 -!- variable has joined.
08:32:02 <shachaf> Of course this isn't guaranteed to terminate.
08:35:26 -!- variable has changed nick to function.
08:35:30 -!- function has changed nick to terminates.
08:35:33 -!- terminates has changed nick to function.
08:35:37 <Taneb> shachaf, what is the objective?
08:35:39 * function terminates shachaf
08:35:42 <function> there we go
08:36:56 <shachaf> Taneb: You lose (or win?) if it's your turn and both piles are empty.
09:09:05 -!- copumpkin has joined.
09:15:23 -!- copumpkin has quit (Read error: Connection reset by peer).
09:19:07 -!- copumpkin has joined.
09:29:09 <shachaf> I guess I'll email Sloane about this.
09:36:54 -!- sprocklem has quit (Quit: for the night).
09:54:36 -!- zseri has joined.
10:16:36 -!- AnotherTest has joined.
10:18:37 <int-e> @tell ais523 I already gave a solution (though without proof) for that simplified version almost 5 hours before you proposed it :P
10:18:37 <lambdabot> Consider it noted.
10:19:39 <function> @tell lambdabot that I'm testing lambdabot
10:19:39 <lambdabot> Nice try ;)
10:23:23 <shachaf> int-e: Huh, I didn't see that.
10:24:10 <shachaf> int-e: I was just writing an email to Sloane about it before and decided not to because ais523 wasn't here.
10:24:19 <shachaf> Also I wanted to think about it some more.
10:24:55 <shachaf> http://oeis.org/A002251 is indeed the best possible approximation of those two lines.
10:35:02 <int-e> Underlying this is an instance of the following amazing elementary theorem (which probably has a name, hmm.): If a,b > 1 are irrational numbers with 1/a + 1/b = 1, then the sequences ([a*k])_k and ([b*k])_k (k >= 1) are disjoint and cover the natural numbers >= 1, where again [] is the floor function.
10:35:53 <int-e> 1/phi + 1/(phi+1) = 1. (or, if you prefer, 1/phi + 1/phi^2 = 1)
10:40:46 <shachaf> This is apparently called Rayleigh's Theorem or Beatty's Theorem
10:40:53 <shachaf> https://en.wikipedia.org/wiki/Beatty_sequence https://proofwiki.org/wiki/Beatty%27s_Theorem
10:41:00 <int-e> thanks
10:41:16 <int-e> (I was wondering how to search for it.)
10:42:10 <int-e> I considered starting from http://oeis.org/A002251 where the name Beatty comes up... would have been a viable route, probably :)
10:42:10 <shachaf> Are the two full queen sequences Beatty?
10:42:46 <int-e> No, they are too noisy (the lower "line" isn't even monotonically increasing).
10:43:26 <shachaf> Ah, right.
10:48:41 <shachaf> Did you figure out this theorem just now, or what?
10:48:54 <function> its fun reading through the commit history of /dev/random
10:54:01 <int-e> shachaf: no, I learned about it as a teenager
10:54:12 -!- oerjan has joined.
10:54:39 -!- function has quit (Quit: /dev/null is full).
10:54:43 <shachaf> That theorem was a teenager quite a long time ago.
10:54:54 <int-e> so was I :P
10:55:06 <int-e> (though not quite that long :P)
10:55:10 -!- variable has joined.
10:55:26 -!- variable has quit (Client Quit).
10:56:45 -!- variable has joined.
10:57:00 -!- variable has quit (Client Quit).
10:57:31 -!- variable has joined.
10:57:48 -!- variable has quit (Client Quit).
10:58:00 <shachaf> I knew from reading OEIS that it was true for phi but I didn't realize it was true for any sequence.
10:58:04 <shachaf> p. fancy
11:01:11 -!- heroux has quit (Ping timeout: 255 seconds).
11:01:42 -!- heroux has joined.
11:13:06 <fizzie> Taneb: Yes, though it doesn't do anything else than the recent change feed.
11:14:41 <shachaf> `5 w
11:14:46 <HackEgo> 1/2:procrasti//The Procrasti were an ancient people whose nation would have been a great empire if they'd ever got around to it. \ lie bracket//Politicians try to stay within the lie bracket: Not so many lies that voters cannot stand it, but not so few that they think you have nothing to give them. \ costume//Costumes are used for cosplay. Ta
11:14:51 <shachaf> `n
11:14:51 <HackEgo> 2/2:neb sometimes invents them. \ shrimp//Shrimp transcends the concept of meat. \ cookie//Hackego wants a cookie! *hangs*
11:15:21 <shachaf> Taneb: You don't invent all costumes?
11:15:29 <shachaf> `cwlprits cookie
11:15:36 <HackEgo> moonythedwar̈f
11:15:40 <shachaf> I knew it.
11:16:00 <int-e> `cat canary
11:16:00 <HackEgo> cat: canary: Permission denied
11:16:12 <int-e> `cat < canary
11:16:12 <shachaf> I should really go to sleep.
11:16:13 <HackEgo> cat: < canary: No such file or directory
11:16:17 <int-e> `` cat < canary
11:16:18 <HackEgo> ​/hackenv/bin/`: line 5: canary: Permission denied
11:16:34 <shachaf> `` file canary
11:16:35 <HackEgo> canary: empty
11:16:48 <shachaf> Remind me, do you follow the Mill?
11:18:16 <int-e> hmm, this? https://en.wikipedia.org/wiki/Mill_architecture
11:18:44 <int-e> If so, I can't say that I'm following it. I'm vaguely aware that it exists.
11:18:59 <shachaf> Yes, that.
11:19:11 <shachaf> I went to their talk the other day, there are a few things that are still unclear.
11:19:38 <oerjan> keeping canary readonly sort of sabotages its purpose...
11:20:07 <int-e> `rm canary
11:20:28 <oerjan> `echo hi
11:20:28 <HackEgo> hi
11:20:35 * oerjan ogles int-e
11:20:37 <HackEgo> rm: remove write-protected regular empty file ‘canary’?
11:20:37 <int-e> `cat canary
11:20:38 <HackEgo> cat: canary: Permission denied
11:20:44 <int-e> ooh!
11:20:52 <int-e> it had to time out
11:21:05 <int-e> `` chmod u+w canary
11:21:06 <HackEgo> No output.
11:21:27 <int-e> `rm canary
11:21:28 <HackEgo> No output.
11:21:32 <int-e> `stat canary
11:21:33 <HackEgo> ​ File: ‘canary’ \ Size: 0 Blocks: 0 IO Block: 1024 regular empty file \ Device: 12h/18dInode: 672529 Links: 1 \ Access: (0644/-rw-r--r--) Uid: ( 5000/ UNKNOWN) Gid: ( 0/ UNKNOWN) \ Access: 2017-12-09 11:20:51.000000000 +0000 \ Modify: 2017-12-09 11:20:51.000000000 +0000 \ Change: 2017-12-09 11:20:51.0000000
11:22:10 <shachaf> `` ls -l canary
11:22:11 <HackEgo> ​-rw-r--r-- 1 5000 0 0 Dec 9 11:20 canary
11:22:12 <int-e> I guess that was to be expected (recreating it from the repo will reset the access rights)
11:22:36 <int-e> `` chmod -r canary
11:22:36 <HackEgo> No output.
11:22:51 <int-e> I think it's fine this way.
11:22:56 <shachaf> I like the description of the Mill's belt: "hardware SSA'
11:23:00 <oerjan> `` ls -l canary
11:23:01 <HackEgo> ​--w------- 1 5000 0 0 Dec 9 11:20 canary
11:23:15 <oerjan> fancy
11:24:15 -!- sebbu has joined.
11:25:59 <int-e> shachaf: I actually have three lectures of the guy (at Stanford a few years ago) downloaded, but never got around to watching them... probably never will. Skimming a paper is more realistic for me.
11:26:33 <int-e> (since 2013, wow)
11:27:40 -!- ddlyheadshot has joined.
11:28:18 <shachaf> int-e: Some of it is written up on the website now.
11:28:33 <shachaf> Unfortunately a lot is still in video form. Video isn't a great way to transmit information.
11:28:52 <shachaf> Those lectures are better watched at 2x speed.
11:29:34 <shachaf> You can read e.g. https://millcomputing.com/topic/introduction-to-the-mill-cpu-programming-model-2/
11:29:57 <shachaf> Those diagrams are awful on a dark background.
11:30:11 -!- DHeadshot has quit (Ping timeout: 255 seconds).
11:33:57 <esowiki> [[Esolang talk:Funding]] M https://esolangs.org/w/index.php?diff=53555&oldid=53553 * Oerjan * (+47) Ho humsigned
11:37:12 <fizzie> Heh, thanks. I'm not very MediaWiki-talk-oriented.
11:40:41 <oerjan> <ais523> shachaf: "this" = what? the queens problem? <-- . o O ( maybe we should just forbid shachaf from using that word )
11:41:04 <int-e> oerjan: He won't like that.
11:41:48 * oerjan sees what int-e did there.
11:43:04 <oerjan> `? this
11:43:05 <HackEgo> this is a word
11:43:16 <int-e> shachaf: anyway, large parts of this remind me of HP's and intel's EPIC approach.
11:43:36 <oerjan> `learn This is something shachaf likes to talk about. We're often unsure what this is, though.
11:43:39 <HackEgo> Learned 'thi': This is something shachaf likes to talk about. We're often unsure what this is, though.
11:43:39 <int-e> (Not to say EPIC failure. Well I guess I had to say it.)
11:43:43 <oerjan> hm
11:43:56 <shachaf> oerjan: Come on, that this wasn't a reference to this.
11:44:06 <shachaf> Also I think zzo38 should get credit.
11:44:19 <int-e> Yeah I think zzo38 started this.
11:44:25 <oerjan> shachaf: he may have started it, but you made it jump the shark hth
11:44:47 <oerjan> `revert
11:44:48 <HackEgo> Done.
11:44:49 <shachaf> shachaf@iodine:~/logs/esoteric/tunes-13-$ grep 'Do you like this' 17.* | awk '{print $2}' | sort | uniq -c | sort -rn
11:45:04 <int-e> (And I may have been a bit of a catalyst simply by complaining about this.)
11:45:18 <shachaf> 77 <zzo38> \ 19 <shachaf> \ 2 <HackEgo> \ 1 <lambdabot> \ 1 <Cale>
11:45:24 <int-e> Anyway, enough of this. (Argh.)
11:45:28 <shachaf> Just so we're clear about this.
11:45:43 <oerjan> `learn This is something people on the channel like to talk about. We're often unsure what this is, though.
11:45:44 <HackEgo> Learned 'thi': This is something people on the channel like to talk about. We're often unsure what this is, though.
11:45:45 <shachaf> int-e: Actually, the catalyst was a former coworker of mine who knew zzo38 through another medium.
11:45:50 <oerjan> oops
11:45:58 <oerjan> `revert
11:45:59 <HackEgo> Done.
11:46:00 <shachaf> itym `oops
11:46:04 <shachaf> `cat bin/oops
11:46:05 <HackEgo> cat: bin/oops: No such file or directory
11:46:08 <shachaf> `cat bin/whoops
11:46:08 <HackEgo> OLD="wisdom/$1"; [ -z "$1" ] && OLD="$(lastfiles)"; NEW="${OLD}s"; if [ -f "$NEW" ]; then echo "«${NEW}» already exists"; exit 1; fi; mv "$OLD" "$NEW" && echo "«${OLD}» -> «${NEW}»"
11:46:10 <int-e> It's damn hard to stop. (One more: shachaf is the one who made this painful.)
11:46:11 <int-e> :P
11:46:17 <oerjan> `le/rn this//This is something people on the channel like to talk about. We're often unsure what this is, though.
11:46:19 <HackEgo> Relearned 'this': This is something people on the channel like to talk about. We're often unsure what this is, though.
11:46:28 <shachaf> `doag bin/whoops
11:46:30 <oerjan> now it's nice and inclusive.
11:46:34 <HackEgo> 9714:2016-11-17 <oerjän> whoop ../bin/whoop \ 9713:2016-11-17 <shachäf> ` mv bin/whoop{s,} \ 9710:2016-11-17 <oerjän> ` mv bin/whoops{s,} \ 9709:2016-11-17 <oerjän> whoops \ 9708:2016-11-17 <oerjän> mkx bin/whoops//OLD="wisdom/$1"; [ -z "$1" ] && OLD="$(lastfiles)"; NEW="${OLD}s"; if [ -f "$NEW" ]; then echo "\xc2\xab${NEW}\xc2\xbb alread
11:46:57 <shachaf> oerjan: You gotta learn to use your ownventions
11:47:04 <oerjan> shachaf: i know i made it, but now i was suddenly queasy about keeping the history on the right file
11:50:09 <int-e> shachaf: So... there are some questions that Mill has to answer; foremost, perhaps, how well utilised the VLIW words will be. There's also the issue with memory bounded stuff (where, actually, it's beneficial to have out of order execution; you may have one load from cache and one from memory without knowing which one will be which in advance)... and there's utilisation of compute units;...
11:50:15 <int-e> ...hyperthreading is done for a reason. So, hmm. It's interesting to watch but too early to buy into, I think.
11:51:02 <int-e> (The first point is about code size and correspondingly, required memory bandwidth for code.)
11:51:21 <shachaf> It's certainly too early to buy into. But they have a lot of creative ideas.
11:51:28 <shachaf> They've responded to some of your points.
11:52:22 <shachaf> E.g. They say that ~88% of the benefit of an OOO chip can be achieved with static scheduling, I think/
11:52:25 <shachaf> https://piazza-resources.s3.amazonaws.com/hf1cdb546x444z/hg1su47nz4g5po/Discerning.pdf?AWSAccessKeyId=AKIAIEDNRLJ4AZKBW6HA&Expires=1512831104&Signature=GMYlhuBq1ACt%2BYsVJuTi1nhGtg0%3D
11:53:22 <shachaf> They have all sorts of tricks for getting high instruction parallelism. Hard to say how well it'll really work in practice this far in advance, of course, but they have a working LLVM backend and they say it generates code that uses it well.
11:54:15 <shachaf> They also say that they don't think hyperthreading will give that much benefit over just adding more cores for most general-purpose code.
11:55:26 -!- esowiki has quit (Remote host closed the connection).
11:55:26 -!- ddlyheadshot has quit (Read error: Connection reset by peer).
11:55:32 -!- DHeadshot has joined.
11:55:41 -!- esowiki has joined.
12:00:20 <esowiki> [[Javagrid]] https://esolangs.org/w/index.php?diff=53556&oldid=53093 * Stefan-hering * (+19)
12:01:19 -!- oerjan has quit (Quit: Later).
12:08:42 <int-e> shachaf: The way I see it, hyperthreading pays for a lot of the OOO execution complexity, by using the same instruction scheduling engine for two threads. I'll admit that it's totally unclear whether two simpler cores are better or worse.
12:14:40 <shachaf> I'm certainly not a CPU designer.
12:14:52 <shachaf> They discussed it a bit in the most recent talk on threading.
12:15:32 <int-e> neither am I (obviously?)
12:16:22 <int-e> Heck I have not even used an FPGA, or even something like Verilog in a simulator.
12:16:33 <shachaf> Their claim is that the machinery that has to be duplicated to implement SMT is almost as expensive as another core, that you don't really get that much benefit for typical workloads, especially when you get increased instruction-level parallelism with their other tricks.
12:17:01 <shachaf> And that there's a lot of ILP that an OOO CPU can't see because it's too far ahead.
12:17:16 <shachaf> Of course we heard some of these same claims with the Itanium.
12:17:34 <shachaf> But they give various reasons they think they'll be able to do better.
12:19:34 <int-e> Hmm maybe I should get myself a copy of the Hennessy Patterson book for christmas?
12:20:26 <int-e> Well, probably not. No time for that, really.
12:23:16 <int-e> Hmm, wow... Blu-ray cheaper than DVD, I don't think I've seen that happen before. (There's a solution to the puzzle: the Blu-ray version has been available for almost a year now.)
12:23:27 <esowiki> [[Esolang:Wiki dumps]] https://esolangs.org/w/index.php?diff=53557&oldid=39282 * Fizzie * (+49) Update dump schedule, make numbers bigger.
12:26:19 <fizzie> If there's anyone regularly downloading the XML dump daily, please switch to a weekly schedule, because it's now generated weekly.
12:27:35 <fizzie> (At least if you're not using zsync.)
12:27:39 <shachaf> int-e: DVD is a collector's item
12:29:06 <shachaf> fizzie: Because of bandwidth constraints?
12:32:48 <fizzie> shachaf: Let's say it felt like the right tradeoff to make, judging from edit frequency. I don't think daily would be an issue, but there are many days with no edits (though recently's been pretty active).
12:35:47 <shachaf> I mean, are you asking pople not to do it because of bandwidth constraints?
12:36:47 -!- DHeadshot has quit (Ping timeout: 248 seconds).
12:37:18 <shachaf> How much should I pay esolangs.org for daily dump download dispensation?
12:37:42 <fizzie> More out of a general sense of appropriateness. It doesn't seem to make sense to download it more frequently than it's generated.
12:38:49 <fizzie> If y'all (that's the word, right?) do prefer to have it generated daily, we can do daily.
12:40:20 <fizzie> A single person downloading the non-zsync dump every day would mean about +2 GiB/month; we're around ~100 GiB/month as it is, with a nominal limit of 1 TiB/month.
12:46:53 <fizzie> I don't have metrics on how much zsync saves. :/
12:59:17 -!- heroux has quit (Ping timeout: 255 seconds).
13:12:14 <int-e> Hmm. The xml dump is a single file, so I guess the main benefit is that zsync is cheap when there's no new dump.
13:15:11 <int-e> > 440964486 / 215318
13:15:13 <lambdabot> 2047.968520978274
13:20:11 <fizzie> int-e: I thought zsync's supposed to be clever about downloading only changed parts within files?
13:20:49 <fizzie> AIUI, it writes the rsync-style per-block checksums to the metadata file it downloads, and then does HTTP range requests to get only the necessary bytes.
13:20:50 <int-e> So apparently the .zsync file contains a header and 11 bytes (hmm, 3 bytes weak and 8 bytes strong hash?) per 2048 byte chunk of the /uncompressed/ esolang.xml file.
13:23:06 <int-e> Hmm. Let me read a bit more.
13:23:23 <fizzie> http://zsync.moria.org.uk/paper/ is what I was basing that on.
13:24:04 <fizzie> (We're using "zsyncmake -z" on the original uncompressed dump.)
13:27:02 -!- ais523 has joined.
13:28:16 <int-e> Yeah it sounds like it should do a decent job. (Rolling hashes, on uncompressed data, plus offset information for peaking into the right locations of the .gz file)
13:30:04 <int-e> wow. "But it is possible to decompress the file and then recompress it with a variety of options, until a set of options is found that produces a file identical to the original."
13:33:45 <int-e> Okay... I'd hope to see savings in the 20x to 30x range (30 is an upper bound coming from the size of the esolang.xml.zsync file itself), and just a couple of hundred bytes download if the contents has not been changed at all.
13:34:14 <int-e> Assuming that the wiki dump doesn't randomly shuffle pages.
13:40:43 -!- jaboja has joined.
13:48:17 -!- GeekDude has quit (Ping timeout: 248 seconds).
13:54:49 -!- heroux has joined.
14:02:17 <fizzie> From what I've seen, it's in article ID order.
14:02:28 <fizzie> ...I think.
14:03:05 <fizzie> I might be confusing that with the file cache rebuild script, they both print similar outputs.
14:04:24 <fizzie> zcat esolang.xml.gz | grep '^ <id>' looks pretty monotonic, so I guess that's right.
14:06:11 <int-e> For people who really want full dumps, offering a .xz might help; that shrinks the 66MB (gzip) to 20MB (xz).
14:07:50 <int-e> (Well, 21MB. gzip -9 is 63MB, bzip2 -9 results in 33MB)
14:08:47 <int-e> (gzip -9 may interfere with the zsync, of course)
14:09:08 <ais523> the difference in compression ratio there is kind-of astonishing
14:09:59 <ais523> maybe we could steal an algorithm from the Human Knowledge Compression Contest? that specifically uses MediaWiki dumps as the test case for compression
14:10:35 <int-e> well there's no real point in using compression software that isn't commonly available, I think.
14:13:01 <int-e> http://sprunge.us/GOVA ... that's the things I could think of
14:14:33 <fizzie> int-e: Do you want to check what the --rsync flag does to the gzip lines?
14:14:36 <fizzie> While you're at it...
14:16:28 <int-e> gzip -9 --rsync results in 64528216 (instead of 62915220)
14:17:53 <int-e> > 64528216 / 62915220
14:17:56 <lambdabot> 1.025637612011847
14:18:31 <int-e> "This increase size by less than 1 percent most cases." ... well close enough I guess
14:20:54 -!- sdhand has changed nick to whateverhewants.
14:21:19 <ais523> int-e: looks like the second-place entry is GPL
14:24:28 -!- whateverhewants has changed nick to sdhand.
14:27:28 * int-e twiddles his thumbs
14:29:04 <int-e> well, some paq variant can squeeze out a bit more indeed. http://sprunge.us/bjUW
14:29:57 <int-e> but I expect that most linux systems at least have xz these days; I had not heard of lrz before.
14:31:07 <fizzie> How about brotli? ;) (I don't think it's going to set any records.)
14:32:15 <int-e> uh I'll pass
14:32:50 <int-e> actually let me check if I have a package
14:34:10 <int-e> I wonder how long it'll take though
14:37:23 <int-e> uh, wow.
14:37:43 <int-e> > gzip -d < esolang.xml.gz | brotli | wc -c ==> 20748329
14:37:46 <lambdabot> <hint>:1:26: error: parse error on input ‘|’
14:37:53 <int-e> in about 3 minutes
14:40:19 * int-e should've timed all those commands
14:56:37 <fizzie> That's a nice bump over gzip. I wonder if there's some non-inlined resources I could brotli precompress, given that a bunch of browsers do support it.
14:59:51 <int-e> http://sprunge.us/KJOL
15:00:16 <int-e> and that's enough playing around with compressors
15:00:54 <int-e> (the last two entries say something about the (lack of) worth of hyperthreading for BWT based compression.
15:07:25 <Cale> shachaf: Do you like "Do you like this?"?
15:28:51 -!- fungot has quit (Ping timeout: 240 seconds).
15:47:04 -!- fungot has joined.
16:08:50 -!- fizzie has set topic: Happy 15th birthday, #esoteric! | Welcome to the international hub for esoteric programming language discussion, design, development and deployment! | http://esolangs.org | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf.
16:11:13 -!- jaboja has quit (Ping timeout: 248 seconds).
16:35:52 -!- jaboja has joined.
16:41:24 -!- variable has joined.
16:45:27 <int-e> `unidecode 🌽
16:45:29 <HackEgo> ​[U+1F33D EAR OF MAIZE]
16:46:57 <variable> ooooh, useful bot
16:53:08 -!- variable has quit (Quit: /dev/null is full).
16:53:50 -!- variable has joined.
17:24:39 <int-e> so tempted to add https://xkcd.com/1926/ to the topic
17:25:49 <ais523> it's not insane enough
17:26:02 <ais523> Haskell isn't particularly inappropriate for HTML parsing
17:26:05 <variable> ais523: do it
17:26:13 <variable> erm int-e
17:26:15 <ais523> although it's hard to see why the spreadsheet formula would help
17:26:15 <int-e> (Perhaps not, but it reminds me of the time I wrote a Perl program that generated a Java program that generated a Java program.)
17:26:44 <ais523> NetHack 4's build process involves a Perl program that builds a C program then runs it to generate another C program
17:26:46 <variable> int-e: likely not new to you, but just in case https://github.com/mame/quine-relay
17:26:54 <ais523> but that is one of the /least/ insane parts of it :-D
17:27:09 <ais523> variable: quine relays are fairly boring IMO because it's basically just a whole load of nested print statements
17:27:21 <int-e> variable: I've definitely seen some version of that idea.
17:27:22 <ais523> how many languages does it have, incidentally?
17:27:35 <variable> ais523: 128
17:28:00 <ais523> oh, that's less than I was expecting
17:28:38 <ais523> here, have a program that prints a different integer in each of 159 different languages: https://codegolf.stackexchange.com/a/149451
17:29:03 <ais523> (the most recently added was Literate Agda)
17:29:20 <int-e> It's slightly cheating because you can often bridge several programming languages in one step at little cost, just given a function that turns a string into a program that prints it.
17:29:47 <ais523> int-e: I assumed it did that for every language
17:29:49 <int-e> Or perhaps not cheating, but this demystifies this whole thing quite a bit.
17:29:54 <ais523> and then just used one language to revert the whole mess at the end
17:30:03 <int-e> ais523: well you actually have to diagonalize from time to time.
17:30:14 <ais523> I was thinking you'd only diagonalize once
17:30:18 <int-e> Hmm.
17:30:35 <int-e> I don't know, but I imagine it would grow too big to actually be executed that way in some steps.
17:31:17 <ais523> I was assuming that that would actually be smaller
17:32:07 <int-e> there's whitespace, intercal, and brainfuck in the loop, all of which explode for string constants, I think.
17:32:20 <int-e> anyway
17:32:45 <int-e> I've never looked closely so you may well be right
17:33:02 <ais523> I believe all three are linear
17:33:08 <ais523> just more than 1 byte per byte
17:33:18 <int-e> true.
17:33:43 <ais523> come to think of it, I can't think of an esolang offhand in which encoding strings is O(n²)
17:33:46 <ais523> which is surprising
17:34:05 <ais523> (that is, in terms of source code length; there are likely several which are O(n²) at printing them)
17:34:14 <int-e> I like how the readme starts with $ ulimit -s unlimited
17:35:37 <ais523> that makes me shudder a bit, I naturally want to write it as -Ss, but then I realised the two are equivalent in this case
17:36:07 <int-e> . o O ( getting a new shell is cheap )
17:36:23 <ais523> (without -S the ulimit is unincreasable within that shell session, which is useful to stop potentially rogue programs undoing it but isn't what you want to catch honest mistakes; however, if you're setting it to unlimited, that hardly matters…)
17:37:57 <zzo38> Why does the build process use a Perl program and then it builts a C program and then another C program? It seem like strange to me
17:40:01 <ais523> zzo38: the Perl program automates the entire build; the first C program parses the source of the second C program and generates things like constants based on string literals
17:45:26 -!- GeekDude has joined.
17:55:46 -!- jaboja has quit (Ping timeout: 260 seconds).
18:01:25 <zzo38> Would thre be a possibility compiling NetHack into RogueVM? http://zzo38computer.org/textfile/miscellaneous/roguevm I have written a section at the end with some considerations about NetHack
18:03:30 <zzo38> Specifically, hangup saves won't be a problem in RogueVM.
18:04:38 <ais523> zzo38: can it handle function pointers? NetHack needs those
18:05:32 <ais523> also the data storage model is quite different from NetHack's, you could probably compile into it but you'd be missing most of the features
18:05:47 <ais523> (and most versions of NetHack use the "struct hack"; I think it might have been removed from 3.6 though)
18:06:02 <zzo38> Yes; any function pointer is a number indexing into the function table, so you can use those numbers as function pointers.
18:06:34 <ais523> but things like "input map coordinates" aren't really useful for NetHack because NetHack does things /during/ the coordinate input process
18:06:50 <ais523> such as jumping to monsters on keypress, hover-farlook, and the like
18:07:03 <zzo38> ais523: The document is not yet complete; I did intend to add support for those kind of things too
18:07:26 -!- variable has quit (Quit: Found 1 in /dev/zero).
18:07:46 <zzo38> About the data storage model though, it could be "hidden behind" the implementations of malloc() and such, if needed
18:09:19 <zzo38> Another thing I should add is support for use of multiple character sets (the user configuration or something else determines what is used)
18:11:56 -!- xkapastel has joined.
18:14:11 -!- sleffy has joined.
18:15:28 <zzo38> As you can see some of the sections say (TODO) on it; maybe you have some suggestions relating to them.
18:16:24 -!- augur has joined.
18:23:14 -!- hkgit03 has joined.
18:26:04 <int-e> "AlphaZero learns Chess and surpasses StockFish" -- while burning about 2MW of electricity in TPUs.
18:26:27 <int-e> err, I cut the quote short, it said "in 4 hours"
18:26:55 <quintopia> would it still win if its power were cut down?
18:28:02 <int-e> Note, that is the power spent while training. The power for playing is probably a fairly normal 1-2kW.
18:28:06 <quintopia> i mean, we must expect a correlation between power usage and chess skill. humans are much better than birds at chess after all
18:28:32 <int-e> ("normal" for a high end PC/server)
18:29:05 <quintopia> oh. well yeah. power/time tradeoffs
18:30:19 <int-e> Rumors are that they didn't give Stockfish any opening book or table bases. Oh and 1GB of hashtables are mentioned in the whitepaper which isn't so much either.
18:31:48 <quintopia> okay that seems unfair. tablebases are an important part of stockfish's strength. alphazero doesn't and shouldn't need them.
18:32:32 <quintopia> however, even without them, it held alphazero to a draw in a large majority of games
18:32:45 <int-e> Well, chess is a draw :P
18:33:39 <quintopia> where does randomness enter those algorithms? they are obviously not deterministic
18:33:53 <ais523> wouldn't alphazero necessarily be stronger if given tablebases?
18:34:10 <ais523> like, there's no need for an approximate evaluation function if you have a mathematically correct one
18:34:16 <int-e> They have some MCTS on top of the neural network; the policy part of the network is used to determine probabilities of where to explore next.
18:34:37 <quintopia> it learned enough to produce the same results as the tablebases i think
18:34:49 -!- variable has joined.
18:35:07 <int-e> Not sure it would necessarily be stronger, against a non-perfect opponent.
18:35:08 <ais523> and the reason they use MCTS not alpha-beta is because the neural network's evaluations are somewhat unstable (= more sensitive than they should be to small changes in the input) and MCTS is better at coping with the instability
18:35:47 <ais523> int-e: so your idea is that alphazero evaluation is better than tablebases at determining which lines an opponent is likely to misplay?
18:35:54 <int-e> (with tablebases it's hard to go for tricking the opponent)
18:36:02 <quintopia> what does milwaukee county transit system have to do with it?
18:36:16 <int-e> ais523: I don't know.
18:36:18 <ais523> monte-carlo tree search
18:36:28 <int-e> ais523: But this is a possible way that adding tablebases could make a program weaker.
18:36:32 <ais523> right
18:38:26 <int-e> It may also add odd discontinuities in an evaluation function, if it's used in the tree search (starting from a non-table-base position).
18:39:38 <int-e> One conservative idea that should definitely work is to take the MCTS move and override it if it worsens the evaluation according to tablebases.
18:40:10 <ais523> yes, I think that definitely works
18:40:11 <int-e> Where "work" means it should not weaken the engine.
18:40:33 <int-e> (Unless playing against execptionally bad opposition :P)
18:40:47 <ais523> or along similar lines, the only allowable moves should be those that are tablebase-optimal but you use the normal algorithm to choose between them
18:44:10 <quintopia> i wonder if theres a way to use the first few moves or games to determine the opponents strengtha
18:44:45 <quintopia> and if found to be much lower, go for slightly suboptimal moves that are likely to be badly mise aluated
18:45:37 <int-e> well if you recognize bad moves then you can probably exploit them anyway :P
18:46:03 <int-e> (I cannot really answer the question.)
18:46:13 <zzo38> I think I have managed to make an alternative way to make a Minsky machine with Crement
18:46:36 <int-e> (Except maybe that opening books cover the first few moves so you shouldn't hope to learn much about the opponent's strength from those.)
18:46:39 <ais523> quintopia: well, if you're playing against an opponent who has a tablebase, you can assume that it's not going to play tablebase-suboptimal moves
18:46:48 <ais523> and if you're up at stockfish's or alphazero's level, all viable opponents will have one
18:50:21 <int-e> 171
18:50:45 <int-e> oops.
18:54:39 -!- ais523 has quit (Quit: quit).
18:56:37 <quintopia> int-e: but maybe after a few games you can recognize a weaker player who relies heavily on books and tablebases, and do a better job of steering them into the weeds where those will be less useful
19:03:11 <int-e> quintopia: you can get the full game theory... in the next iteration, players can emulate weak players and then strike when the other player tries to exploit those weaknesses ;)
19:03:27 <int-e> (well, not full game theory, just the two player zero sum part, I guess)
19:04:41 -!- jaboja has joined.
19:09:12 -!- moony has joined.
19:44:05 -!- sprocklem has joined.
19:56:21 -!- variable has quit (Quit: Found 1 in /dev/zero).
19:56:41 -!- hkgit03 has quit (Quit: Leaving).
20:06:38 -!- zseri_ has joined.
20:08:45 -!- zseri__ has joined.
20:09:27 -!- zseri has quit (Ping timeout: 240 seconds).
20:12:16 -!- zseri_ has quit (Ping timeout: 260 seconds).
20:13:55 -!- zseri__ has quit (Quit: Leaving).
20:19:57 -!- moony has quit (Ping timeout: 240 seconds).
20:20:59 -!- moony has joined.
20:26:16 -!- heroux has quit (Ping timeout: 260 seconds).
20:30:11 -!- moony has quit (Ping timeout: 255 seconds).
20:30:57 -!- jaboja has quit (Ping timeout: 240 seconds).
20:37:50 -!- sftp has quit (Ping timeout: 255 seconds).
20:38:14 -!- heroux has joined.
20:38:15 -!- sftp has joined.
20:40:07 -!- moony has joined.
20:44:56 <moony> Anyone here used https://www.ponylang.org/ ?
20:54:54 -!- zseri has joined.
21:04:31 -!- sleffy has quit (Ping timeout: 248 seconds).
21:15:43 -!- jaboja has joined.
21:20:45 -!- augur has quit (Ping timeout: 246 seconds).
22:03:51 -!- sleffy has joined.
22:12:16 <quintopia> int-e: cool idea. hard to exploit. what if you have to lose two games to convince your opponent to help you win one?
22:12:44 <quintopia> soon it becomes a matter of exploiting the number of games in the match
22:13:49 <quintopia> at which point you hide the number of games to be played from the competitors. (of course, i dont think they give them that info to begin with)
22:39:35 -!- zzo38 has quit (Ping timeout: 250 seconds).
22:39:43 -!- zzo38 has joined.
22:50:09 -!- sleffy has quit (Ping timeout: 248 seconds).
22:51:04 -!- boily has joined.
23:02:25 -!- jaboja has quit (Ping timeout: 248 seconds).
23:08:26 -!- zseri has quit (Quit: Leaving).
23:26:26 -!- jaboja has joined.
23:45:38 <fizzie> Let's try to flip a thing.
23:45:44 -!- esowiki has quit (Remote host closed the connection).
23:45:58 -!- esowiki has joined.
←2017-12-08 2017-12-09 2017-12-10→ ↑2017 ↑all