00:05:49 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151895&oldid=151894 * Hotcrystal0 * (+67)
00:16:35 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151896&oldid=151895 * Hotcrystal0 * (+145)
00:36:47 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
00:39:03 <esolangs> [[User:I am islptng]] https://esolangs.org/w/index.php?diff=151897&oldid=151545 * I am islptng * (+48) /* My esolangs */
00:42:09 -!- nitrix has quit (Remote host closed the connection).
00:42:35 <esolangs> [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=151898&oldid=151020 * I am islptng * (-515) Blanked the page
01:47:25 <esolangs> [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=151899&oldid=151883 * PrySigneToFry * (+0) Fixed account
01:50:08 <esolangs> [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=151900&oldid=151899 * PrySigneToFry * (+22)
01:53:28 <esolangs> [[User:Aadenboy/Draft]] https://esolangs.org/w/index.php?diff=151901&oldid=149690 * Aadenboy * (-1580) stepmania-inspired language concept
01:59:51 <esolangs> [[Translated ZhongWen/PSTF Again ]] N https://esolangs.org/w/index.php?oldid=151902 * PrySigneToFry * (+5994) Created page with "1. [[Translated ZhongWen/islptng Zwei|]]Special:Contributions/PrySigneToFry|<span style='font-family:Unifont;color:red;'>You computer has a severe errL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 ?; ?p<=? ? F ?~#?~nD
02:00:33 <esolangs> [[Translated ZhongWen/Mihai Again Chapter XI]] https://esolangs.org/w/index.php?diff=151903&oldid=151857 * PrySigneToFry * (+43)
02:04:12 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151904&oldid=151896 * PrySigneToFry * (+372)
02:05:12 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151905&oldid=151904 * PrySigneToFry * (+35)
02:07:01 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=151906&oldid=151551 * I am islptng * (+596) /* */
02:07:40 -!- ais523 has quit (Quit: quit).
02:16:22 <esolangs> [[User:I am islptng/Sandbox]] https://esolangs.org/w/index.php?diff=151907&oldid=151795 * I am islptng * (-1895) Blanked the page
02:22:10 <esolangs> [[User:I am islptng/Game:Nonsense]] N https://esolangs.org/w/index.php?oldid=151908 * I am islptng * (+1927) Created page with "I personally think that spaghetti should be mixed with #42 concrete, because the length of screws can easily affect the excavator's torque. When you strike it in, it will instantly produce a large amount of high-energy proteins, known as UFO
02:23:51 <esolangs> [[Translated ZhongWen/islptng Zwei]] https://esolangs.org/w/index.php?diff=151909&oldid=151856 * I am islptng * (-1412)
02:53:46 <esolangs> [[List of ideas]] https://esolangs.org/w/index.php?diff=151910&oldid=150727 * Gilbert189 * (+153) /* Partially Silly Ideas */
03:08:17 <esolangs> [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=151911&oldid=151064 * Aadenboy * (+26) /* anything else */
03:12:16 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=151912&oldid=151906 * PrySigneToFry * (+849)
03:19:04 <esolangs> [[Translated ZhongWen/PSTF Again ]] https://esolangs.org/w/index.php?diff=151913&oldid=151902 * PrySigneToFry * (+10)
03:21:25 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=151914&oldid=151884 * H33T33 * (+5)
03:59:44 <esolangs> [[User:Yunasha Hotora]] N https://esolangs.org/w/index.php?oldid=151915 * Yunasha Hotora * (+145) Created page with "Yunash Hotor Ushiyra / Atash Newurashka 16 | 26 Feb 2008 ADHD Stuff: - Conlang - Esolang - Worldbuilding - Architecture - Music - Art"
04:04:53 <esolangs> [[Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8]] https://esolangs.org/w/index.php?diff=151916&oldid=151842 * PrySigneToFry * (+90)
04:05:05 <esolangs> [[User:Yunasha Hotora]] M https://esolangs.org/w/index.php?diff=151917&oldid=151915 * Yunasha Hotora * (+60)
04:06:08 <esolangs> [[User:Yunasha Hotora]] M https://esolangs.org/w/index.php?diff=151918&oldid=151917 * Yunasha Hotora * (+21)
04:06:51 <esolangs> [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=151919&oldid=151900 * PrySigneToFry * (+28)
04:14:43 <esolangs> [[User:Yunasha Hotora/Sandbox]] N https://esolangs.org/w/index.php?oldid=151920 * Yunasha Hotora * (+301) Created page with "=Header i guess= <pre> code (code=code; code++){ code.Code(code["code"]); code{[code, code - code] -> ( code[code] = code; code (code == code) {code | code}; )}; } </pre> {| ! Header 1 !! Header 2 |- | Row 1, Cell
04:18:25 <esolangs> [[User:Yunasha Hotora/Sandbox]] https://esolangs.org/w/index.php?diff=151921&oldid=151920 * Yunasha Hotora * (+9)
04:18:57 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=151922&oldid=151914 * H33T33 * (+0)
04:19:57 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=151923&oldid=151922 * H33T33 * (+15)
04:21:31 <esolangs> [[User:Yunasha Hotora/Sandbox]] M https://esolangs.org/w/index.php?diff=151924&oldid=151921 * Yunasha Hotora * (+101)
04:23:45 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=151925&oldid=151923 * H33T33 * (-59)
04:35:28 -!- lisbeths has quit (Quit: Connection closed for inactivity).
04:37:33 <esolangs> [[Tri-Tru-Eso]] N https://esolangs.org/w/index.php?oldid=151926 * Yunasha Hotora * (+291) Created page with "{{Stub}} ''Not to be confused with [[Tri]].'' Tri-Tru-Eso is an esolang created by [[User:Yunasha_Hotora]]. Originaly uploaded to [https://github.com/Yunasha/tri-tru-eso Github] at July, 2024. [[Category:2025]] =External Links= * [https://github.com/Yunasha
05:05:17 <esolangs> [[ToArrowScript]] https://esolangs.org/w/index.php?diff=151927&oldid=151865 * Cycwin * (+227) /* Examples */
05:06:33 <esolangs> [[ToArrowScript]] M https://esolangs.org/w/index.php?diff=151928&oldid=151927 * Cycwin * (+9) /* Calculate 5! */
05:30:40 -!- chomwitt_alt has joined.
05:35:55 <int-e> korvo: I'm arguably being a bit snobbish and mincing words... all I can think of is the cooking idiom (an idea has been simmering for a while). And I'd prefer "study" over "research" if it includes learning basics.
05:37:57 <int-e> korvo: I really mind the total absence of even a single example though, because that would make the details of the code much easier to grasp. The general gist of it is... kind of boring I think. More or less: Meta programming in a language that has an eval builtin.
05:40:16 <zzo38> Why do the struct types have to be the same by token by token? I should think that using different tokens should sometimes be acceptable, e.g. if the number of elements in an array is written as 1+1 or as 2 then it should be considered to match, isn't it? (Debugging information might be different maybe (I don't know), but that should not affect the execution of the program.)
05:42:07 <korvo> int-e: Oh, I think it's a completely reasonable complaint about English. It had occurred to me that e.g. Lojban has {ru'inai}, a time tense which indicates gaps, pauses, discontinuities. It's a good match for projects which are completed at a rate of weekends/year.
05:42:21 <int-e> C wants to give compiler writers maximal freedom... so if they want to align each member at a 16 byte boundary, that's fair game.
05:43:21 <int-e> korvo: the "snobbish" part alludes to having been in academia which comes with a fairly narrow idea of "research". The use of the word has become quite a bit wider to the point where reading a news article is included :P
05:45:23 <korvo> So, I agree that it's boring, but I think metaprogramming is still quite cool in general. What bores me about SectorLisp is that its size limitations ensure that it can't have any interesting codegen. There's no magic wand that will fit all of the complexity of 6502, let alone any of its x86 children, into a single sector.
05:46:11 <korvo> I think it's valuable to be small, but also valuable to use all of the different parts of the CPU. If a compiler wants to omit part of an ISA, then I think it ought to show that some other part of the ISA dominates it.
05:47:08 <korvo> I also am not super-thrilled about Lisp semantics, but that's asking for the argument clinic.
05:47:58 -!- chomwitt_alt has quit (Ping timeout: 265 seconds).
05:49:24 <int-e> korvo: I guess I'm too affected by the fancy word soup used to advertise the mcr* thing. (I haven't looked at sectorlisp, which may be a mistake in that it sounds like a more fleshed out thing)
05:50:19 <korvo> SectorLisp is literally what it says on the tin: a sector-sized Lisp-like interactive environment. It's a very cool tech demo but not a serious platform for building other stuff.
05:50:39 <int-e> That's fine, especially for here.
05:51:31 <int-e> Young me once wrote an exponential time sorting routine unironically (in a code golfing context)
05:59:15 -!- Noisytoot has quit (Remote host closed the connection).
06:00:34 -!- Noisytoot has joined.
06:03:59 <esolangs> [[Tri-Tru-Eso]] https://esolangs.org/w/index.php?diff=151929&oldid=151926 * Yunasha Hotora * (+2537)
06:08:43 <int-e> Hmm, do I still remember? I think it went like this: https://paste.debian.net/1349933/
06:17:20 <korvo> I had to look up `scas`. Is this a bubble sort?
06:24:06 <int-e> It carries an extra element and starts swapping that almost blindly with the array elements one by one, as long as the extra element (after the swap) is the largest of all the array elements. So when sorting 1 2 3 [255], you swap with the 1, 255 2 3 [1], that's out of order; you start over. Swap again, 1 2 3 [255], and again, 1 255 3 [2], that's out of order, start over. A swap, a restart, 3...
06:24:12 <int-e> ...swaps, a restart, 1 swap, a restart, 2 swaps, a restart, and 3 more swaps and you're done.
06:26:08 <korvo> Interesting. I guess that makes it a sort of slow sort. Not literally related to slowsort, which is pessimal quicksort, but more like a pessimal bubble sort.
06:27:42 <int-e> If my analysis back then is correct it's Theta(2^n) worst case (easy to verify), Theta(2^n/n) average case and Theta(n^2) worst case if all sorted elements are distinct. You only get down further with equal elements. I suspect that also means it's O(n^256) or maybe O(n^255) if you use it on bytes.
06:28:23 <korvo> A simplexity theorist (somebody who tries to waste time/space) would be proud.
06:28:26 <int-e> Anyway. It's really designed around `scasb` being a one-byte instruction at the time.
06:29:02 <int-e> And, I can't stress this enough, it's useless.
06:29:38 <int-e> Except for entertainment purposes of course :)
06:30:25 <int-e> It's less artificial than bogosort :)
06:31:05 <int-e> Did I say "worst case" twice... meh.
06:31:08 <korvo> Oh, sure. Pessimal algorithms are very natural. Who hasn't seen a warehouse employee performing a slow search, checking every place where something isn't?
06:31:26 <int-e> The best case is starting with a reverse sorted array.
06:32:01 <int-e> korvo: Ah the Sherlock Holmes method.
06:32:44 <int-e> (Probably the most objectionable part of that franchise... the idea that you could actually exhaust all possible explanations for a phenomenon.)
06:34:07 <korvo> IIRC slowsort guarantees Omega(n^3) in the "best" case. It does this via the dual of divide-and-conquer, which IIRC is called multiply-and-give-up; it sets up a very large number of recursive calls regardless of whether the input array is sorted.
06:40:02 <int-e> korvo: The thing that this does that isn't bubble-sort like is this... you can think of the extra element at sitting in the gap between the last seen array element and the next one. Then the combination of xchg and scasb does nothing to the list (the next array element becomes the extra element and vice versa, but then the extra element moves to the right). In this view the update happens on...
06:40:08 <int-e> ...restarts, when all the initial array elements are moved to the right as the extra element is moved to the very front.
06:40:17 <int-e> at sitting -> as sitting
06:41:31 <korvo> Hm. `scasb` isn't `rep scasb`, is it? `loop` is decrementing, so the outer loop should be leaving sorted elements at the end...
06:41:36 <int-e> The inspiration certainly came from bubble sort though.
06:41:44 <esolangs> [[Tri-Tru-Eso]] https://esolangs.org/w/index.php?diff=151930&oldid=151929 * Yunasha Hotora * (+1503)
06:41:46 <korvo> The more I look at this, the worse it gets. I think I'm going to have dreams about this.
06:42:17 <korvo> ...Maybe I should type slower and let SSH catch up.
06:42:47 <int-e> korvo: `scasb` is a single iteration of what `rep scasb` does. It still increments the di register, but the `rep` prefix is what decrements the counter, which in this code is done by `loop` instead.
06:43:08 <int-e> where counter = cx register
06:43:38 <int-e> (other people say CISC ;-) )
06:45:06 <int-e> But this was the assembly language that I grew up with so I'm used to this particular weirdness. It's cozy, up to a point. I never really got into all the vector instructions, and those are growing more crazy with each generation.
06:48:13 <korvo> I have an intuition for like `rep stosb` but I've never had to generalize it. First and last time I wrote for this sort of arch was undergrad.
06:49:30 <korvo> I'm kind of seeing it. Thanks for explaining.
06:52:36 <esolangs> [[Tri-Tru-Eso]] M https://esolangs.org/w/index.php?diff=151931&oldid=151930 * Yunasha Hotora * (+3)
07:10:07 -!- Noisytoot has quit (Remote host closed the connection).
07:10:33 -!- Noisytoot has joined.
07:13:38 -!- Noisytoot has quit (Remote host closed the connection).
07:14:05 -!- Noisytoot has joined.
07:19:55 -!- Noisytoot has quit (Remote host closed the connection).
07:20:40 -!- Noisytoot has joined.
08:03:18 -!- tromp has joined.
08:07:29 -!- lisbeths has joined.
08:10:37 <b_jonas> zzo38: I think the idea of the people who wrote the standard is that if you want to use the definition in multiple compilation units then you'll put it into a header file that you #include in both compilation units, to avoid stupid mistakes where you change the definition in one place but not the other, and so token by token match isn't hard.
08:12:14 <esolangs> [[Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8]] https://esolangs.org/w/index.php?diff=151932&oldid=151916 * PrySigneToFry * (+140)
08:13:05 <esolangs> [[Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8]] https://esolangs.org/w/index.php?diff=151933&oldid=151932 * PrySigneToFry * (+98)
08:13:05 <b_jonas> also this applies to a struct/class/union definition, it does not apply to a typedef or a type synonym defined by using, nor to importing a symbol to another namespace with using, those type aliases and symbol aliases are still compilation unit local and don't need to match at all
08:21:15 <lisbeths> ok so this mcr(){ while read -r i; do eval "$( printf "%s" "$i" | awk "$1" ; )" ; done ; } ; is mcr
08:21:48 <lisbeths> mcr allows you to change the syntax of your terminal at will if it is a posix terminal
08:22:45 <lisbeths> the syntax is at your terminal prompt you type: mcr 'some_awk_program'
08:23:57 <b_jonas> int-e: so this sorts only arrays of bytes? because that makes it useless not only because of the slowness but because you ... oh wait, I can't say that, I just sorted the bytes of tens of thousands of words to find anagrams, never mind then
08:24:18 <lisbeths> so an implementation of gnu cat is: mcr '{print $0}'
08:25:45 <lisbeths> the idea is mcr is not safe enough to use in a production environment but mcr4 is being developed to be safer for those systems
08:26:18 <lisbeths> mcr likely cannot be used in production becuase of its use of eval
08:26:37 <int-e> b_jonas: Well it's easy to adjust this to sort larger words, as long as there's a scas variant for it. So... I don't think that's the main issue :)
08:27:15 <int-e> but the context in which I wrote this was asking to sort bytes
08:28:18 <int-e> lisbeths: well you claim this is a macro system, so an example that does some actual macro expansion would go a long way to support that claim and also force you to do something at least moderately nontrivial with mcr
08:28:44 <lisbeths> yeah so that example of gnu cat is an example let me show you another example
08:29:10 <int-e> b_jonas: and I think I added enough disclaimers about lack of usefulness above :)
08:31:26 <int-e> b_jonas: and I can't even think of a place other than this channel where I would bring this, hmm, creation up at all
08:31:44 <lisbeths> eh my example I was thinking of tunred out to be a harder macro than I thought
08:31:58 <lisbeths> let me show you some simple postfix but this isnt going to be a useful macro
08:32:32 -!- moony4 has joined.
08:32:35 <b_jonas> I used a custom macro system to preprocess my source code into C source code at one point. The custom macro system used a simple sed script to preprocess my source code into an intermediate ed script, such that everything except specially marked ed directives were just appended to the output, and then I ran that intermediate code through ed to get the C source code. Then in my source file I had
08:32:41 <b_jonas> directives to put some bookmarks to mark a region, copy that region to another place, and do some string substitution on the copied version of the lines, or something like that. Fortunately I probably don't have a copy of that one anymore, so it's hard to definitely prove that this was a stupid way to write that code and that it wouldn't have been trivial to just write a C program the normal way.
08:32:50 <lisbeths> mcr '{if(substr($0,1,1)=="+"){print ($2 + $3)}else{print}'
08:33:02 <lisbeths> so this macro should implemnet a very basic not so useful prefix addition in bash
08:34:25 -!- moony has quit (Ping timeout: 248 seconds).
08:34:26 -!- moony4 has changed nick to moony.
08:36:14 <lisbeths> mcr '{if(substr($0,length($0),1)=="+"){print ($(NF - 2) - $(NF - 1))}else{print}}'
08:36:30 <lisbeths> if this doesnt work I think length($0) must be changed to length($0)-1
08:36:48 <lisbeths> this should implement a very crued postfix addition in the shell
08:37:10 <int-e> don't you want to work with $1 instead
08:37:51 <int-e> ``` awk '{if($1=="+"){print ($2 + $3)}else{print}}' <<<"+ 1 2"
08:39:54 <lisbeths> oh thats similar to how mcr works
08:40:58 <lisbeths> ```mcr(){ while read -r i; do eval "$( printf "%s" "$i" | awk "$1" ; )" ; done ; } ; mcr '{print $0}'; fosdijfodsjfi
08:40:59 <HackEso> ``mcr(){? No such file or directory
08:41:50 <b_jonas> I wonder if I should recreate that sed|ed abomination some day, but I can't really think of an esoteric application where I'd want to make repeating but modified text that way, I don't want to do it in a serious non-esoteric context, and if I want such repetition in an esoteric way I have several other choices of preprocessor now.
08:42:13 <b_jonas> But maybe I'll want to generate some repetitive SVG file where the repetition can't just be handled with symbol elements
08:42:27 <b_jonas> or repetitive html or something
08:42:35 <int-e> lisbeths: sometimes, whitespace matters
08:43:05 <lisbeths> ```echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; mcr '{print \$0}'; fosdijfodsjfi" | sh
08:43:06 <HackEso> ``echo? No such file or directory
08:44:55 <HackEso> [[ ... ]]: [[ expression ]] \ Execute conditional command. \ \ Returns a status of 0 or 1 depending on the evaluation of the conditional \ expression EXPRESSION. Expressions are composed of the same primaries used \ by the `test' builtin, and may be combined using the following operators: \ \ ( EXPRESSION )Returns the value of EXPRESSION \ ! EXPRESSIONTrue if EXPRESSION is false; else false \ EXPR1 && EXPR
08:45:07 <lisbeths> it said for me that echo was not found
08:45:14 <HackEso> ``echo? No such file or directory
08:45:22 <int-e> yes because you are not adding the essential space
08:45:40 <lisbeths> ``` echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; mcr '{print \$0}'; fosdijfodsjfi" | sh
08:45:42 <HackEso> sh: 1: fosdijfodsjfi: not found
08:45:50 <b_jonas> lisbeths: there is some documentation at https://esolangs.org/wiki/HackEso though there's a lot missing too
08:46:27 <b_jonas> oh... that's not even useful there, I never bothered to document the commands ` and ``, probably because I hate their nooodl
08:46:49 <lisbeths> ```echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; \nmcr '{print \$0}';\nfosdijfodsjfi" | sh
08:46:49 <HackEso> ``echo? No such file or directory
08:47:02 <lisbeths> ``` echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; \nmcr '{print \$0}';\nfosdijfodsjfi" | sh
08:47:03 <HackEso> sh: 1: nmcr: not found \ sh: 1: nfosdijfodsjfi: not found
08:47:40 <int-e> the whole echo "" | shell part isn't needed either
08:48:05 <lisbeths> ``` echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; \nmcr '{print \"echo \" \$0}';\nfosdijfodsjfi" | sh
08:48:08 <HackEso> sh: 1: nmcr: not found \ sh: 1: nfosdijfodsjfi: not found
08:48:43 <lisbeths> this is why I dont use these bots is it always takes me 20 tries to get a command right
08:49:41 <b_jonas> lisbeths: taking 20 tries to get the command right is fine, and if it bothers you you can use HackEso in a private message while you're testing the commands
08:50:36 <lisbeths> if you would please open a posix terminal
08:50:41 <int-e> (small channel rules)
08:50:48 <lisbeths> then plasee type mcr(){ while read -r i; do eval "$( printf "%s" "$i" | awk "$1" ; )" ; done ; } ;
08:51:31 <lisbeths> then pleasee type mcr '{if(substr($0,1,1)=="+"){print ($2 + $3)}else{print}'
08:52:14 <lisbeths> er maybe mcr '{if(substr($0,1,1)=="+"){print "echo " ($2 + $3)}else{print}'
08:53:07 <b_jonas> oh, and I guess besides the sed|ed abomination I invented buubot3 macros which lets you use perl to preprocess buubot commands, though at least the original buubot3 (but not perlbot) also had a ruby interpreter and a few more that you could technically use instead of perl
08:53:21 <b_jonas> so I guess I invented at least three terrible preprocessors
08:54:19 <lisbeths> its a skill issue for me I am not ane xpert at writing macros
08:54:35 <lisbeths> I only learned awk two weeks ago
08:54:55 <lisbeths> do you understand how my macro ssytem works?
08:56:06 -!- Sgeo has quit (Read error: Connection reset by peer).
08:58:15 <b_jonas> lisbeths: you should probably write at least some short documentation with examples of usage, such as to that github repo or the esowiki, that would increase the chances that users will look at it and try to understand
08:59:12 <lisbeths> its really not such a complex system
08:59:20 <b_jonas> you needn't make it work in HackEso in particular if you don't want to, just write examples somewhere else
08:59:30 <lisbeths> I wrote a kind of a doc here https://github.com/memesmith0/mcr
09:00:11 <lisbeths> mcr works just like a REPL but read eval print loop only there is a macro level inbetween read and eval. so it is read macro eval print loop
09:01:11 <int-e> you basically have mcr "foo" = awk "foo" | sh except that the latter is more versatile beause it can accumulate state from one line of input to the next
09:02:02 <lisbeths> piping it into sh you lose so much
09:02:08 <lisbeths> thats now mcr4 works is it pipes into sh
09:03:00 <lisbeths> you cant open vim inside of a macro if you pipe into sh
09:04:11 <int-e> echo 'vim < /dev/stderr' | sh
09:04:32 <int-e> abusive? sure. but it works.
09:05:18 <lisbeths> wow i've got to add that to mcr4!
09:06:25 <int-e> You can accumulate state in the shell instead I suppose. And if it ends up in environment variables it can be accessed in awk (awkwardly).
09:07:29 <b_jonas> I guess one application I could try with sed|ed is to write a serializer and deserializer where the source code is expanded to a function that reads each field of a structure and a function that writes each field of a structure. though that's not too hard to do with the C preprocessor either.
09:09:05 <b_jonas> lisbeths: write a documentation with multiple simple examples of how you could use the preprocessor. that's my recommendation.
09:11:15 <b_jonas> ais523: you said that -1 would be a bad sentinel value for the float to signed overflow, but I realized that INT_MIN would be an even slightly worse sentinel value for float to unsigned conversion overflow
09:11:42 <lisbeths> mcr(){ while read -r i; do printf "%s" "$i" | awk "$1" | sh < /dev/stderr ; done ; } ;
09:11:44 <b_jonas> so hopefully they did mean -1 for the unsigned conversions, and only the docs for the signed conversion is broken
09:12:05 <lisbeths> does that make more sense to do?
09:18:10 <int-e> b_jonas: yeah I hope so
09:21:32 <esolangs> [[Translated ZhongWen/PSTF Again ]] https://esolangs.org/w/index.php?diff=151934&oldid=151913 * MihaiEso * (+43)
09:23:02 <lisbeths> my original mcr command works smoother than using < to direct /dev/stderr into sh
09:34:32 <int-e> note that that's not what I did... I did it specifically for the interactive program, vim
09:34:59 <int-e> which enables vim to gain control of the terminal, while the shell continues to read from the outer pipe
09:36:08 <esolangs> [[Translated ZhongWen/Mihai Again Twelve]] N https://esolangs.org/w/index.php?oldid=151935 * MihaiEso * (+5394) Created page with "1. [[Translated ZhongWen/PSTF Again |]]Special:Contributions/PrySigneToFry|<span style='font-family:Unifont;color:red;'>You computer has a severe errL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 ?; ?p<=? ? F ?~#?~n
09:37:19 <lisbeths> mcr(){ while read -r i; do printf "%s" "$i" | awk "$1" | sh >&2 ; done ; } ;
09:37:52 <int-e> the last thing you want to do is break stderr
09:38:08 <lisbeths> really? i dont know what >&2 does
09:38:52 <lisbeths> it works better in my shell tho lol
09:46:00 <esolangs> [[Translated ZhongWen/Mihai Again Twelve]] https://esolangs.org/w/index.php?diff=151936&oldid=151935 * MihaiEso * (+16)
09:46:01 <int-e> `` echo a | stat -c '%N' /proc/self/fd/{0,1,2} 2>&1 | cat
09:46:05 <HackEso> '/proc/self/fd/0' -> 'pipe:[225]' \ '/proc/self/fd/1' -> 'pipe:[226]' \ '/proc/self/fd/2' -> 'pipe:[226]'
09:46:11 <int-e> `` echo a | stat -c '%N' /proc/self/fd/{0,1,2} | cat
09:46:13 <HackEso> '/proc/self/fd/0' -> 'pipe:[225]' \ '/proc/self/fd/1' -> 'pipe:[226]' \ '/proc/self/fd/2' -> 'pipe:[221]'
09:47:02 <int-e> note how in the second case, FD 2 (stderr) is different from FD 1 (stdin); that's because it's still the original pipe that the outermost shell connects to
09:47:35 <int-e> if you do that in a terminal, that pipe will be a terminal /dev/pts/NNN
09:48:45 <int-e> You did 1>&2 so it instead breaks the pipe
09:48:51 <int-e> neither of those is particularly helpful
09:52:17 <lisbeths> wow I dont understand how that works
09:52:25 <lisbeths> is there a way you can make it into a function
09:54:32 <lisbeths> oh I see you are showing me WHY it breaks the pipe :)
09:54:41 <lisbeths> I dont know what it even does lol
09:55:31 <lisbeths> I need the copy of sh that comes after the pipe to take over the tty of the host
10:11:01 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:36:23 -!- wib_jonas has joined.
10:39:35 <wib_jonas> ``` script echo hi # I wanted to check that that really happens when you try it in a terminal, but it turns out, the script program doesn't work in HackEso
10:39:36 <HackEso> script: openpty failed: No such file or directory
10:40:37 <int-e> `` stat -c '%N' /proc/self/fd/{0,1,2}
10:40:38 <HackEso> '/proc/self/fd/0' -> '/null' \ '/proc/self/fd/1' -> 'pipe:[224]' \ '/proc/self/fd/2' -> 'pipe:[221]'
10:40:46 <int-e> none of these are PTYs
10:41:48 <int-e> I don't know what script does internally but I suspect there's some tty magic to detect whether the shell is receiving input or not
10:42:33 <wib_jonas> ``` mount | /bin/sed 's/.* on \([^ ]*\) type .*/\1/' # I think /dev/pts isn't mounted
10:42:35 <HackEso> /bin \ /dev \ /lib \ /sys \ /tmp \ /usr \ /proc \ /sbin \ /lib64 \ /hackenv \ /hackenv/.hg \ /etc/alternatives
10:43:04 -!- tromp has joined.
10:43:07 <int-e> Or maybe it's just that it wants to mirror an outer PTY as another PTY for running the shell?
10:43:29 <int-e> I probably don't care enough to actually figure that out :P
10:45:47 <wib_jonas> int-e: HackEso uses pipes rather than a pty when it runs commands by default, which I think is good because some programs try to detect if you're running them in a terminal and have different behavior, such as colorized or interactive, and this way they will correctly detect that it's not a terminal
10:46:02 <wib_jonas> the script program is supposed to run a program in a fresh terminal
10:46:24 <int-e> wib_jonas: yes but evidently it also assumes that it runs inside a terminal
10:46:38 <int-e> which makes sense because then it can just copy weird things from one to the other
10:46:41 <wib_jonas> I don't think so, but maybe I misremember
10:46:45 <int-e> instead of being a fully fledged terminal emulator
10:47:14 <int-e> maybe I'm misreading the evidence
10:47:19 <wib_jonas> I think it just fails here because the libc function that creates a fresh pseudo-terminal needs /dev/pts mounted, but it's not mounted in HackEso
10:47:26 <int-e> well, misinterpreting
10:48:28 <int-e> I guess `script bash < /dev/null > /dev/null 2>&1` works so I'm wrong.
10:49:30 <wib_jonas> I think I was invoking script wrong
10:49:55 <int-e> ``` cat typescript
10:49:56 <HackEso> cat: typescript: No such file or directory
10:50:13 <wib_jonas> ``` script -c 'echo DumA' cat typescript # but it doesn't matter, it still doesn't work
10:50:14 <HackEso> script: openpty failed: No such file or directory
10:50:19 <wib_jonas> ``` script -c 'echo DumA' && cat typescript # but it doesn't matter, it still doesn't work
10:50:21 <HackEso> script: openpty failed: No such file or directory
10:51:23 <fizzie> Regarding mounts, I mount /dev using the UML hostfs type, which brings in the device nodes from the host's /dev/pts, that might certainly confuse some programs since it's plain weird.
10:51:53 <int-e> ``` strace -eopenat script -c 'echo Hi' 2>&1 | grep dev
10:51:57 <wib_jonas> I don't know how openpty is actually implemented
10:52:50 <fizzie> It "should" probably instead set up a minimal static /dev on the initrd or something, and then mount /dev/pts (and a tmpfs on /dev/shm) on top of it.
10:53:06 <int-e> I see an openat(AT_FDCWD, "/dev/ptmx", O_RDWR) = 3
10:54:50 <HackEso> eject? No such file or directory
10:56:34 <wib_jonas> how does that bringing /dev in with UMLFS work? if you try to open and ioctl a device in the guest, will it open and ioctl it in the host, or will it just stat the device and emulate opening the device in the guest?
10:57:18 <HackEso> char/ \ console@ \ core@ \ fd@ \ full \ initctl@ \ log@ \ mqueue/ \ net/ \ null \ ptmx@ \ pts/ \ random \ shm/ \ stderr@ \ stdin@ \ stdout@ \ tty \ urandom \ zero
11:07:39 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:08:18 -!- tromp has joined.
11:10:30 <HackEso> openat(AT_FDCWD, "/dev/ptmx", O_RDWR) = -1 ENOENT (No such file or directory) \ openat(AT_FDCWD, "/dev/ptyp0", O_RDWR) = -1 ENOENT (No such file or directory)
11:11:04 <int-e> (from `` strace -eopenat -o LOG script -c 'ls Hi' >/dev/null; grep dev LOG )
11:11:30 <int-e> (something about `script` totally messes up the way HackEso captures output)
11:12:01 <int-e> `` ls -la /dev/ptmx
11:12:03 <HackEso> lrwxrwxrwx 1 0 0 8 Jul 1 2024 /dev/ptmx -> pts/ptmx
11:12:08 <int-e> `` ls -la /dev/pts/ptmx
11:12:10 <HackEso> crw-rw-rw- 1 0 0 5, 2 Feb 14 11:12 /dev/pts/ptmx
11:12:42 <HackEso> cat: /dev/ptmx: No such file or directory
11:14:46 <wib_jonas> maybe that only works on a real devpts file system, not when you're trying to open an ordinary device file on a "normal" file system with those device minor and major numbers
11:16:04 <int-e> The thing is... the directory entry clearly exists. So I expected ENODEV or maybe EACCES as an error, but never ENOENT.
11:16:37 <int-e> But maybe UML translates it to something that doesn't exist on the host.
11:16:42 <wib_jonas> yeah, but some of those errno codes are overloaded
11:16:43 <int-e> And leaks that error.
11:17:29 <int-e> Anyway. As we can see, just because it's there doesn't mean it's there. I love computers.
11:18:08 <wib_jonas> UMLbox is protecting you here, not letting the guest just directly open a device in the host
11:18:08 <int-e> Hmm, rephrasing: Just because it can be seen doesn't mean it's there.
11:18:46 <wib_jonas> imagine if you could just mkdev a device as root in the guest and overwrite the host's hard disk that way
11:18:56 <int-e> wib_jonas: And if it just said ENODEV I'd be completely fine with it.
11:19:07 <int-e> The way it is, I'm slightly disappointed :P
11:19:29 <fizzie> Pretty sure the /dev mount via hostfs just brings in the device nodes, it won't do any magic beyond that.
11:19:42 <wib_jonas> https://man7.org/linux/man-pages/man4/ptmx.4.html => "When a process opens /dev/ptmx, it gets a file descriptor for a pseudoterminal master"
11:19:56 <fizzie> Opening ptmx is suppposed to create an entry for the slave terminal, maybe *that* is what the ENOENT is for.
11:19:59 <int-e> it's how openpty works
11:20:24 <fizzie> Because that one wouldn't show up in the /dev in the guest side.
11:20:49 <int-e> fizzie: well it's opening /dev/ptmx that returns ENOENT
11:21:08 <int-e> you can still be right for whatever is happening under the hood of course
11:21:23 <wib_jonas> I was wondering if I could eject the cdrom drive of the host with the relevant IOCTL, but there's no /dev/cdrom
11:22:06 <HackEso> 🌱 \ 3 \ a.o \ a.out \ asmbf-1.2.7 \ banana.txt \ bef2 \ bfi \ bin \ Burlesque \ canary \ cmd.whatis \ compiled_brachylog.pl \ detect \ detect.c \ egel-master \ egel-scripts \ egel.zip \ eGtbSgN68aHU \ fence.c \ foo \ he-ng.7z \ he-ng.7z.base64 \ he-ngc \ he-ngx \ hlu \ JoaoDir \ just \ karma \ le \ nonoodl \ olist.new \ output.b \ paste \ pd \ pd.c \ perlV \ pg \ pg.cxx \ pikhqbow_tst \ program \ -.s \ spline \ spout \ stall \ test \ test.sh \ this.p
11:22:13 <fizzie> Yeah, that's what I meant. It's the act of opening /dev/ptmx is what's supposed to create the other slave entry (IIRC), not any action you do on it after you've opened it, and maybe that part involves checking that it was made and that's what's responsible for the errno that results. Or something along those lines.
11:23:02 <HackEso> #!/bin/bash \ a=(${@// / }) \ python3 -c"import random as r;x=range;r.seed(${a[1]});print(''.join([chr(([*x(32,127), 10])[int(r.random()*96)]) for i in x(${a[0]})]))"
11:23:30 <HackEso> Why are you taking Polly down into the mine? Polly's a parrot, not a canary! And where's my cracker?
11:31:35 <fizzie> Yeah, that's my guess for where the ENOENT is from. ptmx_open does internally some sort of `open` call and directly returns its return value: https://github.com/torvalds/linux/blob/master/drivers/tty/pty.c#L849-L851
11:32:45 <HackEso> char \ console \ core \ fd \ full \ initctl \ log \ mqueue \ net \ null \ ptmx \ pts \ random \ shm \ stderr \ stdin \ stdout \ tty \ urandom \ zero
11:33:01 <fizzie> That's surprisingly short.
11:33:21 <fizzie> I guess it's because it runs in a container with its own filesystem namespace, so it's not the "real" /dev of the host.
11:33:37 <fizzie> (For some extra sandboxing beyond the UML.)
11:36:31 <fizzie> I wonder if the fact that /dev/shm is read-only might also be breaking some programs.
11:36:41 <HackEso> touch: cannot touch '/dev/shm/foo': Read-only file system
11:37:20 <wib_jonas> fizzie: isn't it's because it pulls in the /dev/ from the root file system that is used only during boot, rather than the actual /dev/ that's mounted as a devfs?
11:38:37 <wib_jonas> I'd expect the real /dev would have device files for some disks, but it doesn't seem like there's any here (there's a /dev/fd , but fd doesn't mean floppy disk in this context)
11:38:37 <fizzie> No, that /dev is a (read-only) UML hostfs mount. There is no /dev on the initrd.
11:39:18 <wib_jonas> sorry, I don't mean initrd, I mean the /dev directory in the host's root file system
11:39:27 <wib_jonas> or is that root filesystem an initrd?
11:40:36 <fizzie> Oh, that's what you meant. No, it's not an initrd, but I'm relatively sure it wouldn't pull in the /dev from the root file system, it would pull the mounted /dev instead, if that's what was at /dev where the UML was running.
11:40:53 <fizzie> But the reason why it has so few entries is because it's wrapped inside a systemd-nspawn container.
11:42:30 <wib_jonas> I'm not sure I understand that. Do you mean that the host systemd sets up a new root file system for a container, and the UML is running on the host in that container and with that file system as its root file system?
11:43:15 <fizzie> Yes, if I remember the setup correctly.
11:45:59 <wib_jonas> I mean it makes sense that that's how you're invoking UML, as part of the outer sandboxing. But I don't understand why you bring that into the guest, rather than setting up a different /dev directory for the guest, and maybe mount a devpts inside the guest over it if UML supports that
11:46:40 <fizzie> I agree, but I inherited that bit from the original umlbox and just never changed it. :)
11:49:01 <wib_jonas> there may be a bit of bootstrapping problem where you need a /dev before you can create a dev inside, because, at least for older non-UML linuxes, the kernel tries to open /dev/console before running init but after mounting the root file system, in order to give init the three standard handles. I think they changed that part of the code in the
11:49:02 <wib_jonas> kernel, but I don't know if a bootstrap /dev is still needed.
11:51:17 <fizzie> Well, the umlbox initrd literally has a single file in it (/init). It starts by creating a /console (no /dev) and opening those file handles itself: https://github.com/fis/umlbox/blob/master/init.c#L73-L76
11:52:32 <fizzie> Also I'd forgotten that the command doesn't actually run with / being the UML initrd's /.
11:53:39 <fizzie> It sets up a subdirectory called /host and then chroots to it when it's running things: https://github.com/fis/umlbox/blob/master/init.c#L402-L403
11:59:08 <fizzie> I guess you could argue that means it's 4 levels of sandboxing deep: there's some unknown actual physical computing substrate operated by the VPS provider, they use a virtualization solution to offer me a logical computer (I think it's hardware-assisted KVM), I use Linux namespaces to set up a container, and an UML inside the container, and a classic chroot jail inside the UML.
12:00:40 <wib_jonas> yes, but I think the more relevant for the innermost layer is not the chroot but the chown
12:00:43 <HackEso> uid=1000 gid=1000 groups=1000
12:28:59 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151937&oldid=151905 * Hotcrystal0 * (+194)
12:29:09 -!- chomwitt_alt has joined.
12:45:07 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:55:51 -!- SGautam has joined.
12:56:51 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=151938&oldid=151536 * MihaiEso * (-937) /* Horribly translated variants */
12:58:12 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=151939&oldid=151938 * MihaiEso * (+19) /* Horribly translated variants */
13:11:14 <esolangs> [[Translated Tri]] N https://esolangs.org/w/index.php?oldid=151940 * MihaiEso * (+1930) Created page with "Translated Tri is a horribly translated version of [[Tri]]. I should take more languages in the translator machine next! 1. Take this: <pre> // Prints "Hello, world!" to the console. // inc inc psh psh psh mul sto nxt sto psh mul lst psh add sto prn nxt zro c
13:12:24 <esolangs> [[Translated Tri]] https://esolangs.org/w/index.php?diff=151941&oldid=151940 * MihaiEso * (-1)
13:14:58 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151942&oldid=151937 * Hotcrystal0 * (+51)
13:16:36 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=151943&oldid=151879 * Squareroot12621 * (+12)
13:21:03 <esolangs> [[User talk:Squareroot12621]] N https://esolangs.org/w/index.php?oldid=151944 * Hotcrystal0 * (+139) Created page with "Are you squareroot12621 on the CGoL forums? ~~~~"
13:21:04 -!- ais523 has joined.
13:25:44 <esolangs> [[User:MihaiEso]] https://esolangs.org/w/index.php?diff=151945&oldid=151077 * MihaiEso * (+79) /* More data */
13:37:01 <esolangs> [[User:MihaiEso]] https://esolangs.org/w/index.php?diff=151946&oldid=151945 * MihaiEso * (+0) /* More data */
13:56:56 -!- craigo has joined.
14:00:17 -!- tromp has joined.
14:08:24 <esolangs> [[StormLang]] N https://esolangs.org/w/index.php?oldid=151947 * PrySigneToFry * (+7852) Created page with "StormLang is collaboratively designed by PSTF, None1, and islptng. = Language Overview = StormLang is turing-complete, supports to make gorgeous program and access the Internet, and may also construct artifical intelligences, high-level, strong like the fire, e
14:44:33 <lisbeths> turns out my version of shell macros that dont rely on eval were broken the whole time
14:44:38 <lisbeths> so I am stuck with the eval version for now
14:50:40 <lisbeths> I spend like 30 solid hours on mrc4 feelsbadman.jpg
14:59:03 <esolangs> [[User:Anthonykozar/Sandbox]] https://esolangs.org/w/index.php?diff=151948&oldid=151876 * Anthonykozar * (+1327) Testing some formatting converted from Markdown
15:01:28 -!- lynndotpy6 has quit (Quit: bye bye).
15:02:26 -!- lynndotpy6 has joined.
15:10:58 -!- amby has joined.
15:13:16 -!- sam__ has joined.
15:13:18 -!- sam__ has quit (Client Quit).
15:37:42 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151949&oldid=151942 * Hotcrystal0 * (+0)
16:04:52 -!- Sgeo has joined.
16:06:42 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:11:11 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151950&oldid=151949 * Hotcrystal0 * (+232)
16:14:13 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151951&oldid=151950 * Hotcrystal0 * (+30)
16:26:11 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151952&oldid=151951 * Hotcrystal0 * (+181)
16:27:39 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151953&oldid=151952 * Hotcrystal0 * (+5)
16:35:32 <esolangs> [[User talk:ColorfulGalaxy's CA discoveries]] https://esolangs.org/w/index.php?diff=151954&oldid=148148 * Hotcrystal0 * (-63) Removed unnecessary information and included my username
16:49:02 <korvo> lisbeths: What's the bigger goal of these macro systems?
16:54:49 -!- wib_jonas has quit (Quit: Client closed).
16:55:16 -!- SGautam has quit (Quit: Connection closed for inactivity).
16:57:29 -!- tromp has joined.
16:59:28 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=151955&oldid=151953 * Hotcrystal0 * (+96)
17:15:25 <lisbeths> it is a macro ssytem as a platform
17:15:51 <lisbeths> the macro system just aims to expand the macros efficiently and have a good language for describing the expansion of macros
17:16:54 <lisbeths> i personally plan to use this software to write my own macros but I need to think and reflect upon it for a few weeks before i do so
17:17:25 <lisbeths> what do I plan on using the macro system for? for writing a compiler for fastlisp and a tool to integrate fastlisp into unix systems
17:17:43 <lisbeths> ultiamtely fastlisp is to be a master system and posix and python3 are to be worker systems of fastlisp
17:22:00 <korvo> lisbeths: Nifty. Sounds like a lot of work though.
17:23:15 <lisbeths> after studying this topic for 12 years it doesnt feel like work anymore it just feels normal
17:26:49 <korvo> Sure, but surely it's also been a couple of shifts. I can't imagine spending more than about 5yrs on any one line of study.
17:27:39 <lisbeths> I specialize in language architecture and I have been saving myself for *my* language
17:28:13 <korvo> I specialize in computability theory and every (Turing-complete) language is uniquely terrible.
17:28:43 <korvo> Still, I think it's cool to have a big goal like that.
17:29:24 <lisbeths> my research in particular has to do with developing the easiest programming language possible
17:30:11 <korvo> Oh. Have you seen Quorum? I think it's a good warning to folks who want a language to be easy, readable, etc. at the cost of other features.
17:30:28 <lisbeths> no I havent seen quorum whats that
17:30:31 <korvo> Still, sometimes that line of research produces cool stuff like Scratch.
17:31:17 <korvo> Quorum is an evidence-oriented language which incrementally changes to improve its readability. Same idea as Python, but taken to a scientific extreme. https://quorumlanguage.com/
17:31:42 <lisbeths> hmmmmm.... I will ahve to give this a look thank you
17:31:58 <lisbeths> I wonder how my approach with fastlisp differs from quorum
17:32:03 <korvo> The punchline is that Quorum tastes like early PHP or Java, with very little abstractive ability and requiring a minimum of five lines of code to express a concept.
17:33:09 <korvo> I'd say that it's bad. A language shouldn't require lots of ceremonies in order to express an idea.
17:34:09 <korvo> public ThisCurrentReply subclasses IRCReply { to emitNextLine(emitter) { emitter.write("Imagine if every IRC message had to start with <<< this crap. Ridiculous, right?") } }
17:35:49 <lisbeths> I will make a note to myself to try to avoid boilerplate
17:36:01 <lisbeths> I hope that I have done a good job of it with fastlisp
17:36:43 <korvo> The fastlisp examples that you shared were alright. They did have one thing that I have been thinking about for the past few years: all of the names were declared.
17:36:59 <korvo> I'm...tired of names. But that is a personal preference and not one that I expect other people to share.
17:38:05 <korvo> So, ignoring the names, consider a Quorum class like https://quorumlanguage.com/Libraries/Game/Graphics/DrawableShape.html . It's basically AWT-era Java, and it sucks for the same reasons.
17:38:29 <lisbeths> I might end up extending teh standard so that names dont have to be declared
17:38:37 <lisbeths> fastlisp also has nameless functions
17:39:23 <korvo> Ah, yeah. Lambdas? Is fastlisp a Lisp-1 or Lisp-2? I don't judge; we see both around here.
17:39:46 <lisbeths> in the year of our lord 2024 on the day of feburary 14 we are on fastlisp version 5 whos standard I have not publsihed yet
17:40:00 <lisbeths> #this is a comment. any line whos first character is #
17:40:22 <lisbeths> (lambda x (lambda y x)) this is a lambda that takes an x then takes a y then returns x
17:40:50 <lisbeths> (lambda x (x x x)) this is a lambda that takes an x and applies it to itself three times
17:41:25 <lisbeths> "this is a string. strings are not specified to be able to contain the quotation symbol"
17:41:52 <lisbeths> strings compile to linked lists of true or false. true compiles to (lambda x (lambda y x)) false compiles to (lamdba x (lambda y y))
17:43:04 <lisbeths> the way to really do fastlisp in my mind is with names and without definitions. so you provide the names for the functions you want and the definitions of those names are passed into the program
17:48:03 <korvo> Interesting. Where's the name "fastlisp" come from?
17:48:05 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151956&oldid=151886 * Hotcrystal0 * (-8)
17:49:58 <lisbeths> fastlisp comes from the meme fcalled fastman
17:54:07 <lisbeths> when I was 18 years old I created the onebag subreddit about living out of a backpack. some notable onebaggers were luigi mangione and sam bankmen freid
17:54:38 <lisbeths> years ago I was ousted from the subreddit because I was cancelled for using harmful language as a joke
17:55:03 <lisbeths> not wanting ot be censored again I made the fastman meme which extended the idea of onebagging and captured its ideas into a single jpg image that couldnt be censored
17:56:20 <lisbeths> my discord is called fast server. my meme is called fast meme. my lisp is called fast lisp. i name everything fast. I probably should rename mcr to be called fastmcr
17:57:36 <korvo> ...A better way to introduce the concept of living out of one bag might be the film Up in the Air (2009), which features several monologues by George Clooney about the philosophy.
17:59:51 <lisbeths> indeed as well as the film and book titled jack reacher
18:00:23 <lisbeths> i live in a small trailer that is little more than a shed and I only keep in the trailer what would be in a hotel
18:00:58 <korvo> Sure. I know a guy who lives in a yurt. I've also heard of Mongolia, although I've never visited.
18:01:26 <lisbeths> i lived out of my pockets for 1 year
18:02:00 <lisbeths> my phone is the same dimensions as the ipad mini
18:02:13 <lisbeths> slightly larger than an unfolded samsung galaxy z fold
18:03:04 <lisbeths> i document the fastmeme here on thefastscrolls.neocities.org
18:04:12 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151957&oldid=151956 * Hotcrystal0 * (+69)
18:04:21 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151958&oldid=151957 * Hotcrystal0 * (+6)
18:04:32 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151959&oldid=151958 * Hotcrystal0 * (+1)
18:04:58 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151960&oldid=151959 * Hotcrystal0 * (+18)
18:05:25 <lisbeths> i have fruityloops studio on my pocketable tablet which is like a full electronic music production studio with modular synthesizers and a midi
18:05:36 <lisbeths> instead of carrying the classic travellers guitar
18:05:46 <esolangs> [[User:Hotcrystal0/Sandbox]] N https://esolangs.org/w/index.php?oldid=151961 * Hotcrystal0 * (+1) Created page with "a"
18:05:55 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151962&oldid=151960 * Hotcrystal0 * (-139)
18:06:10 <esolangs> [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=151963&oldid=151961 * Hotcrystal0 * (+136)
18:06:30 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151964&oldid=151962 * Hotcrystal0 * (+41)
18:07:25 <korvo> Hey, please don't post memetic hazards here. If you do it again, you're going to get an earful about metaphysics.
18:08:06 <korvo> Also, consider being direct. I'm not going to click through generated content in the hopes that some of it will be enlightening.
18:11:08 <korvo> Well, yeah. Also I'm not usually moved by aesthetics. Like, earlier when talking about SectorLisp, I was not kidding when I say that the problems with expressivity preclude its usage as a development platform or piece of production system.
18:11:32 <korvo> And I'm not going to ignore that jart's aesthetic desires are partially driven by her fascism, either.
18:12:26 <korvo> I'm something of a brutalist and I care much more about the semantic structure and machine behaviors of a system than its surface syntax.
18:13:00 <lisbeths> i love jart i started naming my variables j because of her
18:13:34 <lisbeths> ive spoken with jart in irc she has visted #lambdacalculus
18:14:11 <korvo> Be wary of her, as she's well-connected to Rationalists and may try to pull you into a Bay Area cult. Also, y'know, the fascism.
18:15:59 <lisbeths> so in every good community theres some bad apples and in every bad community theres a few good apples
18:16:23 <lisbeths> for example tumblr is mostly good people but it has some bad folks
18:16:33 <lisbeths> reddit mostly good people as well but a few bad apples
18:16:58 <korvo> And a few bad apples spoil the whole bunch. With apples, it's ethylene; with fascists, it's hateful memes. For example, jart's projects are named after various racist jokes and slurs. At scale, if a community tolerates it, they become a Nazi bar. Look at HN for a real example.
18:17:14 <lisbeths> have you ever hung out inside of a meth den and just people watched?
18:18:03 <lisbeths> some onine communties attract all kinds of people good and bad
18:18:43 <korvo> I grew up in Lane County, Oregon, one of the meth-production hotspots of the 90s. The local newspaper had a listing of "meth houses", houses which were no longer livable due to being used for meth production. Reclaiming meth houses is extremely expensive and meth users did not pay for it.
18:18:56 <lisbeths> if you have ever seen the show jerry springer it is all about getting high on the drama of the social situation that the guests are going through
18:19:16 <lisbeths> and a decent portion of the people attracted to some of these hateful websites are just there to observe because it is fascinating
18:19:50 <korvo> Sure, but that doesn't justify their existence.
18:20:09 <lisbeths> i once had a tattoo artist who told me 'I love hearing the crazy stories from bigfoot people"
18:20:26 <lisbeths> he said "i love hearing conspiracy theories from flat earthers"
18:20:43 <lisbeths> so some people are drawn to certain discords because of the allure of the scene
18:20:48 <lisbeths> not because they themselves are hateful or bigoted
18:20:54 <korvo> And again, scale matters. The worst of the late-90s talk-show hosts, Oprah, introduced so much pseudoscience into the common discourse that we can blame her for e.g. multiple preventable outbreaks of communicable diseases.
18:21:20 <lisbeths> I would say that bigfoot conspiracies are like exotic art
18:21:36 <lisbeths> have you ever seen the video "alex jones is anime"
18:22:04 <korvo> Bigfoot sightings are just bears. Boring but true.
18:22:15 <lisbeths> but what about a bigfut hunter sighting
18:22:29 <lisbeths> there are bigfoot hunter hunters
18:22:55 <lisbeths> so these communits have all kinds of strange people glom onto them
18:23:01 <lisbeths> and it is THOSE people tha tmake me glom on
18:24:10 <lisbeths> one of the best places to go meet dev ops engineers is comic con in seattle
18:24:13 <korvo> Sure, but fascism isn't mere rhetoric. Having grown up in a fascist police state, I can attest that there are real harms done to real people by the police on behalf of moneyed and partisan interests.
18:24:50 <korvo> Another good place to meet people is SeaGL in Seattle. You'll find that SeaGL's organizers don't allow racism or other hate; why do you suppose that is?
18:25:11 <lisbeths> they probably get paid to do that
18:25:43 <korvo> Fundamentally, fascists adore surface appearances because they don't have anything going on underneath. jart doesn't actually have any interesting insights about computer science; all of her work is gimmicks that have been trotted out for code competitions since before she was born.
18:26:13 <korvo> Ha, no, SeaGL made that decision because fascists will make the event worse.
18:26:20 <lisbeths> think about this for example lets say china attacked the us and we went to war in retalitation
18:26:41 <lisbeths> I can go on the littel redbook app which his chinese tiktok and I can talk to people on the other side of that war
18:26:54 <lisbeths> that has never happened in history
18:27:04 <lisbeths> that I can go meet my political opponents face to face with no danger to my person
18:27:08 <korvo> That's not a serious thought. That's a teenage fantasy.
18:27:41 <korvo> "China attacks NATO member" is a terrible example that ignores the past half-century of Pacific diplomacy.
18:27:45 <lisbeths> similarly people who are racist and bigoted are not normally people who I could meet and try to learn about them
18:28:03 <lisbeths> and I dont even go there for the racist or bigoted people I go there for the other kinds of people that also flock to those spaces
18:28:19 <lisbeths> the racist people are just the loudest people in the room in those spaces but they arent the majority
18:28:34 <lisbeths> its just a weird place where freaks show up to tell you the truth
18:29:06 <esolangs> [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=151965&oldid=151526 * Tommyaweosme * (+349) /* WoUlD yOu MiNd If I tHoUgHt Of YoUr "BRING BACK THE OLD SANDBOX" As An ExAmPlE pRoGrAm? */
18:29:46 <korvo> There's no such thing as a silent majority. The statistics are fairly well-settled.
18:30:06 <lisbeths> https://www.youtube.com/watch?v=k1BneeJTDcU
18:30:34 <lisbeths> I can go meet breast cancer survivors tonight
18:30:53 <lisbeths> I can go and talk to locals of the capital of somolia and talk to the owner of a restaurant there
18:31:07 <lisbeths> i can call up the university of helsinki within 7 minutes
18:33:02 <lisbeths> im working with these fbi agents who are cracking these /soc/ grooming discords and I am collecting all these discord links and sharing them with the feds
18:33:41 <lisbeths> a couple years ago I was working with the police to go after this gang of swatters and my family was swatted 16 times during that and the head of that ring was extradited to usa and is in federal prison
18:33:47 <korvo> I don't know if eating rocks is why you glow.
18:35:20 <lisbeths> theres just certain discords where all kind of interesting people show up of a wide range and variety and type
18:35:28 <lisbeths> and its discords where you can say anything that isnt illegal to say
18:36:07 <lisbeths> my macro system is all about saying things that are illegal to say in the shell
18:36:07 <korvo> Sure; Discord exists to collect and centralize data on its users into one giant database, and Discord won't say how law enforcement accesses that database.
18:36:32 <lisbeths> we need a distributed version of discord
18:36:36 <korvo> Then it's not really a macro system, is it? Macros are about expansion and composition.
18:36:38 <lisbeths> but e v e ry o n e is on discor
18:36:46 <lisbeths> my dad, my brother, my boss, my coworkers, they all have discord
18:38:16 <lisbeths> anyway I am a star trek guy I am all about peace and love and equality and the higher realms of the mind
18:38:25 <lisbeths> i think communism could work if it was applied properly
18:38:31 <korvo> In any West Coast state, using Discord can't be a condition of employment, unless your boss actually pays for a private guild. And IME they usually don't pay, so you can tell them to bite a bumper.
18:38:51 <lisbeths> it isnt a condition of employment, no
18:38:58 <lisbeths> but its easier to just do it all on discord
18:39:20 <lisbeths> its a mutally agreed upon thing we all prefer to be able to communicate
18:39:32 <korvo> And again, scale matters. Discord only has trillions of data points. Facebook has hundreds of trillions, and is actively complicit in three genocides right now, although their chatbots will only admit to two of them.
18:40:06 <lisbeths> facebook is being funded out the wazoo by hedge funds and by congress critters if discord had that funding they might be able to scale it
18:40:21 <lisbeths> facebook also has ads discord doesnt :)
18:40:47 <korvo> Incorrect. Facebook's growth is fueled by the same thing as the genocides, and it's not ads, premium features, or nebulous bankers. Facebook cares more about growth than *anything else*.
18:41:12 <lisbeths> maybe with this metaverse stuff I wil be able to have the same experience on facebook as on discord but lately i havent been getting what I need from facebook
18:41:23 <lisbeths> they put a limit on how many times i can click the like button per day that is so cringe
18:41:36 -!- Lord_of_Life_ has joined.
18:42:09 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
18:42:19 <lisbeths> do you know the allure behind terry a davis?
18:42:26 <lisbeths> that is the samer eason why I am drawn to these discords
18:42:44 <korvo> Go find a Mastodon server whose rules you would be willing to follow and whose community makes posts that you like. Be aware that, given what you've said so far, many of the popular servers would not be willing to host you; you may find yourself on a "free speech" right-wing instance.
18:42:57 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:43:25 <korvo> I'm an Oregon native and I know Terry's story. It's not alluring, it's a disappointment and yet another indictment of our failed healthcare systems as well as our failed psychiatric-care systems, at both the federal and state level.
18:44:18 <korvo> I grew up in Eugene. I went to see Ken Kesey's bus. It's not romantic, not in the context of the constant inability of our vulnerable and disabled folks to get the care that they need.
18:44:24 <lisbeths> you are the second person to recommend mastadon for me I am goign to make an account and try it out
18:44:26 <esolangs> [[Zidryx myno]] N https://esolangs.org/w/index.php?oldid=151966 * Tommyaweosme * (+223) Created page with "Zidryx myno is [[python]] but every character is caeser-shifted the length of the program mod 26 == hello world == jlchn("byffi qilfx") == cat == dfwbh(wbdih()) == a+b problem == o=wbdih();p=wbdih();dfdwbh(wbh(a)+wbh(b))"
18:44:53 <lisbeths> ideally I would like an expereince much like how old reddit was in 2014
18:45:03 <lisbeths> but I cant have that so thesee discords are the next best thing
18:45:30 <korvo> Then you want Lemmy. Be aware that the largest Lemmy instances are Marxist-Leninist and you may have to shop around for one that you like.
18:45:59 <zzo38> I don't use Discord.
18:47:25 <korvo> I'm permanently banned from Discord because I failed the vibe check when I initially registered. They only want users that have relatively weak security, although we don't understand exactly how that's determined.
18:48:23 <lisbeths> well good luck toy ou I have no choice but to use discord until another reddit comes along
18:49:20 <zzo38> Use Discord if you want to, but you should not expect everyone to do so.
18:49:57 <zzo38> I think that IRC and other stuff is better anyways
18:50:09 <zzo38> (depending on what kinds of communications you intend)
18:50:38 <esolangs> [[User:Tommyaweosme/trust quine]] N https://esolangs.org/w/index.php?oldid=151967 * Tommyaweosme * (+113) Created page with "<pre>import os print("please enter my source code") source_code=input() os.system("cls") print(source_code)</pre>"
18:50:40 <lisbeths> oh i mean I think discord is on an evolutionary path towards something that everyone can use
18:51:00 <lisbeths> the magic of discord is nto in its dev ops but in its user interface. thats why people like it is its clever ui
18:51:11 <ais523> I don't use Discord because I'm upset by how it's attempting to monopolize online conversation (and to some extent is attempting to monopolize /information/ – my current view on that is that they are trying but have only been mildly successful)
18:51:18 <lisbeths> it makes ti easy to make communities that can chat and call
18:51:50 <ais523> so many small communities store all the information they're tracking on their Discord rather than using a world-readable website
18:52:09 <korvo> Sure, it makes it easy to set up new walled gardens inside the larger walled garden, and for each new inner garden to appear private.
18:52:34 <lisbeths> yeah I definitely dont agree witht he walled garden part you should be allowed to make your discord searchable
18:52:45 <lisbeths> it is prettye asy to find discords for projects like python or debian though
18:52:57 <lisbeths> those discords are actually run really well
18:53:05 <korvo> ais523: I'm currently years into a protracted argument in the Lojban community about whether a particular dialect exists. The speakers only discuss it within an invite-only Discord guild and refuse to publish any information about it.
18:53:22 <ais523> korvo: isn't that just a debate about the definition of "exists"?
18:53:36 <ais523> unless you assume the speakers are lying about having invented the dialect
18:54:13 <ais523> there are some esolangs in a similar situation (although, it's generally "one person has designed the esolang and how it works, and has disclosed its existence but no details", rather than multiple people being involved)
18:54:43 <korvo> ais523: Lojban is a fork of Loglan which is dedicated to the public domain. Historically, the community doesn't consider anything to be publically documented unless it's been dedicated as such. This Discord group both wants people to endorse the dialect, and also not to understand how to speak it.
18:55:18 <ais523> do they appreciate that this request is not particularly convincing?
18:55:55 <korvo> The Loglan v Lojban lawsuit predates the Paramount v Klingon lawsuit, so we have slightly different norms around conlangs, but it's similar to the expectation today that if you make a fancy conlang then you need to explain its usage.
18:56:19 <zzo38> Discord will require you to use the excessive Discord software and to use their servers too, and IRC does not require specialized software (although having it is useful anyways, it is not actually required).
18:56:42 <zzo38> Why are they trying to endorse a dialect that also should not understand? It does not seem useful, isn't it?
18:56:43 <korvo> ais523: Yes. But also, over the past 5yrs of the dispute, I've built up a pile of hundreds of Metamath theorems, and in the process I've raised the standards for documenting forks of Lojban. I'm happy to help any dialect or fork with modernizing, *as long as they share alike*.
18:56:48 <ais523> I guess my viewpoint is mostly "if it's private and undocumented, it mostly doesn't matter to other people whether or not it exists, but there isn't much point putting it onto public lists if you can't do anything with it"
18:57:40 <korvo> Well, if it's not got a logic, then it's not a logical language. And if it's not logical, then why is it built on Lojban? It's "logic cosplay", to quote one of those Discord group members.
18:58:20 <ais523> (for context, zzo38 and I have both been known to use IRC via typing out all the commands using netcat, telnet, or the like, rather than an IRC client – mostly I do that when I need a second simultaneous connection to IRC to test something or other)
18:58:58 <ais523> and zzo38 has a sort of IRC semi-client which handles some things automatically but uses raw IRC commands for other things, but I don't konw the details
18:59:25 <korvo> And again I wouldn't mind, except that links to the Discord are then spammed in the public communities. And who wouldn't want to go to the invite-only Discord that excludes all of those mean people in the public channels!?
18:59:51 <korvo> Of course, I *am* mean. Can't argue against that.
19:00:41 <ais523> <korvo> I'm permanently banned from Discord because I failed the vibe check when I initially registered. They only want users that have relatively weak security, although we don't understand exactly how that's determined. ← although malicious explanations are quite plausible, there's also typically a non-malicious explanation for that sort of thing – companies generally don't want banned users coming back to their platform, and when someone is connecting
19:00:43 <ais523> in a strongly private way it can be hard to determine whether or not they are the same as some other person
19:01:47 <korvo> ais523: Rumor is that it could have been as simple as using Firefox on Linux. Their ToS forbids me from experimenting or attempting to learn what actually happened.
19:02:13 <ais523> Wikipedia's rules about using Tor are a good example, and approximate to "anyone can access Wikipedia read-only via Tor, but if you want to make edits like that, you will first have to convince us of who you are and that your edits won't be a problem, and then you will be able to edit via logging in"
19:02:34 <ais523> which is about the most open of a policy that makes sense, because otherwise it would be trivial to circumvent blocks like that, and many people have trieed
19:02:44 <korvo> Like, I gave my email, accepted the ToS, verified my email and phone number, and *then* was permabanned on first login. There's no recourse and it looks like their workflow was designed to keep folks like me in a little information ditch.
19:05:42 <korvo> ...Sorry, I've been on this rant before but
19:05:50 <korvo> only just now recognized it. I'll go take a break.
19:14:54 <ais523> I do like the way that IRC has both channel ops and network opers – if someone is attacking the network as a whole, or if the channel ops aren't around / are unavailable, the network opers can take over, but aren't needed in most cases
19:15:12 <ais523> I imagine that most chat networks do something similar but are less transparent about it
19:16:42 <ais523> (I also like the way that Libera both allows and encourages channel ops to hide their op status, so that conversations don't get distorted by having an op present and people don't act weirdly round them – many IRC networks aren't like that and it leads to a somewhat weird social dynamic)
19:23:00 <lisbeths> i been up for 3 days writing mcr4 and still dont have a working version
19:25:17 <ais523> I'd recommend sleeping – you get slower at programming when you've been awake for ages, so you'll probably finish it faster even taking the time spent asleep into account
19:25:51 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:27:58 <lisbeths> no when I stay awake I become more smart and invincible
19:28:38 <lisbeths> bang energy drink is much healhthier htan sleep
19:28:47 <korvo> ais523: FWIW the "weird" dynamic is explainable by a single unified theory: power and responsibility are dual. This does lead rather directly into some philosophy that I know you're not especially fond of.
19:29:55 <lisbeths> i will code iit in pseudocode b4 i sleep
19:30:14 <ais523> korvo: I suspect it's a different relationship for the channels I was thinking of, where abuse of power for jokes was quite common and people were promoted based on time spent / familiarity with the mods rather than skill at moderation
19:31:06 <ais523> often when things got onto undesirable topics it would be the unpowered users who would effectively moderate it by changing the subject, because the many ops and half-ops weren't doing anything
19:31:41 <ais523> there was a time when someone kicked me as a joke, and I got my revenge by not rejoining for 2-3 days (even though I strongly suggested it was intended as a joke rather than a punishment)
19:34:14 <korvo> ais523: Same theory. The idea is that the power exists because of the idea that the responsibility must exist and be delegated. In this case, because of the idea that chat spaces should exist and not be subject to certain sorts of heckling or dictatorship.
19:35:58 <ais523> early Usenet is an interesting comparison, being basically unmoderated but with users able to (and effectively encouraged to) set up very comprehensive ignore lists
19:36:09 <ais523> it didn't last, although it lasted for quite a while
19:39:24 <korvo> Sure. The game theory on top of power dynamics is non-trivial, and I think that that's a lot of what people focus on when they talk about power.
19:41:09 <korvo> Also what's known as The Reputation Problem: any sort of connection between karma and privileges, including e.g. allowing open anonymous registration or metamoderation, will structure the resulting social dynamics. HN is awful partially because they let anybody come in and spout bullshit.
19:41:31 <korvo> Compare e.g. Slashdot or Lobsters, which use metamoderation and invite trees respectively to establish reputation amongst peers.
19:42:16 <korvo> Of course, one could argue that this Reputation is merely an instance of the Revelation Principle, and thus part of the non-trivial game theory. I think it's more of a meta-observation, something about how the structures interact.
19:46:30 <lisbeths> alrite I took another stab at it https://github.com/memesmith0/mcr4/blob/main/README.md
20:28:22 <lisbeths> he he he mcr4 is wurking again
20:28:36 -!- chomwitt_alt has quit (Ping timeout: 265 seconds).
20:28:48 <lisbeths> I have found it is better to give the user the options to their commands | sh >&2 than to leave them with nothing
20:32:59 <lisbeths> it is preferable to > into &2 than to rely on eval
20:44:03 <b_jonas> korvo "Rumor is that it could have been as simple as using Firefox on Linux" => unlikely because I use Discord from Firefox on linux (and also from Firefox from Windows)
20:44:42 <b_jonas> I don't like Discord's TOS, but it's bad in a particularly innovative way that I haven't seen in other online services' conditions
20:45:35 <b_jonas> specifically it requires that all bot connections use open source software as the bot
20:46:51 <b_jonas> I think they're in a friendly competition with twitch on who can put the weirdest conditions into their TOS
20:50:14 <ais523> b_jonas: a requirement for bots to be open source is weird, but not nearly as weird as Twitch's TOS
20:50:56 <b_jonas> ais523: yes, but I think Twitch's TOS became more weird in the last few years, so it may have been less weird back when Discord started
20:51:23 <b_jonas> but yes, Twitch is probably winning right now
20:51:25 <esolangs> [[User:Anthonykozar/Sandbox]] https://esolangs.org/w/index.php?diff=151968&oldid=151948 * Anthonykozar * (+54) Add class="wikitable" to the tables.
20:55:25 <ais523> I'm vaguely reminded of the US's requirement that certain types of cryptographic code require substantial paperwork to release, unless it's licensed public domain in which case the paperwork isn't needed
20:56:27 <ais523> I am wondering if the requirement was intended to be "source available" rather than "public domain" (which would make some amount of sense given the apparent reasoning behind the paperwork) but they used the wrong terms
20:56:55 <ais523> still, public domain code usually is source-available (and even open source) in practice even though it logically doesn't have to be
20:57:02 <korvo> It's because the export restrictions don't override First Amendment right to speech. See DJB v USA.
20:57:35 <ais523> oh, I hadn't considered that at all, basically because there isn't an obvious connection in my mind between public domain and free speech
20:57:36 <korvo> ITAR paperwork still applies to corporations, particularly those with military contracts.
20:58:46 <korvo> It's definitely USA-specific, but see also Zimmerman's publishing of source code in a book to fight against Canadian restrictions.
21:00:04 <korvo> Oh, whoops, that's "Zimmermann", and that was also against the USA.
21:37:41 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=151969&oldid=151943 * Buckets * (+9)
21:37:57 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151970&oldid=151878 * Buckets * (+8)
21:38:12 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=151971 * Buckets * (+744) Created page with " (Pronounced Plus-Minus) is an Esoteric programming language created by [[User:Buckets]] in 2024. {| class="wikitable" |+ Caption text |- ! Commands !! Instructions |- | <sub>m</sub> || Set a group of Plus or Minus with The integer n. |- | <sub>n</sub> || Set a group of Minus o
21:39:26 <esolangs> [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=151972&oldid=151965 * Aadenboy * (+345) /* WoUlD yOu MiNd If I tHoUgHt Of YoUr "BRING BACK THE OLD SANDBOX" As An ExAmPlE pRoGrAm? */
21:39:44 <lisbeths> :;mcr4_(){ (v(){ printf "%s" "$1"|awk "$2"||exit;};c="$2";f="$3";while read -r l;do j="$(v "$l" '$1')";if [ "$j" = "mcr4_f" ];then read -r l;f="$f$l";elif [ "$j" = "mcr4_c" ];then read -r l;c="$c$l";else v "$l" "$f{l=\$0}END{$c printf \"%s\\n\",l}";fi;done;)};mcr4(){ (if [ "$1" = "sh" ];then mcr4_ "$@"|sh>&2;else mcr4_ "$@";fi;)};:
21:40:08 <lisbeths> lets play eye spy. can you spy >&2
22:42:02 -!- tromp has joined.
22:56:44 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151973&oldid=151970 * Buckets * (+42)
22:56:50 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=151974&oldid=151969 * Buckets * (+43)
22:57:02 <esolangs> [[Minitable]] N https://esolangs.org/w/index.php?oldid=151975 * Buckets * (+1749) Created page with ": ''The title of this article is not correct because of technical limitations. The correct title is actually {| class="wikitable" |}.'' {| class="wikitable" |} is an Esoteric programming language created by [[User:Buckets]] in 2022. (Rings are the size of 6l cells pe
23:05:04 <lisbeths> mcr4(){ (c="$1";f="$2";while read -r l;do if [ "~" = "$l" ];then read -r l;c="$c$l";read -r l;f="$f$l";else printf "%s" "$l"|awk "$f{l=\$0}END{$c print l}"||exit;fi;done;)};
23:24:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:33:49 <b_jonas> ais523: https://www.amd.com/en/products/processors/desktops/ryzen/9000-series/amd-ryzen-9-9950x.html specs for an AMD processor that is already on the market and it claims to support AVX512 instructions, but I'm not sure I can completely trust that page because I think it's poisoned by marketing, also it claims 1280 KB of L1 cache which is very suspicious, they probably summed the sizes of multiple
23:33:55 <b_jonas> types of caches through each processor core
23:34:19 <b_jonas> also the instruction set extensions are listed in alphabetic order
23:34:42 <b_jonas> I am still guessing it has at least some AVX512 support, but I should look elsewhere than that page
23:36:18 <ais523> b_jonas: AMD has been adding together the size of L1c and L1d for ages – so it's probably the total L1c and L1d across all cores
23:36:52 <ais523> which would make sense for a "quantity of cache" measurement, even though size of cache is what you actually care about usually
23:37:12 <ais523> (if you are running two unrelated programs simultaneously, having a separate L1 for each of them is useful, so cache quantity is not entirely useless as a measure)
23:38:06 <b_jonas> yeah, it's like saying I have 9 meters of heights of stepladders total in this workshop. doesn't help if I want to reach a four meter high ceiling.
23:39:57 <b_jonas> I wonder if they're adding TLB cache in it too
23:42:07 <ais523> is that distinct from the TLB itself?
23:42:48 <ais523> but in any case I don't think the TLB counts as L1 cache
23:43:27 <ais523> oh, I see – TLBs can have multiple levels, so the first level of a TLB can be considered a "level 1 cache" in a sense
23:44:55 <b_jonas> um, I don't know if it has any level other than level 1
23:45:07 * ais523 reflects on how bizarre a name "transaction lookaside buffer" is
23:45:25 <b_jonas> yes, I used to call it page table cache but people kept telling me it's called TLB
23:46:42 <ais523> I wonder if it has a similar history to the car/cdr names in Lisp
23:47:15 <ais523> hmm, I might use "cdr" in a language I'm designing to avoid the ambiguity of "tail" (which could reasonably be "last element" or "all but the first element")
23:48:11 <ais523> the advantage of this sort of coined word (which is effectively a nonsense word even though it has an etymology) is that it's unlikely to be associated with meanings other than the meaning it was coined with
23:49:03 <b_jonas> that works for "cdr" but not for "car"
23:49:45 <ais523> yes – I probably wouldn't use "car" to pair with it
23:50:12 <b_jonas> other possible naming conventions are first,last,butfirst,butlast (I don't recall where I've seen those) or head,tail,behead,curtail (from J)
23:50:42 <ais523> I do like behead/curtail although they sound a bit like mutating operations
23:51:02 <ais523> it is likely OK if your language is pure, there's no way to be misunderstood there
23:57:56 <korvo> If it's all added together then it sounds like 8KiB of bookkeeping and 32KiB of L1 per processing core, which sounds physically plausible.
23:59:41 -!- craigo has quit (Quit: Leaving).