00:01:44 -!- oerjan has joined. 00:53:24 -!- tromp has joined. 00:55:07 [[Special:Log/newusers]] create * Lucas * New user account 00:58:07 -!- tromp has quit (Ping timeout: 264 seconds). 00:58:29 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 01:00:37 -!- Lord_of_Life has joined. 01:17:30 -!- user24 has joined. 01:42:36 -!- FreeFull has quit. 01:42:36 [[Teg]] https://esolangs.org/w/index.php?diff=60985&oldid=60957 * A * (-101) Simplify Syntax 01:43:20 [[Teg]] https://esolangs.org/w/index.php?diff=60986&oldid=60985 * A * (-5) /* 99 bottles of beer */ 02:01:50 Now instead of POSTPIPE, I decided to put POSTQUIT. Still the purpose is what I mentioned before, which is for convenience of users who do not use specialized NNTP software. 03:25:11 -!- adu has joined. 03:31:24 Now they added a "socketvfs" extension for SQLite. The socketvfs protocol is: When connected, server sends the file size as a big-endian 64-bit integer. Client requests data by sending two big-endian 64-bit integers being the offset and length, and then the server returns the data. You could use with stuff other than SQLite too, I suppose. 03:33:04 what are the use cases? 03:33:24 nice simple protocol. 03:35:16 "Nobody knows how much space should be reserved for name. So, calling openpty() or forkpty() with non-NULL name may not be secure." 03:35:27 thopenpty 03:35:38 As far as I can tell currently it is only used in a SQLite extension that is not included by default; I suppose it can be one way to log what parts of a file are accessed. There may be other use too. 03:35:42 it is not merely unknown, but unknowable 03:36:19 Why is anything ever big-endian nowadays? Isn't it just the worst of the endians? 03:36:25 Other than PDP-11-endian, of course. 03:38:48 shachaf: Perhaps use a #define command to define how much space is needed for the name, if your program cares about the name. Then determine what is needed on your computer before compiling it. But you can also try to write the program to avoid needing the name if it doesn't need it. 03:39:14 I think I'll just not ask for the name. 03:39:43 shachaf: Yes, if possible, that is what you should do; don't ask for the name. 03:40:33 I don't know why it uses big-endian. I think small-endian is generally better; but, many things use big-endian too, and still you can work with small-endian and big-endian and PDP-endian, even if it is not the native endian of the system. 03:43:27 Of course. 03:44:49 I want a C program that can both be run as a script (#!/bin/run-as-c or something) and compiled as C. 03:44:52 MMIX uses big-endian, Glulx uses big-endian, Z-machine code mostly uses big-endian (there is an option for small-endian in version 3 Z-code (ZIP), but this was never used and is rarely implemented), etc 03:44:53 Is such a thing possible? 03:45:17 shachaf: I think #! is not a valid command in C. 03:45:34 (I don't know if any C compiler will accept and ignore it as an extension, though.) 03:45:39 That's correct. 03:45:46 tcc will accept #!/usr/bin/tcc -run 03:46:24 Unfortunately it doesn't support many other things. 03:48:30 Tell the people who maintain GCC and clang to accept and ignore the first line with #! if GNU extensions are enabled (it could be implemented by the preprocessor replacing that line with a blank line if it comes first in the file). And then you can write your own program which is interpreting the C code and also does that if #! is on the first line. 03:50:57 I could do that. 03:51:07 But if I need to do that, then it sounds like the answer is that it's not possible. 03:51:48 Probably simpler to write a wrapper that would just compile on demand to a temp file and then execute it. 03:52:11 (You could also make the change to GCC by yourself, but then it won't work if distributed to someone who is not using your (unofficial) version of GCC, of course.) 03:54:38 pikhq: How does that solve the problem? 03:54:52 It doesn't, but I am tired enough to pretend it does. 03:55:40 I mean, I was planning to write a wrapper anyway. But half of the problem is that I want to be able to compile the file as regular C. 03:56:55 You can do if you require to type bash and the filename, so that bash will interpret it. (I do this with many of my own C programs.) 03:57:30 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60987&oldid=60950 * Lucas * (+315) Hello world! Lucas, cest moi. 03:59:30 I just want to be able to put it in my PATH or something. 04:00:48 * pikhq should probably sleep 04:16:19 `? this 04:16:20 This is something people on the channel like to talk about. We're often unsure what this is, though. 04:17:15 `? that 04:17:16 that? ¯\(°​_o)/¯ 04:18:02 *shrug* 04:21:20 Do you like POSTQUIT command? 04:25:45 Here's a shitty map of the wiki: https://i.imgur.com/yWT0UCz.png 04:29:16 -!- user24 has quit (Quit: Leaving). 04:59:54 * oerjan isn't clicking on that. 05:52:21 I'm confusil. 05:52:39 gdb is saying the current instruction is "mulss 0x3b4a(%rip),%xmm0" 05:53:09 p *(float *)(0x3b4a+$rip) prints a value which is probably nonsense but at least it's a value. 05:53:20 But si causes SIGSEGV 05:54:29 Oh, well, this compiler (tcc) doesn't support PIC at all. 05:54:51 I guess that explains this thing not working. But I still don't get what's going on with this specific instruction causing SEGV. 06:02:31 -!- adu has quit (Quit: adu). 06:18:15 -!- tromp has joined. 06:18:46 You can use INCH $2,#FFF0 in MMIX to make half of a floating number that is known to be greater than 2^-1021. Similar thing may be possible with other instruction sets too. 06:22:33 -!- tromp has quit (Ping timeout: 252 seconds). 06:44:20 -!- oerjan has quit (Quit: Nite). 06:51:07 -!- tromp has joined. 07:13:02 -!- Frater_EST has joined. 07:45:03 -!- mich181189 has quit (Ping timeout: 252 seconds). 07:45:36 -!- dog_star has quit (Ping timeout: 252 seconds). 07:47:59 -!- mich181189 has joined. 07:59:18 -!- tromp has quit (Remote host closed the connection). 08:00:00 -!- dog_star has joined. 08:07:07 -!- AnotherTest has joined. 08:19:16 -!- tromp has joined. 09:06:32 -!- ro0fka has joined. 09:13:33 -!- ro0fka has left. 09:37:32 -!- arseniiv has joined. 09:45:11 -!- hakatashi has quit (Remote host closed the connection). 09:59:07 -!- Frater_EST has quit (Ping timeout: 240 seconds). 09:59:18 -!- Frater_EST has joined. 10:15:51 -!- hakatashi has joined. 10:46:34 @tell shachaf It doesn't explain the SIGSEGV, but it's quite possible that 0x3b4a(%rip) and (0x3b4a+$rip) refer to different memory addresses. 10:46:34 Consider it noted. 10:46:37 @tell shachaf Because the instruction's rip-relative addressing mode is in terms of an offset from the *next* instruction, but gdb's $rip is probably the current instruction. 10:46:37 Consider it noted. 10:48:05 fizzie: That's true. 10:48:15 @messages-ouch 10:48:15 Unknown command, try @list 10:48:23 too far 10:48:37 But I think it's pretty unlikely that was on a page boundary. 10:49:22 doesn't dmesg contain the actual fault address for segfaults 10:51:24 Hmm, it does. 10:51:29 (oh and alignment is another venue to investigate...) 10:51:51 segfault at 7f57c20d5240 10:52:19 okay, alignment is out :) 10:52:32 The actual address, given by gdb adding the offset from the right instruction, is 7ffff5388240 10:52:45 I mean, presumably this one is the non-actual address. 10:53:07 I don't see how one turns into the other. 10:53:18 The gdb disassembly even says: mulss 0x3b4a(%rip),%xmm0 # 0x7ffff5388240 10:54:19 Hmm last 12 bits are the same... oh are you sure that what you're seeing is for the current layout, not from a previous run? 10:54:57 I'm breaking at the instruction before it and looking at the value. 10:55:03 Or, hmm, I guess that doesn't tell me anything about dmesg. 10:56:10 Yes, I guess that dmesg log was from another run. 10:56:20 I wouldn't have thought to look there. How does it decide which segfault to log? 10:56:51 Oh, it doesn't log it when it's in gdb. 10:57:26 So that's probably the right address. 10:58:10 segfault at 7f34ec91f240 ip 00007f34ec91b6ee sp 00007fff25491f30 error 4 in libredacted.so[7f34ec914000+9000] 10:58:31 . o O ( nice library name ) 10:59:02 Anyway there's no reason to expect this program to work since the compiler doesn't support PIC. 10:59:05 what was the command for looking at memory maps? info memory? 10:59:09 But I'm confusil about the SEGV. 10:59:29 I looked cat /proc/pid/maps before. I think it looked OK? 10:59:47 (/proc//maps is always an option, but it feels wrong when you're already in gdb :) ) 11:00:23 I know, but figuring out how to make gdb do the thing I want feels wrong too. 11:01:02 The answer is "info proc mappings" 11:01:05 info proc mappings <-- hmm. I thought there was something better 11:02:10 Anyway that address is in the .so mapping, as expected (?) 11:04:37 I never thought "given a specific instruction, in a debugger, figure out why it's causing a SEGV" is a hard problem. 11:05:30 Can it be some weird thing about addressing modes? 11:05:44 I bet it's something really obvious I'm missing. 11:06:45 I mean, sometimes it's about the instruction fetch itself, but that doesn't sound likely either. 11:07:07 The error code would be different then. 11:08:29 Maybe another debugger can tell me more. 11:08:56 ...By default, because I'm sure gdb knows but I don't know how to ask it. 11:09:03 lldb: * thread #1, name = 'redacted', stop reason = signal SIGSEGV: address access protected (fault address: 0x7ffff5388240) 11:09:31 But p *(float *)0x7ffff5388240 prints 0. 11:10:27 To be clear, the value at that address should not be 0. 11:10:40 But I'm not expecting this to work. I just want to know what's going on! 11:11:53 I've had gdb confused about what mode (64-bit vs. compatibility mode) it's disassembling vs. running, but that shouldn't happen in the normal case. 11:12:21 (In any case presumably the "fault address" is coming from the system, not from trying to work it out from the instruction.) 11:16:35 phew, https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/traps.h#L167-L174 is harder to find than it should be. 11:17:40 shachaf: anyway, your error code was 4, indicating an absent page for an ordinary user mode read. 11:18:03 How can it be absent? 11:18:20 Yeah... that is the puzzle, isn't it. 11:19:36 . o O ( Maybe you're in luck and it turns out to be a processor bug! ;-) ) 11:21:27 I don't know. These addresses look very plausible for rip-relative addressing, and I trust you've verified that 7f34ec91f240 is actually in the mapped range of libredacted.so. 11:21:46 -!- Essadon has joined. 11:22:12 It's not redacted for any good reason, by the way. 11:22:13 -!- Essadon has quit (Max SendQ exceeded). 11:22:16 Oh. I wonder how an execute-only map manifests. 11:22:36 int-e: I'd expect that to have the PROT bit set in the error code. 11:22:41 Does that cause the PROT flag to be set or is that only for kernel mode pages? 11:22:50 You get to try. :) 11:23:52 whoa, wait 11:23:56 7ffff5386000-7ffff5585000 ---p 00009000 103:07 8931950 11:24:02 I was sure I checked for this before. 11:24:06 I must've looked at the wrong address. 11:27:15 int-e++ solves the mystery 11:28:17 I'm not sure why dlopen is mprotecting that to PROT_NONE but at least that's a run-of-the-mill thing I don't know. 11:28:17 . o O ( comparisons are hard ) 11:29:03 I think I expected p *(T *)addr to behave the same as examining the addr from the debugee, too. 11:29:15 Since you can have arbitrary expressions as arguments to p. 11:29:16 * int-e momentarily thought the address was out of range. But yeah, it wasn't. 11:29:51 (Whereas I'd expect x to just look at the memory regardless of protection.) 11:40:31 shachaf: I guess the reason is that ptrace's PTRACE_PEEK_* operation have no way of signalling an error (since a memory location may well contain -1) 11:41:19 That interface is pretty bad. :) 11:43:29 You mean the glibc wrapper around it is pretty bad? 11:43:57 The Linux system call returns the value in *data, and returns an error code as the return value. 11:44:38 CONFORMING TO 11:44:38 SVr4, 4.3BSD. 11:44:50 lots of room to shift the blame :) 11:44:58 Then libc wraps it with the ridiculous thing where you're supposed to write { errno = 0; value = ptrace(PTRACE_PEEKDATA, ...); if (errno != 0) ...; else ...; } 11:45:16 Oh, good point. I do like how portable my programs using ptrace are. 11:45:53 Well, I do like the fact that gdb works. 11:46:10 It works because it's been ported to each system that it works on. 11:46:13 But I get your point :) 11:46:40 -!- Frater_EST has quit (Ping timeout: 268 seconds). 11:51:42 Isn't it great how the Linux ABI is way more stable than the libc ABI? 11:53:29 I'd much rather write programs to use the Linux ABI. 11:53:34 Unfortunately you have to use the other one. 12:12:53 -!- Sgeo__ has quit (Read error: Connection reset by peer). 12:13:19 -!- Sgeo__ has joined. 12:22:45 -!- Frater_EST has joined. 12:32:49 -!- FreeFull has joined. 12:55:13 -!- atslash has joined. 12:57:19 -!- Lord_of_Life_ has joined. 13:00:35 -!- Lord_of_Life has quit (Ping timeout: 252 seconds). 13:00:36 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 13:37:14 -!- Frater_EST has quit (Remote host closed the connection). 13:46:00 -!- LKoen has joined. 14:11:16 -!- hakatashi has quit (Remote host closed the connection). 14:11:38 -!- hakatashi has joined. 14:16:12 -!- hakatashi has quit (Remote host closed the connection). 14:16:31 -!- hakatashi has joined. 14:22:01 -!- hakatashi has quit (Remote host closed the connection). 14:22:19 -!- hakatashi has joined. 15:14:05 [[]] https://esolangs.org/w/index.php?diff=60988&oldid=51892 * Rottytooth * (+17) added pronunciation 15:15:09 [[Evil]] https://esolangs.org/w/index.php?diff=60989&oldid=51712 * Lucas * (-11) Update creator link; uppercase and lowercase as compound words 15:41:04 [[Template:Lowercase]] https://esolangs.org/w/index.php?diff=60990&oldid=51763 * Lucas * (+149) Clarify usage and add examples 15:47:53 [[User:Lucas/common.css]] N https://esolangs.org/w/index.php?oldid=60991 * Lucas * (+91) Use [[:Wikipedia:Meta:User:LLarson/global.css|my Wikimedia stylesheet]] 16:10:37 oh wow... git version 1.8.3.1 ... that is quite outdated :) 16:12:34 [[List of ideas]] https://esolangs.org/w/index.php?diff=60992&oldid=60908 * Lucas * (+44) /* Partially Silly Ideas */ Link to [[Malbolge]] and [[Wikipedia:Lambert W function|Lambert function]] 16:15:11 -!- LKoen has quit (Remote host closed the connection). 16:41:32 -!- LKoen has joined. 16:45:51 -!- Sgeo_ has joined. 16:48:51 -!- MDude has quit (*.net *.split). 16:48:51 -!- pikhq has quit (*.net *.split). 16:48:51 -!- economicsbat has quit (*.net *.split). 16:48:51 -!- atehwa_ has quit (*.net *.split). 16:48:51 -!- asie has quit (*.net *.split). 16:48:51 -!- FireFly has quit (*.net *.split). 16:48:51 -!- diginet has quit (*.net *.split). 16:49:00 -!- Sgeo__ has quit (Ping timeout: 252 seconds). 16:52:19 -!- FireFly has joined. 16:52:19 -!- vertrex has quit (Ping timeout: 250 seconds). 16:54:47 -!- vertrex has joined. 16:54:47 -!- vertrex has quit (Changing host). 16:54:47 -!- vertrex has joined. 17:06:00 -!- atehwa has joined. 17:06:08 -!- pikhq has joined. 17:06:12 -!- economicsbat has joined. 17:06:14 -!- MDude has joined. 17:06:15 -!- diginet has joined. 17:06:59 -!- user24 has joined. 17:08:17 -!- asie has joined. 17:56:38 -!- b_jonas has joined. 17:56:43 huh, no o yet 18:02:33 shachaf: hehe. so the proper method is to call it with name set to nullptr, and then call ttyname on the slave to find out the name? 18:29:33 -!- atslash has quit (Quit: This computer has gone to sleep). 18:41:01 [[User talk:A]] https://esolangs.org/w/index.php?diff=60993&oldid=60639 * Helen * (+291) 18:46:22 [[Bitch]] https://esolangs.org/w/index.php?diff=60994&oldid=60313 * Helen * (+0) /* Implementation */ Added v4.12 jar 18:49:17 -!- xkapastel has joined. 18:57:38 -!- sebbu3 has changed nick to sebbu. 18:59:07 -!- arseniiv has quit (Ping timeout: 240 seconds). 19:03:08 [ #'0000000000000000000000000000000000000000000000000000000000000000000000000000001' 19:03:08 b_jonas: 79 19:14:58 ``` \? $(starwars) 19:15:00 Darth Plagueis? ¯\(°​_o)/¯ 19:15:14 ``` for c in {0..9}; do \? $(starwars); done 19:15:20 the Sarlacc? ¯\(°​_o)/¯ \ Moff Jerjerrod? ¯\(°​_o)/¯ \ Lor San Tekka? ¯\(°​_o)/¯ \ Jango Fett? ¯\(°​_o)/¯ \ Count Dooku? ¯\(°​_o)/¯ \ Bail Organa? ¯\(°​_o)/¯ \ Beru Lars? ¯\(°​_o)/¯ \ Qui-Gon Jinn? ¯\(°​_o)/¯ \ Bail Organa? ¯\(°​_o)/¯ \ Kylo Ren? ¯\(°​_o)/¯ 19:50:42 b_jonas: I guess? 20:00:26 -!- Phantom_Hoover has joined. 20:05:46 -!- atslash has joined. 20:16:21 -!- AnotherTest has quit (Ping timeout: 252 seconds). 20:36:20 -!- sebbu3 has joined. 20:40:00 -!- sebbu has quit (Ping timeout: 252 seconds). 21:01:04 `list 21:01:07 `mspalist 21:01:09 alercäh rdocöc quintopïa Zarutiän jeffl3̈5 BlueProtomän fizzïe hppavilion[1̈] Phantom_Hoovër int-̈e b_jonäs boil̈y a`a`a`a`jo7äs a`a`a`a`jo8äs a`a`a`a`jo3äs a`a`a`a`jo6äs a`a`a`a`jo5äs a`a`a`a`jo4äs a`a`a`a`jo2äs a`a`a`a`jo1äs a`a`a`a`jonas̈0 a`a`a`̈a lambdaböt chicken_jonäs mynam̈e 21:01:10 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: mspalist: not found 21:01:20 What's the Homestuck list? 21:01:38 `ls bin 21:01:39 ​welcome \ welcome \ \ \ \ echo \ ! \ " \ # \ ' \ ( \ * \ ,1 \ ,2 \ 1 \ 13 \ 1492 \ 2 \ 2014 \ 2015 \ 2016 \ 2017 \ 3 \ 4 \ 5 \ 5quote \ 5w \ 8ball \ 8-ball \ 8ball \ \ ? \ ?? \ ?h \ ?hh \ @ \ CaT \ CoInS \ Eternity \ FireFlist \ No \ ReLcOmE \ WELCOME \ WeLcOmE \ Welcome \ ^.^ \ ` \ `^ \ `` \ `̀ \ aaaaaaaaa \ acronym \ addquote \ addscowrevs \ addtodo \ age \ aglist \ airport \ airport-lookup \ allquotes \ a 21:02:35 Sgeo_: I don't think there's one yet, but I'm not sure 21:02:45 ``` set -e; cd bin; echo *list 21:02:45 FireFlist aglist bardsworthlist bobadventureslist calesyta2016list danddreclist don'taskdon'ttelllist dontaskdonttelllist ehlist emptylist erflist flist idealist ioccclist keenlist list listlist llist makelist makelistlist minimalist mlist olist pbflist slist smlist stylist testlist wrlist xkcdwhatiflist ysaclist 21:02:52 It was the first list. 21:03:01 It used to be called `list. 21:03:14 I think I renamed it to slist. 21:03:20 `slist 21:03:21 slist: Taneb atriq Ngevd nvd Fiora Sgeo ThatOtherPerson alot 21:03:37 a list of Tanebs 21:05:30 does anyone want a referral code on booking.com ? 21:06:50 I read books. Is that considered booking? 21:07:45 shachaf: this one is for hotels and other shelter. English is confusing. 21:09:41 Sometimes I read books in hotels and other shelter. 21:10:26 that is good 21:19:43 `lists 21:19:44 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: lists: not found 21:19:52 fungot: help! 21:19:53 int-e: captain! our dreams are finally coming true! you were so busy with your own yet. look for a long time, i'm going! you came back. come in. 21:30:48 -!- sebbu3 has changed nick to sebbu. 21:31:40 int-e: Bought Baba. 21:33:03 fizzie has fallen 21:34:20 Maybe I won't get stuck playing it a lot. 21:35:32 ^style 21:35:32 Available: agora alice c64 ct darwin discworld enron europarl ff7* fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl youtube 21:44:39 -!- moei has joined. 21:51:52 I have seen a program for PC using HLT for timing. But, if you use that then in addition to the timer, it is also triggered by pushing keys, and by moving the mouse within the DOSBOX window. 21:52:49 Can the mouse interrupt be disabled so that it doesn't do that? 22:04:24 ^style homestuck 22:04:25 Selected style: homestuck (Homestuck pages 1901-4673) 22:04:40 fungot, there is a Homestuck update for the first time in almost 3 years 22:04:40 Sgeo_: it is a hate so pure and... pumpkin seeds? forget it. go me 22:10:20 `? slist 22:10:21 Update notification for the webcomic Homestuck. 22:10:25 ah 22:10:32 so I just didn't see that because there were no updates? 22:11:18 and it was called `list too? that makes the current `list even more tricky 22:11:51 `doat bin/list 22:11:53 1466:2013-01-12 echo "echo Taneb atriq Ngevd Fiora" > bin/list \ 1467:2013-01-12 chmod a+x bin/list \ 1470:2013-01-12 echo shachaf >> bin/list \ 1471:2013-01-12 sed -i s/shachaf// bin/list \ 1472:2013-01-12 sed -i \'s/Fiora/Fiora shachaf/\' bin/list # fixed \ 1473:2013-01-12 sed -i s/shachaf// bin/list \ 1474:2013-01-12 revert \ 1475:2013-01-12 sed -i s/shachaf// bin/li 22:12:51 b_jonas, there is an update 22:12:52 `2 doat bin/list 22:12:54 2/18:n/list \ 1487:2013-01-12 sed -i \'1s/$/shachaf nortti/\' bin/list \ 1488:2013-01-12 rm bin/list \ 1498:2013-01-12 echo \'echo Taneb atriq Ngevd Fiora nortti\' > bin/list \ 1499:2013-01-12 echo " elliot" >> bin/list \ 1500:2013-01-12 sed -i \'2d;1s/$/ elliott/\' bin/list \ 1501:2013-01-12 revert \ 1502:2013-01-12 sed -i 2d bin/list \ 1503:2013-01-12 echo \'echo Taneb 22:13:01 What a good joke, adding me repeatedly to a list I don't want to be on. 22:13:07 Top tier humor from the past. 22:13:25 [[User:Lucas/common.js]] N https://esolangs.org/w/index.php?oldid=60995 * Lucas * (+102) Using [[MetaWikipedia:User:LLarson/global.js|my Wikimedia scriptrepository]] 22:13:34 I... don't recall using those dot things in my name 22:13:38 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 22:14:52 Ok, I'll assume something's buggy. In the script or in the logs? 22:16:10 Probably in the log script. 22:16:16 Two bugs that cancel out. 22:17:58 If by "dot things" you mean the diacritics, that's just an anti-ping defense. 22:19:52 (It's part of bin/hlnp, presumably for "no ping".) 22:36:11 -!- user24 has quit (Remote host closed the connection). 22:36:23 -!- user24 has joined. 22:46:33 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 23:01:03 -!- oerjan has joined. 23:15:36 Do you like the new NNTP software that I am writing? 23:21:23 `? hlnp 23:21:24 hlnp? ¯\(°​_o)/¯ 23:21:29 `cat bin/hlnp 23:21:30 scowrevs="$(/usr/bin/paste -sd'|' /hackenv/share/scowrevs)"; hg log -r "tip:0 & ! ($scowrevs)" "$@" | sed 's/\(\(^\| \)[ `learn hlnp is a modification of "hg log" that ignores mass revert revisions and doesn't ping the original committers. Used for implementing other repository log search commands like `doag and `culprits . 23:25:23 Learned 'hlnp': hlnp is a modification of "hg log" that ignores mass revert revisions and doesn't ping the original committers. Used for implementing other repository log search commands like `doag and `culprits . 23:26:45 Are all the scowrevs mass revert revisions? 23:26:49 `slwd hlnp//s/modification/wrapper/ 23:26:51 hlnp//hlnp is a wrapper of "hg log" that ignores mass revert revisions and doesn't ping the original committers. Used for implementing other repository log search commands like `doag and `culprits . 23:27:14 shachaf: probably not, but those are the most noisy ones 23:27:48 `slwd hlnp//s, , , 23:27:50 hlnp//hlnp is a wrapper of "hg log" that ignores mass revert revisions and doesn't ping the original committers. Used for implementing other repository log search commands like `doag and `culprits . 23:29:10 `slwd hlnp//s,mass,known &, 23:29:12 hlnp//hlnp is a wrapper of "hg log" that ignores known mass revert revisions and doesn't ping the original committers. Used for implementing other repository log search commands like `doag and `culprits . 23:31:03 Hopefully by 2070 there will not be any more not-Y2K-compliant NNTP clients in use 23:33:22 hm i suddenly envision internet archeologists having to run things in a vm with fake time settings in order not to trigger such bugs in ancient programs that have long since seized maintenance 23:35:08 Hopefully if source code is available, the program can be corrected if needed 23:35:28 even the programming language may no longer be something people know 23:37:12 Yes, unless someone tries to reimplement it. Sometimes people try that now, so maybe in future they might also do, but still using fake time settings may be easier and faster to do than reimplementing the programming language. 23:38:00 yeah 23:52:57 `` while read r; do hg log -T '{desc}\n' -r "$r"; done < share/scowrevs | paste 23:53:03 https://hack.esolangs.org/tmp/paste/paste.22260 23:58:37 Some of those revs seem awfully specific.