00:00:57 <shachaf> What's a managed heap? Garbage collection?
00:00:57 <Cale> I also want to be able to reasonably say to someone "hey, don't do that or you'll be fired"
00:02:05 <int-e> And I've certainly written Haskell code as a prototype and reimplemented it in C++ for speed after I figured out the right algorithm, for combinatorial enumerations.
00:02:19 <int-e> shachaf: Yes, GC is usually implied.
00:02:32 <int-e> That and memory safety.
00:03:03 <shachaf> Garbage collection seems pretty scow to me.
00:03:15 <shachaf> If you start with garbage collection you can't really remove it later, even locally.
00:03:21 <shachaf> It's fundamentally a global thing.
00:03:42 <shachaf> If you had local heaps with no external pointer, the argument for GC would be stronger.
00:04:50 <int-e> Hmm, isn't that covered by regions? You don't have to give up the runtime-management for that, really.
00:05:35 <shachaf> I don't think I know languages that do local GC. Probably because global pointers are great.
00:05:39 <int-e> (I'm talking in principle, not about GHC. GHC doesn't have this. It has nurseries which somewhat help, keeping scratch objects thread-local.)
00:06:31 -!- kmc has left.
00:08:49 <int-e> AFAIUI GHC pays for thread-local nurseries by an expensive write barrier: If you update a pointer on the global heap (after evaluating a thunk) with a local object, that object will be promoted immediately.
00:11:41 -!- arseniiv has quit (Ping timeout: 255 seconds).
00:11:46 <int-e> Anyway. A partial answer for GHC is that you can allocate a pinned object for scratch space and play around with that all you like, even from foreign code.
00:20:30 <shachaf> That's not really an answer, though.
00:20:42 <shachaf> GHC still needs to stop the world for collecting the global heap, doesn't it?
00:34:45 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
00:35:03 -!- sombrero has quit (Quit: Page closed).
00:39:54 <shachaf> U+1F391 MOON VIEWING CEREMONY [🎑]
00:54:48 -!- kmc has joined.
01:31:50 <esowiki> [[Special:Log/newusers]] create * Snidbert64 * New user account
01:34:12 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=61338&oldid=61327 * Snidbert64 * (+176) /* Introductions */
02:37:14 -!- sombrero has joined.
02:40:40 <sombrero> mmm, almost I forgot it, if some want a DSL instead of a PL to tackle pixels, https://bmao.tech/PixelPlusPlus/ is a good option
02:42:50 <sombrero> ...not in the sense of Piet, lol
02:59:18 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:23:48 -!- sombrero has quit (Quit: Page closed).
03:35:35 <kmc> I'm stuck on BIY
03:35:53 <kmc> level fall-5: haunt
03:42:46 <kmc> yaay solved it
04:06:41 -!- adu_ has joined.
04:06:46 -!- adu has quit (Ping timeout: 276 seconds).
04:06:46 -!- adu_ has changed nick to adu.
05:20:55 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=61339&oldid=61334 * A * (+98) /* A (quite weird) idea about programming GNU nano, the text editor */
05:26:43 -!- Frater_EST has joined.
05:27:00 -!- Frater_EST has left.
06:15:38 -!- AnotherTest has joined.
06:21:42 -!- AnotherTest has quit (Ping timeout: 245 seconds).
06:45:05 -!- AnotherTest has joined.
06:54:32 -!- Frater_EST has joined.
06:54:42 -!- Frater_EST has left.
07:28:14 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
07:28:38 -!- Lord_of_Life has joined.
07:36:21 -!- Frater_EST has joined.
07:36:32 -!- Frater_EST has left.
08:49:05 -!- oerjan has joined.
08:56:12 -!- Frater_EST has joined.
09:15:12 -!- arseniiv has joined.
09:16:58 <lambdabot> ENVA 240850Z 15017G27KT CAVOK 17/M02 Q1019 NOSIG RMK WIND 670FT 18028KT
09:19:28 -!- rain1 has joined.
09:21:09 -!- rain2 has quit (Ping timeout: 255 seconds).
09:57:47 -!- oerjan has quit (Quit: Later).
10:15:44 -!- DamZ has joined.
10:17:07 -!- DamZ has left.
11:49:08 -!- Frater_EST has left.
12:27:42 <rain1> I find the "bag of sentences" aspect of the baba is you language fascinating
12:28:12 <rain1> the sentences are completely unordered, meaning that the same effect regardless of where they are
12:28:16 <rain1> they have the same effect*
12:28:30 <rain1> i think this would be difficult to implement
12:29:00 <rain1> maybe a good way to implement it would be with something like a logic sat solver
12:29:18 <rain1> that would ensure the effect of the rules respects the lack of ordering
12:45:12 -!- Frater_EST has joined.
12:45:21 -!- Frater_EST has left.
13:25:27 -!- MDude has joined.
15:21:50 <fizzie> So what happens to X's if in one move you construct both "X is Y" and "X is Z" rules?
15:28:40 -!- LKoen has joined.
15:33:53 -!- LKoen has quit (Remote host closed the connection).
15:36:37 -!- LKoen has joined.
16:39:34 <orin> fizzie: oh geez I dunno. rules can be blocked by other rules. "BaBa is BaBa" blocks "BaBa is key" for example
16:39:53 <orin> I need to play that game more
16:45:50 <int-e> fizzie: you're on to something
16:50:39 <kmc> fizzie: I'm not sure either
16:51:15 <kmc> the interesting one I learned yesterday is that 'box is text' will turn every box into the text 'box'
16:51:24 <kmc> so it's like a quotation operator
16:51:43 <kmc> admittedly not that useful because now you have no boxes left to refer to
16:56:28 <kmc> useful here though: (spoiler) https://www.youtube.com/watch?v=5pdFaCNrdhg
16:57:51 -!- Phantom_Hoover has joined.
16:58:13 -!- adu has left.
17:32:12 -!- Melvar has quit (Quit: thunderstorm).
17:45:08 <int-e> kmc: have you discovered words yet?
17:48:19 <kmc> what do you mean
17:51:13 -!- LKoen has quit (Remote host closed the connection).
17:56:04 <esowiki> [[The Genius from Kiev]] N https://esolangs.org/w/index.php?oldid=61340 * Areallycoolusername * (+2425) Created page with "'''The Genius From Kiev''' is a series of esoteric programming languages made by [[User: Areallycoolusername|Areallycoolusername]] to be the exact opposite of The Amnesiac F..."
17:57:15 <esowiki> [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=61341&oldid=60982 * Areallycoolusername * (+27)
17:57:39 <esowiki> [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=61342&oldid=61341 * Areallycoolusername * (+0) /* Full List of languages I Made */
17:58:41 -!- LKoen has joined.
18:22:17 -!- LKoen has quit (Remote host closed the connection).
18:25:56 -!- Melvar has joined.
18:39:37 <rain1> fizzie: if you have X is Y is Z is W is X
18:39:50 <rain1> the result is that X becomes Y in one turn, and then Y becomes Z
18:40:29 <int-e> how about a #esoteric-baba
18:40:35 <int-e> you're spoiling all the things
18:40:58 <rain1> https://twitter.com/babaisyou_/status/1099862522075717632
18:47:10 -!- xkapastel has joined.
18:59:35 -!- FreeFull has joined.
19:03:42 <rain1> https://www.youtube.com/watch?v=7lVAFcDX4eM
19:03:50 <rain1> Raycasting engine in Factorio (vanilla 0.17) - Facto-RayO v1.0
19:04:28 -!- asie has quit (Quit: asie).
19:12:53 <fizzie> rain1: That's fine, but not what I was wondering about.
19:13:20 <rain1> oh sorry i misread your question
19:14:00 <rain1> did anyone have some ideas about how to implement game rules that don't care about the order?
19:15:02 <shachaf> Half the questions being asked here are spoilers.
19:15:37 <rain1> I don't see how they're spoilers
19:15:49 <rain1> none of them reference a specific level
19:16:06 <fizzie> I assume they're things you might not think of trying, that will be useful in a specific level.
19:16:08 <shachaf> The fun of the game is to figure out the rules.
19:33:16 -!- oerjan has joined.
19:37:34 <HackEso> Your omnidryad saddle principal ideal golfing toe-obsessed "Darth Ook" oerjan the shifty eldrazi grinch is a punctual expert in minor compaction. Also a Groadep who minces Roald Dahl. He could never remember the word "amortized" so he put it here for convenience. His ark-nemesis is Noah. He twice punned without noticing it.
19:41:52 -!- oerjan has set topic: Spoiler is ban | Welcome to the international stock market for esoteric programming language invention, implementation, ignorance, innovation, and integration! | https://esolangs.org | logs: https://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.
19:42:59 <oerjan> . o O ( should that be capitalized )
19:44:19 <int-e> hmm that's case sensitive, isn't it...
19:45:31 <oerjan> `learn BABA IS ¯\(°_o)/¯
19:45:34 <HackEso> Learned 'baba': BABA IS ¯\(°_o)/¯
20:00:26 -!- adu has joined.
20:04:11 <kmc> rain1: I think a unification engine would do it?
20:06:08 <kmc> isn't it basically just a set of x = y rules?
20:06:15 <kmc> with no internal variables
20:06:45 <kmc> shachaf: did you say there are some nondeterministic rules?
20:11:50 <kmc> how's that work?
20:14:36 <shachaf> One instance is zhygvcyr GRYR gnetrgf naq nabgure vafgnapr vf bevragngvba bs RZCGL VF K
20:43:30 -!- dingwat has joined.
21:10:05 -!- sftp has quit (Ping timeout: 252 seconds).
21:12:18 <kmc> I haven't encountered RZCGL VF K
21:12:30 <kmc> sounds p. exciting
21:12:59 -!- sftp has joined.
21:14:10 <int-e> shachaf: did you know that there are sprites for NAAVR walking?
21:17:10 <shachaf> I didn't. Sounds like the best.
21:17:28 <shachaf> Also I have to rot13 in my head now since I'm at my phone.
21:17:53 <int-e> Though I guess that one wasn't do bad.
21:18:34 <int-e> I mean, this is my rot13 program: tr A-Za-z N-ZA-Mn-za-m... so a and n are easy :)
21:19:28 <shachaf> I played the demo a long time ago. I think ORFG was in there.
21:19:37 <shachaf> Though it may have been KEKE
21:19:39 <oerjan> just make sure you don't become so good at rot13 in your head you cannot avoid decoding it
21:21:28 <int-e> shachaf: yes, orfg was there.
21:23:06 -!- LKoen has joined.
21:23:31 -!- oerjan has quit (Quit: Nite).
21:26:17 -!- AnotherTest has quit (Ping timeout: 245 seconds).
21:32:34 <int-e> . o O ( SHACHAF is YOU. )
21:32:48 * int-e didn't play the demo.
21:34:14 <shachaf> But you have information regarding the existence of orfg
21:35:48 <int-e> shachaf: it features in a level in the release, but is inaccessible as far as I can tell.
21:37:59 <shachaf> I mean the demo has KEKE IS BEST or something like that
21:38:36 <int-e> Lonely Flag is the level (rocket area)
21:39:09 <int-e> <3 there's a walkthrough so I'm not tempted to reinstall the game.
22:09:05 <kmc> i'm writing a mitm inspection tool for mosh
22:09:31 <kmc> nice thing about UDP is you can restart the MITM without restarting the client or the server!
22:09:35 <kmc> mosh just interprets it as a bout of packet loss
22:14:16 <kmc> hmm, if you index a python3 bytestring you get an int and not a 1-byte bytestring
22:14:21 <kmc> i guess that's reasonable, but it was a bit surprising
22:17:44 * kmc is slowly but surely getting her programming mojo back
22:21:34 <int-e> kmc: Hmm does that do anything useful to an attacker without knowing the underlying key? I guess timing packets is of some interest... After a brief look, learning the key itself should be hard (unless you MITM the initial ssh connection as well, at least)
22:22:04 <kmc> it could be useful for timing and packet-length analysis, although you can observe that passively
22:22:10 <kmc> and it could also be useful for fuzzing
22:22:15 <kmc> but i'm not making it for security purposes
22:22:22 <int-e> okay, just wondering :)
22:22:37 <kmc> one thing I can do with this is drop packets or add lag as desired
22:22:52 <kmc> anyway it's the first step of my crazy scheme to run mosh over long distance shortwave radio
22:23:37 <int-e> Oh you are making a proxy/tunnel in the end. :)
22:24:14 <kmc> also I will be removing the encryption to comply with ham radio rules
22:24:25 <kmc> my interpretation of the rules is that it's okay to keep the authentication tag
22:24:30 <kmc> but I expect to have people argue with me about this
22:24:38 <kmc> since armchair rules lawyering is an important part of ham radio
22:26:14 <kmc> https://i.imgur.com/ffKr7Xo.png
22:26:19 <kmc> (this is still encrypted for the time being)
22:28:55 <int-e> heh, now I'm pondering the meaning of TL9H1MPF
22:29:21 <int-e> I *think* I've figured out the "LAPTOP" part of it though. :)
22:29:48 <kmc> I think it's just some hash that is assigned when you set up windows
22:30:19 <kmc> this thing is called moshmodem
22:31:11 <kmc> because it will translate UDP packets into audio output from your sound card, and audio input from the sound card into UDP packets
22:31:30 <kmc> I'm not sure what modulation scheme to use, probably something simple and dumb at first
22:31:37 <kmc> 8-tone FSK with a start tone, or something
22:32:29 <kmc> fortunately mosh already has a checksum and handles dropped or corrupted packets
22:32:37 <kmc> but I expect to get a lot of retransmits at that rate
22:32:42 <kmc> which will reduce the already dismal data rate
22:32:57 <kmc> so I think some FEC would be called for, and modulation with better processing gain
22:33:36 <int-e> Also the first 8 bytes of the packets (sequence numbers) don't look encrypted... can you cause trouble there? But maybe not, if these numbers are part of the message authentication.
22:33:56 <int-e> It still feels wrong to have them in plain sight like that, to me.
22:34:03 <kmc> I think you can already run Mosh over AX.25, but that's a bunch of complexity and setup hassle that isn't really necessary
22:34:09 <kmc> my scheme won't involve a network stack per se
22:34:21 <kmc> int-e: it is a sequence number, which is also the nonce for AES-OCB
22:34:47 <int-e> you can estimate the lifetime of a mosh session from there.
22:39:01 <kmc> this is true
22:39:08 <kmc> you could use random nonces instead
22:39:12 <kmc> if the ocb nonce is long enough, i forget
22:39:19 <kmc> you'd still need a sequence number, but could encrypt it
22:43:58 <int-e> "a given key should be used to encrypt at most 2^48 blocks" <-- maybe not a concern for this particular use :)
22:44:20 <kmc> there's actually code in there to abort the session if you hit that limit
22:45:32 <int-e> Oh well, off to bed.
22:45:43 <kmc> ttyl int-e
22:46:15 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:12:10 <kmc> "We deem it unlikely that a legitimate user will send 4 PB through a Mosh session. If it happens, we simply kill the session. The server and client use the same key, so we actually need to die after 2^47 blocks."
23:18:47 -!- Sgeo_ has joined.
23:22:28 -!- Sgeo has quit (Ping timeout: 276 seconds).
23:22:34 -!- 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.”).
23:26:47 -!- xkapastel has quit (Quit: Connection closed for inactivity).