←2018-10 2018-11 2018-12→ ↑2018 ↑all
2018-11-01
00:06:11 <int-e> `learn The password of the month is most forgettable.
00:06:13 <HackEso> Relearned 'password': The password of the month is most forgettable.
00:06:33 <shachaf> `dowg password
00:06:35 <HackEso> 11646:2018-11-01 <int-̈e> learn The password of the month is most forgettable. \ 11622:2018-10-02 <oerjän> learn The password of the month is wearing shorts despite the weather \ 11619:2018-09-05 <oerjän> learn The password of the month is ripe for picking \ 11587:2018-08-03 <int-̈e> learn The password of the month is alphanumer1c. \ 11584:2018-07-20 <int-̈e> learn The password of the month will be short-lived. \ 11570:2018-06-03 <oerjän> learn Th
00:06:53 <shachaf> Oh, right, you live in the future.
00:11:41 -!- nfd9001 has joined.
00:16:24 -!- nfd9001 has quit (Ping timeout: 252 seconds).
00:18:12 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:30:35 -!- nfd9001 has joined.
00:42:16 -!- MDude has joined.
00:55:53 -!- oerjan has joined.
01:57:10 -!- tromp has quit (Read error: Connection reset by peer).
01:57:45 -!- tromp has joined.
02:35:28 -!- nfd9001 has quit (Ping timeout: 268 seconds).
03:49:47 -!- GeekDude has joined.
03:56:52 -!- moonythevampire has changed nick to moonythedustpile.
04:35:08 <zzo38> I read somewhere that DEC VT300 can emulate a Tektronix terminal. Is that why xterm does, too?
04:46:29 <imode> happpy halloween.
04:47:02 <oerjan> moonythedustpile: happy sunrise?
05:19:22 -!- oerjan has quit (Quit: Nite).
05:33:39 <imode> I'm mad that my language doesn't have lambdas.
05:35:56 <zzo38> What language is that? If you are mad of such thing, can you add it?
05:40:03 <imode> yeah lmao I'm the author of it.
05:41:11 <imode> but it's gonna take some work.
05:42:42 <imode> https://ptpb.pw/_xfe/text
05:43:17 <imode> that code actually works. my tests include `map (add 1) (evens (s (s (s 1))))`
05:44:40 <imode> however I can't reduce it fully due to the way I perform evaluation. so I have to define a function that does it for me. unless I whip up some lambdas.
05:45:03 <imode> which I can do, I just don't know how to do it _well_. currently my interpreter is 236 lines of python code and I haven't had to touch it save for a couple of lines.
05:46:30 <imode> feeling kind of hopeless tbh.
05:48:45 <imode> I don't wanna add any new features. this just works via term rewriting and pretty dumb subtree matching for variables.
05:49:03 <imode> but I do plan on porting my interpreter to C, then assembly, then to verilog or VHDL.
05:50:56 <imode> so I wanna make sure I have my design right.
05:52:58 <int-e> shachaf: I adhered to UTC
06:05:57 <zzo38> Make up a scheme card of Magic: the Gathering that is based on the Scheme programming language.
06:06:55 <shachaf> If I have a thing that takes a block argument that can early-exit, what sort of thing can it be?
06:07:25 <zzo38> A macro, maybe, I don't know?
06:07:29 <shachaf> I'd like an answer other than "macro" and other than "continuation", if it exists.
06:07:48 <zzo38> OK, but I don't know that answer.
06:07:54 <shachaf> A block isn't a function because it can early-exit.
06:08:31 <zzo38> Yes, I know that
06:08:39 <shachaf> Yes, I know that you know that
06:09:14 <shachaf> But a block can be given a type.
06:09:18 <shachaf> It can even have input and output types.
06:28:53 <zzo38> Do you know what it is called in Magic: the Gathering when you do stuff in order to affect whether or not there is priority during the cleanup step?
06:35:54 <imode> shachaf: branch?
07:06:42 -!- nfd9001 has joined.
07:26:58 <imode> solved my problem using a more idiomatic solution: just unpack the damn arguments.
07:41:10 <shachaf> imode: ?
08:35:19 <shachaf> tromp: whoa, you're mentioned in https://docs.google.com/viewer?url=http://www.cwi.nl/~paulv/papers/average.ps
08:39:00 <tromp> well, both authors were my supervisor, so no surprise there
08:49:08 <oren> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
08:49:10 <oren> https://twitter.com/glanderco/status/1024103665265770496
09:06:33 <izabera> it's 3 months old
10:03:32 -!- FaerieFly has changed nick to FireFly.
10:13:01 -!- imode has quit (Ping timeout: 260 seconds).
10:31:15 <int-e> > let coerce = id Data.Profunctor.Unsafe..# undefined in appEndo (coerce (succ :: Int -> Int)) 1 :: Int
10:31:17 <lambdabot> 2
10:33:59 <oren> izabera: maybe but it still scaryyy
10:37:42 <esowiki> [[Madbrain]] M https://esolangs.org/w/index.php?diff=58167&oldid=58166 * Gamer * (+24) /* Example */
10:41:21 <esowiki> [[Madbrain]] https://esolangs.org/w/index.php?diff=58168&oldid=58167 * Gamer * (+450)
10:43:11 <esowiki> [[Madbrain]] M https://esolangs.org/w/index.php?diff=58169&oldid=58168 * Gamer * (-159) /* Hello World! */
10:43:38 <esowiki> [[Madbrain]] M https://esolangs.org/w/index.php?diff=58170&oldid=58169 * Gamer * (+159) /* Hello World! */
10:52:30 -!- AnotherTest has joined.
11:07:16 -!- Spooktober has quit (Quit: Spooktober is over.).
11:07:50 -!- grumble has joined.
11:33:31 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
11:36:07 -!- Lord_of_Life has joined.
11:36:07 -!- Lord_of_Life has quit (Changing host).
11:36:07 -!- Lord_of_Life has joined.
12:06:47 <esowiki> [[AsciiDots]] https://esolangs.org/w/index.php?diff=58171&oldid=58151 * Gamer * (-3) /* Samples */
12:31:57 -!- BowserFromThe80s has changed nick to Bowserinator.
12:35:47 -!- mniip has quit (Ping timeout: 600 seconds).
13:40:47 -!- arseniiv has joined.
13:41:25 -!- sleepnap has joined.
13:59:24 <esowiki> [[IRP]] https://esolangs.org/w/index.php?diff=58172&oldid=58157 * Gamer * (+162) /* Examples */
14:25:36 -!- AnotherTest has quit (Ping timeout: 260 seconds).
14:35:11 -!- Essadon has joined.
14:41:56 -!- imode has joined.
14:49:01 -!- AnotherTest has joined.
15:33:34 -!- sleepnap has quit (Ping timeout: 250 seconds).
15:33:55 <esowiki> [[LOLZ]] M https://esolangs.org/w/index.php?diff=58173&oldid=55612 * Gamer * (-20)
15:39:58 -!- Sgeo has quit (Read error: Connection reset by peer).
15:40:26 -!- Sgeo has joined.
15:44:16 -!- mniip has joined.
15:48:15 -!- sleepnap has joined.
16:01:14 -!- moei has joined.
16:03:47 -!- imode has quit (Quit: WeeChat 2.3).
16:23:05 -!- oerjan has joined.
16:58:12 -!- tromp has quit (Ping timeout: 244 seconds).
17:05:57 -!- tromp has joined.
17:57:37 -!- zzo38 has quit (Ping timeout: 244 seconds).
18:01:36 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=58174&oldid=58158 * Oerjan * (+2) ginorst
18:02:52 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=58175&oldid=58174 * Oerjan * (-9) Policy
18:30:25 -!- atehwa has joined.
18:35:30 -!- Phantom_Hoover has joined.
18:43:22 -!- oerjan has quit (Quit: Later).
19:30:36 -!- nfd9001 has quit (Ping timeout: 250 seconds).
21:29:53 -!- moei has quit (Quit: Leaving...).
21:51:39 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
21:52:57 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=58176&oldid=58175 * ZM * (-2) Undo revision 58174 by [[Special:Contributions/Oerjan|Oerjan]] ([[User talk:Oerjan|talk]]) L00P: those are, in fact, zeros
21:54:47 -!- Phantom_Hoover has joined.
21:54:47 -!- Phantom_Hoover has quit (Changing host).
21:54:47 -!- Phantom_Hoover has joined.
22:03:22 -!- sleepnap has left.
22:27:08 -!- MDude has quit (Ping timeout: 245 seconds).
22:27:15 -!- MDude has joined.
22:41:31 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:56:31 -!- Essadon has quit (Quit: Qutting).
23:10:12 -!- arseniiv has quit (Ping timeout: 252 seconds).
23:11:25 -!- moonythedustpile has quit (Excess Flood).
23:12:36 -!- moony has joined.
23:12:57 -!- Soni has quit (Ping timeout: 250 seconds).
23:13:41 -!- Soni has joined.
23:26:37 -!- FireFly has quit (Quit: Goodbye).
23:26:48 -!- FireFly has joined.
23:31:37 -!- Lord_of_Life_ has joined.
23:34:30 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
23:34:32 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:34:40 -!- Lord_of_Life has quit (Changing host).
23:34:40 -!- Lord_of_Life has joined.
2018-11-02
00:22:05 -!- tromp has quit (Remote host closed the connection).
00:22:59 -!- tromp has joined.
00:40:23 -!- oerjan has joined.
00:41:48 -!- nfd9001 has joined.
00:46:33 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=58177&oldid=58176 * Oerjan * (+2) Undo revision 58176 by [[Special:Contributions/ZM|ZM]] ([[User talk:ZM|talk]]) (No fair undoing *all* the moves. Also, we have a tradition to sort some "1337" names as if they were spelled normally, but maybe not consistently.)
00:48:30 -!- AnotherTest has quit (Ping timeout: 264 seconds).
01:17:35 -!- zzo38 has joined.
01:26:19 -!- zzo38 has quit (Disconnected by services).
01:26:24 -!- zzo38 has joined.
01:40:07 <moony> I'm writing a emulator for the MC88110. Someone please slap me.
01:51:19 <oerjan> @slap moony
01:51:20 * lambdabot loves moony , so no slapping
01:51:31 <oerjan> sorry, didn't work
01:52:27 -!- zzo38 has quit (Ping timeout: 240 seconds).
01:52:54 -!- zzo38 has joined.
01:53:15 <zzo38> Do you know how to uncook Magic: the Gathering puzzles?
02:00:58 -!- nfd9001 has quit (Ping timeout: 246 seconds).
02:04:19 -!- zzo38 has quit (Ping timeout: 244 seconds).
02:13:08 -!- zzo38 has joined.
02:29:35 <zzo38> Hello
02:36:06 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:00:01 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
04:07:33 -!- MDead has joined.
04:10:21 -!- MDude has quit (Ping timeout: 268 seconds).
04:10:28 -!- MDead has changed nick to MDude.
05:29:12 -!- oerjan has quit (Quit: Nite).
05:44:48 -!- sleffy has joined.
05:45:47 -!- sleffy has quit (Client Quit).
06:04:49 -!- xkapastel has joined.
07:34:47 -!- tromp has quit (Remote host closed the connection).
07:34:59 -!- tromp has joined.
09:44:31 -!- xkapastel has quit (Quit: Connection closed for inactivity).
12:28:21 -!- xkapastel has joined.
13:33:17 -!- sleepnap has joined.
13:45:23 -!- arseniiv has joined.
15:09:22 -!- moony_ has joined.
15:09:31 <moony_> OpenBSD has an assembler for the MC88100. yaaaay
15:09:42 <moony_> So i have a reference point that I can use to crosscheck everything now
15:10:20 <moony_> https://github.com/syuu1228/openbsd-src/tree/ca0d3073d059b7237a1392dde772265698465272/sys/arch/m88k <<< Reference point! :D
15:18:12 -!- wob_jonas has joined.
15:18:19 <wob_jonas> zzo38: hello. what do you mean by uncook?
15:19:05 <moony_> hi wob_jonas
15:19:58 <wob_jonas> hi moony_. why are you writing an emulator, and are you at least making it very efficient and microoptimized?
15:21:05 <moony_> I plan on it, yes
15:21:17 <wob_jonas> good
15:21:31 <moony_> but i also have to make it accurate as possible, because otherwise it'd be a crappy emulator of an obscure system, and no-one else would be there to make a good one
15:21:48 <wob_jonas> but are you also putting on some impractical constraints that make the micro-optimization hard to do and a waste of your time?
15:22:17 <moony_> wob_jonas: no. Cache emulation in this case, for example, is actually easy and fast (Only 128 lines), so a modern CPU can easily pull it off.
15:22:41 <moony_> and the entire 88k cache, with it's status info, easily fits into a modern CPU's cache
15:23:24 <moony_> even then, emulating 192 different registers with only 16 registers is kinda hard :P (two sets of 64 control registers, 32 GPR, and 32 80-bit FPR)
15:24:02 <moony_> CPU only runs at 50MHZ, but it runs 2 instructions per cycle optimally, so I have to be careful anyways
15:24:07 <moony_> I want it to run at full speed accurately
15:24:48 <zzo38> w-b_jonas: I mean to make the altered version of the puzzle which avoids the cook, which should keep the proper solution or pretty close, and should also try to retain the theme if possible
15:25:09 <moony_> wob_jonas: if you're curious, here's the MC88K serie's manuals: http://www.bitsavers.org/components/motorola/88000
15:25:49 <wob_jonas> moony_: do you have any programs that run on that MC88110 that you'll be able to run with this emulator?
15:26:10 <wob_jonas> zzo38: ah, de-cheese the puzzle. I see.
15:27:36 -!- moony__ has joined.
15:28:07 <wob_jonas> moony__: do you have any programs that run on that MC88110 that you'll be able to run with this emulator?
15:28:16 <moony__> wob_jonas: OpenBSD, duh
15:28:23 <moony__> OpenBSD has a port, hence why i noted it
15:28:26 <wob_jonas> good
15:28:30 <moony__> i can use it as my testcase
15:28:51 <moony__> it also has an assembler and GCC port avaliable, but i'm rolling my own anyways because i can
15:29:27 -!- moony_ has quit (Ping timeout: 256 seconds).
15:29:43 <wob_jonas> moony_: you have checked that Bellard doesn't happen to have an accurate emulator for this system, right?
15:29:56 <moony__> I've looked everywhere :P
15:30:10 <wob_jonas> well sure, if it runs openbsd, then it has to have a gcc port
15:30:46 <wob_jonas> openbsd is implemented mostly in C
15:30:55 <moony__> yea
15:31:02 <wob_jonas> that doesn't mean that it's a well-maintained recent gcc port of course
15:31:15 <wob_jonas> just some gcc port that could more or less compile some stuff at some point
15:31:33 <wob_jonas> if a wizard knew how to invoke it
15:31:34 <moony__> The main difficulty with the 88k is that it supports multicore, but the way it does it is unusual these days: Each "core" is a seperate physical chip
15:31:51 <wob_jonas> that's not that unusual really
15:32:03 <wob_jonas> we only had to put them on the same chip because clock frequencies got faster,
15:32:09 <moony__> Mm.
15:32:28 <wob_jonas> maybe I'm showing my age
15:32:43 <moony__> I'm still in highschool, so maybe you are.
15:33:05 <wob_jonas> I mean sure, these days in mobile phones you put everything in one chip, memory and all
15:33:44 <wob_jonas> but that didn't make sense back when I was young, because individual chip designs cost a lot to start to make, and once they started they could make as many as they wanted for cheap, it's making the design that was hard
15:34:23 <wob_jonas> which is also why ROMs were a bit expensive, so video games could only be produced in large numbers, and there were no large enough volatile memories yet
15:34:33 <wob_jonas> so casettes and disks were eventually used as a workaround
15:34:54 <wob_jonas> and by disks I mean floppy disks, and eventually CDs
15:35:22 <wob_jonas> like for the famicom
15:35:55 <moony__> Oldest thing we have in my house is a gamecube
15:35:57 <moony__> :P
15:36:19 <wob_jonas> I don't have a famicom or other old hardware either
15:36:35 <wob_jonas> well, not as a physical system at least, I can run emulated old systems obviously
15:36:52 <wob_jonas> I don't even have a floppy drive anymore, I got rid of it
15:37:08 <wob_jonas> mind you, this computer I'm sitting at is old, but it's nowhere near that old
15:37:53 <wob_jonas> it's only like 8 years old or something
15:38:13 <wob_jonas> was a great top quality computer back when I got it
15:38:18 <wob_jonas> now it's very obsolete
15:38:42 <moony__> I wish i remembered my XBOX Live password for my 360
15:38:57 <moony__> because my account has Marble Blast Ultra installed, and guess what: Ultra is no longer for sale anywhere
15:39:03 <moony__> :<
15:39:25 <wob_jonas> get a copy in an illegal way then, if you're sure you've already bought it legally
15:39:39 <wob_jonas> or use their customer service to reset the password of your account
15:40:04 <moony__> I literally don't know anything related to the account anymore
15:40:08 <moony__> not even the email used
15:40:09 <wob_jonas> you probably only need to know your name and password and ask them on phone on workdays during business times
15:40:09 <moony__> :<
15:40:15 <wob_jonas> um
15:40:26 <wob_jonas> s/name and password/name and birth date/
15:40:30 <wob_jonas> isn't that how it works?
15:40:37 <moony__> Idk, I'll check when i get home
15:42:22 <wob_jonas> but getting an illegal copy of the software from the internets might still be simpler
15:42:42 <moony__> mk
15:43:11 <wob_jonas> that said, you'd better ask someone who actually knows something about nintendo or game systems, rather than me
15:43:27 <moony__> s/nintendo/microsoft/
15:43:32 <wob_jonas> yeah, that
15:43:34 <moony__> it doesn't matter much anyways
15:43:42 <wob_jonas> I only own a nintendo game boy, no other game system
15:44:03 <wob_jonas> apart from that, at home I only play video games on a PC
15:44:05 <moony__> Marble It Up!, a spiritual successor to the Marble Blast series (Gold and Ultra), is coming out for PC soon
15:44:15 <wob_jonas> although I've played quite a lot on other people's game systems of all brands
15:44:18 <moony__> so it's enough for me
15:44:42 <wob_jonas> well, not all brands
15:45:01 <wob_jonas> I've played on nintendo, sega, and sony, but not on microsoft ones IIRC
15:45:26 <wob_jonas> "spiritual successor" is ... somewhat broad.
15:46:14 <moony__> Well, the game has the same concept and design as the original Marble Blast games, even people from the original dev team helped
15:46:21 <moony__> you could say it's similar to what Sonic Mania is for sonic.
15:48:47 <moony__> it's not a TRUE successor only because GarageGames, the company that owns Marble Blast, doesn't seem to want a new Marble Blast game, probably because of the now small market
15:48:53 <moony__> :P
15:49:34 <wob_jonas> ah yes
15:49:37 <wob_jonas> `? keenlist
15:49:38 <HackEso> keenlist is notification for when Tom Hall acquires the necessary intellectual property rights to create the videogame series Commander Keen: The Universe is Toast
15:50:01 <wob_jonas> the owner of the brand isn't selling the rights, despite that they have no use for it
15:50:11 <moony__> pretty much
15:50:32 <wob_jonas> so instead of one good officially sanctioned games, there are only a lot of fan-made games
15:51:16 <wob_jonas> but none of them made by such a game developer genius as Tom Hall
15:51:52 <wob_jonas> most of the good ones are just modifications of the original games with new graphics and levels
15:52:16 <wob_jonas> which is certainly not what Tom Hall would do if he was allowed to make a new game
15:52:31 <wob_jonas> mind you, they can still be good games
15:52:36 <wob_jonas> it's just not the same thing
16:01:33 <wob_jonas> moony__: at some point, please publish this emulator thing somewhere public, and tell this channel about it too
16:01:44 <moony__> I plan on it
16:02:14 <moony__> One of my silly ideas was to try and make it connect to this channel and let you run stuff on it :P
16:02:52 <wob_jonas> nice. I've done that once, but I haven't written the emulator, I only wrote the connection, and I ran it on a side channel because it was too noisy
16:03:02 <moony__> i know. that DOS bot :P
16:03:20 <moony__> i was so curious i made a lot of said noise :P
16:03:30 <wob_jonas> I'd like to point to schmorp's two crazy projects each one emulating an old system with a cpu: http://blog.schmorp.de/2015-06-08-emulating-linux-mips-in-perl-1.html http://blog.schmorp.de/2015-11-10-emulating-vt102-hardware-in-perl-1.html
16:04:49 <moony__> Glad i learned perl recently
16:04:54 <moony__> (I like perl now. Send help)
16:04:56 <wob_jonas> also to this year's IOCCC winner by Christopher Mills http://www.ioccc.org/years.html#2018_mills
16:05:11 <wob_jonas> moony_: I can't really. I hate perl, but I can't stop using it
16:05:23 <wob_jonas> definitely look at ioccc/2018/mills if you haven't, it's very crazy
16:05:30 <moony__> Perl 6 has a lot of nice things
16:05:41 <wob_jonas> perl 6? ok, now you need help
16:05:52 <wob_jonas> perl 6 is bad for you, stop.
16:06:07 <pikhq> It's true.
16:06:08 <moony__> lol
16:06:13 <moony__> Perl 6 is slow
16:06:23 <moony__> i just use it for quick tasks, like i would with perl
16:06:25 <wob_jonas> are you tied in a room and is someone focing you to type "Perl 6 has a lot of nice things" under duress? can you give an address?
16:06:49 <moony__> Well i'm an insane codegolfer. Sorry, i'm sitting in a study hall typing that, no duress here
16:06:51 <wob_jonas> or at least a country
16:07:08 <moony__> i find writing x86-64 fun.
16:07:20 <wob_jonas> maybe there are charity organizations offering help for addiction issues available in your country
16:07:33 * moony__ is literally prototyping the cache lookup function at this second
16:07:39 * moony__ in x86-64
16:07:44 <wob_jonas> there's no problem with writing x86_64, that can be fun
16:07:53 <moony__> golfing it can be awful
16:07:55 <moony__> :P
16:07:59 <wob_jonas> it's only what you said about perl 6 that scares me
16:08:09 <moony__> no u
16:08:25 <wob_jonas> yeah, me too, and I'm seeing a psychologist about all the issues I have
16:08:37 <moony__> Here, to prove my insanity: The main reason i'm writing this massive emulator project is so i can do codegolf with it
16:08:54 <wob_jonas> oh, so that's why you want an _accurate_ emulator. that's a good reason
16:09:04 <moony__> :P
16:09:25 <moony__> That, and a real MVMe board, or designing my own board, would cost a fortune. So real hardware is out of the question
16:09:40 <moony__> unless someone gifts me one haha (Like that would ever happen)
16:10:36 <wob_jonas> sure! I'm a software guy, I think writing custom software on very powerful PCs is the solution to everything, and often consider custom hardware projects crazy when it seems like they could be replaced by a five line perl script
16:10:51 <moony__> Well, i plan on learning how to make custom hardware anyways
16:11:01 <wob_jonas> or not perl, whatever, a software solution on a PC they already have
16:11:05 <moony__> so maybe someday i COULD make a real system using the 88k if i want to
16:11:17 <moony__> i mean, a 88110 only goes for $20 on ebay, because no-one wants them
16:11:18 <wob_jonas> but I'm tolerant, just because I think they're crazy I won't try to stop them
16:11:28 <wob_jonas> it's their free time and they choose to spend it however they like
16:11:51 <wob_jonas> maybe it's a useful hobby to get into hardware and later design actually useful big hardware, one that does something that you can't just do with a simple program on a PC
16:11:54 <moony__> i wonder what happened to #asm
16:11:59 <moony__> it's become invite only
16:12:06 <moony__> i wanted to check if cmp was slower than test
16:12:22 <wob_jonas> moony__: it's forwarded to ##asm
16:12:33 <moony__> oh
16:12:42 <moony__> and ##asm says i'm banned. I blame freenode mask.
16:12:45 <moony__> :p
16:12:59 <wob_jonas> let me check
16:13:43 <wob_jonas> let me see which ban mask you match
16:13:56 <wob_jonas> oh
16:14:12 <wob_jonas> moony__: ":card.freenode.net 367 nc_jonas ##asm *__*!*@* card.freenode.net 1535082016"
16:14:21 <moony__> RIP
16:14:22 <wob_jonas> moony: renick yourself
16:14:32 -!- moony__ has changed nick to moony2.
16:15:01 <wob_jonas> does that help?
16:15:33 <moony2> mhm
16:16:52 <wob_jonas> note that usually IRC allows you to query the ban list even if you're banned from the channel
16:17:06 <wob_jonas> so if you meet this sort of thing you can check this yourself too
16:17:11 <wob_jonas> not that I don't want to help, just saying
16:17:37 -!- moei has joined.
16:18:49 <wob_jonas> zzo38: anyway, no, I don't know how to de-cheese M:tG puzzles. you can try to ask ais523
16:20:21 <wob_jonas> also, yes, I should continue doing the Oracle dump thingy
16:20:27 -!- moony2 has quit (Ping timeout: 256 seconds).
16:27:25 -!- AnotherTest has joined.
16:34:39 -!- moony2 has joined.
16:37:46 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
17:09:11 -!- moony2 has quit (Ping timeout: 256 seconds).
17:11:57 -!- Essadon has joined.
17:14:49 <esowiki> [[Temporal]] https://esolangs.org/w/index.php?diff=58178&oldid=58076 * Plokmijnuhby * (-265) On second thoughts, I'm making it more like Underload.
17:20:29 -!- oerjan has joined.
17:37:19 -!- hexfive has joined.
17:37:44 -!- hexfive has quit (Client Quit).
17:38:07 -!- hexfive has joined.
18:15:16 -!- oerjan has quit (Quit: Later).
18:48:58 -!- Bowserinator has quit (Excess Flood).
18:49:28 -!- Bowserinator has joined.
19:42:32 -!- Phantom_Hoover has joined.
19:47:03 <arseniiv> oh a time-travelling language
19:48:29 <arseniiv> for me it seems at least a part of these should be equivalent to languages abusing amb or other such nondeterministic retcon stuff
19:50:09 <arseniiv> also I occasionally unforgot about Riemann surfaces: these time-travelling programs could essentially run not on a linear time but some more exotic like two interdependent universes
19:51:07 <arseniiv> what do you think?
19:51:28 <arseniiv> okay I’m going to the past to give myself an idea
19:52:30 <arseniiv> @messages?
19:52:30 <lambdabot> Sorry, no messages today.
19:57:37 <arseniiv> oh lambdabot oh dear / it’s such a thing unclear / to me if you time-travel / or not; I hit the gravel
19:59:05 <arseniiv> it would be nice and all / if you could send me something / from future times to now / because I’ve lost the rhyme
20:11:19 <zzo38> Some television shows have popup messages. Can you get rid of them by recording from multiple channels and then some computer program can be used to fix them?
20:16:28 -!- arseniiv has quit (Ping timeout: 246 seconds).
20:27:13 -!- wob_jonas has joined.
20:28:15 <wob_jonas> I bought myself a frame for eyeglasses! I had my doubts, but I think I chose right. Unless this one is unsuitable somehow, I shall have a fancy new pair of eyeglasses ready by christmas 2018 the latest.
20:31:01 -!- MDude has quit (Ping timeout: 244 seconds).
21:32:30 <moony> Alright, i have a good idea of what i do need and what i don't for a fairly accurate emulator (Mostly™ cycle accurate). But first, nostalgia trip.
21:35:38 <wob_jonas> moony: what peripherials are you planning to support?
21:36:04 <moony> Serial, SCSI drive, and maybe a display.
21:36:10 <moony> Really just adding stuff as needed
21:36:12 <moony> :P
21:36:26 <wob_jonas> wow nice
21:36:41 <wob_jonas> wait, no floppy or casette? or the floppy or casette is on SCSI?
21:36:58 <moony> the MC88100, like it's cousin (the M68k), uses memory mapped peripherals, so i can just put less accurate peripheral emulation in another thread and call it a day
21:37:11 <moony> SCSI drive <<< yes
21:37:11 <wob_jonas> I guess you can have a SCSI floppy drive, and you probably don't even need to make the implementation for that yourself.
21:37:49 <wob_jonas> memory mapped peripherials still need some magic by the emulator for controlling the memory mapping
21:38:32 <moony> yea, but the emulator otherwise doesn't care much about what the peripheral IS
21:39:52 <wob_jonas> sure
21:40:07 <wob_jonas> luckily the peripherial and the OS do most of the work
21:40:15 <moony> mhm
21:40:43 <wob_jonas> and yes, serial line is definitely practical, it's easy to get working and a good way to interact with the program running in your emulated box
21:40:54 <wob_jonas> that's why I used serial console for termbot too
21:41:22 <wob_jonas> and that's why you couldn't use the many DOS programs that insist on communicating directly through keyboard and display
21:41:41 <wob_jonas> most DOS programs are optimized for that, they don't do both because that would cost resources
21:42:19 <moony> also, compared to the time needed to look up memory mapping info and emulate the cache, saying "ok forward this to a async buffer on a IO device" is cheap as hell
21:42:46 <wob_jonas> and these programs I ran were written in the PC era, when a working display (CGA or monochrome) and PC-like keyboard was standard for computers
21:42:51 <wob_jonas> (for DOS computers that is)
21:43:22 <wob_jonas> and the display and keyboard (and mouse) is just more versatile than a serial console
21:43:27 <wob_jonas> fast too
21:43:37 <wob_jonas> moony: sure
21:44:26 <wob_jonas> moony: so have you found good enough technical documentation about the CPU and motherboard that you can use for writing this emulator without having to guess too much?
21:44:45 <moony> The CPU's own manual is great. :P
21:44:58 <moony> I have a paperback copy of the MC88100 manual in my possession.
21:45:12 <wob_jonas> nice
21:45:24 <wob_jonas> how about the motherboard, including memory and IO connections?
21:45:34 <moony> MVMe boards will be a lot harder. I'll probably have to guess at it using what openbsd has in code
21:46:01 <wob_jonas> what kind of memory management does this cpu have?
21:46:14 <moony> Block management and Page management are both supported
21:46:25 <moony> and can be interchanged
21:46:54 <wob_jonas> and fast switch between user and system mode or between processes with different page tables?
21:47:02 <moony> also, memory interface is where difficulty no 1 comes in: the CPU can swap between big and little endian at runtime with a single instruction
21:47:13 <moony> yea, you can change the page table address
21:47:28 <wob_jonas> also, how large are the virtual address space and the physical memory address space?
21:47:46 <moony> physical is 32bit.
21:48:03 <moony> virtual is also 32bit. Entire system is 32bit besides the ""GPU"" and FPU :P
21:48:24 <wob_jonas> I see
21:48:52 <wob_jonas> wait, FPU?
21:49:13 <moony> FPU supports 80-bit precision. (That means i have to use x87 instructions, ewwww.)
21:49:32 <wob_jonas> is the FPU required? can't you just omit it and have the software or OS emulate it?
21:49:44 <wob_jonas> (and run mostly software that doesn't need it)
21:49:46 <moony> It's built onto the chip
21:49:57 <moony> so it's required
21:50:01 <wob_jonas> I see
21:50:04 <moony> it's off by default tho
21:50:23 <moony> so i can pretend it doesn't exist for a very short amount of time :P
21:50:30 <wob_jonas> you don't technically _have_ to use x87 instructions, unless you want fast emulation for the FPU. you might choose to run programs that don't use the FPU much, in which case you can just do something slow.
21:50:48 <moony> i wanna try and make the FPU fast. :P
21:50:55 <wob_jonas> ouch
21:50:56 <moony> i'll probably ignore it early on tho
21:51:04 <wob_jonas> that can be difficult or easy, depending on what the FPU is like
21:51:19 <wob_jonas> and its stupid arcane details too, the ones that rarely come up
21:51:35 <wob_jonas> but still make an accurate emulation (whether in software or hardware) a pain in the ass
21:51:57 <moony> I plan on emulating the MC88110, because suprisingly enough it's *easier* to emulate than it's predecessor. You can pick out details about it here: http://bitsavers.org/components/motorola/88000/MC88110UM_88110_Users_Manual_1991.pdf
21:52:18 <moony> it's predecessor doesn't have the ""GPU"", but it has *more* annoying to emulate quirks
21:53:36 <wob_jonas> it doesn't have that middle age feature where there's a mandatory delay so the result of an instruction can't be read by the next instruction, does it?
21:53:42 <moony> mostly because i have to care a lot more about processing order on the MC88100, because the FPU and the integer unit both share the same register file for some bizzare reason.
21:54:09 <moony> wob_jonas, no. It has pipelining that handles that cleanly
21:54:44 <wob_jonas> the FPU and integer unit sharing a register file isn't a big problem. that's what new x86_64 cpus do too with its SSE registers
21:55:47 <moony> it's a problem when there's only one "slot" to use on said file. It's an exclusive or, either use the integer unit or the fpu, OR you can just have lots of pipeline stalls and lose CPU time
21:55:49 <wob_jonas> the SSE register ops are still mostly in different execution units, but it's the same register file and sheduling and decoding pipeline and memory/cache interface
21:56:16 <wob_jonas> from the instruction set viewpoint it's different registers, but they're effectively handled by the same register file now in newer cpus
21:56:45 <moony> plus, SSE instructions can offset the loss by their vastly greater throughput
21:57:04 <wob_jonas> it didn't use to be that way in older x86_64, there used to be two or three register files, separate for index registers, integer vector registers, and float vector registers, but they got away from that in later archs
21:57:25 <wob_jonas> moony: not just greater throughput, but also in some areas better choice of instructions too these days
21:57:37 <moony> also go look at the MC88100's bus
21:58:02 <moony> it has two buses, the P and C bus. Each bus has to have it's own external MC88200 MMU in order to interface with the same data bus/
21:58:04 <wob_jonas> they're effectively the new general purpose registers, and the RBX etc series of 16 64-bit registers are the index registesr
21:58:45 <wob_jonas> it's not completely like that yet, there's still advantage to using the index registers for some general purpose computations because of the instruction encoding sometimes, but it's tending more towards the vectors
21:59:42 <wob_jonas> heck, in some rare cases you even want to use the vector registers to spill data into them from the index registers when you run out of the 16 index registers, because it's often handled more efficiently than the L1 cache or stack cache
22:00:35 <moony> when intel/amd gives us dedicated instructions to spill indexes into vectors, i'll be happy
22:00:35 <wob_jonas> I think there are even very rare pathological cases when it's worth to spill data into the MMX registers in some crazy loops, though you probably specifically have to engineer the right kind of problem for that to come up
22:00:59 <wob_jonas> moony: they do have specific move and insert and uninsert instructions already, with sometimes short encodings
22:01:10 * moony doublechecks
22:01:25 <moony> i dont remember x86-64 by the back of my hand, so i'm a derp sometimes :P
22:01:28 <wob_jonas> sure
22:01:37 <wob_jonas> and look at new enough documentation, not ancient stuff
22:01:44 <wob_jonas> it helps
22:01:50 <wob_jonas> I could be wrong here too
22:01:55 <moony> I usually just use http://www.felixcloutier.com/x86/
22:01:59 <wob_jonas> I'm sure there are such instructions, but I can be wrong about the details
22:02:16 <wob_jonas> these days I look at the official Intel docs and Agner Fog's docs
22:02:27 <wob_jonas> I used to look at AMD's docs too, but these days prefer the Intel doc
22:02:31 <moony> felix's are literally just autogenned from intel docs
22:02:40 <moony> but with nicer formatting
22:03:03 <moony> anyways, you were correct. http://www.felixcloutier.com/x86/PINSRB:PINSRD:PINSRQ.html
22:03:03 <wob_jonas> moony: sure, but is it recent enough? does it at least show AVX2, even if not AVX512 yet?
22:03:22 <moony> it's currently based on the may 2018 edition of intel's docs
22:03:24 <moony> so yes :P
22:03:39 <wob_jonas> moony: those too, but also look at the 64-bit move between index and XMM instructions
22:04:04 <wob_jonas> ok, I'll look at this felixcloutier docs, or at least bookmark it and look at it later
22:04:22 <moony> wob_jonas, it's more of an instruction reference
22:04:34 <moony> but it's really freaking handy, much easier than sifting through a massive PDF :P
22:05:21 <wob_jonas> the PDF is not ideal, but together with other sources (like Agner Fog's manuals) it's good enough, and it's at least accurate and right from the mouth of those who make the CPU
22:05:41 <wob_jonas> the Intel PDF has at least one typo, I even wrote an email to their support that they'll probably ignore
22:07:26 <wob_jonas> moony: the other relevant ones are http://www.felixcloutier.com/x86/MOVD:MOVQ.html , which move between an index register and XMM register, zero-extending,
22:09:02 <moony> also, just for note wob_jonas, the
22:09:23 <moony> 88k's FPU is quite similar to x86's
22:09:33 <moony> so emulation will be easier
22:09:50 <wob_jonas> but yes, also PINSRQ and PEXTRQ
22:10:30 <wob_jonas> moonyt: to the 387, or to the 8087? there's a stupid crucial difference that can like triple your speed if it's the former.
22:10:46 <wob_jonas> "quite similar" is not enough if you want accurate emulation
22:11:05 <moony> mk
22:11:50 <moony> whats said difference?
22:12:16 <wob_jonas> mostly that the relay 8087 handles the sign of infinities in a stupid way
22:12:31 <wob_jonas> there's some other minor ones too but they don't matter that much
22:12:42 <moony> i'd say it's more similar to the 387
22:12:46 <wob_jonas> the 387 can actually emulate the 8087 behavior, but only if you set some crazy flag that no sane software will set
22:14:08 <wob_jonas> also, the 387 actually has the sanest floating point behavior with respect to NaN representation that I've seen among CPUs. I wish other cpus had the same semantics for NaNs (but not other things, eg. I don't want a register stack or all that stupid state change and 80 bit variables and relative lack of non-floating-point instructions),
22:14:38 <moony> i think you'd like the 88k's FPU
22:14:50 <moony> http://bitsavers.org/components/motorola/88000/MC88110UM_88110_Users_Manual_1991.pdf section 04
22:14:54 <wob_jonas> but alas no, every 'cking architecture has to invent its own NaN representation behavior that's incompatible with everything else, so there's at least four different relatively sane behaviours out there, and that's not counting the ones that just throw their hands up and don't even try to handle NaNs
22:15:11 <wob_jonas> and because of compatibility, none of them can just change the behavior of course
22:16:11 <wob_jonas> moony: I probably won't look at that right now, though I may bookmark it, but in any case I'd like the best behavior in modern fast CPUs that run in my computer, not in some old thing. I can emulate the right behavior too if I can afford some speed loss, I don't need a 88000 for that.
22:16:41 <moony> Mc88110 just fires an exception when a source operand is a NaN, which i think is fairly sane
22:17:10 <moony> properly diffs between nonsignalling and signalling, as well. (Signalling NaNs can have a usermode handler)
22:17:15 <wob_jonas> moony: yes, but can the software mask the instruction?
22:17:19 <wob_jonas> um
22:17:21 <wob_jonas> mask the exception?
22:17:26 <wob_jonas> because usually that's what you want
22:17:31 <wob_jonas> and just check for NaN at the end
22:17:38 <wob_jonas> actually using the exception is a rare case
22:17:40 * moony doublechecks
22:17:50 <wob_jonas> in most CPUs, you can
22:18:24 <wob_jonas> and the CPU has defnite behavior of the result of the operation, sometimes even different result depending on whether the exception is masked or not
22:19:15 <moony> TCFP masks the NaN exception. (TCFP stands for Time Critical Floating Point)
22:19:19 <wob_jonas> eg. for an overflow exception, the result is infinity of correct sign from outside the exception, but the correct value with a constant added to the exponent for the exception handler (they get the result in different ways so there's no ambiguity)
22:20:07 <moony> and you can mask the NaN exception normally as well
22:20:07 <wob_jonas> x87, SSE, and MMIX all have individually maskable optional floating-point exceptions, they just differ in what NaN representation rules they have and some other details
22:20:20 <moony> TCFP mode just disables all but 2 exceptions
22:20:37 <wob_jonas> (I don't recall what AMR does, I looked at it very little, and mostly at the non-floating-point parts)
22:20:53 <wob_jonas> moony: right, that's the usual thing they do
22:21:11 <moony> yea, all FP exceptions are maskable besides 2
22:21:35 <moony> those two being things that only trigger when truly invalid behavior, like a unimplemented floating point instruction, is requested
22:22:02 <wob_jonas> SSE2 also has two flags for not handling denormal values (a flag for reading a denormal as zero, and a flag for giving a zero result instead of a denormal), and a speed hit when it actually has to handle denormals
22:22:19 <wob_jonas> or SSE or whatever
22:22:28 <moony> MC88110 has a similar thing, but i dont see any notes about denormals having a speed it.
22:22:30 <moony> *hit
22:22:32 <wob_jonas> I don't care when it was introduced between those
22:22:58 <wob_jonas> moony: if there's a flag then there's probably some sort of speed hit, or was in older versions of the CPU with a compatible instruction set
22:23:08 <wob_jonas> they wouldn't introduce a flag otherwise
22:23:21 <wob_jonas> it's possible to not have the speed hit but keep the flag for compatibility of course
22:24:06 <moony> oh nvm no flag
22:24:08 <moony> just misread
22:24:16 <moony> it doesn't even support denormals :p
22:24:29 <moony> it DOES fire an exception when they're encountered so software can handle it tho
22:25:40 <wob_jonas> ouch
22:26:16 <wob_jonas> because of its long history, x86_64 has a lot of historical features that you no longer need to use if your code only runs on newer cpus, but that the cpus must support for compatibility because they made sense on older cpus
22:26:46 <moony> ¯\_(ツ)_/¯ at least motorola was nice enough to write the handler for you, they provide it in a software package that is no longer on planet earth haha
22:27:25 <wob_jonas> eg. there are pairs of equivalent SSE2 instructions for bitwise operations on XMM registers that differ in speed depending on whether they're between integer or floating-point vector instructions, the cpu needed to transparently transfer the value to another register file if you used the wrong one, but there's no longer a separate register file
22:27:42 -!- Lord_of_Life has joined.
22:27:42 -!- Lord_of_Life has quit (Changing host).
22:27:42 -!- Lord_of_Life has joined.
22:35:59 <wob_jonas> moony: that's a pity, but no denormal handling in hardware is a compromise that I can understand
22:37:36 <wob_jonas> motorola wanted cheap chips, with the technology back then, it made sense
22:38:09 <wob_jonas> it's in chips today where I want the best behavior, because we could afford it if it weren't for historical compatibility issues
22:50:25 -!- sleepnap has left.
22:50:40 <wob_jonas> heck, even the most annoying limitation of x86_64 is because of historical compatibility: we can't have more than 128 kilobytes of L1 data cache, because more than 8-way cache would have too much latency, and we can't dispatch cache by more than modulo 4 kilobytes of address space, because we have to be historically compatible with 4 kilobyte sized
22:50:40 <wob_jonas> pages.
22:51:42 <wob_jonas> larger page size would be more efficient, but we can't get rid of supporting the smaller pages until some existing software depends on it, and it would be too impractical to have two entirely different L1 caches together, you'd probably have to duplicate the rest of the CPU with it
22:52:04 <wob_jonas> so we won't have a larger L1 cache until we throw away the entire x86 historical compatibility
22:53:52 <wob_jonas> this is harder to replace than the instruction set. x86_64 managed to get rid of at least some parts of the instruction set in true 64-bit mode, and you could get rid of more, but you can't get rid of the paging without throwing away all the compatibility
22:55:25 <wob_jonas> but the good news is, that will probably happen within my lifetime, the way how fast these computer architectures change
22:55:48 <wob_jonas> I'll be happy to learn about the details of a better architecture used in everyday consumer PCs
22:56:09 <wob_jonas> (some computers use ARM, admittedly, but even that is rather old)
22:56:33 <wob_jonas> (and x86_64 is used in the highest performance ones, which is the ones that matter for this)
22:58:13 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
23:08:06 -!- tromp_ has joined.
23:10:16 -!- tromp has quit (Ping timeout: 250 seconds).
23:13:33 -!- sebbu has quit (Read error: Connection reset by peer).
23:13:56 -!- sebbu has joined.
23:31:48 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:33:51 -!- Lord_of_Life_ has joined.
23:35:27 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
23:35:27 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:35:27 -!- Lord_of_Life has quit (Changing host).
23:35:27 -!- Lord_of_Life has joined.
23:35:58 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:41:15 -!- wob_jonas has joined.
23:42:06 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
23:42:44 <wob_jonas> Do you happen to know where I can find good reviews of current non-smart mobile phone user interfaces? I want to find the right phone to buy for myself. I have some candidates, but want to find reviews by people who care about similar interface sutff as me.
23:43:17 <wob_jonas> It would be cheaper and faster than to buy a phone and find out that it sucks after a few days of playing with it, like it happened with these stupid nokias.
23:43:51 <wob_jonas> But it looks like I can't find any good reviews.
23:44:43 -!- Lord_of_Life has joined.
23:44:43 -!- Lord_of_Life has quit (Changing host).
23:44:43 -!- Lord_of_Life has joined.
23:44:48 <wob_jonas> I might My current candidate is the CAT B30 dual sim. It is one of these stupid rubber-padded hard to break things with a small display, but if that's the extra I have to pay for to get a sane interface, it's OK.
23:46:59 <wob_jonas> Other candidates are the Myphone 6310 and the Myphone 3310.
23:48:22 <wob_jonas> sadly the 3310 is named such that the number is the same as a very popular new nokia phone (which is named of an older nokia phone, this is really stupid), so it's harder to search for it
23:50:19 -!- copumpkin has quit (Read error: Connection reset by peer).
23:50:34 -!- hakatashi1 has quit (Remote host closed the connection).
23:51:18 <wob_jonas> I totally can't find reviews, so unless someone here can pipe in with some useful info, I'll probably just buy a CAT B30 and try it.
23:51:31 -!- copumpkin has joined.
23:51:41 <wob_jonas> It's definitely not perfect, but I can't get a perfect phone, I know that.
23:51:51 <wob_jonas> I just need one that's not too annoying.
23:52:00 -!- hakatashi has joined.
2018-11-03
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:35 <moony> mm.
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:00 <moony> ok
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:23 <wob_jonas> moony: wow, this one looks arcane
00:52:41 <moony> heh yea
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:29 <wob_jonas> that doesn't sound too bad
00:54:44 <moony> hm
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:17 * moony derps
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:01:59 <moony> s/liek/like/
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:02:47 <wob_jonas> it's extra moves
01:02:55 <moony> mm
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:42 <moony> JIT. JIT's a must
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:15 <moony> ik
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:05:50 <wob_jonas> http://www.agner.org/optimize/
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:34 <moony> mhm
01:07:39 <wob_jonas> very good
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:03 <wob_jonas> well certainly
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:06 <moony> who knows
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:16 * moony runs
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:12 <wob_jonas> what do you mean by "we"?
01:17:33 <moony> The Powder Toy is a multiple person open source project. I'm just some random contributer :P
01:17:43 <wob_jonas> I see
01:21:50 -!- oerjan has joined.
01:22:13 <moony> hello Ørjan
01:25:34 <oerjan> good evening moony
01:26:17 <wob_jonas> helloerjan
01:27:20 <moony> œrjan™
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:05 <ais523> int-e: yes
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:06 <oerjan> ah.
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:42:10 <wob_jonas> zzo38: at what cost?
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:50:56 <wob_jonas> That's not my question, but sure.
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:55:56 <wob_jonas> it's not a permanent
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:02 <wob_jonas> `card-by-name aura flux
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.
2018-11-04
00:18:57 -!- sftp has quit (Excess Flood).
00:19:25 -!- sftp has joined.
00:59:48 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:19:21 -!- oerjan has joined.
01:38:41 <zzo38> What do you think is the oldest telephone number still in use? 2600 suggested that it is the telephone number of Hotel Pennsylvania (which is "Pennsylvania 5000", in the 212 area code), but do you know of any others? (This was in reply to a letter they received asking this question; the asker had something but it wasn't old enough.)
01:40:05 <pikhq> It is more than likely the oldest assigned in NYC, though granted it's hard to be certain.
01:42:01 <pikhq> PEnnsylvania 6-5000 would've been assigned circa 1930 though?
01:45:24 <pikhq> There's few other alternative possibilities: systemic numbering schemes were only rolled out on a larger scale later, and NYC's local scheme only fit in because it happened to already have the 3-4 digit scheme that was put in place in the rest of the US.
01:46:51 <pikhq> Though a few other populous cities did the same.
01:47:38 <pikhq> So, I'd *guess* that if PEnnsylvania 6-5000 isn't the oldest continuously assigned phone number, it's at least the oldest in the US?
02:00:08 -!- Essadon has quit (Quit: Qutting).
02:08:34 <zzo38> OK, maybe that is what it is
03:13:07 <zzo38> I have written a (currently untested) SQLite remote virtual table module. I am now writing documentation of the protocol.
03:13:19 <zzo38> Do you like this?
03:46:19 <esowiki> [[User:Cortex]] N https://esolangs.org/w/index.php?oldid=58208 * Cortex * (+20) Created page with "Mainly just a reader"
04:23:48 -!- esowiki has quit (Ping timeout: 252 seconds).
04:24:28 -!- esowiki has joined.
04:51:22 <esowiki> [[TEPCS]] N https://esolangs.org/w/index.php?oldid=58209 * Cortex * (+1463) Created page with "(this article is under construction) TEPCS (Tilde, Exclamation Point, Caret, Semicolon) is an incomplete programming language created by [[User:Cortex]] at around midnight, N..."
05:04:21 -!- oerjan has quit (Quit: Nite).
05:43:55 <esowiki> [[TEPCS]] https://esolangs.org/w/index.php?diff=58210&oldid=58209 * Cortex * (+79)
05:44:28 <esowiki> [[TEPCS]] M https://esolangs.org/w/index.php?diff=58211&oldid=58210 * Cortex * (-2)
06:32:37 <esowiki> [[TEPCS]] M https://esolangs.org/w/index.php?diff=58212&oldid=58211 * Cortex * (-30)
06:41:15 <esowiki> [[TEPCS]] https://esolangs.org/w/index.php?diff=58213&oldid=58212 * Cortex * (+64)
07:02:35 -!- xkapastel has joined.
07:30:15 <esowiki> [[Keg]] N https://esolangs.org/w/index.php?oldid=58214 * JonoCode9374 * (+10011) Created page with "= Keg (Ke)yboard (G)olfed = ''Keg'' is a stack-based esolang with condensability as well as simplicity and readability in mind. Its main purpose is to be used for golf..."
07:31:09 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58215&oldid=58214 * JonoCode9374 * (+95) Added categories
07:32:59 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58216&oldid=58204 * JonoCode9374 * (+10) Added keg
07:42:54 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58217&oldid=58215 * JonoCode9374 * (+30)
07:47:05 <esowiki> [[W]] N https://esolangs.org/w/index.php?oldid=58218 * Cortex * (+1361) Created page with "W is a programming language with various unnecessary, redundant, and useless commands. If the compiler encounters an error, the source code is encrypted into the SHA1 hashing..."
07:59:46 -!- Sgeo_ has joined.
08:02:30 -!- Sgeo has quit (Ping timeout: 252 seconds).
08:41:10 -!- dingbat has quit (Quit: Connection closed for inactivity).
08:59:05 -!- arseniiv has joined.
09:08:46 -!- imode has quit (Ping timeout: 272 seconds).
09:34:54 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=58219&oldid=58208 * Cortex * (+7)
09:52:43 -!- xkapastel has quit (Quit: Connection closed for inactivity).
09:52:54 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58220&oldid=58216 * Cortex * (+12)
09:59:10 -!- AnotherTest has joined.
10:02:54 <esowiki> [[TEPCS]] M https://esolangs.org/w/index.php?diff=58221&oldid=58213 * Cortex * (+0)
10:12:05 -!- hexfive has quit (Quit: WeeChat 2.2).
10:22:28 -!- Cortex has joined.
10:23:15 <Cortex> d
10:24:38 -!- Cortex has quit (Client Quit).
10:56:37 <esowiki> [[W]] https://esolangs.org/w/index.php?diff=58222&oldid=58218 * Cortex * (+471)
10:59:17 <esowiki> [[TEPCS]] https://esolangs.org/w/index.php?diff=58223&oldid=58221 * Cortex * (+42)
11:11:29 -!- wob_jonas has joined.
11:11:33 <wob_jonas> zzo38: how old is that one?
11:45:28 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
11:47:58 -!- Lord_of_Life has joined.
11:47:58 -!- Lord_of_Life has quit (Changing host).
11:47:58 -!- Lord_of_Life has joined.
11:48:49 <wob_jonas> arseniiv: re Russian cursive in your video. I think I already mentioned how one of the tricks used that was non-obvious to me is that the letters л and м start with a peak close to the baseline, unless they're at the start of a word, which is how м clearly differs from и.
11:49:05 <wob_jonas> That one is non-obvious to me because Hungarian cursive never uses low peaks.
11:50:51 <wob_jonas> arseniiv: But I have a different question. At the start of the letters и, г, ь (and probably others), what decides whether you start the letter with a high frowny mouth going into the down straight line, or with a high peak going into a down straight line instead?
11:52:06 <wob_jonas> I also don't understand how the heck ъ works, but I think if I knew the answer to the previous question, that would become more obvious.
12:31:11 -!- Essadon has joined.
12:38:17 <arseniiv> wob_jonas: hm hm let me think…
12:40:09 <wob_jonas> This probably applies to more letters, like у, ш, ч etc, it's jsut и that's the most common and ь that's the most confusing to me.
12:40:55 <arseniiv> as far as I understand the question, I thought these two cases are the same and maybe I just wrote them unclearly
12:43:48 <wob_jonas> In Hungarian cursive, the normal way for letters that start with a downstroke like u, i, n, m, j, p, v, w is to connect with a high peak if the previous letter ends low, or with a high smile going into a peak if the previous letter ends high. A high frown instead of the peak could be used instead, and is seen in some styles, but I don't really like
12:43:48 <wob_jonas> that because it makes writing more ambiguous in some cases.
12:45:04 -!- xkapastel has joined.
12:45:12 <arseniiv> I think something like that applies here too
12:46:54 <wob_jonas> In some styles, the letter s and r also starts with a peak with possibly a high smile before, but the style I learned uses an alternate r which actually starts with a high frown going into a straight line down, and for a top connection from before, such as "or", that becomes a high wave (flipped tilde). The letter z also starts with a high frown in
12:46:54 <wob_jonas> some styles.
12:48:14 <wob_jonas> arseniiv: maybe you use a high smile for и at the start of a word to make it more distinct from an м ?
12:49:33 <arseniiv> at the start I’d begin и straight with a downstroke, as there’s nothing before it
12:49:56 <wob_jonas> ok, that works too
12:50:41 <arseniiv> I hope I said something helpful :D
12:50:52 <wob_jonas> still... I should check the video to find cases when you start и or г etc with a high frown. That seemed to occur several times, and didn't seem to be random sloppyness.
12:51:41 <arseniiv> okay, I’ll try to analyse these if you find them
12:52:58 <arseniiv> also maybe I’ll write something static on paper and scan it, if you’d have some suggestions
12:53:26 <arseniiv> this should be easier and also clearer
12:53:47 <wob_jonas> And I'll also look for instances of ф because it's just too rare and I don't understand how it works, but that's less important because ф is distinctive enough that it's easy to recognize in any context.
12:55:03 <wob_jonas> I also don't understand why you wrote the uppercase Т in two different stroke orders, but that doesn't seem important.
12:55:37 <wob_jonas> I don't care much about the uppercase letters, writing them in this fancy cursive style seems excessive anyway, I don't really do that even for Hungarian cursive.
12:56:18 <wob_jonas> Cursive is just not designed to accomodate uppercase letters in the fancy style people invented for it, half of the uppercase letters in Hungarian cursive don't even work.
12:57:43 <wob_jonas> arseniiv: in the В page, you write ьг with a high frown connecting the г
12:58:13 <wob_jonas> No sorry, in the Б page
12:59:17 <wob_jonas> In the Г page, the standalone г is like that too
12:59:35 <wob_jonas> doesn't matter for a standalone letter of course
13:02:38 <arseniiv> wob_jonas: I also don't understand why you wrote the uppercase Т in two different stroke orders, but that doesn't seem important. => usually I don’t write Т in cursive style, so I’m undiscipled in this case
13:03:28 <wob_jonas> Yeah, makes sense. Most uppercase letters just look stupid in this sort of cursive. They're just inherited simplified from back when people wrote more fancy cursives.
13:03:49 <arseniiv> writing them in this fancy cursive style seems excessive anyway, I don't really do that even for Hungarian cursive. => yes, the same for me, maybe except some letters that are simpler to write than sans-serify variants
13:04:06 <arseniiv> I love to agree
13:04:07 <wob_jonas> yes, "A" specifically
13:04:27 <wob_jonas> uppercase "A" is quite common in Hungarian because of the articles
13:04:44 <wob_jonas> and it happens to work out decent in two different cursive ways
13:04:47 <arseniiv> ok now I’ll watch that part
13:06:11 <wob_jonas> Some other uppercase letters work out because they happen to be just the lowercase letter grown up AND have a low connection. The ones with a high connection like "O" or "V" don't work well because you can't connect the next letter to the uppercase high connection.
13:06:36 <wob_jonas> "R" also works out fine, the same as "A".
13:07:56 <wob_jonas> Back in the video, the И page is not so clear, but it looks like you're trying to write the г with a high frown.
13:08:44 <wob_jonas> The Й page also definitely has a г with a frown
13:10:13 <wob_jonas> That means I have to look for a г with a peak, because maybe г normally starts with a frown.
13:10:40 <arseniiv> yes I think so
13:11:36 <arseniiv> okay I’ll be back several hours later I think
13:17:39 <wob_jonas> Щ page has frowning г too
13:19:24 <wob_jonas> oh I see! you definitely have to write ьг with a frowning г, because otherwise it would look like ы
13:21:52 <arseniiv> oops I just realised I had misread “frowning” as “smiling”, hm
13:22:44 <wob_jonas> I may have confused them somwhere too
13:28:19 <wob_jonas> Yeah, no more letter г, so it looks like you always wrote it frowning. Though now I wonder how you'd write ог
13:40:21 <arseniiv> something like that: https://i.postimg.cc/4ytgjWhV/Screenshot-1607.png
13:48:27 <wob_jonas> Ok.
13:58:05 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:14:19 -!- imode has joined.
16:27:46 -!- Sgeo__ has joined.
16:30:01 -!- Sgeo_ has quit (Ping timeout: 260 seconds).
16:40:26 -!- TellsTogo has joined.
17:09:33 -!- dingbat has joined.
18:01:47 -!- imode has quit (Ping timeout: 240 seconds).
18:03:18 -!- sftp has quit (Excess Flood).
18:03:35 <moony> wob_jonas you watching the logs?
18:04:00 <moony> Would the tradeoff of 4 YMM registers be worth it to keep all 32 GPR accessable at a moment's notice?
18:04:41 <moony> (Aka so i don't have to worry about the GPR falling out of cache)
18:06:47 -!- TellsTogo has quit (Ping timeout: 256 seconds).
18:13:42 -!- sftp has joined.
18:14:16 <zzo38> My remote virtual table extension currently does not support encrypted connections, nor supporting authentication. Now I try to figure out, how should I fix this? Should a proxy be used?
18:43:23 -!- zzo38 has quit (Ping timeout: 268 seconds).
18:46:41 -!- zzo38 has joined.
19:48:42 -!- imode has joined.
20:18:16 <esowiki> [[TEPCS]] M https://esolangs.org/w/index.php?diff=58224&oldid=58223 * Cortex * (+1)
20:31:48 -!- wob_jonas has joined.
20:31:51 <wob_jonas> moony: ping
20:31:57 <moony> 2hi
20:35:20 <wob_jonas> zzo38: re remote virtual table, I recommend to allow two things: for the same computer (but different process), use a PF_INET named socket, which you can put in an access-controlled directory, or use the sendmsg/recvmsg SO_PASSCRED to check the uid and gid of the other side of the connection. For remote connections,
20:37:25 <wob_jonas> use an optional SSL/TLS connection through a tcp socket, and expose the connection handle of the underlying SSL/TLS library (there's more than one option for that) to the user process so they can configure whatever options, including a sending a client certificate, and verifying from server/client side that the other side has one of a set of allowe
20:37:25 <wob_jonas> d client/server certificates.
20:39:39 <wob_jonas> moony: I can't really tell, this depends on (1) the architecture of that CPU you're emulating, (2) the host cpu you require, (3) how exactly your emulator works, how much it needs other registers, how often does it need to free registers to call a non-emulated function, etc.
20:40:38 <wob_jonas> moony: I don't know enough of that cpu you're emulating and the programs running on it to even guess.
20:40:51 <moony> RIP
20:40:57 -!- imode has quit (Ping timeout: 252 seconds).
20:41:00 <moony> i'll try it, maybe.
20:41:40 <wob_jonas> but reserving entire YMMs is very hard, because the calling conventions say that the top half of all YMM registers are caller-saved, so every function you call will modify them
20:42:10 <moony> I don't really need many XMMs at all
20:42:29 <moony> it literally would not hurt one bit to use 8 of the XMM registers for storage
20:42:31 <wob_jonas> moony: yes, but you don't have enough caller-saved XMM registers either, do you?
20:42:37 <moony> hm
20:42:46 <wob_jonas> moony: it's not you, it's all functions you call from libraries
20:43:11 <moony> I AM using a nonstandard CC, which helps a bit. A lot of the library functions i'm going to use adhere to said custom CC
20:43:23 <wob_jonas> wait, let me check how the calling convention goes exactly (in Agner's docs; there's other official docs out there like the 64-bit ELF docs that explain this, but it's nigh-unreadable)
20:43:31 <moony> for the ones that dont, they arn't called very often, and wrapping them with saving isn't hard.
20:44:42 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:46:17 -!- wob_jonas has joined.
20:46:17 <wob_jonas> moony: this isn't on windows, right? on x86_64 unix, every XMM register is scratch, so the caller has to save it
20:46:52 <wob_jonas> moony: this isn't on windows, right? on x86_64 unix, every XMM register is scratch, so the caller has to save it.
20:46:58 <moony> alright
20:47:09 <moony> yea, i'm on linux
20:47:12 <moony> windows smells
20:47:23 <moony> and i don't have a windows machine to dev on anyways even if i wanted to
20:50:22 <wob_jonas> moony: you'll probably have to have the JIT track which of those four YMM registers (if you decide to use YMM for this that is, I'm not sure that's a good idea) are swapped in to registers, and which are in RAM (presumably usually L1 cache) at which point.
20:50:52 <wob_jonas> and load them into register if you need it more than once, then swap it out to memory when you have to call external code.
20:51:37 <wob_jonas> it gets ugly, whether it's worth may depend on how long stretches of compiled code you expect to be able to run without interruption
20:51:42 <wob_jonas> dunno
20:54:18 <wob_jonas> do you expect to be able to compile jumps safely? is self-modifying code rare on this arch, and is code and writable data generally separated to different 4k pages, so you can detect writes to code by setting the pages containing code that you have compiled to read-only and trapping the fault?
20:54:59 <wob_jonas> Oh wait, you said you have to run complex code for memory accesses because you're emulating the cache, right?
20:55:08 <wob_jonas> In that case that won't be necessary, luckily.
20:55:16 <wob_jonas> You can just have your memory emulation handle it.
20:55:21 <wob_jonas> Unless you want a slow and a fast mode.
20:57:43 -!- imode has joined.
21:03:30 <esowiki> [[TEPCS]] https://esolangs.org/w/index.php?diff=58225&oldid=58224 * Cortex * (+60)
21:03:52 -!- imode has quit (Ping timeout: 246 seconds).
21:05:03 <zzo38> How does a PF_INET named socket work and how is SO_PASSCRED work?
21:05:40 <wob_jonas> zzo38: sorry, for local connections I mean a PF_UNIX named socket
21:05:53 <zzo38> O, OK.
21:05:58 <wob_jonas> do you know how that works at least?
21:06:28 <zzo38> I believe the man page explains it
21:06:29 <wob_jonas> sendmsg/recvmsg is ugly, it has a somewhat inconvenient API, although it's one you'll probably like
21:06:57 <wob_jonas> the bad part is only the rare case you'll almost never meet, which is reading multiple control messages at the same time, that's hard
21:08:13 <wob_jonas> basically with setsockopt thingies you can subscribe to various control or debug information about a socket, and then recvmsg gets as many of them as fit in the buffer, so if you get more than one type, you need some very stupid alignment calculation because they were too lazy to put a next link pointer in the messages
21:09:11 <wob_jonas> but for AF_LOCAL sockets, probably only two kinds of control messages make sense:
21:09:43 <wob_jonas> SOL_RIGHTS and SOL_CREDENTIALS, and you only need the latter here
21:12:57 <wob_jonas> The relevant docs are http://man7.org/linux/man-pages/man2/setsockopt.2.html , http://man7.org/linux/man-pages/man2/recvmsg.2.html , http://man7.org/linux/man-pages/man2/sendmsg.2.html , http://man7.org/linux/man-pages/man7/unix.7.html , and perhaps also socket(7), socket(2), bind(2), listen(2), connect(2), accept(2), etc.
21:13:32 <wob_jonas> There's also a parallel set of docs in http://man.openbsd.org/cgi-bin/man.cgi which are organized differently, the interface you need is the same, but you can choose which docs you prefer.
21:14:42 <wob_jonas> (Not all interfaces are the same, but they don't differe in unexpected ways, it's just that certain obscure APIs are present in only some operating systems or versions, but they'll nicely give compile error or runtime error from the calls when you call them.
21:14:52 <wob_jonas> I don't think any differing interfaces are relevant here.)
21:15:04 <zzo38> I have read the the documents socket(2), bind(2), listen(2), connect(2), and accept(2) (I have them on my computer, so do not need to access those webpages), although this SQLite extension uses socket() and connect(); it is only the client and not the server.
21:15:25 <wob_jonas> sure, I can just link to the pages on the web more easily than what's on your computer
21:15:48 <wob_jonas> um... but you'll have to write a server too to try it, right?
21:16:02 <zzo38> Yes, and I did write a test server program in JavaScript to test it
21:16:40 <wob_jonas> anyway, as for SSL/TLS, I haven't worked with any SSL/TLS library directly, and there are like five different ones, at least three of which are still supported, and I don't know enough about them to be able to help
21:17:12 <wob_jonas> there's GnuTLS, NaCL, and two incompatible major versions of OpenSSL I think
21:17:19 <wob_jonas> probalby more that I don't know about
21:17:44 <wob_jonas> Welcome to the international cornucopia for esoteric programming language discussion, design, development and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf
21:17:56 -!- wob_jonas has set topic: Welcome to the international cornucopia for esoteric programming language discussion, design, development and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf.
21:18:40 <wob_jonas> Should I write "the international pharmacopœia" instead?
21:18:59 <zzo38> I don't know if you should write that or not
21:20:49 <wob_jonas> sadly "cornucopœia" is apparently not a word
21:22:56 <esowiki> [[Special:Log/newusers]] create * Only Onion * New user account
21:33:08 <wob_jonas> zzo38: I assumed you'd just write a server that exposes a set of tables from an sqlite database read-only in a way that your remote virtual table client can connect to it.
21:34:20 <wob_jonas> And perhaps saves some log or debug information.
21:34:40 <zzo38> wob_jonas: I could do that (and it could be useful to do), although at first I just wrote a simple testing program.
21:34:53 <wob_jonas> makes sense
21:36:26 <zzo38> This remote virtual table protocol does support writable tables too (as long as the primary key is no more than one column), although of course the server may wish to provide read-only data anyways.
21:37:09 <wob_jonas> That's nice, but I'm more interested in read-only.
21:38:25 <wob_jonas> zzo38: is this extension somewhere on your server? can I get an URL?
21:39:29 <zzo38> Yes. All of my SQLite extensions are in one ZIP file: http://zzo38computer.org/sql/sqlext.zip The file "sqlext_remote.c" implements the client, and "sqlext_remote.doc" is the documentation (including the description of the protocol).
21:39:41 <wob_jonas> ah, it's in a zip file. ok.
21:40:06 <wob_jonas> and it's not in /textfiles
21:40:08 <wob_jonas> um
21:40:10 <wob_jonas> not in /textfile
21:43:47 <wob_jonas> and the sql/ directory isn't even in the gopher
21:43:59 <wob_jonas> so it's well hidden
21:45:02 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58226&oldid=58110 * Only Onion * (+227)
21:45:10 <wob_jonas> this means there are at least three roots for this forest on your server: the gopher root (which leads to textfile/ and quizmenu/ ), "http://zzo38computer.org/sql/" , and "http://zzo38computer.org/fossil/"
21:45:13 <zzo38> These extensions are mentioned in the topic message for the #sqlite channel in Freenode IRC.
21:51:35 <wob_jonas> I wouldn't have thought to look there, but ok
21:56:21 <esowiki> [[Surreal FOREVER loop]] https://esolangs.org/w/index.php?diff=58227&oldid=46223 * Only Onion * (+25) Linked Zeno, as its main feature is essentially this.
21:58:24 <esowiki> [[Zeno]] https://esolangs.org/w/index.php?diff=58228&oldid=51801 * Only Onion * (+41) Linked a page that seems to describe the same concept as the zeno loop.
22:00:04 <moony> wob_jonas, well, it's probably going to be necessary. the most efficient and fastest way to handle a JIT'd memory block being modified while it's executing is to let the block continue until a check comes along, and then discard whatever it did when it hits the check
22:00:24 <moony> that means that i'll need a duplicate of the GPR and XR anyways
22:01:35 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58229&oldid=58217 * JonoCode9374 * (-33)
22:02:02 <wob_jonas> moony: sure, but only if the programs you have are modern and actually rarely write pages with code, and here pages means pages on the host OS, which will probably be 8k size
22:02:43 <wob_jonas> although you could waste some of the memory by leaving gaps in the emulated machine's memory as you map it to the host memory, but that's ugly
22:07:04 <zzo38> Did you read the document of the protocol? Did you see if it is good?
22:07:57 <wob_jonas> not yet
22:08:02 -!- Phantom_Hoover has joined.
22:08:06 -!- moei has quit (Quit: Leaving...).
22:13:25 <esowiki> [[Surreal FOREVER loop]] https://esolangs.org/w/index.php?diff=58230&oldid=58227 * Only Onion * (+2)
22:13:38 <esowiki> [[Zeno]] https://esolangs.org/w/index.php?diff=58231&oldid=58228 * Only Onion * (+2)
22:14:37 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
22:16:04 <esowiki> [[Brainfoctal]] N https://esolangs.org/w/index.php?oldid=58232 * Salpynx * (+11233) getting these thoughts down in some form
22:16:05 <esowiki> [[W]] https://esolangs.org/w/index.php?diff=58233&oldid=58222 * Cortex * (+198)
22:24:27 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58234&oldid=58229 * JonoCode9374 * (+1)
22:25:51 -!- AnotherTest has quit (Ping timeout: 260 seconds).
22:32:04 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58235&oldid=58232 * Salpynx * (+249) /* Quines */ link to Unary Quine
22:51:29 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=58236&oldid=58180 * Salpynx * (+19) /* Mathematics */ Brainfoctal is Gdel numbering
23:19:32 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58237&oldid=58235 * Salpynx * (+212) Polyglots
23:20:20 <esowiki> [[Brainfoctal]] M https://esolangs.org/w/index.php?diff=58238&oldid=58237 * Salpynx * (+1) /* Polyglots */
23:29:31 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=58239&oldid=58234 * JonoCode9374 * (+3)
23:32:37 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=58240&oldid=58239 * JonoCode9374 * (+95)
23:35:30 -!- moony has quit (Quit: Bye!).
23:36:42 -!- moony has joined.
23:39:44 -!- moony has quit (Excess Flood).
23:42:07 -!- moony has joined.
23:44:15 -!- Lord_of_Life_ has joined.
23:48:01 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
23:48:02 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:48:02 -!- Lord_of_Life has quit (Changing host).
23:48:02 -!- Lord_of_Life has joined.
23:52:23 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:54:17 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58241&oldid=58240 * JonoCode9374 * (+74)
2018-11-05
00:00:04 -!- danieljabailey has quit (Quit: ZNC 1.6.5+deb2build2 - http://znc.in).
00:00:20 -!- danieljabailey has joined.
00:00:32 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58242&oldid=58241 * JonoCode9374 * (-2)
00:03:53 -!- wob_jonas has joined.
00:03:56 <wob_jonas> `ping
00:03:57 <HackEso> pong
00:04:02 -!- Essadon has quit (Quit: Qutting).
00:19:54 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58243&oldid=58242 * JonoCode9374 * (+7) /* External Resources */
00:21:02 <zzo38> I will play GURPS game tomorrow morning so if you bet what will be done then I can tell you tomorrow if it is good or not.
00:28:39 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=58244&oldid=58236 * Only Onion * (+35)
00:54:59 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
01:14:56 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=58245&oldid=58244 * Only Onion * (+108)
01:19:19 -!- oerjan has joined.
01:33:22 -!- arseniiv has quit (Ping timeout: 246 seconds).
02:13:27 <oerjan> *sigh* alpine gets really annoyingly nagging when the imap server goes down for a few minutes...
02:13:57 <oerjan> and the only option i found for turning it off _also_ turns off pinging on new mail, which i want
03:25:42 -!- imode has joined.
03:34:15 -!- fungot has quit (Ping timeout: 264 seconds).
03:37:07 -!- fungot has joined.
03:59:52 <oerjan> fungot: quiet, isn't it?
03:59:53 <fungot> oerjan: ( which is based on the same location
04:00:11 <oerjan> fungot: i'm not sure of that
04:00:12 <fungot> oerjan: sorting misc. stuff is code that loops over each ip.... no? objects have some tags so returned value of ( dec 4) 5) fnord
04:00:40 <oerjan> fungot: maybe.
04:00:41 <fungot> oerjan: what are the odds?) worked on his system handles the reduction and multiplication of units in strings which is defined as a list ( list ' define... ( namedlet-body exp))
04:01:12 <oerjan> fungot: 3:88
04:01:13 <fungot> oerjan: classes are c++, it's c/ c++ are used commercially, have a kitten." oh boy, now i can't leave until 1800 hours, and it's conceptually nice given that semantics for
04:21:25 <esowiki> [[TEPCS]] https://esolangs.org/w/index.php?diff=58246&oldid=58225 * Cortex * (-29)
04:22:24 -!- hexfive has joined.
05:34:12 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=58247&oldid=58219 * Cortex * (+31)
05:49:13 -!- clog has quit (Ping timeout: 246 seconds).
05:49:19 -!- clog has joined.
06:49:37 -!- oerjan has quit (Quit: Nite).
07:29:32 -!- imode has quit (Ping timeout: 272 seconds).
08:41:54 -!- sprocklem has quit (Quit: brb).
08:42:31 -!- sprocklem has joined.
09:03:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
10:18:26 -!- AnotherTest has joined.
11:22:50 -!- arseniiv has joined.
11:47:40 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
11:48:33 -!- Lord_of_Life has joined.
11:48:33 -!- Lord_of_Life has quit (Changing host).
11:48:33 -!- Lord_of_Life has joined.
12:09:41 -!- Essadon has joined.
12:12:02 -!- xkapastel has joined.
13:15:42 -!- TellsTogo has joined.
13:26:45 -!- TellsTogo has quit (Ping timeout: 256 seconds).
13:31:19 -!- rain1 has joined.
13:52:57 -!- sprocklem has quit (Ping timeout: 252 seconds).
13:54:03 -!- sprocklem has joined.
14:01:13 -!- sprocklem has quit (Ping timeout: 252 seconds).
14:03:46 -!- sprocklem has joined.
14:16:01 -!- Hooloovo0 has quit (Quit: Temporarily refracted into a free-standing prism.).
14:18:39 -!- sleepnap has joined.
14:25:37 -!- Hoolootwo has joined.
15:17:03 -!- hexfive has quit (Quit: WeeChat 2.2).
16:11:20 -!- imode has joined.
17:22:07 -!- Xor256 has joined.
17:22:44 <Xor256> hello, I'm new
17:24:08 <Taneb> Hi!
17:26:26 -!- mniip has quit (Quit: This page is intentionally left blank.).
17:27:29 -!- heroux has quit (Quit: Lost terminal).
17:29:02 -!- mniip has joined.
17:42:09 <Xor256> A language where a vector moves on surface which is answer to a polynomial expression
17:42:21 <Xor256> and you can alter variables on that expression
18:05:19 -!- Xor256 has quit (Quit: Leaving).
18:09:37 <arseniiv> laconic
18:34:34 -!- Hoolootwo has quit (Ping timeout: 250 seconds).
18:47:59 -!- Hoolootwo has joined.
19:10:22 -!- imode has quit (Ping timeout: 246 seconds).
19:11:16 -!- josh5tone has joined.
19:16:06 <esowiki> [[Special:Log/newusers]] create * Nulljester * New user account
19:16:36 -!- imode has joined.
19:20:21 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=58248&oldid=58226 * Nulljester * (+169)
19:40:48 <esowiki> [[Special:Log/newusers]] create * TBurnip * New user account
19:43:27 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58249&oldid=58248 * TBurnip * (+205)
20:15:53 <esowiki> [[Twoee]] N https://esolangs.org/w/index.php?oldid=58250 * TBurnip * (+1384) First Edition of the page good luck and god speed
20:16:17 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58251&oldid=58250 * TBurnip * (-5)
20:19:25 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58252&oldid=58251 * TBurnip * (+4)
20:21:04 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58253&oldid=58252 * TBurnip * (+517)
20:21:34 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58254&oldid=58253 * TBurnip * (+20) /* Design Aims Proof Code */
20:21:48 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58255&oldid=58254 * TBurnip * (+5) /* This proves that our design aims are meet */
20:22:51 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58256&oldid=58255 * TBurnip * (+12)
20:23:44 -!- imode has quit (Quit: WeeChat 2.3).
20:24:08 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58257&oldid=58256 * TBurnip * (-4) /* Control Operator */
20:24:40 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58258&oldid=58257 * TBurnip * (+14)
20:58:00 -!- Hoolootwo has quit (Ping timeout: 250 seconds).
21:09:24 -!- Hoolootwo has joined.
21:13:44 -!- Phantom_Hoover has joined.
21:13:44 -!- Phantom_Hoover has quit (Changing host).
21:13:44 -!- Phantom_Hoover has joined.
21:49:41 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58259&oldid=58243 * JonoCode9374 * (+112)
21:50:22 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58260&oldid=58259 * JonoCode9374 * (-32)
21:52:23 -!- wob_jonas has joined.
22:16:41 -!- arseniiv has quit (Quit: gone completely :o).
22:23:22 <esowiki> [[]] https://esolangs.org/w/index.php?diff=58261&oldid=57952 * Salpynx * (+4300) add notes on computational class (believed TC) , and give more powerful examples
22:29:36 -!- Hoolootwo has quit (Ping timeout: 260 seconds).
22:46:05 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=58262&oldid=58081 * Salpynx * (+218) Add variant
23:05:18 -!- AnotherTest has quit (Ping timeout: 264 seconds).
23:11:04 -!- Hoolootwo has joined.
23:31:50 -!- postno has joined.
23:32:30 <postno> test
23:41:27 -!- sftp has quit (Ping timeout: 252 seconds).
23:44:54 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
23:45:27 -!- Lord_of_Life_ has joined.
23:47:25 -!- sftp has joined.
23:49:10 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
23:49:11 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:49:11 -!- Lord_of_Life has quit (Changing host).
23:49:11 -!- Lord_of_Life has joined.
23:50:30 -!- Hoolootwo has quit (Ping timeout: 252 seconds).
23:52:40 -!- Hoolootwo has joined.
23:58:05 -!- Phantom_Hoover has quit (Remote host closed the connection).
2018-11-06
00:15:51 -!- wob_jonas has joined.
00:15:52 <wob_jonas> `bobadventureslist http://bobadventures.comicgenesis.com/d/20181105.html
00:15:53 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: bobadventureslist: not found
00:15:58 -!- wob_jonas has quit (Client Quit).
00:27:51 -!- sleepnap has left.
00:35:10 -!- tromp has quit (Remote host closed the connection).
00:35:46 -!- tromp has joined.
00:41:45 -!- Hoolootwo has quit (Ping timeout: 252 seconds).
00:49:09 -!- Hoolootwo has joined.
01:08:37 -!- Essadon has quit (Quit: Qutting).
01:36:55 <esowiki> [[Anguish]] https://esolangs.org/w/index.php?diff=58263&oldid=47065 * Only Onion * (+61) Added categories.
01:41:06 <esowiki> [[Anguish]] https://esolangs.org/w/index.php?diff=58264&oldid=58263 * Only Onion * (+0)
01:53:04 -!- postno has left ("Leaving").
02:05:10 -!- moony has quit (Remote host closed the connection).
02:06:40 -!- moony has joined.
02:17:01 -!- copumpkin[m] has quit (Ping timeout: 250 seconds).
02:17:23 -!- siraben has quit (Ping timeout: 250 seconds).
02:20:12 -!- danieljabailey has quit (Ping timeout: 252 seconds).
02:21:59 -!- danieljabailey has joined.
02:47:59 -!- siraben has joined.
02:49:02 -!- copumpkin[m] has joined.
03:03:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:13:55 -!- imode has joined.
03:39:25 -!- siraben has quit (Ping timeout: 252 seconds).
03:39:42 -!- copumpkin[m] has quit (Ping timeout: 250 seconds).
04:34:13 -!- copumpkin[m] has joined.
04:34:45 -!- siraben has joined.
04:51:59 <esowiki> [[]] M https://esolangs.org/w/index.php?diff=58265&oldid=58261 * Salpynx * (+0)
04:53:06 <esowiki> [[]] M https://esolangs.org/w/index.php?diff=58266&oldid=58265 * Salpynx * (+2) /* Theme */
05:07:07 -!- imode has quit (Ping timeout: 240 seconds).
05:23:11 -!- siraben has quit (Changing host).
05:23:11 -!- siraben has joined.
05:23:11 -!- siraben has quit (Changing host).
05:23:11 -!- siraben has joined.
05:23:30 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58267&oldid=58249 * SlackerSnail * (+117) /* Introductions */
05:33:52 -!- atslash has joined.
05:40:21 <esowiki> [[Ahead]] N https://esolangs.org/w/index.php?oldid=58268 * SlackerSnail * (+1240) Creating page
05:40:51 <esowiki> [[Ahead]] https://esolangs.org/w/index.php?diff=58269&oldid=58268 * SlackerSnail * (-6) /* Overview */
05:42:21 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58270&oldid=58220 * SlackerSnail * (+12) /* A */ Add Ahead
05:44:12 <esowiki> [[Ahead]] https://esolangs.org/w/index.php?diff=58271&oldid=58269 * SlackerSnail * (+97) added categories
05:44:44 <esowiki> [[Ahead]] https://esolangs.org/w/index.php?diff=58272&oldid=58271 * SlackerSnail * (-40)
05:45:12 -!- atslash has quit (Quit: Leaving).
05:47:09 -!- atslash has joined.
05:49:10 <esowiki> [[Ahead]] https://esolangs.org/w/index.php?diff=58273&oldid=58272 * SlackerSnail * (+62) categories
08:16:35 -!- tromp has quit (Remote host closed the connection).
08:16:51 -!- tromp has joined.
09:46:04 -!- AnotherTest has joined.
09:52:02 -!- tromp has quit (Remote host closed the connection).
09:52:29 -!- xkapastel has joined.
09:52:40 -!- tromp has joined.
10:07:22 -!- hexfive has joined.
10:07:50 -!- tromp has quit (Remote host closed the connection).
10:08:05 -!- tromp has joined.
10:36:23 -!- hexfive has quit (Quit: WeeChat 2.2).
11:03:34 <esowiki> [[Twoee]] https://esolangs.org/w/index.php?diff=58274&oldid=58258 * TBurnip * (+590)
11:06:30 -!- wob_jonas has joined.
11:08:10 <wob_jonas> zzo38: I think this is the first time at work when I met a case when SQL would actually be helpful to solve a problem, and it's on data that isn't yet in an SQL table. That is, it's not a persistent database that would be helpful, but some SQL statements for merging data between too many tables at the same time in several different ugly ways to fin
11:08:10 <wob_jonas> d all sorts of inconsistencies between three datasets.
11:10:05 <wob_jonas> I'm getting one dataset from a very ad hoc excel table with random data format where I can only find the ranges I need by hand, plus another datasets of a more consistent format but several tables and not in SQL format, and I have to look for inconsistencies in just the second dataset in various ways, and between the first and second dataset togeth
11:10:05 <wob_jonas> er.
11:10:40 <wob_jonas> The second dataset already has parts of the first dataset merged in, but badly, so I can't trust them matching.
11:41:19 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
11:47:15 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
11:50:19 -!- Lord_of_Life has joined.
11:50:20 -!- Lord_of_Life has quit (Changing host).
11:50:20 -!- Lord_of_Life has joined.
11:53:53 -!- moei has joined.
12:44:06 -!- AnotherTest has quit (Ping timeout: 252 seconds).
13:13:40 -!- arseniiv has joined.
13:13:55 -!- AnotherTest has joined.
13:43:48 -!- Essadon has joined.
14:08:10 -!- sleepnap has joined.
14:25:10 -!- rodgort has quit (Quit: Leaving).
14:34:33 -!- rodgort has joined.
14:59:38 -!- AnotherTest has quit (Ping timeout: 244 seconds).
15:10:47 -!- imode has joined.
15:16:50 -!- atslash has quit (Quit: Leaving).
15:21:36 -!- sebbu has quit (Read error: Connection reset by peer).
15:21:58 -!- sebbu has joined.
15:33:18 -!- imode has quit (Ping timeout: 252 seconds).
15:50:07 <esowiki> [[Alphabet Stew]] M https://esolangs.org/w/index.php?diff=58275&oldid=57488 * DMC * (-11) /* Concept */
15:57:30 -!- Gregor has quit (Ping timeout: 264 seconds).
15:58:15 -!- Gregor has joined.
16:04:18 -!- Gregor has quit (Ping timeout: 252 seconds).
16:09:54 -!- j-bot has joined.
16:15:38 <izabera> write an eval quine
16:16:29 <izabera> i.e. a statement in your favourite language that looks like eval foo bar baz and that will evaluate to eval foo bar baz
16:16:37 <izabera> and infinitely recurse
16:50:52 -!- imode has joined.
17:14:52 -!- oerjan has joined.
17:36:23 -!- S_Gautam has joined.
18:09:50 -!- oerjan has quit (Quit: Later).
18:18:48 -!- moony2 has joined.
18:19:14 <moony2> My work must be cut out for me. I forgot the Errata sheets existed for the MC88100, and now i can't find them.
18:19:35 <moony2> because apparently there are a few major bugs in the originals that probably need to be emulated
18:20:10 -!- Gregor has joined.
18:20:37 <moony2> i.e. the .usr bug, which from what i can tell requires padding of some sort to be added around any reads to user space from supervisor or else something stupid happens
18:20:55 <moony2> o/ Gregor, how's it going?w
18:23:24 -!- moei has quit (Read error: Connection reset by peer).
18:23:57 -!- moei has joined.
18:46:41 <int-e> `? hat
18:46:42 <HackEso> hatee-hatee-hatee-hooo
18:46:53 <int-e> `? high hat
18:46:54 <HackEso> A high hat is the same as a top hat, not the same as a hi-hat, just like how a top quark is not the same as an up quark.
18:50:09 * moony2 complains about how the MC88100 and the MC88110 have very different supervisor designs, but identical usermodes
18:51:08 <moony2> literally the only control registers the two share are fcr0, fcr62, fcr63, cr0, cr1, and cr2
18:55:22 <moony2> i'll probably only emulate the mc88110. the 88100 sucks anyways :p
19:06:54 -!- sleepnap has quit (Ping timeout: 252 seconds).
19:20:17 -!- sleepnap has joined.
19:26:12 -!- AnotherTest has joined.
19:29:48 -!- Phantom_Hoover has joined.
19:31:15 -!- wob_jonas has joined.
19:33:14 <wob_jonas> Standards are so great! My old Nokia 6502 phone, the current Nokia that I'm not satisfied with, and the new CAT B30 phone each use a different variant of the vcard file format to export contacts. So I'll have to look at the backup of the contacts this one makes, and try to write a converter that can emit something it can read.
19:34:27 <wob_jonas> Note that for the Nokia 6502, I tried to write the kind of file it needs (a zip file with individual files for each contact in vcard format), but failed to produce one that it would import. For the new Nokia I succeeded, and I think I'll be able to make something for this too,
19:35:19 <wob_jonas> because the CAT B30 could sort of read the vcard file that the Nokia exported (after I renamed its extension to ".vcf" instead of ".dat", which the in-phone file browser absolutely refuses to do, despite that it allows to rename the basename of the file, yay for protecting the user),
19:35:34 <wob_jonas> only it read most of the names wrong, because apparently it doesn't like mime equals sign quoted names.
19:39:30 <moony2> also, lucky me, the Luna88K (Which seems to be the only system OpenBSD supports, or at least i can't find the MVMe stuff) only runs at 33MHz, not 50MHz, so the CPU is running at 66MIPS not 100MIPS
19:39:34 <moony2> that means i have more leeway :D
19:40:14 <moony2> with the luna's memory model needing a lookup table for physical addresses, that's a very welcome thing.
19:40:37 <moony2> (Well, technically two, but having two is an optimization of all things)
19:42:21 <moony2> i still have absolutely no idea what TRI_PORT_RAM is. I know it's RAM (It's in the name), but i have zero idea what it does or how it works.
19:43:31 <moony2> at least there's no system specific expansion busses on it. It only has a PC-98 and a VME
19:44:14 <wob_jonas> moony2: re errata sheet -- ah right, it's an old CPU, "errata" doesn't mean that there's a new cpu ROM (microcode) update that fixes the bugs and the sheet tells what bugs it fixed, it means those bugs are there forever
19:44:23 <moony2> mhm
19:44:35 <moony2> and i kinda need that damn sheet, but it's no-where to be found :<
19:44:42 <wob_jonas> or even how to work around the bugs from kernel code, like in cpus in between
19:45:37 <moony2> OpenBSD's 88k setup has a bunch of stuff for some bug related to ld/st instructions with .usr applied
19:45:54 <moony2> all uses of ld or st isntructions with .usr are surrounded by NOPs
19:46:05 <moony2> and i have zero clue as to why :P
19:46:17 <wob_jonas> moony2: ouch
19:46:36 <moony2> in fact
19:46:47 <moony2> that NOP surround is gated behind a compiler flag for the bug
19:46:52 <moony2> so i know the reason is a bug
19:47:15 <wob_jonas> but what's this .usr thing?
19:47:37 <moony2> it allows STore and LoaD instructions executed in supervisor mode to pretend to be reading in user mode
19:47:50 <moony2> s/reading/executing/
19:47:55 <wob_jonas> ah, I see
19:48:33 <moony2> at least this is all well documented
19:48:38 <moony2> which helps immensely
19:48:47 <moony2> i bet the errata with .usr might be described somewhere
19:48:55 <wob_jonas> But is this something you have to emulate?
19:49:18 <moony2> Probably not. But emulating it == bonus points :p
19:49:54 <wob_jonas> Oh right, you want to write golf for the cpu, so you may want to be able to check that the golfed program doesn't run into the bug.
19:50:12 <wob_jonas> You don't just want to emulate OpenBSD, you want to write programs directly for the cpu.
19:50:34 <moony2> I do hope to make OpenBSD run tho, just for fun
19:50:35 <wob_jonas> Though, of course, you might be writing only usermode programs
19:50:53 <moony2> the hard part will be decoding how the display works
19:51:22 <wob_jonas> What kind of display?
19:51:28 <moony2> https://github.com/bluerise/openbsd/blob/463a59d491885c59f2eef9c9dfa0a5c14b1115be/sys/arch/luna88k/include/board.h#L152
19:51:31 <moony2> Looks like a CRT
19:51:46 <moony2> but i have no idea what these "bitmap functions" it talks about are
19:52:02 <moony2> if the display's driver can execute some form of code, i'm in for a real tough one
19:52:48 <moony2> *drawing* the display is the easy part, the hard part is getting the emulation right
19:52:58 <wob_jonas> You could hope that no program depends on the display itself...
19:53:09 <wob_jonas> You'll start with a serial console anyway
19:53:20 <moony2> OpenBSD's kernel depends on the display. :V
19:53:39 <wob_jonas> what?
19:53:47 <wob_jonas> even if you recompile?
19:54:07 <moony2> Looks like it. Still having trouble finding the def for "putchar" tho
19:54:23 <wob_jonas> I mean, Linux can be compiled without the console part, so you don't get either a text display or a keyboard on the text console, but you still get to use serial console.
19:54:34 <wob_jonas> It's really rare to use Linux that way, but it's possible.
19:54:54 <wob_jonas> And I think you don't have to actually recompile, just tell it to use the serial console at boot, the display will fail to initialize, but the system will run.
19:54:55 <moony2> i'm probably just dumb
19:55:03 <wob_jonas> Set up getty to use the serial console too obviously.
19:55:13 <wob_jonas> In inittab that is.
19:55:21 <wob_jonas> So that init spawns getty on the serial console
19:55:22 <moony2> bbl
19:55:52 <wob_jonas> You could ask the OpenBSD people about how to set this up on OpenBSD exactly
19:56:13 <wob_jonas> There is all sorts of docs online, and people too.
19:56:24 <wob_jonas> Probably much more than ones who know this cpu.
19:56:42 <wob_jonas> (And if that fails, then run NetBSD instead.)
19:59:55 -!- moony2 has quit (Ping timeout: 256 seconds).
20:16:25 <wob_jonas> Success, I think!
20:19:36 <wob_jonas> Except now I'll have to modify the names that start with Á or É or Ö, because the new Nokia sorted those half-sanely, but the old Nokia and the CAT B30 sorts them to the back of the phonebook. No problem.
20:52:30 -!- moony_ has joined.
21:05:57 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
21:06:57 -!- imode has quit (Quit: WeeChat 2.3).
21:24:21 -!- moony_ has quit (Ping timeout: 256 seconds).
21:48:11 -!- MDude has joined.
22:02:47 -!- danieljabailey has quit (Read error: Connection reset by peer).
22:08:52 -!- moei has quit (Quit: Leaving...).
22:30:50 <wob_jonas> https://www.perlmonks.com/?node_id=1225327 Migrate phone numbers from Nokia 6303c to Nokia 216 then to CAT B30, or the quest for a sane phone
22:31:19 <wob_jonas> ais523: ^ repeats some of my triades against the Nokia 216, and tells what I bought instead.
22:32:48 -!- josh5tone has quit (Remote host closed the connection).
22:35:37 <wob_jonas> Doesn't tell all the details about how the Nokia 216 sucks, and I don't think it adds too much to what I already said, but just incase.
22:38:55 <wob_jonas> Drat.
22:39:29 -!- imode has joined.
22:45:31 <wob_jonas> I can't put my regular SIM card into the new phone yet, because it needs a smaller SIM card, and my regular SIM card is so old that it doesn't have the perforations for easily removing the part that makes it bigger.
22:51:00 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:06:30 -!- arseniiv has quit (Ping timeout: 252 seconds).
23:18:53 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
23:24:30 -!- Essadon has quit (Quit: Qutting).
23:32:27 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:41:39 -!- sleepnap has left.
23:46:07 -!- Lord_of_Life_ has joined.
23:49:51 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
23:49:52 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:49:53 -!- Lord_of_Life has quit (Changing host).
23:49:53 -!- Lord_of_Life has joined.
23:54:28 -!- Sgeo has joined.
23:56:47 -!- Sgeo__ has quit (Ping timeout: 240 seconds).
2018-11-07
00:22:59 -!- hexfive has joined.
02:03:03 -!- oerjan has joined.
03:42:13 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:04:09 -!- S_Gautam has joined.
05:10:53 -!- Sgeo_ has joined.
05:13:27 -!- Sgeo has quit (Ping timeout: 240 seconds).
06:26:28 -!- atslash has joined.
06:27:17 <atslash> hello
06:27:26 <atslash> What's up
06:27:28 <atslash> guys
06:48:55 -!- hexfive has quit (Quit: WeeChat 2.2).
07:18:38 -!- imode has quit (Ping timeout: 268 seconds).
07:21:05 -!- oerjan has quit (Quit: Nite).
07:38:06 -!- xkapastel has joined.
08:06:07 <int-e> atslash: it's EARLY
08:06:21 <shachaf> @time int-e
08:06:21 <lambdabot> Local time for int-e is Wed Nov 7 09:06:21 2018
08:06:39 <int-e> :-P
08:06:57 <shachaf> @time
08:07:00 <lambdabot> Local time for shachaf is Wed Nov 7 00:06:57 2018
08:07:03 <int-e> I usually set my alarm clock around this time
08:07:23 <shachaf> you missed all the excitement
08:07:25 <int-e> but no, there's a seminar in 10 minutes... *yawn*
08:07:58 <int-e> I saw @realDonaldTrump celebrating his success of getting more than 9 senate seats out of 35.
08:08:16 <int-e> No commment on the House of Representatives.
08:08:38 <int-e> But that's hardly a surprise.
08:10:40 <int-e> This is just Trump... exaggerate your successes, don't talk about your losses; rather, call out the people who discuss the losses for lying.
08:23:50 <esowiki> [[User:TeslaX93]] N https://esolangs.org/w/index.php?oldid=58276 * TeslaX93 * (+52) Created page with "Creator of [[RTFM]], [[VeriBasic]] and [[TapeFuck]]."
09:17:18 -!- AnotherTest has joined.
09:41:24 -!- hexfive has joined.
09:48:56 -!- wob_jonas has joined.
09:54:24 <wob_jonas> It turns out that the new phone has 3G capability on the first SIM card, but not on the second SIM card. That's an interesting design choice.
10:29:45 -!- arseniiv has joined.
11:12:24 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
11:19:38 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
11:40:18 -!- moei has joined.
11:49:36 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
11:51:03 -!- Lord_of_Life has joined.
11:51:04 -!- Lord_of_Life has quit (Changing host).
11:51:04 -!- Lord_of_Life has joined.
12:53:32 -!- ais523 has joined.
12:53:54 <ais523> @messages?
12:53:54 <lambdabot> Sorry, no messages today.
13:09:59 -!- AnotherTest has quit (Ping timeout: 276 seconds).
13:27:17 -!- AnotherTest has joined.
13:50:22 -!- wob_jonas has joined.
13:51:27 <wob_jonas> ais523: I bought myself a new phone on the weekend.
13:51:48 <ais523> wob_jonas: I still don't have a phone
13:55:02 <wob_jonas> ais523: I looked at a Myphone phone in a shop, but in a quick test, I didn't like its interface much, so instead I bought a CAT B30.
13:55:21 <wob_jonas> This one also isn't perfect, but I think it'll be least better than the terrible Nokia 216.
13:55:40 <wob_jonas> I started to use it as a main phone today, but don't yet know how good it is, I didn't use it enough yet.
13:55:51 <ais523> I'm probably the wrong person to talk to about phone interfaces
13:55:54 <wob_jonas> I've already seen some problems, but they are hopefully smaller than what the 216 had.
13:56:08 <wob_jonas> hmm
13:56:58 <wob_jonas> also I figured out how to copy the contacts from the 216 to the B30, and wrote it up in https://www.perlmonks.com/?node_id=1225327 just in case it helps someone else
13:57:18 <wob_jonas> it's not likely that anyone wants to copy between those two particular phones, but it may still help someone if they're using one of them
13:59:26 -!- moony2 has joined.
13:59:42 <moony2> oh my god. The latest openbsd release still supports the 88110
14:00:49 <wob_jonas> moony2: good. does it also support not having a graphics card?
14:00:54 -!- Sgeo_ has quit (Read error: Connection reset by peer).
14:01:05 <wob_jonas> if not, then I'd recommend trying netbsd
14:01:20 -!- Sgeo_ has joined.
14:02:06 <wob_jonas> hmm, what's the arch name? http://netbsd.org/ports/#ports-by-cpu doesn't seem to list it under some obvious way
14:03:54 <wob_jonas> https://www.openbsd.org/plat.html says it's a discontinued platform in OpenBSD actually
14:03:59 <wob_jonas> moony2: ^
14:04:21 -!- Sgeo__ has joined.
14:04:31 -!- moony2 has quit (Ping timeout: 256 seconds).
14:06:47 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
14:26:09 -!- tromp has quit (Remote host closed the connection).
14:26:43 -!- tromp has joined.
14:29:58 -!- moony_ has joined.
14:30:31 -!- hexfive has quit (Quit: WeeChat 2.2).
14:30:36 <moony_> Yea, it does. Depends on the DIP switches on the Luna88k+'s front panel
14:30:47 <moony_> (This thing uses a bunch of front panel switches to control boot haha)
14:33:15 <wob_jonas> moony_: that makes sense. those old machines didn't have non-volatile memory, so it makes sense to have the settings in switches or jumpers.
14:33:35 <moony_> No, the Luna has a NVRAM
14:33:41 <wob_jonas> they also don't have extra circuitry for autodetecting hardware
14:34:00 <wob_jonas> moony_: um, ok. maybe it still uses switches because that's easy to configure and already established?
14:34:06 <moony_> probably
14:34:17 <wob_jonas> or maybe it also controls hardware
14:34:47 <wob_jonas> in fact, the graphics card is one of the few things that you might want to initialize (to text more or something) before even trying to read the NVRAM
14:35:33 <moony_> the PROM is my current issue
14:35:47 <moony_> it's the ROM the system boots from, and it has some sort of prompt and everything
14:35:52 <moony_> like a mini GRUB for the 88110
14:36:25 <wob_jonas> moony_: doesn't openbsd come with a bootloader for that platform?
14:36:55 <moony_> Nope. the PROM comes before everything, and handles booting OpenBSD
14:37:04 <moony_> https://ftp.openbsd.org/pub/OpenBSD/6.4/luna88k/INSTALL.luna88k
14:37:14 <moony_> well
14:37:20 <moony_> there is a bootloader, but the PROM comes before it
14:39:29 <wob_jonas> hmm
14:40:15 <moony_> bbl
14:40:19 -!- moony_ has quit (Quit: Page closed).
14:56:30 -!- Sgeo_ has joined.
14:58:40 -!- Sgeo__ has quit (Ping timeout: 268 seconds).
15:00:45 -!- AnotherTest has quit (Ping timeout: 252 seconds).
15:08:16 -!- ais523 has quit (Quit: quit).
15:28:54 -!- sleepnap has joined.
15:33:53 -!- error404notmoony has joined.
15:36:29 -!- imode has joined.
15:55:54 -!- imode has quit (Ping timeout: 244 seconds).
16:15:12 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:25:03 -!- error404notmoony has quit (Ping timeout: 256 seconds).
16:37:12 -!- imode has joined.
16:52:20 -!- oerjan has joined.
17:12:26 -!- sleepnap has quit (Ping timeout: 276 seconds).
17:26:08 -!- sleepnap has joined.
17:52:26 -!- sleepnap has quit (Ping timeout: 260 seconds).
18:02:16 -!- sleepnap has joined.
18:11:12 <esowiki> [[Special:Log/newusers]] create * Seh * New user account
18:13:27 -!- Essadon has joined.
18:17:17 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58277&oldid=58267 * Seh * (+224)
18:32:16 <esowiki> [[NARchy]] N https://esolangs.org/w/index.php?oldid=58278 * Seh * (+454) Created page with "Source code: http://github.com/automenta/narchy [https://bitbucket.org/seh/narchy/ https://bitbucket.org/seh/narchy/ (mirror)] ==Introduction== TODO ==Syntax== TODO ==Rules..."
18:41:28 <esowiki> [[Eul]] N https://esolangs.org/w/index.php?oldid=58279 * Backspace * (+1020) Created page with "=Welcome to Eul= Eul is an esoteric programming language. It has been desinged to be short and percise. It is a stack-based language. =Naming= Eul's name comes from words "eu..."
18:42:46 <esowiki> [[Eul]] https://esolangs.org/w/index.php?diff=58280&oldid=58279 * Backspace * (-2)
18:43:50 -!- oerjan has quit (Quit: Later).
18:44:04 <esowiki> [[Eul]] https://esolangs.org/w/index.php?diff=58281&oldid=58280 * Backspace * (-9)
18:45:11 -!- error404notmoony has joined.
18:45:16 -!- AnotherTest has joined.
19:07:41 -!- error404notmoony has quit (Ping timeout: 256 seconds).
19:07:52 -!- sleepnap has quit (Ping timeout: 250 seconds).
19:21:48 -!- sleepnap has joined.
20:07:36 -!- imode has quit (Quit: WeeChat 2.3).
20:47:25 -!- lynn has quit (Read error: Connection reset by peer).
20:47:43 -!- ^[ has quit (Ping timeout: 252 seconds).
20:47:47 -!- mich181189 has quit (Read error: Connection reset by peer).
20:47:52 -!- lynn has joined.
20:48:00 -!- mich181189 has joined.
20:49:58 -!- ^[ has joined.
20:50:00 -!- fractal has quit (Ping timeout: 252 seconds).
20:51:06 -!- arseniiv has quit (Ping timeout: 252 seconds).
21:07:54 -!- fractal has joined.
21:16:16 -!- sleepnap has quit (Ping timeout: 264 seconds).
21:20:17 -!- sleepnap has joined.
21:36:47 -!- Phantom_Hoover has joined.
21:38:27 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58282&oldid=58260 * JonoCode9374 * (+102) /* Special Bits */
21:45:10 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58283&oldid=58282 * JonoCode9374 * (+777) /* For Loops */
21:45:50 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58284&oldid=58283 * JonoCode9374 * (-1) /* Cat Program */
21:46:46 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58285&oldid=58284 * JonoCode9374 * (+95) /* For Loops */
21:51:37 -!- atslash has quit (Quit: This computer has gone to sleep).
21:57:42 -!- moei has quit (Quit: Leaving...).
22:35:36 -!- MDude has quit (Ping timeout: 252 seconds).
23:00:08 -!- AnotherTest has quit (Ping timeout: 250 seconds).
23:16:26 -!- sleepnap has left.
23:30:14 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:48:25 -!- Lord_of_Life_ has joined.
23:50:53 -!- Lord_of_Life has quit (Ping timeout: 276 seconds).
23:51:02 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:51:19 -!- Lord_of_Life has quit (Changing host).
23:51:19 -!- Lord_of_Life has joined.
2018-11-08
00:23:21 -!- Essadon has quit (Quit: Qutting).
01:16:25 -!- Storkman_ has quit (Ping timeout: 252 seconds).
01:16:33 -!- Storkman has joined.
01:37:39 -!- MDude has joined.
01:38:07 -!- oerjan has joined.
02:00:09 -!- heroux has joined.
02:03:01 -!- olsner has quit (Ping timeout: 260 seconds).
02:14:40 -!- olsner has joined.
02:30:22 -!- Sgeo has joined.
02:31:24 -!- Sgeo_ has quit (Ping timeout: 244 seconds).
03:00:42 -!- imode has joined.
03:17:53 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:21:54 <paul2520> I haven't done this in a while, but I'm trying to zsync the wiki. I'm getting an error:
04:21:56 <paul2520> failed to retrieve from https://esolangs.org/dump/esolang.xml.gz
04:21:58 <paul2520> Aborting, download available in esolang.xml.part
04:22:09 <paul2520> Any idea? I've tried thrice, it fails ~58% complete.
04:22:21 <paul2520> Anyway, heading to sleep but I'm on screen. Will check back tomorrow.
04:24:44 -!- atslash has joined.
04:45:56 -!- hexfive has joined.
04:51:52 <oerjan> fizzie: ^
05:49:31 -!- oerjan has quit (Quit: Nite).
06:35:12 -!- imode has quit (Ping timeout: 252 seconds).
07:18:59 -!- S_Gautam has joined.
07:57:33 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58286&oldid=58238 * Salpynx * (+2310) hopefully more informative description
08:04:34 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58287&oldid=58286 * Salpynx * (+2485) /* Example Hello World generation */
08:07:07 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58288&oldid=58287 * Salpynx * (+2) /* Example Hello World generation */
08:21:07 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58289&oldid=58288 * Salpynx * (-37) /* Example Hello World generation */ fix code and tidy names
08:29:08 <esowiki> [[Brainfoctal]] M https://esolangs.org/w/index.php?diff=58290&oldid=58289 * Salpynx * (+3) /* Example Hello World generation */
08:43:06 -!- Sgeo_ has joined.
08:46:07 -!- Sgeo has quit (Ping timeout: 268 seconds).
08:53:12 -!- AnotherTest has joined.
10:08:37 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
10:19:00 <int-e> hmm, cute title: Rush Hour is PSPACE-complete, or “Why you should generously tip parking lot attendants”
10:26:47 <shachaf> "Why you should take the train"
10:29:15 -!- arseniiv has joined.
10:32:24 -!- S_Gautam has joined.
11:47:59 -!- Lord_of_Life_ has joined.
11:51:07 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
11:51:07 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
11:51:08 -!- Lord_of_Life has quit (Changing host).
11:51:08 -!- Lord_of_Life has joined.
12:48:25 -!- Essadon has joined.
12:54:36 -!- AnotherTest has quit (Ping timeout: 252 seconds).
13:16:47 -!- xkapastel has joined.
14:02:02 -!- arseniiv has quit (*.net *.split).
14:02:02 -!- atslash has quit (*.net *.split).
14:02:02 -!- Storkman has quit (*.net *.split).
14:02:02 -!- rodgort has quit (*.net *.split).
14:02:03 -!- hakatashi has quit (*.net *.split).
14:02:03 -!- FireFly has quit (*.net *.split).
14:02:03 -!- ski has quit (*.net *.split).
14:02:19 -!- hakatashi has joined.
14:02:34 -!- atslash has joined.
14:02:35 -!- Storkman has joined.
14:02:37 -!- rodgort has joined.
14:02:39 -!- arseniiv has joined.
14:05:24 -!- FireFly has joined.
14:07:07 -!- ski has joined.
14:31:26 -!- sleepnap has joined.
14:53:01 -!- ski has quit (Ping timeout: 260 seconds).
14:57:03 -!- ski_ has joined.
15:03:34 -!- ski_ has changed nick to ski.
15:13:10 -!- AnotherTest has joined.
15:21:10 <paul2520> another question: recommended books about esoteric languages/programming, and/or subjects like code golf? I'm working through Toledo Nanochess.
15:24:20 -!- imode has joined.
15:28:04 -!- sleepnap has quit (Quit: Leaving.).
15:28:05 -!- sleepnap1 has joined.
15:34:29 -!- sleepnap1 has quit (Read error: Connection reset by peer).
15:39:19 -!- MDude has quit (Ping timeout: 244 seconds).
15:46:24 -!- ais523 has joined.
15:51:26 -!- ais523 has quit (Remote host closed the connection).
15:52:39 -!- ais523 has joined.
16:01:39 -!- MDude has joined.
16:01:51 -!- imode has quit (Ping timeout: 264 seconds).
16:06:16 -!- MDude has quit (Ping timeout: 250 seconds).
16:14:48 <esowiki> [[Special:Log/newusers]] create * Mowag * New user account
16:19:04 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58291&oldid=58277 * Mowag * (+161) Hi
16:19:09 <esowiki> [[Chef]] https://esolangs.org/w/index.php?diff=58292&oldid=37017 * Mowag * (-87) Added a link to a (slightly) better python interpreter
16:46:25 -!- hexfive has quit (Quit: WeeChat 2.2).
16:58:48 -!- MDude has joined.
17:54:49 -!- LKoen has joined.
18:04:13 -!- imode has joined.
18:33:30 -!- sftp has quit (Ping timeout: 252 seconds).
18:37:27 -!- sftp has joined.
19:03:46 -!- Phantom_Hoover has joined.
19:03:46 -!- Phantom_Hoover has quit (Changing host).
19:03:46 -!- Phantom_Hoover has joined.
19:30:21 -!- joast has quit (Ping timeout: 252 seconds).
20:16:57 -!- joast has joined.
20:18:37 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
20:18:38 -!- subleq has quit (Remote host closed the connection).
20:23:55 -!- subleq has joined.
20:36:48 -!- dingbat has quit (Quit: Connection closed for inactivity).
20:44:44 -!- imode has quit (Ping timeout: 276 seconds).
20:50:57 <esowiki> [[Brainfoctal]] M https://esolangs.org/w/index.php?diff=58293&oldid=58290 * Salpynx * (-10)
20:52:23 <esowiki> [[Cupid]] https://esolangs.org/w/index.php?diff=58294&oldid=39774 * Rdebath * (+395) Add interpreter. I kinda like this TBS
20:55:34 -!- Sgeo_ has quit (Read error: Connection reset by peer).
20:56:00 -!- Sgeo_ has joined.
20:57:03 -!- dingbat has joined.
21:17:49 <esowiki> [[OM]] M https://esolangs.org/w/index.php?diff=58295&oldid=54972 * Robertpmorton39 * (-14) Fixed ambiguity in precedences and changed wording in built-in macros.
21:35:45 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
21:37:45 <zzo38> If I use nc to create a UNIX socket and then try to connect to it, the listening process segfaults. What is doing wrong with this?
21:44:16 <zzo38> I figured out why; it is a bug, that it tries to use the port number, but there isn't any. Specifying a port number anyways will avoid this bug and allow it to work.
22:44:34 -!- subleq has quit (Remote host closed the connection).
22:46:43 <moony> I've poked the guy who maintains the OpenBSD port for the Luna88K to see if he can give me a copy of the device's PROM and Mask ROM. Hopefully he can
22:48:03 -!- Sgeo__ has joined.
22:50:13 -!- Sgeo_ has quit (Ping timeout: 244 seconds).
23:16:43 -!- AnotherTest has quit (Ping timeout: 245 seconds).
23:31:23 <fizzie> Hmm. I'm not sure why the zsync thing doesn't work. Though it's always been a little bit of a mystery to me anyway. It's not very good with error messages.
23:32:48 <fizzie> All I can say is that the files are generated with "(thing that produces the XML dump) | zsyncmake -z -f esolang.xml -u https://esolangs.org/dump/esolang.xml.gz", and that results in two output files esolang.xml.gz and esolang.xml.zsync, which are then based in that dump/ directory and seem to be be fetchable just fine.
23:33:37 <fizzie> Poking around a little, though, I think it might be that zsync just doesn't support https.
23:38:56 <fizzie> Yes, that seems to be the case. That's kind of unfortunate.
23:41:15 <ais523> are there any competing incremental download technologies?
23:41:38 <ais523> I know I wasn't able to get a working zsync backup last time I tried
23:41:54 <fizzie> There's rsync, but that's awkward to serve.
23:42:18 <ais523> I didn't realise it diffed at the file level
23:42:27 <fizzie> Someone seems to have made a "zsync-curl" project which replaces the HTTP client parts of zsync with libcurl, making it work over HTTPS. But at least Debian doesn't package that.
23:42:56 <ais523> come to think of it, something like git could work, couldn't it? although I'm not sure it actually sends updates as file-level diffs
23:43:57 <fizzie> I could also just remove the -u parameter from the zsyncmake command, in which case you should be able to download it over HTTP with conventional zsync, and HTTPS if you have a suitable client for that.
23:44:14 <fizzie> In that case I should probably also store a checksum that could be fetched over HTTPS to validate.
23:51:42 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
23:51:59 -!- Lord_of_Life has joined.
23:51:59 -!- Lord_of_Life has quit (Changing host).
23:51:59 -!- Lord_of_Life has joined.
2018-11-09
00:04:41 <esowiki> [[Esolang:Wiki dumps]] https://esolangs.org/w/index.php?diff=58296&oldid=53557 * Fizzie * (+859) Update dump instructions re HTTPS (or lack of it)
00:05:11 <fizzie> I keep trying to write markdown instead of wiki-markup.
00:16:58 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:18:25 -!- arseniiv has quit (Ping timeout: 246 seconds).
00:18:43 -!- Essadon has quit (Quit: Qutting).
00:58:55 <ais523> I'm annoyed at markdown taking over the world because so many versions of it have obvious shortcomings
00:59:29 <ais523> the original version is decent enough for its stated purpose, but I don't like markdown being used as a sandboxing method, because the syntax is awkwardly inexpressive when you don't have the escape to HTML
01:07:30 <zzo38> I happen to like the MediaWiki format, which has support for templates. (I have used the templates feature to make databases, although a block containing SQL codes might be better for this.)
01:48:27 <ais523> the one thing Markdown really got right was `…` for code formattinig
01:48:44 <ais523> it's quickly becoming standard even outside Markdown
01:56:31 <shachaf> I don't really like Markdown.
01:56:35 <shachaf> What should I use instead?
01:57:00 <shachaf> Mediawiki seems a lot more complicated than I want probably.
02:03:54 <shachaf> In e.g. C++, ; isn't associative, because of destructors: { { A; B; }; C; } ≠ { A; { B; C; }; }. What sort of meaning does {} have? Is it something like the "reset" operator for delimited continuations?
02:09:31 <ais523> shachaf: {} introduces a scope
02:09:39 <ais523> and destructors are tied to the end of a scope
02:10:12 <zzo38> There is also Fossil Wiki format
02:10:16 <shachaf> Yes.
02:10:27 <ais523> shachaf: what purpose do you want this markdown-like language for?
02:10:46 <shachaf> Maybe writing some things to put on my website.
02:10:49 <shachaf> Or maybe other things.
02:10:53 <ais523> I've been considering writing my own, but there are three jobs that a markdown-like language has to do and I'd be optimising for one of them specifically, which probably isn't the one you'd want
02:11:43 <ais523> a) making it easy to write formatted text quickly; b) being easy to read the resulting text without a specialised viewer; c) being able to represent everything you might want to write accurately, without special cases or other mishaps
02:11:58 <ais523> Markdown isn't so bad at a); I use it for my own blog for that reason
02:12:25 <shachaf> I'd like all three, with a preference of a over b
02:12:34 <shachaf> Er, no
02:12:37 <shachaf> A preference of b over a
02:12:43 <shachaf> No
02:12:48 <ais523> the language I had in mind was optimizing for b, c secondary, a not really at all
02:12:51 <shachaf> Wait, these aren't the things I thought about at all.
02:12:59 <ais523> for writing your own personal website or the like, b is irrelevant
02:13:19 <ais523> what were your considerations?
02:14:07 <shachaf> I don't even know anymore.
02:14:14 <shachaf> You can implement a "defer" statement in C++ such that "A; { B; defer Z; C; }; D;" = A; B; C; Z; D
02:15:19 <ais523> how do you prevent Z being evaluated immediately? or is it a representation of a thunk or the like?
02:15:22 <shachaf> In this sense "defer" captures things up to the nearest {}
02:15:27 <ais523> I can see how you'd evaluate it at the end of the scope
02:15:38 <shachaf> I guess I should say "defer { Z }"
02:16:39 <shachaf> Usually it's something like #define defer Thing blah##__LINE__ = ()[&]
02:17:13 <ais523> oh, I see
02:18:18 <shachaf> I'm wondering what exactly a scope is, or should be.
02:18:44 <shachaf> The fact that this defer is implemented with a destructor is kind of irrelevant. As is often the case for RAII objects.
02:19:10 <ais523> well, the normal definition of a scope is that variable names inside it shadow variable names outside it and aren't available outside it
02:19:17 <ais523> that's why the destructor runs at the end of the scope
02:19:42 <ais523> one interesting way to think about it is based on INTERCAL's STASH/RETRIEVE operations, which basically allow you to implement scopes that don't nest in the normal manner
02:19:56 <ais523> you explicitly shadow a variable (STASH) and revert to the old variable (RETRIEVE)
02:20:46 <shachaf> There's a sense in which a thing like defer gets a sort of continuation as an argument, but it's bounded up to the enclosing scope.
02:20:59 <shachaf> Is that something like dynamic scope?
02:21:35 <ais523> so the difference between dynamic scope (`local` in Perl), and lexical scope (`my` in Perl), is kind-of complex
02:21:47 <ais523> it's to do with what happens with things that already have a reference to the shadowed variable
02:21:53 <shachaf> Right.
02:22:15 <ais523> `perl-e $c=4; $d=\$c; {my $c=6; print $c, " ", $$d;}
02:22:16 <HackEso> 6 4
02:22:21 <ais523> `perl-e $c=4; $d=\$c; {local $c=6; print $c, " ", $$d;}
02:22:22 <HackEso> 6 4
02:22:26 <ais523> hmm
02:22:33 <ais523> that's not the result I expected
02:22:41 <ais523> now I'm wondering what I did wrong
02:23:40 <shachaf> Does $$ resolve variables by string name in the current scope or something?
02:23:43 <shachaf> I don't know Perl.
02:24:02 <shachaf> I think I read that PHP does that.
02:24:09 <ais523> $$ dereferences a reference
02:24:16 <shachaf> Ah.
02:24:22 <ais523> if you try to use a variable name as a reference it does what PHP does, that's insane though
02:24:32 <ais523> in this case $d is a proper reference to $c
02:24:34 <shachaf> Dynamic scope mostly seems like scow, but recently I've been wondering whether some things are effectively dynamically scoped and I haven't noticed.
02:25:09 <shachaf> In particular are "break"/"continue"/"return" effectively dynamically scoped?
02:25:19 <shachaf> This question doesn't quite make sense in any language I know of unfortunately.
02:27:42 <ais523> `perl-e $c=4; sub rc {return $c;} {my $c=6; print rc();}
02:27:42 <HackEso> 4
02:27:47 <ais523> `perl-e $c=4; sub rc {return $c;} {local $c=6; print rc();}
02:27:47 <HackEso> 6
02:27:51 <ais523> OK, /that/'s the difference
02:28:01 <ais523> that's even more confusing than I thought it was
02:28:24 <shachaf> That makes sense.
02:30:09 <shachaf> Even Haskell has dynamic scope
02:30:13 <shachaf> > let { ?c = 4 } in let { f x = x + ?c } in let { ?c = 40 } in f 5
02:30:15 <lambdabot> 45
02:30:16 <shachaf> > let { c = 4 } in let { f x = x + c } in let { c = 40 } in f 5
02:30:18 <lambdabot> 9
02:39:43 <ais523> I guess `local` isn't changing the value of the variable temporarily; it's actually changing the variable itself temporarily
02:39:45 <ais523> how Perl
02:40:03 -!- Sgeo__ has quit (Ping timeout: 245 seconds).
02:41:02 <shachaf> I as wondering whether you can make a monad thing for this.
02:41:20 <shachaf> E.g. do { A; bracket $ do { B; defer Z; C; }; D } -> do { A; B; C; Z; D; }
02:41:35 <shachaf> And bracket $ do { ret <- getCC; A; bracket $ do { B; defer Z; C; ret 0; D; }; E } -> do { A; B; C; Z; return 0; }
02:41:53 <ais523> that should be pretty easy, I think? at least the first example
02:42:04 <ais523> just have a state monad with a list inside the state, that counts up all the arguments to `defer`
02:42:09 <ais523> then have `bracket` run them all
02:43:10 <shachaf> Yes, I think bracket+defer on its own is pretty doable
02:43:31 <shachaf> Though defer isn't the only kind of effect I'd want. It's more like an arbitrary effect that can operate on the continuation up to the enclosing bracket.
02:44:04 <shachaf> Someone in #haskell implemented it, actually: https://gist.github.com/Lysxia/8a5c8d20f6c7c1332481190fb6f1c8b7
02:44:09 <shachaf> But it's not quite right, I think.
02:44:19 <ais523> "operate on the rest of the continuation" is pretty much literally what a monad /is/
02:44:27 <ais523> so I guess we're trying to make a dynamic monad? a monad that gets defined at runtime?
02:44:46 <shachaf> Right, except e.g. C++'s {}/; don't obey the associativity monad law.
02:45:01 <shachaf> Normally there's a law that (a >> b) >> c = a >> (b >> c)
02:45:15 <shachaf> But it's true that monads and continuations closely related.
02:45:29 <shachaf> are
02:45:33 <ais523> I think ; is still associative, just that {} are not ()
02:45:55 <shachaf> Yes, that's fair.
02:46:08 <shachaf> In C++ "A; B; C" means "A; { B; C; }"
02:46:25 <shachaf> With destructors running in reverse order and so on.
02:47:07 <ais523> well, if you see A; as being "A, and run the identity function on the rest of the block", that implies the same associativity here too
02:47:28 <shachaf> Monads in general don't have an equivalent of bracket
02:47:36 <shachaf> What would it look like?
02:48:15 <shachaf> One extra thing is that e.g. C++ supports early-exit outside of the enclosing block.
02:48:52 <shachaf> foo() { A; { B; if (p) return; }; C; }
02:48:55 <ais523> bracket takes a monad action as argument, and returns another monad action
02:49:04 <ais523> I don't think that's very common among monads
02:49:23 <ais523> what it's doing in between is basically running the monad actoins inside it, and bundling the result up into another monad action
02:49:55 <ais523> early exit should be easy to implement like this, anyway; just don't run the rest of the block
02:50:26 <shachaf> But you want to run the appropriate defers, and whatever else, on the way up.
02:50:59 <shachaf> I don't think things that operate on actions are very uncommon.
02:51:25 <ais523> normally they return a value, though, not another action
02:52:13 <shachaf> :t local -- this is in the spirit of what you're talking about, I think
02:52:14 <lambdabot> MonadReader r m => (r -> r) -> m a -> m a
02:52:15 -!- oerjan has joined.
02:52:48 <shachaf> (Both for dynamic scope and for monad action actions.)
02:53:43 <ais523> :t (>>=)
02:53:44 <lambdabot> Monad m => m a -> (a -> m b) -> m b
02:54:05 <shachaf> Of course (>>=) and fmap and so on also qualify
02:54:32 <ais523> what we effectively want here is a monad where each action defines its own >>=
02:54:36 <ais523> I'm trying to work out what type that has
02:55:19 <ais523> GenericMonad a = forall b.(a -> GenericMonad b) -> GenericMonad b
02:55:21 <ais523> I think
02:56:29 <shachaf> That's like a fixed point of Codensity or something
02:57:28 <ais523> so we have "return a atmb = atmb a", and "(>>=) ma atmb = ma atmb"
02:57:54 <ais523> @hoogle a->(a->b)->b
02:57:54 <lambdabot> Prelude ($) :: (a -> b) -> a -> b
02:57:55 <lambdabot> Prelude ($!) :: (a -> b) -> a -> b
02:57:55 <lambdabot> Data.Function ($) :: (a -> b) -> a -> b
02:58:13 <ais523> there really isn't a flip ($) in the standard library?
02:58:21 <ais523> but yes, looks like return is flip ($), and >>= is %
02:58:21 <shachaf> :t (&)
02:58:22 <lambdabot> a -> (a -> b) -> b
02:58:23 <ais523> * is $
02:58:26 <ais523> aha
02:58:35 <ais523> this kind-of makes sense given how generic the monad is
02:59:12 <ais523> it feels like this should obey the monad laws, it's 3am though and I'm lazy so I'm not going to try to work that out right now
03:00:11 <shachaf> I'm not sure I understand it but it seems like it might not be associative based on what you were trying to do?
03:02:05 <ais523> bleh, let's try to work through this anyway
03:02:18 <shachaf> I'll see if I can figure out what you mean.
03:02:58 <ais523> return a >>= f → return a f → f a, as required
03:04:18 <ais523> m >>= return → m return → -- OK, I don't think this one holds without an extra condition on what monad actions we allow
03:05:04 <ais523> and yes, associativity doesn't hold without a side-condition either
03:05:58 <shachaf> Hmm.
03:06:15 <shachaf> You could use the Codensity monad instance for this, which I think would have to make the laws hold?
03:06:57 <shachaf> m >>= k = (\c -> m (\a -> k a c))
03:07:24 <shachaf> It enforces associativity by reassociating everything to the right.
03:07:42 <shachaf> But that doesn't get the desired effect anymore, I guess.
03:08:24 <zzo38> (Codensity f) does form a monad regardless of what (f) is. It is possible to defer; I have managed to do that with a Codensity monad.
03:09:06 <shachaf> zzo38: This monad is like the fixed point of Codensity (?)
03:09:29 <ais523> shachaf: it looks like Codensity has the same monad definition and "return" as what I wrote above
03:09:33 <ais523> but >>= is different
03:09:45 <shachaf> Yes. It's the same (>>=) as Cont.
03:11:19 <ais523> reassociating everything to the right is correct, I think; you'd need a separate monad action → monad action function to add explicit rebracketing
03:11:44 <shachaf> Right, otherwise you can make things that are bracketing-aware.
03:14:16 <shachaf> You can define a similar thing for monoids and run into the same thing, I guess?
03:14:35 <ais523> I can't see one in the Codensity docs, but maybe I'm just missing it, or maybe it's a special case of something that's already there
03:15:10 <shachaf> I don't think it exists for arbitrary Codensity but only over some specific monads?
03:15:28 <ais523> it could be
03:16:43 <shachaf> You can have a "monoid" that has an element x where, in x*(abc), x gets to make some decision based on abc
03:17:57 <shachaf> But that's not compatible with associativity. You could right-reassociate everything à la difference lists, but then you kind of lose the point. You could add explicit brackets to recognize that you're really representing a tree.
03:18:34 <ais523> right, if you have the fixed point of Codensity, then bracket (runCodensity k) = k return
03:18:38 <ais523> I think, at least
03:19:11 <shachaf> Also someone suggested that Cont/runCont do the appropriate operations. I should figure that out.
03:19:18 <ais523> I'm not in the right state of mind for working throuhg this
03:19:28 <shachaf> https://www.vex.net/~trebla/haskell/cont.xhtml talks about it in terms of reset/shift at the end
03:19:49 <shachaf> OK, thanks for your help, I'll think about this thing.
03:21:45 <ais523> I've been thinking about this same subject myself, incidentally
03:21:51 <ais523> as it really seems like an important primitive
03:21:55 <ais523> (the "monad that can be anything")
03:23:43 <shachaf> "the mother of all monads"
03:23:48 <shachaf> I'm pretty sure the answer is Codensity.
03:28:56 <zzo38> There are other kind of monads such as Free and CodensityAsk, as well as Codensity.
03:29:46 <shachaf> But you can lift them all to Codensity
03:31:10 <zzo38> Yes, although still it is a different monad; (Codensity Maybe) is difference from just Maybe.
03:32:12 <shachaf> Yes.
03:45:52 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58297&oldid=58285 * JonoCode9374 * (+565) /* Example Programs */ -- Added 99 bottles of beer program
03:46:36 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58298&oldid=58297 * JonoCode9374 * (+62) /* Example Programs */
03:51:28 <esowiki> [[Messyscript]] https://esolangs.org/w/index.php?diff=58299&oldid=56035 * Rdebath * (+57) Is a TBF
04:03:52 -!- ais523 has quit (Quit: quit).
04:15:36 <oerjan> `cat bin/perl-e
04:15:37 <HackEso> ​#!/bin/bash \ perl -e "$@"
04:28:38 -!- Sgeo has joined.
04:37:42 <oerjan> today's http://www.mezzacotta.net/garfield/ appears to have a pun that only a norwegian would understand.
04:38:14 <oerjan> (and editor manyhills isn't norwegian afaiu)
04:39:32 <oerjan> so he probably thought it was only a surreal submission (well, it's that too)
04:48:32 <oerjan> ooh, dmm must have fixed my registration problem from way back...
04:48:46 <oerjan> (although i didn't get an email back)
05:14:49 <Hoolootwo> fjord pun?
05:16:32 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:28:43 <oerjan> Hoolootwo: no, https://no.wikipedia.org/wiki/Pusur
06:24:00 -!- oerjan has quit (Quit: Nite).
06:39:47 <Hoolootwo> ah, I see
07:26:05 <zzo38> Now I implemented a QOTD server (TCP only; the UDP one is subject to attacks so it is not implemented)
07:27:08 <zzo38> Do you like this?
08:03:46 -!- xkapastel has joined.
08:22:37 -!- Hoolootwo has changed nick to Hooloovo0.
08:42:28 <esowiki> [[User:Salpynx]] https://esolangs.org/w/index.php?diff=58300&oldid=57993 * Salpynx * (+243) /* Working on */
08:43:29 <esowiki> [[User:Salpynx]] M https://esolangs.org/w/index.php?diff=58301&oldid=58300 * Salpynx * (+10) /* Interested in */
09:13:52 <esowiki> [[User:Salpynx]] M https://esolangs.org/w/index.php?diff=58302&oldid=58301 * Salpynx * (+19) /* Interested in */
09:53:44 -!- AnotherTest has joined.
10:59:12 -!- moei has joined.
11:41:33 -!- Essadon has joined.
11:52:03 -!- Lord_of_Life_ has joined.
11:52:27 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
11:54:10 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
11:54:56 -!- Lord_of_Life has quit (Changing host).
11:54:56 -!- Lord_of_Life has joined.
11:56:44 -!- wob_jonas has joined.
11:57:44 <wob_jonas> ais523: yes, markdown format sucks. yes, file-level diff downloading is a hard problem that is possible in theory but no good practical solutions exist, so we use workarounds like splitting to smaller files, append-only logs, or (the old solution) sequences of patches.
11:59:35 <wob_jonas> for a format, to be able to accurately represent complicated things, I'd prefer to just allow most HTML codes in the formatted text even if there are other shortcuts, though of course if you have untrusted input, then you have to filter the HTML.
12:00:16 <wob_jonas> and I for one thing that every non-common extra feature should just use HTML-like syntax, rather than all other sort of ad-hoc syntax like magic templates, and non-HTML syntax only reserved for very common formatting
12:00:52 <wob_jonas> I might eventually try to implement such a formatting language, with multiple versions, as in one for trusted input and one for untrusted input, and specifically the features I need
12:01:57 <wob_jonas> I can't promise anything, but if I do get something like this done, I will mention it in this channel if possible
12:02:57 <wob_jonas> Back lots of years ago I already improved perlmonks' HTML-based markup language a bit, in particular I proposed adding the <c>...</c> shortcut for the very common <code>...</code> tags.
12:03:16 <wob_jonas> Note that in Perlmonks markup, <code>...</code> is magical, it's not the plain HTML tag.
12:03:59 <wob_jonas> The text between it is interpreted as plain text (sort of like in a CDATA), with & and < not being special
12:22:44 <wob_jonas> Whoa! "Subversion 1.11 is the first of the new 6-month regular releases with an emphasis on introducing new features more quickly and a shorter support See <a href="http://subversion.apache.org/docs/release-notes/1.11#non-lts-release">Subversion 1.11 is a Regular Release</a> below."
12:23:07 <wob_jonas> I did get surprised, because the minor release 1.10 was released this year.
12:23:54 -!- arseniiv has joined.
12:33:23 -!- xkapastel has quit (Quit: Connection closed for inactivity).
13:02:04 -!- AnotherTest has quit (Ping timeout: 250 seconds).
13:16:10 <wob_jonas> ais523: however, I believe you can use subversion for serving updates with in-file deltas over the internet, as long as the server stores old versions of the file and the client has one of those versions.
13:16:29 <wob_jonas> so that may work as incremental downloading for your purposes
13:24:16 <wob_jonas> subversion also stores the versions of files on disk in a compressed format that takes the similarity of different version to account and also compresses ordinary obvious low-entropy stuff, so storing lots of versions isn't too expensive
14:46:47 -!- sleepnap has joined.
15:03:14 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
15:12:11 -!- AnotherTest has joined.
15:36:30 -!- sleepnap has quit (Ping timeout: 252 seconds).
16:23:51 -!- moei has quit (Read error: Connection reset by peer).
16:24:27 -!- moei has joined.
16:53:03 <zzo38> Fossil wiki supports stuff like <verbatim-1> so that even if the text contains </verbatim> it can still work.
18:37:40 -!- xkapastel has joined.
18:56:05 <zzo38> Can Heirloom-mailx be made to work with NNTP?
20:15:12 <esowiki> [[BrainfuckX]] https://esolangs.org/w/index.php?diff=58303&oldid=46431 * Salpynx * (+27) formatting
20:15:19 <zzo38> Now I added into my "sqlext_remote" program, the possibility to use UNIX domain sockets.
20:46:28 <esowiki> [[Pluso]] https://esolangs.org/w/index.php?diff=58304&oldid=39848 * Rdebath * (+89) Golf!?
20:48:32 <zzo38> RFC 1288 says that the finger protocol can be used with vending machines. Are there vending machines that implement it?
20:56:08 <zzo38> (I suppose you might use it in a local network in a building, but it is not so useful for internet)
20:59:29 <zzo38> It says there were a few (and they were connected to the internet, even though they admitted it is not useful for internet), but I don't know if there are any now.
21:04:02 <zzo38> The account looks like it still exists, although it just says "No Plan" now.
21:18:37 -!- Phantom_Hoover has joined.
21:21:41 <esowiki> [[Special:Log/newusers]] create * MilkyWay90 * New user account
21:24:28 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=58305&oldid=58291 * MilkyWay90 * (+138)
21:24:44 <esowiki> [[User talk:Maxsteele2]] https://esolangs.org/w/index.php?diff=58306&oldid=43118 * MilkyWay90 * (+100)
22:47:14 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
22:59:01 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=58307&oldid=58298 * JonoCode9374 * (+1) /* Command Glossary */
23:00:28 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=58308&oldid=58307 * JonoCode9374 * (+263) /* Example Programs */
23:06:37 -!- AnotherTest has quit (Ping timeout: 250 seconds).
23:43:18 -!- Melvar has quit (Quit: rebooting).
23:49:35 -!- Lord_of_Life_ has joined.
23:52:54 -!- Melvar has joined.
23:53:09 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
23:53:10 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:53:10 -!- Lord_of_Life has quit (Changing host).
23:53:10 -!- Lord_of_Life has joined.
2018-11-10
01:28:54 <esowiki> [[Talk:Java sharp]] N https://esolangs.org/w/index.php?oldid=58309 * Only Onion * (+234) Created page with "== Delete? == This page has been empty for over a year. I would think if its creator wanted to do something with it, they would have already. ~~~~"
01:32:15 -!- Essadon has quit (Quit: Qutting).
01:32:48 -!- oerjan has joined.
01:42:13 -!- Melvar has quit (Ping timeout: 244 seconds).
01:53:51 -!- arseniiv has quit (Ping timeout: 252 seconds).
02:16:43 -!- Melvar has joined.
02:32:39 <esowiki> [[User talk:Maxsteele2]] M https://esolangs.org/w/index.php?diff=58310&oldid=58306 * Oerjan * (+68) /* Hey... */ unsigned and new section
02:33:33 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[Java sharp]]": Author request: content before blanking was: "as"
02:35:30 <esowiki> [[Talk:Java sharp]] https://esolangs.org/w/index.php?diff=58311&oldid=58309 * Oerjan * (+177) Done
04:31:01 -!- atslash has quit (Ping timeout: 246 seconds).
04:34:25 -!- atslash has joined.
06:05:25 <zzo38> I deprecated the complicated stuff about control messages in Unusenet and wrote a simpler specification, which is a subset of that used by Usenet, although with a few different considerations due to the fact that namespaces and federation are different on Unusenet.
06:05:59 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:46:32 -!- oerjan has quit (Quit: Nite).
07:13:55 -!- nfd9001 has joined.
07:45:56 <esowiki> [[Wishmaster]] M https://esolangs.org/w/index.php?diff=58312&oldid=55192 * Jabutosama * (-13) fixed typos, clarified text
09:37:31 -!- laerling has joined.
10:11:24 -!- AnotherTest has joined.
10:50:42 -!- laerling has quit (Remote host closed the connection).
11:31:43 -!- xkapastel has joined.
11:51:22 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
11:54:39 -!- Lord_of_Life has joined.
11:54:39 -!- Lord_of_Life has quit (Changing host).
11:54:39 -!- Lord_of_Life has joined.
13:45:28 -!- Essadon has joined.
14:13:39 <esowiki> [[Talk:Factorial]] N https://esolangs.org/w/index.php?oldid=58313 * Camto * (+136) Created page with "There should be a list of factorials per lang like there is the list of hello worlds. ~~~~"
14:14:36 <esowiki> [[User:Camto]] M https://esolangs.org/w/index.php?diff=58314&oldid=58124 * Camto * (+10) Why not.
14:28:56 -!- arseniiv has joined.
15:01:13 -!- Sgeo has quit (Read error: Connection reset by peer).
15:01:41 -!- Sgeo has joined.
15:51:28 -!- Sgeo_ has joined.
15:53:27 -!- Sgeo has quit (Ping timeout: 252 seconds).
17:34:37 -!- grumble has quit (Quit: Need to reconnect so here's a random tip: The command "xrandr --output HDMI1 --set 'Broadcast RGB' Full" (you might need to replace HDMI1 with your monitor output name) might significantly improve contrast on external monitors. s/Full/Automatic/ to reset).
17:36:45 -!- grumble has joined.
18:04:16 <esowiki> [[Talk:Entfedern]] M https://esolangs.org/w/index.php?diff=58315&oldid=57322 * Camto * (-118)
18:19:25 <esowiki> [[User:Camto]] https://esolangs.org/w/index.php?diff=58316&oldid=58314 * Camto * (+127)
18:45:03 -!- wob_jonas has joined.
18:45:34 <wob_jonas> `olist 1146
18:45:35 <HackEso> olist 1146: shachaf oerjan Sgeo FireFly boily nortti b_jonas
19:10:25 <zzo38> Political parties and ridings don't mix well, I think.
19:44:59 <esowiki> [[\ () /]] M https://esolangs.org/w/index.php?diff=58317&oldid=57768 * Randairox * (-133) actualize js state
20:00:13 -!- Sgeo_ has quit (Read error: Connection reset by peer).
20:00:36 -!- Sgeo_ has joined.
20:24:58 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:38:47 -!- hexfive has joined.
20:52:30 -!- imode has joined.
21:06:02 <imode> https://git.imode.tech/?p=git/python/prime;a=summary
21:06:20 <imode> whoops, old link. https://git.imode.tech/?p=python/prime;a=summary
21:06:57 <imode> public REPL is up on imode.tech, port 1337. `telnet imode.tech 1337`.
21:07:27 <zzo38> Connection refused.
21:08:07 <imode> forgot to start the server lol. try now.
21:08:24 <imode> `sum (evens (~4))` gives you the sum of the first 4 even numbers.
21:08:24 <zzo38> OK, it works now.
21:08:24 <HackEso> sum: '(evens (~4))` gives you the sum of the first 4 even numbers.': No such file or directory
21:08:38 <imode> whoops, forgot that was for the bot.
21:10:44 <imode> the built-in ruleset is grossly incomplete. it's just a test to see what I can make with it. the language supports generic pattern matching over linear sequences of tokens. anything with parentheses around it is treated as a single token.
21:10:56 <zzo38> It works. The server does not explain the ~ command but I tried it as you suggested and it works.
21:11:30 <imode> ah. there's no built-in arithmetic or numbers or anything save for the rewriting logic. if you prefix a number with ~, it'll expand that number into its unary form.
21:11:34 <imode> it's a cheap hack.
21:11:54 <imode> so numbers are of the form (~x), where x is a positive integer.
21:12:03 <zzo38> (Although perhaps I did not look at the webpage you linked; maybe that explains more about it, and I didn't know because I didn't look at that)
21:12:16 <imode> nah, it doesn't explain it. not yet. a writeup is coming.
21:12:24 <imode> just been working on my site and setting up public git access.
21:12:43 <zzo38> Ah, OK.
21:12:47 <esowiki> [[Special:Log/newusers]] create * Sifoobar * New user account
21:13:47 <imode> there's a REPL on port 1338 without the prelude.
21:14:42 <imode> defining new rules is done via `def`. you just type `def`, it'll prompt you for the lhs of the rule, and then the rhs of the rule.
21:15:34 <imode> you can define any kind of pattern you'd like. for example, type `def`, hit enter, type `?x !`, hit enter, type `factorial ?x`, hit enter, type `(~4)!`, hit enter, and you'll get 24 in unary.
21:16:32 <imode> feel free to break it.
21:16:55 <zzo38> OK, although I do not want to right now.
21:17:12 <imode> the code is up on git.imode.tech. it's the only project, and the prelude is located under that project, right here: https://git.imode.tech/?p=python/prime;a=blob;f=prelude.prime;h=b2b2f0ab80f4c47a38d16eb8e945a022d4678532;hb=refs/heads/master
21:17:34 <zzo38> It looks good at least what I saw and what you explain so far
21:17:42 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58318&oldid=58305 * Sifoobar * (+82)
21:17:46 <imode> thanks!
21:18:01 <imode> I got some interest from other people so I figured I'd start sharing it in the places I lurk.
21:18:17 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58319&oldid=58270 * Sifoobar * (+12) /* S */
21:19:27 <esowiki> [[Snigl]] N https://esolangs.org/w/index.php?oldid=58320 * Sifoobar * (+439) Created page with "[https://gitlab.com/sifoo/snigl Snigl] is an interpreted scripting language designed for embedded use that aims to strike a compromise between the simplicity of C and Forth an..."
21:20:07 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58321&oldid=58320 * Sifoobar * (+80)
21:20:29 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58322&oldid=58321 * Sifoobar * (+4)
21:22:28 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58323&oldid=58322 * Sifoobar * (-2)
21:27:03 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58324&oldid=58323 * Sifoobar * (+35)
21:27:26 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58325&oldid=58324 * Sifoobar * (+0)
21:27:44 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58326&oldid=58325 * Sifoobar * (+2)
21:28:36 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58327&oldid=58326 * Sifoobar * (-12)
21:29:31 -!- wob_jonas has joined.
21:29:33 <wob_jonas> `pbflist http://pbfcomics.com/comics/harlots-web/
21:29:33 <HackEso> pbflist http://pbfcomics.com/comics/harlots-web/: shachaf Sgeo quintopia ion b_jonas Cale
21:29:38 -!- wob_jonas has quit (Client Quit).
21:31:17 <esowiki> [[Special:Log/upload]] upload * Sifoobar * uploaded "[[File:Snigl logo.png]]"
21:31:42 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58329&oldid=58327 * Sifoobar * (+34)
21:31:55 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58330&oldid=58329 * Sifoobar * (+1)
21:39:44 -!- hexfive has quit (Quit: WeeChat 2.2).
21:39:59 -!- rain2 has quit (Quit: WeeChat 2.2).
22:04:11 -!- arseniiv has quit (Ping timeout: 250 seconds).
22:07:24 -!- hmmmmm has joined.
22:16:06 -!- hmmmmm has quit (Quit: Page closed).
22:26:28 -!- imode has quit (Quit: WeeChat 2.3).
23:33:03 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:52:14 -!- Lord_of_Life_ has joined.
23:54:18 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
23:54:22 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:55:06 -!- Lord_of_Life has quit (Changing host).
23:55:06 -!- Lord_of_Life has joined.
23:59:43 <zzo38> imode: The way of doing comments does not seem like so good
2018-11-11
00:15:50 <shachaf> https://twitter.com/sigfpe/status/1061408937558196225
00:16:33 <shachaf> Can you do a Magic: The Gathering quine with less nonstandard text?
00:19:50 <shachaf> I guess that card isn't a quine, it merely generates a quine.
00:21:26 -!- Melvar has quit (Ping timeout: 268 seconds).
00:21:53 -!- Melvar has joined.
00:33:31 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:18:47 <zzo38> Is there the possibility with Apache for changing the log format depending on the DNT header?
01:38:12 -!- oerjan has joined.
01:55:00 -!- Essadon has quit (Quit: Qutting).
01:55:48 -!- xkapastel has joined.
02:08:16 -!- imode has joined.
04:13:31 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:44:12 -!- xkapastel has joined.
05:02:47 <zzo38> I now configured my HTTP server so that if DNT:1 is specified then it only logs the date/time, response code, data length, and time taken to serve the request. (In case of DNT:0 or no DNT header, it also logs client IP address, first line of the request, and user-agent.) Do you think this is good?
05:05:12 <zzo38> Do you know how to also program the error log due to such thing?
05:24:33 <zzo38> I looked at the document it can set the error log format but not conditionally.
05:55:18 -!- Chittle has joined.
06:17:15 -!- Chittle has quit (Quit: leaving).
06:19:14 -!- oerjan has quit (Quit: Nite).
06:24:05 -!- Bowserinator has quit (Quit: Blame iczero something happened).
06:24:05 -!- ATMunn has quit (Quit: lol rip).
06:24:06 -!- moony has quit (Quit: Bye!).
06:24:33 -!- ATMunn has joined.
06:24:53 -!- Bowserinator has joined.
06:28:21 -!- moony has joined.
07:17:14 -!- Taneb has quit (Quit: I seem to have stopped.).
07:17:53 -!- Taneb has joined.
07:27:02 -!- ATMunn has quit (Quit: lol rip).
07:27:03 -!- moony has quit (Quit: Bye!).
07:27:03 -!- Bowserinator has quit (Quit: Blame iczero something happened).
07:27:22 -!- ATMunn has joined.
07:27:45 -!- Bowserinator has joined.
07:31:11 -!- moony has joined.
07:43:04 -!- atslash has quit (Quit: This computer has gone to sleep).
07:44:53 -!- atslash has joined.
08:29:53 <shachaf> https://arxiv.org/abs/1801.09553
08:40:10 -!- hexfive has joined.
08:43:31 -!- xkapastel has quit (Quit: Connection closed for inactivity).
09:07:27 -!- imode has quit (Ping timeout: 240 seconds).
09:09:43 <zzo38> shachaf: Just reading the short description, Penrose mentioned a similar thing in a footnote and I also tried too, with the same result of Penrose.
09:12:57 <zzo38> That the common notation for second derivatives is no good, so, this document suggests a revised notation hopefully will be better.
09:13:15 <shachaf> I think I've suggested the same notation in this channel in the past?
09:13:26 <shachaf> I don't remember. I was trying to figure it out, at any rate.
09:13:31 <shachaf> Maybe oerjan remembers.
09:17:30 <zzo38> Yes, I think someone else on this channel also was trying to figure out, not only me.
09:18:03 <zzo38> I do not remember who, but I was one who had figured it out. Maybe you were the other one; I do not remember.
09:20:45 <shachaf> I think it was also on Wikipedia or something.
09:21:13 <zzo38> Yes, maybe. There may also be others (outside of this IRC) who have figured similar stuff.
09:47:47 -!- AnotherTest has joined.
10:23:48 -!- arseniiv has joined.
10:32:35 <esowiki> [[Talk:Brainfoctal]] N https://esolangs.org/w/index.php?oldid=58331 * Rdebath * (+234) /* Numbering system */ new section
10:35:26 -!- S_Gautam has joined.
11:30:53 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58332&oldid=58293 * Rdebath * (+555) Oh yes, Ruby uses bignums.
11:52:56 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
11:56:26 -!- Lord_of_Life has joined.
11:56:27 -!- Lord_of_Life has quit (Changing host).
11:56:27 -!- Lord_of_Life has joined.
11:57:29 -!- zseri has joined.
12:03:25 <esowiki> [[Brainfuck derivatives with nontrivial computational class proofs]] https://esolangs.org/w/index.php?diff=58333&oldid=46767 * Rdebath * (+29) Link TBFS page
12:05:00 -!- zseri has quit (Quit: Leaving).
12:31:49 -!- Essadon has joined.
12:48:00 <int-e> fungot: hi there
12:48:01 <fungot> int-e: http://pikhq.nonlogic.org/ bfm.tar.bz2 new tarball up.) i look forward to it. i prefer the top-level binding, since it only uses bash built-ins
13:22:39 -!- xkapastel has joined.
14:09:01 <esowiki> [[English]] https://esolangs.org/w/index.php?diff=58334&oldid=57971 * Gamer * (+28)
14:13:46 <esowiki> [[Developers]] https://esolangs.org/w/index.php?diff=58335&oldid=43327 * Rdebath * (+552) TBFS interpreter
14:30:28 <arseniiv> fungot: you are in a good mood today eh?
14:30:29 <fungot> arseniiv: i first though i'd make real-time tone creating possible in the general case, also consider using mzscheme ( the command line.
14:30:44 -!- Sgeo_ has quit (Read error: Connection reset by peer).
14:31:09 -!- Sgeo_ has joined.
14:31:11 <arseniiv> fungot: thanks it could be useful some day. Though I’m fearful of some schemes
14:31:12 <fungot> arseniiv: seen jao?
14:32:05 <arseniiv> suddenly
14:32:44 <arseniiv> I should be glad fungot doesn’t asks about Nora’s Hair Salon Disaster Download Something Something
14:32:45 <fungot> arseniiv: so if the list contains a certain element of the list
14:33:19 <arseniiv> fungot: it’s called nonempty
14:33:20 <fungot> arseniiv: i got 2 functions, each of which can be " extended" inside of " blocks"
14:33:36 <arseniiv> hm, you won
14:34:07 <arseniiv> fungot is like tetris, it wins each time
14:34:26 <arseniiv> oops I called them
15:13:41 -!- wob_jonas has joined.
15:15:00 <wob_jonas> shachaf: re M:tG stuff, that works, but it's sort of an overkill, an ability on a card can copy that ability just fine, just see the tech on Unstable Shapeshifter or Cryptoplasm, you could copy the token creation ability to a token that way too.
15:22:21 <wob_jonas> zzo38: re apache HTTP server config question, try http://httpd.apache.org/docs/2.4/mod/core.html#if , I think that can be conditional on a header in the HTTP request, together with http://httpd.apache.org/docs/2.4/mod/mod_log_config.html#logformat
15:29:34 -!- atslash has quit (Quit: Leaving).
15:50:19 -!- Sgeo_ has quit (Read error: Connection reset by peer).
15:50:47 -!- Sgeo_ has joined.
16:04:07 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:05:56 -!- wob_jonas has joined.
16:10:08 -!- wob_jonas has quit (Client Quit).
16:10:12 <esowiki> [[A]] N https://esolangs.org/w/index.php?oldid=58336 * Cortex * (+2319) Created page with "'''A''' is a language created by [[User:Cortex]] which is designed to be extremely difficult to read and write code in. The command names are often either 1 letter or gibberis..."
16:10:56 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=58337&oldid=58247 * Cortex * (+8)
16:12:16 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58338&oldid=58319 * Cortex * (+64)
16:38:26 -!- hexfive has quit (Quit: WeeChat 2.2).
16:53:07 -!- arseniiv_ has joined.
16:56:16 -!- arseniiv has quit (Ping timeout: 260 seconds).
17:38:38 -!- imode has joined.
18:33:23 <oren> Hooray, knob and tube wiring has almost been removed!
18:33:52 <oren> also our extremely illegal carter system swicth
18:54:10 <zzo38> I tried to install Apache 2.4, but somehow it didn't install so I am using 2.2
20:26:20 -!- Sgeo_ has quit (Read error: Connection reset by peer).
20:26:43 -!- Sgeo_ has joined.
20:27:52 -!- Phantom_Hoover has joined.
20:45:08 -!- lambdabot has quit (Remote host closed the connection).
20:48:00 -!- lambdabot has joined.
21:04:22 <esowiki> [[MIX (Knuth)]] https://esolangs.org/w/index.php?diff=58339&oldid=58047 * Zzo38 * (+648)
21:05:52 <zzo38> Maybe I should add a JFILL pseudo-op into the MIXPC assembler to program the default target of a jump table.
21:07:36 <zzo38> Another possible option to add is a option to punch "0" in the first character position of all program cards except the first and last card. If you are using actual cards, it may then make it easier to sort the cards if they are mixed up.
21:35:05 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
22:03:51 -!- arseniiv_ has changed nick to arseniiv.
22:10:45 -!- moei has quit (Quit: Leaving...).
22:38:06 -!- Essadon has quit (Quit: Qutting).
23:37:16 -!- AnotherTest has quit (Ping timeout: 250 seconds).
23:49:39 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:52:03 -!- Lord_of_Life_ has joined.
23:55:34 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
23:55:34 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:55:35 -!- Lord_of_Life has quit (Changing host).
23:55:35 -!- Lord_of_Life has joined.
2018-11-12
00:00:20 -!- danieljabailey has joined.
00:06:50 -!- ais523 has joined.
00:07:04 <ais523> @messages?
00:07:05 <lambdabot> Sorry, no messages today.
00:07:17 <shachaf> his523
00:07:37 <ais523> hi
00:07:58 <ais523> any progress on the fixed point of Codensity?
00:08:13 <shachaf> I was going to ask you the same thing.
00:08:23 <shachaf> No, I didn't think about that type much since last time.
00:09:09 <shachaf> I think not satisfying the monad associativity law might not be so bad.
00:09:16 <shachaf> You just don't call your thing a monad.
00:11:01 <shachaf> The alternative is to explicitly make your code into a tree with "bracket $ do { ... }" calls. I think bracket is quite similar to reset from delimited continuations.
00:13:00 <shachaf> By the way, I said earlier that C mutable types were similar to e.g. refs in SML, but there's an important difference: If you have a ref containing a pair, you can't in general get a ref to each of its components.
00:13:11 <shachaf> Is there a language with explicit refs that does allow that?
00:14:14 <ais523> shachaf: the "how do you contrast elements of the pair with the pair itself" question is really, really complex
00:14:30 <ais523> and conflating them is one of the most common mistakes made in theoretical computer science
00:14:36 <ais523> I had to write quite a bit in my thesis about it
00:14:52 <shachaf> The situation in C is more complicated than I would've thought.
00:14:56 <ais523> unfortunately, this /specific/ question isn't one of the ones I have a ready-made answer to, and I don't want to throw out an answer quickly because experience shows that any simple answer here will probably be wrong
00:15:10 <shachaf> C has two "." operators for field access, one for lvalues and one for rvalues.
00:16:14 <shachaf> If read : LValue a -> RValue a, then read(lval.x) = read(lval).x, so it's easy to confuse them.
00:16:49 <ais523> the basic issue wrt pairs can be seen by trying to access both halves of the pair; is that a) a single operation that decomposes a pair into its two halves, or b) two operations, each of which reads one half of a pair?
00:17:21 <shachaf> I wish I knew a good language that doesn't have lvalues.
00:17:27 <ais523> if you're counting how many accesses are made to something (in my thesis, this came up wrt affine typing, but `volatile` is a more familiar example), the distinction is really important
00:17:35 <ais523> shachaf: but does have mutable variables?
00:17:46 <zzo38> Do you know BLISS?
00:17:48 <shachaf> No, just pointers/references.
00:17:59 <shachaf> zzo38: BLISS and ALGOL 68 are the two answers I know to this question.
00:18:14 <zzo38> OK
00:18:21 <ais523> shachaf: well, a reference to an immutable value is normally very hard to distinguish from the value itself
00:18:56 <shachaf> "volatile" seems like a weird thing to have as a property of a variable.
00:18:58 <ais523> the only difference is that if the value is deallocated, the reference becomes invalid, but deallocation is effectively a form of mutation
00:19:09 <shachaf> It seems much more like it should be a property of the read/write operation on the variable.
00:19:27 <ais523> shachaf: well, from a mathematical point of view, it's simplest to initially treat everything as volatile and then potentially allow for optimisations that change the number of reads on something
00:19:48 <ais523> I can see an argument to have a volatile version of lvalue and of rvalue dereferencing, though
00:20:02 <ais523> hmm… half the complexity of lvalues would be simplified if they /couldn't/ be read
00:20:12 <ais523> that'd be a pretty weird language, though
00:20:17 <shachaf> read, read_volatile : Ptr a -> a
00:20:37 <ais523> int X {get; set}; setX(4); setX(getX()+1);
00:21:27 <ais523> I don't see any particular reason why this style of programming wouldn't work, and it's a lot clearer than many others (and it's more or less how object-oriented program treats exposed variables, although probably for a different reason)
00:21:55 <ais523> now pass-by-reference is accomplished via passing the setX or getX /function/ by value
00:21:56 <shachaf> I think maybe C++ was making a change like that?
00:22:09 <ais523> that's most likely for class fields
00:22:13 <ais523> I don't think anyone treats /local/ variables like this
00:22:20 <ais523> (I stole the syntax from C#)
00:22:45 <shachaf> Oh, no, it's Rust: https://doc.rust-lang.org/std/ptr/fn.read_volatile.html
00:23:15 <shachaf> I was talking about the thing I said. I'm not sure what you mean by passing the function by value.
00:23:34 <ais523> I was going to ask "why is that unsafe" and then saw it works on `*` pointers, which would be a good reason
00:24:11 <ais523> re: passing the function by value, I mean you could pass the return value of getX() (i.e. pass by value), or you could pass the getX function itself so that the callee could then call it itself (i.e. pass by reference)
00:24:31 <ais523> like the difference between passing x and passing (int const *)&x in C
00:24:32 <shachaf> Where getX is a closure or something?
00:24:41 <ais523> getX is something like a closure, I think
00:24:54 <ais523> but the point is that the variable X can't be directly referenced at all
00:25:11 <ais523> all you have is its lvalue part setX and rvalue part getX, which correspond to the operations of assigning to it and reading it
00:26:02 <shachaf> It's nice to separate it into the covariant part and contravariant part, I guess.
00:26:46 <ais523> yes
00:27:36 <ais523> anyway, most languages treat variables like products of their lvalue and rvalue; a product's a type of pair where the pair itself acts as a unit, any operation on the pair can say "do this on the LHS" or "do this on the RHS" but the two parts aren't separable (unless you copy out of half of the pair individually)
00:28:16 <ais523> whereas this version of things treats variables like tensors of their lvalue and rvalue; a tensor's a type of pair which is basically just a wrapper for two halves, with the wrapper having no properties of its own, rather each half has its own independent behaviour
00:29:02 <ais523> typically speaking you have to copy a product to act on both halves of it (e.g. in a stack-based language, you'd do dup, then get hold of one half, operate on it, then get hold of the other half using the copy of the pair you made earlier)
00:29:16 <shachaf> I'm not sure I follow.
00:29:28 <ais523> whereas with a tensor, the operation you use to act on the tensor drops it into two halves of its own accord, so if you only act on one you need to explicitly pop the other one
00:29:56 <ais523> shachaf: this is a really confusing subject in general and I'm not all that great at understanding it
00:30:00 <ais523> *at explaining it
00:30:34 <ais523> it almost feels like the tensor/product distinction is the same sort of thing as monads, i.e. people use it all the time when writing in more mathematical languages but often only poorly understand it, except that it isn't well-known that it even is a problem
00:31:03 <shachaf> ski wrote about this a little while ago at http://slbkbs.org/ski-mercury.txt
00:31:07 <ais523> but it basically comes down to what happens when a language has some sort of metadata you can attach to a value (which is very common)
00:32:16 <shachaf> I'd like a language that makes all this very clear, most languages muddle it up or don't support talking about it at all.
00:32:40 <ais523> re: lvalue versus rvalue, OCaml is 100% explicit on the matter
00:33:19 <ais523> using := as lvalue dereference (producing a setter) and ! as rvalue dereference (which should produce a getter, although it actually executes the getter immediately; that's something of a mathematical flaw, I guess)
00:33:21 <shachaf> But can you get a ref to a part of a product inside another ref?
00:33:47 <ais523> no, you can't; that's because OCaml products are products
00:33:54 <ais523> rather than tensors
00:34:05 <ais523> or rather, there's a distinction
00:34:08 <ais523> do we have OCaml in hackego?
00:34:13 <ais523> `` which ocaml
00:34:13 <shachaf> I don't think so.
00:34:14 <HackEso> No output.
00:34:18 <ais523> nope
00:34:31 <ais523> anyway, in OCaml you can't get a ref to anything unless it was declared via the ref keyword
00:34:45 <ais523> so ref (1, 1) has a different type from (ref 1, ref 1)
00:34:51 <shachaf> Right.
00:35:07 <shachaf> This is what most of the explicit-about-refs languages do.
00:35:26 <shachaf> I'm interested in languages that help you talk about memory layout and so on.
00:35:40 <shachaf> When you declare a struct or union in C, what information exactly are you declaring?
00:36:02 <shachaf> I've asked that question before but I'm still not sure I have an answer.
00:36:05 <ais523> well, in the very early days of C, declaring a struct just gave you a list of constants representing memory offsets
00:36:20 <shachaf> In lvalue-land, you're declaring things like: A sizeof, an alignment, an offset for each field.
00:36:24 <ais523> like, if you wrote struct a {int b; int c}, that was more or less equivalent to "const int b = 0; const int c = 4;"
00:36:52 <ais523> (with the exception that struct a would be reported as having size 8 for the rest of the program, affecting things like sizeof, allocation of auto variables, and the like)
00:36:55 <shachaf> In rvalue-land, you're declaring something like, "this is the information that this struct consists of"
00:37:15 <shachaf> The thing in lvalue-land is effectively a memory encoding of the thing in rvalue-land.
00:37:22 <ais523> it feels like it's within the spirit of C for struct fields to not be rvalues at all
00:37:34 <shachaf> When you pass something by value to a function, the calling convention doesn't use the lvalue-land memory layout, it uses something more efficient.
00:37:37 <ais523> that said, I think they actually are in practice
00:37:56 <shachaf> "f().c" is an rvalue
00:38:01 <ais523> yes, as is 2+2
00:38:18 -!- arseniiv has quit (Ping timeout: 252 seconds).
00:38:29 <ais523> functions returning structs is something of a weird case in C; it doesn't feel like it "should" be possible, and in fact many compilers need special cases for it
00:38:45 <shachaf> It seems pretty reasonable to me.
00:39:10 <ais523> `` gcc -x c /dev/stdin <<< 'int main(void) {puts("Hello, world!"); return 0;}'; ./a.out
00:39:13 <HackEso> ​[01m[K/dev/stdin:[m[K In function ‘[01m[Kmain[m[K’: \ [01m[K/dev/stdin:1:17:[m[K [01;35m[Kwarning: [m[Kimplicit declaration of function ‘[01m[Kputs[m[K’ [[01;35m[K-Wimplicit-function-declaration[m[K] \ int main(void) {[01;35m[Kputs[m[K("Hello, world!"); return 0;} \ [01;35m[K^~~~[m[K \ Hello, world!
00:39:34 <ais523> `` gcc -x c /dev/stdin <<< 'int main(void) {puts("Hello, world!"); return 0;}' | cat; ./a.out
00:39:35 <HackEso> ​[01m[K/dev/stdin:[m[K In function ‘[01m[Kmain[m[K’: \ [01m[K/dev/stdin:1:17:[m[K [01;35m[Kwarning: [m[Kimplicit declaration of function ‘[01m[Kputs[m[K’ [[01;35m[K-Wimplicit-function-declaration[m[K] \ int main(void) {[01;35m[Kputs[m[K("Hello, world!"); return 0;} \ [01;35m[K^~~~[m[K \ Hello, world!
00:39:45 <ais523> hmm, what's up with all the terminal control codes
00:39:50 <shachaf> The reason I gave f().c as an example is that it shows that a.b doesn't always mean a thing like *(&a + b_offset).
00:40:09 <ais523> `` gcc -fdiagnostics-color=never -x c /dev/stdin <<< 'int main(void) {puts("Hello, world!"); return 0;}'; ./a.out
00:40:10 <HackEso> ​/dev/stdin: In function ‘main’: \ /dev/stdin:1:17: warning: implicit declaration of function ‘puts’ [-Wimplicit-function-declaration] \ int main(void) {puts("Hello, world!"); return 0;} \ ^~~~ \ Hello, world!
00:40:38 <ais523> `` gcc -fnodiagnostics-show-caret -fdiagnostics-color=never -x c /dev/stdin <<< 'int main(void) {puts("Hello, world!"); return 0;}'; ./a.out
00:40:38 <HackEso> gcc: error: unrecognized command line option ‘-fnodiagnostics-show-caret’; did you mean ‘-fno-diagnostics-show-caret’? \ Hello, world!
00:40:43 <ais523> `` gcc -fno-diagnostics-show-caret -fdiagnostics-color=never -x c /dev/stdin <<< 'int main(void) {puts("Hello, world!"); return 0;}'; ./a.out
00:40:44 <HackEso> ​/dev/stdin: In function ‘main’: \ /dev/stdin:1:17: warning: implicit declaration of function ‘puts’ [-Wimplicit-function-declaration] \ Hello, world!
00:41:09 <shachaf> `runc int main() { puts("hi"); return 0; }
00:41:10 <HackEso> hi
00:41:17 <ais523> shachaf: I agree that C currently works like this; however, I believe that all the cases that force structs to be treated as rvalues are weird special cases that /shouldn't/ have been in C
00:41:25 <zzo38> There is also LLVM, but does not have macros though
00:41:43 <shachaf> ais523: Do you also think struct assignments shouldn't be allowed?
00:41:50 <ais523> yes
00:42:04 <shachaf> Hm. They seem pretty reasonable to me.
00:42:20 <ais523> actually, there's a related question which is something that I've been really interested in over the past few months in general, and past few days more earnestly
00:42:21 <shachaf> What about passing structs as arguments by value?
00:42:42 <ais523> which is that languages seem to often use the same sort of language feature for a) large, complex values, and b) stateful objects
00:42:51 <ais523> I think they should be treated entirely differently
00:43:02 <ais523> things in class a) shouldn't be mutable, things in class b) shouldn't be passable by value
00:43:34 <ais523> quite a few languages are skirting round the edges of this idea but I don't think any has gone the whole way
00:45:39 <shachaf> How would languages be different if they made that distinction?
00:49:58 <zzo38> I did think of a way to make "user primitives" for JavaScript that can implement (a)
00:51:31 <ais523> shachaf: well for example, you'd never need a value/reference distinction
00:51:35 <ais523> in the actual syntax
00:52:00 <ais523> if something is a value, it's always a value; if something's an object, it isn't a value at all, it can only be manipulated via references to it (and those references are values)
00:52:17 <ais523> so the code itself sees only values
00:52:24 <ais523> (objects are manipulated via methods/accessor functions)
00:52:50 <ais523> more controversially, I /also/ think it would be beneficial if objects just persisted forever if they weren't explicitly deallocated, /but/ you could search for objects with particular properties
00:53:15 <ais523> my only argument in favour of this is that for something like the last 10 programs I've tried to seriously write, they'd be more easily written in that style than in a style that tries to maintain indexes manually
00:53:51 <shachaf> Search for?
00:54:57 <zzo38> Garbage collection works for unsearchable objects
00:55:35 <ais523> shachaf: like, there's a function that returns a reference to "the object whose x property is y"
00:56:24 <ais523> zzo38: I know that garbage collection works, however I think that garbage collection of reference-like objects is normally a bad idea, because if a programmer knows what they're doing they typically know the points at which they're supposed to become no longer useful anyway
00:57:06 <zzo38> I am not so sure that is true
00:57:14 <ais523> it's only objects that act like values that really benefit from garbage collection; this is because reference+garabage collect is a more efficient way of implementing the semantics you normally want (which is to replace referencing by copying, and freeing copies that go out of scope)
01:45:11 <esowiki> [[WHY]] M https://esolangs.org/w/index.php?diff=58340&oldid=58103 * Camto * (+54) Add them categories.
02:35:18 -!- oerjan has joined.
02:41:56 <shachaf> boker toevjan
02:43:31 <zzo38> What does that mean?
02:46:32 * oerjan suspects hebrew
02:46:57 * oerjan was right
02:47:08 <oerjan> heichaf
02:47:49 <shachaf> erev toevjan
02:48:11 <shachaf> hm, it's slightly irritating that "morning" and "evenign" are singular in hebrew, but e.g. "noon" is plural
02:50:41 <oerjan> <shachaf> Maybe oerjan remembers. <-- AAAAAAAAAAA
03:04:57 <shachaf> what is it that oerjan remembers? i've forgotten hth
03:14:11 <oerjan> yay
03:14:18 <oerjan> tdh thx
03:15:17 <shachaf> Oh, the thing with differentials.
03:23:34 <zzo38> Now I wrote a document for a internet protocol called Netsubscribe, which I invented, you can read and please to question, complaint, or other comments about it.
03:37:06 <zzo38> It is: http://zzo38computer.org/textfile/miscellaneous/netsubscribe Do you like this?
03:42:02 <esowiki> [[MIX (Knuth)]] https://esolangs.org/w/index.php?diff=58341&oldid=58339 * Zzo38 * (+399) Include the bootstrap card for MIXPC assembler
03:42:54 -!- ais523 has quit (Remote host closed the connection).
03:43:06 -!- ais523 has joined.
03:43:58 <ais523> zzo38: I think the specification could be organised a bit more clearly; for example, I would separate the normative description of the protocol itself from suggestions about how to implement it, and I would move any detailed description of competing protocols and protocols that you plan to replace to a separate section near the end
03:44:46 <ais523> it might also be helpful to separate the description of what data the protocol operates on from the way that those data are represented within the protocol, but I might be wrong about that
03:46:44 <zzo38> ais523: OK, I deleted some of the stuff from the introduction, such as the stuff about other protocols (which was there in order to try to make it more clearly), although one reason I put that there was to clarify it, although ideally it should be clear without.
03:47:05 <ais523> the set of error codes you have is much smaller than in most protocols; I think most protocols eventually discovered that they needed to use a system of error numbers, in which the number encoded some information about the error (so that clients knew how to handle unknown errors) but also just a code describing the cause of the error
03:47:23 <ais523> zzo38: I think that sort of information isn't necessarily useless, but people want to know the information in importance order
03:47:38 <ais523> if you have to read less important information to get to more important information it's easy to get confused
03:48:25 <zzo38> Yes, maybe there should be an error code for a permission error, and for a temporary error.
03:48:47 <zzo38> You can make other kind of suggestions about what kind of error you think needs to be mentioned.
03:49:15 -!- hexfive has joined.
03:49:22 <zzo38> Yes, I could add stuff about relation to other protocols in a section at the end, I will try to do that.
03:51:11 <zzo38> I am not sure how I should organize the suggestions how to implement it as you describe though, and I am not sure about separating the description of what data the protocol operates on from the way that those data are represented within the protocol (you say yourself you may be wrong about that, though)
03:52:19 <ais523> zzo38: well, in RFCs, advice like "don't use gets()" and similar advice about how to implement the protocol securely is often placed in a section called "security implications" at the end
03:55:20 <zzo38> I deleted the part about gets() and fgets(). And you could use fgets() anyways, as long as you check for the presence of the line break so I was wrong about that anyways.
03:58:02 <zzo38> But I will add a section of security implications.
04:00:00 -!- Taneb has quit (Quit: I seem to have stopped.).
04:01:29 -!- Taneb has joined.
04:01:37 <zzo38> Also, do you think there are any security implications that I may have missed?
04:05:13 <ais523> it's hard to get all the security implications first time with a new protocol; so I'd expect anyone to miss some the first time
04:05:24 <zzo38> Ah, OK.
04:05:27 <ais523> but I'm not really used to this protocol so I'd be even more likely to miss them
04:06:45 <zzo38> (But that is also why I ask; even if I might miss some that someone else doesn't, even if it is likely to miss them, there is also the possibility that there is one you don't miss, I suppose.)
05:20:56 -!- ais523 has quit (Quit: quit).
05:32:22 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:31:42 -!- nfd has joined.
06:35:16 -!- nfd9001 has quit (Ping timeout: 260 seconds).
06:38:55 -!- oerjan has quit (Quit: Nite).
06:42:13 <shachaf> @ask ais523 I've forgotten your idea involving generalizing Rust's ?, is it written somewhere?
06:42:13 <lambdabot> Consider it noted.
08:32:27 <shachaf> @ask ais523 I vaguely remember seeing a Haskell proposal that would translate something like do { f (<- a) (<- b) } into do { x <- a; y <- b; f x y } and so on. Do you remember something like that?
08:32:27 <lambdabot> Consider it noted.
08:32:35 <shachaf> Or oerjan or Taneb or whoever
08:40:35 -!- xkapastel has joined.
09:15:46 -!- nfd has quit (Ping timeout: 250 seconds).
09:51:12 -!- AnotherTest has joined.
10:09:56 <esowiki> [[Talk:Brainfoctal]] https://esolangs.org/w/index.php?diff=58342&oldid=58331 * Salpynx * (+1401) /* Numbering system */ great suggestion, thank you!!
10:10:37 -!- nfd has joined.
10:18:43 -!- imode has quit (Ping timeout: 246 seconds).
11:10:16 -!- xkapastel has quit (Quit: Connection closed for inactivity).
11:20:42 <shachaf> @tell ais523 Ah, it's https://github.com/ghc-proposals/ghc-proposals/pull/64
11:20:42 <lambdabot> Consider it noted.
11:21:47 <shachaf> @tell ais523 Oh, and http://docs.idris-lang.org/en/latest/tutorial/interfaces.html#notation is even closer
11:21:47 <lambdabot> Consider it noted.
11:53:55 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
11:56:20 -!- Lord_of_Life has joined.
11:56:20 -!- Lord_of_Life has quit (Changing host).
11:56:20 -!- Lord_of_Life has joined.
12:03:30 -!- wob_jonas has joined.
12:12:13 <wob_jonas> hmm
12:12:37 <wob_jonas> `dateu
12:12:38 <HackEso> 2018-11-12 12:12:38.052784510+00:00
12:25:54 -!- nfd has quit (Ping timeout: 252 seconds).
12:40:08 <esowiki> [[Falsebrain9Q+Fishload]] https://esolangs.org/w/index.php?diff=58343&oldid=57914 * Joshop * (+6)
13:23:34 -!- moei has joined.
14:09:25 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
14:17:12 -!- john_metcalf has joined.
14:43:58 -!- arseniiv has joined.
14:52:41 -!- Essadon has joined.
15:03:11 <ski> shachaf : "The reason I gave f().c as an example is that it shows that a.b doesn't always mean a thing like *(&a + b_offset)." -- hm, i suppose that goes into the difference between "persistent" vs. "transient" values (objects ?). cf. the C++ kerfuffle with "rvalue references" in relation to "move semantics" (and "perfect forwarding")
15:03:16 <ski> shachaf : "ais523 : I've forgotten your idea involving generalizing Rust's ?, is it written somewhere?" -- hm, i vaguely remember thinking and talking about something like that, on another channel
15:03:36 <ski> (partly in relation to my "reflective syntax" idea)
15:05:10 <ski> shachaf : fwiw, did you add some follow-up comments or questions after that (paste) snippet ? i think i intended to look and continue that conversation, but i got busy and then forgot, and now it's out of my scrollback
15:18:15 -!- Sgeo__ has joined.
15:20:07 -!- MDead has joined.
15:20:51 -!- Sgeo_ has quit (Ping timeout: 260 seconds).
15:21:12 -!- MDead_ has joined.
15:22:35 -!- MDude has quit (Ping timeout: 244 seconds).
15:25:15 -!- MDead has quit (Ping timeout: 264 seconds).
15:59:03 -!- sleepnap has joined.
16:15:19 -!- xkapastel has joined.
16:53:12 -!- Phantom_Hoover has joined.
17:12:00 -!- imode has joined.
18:03:59 -!- ais523 has joined.
18:04:07 <ais523> @messages-
18:04:07 <lambdabot> shachaf asked 11h 21m 54s ago: I've forgotten your idea involving generalizing Rust's ?, is it written somewhere?
18:04:07 <lambdabot> shachaf asked 9h 31m 40s ago: I vaguely remember seeing a Haskell proposal that would translate something like do { f (<- a) (<- b) } into do { x <- a; y <- b; f x y } and so on. Do you remember
18:04:07 <lambdabot> something like that?
18:04:07 <lambdabot> shachaf said 6h 43m 24s ago: Ah, it's https://github.com/ghc-proposals/ghc-proposals/pull/64
18:04:07 <lambdabot> shachaf said 6h 42m 19s ago: Oh, and http://docs.idris-lang.org/en/latest/tutorial/interfaces.html#notation is even closer
18:04:48 <ais523> shachaf: I don't think I posted my generalized-? idea anywhere but IRC, and it isn't fleshed out into a formal specification or anything like that
18:06:57 <ais523> perhaps we should try to express it in Haskell notation or something like that
18:07:28 <ais523> the basic idea is that x? converts the rest of the block into a function and gives it as an argument to x
18:07:36 <ais523> which can run it once, or not run it, or run it repeatedly
18:08:05 <ais523> and the f (<- a) (<- b) idea that you mention would be necessary so that code like f(a?)(b?) would be sensible
18:09:22 <ais523> Idris ! may be equivalent, although it's weird seeing it around presumably nullary terms like "print"
18:09:37 <ais523> err, not nullary, but returning a monad that contains unit
18:10:36 <ais523> I guess that works even in Rust
18:11:33 <ais523> there's no reason why you couldn't have a Result where the "non-error" case contained no data
18:11:34 <ais523> so (print x)? would mean "print x, and return on failure, otherwise continue"
18:11:40 <ais523> that's probably a common idiom in Rust already, come to think of it
18:11:56 -!- ais523 has quit (Quit: sorry for my connection).
18:12:08 -!- ais523 has joined.
18:19:06 <ski> (s/returning a monad that contains unit/returning a monadic action whose result is unit/)
18:20:17 <ski> <ski> shachaf : "ais523 : I've forgotten your idea involving generalizing Rust's ?, is it written somewhere?" -- hm, i vaguely remember thinking and talking about something like that, on another channel (partly in relation to my "reflective syntax" idea)
18:22:29 <ais523> I guess I'm mostly thinking about this ? proposal for less heavily functional languages
18:23:03 <ais523> does Haskell have anything resembling a promise library? or does it not need one, because the language is lazy anyway?
18:23:45 <ais523> …actually, the problem with Haskell wouldn't be blocking until the result arrives, but starting to ask for the result before you need it
18:23:56 <ais523> so that it's there when you do
18:24:19 <ais523> something that was discussed on a previous work project of mine, but not implemented, was "parallel call by need evaulation"
18:24:23 <ais523> *evaluation
18:24:28 -!- xkapastel has quit (Quit: Connection closed for inactivity).
18:25:02 <ais523> the idea is that when you see code "f x", you start evaluating x in the background while calling f; if f turns out to return without actually needing the value of x, you halt/discard the background evaluation
18:25:10 <ais523> (obviously, this only really works in a pure language)
18:25:30 <ais523> that style would make promises entirely irrelevant
18:28:04 <ski> iirc, the Rust `?' thing was (originally ?) about operations returning a result of option type ?
18:28:13 <ais523> anyway, re the "monad that contains" thing, I apologise for the sloppy language (but think "monadic action whose result is" is misleading; it's not really like a result at all, more like an argument)
18:28:55 <ais523> Rust's ? was probably first used with Result (the equivalent of Haskell's Either) as that's the type which most commonly needs it in practice
18:29:08 <ski> yea, i just like to emphasize that a monad is not a run-time value, really. a value of monadic type is something else
18:29:42 <ski> your description of `x?' above seemed related to CPS ?
18:30:07 <zzo38> I don't really like "monad that contains" or "monadic action whose result is". Some monads neither contain such a value nor perform an action having a result
18:30:24 <ski> example ?
18:30:35 <ais523> sk;
18:30:43 <ais523> *simplest example is probably the void monad
18:30:46 <ski> (i agree about not "containing" a value)
18:30:55 <ais523> although, actually, no, that doesn't support return
18:31:08 <zzo38> And then there is stuff that can contain a value of that type but might not, such as Maybe and []
18:31:12 <ski> i'm not sure what you have in mind by that term
18:31:15 <ais523> I guess I don't intuitively see why a monad should
18:31:34 <ais523> ski: "Maybe except it always contains Nothing", for example
18:31:42 <ski> `Maybe' expresses the possibility of not ending up with a result
18:31:43 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: Maybe': not found
18:31:53 <ski> that's the effect that the `Maybe' monad expresses
18:32:23 <ais523> I guess the difference in thought between me and everyone else is that I see monad actions as not necessarily belonging to any particular monad type
18:32:31 <ski> generally, one could say that all behaviour of an action of some monad, apart from simply "yielding" a single result, is an effect
18:32:46 <ais523> Haskellers think in terms of "Maybe Integer", whereas I think more in terms of "Nothing" or "Just 6"
18:33:00 <ais523> as being of type (Monad x) => x Integer
18:33:00 <ski> so, for `Maybe' an effect is not giving a result value. for list, an effect is not giving a result value, or giving multiple result values
18:33:22 <ski> for state, an effect is depending on, and possibly changing, the implicit state
18:33:37 <ais523> ski: why are you treating the case where one result value is available as a special case?
18:33:57 <oren> hmmm, can you compose types like "SuchThat f Integer"?
18:34:01 <ais523> because that's what "pure"/"return" does, and thus it isn't an effect by definition?
18:34:14 <ski> ais523 : well, `Nothing' is of type `Maybe Integer', not of type `Monad x => x Integer', afaiac -- i'm not following your line of thought here, elaborate ?
18:34:16 <oren> e.g. an integer such that f returns true on it?
18:35:05 <ski> ais523 : "why are you treating the case where one result value is available as a special case?" because that's the non-effectful ("pure") case, which is what the `return'/"unit" monadic operation (not that greatly named in Haskell) gives you
18:35:36 <ais523> ski: I know, it isn't of type Monad x => x Integer; it's more that for me, the important thing about Nothing and Just 6 is that (Nothing (>>=)) and ((Just 6) (>>=)) are funcitons that take (Integer -> a) arguments
18:35:48 <ski> oren : in dependent typing, you can
18:36:08 <ais523> …actually, I think I've realised what's up with my understanding; I think of monads as being /just/ the >>=
18:36:14 <ais523> without caring about the "return"/"pure" part of the mat all
18:36:29 <ski> well, both are important
18:36:38 <ski> while admittedly, one is more interesting than the other
18:37:00 <ski> but when branching, you want the ability/choice to not do anything interesting in one branch
18:38:24 <ski> hm, thinking of `(Nothing >>=)' and `(Just 6 >>=)' again to me suggests thinking about continuations (CPS, or in this case, the Codensity monad, which is a kind of optimization that you sometimes want to apply)
18:38:34 <ais523> …and thinking about this even more: the behaviour of ">>=" is effectively part of the monad /action/, whereas the behaviour of "return"/"pure" isn't, it's only part of the monad /type/
18:38:41 -!- wob_jonas has joined.
18:38:59 <ski> well, in a sense, both are trivial
18:39:09 <ski> both are about *sequencing* some kind of interesting *effects*
18:39:12 <wob_jonas> ohai
18:39:18 <ski> but neither of them actually expresses an interesting effect
18:39:25 <oren> because if you can have a SuchThat f Integer then you can instead of hacing a function return a Maybe Integer it can *take* a SuchThat f Integer
18:39:50 <ski> if you *only* have `return' and `(>>=)' operations of a monad to work with, that's (close to) useless, you can't do much useful stuff
18:39:55 <ais523> so suppose we have code like (Haskell) do {a1 <- a; b1 <- b; return (a+b)}
18:40:11 <ais523> is it possible to make something like that work when a and b belong to /different/ monads? my guess is no
18:40:22 <ais523> err
18:40:25 <ski> (actually, with higher-order operations, you can do some useful things. but only as library operations that eventually will have to be applied in a particular situation, with a particular monad with more operations available)
18:40:27 <ais523> do {a1 <- a; b1 <- b; return (a1+b1)}
18:40:45 <ski> "monad" is like an abstract data type interface, like "priority queue"
18:40:57 <ais523> yes
18:41:19 <ski> but, knowing that you have a priority queue, but not being given any additional, implementation-specific operations, for it, you can still do useful things
18:41:24 <ais523> I mean, and b have two different types, and each such class belongs to the typeclass Monad
18:41:25 <ski> with a monad, not so much
18:42:01 <ski> typically, you want to have some extra operations, like state operations, non-deterministic operations, exception operations, parsing, concurrency-related, continuation stuff, &c.
18:42:31 <ski> "is it possible to make something like that work when a and b belong to /different/ monads? my guess is no" -- in general, no -- in some particular cases, it may be possible
18:42:39 <ais523> OK, I think I know what goes wrong in Haskell; you'd need /two/ returns, the inner one creating a value that's pure with respect to b's effects, the outer one creating a value that's pure with respect to a's effects
18:43:09 <ski> well, that can also be useful, in certain situations
18:43:13 <ski> (but that's a different thing)
18:43:14 <ais523> yes
18:43:40 <ais523> the closest you can get to what I want in Haskell is do {a1 <- a; return do {b1 <- b; return (a1+b1)}}
18:43:40 <ski> oren : yep
18:44:34 <ski> let's say `a' in the state monad (`State t', say, `t' being the type of the state which the computation depends on, and may change)
18:44:47 <ski> and `b' in the environment/input/reader monad (`Reader t')
18:45:24 <ski> so, you're not interested in the final value of the state, and so you want to avoid bothering getting back the final state result from the "rightmost-leaning branch" in your computation tree
18:46:14 <ski> so, here we'd have a variant of `(>>=)', of type `m a -> (a -> n b) -> n b', where `m' here would be `State t', and `n' would be `Reader t'
18:48:36 <ski> (we also have a conversion of type `m a -> n a', which here just discards the final state, and `n a -> m a', which copies over the input state. the former operation is a post-inverse to the latter, but not the other way around. then there's some laws of interaction between these two conversions, and the `(>>=)' above, and the usual monadic operations)
18:49:03 <shachaf> ski: I don't remember what I wrote after that conversation, I didn't log it or anything.
18:49:24 <ski> (another example would be a version of lists, where we only care about the final number of solutions. so then `m = []' and `n = Const Integer' or somesuch)
18:49:30 <ski> shachaf : fair enough
18:51:02 <ski> ais523 : hm, so perhaps you could elaborate on "…and thinking about this even more: the behaviour of \">>=\" is effectively part of the monad /action/, whereas the behaviour of \"return\"/\"pure\" isn't, it's only part of the monad /type/" ?
18:52:04 <shachaf> ais523: Maybe you mean (Monad x *> x Integer) instead of (Monad x => x Integer)?
18:53:47 * ski sighs about presuppositions
18:54:41 -!- ais523 has quit (Remote host closed the connection).
18:54:59 -!- ais523 has joined.
18:55:08 <ais523> ski: well, the only "general-purpose" thing you can do with a monad action is to use its >>= (producing another monad action of the same type)
18:56:23 <ais523> so, in a sense, the monad action "is" its >>=, because anything else you could do with it is a special case
18:56:23 -!- ais523 has quit (Remote host closed the connection).
18:56:35 -!- ais523 has joined.
18:56:47 <ais523> <ais523> meanwhile, "return"/"pure" doesn't take a monad action as argument at all, it's a constructor for monad actions
18:56:58 <ais523> and the monad action you construct doesn't actually have anything to do with the monad it belongs to
18:57:10 <ais523> because all return values from "return"/"pure" have the /same/ >>=
18:57:49 <ais523> (specifically, "(>>=) (return x)" = "(\f -> return (f x))")
18:58:10 <ski> if you don't have access to other monadic operations, for some monad `m', than `return' and `(>>=)', then you can only build actions like e.g. `return x >>= \y -> return (f y)' which (by monad law) is equal to `return (f x)'
18:58:30 <ski> so, every action of type `m a' you can build will then be equal to `return x', for some `x'
18:58:35 <ski> that's not terribly exciting
18:58:55 <ais523> ski: I guess I'm assuming I have access to some constructors that return impure monad actions
18:59:19 <ski> (you can do a little more interesting stuff if you take monadic callback arguments, and express patterns of compsing them in particular ways, possibly while simutaneously traversing a data structure, or somesuch)
18:59:57 <ais523> …actually, I guess that what I'm doing is not wanting to draw a distinction between any instance of "return 4"
18:59:59 <wob_jonas> ski: I don't think you can. there's the monad associativity law that says that can't be more interesting.
19:00:17 <shachaf> I like the thing Oleg mentioned about how you can write dne :: (forall m. Monad m => (a -> m Void) -> m Void) -> a
19:00:30 <ais523> I don't see any reason why "Just 4" and "[4]" should be considered different values
19:00:39 <ski> wob_jonas : (simple) examples of such "slightly more interesting" operations i have in mind is `sequence' and `mapM'
19:01:11 <ski> (the associativity law says that the "bracketing/grouping" doesn't matter, only the order (may) matter)
19:01:11 <shachaf> It was on http://okmij.org/ftp/Computation/lem.html which is now a 404? Oh no
19:01:57 <ski> ais523 : the reason i was "singling out" `Just 4' and `[4]' above was that they can be expressed as `return x', for some `x'
19:02:12 <ski> and `return' is *the* way to express an "efectfully trivial" action
19:02:12 <shachaf> ski: Did I talk mention my weird "rest of block" programming language idea to you?
19:02:20 <ski> shachaf : i don't think so
19:02:56 <ski> ais523 : i agree this is a bit like singling out the integer zero from all the other integers ("because adding it to something doesn't change the result", so to speak)
19:03:09 <ais523> ski: right
19:03:44 <ais523> I guess from my point of view, I don't consider "Just 4" and "[4]" to be special in a different sense: the two values are indistinguishable using monad operations, even in an impure language
19:04:10 <ski> from my POV, monads are for capturing/expressing "effects". `return' is used when the interface (the type) allows the possibility of an effect, but in this particular case, we don't want one
19:04:28 <ski> (but if we never want one, then we don't need to use a monad there)
19:04:34 <ais523> if you imagine an impure language that has monads, you can do things like "x >>= \y.(unsafePerformIO (putStrLN (show y)))"
19:04:52 <ais523> and that lets you distinguish between different monadic actions in x, but you can't distinguish between the various sorts of return 4
19:05:09 <ski> hm, not sure what you have in mind by "the two values are indistinguishable using monad operations, even in an impure language"
19:05:45 <ski> ais523 : hm, what is the monad used for `(>>=)', there ?
19:06:14 <ais523> well, «(return 4) >>= (\y.(unsafePerformIO (putStrLn (show y)))» is, by monad laws, equivalent to «unsafePerformIO (putStrLn "4")»; and it doesn't matter what the monad you use is
19:06:34 <wob_jonas> but surely [4] and (Just 4) can't be completely interchangable if show can distinguish them
19:06:39 <ais523> likewise, in the original example, I'm assuming we don't know what type x has, just that it has type (Monad m) => m Integer
19:06:50 <ski> it looks to me like the type of the latter would be `()'/`unit'/`void', or however you spell it
19:07:06 <ski> which doesn't seem to fit the pattern `m a', of a monad `m' applied to a "monadic result type" `a'
19:07:21 <ais523> ski: sorry, I forgot a "return"
19:07:25 <ski> ah, ok
19:07:49 <ais523> «x >>= \y.(return (unsafePerformIO (putStrLn (show y))))»
19:08:01 * ski assumes ais523 means : just that is has type `m Integer', for some monad `m' (iow for some `m' satisfying `Monad m')
19:08:09 <wob_jonas> it's not like show is magical or breaks monad laws or purity or anything there
19:08:14 <ais523> ski: yes
19:08:36 <ski> (that's why i sighed about presuppositions before. i see this sort of confusion in #haskell all the time)
19:08:37 <shachaf> I think maybe you're thinking in terms of continuations, and how "return x" always calls its continuation exactly once, or something?
19:08:55 <ais523> wob_jonas: oh, I'm assuming that our monad action x has an unknown type other than being a monad action which takes functions that take integers in its >>=, so we can't give it directly as an argument to show because we don't know it implements Show
19:08:57 <ski> ais523 : anyway, i'm still now sure where you're going with this "indistinguishable" business
19:09:51 <ais523> ski: I guess I'm imagining a language with a weaker type regime than Haskell (possibly even untyped), in which case all possible return values from "return 4" are the same value, given that you have no way to distinguish between them
19:10:16 <ski> hm, it seems to me that's already the case in Haskell
19:10:19 <ais523> so if we want a value that's "Maybe Integer" we have two possibilities: a) "return n" for any Integer n; or b) "Nothing"
19:10:36 * ski nods
19:12:21 <shachaf> I think Maybe and [] are maybe misleading, especially since Maybe is just an affine special case of [].
19:12:27 <wob_jonas> ah, so like a... language with a different type system, and Monad defined such that return isn't a method, but a function that doesn't depend on the monad tycon?
19:12:29 <shachaf> Say "m" is (e ->) or something.
19:12:53 <ais523> shachaf: which monad is that? Reader?
19:13:04 <shachaf> Yes.
19:13:06 <ais523> wob_jonas: right
19:13:31 <shachaf> OK, I guess I might see what you're getting at
19:14:11 <ais523> shachaf: so with Reader, you have "return 4" being "\x.4", and you can likewise perform operations on that without knowing what x is
19:14:15 <wob_jonas> ais523: but then what would the signature of whatever becomes of the (>>=) method in that different Monad be like?
19:14:43 * ski isn't even sure what we're currently discussing, anymore
19:14:47 <shachaf> ais523: I don't think the >>=(\y.unsafePerformIO (putStrLn (show y))) thing makes sense, though
19:14:50 <ais523> wob_jonas: same as for any monad
19:14:59 <ais523> :t (>>=)
19:15:01 <lambdabot> Monad m => m a -> (a -> m b) -> m b
19:15:13 <ais523> shachaf: why not?
19:15:52 <wob_jonas> ais523: but then how could that work on both monads created by return and monads created in other ways?
19:16:04 <wob_jonas> I dunno
19:16:42 <ski> (s/monads/monadic actions/, sorry to bother)
19:17:11 <shachaf> ais523: Which value would that call the continuation with?
19:17:26 <ais523> OK, let's look at it this way: suppose we have an operator, let's call it (>>='), which has type (Monad m1, Monad m2) => m1 a -> (a -> m2 b) -> ? b, where ? is some monad
19:17:40 <ski> (well, have fun. i have to leave presently. will perhaps check in later)
19:17:42 <ais523> the question is, what type should ? have?
19:18:02 <ais523> and I think the answer is "in general you can't answer this, but for many specific cases there's a reasonable answer"
19:18:17 <ais523> for example, if either m1 or m2 is Identity, then you can make ? work as the other of the two monads
19:18:33 <wob_jonas> how did we even get here from places in structure fields?
19:18:37 <ais523> and if m1 = m2, then the unknown monad at the end is the same thing
19:18:43 <wob_jonas> or, um, how did you get here while I was not looking?
19:18:59 <ais523> wob_jonas: well, this sort of topic is something that shachaf and I have been discussing on and off for weeks
19:19:53 <shachaf> wob_jonas: This is an orthogonal discussion to the one about structs and lvalues, I think.
19:20:05 <wob_jonas> ok
19:20:14 <ais523> now, if we consistently use >>=' rather than >>=, then a) all existing Haskell code works because m1 and m2 will always have the same type, b) we can consistently define (return a) using the return from Identity, rather than using the original monad, and things will still work
19:22:23 <ais523> …so I guess what I want is a world in which all monads are associative in the sense that Monad1 (Monad2 x) and Monad2 (Monad1 x) are the same type
19:22:48 <wob_jonas> ais523: but isn't that impossible?
19:22:55 <ais523> maybe I should try to write a concrete language like this and see where it goes wrong
19:23:02 <ais523> wob_jonas: it depends on how many monads you support
19:23:12 <ais523> it's certianly possible if you have only a small whitelist of monads
19:23:14 <wob_jonas> well sure, if you only have Identity and nothing else that it could work
19:23:42 <ais523> for example, we could combine Maybe and List by deleting Nothiing-valued list elements
19:24:37 <shachaf> Something like https://en.wikipedia.org/wiki/Distributive_law_between_monads
19:24:49 <shachaf> I think I remember something about a system that used this? But I don't remember the details
19:27:44 <ais523> actually, an even better way to think about this is to think about the mathematical definition of monads (which uses two operations, one of type (x → m x), one of type (m m x → m x)); the ideal would be for the (m m x → m x) to work with two /different/ ms on the LHS
19:28:18 <ais523> in Haskell, at the moment, it's common to use monad transformers for that sort of thing
19:28:44 <ais523> e.g. it's easy enough to write a function (Reader (IO x)) → ((ReaderT IO) x)
19:29:01 -!- nfd has joined.
19:29:27 <ais523> …do monad /transformers/ always commute with each other? my guess is "not always, but they often do"
19:29:50 <shachaf> No
19:30:00 <shachaf> Monad transformers are kind of ad-hoc
19:30:14 <wob_jonas> they don't commute
19:30:22 -!- xkapastel has joined.
19:38:56 <shachaf> ski: So the idea is that you have a bunch of control flow things that affect "the rest of the block"
19:39:13 <shachaf> ski: Like { if(p); ... } for what's normally written as if (p) { ... }
19:39:27 -!- john_metcalf has quit (Ping timeout: 240 seconds).
19:39:31 <shachaf> And { x := for(xs); ... } for what's normally for (x : xs) { ... } or something
19:40:19 <shachaf> I now think that maybe this should be marked more explicitly, something like { if(p)`; ... }, where ` on a value means "pass the rest of the block as a continuation"
19:41:14 <shachaf> I think this is maybe similar to delimited continuations in a restricted form, with {} having a role similar to reset?
19:41:23 <shachaf> And { A; B; C; } meaning { A; { B; C; } }
19:43:49 <shachaf> Do you know of something like that?
19:44:19 <wob_jonas> yeah, you've asked about that earlier here, I think
19:44:39 <zzo38> I did think some time I wanted to have the possibility to have a macro in JavaScript that allows passing the rest of the function as a continuation.
19:44:53 <wob_jonas> there's prolog's nondeterminism which you could think of as a special case of that
19:55:48 <wob_jonas> but it's not delimited, it takes the whole rest of the run of the program, not just the rest of the "block"
19:58:28 <ais523> well, unless you have an alternative (based on ; or on a second definition of the same predicate)
20:37:47 <zzo38> I have now added two new responses to the Netsubscribe protocol, which are & (deferred processing) and T (timeout).
20:42:05 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=58344&oldid=57018 * Camto * (+69) Burlesque
20:44:41 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:45:00 -!- wob_jonas has joined.
20:45:04 -!- wob_jonas has quit (Client Quit).
21:05:16 <esowiki> [[A]] https://esolangs.org/w/index.php?diff=58345&oldid=58336 * Cortex * (+23)
21:06:20 <esowiki> [[A]] https://esolangs.org/w/index.php?diff=58346&oldid=58345 * Cortex * (+0) /* Numbers from 1 to 10 */
21:11:34 <esowiki> [[A]] https://esolangs.org/w/index.php?diff=58347&oldid=58346 * Cortex * (+168)
21:11:58 <esowiki> [[A]] https://esolangs.org/w/index.php?diff=58348&oldid=58347 * Cortex * (+4)
21:32:16 <esowiki> [[Web framework list]] M https://esolangs.org/w/index.php?diff=58349&oldid=50039 * Camto * (+21) Retrieved from Wayback Machine.
21:52:52 -!- moei has quit (Quit: Leaving...).
22:37:38 <esowiki> [[User:JonoCode9374]] https://esolangs.org/w/index.php?diff=58350&oldid=57956 * JonoCode9374 * (+76)
23:14:57 -!- sleepnap has quit (Quit: Leaving.).
23:33:27 -!- AnotherTest has quit (Ping timeout: 240 seconds).
23:37:38 -!- tromp has quit (Remote host closed the connection).
23:37:54 -!- tromp has joined.
23:40:34 -!- Essadon has quit (Quit: Qutting).
23:53:23 -!- Lord_of_Life_ has joined.
23:56:36 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
23:56:37 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:56:37 -!- Lord_of_Life has quit (Changing host).
23:56:37 -!- Lord_of_Life has joined.
2018-11-13
00:04:28 <zzo38> What port number should be in use for Netsubscribe protocol?
00:08:11 <ais523> zzo38: if it ever becomes popular enough a number would likely be officially assigned; if not, people will use their own numbers, but I suggest you recommend a number that currently isn't in common use
00:08:29 <ais523> there are lists of port numbers in common use, I think, so you could find such a list and pick an arbitrary number that isn't on it
00:10:56 -!- ATMunn has quit (Quit: lol rip).
00:11:08 -!- ATMunn has joined.
00:12:37 <fizzie> Wikipedia's [[List of TCP and UDP port numbers]] is a pretty reasonable one, including both official and unofficial assignments.
00:12:41 <esowiki> [[High Rise]] N https://esolangs.org/w/index.php?oldid=58351 * Ais523 * (+9511) about time I wrote this up
00:12:54 <zzo38> Yes, I did find that
00:13:14 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58352&oldid=58338 * Ais523 * (+16) /* H */ +[[High Rise]]
00:13:42 <esowiki> [[User:Ais523]] https://esolangs.org/w/index.php?diff=58353&oldid=58062 * Ais523 * (+15) +[[High Rise]]
00:14:20 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:21:31 <zzo38> I am not sure which one I should use, though.
00:27:02 <zzo38> Perhaps should trying to figure out which ones are not officially assigned and that other software that uses them is unlikely to be running on the same computer.
00:28:42 <zzo38> What number is your suggestion?
00:35:01 <ais523> why not choose one at random (that's above 1024), and reroll until you find one that isn't in use? that's normally a good way to reduce the chances of collisions
00:37:09 <zzo38> OK, I suppose that could be used.
00:43:40 <zzo38> IANA says that 9296 is currently unassigned, and Wikipedia does not list a use of that number either.
00:45:28 -!- ais523 has quit (Remote host closed the connection).
00:45:48 -!- ais523 has joined.
00:48:39 <zzo38> Now you can read the new version of the protocol document, because I have made many changes. I will also try to start to implement
00:56:17 -!- moony has quit (Excess Flood).
00:56:40 -!- moony has joined.
01:09:01 -!- tromp has quit (Remote host closed the connection).
01:09:39 -!- tromp has joined.
01:13:15 -!- oerjan has joined.
01:35:01 -!- arseniiv has quit (Ping timeout: 246 seconds).
01:41:08 -!- ais523 has quit (Quit: quit).
02:08:08 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
02:11:04 -!- Lord_of_Life has joined.
02:11:05 -!- Lord_of_Life has quit (Changing host).
02:11:05 -!- Lord_of_Life has joined.
03:08:07 -!- Bowserinator has quit (Quit: Blame iczero something happened).
03:08:23 -!- Bowserinator has joined.
03:09:07 <esowiki> [[Web framework list]] M https://esolangs.org/w/index.php?diff=58354&oldid=58349 * Oerjan * (-18) /* Esoteric frameworks for ordinary languages */ Template
03:28:56 <oerjan> @ask shachaf regarding your { if(...); ... } stuff, have i reminded you about Raph Levien's continuation language IO yet?
03:28:56 <lambdabot> Consider it noted.
03:29:42 * oerjan misspelled both parts of the name before looking it up
03:38:10 <shachaf> @messages-loer
03:38:10 <lambdabot> oerjan asked 9m 14s ago: regarding your { if(...); ... } stuff, have i reminded you about Raph Levien's continuation language IO yet?
03:38:27 <shachaf> I don't think so.
03:41:04 <shachaf> What is it?
04:02:53 <oerjan> http://canonical.org/~kragen/raph-io.html
04:03:21 -!- ATMunn has quit (Quit: lol rip).
04:03:33 -!- ATMunn has joined.
04:06:33 <esowiki> [[W]] https://esolangs.org/w/index.php?diff=58355&oldid=58233 * Cortex * (+69)
04:07:54 <esowiki> [[TEPCS]] https://esolangs.org/w/index.php?diff=58356&oldid=58246 * Cortex * (+24)
04:09:21 <esowiki> [[A]] https://esolangs.org/w/index.php?diff=58357&oldid=58348 * Cortex * (+99)
04:16:33 <oerjan> http://hackage.haskell.org/package/Ganymede is an implementation
04:34:16 -!- ATMunn has quit (Quit: lol rip).
04:34:28 -!- ATMunn has joined.
04:38:10 <zzo38> I look at the document of siginfo_t structure. I am not sure what use si_ptr is (since it is probably an address belonging to a different process), and I don't know why it does not include SIGPIPE.
04:59:43 <shachaf> Are Io continuations delimited?
04:59:55 <shachaf> I can't find much information about it. Maybe I can find the paper.
05:02:03 <zzo38> I don't know
05:13:34 <oerjan> shachaf: no
05:14:29 <oerjan> well, not that i've seen. i think they're pretty minimalistic.
05:15:11 <shachaf> I can't tell whether delimited continuations are more or less minimalistic than regular continuations.
05:34:29 <oerjan> well i mean, they're pretty much just lambda expressions that have no result but always just call another one
05:35:00 <shachaf> Delimited continuations, regular continuations, or Io things?
05:35:11 <oerjan> io things
05:35:20 <oerjan> it's a language where everything is CPS
05:39:40 -!- fungot has quit (Ping timeout: 272 seconds).
05:39:49 -!- fungot has joined.
05:50:06 -!- hexfive has quit (Quit: WeeChat 2.2).
07:46:13 -!- oerjan has quit (Quit: Nite).
08:08:15 -!- sprocklem has quit (Quit: brb).
08:15:35 -!- sprocklem has joined.
08:32:58 -!- tromp has quit (Remote host closed the connection).
08:33:14 -!- tromp has joined.
08:34:28 -!- xkapastel has quit (Quit: Connection closed for inactivity).
08:42:30 -!- joast has quit (Ping timeout: 252 seconds).
08:48:41 -!- imode has quit (Quit: WeeChat 2.3).
08:57:55 -!- tromp has quit (Remote host closed the connection).
08:58:29 -!- tromp has joined.
09:10:30 -!- tromp has quit (Remote host closed the connection).
09:10:43 -!- tromp has joined.
10:11:24 -!- AnotherTest has joined.
10:48:45 -!- wob_jonas has joined.
10:50:02 <wob_jonas> "<ais523> there are lists of port numbers in common use, I think, so you could find such a list and pick an arbitrary number that isn't on it" => Yeah, the problem is that there are only 65536 port numbers each for TCP and UDP (even in IPV6), and a large range of that is generally wanted for non-common port numbers as the other side of connections.
10:50:46 <wob_jonas> There's some tricky modern solution where there's a directory service per server where you can query the port number for a service based on some name that can be longer than two bytes, but I'm not sur how it works.
10:51:43 <wob_jonas> Or, for many protocols, you can just run multiple things on the same port and differentiate by content, such as on a HTTP or HTTPS port and differentiate by the URL, or different versions of the same protocol by some headers.
10:53:18 <wob_jonas> zzo38: in this case for usenet, if you're designing a protocol that tries to replace an old one, you might want a mechanism where one side connects to whatever is the normal port for usenet, and by some handshake it can tell whether the other side supports the newer protocol, or it has to fall back to the older protocol instead.
10:54:21 <wob_jonas> Also, don't use port number 0, the unix socket interface is badly designed and doesn't easily allow you to bind to it.
10:54:55 <wob_jonas> (The system calls interpret port number 0 in bind as letting the tcp/udp layer choose a port, which you can query with getsockname.
10:59:09 <wob_jonas> This dispatching on a single connection still works later if the client is set to just disconnect if the new protocol is not available.
11:00:45 <wob_jonas> zzo38: http://man7.org/linux/man-pages/man2/sigaction.2.html about siginfo_t
11:09:42 <wob_jonas> "I am not sure what use si_ptr is (since it is probably an address belonging to a different process)" => it's an opaque value that the kernel doesn't care about, it doesn't need to be a real pointer although it could be, it's between the two processes to define its meaning. it's a pointer type to make sure it's wide enough.
11:10:21 <wob_jonas> You could have it be an opaque handler small integer, or a pointer into a shapred memory region, possibly relative to its base, or a file offset, or whatever.
11:13:17 <wob_jonas> zzo38: re SIGPIPE, it's true that http://man7.org/linux/man-pages/man2/sigaction.2.html doesn't mention it, nor does http://pubs.opengroup.org/onlinepubs/9699919799/toc.htm . probably there's no special handling in SA_SIGINFO handlers for SIGPIPE,
11:13:40 <wob_jonas> because you rarely want to handle SIGPIPE in any complicated way anyway, you just look for the EPIPE errno from syscalls instead.
11:14:37 <wob_jonas> It's a synchronious error, it was only a signal for historical compatibility reasons to provide a sane default for small programs that don't bother to handle write errors, but then programs need to do that anyway for other unexpected write errors too.
11:16:34 <wob_jonas> I'd also like to mention that you shouldn't be confused by siginfo_t having so many fields. It can actually be a union with fields overlapping, the concrete definition on linux is https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/siginfo.h?h=v4.20-rc2
11:27:43 -!- mroman has joined.
11:33:18 <mroman> I'm trying to document Burlesque's syntax.
11:33:21 <mroman> F*ck me :(
11:33:33 <mroman> Can't be done without also documenting the exact order of how Burlesque tries to parse things.
11:33:44 <mroman> because that's what it does: it tries to apply a rule and if it doesn't match it tries the next rule.
11:34:29 <mroman> Built-ins don't really have a syntax.
11:38:52 <mroman> and I gotta document blsq ) begin lisp (?+ (?* 3 2) 1) end lisp
11:38:53 <mroman> as well
11:43:01 <wob_jonas> mroman: good luck
11:43:54 <mroman> yeah.
11:43:57 <mroman> y``@|[(yabcdY)to]| YShpe
11:44:01 <mroman> guess what this does.
11:44:54 <mroman> y Y is a block quote
11:45:12 <mroman> for some reason you can actually quote more than one identifier.
11:45:29 <mroman> I have no idea why this is even possible
11:47:18 <mroman> I guess in case a built-in wants more than one identifier arguments.
11:52:49 <mroman> also I doubt anybody knew that @'a gives you an infinite list of 'a's
11:53:24 <mroman> it's documented though.
12:21:44 -!- arseniiv has joined.
12:32:10 -!- Unitan has joined.
12:32:25 <Unitan> Hello
12:33:11 <ski> hullo
12:35:12 -!- Unitan has quit (Client Quit).
12:40:03 -!- mroman has quit (Ping timeout: 256 seconds).
13:10:12 <esowiki> [[Special:Log/newusers]] create * Unitan * New user account
13:13:21 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58358&oldid=58318 * Unitan * (+155)
13:17:50 -!- joast has joined.
13:35:42 -!- Essadon has joined.
13:39:38 <esowiki> [[Doreq]] N https://esolangs.org/w/index.php?oldid=58359 * Unitan * (+1459) Created page with "[[Doreq]] is a [[OISC]] interpreter of the same named instruction. ==Basic== Each doreq instruction has 8 memory address operands. A B C X Y Z J K If the value at memory..."
13:43:34 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=58360&oldid=58352 * Unitan * (+12) /* Adding Doreq */
13:52:57 <esowiki> [[Doreq]] https://esolangs.org/w/index.php?diff=58361&oldid=58359 * Unitan * (+733) Inserted a JS Interpreter
13:54:04 -!- xkapastel has joined.
14:08:54 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
14:09:19 -!- Lord_of_Life has joined.
14:09:20 -!- Lord_of_Life has quit (Changing host).
14:09:20 -!- Lord_of_Life has joined.
15:07:36 -!- AnotherTest has quit (Ping timeout: 250 seconds).
15:30:39 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58362&oldid=58360 * Backspace * (+10) added Eul
15:42:01 -!- olsner has quit (Ping timeout: 246 seconds).
15:54:17 -!- Storkman has quit (Ping timeout: 268 seconds).
16:14:02 -!- sleepnap has joined.
16:44:54 <esowiki> [[Doreq]] M https://esolangs.org/w/index.php?diff=58363&oldid=58361 * Unitan * (-44)
16:56:36 -!- tromp has quit (Remote host closed the connection).
16:57:10 -!- tromp has joined.
17:03:44 -!- imode has joined.
17:06:38 -!- Storkman has joined.
17:18:22 -!- tromp has quit (Remote host closed the connection).
17:18:38 -!- tromp has joined.
17:20:07 -!- Storkman has quit (Ping timeout: 240 seconds).
17:27:58 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
17:32:26 <zzo38> Actually, NNTP can still be used for Usenet, because Netsubscribe is a bit different use. (Even if it was, you couldn't then use both protocols together if the same port number is in use, whether for the same or for two different purposes)
17:35:11 -!- AnotherTest has joined.
17:36:11 -!- olsner has joined.
17:43:37 <esowiki> [[Doreq]] https://esolangs.org/w/index.php?diff=58364&oldid=58363 * Unitan * (+269)
17:57:02 -!- Storkman has joined.
20:25:20 <esowiki> [[Special:Log/newusers]] create * LLmd * New user account
20:37:50 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58365&oldid=58358 * LLmd * (+216) /* Introductions */
20:55:47 -!- imode has quit (Quit: WeeChat 2.3).
21:16:49 <esowiki> [[SimpliVode]] N https://esolangs.org/w/index.php?oldid=58366 * LLmd * (+694) Created page with "SimpliVode (Originally SimpleCodeV) is a one-instruction language that has no branching, operators or comparisons. It only has one command: mem <memory address> <value to wri..."
21:37:09 <esowiki> [[SimpliScript]] N https://esolangs.org/w/index.php?oldid=58367 * LLmd * (+447) Created page with "SimplScript is a derivative of [[SimpliVode]], with one important difference: the addition of the rpt command. rpt <memory address> {<code>} rpt repeats the code in <code> un..."
21:38:54 <esowiki> [[SimpliScript]] https://esolangs.org/w/index.php?diff=58368&oldid=58367 * LLmd * (-4)
21:39:41 <esowiki> [[SimpliScript]] https://esolangs.org/w/index.php?diff=58369&oldid=58368 * LLmd * (+3)
21:41:38 <esowiki> [[SimpliScript]] https://esolangs.org/w/index.php?diff=58370&oldid=58369 * LLmd * (+57)
21:42:09 -!- aloril_ has quit (Remote host closed the connection).
21:42:45 -!- aloril has joined.
21:47:44 <esowiki> [[SimpliScript]] https://esolangs.org/w/index.php?diff=58371&oldid=58370 * LLmd * (+172)
21:48:13 <esowiki> [[SimpliScript]] https://esolangs.org/w/index.php?diff=58372&oldid=58371 * LLmd * (-675) Blanked the page
22:20:20 -!- lambdabot has quit (Ping timeout: 272 seconds).
22:24:16 -!- lambdabot has joined.
22:36:58 -!- sebbu2 has joined.
22:40:40 -!- sebbu has quit (Ping timeout: 268 seconds).
23:12:59 -!- sleepnap has left.
23:23:31 -!- Essadon has quit (Quit: Qutting).
23:44:18 -!- AnotherTest has quit (Ping timeout: 264 seconds).
2018-11-14
00:07:09 -!- tromp has quit (Remote host closed the connection).
00:07:43 -!- tromp has joined.
00:09:30 -!- xkapastel has quit (Quit: Connection closed for inactivity).
00:13:15 -!- imode has joined.
00:21:43 -!- Phantom_Hoover has joined.
00:36:37 -!- sprocklem has quit (Quit: brb).
00:38:20 -!- sprocklem has joined.
01:21:37 -!- Phantom_Hoover has quit (Quit: Leaving).
01:39:18 -!- oerjan has joined.
02:07:48 -!- Lord_of_Life_ has joined.
02:09:57 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
02:09:58 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:09:58 -!- Lord_of_Life has quit (Changing host).
02:09:58 -!- Lord_of_Life has joined.
03:00:30 -!- arseniiv has quit (Ping timeout: 264 seconds).
03:04:03 -!- arseniiv has joined.
03:09:48 <esowiki> [[Echo Tag]] N https://esolangs.org/w/index.php?oldid=58373 * Ais523 * (+2489) anyone care to help me prove this one TC for small n? when n is small enough, it's probably easier/more concise to implement than cyclic tag or fusion tag
03:10:11 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58374&oldid=58362 * Ais523 * (+15) /* E */ +Echo Tag
03:10:28 <arseniiv> @messages?
03:10:28 <lambdabot> Sorry, no messages today.
03:10:32 <esowiki> [[User:Ais523]] https://esolangs.org/w/index.php?diff=58375&oldid=58353 * Ais523 * (+14) +[[Echo Tag]]
04:49:33 -!- arseniiv has quit (Ping timeout: 252 seconds).
05:01:09 -!- hakatashi has quit (Remote host closed the connection).
05:01:33 -!- hakatashi has joined.
05:42:24 <shachaf> Taneb: whoa whoa whoa
05:52:55 -!- nfd has quit (Read error: Connection reset by peer).
05:53:07 -!- fungot has quit (Ping timeout: 240 seconds).
05:53:21 -!- nfd has joined.
05:54:23 <oerjan> fungone
06:18:40 -!- fractal has quit (Ping timeout: 264 seconds).
06:23:31 <esowiki> [[Doreq]] https://esolangs.org/w/index.php?diff=58376&oldid=58364 * Unitan * (+714) Added the super woke super rekter interpreter.
06:30:42 <esowiki> [[Doreq]] M https://esolangs.org/w/index.php?diff=58377&oldid=58376 * Unitan * (+17)
06:37:48 -!- Sgeo_ has joined.
06:40:40 -!- Sgeo__ has quit (Ping timeout: 268 seconds).
06:43:42 <oerjan> lord snackleford seems a bit sensitive
06:45:06 -!- hexfive has joined.
06:55:31 -!- imode has quit (Ping timeout: 246 seconds).
07:47:19 -!- fractal has joined.
07:50:02 <esowiki> [[Talk:Brainfoctal]] https://esolangs.org/w/index.php?diff=58378&oldid=58342 * Rdebath * (+441)
08:19:52 -!- tromp has quit (Remote host closed the connection).
08:20:07 -!- tromp has joined.
08:33:09 -!- oerjan has quit (Quit: Nite).
09:03:48 -!- AnotherTest has joined.
09:05:34 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=58379&oldid=58245 * Haael * (+137) /* Joke/Silly Ideas */
09:40:22 -!- xkapastel has joined.
10:40:25 -!- LissajousPattern has joined.
11:44:31 -!- LissajousPattern has quit (Quit: Leaving).
12:28:15 <Taneb> > reverse "<><"
12:28:18 <lambdabot> "<><"
12:30:15 <myname> neat
12:43:30 -!- fungot has joined.
12:45:28 -!- Phantom_Hoover has joined.
12:45:36 -!- Phantom_Hoover has quit (Changing host).
12:45:36 -!- Phantom_Hoover has joined.
12:48:55 <int-e> that seems fishy
12:49:02 <int-e> `? fish
12:49:03 <HackEso> Come and dance and love the fish! Mister Disco summoned it.
12:57:16 -!- sftp has quit (Ping timeout: 260 seconds).
12:59:47 -!- sftp has joined.
13:10:13 -!- AnotherTest has quit (Ping timeout: 244 seconds).
13:35:36 -!- AnotherTest has joined.
13:47:19 -!- arseniiv has joined.
14:10:27 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
14:12:38 -!- Lord_of_Life has joined.
14:12:38 -!- Lord_of_Life has quit (Changing host).
14:12:38 -!- Lord_of_Life has joined.
14:22:22 -!- jix has quit (Ping timeout: 272 seconds).
14:23:39 -!- jix has joined.
14:39:17 -!- sleepnap has joined.
15:24:27 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
16:08:14 -!- mroman has joined.
16:10:12 <mroman> Remember kids: jJQ are identifiers and not specials while ,%@:) are specials and modifiers whereas #j #J #Q #q are identifiers but behave as modifiers and q is neither an identifier, nor a special nor a modifier but a syntax prefix.
16:10:53 <mroman> except in case there's a matching ( in which case the ) is parsed as the closing paren of the ( in which case it is not a special.
16:11:08 <mroman> obviously.
16:12:04 <mroman> also @ is the special @ and ``@ is the identifier @ so @ can also be a command as well.
16:13:29 <mroman> m, f and r are syntax prefixes when followed by a { in which case the block turns into an auto-block.
16:13:43 <mroman> auto-blocks are blocks that get evaluated before being pushed to the stack.
16:16:36 <mroman> and %%=1 is not a syntax error because of the fail safe parsing which turns %%=1 into the special %
16:17:01 <mroman> oh wait. % is actually not a modifier.
16:17:11 <mroman> it's a special but not a modifier.
16:17:37 <mroman> not yet.
16:22:10 <mroman> the problem is the only way to actually get a special % is by screwing up the syntax for assignment
16:23:13 <Taneb> This certainly sounds very esoteric
16:23:34 <mroman> yeah but you gotta be careful when screwing it up
16:23:37 <mroman> %%1 would parse as % % 1
16:23:44 <mroman> %%=1 parses as %
16:24:16 -!- imode has joined.
16:24:42 <mroman> A lot of stuff is parsed using parsec's try
16:25:40 <mroman> m{9} parses as an auto-block {9} and m{9 parses as the builtin m{ and 9
16:27:41 <mroman> function level scope is achieved by having a variable __SCOPE__ in the global context.
16:28:04 <mroman> which you can overwrite of course.
16:28:45 <mroman> and a lot of old hacks.
16:59:34 -!- AnotherTest has quit (Ping timeout: 268 seconds).
17:06:24 -!- nfd has quit (Ping timeout: 272 seconds).
17:21:10 -!- AnotherTest has joined.
18:14:42 -!- Essadon has joined.
19:02:44 <esowiki> [[Talk:Doreq]] N https://esolangs.org/w/index.php?oldid=58380 * Nthern * (+284) Turing Complete?
19:06:33 -!- xkapastel has quit (Quit: Connection closed for inactivity).
19:25:45 -!- sebbu2 has changed nick to sebbu.
19:28:02 -!- Camto has joined.
19:59:29 -!- Subject777 has joined.
20:01:05 -!- Subject777 has quit (Client Quit).
20:04:22 -!- MDead_ has quit (Quit: Going offline, see ya! (www.adiirc.com)).
20:15:33 -!- mroman has quit (Ping timeout: 256 seconds).
20:48:08 -!- imode has quit (Quit: WeeChat 2.3).
20:48:22 -!- Phantom_Hoover has joined.
20:56:09 -!- Phantom__Hoover has joined.
20:58:39 <Camto> Why are there two Phantom_Hoovers?
21:00:12 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
21:00:32 <Camto> Hmmm
21:08:27 -!- wob_jonas has joined.
21:34:36 -!- nfd9001 has joined.
22:19:06 -!- MDead_ has joined.
22:21:02 -!- Essadon has quit (Quit: Qutting).
22:29:51 <shachaf> Different number of _s
22:55:19 -!- Camto has quit (Quit: Page closed).
23:00:03 -!- nfd9001 has quit (Ping timeout: 264 seconds).
23:09:31 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
23:20:06 -!- sleepnap has quit (Quit: Leaving.).
23:24:26 -!- AnotherTest has quit (Ping timeout: 276 seconds).
23:29:47 -!- Phantom_Hoover has joined.
23:32:08 -!- Phantom__Hoover has quit (Ping timeout: 245 seconds).
23:33:02 -!- Phantom__Hoover has joined.
23:34:45 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
23:36:11 -!- Phantom_Hoover has joined.
23:39:09 -!- Phantom__Hoover has quit (Ping timeout: 252 seconds).
23:39:09 -!- fungot has quit (Read error: Connection reset by peer).
23:39:37 -!- Phantom__Hoover has joined.
23:40:44 -!- fungot has joined.
23:40:48 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
23:44:58 -!- nfd9001 has joined.
23:48:11 -!- Phantom_Hoover has joined.
23:48:30 -!- Phantom__Hoover has quit (Ping timeout: 252 seconds).
2018-11-15
00:14:47 -!- nfd9001 has quit (Ping timeout: 240 seconds).
00:25:25 -!- nfd9001 has joined.
00:25:50 -!- Sgeo_ has quit (Read error: Connection reset by peer).
00:26:16 -!- Sgeo_ has joined.
00:40:31 -!- Phantom_Hoover has quit (Quit: Leaving).
00:58:14 -!- nfd9001 has quit (Ping timeout: 272 seconds).
01:31:30 -!- wob_jonas has joined.
01:34:09 <wob_jonas> I'm trying to compare writable digital media for backup and transfer.
01:36:46 <wob_jonas> 50 pieces of blank DVD-R or DVD+R disks of capacity 4.7 GB each cost 6470 HUF. 8 pieces of class 10 micro-SDHC cards of capacity 32 GB each cost 14721 HUF, which is 2.3 times the previous one. Both prices include slow shipping.
01:38:58 <wob_jonas> These two options have comparable total capacity, comparable read and write speeds in practice. both can be read and written by cheap high-speed USB drives. micro-SDHC cards are smaller and less sensitive to storing conditions. It's hard to tell how long they last because that depends on the brand and make and storing conditions, but we at least kn
01:38:58 <wob_jonas> ow that DVDs fail gradually with some data recoverable cheaply at home, whereas SDHC cards fail catastrophically with data recoverable from a failed drive only by professional services.
01:39:28 <wob_jonas> I will also have to look at rotation hard disks.
01:41:50 <wob_jonas> What's the most cost-effective size for rotation hard disks these days?
01:41:55 <wob_jonas> capacity I mean
01:42:43 <wob_jonas> obviously in practice I also have to take in account that I've already bought some micro-SD cards and blank DVD, so I can use those, but still
01:50:36 <wob_jonas> Ok, so for SATA rotational hard disks, the most cost-effective capacity for home use seems to be 2 TB or 4 TB, costing around 21000 HUF and 41000 HUF resp.
01:55:03 -!- arseniiv has quit (Ping timeout: 245 seconds).
01:56:40 -!- imode has joined.
01:58:20 -!- oerjan has joined.
01:59:27 <wob_jonas> These have a pretty high speed, much higher than the SD cards or DVDs, though the exact speed varies. If I use them externally with a hard disk rack connected through USB3, then the speed will be capped by the USB3 root hub to 625 MB/s and there's one USB3 root hub in most home computers.
02:01:41 <wob_jonas> In comparison, the medium price class 10 sd cards I was talking about above have speed between 10 MB/s and 45 MB/s; more expensive cards that I use for my digital camera where the wait time of saving a picture matters can go up to 90 MB/s
02:06:31 <wob_jonas> so for bulk amounts of data, the DVDs are 2.7 times more expensive than the hard disk, and the SD cards are 5.6 times more expensive.
02:07:04 <wob_jonas> But in practice, I'll rarely fill a 4 TB hard disk, so the practical price difference is lower.
02:07:45 -!- nfd9001 has joined.
02:08:04 <wob_jonas> Hard disks need a more expensive external SATA rack and cables, and are bulkier than SD cards but less bulky than DVDs.
02:10:25 -!- Lord_of_Life_ has joined.
02:10:31 <wob_jonas> In practice I'll definitely use a combination of hard disks and (SD cards or DVD) for backup and off-site backup; SD cards or DVD for transferring data to other people; and obviously SD cards for mobile phone and digital camera and similar devices, with the camera requiring slightly more expensive fast SD cards.
02:10:43 <wob_jonas> But it's best to see the current state cleanly to figure this out.
02:11:42 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
02:11:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:11:43 -!- Lord_of_Life has quit (Changing host).
02:11:43 -!- Lord_of_Life has joined.
02:14:37 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
02:24:09 -!- nfd9001 has quit (Ping timeout: 252 seconds).
03:22:32 -!- tromp has quit (Remote host closed the connection).
03:23:04 -!- tromp has joined.
05:19:08 -!- iconmaster has joined.
05:59:25 -!- incomprehensibly has quit (Ping timeout: 250 seconds).
06:00:26 -!- shikhin has quit (Ping timeout: 260 seconds).
06:00:43 -!- incomprehensibly has joined.
06:01:02 -!- shikhin has joined.
06:02:41 -!- shikhin has quit (Changing host).
06:02:41 -!- shikhin has joined.
06:27:32 <esowiki> [[An esoteric programming language (ess-oh-terr-ick), or esolang, is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use.]] N https://esolangs.org/w/index.php?oldid=58381 * Schmuui * (+716) I don't think this has ever happened before.
06:28:32 -!- Schmuui has joined.
06:28:43 <Schmuui> henlo
06:32:32 <esowiki> [[Esolang:Featured languages/Candidates]] M https://esolangs.org/w/index.php?diff=58382&oldid=58344 * Schmuui * (+99) /* List of candidates */
06:33:02 -!- Schmuui has quit (Client Quit).
06:40:47 -!- imode has quit (Ping timeout: 240 seconds).
07:14:16 -!- nfd9001 has joined.
07:19:13 -!- nfd9001 has quit (Ping timeout: 246 seconds).
07:25:48 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=58383&oldid=58382 * Oerjan * (-99) Undo revision 58382 by [[Special:Contributions/Schmuui|Schmuui]] ([[User talk:Schmuui|talk]]) (See sentence in bold above)
07:30:20 <esowiki> [[Special:Log/move]] move * Oerjan * moved [[A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.]] to [[A programming language is a formal language, which comprises a set of instructions used to produce various kinds of output.]]: Someone changed it again
07:36:19 <esowiki> [[Template:Programming Language]] N https://esolangs.org/w/index.php?oldid=58386 * Oerjan * (+127) Time to save some work on the updating
07:37:14 <oerjan> hm wait should it be linked...
07:37:24 <oerjan> can it avoid it?
07:38:21 <esowiki> [[Template:Programming Language]] https://esolangs.org/w/index.php?diff=58387&oldid=58386 * Oerjan * (-4) Test something
07:40:35 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58388&oldid=58374 * Oerjan * (-109) Yay it works
07:43:47 <esowiki> [[User:Rottytooth]] https://esolangs.org/w/index.php?diff=58389&oldid=51007 * Oerjan * (-104) Hope you don't mind me adding the template here
07:46:21 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[A programming language is a formal computer language designed to communicate instructions to a machine, particularly a computer.]]": Clean up after an old name change
07:48:02 <esowiki> [[Programming Language]] https://esolangs.org/w/index.php?diff=58390&oldid=52537 * Oerjan * (-109) Cross fingers that this works...
07:51:58 <esowiki> [[Programming Language]] https://esolangs.org/w/index.php?diff=58391&oldid=58390 * Oerjan * (+99) Seems not. At least subst: might work.
07:52:48 <esowiki> [[An esoteric programming language (ess-oh-terr-ick), or esolang, is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use.]] https://esolangs.org/w/index.php?diff=58392&oldid=58381 * Oerjan * (-351) Use new template
08:01:34 <esowiki> [[A programming language is a formal language, which comprises a set of instructions used to produce various kinds of output.]] https://esolangs.org/w/index.php?diff=58393&oldid=58384 * Oerjan * (-363) Templatize for sanity
08:02:02 -!- nfd9001 has joined.
08:03:05 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.]]": Finish (I hope) cleanup after renaming
08:09:17 -!- tromp has quit (Remote host closed the connection).
08:09:30 -!- tromp has joined.
08:45:47 -!- hexfive has quit (Quit: WeeChat 2.2).
09:07:32 -!- oerjan has quit (Quit: Nite).
10:15:21 <esowiki> [[VeriBasic]] N https://esolangs.org/w/index.php?oldid=58394 * TeslaX93 * (+409) Created page with "VeriBasic is a programming language, inspired by [http://en.wikipedia.org/wiki/Verilog Verilog] and [http://en.wikipedia.org/wiki/PHP PHP]. == Examples == // "Hello, world!"..."
10:15:33 <esowiki> [[VeriBasic]] https://esolangs.org/w/index.php?diff=58395&oldid=58394 * TeslaX93 * (-1)
10:37:45 <esowiki> [[VeriBasic]] https://esolangs.org/w/index.php?diff=58396&oldid=58395 * TeslaX93 * (+65)
10:39:39 <esowiki> [[An Odd Rewriting System]] N https://esolangs.org/w/index.php?oldid=58397 * Ais523 * (+4015) yet another new language
10:40:17 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58398&oldid=58388 * Ais523 * (+30) /* A */ +[[An Odd Rewriting System]]
10:40:51 <esowiki> [[An Odd Rewriting System]] https://esolangs.org/w/index.php?diff=58399&oldid=58397 * Ais523 * (+131) /* Syntax */ clarify whitespace and comments
10:41:33 <esowiki> [[User:Ais523]] https://esolangs.org/w/index.php?diff=58400&oldid=58375 * Ais523 * (+29) +[[An Odd Rewriting System]]
10:47:19 <esowiki> [[An Odd Rewriting System]] M https://esolangs.org/w/index.php?diff=58401&oldid=58399 * Ais523 * (+5) pipe year link
11:37:41 -!- xkapastel has joined.
11:52:33 -!- danieljabailey has quit (Ping timeout: 245 seconds).
12:10:33 -!- mroman has joined.
12:36:36 -!- wob_jonas has joined.
12:37:09 <wob_jonas> I've got my new eyeglasses!
12:37:48 <Taneb> \o/
12:37:49 <wob_jonas> I'm wearing it, but it will take at least weeks to decide how good it is, and more to find out how long-lasting it is.
12:39:21 <int-e> I think eyeglasses are plural.
12:39:45 <int-e> Unless it's a monocle.
12:41:01 <wob_jonas> For several years now I've been buying my eyeglasses on my own, as in from my own money without my parents' substantial help; but among those this is the first one where I brought the frame in a place other than the regular optician.
12:41:40 <wob_jonas> Since I bought the frame and the lens in different places, that has some risk, because there are some damages that won't be covered by warranty at either place because either of them can blame the other for the frame and lens being incompatible.
12:42:10 <wob_jonas> Still, my regular optics shop has had too little choice in frames for a while now, so I decided to take that risk.
12:43:18 <wob_jonas> In the future, when I buy the frame separately, I should be more specific in saying what kind of lens I will use.
13:40:21 -!- arseniiv has joined.
14:09:31 -!- Lord_of_Life_ has joined.
14:11:08 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
14:11:08 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
14:11:08 -!- Lord_of_Life has quit (Changing host).
14:11:08 -!- Lord_of_Life has joined.
14:28:43 -!- iconmaster has quit (Quit: Leaving).
14:51:33 -!- sleepnap has joined.
15:08:46 -!- hexfive has joined.
15:16:15 -!- mroman has quit (Ping timeout: 256 seconds).
15:30:15 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
15:32:29 -!- wob_jonas has joined.
15:53:57 -!- sleepnap has quit (Ping timeout: 250 seconds).
15:59:08 -!- AnotherTest has joined.
16:00:43 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:07:13 -!- sleepnap has joined.
16:35:59 -!- S_Gautam has joined.
16:47:02 -!- hexfive has quit (Quit: WeeChat 2.2).
16:47:45 -!- hexfive has joined.
17:32:06 -!- imode has joined.
18:42:26 -!- mroman has joined.
18:44:31 <mroman> What's the correct terminology for map f $ xs?
18:44:35 <mroman> f is mapped over xs?
18:44:38 <mroman> f is applied over xs?
18:47:02 <int-e> f applied to xs
18:48:11 <mroman> but f $ xs is also f applied to xs
18:59:40 <int-e> yes, because ($) is the identity function
19:00:05 <int-e> > succ 3 == (succ $ 3)
19:00:07 <lambdabot> True
19:01:08 <mroman> yeh.
19:01:18 <mroman> but if map f xs applies f to xs and f xs applies f to xs
19:01:28 <mroman> then it's weird because those are two completely different things.
19:12:41 <mroman> good news.
19:12:49 <mroman> only about 300 built-ins left to document.
19:13:40 <shachaf> fmap (+1) (*2)
19:13:45 <shachaf> (+1) is mapped over (*2)
19:16:26 -!- Essadon has joined.
19:19:41 <mroman> If I document 5 a day I'll be done in two months :D
19:21:09 -!- tromp has quit (Remote host closed the connection).
19:21:44 -!- tromp has joined.
19:57:07 -!- ais523 has joined.
19:58:29 <ais523> I have weird conjecture: AORS a) is Turing-complete, but b) cannot simulate every Turing machine in polynomial time
19:58:33 <ais523> *a weird conjecture
19:59:21 <ais523> so far I don't know that either half of this is correct for certain
19:59:39 <ais523> but I have lots of potential leads for implementing TC languages in AORS and all of them seem to involve an exponential slowdown…
20:22:10 -!- nfd9001 has quit (Ping timeout: 246 seconds).
20:25:05 <int-e> hmm that's a funny one
20:25:43 <int-e> I'd probably have used x:even:odd for the syntax if I had thought of this
20:26:29 <int-e> or add some silliness and write x?odd:even;
20:27:08 <ais523> I thought of x:even:odd first, but this syntax is intended to be extensible to variants of the language (and in particular, higher-level languages that compile into AORS but are compatible with it)
20:27:24 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:29:46 -!- imode has quit (Ping timeout: 268 seconds).
20:30:10 -!- ais523 has quit (Quit: sorry for my connection).
20:30:22 -!- ais523 has joined.
20:38:24 -!- ais523 has quit (Remote host closed the connection).
20:39:38 -!- ais523 has joined.
21:08:35 -!- grumble has quit (Quit: Well, would you look at the time. I've almost missed my ambiguous, non-existent appointment that I have scheduled just when I start to lose interest in my current conversation.).
21:11:10 -!- wob_jonas has joined.
21:11:21 <wob_jonas> ais523: what is AORS?
21:11:43 <ais523> https://esolangs.org/wiki/An_Odd_Rewriting_System
21:14:10 -!- grumble has joined.
21:14:54 -!- wob_jonas has quit (Client Quit).
21:17:22 <esowiki> [[AORS]] N https://esolangs.org/w/index.php?oldid=58402 * B jonas * (+37) Redirected page to [[An Odd Rewriting System]]
22:02:55 -!- MDead_ has quit (Quit: Going offline, see ya! (www.adiirc.com)).
22:03:16 -!- MDude has joined.
22:05:06 <shachaf> ski: Do you know something about callCC with restricted lifetime for the continuation?
22:07:39 -!- mroman has quit (Ping timeout: 256 seconds).
22:21:38 -!- arseniiv_ has joined.
22:24:38 -!- arseniiv has quit (Ping timeout: 245 seconds).
22:25:27 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
22:31:15 -!- imode has joined.
22:46:05 -!- sleepnap has left.
22:55:07 -!- tromp has quit (Remote host closed the connection).
22:55:18 -!- tromp has joined.
23:20:21 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:31:22 -!- ais523 has quit (Quit: quit).
2018-11-16
00:50:19 -!- mig22 has joined.
00:51:25 -!- mig22 has quit (Client Quit).
00:53:49 -!- xkapastel has joined.
00:55:50 -!- tromp has quit (Remote host closed the connection).
00:56:28 -!- tromp has joined.
01:11:00 -!- Essadon has quit (Quit: Qutting).
01:33:56 -!- oerjan has joined.
02:11:40 -!- Lord_of_Life_ has joined.
02:12:31 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
02:13:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:14:34 -!- Lord_of_Life has quit (Changing host).
02:14:34 -!- Lord_of_Life has joined.
03:47:48 <esowiki> [[Special:Log/move]] move * Cortex * moved [[A]] to [[Apple Pie]]
04:23:22 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:24:32 <esowiki> [[Apple Pie]] https://esolangs.org/w/index.php?diff=58405&oldid=58403 * Cortex * (+99)
04:27:03 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58406&oldid=58398 * Cortex * (+8)
04:31:38 <zzo38> I thought of a kind of backgammon game with dice and cards. You have sixteen pieces, and the pieces have suits. Dice can move any one but cards only move pieces of the same suit. You must roll one dice and then play one card. You have two cards face-up and two cards are face-down so it cannot be seen by opponent.
04:34:31 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=58407&oldid=58337 * Cortex * (+76)
04:46:25 -!- xkapastel has joined.
05:00:59 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[A]]": content was: "#REDIRECT [[Apple Pie]]", and the only contributor was "[[Special:Contributions/Cortex|Cortex]]" ([[User talk:Cortex|talk]])
05:42:15 <oerjan> is this changing of homlomium to homnomium intentional or an error by the foglios...
05:44:08 <oerjan> and shortly after agatha finally got it right :P
05:53:45 <oerjan> hm the last comic makes me wonder, what if _guy mentioned there_ gets to drink lord bunstable's brew...
05:54:55 <oerjan> . o O ( this channel has got too quiet lately )
05:55:30 <zzo38> Well, I do not know the answer of that question, so, I did not answer
05:55:38 -!- Sgeo has joined.
05:56:20 <oerjan> no, i mean, too many people no longer talk here, and few new ones are showing up
05:56:36 * oerjan wants to blame that discord thing he hears about
05:56:38 -!- Sgeo_ has quit (Ping timeout: 244 seconds).
06:01:15 <zzo38> I think IRC is much better, although possibly the program can be made can be both a Discord client and IRC client to copy messages between them.
06:03:15 <shachaf> oerjan: I thought it was too quiet because you're never here!
06:03:45 <shachaf> anyway i've been esoing it up so don't blame me hth
06:04:01 <oerjan> hum
07:25:03 <int-e> `grwp soul
07:25:05 <HackEso> coffee:Coffee is a strange brew. Enticing wisps of vapour catch the eye, the soul ensnared into dark vortices of flavour. Some minds mix in milk and sugar to counteract coffee's black magic. \ mosquito:Mosquitos are tiny vampires, sucking out your soul.
07:25:32 <int-e> . o O ( a soul-searching moment )
07:28:03 -!- AnotherTest has joined.
07:32:33 -!- AnotherTest has quit (Ping timeout: 252 seconds).
07:37:34 -!- oerjan has quit (Quit: Nite).
08:08:57 -!- arseniiv_ has quit (Ping timeout: 250 seconds).
08:27:51 -!- tromp has quit (Remote host closed the connection).
08:28:04 -!- tromp has joined.
08:35:06 <esowiki> [[Special:Log/newusers]] create * Rich Farmbrough * New user account
08:46:38 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58408&oldid=58365 * Rich Farmbrough * (+150) Befunged?
08:47:36 <esowiki> [[User talk:Rich Farmbrough]] N https://esolangs.org/w/index.php?oldid=58409 * Rich Farmbrough * (+66) Created page with "This is my talk page. I'm unlikely to see anything written on it."
08:50:28 <esowiki> [[User:Rich Farmbrough]] N https://esolangs.org/w/index.php?oldid=58410 * Rich Farmbrough * (+39) Redirected page to [[User talk:Rich Farmbrough]]
08:53:22 -!- xkapastel has quit (Quit: Connection closed for inactivity).
08:53:47 <esowiki> [[Malbolge]] https://esolangs.org/w/index.php?diff=58411&oldid=58108 * Rich Farmbrough * (-1) /* Virtual machine description */
08:56:10 -!- imode has quit (Quit: WeeChat 2.3).
09:48:02 -!- AnotherTest has joined.
09:50:45 -!- copumpkin has quit (Read error: Connection reset by peer).
09:51:58 -!- contrapumpkin has joined.
09:52:03 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
09:52:23 -!- tromp_ has joined.
09:52:40 -!- zzo38 has quit (Ping timeout: 268 seconds).
09:53:17 -!- tromp has quit (Ping timeout: 268 seconds).
09:53:33 -!- Lord_of_Life has joined.
09:53:33 -!- Lord_of_Life has quit (Changing host).
09:53:33 -!- Lord_of_Life has joined.
11:05:34 -!- wob_jonas has joined.
11:07:04 <wob_jonas> zzo38: re "kind of backgammon game with dice and cards", do you know the Niagara board game "https://boardgamegeek.com/boardgame/13308/niagara" ? I find it elegant how it has so little state information.
11:08:02 <wob_jonas> Objectively it's not much less than some other board games that don't have shuffled decks of cards, but it still looks so simple that that somehow captures me.
11:08:25 <wob_jonas> Sadly the physical implementation of the board is tricky.
11:10:51 <wob_jonas> also,
11:10:53 <wob_jonas> `ehlist http://eheroes.smackjeeves.com/comics/2696849/mushy-stuff/
11:10:54 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ehlist: not found
11:10:59 <wob_jonas> I should create those list files some day
11:32:01 -!- hakatashi has quit (Remote host closed the connection).
11:32:22 -!- hakatashi has joined.
11:41:00 -!- hexfive has quit (Quit: WeeChat 2.2).
12:03:28 <esowiki> [[A-DU]] N https://esolangs.org/w/index.php?oldid=58412 * Salpynx * (+4559) Another ancient language themed esolang I'm trying to develop, using Linear A
12:30:56 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
12:55:03 -!- AnotherTest has quit (Ping timeout: 245 seconds).
13:21:23 -!- hexfive has joined.
13:59:35 -!- Essadon has joined.
14:09:48 -!- Lord_of_Life_ has joined.
14:13:36 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
14:13:36 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
14:13:37 -!- Lord_of_Life has quit (Changing host).
14:13:37 -!- Lord_of_Life has joined.
14:19:51 -!- olsner has quit (Ping timeout: 264 seconds).
14:24:33 -!- olsner_ has joined.
14:34:06 <ski> shachaf : hm, like `call/ec' and `call/cc1' in Scheme ?
14:36:24 -!- sleepnap has joined.
15:06:33 -!- hexfive has quit (Quit: WeeChat 2.2).
15:12:50 -!- AnotherTest has joined.
15:43:19 -!- xkapastel has joined.
16:08:38 -!- arseniiv_ has joined.
16:09:42 -!- arseniiv_ has changed nick to arseniiv.
16:23:28 -!- Cale has joined.
16:32:08 -!- Sgeo_ has joined.
16:34:12 -!- Sgeo has quit (Ping timeout: 244 seconds).
17:38:50 -!- zzo38 has joined.
17:45:07 -!- olsner_ has changed nick to olsner.
18:27:18 <zzo38> Now SQLite has a better way to specify unusable query plans in a virtual table (not released yet).
18:48:56 -!- tromp_ has quit (Ping timeout: 260 seconds).
19:16:37 -!- tromp has joined.
19:33:05 <shachaf> ski: What's call/cc1?
21:35:52 <esowiki> [[LMBC]] N https://esolangs.org/w/index.php?oldid=58413 * Cortex * (+4953) Created page with "'''LMBC''' (Language Made By Cortex) is a brainfuck equivalent made by [[User:Cortex]] which Cortex made. ==Commands== {| class="wikitable" |- ! Brainfuck !! LMBC (which was m..."
21:39:45 -!- wob_jonas has joined.
21:40:13 <wob_jonas> fuck you, stupid phpBB for printing timestamps only as "Today" and "Yesterday" instead of a proper date
21:41:56 <zzo38> Yes, that isn't very good. Can you fix it?
21:42:03 <FireFly> I think usually (?) the ISO timestamp is available as an attribute on the timestamp tag (not sure about phpbb zpecifically, but on online forums in general)
21:42:38 <int-e> Yesterday, all my troubles seemed so far away...
21:42:45 <wob_jonas> I'm not running that instance. I'm not going to run any instance of that stupid forum, I'm just participating on several different around the web.
21:43:10 <zzo38> If so, then perhaps you could add a Stylish or GreaseMonkey code to alter it
21:43:41 <zzo38> I should instead to use a NNTP server, I think
21:43:53 <wob_jonas> FireFly: yes, that's what StackExchange does in _most_ (but not all) cases of dates. PhpBB doesn't, I checked. It has a little note saying "(ISO 8601)" next to the date instead. Even when it's not. So very fucking useful.
21:44:14 <wob_jonas> FireFly: in fact, it literally says "Today, 01:11 PM (ISO 8601)"
21:45:51 <wob_jonas> zzo38: sigh... that reminds me to work, sadly. they have a computer that has very limited internet access through a strict external firewall, for security purposes, and it can't connect to the NTP server because of that,
21:46:01 <FireFly> sounds useless
21:46:09 <FireFly> I know reddit and twitter both have the exact ISO timestamp at least
21:46:18 <wob_jonas> and for some reason I can't manually set the date either, because something on Windows resets it, and the time is 24 hours behind actual time,
21:46:29 <FireFly> (and it's not often twitter is better than oldschool forums at something)
21:46:43 <wob_jonas> which I'm sure will cause some troubles since the computer is logging data that will now have a very incorrect timestamp
21:46:46 <zzo38> Then you should complain that the date is incorrect.
21:47:13 <wob_jonas> I'll have to deal with the stupid boss of that company to bother his nonexisting sysadmin to fix the firewall or the machine
21:47:36 <zzo38> Preferably they should fix both
21:47:37 <wob_jonas> Yeah, I've complained. The problem is that I'll have to complain to another person instead, who won't fix it. Darn.
21:48:36 <wob_jonas> That computer isn't even in our company, it's a computer where we're installing custom software that we make, but the network is partly set up by their company, so it's only their side that could provide an NTP server.
21:49:10 <wob_jonas> And nobody understands windows and nobody will pay a proper sysadmin who understands it, so they won't be able to fix the computer itself, whatever is causing to reset the time when I try to change it.
21:50:36 <wob_jonas> I already hate how the city barely has any publically displayed clocks anymore, you can only find any on train station platforms, so if my mobile phone isn't working, I can't tell the time, like ever.
21:50:59 <wob_jonas> Apparently everyone just assumes that everyone else has a working watch and they never need to adjust it.
21:51:22 <wob_jonas> A decade ago we used to have clocks everywhere, because it's useful. And thermometers.
21:52:43 <zzo38> The skytrain station near here has a display of the time, although it is a display that also displays other stuff and only briefly displays the time, during its cycle of everything else, so you have to wait for a while to see what time it is.
21:53:32 <zzo38> (I am not sure who to complain to to tell them to fix it so that you can always see what time it is.)
21:53:55 <wob_jonas> The Keleti Pályaudvar railway station building used to have a beutifully ugly but highly visible big clock face with glowing fluorescent tubes for the two hands. They removed that a decade ago when they renovated the building.
21:54:47 <wob_jonas> Now they have a clock there with black hands and the dial (face) lit from below, which is much harder to see during the night, and still hard to see during the day.
21:55:24 <wob_jonas> And it's still ugly, only in a different way. The whole point of a big clock there was that it's at the end of a long straight road segment, so you could see the clock from far away. But no, they had to ruin that.
21:55:51 <wob_jonas> I mean, they could have replaced the fluorescent tubes with led strips if that's easier to maintain, but no.
21:56:33 <wob_jonas> The worst is the swimming pool I'm using, because I definitely can't take a mobile phone in the pool, but want to know the time while swimming.
21:57:08 <wob_jonas> Half of the time they don't have a working clock at all; the other half they have a clock that's not visible enough, at least for me because I also don't wear glasses or contacts in the pool.
21:57:16 <zzo38> At least the swimming pool I have seen near here, I can see through the window, that in the same room with the pool there is a large display on the wall that always displays the current date and time.
21:58:26 <wob_jonas> The only swimming pool that had a proper clock display was in Dagály, but they ruined the whole Dagály a few years ago, so I can no longer go to that pool.
21:59:08 <wob_jonas> The date too? Nice!
22:14:13 -!- wob_jonas has quit (Ping timeout: 245 seconds).
22:15:35 -!- hexfive has joined.
22:38:54 -!- wob_jonas has joined.
22:39:30 <wob_jonas> Wait... now not only qwantz, but Questionable Content is running a deal where you get to "See Tomorrow's Comic Today" if you're a supporter?
22:40:19 -!- arseniiv has quit (Ping timeout: 246 seconds).
22:46:54 -!- wob_jonas has quit (Ping timeout: 272 seconds).
22:51:10 -!- imode has joined.
22:52:24 <esowiki> [[DoEverything();]] N https://esolangs.org/w/index.php?oldid=58414 * Cortex * (+1311) Created page with "'''doEverything();''' is an esolang by [[User:Cortex]] that can do anything and everything, including everything. Its syntax is very similar to JavaScript. ==Commands== {| cla..."
22:52:46 -!- AnotherTest has quit (Ping timeout: 260 seconds).
23:26:54 -!- sleepnap has quit (Ping timeout: 264 seconds).
23:52:11 -!- Essadon has quit (Quit: Qutting).
2018-11-17
00:21:30 -!- wob_jonas has joined.
00:22:11 <wob_jonas> https://medium.com/vantage/type-in-your-hand-512a5a6cbb98 Wow. Awesome printing museums, and you can watch the pictures and descriptions on the web without having to breathe in any of the lead fumes.
00:25:37 -!- wob_jonas has quit (Remote host closed the connection).
00:34:36 -!- rdococ has quit (Ping timeout: 252 seconds).
00:47:20 <ski> shachaf : one-shot (affine) continuation
01:02:13 -!- rdococ has joined.
01:40:19 <esowiki> [[DoEverything();]] https://esolangs.org/w/index.php?diff=58415&oldid=58414 * Cortex * (-163)
01:41:39 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=58416&oldid=58205 * Cortex * (+73)
01:47:04 -!- oerjan has joined.
01:51:42 <ski> <oerjan> @ask shachaf regarding your { if(...); ... } stuff, have i reminded you about Raph Levien's continuation language IO yet?
01:51:47 <ski> @where Io
01:51:47 <lambdabot> Raphael L. Levien's language with continuations as fundamental structure, described in his paper "Io: a new programming notation" (1989-09-10) at <http://dl.acm.org/citation.cfm?id=70931.70934> and
01:51:47 <lambdabot> in chapter 2 of Raphael A. Finkel's book `APLD', implementations `Amalthea',`Ganymede' - (perhaps you were looking for `@wiki Introduction to IO' ?)
01:51:55 <ski> @where APLD
01:51:55 <lambdabot> "Advanced Programming Language Design" by Raphael Finkel in 1996 at <http://www.nondot.org/sabre/Mirrored/AdvProgLangDesign/>
01:56:37 <ski> (well seems that last link is broken now, try <https://web.archive.org/web/20150522052725/http://www.nondot.org:80/sabre/Mirrored/AdvProgLangDesign/>. see chapter 2, section 3 for continuations in Io. also section 4 (power loops) is interesting)
01:56:41 <ski> @where Amalthea
01:56:41 <lambdabot> Implementation made by Martin Sandin of the (continuation-based) `Io' language at <http://web.archive.org/web/20091106041222/http://www.guldheden.com/~sandin/amalthea.html>
01:56:50 -!- Cortex has joined.
01:56:51 <ski> @where Ganymede
01:56:51 <lambdabot> Implementation by BMeph of the (continuation-based) `Io' language at <http://hackage.haskell.org/package/Ganymede>
01:57:29 <Cortex> is this place dead or
01:57:40 <ski> oerjan : i hadn't seen the site <http://canonical.org/~kragen/raph-io.html> before, ty
01:57:51 <ski> Cortex : i don't think so
01:58:15 -!- Cortex has quit (Client Quit).
02:02:21 <ski> shachaf ^
02:11:53 <shachaf> ski: But do you have a link to the paper?
02:12:07 -!- Lord_of_Life_ has joined.
02:13:58 <shachaf> ski: So what I want is something like callCC (\k -> ...) such that you can use the k freely as long as the stack frame still exists, but not once callCC returns.
02:14:24 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
02:14:24 <shachaf> I guess that's the same as one-shot continuations.
02:14:24 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:14:25 -!- Lord_of_Life has quit (Changing host).
02:14:25 -!- Lord_of_Life has joined.
02:16:55 <shachaf> I guess what I mean isn't just the stack frame but the actual continuation.
02:17:22 <shachaf> In fact I literally mean that the continuation, as in the rest of the program, can't be copied.
02:18:20 <oerjan> oh the web archive seems to have amalthea's implementation, good (i've sorta got used to such files missing even if the website itself is archived)
02:19:13 <oerjan> . o O ( Cortex isn't a very patient ircist )
02:26:39 <ski> shachaf : hm, i suppose you want DNE, then ?
02:29:55 <shachaf> I guess DNE is linear and callCC is affine
02:30:14 <shachaf> I don't think it matters that much, though. I guess the affine version is fine.
02:32:11 <esowiki> [[Echo Tag]] https://esolangs.org/w/index.php?diff=58417&oldid=58373 * Oerjan * (+148) /* Specification */ Note something fairly obvious
02:33:27 <shachaf> ski: So now I think I want an explicit syntax, e.g. { x := foo`; ... } ---> foo(&{\x; ... })
02:33:56 <shachaf> In particular you might have something like { while`(p); ... }, to have the expression re-evaluated on every iteration.
02:40:52 * ski . o O ( "The anatomy of a loop: a story of scope and control" by Olin Shivers in 2005-09 at <http://www.ccs.neu.edu/home/shivers/citations.html#loop>,<http://lambda-the-ultimate.org/node/1026> )
02:41:03 <moony> . o O ( oerjan thinks a lot )
02:41:04 <esowiki> [[Piet++]] https://esolangs.org/w/index.php?diff=58418&oldid=46495 * SplatterWorthy * (-139) felt the move command was "un-piet"
02:48:00 <oerjan> . o O ( cauliflower )
02:49:29 <oerjan> roof light is blinking (on the blink?)
02:49:40 <oerjan> hm now it got worse
02:53:30 <shachaf> `? weather
02:53:31 <HackEso> lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK PAMR
02:53:39 <shachaf> @metar ENVA
02:53:41 <lambdabot> ENVA 170250Z VRB03KT 9999 BKN018 07/06 Q1036 RMK WIND 670FT 22005KT
02:53:50 <shachaf> @metar KOAK
02:53:50 <lambdabot> KOAK 170153Z 35005KT 1 3/4SM HZ BKN016 BKN020 12/04 A2996 RMK AO2 SLP146 FU BKN016 FU BKN020 T01220044
02:54:18 <shachaf> someone who knows how to read metar tell me which part of that says the whole area is enveloped in smoke
02:55:30 * oerjan guesses FU
02:57:20 <shachaf> huh, so it is
02:58:28 <shachaf> `mkx bin/detar//echo "https://www.aviationweather.gov/metar/data?format=decoded&ids=$1"
02:58:29 <HackEso> bin/detar
02:58:31 <shachaf> `detar KOAK
02:58:32 <HackEso> https://www.aviationweather.gov/metar/data?format=decoded&ids=KOAK
02:59:42 <shachaf> Unfortunately their decoder seems incomplete?
03:00:42 <shachaf> `mkx bin/detar//echo "https://en.allmetsat.com/metar-taf/north-america.php?icao=$1"
03:00:43 <HackEso> bin/detar
03:00:53 <shachaf> this website is sufficiently 90s
03:06:19 <shachaf> `detar KOAK
03:06:20 <HackEso> https://en.allmetsat.com/metar-taf/north-america.php?icao=KOAK
03:07:20 <Sgeo_> I haven't used Haskell in so long, and I now have a project where I think Haskell might be the best fit
03:13:18 -!- MDead has joined.
03:15:45 -!- MDude has quit (Ping timeout: 252 seconds).
04:21:40 -!- moei has joined.
04:46:00 <esowiki> [[A-DU]] https://esolangs.org/w/index.php?diff=58419&oldid=58412 * Salpynx * (+149) /* Cat */ Linear A script version
04:50:17 <esowiki> [[A-DU]] M https://esolangs.org/w/index.php?diff=58420&oldid=58419 * Salpynx * (+93) ttf font link
04:56:22 <esowiki> [[A-DU]] M https://esolangs.org/w/index.php?diff=58421&oldid=58420 * Salpynx * (+2) /* Cat */ needs U+3000 IDEOGRAPHIC SPACE to maintain alignment
05:18:56 -!- Sgeo_ has quit (Ping timeout: 272 seconds).
05:18:57 -!- Sgeo has joined.
05:46:00 -!- tromp has quit (Remote host closed the connection).
05:46:33 -!- tromp has joined.
08:01:07 -!- Zajt has joined.
08:01:48 <Zajt> Anyone seen this before https://puu.sh/C3b0P/9940d2d3aa.png ? I thought it was Malbolge first but it was not
08:04:17 <zzo38> "The problem of finding the best query plan is equivalent to finding a minimum-cost path through the graph that visits each node exactly once." Is that like a traveling salesmen problem?
08:07:05 -!- tromp has quit (Remote host closed the connection).
08:07:18 -!- tromp has joined.
08:27:04 -!- tromp has quit (Remote host closed the connection).
08:27:40 -!- tromp has joined.
08:31:58 -!- oerjan has quit (Quit: Nite).
08:37:25 -!- tromp has quit (Remote host closed the connection).
08:37:39 -!- tromp has joined.
09:03:22 -!- xkapastel has quit (Quit: Connection closed for inactivity).
09:04:00 -!- AnotherTest has joined.
09:26:36 -!- imode has quit (Quit: later gator.).
11:06:29 -!- arseniiv has joined.
11:36:04 -!- ski has quit (Ping timeout: 264 seconds).
12:39:26 -!- Essadon has joined.
13:20:58 <Zajt> Anyone seen this before https://puu.sh/C3b0P/9940d2d3aa.png ? I thought it was Malbolge first but it was not
14:11:08 -!- Lord_of_Life_ has joined.
14:14:40 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
14:14:41 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
14:14:41 -!- Lord_of_Life has quit (Changing host).
14:14:41 -!- Lord_of_Life has joined.
14:24:32 -!- xkapastel has joined.
16:35:28 -!- ski has joined.
17:07:22 -!- imode has joined.
17:30:44 -!- AnotherTest has quit (Ping timeout: 276 seconds).
17:31:25 -!- AnotherTest has joined.
17:40:25 -!- Sgeo_ has joined.
17:42:27 -!- Sgeo has quit (Ping timeout: 240 seconds).
19:20:19 -!- derpy has joined.
19:44:30 -!- hakatashi has quit (Read error: Connection reset by peer).
19:44:34 -!- hakatashi2 has joined.
20:23:05 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=58422&oldid=58407 * Cortex * (+21)
20:28:37 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=58423&oldid=58422 * Cortex * (+9)
20:30:46 <esowiki> [[LMBC]] https://esolangs.org/w/index.php?diff=58424&oldid=58413 * Cortex * (+105)
20:41:23 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=58425&oldid=58416 * Cortex * (+3)
20:41:44 -!- hexfive has quit (Quit: WeeChat 2.2).
20:43:16 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=58426&oldid=58425 * Cortex * (+92)
20:43:59 -!- hexfive has joined.
20:43:59 -!- hexfive has quit (Client Quit).
20:44:32 -!- hexfive has joined.
20:44:34 <esowiki> [[Apple Pie]] https://esolangs.org/w/index.php?diff=58427&oldid=58405 * Cortex * (+25)
20:47:57 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=58428&oldid=58177 * Cortex * (+23)
20:48:44 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=58429&oldid=58428 * Cortex * (+2)
21:12:13 -!- rdococ has quit (Changing host).
21:12:13 -!- rdococ has joined.
22:00:10 -!- ais523 has joined.
22:02:06 <esowiki> [[A-DU]] https://esolangs.org/w/index.php?diff=58430&oldid=58421 * Salpynx * (+463) /* Examples */ truth-machine, and double sided tablet example
22:06:12 -!- wob_jonas has joined.
22:06:22 -!- wob_jonas has quit (Client Quit).
22:07:11 -!- b_jonas has joined.
22:08:37 <b_jonas> hi ais523
22:09:12 <ais523> hi
22:14:32 <b_jonas> I saw seven firefighting vehicles obviously already on the site of some big trouble today, in Budapest 6, at 2018-11-17 18:20+01:00. From the news article by the MTI (government news agency), there were ten firefighting vehicles,
22:14:51 <b_jonas> and it was a big fire in the roof and top floor of an office building.
22:15:32 <b_jonas> What took me like 20 minutes to realize is why the news says that the fifth storey of a four-storey house was building. But it's really obvious in retrospect.
22:16:44 <b_jonas> Care to guess the solution?
22:18:17 <b_jonas> A clue is that the news entry refers to two different sources for "fifth storey" and "five-storey office building", the first was said by a person using an office there, the second by the firefighters.
22:18:56 <b_jonas> But you may need some local knowledge for this that differs in some European countries, and I'm not sure how it works in the UK.
22:19:56 <b_jonas> This was in the city center of Budapest, so it's entirely impossible that the firefighters found out about this so slowly that the top storey of the building has entirely disappeared without trace by then.
22:20:32 <b_jonas> They have most likely heared of the fire within 30 seconds from when someone has seen the smoke and recognized it as coming from a fire.
22:20:46 <b_jonas> And they probably got there in less than five minutes.
22:21:39 <b_jonas> heh, the topic still says cornucopia. nobody changed that. strange.
22:24:00 <b_jonas> ais523: also, https://youtu.be/qA67T7FPBME video of ceremonial vote on CIPM conference by representatives of delegates of member states accepting new definitions of SI kilogram, ampere, mole and kelvin
22:25:14 <b_jonas> it's basically a formal celebration that the definitions had de facto been accepted by that time
22:25:18 <ais523> the most obvious reason to me for a "fifth storey"/"four-storey" discrepancy would be related to different numbering systems for storeys
22:25:25 <ais523> although the typical off-by-one goes in the other direction
22:25:58 <ais523> the standard numbering system in the UK is "ground floor" for the floor with the entrance, "first floor" for the floor above
22:26:06 <b_jonas> ais523: no, that one is actually consistently wrong in Hungary, "four-storey" always means that the top storey is the "fourth storey"
22:26:19 <b_jonas> but it is a difference in numbering, just not that
22:26:36 <b_jonas> yeah, what you're saying basically
22:26:53 <ais523> although given how hilly places like Birmingham are, frequently there are multiple ground floors, so you can have, e.g. "lower ground, upper ground, first floor"…
22:27:20 <ais523> places with more than two ground floors tend to use an entirely artificial numbering system; those aren't standardised and often make no sense
22:27:32 <zzo38> Some buildings in here also are 1 for the floor above the ground floor
22:27:38 <zzo38> But some aren't.
22:28:07 <b_jonas> for ordinary buildings with the entrance to a floor right above the ground, that floor is called groundfloor and numbered 0 consistently
22:28:15 <ais523> places in the UK which get a lot of foreign visitors often number the ground floor as 0, which makes things clearer for the foreigners whilst not contradicting the standard UK numbering scheme
22:29:08 <ais523> b_jonas: well, given the standard correspondence 0=first, 1=second, 2=third, if "four-storey house" means that the top storey is numbered 4, it would be the fifth storey, and that would fix the discrepancy
22:29:29 <b_jonas> but many buildings have the entrance on a storey that's either half a storey below ground level, and in that case, that floor is sometimes numbered 0 and sometimes -1, and sometimes people don't even know how it's numbered or use it inconsistently
22:29:37 <ais523> one of the biggest mistakes in English is to derive words like "fourth" from "four" rather than from "three"
22:29:59 <ais523> or, well, actually English has lots of much bigger mistakes because it's English, but that one really annoys me
22:30:18 <zzo38> I think they should just call the ground floor zero, since the level above the ground is zero, since it is at the ground.
22:30:26 <b_jonas> I have lived in such a building, with the entrance a meter below the ground. the storey with the entrance had the office of a small company and some common rooms, the three floors above had apartments
22:30:40 <ais523> over here floors below the ground floor are normally just called "basement", although you see negative numbers sometimes, especially if there's more than one of httem
22:30:42 <ais523> *them
22:31:02 <b_jonas> the storey with the entrance in that building was variously numbered 0 and -1, even in some official papers
22:31:40 <b_jonas> in buildings with an elevator, there is usually a consistent numbering because the elevator buttons are numbered, but the firefighters need not know about that numbering when they go for a fire
22:32:41 <b_jonas> for bigger buildings on sloped terrain, it happens that the same floor with an entrance is right above the ground on one face of the building, but below ground from the other face of the building. sometimes there's even entrances to two different levels on the different sides.
22:32:46 <ais523> in the UK the vast majority of buildings, other than dwellings/houses, that have multiple floors will have a lift (en_US:elevator)
22:33:02 <ais523> so the numbering from that will work
22:33:18 <b_jonas> a good example for such a building is the building K of BME (university), a rather large building
22:33:20 <ais523> the reason is basically because public buildings require disabled access to every floor
22:33:34 <ais523> and a lift is normally the only practical way to do that
22:33:48 <b_jonas> this one has five entrances, one on the front face from the Danube's side that is one storey higher than the other four entries on the other three sides of the building
22:34:22 <b_jonas> the storeys of the building have actually been renumbered a few years ago, with an offset of 1
22:34:22 <ais523> that'd be enough to indicate two ground floors, I think, in the UK
22:35:24 <ais523> in the building where I work the floors are numbered LG, UG, 1, 2, even though there's only one public entrance (on the upper ground floor); the lower ground floor has some fire exits at ground level (it's on a slope)
22:35:45 <ais523> also a loading entrance, I think (i.e. for moving goods from lorries into the building)
22:36:08 <zzo38> You can use 0 for the entrance I think is good
22:36:34 <b_jonas> zzo38, ais523: yes, that's correct about the storeys. the problem with 1-based ordinals themselves isn't specific to English, nor does it originate there. ancient Latin has had 1-based ordinals, which is why they say that Jesus was resurrected on Sunday, the third day after his death on Friday.
22:37:01 <b_jonas> the Jesus resurrection thing actually confused me a great deal when I was young
22:38:17 <b_jonas> as for naming the floors, if the floor half below the ground is numbered -1, then floor 0 is generally called either "magasföldszint" (elevated ground floor) or "félemelet" (half[th] storey).
22:40:09 <ais523> we have the word "mezzanine", which is basically a floor constructed inside the vertical extent of another floor (e.g. you have a large ground floor on one side of the building, but on the other side it's split into two)
22:40:24 <ais523> I don't think it's common to have no floor that matches ground level
22:41:06 <ais523> (in some areas the ground floor is about 50cm above-ground so that the basement can extend slightly above ground, giving access to natural light and a fire escape, but it's still considered the basement)
22:41:07 <b_jonas> it's especially confusing, because the day after easter sunday is a government holiday in Hungary, and it is called easter monday, and I also knew that Easter was (at least according to christianty) the feast of the resurrection of Jesus, so it was natural to assume that Jesus was resurrected on Monday then,
22:42:29 <b_jonas> only then it wasn't clear why Sundays in general were considered sort of the equivalent of the Sabbath by christianty, with the biggest christian churches claiming that one of the tenth commandments is to be understood to refer to Sundays now (though some christian churches disagree, and claim it refers to Saturday or Friday)
22:43:00 <b_jonas> ais523: yes, that happens too
22:43:54 <b_jonas> and in fact the floor with the entrance being slightly above ground is probably more likely for an office building in that dense inner city area than a floor a little below ground
22:44:39 <b_jonas> exactly because then the storey below the entrance level gets some light through windows partly lowered below the sidewalk
22:44:55 <b_jonas> s/partly lowered below/lowered partly below/
22:45:18 <ais523> oh, I think some hotels also have raised ground floors because it lets them install an impressive-looking staircase going up to them
22:45:30 <ais523> but they'll typically have a ground-level side entrance for disabled access
22:46:12 <b_jonas> did anyone else have this problem about Easter when they were young? or did you just get some organized education about christian culture and so could avert that?
22:46:47 -!- FreeFull has quit (Quit: kernel update).
22:47:27 <b_jonas> ais523: and yes, being an algebrist type of mathematician, one who cares about notation, I totally agree that ordinals should have started with 0, like "first, second, twoth, threeth, fourth ...", and generally use 0-based indexes without using the ordinals in the grammar sense,
22:48:19 <b_jonas> and I absolutely freaking hate how lua, a language that was decently designed and decently implemented, has a built-in # operator and a built-in optimized representation for dictionaries behaving as arrays, both of which only work well if you're using 1-based indexes for the arrays,
22:48:29 <b_jonas> and also absolutely hate how GAP uses 1-based indexes
22:51:33 <b_jonas> this GAP http://www.gap-system.org/ , for the record
22:57:38 <zzo38> Sometimes you might want a array index starting with something other than zero, but usually zero is better.
22:58:18 <b_jonas> zzo38: yes, the most common is wanting one starting with -1, but one starting with 1 or even 2 happens too
23:04:38 -!- AnotherTest has quit (Ping timeout: 245 seconds).
23:06:28 -!- FreeFull has joined.
23:07:53 -!- Zajt has quit (Quit: Leaving...).
23:30:00 -!- Sgeo_ has quit (Read error: Connection reset by peer).
23:30:35 -!- Sgeo_ has joined.
23:43:11 -!- Essadon has quit (Quit: Qutting).
23:43:34 <zzo38> I have starting writing the implementation of Netsubscribe. Currently it reads configuration from /etc/netsubscribe.conf and I have implemented subcommands "analyze", "checkpoint", and "vacuum", and configuration options for various limits and some permissions. Eventually I can also add the subcommands to use the protocol (mainly to use with xinetd), to post a note, list messages, set tags, etc.
23:45:22 <zzo38> But I also have a few questions, such as how should I do deferred operations that can be scheduled to do later and if it can't be done, to try again later until it is successful or gives up?
2018-11-18
00:08:23 -!- tromp has quit (Remote host closed the connection).
00:08:58 -!- tromp has joined.
00:49:48 <ais523> zzo38: normally you should try deferred operations a few times with a long waiting period between them (e.g. try an hour, then a day, then a week), and notify someone (ideally the person who requested the operation) if it fails every time (then stop trying0
00:49:56 <ais523> this is what email relays do, and this seems like a similar situation
00:51:49 <zzo38> Yes, I think it is a similar situation I think
00:57:26 <zzo38> A local user posted the message, although the subscriber will be a remote user and if that operation fails then likely the subscriber cannot be notified.
00:59:27 <zzo38> What would likely to need to eventually be done is to eventually remove the subscriber from the local subscription list.
00:59:45 <b_jonas> ais523: yeah, that one confused me back in the late 1990s when the internet was very new. I sent an email to a mailing list, and later got an automated response that it couldn't be delivered. The mail was delivered to the mailing list and most people on it, only it couldn't be delivered to one person joined to the list, and some intermediate server somewhere mailed me about that.
01:01:44 <ais523> the mailing list is misconfigured, it should have asked for that sort of staus message to be sent to the list server
01:01:53 <ais523> (so that it can bounce the person in question off the list)
01:02:00 <b_jonas> ais523: yes, it was probably misconfigured. but that happens.
01:02:30 <b_jonas> and the notification probably told me who it couldn't deliver the mail to.
01:03:59 <ais523> <qmail> Hi. This is the qmail-send program at «domain». I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out.
01:04:25 <ais523> people don't write error messages like that nowadays :-D
01:09:58 -!- oerjan has joined.
01:14:23 -!- oerjan has set topic: Welcome to the international corn cob for esoteric programming language discussion, design, development and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf.
01:15:05 <oerjan> b_jonas: hth
01:15:45 <oerjan> oh hm no space
01:15:54 -!- oerjan has set topic: Welcome to the international corncob for esoteric programming language discussion, design, development and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf.
01:22:08 -!- arseniiv has quit (Ping timeout: 245 seconds).
01:53:28 <oerjan> hm shtetl-optimized's certificate has expired
02:11:33 -!- Lord_of_Life_ has joined.
02:14:48 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
02:14:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:14:49 -!- Lord_of_Life has quit (Changing host).
02:14:49 -!- Lord_of_Life has joined.
02:37:38 -!- sleffy has joined.
02:37:46 -!- sleffy has left.
02:51:26 <zzo38> With the Netsubscribe even if it fails, the message is still public so someone can still read it later even if their side is down.
04:08:57 -!- sprocklem has quit (Quit: sprocklem).
04:09:55 -!- sprocklem has joined.
04:26:59 -!- ais523 has quit (Remote host closed the connection).
04:28:11 -!- ais523 has joined.
05:42:39 -!- ais523 has quit (Remote host closed the connection).
05:43:53 -!- ais523 has joined.
06:03:54 -!- ais523 has quit (Remote host closed the connection).
06:05:07 -!- ais523 has joined.
06:05:24 -!- ais523 has quit (Client Quit).
06:24:05 -!- xkapastel has quit (Quit: Connection closed for inactivity).
07:53:27 -!- joast has quit (Ping timeout: 240 seconds).
08:22:00 -!- imode has quit (Ping timeout: 252 seconds).
08:26:54 -!- oerjan has quit (Quit: Nite).
09:06:45 <zzo38> My question though was about what method should be used to set up the future attempts. Consider that the system may shut down or power failure or whatever before then, too, and that the program is setuid and setgid (although not to root).
09:12:50 -!- tromp has quit (Remote host closed the connection).
09:13:05 -!- tromp has joined.
10:01:06 -!- AnotherTest has joined.
10:07:22 -!- Vorpal has joined.
10:29:42 -!- tromp_ has joined.
10:29:42 -!- tromp has quit (Remote host closed the connection).
10:44:52 -!- tromp_ has quit (Remote host closed the connection).
10:45:07 -!- tromp has joined.
10:59:52 -!- hexfive has quit (Quit: WeeChat 2.2).
11:40:48 -!- arseniiv has joined.
11:56:54 <esowiki> [[Special:Log/newusers]] create * Micnap929b * New user account
12:02:52 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=58431&oldid=58408 * Micnap929b * (+202) /* Introductions */
12:07:17 <esowiki> [[User:Micnap929b]] N https://esolangs.org/w/index.php?oldid=58432 * Micnap929b * (+6) Created page with "Hello!"
12:25:02 -!- Essadon has joined.
13:18:57 <arseniiv> hi, someone played Submachine game series? (by Mateusz Skutnik). I played several, nice work
14:12:27 -!- Lord_of_Life_ has joined.
14:16:12 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
14:16:13 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
14:16:13 -!- Lord_of_Life has quit (Changing host).
14:16:13 -!- Lord_of_Life has joined.
14:18:21 -!- xkapastel has joined.
14:20:27 -!- joast has joined.
17:47:04 -!- Phantom_Hoover has joined.
17:47:04 -!- Phantom_Hoover has quit (Changing host).
17:47:04 -!- Phantom_Hoover has joined.
18:14:20 <esowiki> [[TAPEX]] N https://esolangs.org/w/index.php?oldid=58433 * Micnap929b * (+7999) Created page with "''~by [[User:Micnap929b|micnap929b]]''<br/> == About == '''TAPEX''' is an esoteric programming language heavily inspired by [[Brainfuck|brainfuck]] (knowledge about it is advi..."
18:16:27 <esowiki> [[TAPEX]] M https://esolangs.org/w/index.php?diff=58434&oldid=58433 * Micnap929b * (+1)
18:20:47 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58435&oldid=58406 * Micnap929b * (+12) Added TAPEX
18:37:13 -!- xkapastel has quit (Quit: Connection closed for inactivity).
18:47:41 <esowiki> [[A-DU]] M https://esolangs.org/w/index.php?diff=58436&oldid=58430 * Salpynx * (+11) /* Rules for allocating storage cells */
18:49:24 -!- imode has joined.
19:09:39 -!- xkapastel has joined.
19:23:45 -!- MDead has changed nick to MDude.
19:53:55 <b_jonas> I had a dream of a paradoxical statement, but when I woke up and reconstructed it, it of course wasn't paradoxical at all.
19:54:08 <b_jonas> I'll have to write it down though.
19:57:20 <imode> combinators are the stuff of life.
19:58:25 <b_jonas> nah
19:58:29 <imode> yeah.
19:58:32 <b_jonas> they're one way of life
19:58:34 <b_jonas> but not the only way
19:58:59 <imode> they're the way of life, man. every arbitrary transformation set reduces to a set of combinators lmao.
19:59:06 <imode> hence the source of that joke. "stuff of life".
19:59:11 <imode> i.e water
19:59:39 <imode> and other building blocks and shit.
20:23:20 -!- AnotherTest has quit (Ping timeout: 250 seconds).
20:24:01 -!- AnotherTest has joined.
20:53:49 -!- hexfive has joined.
22:26:19 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58437&oldid=58332 * Salpynx * (+304) more elegant Godel numbering thanks to Rdebath!
22:50:31 <esowiki> [[Brainfoctal]] M https://esolangs.org/w/index.php?diff=58438&oldid=58437 * Salpynx * (-187)
23:06:05 <esowiki> [[Brainfoctal]] https://esolangs.org/w/index.php?diff=58439&oldid=58438 * Salpynx * (+571) /* Interpreters and Converters */ bash, accepts bf8 in any standard base
23:10:15 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:21:45 -!- sprocklem has quit (Quit: brb).
23:22:16 <esowiki> [[Brainfoctal]] M https://esolangs.org/w/index.php?diff=58440&oldid=58439 * Salpynx * (+11) /* Left-padding */
23:24:39 -!- sprocklem has joined.
23:26:30 <zzo38> Now I mentioned more specific of my question about setting future attempts for the Netsubscribe. Now do you know how to answer?
23:35:36 -!- Essadon has quit (Quit: Qutting).
2018-11-19
00:00:20 -!- danieljabailey has joined.
00:01:52 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:17:18 -!- arseniiv has quit (Ping timeout: 252 seconds).
01:30:05 -!- oerjan has joined.
02:09:22 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:16:18 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
02:16:45 -!- Lord_of_Life has joined.
02:16:45 -!- Lord_of_Life has quit (Changing host).
02:16:45 -!- Lord_of_Life has joined.
04:21:02 <oerjan> today on mezzacotta: tips for creating a spring golem
04:21:17 <oerjan> http://www.mezzacotta.net/archive.php?date=2018-11-18
05:32:58 -!- hexfive has quit (Quit: WeeChat 2.2).
05:33:47 -!- hexfive has joined.
05:49:45 -!- nfd9001 has joined.
05:51:33 <zzo38> Now the first page of the Free Hero Mesh wiki includes the links for the documentation of invoking, configuration, file formats, and license. Perhaps, you can look see if these documents look like to you to be OK so far.
06:14:18 <esowiki> [[Hello++]] https://esolangs.org/w/index.php?diff=58441&oldid=56992 * Cortex * (+243)
06:23:54 <esowiki> [[Apple Pie]] https://esolangs.org/w/index.php?diff=58442&oldid=58427 * Cortex * (+117)
06:28:28 <esowiki> [[Apple Pie]] https://esolangs.org/w/index.php?diff=58443&oldid=58442 * Cortex * (-1)
06:30:21 -!- nfd has joined.
06:30:54 -!- nfd9001 has quit (Ping timeout: 272 seconds).
07:53:43 -!- tromp has quit (Remote host closed the connection).
07:54:19 -!- tromp has joined.
08:16:05 -!- tromp has quit (Remote host closed the connection).
08:16:20 -!- tromp has joined.
08:29:48 -!- imode has quit (Ping timeout: 252 seconds).
08:47:33 -!- xkapastel has joined.
09:10:31 <esowiki> [[Grime MC]] N https://esolangs.org/w/index.php?oldid=58444 * Salpynx * (+4441) mad ting
09:19:19 -!- b_jonas has quit (Quit: leaving).
09:29:19 <shachaf> zzo38: Do you think goto is important if you have named-break?
09:45:14 -!- AnotherTest has joined.
09:50:26 -!- oerjan has quit (Quit: Nite).
11:22:40 <esowiki> [[Eul]] https://esolangs.org/w/index.php?diff=58445&oldid=58281 * Backspace * (+30)
11:23:21 <esowiki> [[Eul]] https://esolangs.org/w/index.php?diff=58446&oldid=58445 * Backspace * (-30)
11:43:18 <esowiki> [[Grime MC]] M https://esolangs.org/w/index.php?diff=58447&oldid=58444 * Salpynx * (+20) /* Collatz (Eski-beat) Sequences */
12:52:00 -!- Essadon has joined.
12:55:56 -!- AnotherTest has quit (Ping timeout: 276 seconds).
13:12:35 -!- wob_jonas has joined.
13:12:42 <wob_jonas> argh! these tools suck and I have to work around them!
13:29:17 -!- AnotherTest has joined.
13:55:31 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
13:58:13 -!- arseniiv has joined.
14:13:30 -!- Lord_of_Life_ has joined.
14:14:33 -!- Sgeo_ has quit (Ping timeout: 244 seconds).
14:16:18 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
14:16:23 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
14:16:31 -!- Lord_of_Life has quit (Changing host).
14:16:31 -!- Lord_of_Life has joined.
14:26:18 -!- AnotherTest has quit (Ping timeout: 245 seconds).
14:30:58 -!- AnotherTest has joined.
14:58:40 <esowiki> [[TAPEX]] M https://esolangs.org/w/index.php?diff=58448&oldid=58434 * Micnap929b * (+322)
15:02:18 <esowiki> [[TAPEX]] https://esolangs.org/w/index.php?diff=58449&oldid=58448 * Micnap929b * (+3686) Added a JS interpreter
15:05:39 <esowiki> [[TAPEX]] https://esolangs.org/w/index.php?diff=58450&oldid=58449 * Micnap929b * (-12008) Blanked the page
15:06:47 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58451&oldid=58435 * Micnap929b * (-12) /* Deleted TAPEX */
15:09:19 <esowiki> [[TAPEX]] https://esolangs.org/w/index.php?diff=58452&oldid=58450 * Micnap929b * (+24)
16:11:27 -!- AnotherTest has quit (Ping timeout: 240 seconds).
16:34:34 -!- AnotherTest has joined.
16:57:38 -!- imode has joined.
17:51:28 <esowiki> [[Omgrofl]] https://esolangs.org/w/index.php?diff=58453&oldid=37167 * Cortex * (+126)
18:16:17 <zzo38> shachaf: Yes, I think goto is still important even if you have named break
18:22:52 <zzo38> (Although I don't really like named break)
18:23:51 -!- b_jonas has joined.
18:23:57 <shachaf> zzo38: Why not?
18:26:56 <zzo38> You might as well to just have a goto command, and you might want to specify targets that isn't just break from a loop anyways
18:31:08 <shachaf> I don't mean break from loop, I mean break from arbitrary block.
18:34:20 <zzo38> I think it is clearer to use goto
18:34:43 <zzo38> To specify exactly what label where it is
18:34:49 -!- Phantom_Hoover has joined.
19:10:06 -!- imode has quit (Ping timeout: 264 seconds).
19:30:07 -!- imode has joined.
20:41:00 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
20:56:07 -!- Phantom_Hoover has joined.
21:28:12 -!- imode has quit (Quit: WeeChat 2.3).
21:47:18 -!- b_jonas has quit (Quit: leaving).
21:48:53 <shachaf> `metar koak
21:48:55 <HackEso> lambdabot: @metar KOAK
21:49:04 <shachaf> Oops
21:49:15 <shachaf> @metar koak
21:49:16 <lambdabot> KOAK 192053Z 27004KT 2SM HZ FU FEW015 BKN055 BKN180 16/04 A3003 RMK AO2 TWR VIS 3 SLP168 FU FEW015 T01560044 58016
22:01:59 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
22:18:30 -!- moei has quit (Quit: Leaving...).
22:31:55 <esowiki> [[ODDBALL]] https://esolangs.org/w/index.php?diff=58454&oldid=46661 * Salpynx * (+13) /* External resources */ add link to archived resource
22:36:42 -!- fungot` has joined.
22:39:11 <esowiki> [[Iag]] https://esolangs.org/w/index.php?diff=58455&oldid=53691 * Salpynx * (-34) /* External resources */ Iag tutorial link is correctly archived AFAICT
22:39:47 -!- fungot has quit (Ping timeout: 268 seconds).
22:39:47 -!- danieljabailey has quit (Ping timeout: 268 seconds).
22:39:48 -!- j-bot has quit (Ping timeout: 268 seconds).
22:39:48 -!- rain1 has quit (Ping timeout: 268 seconds).
22:39:48 -!- Vorpal has quit (Ping timeout: 268 seconds).
22:41:13 -!- danieljabailey has joined.
22:42:57 -!- rain1 has joined.
22:43:03 -!- Vorpal has joined.
22:43:03 -!- Vorpal has quit (Changing host).
22:43:03 -!- Vorpal has joined.
22:45:37 <esowiki> [[Aheui]] https://esolangs.org/w/index.php?diff=58456&oldid=53163 * Salpynx * (+14) /* External resources */ another link found on wayback
22:52:33 <esowiki> [[Quantum INTERCAL]] https://esolangs.org/w/index.php?diff=58457&oldid=46792 * Salpynx * (+12) /* External resources */ wayback link
22:53:04 <esowiki> [[Quantum INTERCAL]] M https://esolangs.org/w/index.php?diff=58458&oldid=58457 * Salpynx * (+0) /* External resources */
23:02:43 <esowiki> [[Aheui]] M https://esolangs.org/w/index.php?diff=58459&oldid=58456 * Salpynx * (-1) /* External resources */
23:23:38 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=58460&oldid=58262 * Salpynx * (+17) /* HTML / Javascript */ functioning archived js interpreter
23:28:15 <esowiki> [[Sansism Turing-completeness proof]] https://esolangs.org/w/index.php?diff=58461&oldid=30484 * Salpynx * (+12) /* External resources */ archived resource
23:30:05 -!- Phantom_Hoover has joined.
23:42:18 -!- Phantom_Hoover has quit (Quit: Leaving).
23:48:08 <esowiki> [[Sansism]] https://esolangs.org/w/index.php?diff=58462&oldid=26088 * Salpynx * (+107) /* External resources */ latest available archived versions
23:48:22 -!- Sgeo has joined.
23:48:50 <esowiki> [[Sansism]] M https://esolangs.org/w/index.php?diff=58463&oldid=58462 * Salpynx * (+1) /* External resources */
23:51:15 -!- AnotherTest has quit (Ping timeout: 252 seconds).
2018-11-20
00:40:54 -!- Essadon has quit (Quit: Qutting).
01:28:39 -!- sebbu has quit (Ping timeout: 252 seconds).
01:35:46 -!- imode has joined.
01:38:56 <zzo38> Here is currently what I have for schema in my Netsubscribe implementation:
01:39:17 <zzo38> create table object(id text primary key, owner text, text blob, timestamp int) without rowid; create table target(object text not null, target text not null, direct int not null, timestamp int not null, subscribed int not null, primary key (object, target)) without rowid; create index reverse on target(target, timestamp, object, direct);
01:41:09 <zzo38> Actually, now I added NOT NULL constraints to the "owner" and "timestamp" fields of the "object" table.
01:41:16 <zzo38> Do you think this look like good enough to you now?
01:42:43 -!- arseniiv has quit (Ping timeout: 246 seconds).
01:52:24 -!- oerjan has joined.
02:16:48 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
02:20:37 -!- Lord_of_Life has joined.
02:20:37 -!- Lord_of_Life has quit (Changing host).
02:20:37 -!- Lord_of_Life has joined.
02:32:19 -!- sebbu has joined.
02:46:48 <zzo38> How should I safely perform a DNS lookup with a timeout?
02:55:25 <esowiki> [[Grime MC]] M https://esolangs.org/w/index.php?diff=58464&oldid=58447 * Salpynx * (-3) /* Hello World */ typo?
03:24:29 <oerjan> @metar ENVA
03:24:29 <lambdabot> ENVA 200250Z 13005KT 9999 SCT007 BKN021 M02/M03 Q1037 RMK WIND 670FT 15005KT
04:06:04 <oerjan> `icode 🐭
04:06:07 <HackEso> ​[U+1F42D MOUSE FACE]
04:10:17 -!- sprocklem has quit (Quit: brb).
04:11:02 -!- nfd has quit (Read error: Connection reset by peer).
04:12:32 -!- sprocklem has joined.
04:25:49 -!- olsner has quit (Ping timeout: 246 seconds).
04:31:38 -!- olsner has joined.
05:04:55 -!- sprocklem has quit (Quit: brb).
05:06:43 -!- sprocklem has joined.
05:07:29 -!- nfd9001 has joined.
05:09:48 -!- sprocklem has quit (Client Quit).
05:10:58 -!- sprocklem has joined.
05:12:02 <zzo38> The Magic: the Gathering Official Encyclopedia includes a "deckbuilder's index", and I had a idea to make a similar "composer's index", with many of the same things but also some new stuff, including cards having specific drawbacks, unusual effects, specific numbers, costs, etc, for pseudo-Vintage.
05:39:13 <esowiki> [[Brainfork]] https://esolangs.org/w/index.php?diff=58465&oldid=52412 * Salpynx * (+176) /* External resources */
09:10:35 -!- AnotherTest has joined.
09:54:48 -!- oerjan has quit (Quit: Nite).
10:23:21 -!- imode has quit (Ping timeout: 252 seconds).
11:53:32 -!- S_Gautam has joined.
12:09:10 -!- arseniiv has joined.
12:15:49 <oren> what I would love to have right now is a language for expressing O(N) operations on JSON files
12:16:14 <paul2520> that would be swell, oren
12:18:26 <oren> if well implemented such a thing would be much faster then the hodgpodge of python I'm using right now
12:20:20 <oren> either that or some sort of streaming program that converts an JSON array of JSON objects into a csv file and back
12:24:09 <oren> question is how do you make a language that can express sufficiently general operations on general datastructures but still guarantee the operations have a certain complexity
12:34:35 <fizzie> jq is a little bit like that. I mean, probably not with any complexity guarantees, but often a good replacement for JSON manipulations.
12:54:51 <oren> "Un développeur du logiciel VLC et un hacker français nommés chevaliers de l'Ordre du Mérite"
13:19:59 -!- Essadon has joined.
14:17:32 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
14:19:17 -!- Lord_of_Life has joined.
14:19:17 -!- Lord_of_Life has quit (Changing host).
14:19:17 -!- Lord_of_Life has joined.
15:03:08 -!- AnotherTest has quit (Ping timeout: 268 seconds).
15:29:24 -!- AnotherTest has joined.
15:53:12 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
15:56:30 -!- sleepnap has joined.
15:59:27 <oren> http://radio.garden/live/kapuskasing/ckgn-fm-89-7/ <- what is on the radio in the middle of the northern wastes. you'd think is would be country, but no
16:15:33 -!- S_Gautam has joined.
17:43:57 -!- imode has joined.
18:08:30 -!- sleepnap has quit (Ping timeout: 250 seconds).
18:22:06 -!- sleepnap has joined.
19:03:12 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
20:09:33 <esowiki> [[Special:Log/newusers]] create * Lykrast * New user account
20:11:04 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58466&oldid=58431 * Lykrast * (+205) /* Introductions */
20:39:20 <esowiki> [[Muriel]] https://esolangs.org/w/index.php?diff=58467&oldid=53694 * Lykrast * (+2821) Added spec as found in the links
20:57:21 -!- arseniiv has quit (Read error: Connection reset by peer).
20:57:38 -!- arseniiv has joined.
22:41:00 -!- Essadon has quit (Quit: Qutting).
23:14:25 -!- imode has quit (Ping timeout: 244 seconds).
23:38:40 -!- imode has joined.
23:44:02 -!- imode has quit (Quit: WeeChat 2.3).
23:49:51 -!- AnotherTest has quit (Ping timeout: 252 seconds).
2018-11-21
00:47:42 <esowiki> [[La We]] M https://esolangs.org/w/index.php?diff=58468&oldid=57887 * Pelirodri * (+1)
00:56:47 -!- imode has joined.
01:08:38 -!- sleepnap has left.
01:41:19 -!- oerjan has joined.
02:12:01 -!- tromp has quit (Read error: Connection reset by peer).
02:12:36 -!- tromp has joined.
02:17:46 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
02:18:37 -!- Lord_of_Life has joined.
02:18:37 -!- Lord_of_Life has quit (Changing host).
02:18:37 -!- Lord_of_Life has joined.
03:01:18 -!- pikhq has quit (Ping timeout: 245 seconds).
03:01:43 -!- GeekDude has quit (Ping timeout: 245 seconds).
03:02:06 -!- pikhq has joined.
03:04:05 -!- GeekDude has joined.
03:10:52 -!- Sgeo_ has joined.
03:13:09 -!- Sgeo has quit (Ping timeout: 252 seconds).
03:39:41 -!- arseniiv has quit (Ping timeout: 276 seconds).
03:42:58 -!- heroux has quit (Read error: Connection reset by peer).
03:47:33 -!- heroux has joined.
03:57:03 -!- myname has quit (Ping timeout: 252 seconds).
03:57:12 -!- myname has joined.
04:07:17 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:20:23 -!- Sgeo has joined.
05:22:46 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
05:29:51 -!- hakatashi2 has quit (Remote host closed the connection).
05:30:11 -!- hakatashi has joined.
07:18:05 -!- sprocklem has quit (Quit: brb).
07:19:39 -!- sprocklem has joined.
08:23:09 -!- Cale has quit (Remote host closed the connection).
08:30:24 -!- imode has quit (Ping timeout: 252 seconds).
08:42:59 -!- atslash has joined.
08:44:42 -!- oerjan has quit (Quit: Nite).
08:47:31 -!- atslash has quit (Ping timeout: 246 seconds).
08:48:08 -!- atslash has joined.
09:13:15 -!- atslash has quit (Ping timeout: 252 seconds).
09:13:45 -!- atslash has joined.
09:18:20 -!- Sgeo has quit (Ping timeout: 268 seconds).
09:21:33 -!- Sgeo has joined.
10:30:23 -!- AnotherTest has joined.
11:07:14 -!- xkapastel has joined.
13:05:37 -!- hexfive has quit (Quit: WeeChat 2.2).
14:15:55 -!- arseniiv has joined.
14:18:02 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
14:19:41 -!- Lord_of_Life has joined.
14:19:42 -!- Lord_of_Life has quit (Changing host).
14:19:42 -!- Lord_of_Life has joined.
16:19:22 -!- sleepnap has joined.
16:40:56 -!- sleepnap has quit (Ping timeout: 250 seconds).
16:55:59 -!- sleepnap has joined.
17:06:28 -!- Bowserinator has quit (Read error: Connection reset by peer).
17:06:28 -!- moony has quit (Write error: Connection reset by peer).
17:06:28 -!- ATMunn has quit (Quit: lol rip).
17:08:36 -!- moony has joined.
17:27:30 -!- imode has joined.
17:39:38 -!- ski has quit (Ping timeout: 245 seconds).
17:40:36 -!- ski has joined.
17:41:49 -!- ATMunn has joined.
17:42:14 -!- Bowserinator_ has joined.
17:42:45 -!- Bowserinator_ has changed nick to Bowserinator.
17:46:47 -!- probablymoony has joined.
18:16:11 -!- Essadon has joined.
18:26:42 -!- moony has quit (Ping timeout: 252 seconds).
18:34:08 -!- Phantom_Hoover has joined.
18:34:08 -!- Phantom_Hoover has quit (Changing host).
18:34:08 -!- Phantom_Hoover has joined.
20:00:42 <esowiki> [[Pada]] https://esolangs.org/w/index.php?diff=58469&oldid=44709 * Lykrast * (+129) Added interpreter by the guy that made the hello world (found in code golf) and a precision based on that interpreter
20:15:07 <esowiki> [[Pada]] https://esolangs.org/w/index.php?diff=58470&oldid=58469 * Lykrast * (+71) /* Hello, World! */ Alternate answer from the code golf thread
20:56:54 -!- ski has quit (Remote host closed the connection).
22:02:46 -!- b_jonas has joined.
22:17:25 <b_jonas> I hate the way debian sets up programmable completion in bash. It hurts more than it helps. But I just realized that I can kill it with a sweet blow of its own weapon: just type shopt -u prog<TAB><ENTER>
22:17:40 <b_jonas> hahaha! vengeance
22:18:16 <b_jonas> seriously, at least once I had to insert a fucking comment sign (hash mark) in the command line temporarily just so that bash's buildin readline would expand some filename for me
22:21:06 <zzo38> Yes, I think you are correct
22:22:01 <b_jonas> actually shop<TAB>-u prog<TAB><ENTER> also works, but the first tab in that doesn't require programmable completion
22:22:49 <b_jonas> it's a good thing they didn't make programmable completion so smart that it won't expand "progcomp" because surely that's not the one you want to turn off, just like how it sometimes doesn't expand filenames
22:29:10 <b_jonas> nice! cold is probably coming next week
22:29:20 <b_jonas> s/ next/ the next/
23:14:36 -!- sleepnap has quit (Quit: Leaving.).
23:34:25 -!- AnotherTest has quit (Ping timeout: 246 seconds).
23:54:44 -!- Essadon has quit (Quit: Qutting).
2018-11-22
00:08:18 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
00:21:27 -!- spiegelau has joined.
00:48:48 -!- arseniiv has quit (Ping timeout: 245 seconds).
00:53:10 -!- spiegelau has quit (Quit: leaving).
01:44:38 -!- danieljabailey has quit (Ping timeout: 245 seconds).
01:47:09 -!- danieljabailey has joined.
02:07:03 <zzo38> Do you like Netsubscribe?
02:20:04 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
02:20:20 -!- Lord_of_Life has joined.
02:20:21 -!- Lord_of_Life has quit (Changing host).
02:20:21 -!- Lord_of_Life has joined.
02:24:23 -!- atslash has quit (Quit: This computer has gone to sleep).
03:16:41 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:24:56 -!- heroux has quit (Read error: Connection reset by peer).
03:25:14 -!- heroux has joined.
03:27:51 -!- Sgeo_ has joined.
03:29:27 -!- Sgeo has quit (Ping timeout: 252 seconds).
03:42:06 -!- contrapumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
04:27:04 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58471&oldid=58330 * Sifoobar * (+26)
04:27:45 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58472&oldid=58471 * Sifoobar * (-231)
04:28:10 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58473&oldid=58472 * Sifoobar * (-26)
04:29:10 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58474&oldid=58473 * Sifoobar * (+4)
04:30:01 <esowiki> [[Snigl]] https://esolangs.org/w/index.php?diff=58475&oldid=58474 * Sifoobar * (-10)
04:41:54 -!- hexfive has joined.
04:52:04 -!- Sgeo_ has quit (Ping timeout: 272 seconds).
04:56:38 -!- Sgeo has joined.
05:18:03 -!- atslash has joined.
05:24:50 -!- probablymoony has changed nick to moony.
06:32:03 -!- nfd has joined.
06:35:26 -!- nfd9001 has quit (Ping timeout: 260 seconds).
07:08:49 -!- xkapastel has joined.
07:18:37 -!- Sgeo has quit (Ping timeout: 268 seconds).
07:28:32 -!- Sgeo has joined.
08:08:55 -!- imode has quit (Ping timeout: 246 seconds).
08:56:13 -!- b_jonas has quit (Quit: Lost terminal).
09:42:13 -!- AnotherTest has joined.
10:57:38 -!- arseniiv has joined.
11:02:51 -!- hexfive has quit (Quit: WeeChat 2.2).
11:38:42 -!- AnotherTest has quit (Ping timeout: 252 seconds).
11:59:11 -!- AnotherTest has joined.
12:19:46 <esowiki> [[Simplefunge]] M https://esolangs.org/w/index.php?diff=58476&oldid=49812 * Salpynx * (+0) categories, fix typo
12:57:33 -!- AnotherTest has quit (Ping timeout: 245 seconds).
14:19:33 -!- Lord_of_Life_ has joined.
14:20:39 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
14:20:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
14:20:40 -!- Lord_of_Life has quit (Changing host).
14:20:40 -!- Lord_of_Life has joined.
15:20:47 -!- AnotherTest has joined.
15:31:42 -!- j-bot has joined.
16:07:29 -!- derpy has quit (Read error: Connection reset by peer).
16:08:47 -!- derpy has joined.
17:01:48 -!- AnotherTest has quit (Ping timeout: 244 seconds).
17:45:53 -!- AnotherTest has joined.
20:19:16 -!- imode has joined.
20:29:19 <rdococ> hmnm, what if you represented an object as a linked list of key-value pairs?
20:29:37 <rdococ> an object could have a prototype, then, by appending the prototype to the end of the object
20:34:08 -!- b_jonas has joined.
20:35:11 <b_jonas> rdococ: that's the lisp way, but I don't see why the representation, such as a singly-linked list vs an abstract dictionary with a prototype pointer matters.
20:37:21 <b_jonas> or at least, it's _a_ lisp way
20:38:26 <rdococ> ah, I didn't quite mean a "representation" but a language in which everything is, explicitly, a pair
20:38:47 <b_jonas> rdococ: yeah, but why is that good?
20:39:03 <rdococ> objects would have a key-value pair as their head, and the "tail" of the object contains the rest of the key-value pairs
20:39:08 <b_jonas> other than perhaps because it's easier to implement if you're only the guy writing the core language, but not the library
20:40:15 <b_jonas> rdococ: yeah, and then you won't know how you should update a member of an object in place: add it to the head or update it in place in the list body where it may be owned by the prototype
20:41:16 <rdococ> b_jonas: if you want to add a member to an object and the object has at least one member as its head, then you can insert the new member in the tail of the object, which ensures that it is not accidentally part of the prototype
20:41:34 <b_jonas> rdococ: in the _tail_? not in the head?
20:41:51 <rdococ> e.g. (("x", 3), proto), and if you want to add "y" = 4, you'd have (("x", 3), (("y", 4), proto))
20:42:06 <b_jonas> rdococ: you can insert a new pair to the head, but then you'll grow the object endlessly because you keep inserting the same key many times instead of updating it in place
20:44:09 <b_jonas> unless of course you want a language like haskell or standard ML or prolog, where you can never update ordinary members in place, only specially designated mutable slots or members of specially designated mutable vectors
20:45:16 <rdococ> (("x", 3), (("y", 4), ("proto", proto))) but then that's barely weird in any way, just a possibly inefficient way to store objects
20:54:06 <zzo38> Other thing to do is like characteristics with continuous effects in Magic: the Gathering.
21:06:54 -!- sftp has quit (Excess Flood).
21:07:52 -!- sftp has joined.
21:19:08 <b_jonas> zzo38: ok, now you're scaring me. for linked lists, at least I understand the rules.
21:32:26 -!- moony has quit (Quit: Bye!).
21:33:00 -!- moony has joined.
21:33:53 -!- moony has quit (Excess Flood).
21:34:15 -!- moony has joined.
22:08:30 <esowiki> [[42]] N https://esolangs.org/w/index.php?oldid=58477 * Salpynx * (+2488) Gdel number self-interpreter
22:21:43 -!- sftp has quit (Excess Flood).
22:22:09 -!- sftp has joined.
22:33:23 -!- Phantom_Hoover has joined.
22:38:31 -!- Sgeo_ has joined.
22:40:37 -!- Sgeo has quit (Ping timeout: 250 seconds).
22:56:44 -!- moony has quit (Quit: Bye!).
22:57:02 -!- moony has joined.
22:59:10 <esowiki> [[42]] https://esolangs.org/w/index.php?diff=58478&oldid=58477 * Salpynx * (+53) Add known example
23:00:16 -!- derpy has quit (Ping timeout: 268 seconds).
23:03:36 -!- derpy has joined.
23:15:27 -!- Storkman has quit (Ping timeout: 240 seconds).
23:16:58 -!- AnotherTest has quit (Ping timeout: 250 seconds).
23:27:40 -!- Storkman has joined.
23:39:27 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
23:50:12 -!- Phantom_Hoover has joined.
2018-11-23
00:09:05 -!- heroux has quit (Read error: Connection reset by peer).
00:14:12 -!- heroux has joined.
00:55:05 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:10:24 -!- skizzy has joined.
01:27:15 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:19:42 -!- Lord_of_Life_ has joined.
02:21:16 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
02:21:16 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:21:16 -!- Lord_of_Life has quit (Changing host).
02:21:16 -!- Lord_of_Life has joined.
02:55:33 -!- oerjan has joined.
03:00:20 -!- skizzy has quit (Remote host closed the connection).
03:02:17 -!- skizzy has joined.
03:05:03 <oerjan> b_jonas: apparently M-/ does completion only as filename
03:20:16 -!- skizzy has quit (Remote host closed the connection).
03:25:04 -!- skizzy has joined.
03:44:54 -!- xkapastel has joined.
03:47:07 <zzo38> oerjan: Yes, that works (on my computer at least)
06:04:32 <b_jonas> oerjan: well great. I still don't really get the point of programmable completion in bash. it sounds useful in abstract in readline, but that doesn't mean I want to use it in bash for anything.
06:05:24 <b_jonas> especially not after the horrible decision by gnu getopt_long to accept any unambiguous prefix of a long option
06:06:00 <b_jonas> I don't know why they even did that, that just means that scripts using long options will randomly break in the future when new long options are added, which makes the whole point of long options as opposed to short options kind of useless
06:06:41 <b_jonas> I mean, manually adding synonyms to long options, that I understand, but accepting any random prefix without a warning?
06:07:31 <b_jonas> they should explicitly add synonyms like --no-perm and --no-same-perm and --no-permission and --no-permissions and --no-same-permission to the option --no-same-permissions in tar, and things like that
06:07:47 -!- Sgeo has joined.
06:08:41 <imode> anybody have any resources for evaluating the S and K combinator basis using queues?
06:09:01 <imode> I guess my question is really "how can I evaluate unlambda using only a queue holding the initial input string."
06:09:50 <b_jonas> imode: look at how underload works. it uses two stacks. wait, queues?
06:09:56 -!- Sgeo_ has quit (Ping timeout: 250 seconds).
06:10:06 <imode> yeah, a queue.
06:10:06 <b_jonas> still, even for queues, you just use a suitable rewriting system.
06:10:23 <b_jonas> it'll just be slow
06:10:26 <imode> https://ptpb.pw/WVs8
06:10:37 <imode> this is the problem statement I'm working with.
06:10:43 <imode> (I wrote it.)
06:11:20 <b_jonas> wait, hasn't someone already asked something about queues and how you can use them?
06:11:23 <imode> the idea is to formulate combinator application as a series of operations on multiple queues.
06:11:47 <imode> I don't want to use parens, so I admit an application operator/combinator.
06:12:45 <imode> I'm already doing friggin' term rewriting using a queue, I can't imagine CL could be that far off.
06:15:27 <zzo38> Sometimes all of the letters for short options are used, that might be why they need the long options. Other than that I think short options are usually good enough
06:16:06 <b_jonas> can you cheat by using integers, either in the queue, or in some registers?
06:16:49 <imode> no. the queue must consist entirely of a sequence of those combinators I've defined: `, S and K.
06:16:55 <b_jonas> zzo38: well sure, grep and tar have a lot of options, including for compatibility merging multiple different grep variants which is why grep -r and grep -R means the same
06:17:17 <imode> fyi, b_jonas: https://git.imode.tech/?p=python/modal;a=blob;f=modal.py;h=fc26ebe7ae44f3220f5ad9b1267421ae38d61e2d;hb=refs/heads/master
06:17:29 <imode> telnet imode.tech 1337
06:17:48 <imode> (factorial (5)) + (factorial (6))
06:18:34 <imode> I'm already doing term rewriting using queues and some additional data structures. what I want to show is a reduction from general term rewriting to a set of rewriting combinators.
06:18:44 <imode> and then from there, to a queue automata.
06:20:43 <imode> the top layer (the interpreter you see there) is called Modal. the middle layer is Mode.
06:24:45 <zzo38> The syntax for numbers is a bit confusing. The response and rules says "num 1" but that is what you have if you write "1".
06:25:30 <imode> yup, because all numbers get prefixed with their type.
06:25:44 <imode> all arithmetic rules then take something like `add (num ?left) (num ?right)`
06:25:54 <imode> to extract the numeric value of a number.
06:26:08 <imode> this is why you need to do `add (10) (20)`, or `(10) + (20)`.
06:26:46 <imode> if you didn't parenthesize your numbers, it'd look like `add num 10 num 20`. which isn't good.
06:26:53 <zzo38> If you write "num 1" then you get "num num 1".
06:27:07 <imode> yup. because `1` was transformed into `num 1`.
06:27:18 <zzo38> What you say is sense, I am only saying the syntax is a bit confusing due to that
06:27:28 <imode> agreed. :)
06:27:35 <b_jonas> sorry, I have to go
06:27:36 -!- b_jonas has quit (Quit: leaving).
06:30:44 <zzo38> Also, what exactly is the tilde doing? Sometimes it adds spaces sometimes seems to do nothing, if it is a prefix to something
06:31:32 <imode> oh wow. that's a bug.
06:33:01 <imode> alright, reconnect. that should not happen now.
06:41:27 -!- arseniiv has quit (Ping timeout: 264 seconds).
06:46:35 <zzo38> OK it work now
06:56:49 -!- nfd9001 has joined.
06:59:45 -!- nfd has quit (Ping timeout: 252 seconds).
07:00:21 -!- skizzy has quit (Ping timeout: 244 seconds).
07:27:15 -!- xkapastel has quit (Quit: Connection closed for inactivity).
07:35:51 <oerjan> girl genius: ok, i did not expect _that_.
07:36:11 -!- skizzy has joined.
07:37:48 -!- AnotherTest has joined.
07:38:09 -!- skizzy2 has joined.
07:40:39 -!- Sgeo has quit (Ping timeout: 244 seconds).
07:41:18 -!- skizzy has quit (Ping timeout: 264 seconds).
07:42:00 -!- Sgeo has joined.
07:45:08 <oerjan> also, that bear's earrings seem a bit on and off
07:46:34 -!- skizzy2 has quit (Ping timeout: 250 seconds).
07:55:24 -!- skizzy has joined.
08:09:45 -!- skizzy has quit (Remote host closed the connection).
08:10:10 -!- skizzy has joined.
08:11:27 -!- skizzy has quit (Client Quit).
08:43:22 -!- ATMunn has quit (Quit: lol rip).
08:43:36 -!- ATMunn has joined.
09:05:03 -!- imode has quit (Ping timeout: 245 seconds).
09:34:12 -!- AnotherTest has quit (Ping timeout: 268 seconds).
09:53:15 <int-e> oerjan: the discoloring effect on the eyes is kind of impressive :P
09:53:33 <int-e> (andthe teeth as well)
09:58:14 <oerjan> of course there's a trope for it https://tvtropes.org/pmwiki/pmwiki.php/Main/LatexPerfection
09:58:36 <oerjan> (warning: tvtropes will ruin your life hth)
10:29:01 -!- AnotherTest has joined.
10:54:44 -!- moei has joined.
10:59:56 -!- oerjan has quit (Quit: leaving).
11:06:30 -!- ATMunn has quit (Read error: Connection reset by peer).
11:06:51 -!- ATMunn has joined.
11:30:27 -!- ATMunn has quit (Quit: lol rip).
11:30:45 -!- ATMunn has joined.
11:44:36 <int-e> @tell oerjan https://xkcd.com/609/ hth
11:44:36 <lambdabot> Consider it noted.
11:44:56 -!- olsner has quit (Ping timeout: 268 seconds).
12:01:46 -!- olsner has joined.
12:10:19 -!- olsner has quit (Ping timeout: 246 seconds).
12:14:33 -!- olsner has joined.
12:41:52 -!- xkapastel has joined.
12:58:50 -!- AnotherTest has quit (Ping timeout: 276 seconds).
13:31:15 -!- Essadon has joined.
13:31:43 -!- Essadon has quit (Max SendQ exceeded).
13:32:10 -!- Essadon has joined.
13:40:33 -!- arseniiv has joined.
14:22:12 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
14:23:27 -!- Lord_of_Life has joined.
14:23:27 -!- Lord_of_Life has quit (Changing host).
14:23:27 -!- Lord_of_Life has joined.
14:41:00 -!- arseniiv has quit (Ping timeout: 252 seconds).
14:46:54 -!- arseniiv has joined.
15:12:27 -!- AnotherTest has joined.
15:30:13 -!- atslash has quit (Quit: This computer has gone to sleep).
17:00:11 -!- AnotherTest has quit (Ping timeout: 252 seconds).
17:05:27 -!- hakatashi has quit (Remote host closed the connection).
17:05:27 -!- hakatashi has joined.
17:18:33 -!- sleepnap has joined.
17:35:10 -!- newbie has joined.
17:38:33 -!- Essadon has quit (Ping timeout: 252 seconds).
18:06:05 -!- AnotherTest has joined.
18:10:14 -!- Sgeo_ has joined.
18:12:18 -!- Sgeo has quit (Ping timeout: 250 seconds).
18:21:14 <oren> Lol Briton longbow spam is apparently, in 2017, still as impossible to counter as it was when I was like 12
18:21:18 <oren> https://www.reddit.com/r/aoe2/comments/7541iv/noob_question_countering_late_game_mass_longbows/do395ge
18:45:59 -!- atslash has joined.
18:50:30 -!- Phantom_Hoover has joined.
19:00:35 -!- sleepnap has quit (Quit: Leaving.).
19:39:46 -!- newbie has quit (Ping timeout: 268 seconds).
19:40:51 -!- newbie has joined.
19:44:56 -!- newbie has quit (Client Quit).
20:00:50 -!- imode has joined.
20:43:56 -!- b_jonas has joined.
20:52:04 -!- Bowserinator has quit (Changing host).
20:52:04 -!- Bowserinator has joined.
20:55:08 -!- moony has quit (Changing host).
20:55:08 -!- moony has joined.
21:21:58 <b_jonas> `ehlist http://eheroes.smackjeeves.com/comics/2699873/nothing-out-of-the-ordinary/
21:21:59 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ehlist: not found
22:26:06 <esowiki> [[An Odd Rewriting System]] https://esolangs.org/w/index.php?diff=58479&oldid=58401 * Ais523 * (+709) implemented; example
22:32:48 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
22:50:03 -!- Phantom_Hoover has joined.
23:46:11 -!- b_jonas has quit (Quit: leaving).
23:47:18 -!- AnotherTest has quit (Ping timeout: 264 seconds).
2018-11-24
01:05:36 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:40:35 -!- hexfive has joined.
02:20:50 -!- Lord_of_Life_ has joined.
02:23:04 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
02:23:04 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:23:05 -!- Lord_of_Life has quit (Changing host).
02:23:05 -!- Lord_of_Life has joined.
03:11:34 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:37:03 -!- arseniiv has quit (Ping timeout: 252 seconds).
04:41:21 <zzo38> Once I finished to write my Netsubscribe implementation, would you use it too? I will also run the server once I do; even if you do not run your own server too, you can still read messages, just not post or subscribe. (You can also write your own implementation if you do not want to use mine; as long as it follows the protocol it will be OK.)
04:47:47 <zzo38> So far, protocol requests , v l r # q ? . are implemented, and subcommands "analyze", "checkpoint", "hostname", "init", "vacuum", and "version" are implemented (these subcommands are used at the command-line and are not part of the protocol).
04:49:44 <zzo38> Subcommands not yet implemented are "list", "note", "reply", "reverse", "subscribe", "tag", "unsubscribe". Does this design looks like OK so far at least? The program is setuid and setgid (but not to root), and the file /etc/netsubscribe.conf is for the configuration by the system administrator; there is also ~/.netsubscrc which is used for user configuration.
07:10:28 -!- atslash has quit (Quit: This computer has gone to sleep).
07:12:50 -!- oerjan has joined.
07:34:49 -!- hexfive has quit (Quit: WeeChat 2.2).
08:31:21 <zzo38> I wrote about "edifloat" format, which is 40-bits, which has a unsigned 34-bit integer part, a sign bit, and 5-bits for where the dot is; 0-29 positions from the right, or 31 means there isn't any. If it is 30 then the integer part is divided by zero.
09:24:02 -!- imode has quit (Ping timeout: 250 seconds).
09:29:46 -!- oerjan has quit (Quit: Later).
10:00:36 -!- xkapastel has joined.
10:55:35 -!- AnotherTest has joined.
11:50:32 -!- b_jonas has joined.
11:55:02 -!- Phantom_Hoover has joined.
12:00:12 <esowiki> [[2C]] N https://esolangs.org/w/index.php?oldid=58480 * Ais523 * (+10874) new language; I basically just wrote this one because I needed it to prove AORS Turing-complete, but it might potentially be useful in other contexts too?
12:00:34 <esowiki> [[2C]] M https://esolangs.org/w/index.php?diff=58481&oldid=58480 * Ais523 * (+17) /* See also */ year
12:01:07 -!- ski has joined.
12:01:29 <esowiki> [[01-2C]] N https://esolangs.org/w/index.php?oldid=58482 * Ais523 * (+22) section redirect
12:22:13 <esowiki> [[An Odd Rewriting System]] https://esolangs.org/w/index.php?diff=58483&oldid=58479 * Ais523 * (+14078) /* Computational class */ TCness proof
12:22:57 <esowiki> [[An Odd Rewriting System]] M https://esolangs.org/w/index.php?diff=58484&oldid=58483 * Ais523 * (-12) TC category
12:26:21 <esowiki> [[An Odd Rewriting System]] M https://esolangs.org/w/index.php?diff=58485&oldid=58484 * Ais523 * (-1) /* Example */ whitespace fix
12:28:25 -!- ais523 has joined.
12:28:43 <ais523> does anyone have opinions on the relative sort order of hyphens and underscores?
12:29:00 <ais523> oerjan gets mad at people when they mis-sort the language list
12:29:13 <ais523> and I need to add 01-2C before or after 01_
12:41:38 -!- Essadon has joined.
12:42:22 -!- ais523 has quit (Remote host closed the connection).
12:43:37 -!- ais523 has joined.
13:03:22 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58486&oldid=58451 * Ais523 * (+21) /* Non-alphabetic */ +[[01-2C]], [[2C]]; oerjan, do you have any opinions on the relative ordering of hyphens versus underscores?
13:03:49 <esowiki> [[User:Ais523]] https://esolangs.org/w/index.php?diff=58487&oldid=58400 * Ais523 * (+8) +[[2C]]
14:08:20 -!- zemhill_____ has joined.
14:10:11 -!- zemhill____ has quit (Remote host closed the connection).
14:21:17 -!- Lord_of_Life_ has joined.
14:23:18 -!- arseniiv has joined.
14:23:34 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
14:23:34 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
14:23:35 -!- Lord_of_Life has quit (Changing host).
14:23:35 -!- Lord_of_Life has joined.
14:54:57 <ais523> zemhill_____: you seem to have developed an underscore addiction
14:56:36 <esowiki> [[2C]] M https://esolangs.org/w/index.php?diff=58488&oldid=58481 * Ais523 * (-7) /* 01-2C */ use correct tag to format the name of the language
15:15:17 <int-e> ais523: maybe it's a hangman game
15:17:54 <ais523> hmm, maybe I should implement and write in more of my esolangs
15:18:13 <ais523> it's so satisfying seeing the interpreter output lines line «CCccCCccCCccCCccwwwgṗēṙṗṖeṘṙṗṖṗṖeṘṙṘṙṗṖṗṖṗṖṗṖeṘṙṘṙṘṙṘṙboootdsssx»
15:40:51 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
16:10:39 <paul2520> love it ais523
16:14:34 -!- Phantom_Hoover has joined.
16:15:12 <b_jonas> ais523: uh, are those characters from the Jelly characterset?
16:15:31 <ais523> no, ē isn't in Jelly's character set
16:15:52 <ais523> they aren't commands, just arbitrary tokens; using Unicode made it a bit more readable because I could use consistent rules for what accents meant what
16:18:19 <b_jonas> I see
16:20:50 <ais523> (also, a real Jelly program would be unlikely to ever be that repetitive)
16:20:54 <b_jonas> hyphens are before underscores I think. I mean, that's how ascii works
16:22:17 <ais523> yes but alphabetisation isn't asciibetisation
16:22:34 <ais523> I decided that space and hyphen were probably equal in terms of sort order
16:22:35 <b_jonas> ais523: sure, it's not a Jelly , you said it was output. but another esolang could use the same set of characters, so that you don't need to make so many different custom teyetype balls
16:22:43 <ais523> err, underscore and hyphen
16:25:41 <b_jonas> I recall when printed phonebooks explained their custom alphabetization rules (mostly needed for business names) in the preface
16:26:11 <b_jonas> including how they sort people with identical names
16:27:49 <b_jonas> since, you know, they have a column of people called Kiss József or something, and you want to quickly find the right one by address
16:37:24 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
17:21:04 -!- tromp has quit (Ping timeout: 272 seconds).
17:34:07 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
17:39:45 -!- Lord_of_Life has joined.
17:39:45 -!- Lord_of_Life has quit (Changing host).
17:39:45 -!- Lord_of_Life has joined.
17:47:08 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
17:49:22 -!- oerjan has joined.
18:22:38 -!- imode has joined.
18:33:38 -!- tromp has joined.
18:35:00 -!- atslash has joined.
18:45:32 -!- Lord_of_Life has joined.
18:45:35 -!- Lord_of_Life has quit (Changing host).
18:45:35 -!- Lord_of_Life has joined.
19:15:03 <oerjan> `icode Ⅎ
19:15:06 <HackEso> ​[U+2132 TURNED CAPITAL F]
19:15:24 <oerjan> `icode Ю
19:15:25 <HackEso> ​[U+042E CYRILLIC CAPITAL LETTER YU]
19:15:41 <oerjan> `icode 开
19:15:41 <HackEso> ​[U+5F00 CJK UNIFIED IDEOGRAPH-5F00]
19:16:12 <oerjan> @messages-cloudy
19:16:12 <lambdabot> int-e said 1d 7h 31m 35s ago: https://xkcd.com/609/ hth
19:16:17 <oerjan> oh
19:21:50 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=58489&oldid=58486 * Oerjan * (+1) Ginorst eimt
19:22:49 <oerjan> ais523: i usually fall back to unicode order for non-alphanumeric stuff
19:23:38 <ais523> at least you sorted some other answers at the same time
19:23:51 <oerjan> so many in such a short time
19:23:56 <ais523> Unicode order seems weird when it comes to things like letter/space mixes
19:24:11 <ais523> and digit-hyphen-underscore mixes didn't seem substantially different
19:24:11 <oerjan> i also sort 1337 as leet, sometimes
19:24:29 <ais523> it's not like I wrote a language called ē or anything like thaht
19:25:07 <oerjan> ais523: it's in the non-alphabetic section, where i usually count punctuation more than in the others
19:25:34 <ais523> well, it starts with a digit
19:25:51 <ais523> hmm, how would you categorise a language with a name like æ or ø?
19:25:58 <oerjan> i knew i shouldn't have said alphanumeric
19:26:01 <ais523> i.e. alphabetic, just not in the /English/ alphabet
19:26:26 <oerjan> ais523: shhh don't give people ideas
19:26:40 <oerjan> (i know the system _will_ break some day)
19:27:02 <ais523> I've had ideas purely designed to troll your sorting tendencies, but so far have not had a good opportunity to use them
19:27:11 <oerjan> darn
19:27:23 <int-e> `grwp proper
19:27:24 <ais523> would have to be a rottytooth-style language, I think
19:27:25 <HackEso> cdop:CDOP is OCPD, except with the letters in the *proper* order. \ fueue:Fueue will be explained more properly once we've made another pass through all the other tanebventions. \ group:Groups are just loops with the property of associativity. \ halfling:Halflings are genericized hobbits for intellectual property reasons. \ hammurabi:From Hammurabi's law: If anyone creates a webpage that unexpectedly starts playing sounds, he shall be put to death. http://
19:27:27 * oerjan will sing the doom song now
19:27:41 <int-e> `grwp proper\ order
19:27:41 <HackEso> No output.
19:27:43 <ais523> and there's a limit to how much of that you want in your wiki
19:27:45 <int-e> `grwp proper order
19:27:46 <HackEso> No output.
19:27:50 <int-e> mm
19:28:10 <int-e> `? cdop
19:28:11 <HackEso> CDOP is OCPD, except with the letters in the *proper* order.
19:28:13 <int-e> ah
19:28:17 <ais523> I mean, not rottytooth-style languages specifically, but things that are there specifically to make life difficult for wiki admins
19:28:25 <int-e> I forgot about the emphasis.
19:28:30 <ais523> like the languages named after spam pages and {{Programming Language}}
19:30:53 <ais523> I should go get food, anyway
19:31:00 <ais523> at least I actually got some esolanging done over the last few days…
19:31:03 -!- ais523 has quit (Quit: food).
19:32:16 <oerjan> i'm not sure how spam page names make things difficult...
19:32:43 <esowiki> [[2C]] M https://esolangs.org/w/index.php?diff=58490&oldid=58488 * Ais523 * (+1) /* Semantics */ fix mismatched paren
19:32:45 <oerjan> Programming Language will be easier now i templatized it.
19:33:16 <esowiki> [[2C]] M https://esolangs.org/w/index.php?diff=58491&oldid=58490 * Ais523 * (-5) /* Limited alphabet */ rm stray word
19:33:57 <oerjan> and if people try to mess that up, i can just revert them on wikipedia :P
19:34:35 <oerjan> unless they're clever enough to make it look like an improvement
19:35:04 <b_jonas> ais523: an esolang whose name starts with a non-scii alphabetic character? https://esolangs.org/wiki/%D0%AE%E1%93%82%EA%B3%A7%E2%8E%94
19:38:51 <b_jonas> ais523: hmm. https://esolangs.org/wiki/User:Ais523 says "I'm typically the most active of Esolang's admins" and I don't think that's true anymore
19:39:25 <oerjan> b_jonas: there are some in greek already
19:39:26 <b_jonas> or... maybe it's true, if you count the wiki itself, not irc
19:39:39 <oerjan> maybe that's what you linked
19:40:24 <b_jonas> oerjan: no. https://esolangs.org/wiki/%D0%AE%E1%93%82%EA%B3%A7%E2%8E%94 is a language that was named in 2004, and it wasn't specifically named for annoying wiki admins, though the name is deliberately strange
19:40:52 <b_jonas> oerjan: was the esolangs wiki started in 2005?
19:41:02 <oerjan> oh right it's cyrillic
19:41:34 <oerjan> well i've sorted that according to unicode, and there are no others in the same alphabet to confuse matters.
19:41:50 <oerjan> b_jonas: i think so
19:43:13 <b_jonas> ok, then it's practically proven that it wasn't named to annoy esolang wiki admins
19:46:02 <b_jonas> but it's harder to prove that https://esolangs.org/wiki/(0) wasn't named for such a reason
19:47:08 <b_jonas> oh, that reminds me,
19:47:19 <b_jonas> it seems I haven't finished the edits on the articles for the Amicus language family
19:48:54 <esowiki> [[Special:Log/move]] move_redir * B jonas * moved [[Hyperamycus]] to [[Hyperamicus]] over redirect: the article was morphed to talk about the intended language, not the mangled version
19:48:54 <esowiki> [[Special:Log/delete]] delete_redir * B jonas * B jonas deleted redirect [[Hyperamicus]] by overwriting: Deleted to make way for move from "[[Hyperamycus]]"
19:49:27 <esowiki> [[Hyperamicus]] https://esolangs.org/w/index.php?diff=58494&oldid=58492 * B jonas * (+0)
19:50:07 <oerjan> hm, mezzacotta comic isn't loading.
19:51:07 <esowiki> [[Amycus]] https://esolangs.org/w/index.php?diff=58495&oldid=57661 * B jonas * (+7)
19:51:18 <oerjan> ah there
19:51:35 <b_jonas> which one? none of them
19:51:38 <b_jonas> ?
19:51:48 <oerjan> the latest, on the front page
19:51:52 <oerjan> it loaded eventually
19:52:06 <oerjan> i wonder if i'm the only one to look at it, so it's not cached yet
19:52:28 <oerjan> although i was there earlier today, so...
19:52:56 <esowiki> [[Amicus]] https://esolangs.org/w/index.php?diff=58496&oldid=57640 * B jonas * (-46) /* A more formal definition */
19:52:59 <oerjan> i'm used to it not loading early
19:53:55 <oerjan> perhaps it tends to time out until someone succeeds at loading it, and then it loads fast from cache later
19:54:54 <esowiki> [[User:B jonas]] https://esolangs.org/w/index.php?diff=58497&oldid=54928 * B jonas * (-50)
19:56:50 <oerjan> not very coherent today, although it reminds me of the end of the Anglophysics sf story i read
19:58:03 <oerjan> fungot`: do you read mezzacotta? also what's with the backquote?
19:58:03 <fungot`> oerjan: imho the chicken scheme libraries with proper dependencies and ease of use
20:09:50 <esowiki> [[Amicus]] https://esolangs.org/w/index.php?diff=58498&oldid=58496 * B jonas * (-3) /* Interpreter */
20:11:15 <esowiki> [[Amicus]] https://esolangs.org/w/index.php?diff=58499&oldid=58498 * B jonas * (-32) /* Amycus */
20:24:08 -!- Phantom_Hoover has joined.
20:26:55 <b_jonas> What I should figure out is if https://esolangs.org/wiki/Amycus#Abstraction_elimination_from_the_inside applies in some form to Amicus, but I'm too tired to do that now. TODO self.
20:30:25 <b_jonas> And some of https://esolangs.org/wiki/Amycus#Restricted_variants is probably nonsense, I have to check that.
20:40:51 -!- oerjan has quit (Quit: Nite).
20:59:09 -!- imode has quit (Quit: WeeChat 2.3).
21:40:37 -!- atslash has quit (Quit: This computer has gone to sleep).
21:56:25 -!- ais523 has joined.
22:03:12 <zzo38> It is going to be more difficult if some names start with homoglyphs, with private characters, or with non-Unicode characters.
22:03:58 <zzo38> (not necessarily starting with, but anywhere in the name where the sorting is relevant)
22:04:25 <ais523> I'm interested in making a decision problem variant of the discrete logarithm problem
22:04:29 <ais523> whilst keeping it computationally hard
22:05:04 <ais523> what sort of decisions would work? for example, is "the discrete logarithm of x mod p even" a computationally hard problem? does it depend on the values of x and p?
22:06:17 <ais523> or even simpler, "is there a discrete logarithm of x mod p?"
22:06:35 <ais523> wait, there are three variables
22:06:45 <ais523> "is there a discrete logarithm of x mod p to base b?"
22:14:25 <ais523> apparently "is the discrete logarithm of x mod p to base b less than some value v" is considered computationally hard, that could work
22:17:13 -!- mroman has joined.
22:17:20 <mroman> ahoi mates
22:17:55 <mroman> I should hire somebody through these crowdjobplattforms to document Burlesque for me :D
22:18:51 <mroman> the only problem is... there's no way I could verify that somebody did a good job
22:43:29 -!- ais523 has quit (Remote host closed the connection).
22:44:42 -!- ais523 has joined.
23:04:40 -!- ais523 has quit (Quit: quit).
23:22:07 -!- mroman has quit (Ping timeout: 256 seconds).
23:24:18 -!- imode has joined.
23:34:01 -!- imode has quit (Ping timeout: 268 seconds).
23:53:00 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:58:48 -!- Cale has joined.
2018-11-25
00:29:51 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:36:15 -!- imode has joined.
01:12:30 -!- Sgeo has joined.
01:15:46 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
01:18:56 -!- imode has quit (Quit: WeeChat 2.3).
01:23:31 <zzo38> How in C do I make a DNS lookup in order to compare the result with the result if a inet_aton() call?
01:23:41 <zzo38> s/result if a/result of a/
02:09:40 -!- Essadon has quit (Quit: Qutting).
02:09:57 -!- arseniiv has quit (Ping timeout: 252 seconds).
02:33:28 -!- b_jonas has quit (Quit: Lost terminal).
03:32:17 <pikhq> zzo38: Wouldn't you use gethostbyaddr?
03:32:49 <pikhq> Or, really, to be reasonably modern and not-obsolescent, getaddrinfo
03:33:54 <zzo38> I am not trying to perform a reverse DNS lookup (since the reverse DNS might not match the name that the server wants to use anyways)
03:35:23 <pikhq> Yeah, sorry, gethostbyname, but getaddrinfo
03:35:39 <zzo38> Also the type does not seem to match?
03:37:23 <pikhq> The struct sockaddr type is a generic type -- you're intended to look at ai_family to know which type to cast the pointer to.
03:38:46 <zzo38> If it is compared the length sizeof(struct in_addr) will that work then?
03:38:51 <pikhq> No.
03:39:38 <pikhq> struct sockaddr_in, the type for an IPv4 address-and-port, contains a struct in_addr.
03:39:50 <pikhq> https://beej.us/guide/bgnet/html/multi/sockaddr_inman.html is a halfway decent explanation
03:40:10 <zzo38> O, OK.
03:41:24 <zzo38> Currently this program is only IPv4, although later I can fix it so that if the REMOTE_HOST environment variable specifies a IPv6 address then the DNS lookup will use IPv6 instead.
03:41:38 -!- lifthrasiir has quit (Remote host closed the connection).
03:42:47 <pikhq> You'd probably have an easier time just trying to rewrite it to work entirely with getaddrinfo, since getaddrinfo handles it a bit more comprehensively and correctly than you're likely to yourself.
03:42:55 -!- lifthrasiir has joined.
03:44:37 <zzo38> OK, but can the address be compared properly by use of getaddrinfo? The address to compare it to is the contents of the REMOTE_HOST environment variable (set by xinetd, and contains a numeric dotted quad address)
03:46:12 <pikhq> Well, you can get the struct in_addr or struct in6_addr out of the getaddrinfo results just fine.
03:47:39 <zzo38> Yes, and then can do the comparison with that, will work I suppose, since it is only the IP address which needs to be compared.
03:50:07 <zzo38> Also getaddrinfo can return multiple addresses, and won't that waste memory?
03:50:28 <pikhq> It does briefly -- this is why freeaddrinfo exists.
03:50:48 <pikhq> freeaddrinfo will free *all* of the allocated memory.
03:51:50 <zzo38> What is the limit to how much memory it can use?
03:58:02 <pikhq> The API as stated does not impose any real limits. However, because it makes a DNS query over UDP in practice, that imposes a limit of at most 48 struct addrinfos being allocated.
03:58:34 <pikhq> (and the actual memory usage is a function of the number of A and AAAA records for the queried host)
04:05:27 -!- Sgeo has quit (Read error: Connection reset by peer).
04:09:25 -!- Sgeo has joined.
04:15:37 <zzo38> It seem it can be a problem if it can be caused to waste too much memory
04:21:33 <zzo38> I found a report of a security problem with these DNS resolving functions, although it seems to be applicable only to AAAA records. I do not have IPv6, so presumably it is OK
05:03:46 -!- imode has joined.
05:46:43 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
05:49:21 -!- Lord_of_Life has joined.
05:49:21 -!- Lord_of_Life has quit (Changing host).
05:49:21 -!- Lord_of_Life has joined.
06:29:39 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:37:29 <zzo38> OK I think I implemented it now (with getaddrinfo), now I can try to test
06:41:58 <zzo38> Yes, it look like it is work
07:21:18 -!- atslash has joined.
07:45:03 -!- imode has quit (Ping timeout: 245 seconds).
08:18:42 -!- oerjan has joined.
09:22:42 -!- hexfive has joined.
10:57:55 -!- oerjan has quit (Quit: Later).
11:11:53 -!- AnotherTest has joined.
12:02:27 -!- Melvar has quit (Ping timeout: 240 seconds).
12:15:10 -!- Melvar has joined.
12:27:55 <esowiki> [[Alchemist]] N https://esolangs.org/w/index.php?oldid=58500 * BMO * (+3626) Created page with "{{infobox proglang |name=6 |paradigms=[[:Category:Nondeterministic|non-deterministic]] |author=[https://esolangs.org/wiki/User:BMO BMO] |year=[[:Category:2018|2018]] |typesy..."
12:32:38 <esowiki> [[User:BMO]] https://esolangs.org/w/index.php?diff=58501&oldid=57097 * BMO * (+141)
13:04:18 <esowiki> [[Alchemist]] https://esolangs.org/w/index.php?diff=58502&oldid=58500 * BMO * (+298)
13:08:14 -!- Phantom_Hoover has joined.
13:09:16 -!- paul2520 has quit (Ping timeout: 246 seconds).
13:10:18 -!- paul2520 has joined.
13:24:30 -!- paul2520 has quit (Ping timeout: 250 seconds).
13:46:37 -!- xkapastel has joined.
13:51:22 -!- paul2520 has joined.
13:51:22 -!- paul2520 has quit (Changing host).
13:51:22 -!- paul2520 has joined.
13:53:43 -!- Essadon has joined.
14:13:45 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
14:16:25 -!- hexfive has quit (Quit: WeeChat 2.2).
14:16:53 -!- Phantom_Hoover has joined.
15:14:01 -!- arseniiv has joined.
15:20:51 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
15:40:45 <esowiki> [[Alchemist]] https://esolangs.org/w/index.php?diff=58503&oldid=58502 * BMO * (+6)
15:55:12 -!- Phantom_Hoover has joined.
16:58:47 -!- Sgeo has quit (Ping timeout: 240 seconds).
17:00:35 -!- Sgeo has joined.
17:39:39 -!- b_jonas has joined.
17:40:04 <b_jonas> zzo38: I may be misunderstanding this, but I think getaddrinfo allocates a linked list, and you can use freeaddrinfo to free any tail of that list
17:40:55 -!- imode has joined.
17:43:54 <b_jonas> zzo38: but sure, there are other DNS query libraries out there if that's what you want
17:44:00 <b_jonas> ones that behave very different from libc
17:46:02 -!- Lord_of_Life_ has joined.
17:49:46 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
17:49:47 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:49:47 -!- Lord_of_Life has quit (Changing host).
17:49:47 -!- Lord_of_Life has joined.
18:05:24 -!- AnotherTest has quit (Ping timeout: 252 seconds).
19:03:57 -!- imode has quit (Quit: WeeChat 2.3).
19:08:51 <paul2520> @search jokes
19:08:51 <lambdabot> Unknown command, try @list
19:09:03 <paul2520> oops, wrong channel!
19:27:56 -!- imode has joined.
19:45:58 <zzo38> b_jonas: I am implementing the Netsubscribe program, and I have implemented the DNS verification that works (it frees the entire list after checking though, since only the first entry is used; the address from it is copied out anyways)
20:03:53 -!- imode has quit (Quit: WeeChat 2.3).
20:26:15 -!- imode has joined.
21:16:59 -!- AnotherTest has joined.
21:26:49 -!- imode has quit (Quit: WeeChat 2.3).
22:05:48 -!- moei has quit (Quit: Leaving...).
22:14:21 -!- Sgeo_ has joined.
22:16:27 -!- Sgeo has quit (Ping timeout: 240 seconds).
22:31:06 -!- AnotherTest has quit (Ping timeout: 260 seconds).
22:50:54 <b_jonas> `"
22:50:55 <HackEso> 872) <fizzie> GreyKnight: And Gregor itself is kind of a probability distribution spread all over the globe. \ 1248) <olsner> I've heard that scow is oerjanspeak for something
22:51:00 <b_jonas> `wisdom
22:51:01 <HackEso> norway//Norway is the suburb capital of Sweden. It's where the Nobel Peace Prize is announced. It's a warm, dry place, at least compared to Québec.
22:51:11 <b_jonas> `wisdom
22:51:12 <HackEso> ronald reagan//Ronald Reagan was an actor so great that he managed to convince the US that he was the President. Then he created the Star Wars project to destroy the Soviet Union.
22:55:46 <shachaf> `? star wars
22:55:47 <HackEso> Star Wars was a missile defence system invented by Ronald Reagan. With it, he managed to destroy the Soviet Union, then rode into the sunset.
23:26:24 -!- Essadon has quit (Quit: Qutting).
2018-11-26
00:00:23 -!- copumpkin[m] has quit (Remote host closed the connection).
00:00:36 -!- siraben has quit (Write error: Connection reset by peer).
00:00:36 -!- danieljabailey has quit (Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in).
00:00:56 -!- danieljabailey has joined.
00:07:59 -!- copumpkin[m] has joined.
00:13:34 -!- atslash has quit (Quit: This computer has gone to sleep).
00:15:47 -!- MDude has quit (Ping timeout: 240 seconds).
00:17:35 -!- MDude has joined.
00:19:28 -!- siraben has joined.
00:19:54 -!- imode has joined.
00:58:47 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:03:45 -!- b_jonas has quit (Quit: leaving).
01:34:44 <shachaf> `? van doom
01:34:45 <HackEso> van doom? ¯\(°​_o)/¯
02:20:23 -!- atslash has joined.
02:29:21 -!- atslash has quit (Quit: This computer has gone to sleep).
02:56:16 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:07:19 -!- atslash has joined.
03:14:00 -!- hakatashi has quit (Remote host closed the connection).
03:22:46 -!- atslash has quit (Quit: This computer has gone to sleep).
04:34:04 -!- atslash has joined.
04:36:56 -!- oerjan has joined.
04:39:47 -!- atslash has quit (Quit: Leaving).
05:43:37 -!- MACUMBA has joined.
05:47:04 -!- hexfive has joined.
05:48:48 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
05:50:20 -!- Lord_of_Life has joined.
05:50:20 -!- Lord_of_Life has quit (Changing host).
05:50:20 -!- Lord_of_Life has joined.
05:56:08 <zzo38> O, in this mahjong game now I earned 68100 points so far (it is now the south 2 round) (usually I do not earn that much, but I got seven dora once; two red dora, four kan dora, and one ura dora)
06:14:52 <oerjan> ah, new bitcoin crash recently
06:21:27 <shachaf> Is that the new incarnation of Bitcoin Cash?
06:37:06 <oerjan> probably
06:52:09 <zzo38> Do you like mahjong game?
06:52:26 <shachaf> I like this.
06:52:30 <shachaf> Is this mahjong game?
06:53:19 <zzo38> Is which one the mahjong game?
07:11:15 -!- siraben has left ("Kicked by @appservice-irc:matrix.org : issued !quit command").
07:17:46 -!- arseniiv has quit (Ping timeout: 246 seconds).
07:20:36 -!- MDude has quit (Remote host closed the connection).
07:23:22 -!- siraben has joined.
08:01:19 -!- xkapastel has joined.
08:44:24 -!- imode has quit (Quit: WeeChat 2.3).
09:12:54 -!- EightRC has joined.
09:13:52 -!- EightRC has quit (Client Quit).
09:25:14 -!- copumpkin[m] has quit (*.net *.split).
09:25:14 -!- incomprehensibly has quit (*.net *.split).
09:25:16 -!- sparr has quit (*.net *.split).
09:25:36 -!- incomprehensibly has joined.
09:30:57 -!- copumpkin[m] has joined.
09:33:15 -!- sparr has joined.
09:38:50 <oerjan> `url (programming language)
09:38:51 <HackEso> https://hack.esolangs.org/repo/file/tip/%28programming%20language%29
09:44:50 <oerjan> asking HackEso seemed like the easiest way to get those parens escaped :)
09:45:38 <Taneb> Naturally
09:49:25 <oerjan> btw i was trying to link this on reddit: https://en.wikipedia.org/wiki/Draft:Train_(programming_language)
09:52:41 <Taneb> I hadn't heard of Train before
09:54:14 <oerjan> someone added it to wikipedia's esolang page recently, but failed to make an article
09:54:40 <oerjan> so people on reddit were having a bit trouble finding any actual website
09:55:49 <oerjan> (r/esolangs)
09:57:40 <FireFly> IIRC you can just escape the ) with a \ in reddit markdown links
09:58:01 <FireFly> or just use the [link label][1] and [1]: http://... format with the link verbatim
09:58:05 -!- AnotherTest has joined.
09:58:22 <FireFly> but urlencoding works too :p
09:58:23 <oerjan> oh is that why people use that
09:58:31 <FireFly> which bit?
09:58:37 <oerjan> [1]: ...
09:58:58 <FireFly> I mean I mainly use it because I find it easier to read and stuff, but yes
10:00:21 <oerjan> okay
10:06:48 <esowiki> [[Brainfoctal]] M https://esolangs.org/w/index.php?diff=58504&oldid=58440 * Salpynx * (+1) /* Example Hello World generation */
10:25:41 -!- oerjan has quit (Quit: Later).
10:51:52 -!- wob_jonas has joined.
10:51:56 <wob_jonas> When is the next olist?
11:09:32 -!- ski has quit (Ping timeout: 268 seconds).
11:09:57 -!- ski has joined.
12:13:08 -!- hexfive has quit (Quit: WeeChat 2.2).
13:06:33 -!- AnotherTest has quit (Ping timeout: 252 seconds).
13:10:05 -!- Essadon has joined.
13:10:29 -!- Essadon has quit (Max SendQ exceeded).
13:10:55 -!- Essadon has joined.
13:33:26 -!- AnotherTest has joined.
13:36:07 <int-e> @metar lowi
13:36:08 <lambdabot> LOWI 261320Z VRB01KT 9999 FEW030 SCT045 OVC060 05/M00 Q1004 NOSIG
13:36:50 <int-e> . o O ( `nolist )
13:41:24 -!- joast has quit (Quit: Leaving.).
13:42:46 -!- zzo38 has quit (Ping timeout: 246 seconds).
13:53:12 -!- joast has joined.
14:49:34 -!- sleepnap has joined.
15:16:47 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
15:20:15 -!- MDude has joined.
16:00:13 -!- moony2 has joined.
16:00:21 <moony2> Well that's suprising
16:00:31 <moony2> The MC88100 and RISC-V are stupidly similar
16:12:03 -!- arseniiv has joined.
16:37:58 -!- AnotherTest has quit (Ping timeout: 245 seconds).
16:39:01 -!- moony2 has quit (Ping timeout: 256 seconds).
16:49:21 -!- doesthiswork has joined.
17:07:28 -!- AnotherTest has joined.
17:11:09 -!- imode has joined.
17:19:12 -!- zzo38 has joined.
17:47:21 -!- Lord_of_Life_ has joined.
17:50:03 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
17:50:03 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:50:04 -!- Lord_of_Life has quit (Changing host).
17:50:04 -!- Lord_of_Life has joined.
17:52:50 -!- imode has quit (Ping timeout: 268 seconds).
17:54:41 -!- imode has joined.
17:58:24 -!- imode has quit (Client Quit).
18:16:36 -!- brandonson has quit (Read error: Connection reset by peer).
18:28:51 -!- Phantom_Hoover has joined.
18:29:16 -!- brandonson has joined.
18:30:12 -!- brandonson has quit (Read error: Connection reset by peer).
18:37:20 -!- imode has joined.
18:44:59 -!- Phantom__Hoover has joined.
18:45:46 -!- brandonson has joined.
18:46:46 -!- brandonson has quit (Read error: Connection reset by peer).
18:48:45 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
18:53:26 -!- brandonson has joined.
18:54:16 -!- brandonson has quit (Read error: Connection reset by peer).
19:00:13 -!- brandonson has joined.
19:01:25 -!- brandonson has quit (Read error: Connection reset by peer).
19:06:34 -!- brandonson has joined.
19:07:46 -!- brandonson has quit (Read error: Connection reset by peer).
19:13:47 -!- brandonson has joined.
19:15:59 -!- brandonson has quit (Read error: Connection reset by peer).
19:22:32 -!- brandonson has joined.
19:24:10 -!- brandonson has quit (Read error: Connection reset by peer).
19:30:30 -!- brandonson has joined.
19:30:41 -!- brandonson has quit (Read error: Connection reset by peer).
19:35:49 -!- brandonson has joined.
19:35:54 -!- brandonson has quit (Read error: Connection reset by peer).
19:41:09 -!- brandonson has joined.
19:42:22 -!- brandonson has quit (Read error: Connection reset by peer).
19:46:26 -!- sleepnap has quit (Quit: Leaving.).
19:46:28 -!- sleepnap1 has joined.
19:48:42 -!- brandonson has joined.
19:49:54 -!- brandonson has quit (Read error: Connection reset by peer).
19:54:12 -!- sleepnap1 has quit (Quit: Leaving.).
19:56:48 -!- brandonson has joined.
19:58:01 -!- brandonson has quit (Read error: Connection reset by peer).
20:03:29 -!- brandonson has joined.
20:04:14 -!- brandonson has quit (Read error: Connection reset by peer).
20:08:23 -!- arseniiv has quit (Ping timeout: 245 seconds).
20:10:32 -!- brandonson has joined.
20:11:39 -!- brandonson has quit (Read error: Connection reset by peer).
20:15:48 -!- brandonson has joined.
20:17:00 -!- brandonson has quit (Read error: Connection reset by peer).
20:22:08 -!- brandonson has joined.
20:22:13 -!- brandonson has quit (Read error: Connection reset by peer).
20:27:48 -!- brandonson has joined.
20:28:08 -!- brandonson has quit (Read error: Connection reset by peer).
20:34:30 -!- brandonson has joined.
20:35:01 -!- brandonson has quit (Read error: Connection reset by peer).
20:41:31 -!- brandonson has joined.
20:41:41 -!- brandonson has quit (Read error: Connection reset by peer).
20:47:28 -!- brandonson has joined.
20:48:41 -!- brandonson has quit (Read error: Connection reset by peer).
20:50:37 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:53:59 -!- brandonson has joined.
20:54:54 -!- brandonson has quit (Read error: Connection reset by peer).
20:55:51 <esowiki> [[Babylang]] https://esolangs.org/w/index.php?diff=58505&oldid=58008 * Rdebath * (+439) TBFS interpreter
21:01:23 <esowiki> [[TrivialBrainfuckSubstitution]] https://esolangs.org/w/index.php?diff=58506&oldid=46838 * Rdebath * (+228) Add some more trivial substitutions.
21:05:31 -!- brandonson has joined.
21:06:15 -!- brandonson has quit (Read error: Connection reset by peer).
21:09:04 -!- xkapastel has joined.
21:11:18 -!- imode has quit (Quit: WeeChat 2.3).
21:11:50 -!- brandonson has joined.
21:11:54 -!- brandonson has quit (Read error: Connection reset by peer).
21:17:55 -!- brandonson has joined.
21:19:06 -!- brandonson has quit (Read error: Connection reset by peer).
21:24:14 -!- brandonson has joined.
21:24:25 -!- brandonson has quit (Read error: Connection reset by peer).
21:30:36 -!- brandonson has joined.
21:32:49 -!- brandonson has quit (Read error: Connection reset by peer).
21:39:01 -!- brandonson has joined.
21:42:13 -!- brandonson has quit (Read error: Connection reset by peer).
21:47:34 -!- brandonson has joined.
21:48:46 -!- brandonson has quit (Read error: Connection reset by peer).
21:52:36 <shachaf> Sgeo_: please increase the pace of olist updates twh
21:54:01 -!- brandonson has joined.
21:56:13 -!- brandonson has quit (Read error: Connection reset by peer).
21:59:58 -!- brandonson has joined.
22:00:58 -!- brandonson has quit (Read error: Connection reset by peer).
22:06:30 -!- brandonson has joined.
22:08:43 -!- brandonson has quit (Read error: Connection reset by peer).
22:09:22 -!- zzo38 has quit (Ping timeout: 268 seconds).
22:11:30 -!- brandonson has joined.
22:11:30 -!- brandonson has quit (Read error: Connection reset by peer).
22:17:07 -!- brandonson has joined.
22:17:57 -!- brandonson has quit (Read error: Connection reset by peer).
22:18:27 <shachaf> `olist 1147
22:18:27 <HackEso> olist 1147: shachaf oerjan Sgeo FireFly boily nortti b_jonas
22:18:30 <shachaf> Sgeo_: that's more like it tdh
22:24:56 -!- brandonson has joined.
22:26:03 -!- brandonson has quit (Read error: Connection reset by peer).
22:32:18 -!- brandonson has joined.
22:33:30 -!- brandonson has quit (Read error: Connection reset by peer).
22:39:21 -!- brandonson has joined.
22:40:33 -!- brandonson has quit (Read error: Connection reset by peer).
22:40:54 -!- AnotherTest has quit (Ping timeout: 252 seconds).
22:45:41 -!- brandonson has joined.
22:45:53 -!- brandonson has quit (Read error: Connection reset by peer).
22:52:01 -!- brandonson has joined.
22:52:43 -!- brandonson has quit (Read error: Connection reset by peer).
22:58:21 -!- brandonson has joined.
22:58:52 -!- zzo38 has joined.
23:32:04 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
23:58:59 -!- Essadon has quit (Quit: Qutting).
2018-11-27
00:23:29 -!- imode has joined.
01:31:33 -!- zzo38_ has joined.
01:31:48 -!- zzo38 has quit (Disconnected by services).
01:31:50 -!- zzo38_ has changed nick to zzo38.
01:37:11 -!- zzo38 has quit (Ping timeout: 268 seconds).
01:50:43 -!- zzo38 has joined.
05:10:02 -!- doesthiswork has quit (Quit: Leaving.).
05:11:37 -!- doesthiswork has joined.
05:42:46 -!- arseniiv has joined.
05:49:07 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
05:51:13 -!- Lord_of_Life has joined.
05:51:13 -!- Lord_of_Life has quit (Changing host).
05:51:13 -!- Lord_of_Life has joined.
06:20:39 -!- sleffy has joined.
06:20:51 -!- sleffy has quit (Remote host closed the connection).
06:24:07 <zzo38> This is what someone else wrote about Sirlin's chess variant: "PS. Like most people, I consider the name Sirlin chose for his chess variant--Chess2, the Sequel--to be full of hubris. Probably part of the reason never caught on with chess fans....."
06:32:17 -!- sftp has quit (Excess Flood).
06:34:36 -!- sftp has joined.
07:40:35 -!- xkapastel has quit (Quit: Connection closed for inactivity).
08:39:48 -!- oerjan has joined.
08:40:56 -!- Vorpal has quit (Ping timeout: 260 seconds).
09:28:31 -!- AnotherTest has joined.
09:42:42 <zzo38> Two kind of restricted double move chess variant can be "get out of the way" and "get in the way".
09:43:31 <zzo38> If it is "get out of the way" then you can play X and then Y, but only if Y by itself is not valid. If it is "get in the way" then you can play X and then Y, but only if Y by itself is valid but Y followed by X isn't valid.
09:43:47 <zzo38> What will you think of this?
10:20:17 <arseniiv> oh hi!
10:21:10 <arseniiv> zzo38: I’ll quote these to my friend who’s interested in these kinds of chess AFAIR. Maybe he’ll say something
10:43:03 -!- heyoka has joined.
10:43:42 <oerjan> shachaf: hm if the outsiders' minds get wiped, does that include the three fiends? maybe _they_ don't know how bad the snarl is either...
10:44:45 -!- wob_jonas has joined.
10:45:11 * oerjan accidentally archive trawled to http://www.giantitp.com/comics/oots0668.html where he thought of this
10:45:24 <wob_jonas> zzo38: "get out of the way" still seems very powerful. you can usually move with the same piece twice in different directions.
10:46:05 <Taneb> wob_jonas: what about the additional restriction that X and Y move different pieces?
10:46:13 -!- heyoka has left.
10:46:55 <wob_jonas> Taneb: dunno
10:47:13 <Taneb> (I really haven't thought much about this, and I'm not that great at chess or chess variants)
10:50:07 -!- Vorpal has joined.
10:50:07 -!- Vorpal has quit (Changing host).
10:50:07 -!- Vorpal has joined.
11:22:27 -!- hakatashi has joined.
12:22:40 -!- oerjan has quit (Quit: Later).
12:42:56 -!- xkapastel has joined.
12:44:05 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
12:52:16 -!- tromp_ has joined.
12:52:17 -!- tromp has quit (Read error: Connection reset by peer).
13:08:25 -!- Sgeo_ has quit (Read error: Connection reset by peer).
13:08:28 -!- imode has quit (Ping timeout: 268 seconds).
13:08:50 -!- Sgeo_ has joined.
13:16:21 -!- sprocklem has quit (Ping timeout: 252 seconds).
13:18:37 -!- sprocklem has joined.
13:56:48 -!- tromp_ has quit (Remote host closed the connection).
13:57:28 -!- tromp has joined.
14:24:09 -!- Essadon has joined.
14:54:19 <esowiki> [[User:DMC]] M https://esolangs.org/w/index.php?diff=58507&oldid=57938 * DMC * (+85)
15:01:51 -!- AnotherTest has quit (Ping timeout: 268 seconds).
15:05:35 -!- tromp has quit (Remote host closed the connection).
15:05:48 -!- tromp has joined.
16:27:55 <zzo38> I failed to mention (but should have done) that you have to move two different pieces
16:28:15 <zzo38> (although it can be two different pieces of the same kind)
17:03:26 -!- moei has joined.
17:16:49 -!- AnotherTest has joined.
17:49:12 <oren> I invented a syntax where variables are marked for whether they are being read, written to, or both.
17:50:51 <oren> @z + $x $y; // read x, add y to it, then write to z
17:50:51 <lambdabot> Maybe you meant: v @ ? .
17:51:15 <oren> #x + $y; // add x to y and wrtie back into x
17:51:22 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
17:51:36 <shachaf> oren: hi
17:52:00 <shachaf> This is related to a some things I was talking about recently.
17:53:14 -!- Lord_of_Life has joined.
17:53:14 -!- Lord_of_Life has quit (Changing host).
17:53:14 -!- Lord_of_Life has joined.
17:54:36 <shachaf> Actually, I'm confused.
17:54:56 <shachaf> What delimits what's written to the variable?
17:55:03 <shachaf> What's #x + #x?
17:58:18 <oren> that would read x and add it to itself, writing back into x
18:04:02 <shachaf> Is it the same as #x + $x and $x + #x?
18:07:57 -!- Yurume_______ has quit (Ping timeout: 252 seconds).
18:53:51 -!- siraben has quit (Remote host closed the connection).
18:54:03 -!- copumpkin[m] has quit (Remote host closed the connection).
18:57:33 -!- arseniiv has quit (Ping timeout: 246 seconds).
19:05:28 <oren> shachaf: I guess I havent really thought into the effect of order in this
19:06:31 <shachaf> Is the delimiter a statement or what?
19:06:42 <shachaf> What's f(@x + 1)?
19:11:43 -!- copumpkin[m] has joined.
19:22:14 -!- siraben has joined.
19:26:36 -!- Phantom_Hoover has joined.
19:30:51 -!- Phantom__Hoover has joined.
19:32:29 -!- b_jonas has joined.
19:34:51 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
19:47:48 -!- imode has joined.
19:56:38 -!- copumpkin[m] has quit (Read error: Connection reset by peer).
19:56:52 -!- siraben has quit (Read error: Connection reset by peer).
20:00:53 -!- Vorpal has quit (Ping timeout: 246 seconds).
20:01:10 -!- Vorpal has joined.
20:01:10 -!- Vorpal has quit (Changing host).
20:01:10 -!- Vorpal has joined.
20:03:08 -!- copumpkin[m] has joined.
20:13:41 -!- siraben has joined.
20:25:29 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
20:29:24 -!- Phantom_Hoover has joined.
20:30:08 <oren> hmmm... so basically, my idea is that within a "phrase" the components are marked for their roles
20:30:45 -!- imode has quit (Quit: WeeChat 2.3).
20:31:26 <esowiki> [[TrivialBrainfuckSubstitution]] https://esolangs.org/w/index.php?diff=58508&oldid=58506 * Rdebath * (+813) Generic Interpreter Patterns
20:32:08 <oren> so maybe the order of the components then, no longer matters
20:35:55 <oren> or matters in a different way
20:37:57 <oren> #w $x / $y $z; // multiply w by x, and divide by y*z, then put the result into w
20:40:40 <oren> #x f #y $z; // f called with x, y, and z as arguments, with x and y being called by reference, and z being copied
20:42:04 <oren> (a)f(b,c); // a valid declaration of f
20:43:27 <shachaf> Hmm, maybe I can borrow some part of that for my language idea
20:43:39 <shachaf> Something like ". rw(x)` + 1" for "x += 1"?
20:43:56 <shachaf> . f(rw(x)`) // x = f(x)
20:44:08 <shachaf> . min(rw(x)`, y) // x = min(x, y)
20:45:28 <b_jonas> `bobadventureslist http://bobadventures.comicgenesis.com/d/20181127.html
20:45:29 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: bobadventureslist: not found
21:19:46 -!- ais523 has joined.
21:20:05 <ais523> thinking about it a bit more, "is there a discrete logarithm of x mod p to base b?" has to be computationally hard in the general case
21:20:23 <ais523> wait, no
21:20:47 <ais523> I was going to say "just square b" but of course that doesn't change the problem at all
21:21:32 <b_jonas> ais523: what are x, p, and b?
21:22:27 <b_jonas> I don't think that is computationally hard, but I'm not entirely sure
21:23:02 <b_jonas> hmm... it might actually be. you may need to factor an integer for that.
21:23:10 <b_jonas> I don't know really
21:23:13 <ais523> b_jonas: anything, the question is whether we can solve this for arbitrary x/p/b
21:23:28 <ais523> the original problem is "what is the discrete logarithm of x mod p to base b" with prime p
21:23:32 <b_jonas> ais523: but they're natural numbers?
21:23:34 <ais523> although I'm not attached to p being prime
21:23:39 <ais523> b_jonas: yes, natural numbers
21:23:50 <ais523> logarithms in modular arithmetic are weird
21:24:08 <ais523> e.g. 2**3 mod 5 is 3, so log_2(3) mod 5 is 3
21:24:30 <ais523> people use "discrete logarithm" for that so that it doesn't get confused with the more normal sort of logarithm
21:25:44 <ais523> this is related to the M:tG TCness proof, I'm trying to come up with a concrete program that can easily be written in The Waterfall Model and yet which is known to be beyond the world's ability to solve
21:26:42 <ais523> discrete logarithm is the underlying problem behind a decently large proportion of crypto, so if it were solvable in general the implications would be pretty far-reaching
21:27:01 <b_jonas> ais523: a single question, or can it be a uniform distribution of a few hundred questions, at least one of which is hard to solve?
21:27:03 <ais523> (err, solvable in practice, I mean; it's clearly solvable in theory due to the possibility of brute-forcing it)
21:27:19 <ais523> b_jonas: I would like to have a single, concrete question that is hard to solve, i.e. I know what the specific quesiton is
21:27:22 <b_jonas> or even half of them being hard to solve or something
21:27:33 <b_jonas> ais523: yeah, so you want specific numbers. that's harder.
21:28:35 <ais523> also this needs to be a decision problem, not a "return a number as the answer" problem, because you don't need to know what the resulting gamestate will be if you can predict who wins the game
21:28:39 <b_jonas> so you want a single question like the Goldbach conjecture or even the Riemann conjecture
21:29:32 <b_jonas> ais523: yeah, we don't allow side channel outputs from the match, such as ante or Double Cross
21:29:59 <ais523> you want this to be viable in a tournament, and the side-channels don't exist there
21:30:36 <ais523> Goldbach conjecture is possibly the easiest well-known unsolved problem to implement in The Waterfall Model, but the program would be unfortunately large, I think
21:30:44 <ais523> there are several nested loops and you need a prime generator
21:31:42 <ais523> interestingly, prime factorisation turns out to be strongly related to discrete square root (a fast solution to one would solve the other) but the decision versions of them work differently from the return-a-number versions
21:47:32 -!- AnotherTest has quit (Ping timeout: 250 seconds).
22:02:37 <b_jonas> ais523: yes, ante is not used anywhere, and Double Cross is not used in tournaments
22:03:49 <b_jonas> technically you could probably do a three-way output like win/draw/lose, but that doesn't help that much
22:04:57 <b_jonas> oh right, the other un side effects are tearing cards apart, and some physical dexterity feats
22:11:01 -!- AnotherTest has joined.
22:15:54 -!- moei has quit (Quit: Leaving...).
22:19:18 <ais523> physical dexterity isn't really a side effect, it doesn't have an effect beyond the game
22:19:25 <ais523> it's more like an input than an output
22:21:11 <b_jonas> ais523: it's mostly an input, yes, but it could have effects beyond the game I think
22:21:15 <b_jonas> that's rare, sure
22:22:07 <ais523> I don't think there are any effects that force physical dexterity behaviour from other people?
22:22:12 <ais523> just effects that give a consequence for it
22:22:21 <ais523> that's probably necessary to avoid forcing people into situations they're uncomfortable with
22:23:43 <b_jonas> ais523: there are if you use Mindslaver
22:23:51 <b_jonas> without that, there aren't
22:23:54 <b_jonas> well
22:23:59 <b_jonas> perhaps barely
22:24:42 <b_jonas> I guess Collector Protector is more similar to tearing up cards than the physical dexterity stuff
22:24:45 <ais523> actually, I suspect physical-dexterity, verbal-component, etc. cards are partial counters to Mindslaver
22:25:04 <ais523> in that if you don't perform the action, the Mindslaver likely can't make you do it
22:25:14 <ais523> perhaps the Mindslaver user could do the action themself, not sure on that
22:25:18 <ais523> I wonder if there's a ruling on the topic?
22:25:37 <b_jonas> I think there's an un-ruling
22:25:42 <b_jonas> on Mindslaver and singing the song
22:25:49 <b_jonas> it says that they aren't counter
22:26:10 <b_jonas> you can use Mindslaver to make the opponent perform certain physical feats, the ones that appear in an activation cost,
22:26:24 <b_jonas> although they can concede the game to avoid that
22:27:05 <b_jonas> and there are decks that try to tear up all the opponent's cards with Mindslaver and copy effects and some sort of loop
22:27:37 <b_jonas> that's actually an interesting strategy, since it likely wins you the whole match, not just the game
22:27:55 <b_jonas> hard to pull off of course
22:28:32 <ais523> you can't prevent the opponent conceding
22:28:55 <ais523> (there's a commonly-claimed combo that claims to prevent the opponent conceding but it's been ruled that it doesn't work, you can always concede regardless of what cards attempt to say)
22:28:55 <b_jonas> ais523: sure, and the opponent can concede in the match with the calculations too, even before the calculations finish
22:29:23 <ais523> b_jonas: my counter to that is to set up the situation so that the two possible outcomes are a loss for the opponent, or the draw
22:29:39 <ais523> the situation before the calculations start is strictly better for them than the situation they'll get after conceding
22:30:18 <b_jonas> sure
22:30:21 <ais523> although, of course, they might concede anyway, given that the deck is missing the usual kill card you could probably say "wait, I don't have the kill card in here, let me see if I can work something else out" to discourage the concession
22:30:33 <b_jonas> but tearing up cards is similar
22:30:41 <b_jonas> isn't it?
22:31:03 <b_jonas> not tearing up a card the opponent owns is a strictly better situation than tearing up a card they own
22:32:33 <b_jonas> and you can probably leak almost 60 bits by tearing up cards
22:33:38 <b_jonas> could be a few more if some cards are exiled or on the stack when you go off and you can't get them back, or if some cards are basic lands or other cards so cheap that nobody cares if they're torn up
22:33:38 <ais523> oh, I'm pretty sure you can't tear up cards in an automated way anyway
22:33:51 <ais523> like, it'd require one of the players to make a choice to do so
22:33:56 <b_jonas> ais523: you can, but again only in such a way that the opponent has an opportunity to concede
22:34:05 <ais523> I mean, not counting concessions
22:34:24 <b_jonas> well, there would be choices before they go off
22:34:32 <b_jonas> they might be playing a good deck and just win before you can do it
22:34:37 <ais523> `card-by-name drain power
22:34:37 <HackEso> Drain Power \ UU \ Sorcery \ Target player activates a mana ability of each land they control. Then that player loses all unspent mana and you add the mana lost this way. \ A-R, B-R, U-R, RV-R, 4E-R, 5E-R, ME4-R
22:34:42 <ais523> `card-by-name blacker lotus
22:34:43 <HackEso> Blacker Lotus \ 0 \ Artifact \ {T}: Tear Blacker Lotus into pieces. Add four mana of any one color. Remove the pieces from the game. \ UG-R
22:34:54 <b_jonas> that, plus Mindslaver and Cytoshape
22:34:58 <ais523> if you make a card into a copy of blacker lotus, then make it into a land
22:35:09 <b_jonas> why make it into a land?
22:35:21 <ais523> so that drain power works on it
22:35:23 <b_jonas> just make it a copy of Blacker Lotus or Chaos Confetti, and Mindslaver the oppoentn
22:35:35 <ais523> (you also need to give one player shroud so that there's no choice in drain power's targeting)
22:35:39 <b_jonas> oh, you mean Drain Power as an alternative to Mindslaver?
22:35:40 <b_jonas> interesting
22:35:43 <ais523> b_jonas: no, mindslaver means that you're making choices
22:35:56 <ais523> mindslaver is useless as the output from a TCness construction
22:35:57 <b_jonas> oh!
22:36:00 <ais523> because it just changes who makes the choices
22:36:06 <b_jonas> you mean choices in that way
22:36:10 <b_jonas> hmm, I'll have to think of that
22:36:33 <b_jonas> I thought you meant only the card's owner making choices
22:36:39 <b_jonas> sorry
22:36:45 <ais523> I do like that we've moved on from a combo that lets you rip up your opponent's cards to a combo that forces the opponent to conced unless they rip up their own cards, though
22:37:04 <b_jonas> the first one was never the case
22:38:02 <ais523> well, you could do it if your opponent didn't concede first (Blacker Lotus doesn't say "activate this ability only if you own this card")
22:38:18 <ais523> you just have to gain control of a cytoshaped blacker lotus and activate it
22:38:44 <b_jonas> there is a combo that lets the opponent rip the card or concede, and a bit bigger combo that lets the opponent choose whether you tear up their card or they concede (you have to give yourself control of a permanent the opponent owns for that)
22:39:04 <b_jonas> ais523: yes, that's how you do it without Mindslaver
22:39:50 <b_jonas> but firstly, Mindslaver is easier to pull off, because it counters some things the opponent could do, and people consider forcing the opponent to tear up their cards a better outcome than tearing the opponent's cards up themselves
22:40:23 <b_jonas> `card-by-name Mindslaver
22:40:23 <HackEso> Mindslaver \ 6 \ Legendary Artifact \ {4}, {T}, Sacrifice Mindslaver: You control target player during that player's next turn. (You see all cards that player could see and make all decisions for the player.) \ MRD-R, SOM-M
22:40:37 <b_jonas> also, I should continue processing that Oracle data I downloaded
22:40:43 <b_jonas> some day
22:40:44 <b_jonas> not today
22:42:00 <ais523> hmm, wasn't Mindslaver updated so that it couldn't see cards outside the game?
22:42:16 <b_jonas> ais523: yes, it was, for tournament reasons
22:42:35 <b_jonas> you can't look at the sideboard of the player you control (unless it's yourself)
22:42:40 <ais523> so the reminder text is a bit misleading, assuming it's still valid
22:42:46 <ais523> when was `card-by-name last updated anyway?
22:42:54 <ais523> `card-by-name conclave guildmage
22:42:55 <HackEso> No output.
22:42:57 <b_jonas> ais523: a year ago or something
22:43:01 <ais523> (^ from the most recent set)
22:43:05 <b_jonas> ais523: when Yawgatog stopped updating
22:43:10 <ais523> (assuming you don't count UMA)
22:43:16 <b_jonas> or maybe before that
22:44:11 <b_jonas> ``` /bin/ls -dl share/mtg/allsets.txt
22:44:12 <HackEso> lrwxrwxrwx 1 1000 1000 22 Oct 5 15:43 share/mtg/allsets.txt -> allsets-2018-05-21.txt
22:45:07 <b_jonas> oh look, Yawgatog now has an announcement that it won't update the oracle list anymore
22:45:37 <b_jonas> anyway, this means we'll have to work on our backup plan: I've already downloaded an Oracle snapshot, but haven't parsed most of the card data out from it yet;
22:46:00 <b_jonas> and I should eventually automate downloading the Scryfall database, which ideally won't be too hard because it has some kind of nice api
22:46:10 <b_jonas> donwload the text part of it that is, not all images
22:47:04 <b_jonas> magiccards.info has died, so Wizard's stupid website and Scryfall are the only card databases out there
22:47:10 <b_jonas> well, the only up to date ones
22:47:49 <b_jonas> and presumably I should make a version I can upload into HackEso too
22:52:23 -!- AnotherTest has quit (Ping timeout: 246 seconds).
22:53:53 <b_jonas> though on the other hand,
22:54:20 <b_jonas> `fetch http://media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt share/mtg/MagicCompRuels_20181005.txt
22:54:21 <HackEso> http:/media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt: No such file or directory
22:54:49 <b_jonas> `fetch share/mtg/MagicCompRules_20181005.txt http://media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt
22:54:50 <HackEso> 2018-11-27 22:54:49 URL:http://media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt [707789/707789] -> "share/mtg/MagicCompRules_20181005.txt" [1]
22:55:02 <b_jonas> `tr -d \\r < share/mtg/MagicCompRules_20181005.txt > share/mtg/rules.txt
22:55:02 <HackEso> tr: invalid option -- ' ' \ Try 'tr --help' for more information.
22:55:06 <b_jonas> `` tr -d \\r < share/mtg/MagicCompRules_20181005.txt > share/mtg/rules.txt
22:55:08 <HackEso> No output.
22:55:13 <b_jonas> ``` head share/mtg/rules.txt
22:55:14 <HackEso> Magic: The Gathering Comprehensive Rules \ \ These rules are effective as of October 5, 2018. \ \ Introduction \ \ This document is the ultimate authority for Magic: The Gathering competitive game play. It consists of a series of numbered rules followed by a glossary. Many of the numbered rules are divided into subrules, and each separate rule and subrule of the game has its own number. (Note that subrules skip the letters l and o due to potential
22:55:45 <b_jonas> zzo38: save a local copy if you haven't yet
23:24:28 <zzo38> OK I made a copy
23:36:13 <zzo38> I would want a SQLite database of Magic: the Gathering cards, and including one column that tells when it is last updated. I invented remote virtual table protocol so it is possible to make a remote service too (such a remote service ought to allow constraints on the last updated column for purpose of only downloading the changes when you make a copy; any constraints not understood by the server will be implemented by the client automatically)
23:46:28 <b_jonas> zzo38: yeah, I want to extract the data too and semi-automate it so I can extract it four times a year. not necessarily an SQLite database, but whatever, you can convert.
23:47:38 <b_jonas> but I probably won't have time for that in December
23:47:41 <b_jonas> at least I have an oracle dump
23:47:56 <b_jonas> but haven't parsed it yet
23:56:09 -!- Essadon has quit (Quit: Qutting).
23:58:25 <zzo38> Yes, a different format can also do, since it can be converted
2018-11-28
00:00:41 <zzo38> O, I found a Python program at https://github.com/shmup/mtgsqlive which is made for converting Magic: the Gathering card data from JSON to SQLite and vice versa
00:01:05 <b_jonas> how old? does it work with the Scryfall format?
00:02:35 <zzo38> It says MTGJSON format, although maybe it might be possible to modify to work with Scryfall format
00:22:56 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:32:47 -!- Melvar has quit (Ping timeout: 240 seconds).
01:14:55 -!- Sgeo has joined.
01:16:24 -!- Sgeo_ has quit (Ping timeout: 250 seconds).
01:20:30 -!- imode has joined.
01:27:49 -!- Melvar has joined.
01:31:52 <shachaf> oren: I'm still not sure how that proposal works but I like it more now.
01:44:34 -!- danieljabailey has quit (Ping timeout: 250 seconds).
01:49:26 -!- imode has quit (Ping timeout: 268 seconds).
01:54:55 -!- imode has joined.
02:00:10 -!- imode has quit (Ping timeout: 250 seconds).
02:11:05 -!- danieljabailey has joined.
02:37:02 -!- ais523 has quit (Quit: quit).
02:39:10 -!- Melvar has quit (Ping timeout: 250 seconds).
02:41:14 -!- imode has joined.
04:00:00 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
04:52:46 -!- Melvar has joined.
05:26:33 -!- oerjan has joined.
05:39:12 <zzo38> One idea about UNIX kernels is adding a new kind of kill() function that requires a timestamp, and if the target process started after the specified time then it is an error and no signal is sent.
05:52:32 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:43:50 -!- hexfive has joined.
08:01:24 -!- AnotherTest has joined.
08:18:38 -!- pikhq has quit (Ping timeout: 244 seconds).
08:31:56 <izabera> interesting
08:32:39 <izabera> i like the idea of making pid_t an always-increasing 64bit number
08:32:47 <izabera> no pid reuse ever occurs
08:40:24 <shachaf> pids are scow
08:43:18 <shachaf> no way to avoid the race
08:47:05 <izabera> what race?
08:49:15 <shachaf> Between getting a pid and killing it
08:51:53 <shachaf> E.g. in Windows you get a handle to a process, which is more like a fd (I think?)
08:57:03 <izabera> nonreusable pids would totally avoid any race
08:59:53 <shachaf> Sure
09:11:23 <oren> yeah pids are annoying because in the time it takes to do 'ps', read the pid you need, and 'kill' it, the process could potentially end, and the pid could be reused
09:13:57 <shachaf> I mean, you potentially want to hold a pid for much longer than that.
09:14:12 <oren> that too
09:15:39 <oren> also, it's possible to mistype a pid and kill the wrong process, which is why I think there should be a more interactive tool for looking at and killing processes
09:16:09 <oren> like if 'top' had a way to select a process and kill it
09:17:43 -!- sftp has quit (Excess Flood).
09:18:08 -!- sftp has joined.
09:19:50 <b_jonas> zzo38: oh, I've actually been asked about something like that, outside of #esoteric, as in, how to use a pid (in kill or otherwise) without accidentally targeting the wrong process
09:21:27 <b_jonas> izabera: sadly we can't just change pids to 64-bit, there are a lot of kernel-process abis that expect them to be 32-bit. the only thing we could do is add a second kind of pid and consistently call it a different name than pid. but there are like three dozen system calls and all of /proc that's based on pids, so that's not an easy change.
09:21:54 <b_jonas> or technically we could start a new architecture, but even then there'll be badly programs that use an int instead of a pid_t.
09:22:32 <shachaf> unix is scow anyway
09:22:33 <shachaf> scrap it
09:23:06 <b_jonas> oren: there's a little bit of protection top could do, but I don't know of a complete protection. let me check that old email where someone asked me this.
09:26:31 <b_jonas> I think, instead of a new pid, it might be easier to add new interfaces that allow you to do various process operations like kill, sigqueue, setpriority etc given a directory handle into /proc, sort of like the openat family of functions
09:37:56 <b_jonas> yup, we didn't find a good workaround
09:39:24 <b_jonas> I mean, we know some partial workarounds, but nothing that really guarantees to solve the problem in worst case when someone forks really quickly, the scheduler is against you, and you don't want potentially bad side effects
09:41:33 <shachaf> Is fork even a good API? Is it worth all the trouble?
09:41:43 <shachaf> What's the benefit of it?
09:44:32 -!- pikhq has joined.
10:04:02 <oerjan> . o O ( sounds like a challenge, ms. ambrose )
10:13:45 <Taneb> oerjan: dehydrated space rations are soemthing I could well concieve a michelin-starred restaurant serving
10:23:00 <oerjan> they'd just turn it into foam first
10:23:25 <oerjan> shave ->
10:36:02 -!- pikhq has quit (Read error: Connection reset by peer).
10:36:29 -!- pikhq has joined.
10:38:11 <b_jonas> shachaf: IMO it's worth, though some of its design has led to hard to track down bugs. look at the complicated structures that the Win32 API has to use to define all the state that the new process gets.
10:38:37 <b_jonas> shachaf: bugs for fork include accidentally ignored signals inherited by subprocesses, file descriptors leaked by multithread race conditions, etc.
10:39:42 <b_jonas> but some of those aren't a problem with fork. file descriptors should have started out not inheritable *on exec* by default (which is what Win32 does; inheriting through fork is fine)
10:47:32 -!- imode has quit (Ping timeout: 250 seconds).
11:05:28 -!- rain1 has quit (Ping timeout: 245 seconds).
11:11:17 -!- b_jonas has quit (Quit: leaving).
11:27:21 <oerjan> the last panel here is looking more and more like a chekhov's gun at this point http://www.girlgeniusonline.com/comic.php?date=20180326
11:29:30 <oerjan> ...and today mezzacotta loaded instantly for once.
11:43:36 -!- xkapastel has joined.
11:49:52 -!- oerjan has quit (Quit: Later).
13:35:40 -!- sebbu2 has joined.
13:39:21 -!- sebbu has quit (Ping timeout: 252 seconds).
15:03:50 -!- arseniiv has joined.
15:06:05 -!- AnotherTest has quit (Ping timeout: 268 seconds).
15:19:26 -!- AnotherTest has joined.
16:11:03 -!- rain1 has joined.
16:29:09 -!- imode has joined.
17:02:48 -!- imode has quit (Ping timeout: 250 seconds).
17:04:07 -!- nfd9001 has quit (Ping timeout: 240 seconds).
17:05:35 -!- imode has joined.
17:20:29 -!- AnotherTest has quit (Ping timeout: 246 seconds).
17:31:24 -!- AnotherTest has joined.
17:36:03 -!- sebbu2 has changed nick to sebbu.
17:47:46 <esowiki> [[Special:Log/newusers]] create * Abc123mewot * New user account
18:05:47 -!- arseniiv has quit (Quit: gone completely :o).
18:12:00 <esowiki> [[Talk:Capuirequiem]] https://esolangs.org/w/index.php?diff=58509&oldid=9562 * Nthern * (+212) /* Implementation Source */ new section
18:18:37 -!- arseniiv has joined.
18:23:10 -!- Essadon has joined.
19:11:11 -!- Phantom_Hoover has joined.
19:20:58 -!- sleepnap has joined.
19:48:56 <esowiki> [[User:DMC]] M https://esolangs.org/w/index.php?diff=58510&oldid=58507 * DMC * (+101)
20:08:10 -!- imode has quit (Quit: WeeChat 2.3).
20:14:31 <zzo38> Maybe one way is to reserve one process ID number for a timestamp PID, and one function takes a timestamp and PID and always returns the timestamp PID number; any call in the same thread which is using timestamp PID will use the remembered timestamp and PID.
20:15:04 <zzo38> (This is not important for waitpid() which is only for child processes; it is used when you want to deal with processes other than child processes.)
20:18:14 <esowiki> [[User:DMC]] M https://esolangs.org/w/index.php?diff=58511&oldid=58510 * DMC * (-6)
20:19:02 <esowiki> [[User:DMC]] M https://esolangs.org/w/index.php?diff=58512&oldid=58511 * DMC * (+10)
20:19:06 -!- imode has joined.
20:19:41 -!- imode has quit (Client Quit).
20:20:45 -!- imode has joined.
20:25:13 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
20:25:30 <zzo38> I did think of using /proc too
20:26:45 <zzo38> So, that is another possibility to do, using the functions like openat() and so on
20:33:25 <zzo38> (If you use that then you can check the timestamps)
21:02:40 -!- b_jonas has joined.
21:06:30 <shachaf> b_jonas: fork also requires a complicated implementation with copy on write
21:06:40 <shachaf> And it precludes or nearly precludes having a single address space
21:07:32 <shachaf> b_jonas: It seems to me that maybe better APIs for operating on other processes would be better than the fork approach?
21:07:45 -!- Lord_of_Life has joined.
21:07:45 -!- Lord_of_Life has quit (Changing host).
21:07:45 -!- Lord_of_Life has joined.
21:09:06 <zzo38> There is vfork() but it is deprecated and the way of its working is different on different systems.
21:10:28 <b_jonas> shachaf: so? we already need full copy on write for mmap MAP_PRIVATE, probably even for MAP_SHARED as an optimization, for loading a writable but initialized data segment of an executable, etc. The problem isn't the complicated, but that some people complain that forking can take a long time if the forking process has a lot of memory associated to it.
21:11:04 <b_jonas> But the answer to that is just "then don't do that". Prefork from a smaller parent process, not from the database server process that mmaps your hundred gigabyte database read-write and starts a hundred threads.
21:11:58 <b_jonas> Fork is simply more general, because if you want, you can still make a spawn-like model by having a fork server process and serializing only the state you want the child to have to it from the controlling process through some controlling channel.
21:11:58 <shachaf> That's kind of a silly answer, why shouldn't the database process be able to run programs?
21:12:05 <b_jonas> But you couldn't do it the other way.
21:12:45 <b_jonas> shachaf: the database server can, but not from the large process. if you have such a huge process, it doesn't cost much to have a smaller watcher process. that can do other things too, like log fatal failures of the big process or whatever.
21:13:17 <b_jonas> I'm not saying that you should always fork. By all means, use a single spawn server process with clean state if you want.
21:13:56 <shachaf> The fact that MAP_PRIVATE requires copy-on-write when you specifically request it doesn't mean that you should just give up and COW all the time everywhere.
21:14:29 <b_jonas> But don't expect the kernel itself to have a small and simple spawn function, because the kernel doesn't know what the "sane defaults" for the new process are, if there were sane defaults they'd be obsolete in three years, and there's not much point to have a huge spawn function that takes a hundred arguments to set all process state.
21:14:55 <shachaf> I'm not saying there should be one-size-fits-all defaults.
21:14:59 <zzo38> You could do that kind of prefork, it could be helpful
21:15:06 <shachaf> But it's a long way to go from that to fork.
21:15:20 <b_jonas> shachaf: there are library wrappers over that, if you want. ones with and ones without pre-forking.
21:15:29 <b_jonas> shachaf: heck, I think they even added one to posix
21:15:49 <shachaf> posix_spawn?
21:15:50 <b_jonas> shachaf: and if COW is really your problem, then cheat with vfork, but that's _hard_.
21:15:56 <b_jonas> shachaf: something like that, yes.
21:16:08 <pikhq> b_jonas: posix_spawn is expected to use a vfork-analog, FWIW.
21:16:14 <pikhq> (and on common systems, actually *does*)
21:16:18 <b_jonas> and then good luck setting up whatever process state that particular spawn doesn't support.
21:16:55 <pikhq> Yeah, posix_spawn is definitely somewhat limited in the state it can set up.
21:17:13 <pikhq> I believe it has enough to set up the state a POSIX shell would need to, but not much more.
21:17:17 <b_jonas> exactly. and every spawn will be, unless it takes huge tables emulating every system call ever.
21:17:33 <shachaf> What's the argument in favor of fork? That it's convenient to set up a particular process state after forking?
21:17:46 <pikhq> The "easy" workaround is to use a helper binary to do more.
21:18:27 <pikhq> shachaf: It was easy to implement back in the day, while obviously being sufficiently general to serve the task.
21:18:29 <b_jonas> shachaf: that, and fork isn't hard to implement by the kernel once it already wants that and multithreading and general mmaps and shared memory
21:18:46 <b_jonas> it's still easy to implement now
21:19:04 <shachaf> Some Win32 functions let you operate on a different process. For example VirtualAllocEx lets you allocate memory in another process's address space.
21:19:16 <shachaf> I wish Unix had that.
21:19:31 <shachaf> For debuggers if nothing else.
21:19:32 <b_jonas> and if you complain about the speed, just look at how slow in practice it is to spawn a thousand simple small programs from a simple small program on win32, and on unix. unix still wins by like two orders of magnitudes.
21:19:51 <b_jonas> shachaf: linux has most of that, with a combination of /proc and ptrace
21:19:58 <pikhq> I think if I were designing a thing now, I'd set it up so you could create a "zygote" process, use system calls on it to set the state, and then start the process.
21:20:09 <shachaf> pikhq: Yes, that's what I was thinking.
21:20:13 <b_jonas> ptrace and much of /proc are definitely for debugging only
21:20:14 <shachaf> b_jonas: How do you mmap in a child process?
21:20:16 <b_jonas> but they're very general
21:20:40 <pikhq> But, to be honest, I wouldn't design a thing now. There's no fucking way it'd do anything more than be personally entertaining.
21:21:08 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
21:21:27 <b_jonas> shachaf: hmm, yes, that in particular might be hard and it may be good if there was an interface for it. you'd probably have to take over a little spare space in the process to bootstrap that, save its contents and the registers, and run an mmap call in there. and catch all signals during.
21:21:50 <b_jonas> and if that process has no writable page, you're screwed.
21:22:04 <shachaf> ptrace can write to non-writable pages
21:22:13 <b_jonas> what? no way
21:22:14 <shachaf> It converts them from MAP_SHARED to MAP_PRIVATE if necessary
21:22:17 <shachaf> In Linux at least.
21:22:20 <b_jonas> wtf
21:23:51 <b_jonas> shachaf: still, it can be hard to restore it to MAP_SHARED later if you can no longer acquire a handle to the underlying file or shared memory segment or bsd shared memory segment from /proc
21:24:09 <shachaf> Right.
21:24:10 <zzo38> You can use ptrace for system call emulation and other stuff like that too and does not have to be only for debugging
21:24:22 <b_jonas> s/or shared memory segment or bsd shared memory segment/or sysv shared memory segment or posix shared memory segment/
21:25:04 <b_jonas> oh yeah!
21:25:20 <b_jonas> hmm no
21:25:25 -!- Lord_of_Life has joined.
21:25:25 -!- Lord_of_Life has quit (Changing host).
21:25:25 -!- Lord_of_Life has joined.
21:25:33 <b_jonas> I think you still need a little bit of writable memory in the process address space for that
21:26:02 <b_jonas> if you're planning to debug, you can probably just arrange to set aside a little space for that
21:26:53 <b_jonas> zzo38: the system call emulation is the opposite of what we want
21:27:58 <b_jonas> zzo38: system call emulation means that the traced process calls for a system call, but you ask linux not to perform that call, instead you do whatever you want and set then registers in the traced process to pretend whatever result you want from the system call and continue it. you could jump away to run other code for that if you want.
21:28:10 <b_jonas> that thing is heavy, you rarely want to do that, but it's possible
21:28:18 <b_jonas> usually there are better ways for most special cases
21:28:44 <b_jonas> like replacing library functions or fuse
21:31:22 <zzo38> Sometimes you might want to override some system calls, such as to change the time that the program knows, or to use a proxy server for all network connections if the program does not implement that, or to change things in a program that you do not have the source code to be able to recompile it, etc
21:43:43 <oren> c++ gore:
21:44:03 <oren> cout << "percent errors: ";
21:44:24 <oren> printf("%f\n", errors/entries);
21:45:06 <imode> is that in an actual codebase.
21:45:11 <oren> it is yes
21:45:14 <imode> gross.
21:45:34 <oren> note that it isnt even a percent
21:45:49 <imode> LOL.
21:45:59 <shachaf> perone errors
21:47:01 -!- MDude has joined.
21:48:09 -!- AnotherTest has quit (Ping timeout: 268 seconds).
21:48:55 <oren> shachaf: my brain insists that perone is pronounced as if it was an italian loanword
21:49:03 <shachaf> perunit errors
21:51:12 <oren> /pɛroʊneɪ/
21:51:59 <oren> I changed it to ""
21:52:10 <oren> nobody reads this output anyway
21:55:45 <oren> or, at least, they shouldn't. they should be looking at the json
21:56:08 <shachaf> hiren
21:56:23 <shachaf> I heard a rumor structured logs and structured errors might be good.
21:56:27 <shachaf> Do you do something like that?
21:58:03 <oren> shachaf: yes
21:58:31 <oren> but a lot of code still has terminal outputs
21:58:37 <shachaf> What's it like?
21:59:23 <oren> shachaf: annoying because I have to write a bunch of database code and manage an internal tool to display things nicely
21:59:40 <shachaf> whoa, why?
21:59:44 <oren> but, since I'm the only one who understands that system
21:59:58 <shachaf> Seems like it should be no worse than string logs because you can always just print it as a string
22:00:42 <oren> shachaf: well, the json is uploaded to an internal server which has a web tool on it that displays pretty graphs showing how much better we are today than last year
22:01:04 <shachaf> That... Oh.
22:01:21 <shachaf> seems problematic if you can't just run the program hth
22:01:36 <oren> and the only other person who knows how that works just quit
22:01:55 <shachaf> you should ask for more money hth
22:16:58 -!- imode has quit (Quit: WeeChat 2.3).
22:29:12 <zzo38> How I would make timestamps to work in version 12 of X window system protocol, is that you have 64-bit timestamps which must be nonzero and that it is guarantee all timestamps after some request or event are greater than all timestamps before that request or event, so that it is monotonic (but the timestamps do not necessarily correspond to any specific interval of time; this is implementation dependent).
22:34:48 <b_jonas> zzo38: yeah. but, in particular, changing the time the program knows is really hard, because time is reflected in like a shitton of system calls, ones that put timestamps in various data structures, plus some /proc or /sys files may have to be rewritten too
22:35:22 <b_jonas> so that's one of the hardest things to do consistently without at least a full user-mode-linux or similar OS emulation or full system emulation
22:35:51 <b_jonas> it's one of those cases like invisibility in HHGG
22:36:06 <b_jonas> 99 out of 100 times it's easier to actually change the system time and do with it
22:36:32 <b_jonas> shachaf: structured logs and structured errors => I say ask zzo38
22:37:07 <zzo38> Yes, although it can be helpful when you need it. It should be a user library to deal with these things as needed and then programs that need it can use the user library, calling the kernel only to call ptrace() and do the other stuff in the user mode
22:53:48 -!- sleepnap has left.
23:26:26 <b_jonas> wow, oerjan edited https://esolangs.org/w/index.php?title=La_Weá back.
23:27:30 <b_jonas> argh, stupid firefox
23:27:44 <b_jonas> https://esolangs.org/wiki/La_We%C3%A1
23:27:56 <b_jonas> it only copy-pastes the url properly if you select ALL of it
23:28:02 <b_jonas> I hate this
23:28:23 <shachaf> Is there a reasonably low-level language (lets you specify memory layout, no hidden allocations, etc.) that has single-argument functions where you just pass one struct by value for multiple arguments?
23:28:48 <shachaf> And maybe also has flexible struct literals to allow all kinds of things like keyword arguments, default arguments, varargs, etc.
23:29:04 <shachaf> It seems like it should be possible and also nicer than most languages, but I'm not sure about the details.
23:29:07 <b_jonas> shachaf: we talked about this at some point on #esoteric I think
23:29:28 <shachaf> That makes sense. Though I've been wondering about this flexible struct literal thing more generally.
23:29:32 <b_jonas> may be in the logs
23:30:42 <shachaf> A lot of languages have flexible integer literals, for example, right?
23:31:21 <shachaf> Where maybe integer types are 32-bit or 64-bit, but integer literals are unbounded, and you implicitly coerce a literal to a type with a runtime representation.
23:31:45 -!- Essadon has quit (Quit: Qutting).
23:32:21 <b_jonas> I think it's not that many languages that have that. That only works if the compiler can derive types. So rust and haskell does it, and perhaps SML, I'm not sure.
23:32:52 <b_jonas> Some other languages like C and C++ just have some easy conversions of integers to other integer types, plus explicit notations for some types of integer literals.
23:32:52 <shachaf> Haskell doesn't do it.
23:33:05 <b_jonas> "So rust and haskell does it, and perhaps SML"
23:33:13 <b_jonas> haskell and Haskell are the same language
23:33:17 <b_jonas> but yeah
23:33:19 <shachaf> I'm pretty sure I've seen languages that do it though I don't remember which one.
23:33:22 <shachaf> What?
23:33:22 <b_jonas> haskell in fact does even more
23:33:29 <shachaf> I said Haskell doesn't do it.
23:33:38 <b_jonas> what?
23:33:41 <shachaf> What?
23:33:43 <b_jonas> haskell _doesn't_ do it?
23:33:45 <b_jonas> no way
23:34:03 <shachaf> No, the literal "123" is a value with a runtime representation.
23:34:29 <shachaf> In particular it's the value "fromInteger (123 :: Integer)"
23:34:46 <b_jonas> shachaf: sure. that works
23:34:54 <shachaf> I'm talking about literals that can exist only at compile-time.
23:35:21 <b_jonas> I think there was one other language that does that, maybe golang or D, I dunno
23:35:51 <shachaf> Anyway, I'm thinking of extending a thing like that to struct literals.
23:36:02 <b_jonas> even more than rust in fact, in the sense that expressions with certain simple arithmetic operations from integer literals are computed to full precision and are allowed to overflow the largest runtime integer type
23:36:13 <shachaf> So maybe you have "struct T { int x; char y; };"
23:36:32 <shachaf> And you have the literal value "[x=5, y='a']", which doesn't have a runtime representation
23:36:52 <shachaf> But you can write "T t = [x=5, y='a'];"
23:37:07 <b_jonas> shachaf: I'm not sure why the Haskell way is that much different from the Rust way. The main difference is that in Haskell, you can define new integer types, and that there's a library bigint type.
23:37:10 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:37:47 -!- arseniiv has quit (Ping timeout: 246 seconds).
23:38:17 <shachaf> b_jonas: The point is that there's a runtime representation of these bigint values, so the whole "literal that only exists at compile-time" thing doesn't come up.
23:38:22 <b_jonas> shachaf: there is one proposal for rust for something like that, but only for untagged structures, not for tagged ones
23:39:33 <shachaf> If you have struct Args { int x; int y; char c = 'q'; };, and void f(Args args);, you could write something like f[x=5, y=8], or f[5, 8, 'z'], or so on
23:39:55 <b_jonas> in the sense that (x,y) is an untagged tuple-like structure, P(x,y) is a tagged tuple-like struct after a declaration like struct P(T0,T1); Q{a:x,b:y} is a tagged non-tuple-like struct, and they want non-tagged non-tuple-like structs,
23:40:18 <b_jonas> with named members, but no tag. would need some weird rules, but seems possible.
23:40:31 <shachaf> Where these things are just specified with regard to literal->struct conversion rules, not anything specific to function application.
23:40:59 <shachaf> Flexible struct literals seem useful anyway for all sorts of reasons.
23:41:05 <b_jonas> and the proposal recommends that they can be implicitly converted to smaller untagged structs that miss some members, but such _implicit_ conversion (as opposed to an explicit cast) seems fishy to me
23:41:44 <b_jonas> they would be flexible in the sense that you can use dot-dot notation to include members from another non-tagged struct, possibly adding new members or replacing existing members
23:41:49 <b_jonas> in the constructor that is
23:42:14 <b_jonas> you can't use default values of course, because there's no declaration of the tagged type that would define the default values
23:42:15 <shachaf> Why does it seem fishy?
23:42:37 <shachaf> This isn't a cast between types, to be clear. It's only a "cast" from literals to values.
23:43:05 <b_jonas> shachaf: dunno... doesn't seem very rust like. I'm not entirely sure, could work with a smart enough compiler that gives a warning for typical mistakes where you add an extra member that the function you are calling doesn't support.
23:43:07 <shachaf> So if you have struct A { int x; }; and struct B { int x; };, you can't write A a; B b = a;
23:43:18 <shachaf> I don't particularly care about Rust?
23:43:28 <shachaf> I'm wondering about this kind of feature in general.
23:44:05 <b_jonas> like, you could call f({x:3,y:0,z:1}) but f actually takes an {x:i32,y:i32} argument so the z value will get ignored, silently or with a warning
23:44:22 <shachaf> Oh, sure, that should be an error.
23:44:23 <b_jonas> shachaf: you were the one who asked about any low-level language, sorry
23:44:41 <b_jonas> shachaf: yes, that's what I think too. it should be possible to cast explicitly, perhaps with the as operator
23:45:07 <b_jonas> should I dig up the RFC?
23:45:08 <shachaf> Sure, but "this isn't compatible with language X" is a different claim from "this is a bad feature"
23:45:36 <b_jonas> shachaf: no, I think it would be bad in any language, but perl is already like that
23:46:15 <shachaf> OK, what's an example of a place where it would be bad or confusing?
23:46:16 <b_jonas> I'm not saying "compatible", more like it's not in the kind of mindset that rust wants, catching as many errors in compile time as possible, sort of like Haskell
23:46:17 <oren> b_jonas: perl5 has the option to declare arguments tho
23:47:04 <b_jonas> shachaf: um, I just said one. I said only the implicit upcast is what would be a bad feature, because f({x:3,y:0,z:1}) would silently throw away the z:1 member, when the caller might think the function does handle that argument
23:47:17 <shachaf> When you say "cast", what do you mean?
23:47:48 <b_jonas> shachaf: an explicit conversion to a different type. like a C-style cast, but with a slightly more agreeable syntax than a C-style cast.
23:48:25 <shachaf> But it's important that I'm only allowing implicit conversions from literals to values here.
23:48:27 <b_jonas> and for struct values only, not references
23:48:47 <b_jonas> shachaf: yes, I understand, but doesn't {x:3,y:0,z:1} count as a literal?
23:48:47 <shachaf> That means everything can be checked at compile-time, because literals don't exist at runtime.
23:49:13 <shachaf> Sure, but I specified that that's an error.
23:49:18 <b_jonas> right
23:49:37 <b_jonas> and if this change gets accepted to rust (though it likely won't be), then they'll probably change that part
23:49:52 <b_jonas> or at least that's my guess
23:50:12 <oren> wait in what sense do literals only exist at compile time?
23:50:26 <shachaf> You said this would be a bad feature in every language, so I'm not sure why you keep bringing up Rust.
23:50:31 <shachaf> I'm wondering what makes it a bad feature.
23:50:45 <b_jonas> shachaf: it's only that implicit conversion that would be a bad feature
23:50:47 <oren> I always thought of literals as nameless consts
23:51:07 <shachaf> b_jonas: OK, but in the context I'm specifying this the implicit conversion is very important.
23:51:11 <b_jonas> I'm not certain the rest of the proposal, that is, untagged (undeclared) structs with named members, would be a good or bad feature
23:51:14 <shachaf> So where would it be a bad feature?
23:51:39 <b_jonas> shachaf: so what kind of implicit conversion do you want? a conversion to a tagged struct?
23:52:22 <shachaf> A conversion from a struct literal to any struct.
23:52:40 <shachaf> Assuming it passes checks like the one I mentioned.
23:53:03 <b_jonas> there was actually a plan, perhaps already landed in rust now, to make a struct constructor for tagged structs where you don't give the struct name (which is only the constructor name, like in Haskell), and it's only valid if the typechecker can figure out the struct type expected, otherwise it's an error
23:53:23 <b_jonas> I'm not sure what the syntax was, it's a funny looking one but one that makes sense
23:53:28 <b_jonas> let me check
23:55:19 <shachaf> I must be asking my question badly because it seems like you have something in mind for why this would be bad but you keep talking about Rust instead
23:58:47 <b_jonas> shachaf: I know this isn't completely the same, but I might also be misunderstanding you because I'm tired
23:59:47 <shachaf> You said this would be bad in any language and I'm trying to figure out why.
2018-11-29
00:00:05 <shachaf> I can think of some ways it might be confusing but did you have anything in particular in mind?
00:00:57 <b_jonas> shachaf: no. I'm not saying that
00:02:13 <b_jonas> I'm only saying that an implicit conversion that throws away some members would be a bad idea in most strongly typed languages I can think of (perhaps not in a weakly typed language, and especially not in a golf language), even if you convert from a literal. I'm not saying any of the rest would be bad.
00:02:32 <b_jonas> I'm also not saying it would be good, I just don't know
00:02:50 <shachaf> Oh, I agree. So it should be an error to throw away members.
00:07:11 <shachaf> oren: I think the universe of things that can exist at compile-time is larger than things that have to have a memory representation and so on.
00:07:15 <b_jonas> only if you do so implicitly for unnamed structs. for an explicit cast it's ok, and for a subtype that is declared as a subtype (inheriting another type) it should be OK for casting a reference, and probably for casting a value too.
00:07:22 <b_jonas> C++ does the latter
00:07:48 <shachaf> I don't see a point in C++-style inheritance.
00:07:53 <b_jonas> sure
00:08:00 <b_jonas> that's a matter of taste
00:08:12 <b_jonas> its' good for some things, but is often abused, and it's not clear how useful it is really
00:08:30 <shachaf> I think there are better alternatives probably but that's a separate discussion.
00:09:14 <b_jonas> but if you do want C++-like inheritence, then I think you also want implicit cast of references towards supertypes, when unambiguously possible
00:09:35 <b_jonas> and C++ does allow that
00:09:41 <shachaf> Sure, there might be cases where you want implicit casts.
00:10:03 <shachaf> But that's not the thing I'm talking about here.
00:10:23 <b_jonas> yeah
00:10:25 <shachaf> It seems much trickier and easy to make confusing.
00:15:01 -!- tromp has quit (Remote host closed the connection).
00:15:39 -!- tromp has joined.
00:24:16 -!- imode has joined.
01:42:59 -!- user24 has joined.
01:52:53 -!- Vorpal has quit (Ping timeout: 246 seconds).
02:28:49 -!- olsner has quit (Ping timeout: 268 seconds).
02:40:23 -!- Vorpal has joined.
02:46:04 -!- olsner has joined.
03:41:41 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:48:04 -!- viccm has joined.
04:48:52 -!- viccm has left.
05:10:00 -!- doesthiswork has quit (Quit: Leaving.).
05:52:53 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
05:56:33 -!- Lord_of_Life has joined.
05:56:33 -!- Lord_of_Life has quit (Changing host).
05:56:33 -!- Lord_of_Life has joined.
07:47:51 -!- user24 has quit (Quit: Leaving).
08:19:24 -!- tromp has quit (Remote host closed the connection).
08:19:36 -!- tromp has joined.
08:46:18 -!- imode has quit (Ping timeout: 245 seconds).
09:32:18 -!- Phantom_Hoover has joined.
09:32:18 -!- Phantom_Hoover has quit (Changing host).
09:32:18 -!- Phantom_Hoover has joined.
09:42:58 -!- b_jonas has quit (Quit: leaving).
09:44:24 -!- xkapastel has joined.
10:45:38 -!- Phantom_Hoover has quit (Remote host closed the connection).
11:26:12 -!- arseniiv has joined.
12:33:19 -!- wob_jonas has joined.
12:37:08 <wob_jonas> In M:tG, MaRo wrote a two-parter article about how the Arabian Nights plane and various other older planes are now completely closed off and M:tG won't return to them. Little does he know that he's already lost. Even if those planes have been closed off, Dominaria is by now infested with sea serpents, cloud efreets, djinns, air elementals, and best
12:37:08 <wob_jonas> of all, demons to sell my soul to.
12:39:34 <wob_jonas> Sea monsters live on despite that M:tG tried to kill them off by not printing color-hoser cards, such as islandwalk and islandhome. Demons live on despite that Wizards once tried to kill them off because of cultural concerns on the east asian markets, and once tried to kill them off because of power level combinations. Dark Ritual and Sol Ring are
12:39:35 <wob_jonas> not Modern-legal, yet Wizards keeps reprinting them.
12:41:48 <wob_jonas> And for the lower rank members of our air force, I'm joined 1/1 flying sprites for {B} and for {G}, and we even managed to corrupt the fairies of Lorwyn to join our cause.
13:05:29 -!- jpag_ has joined.
13:05:39 <jpag_> hello!
13:08:14 <wob_jonas> s/\{B\} and for \{G\}/$& and birds for {W}/
13:11:14 <Taneb> `welcome jpag_
13:11:15 <HackEso> jpag_: 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.)
13:17:20 -!- jpag_ has quit (Quit: Page closed).
14:00:27 -!- doesthiswork has joined.
14:55:03 <wob_jonas> Did they fix youtube, or was it never in a state where you could get control-M to simultanously toggle the browser's mute tab switch and the youtube player's mute switch and they could be in opposite phases?
15:08:05 -!- hexfive has quit (Quit: WeeChat 2.2).
15:48:57 -!- sleepnap has joined.
16:03:37 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:57:29 -!- joast has quit (Quit: Leaving.).
16:58:43 -!- joast has joined.
17:26:09 -!- Hooloovo0 has quit (Ping timeout: 252 seconds).
17:31:09 -!- Hoolootwo has joined.
17:35:45 -!- b_jonas has joined.
17:53:54 -!- zzo38 has quit (Ping timeout: 250 seconds).
17:54:46 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
17:55:00 -!- Lord_of_Life has joined.
17:55:00 -!- Lord_of_Life has quit (Changing host).
17:55:00 -!- Lord_of_Life has joined.
18:15:44 -!- imode has joined.
18:16:07 -!- imode has quit (Client Quit).
18:16:25 -!- imode has joined.
18:24:49 -!- tromp has quit (Remote host closed the connection).
18:25:25 -!- tromp has joined.
19:47:07 -!- oerjan has joined.
19:56:27 -!- john_metcalf has joined.
20:23:59 -!- zzo38 has joined.
20:44:37 <zzo38> Check-in 684013cef6 of SQLite adds a feature (not released yet) that now in the xBestIndex method for virtual tables there is the possibility to specify that the constraints are unusable, without using the messy way that was previously used.
21:05:05 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
21:05:17 -!- Lord_of_Life has joined.
21:05:17 -!- Lord_of_Life has quit (Changing host).
21:05:17 -!- Lord_of_Life has joined.
21:15:15 <oerjan> zzo38: Nthern complains on the wiki that the capuirequiem implementation link is dead
21:27:06 <b_jonas> zzo38: edit all your virtual table impls to do that conditionally in new versions then!
21:38:33 <esowiki> [[Capuirequiem]] https://esolangs.org/w/index.php?diff=58513&oldid=33861 * Zzo38 * (+31) Broken link
21:39:06 <zzo38> b_jonas: Once it is released, then I will make it to use that (at least for the virtual tables where this is applicable; in some cases, any set of constraints is usable)
21:39:52 <b_jonas> zzo38: yeah, it might be better to wait for a release
21:40:25 <zzo38> Before it is released anything could be changed anyways
21:40:46 <b_jonas> code it now in a branch so you can push it out soon after the release :-)
21:43:03 <zzo38> I do not really intend to; I will just wait until it is released to change my programs
21:43:16 <b_jonas> ok
21:50:30 -!- oerjan has quit (Quit: Nite).
22:10:53 <oren> yet another meeting spending the first half hour trying to resolve shitty meeting software
22:11:11 <shachaf> So in linear logic, you can go from a multiplicative connective to its respective additive connective?
22:11:20 <b_jonas> oren: hehe. is it videoconferencing?
22:12:05 <shachaf> So from A ⊗ B to A ⅋ B, and from A ⊕ B to A & B
22:12:17 <oren> b_jonas: I don't know if it's google meet having a problem, or soemthing else, but I can't see anything or hear anything
22:12:37 <b_jonas> oren: I'll rephrase. is it supposed to be videoconferencing?
22:13:54 <oren> it is supposed to be, but there's no video, and no audio
22:14:25 <b_jonas> oren: how many people supposed to be on the meeting, and how many different sites?
22:19:17 <oren> all hand meeting
22:19:29 <oren> everyone in like 5 different countries
22:20:33 <shachaf> Uh, no, I mean from the conjunction to the disjunction.
22:29:24 <oren> @metar SNU
22:38:41 -!- Phantom_Hoover has joined.
22:47:04 -!- aloril_ has joined.
22:49:47 -!- aloril has quit (Ping timeout: 240 seconds).
23:24:04 <oren> b_jonas: meeting is over. I asked somebody else and apparently nothing important was said
23:24:31 <b_jonas> oren: so, normal meeting. ok.
23:44:41 -!- tromp has quit (Remote host closed the connection).
23:44:55 -!- tromp has joined.
23:46:20 -!- sleepnap has left.
23:49:27 <b_jonas> OEIS is now over 322000 sequences? wow! I remember the 100000 celebrations
23:49:43 <b_jonas> if it keeps growing, the sequence numbers may yet overflow six digits
2018-11-30
00:02:10 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:18:33 -!- tromp has quit (Remote host closed the connection).
00:19:13 -!- tromp has joined.
00:25:20 -!- danieljabailey has changed nick to sdhand_.
00:25:28 -!- sdhand_ has changed nick to danieljabailey.
00:26:49 -!- zzo38 has quit (Ping timeout: 246 seconds).
00:26:59 -!- sparr has quit (Changing host).
00:26:59 -!- sparr has joined.
00:39:28 -!- tromp has quit (Remote host closed the connection).
00:39:44 -!- tromp has joined.
01:06:29 -!- zzo38 has joined.
01:08:48 -!- tromp has quit (Remote host closed the connection).
01:09:43 -!- tromp has joined.
01:14:44 -!- Vorpal has quit (Ping timeout: 268 seconds).
01:25:25 -!- Vorpal has joined.
01:25:25 -!- Vorpal has quit (Changing host).
01:25:25 -!- Vorpal has joined.
02:10:40 -!- b_jonas has quit (Quit: leaving).
02:16:09 -!- arseniiv has quit (Quit: gone completely :o).
02:16:21 -!- arseniiv has joined.
02:25:25 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:41:13 -!- zzo38 has quit (Ping timeout: 246 seconds).
02:43:12 -!- zzo38 has joined.
03:32:35 -!- xkapastel has joined.
05:10:48 <zzo38> I am not the only one who has written comments to the SQLite mailing list about unreleased changes to SQLite; someone else did too, complaining about the internal name of a function in an extension. The name has been corrected.
05:24:30 <esowiki> [[Special:Log/newusers]] create * ShareMan * New user account
05:28:30 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58514&oldid=58466 * ShareMan * (+327) /* Introductions */
05:48:26 -!- doesthiswork has quit (Quit: Leaving.).
05:49:50 -!- doesthiswork has joined.
05:57:47 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
05:58:05 -!- Lord_of_Life has joined.
05:58:06 -!- Lord_of_Life has quit (Changing host).
05:58:06 -!- Lord_of_Life has joined.
05:59:48 -!- Sgeo_ has joined.
06:01:28 -!- Sgeo has quit (Ping timeout: 250 seconds).
06:02:48 -!- doesthiswork has quit (Quit: Leaving.).
06:35:03 -!- arseniiv has quit (Ping timeout: 245 seconds).
06:35:57 -!- doesthiswork has joined.
06:41:54 -!- xkapastel has quit (Quit: Connection closed for inactivity).
07:10:30 -!- hexfive has joined.
07:33:22 -!- doesthiswork has quit (Quit: Leaving.).
08:38:20 -!- doesthiswork has joined.
08:49:02 -!- tromp has quit (Remote host closed the connection).
08:49:14 -!- tromp has joined.
09:10:23 -!- xkapastel has joined.
09:12:32 <esowiki> [[Special:Log/newusers]] create * ThisIsTheFoxe * New user account
09:26:30 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=58515&oldid=58514 * ThisIsTheFoxe * (+261) /* Introductions */
09:28:33 <esowiki> [[Befunge]] M https://esolangs.org/w/index.php?diff=58516&oldid=57920 * ThisIsTheFoxe * (-14) /* Quine */
09:42:48 -!- doesthiswork has quit (Quit: Leaving.).
10:47:54 -!- imode has quit (Ping timeout: 250 seconds).
12:06:20 -!- Vorpal has quit (Ping timeout: 246 seconds).
12:11:55 -!- Vorpal has joined.
12:11:55 -!- Vorpal has quit (Changing host).
12:11:55 -!- Vorpal has joined.
12:29:06 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
12:29:26 -!- Lord_of_Life has joined.
12:29:26 -!- Lord_of_Life has quit (Changing host).
12:29:26 -!- Lord_of_Life has joined.
12:38:03 -!- Essadon has joined.
12:38:42 -!- Essadon has quit (Max SendQ exceeded).
14:00:32 -!- doesthiswork has joined.
14:25:41 -!- arseniiv has joined.
14:45:49 -!- john_metcalf has quit (Quit: http://corewar.co.uk).
14:50:06 -!- sleepnap has joined.
15:28:34 -!- arseniiv_ has joined.
15:28:48 -!- arseniiv has quit (Ping timeout: 245 seconds).
15:34:08 -!- arseniiv_ has changed nick to arseniiv.
16:23:41 -!- zzo38 has quit (Ping timeout: 244 seconds).
17:08:00 <ski> shachaf : in the multiplicative case, i think not
17:08:36 <ski> shachaf : i think someone considered a rule called "mix" which allowed one direction, at least
17:09:04 <ski> (which was validated in some semantics, like coherence spaces or something)
17:09:14 <shachaf> I think this is different from the mix rule?
17:11:46 <shachaf> Oh, hmm
17:14:38 <shachaf> You're right, this is just the mix rule.
17:14:47 <shachaf> I think I confused it with something else.
17:18:10 <shachaf> ski++
17:25:05 <ski> hm, if you think of tensor as producing results independently, and par as producing them in an interacting way, one might expect to be able to vacuously consider the former as a special case of the latter
17:25:31 <ski> (recall how linear implication can be stated in terms of par)
17:26:51 <ski> a tensor-continuation would consume the results in a dependent/interacting way (consider multiplication of say natural numbers, we combine information from both parts, together)
17:27:40 <ski> while a par-continuation would consume the two interacting result, in an independent way (like one process communicating with one of the two results, and another process communicating with the other one)
17:28:23 <ski> so if the results really are interacting, we'd still get three processes which are connected to each other. if they're actually independent, it looks like we get disconnection ..
17:36:56 -!- imode has joined.
17:45:13 <Taneb> @ping
17:45:13 <lambdabot> pong
17:51:33 <shachaf> ski: Any idea about models of linear logic without mix?
17:55:48 <ski> i don't think i have much of anything useful to say there, no :/
17:55:55 -!- Lord_of_Life_ has joined.
17:58:12 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
17:58:20 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:58:29 -!- Lord_of_Life has quit (Changing host).
17:58:29 -!- Lord_of_Life has joined.
18:09:53 -!- xkapastel has quit (Quit: Connection closed for inactivity).
18:49:35 -!- xkapastel has joined.
19:02:11 -!- b_jonas has joined.
19:02:22 -!- oerjan has joined.
19:12:03 <int-e> `"
19:12:05 <HackEso> 182) <elliott> </pedant> ... come to think of it, <pedant> \ 190) <asiekierka> GCC: -Os -O2 -O3 gives a 4x improvment
19:25:10 <oren> why is there no -O4
19:33:01 <shachaf> why does -O take any numbers
19:33:05 <shachaf> it's all scow
19:35:58 <imode> -O65536
19:39:49 <int-e> shachaf: -OOO
19:40:13 <shachaf> gcc has optimizations that you can't even turn on or off individually, only with -O
19:40:20 <shachaf> What a scam
19:56:18 <b_jonas> shachaf: because -O is for when you want fast compilation, -O0 is never useful, -O2 is if you want a well-optimized output even at the cost of somewhat slow compilation for large programs, and -Og if you really hate printf debugging and want to step through everything in an interactive debugger
19:57:12 <b_jonas> oh, and -Os is for the stage of the boot loader that has to fit in the space left in the hoot sector on a very old floppy with 256 byte sectors
19:58:53 <b_jonas> only -O and -O2 are useful really
19:59:49 <int-e> b_jonas: it's 512 bytes
19:59:50 -!- zzo38 has joined.
20:00:49 <int-e> (But I thought that part is written in assembly. Maybe I thought wrong.)
20:00:56 <b_jonas> int-e: yes, that's why I said a "very old floppy"
20:01:26 <b_jonas> on normal floppies and "double density" 720K floppies and all the ones you'll meet the sectors are 512 byte sized
20:01:37 <b_jonas> but 256 byte sized sectors used to exist in older floppies
20:01:50 <int-e> b_jonas: Those would predate linux... what other OS kernel was compiled with gcc before Linux?
20:01:52 <b_jonas> int-e: yes, most of it is in assembly usually
20:02:05 <int-e> or do you mean a non-gcc compiler, hmm
20:02:29 <b_jonas> int-e: I'm exaggerating here with the boot sector really, I don't know how they're really compiled (I've seen the source code for that in grub-l once, but that was ages ago, and I didn't look at the *akefile)
20:02:41 <b_jonas> I do mean gcc
20:03:09 <b_jonas> but not the kernel itself, but a boot loader, which I guess is silly, because Linux used to boot directly from a floppy back then without a boot loader
20:03:41 <b_jonas> there are even a few bytes reserved in the boot sector as substitutes for important kernel boot arguments, like the ID of the root device, since there's no boot loader to pass such argument
20:03:48 <b_jonas> they removed that from Linux a few years ago
20:04:15 * int-e has found https://en.wikipedia.org/wiki/List_of_floppy_disk_formats ... oh well.
20:04:26 <b_jonas> now it requires a boot loader, but there are at least seven boot loaders that can load linux, and most of them work from a floppy, so that's not a problem
20:05:11 <int-e> one of those has 319 byte sectors, cute.
20:06:03 -!- arseniiv_ has joined.
20:06:49 <b_jonas> int-e: do you know how large physical sectors are on a CD? it's not a power of two, because the payload size is a power of two, and there's a lot of extra checksum that's less than half the size of the payload
20:07:05 <b_jonas> s/checksum/error correcting code/
20:07:25 <int-e> b_jonas: not by heart.
20:07:52 <int-e> 2352
20:08:18 -!- hexfive has quit (Quit: WeeChat 2.2).
20:08:46 -!- arseniiv has quit (Ping timeout: 246 seconds).
20:09:46 <int-e> no, that's not true either
20:18:01 <int-e> Summarizing wikipedia, there's 2048 payload encoded into 2352 bytes of data (98 frames, 24 bytes payload each) 3234 (98 frames, 33 bytes on CD-ROM).
20:56:28 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=58517&oldid=58515 * Oerjan * (+0) <ACDDEERT>
21:18:24 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
21:19:27 -!- Lord_of_Life has joined.
21:19:27 -!- Lord_of_Life has quit (Changing host).
21:19:27 -!- Lord_of_Life has joined.
21:30:52 <esowiki> [[The Waterfall Model]] https://esolangs.org/w/index.php?diff=58518&oldid=55755 * Ais523 * (+170) /* Computational class */ link The Waterfall Model Online, because it's complete enough to be usable
21:49:48 -!- user24 has joined.
21:50:12 <esowiki> [[+-]] https://esolangs.org/w/index.php?diff=58519&oldid=57870 * Cortex * (+855)
21:52:16 -!- MACUMBA has quit (Quit: SuchZNC - Such ZNC, many free, w0w... -- https://suchznc.net).
22:08:49 -!- sleepnap has left.
22:43:07 -!- arseniiv_ has changed nick to arseniiv.
22:53:39 -!- oerjan has quit (Quit: Nite).
23:01:43 -!- lambdabot has quit (Killed (Sigyn (Spam is off topic on freenode.))).
23:07:37 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
23:10:12 -!- lambdabot has joined.
23:12:26 -!- Lord_of_Life has joined.
23:12:26 -!- Lord_of_Life has quit (Changing host).
23:12:26 -!- Lord_of_Life has joined.
23:46:49 <fizzie> PGCC went up to -O6.
23:47:08 <fizzie> http://oldhome.schmorp.de/pgcc-faq.html#opts
23:48:11 <shachaf> Aren't a lot of optimizer things search problems that can take arbitrarily long?
23:48:24 <shachaf> How do compilers decide where to stop?
23:49:56 <fizzie> Maybe they stop when they get bored.
23:50:08 <fizzie> Terrible for reproducible builds.
23:50:38 <shachaf> What I mean is, maybe I should be able to specify that sort of thing.
23:50:59 <shachaf> Or maybe the marginal gain of spending more time than whatever -O2 does is very small.
23:51:52 <fizzie> You can specify a lot of those things on GCC, with --param.
23:52:05 <fizzie> There's a long long list at the end of https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options
23:53:04 <shachaf> Last I checked there was code in GCC that literally checked if (optimization_level >= 2) { ... }
23:59:35 <zzo38> Perhaps you can suggest a correction to that, then
←2018-10 2018-11 2018-12→ ↑2018 ↑all