←2025-10-29 2025-10-30 2025-10-31→ ↑2025 ↑all
00:30:24 -!- slavfox_ has joined.
00:32:05 -!- ais523 has joined.
00:34:39 -!- perlbot_ has joined.
00:36:37 -!- slavfox has quit (*.net *.split).
00:36:37 -!- perlbot has quit (*.net *.split).
00:36:37 -!- j4cbo has quit (*.net *.split).
00:36:38 -!- slavfox_ has changed nick to slavfox.
00:36:50 -!- perlbot_ has changed nick to perlbot.
00:42:13 -!- j4cbo has joined.
01:39:47 <esolangs> [[Baba Is You]] https://esolangs.org/w/index.php?diff=166921&oldid=166915 * Aadenboy * (+247) this page is long overdue for a rewritereplacing it with an incomplete draft
01:40:43 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
02:05:43 <esolangs> [[Category:C++]] M https://esolangs.org/w/index.php?diff=166922&oldid=166718 * SuperSMG5 * (+115) I think I got it now
02:06:28 <esolangs> [[C+]] M https://esolangs.org/w/index.php?diff=166923&oldid=125167 * SuperSMG5 * (+17) To the c++ category!
02:11:13 <esolangs> [[Crypten]] https://esolangs.org/w/index.php?diff=166924&oldid=166904 * Somefan * (-8) fixd url
02:15:40 <esolangs> [[C+++]] M https://esolangs.org/w/index.php?diff=166925&oldid=105304 * SuperSMG5 * (+149) To the c++ category and also its not printf its cout
02:19:24 <esolangs> [[Category talk:C++]] N https://esolangs.org/w/index.php?oldid=166926 * Corbin * (+556) I get it, but it wasn't discussed AFAICT.
02:33:45 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=166927&oldid=166716 * Corbin * (+823) /* Language families */ "Family" here means "dependent product."
02:44:31 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=166928&oldid=166927 * Ais523 * (+309) /* Language families */ [[:Category:Metalanguages]] already exists and (while probably not quite the same) this is very close
03:17:39 <zzo38> Is there a name for a formal grammar that once any token is read its meaning cannot change and you cannot look ahead, but the meaning is allowed to depend on what has been read before, and you are not allowed to look ahead to determine whether or not an optional field is present?
03:18:31 <esolangs> [[A=ab=bc=cd=d!]] M https://esolangs.org/w/index.php?diff=166929&oldid=166343 * Aadenboy * (+28) [[Category:Meta-languages]]
03:20:56 <zzo38> Do you have any test cases for Atmel AVR emulation?
03:22:22 <ais523> zzo38: so lookahead restrictions only really apply to transducers rather than grammars
03:22:56 <ais523> because you can effectively encode "tokens of lookahead" into the grammar rules instead of doing them in the automaton (it's just that doing them in the automaton is easier)
03:23:54 <ais523> this is easier to think about if you think of grammars being compiled into a state machine (not necessarily finite-state, they could have counters or stacks or the like in addition to the finite-state engine that controls them)
03:24:47 <ais523> instead of having a separate variable for lookahead tokens, you can encode the lookahead tokens into the finite-state engine by multiplying each state by an appropriate number of copies of it (one for each possible lookahead that could exist)
03:25:11 <ais523> this means that lookahead isn't really defined as a concept when you're talking about grammars in the abstract
03:25:42 <ais523> however, you can define it rigorously in terms of transducers, i.e. grammars that have outputs (by saying that they have to produce a particular token of output before a particular token of input is read)
03:27:29 <ais523> anyway, the concept that you're trying to express is very similar to LL(1), which has to choose which branch to take using only a single token of information
03:28:22 <ais523> and gets around the lookahead problem by requiring the grammar to be able to output which grammar rule it's in as soon as the first token of input that uses that rule is read
03:28:34 <ais523> * requiring the parser to be able to output
03:40:30 <zzo38> OK, that makes sense it applies to transducers rather than grammars; sorry I made a mistake at first
03:42:44 <ais523> LL(1) is a bit more restrictive than what you asked for, because LL(1) requires you to be able to write a pushdown automaton with those lookahead properties, whereas you didn't restrict it to a particular parsing automaton
03:42:48 <ais523> but in practice I expect that won't matter much
04:00:55 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
04:01:11 -!- Lord_of_Life_ has joined.
04:02:30 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:11:42 -!- Hoolooboo has quit (Ping timeout: 256 seconds).
04:12:31 -!- Hooloovoo has joined.
04:17:03 -!- Lord_of_Life_ has joined.
04:17:43 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
04:19:21 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:33:06 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=166930&oldid=166873 * Yayimhere2(school) * (+98) /* One token per line */
04:34:14 -!- pool2 has joined.
05:39:27 <zzo38> I thought that a operating system and computer design can have some key combination (possibly [Control]+[System]+[Escape] or something like that; might also use (instead or as well) some switch on the computer itself, for additional security) to display a screen to list the processes and capabilities, and can be used to suspend, resume, and terminate processes, as well as to revoke capabilities and do low-level debugging functions.
05:40:22 <ais523> that's a bit like Windows' ctrl-alt-delete, except more powerful
05:41:11 <ais523> but yes, OSes ilke to use key combinations for that sort of thing that do something special at the hardware level in order to prevent them being blocked in software
05:41:26 <ais523> (I think Windows picked ctrl-alt-delete because it's a hardware reboot code and so the hardware special-cases it)
05:46:22 <esolangs> [[User talk:PoptartPlungerBoi/99BottleChallenge]] N https://esolangs.org/w/index.php?oldid=166931 * Yayimhere2(school) * (+158) Created page with "sadly that is not currently possible lol --~~~~"
05:46:57 <zzo38> Yes, although on Windows the task manager is itself a process, and USB can cause problems (I would design the computer with a dedicated keyboard port (and the mouse is connected to the keyboard), and without USB). (Linux has SysRq which is more limited in some ways and does more in some ways; I would intend it would be capable of many of the things listed there which would be applicable.)
05:48:12 <zzo38> (Also, I might have all processes suspended while this special screen is displayed, so that they cannot affect the video memory, read the keyboard, take up all of the CPU time, do something which is overheating the computer, etc, while you are using the special screen to manage them.)
05:49:16 <esolangs> [[!()]] https://esolangs.org/w/index.php?diff=166932&oldid=139128 * Yayimhere2(school) * (+8) /* syntax */
05:49:31 <ais523> a pause-everything command is both useful, and potentially problematic in some cases
05:50:14 <ais523> the classic example is writing to a CD, which apparently can't be paused without a certain amount of advanced notice due to the way that CD-writing software works (if you try you end up permanently damaging the CD)
05:50:21 <esolangs> [[!()]] https://esolangs.org/w/index.php?diff=166933&oldid=166932 * Yayimhere2(school) * (-20) /* examples */
05:51:10 <ais523> that said, on Linux ctrl-alt-F1 (which switches to a text-based terminal that's separate from the graphical environment) appears to pause at least some processes until you finish the login process (I can tell this because it usually causes music to stop playing)
05:51:47 <zzo38> I have observed that too
05:55:27 <zzo38> And, I know it can be potentially problematic in some cases, but you would avoid using it in such cases (unless you are deliberately trying to prevent such things from working; or, hopefully you have another blank CD if that happens)
07:48:32 <sorear> "secure attention key"
07:56:58 -!- pool2 has quit (Read error: Connection reset by peer).
07:58:50 -!- pool8 has joined.
08:04:25 -!- Sgeo_ has quit (Read error: Connection reset by peer).
08:12:53 <esolangs> [[PythOwO]] https://esolangs.org/w/index.php?diff=166934&oldid=166418 * RaiseAfloppaFan3925 * (-119) pythOwO is branded with lowercase in the GitHub repository
08:12:57 -!- tromp has joined.
08:25:44 <b_jonas> ais523: I thought that part about cd writing only applies to old CD burner hardware, modern one can be paused without damage because the hardware is smart enough to turn off the laser, though I think you might lose some capacity on the disk when you pause and continue
08:26:06 <ais523> b_jonas: I was wondering if some drives could be preloaded with enough information to safely stop when the software stuttered
08:26:14 <ais523> but I haven't used a CD burner in ages
08:26:27 <b_jonas> ais523: this is sort of like how current sound hardware will keep playing the same sound on repeat if the operating system hangs
08:26:40 <ais523> most sound cards nowadays work by using a queue that software can top up with samples, if the software stops doing that it'll continue to play until the samples run out, and then stop
08:26:50 <b_jonas> I don't know, I never actually tried to deliberately pause a CD burner while burning, nor accidentally ran into that
08:26:53 <ais523> …or repeat, I guess
08:27:10 <ais523> oh, I haven't got that wrong with a CD burner either, just knew I had to take the precaution
08:51:41 -!- b_jonas has quit (Quit: leaving).
09:06:17 <int-e> I imagine that hitting the right place to continue writing would be rather hard.
09:07:21 <int-e> certainly harder than following the track and operating at the correct frequency, relying on momentum to keep even physical spacing
09:29:00 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:31:24 <fizzie> BURN-Proof™
09:31:36 <fizzie> (BURN being short for "buffer underrun".)
09:32:18 <fizzie> "A number of manufacturers have developed proprietary technologies to prevent buffer underruns, including Sanyo (BURN-Proof),[5] Asus (FlextraLink),[6] Sony (Power Burn) and Yamaha (SafeBurn)."
09:32:29 <fizzie> Didn't know there were that many of them.
09:41:56 <ais523> "underrun" is an interesting choice of nouned verb to use for that
09:42:25 <ais523> writing past the end of a buffer is normally called a buffer overflow, right?
09:42:42 <ais523> but this, in effect, reading past the push end of a queue
09:42:57 <ais523> which is somehow like an overflow, and like the opposite of an overflow, at the same time
09:44:12 <ais523> I just realised I don't have a consistent mental model of which direction queues and stacks go in, I can imagine queues with their push end at either the left or the right, likewise stacks (actually there are three reasonable orientations for a stack – push end at the left, right and top – which makes it ironic that most processors have it at the bottom)
09:48:43 <fizzie> I believe they call that an underrun in audio circles as well.
09:49:50 <esolangs> [[Talk:E++]] https://esolangs.org/w/index.php?diff=166935&oldid=166878 * Esolangist * (+176) /* Who made this? */
09:57:12 <ais523> ooh, while browsing Wikipedia, I came across the solution for the "one program verifies, e.g., JIT output made by another program and maps it as executable in the original program" – you just have a shared memory map that's read-execute for the program that generated the data and read-write for the program that verifies it
09:57:41 <ais523> and then the verifier can write the verified machine code into the original process's address space for it to execute
09:58:07 <ais523> this does seem to be problematic in a few ways (needing a copy, preventing unrelated processes accessing the memory map) but I think those problems are minor or solvable
09:58:23 <ais523> (this is referring to a question I had in here a while ago, I meant to say that in the first line but forgot)
10:00:16 <ais523> now I just need to figure out what the rules for doing cross-modifying code safely are
10:02:24 <ais523> a quick web search impliies that on x86-64, the receiving thread needs to do an acquire-read that proves that the new code is safely accessible in memory, then do a serializing instruction (SERIALIZE, or if that isn't available, CPUID)
10:02:30 <ais523> `as-encoding serialize
10:02:33 <HackEso> ​{standard input}: Assembler messages: \ {standard input}:1: Error: no such instruction: `serialize'
10:02:37 <ais523> `as-encoding serialise
10:02:38 <HackEso> ​{standard input}: Assembler messages: \ {standard input}:1: Error: no such instruction: `serialise'
10:02:43 <ais523> too new for this assembler, it seems
10:03:04 <ais523> and of course on x86-64 an acquire-read is just a normal read
10:05:15 <fizzie> Lovely "operation" pseudocode for that instruction in the Intel manual.
10:05:19 <fizzie> Wait_On_Fetch_And_Execution_Of_Next_Instruction_Until(preceding_instructions_complete_and_preceding_stores_globally_visible);
10:05:53 <fizzie> Just take an English description and put some underlines, parentheses and semicolon in there.
10:05:59 <ais523> yes
10:07:29 <ais523> another thing I learned recently is that LFENCE has been repurposed as an instruction-ordering fence (i.e. instructions can't be reordered around it, but memory accesses still can be)
10:07:47 <ais523> Intel and AMD are both using it for Spectre mitigation
10:08:32 <ais523> but the really interesting thing is that on AMD, there's an MSR that changes LFENCE to act as an instruction-ordering fence rather than load-ordering fence (which x86-64 does naturally) and it was *not* a microcode update, it already existed on the old AMD processors and was simply just undocumented
10:09:15 <ais523> (the leading theory is that it was a contingency plan in case Intel ever changed LFENCE to be a stronger barrier)
10:10:34 <int-e> fizzie: some of those burns sound vaguely familiar
10:10:59 <ais523> note that it's possible that a microcode update changed the semantics of the fence, and the purpose of the MSR was actually "just make LFENCE do something microcode-defined" – that also seems very plausible to me
10:34:15 <esolangs> [[Alphacode]] https://esolangs.org/w/index.php?diff=166936&oldid=166282 * Esolangist * (+136) /* Quine */
10:39:11 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=166937&oldid=166281 * Esolangist * (+209) added "my esolangs"
11:02:33 <sorear> were there ever AMD processors where MSRs were actually hardware registers and not entirely abstracted by microcode?
11:04:09 <sorear> the JIT cross-modifying-code problem gets much harder if your application code is itself multithreaded and has access to function pointers. how do you know if a read of a function pointer was (a) a data race (b) seeing a new function too early and before the instructions are safely accessible?
11:04:56 <sorear> you can do a broadcast invalidate before making the new function available to _any_ thread, but ew
11:08:33 <ais523> ah, I see – acquire-release barriers aren't enough to allow the thread that first runs the cross-modifying code to make its function pointers visible to other threads, as those would need to do a CPUID after their acquire
11:08:56 <ais523> I think that's the only problem which wouldn't be fixed by standard measures for preventing race conditions, though
11:10:17 <APic> Hi
11:12:01 <ais523> hi
11:25:04 -!- amby has joined.
11:30:25 -!- sftp has quit (Quit: leaving).
11:31:15 -!- sftp has joined.
11:31:15 -!- sftp has changed hostmask to ~sftp@user/sftp.
12:24:40 -!- ais523 has quit (Quit: quit).
14:12:47 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=166938&oldid=166875 * RaiseAfloppaFan3925 * (+718)
14:16:38 -!- Sgeo has joined.
14:44:10 <esolangs> [[Talk:Golficator]] N https://esolangs.org/w/index.php?oldid=166939 * Yayimhere2(school) * (+227) Created page with "programs that do not halt, are definitely not useless([[Truth machine]] and [[Looping counter]] for example). --~~~~"
14:48:48 -!- pool8 has quit (Quit: The Lounge - https://thelounge.chat).
14:49:07 -!- pool3 has joined.
16:05:07 -!- perlbot has quit (Ping timeout: 264 seconds).
16:05:07 -!- simcop2387 has quit (Ping timeout: 264 seconds).
16:17:53 -!- pool3 has quit (Ping timeout: 260 seconds).
17:08:39 -!- simcop2387 has joined.
17:10:10 -!- perlbot has joined.
17:25:30 <esolangs> [[Vesta]] N https://esolangs.org/w/index.php?oldid=166940 * * (+17) Redirected page to [[]]
17:31:27 <esolangs> [[]] M https://esolangs.org/w/index.php?diff=166941&oldid=166901 * * (+407) Added a few more commands
17:31:52 <esolangs> [[]] M https://esolangs.org/w/index.php?diff=166942&oldid=166941 * * (+0)
17:31:58 -!- pr1sm has joined.
18:16:06 <esolangs> [[Collabi]] M https://esolangs.org/w/index.php?diff=166943&oldid=151260 * Esolangist * (+680) Ownership moved (yes, this is official.), new command added and 2 new alternations of the truth machine program.
18:16:52 <esolangs> [[User:Esolangist]] M https://esolangs.org/w/index.php?diff=166944&oldid=166937 * Esolangist * (+74) Little note.
18:17:34 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=166945&oldid=166944 * Esolangist * (+68) /* I contributed to these */
18:19:18 <esolangs> [[Talk:]] N https://esolangs.org/w/index.php?oldid=166946 * Yayimhere2(school) * (+148) Created page with "what is in the node makes? --~~~~"
18:28:28 <esolangs> [[User:Esolangist/personal talk page]] N https://esolangs.org/w/index.php?oldid=166947 * Esolangist * (+359) Created page with "Welcome to my "Personal Talk Page". I basically talk about stuff here, but please don't edit this. I have this so I don't have to have a multillion<ref>[https://googology.fandom.com/wiki/Multillion That's 10^(310^(310^(310^42))+3).]</ref> su
18:30:38 <esolangs> [[User:Esolangist]] M https://esolangs.org/w/index.php?diff=166948&oldid=166945 * Esolangist * (+129)
18:34:01 <esolangs> [[Place]] https://esolangs.org/w/index.php?diff=166949&oldid=164553 * Esolangist * (+1) /* The thing */ added a space.
18:43:56 -!- pr1sm has quit (Remote host closed the connection).
18:57:04 -!- tromp has joined.
19:08:15 <esolangs> [[Special:Log/newusers]] create * HeckYeah100 * New user account
19:11:59 -!- b_jonas has joined.
19:18:58 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:32:03 <APic> cu
19:46:04 -!- Sgeo has quit (Read error: Connection reset by peer).
19:48:52 -!- Sgeo has joined.
20:12:39 <esolangs> [[Self++]] N https://esolangs.org/w/index.php?oldid=166950 * H33T33 * (+1516) Created page with "{{WIP}} Self++ (or S++) is a language that builds on top of [[Self]], [[Self 2]], and [[Self but with loops]]. Self++ follows the same ideas as the other Selfs, except it's actually somewhat practical. =How it works= ==Keywords== ===self=== The <code>self</code> keyword
20:13:02 <esolangs> [[User:H33T33]] M https://esolangs.org/w/index.php?diff=166951&oldid=166714 * H33T33 * (+13)
20:14:30 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=166952&oldid=163902 * H33T33 * (+51)
20:14:53 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=166953&oldid=166952 * H33T33 * (-8)
20:17:51 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=166954&oldid=166953 * H33T33 * (+0)
20:19:09 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=166955&oldid=166954 * H33T33 * (+8)
20:22:04 -!- chiselfuse has quit (Ping timeout: 272 seconds).
20:22:26 -!- chiselfuse has joined.
20:23:57 <esolangs> [[User:H33T33]] M https://esolangs.org/w/index.php?diff=166956&oldid=166951 * H33T33 * (-77)
20:47:41 <b_jonas> int-e: yes, but consider that CD readers already have magical electronics in them just to follow tracks on the CD correctly, and have been there for many years before the better commercial CD writers arrived, by which point all sorts of complex electronics got cheaper; and also that ancient floppy drives can follow tracks on a floppy disk, despite that that sounds basically impossible because the floppy
20:47:47 <b_jonas> can flex and gripping the center doesn't look too accurate
20:48:07 <b_jonas> so given that those magics are possible, I wouldn't be surprised if continuing to write the same track on a CD were possible too
20:59:38 <esolangs> [[Place]] https://esolangs.org/w/index.php?diff=166957&oldid=166949 * Hotcrystal0 * (+1) editing the rules (not cheating) so edits dont get spammy
20:59:56 <esolangs> [[Place]] https://esolangs.org/w/index.php?diff=166958&oldid=166957 * Hotcrystal0 * (+10)
21:46:18 -!- pool3 has joined.
21:58:26 -!- pool3 has quit (Quit: The Lounge - https://thelounge.chat).
21:58:45 -!- pool3 has joined.
22:26:30 -!- tromp has joined.
22:42:00 -!- pool3 has quit (Read error: Connection reset by peer).
22:42:21 -!- pool3 has joined.
22:51:26 <esolangs> [[Self++]] M https://esolangs.org/w/index.php?diff=166959&oldid=166950 * H33T33 * (+19)
23:28:27 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:42:03 -!- pool3 has quit (Read error: Connection reset by peer).
23:42:24 -!- pool3 has joined.
←2025-10-29 2025-10-30 2025-10-31→ ↑2025 ↑all