00:05:28 -!- vertrex has quit (Ping timeout: 264 seconds).
00:06:18 -!- atehwa has quit (Ping timeout: 252 seconds).
00:06:52 -!- Taneb has quit (Quit: I seem to have stopped.).
00:07:01 -!- Taneb has joined.
00:07:07 -!- atehwa has joined.
00:07:08 -!- vertrex has joined.
00:13:19 -!- Essadon has quit (Quit: Qutting).
00:20:07 -!- tromp_ has quit (Remote host closed the connection).
00:20:42 -!- tromp has joined.
00:30:57 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
00:36:46 -!- wob_jonas has joined.
00:41:17 <wob_jonas> moony: I'm looking at the 88110 manual PDF that you linked. It says that the result of adding or subtracting two NaNs is a certain fixed positive NaN (although that NaN isn't the same indeterminate NaN that x87 and SSE use, it's a different one, but a fixed one.
00:41:44 <wob_jonas> I think this is yet another behavior, definitely different from the x87, SSE, and MMIX behaviors, although I'll have to double-check what the heck ARM does.
00:42:06 <moony> :P No-one can agree on how floating point even works
00:42:34 <wob_jonas> Even though this is different, it's at least a reasonably sane behavior on its own actually, saner than the SSE or MMIX behaviors when taken alone.
00:43:03 <wob_jonas> And it was probably cheaper to implement than the x87 NaN behavior
00:43:26 <moony> still means i have to put a check around every floating point subtract haha
00:44:21 <moony> at least the MC88110 has a fairly clean execution model, which makes it easier to emulate
00:44:47 <wob_jonas> It also returns this different NaN if you subtract infinities or divide zeros.
00:44:48 <moony> plus all instructions are the same size, which means that less info has to be passed around when performing JIT to keep track of the IP
00:45:34 <wob_jonas> moony: no, you don't have to. the NaNs are propagated further, you only have to check at the end of the calculation or at certain branches, though you can probably write most branches in such a way that it Just Works doing the right thing.
00:46:17 <moony> also the graphics instructions are similar enough to the SSE ones that i can just use SSE for some of them
00:46:27 <moony> altho the pmul instruction will be very problematic
00:46:50 <moony> (It allows values in one spot to overflow into the other, a very strange behavior)
00:47:30 <moony> wob_jonas, can you think of a good way to make a optimized sequence for executing the PMUL instruction? :P
00:48:01 <wob_jonas> And I actually like their idea that this special NaN value is binary 0 11111111 1100000 00000000 00000000, again unless for compatibility that's better than the x87 or SSE one, which is the one with the smallest mantissa, 0 11111111 1000000 00000000 00000000,
00:48:45 <wob_jonas> although the difference doesn't matter too much actually
00:48:49 <moony> yea, the 88k is a nice processor, it's kinda a shame it flopped lol
00:49:21 <wob_jonas> moony: huh what? what PMUL instruction what? I don't get the context
00:50:08 <moony> See section 5: Graphics Unit Implementation
00:52:45 <moony> pmul will be a tough one
00:52:59 <moony> and it's common in graphics code, so making it fast is a must if i implement a display peripheral
00:53:30 <wob_jonas> moony: wait, I'm trying to figure out how that instruction actually works
00:54:25 <wob_jonas> it says "The contents of register pair rS1:rS1+1 are multiplied by the contents of the register rS2 as if they were full 64- and 32-bit numbers, respectively"
00:54:49 <moony> i remembered it diffirently haha
00:55:16 <moony> the way i remembered it, it could overflow ALL boundaries, not just a halfword.
00:55:48 <moony> also, they were quite clever when they made the 88k's bitfield instructions
00:56:05 <moony> they can be used to replace what would be like x86's shl/shr instructions
00:56:24 <moony> and as such, said equivalent instructions don't exist, because they're unneeded :D
01:01:01 <wob_jonas> You can implement it on x86 with a 64-bit index register MUL instruction if you free up RDX and RAX, or with a 64-bit index register MULX instruction on new x86_64 cpus, or
01:01:43 <wob_jonas> in pure XMM registers by two separate multipliers and like two to four extra instructions depending on the cpu I think.
01:01:52 <moony> RAX through RSI are liekly going to be free in my design
01:01:56 <wob_jonas> I mean two separate multiply instructions, because there's no single wide enough one.
01:02:25 <moony> because they're so common, so keeping them as scratch makes sense
01:02:32 <wob_jonas> moony: sure, but you also need to transfer one operand to RAX and get the result from RAX
01:04:05 <moony> also as i use an AMD cpu, i'm going to follow along with there recommendations and avoid overusing the SSE registers in code that doesn't gain much from them. (Speculative execution on the CPU uses the registers when they're not being used (0'd out) by the currently running code)
01:04:27 <wob_jonas> will this be a pure interpreter, or are you planning to JIT-compile some instruction sequences to pure x86_64 later, or something in between (compiling to an intermediate representation that is)?
01:04:45 <wob_jonas> moony: read intel's optimization manuals
01:05:09 <wob_jonas> note that there's separate x86_64 optimization manuals for different generations of the processor cores
01:05:39 <wob_jonas> and I also recommend Agner Fog's manuals, they tell a lot about optimizations, probably more than you already know
01:06:21 <wob_jonas> and obviously get the latest version of the x86_64 architecture manual, of the optimization manual, and of Agner Fog's manual, since you have an internet connection
01:07:26 <wob_jonas> moony: wow. but you'll make it work without JIT to debug out the errors at first, right? and throw in the JIT later
01:07:48 <moony> combining the two is actually the best choice
01:07:56 <wob_jonas> I'll be interested to see what you get, and probably other people too
01:08:05 <moony> because the 88k itself is capable of JIT, and constantly recompiling JITed code with a JIT is stupid
01:08:50 <wob_jonas> JIT is something people tend to overuse, and I don't think you'll fall into that trap
01:09:15 <moony> i often walk about blindly on a new moon
01:10:02 <wob_jonas> threading and GPU computations too, and for threading in particular IMO the problem is that people try to put code to parallel threads at too low level, when generally it would be better to make much larger chunks of computation to parallel threads, such as entire processes or something, in most of the cases they meet
01:10:43 <moony> The Powder Toy is a case where neither of those have been used and they're urgently needed haha
01:11:04 <moony> entire game runs on one thread, maybe a second to run gravity sim in parallel but thats about it
01:11:15 <wob_jonas> the most notable case was when I was encoding a dozen video files at the same time, on a machine with a dozen cpu cores and two-way NUMA, and at first I didn't notice that the video encoder assumed I'd only encode one or two and tried to do each encoding in a dozen parallel threads because that's how many cores there were
01:11:36 <wob_jonas> I only noticed because the memory usage was so high that it ran out of memory, which was lucky
01:11:42 <wob_jonas> otherwise I'd have had trouble figuring out what's wrong
01:12:28 <wob_jonas> luckily the encoder does have an option to not do that, and use only one thread for all the main work
01:13:27 <wob_jonas> I'm very annoyed when people try to demand threads or GPU or JIT as silver bullets even in cases when they don't help
01:13:54 <wob_jonas> which is part of why I'm interested in x86_64 and efficient computation, especially in the single-threaded cpu case
01:14:06 <wob_jonas> the case when I don't do threading or GPU computations or JIT
01:14:35 <wob_jonas> I also try to know how to use threading or processes the right way though
01:15:00 <moony> TPT could genuinely benefit from it tho :p It also needs a lot of optimization in general, but laziness and mario kart reigns supreme
01:15:15 <moony> maybe you could take a crack at it
01:15:57 <wob_jonas> meh no, I'll do it with my own hobby project, or work I'm payed for
01:16:34 <moony> we could also probably do with rewriting the game's graphics to NOT be a freaking software renderer, but again we're all lazy
01:16:56 <moony> it's a shoddy software renderer at that 🤔
01:17:33 <moony> The Powder Toy is a multiple person open source project. I'm just some random contributer :P
01:21:50 -!- oerjan has joined.
01:33:12 -!- hexfive has quit (Ping timeout: 252 seconds).
01:47:27 -!- hexfive has joined.
02:26:34 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
02:31:26 <moony> thats enough procrastination for me. time to actually begin work on the emulator
03:12:56 <moony> wob_jonas: Thanks for all the advice :)
04:32:33 -!- yaewa has joined.
04:34:20 -!- moei has quit (Ping timeout: 272 seconds).
05:04:24 -!- oerjan has quit (Quit: Nite).
05:24:23 -!- TellsTogo has joined.
05:27:48 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:42:17 -!- TellsTogo has quit (Ping timeout: 256 seconds).
05:53:29 -!- xkapastel has joined.
07:01:42 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=58179&oldid=58020 * Gamer * (+80) /* General Ideas */
07:02:53 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=58180&oldid=58179 * Gamer * (+58) /* General Ideas */
08:01:00 -!- tromp has quit (Remote host closed the connection).
08:01:16 -!- tromp has joined.
08:40:53 -!- arseniiv has joined.
09:10:25 -!- yaewa has quit (Quit: Leaving...).
09:10:47 -!- moei has joined.
09:47:48 -!- xkapastel has quit (Quit: Connection closed for inactivity).
10:17:55 -!- AnotherTest has joined.
10:44:53 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58181&oldid=58118 * Gamer * (+14) /* D */
10:46:48 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=58182&oldid=58107 * Gamer * (+85) /* General languages */
11:01:01 <esowiki> [[HQ9funge]] https://esolangs.org/w/index.php?diff=58183&oldid=57886 * Gamer * (+72)
11:22:43 -!- Essadon has joined.
11:23:55 <esowiki> [[TPLHBPTBOTEW]] N https://esolangs.org/w/index.php?oldid=58184 * Gamer * (+1190) Created page with "'''TPLHBPTBOTEW''', which is an acronym for '''This Programming Language Has Been Proven To Be On The Esolangs Wiki''', is an [[esoteric programming language]] created by Us..."
11:25:55 <esowiki> [[Special:Log/move]] move * Gamer * moved [[TPLHBPTBOTEW]] to [[```` ` ` `]]: i accidentally created the page
11:34:03 -!- hexfive has quit (Quit: WeeChat 2.2).
11:44:47 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
11:47:16 -!- Lord_of_Life has joined.
11:47:16 -!- Lord_of_Life has quit (Changing host).
11:47:16 -!- Lord_of_Life has joined.
11:58:43 -!- ais523 has joined.
12:02:49 <ais523> arseniiv: amb is quite different from time travel, a) you can reliably simulate it on a classical computer, b) it's impossible to create a paradox with it
12:03:04 <ais523> the main problem is just that it's inefficient
12:04:47 <ais523> on a vaguely related subject to that of CPU emulators: there's something I'd like to do and I don't know how easy or difficult it is
12:05:51 <ais523> which is to get a decent proportion of Debian running under WebAssembler (ideally compiling the packages from source), with a custom kernel (i.e. not Linux) that just handles the system calls that are meaningful in that context
12:06:26 <ais523> I'm imagining that the filesystems would be a) a read-only filesystem that downloads the files from the Internet, b) a read-write filesystem that's just in-memory and disappears when you close the browser tab
12:18:22 -!- ais523 has quit (Remote host closed the connection).
12:19:35 -!- ais523 has joined.
12:42:24 <arseniiv> ais523: thanks, yes, amb alone seems inequivalent
12:46:21 <int-e> ais523: this is different, but related: are you aware of https://bellard.org/jslinux/ ?
13:07:20 <ais523> however, I believe it emulates the entire CPU, and thus is likely fairly inefficient
13:07:37 <esowiki> [[```` ` ` `]] https://esolangs.org/w/index.php?diff=58187&oldid=58185 * Gamer * (+3287)
13:08:09 <int-e> ais523: Yes, it does, which is why I wrote that it's different from what you suggested.
13:09:14 <int-e> ais523: the technical description mentioins emscripten which apparently can deal with translating C to Javascript; it could be interesting to investigate its limitations.
13:09:42 <ais523> I've been trying to run emscripten for the last 10 minutes
13:09:46 <ais523> the version packaged in Ubuntu seems to be buggy
13:11:53 <esowiki> [[HQ9funge]] https://esolangs.org/w/index.php?diff=58188&oldid=58183 * Gamer * (+5)
13:13:38 <esowiki> [[```` ` ` `]] https://esolangs.org/w/index.php?diff=58189&oldid=58187 * Gamer * (+216)
13:14:50 <esowiki> [[Special:Log/move]] move_redir * Gamer * moved [[```` ` ` `]] to [[TPLHBPTBOTEW]] over redirect
13:14:50 <esowiki> [[Special:Log/delete]] delete_redir * Gamer * Gamer deleted redirect [[TPLHBPTBOTEW]] by overwriting: Deleted to make way for move from "[[```` ` ` `]]"
13:15:49 <esowiki> [[```` ` ` `]] https://esolangs.org/w/index.php?diff=58192&oldid=58191 * Gamer * (-26) Blanked the page
13:15:54 -!- wob_jonas has joined.
13:17:10 <wob_jonas> ais523: so all the user level packages would be directly compiled to webassembly (or a combination of webassembly and javascript and interpreters), and nothing would emulate a cpu?
13:17:50 <ais523> wob_jonas: that's the idea
13:17:54 <ais523> I don't know how hard or easy this would be
13:18:13 <wob_jonas> ais523: how much of debian would you want this to run? would you want programs connecting to an X11 that runs in the same browser somehow?
13:18:31 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[```` ` ` `]]": Author request: apparently created by mistake
13:18:57 <ais523> wob_jonas: I'd initially be happy as a single-user system with a command line
13:19:22 <wob_jonas> ais523: writing a suitable kernel is probably possible, because people have ran simpler unix programs on many very different kernels already
13:20:00 <wob_jonas> I don't know about compiling packages to the browser, because I'm not familiar at all with modern web client-side scripting, and don't intend to learn it either.
13:20:19 <wob_jonas> I may use a little client-side scripting in webpages, but it's all so simple that I don't need modern tech for it.
13:20:58 <ais523> well, webassembly is the obvious thing to use
13:21:07 <ais523> but it's hard to find information about the toolchain
13:21:21 <wob_jonas> Of modern CSS and MathML features I do want to learn a little though. Especially how you can sanely put MathML and fallback HTML code on the same webpage in a sane way such that browsers will show the Right One of the two automatically, ideally even if javascript isn't ran.
13:24:16 <wob_jonas> ais523: ask the rust guys on irc server irc.mozilla.org channel #rust for pointers about webassembly, they know a lot about it because they make a webassembly backend for rustc (the compiler)
13:24:29 <wob_jonas> they might know about the toolchain
13:24:44 <wob_jonas> possibly ask in channel #rust-offtopic in the same place if you only care about non-rust toolchain
13:25:13 <wob_jonas> you can also try asking in ##workingset on freenode, but that channel is small
13:34:45 <ais523> hmm, some web searches imply that the Debian/Ubuntu emcc is a) very old, b) has a trigger which causes it to not work correctly (the current leading theory is having clang installed, which I do, but it may be unconditional)
13:40:37 -!- xkapastel has joined.
13:43:16 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
14:33:17 -!- ais523 has quit (Quit: quit).
15:21:17 <esowiki> [[TPLHBPTBOTEW]] https://esolangs.org/w/index.php?diff=58193&oldid=58190 * Gamer * (+2285)
15:21:56 <esowiki> [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=58194&oldid=58193 * Gamer * (+4) /* Commands */
15:24:40 <esowiki> [[TPLHBPTBOTEW]] https://esolangs.org/w/index.php?diff=58195&oldid=58194 * Gamer * (+163) /* Language Overview */
15:30:55 <esowiki> [[TPLHBPTBOTEW]] https://esolangs.org/w/index.php?diff=58196&oldid=58195 * Gamer * (+27) /* Commands */
15:31:29 <esowiki> [[TPLHBPTBOTEW]] https://esolangs.org/w/index.php?diff=58197&oldid=58196 * Gamer * (+5) /* Concept */
15:31:58 <esowiki> [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=58198&oldid=58197 * Gamer * (-4) /* Computational class */
15:34:33 <esowiki> [[TPLHBPTBOTEW]] https://esolangs.org/w/index.php?diff=58199&oldid=58198 * Gamer * (+30) /* Concept */
15:34:48 <esowiki> [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=58200&oldid=58199 * Gamer * (+2) /* Concept */
15:35:30 <esowiki> [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=58201&oldid=58200 * Gamer * (-4) /* Concept */
15:40:25 <esowiki> [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=58202&oldid=58201 * Gamer * (+84) /* Truth-machine */
15:43:25 <esowiki> [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=58203&oldid=58202 * Gamer * (+2) /* Truth-machine */
16:20:45 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58204&oldid=58181 * Gamer * (+19) /* T */
16:33:41 -!- tromp has quit (Remote host closed the connection).
16:34:15 -!- tromp has joined.
16:35:52 -!- tromp has quit (Remote host closed the connection).
16:36:04 -!- tromp has joined.
16:53:19 -!- oerjan has joined.
17:32:05 <esowiki> [[Joke language list]] M https://esolangs.org/w/index.php?diff=58205&oldid=58182 * Oerjan * (+0) q cemos beefor u
17:35:40 <oerjan> . o O ( math papers don't look that way. )
17:57:51 -!- wob_jonas has joined.
17:58:55 <wob_jonas> So I bought a CAT B30 dual sim mobile phone. I'm setting it up and will test it. So far I think its user interface is better designed than the Nokia's, not that there aren't downsides, but I'll try to tell more when I tested it.
17:59:48 <wob_jonas> I'm not sure if I'll adopt it immediately, that depends on how well it fits in my current belt loop mobile phone holder bag.
18:00:14 <wob_jonas> I mean, I'm not sure if I'll adopt it as my main phone immediately.
18:00:39 <wob_jonas> Oh, I also have to buy a screen protection foil, but I won't delay using the phone to when that one arrives.
18:02:19 <wob_jonas> Sadly it sometimes seem to lag noticably, in that there's a delay of deciseconds until it reacts to a button press. That sucks.
18:03:36 <oerjan> wob_jonas: is this from the company that made the grandmaphone that impressed you?
18:03:58 <wob_jonas> oerjan: no, that company is MyPhone
18:04:33 <wob_jonas> This is a phone that is protected against water and mechanical shocks, from a company that makes such phones.
18:05:19 <wob_jonas> But that also comes with having a sane interface, because the people who buy that kind of phone don't care that much about a fancy modern but unusable interface.
18:06:02 <wob_jonas> Also because of the protection, it has a smaller display, and it costs a bit more, but it's still relatively cheap.
18:06:43 <wob_jonas> oerjan: I looked a bit at the Myphone non-grandma feature phone, but it seemed to be worse
18:07:27 <wob_jonas> This one seems to have an even more terrible Hungarian UI translation, though I've only seen a very small sample of translated messages before I changed the UI language to English.
18:12:22 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
18:16:57 <zzo38> I would want to see a library and API to execute WebAssembly programs from a native C code.
18:50:43 -!- oerjan has quit (Quit: Later).
19:08:31 -!- wob_jonas has joined.
19:09:38 <wob_jonas> One problem with this mobile phone is that I don't seem to find a way to make the calendar display change to show weeks with Monday as their first day. That will make the calendar rather error-prone for me to use.
19:30:03 <zzo38> Then you should need one that you can reprogram with your own program instead of the one included in there already.
19:36:38 <esowiki> [[User:Timwi]] M https://esolangs.org/w/index.php?diff=58206&oldid=47169 * Timwi * (+22)
19:37:00 <esowiki> [[User:Timwi]] M https://esolangs.org/w/index.php?diff=58207&oldid=58206 * Timwi * (-54)
19:41:23 <zzo38> {?} Enchantment - Saga ;; I, II, III--Create a 1/1 white Bird creature token with flying and banding. ;; IV--Target permanent gains protection from a color of your choice until end of turn.
19:41:32 <zzo38> What you would think of them?
19:43:05 <zzo38> I don't know what cost
19:43:59 <wob_jonas> Let me check the comp rules for how Sagas work... they're too new, and didn't seem useful, so I don't remember.
19:47:09 <zzo38> Abilities with roman numbers are triggered abilities, that trigger when a counter is added that increases it to that many or more. A turn-based action during your precombat main phase adds a counter. It starts with one counter, which triggers ability I. State-based actions get rid of it if it has as many or more counters as the last one if its abilities are not on the stack.
19:49:01 <wob_jonas> wow. I read the rules. they're strange
19:49:03 <zzo38> (This turn-based action is after setting a scheme in motion, if any. I don't know if this is your question, but before the rules were released this was my first question about it.)
19:49:50 <zzo38> I don't like the rule that the Saga is sacrificed as a state-based action, and think it should have been done it simply dies.
19:53:36 <zzo38> (Also, in order to be more consistent with the rules for schemes and phenomena, that state-based action should consider any triggered ability rather than only chapter abilities, I should think; it seem strange that they do not match)
19:55:56 <wob_jonas> zzo38: that might be deliberate, because a saga is an enchantment so it's possible to have it gain all sorts of triggered abilities by using other cards, while they probably won't have other triggered abilities in their oracle text, while a plane often has other triggered abilities in the oracle text and it's hard to make it gain an ability because
19:56:18 <zzo38> Ah, maybe that is why.
19:56:51 <wob_jonas> For schemes this might not matter, I don't know.
20:15:05 <HackEso> Aura Flux \ 2U \ Enchantment \ Other enchantments have "At the beginning of your upkeep, sacrifice this enchantment unless you pay {2}." \ UL-C
20:29:54 -!- AnotherTest has quit (Ping timeout: 250 seconds).
20:37:04 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
21:07:44 -!- sftp has quit (Excess Flood).
21:08:03 -!- sftp has joined.
21:22:20 -!- sftp has quit (Ping timeout: 250 seconds).
21:24:38 -!- sftp has joined.
21:44:14 -!- hexfive has joined.
21:46:40 -!- arseniiv has quit (Ping timeout: 246 seconds).
23:29:03 -!- AnotherTest has joined.
23:33:51 -!- AnotherTest has quit (Ping timeout: 260 seconds).
23:43:30 -!- Lord_of_Life_ has joined.
23:45:51 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
23:45:51 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:45:51 -!- Lord_of_Life has quit (Changing host).
23:45:51 -!- Lord_of_Life has joined.