←2020-04-11 2020-04-12 2020-04-13→ ↑2020 ↑all
00:02:07 -!- LKoen has joined.
00:03:42 -!- LKoen has quit (Client Quit).
00:05:19 -!- ais523 has joined.
00:06:30 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[User talk:Palaiologos]]": Author request: normally user talk pages aren't deleted, but no relevant warnings/communication from others was present
00:08:10 -!- nona has quit (Remote host closed the connection).
00:08:56 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[Tac Toe Toe Grow]]": redirect from unlikely misspelling (notwithstanding that it was created due to that misspelling)
00:14:55 <ais523> I find the HTML specification really creepy and unnatural
00:15:04 <ais523> it starts off innocently enough
00:15:19 <ais523> but after a while, you realise that it is an entire web browser written in pseudocode
00:15:29 <esowiki> [[MiniUSPL]] M https://esolangs.org/w/index.php?diff=70897&oldid=30402 * LegionMammal978 * (+14) fixed title
00:15:40 <ais523> with corrections for bugs, a library system, and similar other things you would find in programming languages
00:15:45 <ais523> (but you can't run it because it's pseudocode)
00:16:32 <ais523> ofc programs are substantially shorter in pseudocode because you can just gloss over details, invent builtins on the fly, and the like
00:16:35 <ais523> but it's still creepy
00:20:29 <b_jonas> ais523: yes, including a lot of compatibility stuff for old and broken webpages (though not the MSIE compatibility stuff), defining all the DOM interface for javascript, except you have to add the CSS spec because that's in a separate document
00:22:08 <b_jonas> plus I guess the SVG and MathML spec if you want to support those
00:24:53 <esowiki> [[Minim]] https://esolangs.org/w/index.php?diff=70898&oldid=54427 * LegionMammal978 * (-1763) fixed code blocks
00:25:57 <zzo38> I think that some things could be implemented differently, possibly subject to user configuration. Some things should be implemented different anyways, depend on view modes, etc.
00:42:04 <esowiki> [[Minkolang]] https://esolangs.org/w/index.php?diff=70899&oldid=49842 * LegionMammal978 * (+93) added repo link
00:45:01 -!- imode has quit (Ping timeout: 265 seconds).
00:51:29 -!- imode has joined.
01:12:52 <esowiki> [[Comefrom0x10]] https://esolangs.org/w/index.php?diff=70900&oldid=52432 * Hdjensofjfnen * (+0) /* Types */
01:39:22 <esowiki> [[Promo]] https://esolangs.org/w/index.php?diff=70901&oldid=70893 * Structuresend * (-44)
02:03:54 <esowiki> [[Mom please get me so me zucchini from sho p]] M https://esolangs.org/w/index.php?diff=70902&oldid=59419 * LegionMammal978 * (+14) fixed title
02:04:01 -!- tromp has joined.
02:08:44 -!- tromp has quit (Ping timeout: 246 seconds).
03:05:05 -!- tromp has joined.
03:09:17 -!- tromp has quit (Ping timeout: 246 seconds).
04:22:03 -!- ais523 has quit (Ping timeout: 250 seconds).
04:53:01 -!- tromp has joined.
04:57:58 -!- tromp has quit (Ping timeout: 265 seconds).
05:47:26 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
06:42:13 -!- tromp has joined.
06:43:24 -!- tromp_ has joined.
06:46:17 -!- tromp has quit (Ping timeout: 246 seconds).
06:48:10 -!- tromp_ has quit (Ping timeout: 265 seconds).
07:16:22 -!- tromp has joined.
07:33:26 -!- imode has quit (Ping timeout: 265 seconds).
07:42:05 -!- kspalaiologos has joined.
07:53:44 -!- Guest76489 has joined.
07:53:57 <Guest76489> hi
07:54:42 <int-e> `relcome Guest76489
07:54:45 <HackEso> Guest76489: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
07:56:02 <Guest76489> happy easter
08:01:50 <Guest76489> who here is in the process of applying to unemployment
08:02:46 <Guest76489> hey int-e
08:04:23 <myname> I never knew you need to apply in order to be unemployed
08:09:36 -!- Guest76489 has quit (Ping timeout: 240 seconds).
08:15:51 -!- name has joined.
08:16:23 <name> myname I hope you're having a good Sunday morning! happy easter
08:19:33 <name> anyone playing any video games right now?
08:21:42 <int-e> I'm on webcomics
08:22:37 <name> which one are you reading now?
08:23:15 <kspalaiologos> I used to play M&B warband
08:23:37 <int-e> name: Too many. Apocalyptic Horseplay is a recent addition.
08:24:44 <kspalaiologos> but I'm waiting for Bannerlord to be stable so I can pirate^H^H^H^H^H^H buy it obviously
08:28:19 <int-e> name: basically webcomics work like this https://xkcd.com/609/ on a somewhat slower scale.
08:34:27 <name> kspalaiologos M&B warband kind of reminds me of Blade and Sorcery at first glance
08:35:05 <kspalaiologos> not really
08:35:18 <kspalaiologos> you're missing the strategical POV, the map screen
08:35:40 <kspalaiologos> oh well
08:35:44 <kspalaiologos> google images don't show it
08:36:31 <int-e> Sgeo_: https://mobile.twitter.com/SamWangPhD/status/1249132655737790464?p=p <-- getting closer to confirmation :-(
08:37:26 <name> int-e if you're into webcomics, I just started working with some friends on one as a way to raise money to build an installation for burning man 2020
08:37:29 <myname> int-e: imo, webcomics are not _that_ likely to link to other interesting ones
08:37:39 <int-e> (TheGuardian picked it up)
08:37:40 <name> I'll let you. know how it goes
08:37:48 <int-e> myname: You'd be surprised.
08:38:25 <name> the apocalyptic horseplay one looks nice. I just read a few pages
08:38:44 <int-e> myname: IME, if a webcomic author lists 10 comics that they like, and you like their stuff, you'll like 2 or 3 of those comics as well.
08:39:46 <int-e> (Obviously there are duplicates... but it's still a growing pool.)
08:40:14 <name> oh xkcd is cute! I can see why you're into webcomics. just in the few suggestions you sent, I'm already spiraling deeper into the void
08:48:36 -!- name has quit (Ping timeout: 240 seconds).
09:18:38 -!- unrooted has joined.
09:39:58 -!- Lord_of_Life_ has joined.
09:40:33 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
09:41:17 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
09:45:05 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70903&oldid=70868 * Noxomix * (+549)
09:46:41 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70904&oldid=70903 * Noxomix * (+66) /* Examples */
09:54:13 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70905&oldid=70904 * Noxomix * (+717)
09:57:58 -!- unrooted has quit (Ping timeout: 256 seconds).
09:58:49 -!- arseniiv has joined.
10:02:47 -!- olsner has quit (Remote host closed the connection).
10:06:36 <esowiki> [[Bunk bed]] M https://esolangs.org/w/index.php?diff=70906&oldid=70883 * Hakerh400 * (+10) /* Comparing mappings */ fix typos
10:12:37 -!- MDude has joined.
10:16:21 <esowiki> [[Babalang]] M https://esolangs.org/w/index.php?diff=70907&oldid=70867 * RocketRace * (+15) Easier searchability
10:43:07 -!- olsner has joined.
10:52:05 -!- LKoen has joined.
11:01:54 <int-e> I've found another use for unshare() :-) http://paste.debian.net/1139892/
11:13:18 <olsner> hm, so that has to be setuid to be allowed to unshare? always seemed counterintuitive that sandboxing requires *additional* privileges... anything should be allowed to go further down its own rabbithole
11:14:16 <b_jonas> olsner: you can use most of clone unprivilaged
11:14:22 <b_jonas> and do some sandboxing for it
11:14:47 <b_jonas> but I think you need to be root to set up bridge network devices in the containing host, which is very useful for sandboxing
11:14:48 <int-e> b_jonas: oh, can I do that, hmm.
11:15:33 <b_jonas> olsner: anyway, that you can do sandboxing as user is a noble goal, and the Linux devs are trying to go there, but the fact is, it's really hard to get right, and we don't want to compromise the kernel with security bugs because of that, so it's going slow
11:16:08 <int-e> "Only a privileged process (CAP_SYS_ADMIN) can employ CLONE_NEWNET."
11:16:35 <b_jonas> int-e: yes, which make sense, you couldn't modify the network devices in the other namespace as non-root anyway
11:17:07 <b_jonas> in practice, you set up the sandbox with root privilages, then let the non-user access it
11:17:25 <int-e> I should probably learn about that. (At least set up a loopback device)
11:17:51 <b_jonas> int-e: sadly I don't know the details of sandbox network setup. I should learn about it some day.
11:18:19 <int-e> Yeah exactly my point, I don't know about it either.
11:18:25 <b_jonas> I guess start from (man 8 ip) and ask on irc
11:19:16 <int-e> There's also network_namespaces(7).
11:19:26 <olsner> makes sense that to e.g. bridge to a physical interface you'd need outside-system privileges, but it ought to be possible to e.g. set up an isolated sandbox and talk to it (e.g. do user-space port forwarding) without ever going "up" in privileges
11:20:22 <int-e> olsner: but why put all that policy into the kernel when you can write a userspace daemon to do all that
11:22:11 <int-e> (At the cost of messing up the process parenthood story.)
11:23:42 <int-e> Anyway, some day... and in the meantime I'll enjoy the 5 minute hack.
11:24:18 <int-e> b_jonas: Another starting point is the unshare command line tool, which supports at least some of the networking stuff.
11:27:34 -!- Sgeo__ has joined.
11:28:17 <b_jonas> `? password
11:28:19 <HackEso> The password of the month is starving for attention.
11:30:49 -!- Sgeo_ has quit (Ping timeout: 264 seconds).
11:37:13 <esowiki> [[Babalang]] https://esolangs.org/w/index.php?diff=70908&oldid=70907 * RocketRace * (+4990) Document YOU
11:50:57 <esowiki> [[Esolang:Community portal]] https://esolangs.org/w/index.php?diff=70909&oldid=68863 * IFcoltransG * (+626) Added a link to another esoteric discord server
12:21:13 <kspalaiologos> `? bfgen
12:21:16 <HackEso> bfgen? ¯\(°​_o)/¯
12:21:19 <kspalaiologos> `? bftextgen
12:21:21 <HackEso> bftextgen? ¯\(°​_o)/¯
12:21:25 <kspalaiologos> `bfgen text
12:21:26 <HackEso> bfgen? No such file or directory
12:21:34 <kspalaiologos> how is this brainfuck generator named
12:21:34 <b_jonas> I think it's called bfasm and asmbf
12:21:40 <kspalaiologos> no, not this one
12:21:48 <kspalaiologos> I mean the brainfuck code generator from a string
12:21:58 <kspalaiologos> what's the fungot prefix, I forgot
12:22:10 <kspalaiologos> nvm he's dead
12:22:20 <b_jonas> the one that generated the casino program? you haven't got the source code of that, so unless it put a doc comment into the compiled code, you won't know the name
12:22:36 <kspalaiologos> :P
12:22:55 <b_jonas> `? genbf
12:22:56 <HackEso> genbf? ¯\(°​_o)/¯
12:23:01 <b_jonas> ``` type genbf
12:23:02 <HackEso> genbf is /hackenv/bin/genbf
12:23:07 <b_jonas> ``` genbf --help
12:23:08 <HackEso> fold: invalid number of columns: '--help'
12:23:12 <kspalaiologos> eh HackEso has had a brainfuck text generator
12:23:15 <kspalaiologos> that's what I need right now
12:24:20 <b_jonas> maybe the wiki links to one
12:28:41 <kspalaiologos> eh nvm
12:28:45 <kspalaiologos> I'll just use my old, inefficient one
12:43:51 -!- sprocklem has quit (Ping timeout: 250 seconds).
12:44:29 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70910&oldid=70796 * PythonshellDebugwindow * (+294) /* Auto-formatting */
12:45:46 -!- sprocklem has joined.
12:47:01 -!- arseniiv has quit (Ping timeout: 264 seconds).
12:48:23 -!- arseniiv has joined.
12:48:46 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70911&oldid=70910 * PythonshellDebugwindow * (+157)
12:49:49 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70912&oldid=70911 * PythonshellDebugwindow * (+27) /* Resources */
13:00:53 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70913&oldid=70762 * PythonshellDebugwindow * (+31) /* Languages */
13:20:50 <esowiki> [[User:PythonshellDebugwindow/Test]] M https://esolangs.org/w/index.php?diff=70914&oldid=70326 * PythonshellDebugwindow * (+109)
13:24:30 -!- kritixilithos has joined.
13:28:25 <int-e> b_jonas: Oh great. Interfaces are created via the netlink (more specifically rtnetlink) protocol... the tools (iproute2) are developed in tandem with the kernel so this area is underdocumented. In particular, there's an IFLA_INFO_KIND attribute which one can set to "veth" to create that kind of device that I believe is not documented at all.
13:29:04 <b_jonas> int-e: right. that's why the next step is to ask people on irc.
13:29:21 <b_jonas> but you still have to look at the docs first before that
13:33:10 <int-e> (Of course you can just execute the 'ip' tool with the right parameters in whatever namespace you want to manipulate.)
13:33:35 -!- Sgeo_ has joined.
13:34:05 <int-e> In any case, it can be figured out ... none of this is rocket science. :)
13:35:04 <esowiki> [[User:PythonshellDebugwindow]] https://esolangs.org/w/index.php?diff=70915&oldid=70913 * PythonshellDebugwindow * (+50)
13:35:12 <int-e> Reading the iproute2 sources is doable as well (that's how I found the IFLA_INFO_KIND thing in the first place... well, after also looking at the veth.c in the kernel sources and finding a reference to a "kind").
13:35:40 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70916&oldid=70915 * PythonshellDebugwindow * (+14)
13:35:55 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70917&oldid=70916 * PythonshellDebugwindow * (-64) end test
13:36:34 -!- Sgeo__ has quit (Ping timeout: 240 seconds).
13:52:34 <esowiki> [[User:PythonshellDebugwindow/Test]] M https://esolangs.org/w/index.php?diff=70918&oldid=70914 * PythonshellDebugwindow * (+620)
13:53:06 <esowiki> [[Special:Log/move]] move * PythonshellDebugwindow * moved [[User:PythonshellDebugwindow/Test]] to [[User:PythonshellDebugwindow/(Unnamed language)]]: another unnamed language
13:57:11 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70921&oldid=70919 * PythonshellDebugwindow * (+436) /* Operators */
13:58:42 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70922&oldid=70921 * PythonshellDebugwindow * (+87) /* Operators */
13:58:51 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70923&oldid=70922 * PythonshellDebugwindow * (-2) /* Examples */
13:59:10 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70924&oldid=70923 * PythonshellDebugwindow * (+4) /* Examples */
13:59:23 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70925&oldid=70924 * PythonshellDebugwindow * (+11) /* Operators */
14:30:07 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70926&oldid=70889 * Uriel * (+44) added memory system category
15:03:56 <tromp> int-e: i determined that the hanging/memory-hogging behaviour of BB(x) 35 is due to just a handful of terms
15:04:51 <tromp> so we can subject BB(35) to manual analysis
15:13:40 <tromp> in fact i have only 8 terms left to analyze
15:14:25 <tromp> including one candidate for beating 3^27
15:25:19 -!- arseniiv_ has joined.
15:26:58 -!- arseniiv has quit (Ping timeout: 258 seconds).
15:28:40 <esowiki> [[Talk:NEGATOR]] N https://esolangs.org/w/index.php?oldid=70927 * LegionMammal978 * (+215) Created page with "The closing brace mentions a "condition you put immediately after it"; what is the syntax of such a condition? ~~~~"
15:29:03 -!- Sgeo__ has joined.
15:32:25 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
15:48:38 -!- imode has joined.
15:56:05 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70928&oldid=70925 * PythonshellDebugwindow * (+1089)
15:59:13 <esowiki> [[Ndef]] M https://esolangs.org/w/index.php?diff=70929&oldid=36781 * LegionMammal978 * (+14) fixed title
16:00:40 <esowiki> [[4]] M https://esolangs.org/w/index.php?diff=70930&oldid=70926 * Ais523 * (+49) merely colon-linking to a category isn't enough to categorise, you have to add it to the category list too; also add [[Category:Implemented]] as well, while I'm here, because the page lists interpreters
16:07:47 <esowiki> [[NegaPosi]] https://esolangs.org/w/index.php?diff=70931&oldid=8033 * LegionMammal978 * (+100) fixed links
16:11:07 -!- Sgeo_ has joined.
16:14:01 -!- Sgeo__ has quit (Ping timeout: 250 seconds).
16:17:05 -!- Sgeo__ has joined.
16:20:19 -!- Sgeo_ has quit (Ping timeout: 260 seconds).
16:28:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:55:04 -!- kritixilithos has joined.
16:58:45 -!- ais523 has joined.
16:58:54 <ais523> huh, so it turns out that there's a practical use for the imp
16:59:25 <ais523> on early models of the IBM 1620, the operator manually entering and running an imp was the standard way to clear memory between programs
16:59:41 <ais523> I guess this is an argument for making the all-zeroes instruction an imp in a new processor design
16:59:47 <b_jonas> ais523: what imp?
16:59:57 <b_jonas> what is an imp?
17:00:00 <b_jonas> an implementation?
17:00:01 <ais523> an imp is a machine code instruction that copies itself to the next memory location in memory
17:00:15 <ais523> so immediately after running, the next instruction now contains an imp too
17:00:21 <b_jonas> ah
17:00:34 <b_jonas> so it's a weird way to memset?
17:00:34 <ais523> it will inevitably end up filling all of memory unless it hits a page fault or some other thread overwrites it just as it's about to run
17:00:47 <b_jonas> ok
17:00:52 <ais523> well, I didn't think imps had any practical use
17:00:57 <ais523> but I was wrong, which is why I commented on it here
17:00:59 <b_jonas> but many machines already have copy instructions that you can use to fill memory
17:01:08 <b_jonas> as in memory copy instructions
17:01:10 <esowiki> [[Nine]] https://esolangs.org/w/index.php?diff=70932&oldid=67039 * LegionMammal978 * (+173) added repo link and categories
17:01:30 <b_jonas> and they work on overlapping memory if you want to make many repeated copies of a pattern (even a single byte)
17:02:15 <b_jonas> and in the ones that don't, that's because there's a fast way based on normal instructions to do a block copy
17:02:28 <ais523> yes, but that's not great for zeroing all of memory because a) it'll end up overwiting itself at some point, b) it's likely to be more than a single instruction long
17:02:49 <b_jonas> ais523: sure, you zero all the memory other than that code instead
17:03:00 <ais523> I did some research into the fastest way to bulk-store memory on a modern processor, it appears to involve nontemporal writes of 128 bits at a time from multiple different source registers
17:03:14 <ais523> and that's a /lot/ of code
17:03:49 <b_jonas> ais523: so? why is that a problem. isn't this for zeroing memory to make sure that no information from before remains? just make sure when you load that block of code that it doesn't have holes, so nothing but that code remains.
17:03:51 <ais523> trying to get that to zero itself might be possible, though, because each loop iteration zeroes a huge amount of memory, so you could probably make the last iteration of the loop overwrite the entire program front-to-end
17:04:06 <ais523> b_jonas: I guess, but it's inelegant
17:04:16 <b_jonas> but if you want to zero that, you could use a slower but smaller zeroing method to zero that
17:04:46 <ais523> actually, I can see one potential issue with using an imp to zero memory: because all of memory is now filled with an imp, it guarantees that the entire state of the running program will be wiped out if the instruction pointer ever goes out of bounds, making it hard to debug what happened
17:05:17 <ais523> (unless your program counter doesn't wrap)
17:05:52 <b_jonas> ais523: also that only works if the memory that you want to write forms a single solid contiguous segment, which is not always true in machines with bank changing or ROM or something
17:06:14 <ais523> yes
17:06:20 <b_jonas> it doesn't need a page fault, just a ROM that ignores writes
17:07:01 <APic> Does the Name „Imp“ come from Corewar?
17:07:01 <ais523> anyway, on a vaguely related topic: does anyone know of computer storage devices that are reasonably possible to obtain in modern times, that store data (and transmit it to the computer) in 3-bit or 6-bit chunks?
17:07:02 <b_jonas> or an unmapped memory area that ignores writes, in case of those old cpus that are in sync with the RAM
17:07:03 <ais523> APic: yes
17:07:07 <APic> k
17:07:26 <b_jonas> ais523: does it have to be hardware? I can emulate such a thing in software
17:07:28 <ais523> six-channel paper tape would be an obvious choice but a) tape readers aren't readily available nowadays, b) six-channel is an uncommon size
17:07:55 <ais523> b_jonas: ideally yes; I can emulate it in software too, and was planning to, but if the software is itself stored on an 8-bit disk it doesn't fit the intended usecase
17:08:01 <b_jonas> I haven't heard of six-row paper tape
17:08:08 <b_jonas> only 5 row and 7 row
17:09:16 <ais523> I think 8-row was also used
17:09:21 <ais523> but yes, 6 was not a standard size
17:11:05 <b_jonas> ais523: on some floppy disk hardware, you could define a custom disk format that uses 6-bit bytes
17:11:24 <b_jonas> or 12-bit words or something
17:12:42 <ais523> I was wondering about reformatting a disk to use words that weren't 8 bits long
17:13:01 <ais523> I don't have that much of a grasp about how low-level reformatting of a disk (changing tracks, cylinders, etc.) works
17:13:12 <ais523> most of the "formatting" I'm aware of is actually file system creatino
17:13:14 <ais523> *creation
17:14:19 <b_jonas> ais523: on modern floppy drives, yes, because the hardware floppy controller handles most of those low level ops. but on the Commodore 1541, the floppy drive that is used the most often used with the Commodore 64, there's a cpu and rom and small RAM in the floppy drive that allows the user to reprogram it,
17:15:20 <b_jonas> and the program that runs on the floppy drive handles individual low level bit read/write one by one (the cpu is fast enough for that), where the low level bits are such that you can't write more than three consecutive 0s or else it won't reliably read back or some such,
17:15:51 <b_jonas> so the floppy drive program encodes 4 logical bits to 5 of those hardware bits, and it decodes an entire sector of I think 256 bytes before it reads it to the computer / after it writes it to the computer
17:16:10 <ais523> ooh, maybe you need to reprogram the floppy drive firmware
17:16:12 <ais523> I bet it's writable
17:16:15 <b_jonas> but programmers often reprogrammed the floppy drive because the default program in the RAM is very slow,
17:16:22 <ais523> actually figuring out how to write it is probably much harder tohugh
17:16:26 <b_jonas> which is why there's a lot of practical information on the web about how to reprogram it
17:16:58 <b_jonas> I don't know if anyone reprogrammed the drive to store 6-bit bytes, or how practical that is, because it's used with 8-bit computers
17:18:15 <b_jonas> on the PC, you can't change that part of the program, because the floppy controller handles that part of the decoding itself. you can still change some parts of the floppy format, but I believe not the part of how many bits a byte has.
17:19:00 <b_jonas> ais523: I think you can set the serial port of the PC to send and receive 6-bit bytes on a direct serial line, but that doesn't count as storage
17:19:22 <ais523> b_jonas: agreed
17:20:05 <ais523> setfdprm appears to think in terms of bytes, not bits, so I guess so does Linux
17:20:15 <ais523> and probably PC hardware as a whole
17:20:30 <ais523> so I guess you'd need to do sixbit-to-byte translation in the drive firmware
17:23:53 <ais523> apparently the Amiga's floppy drive controller can be configured to any word size, that's "only" 30 years old
17:27:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:30:59 <esowiki> [[Noit o' mnain gelb]] M https://esolangs.org/w/index.php?diff=70933&oldid=27090 * LegionMammal978 * (+14) fixed title
17:36:03 <int-e> tromp: Hmm, looking at your criterion, I did re-discover that one myself in the meantime, with the same idea that ω-like terms are strict. (Pushed a more detailed proof.)
17:38:30 <ais523> hmm, there seem to be philosophical issues about how much data a disk can store
17:39:38 <ais523> with magnetic disk storage, there are physical limits to how densely you can pack transitions between 0s and 1s, but if you don't have any transitions for a sufficiently long time, it's difficult to read because you don't know where you are on the disk
17:40:06 <ais523> so, e.g., on a CD, every 8-bit byte of data is encoded as 17 bits on the disk
17:40:36 <int-e> tromp: I can't claim it's independent... you dropped a couple of hints on the channel.
17:40:41 <b_jonas> CD is rather different from magnetic storage though
17:41:04 <ais523> not really, you're right that it's optical rather than magnetic but much the same restrictions apply
17:43:20 <b_jonas> data CD has a lot more error correction codes than floppy disks, apparently mostly to survive scratches of the foil part of the CD
17:43:36 <b_jonas> admittedly it's newer
17:43:50 <ais523> ah right, error correction
17:44:02 <ais523> anyway, this leads to the philosophical question about just how large a file is
17:44:30 -!- ositoblanco has quit (Read error: Connection reset by peer).
17:44:35 <ais523> especially given that EOF needs to be encoded somehow
17:47:15 <esowiki> [[Nouse]] M https://esolangs.org/w/index.php?diff=70934&oldid=34796 * LegionMammal978 * (+14) fixed title
17:48:19 <b_jonas> it's quite crazy just how few error correction old floppy disks have. it's usually just a one or two byte checksum per sector.
17:48:52 <b_jonas> and the checksum isn't even CRC, it's just a bytewise XOR checksum. wouldn't that lead to corrupted files that aren't detected?
17:49:04 <int-e> https://en.wikipedia.org/wiki/Run-length_limited <-- oh, fancy, there are some prefix codes in there
17:49:54 <ais523> int-e: it wouldn't surprise me if optimal RLL codes /never/ had an integer number of bits per word
17:50:49 <int-e> well, nobody wants to implement an optimal code
17:51:21 <b_jonas> ais523: no, but they get pretty close. the code that the Commodore floppy uses encodes 4 bits to 5 physical bits, and there are 17 permissable codes for those 5 physical bits, of which 16 are used, IIRC
17:51:31 <ais523> int-e: it'd let you fit more data on your drive
17:51:45 <b_jonas> that's not optimal of course, because an optimal one would need to have much longer segments
17:51:58 <b_jonas> or some dependency between the adjacent chunks
17:52:11 <ais523> if you have a non-integer number of bits per word
17:52:19 <ais523> then I think you have dependency that lasts forever
17:52:28 <ais523> the last chunk on the disk might theoretically depend on the first chunk
17:52:38 <ais523> (assuming a perfect code)
17:52:56 <ais523> this would of course be bad for random-access writes, but might still be useful on a disk intended to be read-only
17:54:41 <ais523> hmm, maybe tape drives would be better for this than floppy disks
17:56:51 <b_jonas> even then you probably want units smaller than a whole disk. (it needn't be as small as the 256 byte sectors of course.) that doesn't lose you much with the encoding density if the chunks aren't too small.
17:58:30 <int-e> Actually the unit should probably be below a sector... to reduce latency.
17:58:48 <int-e> 256 byte sector? What hardware is that...
17:59:00 <b_jonas> int-e: no, it could be incrementally decodable
17:59:53 <int-e> b_jonas: Hmm, not reliably.
18:00:08 <b_jonas> int-e: 256 byte sectors for the default format for the Commodore 1541 floppy drive still, but I think also PC floppy drives in some of the lower density modes
18:01:50 <b_jonas> int-e: https://en.wikipedia.org/wiki/List_of_floppy_disk_formats
18:02:58 <b_jonas> hmm no, that page says that PC floppy disk has formats with sector sizes 128, 1024, and 512 bytes. funny.
18:03:29 <b_jonas> and the first two only for the big floppy disks, so mostly just 512 bytes per sector
18:03:45 <b_jonas> so the Commodore formats then
18:06:26 -!- ais523 has quit (Ping timeout: 258 seconds).
18:14:08 <tromp> int-e: i'm glad to hear you find the new rule sound
18:19:13 <tromp> with the new rule, your BBx.hs will be able to examine all 35-bit terms except for some that follow this pattern:
18:19:19 <tromp> > toughtriples :: DB -> Bool
18:19:19 <tromp> > toughtriples (DBApp (DBLam (DBApp (DBApp (DBVar 0) (DBVar 0)) (DBVar 0))) (DBLam (DBLam (DBApp (DBVar 1) (DBApp (DBVar 1) _)))) ) = True
18:19:19 <tromp> > toughtriples _ = False
18:19:23 <lambdabot> <hint>:1:131: error:
18:19:23 <lambdabot> parse error on input ‘=’
18:19:23 <lambdabot> Perhaps you need a 'let' in a 'do' block?
18:19:23 <lambdabot> error:
18:19:23 <lambdabot> Not in scope: type constructor or class ‘DB’
18:19:25 <lambdabot> <hint>:1:16: error:
18:19:27 <lambdabot> parse error on input ‘=’
18:19:29 <lambdabot> Perhaps you need a 'let' in a 'do' block?
18:19:41 <int-e> lambdabot: woah, hold your horses
18:19:54 <int-e> tromp: this is a good argument against literate Haskell ;)
18:19:57 <tromp> ok, so pasting from literate Haskell is not the brightest idea:(
18:20:47 <tromp> it's terms like (\1 1 1) (\\2 (2 (???)))
18:21:12 <int-e> right, (\1 1 1) (\\2 (2 _))
18:21:43 <tromp> including our friend 3^3^3
18:21:44 <int-e> Oh is that the thing that explodes?
18:22:01 <tromp> and the inscrutable (\1 1 1) (\\2 (2 (1 2)))
18:22:03 <int-e> Makes sense, I guess.
18:22:12 <tromp> which could beat it
18:23:21 <kspalaiologos> possibly I may be having a brainfart right now, but I can't figure out one thing
18:23:29 <int-e> b_jonas: As far as I can see, the IBM BIOS had no function for querying the sector size... so from some point onwards everybody assumed 512 bytes.
18:23:32 <kspalaiologos> imagine an uint of given size
18:23:38 <tromp> note the similarity with the BB 31 recordholder (\1 1) (\\2 (2 (1 2)))
18:23:42 <int-e> b_jonas: the PC one, I mean
18:23:58 <kspalaiologos> now if it contains a certain value, and I'll keep subtracting a certain value from it over and over again
18:23:59 <int-e> tromp: Yeah I noticed the similarity.
18:24:12 <kspalaiologos> how can I determine will it ever reach zero
18:24:48 <tromp> \\2 (2 (1 2)) is the evil twin of \\2 (2 (2 1)) :-)
18:24:52 <int-e> kspalaiologos: check which of the value has more 0 bits at the end.
18:25:17 <kspalaiologos> 5 and 3 will finish
18:25:30 <kspalaiologos> 5 has more of them
18:25:52 <kspalaiologos> 5 and 6 won't finish
18:25:58 <kspalaiologos> and 5 still has more 0 bits at the end
18:26:12 <int-e> ka = b (mod m) has a solution k if gcd(a, m) divides b. In this case, m is a power of 2, 2^n, and the gcd can be found by looking at the trailing 0 bits.
18:26:18 <b_jonas> int-e: is that for the floppy or for the hard disk?
18:26:24 <int-e> b_jonas: yes.
18:26:31 <kspalaiologos> both
18:26:45 <kspalaiologos> isn't sector size saved in BPB?
18:26:55 <kspalaiologos> so there's ultimately no reason to query BIOS
18:27:25 <b_jonas> well having a uniform sector size is certainly convenient for software
18:28:37 <kspalaiologos> anyways
18:31:58 <int-e> Hmm. INT 13 - HARD DISK - PS/1 and newer PS/2 - IDENTIFY DRIVE
18:32:20 <int-e> Okay, I'm confused here.
18:33:05 <int-e> Ah. Microsoft added extensions to INT 13? One of which allows to query the sector size.
18:35:09 <int-e> kspalaiologos: But yeah you're right, this is stored in the BPB (which I conveniently forgot about. It has been about 20 years since I actively knew this stuff...).
18:35:33 <int-e> My mistake was to look at INT 13 alone, but there is INT 1E - SYSTEM DATA - DISKETTE PARAMETERS
18:35:49 <kspalaiologos> also
18:35:53 <kspalaiologos> why would you query BIOS
18:35:56 <kspalaiologos> CMOS contains all this data
18:36:13 <kspalaiologos> I forgot which registers are they, but I'm 100% sure it contains data you need
18:36:27 <int-e> Well, eww.
18:36:43 <int-e> The BIOS is there so you don't have to do everything with in/out. :P
18:37:17 <kspalaiologos> writing CMOS is much cooler
18:37:26 <kspalaiologos> and faster!
18:37:29 <zzo38> Does any modern PC include a programming environment in ROM? I think it ought to do, whether it is BASIC, Forth, or assembly language. This way the computer is usable even without an operating system.
18:37:57 <int-e> ...
18:38:38 <int-e> Back in reality, no it doesn't, unless you count the utilities for flashing a new BIOS.
18:39:48 <kspalaiologos> you can "accidentally" set a BIOS password
18:40:10 <kspalaiologos> switch drive geometry around
18:40:19 <kspalaiologos> flash AMI/Award/Phoenix BIOS :P
18:41:01 <int-e> I prefer a computer in working order.
18:41:18 <kspalaiologos> it's just a personal preference :P
18:41:32 <int-e> Let me rephrase.
18:41:41 <int-e> This may sound extreme, but I prefer a computer in working order.
18:41:46 <kspalaiologos> yes, I know
18:42:08 <kspalaiologos> and I stated that I (may) like my old PC screwed
18:42:10 <int-e> I'm okay with it not running and Malbolge code though.
18:43:30 <kspalaiologos> I wonder could one smh find a vulnerability in the stock Malbolge interpreter
18:43:33 <int-e> Oh I have fond memories of a particular HDD failure. It was a 70MB MFM drive, no important data left on it (I think)... for which one of the address bits was broken.
18:44:00 <kspalaiologos> a week ago I ran my malware on an old DOS computer
18:44:02 <int-e> checkdsk & co. had a field day with it... and it took me some poking around to figure out just how broken it was :)
18:44:09 <kspalaiologos> now it doesn't boot from any device
18:44:26 <kspalaiologos> the hard disk contents are trashed
18:44:37 <int-e> mal(bolge soft)ware
18:44:40 <kspalaiologos> lmao
18:45:11 <kspalaiologos> I may have discovered a piece of code back then that may make CRT monitors explode
18:45:16 <kspalaiologos> but personally, didn't test it :P
18:46:17 <kspalaiologos> I wonder would dgx-2 run my chess engine
18:46:18 <int-e> capacitors, blue smoke
18:46:28 <kspalaiologos> in malbolge
18:46:59 <int-e> (You should not be able to blow up the CRT itself. But the high frequency circuit driving the beam... that's an entirely different story.)
18:47:07 <esowiki> [[Nyarlathotep]] M https://esolangs.org/w/index.php?diff=70935&oldid=44425 * LegionMammal978 * (+24) /* External resources */ fixed link
18:48:15 -!- kritixilithos has joined.
18:48:26 <int-e> I don't miss CRTs, except for one small thing...
18:48:37 <int-e> ...the psychedelic color effects that you could achieve with a magnet.
18:48:40 <kspalaiologos> thank god CRT monitors are gone
18:48:50 <kspalaiologos> I don't miss a single thing about them
18:49:08 <int-e> But really, that's the only positive thing about them that I can remember :)
18:49:31 <kspalaiologos> if I had a CRT monitor to spare
18:49:33 <int-e> Somebody should emulate it in an LCD. ;)
18:49:40 <kspalaiologos> and balls big enough to test the code
18:49:49 <kspalaiologos> we'd know definitely :p
18:50:04 -!- ais523 has joined.
18:50:07 <kspalaiologos> but it may explode only the cheapy monitors
18:50:19 <kspalaiologos> I could write a fuzzer though
18:50:37 <int-e> I *have* seen a blown up capacitor that was responsible for the horizontal ray alignment in a monitor I used to have.
18:50:50 <zzo38> The good thing about CRT is that it works OK even if the resolution is wrong. Other than that, I think CRT is not as good as LCD.
18:51:18 <int-e> I repared that actually... later it totally lost the green beam. That I didn't fix... got a new monitor soon after.
18:51:27 <kspalaiologos> also X-Rays
18:51:30 <kspalaiologos> that CRT emits
18:51:40 <int-e> (I know that it's not the beam that's colored, obviously.)
18:52:07 <kspalaiologos> also what's the blue smoke
18:52:14 <kspalaiologos> I've never had a crt monitor do that
18:52:19 <kspalaiologos> a capacitor is it?
18:52:27 <ais523> I'm not sure what specific component burns blue
18:52:32 <ais523> capacitor smoke is normally gray, in my experience
18:52:35 <int-e> "the face is typically made of thick lead glass so as to be highly shatter-resistant and to block most X-ray emissions"
18:52:38 <ais523> although maybe it depends on the type of capacitor
18:52:46 <int-e> I don't think the x-ray was a big issue in practice?
18:52:58 <int-e> ais523: I did not actually see the smoke :)
18:53:16 <ais523> kspalaiologos: re: deleting pages, it can't be done without an administrator verifying the deletion is appropriate/necessary, so that people can't unilaterally delete the history of content
18:53:19 <kspalaiologos> one can make a capacitor out of many things
18:53:27 <int-e> I guess blue is kind of the default color for smoke I've never seen myself, for no good reason.
18:53:30 <ais523> and especially for User talk: pages, which are often used to send people warnings, it's important to maintain a record
18:54:02 <kspalaiologos> so I wouldn't be surprised to see a capacitor emit blue smoke
18:54:04 <ais523> however, if there's no reason not to delete something and it's primarily the work of one person, we normally delete it on request unless there's a reason not to
18:54:25 <kspalaiologos> well my talk page is empty right now, deletion would be a cosmetical change but I don'
18:54:26 <kspalaiologos> t really care
18:54:56 <kspalaiologos> also, how often it happens that users get warned
18:55:10 <kspalaiologos> this wiki isn't moderated like very carefully and amount of trolls is moderately low
18:55:21 <int-e> kspalaiologos: haha, https://en.wikipedia.org/wiki/File:Degauss_in_progress.jpg
18:55:47 <kspalaiologos> whoa
18:55:51 <int-e> (didn't expect to see a picture of that... on Wikipedia)
18:56:01 <ais523> wow, it only just crossed my mind that plenty of today's computer users will never have seen a degauss
18:56:09 <ais523> back when I was in school we used to degauss monitors for fun
18:56:19 <ais523> (which was ultimately good for the monitors too, of course)
18:56:52 <kspalaiologos> I didn't see it being performed :P
18:57:03 <kspalaiologos> when CRT monitors were in use, I was just an average PC user
18:57:10 <ais523> most monitors of the time period had built-in degauss circuits
18:57:24 <ais523> so all you needed to do is to know which controls on the monitor triggered them
18:58:23 <kspalaiologos> how did you do that manually
18:58:33 <kspalaiologos> like when the circuit is not present at all
18:58:46 <ais523> you'd probably need a portable degaussing coil
18:58:50 <ais523> held close to the screen
18:59:36 <int-e> The picture is lacking the *foom* noise that went with the process though... let's check youtube.
18:59:37 <kspalaiologos> hmmmm
18:59:44 <kspalaiologos> I didn't know such things existed
18:59:58 <ais523> the noise of a degaussing is quite hard to describe
19:00:05 <ais523> kspalaiologos: apparently they were originally invented for use on warships
19:00:11 <ais523> so they'd have to be scaled down a lot to be used on a CRT monitor
19:00:37 <ais523> (warships benefit from being degaussed because many automated warship-detection devices used magnetism to do the detection)
19:00:53 <esowiki> [[OOo CODE]] M https://esolangs.org/w/index.php?diff=70936&oldid=50071 * LegionMammal978 * (+36) /* External resources */ note
19:01:04 <kmc> 11:56 < ais523> back when I was in school we used to degauss monitors for fun
19:01:05 <kmc> same
19:01:12 <kmc> and when you degaussed one monitor it would slightly mess up the one next to it
19:01:44 <kmc> and yeah, the Navy had a degaussing station in San Francisco
19:01:51 <kmc> you can still go look at the shack which used to contain it
19:05:10 <ais523> Wikipedia says that portable degaussing coils for use on monitors exist, but give no information about what they look like, what shape they are, etc.
19:06:55 <ais523> it strikes me that maybe ebay will have listings for them
19:07:14 <ais523> yep
19:07:42 <ais523> there seem to be multiple different designs, some circular, some more wand-like
19:08:13 <int-e> https://www.youtube.com/watch?v=Zy-T6m7F_aQ is similar to what I remember
19:08:24 <int-e> (degauss sound)
19:08:48 <ais523> quite expensive nowadays, but that likely makes sense, I imagine there's not much call to manufacture new ones, so the supply will reduce faster than the demand
19:11:33 <b_jonas> when we first had TFT monitors, I liked CRTs because they had more vivid colors. but TFT monitors have improved since.
19:12:03 <b_jonas> and CRTs have other drawbacks, like a less sharp image and often flickering unless you drive it on a very high refresh rate
19:13:10 <ais523> CRTs often have lots of unnecessary additional circuitry for marketing reasons that slows their response time
19:13:17 <ais523> * TFTs, and later OLEDs
19:13:24 <ais523> it's the CRTs that typically don't
19:13:54 <ais523> I forget what technology modern screens typically use
19:14:00 <ais523> I think TFT is outdated by now
19:14:55 <ais523> hmm, maybe not, it was apparently used almost universally in 2013 but I can't find newer dat
19:14:57 <ais523> *data
19:15:25 <b_jonas> kspalaiologos: "deletion would be a cosmetical change" => it got deleted hours ago I think
19:15:59 <kspalaiologos> I see now
19:16:24 <b_jonas> ais523: "(warships benefit from being degaussed because many automated warship-detection devices used magnetism to do the detection)" => interesting, I didn't know this
19:16:38 -!- Phantom_Hoover has joined.
19:17:06 <ais523> hmm, aparently OLEDs didn't catch on due to having a few issues that were hard to work around
19:17:10 <ais523> so probably we still use TFT variants
19:17:12 <int-e> ais523: I think the TFT part is still up-to-date (as far as LCD displays are concerned); what has changed are the mechanisms by which the liquid crystals affect the light. https://en.wikipedia.org/wiki/Thin-film-transistor_liquid-crystal_display has a list. TN is traditional, IPS is probably most common
19:18:05 <ais523> there are weird points in the comparison, e.g. OLEDs use less power than TFTs to display black, but more to display white
19:18:29 <ais523> so which is more efficient depends on what images are being viewed
19:19:42 <b_jonas> ais523: I think that's because they use these stupid heuristics where if the image is mostly dark, they turn the brighness of the leds down, which makes sense for stuff like TV films, but less for a computer interface. You can't really do with the fluorescent back lighting that traditional TFTs use.
19:19:56 <b_jonas> wait, they use more power to display white? how?
19:20:48 <b_jonas> don't LEDs automatically take half or a third of the power of the most efficient non-LED lighting because they are more narrow spectrum, it's just that they also have worse spectrum which is annoying
19:20:57 <ais523> b_jonas: the lighting on a TFT is also LED, though
19:21:06 <ais523> so maybe OLEDs draw more power than regular LEDs
19:21:36 <ais523> also, TFTs use white LEDs for their backlighting
19:21:41 <ais523> whereas an OLED uses a mix of red/green/blue
19:21:44 <ais523> which may well make a difference
19:21:54 <b_jonas> ah
19:22:13 <ais523> hmm, I miss being able to use computer monitors with the backlight off
19:22:16 <b_jonas> but aren't white leds also a mix of different colored leds?
19:22:19 <ais523> it was never very practical, but it was sort-of doable
19:22:23 <b_jonas> the magic part is the blue leds
19:22:24 <ais523> b_jonas: two rather than three (blue + orange)
19:22:39 <b_jonas> and they still are worse in blue than other light sources
19:22:47 <b_jonas> ok
19:22:49 <ais523> one of my older laptops, with the backlight off the monitor worked just fine in direct sunlight
19:22:56 <ais523> (but you had to turn it back on again in dimmer lighting conditions)
19:23:00 <b_jonas> ais523: is that a color monitor?
19:23:04 <ais523> yes
19:23:09 <esowiki> [[Object oriented thue]] https://esolangs.org/w/index.php?diff=70937&oldid=54004 * LegionMammal978 * (-22) /* External resources */ fixed link
19:23:21 <Phantom_Hoover> yeah you just need a sufficiently reflective back surface i'd guess
19:23:26 * ais523 visualises a CRT laptop
19:23:38 <b_jonas> ais523: there are "portable computers" with CRT
19:23:41 <b_jonas> they made sense back then
19:23:49 <ais523> I think the word "luggable" is often used for those
19:23:51 <b_jonas> rather small CRTs, mind you
19:23:56 <Phantom_Hoover> careful, your neck might collapse under the strain
19:24:32 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Object oriented thue]] to [[Object oriented Thue]]: fix capitalization
19:24:32 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Talk:Object oriented thue]] to [[Talk:Object oriented Thue]]: fix capitalization
19:24:41 <Phantom_Hoover> what are the limits on the geometry of a CRT like anyway
19:25:00 <Phantom_Hoover> like there's obviously a maximum practical angle on the cone but idk what constrains it
19:25:59 <ais523> to get the deflection of the beam (which is what moves it within the cone) you need huge voltages
19:26:21 <ais523> also, the greater the deflection angle, the more accurate you have to be
19:26:25 <b_jonas> yeah
19:27:16 <ais523> so you're trying to rapidly change the voltage on the deflector coils to a sequence of accurate, very high values, very rapidly
19:27:29 <ais523> and that's not very easy to do
19:27:54 <Phantom_Hoover> especially given the deflector coils are presumably inductors
19:28:14 <ais523> yes
19:28:37 <ais523> although in this case the back-emf is basically only a problem during power on and power off, and maybe hblank
19:29:05 <ais523> because you're changing the value in a set pattern and can allow for the inductance in advance
19:29:25 <ais523> (also, during hblank, the beam is turned off so it doesn't matter if the voltage doesn't change instantly or linearly)
19:30:51 <ais523> so a typical TV's deflector coils would be in the 1-10 kilovolt range
19:30:55 <int-e> https://en.wikipedia.org/wiki/OLED#Efficiency_of_blue_OLEDs is one ingredient to the power efficiency puzzle
19:33:01 <int-e> Another, probably smaller, part is that perhaps there's more loss due to resistance between power supply and the actual LEDs. (All the energy emitted by the display has to be transported to some individual pixel, whereas for LCDs only a comparatively smaller power for driving the crystals plus the transistor has to be pushed to individual puzzles.)
19:33:18 <ais523> huh, according to Wikipedia, there are such things as CRT printers
19:33:24 <b_jonas> what
19:33:29 <ais523> they electrostatically charged the paper
19:33:35 <int-e> But the absence of efficient blue OLEDs seems more significant.
19:33:35 <ais523> then it was placed next to electrostatically charged ink
19:33:37 <b_jonas> that would be a laser printer
19:33:49 <int-e> ais523: fun.
19:33:52 <ais523> b_jonas: but with beta radiation, not electromagnetic radiation
19:34:04 <ais523> which I guess is the fundamental difference
19:34:21 <b_jonas> a laser printer electrostatically charges the paper, then discharges it with a laser beam anywhere where it wants to leave that white, then puts the paper next to the toner casette so it electrostatically attracts black ink
19:34:33 <b_jonas> I see
19:34:47 <b_jonas> that sounds rather impractical
19:34:51 <int-e> b_jonas: isn't it the drum that's being charged and discharged
19:34:57 <ais523> b_jonas: well it was abandoned in the 1960s
19:35:01 <ais523> so probably it was actually impractical
19:35:12 <b_jonas> int-e: I don't really know
19:35:21 <ais523> back then it took a while to discover the practical computer technologies, so they had to make do with eso computers until they found a practical way to do things
19:35:22 <int-e> superceded by better technology.
19:35:32 <b_jonas> I just use this nonsense as a customer
19:35:48 <int-e> b_jonas: I'm pretty sure it's the drum... otherwise buying the right paper for a laser printer would be a huge hassle.
19:36:06 <b_jonas> int-e: why? ordinary paper can be charge electrostatically
19:36:24 <Phantom_Hoover> crt printer still seems less out there than using crt for main memory which was totally mainstream for a while
19:36:32 <zzo38> There is no "c" in "supersedes"; even the specification for netnews articles says there is no "c" in "supersedes".
19:36:50 <int-e> b_jonas: charged and discharged reliably at 600 dpi?
19:37:11 <ais523> Phantom_Hoover: you have to realise just how terrible the available read/write memory technologies were in the 1940s
19:37:17 <b_jonas> int-e: only discharged at that resolution, they're charged uniformly
19:37:28 <ais523> there were no good options, so all the bad options were explored quite comprehensively
19:37:30 <Phantom_Hoover> i mean i know about mercury delay lines so im well aware
19:37:39 <int-e> b_jonas: I can't refute the idea, but I'm pretty sure it's the drum... which is a more or less fixed part of the printer so much easier to control anyway :P
19:37:46 <ais523> when magnetic core memory was invented in 1955 it was a huge relief to everyone
19:37:54 <ais523> (even though it's /still/ a terrible storage technology by modern standards)
19:38:08 <b_jonas> ais523: no surprise, because SRAM became practical only with integrated circuits
19:38:31 <Phantom_Hoover> it required at least the transistor one assumes
19:38:48 <Phantom_Hoover> was there a period where using discrete transistors for RAM was practical actually...?
19:39:05 <ais523> I have an old book about computers which is post-transistor but pre-integrated-circuit
19:39:27 <ais523> it talks about the use of transistors for logic, and also for amplification (for use in analog computers)
19:39:47 <ais523> but assumes magnetic core as the only practical memory technology for storing large amounts of read/write data
19:40:10 <b_jonas> ais523: only? doesn't it assume magnetic disks are available for that?
19:40:24 <b_jonas> I know they're not random accessible
19:40:29 <ais523> b_jonas: disks? no
19:40:35 <ais523> I'm not sure if magnetic tape had been invented at the time
19:40:42 <ais523> but disks are way newer than the book
19:40:46 <b_jonas> oh, pre-integrated-circuit
19:40:55 <b_jonas> that must be really old
19:41:05 <int-e> oh more crazy old memory devices... https://www.radiomuseum.org/forum/williams_kilburn_williams_kilburn_ram.html
19:41:08 <Phantom_Hoover> i legit didn't know tape was still widely used until i heard about it in training for my current job
19:41:20 <Phantom_Hoover> which is honestly somewhat surprising given how much general reading i do
19:41:32 <b_jonas> Phantom_Hoover: it's _optical_ tape that's currently widely used, for high capacity backups
19:41:41 <b_jonas> magnetic tapes are no longer widely used
19:41:46 <Phantom_Hoover> sceptical
19:41:48 -!- nona has joined.
19:42:17 <kspalaiologos> > object oriented thue
19:42:20 <lambdabot> error:
19:42:20 <lambdabot> Variable not in scope: object :: t0 -> t1 -> terror: Variable not in sco...
19:42:23 <kspalaiologos> oh boy, what is it now
19:42:29 <int-e> tapes are where the magneto-optical recording technology went, isn't it
19:42:29 <ais523> magnetic tape was still widely used for backups fairly recently
19:42:30 <b_jonas> and I don't think magnetic takes ever worked really well for digital data; they were used for analog data as in voice or video because the hardware is cheap, but the tape degraded too quickly
19:42:36 <b_jonas> ais523: oh ok
19:42:47 <ais523> (I'm not sure whether people would use "tar" for communicating with it, though!)
19:42:50 <b_jonas> then I'm just wrong
19:43:05 <kspalaiologos> this is amazing, but isn't it like
19:43:07 <Phantom_Hoover> yeah i think they're still the standard bulk archive medium in industry
19:43:17 <kspalaiologos> when a P/L is nondeterministic it's not the best idea to let it allow filesystem and stuff
19:43:45 <Phantom_Hoover> thue is only nondeterministic if you let it
19:44:03 <ais523> I get annoyed because most people interpret Thue's "nondeterministic" as "probabilistic"
19:44:13 <ais523> when I'm pretty sure it's nondeterministic in the CS theory sense, like a nondeterministic finite automaton
19:44:31 <Phantom_Hoover> i just read it as 'the choice of substitution is implementation-defined'
19:44:33 <ais523> this means that most existing Thue interps don't actually interpret it properly
19:45:08 <b_jonas> ais523: no, I think it's nondeterministic in the third sense, which is that the behavior is underspecified, interpreters choose whatever is the most convenient for them
19:45:12 <ais523> <Wikipedia> MIT wanted to charge IBM $0.02 per bit royalty on core memory.
19:45:19 <Phantom_Hoover> i'm v much with b here
19:45:35 <ais523> well, bear in mind that semi-Thue grammars were intended as a computational model
19:45:35 <b_jonas> not in the sense where it's probabilistic, nor in the sense where they theoretically find the one succeeding path among exponentially many failing paths
19:45:50 <Phantom_Hoover> the thue spec doesnt talk about that kind of branching execution anywhere, it's the parsimonious reading
19:46:07 <int-e> ais523: having worked in rewriting, I agree with what b_jonas said
19:46:13 <ais523> I'm trying to imagine where computer memories would be today if the royalty payments were 2¢ per bit
19:46:33 <Phantom_Hoover> also NFA semantics are kind of defined in terms of a machine accepting a language which makes no sense given thue's semantics
19:46:43 <int-e> which is why confluence is held in such high regard in the field because it largely says that the reduction strategy doesn't matter. (modulo non-termination issues)
19:46:53 <ais523> a modern computer would cost 80 billion dollars just in memory royalty payments alone
19:47:01 <ais523> (although maybe people would write more memory-efficient programs!)
19:47:18 <int-e> ais523: But maybe you'd also have a paycheck of corresponding size :P
19:47:41 <ais523> int-e: you think the problem would be solved using hyperinflation? that's ingenious, but would likely bring its own problems
19:48:30 <Phantom_Hoover> the value of the currency is indexed against the bit
19:48:35 <Phantom_Hoover> this is the true bitcoin
19:48:41 <int-e> Phantom_Hoover: <3
19:49:02 <b_jonas> I think it's But is it art that is nondeterministic in the theoretical CS
19:50:11 <ais523> b_jonas: yes BIIA? is CS-theory-nondeterministic
19:50:20 <ais523> and a few other languages like that
19:50:40 <ais523> most notably https://esolangs.org/wiki/Precognition, which I feel would be used much more if only I or someone else put in the necessary thought and time to implement it
19:51:02 <b_jonas> ais523: isn't that a patent royalty though, with the patent expiring in like 20 years?
19:51:10 <int-e> Phantom_Hoover: Let's make that a love parade: ☙♡♥❣❤❥❦❧🂱🎔💓💔💕💖💗💘💞🖤😍
19:51:40 <ais523> b_jonas: assume the lawyers could figure out some way to extend it :-D
19:51:50 <ais523> (that isn't legally meant to be possible, but patent law is a mess)
19:52:06 <b_jonas> they could extend it to 30 years. that'd still have expired 30 years ago.
19:52:34 <b_jonas> the way to extend it is to make an improved version so people use that instead of the original one, right?
19:52:56 <b_jonas> like they could patent DRAM
19:53:17 <b_jonas> and maybe patent different variants of DRAM
19:53:33 <ais523> patent the version with the sense/inhibit wires combined
19:53:36 <b_jonas> only of course IBM didn't come up with those
19:53:38 <ais523> but only when the first patent is running out
19:54:11 <int-e> . o O ( degauss your core )
19:55:07 <ais523> int-e: that would basically just delete the entirety of memory, wouldn't it?
19:55:10 <Phantom_Hoover> int-e, its fucked up how there are like 1000 heart emojis but 0 emojis aboutr the boys being back in town
19:55:15 <b_jonas> though wait, isn't most of the RAM made in China these days, and patents don't work there?
19:55:16 <ais523> replacing its contents with ½ bits (which are somewhere between 0 bits and 1 bits)
19:55:29 <int-e> Phantom_Hoover: it's a cruel world
19:55:43 <ais523> it's unclear what happens when a digital memory controller reads a memory cell with a value of ½
19:55:46 <int-e> b_jonas: of course they work if they want to sell the stuff abroad
19:56:00 <ais523> presumably it would be interpreted as either 0 or 1, but whether this is deterministic or not depends on the exact details of the circuitry, I expect
19:56:02 <int-e> b_jonas: China is now patenting more than the US though :P
19:56:13 <b_jonas> int-e: the question is not how much they're patenting
19:56:18 <b_jonas> the question is how patents are enforced
19:56:34 <Phantom_Hoover> now im no expert but i believe quantum computing is basically when all your bits split in half and they tell you the prime factors of everyones private keys
19:57:23 <int-e> b_jonas: ask the WIPO.
19:57:48 <b_jonas> what is the WIPO?
19:57:50 <b_jonas> `? WIPO
19:57:52 <HackEso> WIPO? ¯\(°​_o)/¯
19:57:58 <int-e> Phantom_Hoover: You didn't have to elaborate after "im no expert" ;)
19:58:26 <int-e> World "Intellectual Property" Organization
19:58:32 <b_jonas> ah I see
19:58:35 <int-e> (I think they prefer it without the quotes)
19:58:53 <ais523> you can put the quotes in other places too
19:58:59 <ais523> "World" Intellectual Property Organization
19:59:04 <ais523> World Intellectual Property "Organization"
19:59:04 <b_jonas> ^ yes, because of China
19:59:09 <ais523> these are probably less accurate, but it's fun
19:59:19 <int-e> ais523: I like the former
19:59:39 <Phantom_Hoover> world "intellectual" property organisation
19:59:50 <Phantom_Hoover> these frauds couldnt tell their picassos from their nabokovs
20:00:04 <b_jonas> World Intellectual "Property" Organization works too in some sense
20:00:10 <int-e> (because it is about the so-called "developed countries" exploiting the so-called "developing countries"
20:00:13 <int-e> )
20:02:52 <int-e> fungot: where are you?
20:04:22 <kspalaiologos> a guy has inboxed me a few minutes ago
20:04:30 <kspalaiologos> he's made a proof-of-concept asm2bf IDE
20:04:59 <kspalaiologos> with language server, linter, syntax checking, formatter, syntax highlighting and code completion
20:05:08 <int-e> "inbox, v. ???"
20:05:21 <kspalaiologos> it's getting hillariously serious by now
20:05:44 <int-e> . o O ( Don't blame Hillary for that one )
20:06:43 <ais523> I wonder how many brainfuck IDEs the world needs
20:06:50 <ais523> esotericide is probably enough by itself
20:07:01 <ais523> and now there's another one?
20:07:16 <b_jonas> kspalaiologos: so this like plugs into MS visual studio?
20:07:23 <b_jonas> or Eclipse or whatever?
20:07:30 <kspalaiologos> standalone IDE
20:07:32 <kspalaiologos> terminal-based
20:08:36 <tromp> int-e: did you find Chaitin's thesis online?
20:08:53 <int-e> tromp: not recently
20:10:21 <arseniiv_> I like IDE plugins since some time now. A major IDE is usually well-debugged, functional etc., and to write it all from scratch? oh no. And usually the support for this or that language needs not as much work, for it to be done with quality, if writing it as a plugin for an existing IDE
20:10:26 -!- arseniiv_ has changed nick to arseniiv.
20:10:29 <tromp> the programs on https://int-e.eu/~bf3/AIT/ are not accompanied by the theorems they're proving
20:10:39 <arseniiv> I hadn’t written any plugins yet, though
20:10:46 -!- Phantom_Hoover has quit (Remote host closed the connection).
20:11:31 <int-e> tromp: the statements are in the notes.
20:11:43 <int-e> it's all very much preliminary
20:12:02 <tromp> I see
20:14:06 <kspalaiologos> arseniiv, a language server makes it easy to plug asm2bf to vscode for instance
20:15:36 -!- nona has quit (Ping timeout: 240 seconds).
20:17:18 <ais523> kspalaiologos: I seriously looked into VS Code's language server / plugin architecture
20:17:21 <ais523> I hate it
20:17:36 <kspalaiologos> I don't use VSCode, problem solved
20:17:42 <kspalaiologos> meme made by Vim gang
20:18:11 <ais523> well, I really do like the idea of having a standard for communication between editors and programming language implementations
20:18:22 <ais523> I just really don't like the details of the Language Server Protocol
20:18:32 <imode> I don't need key combinations to pilot a car. this post was made by the nano gang.
20:18:55 <ais523> and the existence of a current standard that's bad is really frustrating, because it reduces the chance of getting a good standard (because you don't want two standards coexisting)
20:21:53 -!- kritixilithos has quit (Quit: quit).
20:22:18 <int-e> mediocre is the enemy of good?
20:22:40 <int-e> (It seriously is. I wonder whether it's something people commonly say.)
20:23:34 <b_jonas> int-e: people say it both ways
20:23:55 -!- Phantom_Hoover has joined.
20:23:55 -!- Phantom_Hoover has quit (Changing host).
20:23:55 -!- Phantom_Hoover has joined.
20:24:08 <int-e> I do know the "perfect is the enemy of good" version is a thing.
20:24:32 -!- kspalaiologos has quit (Quit: Leaving).
20:24:40 <ais523> every Language Server Protocol message must be prefixed by "Content-Length:", then a decimal number indicating the length, then two \r\n pairs, then a JSON object which contains the key/value pair "jsonrpc": "2.0"
20:24:58 <ais523> that's a crazy amount of overhead for every single message, much of it redundant
20:25:33 <ais523> also, this is the first time I've seen a string format which is somehow delimited and length-prefixed at the same time (the delimiter used to determine where the length ends)
20:25:44 <int-e> Does it specify a maximum length of the first line?
20:26:09 <ais523> no
20:26:26 <ais523> nor is there a theoretical maximum length, because JSON allows arbitrary amounts of whitespace
20:26:28 <int-e> Content-Length: 00000000000000000000000000000000000000...0000000000000000042\r\n
20:26:47 <ais523> oh, or that :-D
20:26:52 <ais523> I wonder how VS Code would react to that
20:26:54 <b_jonas> int-e: yeah, there are HTTP clients that have bugs with stuff like that
20:27:08 <int-e> b_jonas: color me unsurprised
20:27:28 <arseniiv> :((( I hoped VS Code would be better than this, ow
20:27:36 <ais523> arseniiv: this isn't even the worst bit
20:27:40 <ais523> I can't remember what the worst bit was
20:27:47 <ais523> and am unsure whether I should keep reading the specification to rediscover it
20:27:51 <b_jonas> like they receive FFFFFFFFFF\r\n for chunked encoding chunk header, and they try to allocate terabytes of memory and crash
20:27:54 <arseniiv> I believe
20:29:01 <int-e> ais523: I hope what's inside is actuall a json-rpc message at least.
20:29:27 <ais523> int-e: it's a compatible format, so yes
20:29:41 <int-e> (which mandates that version field)
20:29:51 <Sgeo__> https://dailyvoice.com/new-jersey/mercer/obituaries/covid-19-kills-renowned-princeton-mathematician-game-of-life-inventor-john-conway-in-3-days/786461/
20:29:52 <ais523> (it uses a subset of json-rpc, but defines the API in such a way that the remaining functionality could never be used)
20:30:11 <Sgeo__> (Wikipedia considers this source sufficient)
20:30:23 <b_jonas> Sgeo__: ouch
20:31:01 <b_jonas> RIP John H Conway
20:31:18 <imode> it's been confirmed? damn..
20:31:23 <int-e> Sgeo__: still based on the tweets we've already seen it seems
20:32:03 <esowiki> [[Omnifuck]] M https://esolangs.org/w/index.php?diff=70942&oldid=44612 * LegionMammal978 * (+14) fixed title
20:32:11 <b_jonas> another great Mathematician lost after Jiří Matoušek, Marvin Minsky, and Raymond Smullyan
20:32:30 <Phantom_Hoover> man fuck it was covid too?
20:32:37 <int-e> imode: Well, there's a tweet by a Princeton guy who presumably has first-hand information, so there isn't too much doubt.
20:33:15 <int-e> imode: But the article does not indicate any information beyond that.
20:33:21 <imode> if it turns out to be the same thing as 2015 it's gonna be hilarious.
20:33:35 <int-e> I'm expecting an update at https://www.math.princeton.edu/ next week.
20:33:37 <ais523> what happened in 2015?
20:33:51 <imode> his death was reported, and he was like "uh, I'm still here."
20:34:05 <imode> iirc.
20:34:14 <int-e> But that was April 1st.
20:34:25 <imode> ah. forgot the date.
20:34:30 <FireFly> also, not during a pandemic
20:34:36 <arseniiv> poor Conway :(
20:34:36 <Phantom_Hoover> don't really see how an obituary could've appeared with details like him getting a fever and dying in 3 days without being deliberately made up whole cloth
20:35:22 <Phantom_Hoover> wait lol this means he was about the same age as kenny rogers
20:35:29 <int-e> Not the first story of covid-19 killing old people quickly (and without severe symptoms) that I've read these days.
20:35:52 <imode> wonder what secrets he kept in his head.
20:36:19 <ais523> well, I hope this story is made up, at least; jokes in bad taste are bad, but people dying is worse
20:36:48 <imode> it's starting to get harder to deny that he's dead. here's hoping he's not and we have a laugh about it.
20:36:51 <Phantom_Hoover> i would more or less write off that chance tbh
20:37:05 <Phantom_Hoover> i mean people die anyway, especially when they're 81
20:37:24 <b_jonas> Phantom_Hoover: ordinary people. not ones like Conway.
20:37:32 <arseniiv> imode: maybe whether the Euler—Mascheroni γ is rational or not
20:37:41 <int-e> Phantom_Hoover: 82 acturally
20:37:55 <int-e> rrrrrally.
20:38:10 <imode> rrrrrrrr
20:38:24 <int-e> 81 would have been smoother
20:39:29 <Phantom_Hoover> oh yeah that is 82
20:41:23 -!- Phantom_Hoover has quit (Remote host closed the connection).
20:42:55 -!- Phantom_Hoover has joined.
20:43:37 -!- sftp has quit (Ping timeout: 256 seconds).
21:06:10 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Owhelgossip]] to [[OwhelGossip]]: fix capitalization
21:06:10 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Talk:Owhelgossip]] to [[Talk:OwhelGossip]]: fix capitalization
21:10:08 <esowiki> [[Indent]] N https://esolangs.org/w/index.php?oldid=70947 * PythonshellDebugwindow * (+4914) Named after function blocks
21:10:11 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70948&oldid=70928 * PythonshellDebugwindow * (-2354) this language?
21:11:02 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70949&oldid=70917 * PythonshellDebugwindow * (+13) /* Languages */
21:11:25 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=70950&oldid=70881 * PythonshellDebugwindow * (+13) /* I */ Indent
21:17:37 -!- arseniiv has quit (Ping timeout: 264 seconds).
21:35:17 <esowiki> [[Owl]] M https://esolangs.org/w/index.php?diff=70951&oldid=55994 * LegionMammal978 * (+14) fixed title
21:36:56 <esowiki> [[OwoScript]] M https://esolangs.org/w/index.php?diff=70952&oldid=60044 * LegionMammal978 * (+14) fixed title
21:38:55 -!- Lord_of_Life_ has joined.
21:41:27 <esowiki> [[P]] M https://esolangs.org/w/index.php?diff=70953&oldid=11661 * LegionMammal978 * (+38) /* External resources */ fixed link
21:42:00 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
21:42:03 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:49:21 <esowiki> [[PHL 1.0]] https://esolangs.org/w/index.php?diff=70954&oldid=53786 * LegionMammal978 * (+78) fixed links
22:08:07 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Pac]] to [[PAC]]: fix capitalization
22:15:34 -!- LKoen has quit (Remote host closed the connection).
22:21:44 -!- LKoen has joined.
22:23:35 <esowiki> [[Parenthetic]] M https://esolangs.org/w/index.php?diff=70957&oldid=32099 * LegionMammal978 * (+0) fixed capitalization based on repo
22:25:54 -!- sprocklem has quit (Ping timeout: 240 seconds).
22:28:03 -!- sprocklem has joined.
22:28:34 <b_jonas> https://www.smbc-comics.com/comic/life-2 SMBC did an obituary strip already
22:28:44 <b_jonas> we'll see what xkcd posts a day from now
22:47:35 <b_jonas> https://www.scottaaronson.com/blog/?p=4732 obituary by Scott Aaronson
22:52:24 <b_jonas> comments section has reactions by other people
22:52:51 <b_jonas> also https://terrytao.wordpress.com/2020/04/12/john-conway/
22:57:35 <esowiki> [[Pile.js]] M https://esolangs.org/w/index.php?diff=70958&oldid=46341 * LegionMammal978 * (+14) fixed title
23:09:29 -!- 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:11:02 <b_jonas> should we do something to https://esolangs.org/wiki/John_Horton_Conway ?
23:18:08 <int-e> well, the obvious is -> was.
23:21:03 <kmc> that's sad
23:21:38 <kmc> RIP :(
23:27:41 <int-e> tromp: (\1 1 1) (\\2 (2 (1 2))) is not a winner, it has a normal form of size 4186155666, which the reduction engine in the blc tool can actually compute in a few minutes.
23:28:45 <int-e> > 3^27 / 4186155666
23:28:48 <lambdabot> 1821.6230100858843
23:29:14 <int-e> > (6*3^27+5) / 4186155666 -- small margin
23:29:17 <lambdabot> 10929.7380605165
23:29:24 <int-e> hrm
23:29:31 <int-e> > (5*3^27+6) / 4186155666
23:29:33 <lambdabot> 9108.115050430855
23:31:23 <int-e> tromp: which is disappointing because I spent quite some effort on working with smaller terms, only to find that it was all manageable from the outset.
23:31:51 <esowiki> [[HaltJS]] M https://esolangs.org/w/index.php?diff=70959&oldid=69384 * PythonshellDebugwindow * (+0)
23:32:19 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70960&oldid=70949 * PythonshellDebugwindow * (+13)
23:33:05 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=70961&oldid=70950 * PythonshellDebugwindow * (+13) /* H */
23:33:37 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
23:53:17 <esowiki> [[Pointer-ng]] M https://esolangs.org/w/index.php?diff=70962&oldid=45230 * LegionMammal978 * (+20) fixed title
←2020-04-11 2020-04-12 2020-04-13→ ↑2020 ↑all