00:00:58 -!- 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.”). 00:07:15 -!- cactus5 has joined. 00:11:31 Hello! Could someone hint me one what esolang is this code from? : 00:11:37 M73 P0 R2 M201 X9000 Y9000 Z500 E10000 M203 X500 Y500 Z12 E120 M204 P2000 R1500 T2000 M205 X10.00 Y10.00 Z0.20 E2.50 M205 S0 T0 M107 M115 U3.1.0 M83 M204 S2000 T1500 00:12:05 oh \n didn't paste ... sry 00:14:41 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:16:06 * oerjan doesn't recognize that 00:16:35 @metar ENVA 00:16:36 ENVA 032350Z 30010KT 9999 FEW047 OVC064 03/M02 Q1004 RMK WIND 670FT 31015KT 00:22:16 -!- cactus5 has quit (Quit: Page closed). 00:22:17 -!- zzo38 has joined. 01:00:06 Looks very much like G-code except without any G commands. 01:00:31 yep 01:00:37 In particular, I think "M115 U3.1.0" is Prusa's "print firmware version" special. 01:00:59 I kind of think it is G code 01:01:04 in some form 01:01:18 :O 01:01:50 If it's not "real" Gcode, it's at least clearly inspired by. 01:01:55 Oh, they're not here any more. 01:02:10 Well, you win some, you lose some. 01:05:55 -!- dog_star has quit (Ping timeout: 264 seconds). 01:06:31 -!- dog_star has joined. 01:08:33 . o O ( dog star? you can't be sirius. ) 01:46:48 [[Keg]] M https://esolangs.org/w/index.php?diff=61622&oldid=61600 * A * (+213) /* 99 Bottles of Beer Program */ 01:58:38 [[Drive-In Window]] https://esolangs.org/w/index.php?diff=61623&oldid=61595 * Oerjan * (-776) Sorry, but it's really not TC. 02:00:32 [[Keg]] https://esolangs.org/w/index.php?diff=61624&oldid=61622 * A * (+215) /* 99 Bottles of Beer Program */ 02:01:56 [[Keg]] M https://esolangs.org/w/index.php?diff=61625&oldid=61624 * A * (+13) /* 99 Bottles of Beer Program */ 02:16:41 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=61626&oldid=61604 * TonyBrown148 * (+219) 02:23:12 [[Keg]] M https://esolangs.org/w/index.php?diff=61627&oldid=61625 * A * (-213) trivial 02:31:18 [[Keg]] https://esolangs.org/w/index.php?diff=61628&oldid=61627 * A * (+42) /* Fibonacci Numbers */ 02:37:32 I changed my NNTP server to return a 503 error instead of 500 for the NEWGROUPS command. 02:39:08 [[Truth-machine]] https://esolangs.org/w/index.php?diff=61629&oldid=61503 * A * (+34) /* Karma */ 02:44:59 [[Keg]] M https://esolangs.org/w/index.php?diff=61630&oldid=61628 * A * (+40) /* Truth-machine */ 02:48:44 (The RFC requires that the NEWGROUPS command is implemented if reader capabilities are available, but does not require that this command lists newsgroups that the server does not know the creation date of. Since I am not keeping track of creation dates for newsgroups, I just put 503 instead.) 02:55:24 [[Keg]] https://esolangs.org/w/index.php?diff=61631&oldid=61630 * A * (+109) /* Infinite loop(very trivial) */ 02:57:31 [[Keg]] https://esolangs.org/w/index.php?diff=61632&oldid=61631 * A * (-55) /* Ongoing code snippet to input an integer */ 03:03:25 [[Keg]] M https://esolangs.org/w/index.php?diff=61633&oldid=61632 * A * (+107) /* One-line integer input */ 03:18:13 [[Keg]] https://esolangs.org/w/index.php?diff=61634&oldid=61633 * A * (+96) /* _ re-written in Keg */ 03:19:07 [[Deadfish]] https://esolangs.org/w/index.php?diff=61635&oldid=61436 * A * (+95) /* Julia */ 03:21:15 [[Deadfish]] M https://esolangs.org/w/index.php?diff=61636&oldid=61635 * A * (+4) /* Keg */ 03:21:29 [[Keg]] M https://esolangs.org/w/index.php?diff=61637&oldid=61634 * A * (+4) /* Deadfish */ 03:25:43 -!- FreeFull has quit. 03:27:29 [[Keg]] M https://esolangs.org/w/index.php?diff=61638&oldid=61637 * A * (+247) Computational class 03:29:43 [[Keg]] M https://esolangs.org/w/index.php?diff=61639&oldid=61638 * A * (-28) Wait a second, it is too complex to be a Turing tarpit. 03:31:15 [[Works in progress]] https://esolangs.org/w/index.php?diff=61640&oldid=61280 * A * (+10) 03:35:22 [[User:A]] M https://esolangs.org/w/index.php?diff=61641&oldid=61339 * A * (+6) It is boring, so I will comment it out. 03:35:34 [[User:A]] M https://esolangs.org/w/index.php?diff=61642&oldid=61641 * A * (+1) 03:42:26 I also recently fixed a error where it would not work properly if a command included trailing spaces. 03:42:38 [[Keg]] M https://esolangs.org/w/index.php?diff=61643&oldid=61639 * A * (+326) /* Non-cheating variation */ 03:43:09 [[Keg]] https://esolangs.org/w/index.php?diff=61644&oldid=61643 * A * (-1) /* Explanation */ 03:43:38 [[Keg]] M https://esolangs.org/w/index.php?diff=61645&oldid=61644 * A * (-70) trivial 03:46:09 [[User:TonyBrown148]] N https://esolangs.org/w/index.php?oldid=61646 * TonyBrown148 * (+127) Created page with "I am TonyBrown148. The creator of TBF TBF BF --- -- < < > >+ ; , if current cell is 0 and . otherwise | [ || ]" 03:46:40 [[User:TonyBrown148]] https://esolangs.org/w/index.php?diff=61647&oldid=61646 * TonyBrown148 * (-2) 03:56:56 [[Keg]] M https://esolangs.org/w/index.php?diff=61648&oldid=61645 * JonoCode9374 * (-76) This version of Keg won't be rewritten... Instead, a new improved version of Keg is being worked on. 04:14:45 [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=61649&oldid=59422 * TonyBrown148 * (+623) Add TonyBrown148's Attempt 04:15:38 [[BF instruction minimalization]] M https://esolangs.org/w/index.php?diff=61650&oldid=61649 * TonyBrown148 * (+18) add some information 04:16:31 [[BF instruction minimalization]] M https://esolangs.org/w/index.php?diff=61651&oldid=61650 * TonyBrown148 * (+0) /* Step 3(Merge I/O) */ Delete a space 04:18:55 [[BF instruction minimalization]] M https://esolangs.org/w/index.php?diff=61652&oldid=61651 * TonyBrown148 * (+12) /* Step 3(Merge I/O) */ Changed the phrase because ; makes the text bold. 05:30:20 -!- oerjan has quit (Quit: Nite). 05:32:41 `unidecode 〈 05:32:42 ​[U+2329 LEFT-POINTING ANGLE BRACKET] 05:33:34 WHY IS IT WIDE 05:33:44 AAAAAAAAAA 05:46:52 [[Keg]] https://esolangs.org/w/index.php?diff=61653&oldid=61648 * A * (-2) /* Deadfish */ 05:55:48 [[Keg]] M https://esolangs.org/w/index.php?diff=61654&oldid=61653 * JonoCode9374 * (-2) /* Deadfish */ - - > Ascii code for B is 64. 05:56:50 -!- gerzytet has quit (Read error: Connection reset by peer). 05:56:53 [[Keg]] M https://esolangs.org/w/index.php?diff=61655&oldid=61654 * JonoCode9374 * (+1) /* Deadfish */ realised I should have used @ 05:57:13 -!- gerzytet has joined. 06:03:59 my font now encodes lowercase digits! 𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿 06:04:12 [[Keg]] https://esolangs.org/w/index.php?diff=61656&oldid=61655 * A * (+122) I had it 1 byte shorter 06:52:15 -!- Lord_of_Life has quit (Ping timeout: 244 seconds). 06:54:30 [[Keg]] https://esolangs.org/w/index.php?diff=61657&oldid=61656 * A * (+113) /* Deadfish */ 06:55:45 -!- Lord_of_Life has joined. 06:56:48 [[Bootstrap]] M https://esolangs.org/w/index.php?diff=61658&oldid=60470 * A * (-2) grm 06:58:22 [[Bootstrap]] M https://esolangs.org/w/index.php?diff=61659&oldid=61658 * A * (+13) Make the definition general 06:58:51 [[Bootstrap]] M https://esolangs.org/w/index.php?diff=61660&oldid=61659 * A * (+4) Another grm 07:00:57 [[Keg]] M https://esolangs.org/w/index.php?diff=61661&oldid=61657 * A * (+15) Specify 07:05:20 [[Keg]] M https://esolangs.org/w/index.php?diff=61662&oldid=61661 * A * (+62) /* Factorial */ 07:16:03 -!- wmww has joined. 07:21:20 [[Keg]] M https://esolangs.org/w/index.php?diff=61663&oldid=61662 * A * (+76) /* User Defined Functions */ 07:29:18 [[Keg]] M https://esolangs.org/w/index.php?diff=61664&oldid=61663 * A * (+108) Improved command glossary 07:30:15 [[Keg]] M https://esolangs.org/w/index.php?diff=61665&oldid=61664 * A * (-11) Shorten 07:31:10 [[Keg]] M https://esolangs.org/w/index.php?diff=61666&oldid=61665 * A * (-33) /* User Defined Functions */ 07:38:49 [[Keg]] https://esolangs.org/w/index.php?diff=61667&oldid=61666 * JonoCode9374 * (+216) /* User Defined Functions */ - - added a little note 07:40:31 [[Keg]] M https://esolangs.org/w/index.php?diff=61668&oldid=61667 * JonoCode9374 * (+13) /* User Defined Functions */ formatting improval 07:44:14 [[Keg]] https://esolangs.org/w/index.php?diff=61669&oldid=61668 * JonoCode9374 * (+49) /* Example Programs */ Dice simulator 07:54:31 [[Keg]] M https://esolangs.org/w/index.php?diff=61670&oldid=61669 * A * (-4) /* User Defined Functions */ 08:04:57 -!- AnotherTest has joined. 08:56:52 -!- S_Gautam has joined. 09:22:43 [[Keg]] M https://esolangs.org/w/index.php?diff=61671&oldid=61670 * A * (+1) Wrong order 09:26:00 [[Keg]] M https://esolangs.org/w/index.php?diff=61672&oldid=61671 * A * (+72) /* Dice simulator */ 09:32:26 [[Keg]] M https://esolangs.org/w/index.php?diff=61673&oldid=61672 * A * (+96) /* Dice simulator */ 09:54:15 -!- Sgeo_ has quit (Read error: Connection reset by peer). 09:54:39 -!- Sgeo_ has joined. 10:02:15 -!- glowcoil has quit. 10:02:39 -!- glowcoil has joined. 10:07:47 -!- J_Arcane has quit. 10:08:06 -!- J_Arcane has joined. 10:16:55 -!- b_jonas has joined. 10:33:44 -!- LKoen has joined. 10:46:49 [[Keg]] M https://esolangs.org/w/index.php?diff=61674&oldid=61673 * A * (+5) /* Dice simulator */ 10:52:24 [[Keg]] M https://esolangs.org/w/index.php?diff=61675&oldid=61674 * A * (+0) Whoops, the compilation specification is in the wrong order. 11:13:41 [[Keg]] M https://esolangs.org/w/index.php?diff=61676&oldid=61675 * A * (+0) /* Truth-machine */ 11:13:52 [[Keg]] M https://esolangs.org/w/index.php?diff=61677&oldid=61676 * A * (+0) /* One-line integer input */ 11:14:08 [[Keg]] M https://esolangs.org/w/index.php?diff=61678&oldid=61677 * A * (+0) /* Factorial */ 11:14:23 [[Keg]] M https://esolangs.org/w/index.php?diff=61679&oldid=61678 * A * (-1) /* Digital root calculator */ 11:17:58 [[Keg]] M https://esolangs.org/w/index.php?diff=61680&oldid=61679 * A * (+0) /* Fizzbuzz Program (loops up to 100) */ 11:21:01 [[Keg]] M https://esolangs.org/w/index.php?diff=61681&oldid=61680 * A * (+2) /* Deadfish */ 11:24:31 [[Keg]] M https://esolangs.org/w/index.php?diff=61682&oldid=61681 * A * (+44) /* One-line integer input */ 11:26:25 -!- LKoen has quit (Remote host closed the connection). 11:26:33 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 11:27:37 -!- LKoen has joined. 11:33:39 [[Keg]] https://esolangs.org/w/index.php?diff=61683&oldid=61682 * A * (-4) /* Truth-machine */ 11:38:00 [[Truth-machine]] M https://esolangs.org/w/index.php?diff=61684&oldid=61629 * A * (-5) /* Keg */ 11:39:10 [[Deadfish]] M https://esolangs.org/w/index.php?diff=61685&oldid=61636 * A * (-3) /* Keg */ 11:40:17 [[Hello world program in esoteric languages]] M https://esolangs.org/w/index.php?diff=61686&oldid=61363 * A * (+29) /* ISCOM */ 11:51:59 [[Keg]] https://esolangs.org/w/index.php?diff=61687&oldid=61683 * A * (+42) /* Dice simulator */ 11:52:46 [[Keg]] M https://esolangs.org/w/index.php?diff=61688&oldid=61687 * A * (-2) /* Looping counter */ 12:07:26 [[Keg]] M https://esolangs.org/w/index.php?diff=61689&oldid=61688 * A * (+23) /* Looping counter */ 12:09:07 [[Keg]] M https://esolangs.org/w/index.php?diff=61690&oldid=61689 * A * (+0) Capitalize all ascii 's 12:14:05 [[Keg]] M https://esolangs.org/w/index.php?diff=61691&oldid=61690 * A * (-327) /* Non-cheating variation */ 12:16:26 [[Keg]] M https://esolangs.org/w/index.php?diff=61692&oldid=61691 * A * (-20) Shorten 12:26:11 [[Keg]] M https://esolangs.org/w/index.php?diff=61693&oldid=61692 * A * (+420) /* Fibonacci Numbers */ 12:33:30 [[Keg]] M https://esolangs.org/w/index.php?diff=61694&oldid=61693 * A * (+233) Trivial, and add how to implement logical operators. 12:35:25 [[Keg]] M https://esolangs.org/w/index.php?diff=61695&oldid=61694 * A * (+98) /* Logical operators */ 12:53:44 -!- FreeFull has joined. 13:10:43 -!- LKoen has quit (Remote host closed the connection). 13:24:03 -!- atslash has joined. 13:31:31 [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=61696&oldid=61652 * TonyBrown148 * (+167) /* TonyBrown148's attempt */ Change | 13:32:28 -!- arseniiv has joined. 13:40:37 [[Pxem]] https://esolangs.org/w/index.php?diff=61697&oldid=61448 * YamTokTpaFa * (+6) /* Other example */ 13:41:37 [[Pxem]] https://esolangs.org/w/index.php?diff=61698&oldid=61697 * YamTokTpaFa * (-25) /* Examples */ 13:41:49 -!- atslash has quit (Quit: Leaving). 13:45:32 -!- syb has joined. 13:46:54 -!- syb has quit (Remote host closed the connection). 13:47:20 -!- syb has joined. 13:48:14 [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=61699&oldid=61686 * YamTokTpaFa * (+388) 13:55:50 -!- syb has quit (Remote host closed the connection). 14:01:14 [[Keg]] M https://esolangs.org/w/index.php?diff=61700&oldid=61695 * A * (+2) /* Logical operators */ 14:04:36 [[Keg]] M https://esolangs.org/w/index.php?diff=61701&oldid=61700 * A * (-83) /* Fibonacci Numbers */ 14:12:40 -!- Sgeo has joined. 14:13:32 -!- LKoen has joined. 14:15:03 -!- Sgeo_ has quit (Ping timeout: 245 seconds). 14:17:58 -!- ais523 has joined. 14:18:55 how is the Great Firefox Outage of 2019 getting on? 14:29:49 -!- moei has joined. 14:33:28 -!- atslash has joined. 14:34:52 [[History (programming language)]] N https://esolangs.org/w/index.php?oldid=61702 * A * (+1026) Add an esoteric data structure AND a joke language. 14:34:56 hmm, they found an interesting way to do an emergency fix; there's an optional (enablable/disablable in preferences) feature that allows the mozilla devs to run studies, and they created a "study" that fixes the certificate issue (presumably with an explicit whitelisting)? 14:35:53 [[Esoteric data structure]] https://esolangs.org/w/index.php?diff=61703&oldid=59923 * A * (+50) Add my idea. 14:38:48 -!- yaewa has joined. 14:38:56 [[History (programming language)]] https://esolangs.org/w/index.php?diff=61704&oldid=61702 * A * (+331) /* The History data structure */ 14:39:10 [[History (programming language)]] M https://esolangs.org/w/index.php?diff=61705&oldid=61704 * A * (+13) /* An example session of History */ 14:39:12 -!- yaewa has quit (Remote host closed the connection). 14:40:11 -!- moei has quit (Ping timeout: 255 seconds). 14:41:13 [[History (programming language)]] M https://esolangs.org/w/index.php?diff=61706&oldid=61705 * A * (-24) /* An example session of History */ 14:45:05 [[Joke language list]] M https://esolangs.org/w/index.php?diff=61707&oldid=61135 * A * (+99) /* General languages */ 14:46:11 -!- b_jonas has quit (Ping timeout: 246 seconds). 14:47:03 -!- b_jonas has joined. 14:53:04 https://www.youtube.com/watch?v=hsXpLx4soQY 15:09:46 -!- MilkyWay90 has joined. 15:09:56 I am back 15:11:58 -!- MilkyWay90 has quit (Client Quit). 15:23:23 -!- moei has joined. 15:25:47 -!- LKoen has quit (Remote host closed the connection). 15:29:57 -!- LKoen has joined. 15:40:15 ais523: Looking at the "study" XPI file, what it does is it injects a certificate to the browser's certificate store, and then triggers a re-verification of (extension?) signatures: http://ix.io/1I13/js 15:42:32 fizzie: that makes sense 15:42:55 ("doTheThing" is a good name for a function.) 15:43:10 although now I'm wondering how they ensured the extensions were signed by that certificate, maybe there's some sort of indirection involved 15:45:00 .t 16:00:55 rain1: cryptic! 16:01:04 (pun fully intended) 16:21:32 -!- ais523 has quit (Remote host closed the connection). 16:22:45 -!- ais523 has joined. 16:23:18 I am using a old enough version of Firefox that I am unaffected. 16:24:54 zzo38: well, it's about signing on extensions; if you don't use extensions or if you don't use Mozilla's mechanism for signing them, you won't be affected 16:26:32 (normally I wouldn't add the second part of that disjunction, but if there are people out there who use Firefox extensions but some unusual method of loading them, I'd consider zzo38 to have a fairly high probability of being one of them) 16:27:29 Hmm not sure how I'm escaping this. 16:28:24 Maybe because Firefox has been running for a while? 16:29:28 I do use many extensions, but do not have updates and signing checking of extensions enabled (I have some unsigned extensions, since sometimes I have to modify them) 16:31:55 "The fix will be automatically applied in the background within the next few hours." <-- not sure how I'm supposed to feel about this statement. 16:33:45 automatic updates are off here as well (which I hope invalidates that statement as well) 16:35:42 And it seems that the lack of automatic updates keeps the installed addons functioning as well. 16:35:47 int-e: the current fix is based on a run-arbitrary-code-via-telemetry feature that can be enabled and/or disabled 16:35:58 it's separate from the updates, but someone who disables updates would probably disable that to 16:35:59 *too 16:36:57 int-e: The setting should be under Privacy & Security / Firefox Data Collection and Use / Allow Firefox to send technical and interaction data to Mozilla / Allow Firefox to install and run studies. 16:37:02 I think I went through everything with "telemetry" in the name recently and disabled that. 16:37:37 yeah that's disabled. thanks! 16:38:05 (I seem to recall that Debian disables that one by default anyway.) 16:39:29 Yes, apparently. 16:39:36 It's even greyed out. 16:39:43 "Data reporting is disabled for this build configuration" 16:42:20 Looks like my Firefox installation (which I don't really use) actually has one extension that's been deactivated due to "not meet[ing] current Firefox standards", which might even be from that bug. 16:43:05 (It's the "xul-ext-mozvoikko" package that contains a Finnish spell-checker, no idea why I've got that installed.) 16:53:10 -!- LKoen has quit (Remote host closed the connection). 16:54:33 -!- LKoen has joined. 16:57:21 as for firefox, (1) a few months ago the firefox on my windows work machine reverted to using hungarian messages in the UI, despite that I've switched it to english previously. apparently it listens to the _other_ about:config variable that tells the UI language since an update. 16:57:53 and (2) when I complained about something not working in the online banking, phone support just told me the generic response that I should try to use chrome as the browser 17:07:43 -!- Sgeo_ has joined. 17:11:00 -!- Sgeo has quit (Ping timeout: 250 seconds). 17:13:02 Heh, that reminds me -- I tried out LANGUAGE=en_GB:en:fi as a misguided attempt to say "speak English, but fall back to Finnish if available and English isn't". But of course most programs don't explicitly have message files for English (it's just the untranslated messages are in English), so the end result was everything started to speak Finnish. 17:13:34 So I undid that, but I had installed a kernel update in the meanwhile, and that involves updating grub, so the boot menu was in Finnish all the way until the next update. 17:13:40 fizzie: isn't it that most programs don't even care about the LANGUAGE var, and use only the LC_MESSAGE locale? 17:13:57 Anything using gettext will care about LANGUAGE. 17:14:50 https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html 17:14:56 Can you specify a "i-default" language? 17:15:26 "Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called LANGUAGE. GNU gettext gives preference to LANGUAGE over LC_ALL and LANG for the purpose of message handling, but you still need to 17:15:32 have LANG (or LC_ALL) set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set LANGUAGE to ‘sv:de’ while leaving LANG to ‘sv_SE’." 17:15:57 . o O ( am I alone in only setting LC_CTYPE and nothing else in the `locale` area? ) 17:16:27 int-e: I don't think that's too weird, I think I might have done that too? 17:16:49 fizzie: it's an honest question, I'm wondering. 17:17:19 I think now I do LANG=en_GB.UTF-8, LANGUAGE=en_GB:en_US:en, and I don't know if that latter one really makes any difference anywhere. 17:18:02 IIRC I did something like that (only en_US probably) and didn't like the collation. 17:18:16 int-e: you're not. I did that, and glibc used to have a bug that that caused 17:18:54 int-e: technically it would be better to set LC_CTYPE, LC_MEASUREMENT, and LC_PAPER, but very few programs care about those locales 17:19:00 I just have LANG=C on my computer, and do not have the other stuff set 17:19:05 `` env | egrep 'LANG|LC' 17:19:06 LANG=en_NZ.UTF-8 \ IRC_MESSAGE=`` env | egrep 'LANG|LC' 17:19:23 `` locale # does it have this? 17:19:24 LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="en_NZ.UTF-8" \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ.UTF-8" \ LC_ALL= 17:19:49 though I guess that's misleading because it propagates LANG everywhere else 17:20:05 I don't know if it's intentional or not, but I think you can tell the fallbacky ones because they have quotes. 17:20:13 `` env LC_CTYPE=en_NZ.UTF-8 locale 17:20:15 LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE=en_NZ.UTF-8 \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ.UTF-8" \ LC_ALL= 17:20:20 See, the quotes disappeared. 17:20:30 int-e: yes, LANG sets the default locale, and you can override separate facets with the individual LC_* variables 17:21:00 ``` locale 17:21:01 LANG=C \ LANGUAGE= \ LC_CTYPE="C" \ LC_NUMERIC="C" \ LC_TIME="C" \ LC_COLLATE="C" \ LC_MONETARY="C" \ LC_MESSAGES="C" \ LC_PAPER="C" \ LC_NAME="C" \ LC_ADDRESS="C" \ LC_TELEPHONE="C" \ LC_MEASUREMENT="C" \ LC_IDENTIFICATION="C" \ LC_ALL= 17:21:21 fizzie: you're good: "Values for variables set in the environment are printed without double quotes, implied values are printed with double quotes." 17:21:53 Can you set some of them for stuff other than a language? Such as, for paper and telephone and so on you might want some format other than the specification of a language; will that work? 17:21:53 ``` export LC_CTYPE=hu_HU.utf8 LC_MEASUREMENT=hu_HU.utf8 LC_PAPER=hu_HU.utf8; locale # I think we don't have that locale installed here 17:21:54 bash: warning: setlocale: LC_CTYPE: cannot change locale (hu_HU.utf8): No such file or directory \ locale: Cannot set LC_CTYPE to default locale: No such file or directory \ locale: Cannot set LC_ALL to default locale: No such file or directory \ LANG=C \ LANGUAGE= \ LC_CTYPE=hu_HU.utf8 \ LC_NUMERIC="C" \ LC_TIME="C" \ LC_COLLATE="C" \ LC_MONETARY="C" \ LC_MESSAGES="C" \ LC_PAPER=hu_HU.utf8 \ LC_NAME="C" \ LC_ADDRESS="C" \ LC_TELEPHONE="C" \ LC_MEASUREMEN 17:22:18 (And also with date/time; you might want to specify your own date/time format, too) 17:22:39 zzo38: I think there are effectively only two different values for paper and measurement, so there's not much point complicating it 17:22:53 I don't much care about the TELEPHONE part 17:23:28 b_jonas: For measurement I suppose, but for paper isn't there many different paper sizes? 17:24:24 zzo38: only two _default_ paper sizes I believe, letter and A4 17:24:32 you can print on other sizes of paper, but those aren't the default 17:24:40 you just set them per printing job explicitly 17:24:44 I have en_GB.UTF-8, en_US.UTF-8 and en_NZ.UTF-8 uncommented in /etc/locale.gen on the HackEso system. 17:24:51 The last just because of the bot. 17:25:00 b_jonas: O, OK. 17:25:15 there could be more, maybe I just don't know them 17:25:54 similarly for LC_MEASUREMENT, you can tell programs to write distances in french leagues, it's just not the default from any french locale probably 18:27:17 programs should know what languages their fallbacks are in :-( 18:27:25 really, the fallback should be in C 18:28:49 Yes, if it uses languages at all, then it ought to know 18:42:14 LC_TELEPHONE seems almost unusable to me; the only plausible use case is to correctly format phone numbers given as user input, when the user doesn't format them clearly 18:43:03 (e.g. in the UK, you'd want to format 03001235000 as (0300) 123 5000; however, this is a very hard transformation to do automatically because the rules would depend on a prefix database) 18:45:22 -!- LKoen has quit (Remote host closed the connection). 18:45:57 ais523: I think that's for the modem dialer to know how to format international numbers on a fixed phone line, since those don't accept a plus 18:46:21 s/fixed/landline/ 18:47:00 -!- LKoen has joined. 18:48:00 What even is there to query the LC_TELEPHONE? 18:48:17 `` locale -k LC_TELEPHONE 18:48:18 tel_int_fmt="+%c %a %l" \ tel_dom_fmt="" \ int_select="" \ int_prefix="64" \ telephone-codeset="UTF-8" 18:48:26 Yes that would be helpful, but you should allow to define in the system configuration file what prefix to use; the driver can convert + to the proper prefix 18:48:56 fizzie: So, kinda, but what it tells you is pretty useless. 18:49:03 `` env LC_TELEPHONE=en_GB.UTF-8 locale -k LC_TELEPHONE 18:49:03 tel_int_fmt="+%c %a %l" \ tel_dom_fmt="%A %l" \ int_select="00" \ int_prefix="44" \ telephone-codeset="UTF-8" 18:49:53 -!- Lord_of_Life_ has joined. 18:49:55 How do you define the details of the locale anyways? You should need some file to do so, I think. 18:50:33 I think it's somewhat spread out. 18:50:44 But here those LC_TELEPHONE values come from /usr/share/i18n/locales/en_GB. 18:51:38 zzo38: you can't, it's gnu libc magic 18:53:10 -!- Lord_of_Life has quit (Ping timeout: 258 seconds). 18:53:11 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 18:53:37 -!- Melvar has quit (Quit: system upgrade). 18:54:05 -!- LKoen has quit (Remote host closed the connection). 18:54:15 I found those locale files, but can you put any locales in your home directory in case you want to use one that the system administrator has not defined? 18:54:25 I don't think so. 18:55:01 I think it can only use the compiled-together binary things as well? Haven't really explored though. 18:55:31 (Which on this system is /usr/lib/locale/locale-archive.) 18:55:51 -!- LKoen has joined. 18:56:52 Although maybe there's some way to override the default path, in which case you could compile your own thing. 18:57:05 If it can only use the compiled files is OK, but you should be allowed to substitute your own file if you do not want to use the existing one. Furthermore, the C locale should not require any kind of file like that. 18:58:13 Yes, apparently there's a LOCPATH environment variable. 18:58:25 "The user can use custom locales by compiling them with localedef(1) and loading them from a directory pointed by LOCPATH; see the GNU C Library online manual at Locale Names, the locale(1) manual page, and the Testing Locales section below for details and examples." 18:58:31 Fair enough. 18:59:04 OK 19:07:32 -!- xkapastel has joined. 19:12:19 -!- Hoolootwo has quit (Ping timeout: 276 seconds). 19:15:17 -!- Hoolootwo has joined. 19:16:35 right, that's like the TERMINFO_DIRS env-var that I used to use to install urxvt terminfo under my home directory on old systems that didn't come with one 19:16:51 but if you want to use a custom terminfo or locale in a setuid program, you're out of lock 19:16:54 out of luck 19:17:33 fizzie: IIRC a custom locale is how we got false(1) to segfault, last time the "make false return true" discussion came up 19:18:01 it's not quite as good as making it return true, but it's a step on the way 19:22:23 heh. 19:23:00 making true return false is, of course, easy 19:23:20 The docs mentioned that setuid binaries ignore LOCPATH, which is probably good. 19:23:58 that seems like the sort of thing that setuid binaries need to ignore 19:25:16 the good old times when we did stuff like that, 19:25:51 as in that rules abuse in https://www.perlmonks.com/?node_id=376362 where one task is to make something raise an exception, so I set up a debug single step callback, and raise an exception from inside 19:26:15 why is making true return false easy? 19:26:34 does it have to be /bin/true ? 19:27:16 b_jonas: yes, /bin/true 19:27:35 `` /bin/true > /dev/full; echo $? 19:27:35 0 19:27:44 `` /bin/true --help > /dev/full; echo $? 19:27:45 ​/bin/true: write error: No space left on device \ 1 19:27:48 there we go 19:28:29 yeah, ideally we just shouldn't use setuid binaries, so that things that have to run as root or something don't inherit any funny process state, but instead run as a demon or are spawned by a demon and other user's processes call into them without execve, but as long as setuid programs can exist, they need those restrictions 19:28:38 ah wow 19:28:40 let me test 19:28:55 indeed 19:28:58 that returns false 19:29:17 I didn't know about that 19:29:25 the reverse is much harder because /bin/false reports an error even if you successfully --help or --version it 19:29:29 `` /bin/true --help 19:29:29 Usage: /bin/true [ignored command line arguments] \ or: /bin/true OPTION \ Exit with a status code indicating success. \ \ --help display this help and exit \ --version output version information and exit \ \ NOTE: your shell may have its own version of true, which usually supersedes \ the version described here. Please refer to your shell's documentation \ for details about the options it supports. \ \ GNU coreutils online help: < 19:29:44 I did know that /bin/true --help prints help message but returns true, and /bin/false --help prints help message but returns false 19:29:47 I was curious about what the help for /bin/true could possibly say :-D 19:29:52 there's not much to talk about 19:30:03 * APic just learned about /dev/full 19:30:06 Interesting 19:30:07 ais523: in gnu coreutils, the help message says where to report localization bugs 19:30:11 which is strang 19:30:14 /dev/full is a very useful tool for testing 19:30:51 *nod* 19:31:22 it's handy, but it's not really essential. there are other ways to get unwritable file handles. 19:31:23 because write errors are very rare in practice but it's a trivial way to cause a genuine write error 19:31:38 it's a convenience device like /dev/zero 19:32:01 b_jonas: closed-file-handle is the other easy thing to simulate but it often causes a much more complicated error due to things like fopen opening over it 19:32:11 `` /bin/true 1&>- 19:32:14 No output. 19:32:15 `` /bin/true --help 1&>- 19:32:16 No output. 19:32:22 `` /bin/true --help 1&>-; echo $? 19:32:23 0 19:32:33 `` /bin/true --help 1>&-; echo $? 19:32:34 ​/bin/true: write error: Bad file descriptor \ 1 19:32:36 there we go 19:33:05 ais523: no no, don't use a closed filehandle 19:33:28 broken pipe, perhaps? 19:33:42 ais523: I was thinking more of either a AF_LOCAL socket that's been shutdown, or a type of file handle where write isn't valid, such as an open directory 19:33:55 or an epoll filehandle or whatever 19:34:07 it's not easy to open those in pure bash 19:34:27 `` mkfifo f; true < f & (sleep 1; /bin/true --help; echo $? 1>&2) > f 19:34:29 141 19:34:53 hmm, so /bin/true doesn't catch SIGPIPE 19:35:47 heck, or even a regular file open for read only 19:35:57 /dev/full is more useful when you need a filename 19:37:05 `` /bin/true 1 exit=0, 19:37:12 `` /bin/true --help 1 ​/bin/true: write error: Bad file descriptor \ exit=1, 19:37:18 that latter 19:38:07 ``` perl -we 'sysopen STDOUT,"/",0x10000 or die; exec "/bin/true","--help"'; echo exit=$?, 19:38:08 ​/bin/true: write error: Bad file descriptor \ exit=1, 19:38:19 heck, you don't even need the flag 19:38:23 ``` perl -we 'sysopen STDOUT,"/",0 or die; exec "/bin/true","--help"'; echo exit=$?, 19:38:24 ​/bin/true: write error: Bad file descriptor \ exit=1, 19:38:49 `` /bin/true --help 1 ​/bin/true: write error: Bad file descriptor \ exit=1, 19:38:53 even easier 19:39:03 you're right 19:39:24 although this might be a bug in /bin/true , it should probably still give exit code 0 if it can't print the help message 19:40:03 but I rarely use /bin/true, because in shell scripts the shell builtin is easier, and it doesn't try to write anything 19:40:50 "1 apparently 19:41:43 you'd need an explicit check to not allow it, like explicitly fstat the file to check if it's a directory or something 19:41:59 because open without O_WRITE will open directories just fine 19:42:30 it needs to, because that's how opendir+readdir is implemented under the hood, with open and getdents, and for all the *at functions like openat too 19:55:14 -!- Phantom_Hoover has joined. 20:02:07 `` /bin/true --help 1<&2; echo exit=$? 20:02:08 Usage: /bin/true [ignored command line arguments] \ or: /bin/true OPTION \ Exit with a status code indicating success. \ \ --help display this help and exit \ --version output version information and exit \ \ NOTE: your shell may have its own version of true, which usually supersedes \ the version described here. Please refer to your shell's documentation \ for details about the options it supports. \ \ GNU coreutils online help: < 20:02:23 OK, so you can write to stdout even if it was opened only for reading 20:03:04 ais523: no 20:03:24 ais523: it's just that by default the terminal device is opened for read-write, and that same one file description is duped to stdin, stdout, stderr 20:03:48 oh right, dup doesn't mess with permissions 20:03:53 check with fcntl if you want 20:03:59 `` /bin/true --help 1 ​/bin/true: write error: Bad file descriptor \ exit=1 20:05:48 ``` perl -we 'use Fcntl; printf "fl=%04X,\n", fcntl(STDIN, F_GETFL(), 0);' 20:05:49 fl=8000, 20:06:15 ^ if the low two bits are 2, that means the file is open for read-write, which is what you'll normally see in a program in a terminal 20:06:33 but in that case the low two bits aren't 2 20:06:43 yes, because that's HackEso, not a termianl 20:06:55 it doesn't have anything to read things from 20:07:50 b_jonas: re your Perl problems: the official solution to one of them was to override the permissions on undef to make it read/write and assign to it, I'm surprised that didn't end up breaking something more important 20:08:38 ais523: it could end up breaking things, but these are standalone esoteric exercises, not good practices to use in a production program 20:09:04 6 is perfectly fine to do in production IMO 20:09:22 ais523: some could be as a special case 20:09:34 hmm… in pure Perl, is there any way to place arrays as array elements? 20:09:36 I know you can do that via XS 20:09:59 Perl's internals don't have any rule that array elements must be scalars (ditto for hash values), that's just a rule of the language itself 20:10:00 I don't know 20:10:15 note that these can depend on perl 5.8 20:11:38 `` --perl -e '@a=([1]); print ref \$a[0]' 20:11:39 ​/hackenv/bin/`: line 5: --perl: command not found 20:11:42 `` perl -e '@a=([1]); print ref \$a[0]' 20:11:43 REF 20:12:07 `` perl -e '@a=([1]); print ref \ ($a[0])' 20:12:08 REF 20:12:47 hmm, I was expecting SCALAR, am I missing a level of indirection somewhere? 20:12:52 `` perl -e '@a=([1]); print ref ($a[0])' 20:12:52 ARRAY 20:13:05 I guess REF is more specific than SCALAR 20:13:19 (and technically you'd have to bit_and the file status flags with 0x01000003 to get the mode, and the possible modes are 0 for read only, 1 for write only, 2 for read-write, 3 for something Linux-specific, 0x10000000 for something else Linux-specific, except possibly on Hurd which uses different numeric values for O_READ and O_WRITE and O_RDWR just to be incompatible with everything) 20:13:22 but it's weird to see references being displayed with a different type from other scalars 20:14:43 ais523: ref can returns REF and a few other fancy things that still mean scalar 20:15:50 it might be best to just check for undef, ARRAH, HASH, IO, FORMAT, and interpret anything else to mean it's a scalar reference; 20:16:11 and call Scalar::Util::reftype instead of ref to handle blessed stuff 20:16:37 but even then these functions are crazy 20:16:53 ``` perl -e warn ref(qr/foo) # it's not a reference, so why does ref return true? 20:16:54 bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `perl -e warn ref(qr/foo) # it's not a reference, so why does ref return true?' 20:17:01 `perl -e warn ref(qr/foo/) 20:17:03 Regexp at -e line 1. 20:17:17 `perl -e warn use Scalar::Util; Scalar::Util::reftype(qr/foo/) 20:17:18 ​"use" not allowed in expression at -e line 1, near "warn " \ syntax error at -e line 1, near "warn use Scalar::Util" \ Execution of -e aborted due to compilation errors. 20:17:25 `perl -e use Scalar::Util; warn Scalar::Util::reftype(qr/foo/) 20:17:26 REGEXP at -e line 1. 20:17:45 perl is a crazy alnguage 20:19:34 -!- ais523 has quit (Ping timeout: 252 seconds). 20:21:08 -!- irc_bird has joined. 20:21:24 -!- LKoen has quit (Remote host closed the connection). 20:22:04 -!- irc_bird has quit (Client Quit). 20:24:25 -!- ais523 has joined. 20:25:45 `perl -wuse Scalar::Util "reftype"; warn reftype(\substr($x,0,0)) 20:25:46 String found where operator expected at -e line 1, near "Scalar::Util "reftype"" \ (Do you need to predeclare Scalar::Util?) \ syntax error at -e line 1, near "Scalar::Util "reftype"" \ Execution of -e aborted due to compilation errors. 20:25:52 `perl -euse Scalar::Util "reftype"; warn reftype(\substr($x,0,0)) 20:25:53 LVALUE at -e line 1. 20:26:00 `perl -euse Scalar::Util "reftype"; warn reftype(\vec($x,0,1)) 20:26:01 LVALUE at -e line 1. 20:28:22 `perl -euse Scalar::Util "reftype"; warn reftype(qr/foo/) 20:28:23 REGEXP at -e line 1. 20:29:01 but then, perl has all sorts of user-defined magical scalars, so a scalar can behave in almost any way 20:29:21 you can't really write a program that behaves properly for any input if you can't trust what scalars go into the input 20:45:01 there's probably a library to check whether a scalar is magical or not 20:45:18 there are only so many things you can do magic-wise to a scalar; there are a lot, but it's a finite number and it's enumerated within the Perl header files 20:46:35 How does that work? 20:47:47 Perl scalars are basically just a data structure with a large number of fields indicating all the possible special behaviours they could have 20:48:28 Perl programmers use the term "magic" for data that acts very unusually compared to most data, but all possible forms of magic have to be encoded in the scalar's data structure somehow 20:49:49 ais523: yes, with B for example 20:51:02 What kind of special behaviours are possible? 20:51:02 `perl -e use Devel::Peek; $x="foo"; Dump($x) # not too magical 20:51:03 SV = PV(0x552ae9bb20) at 0x552aeb8a60 \ REFCNT = 1 \ FLAGS = (POK,IsCOW,pPOK) \ PV = 0x552aebd960 "foo"\0 \ CUR = 3 \ LEN = 10 \ COW_REFCNT = 1 20:51:12 `perl -e use Devel::Peek; $x=qr"foo"; Dump($x) # quite magical 20:51:13 SV = IV(0x552aeb8a50) at 0x552aeb8a60 \ REFCNT = 1 \ FLAGS = (ROK) \ RV = 0x552aeb8268 \ SV = REGEXP(0x552aecd7e8) at 0x552aeb8268 \ REFCNT = 1 \ FLAGS = (OBJECT,FAKE) \ PV = 0x552aedc140 "(?^:foo)" \ CUR = 8 \ STASH = 0x552aeb8010"Regexp" \ COMPFLAGS = 0x0 () \ EXTFLAGS = 0x680000 (CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML) \ ENGINE = 0x552ae94560 (STANDARD) \ INTFLAGS = 0x0 () \ NPARENS = 0 \ LASTPAREN 20:51:13 -!- ais523 has quit (Quit: sorry for my connection). 20:51:24 you can use the B module to traverse the internal structures and read every bit 20:51:26 -!- ais523 has joined. 20:51:41 heck, you can probably use B for what ais523 asked, putting an array value into an array element 20:52:11 or maybe not, if it only has read-only functions 21:02:50 Do magic behaviours mean including such a thing similar to the "number and string" type in AWK? 21:04:58 zzo38: no, a perl scalar can be both a number and a string without being magical 21:05:14 magic can do more tricky stuff, like catch every read of the scalar 21:05:23 (also every write) 21:07:05 O, OK. 21:07:07 -!- AnotherTest has quit (Ping timeout: 264 seconds). 21:08:06 (In JavaScript properties can have a function to catch reading them, but variables don't.) 21:17:39 What if you had a high-level language, with high-level features, besides automatic memory management? 21:18:05 What kind of high-level features? 21:18:49 First-class functions, delimited and regular continuations, etc. 21:20:00 ah, here we go... firefox has disabled my addons as well, it was just delayed. 21:20:24 Basically, a programming language with a lot of abstraction, except for one specific thing that stands out like a sore thumb. 21:21:30 but xpinstall.signatures.required exists so they're back now :P 21:23:42 `forget security key 21:23:43 rm: cannot remove 'wisdom/security key': No such file or directory 21:24:31 who was it who asked about identifying processes on linux without race conditions from 15-bit pids being reused? because apparently the linux devs are now working on that, though they're not done yet 21:25:28 I think I did 21:26:00 found it 21:26:03 it was izabera 21:26:13 no 21:26:15 it was you zzo38 21:26:19 https://esolangs.org/logs/2018-11-28.html#lv 21:26:34 zzo38: https://lwn.net/Articles/784831/ 21:27:25 Yes, I remember I mentioned it. I thought of idea to perhaps use a file descriptor and then anything that can use a process ID number can also use the sum of the file descriptor with a constant that is larger than all valid process IDs but can fit in the variable without overflow. 21:27:32 `unidecode ، 21:27:32 ​[U+060C ARABIC COMMA] [U+0020 SPACE] 21:28:33 -!- tromp has quit (Remote host closed the connection). 21:29:13 That idea is pidfd like what I mentioned, although then you will need to add pidfd_send_signal() and so on; my suggestion does not require that you make up new system calls like that 21:29:16 pids are not limited to 15 bits 21:29:21 i think it's 22? 21:29:43 izabera: they're not strictly limited, that's just the default limit 21:29:55 yeah and the limit is 2^22-1 21:30:29 i'm in so much pain and i can't think straight 21:31:20 Still 22 bits is less than the 31 bits that a positive number in a signed 32-bit variable can have, so, what I mentioned can work. 21:31:49 there's a really easy way to solve this problem entirely 21:32:01 make pids 64bits, incremental and never reused 21:33:28 pids are scow 21:33:35 izabera: that's not so simple, because there are lots of system calls and user library calls that store pids in 32-bit values 21:33:40 and they can break 21:33:50 let them break 21:33:58 b_jonas: Yes, that is why you have to do what I mentioned instead. 21:34:22 Define the constant in some C header file. 21:40:00 For example: #define PIDFD_OFFSET (1<<30) 21:41:13 So then you can do my suggestion without needing to add any new system calls at all. 21:46:09 zzo38: I don't really like that idea. it seems prone to bugs. 21:47:18 What bugs? 21:48:06 -!- sprocklem has quit (Quit: brb). 21:49:24 I'm not sure, I can't give a good argument, sorry 21:51:18 -!- sprocklem has joined. 21:51:25 However, one thing I also consider is that PIDFD_OFFSET-1 also should be not valid; that is why it must be higher than (1<<22) 21:57:09 [[Special:Log/newusers]] create * Falsaidi * New user account 22:10:16 -!- tromp has joined. 22:12:02 I like Schleckmercenary's take on the Fermi paradox. 22:14:52 -!- tromp has quit (Ping timeout: 258 seconds). 22:21:49 -!- ais523 has quit (Quit: quit). 22:30:59 oh? 22:40:24 Why is Scratchapixel 2.0 apparently missing chapters? 22:49:49 -!- MDude has joined. 23:03:45 [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=61708&oldid=61696 * Salpynx * (-34) Tidy one section for clarity and neater contents. 23:04:53 -!- tromp has joined. 23:09:20 -!- tromp has quit (Ping timeout: 252 seconds). 23:11:42 -!- Melvar has joined. 23:15:10 -!- moei has quit (Quit: Leaving...). 23:15:17 How useful is the EXCLUDE clause in SQL? It does not seem so useful to me. Allowing to specify numbers PRECEDING and FOLLOWING for a RANGE frame type look like useful, though. 23:50:51 -!- arseniiv has quit (Ping timeout: 248 seconds). 23:59:29 -!- oerjan has joined.