←2019-05-03 2019-05-04 2019-05-05→ ↑2019 ↑all
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 <cactus5> Hello! Could someone hint me one what esolang is this code from? :
00:11:37 <cactus5> 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 <cactus5> 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 <oerjan> @metar ENVA
00:16:36 <lambdabot> 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 <fizzie> Looks very much like G-code except without any G commands.
01:00:31 <kmc> yep
01:00:37 <fizzie> In particular, I think "M115 U3.1.0" is Prusa's "print firmware version" special.
01:00:59 <kmc> I kind of think it is G code
01:01:04 <kmc> in some form
01:01:18 <kmc> :O
01:01:50 <fizzie> If it's not "real" Gcode, it's at least clearly inspired by.
01:01:55 <fizzie> Oh, they're not here any more.
01:02:10 <fizzie> 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 <oerjan> . o O ( dog star? you can't be sirius. )
01:46:48 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61622&oldid=61600 * A * (+213) /* 99 Bottles of Beer Program */
01:58:38 <esowiki> [[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 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61624&oldid=61622 * A * (+215) /* 99 Bottles of Beer Program */
02:01:56 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61625&oldid=61624 * A * (+13) /* 99 Bottles of Beer Program */
02:16:41 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=61626&oldid=61604 * TonyBrown148 * (+219)
02:23:12 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61627&oldid=61625 * A * (-213) trivial
02:31:18 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61628&oldid=61627 * A * (+42) /* Fibonacci Numbers */
02:37:32 <zzo38> I changed my NNTP server to return a 503 error instead of 500 for the NEWGROUPS command.
02:39:08 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=61629&oldid=61503 * A * (+34) /* Karma */
02:44:59 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61630&oldid=61628 * A * (+40) /* Truth-machine */
02:48:44 <zzo38> (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 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61631&oldid=61630 * A * (+109) /* Infinite loop(very trivial) */
02:57:31 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61632&oldid=61631 * A * (-55) /* Ongoing code snippet to input an integer */
03:03:25 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61633&oldid=61632 * A * (+107) /* One-line integer input */
03:18:13 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61634&oldid=61633 * A * (+96) /* _ re-written in Keg */
03:19:07 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=61635&oldid=61436 * A * (+95) /* Julia */
03:21:15 <esowiki> [[Deadfish]] M https://esolangs.org/w/index.php?diff=61636&oldid=61635 * A * (+4) /* Keg */
03:21:29 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61637&oldid=61634 * A * (+4) /* Deadfish */
03:25:43 -!- FreeFull has quit.
03:27:29 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61638&oldid=61637 * A * (+247) Computational class
03:29:43 <esowiki> [[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 <esowiki> [[Works in progress]] https://esolangs.org/w/index.php?diff=61640&oldid=61280 * A * (+10)
03:35:22 <esowiki> [[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 <esowiki> [[User:A]] M https://esolangs.org/w/index.php?diff=61642&oldid=61641 * A * (+1)
03:42:26 <zzo38> I also recently fixed a error where it would not work properly if a command included trailing spaces.
03:42:38 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61643&oldid=61639 * A * (+326) /* Non-cheating variation */
03:43:09 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61644&oldid=61643 * A * (-1) /* Explanation */
03:43:38 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61645&oldid=61644 * A * (-70) trivial
03:46:09 <esowiki> [[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 <esowiki> [[User:TonyBrown148]] https://esolangs.org/w/index.php?diff=61647&oldid=61646 * TonyBrown148 * (-2)
03:56:56 <esowiki> [[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 <esowiki> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=61649&oldid=59422 * TonyBrown148 * (+623) Add TonyBrown148's Attempt
04:15:38 <esowiki> [[BF instruction minimalization]] M https://esolangs.org/w/index.php?diff=61650&oldid=61649 * TonyBrown148 * (+18) add some information
04:16:31 <esowiki> [[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 <esowiki> [[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 <orin> `unidecode 〈
05:32:42 <HackEso> ​[U+2329 LEFT-POINTING ANGLE BRACKET]
05:33:34 <orin> WHY IS IT WIDE
05:33:44 <orin> AAAAAAAAAA
05:46:52 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61653&oldid=61648 * A * (-2) /* Deadfish */
05:55:48 <esowiki> [[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 <esowiki> [[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 <orin> my font now encodes lowercase digits! 𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿
06:04:12 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Bootstrap]] M https://esolangs.org/w/index.php?diff=61658&oldid=60470 * A * (-2) grm
06:58:22 <esowiki> [[Bootstrap]] M https://esolangs.org/w/index.php?diff=61659&oldid=61658 * A * (+13) Make the definition general
06:58:51 <esowiki> [[Bootstrap]] M https://esolangs.org/w/index.php?diff=61660&oldid=61659 * A * (+4) Another grm
07:00:57 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61661&oldid=61657 * A * (+15) Specify
07:05:20 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61662&oldid=61661 * A * (+62) /* Factorial */
07:16:03 -!- wmww has joined.
07:21:20 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61663&oldid=61662 * A * (+76) /* User Defined Functions */
07:29:18 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61664&oldid=61663 * A * (+108) Improved command glossary
07:30:15 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61665&oldid=61664 * A * (-11) Shorten
07:31:10 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61666&oldid=61665 * A * (-33) /* User Defined Functions */
07:38:49 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61667&oldid=61666 * JonoCode9374 * (+216) /* User Defined Functions */ - - added a little note
07:40:31 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61668&oldid=61667 * JonoCode9374 * (+13) /* User Defined Functions */ formatting improval
07:44:14 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61669&oldid=61668 * JonoCode9374 * (+49) /* Example Programs */ Dice simulator
07:54:31 <esowiki> [[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 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61671&oldid=61670 * A * (+1) Wrong order
09:26:00 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61672&oldid=61671 * A * (+72) /* Dice simulator */
09:32:26 <esowiki> [[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 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61674&oldid=61673 * A * (+5) /* Dice simulator */
10:52:24 <esowiki> [[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 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61676&oldid=61675 * A * (+0) /* Truth-machine */
11:13:52 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61677&oldid=61676 * A * (+0) /* One-line integer input */
11:14:08 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61678&oldid=61677 * A * (+0) /* Factorial */
11:14:23 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61679&oldid=61678 * A * (-1) /* Digital root calculator */
11:17:58 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61680&oldid=61679 * A * (+0) /* Fizzbuzz Program (loops up to 100) */
11:21:01 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61681&oldid=61680 * A * (+2) /* Deadfish */
11:24:31 <esowiki> [[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 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61683&oldid=61682 * A * (-4) /* Truth-machine */
11:38:00 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=61684&oldid=61629 * A * (-5) /* Keg */
11:39:10 <esowiki> [[Deadfish]] M https://esolangs.org/w/index.php?diff=61685&oldid=61636 * A * (-3) /* Keg */
11:40:17 <esowiki> [[Hello world program in esoteric languages]] M https://esolangs.org/w/index.php?diff=61686&oldid=61363 * A * (+29) /* ISCOM */
11:51:59 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=61687&oldid=61683 * A * (+42) /* Dice simulator */
11:52:46 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61688&oldid=61687 * A * (-2) /* Looping counter */
12:07:26 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61689&oldid=61688 * A * (+23) /* Looping counter */
12:09:07 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61690&oldid=61689 * A * (+0) Capitalize all ascii 's
12:14:05 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61691&oldid=61690 * A * (-327) /* Non-cheating variation */
12:16:26 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61692&oldid=61691 * A * (-20) Shorten
12:26:11 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61693&oldid=61692 * A * (+420) /* Fibonacci Numbers */
12:33:30 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Pxem]] https://esolangs.org/w/index.php?diff=61697&oldid=61448 * YamTokTpaFa * (+6) /* Other example */
13:41:37 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=61700&oldid=61695 * A * (+2) /* Logical operators */
14:04:36 <esowiki> [[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 <ais523> 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 <esowiki> [[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 <ais523> 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 <esowiki> [[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 <esowiki> [[History (programming language)]] https://esolangs.org/w/index.php?diff=61704&oldid=61702 * A * (+331) /* The History data structure */
14:39:10 <esowiki> [[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 <esowiki> [[History (programming language)]] M https://esolangs.org/w/index.php?diff=61706&oldid=61705 * A * (-24) /* An example session of History */
14:45:05 <esowiki> [[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 <rain1> https://www.youtube.com/watch?v=hsXpLx4soQY
15:09:46 -!- MilkyWay90 has joined.
15:09:56 <MilkyWay90> 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 <fizzie> 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 <ais523> fizzie: that makes sense
15:42:55 <fizzie> ("doTheThing" is a good name for a function.)
15:43:10 <ais523> 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 <rain1> .t
16:00:55 <int-e> rain1: cryptic!
16:01:04 <int-e> (pun fully intended)
16:21:32 -!- ais523 has quit (Remote host closed the connection).
16:22:45 -!- ais523 has joined.
16:23:18 <zzo38> I am using a old enough version of Firefox that I am unaffected.
16:24:54 <ais523> 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 <ais523> (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 <int-e> Hmm not sure how I'm escaping this.
16:28:24 <int-e> Maybe because Firefox has been running for a while?
16:29:28 <zzo38> 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 <int-e> "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 <int-e> automatic updates are off here as well (which I hope invalidates that statement as well)
16:35:42 <int-e> And it seems that the lack of automatic updates keeps the installed addons functioning as well.
16:35:47 <ais523> 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 <ais523> it's separate from the updates, but someone who disables updates would probably disable that to
16:35:59 <ais523> *too
16:36:57 <fizzie> 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 <int-e> I think I went through everything with "telemetry" in the name recently and disabled that.
16:37:37 <int-e> yeah that's disabled. thanks!
16:38:05 <int-e> (I seem to recall that Debian disables that one by default anyway.)
16:39:29 <fizzie> Yes, apparently.
16:39:36 <fizzie> It's even greyed out.
16:39:43 <fizzie> "Data reporting is disabled for this build configuration"
16:42:20 <fizzie> 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 <fizzie> (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 <b_jonas> 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 <b_jonas> 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 <fizzie> 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 <fizzie> 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 <b_jonas> 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 <fizzie> Anything using gettext will care about LANGUAGE.
17:14:50 <fizzie> https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html
17:14:56 <zzo38> Can you specify a "i-default" language?
17:15:26 <fizzie> "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 <fizzie> 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 <int-e> . o O ( am I alone in only setting LC_CTYPE and nothing else in the `locale` area? )
17:16:27 <fizzie> int-e: I don't think that's too weird, I think I might have done that too?
17:16:49 <int-e> fizzie: it's an honest question, I'm wondering.
17:17:19 <fizzie> 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 <int-e> IIRC I did something like that (only en_US probably) and didn't like the collation.
17:18:16 <b_jonas> int-e: you're not. I did that, and glibc used to have a bug that that caused
17:18:54 <b_jonas> 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 <zzo38> I just have LANG=C on my computer, and do not have the other stuff set
17:19:05 <fizzie> `` env | egrep 'LANG|LC'
17:19:06 <HackEso> LANG=en_NZ.UTF-8 \ IRC_MESSAGE=`` env | egrep 'LANG|LC'
17:19:23 <int-e> `` locale # does it have this?
17:19:24 <HackEso> 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 <int-e> though I guess that's misleading because it propagates LANG everywhere else
17:20:05 <fizzie> 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 <fizzie> `` env LC_CTYPE=en_NZ.UTF-8 locale
17:20:15 <HackEso> 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 <fizzie> See, the quotes disappeared.
17:20:30 <b_jonas> int-e: yes, LANG sets the default locale, and you can override separate facets with the individual LC_* variables
17:21:00 <b_jonas> ``` locale
17:21:01 <HackEso> 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 <int-e> 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 <zzo38> 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 <b_jonas> ``` 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 <HackEso> 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 <zzo38> (And also with date/time; you might want to specify your own date/time format, too)
17:22:39 <b_jonas> 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 <b_jonas> I don't much care about the TELEPHONE part
17:23:28 <zzo38> b_jonas: For measurement I suppose, but for paper isn't there many different paper sizes?
17:24:24 <b_jonas> zzo38: only two _default_ paper sizes I believe, letter and A4
17:24:32 <b_jonas> you can print on other sizes of paper, but those aren't the default
17:24:40 <b_jonas> you just set them per printing job explicitly
17:24:44 <fizzie> 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 <fizzie> The last just because of the bot.
17:25:00 <zzo38> b_jonas: O, OK.
17:25:15 <b_jonas> there could be more, maybe I just don't know them
17:25:54 <b_jonas> 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 <ais523> programs should know what languages their fallbacks are in :-(
18:27:25 <ais523> really, the fallback should be in C
18:28:49 <zzo38> Yes, if it uses languages at all, then it ought to know
18:42:14 <ais523> 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 <ais523> (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 <b_jonas> 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 <b_jonas> s/fixed/landline/
18:47:00 -!- LKoen has joined.
18:48:00 <pikhq> What even is there to query the LC_TELEPHONE?
18:48:17 <fizzie> `` locale -k LC_TELEPHONE
18:48:18 <HackEso> tel_int_fmt="+%c %a %l" \ tel_dom_fmt="" \ int_select="" \ int_prefix="64" \ telephone-codeset="UTF-8"
18:48:26 <zzo38> 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 <pikhq> fizzie: So, kinda, but what it tells you is pretty useless.
18:49:03 <fizzie> `` env LC_TELEPHONE=en_GB.UTF-8 locale -k LC_TELEPHONE
18:49:03 <HackEso> 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 <zzo38> How do you define the details of the locale anyways? You should need some file to do so, I think.
18:50:33 <fizzie> I think it's somewhat spread out.
18:50:44 <fizzie> But here those LC_TELEPHONE values come from /usr/share/i18n/locales/en_GB.
18:51:38 <b_jonas> 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 <zzo38> 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 <fizzie> I don't think so.
18:55:01 <fizzie> I think it can only use the compiled-together binary things as well? Haven't really explored though.
18:55:31 <fizzie> (Which on this system is /usr/lib/locale/locale-archive.)
18:55:51 -!- LKoen has joined.
18:56:52 <fizzie> Although maybe there's some way to override the default path, in which case you could compile your own thing.
18:57:05 <zzo38> 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 <fizzie> Yes, apparently there's a LOCPATH environment variable.
18:58:25 <fizzie> "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 <fizzie> Fair enough.
18:59:04 <zzo38> 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 <b_jonas> 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 <b_jonas> but if you want to use a custom terminfo or locale in a setuid program, you're out of lock
19:16:54 <b_jonas> out of luck
19:17:33 <ais523> 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 <ais523> it's not quite as good as making it return true, but it's a step on the way
19:22:23 <b_jonas> heh.
19:23:00 <ais523> making true return false is, of course, easy
19:23:20 <fizzie> The docs mentioned that setuid binaries ignore LOCPATH, which is probably good.
19:23:58 <ais523> that seems like the sort of thing that setuid binaries need to ignore
19:25:16 <b_jonas> the good old times when we did stuff like that,
19:25:51 <b_jonas> 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 <b_jonas> why is making true return false easy?
19:26:34 <b_jonas> does it have to be /bin/true ?
19:27:16 <ais523> b_jonas: yes, /bin/true
19:27:35 <ais523> `` /bin/true > /dev/full; echo $?
19:27:35 <HackEso> 0
19:27:44 <ais523> `` /bin/true --help > /dev/full; echo $?
19:27:45 <HackEso> ​/bin/true: write error: No space left on device \ 1
19:27:48 <ais523> there we go
19:28:29 <b_jonas> 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 <b_jonas> ah wow
19:28:40 <b_jonas> let me test
19:28:55 <b_jonas> indeed
19:28:58 <b_jonas> that returns false
19:29:17 <b_jonas> I didn't know about that
19:29:25 <ais523> the reverse is much harder because /bin/false reports an error even if you successfully --help or --version it
19:29:29 <ais523> `` /bin/true --help
19:29:29 <HackEso> 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 <b_jonas> 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 <ais523> I was curious about what the help for /bin/true could possibly say :-D
19:29:52 <ais523> there's not much to talk about
19:30:03 * APic just learned about /dev/full
19:30:06 <APic> Interesting
19:30:07 <b_jonas> ais523: in gnu coreutils, the help message says where to report localization bugs
19:30:11 <b_jonas> which is strang
19:30:14 <ais523> /dev/full is a very useful tool for testing
19:30:51 <APic> *nod*
19:31:22 <b_jonas> it's handy, but it's not really essential. there are other ways to get unwritable file handles.
19:31:23 <ais523> because write errors are very rare in practice but it's a trivial way to cause a genuine write error
19:31:38 <b_jonas> it's a convenience device like /dev/zero
19:32:01 <ais523> 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 <ais523> `` /bin/true 1&>-
19:32:14 <HackEso> No output.
19:32:15 <ais523> `` /bin/true --help 1&>-
19:32:16 <HackEso> No output.
19:32:22 <ais523> `` /bin/true --help 1&>-; echo $?
19:32:23 <HackEso> 0
19:32:33 <ais523> `` /bin/true --help 1>&-; echo $?
19:32:34 <HackEso> ​/bin/true: write error: Bad file descriptor \ 1
19:32:36 <ais523> there we go
19:33:05 <b_jonas> ais523: no no, don't use a closed filehandle
19:33:28 <ais523> broken pipe, perhaps?
19:33:42 <b_jonas> 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 <b_jonas> or an epoll filehandle or whatever
19:34:07 <b_jonas> it's not easy to open those in pure bash
19:34:27 <ais523> `` mkfifo f; true < f & (sleep 1; /bin/true --help; echo $? 1>&2) > f
19:34:29 <HackEso> 141
19:34:53 <ais523> hmm, so /bin/true doesn't catch SIGPIPE
19:35:47 <b_jonas> heck, or even a regular file open for read only
19:35:57 <b_jonas> /dev/full is more useful when you need a filename
19:37:05 <b_jonas> `` /bin/true 1<wisdom/oerjan; echo exit=$?,
19:37:06 <HackEso> exit=0,
19:37:12 <b_jonas> `` /bin/true --help 1<wisdom/oerjan; echo exit=$?,
19:37:13 <HackEso> ​/bin/true: write error: Bad file descriptor \ exit=1,
19:37:18 <b_jonas> that latter
19:38:07 <b_jonas> ``` perl -we 'sysopen STDOUT,"/",0x10000 or die; exec "/bin/true","--help"'; echo exit=$?,
19:38:08 <HackEso> ​/bin/true: write error: Bad file descriptor \ exit=1,
19:38:19 <b_jonas> heck, you don't even need the flag
19:38:23 <b_jonas> ``` perl -we 'sysopen STDOUT,"/",0 or die; exec "/bin/true","--help"'; echo exit=$?,
19:38:24 <HackEso> ​/bin/true: write error: Bad file descriptor \ exit=1,
19:38:49 <b_jonas> `` /bin/true --help 1</; echo exit=$?,
19:38:50 <HackEso> ​/bin/true: write error: Bad file descriptor \ exit=1,
19:38:53 <b_jonas> even easier
19:39:03 <b_jonas> you're right
19:39:24 <b_jonas> 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 <b_jonas> 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 <ais523> "1</" is allowed?
19:40:56 <b_jonas> apparently
19:41:43 <b_jonas> 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 <b_jonas> because open without O_WRITE will open directories just fine
19:42:30 <b_jonas> 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 <ais523> `` /bin/true --help 1<&2; echo exit=$?
20:02:08 <HackEso> 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 <ais523> OK, so you can write to stdout even if it was opened only for reading
20:03:04 <b_jonas> ais523: no
20:03:24 <b_jonas> 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 <ais523> oh right, dup doesn't mess with permissions
20:03:53 <b_jonas> check with fcntl if you want
20:03:59 <ais523> `` /bin/true --help 1</dev/null; echo exit=$?
20:04:00 <HackEso> ​/bin/true: write error: Bad file descriptor \ exit=1
20:05:48 <b_jonas> ``` perl -we 'use Fcntl; printf "fl=%04X,\n", fcntl(STDIN, F_GETFL(), 0);'
20:05:49 <HackEso> fl=8000,
20:06:15 <b_jonas> ^ 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 <ais523> but in that case the low two bits aren't 2
20:06:43 <b_jonas> yes, because that's HackEso, not a termianl
20:06:55 <b_jonas> it doesn't have anything to read things from
20:07:50 <ais523> 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 <b_jonas> 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 <ais523> 6 is perfectly fine to do in production IMO
20:09:22 <b_jonas> ais523: some could be as a special case
20:09:34 <ais523> hmm… in pure Perl, is there any way to place arrays as array elements?
20:09:36 <ais523> I know you can do that via XS
20:09:59 <ais523> 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 <b_jonas> I don't know
20:10:15 <b_jonas> note that these can depend on perl 5.8
20:11:38 <ais523> `` --perl -e '@a=([1]); print ref \$a[0]'
20:11:39 <HackEso> ​/hackenv/bin/`: line 5: --perl: command not found
20:11:42 <ais523> `` perl -e '@a=([1]); print ref \$a[0]'
20:11:43 <HackEso> REF
20:12:07 <ais523> `` perl -e '@a=([1]); print ref \ ($a[0])'
20:12:08 <HackEso> REF
20:12:47 <ais523> hmm, I was expecting SCALAR, am I missing a level of indirection somewhere?
20:12:52 <ais523> `` perl -e '@a=([1]); print ref ($a[0])'
20:12:52 <HackEso> ARRAY
20:13:05 <ais523> I guess REF is more specific than SCALAR
20:13:19 <b_jonas> (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 <ais523> but it's weird to see references being displayed with a different type from other scalars
20:14:43 <b_jonas> ais523: ref can returns REF and a few other fancy things that still mean scalar
20:15:50 <b_jonas> 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 <b_jonas> and call Scalar::Util::reftype instead of ref to handle blessed stuff
20:16:37 <b_jonas> but even then these functions are crazy
20:16:53 <b_jonas> ``` perl -e warn ref(qr/foo) # it's not a reference, so why does ref return true?
20:16:54 <HackEso> 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 <b_jonas> `perl -e warn ref(qr/foo/)
20:17:03 <HackEso> Regexp at -e line 1.
20:17:17 <b_jonas> `perl -e warn use Scalar::Util; Scalar::Util::reftype(qr/foo/)
20:17:18 <HackEso> ​"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 <b_jonas> `perl -e use Scalar::Util; warn Scalar::Util::reftype(qr/foo/)
20:17:26 <HackEso> REGEXP at -e line 1.
20:17:45 <b_jonas> 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 <b_jonas> `perl -wuse Scalar::Util "reftype"; warn reftype(\substr($x,0,0))
20:25:46 <HackEso> 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 <b_jonas> `perl -euse Scalar::Util "reftype"; warn reftype(\substr($x,0,0))
20:25:53 <HackEso> LVALUE at -e line 1.
20:26:00 <b_jonas> `perl -euse Scalar::Util "reftype"; warn reftype(\vec($x,0,1))
20:26:01 <HackEso> LVALUE at -e line 1.
20:28:22 <b_jonas> `perl -euse Scalar::Util "reftype"; warn reftype(qr/foo/)
20:28:23 <HackEso> REGEXP at -e line 1.
20:29:01 <b_jonas> but then, perl has all sorts of user-defined magical scalars, so a scalar can behave in almost any way
20:29:21 <b_jonas> 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 <ais523> there's probably a library to check whether a scalar is magical or not
20:45:18 <ais523> 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 <zzo38> How does that work?
20:47:47 <ais523> 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 <ais523> 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 <b_jonas> ais523: yes, with B for example
20:51:02 <zzo38> What kind of special behaviours are possible?
20:51:02 <b_jonas> `perl -e use Devel::Peek; $x="foo"; Dump($x) # not too magical
20:51:03 <HackEso> 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 <b_jonas> `perl -e use Devel::Peek; $x=qr"foo"; Dump($x) # quite magical
20:51:13 <HackEso> 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 <b_jonas> you can use the B module to traverse the internal structures and read every bit
20:51:26 -!- ais523 has joined.
20:51:41 <b_jonas> heck, you can probably use B for what ais523 asked, putting an array value into an array element
20:52:11 <b_jonas> or maybe not, if it only has read-only functions
21:02:50 <zzo38> Do magic behaviours mean including such a thing similar to the "number and string" type in AWK?
21:04:58 <b_jonas> zzo38: no, a perl scalar can be both a number and a string without being magical
21:05:14 <b_jonas> magic can do more tricky stuff, like catch every read of the scalar
21:05:23 <b_jonas> (also every write)
21:07:05 <zzo38> O, OK.
21:07:07 -!- AnotherTest has quit (Ping timeout: 264 seconds).
21:08:06 <zzo38> (In JavaScript properties can have a function to catch reading them, but variables don't.)
21:17:39 <rdococ> What if you had a high-level language, with high-level features, besides automatic memory management?
21:18:05 <zzo38> What kind of high-level features?
21:18:49 <rdococ> First-class functions, delimited and regular continuations, etc.
21:20:00 <int-e> ah, here we go... firefox has disabled my addons as well, it was just delayed.
21:20:24 <rdococ> Basically, a programming language with a lot of abstraction, except for one specific thing that stands out like a sore thumb.
21:21:30 <int-e> but xpinstall.signatures.required exists so they're back now :P
21:23:42 <b_jonas> `forget security key
21:23:43 <HackEso> rm: cannot remove 'wisdom/security key': No such file or directory
21:24:31 <b_jonas> 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 <zzo38> I think I did
21:26:00 <b_jonas> found it
21:26:03 <b_jonas> it was izabera
21:26:13 <b_jonas> no
21:26:15 <b_jonas> it was you zzo38
21:26:19 <b_jonas> https://esolangs.org/logs/2018-11-28.html#lv
21:26:34 <b_jonas> zzo38: https://lwn.net/Articles/784831/
21:27:25 <zzo38> 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 <orin> `unidecode ،
21:27:32 <HackEso> ​[U+060C ARABIC COMMA] [U+0020 SPACE]
21:28:33 -!- tromp has quit (Remote host closed the connection).
21:29:13 <zzo38> 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 <izabera> pids are not limited to 15 bits
21:29:21 <izabera> i think it's 22?
21:29:43 <b_jonas> izabera: they're not strictly limited, that's just the default limit
21:29:55 <izabera> yeah and the limit is 2^22-1
21:30:29 <izabera> i'm in so much pain and i can't think straight
21:31:20 <zzo38> 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 <izabera> there's a really easy way to solve this problem entirely
21:32:01 <izabera> make pids 64bits, incremental and never reused
21:33:28 <shachaf> pids are scow
21:33:35 <b_jonas> 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 <b_jonas> and they can break
21:33:50 <izabera> let them break
21:33:58 <zzo38> b_jonas: Yes, that is why you have to do what I mentioned instead.
21:34:22 <zzo38> Define the constant in some C header file.
21:40:00 <zzo38> For example: #define PIDFD_OFFSET (1<<30)
21:41:13 <zzo38> So then you can do my suggestion without needing to add any new system calls at all.
21:46:09 <b_jonas> zzo38: I don't really like that idea. it seems prone to bugs.
21:47:18 <zzo38> What bugs?
21:48:06 -!- sprocklem has quit (Quit: brb).
21:49:24 <b_jonas> I'm not sure, I can't give a good argument, sorry
21:51:18 -!- sprocklem has joined.
21:51:25 <zzo38> 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 <esowiki> [[Special:Log/newusers]] create * Falsaidi * New user account
22:10:16 -!- tromp has joined.
22:12:02 <int-e> 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 <kmc> oh?
22:40:24 <Sgeo_> Why is Scratchapixel 2.0 apparently missing chapters?
22:49:49 -!- MDude has joined.
23:03:45 <esowiki> [[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 <zzo38> 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.
←2019-05-03 2019-05-04 2019-05-05→ ↑2019 ↑all