←2020-12-16 2020-12-17 2020-12-18→ ↑2020 ↑all
00:03:52 -!- 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:28:41 <nakilon> fizzie that game was black and white
00:29:13 <nakilon> searched both places where screenshots of mine are archived for years but could not find it ( I'm sire I had the screenshot
00:32:14 <nakilon> I guess it's now only deep in my Google Plus Takeout archive
00:35:14 -!- TheLie has quit (Remote host closed the connection).
00:55:15 -!- delta23 has quit (Quit: Leaving).
00:59:41 <nakilon> 02:50:12 <b_jonas> does that make sense?
00:59:42 <nakilon> yes
01:24:51 -!- sftp has quit (*.net *.split).
01:24:51 -!- sparr has quit (*.net *.split).
01:24:51 -!- dnm has quit (*.net *.split).
01:25:59 -!- sparr has joined.
01:30:10 -!- sftp has joined.
01:30:10 -!- dnm has joined.
01:43:18 <fizzie> Hmm, is this a cfunge bug, or am I just misinterpreting something.
01:44:04 <fizzie> Unless I'm mistaken, its & instruction is, given the input "0\n", also consuming the newline from the input, which I think it shouldn't do.
01:46:43 <fizzie> https://github.com/VorpalBlade/cfunge/blob/master/src/input.c#L167 I guess that's an intentional choice, but I don't think that's how it should work.
01:47:06 <fizzie> "Decimal input reads and discards characters until it encounters decimal digit characters, at which point it reads a decimal number from those digits, up until (but not including) the point at which input characters stop being digits, or the point where the next digit would cause a cell overflow, whichever comes first." No special rules about newlines.
01:49:40 -!- Lord_of_Life_ has joined.
01:51:05 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
01:51:05 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:03:44 -!- stux|RC-only has quit (Read error: Connection reset by peer).
02:05:29 -!- stux|RC-only has joined.
02:10:43 -!- Arcorann_ has quit (Ping timeout: 260 seconds).
02:24:49 -!- xelxebar has joined.
02:32:35 <oren> https://paste.ee/p/4nJ0t
02:32:45 <oren> GCC is so wacky
02:33:34 <oren> I don't understand how it gets the correct value for y, but not x
02:33:53 <oren> or why it doesn't give any error
02:39:24 <oren> did GCC implement closures, but only one level of nesting or some shit?
02:44:54 <shachaf> what is this bizarro code tdnh
02:45:49 <shachaf> The C syntax for this thing is so hard to read when you don't use typedefs.
02:46:48 <oren> it's a uhh (int) -> (int) -> (int) -> struct rectprism
02:48:10 <shachaf> I see.
02:57:18 <oren> tcc and clang reject this
02:57:36 <shachaf> Right, nested functions are a GNU extension.
02:58:01 <shachaf> OK, I'm looking at the code now and I certainly wouldn't expect this to work.
02:58:12 <shachaf> f is only valid inside some_func.
02:58:33 <shachaf> You can't just return it and have the closure work anywhere.
02:59:06 <shachaf> The closure has a pointer into some_func's stack frame.
03:01:53 <nakilon> I think about making ~ and & also "work as trampoline or not" on EOF instead of reversing
03:16:52 <nakilon> fizzie btw my unfinished befunge-98 implementation has a bug around that -- it eats one char after integer
03:18:03 <nakilon> I fixed it in RASEL -- good thing Ruby provides ungetbyte method to push bytes back to the stream ..D
03:19:34 <nakilon> https://github.com/Nakilon/rasel/blob/fa758b9944e8ebd942c00b61be0c7476fe4aac4f/lib/rasel.rb#L77
03:36:50 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=79473&oldid=79222 * Razetime * (+44) /* Looks Like */
03:37:12 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=79474&oldid=79473 * Razetime * (+0) /* Looks Like */
04:18:00 <b_jonas> nakilon: I like the idea that ? now jumps forward one or two cells. this way you can write arbitrary control flow in one dimensional code by like pushing a number then ?j
04:19:09 <b_jonas> well, more like pushing a distance, then pushing the tested number, then ?j
04:36:58 <nakilon> the reversing ? kind of allowed that too, but yeah, it's good to keep the pointer going the same direction
04:50:38 <b_jonas> nakilon: hmm, that's true, though then you basically need a trampoline
04:51:23 <b_jonas> and I guess I should say ?j$ so it discards the jump length if the branch isn't taken
05:00:41 <b_jonas> anyway, I think RASEL can indeed simulate an arbitrary finite control machine with single queue of finite alphabet. represent the alphabet with small natural numbers. if a symbol is on the top of the stack, you can do a big case distinction on it like >:?v1-:?v1-:?v1-:?v1-?v> . between states of the original machine, the stack shall contain the queue and then the length of the queue plus one over it. to
05:00:47 <b_jonas> push a symbol A, you can just >A\1+> . to shift a symbol and test it, you do like >:a :?v1-:?v1-:?v1-:?v1-?v>
05:00:55 <b_jonas> and to initialize an empty queue, just >1>
05:01:04 <b_jonas> so you don't in fact need bigints
05:03:00 <b_jonas> and this still works in single-line code, you just have to you just do L\?j$ to put the jump distance L under the number tested
05:05:17 <b_jonas> but it's still not clear to me if you can do an arbitrary computation in RASEL without leaving junk on the stack forever
05:06:33 <b_jonas> all the constructions I mentioned, both this one with a queue, and the one with integer registers (and, as a special case, blindfolded artithmetic, or state machine with a fixed number of stacks of finite alphabets) do leave junk on the stack.
05:10:31 <b_jonas> if you added a second memory (outside the stack) with random access load, store, and sbrk instructions, that would of course solve all the problems and make this something to which you can compile normal programs with a random-access memory.
05:11:15 <b_jonas> you could use the bottom of that extra memory as registers that you can load and store conveniently, which lets you rearrange the top of the stack
05:11:24 <b_jonas> and you could use the rest as just read-writable memory
05:12:04 <b_jonas> but that perhaps would be a different or less esoteric language.
05:12:49 <b_jonas> one that's more suitable for golfing at least though
05:20:55 <int-e> KISS++
05:21:36 <shachaf> kissat++
05:21:49 <shachaf> 猫++
05:26:58 <shachaf> OK, I'm back at it and immediately not sure what to do on the island with the broom.
05:27:41 <shachaf> No, the oar.
05:27:43 <shachaf> The big spoon.
05:27:51 <int-e> ...there are too many landmarks... was there a broom? or an oar?
05:28:32 <int-e> (Apparently I've seen 139 landmarks)
05:28:57 <shachaf> It's at 314,214.
05:30:02 <int-e> I wish the map when traveling had coordinates
05:31:36 <int-e> ah, there
05:32:23 <b_jonas> int-e: does pressing F3 reveal your coordinates perhaps? :)
05:34:57 <int-e> why f3
05:35:41 <int-e> shachaf: may require some thought :P
05:35:47 <imode> minecraft.
05:35:52 <shachaf> int-e: Oh, I already went elsewhere.
05:36:02 <shachaf> I realized there was a footprint area nearby that I didn't finish.
05:37:27 <shachaf> But it is solvable from just that island, it sounds like.
05:38:04 <int-e> imode: ah one of the games that I will never play because there's only two outcomes, both bad
05:38:28 <int-e> imode: 1) I hate it. 2) I get addicted and spend the next half year solely on minecraft
05:39:12 <shachaf> Did you play Factorio?
05:39:18 <int-e> nope
05:42:25 -!- sprocklem has quit (Ping timeout: 268 seconds).
05:45:22 <b_jonas> int-e: press F3 for that in Minecraft
05:45:29 <b_jonas> ah yes, imode already told you
05:46:08 <b_jonas> and I guess that makes sense, int-e
06:12:50 <shachaf> Oh man, this is definitely a glitch in how it displays this interaction.
06:14:54 <int-e> hey maybe you've found something I don't know... I don't remember glitches
06:15:21 <shachaf> I mean, it just snaps the tree from one place to another instead of moving continuously.
06:15:22 <int-e> not even animation glitches
06:15:36 <shachaf> Oh, whoa, I'm 278 islands in and only now I realize that you can stop onto short rocks?
06:16:00 <int-e> yes that was a surprise to me as well
06:16:29 <shachaf> In the "non-spoiler" review of the game, it distinguished between short rocks and tall rocks.
06:16:36 <int-e> right
06:16:37 <shachaf> And I've been wondering why. I guess this it why.
06:17:59 <int-e> and it's a great twist because it gives you a pretty different flavor of puzzles
06:18:20 <shachaf> This puzzle didn't even use it.
06:18:57 <int-e> Yeah, they are doing a good job of introduces the mechanic first as an accident, then make use of it in later puzzles
06:19:03 <b_jonas> shachaf: do you mean "step onto" or "stop on"?
06:19:16 <int-e> b_jonas: the former
06:26:01 -!- arseniiv has joined.
06:28:49 <shachaf> I'm not sure what distinction you're making.
06:29:12 <shachaf> Short rocks are elevated, and if you're also elevated, you can step onto them.
06:34:36 <int-e> shachaf: you made a typo
06:34:52 <shachaf> Oh, now I see it.
07:00:30 <shachaf> Now I'm puzzled by 303,102
07:03:26 <int-e> let me guess, it's another puzzle
07:06:02 <shachaf> There's a tall tree, a short tree, and a short rock, if that clears it up.
07:08:20 <int-e> sounds like every 6th island :)
07:09:10 <int-e> (I'd have to start up the game and I'm refusing this time)
07:09:49 <shachaf> Oh no, I didn't mean to make you start up the game.
07:09:59 <shachaf> I thought you had it up already before, since you said 139 landmarks.
07:10:40 <int-e> and then I quit
07:11:10 <int-e> the main issue I have is that they made finding islands really inconvenient
07:11:34 <int-e> even navigating by coordinates is a process of trial and error
07:12:00 <shachaf> It's https://slbkbs.org/tmp/2020-12-16-231107_3840x2160.png if you're curious
07:13:16 <int-e> ah, yeah, that one looks fun
07:15:58 <int-e> 50 moves or so :)
07:18:08 <shachaf> Oh, wait, this was so easy.
07:18:12 <shachaf> I was so close the whole time.
07:18:39 <int-e> I should set up a proxy for myself that resizes images
07:19:52 <shachaf> I could presize them.
07:20:03 <shachaf> Why do you want them smaller?
07:20:22 <int-e> because the 3MB download takes noticable time for me
07:20:50 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
07:20:52 <shachaf> Aha.
07:21:18 <shachaf> Too bad every web page has 3MB of JavaScript these days.
07:21:19 <int-e> and all the information is still perfectly visible at 25% of the size
07:21:28 <int-e> I also disable JS.
07:21:34 <int-e> Almost everywhere.
07:21:35 <shachaf> It's being upscaled from 1920x1080 anyway.
07:22:00 <shachaf> Did you know that in JavaScript, "for (let i = 0; i < n; i++) { BODY }" is different from "{ let i; for (i = 0; i < n; i++) { BODY } }"?
07:22:07 <zzo38> Not all web pages have 3MB of JavaScript; some have less, and a few have none at all.
07:23:45 <int-e> zzo38: oh really I didn't know
07:24:04 <shachaf> zzo38: Some also have more.
07:24:37 <zzo38> Yes, some have more. I don't know how much is the average
07:26:18 <zzo38> I would try to avoid it by promoting the use of plain text, simple HTML (when plain text won't do), NNTP, Gopher, simpler VMs in case you need one anyways, etc
07:27:59 <shachaf> zzo38: But I want my traffic to be encryptd. I don't think Gopher supports that.
07:29:25 <zzo38> You could use Gopher or any other protocol with TLS, I suppose, but I don't know which implementations will do that. Gemini supports encryption, though.
07:30:07 <zzo38> Of course HTTP is still useful too, but there are too many complicated things and stupid things that should be avoided hopefully even when doing so
07:33:53 -!- lambdabot has quit (Quit: brb).
07:36:21 -!- lambdabot has joined.
07:55:37 -!- TheLie has joined.
08:01:57 <shachaf> Now I'm puzzled by 347,95
08:02:57 -!- Arcorann_ has joined.
08:04:40 <shachaf> I'm wondering whether there's some inter-island thing going on.
08:05:29 <int-e> it's not unheard of
08:06:10 <shachaf> Hmm, maybe I need to get to the other place first...
08:06:28 <shachaf> But that doesn't seem possible, and the footprints are on this island.
08:06:36 <shachaf> It's in the mushroom area.
08:06:42 <int-e> (I did not check where that is, I'm speaking in general)
08:06:55 <shachaf> (Of course)
08:15:29 <int-e> . o O ( Sometimes there's a remote chance of making progress. )
08:15:50 -!- zzo38 has quit (Ping timeout: 265 seconds).
08:18:31 -!- zzo38 has joined.
08:19:59 <shachaf> I've seen almost nothing use the mechanic that trees with leaves are different from trees without leaves.
08:20:04 <shachaf> Maybe a couple of puzzles early on.
08:22:11 <shachaf> So far I'm at 302 islands and 0 friends.
08:36:51 <int-e> I've only seen very few uses of that mechanic as well.
08:37:15 -!- Sgeo has quit (Read error: Connection reset by peer).
08:37:18 <int-e> possible as few as one
08:37:25 <int-e> *possibly
08:37:43 <int-e> there's another mechanic I've only seen once
08:39:57 <shachaf> OK, now I'm in a snowy area that has you walking on rocks.
08:43:27 <int-e> what an uplifting experience
08:45:00 <shachaf> One problem is that it's approximately impossible for me to figure out the "parity" of a log a few moves ahead.
08:45:07 <shachaf> I'm so bad at that kind of thing.
08:45:47 <int-e> if in doubt try it out
09:01:46 <shachaf> OK, that's enough for tonight.
09:01:47 <shachaf> 330 islands.
09:02:17 <int-e> getting there
09:46:22 -!- TheLie has quit (Remote host closed the connection).
09:52:12 -!- rain1 has joined.
09:53:23 <nakilon> 10:20:22 <int-e> because the 3MB download takes noticable time for me
09:53:34 <nakilon> that screemshot just had to be in jpeg somehow
09:54:04 <nakilon> 10:21:18 <shachaf> Too bad every web page has 3MB of JavaScript these days.
09:54:10 <nakilon> not every, only Youtube, and it gets cached
09:54:31 <int-e> nakilon: it's a 3840x2160.png
09:55:22 <nakilon> what is that game at all?
09:56:05 <int-e> A Monster's Expedition
09:57:23 <nakilon> looks like sokoban
09:57:25 <shachaf> nakilon: Nothing gets cached because I use new private browsing sessions all the time.
09:57:34 <int-e> it's loosely based on Sokoban
09:57:41 <nakilon> and yeah, not only that could be in JPEG, the game state is actually 5x5 cells
09:57:45 <int-e> but you know over trees to travel from island to island
09:58:04 <shachaf> It's just a screenshot, not a hyperoptimized transfer of state.
09:58:27 <int-e> ugh
09:58:29 <nakilon> screenshots don't have to be in png
09:58:33 <int-e> know over -> knock over
09:59:07 <int-e> nakilon: what else could they be; PCX doesn't have enough colors
09:59:14 <int-e> BMP is to micro-softy
09:59:26 <nakilon> why do you make private youtube browsing sessions?
09:59:32 <nakilon> there is nothing illegal on youtube
10:00:21 <shachaf> Is BMP Microsofty?
10:02:02 <int-e> pretty sure it first appeared in Windows 3.x
10:02:41 <int-e> Or even Windows 2.0 but who ever even used that...
10:02:46 <shachaf> Sure, that's the origin of the format, but the format itself?
10:02:56 <int-e> It was used heavily in OS/2 as well.
10:03:08 <shachaf> https://upload.wikimedia.org/wikipedia/commons/c/c4/BMPfileFormat.png
10:03:23 <int-e> I still only see BMP files in Windows.
10:04:33 <int-e> In practice most of the pictures I have are PNG and JPEG anyway.
10:04:56 <int-e> And it makes very much sense for screenshots to default to PNG.
10:05:50 <shachaf> Presumably people could do way better than JPEG nowadays for lossy image compression?
10:06:06 <int-e> They can.
10:07:36 <int-e> There's JPEG2000 which is burdened by patents... I suppose webp is the latest attempt to overcome JPEG?
10:08:10 <nakilon> it does not make sense to screenshot games in png
10:08:53 <nakilon> most of the games use jpeg by default in their built-in screenshoting feature
10:09:02 <nakilon> because they realise this thing
10:11:08 <nakilon> unfortunately unlike jpeg the webp is being changed everyday -- they patch the format and the CLI webp converter tools become incompatible even with Google Chrome
10:17:18 <shachaf> I didn't use a built-in screenshotting feature.
10:17:37 <shachaf> I just have one screenshot button, and it shoots the exact pixels that are on screen.
10:17:41 <shachaf> Why would I have more than that?
10:18:05 <nakilon> jpeg does not mean it takes another number of pixels
10:19:14 -!- TheLie has joined.
10:19:51 <int-e> jpeg is not a good default for screenshots
10:20:18 <nakilon> it is
10:21:36 <nakilon> that's why Steam makes screenshots in jpeg too
10:21:41 <int-e> screenshots should be lossless by default, to preserve small details and text
10:21:45 <nakilon> I guess
10:22:11 <nakilon> games don't have small details and text
10:22:18 <nakilon> they are games
10:22:24 <rain1> https://www.youtube.com/watch?v=DDNywILJMGg
10:22:25 <FireFly> uh, sure they do?
10:22:28 <FireFly> depending on the game
10:22:29 <int-e> . o O ( somebody has never playeed TIS-100 )
10:22:30 <rain1> Silicon Zeroes
10:22:33 <rain1> game
10:22:41 <nakilon> this makes no sense
10:22:58 <FireFly> I believe a fairly large fraction of games contain dialogue
10:23:04 <int-e> there are many games that feature lots of text
10:23:22 <nakilon> 13:08:10 <nakilon> it does not make sense to screenshot games in png
10:23:38 <nakilon> where did I say here that it makes no sense to screenshot small details and text in png?
10:23:40 <nakilon> games != irc
10:23:48 <nakilon> games != websites
10:23:51 <int-e> now if the only games you play are fast-paced games rendered with a 3D engine you're probably right
10:23:52 <Taneb> Games often have small details and text
10:23:53 <nakilon> games != terminal logs
10:24:05 <FireFly> many games have small details and text
10:24:19 <FireFly> where you probably want crisp screenshots :p
10:24:34 <FireFly> doesn't really matter though
10:24:41 <Taneb> A lot of games also have large regions of flat colours, which I believe is very suitable for PNG
10:24:45 <FireFly> would make sense to have it be a setting I guess
10:24:50 <nakilon> "there are many games that" does not negate the fact that most of the games don't have it
10:24:53 <nakilon> there is no logic
10:24:55 <int-e> Besides, even for 3D games I'd prefer lossless screenshots; I can always compress them myself later.
10:24:57 <Taneb> Most of the games I play do
10:25:24 <Taneb> Why do you care what other people use to take screenshots of things to show to still other people?
10:25:28 <nakilon> guys, I guess you just were never really making screenshots
10:25:59 <nakilon> and don't realise that even if the game has 75% of screen scape of one flat color it still does not make png screenshot smaller
10:26:11 <nakilon> *75% of screen space
10:26:36 -!- imode has quit (Quit: Batsharks are people too!).
10:26:46 <Taneb> Again, why do you care
10:27:09 <nakilon> because in fact the screenshots you were sharing today were not from TIS, they were from the average game
10:27:11 <FireFly> hum
10:27:15 <int-e> Regardless, we were discussing a default of builtin OS functionality, and there's simply no argument to be made for using JPEG in that context.
10:27:18 <nakilon> and it was 3mb while could be 300kb
10:27:34 <FireFly> this also depends on the lossiness of the jpeg, no?
10:27:50 <nakilon> default OS functionality has nothing to do with png, it takes shots in bmp
10:28:08 <FireFly> maybe I'm missing some context here, idk
10:28:25 <Taneb> nakilon: that depends on which OS you're using. Many of us do not use Windows
10:28:27 <shachaf> Who said anything about the number of pixels? I care about the content of the pixels.
10:28:40 <nakilon> it's the job of additional software to convert the clipboard to png or jpeg and you usually have a choice that you may want to do carefully
10:28:41 <shachaf> I only have one screenshot button. I don't really want a different kind of screenshot for games.
10:28:52 <Taneb> Screenshots on my computer take PNG by default
10:29:15 <nakilon> Taneb pretty sure every OS stores clipboard as bitmap
10:29:46 <Taneb> If I press my print screen button, it saves a PNG in my Pictures directory.
10:29:52 <Taneb> I have done no configuration to set this up
10:29:53 <nakilon> guys, you confuse all the things with each other
10:30:03 <nakilon> computer, keyboard, software, clipboard
10:30:11 <Taneb> This is the default on my OS and desktop environment
10:30:34 <Taneb> I still don't know why you care so much about this
10:30:40 <shachaf> You're the one bringing all these things up. I have no clipboard. Screenshots get saved into the screenshot directory.
10:30:43 <FireFly> looking at the screenshots I've apparently taken in steam, I think I'm happier with all four as png's than jpg's :p
10:30:44 -!- rain1 has quit (Quit: WeeChat 2.9).
10:30:54 <shachaf> I set up my own screenshot thing which is better than the system I've seen in any OS by default.
10:31:23 <shachaf> You press Print Screen, and it shows a little modal menu at the top of the screen, and then you press w to screenshot a window, r to screenshot the whole screen, or s to select a region.
10:31:43 <shachaf> Instead of memorizing Alt+PrtScr or Cmd+Shift+5 or some nonsense like that.
10:32:29 <FireFly> neat
10:32:32 <nakilon> so the thing is that you just don't care how your tools are configured
10:32:42 <Taneb> shachaf clearly cares
10:32:50 <Taneb> I don't know why you care about how I take screenshots
10:33:07 <nakilon> and in result you throw screenshots that weight 3mb and have only 25 bytes of meaningfull data in it
10:33:09 <Taneb> Perhaps the thing you care about is starting arguments?
10:33:18 <int-e> I have a question... what's a clipboard :P
10:33:29 <int-e> I know about active selections
10:33:37 <nakilon> if there was no problem in it there would be no message in this chat: "hey, why your screenshot is 3mb" -- it was not me who said that
10:33:51 <shachaf> int-e: It's one of the X11 selections.
10:33:55 <nakilon> so you are suffering from your own unwilling to learn about image formats
10:34:00 <shachaf> PRIMARY and CLIPBOARD are the two standard ones.
10:34:11 <int-e> (sadly X11 *does* have a clipboard mechanism, and I always have to jump through hoops to work with software that uses it)
10:34:23 <shachaf> What is it about image formats that I haven't learned that you're saying I need to learn?
10:34:50 <shachaf> I think the real problem is that my screenshot was only 3 millibits, and that's not nearly enough information.
10:35:56 <shachaf> I uploaded a 3 MB screenshot because the thing I want by default -- when I don't think about it -- is a lossless reproduction of my screen. When I think about it I can switch to something else.
10:36:03 <shachaf> Why am I getting into this again?
10:36:11 <int-e> nakilon: I may have complained about the size, but I still consider that to be *my* problem, not shachaf's.
10:36:26 -!- aloril has quit (Ping timeout: 272 seconds).
10:36:42 <shachaf> Taneb: Speaking of images, I wrote a sonnet and got cat pictures!
10:36:48 -!- aaaaaa has joined.
10:36:50 <Taneb> shachaf: I saw on Twitter! It was a good sonnet
10:36:55 <shachaf> Cats are the cutest, huh?
10:36:57 <nakilon> int-e you can barely control how you obtain the data
10:37:07 <nakilon> it's a problem of data provider to provide good api, good formats
10:37:08 <Taneb> They sure are
10:37:15 <int-e> nakilon: But I can.
10:37:24 <shachaf> 我喜欢猫
10:37:38 <nakilon> he could use some better website integration, something that asks what format to use for sharing or convert automatically
10:38:09 <Taneb> Anche mi piacciono i gatti
10:38:12 <int-e> nakilon: But it's bad style to expect others to solve your problems for you, unless you're paying for it.
10:38:35 <nakilon> in >99% of cases there would be nothing bad if his screenshot was converted on the website to jpeg for sharing
10:38:50 <shachaf> I'll solve your problems for you!
10:38:57 <shachaf> If you express them as 2SAT instances.
10:39:23 <nakilon> int-e he gave you the problem, it's his problem
10:39:49 <int-e> /help ignore
10:39:56 <nakilon> he pressed the printscreen
10:40:52 <shachaf> Taneb: Remind me, are you into SAT solvers?
10:40:59 <shachaf> It seems like everyone is these days.
10:41:04 <nakilon> this is insane
10:41:08 <int-e> shachaf: 2SAT is so limited...
10:41:27 <arseniiv> send me all the pngs
10:41:38 <arseniiv> I will look at them and devise
10:42:18 <shachaf> int-e: Hmm, OK, I'll let you use arbitrary Horn clauses.
10:42:49 <int-e> Yay, I have used Horn clauses.
10:42:51 <nakilon> one of you is sharing a screenshot in not suitable format, another one highlights the problem and when I come to help solving it I get "stop arguing" themed responses
10:43:09 <arseniiv> I too am confused what’s clipboard to do with all that. I have a little program which doesn’t leave anything in clipboard when it takes a shot
10:43:16 <Taneb> shachaf: I was for a while but I haven't been thinking about them for a while
10:45:29 <shachaf> nakilon: I think you're missing something about, I don't know, magnitude or weight or something.
10:45:57 <nakilon> arseniiv that program calls API of your OS that returns it in BMP or specified format, that program might be configurable or improved
10:46:11 <shachaf> Someone mentioned that 3MB was kind of big (and said they themselves wanted to take care of it for themselves, not even requested that anyone else do anything).
10:46:38 <arseniiv> nakilon: yep it’s configurable and spews me out a png to a folder
10:46:50 <arseniiv> no clipboard mess
10:46:52 <shachaf> I saw that, took it into account, and slightly adjusted my weights in the future. Maybe next time I'll resize or convert the image, or maybe I'll just think about it.
10:47:04 <nakilon> the size of content in internet isn't what the read requestor should care -- he can't compress it on the source
10:47:43 <shachaf> That's all that needed to happen here, for either party. It's not a binary thing that is either broken or solved, just a continuum of preferences and things that you can adjust a bit.
10:48:05 <arseniiv> for now I personally have a pretty good internet access so I would be glad to download maybe even a bmp
10:48:06 <shachaf> So insisting that people adjust all sorts of things immediately with a particular solution you have in mind doesn't really help.
10:48:22 -!- aloril has joined.
10:48:47 <arseniiv> and many people, I think, will be not against downloading bmp :)
10:49:01 <shachaf> I don't know whether you read what int-e said, but it was an idea about having a proxy that resizes images. Which is in the requester's control.
10:49:12 <nakilon> switching to using non optimal data formats just because you've got faster internet is the same wrong thing as starting making worse software with worse algorithms just because you've got faster computers
10:49:49 <int-e> > 3840*2160*3 / 1024^2
10:49:50 <shachaf> "optimal" only makes sense in the context of optimizing something. What are you optimizing?
10:49:51 <lambdabot> 23.73046875
10:50:50 <shachaf> @metar koak
10:50:51 <lambdabot> KOAK 171041Z 16009KT 3SM -RA BR SCT006 BKN010 OVC024 13/11 A2998 RMK AO2 P0007 T01330106
10:51:15 <Taneb> shachaf: one thing I've been thinking about is a SAT solver that aims to create as human-understandable proofs as possible
10:51:42 <shachaf> That's interesting. What would those look like?
10:52:00 <nakilon> do you realise the price you pay for internet would be several times smaller if people were not playing 4k videos on their broken glass 720p phones turned on behind their backs while they are cooking?
10:52:09 <int-e> . o O ( brain saturation )
10:52:30 <int-e> nakilon: that's likely false
10:52:55 <Taneb> I think all the clauses would have to be named, and the solver would report things like "By clause xyz, we know that variable t must be false"
10:53:22 <nakilon> the internet is overpolluted by data that isn't used and we pay for all the infrastructure for it
10:53:25 <int-e> nakilon: the technology you're talking about is only being deployed because people actually use the bandwidth.
10:53:57 <nakilon> effective data barely gets larger but the price stays the same let's say $20 per months no matter how better the hardware gets
10:54:07 <nakilon> because people think "hey I've got so much room, lets trash it"
10:54:10 <Taneb> It'd need to try and find a shallow proof when it needs to speculate, but I'm not sure which dimension it'd need to be shallow
10:54:36 <nakilon> not even knowing that when they buy the "100mbit internet" it's only measured in peak
10:54:41 <int-e> In an alternative history where nobody ever dared to use bandwidth you might be spending $20 a months plus a fixed rate per minute on dual ISDN lines.
10:54:55 <int-e> or more, $20 seems rather low
10:56:37 <nakilon> I pay $8
10:56:45 <nakilon> in not the most technologically developed country
10:56:52 <shachaf> Taneb: What sorts of proofs are you thinking of applying this to?
10:56:56 <nakilon> so you can realise how much you overpay
10:57:06 <shachaf> I wonder whether you'd rather have something higher-level than SAT for expressing things.
10:57:06 <nakilon> because of people watching 4k with their backs
10:57:09 <Taneb> shachaf: mostly little puzzle games like what's in sgtpuzzles
10:57:19 <Taneb> Or at least, that's what inspired me down this line of thought
10:57:23 <shachaf> Aha.
10:57:35 <shachaf> Human solutions to these puzzles often look pretty different from computer solutions.
10:57:54 <int-e> nakilon: that's way too simplistic. the rates are in a large part arbitrary and determined by available income of the people
10:58:03 <int-e> it's not a free market, by and large
10:58:17 <shachaf> Since humans are bad at backtracking, so they try to minimize it and find very short paths to contradictions.
10:58:28 <nakilon> people will spend all their income without need getting anything for that
10:58:51 <int-e> shachaf: humans will often prove lemmas that aren't expressed in a couple of clauses (which DPLL might learn)
10:59:32 <shachaf> I think some puzzles are just not particularly human-solvable, even if they're in NP.
10:59:47 <shachaf> Since "having a human solution path" is a stronger constraint than "having a solution".
11:00:12 <shachaf> Another thing is that a human doesn't just want to satisfy the puzzle, they want to satisfy it uniquely, right?
11:00:42 <int-e> shachaf: well, it depends on the human :)
11:01:10 <shachaf> Sure, I'm proposing some model of what it means to be human-solvable, or human-fun.
11:01:22 <Taneb> A lot of these puzzles have a unique solution by design (and I have taken that as an assumption in solving puzzles in the past)
11:01:22 <int-e> speaking for myself, yes, I'm happier knowing that a solution is unique
11:01:42 <int-e> Looking at some advanced Sudoku solving patterns... not all people care.
11:02:06 <shachaf> I posted another sudoku: https://logic-masters.de/Raetselportal/Benutzer/eingestellt.php?name=shachaf
11:02:15 <int-e> Oh no.
11:02:17 <shachaf> I don't think it's that interesting.
11:02:19 <int-e> What did I do.
11:02:42 <shachaf> In some sense it's just an easier version of the 6-12 sudoku that int-e already solved.
11:03:01 <int-e> fizzie: somehow, today's AoC task doesn't look very twisty :P
11:03:06 <nakilon> why do you care about how the puzzle is solved, any solution will do, we have cool intel cpus in 2020
11:03:18 <nakilon> just bruteforce it
11:03:28 <fizzie> int-e: I *just* regenerated the plot, like, five minutes ago.
11:03:30 <int-e> nakilon: it's called an intellectual challenge
11:03:35 <shachaf> Of the four sudoku puzzles I posted, one of them can be solved entirely with unit propagation.
11:03:56 <shachaf> Which maybe counts as extremely boring?
11:04:02 <fizzie> And no, it's not very twisty.
11:04:29 <nakilon> I just press the button "download the solution" and it downloads and I have it
11:04:30 <int-e> People seem to struggle with it though.
11:05:27 <fizzie> Also, now I've got an actual wrapper script to do the "fetch any new leaderboards, if there were any update the dataframe and redraw the plots"; http://ix.io/2Ip8
11:05:43 <fizzie> It doesn't scp the results or run with cron yet, though.
11:06:04 <fizzie> Also, it makes the assumption that if it's more than 2 hours after midnight Eastern time, it's okay to download the day's leaderboard.
11:06:26 <fizzie> So if they do a trickier puzzle that takes more than 2 hours for the 100th person to solve, that might fail.
11:06:39 <int-e> Well, that assumption has worked out fine so far.
11:09:00 <fizzie> It's a historically pretty sound assumption, violated by 6 days out of 142.
11:09:22 <int-e> how many of those were in 2015?
11:09:49 <fizzie> 2015 days 1, 19 and 22; 2016 day 11; 2018 day 15; and 2019 day 22.
11:10:50 <fizzie> On which days the 100th person took approximately 186, 232, 183, 164, 143 and 124 minutes to get two stars, respectively.
11:12:27 <int-e> Oh yeah, I remember wondering on day 22 last year why it was so hard :P
11:12:52 <nakilon> you may do again those messages that I assume to be rude, such as "you are looking for arguing" or "/help ignore" but I'm still amazed by how bad the idea is to make an end consumer of IRC screenshot links to setup and configure some proxy for his personal internet browsing instead of storing the content in a proper format in the first place,
11:12:53 <nakilon> because he won't know he wants that piece of data compressed until he click the link and see that "oh it's that game screenshot" so he'll have to switch all his way of browsing the internet to a proxy solution and then switch to uncompressed format and redownload the link again if he sees "ah, this has details I should now turn the proxy off" just
11:12:53 <nakilon> because some people are lazy to find a better way of sharing screenshots
11:13:23 <int-e> nakilon: nobody is making me do anything here
11:13:25 <nakilon> (tell me if the message didn't fit the irc limit if you care)
11:19:48 -!- LKoen has joined.
11:30:28 <Taneb> shachaf: I am not very good at these fancy sudokus
11:30:38 <Taneb> I'm not too great at regular sudokus, come to that
11:31:17 <shachaf> The middle two are easier than the other two.
11:31:19 <int-e> Taneb: the fancy ones may be easier than the regular ones because they rely less on obscure patterns that only sudoku experts have internalized
11:31:46 <shachaf> That's also plausible.
11:31:51 <int-e> (And I'm not a Sudoku expert.)
11:31:54 <shachaf> The constraints for all of these puzzles are very strong.
11:32:06 <shachaf> With no clues, I think the most recent one has 288 solutions.
11:32:15 <shachaf> And the others were also in the range of hundreds.
11:34:49 -!- rain1 has joined.
11:42:45 <aaaaaa> Isn't a true Sudoku puzzle must have only one solution?
11:43:44 <int-e> aaaaaa: yes, but (to me) it still feels awkward to rely on that information without verification
11:49:18 <rain1> hello
11:50:03 <rain1> a pen and paper puzzle should have a unique solution that can be reached through deduction alone
11:50:40 <rain1> but there is debate about whether or not the solver should exploit uniqueness to make deductions
11:53:00 <shachaf> "deduction" means you find a satisfying assignment, and then you rule that one out, and then it's UNSAT, right?
11:53:50 <int-e> shachaf: assuming X, you can show that there is not exactly one solution. Can you conclude not X?
11:54:17 <shachaf> Sure, I know the uniqueness thing you mean.
11:54:40 <shachaf> In some puzzles it's very blatant and happens all the time.
11:54:54 <shachaf> With sudoku it's kind of rare but still happens.
12:00:14 -!- spruit11 has quit (Quit: leaving).
12:10:33 -!- spruit11 has joined.
12:18:56 <rain1> it's very interesting imo
12:19:39 <shachaf> I saw a sudoku variant that said: Solve this sudoku such that the highlighted cells, taken on their own, are enough for a unique solution.
12:20:19 <int-e> ooph
12:20:37 -!- TheLie has quit (Remote host closed the connection).
12:21:41 <int-e> feed it to a QBF solver :/
12:22:41 <shachaf> How many quantifiers do you need? Just two, right?
12:22:57 <int-e> exists ... forall, one alternation
12:23:08 <shachaf> I think all the SMT solvers do exists-forall nowadays.
12:23:37 <shachaf> Which is stretching the meaning of SMT a bit.
12:38:22 <Arcorann_> https://www.kickstarter.com/projects/irrationalconcepts/oops-all-edges <-- don't know if this is relevant, but it is amusing (maybe not for the solver)
13:11:29 <int-e> is your RAM shielded... https://www.zdnet.com/article/academics-turn-ram-into-wifi-cards-to-steal-data-from-air-gapped-systems/ :-/
13:14:08 <int-e> Oh there's a list of more techniquess like it at the bottom, some of which I didn't know about.
13:14:15 <aaaaaa> int-e: but the PC must be trojaned before?
13:14:25 <int-e> aaaaaa: for this, yep
13:15:00 <aaaaaa> this is what is called 'side-channel attack'
13:15:08 <aaaaaa> Cool, though
13:16:58 <int-e> "play sound from power supply"
13:17:43 <aaaaaa> int-e: didn't get it too
13:18:35 <aaaaaa> Have anybody using Tarski's world?
13:18:44 <aaaaaa> Is it worth it?
13:18:57 <int-e> aaaaaa: you can modulate the power consumption of a processor or GPU and that will affect electromagnetic transformers and potentially other elements on a PSU
13:19:27 <int-e> aaaaaa: so I imagine that's the kind of thing they're doing
13:30:26 <int-e> fungot: what should I do?
13:30:27 <fungot> int-e: madam president, the fnord of older civilisations, allow me to make a strong commitment to the aim and objectives of the lisbon target, that is of course a large number of juvenile fish caught. if this money is however coming entirely from national sources and include statistics from greece for the last time i take the view that little or nothing can be paid out or which biometric risks need to be discussed and that a co
13:31:16 <int-e> that was pretty good
13:31:30 <int-e> I'm almost sorry that it got cut off
13:32:18 -!- delta23 has joined.
13:34:11 <fizzie> Ah, the famous Lisbon target of catching a lotta fish.
13:36:07 -!- aaaaaa has quit (Quit: leaving).
13:36:08 -!- rain1 has quit (Quit: WeeChat 2.9).
14:11:31 -!- xelxebar has quit (Remote host closed the connection).
14:11:51 -!- xelxebar has joined.
14:14:01 -!- rain1 has joined.
14:17:54 <b_jonas> "<int-e> I should set up a proxy for myself that resizes images" => set it up with three backends, one for each continents, so it only has to transmit the smaller image under the ocean. :-)
14:19:08 <int-e> ...right
14:22:52 <b_jonas> "<shachaf> I didn't use a built-in screenshotting feature. / I just have one screenshot button, and it shoots the exact pixels that are on screen. / Why would I have more than that?" => well, sometimes the screenshot feature built into a game could save an image that is a larger part of the level than fits to the screen and that you would scroll on the screen in-game and when viewing later
14:24:35 <int-e> . o O ( isn't shooting screens rather expensive in the long run )
14:30:31 <b_jonas> I don't use any sort of OS built-in screnshot functionality. I make screenshots with the screenshot features built into GIMP or Irfanview, because if I take a screenshot, I always want to post-process it, like decide whether to keep or discard it, crop, possibly color reduce, possibly censor parts, occasionally stitch multiple screenshots, decide how to encode, decide the filename. You need a graphics
14:30:37 <b_jonas> editor for some of that, and they can already do all the steps that come up, so there's no point to use anything else.
14:31:25 <b_jonas> OS functionality made sense when all it did was read the characters from the video memory and send them to the line printer, and you didn't have the hardware to load a graphics editor program for that.
14:32:29 <b_jonas> "<arseniiv> send me all the pngs" => sorry, I refuse because I take most of them for work, and they may contain trade secrets
14:32:47 <b_jonas> not even our trade secrets, but secrets of our customers and partners.
14:33:57 <fizzie> You can tell when [REDACTED INTERNAL TOOL] added a dark mode at a glance by looking at the overall luminance of my screenshot history.
14:34:07 <fizzie> Well, when I turned it on, not exactly when they added it.
14:35:05 <fizzie> Is there a standard web 3.11 API for detecting if the user prefers a dark theme or a light one? I imagine there must be.
14:35:32 <fizzie> Apparently it's a CSS media selector. https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
14:36:08 <fizzie> "If you have set privacy.resistFingerprinting to true, prefers-color-scheme preference is overridden to light." Tradeoffs, tradeoffs.
14:38:14 <esowiki> [[MiniStringFuck]] M https://esolangs.org/w/index.php?diff=79475&oldid=60958 * PythonshellDebugwindow * (+18) /* See also */ m
14:38:27 <b_jonas> "<Taneb> It'd need to try and find a shallow proof when it needs to speculate, but I'm not sure which dimension it'd need to be shallow" => maximum stack depth of when you try multiple values of a variable backtrackingly, after tail call optimization, I think.
14:38:43 <esowiki> [[PlusOrMinus]] M https://esolangs.org/w/index.php?diff=79476&oldid=78344 * PythonshellDebugwindow * (+6) /* Original version */ m
14:41:27 <esowiki> [[MangularJS]] M https://esolangs.org/w/index.php?diff=79477&oldid=78014 * PythonshellDebugwindow * (+4) /* Stack class */ link
14:42:10 <int-e> oh I missed that... depth is not necessarily a problem when it's all unit propagation or very shallow subproofs that fall into a pattern
14:42:27 <esowiki> [[Javagony Turing-completeness proof]] M https://esolangs.org/w/index.php?diff=79478&oldid=79116 * PythonshellDebugwindow * (+0) Update
14:42:37 <int-e> which I guess is similar to TCO
14:43:38 <int-e> There's a related problem where you try to assess the difficulty of a puzzle to a human.
14:44:00 <int-e> Which is probably harder because you have to account for experience somehow.
14:44:22 <int-e> But maybe not significantly harder.
14:45:50 <b_jonas> oh, while we're at puzzles, I'll just mention something I was idly wondering about
14:47:07 <b_jonas> consider the following single-player game. the level is a maze that's a graph with rooms for vertices and (undirected) corridors for edges. one vertex is marked as the player's location, and one as the goal.
14:47:31 -!- Sgeo has joined.
14:47:48 <int-e> . o O ( Not quite Hunt the Wumpus )
14:50:17 <b_jonas> each edge has a door. doors come in triples: each door is marked with a pair of a name and a state, where the state is one of open, ajar, closed, and each pair can only occur at most once. you can't walk through a closed door, and you can walk through an open door without any side effect. but when you walk through an ajar door, then it changes to open, the open door with the same name shuts to closed,
14:50:23 <b_jonas> and the closed door with the same name changes to ajar, simultaneously. states of the doors with different name don't change during that, and the names of doors never change.
14:51:52 -!- Arcorann_ has quit (Ping timeout: 268 seconds).
14:52:02 <int-e> so... for each name, there are always three door, in a permutation of those three states?
14:52:11 <int-e> three door*s*
14:52:53 <b_jonas> solving this puzzle is clearly in PSPACE, but I'd like to know what computational complexity it has more preciesly. with doors I can simulate one-way corridors, and level crossings (in case you want a planar graph). I can also make a level that takes exponential number of steps to solve, using a simple binary counter. but I don't know if you can simulate general binary storage.
14:52:59 <b_jonas> int-e: yes
14:53:58 <b_jonas> int-e: and the three have a cyclic order, you can only pass through them in that order and not backwards, though you can pass through the same door multiple times without affecting that cyclic order, even if you pass through other doors between. and the cyclic order isn't quite enough, because the starting state has to be observed.
14:54:16 <int-e> and of course you can put all the open doors in an unreachable area if you like
14:54:23 <b_jonas> int-e: yes.
14:54:36 <int-e> so the toggle mechanic is the most relevant
14:54:52 <b_jonas> the other question that I'd like to know, besides computational complexity, is whether it's possible to make interesting puzzle levels from this, that is, ones that have only few doors and yet aren't trivial to solve.
14:55:20 <b_jonas> int-e: no
14:55:27 <int-e> oh wait
14:55:30 <b_jonas> int-e: it's not a toggle mechanic, it's always a cyclic permutation of three
14:55:47 <int-e> it's a cyclic shift, never mind
14:56:23 <b_jonas> you can simulate a toggle where you have to pass two *directed* corridor-paths alternatingly, using multiple doors, if you wish
14:56:40 <int-e> (A O C)
14:56:45 <int-e> is that intentional?
14:56:45 <esowiki> [[Terse]] M https://esolangs.org/w/index.php?diff=79479&oldid=37471 * PythonshellDebugwindow * (-71) Introduction, proper ==
14:56:49 <b_jonas> int-e: no
14:57:00 <int-e> it's a fun coincidence then
14:57:02 <b_jonas> yeah
14:57:23 <b_jonas> a low entropy one though
14:57:24 <int-e> makes it easier to remember
14:58:15 <b_jonas> dunno
14:59:19 <b_jonas> if not, I'd also like to know if you can make interesting puzzle levels from some extensions of this; and references for where something like this game is already known
14:59:27 <int-e> .-A-.-C-.-O-. all with the same name is a directed edge (with some irrelevant extra state in the first door) :)
15:01:46 <int-e> oh well, something to ponder... these kinds of things tend to take some time
15:01:53 <b_jonas> int-e: I imagine it drawn more nethack-like: .#\#.#+#.#-#. where \ is an ajar door, + a closed door, - or | an open door in a horizontal or vertical corridor resp, and there's a letter close to each door next to the corridor that shows the names, plus there's color
15:02:58 <b_jonas> and if those states really only have just two edges, then optionally draw them on one corridor without a room, like .#\##+##-#.
15:03:06 <esowiki> [[User:DGCK81LNN]] M https://esolangs.org/w/index.php?diff=79480&oldid=77358 * DGCK81LNN * (+640)
15:03:31 <b_jonas> but still allow the player to stand in those virtual rooms, because in the general case you may want to stop and turn in any of those places
15:03:39 <b_jonas> general case as in the names of the doors can differ
15:09:14 <fizzie> `` unidecode $'\u26c4'
15:09:15 <HackEso> ​[U+26C4 SNOWMAN WITHOUT SNOW]
15:09:19 <fizzie> Isn't that almost a contradiction? And why did I only know learn that exists, when http://unicodesnowmanforyou.com/ has been a thing for years.
15:10:28 <int-e> `unidecode ⛄☃
15:10:29 <HackEso> ​[U+26C4 SNOWMAN WITHOUT SNOW] [U+2603 SNOWMAN]
15:10:55 <int-e> maybe it's plastic or chocolate
15:11:12 <int-e> no snowwoman
15:12:06 <int-e> `unidecode 🌨🏔
15:12:08 <HackEso> ​[U+1F328 CLOUD WITH SNOW] [U+1F3D4 SNOW CAPPED MOUNTAIN]
15:12:40 <int-e> (I skipped the snowflakes and some kanji)
15:13:14 <b_jonas> fizzie: I don't know what a snowman without snow is, but I feel repulsion towards the concept. I learned to ski as a small child, and a few times I had the terrible occasion to try these dry (i.e. without snow) ski pistes, where you ski on plastic tennis court floor with lubricants, and they're a really bad experience. I do admit that it's much cheaper than traveling to real ski pistes, so it's not just
15:13:20 <b_jonas> pointless torture for children, but it's still torture. The dry piste is entirely flat with none of the interesting texture variations that a real snow terrain causes, and even besides that it feels bad.
15:14:26 <fizzie> `` unidecode $'\u26c7' # you also skipped
15:14:27 <HackEso> ​[U+26C7 BLACK SNOWMAN]
15:14:40 <fizzie> Which could just be a soot-covered one in the city.
15:15:56 <b_jonas> fizzie: ah yes, and I assume you combine any of these basic snowman code points with gender symbols, skin tone modifiers, hairstyle modifiers, eyelash style modifiers, eye color modifiers, height modifiers, chin shape modifiers, nose shape modifiers, headgear modifiers, etc, to get more complex characters
15:16:08 <fizzie> The shapes my browser's choice of fonts have for SNOWMAN, SNOWMAN WITHOUT SNOW and BLACK SNOWMAN are all completely different. SNOWMAN is this outline, BLACK SNOWMAN is filled but still just a (different) black-and-white shape, and SNOWMAN WITHOUT SNOW is this coloured monstrosity.
15:16:27 <b_jonas> and perhaps with some vegetable emoji code points too to get snowman with particular vegetables used as their nose
15:17:50 <b_jonas> fizzie: perhaps the plain snowman is from smaller fonts and the others from huge fallback fonts, and perhaps one is rendered as an emoji by default and the others aren't. you could try to force the font and the emojiness if you wish.
15:18:03 <nakilon> emojis in unicode should be uninvented
15:18:27 <nakilon> unintroduced, unimplemented, burnt with fire
15:18:36 <nakilon> outroduced?
15:20:02 <nakilon> fizzie did you solve day 3 part 2?
15:20:59 <fizzie> I didn't touch day 3 yet (in Befunge-98). I've done days 1, 2, 5, 6 and first half of day 8.
15:20:59 <nakilon> I guess it needs rereading the stdin and so storing it
15:22:51 <fizzie> I imagine you *could* evaluate all five slopes at once as you go through it, though then you'd need to keep five counters at once (in addition to the current location).
15:23:25 <fizzie> I think for day 3 I couldn't decide whether it would be okay to use the `i` instruction or not.
15:23:50 <nakilon> how does the debugger you use look like? I see different images in google image search
15:24:11 <nakilon> I just do ...........A,@ in random places and run until it hits and halts
15:24:11 <fizzie> The thing is, I'd kind of like all the solutions to keep the same structure of just reading puzzle input from stdin, but `i` needs a file name. I could use /dev/stdin maybe.
15:26:23 <nakilon> maybe '-'?
15:26:38 <fizzie> I don't think that'd work in the implementations I've got.
15:26:43 <nakilon> I guess it's some standard for naming the stdin, didn't know about /dev/stdin
15:27:17 <fizzie> It's pretty common, yes, but it needs the program to interpret it. /dev/stdin has some chance of working even when not explicitly supported.
15:28:17 <nakilon> I just skip until the next line, then skip number of chars calculated with modulo, but the case of "down 2" would need something else
15:28:54 <nakilon> like passing the how many times you skip until newline
15:28:57 <fizzie> And I don't really have a "debugger" as such. I've been making do with `cfunge -t 10` (which just prints a trace like http://ix.io/2Ia8 out), plus that JS debugger (which has okay single-stepping and visualization, but can't do input, so it can only be used on fragments). I have a lot of ideas I'd like to see in my dream Befunge development tool (like per-cell annotations that'd be automatically shown on
15:29:03 <fizzie> a multi-line status line), but it'd take effort to implement that.
15:29:25 <fizzie> I think there's a bunch of Befunge-93 browser things, but for '98 the implementation situation seems a bit more bare.
15:29:58 <nakilon> unfortunately Ruby isn't tuned for GUI apps
15:30:07 <nakilon> I mean it has no cool libraries
15:30:38 <nakilon> only some monstrous bindings, and when someone tried to make it as simple as possible that resulted in something limited
15:30:59 <fizzie> Well, a TUI is what I'd like anyway. I've been eyeing tcell (in Go) if I do start making it.
15:31:02 <nakilon> and wxwidgets were segfaulting and then abandoned AFAIK
15:33:25 <nakilon> curses would do the job but it would also have to intercept the stdout
15:34:08 <nakilon> wouldn't be a problem though
15:35:40 <nakilon> damn, I've got so much things to do and now I want to implement the debugger, oh no...
15:35:56 -!- jess has quit (Quit: updates).
15:37:54 <fizzie> I want the playfield grid view to show cell values 32-126 as their printable ASCII counterparts, values 1-31 using the braille patterns as binary, value 0 maybe as WHITE DIAMOND and values <0 and >=127 as BLACK DIAMOND (of course showing the actual value on the status line).
15:37:59 <fizzie> And I want two rows reserved for the cell annotations shown permanently, and I'd use the top line by convention for stack annotations, and I want the enter key to switch focus between the grid and the annotation window.
15:38:04 <fizzie> And I want arrow keys to also as a side effect change the direction into which the cursor moves when you insert a character, but I also want to allow specifying a vector directly.
15:38:10 <fizzie> And I want mod-space to set a mark that can be used to define a highlighted rectangular region, which can also have other rectangles or individual cells added to or removed from, so that the arbitrarily shaped region can then be moved around or copied. Possibly rotated with automatic treatment of <>v^ too (I know some Befunge IDEs do that), though I'm a bit ambivalent about that.
15:40:31 <fizzie> And obviously I also want a single-stepping debugger that defaults the grid to a view mode, but also allows switching the grid to edit mode to tweaks, and also shows (and allows changing) the stack.
15:41:10 <fizzie> Oh, and I want the grid view section to be arbitrarily splittable to frames which each have their own origin, though can also be set to track a specific IP.
15:41:32 <nakilon> rasel would not need to display program space values since you don't write to it
15:42:05 <fizzie> BefungeSharp might be closest already existing thing to what I want, and if it wasn't Windows-only, I might even consider using it.
15:42:17 <nakilon> instead would need to display more stack values I guess
15:42:47 <nakilon> hehe, C#
15:43:08 <fizzie> I imagine you might want something like different stack value display options, in case you often have complex data in a single value.
15:44:14 <nakilon> rationals need more space than integers, yeah
15:45:15 <nakilon> didn't use numbers with fractional parts a lot but they exist at least temporary, when you emulate multiplication
15:45:30 <fizzie> The other thing that exists is Bequnge, but I think it goes a little too far into the >2D stuff, visualizations, and sound effects. https://hatstand.github.io/Bequnge/screenshots.html
15:46:13 <fizzie> Then again, as the author of GLfunge98, which was supposed to do exactly those similar things (except I abandoned it ages ago) I shouldn't probably be allowed to criticize.
15:46:42 <nakilon> yay, 3d, needs VR
15:47:43 <fizzie> There's an HP-UX port of GLfunge98, which I find pleasantly odd.
15:48:24 <fizzie> (Huh, has it really been 20 years since I did that? Feels like just yesterday.)
15:57:27 -!- LKoen has quit (Remote host closed the connection).
16:08:08 -!- S_Gautam has joined.
16:12:59 -!- TheLie has joined.
16:17:03 <nakilon> hmmmm
16:17:13 <nakilon> does Cat program have to exit with 0?
16:17:50 <myname> no
16:18:00 <myname> cat /foo exits with 1
16:18:49 <nakilon> my BSD one exits with 0
16:19:00 <nakilon> ah
16:19:15 <nakilon> okay, it exists with 1
16:19:25 <nakilon> but should it exit with 0 on success?
16:27:23 <b_jonas> probably. most programs should exit with 0 exit code on success, with the exception of a few programs that are specifically useful to test some condition, like test and grep
16:28:12 <int-e> b_jonas: the answer is yes. we can fit it into the framework of https://arxiv.org/abs/1203.1895 using a door gadget like https://int-e.eu/~bf3/tmp/aoc.png (which makes liberal use of directed edges as explained earlier)
16:29:01 <int-e> b_jonas: the most relevant door is the blue door at the bottom (I should have highlighted it somehow); the diagram shows the open state at the top and the closed state below
16:31:05 <int-e> (updated with a bit of emphasis for the relevant door)
16:31:59 <b_jonas> int-e: ah, I didn't recall the exact conditions of that article. I'll have to re-read some of it. so apparently it's enough to have one door, one open button, and one close button linked together, rather than, say, multiple open buttons or multiple doors linked?
16:32:35 <int-e> b_jonas: yep, one path is enough. furthermore, it's okay if the open path doesn't always work
16:32:47 <int-e> so just adding a bypass like I did is okay
16:33:45 <b_jonas> I guess that part is from the earlier Sokoban article, not this one
16:33:55 <int-e> maybe
16:36:45 <int-e> I lost track of the articles. The requirements of the door gadget can be found there anyway.
16:40:37 <int-e> (and crossover isn't needed as long as the graph is not required to be planar)
16:41:13 <b_jonas> int-e: sure, but for this game we can create a crossover gadget (though it's not cheap, so in a real puzzle version you might add that and one-way doors as primitives)
16:41:27 <int-e> (but in fact we can make one with the same principle shown by the green and red doors, without the blue one)
16:41:48 <b_jonas> yes, I did say above that I can make a crossover
16:42:04 <int-e> Sorry, I didn't read, I was busy making my own gadget.
16:42:25 <b_jonas> makes sense, since I didn't say how to create a crossover
16:44:47 <int-e> b_jonas: oh wait. I should've seen it, but I skipped the middle part and focussed on the binary counter...
16:45:38 <int-e> you even mentioned directed edges there
16:45:48 <int-e> (one-way corridors)
16:49:58 <int-e> b_jonas: for puzzles though I guess you have to work actively against the fact that 2/3 of all edges are passable at any given time
16:50:00 <b_jonas> yes, those are bisimulable with one-way gadgets
16:50:51 <b_jonas> to make a one-way corridor, you can just add a one-way gadget before and a one-way gadget after; to make a one-way gadget, make a one-way edge with an irrelevant open door
16:50:52 <int-e> (So naively, I'd expect random puzzles to be very easy.)
16:51:33 <b_jonas> int-e: that would depend on how you sample random, but yes, I also figured it's not easy to just generate good puzzles randomly
16:52:09 <b_jonas> and there are too many graphs and possiblel levels to brute force search all of them for potentially interesting ones
16:53:50 <b_jonas> and adding one-ways and/or crossovers (or teleporters) as primitives doesn't change any of that
16:54:15 <b_jonas> I mean it makes making puzzles slightly easier, but it still seems hard that way
16:55:42 <b_jonas> I just defined the base game without them for simplicity and elegance
16:56:31 <b_jonas> I would add such convenience things to a real puzzle implementation, because they make the puzzle easier to understand by humans. crossovers and one-ways are natural to understand, they make the puzzle easier to learn and navigate than the corresponding constructions.
16:56:43 <int-e> okay, one more update to the png... lighter gray and I got rid of the spikes at the bottom of the ajar doors
16:57:24 <int-e> the gadget is unchanged, I think it's pretty neat as it is.
16:58:12 <b_jonas> your graphical representation is very different from what I imagine. I use a top-view map of the maze, with doors drawn as short lines (as short as a corridor) from the same top view, and with letters (and optional colors) to mark matching ones
16:58:36 <b_jonas> rather than side view doors
16:58:50 <int-e> I'm not a nethack player
16:59:06 <int-e> I think that has a huge influence :)
17:00:03 <int-e> (nor roguelikes in general, even graphical ones)
17:00:12 <b_jonas> (and also uppercasing the letter for currently ajar doors. the sequence of names of ajar doors you go through is enough to represent your solution in an easy way.)
17:02:33 <int-e> b_jonas: I'm sure you can figure out your own preferred representation :-P
17:20:21 <nakilon> caught another bug in '&' -- since it was working as reading the byte, then checking if it's a digit and then pushing it back when not, it failed if the file ends with integer instead of non-digit, such as newline
17:21:39 <nakilon> I mean not caught but found it while changing how ~ and & work; with working as trampoline instead of reversing the Cat program now does not need '#' and so is one char shorter
17:21:43 -!- LKoen has joined.
17:21:51 <nakilon> just ~@,
17:42:40 -!- sprocklem has joined.
17:44:24 -!- sprocklem has quit (Client Quit).
18:03:04 <esowiki> [[RASEL]] https://esolangs.org/w/index.php?diff=79481&oldid=79472 * Nakilon * (+69) ~ and & now work as # unless EOF
18:05:04 <esowiki> [[RASEL]] M https://esolangs.org/w/index.php?diff=79482&oldid=79481 * Nakilon * (-1) cat program is 1 char shorter with the last specification update
18:12:14 <esowiki> [[MyScript]] M https://esolangs.org/w/index.php?diff=79483&oldid=70772 * PythonshellDebugwindow * (+27) /* Simple class */ cat
18:17:44 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
18:25:12 -!- TheLie has quit (Remote host closed the connection).
18:57:43 -!- user24 has joined.
19:15:40 -!- delta23 has quit (Quit: Leaving).
19:42:23 <oren> https://corp.unicode.org/pipermail/unicode/2020-December/thread.html
19:42:45 <oren> Unicode mailing list debates having italics... again
19:43:56 <rain1> please no italics
19:44:13 <myname> i think they should also add bold, underline, subscript, superscript, strikethrough and blink
19:44:34 <kmc> and every combination of those
19:44:45 <rain1> blink, yes
19:44:50 <rain1> remember twhe they added emoji
19:44:51 <rain1> when*
19:45:40 <myname> well, blame japan for that
19:49:38 <kmc> i like emoji
19:49:38 <kmc> and i like that i can compatibly use them across multiple platforms
19:51:00 <kmc> someone near me has the vanity license plate "U1F47E" on their car
19:54:07 <nakilon> they could have no problem of compatibility at all
19:54:26 <nakilon> if they didn't use it in the first place
19:55:39 <nakilon> why no Putin emoji?
19:59:01 <kmc> feel free to submit a proposal for one
19:59:30 <nakilon> I don't propose bad ideas
19:59:40 <kmc> that's a good policy
19:59:55 <nakilon> emojis was a bad ide
19:59:57 <nakilon> a
20:01:09 <nakilon> but if they implement a bad idea, I just ask why don't they implement all other bad ideas
20:01:22 <nakilon> Get Things Done you know
20:01:26 <kmc> lol
20:12:23 <esowiki> [[Talk:UClang*]] https://esolangs.org/w/index.php?diff=79484&oldid=79259 * LegionMammal978 * (+218)
20:16:20 <esowiki> [[Brain:D]] M https://esolangs.org/w/index.php?diff=79485&oldid=79293 * LegionMammal978 * (+2) fix cat
20:35:11 -!- jess has joined.
20:41:20 -!- delta23 has joined.
21:01:02 <esowiki> [[Deadfish "self-interpreter"]] M https://esolangs.org/w/index.php?diff=79486&oldid=73108 * PythonshellDebugwindow * (+75) /* See also */ cats
21:12:22 <arseniiv> <nakilon> but if they implement a bad idea, I just ask why don't they implement all other bad ideas => well, nobody has infinite resources, obviously
21:13:43 -!- 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.”).
21:18:49 -!- arseniiv has quit (Ping timeout: 264 seconds).
21:22:26 <zzo38> I think that Unicode is messy
21:28:12 -!- adu has joined.
21:29:47 -!- user24 has quit (Ping timeout: 260 seconds).
21:49:05 <esowiki> [[Talk:UClang*]] https://esolangs.org/w/index.php?diff=79487&oldid=79484 * PythonshellDebugwindow * (+204) /* A4 and A5 */ new section
22:10:04 -!- rain1 has quit (Quit: WeeChat 2.9).
22:51:15 -!- Arcorann_ has joined.
23:21:36 <fizzie> I turned on "force dark" in Chrome as a test, and our very own Wiki renders badly. :/ https://zem.fi/tmp/esodark.png
23:23:06 <fizzie> Then again, so does Wikipedia, and arguably it's even a little worse. So maybe it's Not Our Fault.
23:28:19 <fizzie> (I'm not sure what all exactly the flag does. I guess I'd just like the "prefer dark if the website has it" setting, but AFAICT maybe Chrome on Linux doesn't have that setting, since there's no standard system-wide thing. At least https://support.google.com/chrome/answer/9275525?co=GENIE.Platform%3DDesktop&oco=1 just lists Mac OS and Windows.)
23:30:20 -!- TheLie has joined.
23:34:24 <fizzie> Apparently it's even got a setting for that as part of Developer Tools ("Emulate CSS media feature prefers-color-scheme" → dark), but not something you could just turn on.
23:38:56 <fizzie> Oh, turns out there's a command-line flag. Well, better than nothing.
23:50:52 -!- adu has quit (Quit: adu).
←2020-12-16 2020-12-17 2020-12-18→ ↑2020 ↑all