00:33:29 -!- arseniiv has quit (Ping timeout: 258 seconds). 00:41:56 -!- sprocklem has joined. 01:03:47 [[Deadfish]] https://esolangs.org/w/index.php?diff=70254&oldid=70217 * Oerjan * (+17) Undo revision 70217 by [[Special:Contributions/PythonshellDebugwindow|PythonshellDebugwindow]] ([[User talk:PythonshellDebugwindow|talk]]) (This is the reference interpreter, if you think it doesn't work you're thinking something wrong.) 01:06:12 unless some recent C standard broke it, or something. 01:14:54 What did they break this time? 01:17:28 -!- sprocklem has quit (Ping timeout: 256 seconds). 01:19:22 -!- sprocklem has joined. 01:23:27 nothing. 01:24:52 I hope this is correct: We have an unsinged int x, and a comparison x == -1. The -1 is of type int and gets promoted to unsigned int (turning into 0xFFFFFFFF on 32 bit platforms) before the comparison is made. 01:25:21 yay 01:25:25 shold probably give that a U suffix. But who cares. 01:25:30 *should 01:25:48 I'll own the "unsinged" though. 01:25:59 `grwp unsigned 01:26:02 No output. 01:26:04 `grwp unsinged 01:26:07 No output. 01:26:11 -!- oerjan has changed nick to oerjan_. 01:26:13 -!- oerjan_ has changed nick to oerjan. 01:26:44 * oerjan torches int-e's unsinged int 01:26:52 *MWAHAHAHA* 01:28:01 Well, I guess it's officially demoted to singed now. 01:28:27 If it had been a fireball it might have been an explicit cast. 01:28:48 But I'm not sure torches can be interpreted in terms of the C standard. 01:31:45 okay 01:38:15 "32 bit platform" -- includes most 64 bit platforms as well, I should check the right terminology here. Surely there's something shorter than "having a 32 bit int type". 01:39:27 is this another incArnation? 01:39:34 -!- sprocklem has quit (Ping timeout: 256 seconds). 01:40:29 -!- sprocklem has joined. 01:40:44 * int-e notices the same habit of making virtually all edits "minor". 01:43:28 ask ais523 01:47:01 Well, I'm probably wrong. They're actually revisiting old pages and improving them. 01:47:33 But I still find this pattern odd :) 01:48:25 [[User talk:A]] https://esolangs.org/w/index.php?diff=70255&oldid=70201 * A * (+108) 02:32:16 -!- b_jonas has quit (Quit: leaving). 02:33:09 per an earlier convo, decided to look into Orca 02:33:14 seems like a fun esolang 02:33:19 trying to get it to play a note rn 02:41:33 already like it a lot. Still haven't got a value to play, but it's fun 02:43:26 I feel like having a large screen gives me a unfair advantage in programming with it 02:51:25 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)). 02:57:25 -!- oerjan has quit (Quit: Nite). 03:48:12 -!- imode has quit (Ping timeout: 256 seconds). 03:50:10 -!- imode has joined. 04:54:03 -!- Sgeo__ has quit (Read error: Connection reset by peer). 04:55:57 -!- Sgeo has joined. 05:35:00 -!- moony has changed nick to moonytheboot. 05:35:13 -!- moonytheboot has changed nick to moony. 07:10:14 -!- kritixilithos has joined. 07:19:14 -!- atslash has quit (Ping timeout: 240 seconds). 07:29:03 -!- atslash has joined. 07:35:43 -!- kritixilithos has quit (Ping timeout: 240 seconds). 07:38:28 -!- kritixilithos has joined. 07:46:37 -!- imode has quit (Ping timeout: 255 seconds). 07:49:47 -!- LKoen has joined. 07:57:23 -!- Lord_of_Life has quit (Ping timeout: 258 seconds). 07:57:47 -!- Lord_of_Life has joined. 07:59:54 I found a program with the comment: "This can't, but will, happen." 08:02:35 i like it 08:03:15 what is an "unfair advantage in programming"? 08:13:34 -!- Phantom_Hoover has joined. 08:13:57 -!- Phantom_Hoover has changed nick to Guest47121. 08:17:12 -!- xelxebar_ has joined. 08:18:03 -!- xelxebar has quit (Ping timeout: 240 seconds). 08:20:20 I don't know. 08:27:57 -!- Guest47121 has quit (Read error: Connection reset by peer). 08:55:18 [[]] M https://esolangs.org/w/index.php?diff=70256&oldid=60028 * Salpynx * (-10) /* Hello Worlds */ 09:24:48 -!- spruit11 has quit (Ping timeout: 256 seconds). 09:32:36 -!- cpressey has joined. 09:48:57 [[Talk:Siterip]] N https://esolangs.org/w/index.php?oldid=70257 * Salpynx * (+1145) syntax validity 10:02:29 "The NTM that accepts BB(BB(100)) necessarily accepts smaller numbers too" <-- I think I see the problem with this now. s/The NTM/Any *constructible* NTM/ 10:03:36 You can posit an NTM that accepts only BB(BB(100)), and such an NTM exists in principle, much like how BB(BB(100)) itself exists in principle. But you can't construct (compute) it. 10:08:47 -!- wib_jonas has joined. 10:15:27 in the OOTS comic, word of god at "https://www.patreon.com/posts/answer-post-2020-34406298" says that Greg was *also* stuck in Durkon's body without being able to control it until Malack was destroyed. 10:36:01 so Greg was honest and truthful in "http://www.giantitp.com/comics/oots0939.html" that Belkar shouldn't incriminate him for how Malack's thrall drunk Belkar's blood; and Belkar's argument in "http://www.giantitp.com/comics/oots0957.html" was invalid. 10:36:15 well, that part of Belkar's argument. the rest still stands. 10:57:02 -!- MDude has joined. 12:03:03 -!- kritixilithos has quit (Ping timeout: 240 seconds). 12:41:35 -!- kritixilithos has joined. 13:09:15 -!- LKoen has quit (Remote host closed the connection). 13:15:14 -!- MDude has quit (Ping timeout: 240 seconds). 13:38:18 -!- joast has quit (Quit: Leaving.). 13:38:43 -!- kritixilithos has quit (Ping timeout: 240 seconds). 13:40:20 -!- joast has joined. 13:41:16 -!- LKoen has joined. 13:57:35 -!- sprocklem has quit (Ping timeout: 260 seconds). 13:59:10 -!- sprocklem has joined. 14:02:56 -!- arseniiv has joined. 14:13:57 [[Siterip]] https://esolangs.org/w/index.php?diff=70258&oldid=70244 * Hakerh400 * (+176) Add clarification 14:14:00 [[Talk:Siterip]] https://esolangs.org/w/index.php?diff=70259&oldid=70257 * Hakerh400 * (+1786) /* Syntax validity */ 14:15:32 -!- arseniiv has quit (Quit: gone completely :o). 14:27:48 -!- arseniiv has joined. 14:43:47 -!- LKoen has quit (Remote host closed the connection). 15:55:25 "Never use a higher-order solution when a first-order solution would suffice." 16:01:06 Also, always remember, automatic merge is a best effort heruistic. 16:03:38 -!- sprocklem has quit (Ping timeout: 240 seconds). 16:04:22 Uh... 16:04:41 cpressey: How far is the author of that quote willing to push that idea? 16:05:12 . o O ( unfold all your procedures. cut&paste code is the best code. embrace goto. ) 16:07:02 Didn't WvO [plan to] write a paper called "Abstraction considered harmful"? 16:07:28 And "The NTM that accepts BB(BB(100))" obviously refers to the particular construction that we can actually write down without knowing anything about BB() except its definition. 16:08:00 But I guess I'm counter-nitpicking. Surely not very useful, that is. 16:08:09 cpressey: I don't know, but some of my coworkers managed to internalize that principle and built large unmaintainable systems with it without the need for a paper 16:08:34 mmm WvO 16:08:58 cpressey: I'm not even disagreeing with that premise. 16:09:28 -!- imode has joined. 16:09:33 cpressey: I think one should stop abstracting when it stops significantly compressing the code, in a weak and fuzzy sense that takes readability into account. 16:10:10 (For "real" code.) 16:11:20 But who's WvO. 16:12:03 I don't know who might've said those words before me (and I put them in quotes for a reason) but here's how far I'd push it: if you're thinking of writing a macro or a middleware or a metaclass please, please think hard about the class of problems it's supposed to solve and why it's the best way to solve them. 16:12:18 WvO = Wouter van Oortmerssen 16:12:31 That doesn't ring a bell? 16:12:43 You don't know who Wouter van Oortmerssen is? 16:12:45 cpressey: yes, that version is more reasonable 16:13:15 (But at least now I can $GOOGLE) 16:13:27 I feel old now 16:13:39 -!- LKoen has joined. 16:13:57 cpressey: I'm not sure it's an age thing. It's probably more of a bubble phenomenon. 16:14:57 But... but... FALSE 16:15:06 Also I'm bad with names. It's quite possible that I've encountered him before. I've certainly heard of False and also of Ardappel (at least in passing). 16:16:52 Anyway, I could lament abstractions all day. Especially abstractions that solve a simple problem but are unreasonably complex (because they solve many more problems that nobody has). Favorites: Docker. Kubernetes. 16:17:36 (I'm expecting some backlash for this :P Though maybe this is the right crowd to not get much of it.) 16:17:38 -!- kritixilithos has joined. 16:18:22 cpressey: I forgot, do you use Haskell? 16:18:34 cpressey: If so, what do you think of lens? 16:19:57 I use Haskell but I only use like 15% of it. I don't even use monads (if I can help it) so, no, I haven't used lenses. 16:20:05 (lens is a bit of a puzzle to me. And I'm not sure whether I'm just not serious enough of a programmer to appreciate it, or whether it's *actually* a cult with no real gain. I suspect the former.) 16:21:17 I do recall a blog post (I believe?) that said that lens is not idiomatic Haskell, and that certainly resonated with me. 16:21:29 I get the impression that if I had an actual need for reversible translations, lens would be useful, but, I could also believe there are lots of people who want translations to be reversible for what are mostly aesthetic purposes... 16:21:43 -!- kritixilithos has quit (Ping timeout: 240 seconds). 16:21:48 I have broken into the level of complexity where I felt that monads (the RWS kind) pay off. 16:22:59 -!- sftp has quit (Ping timeout: 265 seconds). 16:23:15 And I use the list monad all the time. 16:24:31 cpressey: The kind of deeply nested data structures that lens is (supposedly) good for just don't seem to come up in my code. 16:24:56 And its vocabulary is just so overwhelming that I never really tried to learn any of it. 16:31:02 I'm more interested in recursion schemes. But, right now, even more interested in learning Coq and seeing what can be done with extraction. 16:31:56 I've worked through the exercises in the first 2 chapters of the first volme of https://softwarefoundations.cis.upenn.edu/ so far 16:33:54 Do you use coqide or something else? 16:34:33 my recursion schemes are accidental infinite recursion bugs 16:35:03 I started out using jsCoq, then eventually figured out how to install CoqIDE, now using it instead 16:35:03 wib_jonas: you could type them in a system with strong normalization 16:35:32 (with obvious downsides) 16:35:37 -!- ais523 has joined. 16:35:49 int-e: even the simplest typesafe language would give an error (or at least warning) for that 16:35:51 hais523 16:37:15 -!- wib_jonas has quit (Remote host closed the connection). 16:40:47 [[Special:Log/delete]] delete * Ais523 * deleted "[[Category:Turing-complete]]": category redirects don't actually work, the pages don't show up in the redirected-to category 16:41:26 [[DINAC]] M https://esolangs.org/w/index.php?diff=70260&oldid=70222 * Ais523 * (+0) cat fix 16:41:49 [[Eso2D]] M https://esolangs.org/w/index.php?diff=70261&oldid=70204 * Ais523 * (+0) /* Resources */ cat fix 16:42:12 [[MyScript]] M https://esolangs.org/w/index.php?diff=70262&oldid=70241 * Ais523 * (+0) cat fix 16:45:22 And its vocabulary is just so overwhelming that I never really tried to learn any of it. => I used lens in one unfinished interpreter project, I think the code was more or less nice but I haven’t used full potential of lens ever. Lens is mildly intriguing but I totally agree it’s so big and complex 16:46:38 in that project, I used those assignment-like operations for State monadic code 16:46:45 I like lens, but I'm the one responsible for there being so many damn operators 16:46:49 they were convenient 16:47:06 (because I needed <<+= for one thing so I added all the rest too) 16:47:28 what does <<+= do? 16:47:32 Taneb: oh now I know who to blame why I can’t let myself dive into them 16:48:13 hmm, idea: a programming language that accepts every keyword, operator, control structure etc. from all other languages 16:48:13 ais523: "l <<+= n" adds the number n to the target of the lens l in the state, and returns the value before the addition was performed 16:48:52 (in a MonadState) 16:48:54 hmm, oddly languages like C don't have a "postincrement-by" operator 16:49:11 ais523: and all control structures which aren’t possibly implemented anywhere yet, like exitwhen 16:49:32 > runState (do _1 <<+= 3) (4, "hello") 16:49:34 we can always create an esolang to have somewhere to put them 16:49:35 (4,(7,"hello")) 16:49:49 or a straightforward extension to exitwhen to allow it to represent arbitratry, albeit local, effects 16:50:25 CLC-INTERCAL has a way to run a statement and it doesn't do anything until it becomes not an error, then it runs at that moment 16:50:33 even though some other part of the code is executing 16:50:35 I think, at least 16:50:42 you can probably jury-rig an exitwhen out of that 16:51:26 and returns the value before the addition was performed => mhmm could this kind of a behavior be abstracted out somehow? 16:52:29 :t (%%~) 16:52:30 LensLike f s t a b -> (a -> f b) -> s -> f t 16:52:39 arseniiv: Java uses the name "getAndUpdate" for that 16:52:47 (Java doesn't have overloaded operators, just overloaded functions) 16:52:47 :t (<<%~) 16:52:49 LensLike ((,) a) s t a b -> (a -> b) -> s -> (a, t) 16:53:21 <<+= would be "getAndAdd" 16:53:31 * moony is wondering what's going on 16:53:44 moony: that is rather the point of this channel sometimes, I feel 16:54:21 Then you learn what's going on and we move on to something else, leaving you a little bit more enlightened in the mystical arts of the absolutely useless 16:54:42 -!- kritixilithos has joined. 16:54:55 I feel that esoteric languages present a learning opprotunity, and as such are not absolutely useless 16:55:16 It's not the language that is useless, but what it teaches 16:55:31 In this case the language is more or less Haskell 16:56:28 "ais523 | hmm, idea: a programming language that accepts every keyword, operator, control structure etc. from all other languages" 16:56:49 just make a language that can selfmodify, and implement that as a construct in itself 16:56:57 i.e. make a FORTH and build from there :P 16:57:02 "It's not the language that is useless, but what it teaches" I'll have to remember that one 16:57:05 or a CLC-INTERCAL 16:57:22 although I guess IACC is the better term for it 16:57:28 (the language in which CLC-INTERCAL is implemented) 16:57:33 IACC itself is implemented in Perl, also IACC 16:57:48 there is a very complex bootstrapping process involved 16:58:23 cpressey: it's not what I say that's profound, but the thoughts it inspires 16:59:17 ais523: Pharo smalltalk would work too' 16:59:22 it's written in a subset of itself 17:00:31 well, lots of languages are 17:08:19 I kinda wish there was a JIT language that was implemented in itself. So even the JITting logic would be JIT'd 17:08:55 Is that entering Featherweight territory? 17:09:22 ? 17:10:08 most implementation schemes I thought of for Feather were something like that, although it was more like "alternating AOT compilation" 17:10:12 maybe a JIT would work better, though 17:10:24 (alternating AOT = when you alternate between compiling and running) 17:11:18 moony: isn't Pypy that? 17:11:29 (I don't know it very well though) 17:11:36 I think so? 17:11:44 Alternating AOT is definitely a thing though... I believe both in the Smalltalk world and in the SML world, probably elsewhere as well. 17:12:31 And it may extend to JIT (with the profiling-based hotspot optimization) as well. 17:13:15 In my mental picture of this, the real trouble is to get rid of the bootstrapping parts eventually. 17:13:17 [[Function x(y)]] N https://esolangs.org/w/index.php?oldid=70263 * PythonshellDebugwindow * (+1528) Created page with "{{lowercase}} '''function x(y)''' is a language created by [[User:PythonshellDebugwindow]]. ==Syntax== To start a function: function x() Or: function x(y) Or it can have as..." 17:13:31 Alternating compilation: odd-numbered statements are interpreted, even-numbered statements are compiled 17:21:18 -!- ais523 has quit (Remote host closed the connection). 17:22:30 -!- ais523 has joined. 17:26:42 -!- cpressey has quit (Quit: A la prochaine.). 17:31:13 -!- sftp has joined. 17:53:06 -!- kritixil1 has joined. 17:55:23 -!- kritixilithos has quit (Ping timeout: 240 seconds). 18:21:35 -!- b_jonas has joined. 18:48:11 -!- xkapastel has joined. 18:54:43 -!- kritixil1 has quit (Ping timeout: 240 seconds). 19:02:34 (it's implementation-defined if statement numbering starts on 0 or 1) 19:09:20 cpressey: or statements starting with PLEASE or PLEASE DO are compiled, statements starting with DO are interpreted 19:12:37 PLEASE ABSTAIN FROM USING INTERCAL 19:13:30 [[User:PythonshellDebugwindow]] https://esolangs.org/w/index.php?diff=70264&oldid=70247 * PythonshellDebugwindow * (+20) 19:13:30 (Not serious, it's kind of fun. Though I haven't touched it in years...) 19:13:34 int-e: no! don't do that, now we have to figure out how to do the equivalent of a REINSTATE from the C API 19:14:22 b_jonas: pretend there was a line number and use a COME FROM statement? 19:14:49 oh, that could work, yes 19:14:50 Which is a fun way to effectively disable a statement... at least as long as the COME FROM is not ABSTAINED FROM. 19:16:03 int-e: tcsh can run goto statements in an interactive shell, forwards and backwards across multiple separate input lines. you can goto back to lines that have already been executed immediately. this is such a nice eso feature that I don't understand why no other interactive interpreter supports it. 19:16:16 allowing come from in an interactive interpreter would be impossible though. 19:16:21 at least without a time machine. 19:17:03 Yeah... and then things get paradoxical quickly 19:17:42 but maybe many-world intercal would be a lot cooler than threaded intercal 19:21:00 COME FROM [19:09] 19:21:03 err 19:21:06 DO COME FROM [19:09] 19:21:10 my IRC client has timestamps, it's OK 19:21:32 Now you just have to deal with time zones. 19:21:45 well it's correct for my client, so I get to use INTERCAL, at least 19:21:45 Though I guess that was UTC. 19:22:05 it's GMT I think, which is basically identical to UTC but with some minor technical difference 19:23:27 Does it alternate between GMT and BST? 19:23:42 . o O ( time will tell ) 19:23:48 my client does, yes 19:24:05 OK, so it seems that GMT is ambiguous with respect to how it handles leap seconds, but it's traditionally considered a proportion of a day 19:24:16 so GMT times are supposed to smooth out leap seconds across the year 19:24:37 and are apparently also affected by the tides (which influence the earth's rotation to some extent) 19:24:50 also, once GMT had midday rather than midnight at time 0, but that was changed 19:25:12 On computers you'll get something close to UTC anyway (maybe with smoothed leap seconds) 19:25:15 but apparently you can write times like "December 31.5 GMT" 19:25:36 which is a great idea, fractional days in dates is pretty obvious once you see it 19:25:44 Fun. 19:26:49 Though it's a bit odd to start at 1.0 and end at <32.0. 19:27:00 ais523: oh yeah. http://www.madore.org/~david/weblog/d.2007-03-32.1434.html#d.2007-03-32.1434 is dated to a stylized nonexistent date 19:27:18 March 32 2007 19:27:20 how did that happen? 19:27:33 ais523: deliberate style thing 19:27:46 I guess it's the same basic concept as 9690 September, 1993 19:27:47 David may have had to modify his blog engine to allow that for all I know 19:28:21 What kind of format is this... '2020 M05 30' 19:28:32 well it makes it clear what's the month and what's the day 19:28:36 there's also http://www.madore.org/~david/weblog/d.2016-12-31.2414.html#d.2016-12-31.2414 which is dated to an existent date but its topic is a fictional date 19:28:39 at least if you use a language where "month" starts with "m" 19:28:50 well, more like the topic is what special event happens on a fictional day 19:28:59 ais523: Oh that kind of makes sense. Still looks odd. 19:29:03 perhaps it might be useful for unambiguity if you normally use a format that gives week numbers rather than month numbers 19:29:16 (those normally put a W into the format to avoid people misinterpreting them as months) 19:29:17 ais523: no, for week numbers you use 19:29:18 `datei 19:29:20 2020-03-12 19:29:19.493 +0000 UTC March 12 Thursday 2020-W11-4 19:29:26 2020-W11-4 <--- that thing 19:30:17 int-e: I think the date was written as 2020 MAY 30 first, then someone changed the MAY to 05 but wasn't precise enough with the corrector fluid 19:30:35 or possibly 2020 MAI 30 19:31:26 b_jonas: It's how Firefox renders the expiration date of certificates for me in the "Security" tab of the "Page info" dialog... 19:31:37 (And no, it's M for all months.) 19:32:03 This may have something to do with it, of course: LC_TIME="POSIX" 19:32:35 int-e: oh, that's an improvement. aren't those expiration dates stored in some insane format in the certificates, with the fields in some random order like %m%d%y%H%M%C%Z,%S ? 19:33:21 huh, so some of the BBC radio stations send a time reference signal by radio on the hour most hours, consisting of five short beeps and one longer beep 19:33:35 but they adjust for leap seconds by sending an additional short beep on the leap second 19:33:50 that's kind-of clever, I should listen out for it next time there's a leap second 19:33:50 ais523: nice 19:34:20 Annoyingly, LC_TIME has no effect on this. But setting LANG to en_US changes the format. 19:34:29 this also adjusts for negative leap seconds in the obvious way, but a negative leap second has never happened 19:34:59 the five beeps from radio was how I set my watch long ago, when the internet didn't exist, I wore a watch, and cheap watches keep time so inaccurately that I had to set the time often 19:35:40 the television also showed the time but that was not usable for setting an accurate clock because it had an impredictible amount of delay up to 5 seconds 19:35:54 I wonder whether radio-controlled clocks use the BBC time signal, or some other time signal 19:36:38 I think they use some other signal 19:36:58 but I'm not quite sure 19:37:04 I don't like radio controlled clocks 19:37:50 in the UK there's a phone number you can dial for an accurate time signal spoken as words 19:38:10 (humans have recorded a description for every time it can display, a computer replays the human speaking the time) 19:38:20 but it's rarely useful nowadays now that NTP exists, and IIRC fairly expensive 19:38:44 yes, that still exists in Hungary, and surprisingly it's a three digit phone number too 19:39:22 it's useful because you can use it on dumb analog home phone lines when the electricity is out 19:39:44 also, imagine you're blind and need to know the current time 19:39:54 you would probably have a local speaking clock, wouldn't you? 19:40:04 I had a blind teacher who had a wristwatch 19:40:13 he would touch the hands of the watch to know the time 19:40:19 yes, a local speaking clock on your mobile phone, because you don't want to pay for the telephone call every time 19:40:20 Yes, there are devices for that. But that niche by itself should justify the 3 digit number :) 19:40:41 I just tried running `date | espeak` but its default output format isn't great for speaking 19:40:45 Even if it's not used much. 19:41:28 b_jonas: Hah. Now imagine making that into a cloud service that calls that phone number once per minute, and replays the resulting recording to all the users of the app. 19:42:25 . o O ( The sad part is that I can't rule out with certainty that this is being done. We build amazingly stupid things. ) 19:42:41 there are some other potentially useful but rarely used services that used to be available on dumb phone lines but have been discontinued since. I imagine the speaking clock service is very cheap to run now so there's not much incentive to discontinue it 19:43:47 `date '+%H:%M:, %A %-d %Y' | espeak` 19:43:48 date: invalid date ‘'+%H:%M:\023, %A %-d \002 %Y' | espeak`’ 19:43:59 err, my client didn't interpret that well, n 19:44:00 the Wikimedia Commons Picture of the Year competition round 1 voting is on, but I'm too tired to look through the images now. I'll have to remember to do that some time before the voting ends on 2020-03-22 19:44:13 `quote privmsg #esoteric :date '+%H:%M:, %A %-d %Y' | espeak 19:44:15 No output. 19:44:18 date '+%H:%M:, %A %-d %Y' | espeak 19:44:21 there we go? 19:44:28 I don't know what's the command to make my computer speak 19:44:33 apparently noy 19:44:33 ais523: HackEso doesn't have a sound output 19:44:39 b_jonas: I wasn't trying to run it 19:44:40 just post it in IRC 19:44:45 `date +%H:%M:%S, %A %-d %Y 19:44:46 19:44:46, Thursday 12 2020 19:44:50 but apparently my client interprets escapes even in /quote 19:44:54 it has text-to-speech in system preferences / accessibility, but how to get it from terminal? 19:45:01 date '+%H:%M:%S, %A %-d %B %Y' | espeak 19:45:05 there we go 19:45:22 `date '+%H:%M:%S, %A %-d %B %Y' 19:45:23 date: invalid date ‘'+%H:%M:%S, %A %-d %B %Y'’ 19:45:29 `` date '+%H:%M:%S, %A %-d %B %Y' 19:45:30 19:45:29, Thursday 12 March 2020 19:45:40 espeak is fairly good at pronouncing that format 19:46:15 ais523: the actual speaking clock uses a different format including "half past" and "quarter to" and that sort of nonsense 19:46:32 I didn't want an actual speaking clock-alike, just something I could tell the time from 19:46:41 but we're slowly advancing towards using a proper positional number system 19:46:55 so we can just use %H:%M:%S now 19:47:27 and more importantly, almost nobody writes months in roman numerals now, so that's one less format for months that I have to deal with 19:47:54 but I still hate how months are sometimes named and almost no calendar lists both the name and the number of months 19:48:16 hmm, if you're going to have a d:m:y date format, an h:m:s time format is inconsistent 19:48:20 it should be s:m:h for consistency 19:48:38 I never know what number of month August and September are 19:48:42 I wonder why times are consistently big-endian, whereas big-endian dates are rarely used outside technology 19:48:52 ais523: no, I'm using %Y-%m-%d date format 19:48:52 8 and 9 respectively 19:49:05 I was thinking of my espeak date format 19:49:48 time formats are not consistently big endian, because "quarter to five" is not big endian, nor is "12 PM" 19:50:01 or "12:10 PM" 19:50:50 as for datetime formats, you know which website I hate the most about that? 19:51:26 hmm, I just realised that middle-endianness is actually really common in the real world 19:51:30 after seeing all these examples 19:51:40 I hadn't thought of AM/PM as a digit but of course it is 19:52:37 the OOTS forums, not because "Today, 07:25 PM" is a really stupid datetime format, but because of the hypocricy: it says " (ISO 8601)" after each such timestamp and links to some webpage on W3C about what date formats you should use. 19:53:18 and no, I checked https://forums.giantitp.com/profile.php?do=editoptions , you can change the time zone, but you can't change to a saner datetime format 19:54:05 the only forum where I customized the date/time format (beyond changing the timezone) was mafiascum.net, which appears to allow all of strftime 19:54:17 that was because the default format didn't show the seconds and they were often important 19:54:24 if you follow the "show printable version" of thread link, that timestamp changes to "2020-03-12, 07:25 PM" 19:54:26 Yes, some web forums allow that customization and some dont. 19:54:34 That is one thing how NNTP is better. While it uses one date/time format, the client can reformat it for display. 19:54:58 zzo38: I could technically have a custom client for these forums too 19:55:17 but the problem is that phpBB's HTML format changes so often that you'd have to replace half of your client every year 19:55:28 I've parsed phpBB forums multiple times, they're never the same 19:55:32 b_jonas: Yes, or a GreaseMonkey script, or whatever, but that isn't that good (including for the reason you specify, and others) 19:55:53 I think it's open source, isn't it? you could try to upstream an API 19:56:24 ais523: you can't even deterministically parse the "Today" or "Yesterday" datetime format when it's near a day boundary 19:56:46 does it give you a better format when you mouse-hover it? 19:56:58 ais523: not the OOTS server, no. 19:57:00 on Reddit the default time format is very imprecise but it gives you a proper datestamp in the title field 19:57:01 some other websites do 19:58:15 ais523: I don't need an "API", those are for sites that use so much crazy javascript for rendering that the normal web output can't be parsed, with the website possibly trying to add extra restrictive terms for anyone using the API; phpBB isn't like that, the HTML can be parsed just fine, almost everything is represented in there, 19:58:24 it's just that they change the format every few years 19:58:27 -!- Lord_of_Life_ has joined. 19:59:07 b_jonas: well the point of the API is also to be stable and machine-parsable, avoiding the need to scrape 19:59:13 I prefer websites where there's no separate API, instead the HTML format has reliable classes and other extra info that isn't necessarily used for rendering the default view, but reliable for anything you want to do client-side 19:59:14 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 19:59:30 ais523: an API, sure. those are fine. it's "API"s that I don't like. 19:59:34 Wikipedia's pages are very scrapable and I've written a number of scripts to scrape them, yet it was nonetheless decided that an API would be useful and it is widely used 19:59:46 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 19:59:54 simply because it's less likely to break as a consequence of unrelated changes 20:00:03 ais523: yes, mediawiki has the api.php which is mostly well designed, better than most others 20:00:10 it's not perfect, but good enough 20:00:57 I have used the mediawiki API for reading a few times, not yet for writing 20:01:42 I think it should be made to use NNTP; if a message is received by NNTP, the headers should be kept (including message ID if the client specifies one), and then decide how to render for the web interface (it should render the message as plain text, unless there is a "Content-type: text/markdown" header, perhaps); and then also implement other way around. 20:02:06 The web interface should also need to display the message ID and connection information, even if JavaScript and CSS are both disabled. 20:02:45 once I considered making changes to espeak’s data to make it pronounce Russian better, but I think that’s a hard task without some software to help with editing and analyzing all the stuff e. g. in which direction vowel parameters should be changed, to not try all possible values in vain 20:03:30 . o O ( esqueak ) 20:04:02 espeak is one of those programs which I would /expect/ to be almost impenetrable to someone not familiar with the code 20:04:26 by the way, the IOCCC submission deadline is coming soon 20:04:26 because it's trying to do something that, for most humans, would be poorly defined and very difficult to express rigorously 20:04:33 oh, it's open again? 20:04:36 yes 20:04:41 I probably won't have a submission for this year 20:04:45 and also this usually requires extending the dictionary with many rare wordforms 20:04:49 I had a great idea a number of years ago but never had time to work on it 20:04:58 (and another great idea a number of years ago which GregorR used to win) 20:05:40 it's closing in a few days anyway 20:05:41 I have a few IOCCC ideas, but most probably wouldn't work, and I didn't have the energy to work on the remaining ones 20:05:58 if I felt like working on them, I wouldn't care about the deadline, because it's a recurring event now 20:06:15 it doesn't matter much if I can only submit something two years later and it's judged two years after that 20:06:24 well, it can matter a little 20:06:26 but not too much 20:06:34 ais523: ah, I didn’t mean the code, the language properties are defined in separate files 20:06:42 arseniiv: those too 20:06:58 yeah their format is quite complex I think 20:07:29 arseniiv: it has to be. languages are complex if you want to text to speech them. 20:07:42 I have done some changes with espeak files before 20:07:53 languages are complex full stop, apart from a few conlangs and computer languages 20:07:58 and also there are the recordings for consonants, which also can require meddling with. Though the vowels may come first 20:08:02 this is because information is complex 20:08:10 and languages are about expressing information 20:08:18 zzo38: are they domain-specific words, possibly acronyms, added to the dictionary with custom pronunciations 20:08:19 yeah languages are a ton of complexity on so many levels 20:09:15 I did not do dictionary modification, just the speech modification 20:09:39 though phonetics per se is not that complex, but even this one task, of representing an appropriate average phonetic invertory for a dialect, may be rendered hard to do, as in espeak 20:10:02 "invertory" 20:10:07 phonology is where things become more complex, and mapping from the written text, still more 20:10:57 Now I wonder if a file can be written for clock speech 20:11:16 zzo38: there's an old IOCCC entry for that 20:17:59 -!- arseniiv has quit (Ping timeout: 258 seconds). 20:20:34 -!- arseniiv has joined. 20:20:40 I’m almost jealous for Spanish where marking accent is for what I know mandatory 20:21:39 haha I accidentally forgot to pay to my ISP, here now take my money and give me #esotetic back 20:22:53 and this post hadn’t even gone through: 20:22:59 and with languages having accent which jumps here and there and isn’t usually marked in the text, oh. A dictionary wouldn’t solve annotating accents as this may require parsing the actual syntax to make out which of homographic words each one is. Happily, espeak allows to mark accents manually, and happily, Russian has only one kind of accent and no tones 20:24:33 "invertory" => hm? :) 20:27:02 ¿„invertory„? 20:28:00 arseniiv: you typoed that one first 20:28:19 ww… why 20:28:32 I’ll consult my dictionary one sec 20:28:44 ah I see 20:29:18 a sneaky one. I haven’t even noticed something’s wrong 20:31:31 ais523: did you at least notice "#esotetic"? 20:32:37 lol 20:33:13 (but why ais52̈3) 20:33:31 I wasn't paying attention to the channel 20:33:33 I'm not, most of the time 20:33:41 although I'll catch up on scrollback on occasion 20:34:28 argh sorry 20:34:35 I should stop tab-expanding the wrong person 20:36:03 hehe 20:36:21 `? torgle 20:36:23 torgle? ¯\(°​_o)/¯ 20:37:18 `? perl 20:37:19 Perl is the Perfect Emacs Rewriting Language 20:37:25 makes sense 20:38:13 someone has non-secret plans for 2020-04-01? 20:38:32 arseniiv: I'll be reading the SIGBOVIK proceedings probably 20:39:01 oh I forgot about that, I should make a bookmark 20:42:11 but I meant, have you planned something impure, i. e. effectful 20:43:07 `? plans 20:43:08 plans? ¯\(°​_o)/¯ 20:45:34 for my part I’m still to have an idea from somewhere. Unfruitful. No flashy philosophic zen esolang ideas too. Completely unacceptable 20:46:19 though maybe an esolang utilizing exitwhen only, but I’m not confident that’s possible 20:47:46 and also obviously exitwhen is a local construct, and the corresponding global thing is simply algebraic effects (if one treats exitwhen in an extended sense) 20:48:49 arseniiv: it's a Wednesday so I'll go to the swimming pool. how much do viruses survive in a chlorinated swimming pool? because infecting others or getting infected could be impure. 20:49:09 wait, is it a wednesday? 20:49:16 let me recheck 20:49:27 hopefully that kind of impure wouldn’t happen to any of us! 20:49:39 `datei 2020-04-01 20:49:40 2020-04-01 00:00:00.000 +0000 UTC April 1 Wednesday 2020-W14-3 20:49:46 yes, wednesday 20:55:33 fungot, are you a mad scientist, called mad by the world? 20:55:33 b_jonas: have to go pick up tomorrow without any pain at all and defer you to write the procedure f which i just can't 20:58:15 -!- sprocklem has joined. 21:06:24 -!- ais523 has quit (Quit: sorry for my connection). 21:06:39 -!- ais523 has joined. 21:07:03 b_jonas: I habituallly use two context characters when nickpinging someone 21:07:22 WHOA I just found a useful feature in the UI of this phone 21:07:36 still sucks in general, just slightly less than I thought 21:07:57 ais523: um, what do you mean by "two context characters"? 21:10:47 the first two characters 21:11:03 sometimes you can nickping someone with just tab, but the IRC client needs to guess a lot in that case 21:11:20 I just tried it out and it guessed "b_jonas:" which seems like a reasonable guess in the circumstances 21:11:30 ah, tab expansion 22:10:07 in the meantime I hypothesize a concatenative language with dynamic-typed effects and handlers *rofl* 22:11:16 though I think I’m doing something wrong as I came to need an additional `unhandle` primitive to be able to represent rethrowing an exception, when treating throwing exceptions as a type of effect 22:11:55 or else the code would try to handle an exception thrown in the handler by that same handler 22:13:45 . o O ( tab expansion makes your tabs 8 characters wide ) 22:14:17 tabstops* 22:17:27 I thought I would be able to represent alg. datatypes and matching on their values via this effect framework, but it seems impossible. Their analogy is not of this kind 22:24:05 hm or maybe with quasiquoting and making a set of data constructors separate from effect constructors one could go Scott on them: a data constructor DataX takes the corresponding number of values v1, …, vn from the stack and pushes a quote [ v1 … vn EffectX ]. Then a match construct pops a quote and evaluates it in the context of an effect handler corresponding to this data type. Hm but if one tries to handle a wrong value, it can be 22:24:05 handled with some outer matching construct not intended to do so. Though that’s a pretty esotetic behaviour 22:24:15 and again that typo 22:25:20 do you like this? (not “esotetic” but data via effects) 22:28:52 come to this, it may as well be called Esotetic Invertory 22:29:09 this hypothetical language 22:32:41 but I’m lazy to write many things needed for that to work at all: a basic stack language, quotes, quasiquoting, dictionary literals (maybe as a kind of macro), a couple of basic datatypes for making IO with, and also a symbol datatype too, for specifying effect names and constructors in handlers 22:33:18 though one can do with integer indices for constructors, and then arrays instead of dictionaries. Hmm… 22:37:24 arseniiv: modify an existing langauge then? 22:38:03 b_jonas: it may be more tedious as I would need to understand how it works first 22:38:22 I think I can minimize this thing sufficiently, though 22:47:24 -!- oerjan has joined. 22:50:04 . o O ( I hate email ) 22:52:55 are the logs down 22:55:45 suppose one can push not only a fresh quote by using `[ ... ]` but also push a function pointer by just writing `'word` or something. Then I can make effect types into plain words, and effect constructor will just push that “effect quote” and an additional index. A handler will be able first to compare the pointer to the one it’s supposed to handle, and if it’s OK, it’ll apply it to the constructor index and select the handling 22:55:45 path based on the result 22:55:45 all that requires way less primitives but it can be wrapped gracefully. An effect constructor wrapper would just place an effect quote and index on the stack and call an universal `effect` primitive which would find a nearest correct handler nearest to the top of the call stack, slice a continuation, push it under those two valuesm call the handler etc. etc. 22:55:45 though I’d be more glad if I’ll come up with something neater than arbitrary values to represent effect constructors. Or I should reject constructors altogether and think of that value as an argument. Hm but that way one could make it to shift/reset and this is too far 22:59:33 hm i think my net connection is dead slow 23:02:47 oerjan: at least alternative logs http://tunes.org/~nef/logs/esoteric/?C=M;O=D do work. The primary ones don’t load for me right now too, but approx. 2 hours ago they did 23:03:49 i got the tunes 23:09:23 are the logs down ← stalker mode is still updating live 23:09:49 but I can't load the page in a new tab 23:09:58 so I think the logs are updating but the webserver hosting them is having issues 23:10:39 504, apparently 23:14:17 (re: email, but it turns out that poking people via email is more effective than leaving them reports on github) 23:17:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).