> 1742515542 944159 PRIVMSG #esolangs :14[[07PAL14]]4 10 02https://esolangs.org/w/index.php?diff=154287&oldid=154286 5* 03I am islptng 5* (+100) 10 < 1742518720 506838 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :It seems to me that there are many benefits of X.509 authentication. < 1742518994 259248 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Someone cannot steal your password since there isn't one; they can copy your certificate but cannot use it to impersonate you since a private key is required. You can include extra information in the certificate if wanted (like OpenID allows specifying your email address and other stuff). < 1742519030 918135 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :You can allow self-signed certificates and/or allow using credentials from other services, and can do so even if you are unable to connect to that service. < 1742519115 638330 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Additionally, I think DER is a better format than JSON in general. < 1742519178 656024 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :X.509 authentication also is not limited to only HTTPS, although it can be used with HTTPS (although it seems to be very rarely used for client authentication, it is common for server authentication). < 1742519591 372238 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(The OpenID Simple Registration Extension allows to provide some information such as time zone and others. I have made up a X.509 extension for providing the time zone in a X.509 certificate, which could be used for a similar purpose (and I have done this once, although the service I was authenticating to did not actually care about anything other than the expiry date).) < 1742520401 378939 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :The main problem I seem to have is securely specifying superseding certificates. I have some ideas about how it might be possible to make this though (as well as allowing to store the private key used for this purpose separately for improved security). > 1742522086 227977 PRIVMSG #esolangs :14[[07APL14]]4 M10 02https://esolangs.org/w/index.php?diff=154288&oldid=140158 5* 03I am islptng 5* (+241) 10 < 1742523672 68731 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net 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 < 1742525228 39518 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :It does not require a web browser, does not necessarily require an internet connection, etc. < 1742525424 613752 :tromp!~textual@2a02:a210:cba:8500:f085:be23:3f4e:4a7a QUIT :Ping timeout: 244 seconds < 1742526176 847437 :mtm!~textual@47.202.75.129 JOIN #esolangs mtm :Textual User > 1742529511 314389 PRIVMSG #esolangs :14[[07Sb14]]4 10 02https://esolangs.org/w/index.php?diff=154289&oldid=154020 5* 03C0ffee 5* (-6) 10 > 1742529575 374679 PRIVMSG #esolangs :14[[07Sb14]]4 10 02https://esolangs.org/w/index.php?diff=154290&oldid=154289 5* 03C0ffee 5* (-43) 10 > 1742529599 90777 PRIVMSG #esolangs :14[[07Sb14]]4 10 02https://esolangs.org/w/index.php?diff=154291&oldid=154290 5* 03C0ffee 5* (-9) 10 < 1742534665 194832 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I had thought of making a variant of RISC-V (another instruction set also might be usable, but there are some benefits of RISC-V such as being free and having existing compilers that can target it) for use with an operating system design. There might be capabilities, which can be stored in registers and memory and are separate from numbers (I think Flex computer does something similar). < 1742534721 499599 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :The kernel will be able to examine the contents of capabilities and create them, but user programs can only copy them and compare them for equality. < 1742534778 326214 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :This means that a C program could store a capability in a uint64_t variable, although attempting to them perform arithmetic with that variable's value will be an error. (Some kinds of optimizations might affect this in some cases; I don't know. Do you know?) < 1742534790 718557 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :You might want to privilege equality comparisons. In E, a user program is only allowed to join two capabilities; either the runtime proves that the two caps refer to the same underlying object, or the join is broken and can't be used. < 1742534970 766373 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :OK, although I had thought that the kernel might make a separate entry when the capabilities come from other sources, in order that they can be separately discarded (like dup and close in UNIX). Also, a program may want to compare equality of capabilities with numbers (especially zero) as well, since a program might use them to denote the lack of a capability. < 1742535145 191016 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :To use an analogy, imagine a program that sends and receives references to SysV-style shared memory segments. How to compare two references for equality? We can't, because we can't be confident that the segments haven't been remapped. < 1742535153 732581 :craigo!~craigo@user/craigo QUIT :Quit: Leaving < 1742535215 678998 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But we could e.g. test a segment by writing a byte via one reference and then reading that same byte from another reference. This is the "scratchpad" approach to implementing caps that can be sealed. < 1742535259 72664 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I have used that approach in a PostScript program once, actually. < 1742535313 958 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(the "eq" operator in PostScript can test if two arrays, dictionaries, etc refer to the same underlying memory, but when using "eq" with strings it compares the contents of the strings instead) < 1742535357 549901 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I think I understand your concern now that you explained it better, though. < 1742535391 802700 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :However, perhaps I should also have explained better, because the copies that are considered equal are only copies made by the program itself, not any other references to the same object. < 1742535454 550808 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sure. The precise sort of shared object is important. File descriptors are another UNIX capability object which can't be directly compared, and AFAIK there's *not* a way to add an equality protocol to them. < 1742535643 799368 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Yes, and in UNIX if you use dup to make a new number that refers to the same object, the new number is not equal to the existing number, but if you just copy the value directly without using system calls then the number will be equal, and it is the similar idea here. However, the difference here is the operating system and application programs need to know what data refers to capabilities and what doesn't. < 1742535900 3917 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(due to how message passing works, and how receiving and sending capabilities works) < 1742536691 757835 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I had thought of other hardware features as well. The keyboard probably also would be different from PC keyboard too. Some of the ideas of Apple is good such as a separate Command and Control key, and a separate Return and Enter key. I also would avoid USB which has many problems, but I might have the "GeekPort" like BeBox has, as well as RS-232 and other ports. < 1742537981 151010 :mtm!~textual@47.202.75.129 QUIT :Read error: Connection reset by peer < 1742538042 203456 :mtm!~textual@47.202.75.129 JOIN #esolangs mtm :Textual User < 1742541236 961837 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1742541273 922497 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 245 seconds < 1742541320 658819 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1742543066 875916 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer > 1742555072 751333 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Sandbox/Draft of AGPL14]]4 10 02https://esolangs.org/w/index.php?diff=154292&oldid=154265 5* 03PrySigneToFry 5* (+243) 10 > 1742555846 40738 PRIVMSG #esolangs :14[[07User:JIT14]]4 10 02https://esolangs.org/w/index.php?diff=154293&oldid=154249 5* 03JIT 5* (+95) 10 < 1742556164 895166 :APic!apic@apic.name PRIVMSG #esolangs :Hi > 1742556838 517942 PRIVMSG #esolangs :14[[07User talk:I am islptng14]]4 10 02https://esolangs.org/w/index.php?diff=154294&oldid=154263 5* 03Hotcrystal0 5* (+124) 10 < 1742558684 444173 :mtm!~textual@47.202.75.129 QUIT :Ping timeout: 260 seconds < 1742558736 159505 :mtm!~textual@47.202.75.129 JOIN #esolangs mtm :Textual User > 1742559587 928560 PRIVMSG #esolangs :14[[07PAL14]]4 10 02https://esolangs.org/w/index.php?diff=154295&oldid=154287 5* 03Timwi 5* (+242) 10Summary > 1742560169 189043 PRIVMSG #esolangs :14[[07User:Hotcrystal0/CGoL+14]]4 10 02https://esolangs.org/w/index.php?diff=154296&oldid=154262 5* 03Hotcrystal0 5* (+56) 10 > 1742560408 257019 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Colon three14]]4 10 02https://esolangs.org/w/index.php?diff=154297&oldid=154264 5* 03Hotcrystal0 5* (+5) 10 > 1742560425 692764 PRIVMSG #esolangs :14[[07User:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=154298&oldid=154260 5* 03Hotcrystal0 5* (+0) 10 < 1742563545 420597 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net JOIN #esolangs amby :realname < 1742566310 944321 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1742566624 867635 :craigo!~craigo@user/craigo JOIN #esolangs craigo :realname > 1742566650 722389 PRIVMSG #esolangs :14[[07Amethyst14]]4 10 02https://esolangs.org/w/index.php?diff=154299&oldid=154115 5* 03PrySigneToFry 5* (+298) 10 < 1742566658 160947 :craigo!~craigo@user/craigo QUIT :Remote host closed the connection < 1742566707 869958 :craigo!~craigo@user/craigo JOIN #esolangs craigo :realname > 1742567468 925753 PRIVMSG #esolangs :14[[07Talk:BF is Plushie-complete14]]4 10 02https://esolangs.org/w/index.php?diff=154300&oldid=154273 5* 03PrySigneToFry 5* (+1023) 10 > 1742567763 433405 PRIVMSG #esolangs :14[[07Talk:Poetic is plushie-complete14]]4 N10 02https://esolangs.org/w/index.php?oldid=154301 5* 03PrySigneToFry 5* (+179) 10Created page with "Poetic is also Storm-complete: Rule 1(so abstract)
 Ato selfer, y priil y sal dilktran prisyl y cron e di salet y selpril! 
Rule 2
  
Rule 3(Not on display)" < 1742573307 372159 :FreeFull!~freefull@79.186.73.126.ipv4.supernova.orange.pl JOIN #esolangs FreeFull :FreeFull < 1742577151 280468 :chiselfu1e!~chiselfus@user/chiselfuse NICK :chiselfuse > 1742577790 486129 PRIVMSG #esolangs :14[[0714]]4 N10 02https://esolangs.org/w/index.php?oldid=154302 5* 03JIT 5* (+990) 10Created page with " is an esolang by [[User:JIT]], 2025 ''"What if you drew the output?"'' : -[[User:JIT]], 2025 {| class="wikitable" |+ Drawing ! commands !! what they do |- | || draw in that direction |- | || draw in that direction |- | || draw in that direction |- | || draw in that direction > 1742577900 555505 PRIVMSG #esolangs :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=154303&oldid=154278 5* 03JIT 5* (+9) 10 > 1742577954 696675 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=154304&oldid=154302 5* 03JIT 5* (+1) 10/* Truth-machine */ < 1742578702 209141 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1742578719 206514 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : Sure. The precise sort of shared object is important. File descriptors are another UNIX capability object which can't be directly compared, and AFAIK there's *not* a way to add an equality protocol to them. ← Linux has kcmp < 1742578763 6437 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :which can check two FDs (possibly in different processes) to see if they are duplicates of each other (e.g. due to dup or fork) < 1742578838 915357 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there's more than one reasonable equality-like operation you could perform on FDs, but that one seems reasonable < 1742578864 977287 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(you can also use fstat to check whether two FDs refer to the same file) < 1742578931 611646 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it is not immediately obvious to me what equality of capabilities would mean – it might be useful to know what the equality comparison was being used for in order to work out the best way to do the comparison < 1742579042 431583 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: TIL! That's quite cool. < 1742579111 795223 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :E doesn't bother with equality at all; instead, they use H. Baker's extensional equality for objects. In the general case, where a cap might refer to a networked resource, equality is really equivalence of message-passing: two caps are equal when it doesn't matter which one is used to make the delivery. < 1742579181 756363 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Accordingly, E.join(o1, o2) returns a reference that lets the holder send messages, and the holder promises that o1 and o2 have the same referent. If that promise breaks, then E literally converts the returned Promise to a Broken reference. < 1742579228 362993 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The relevant Baker paper is https://plover.com/~mjd/misc/hbaker-archive/ObjectIdentity.html and the entrypoint to the E dig site is http://www.erights.org/elib/equality/index.html < 1742579266 597283 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the use case for join doesn't seem obvious to me – if the return value of the join is non-broken, couldn't you just use one of the inputs directly? < 1742579348 402781 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Usually o1 is a Near reference and o2 is Far; the idea is to assert that o2 has taken a round trip to some other object broker, and collapse its reference down to something that could be Near-ish. < 1742579360 29329 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, so you're doing it for the assert < 1742579389 422402 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess this is using a definition of "promise" other than the usual one? < 1742579405 470808 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yep. Strong hint from the underlying runtime's table class, named "CycleBreaker", as well as: "Used to finitely and successfully walk possibly cyclic & unsettled structures." < 1742579461 33030 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The idea is that, in E or Monte or etc., we can ask `x == y` on two object graphs which include networked resources and cycles, and get a meaningful answer *immediately*. If we need to ask more careful questions, there's E.sameEver/2, E.sameYet/2, etc. < 1742579514 278064 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :E is where the usual definition of "promise" comes from, in the sense that a Promise is a reference to a not-yet-computed result and only interacts via sent messages. < 1742579533 30077 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But more specifically it's the eponymous state in this Harel statechart: http://www.erights.org/elib/equality/images/ref-settling.gif < 1742579647 758115 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The typical language is Near and spends most of its time in the green Near box. Value objects are that whole PassByConstruction optimization, for example. Java with NIO, or typical JS runtimes, also have Promises, both inheriting their designs heavily from E. < 1742579693 25979 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :(When I was younger I used to think that this was actually from Ruby's EventMachine or Python's Twisted, which did inspire Node. But JS's Promise feature is actually literally designed by folks like M. M. Miller and Crockford who worked on E!) < 1742579832 250768 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh, I see – the thing you get when you force the promise lets you send messages only if o1 == o2, but isn't itself o1 or o2 < 1742579835 120550 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Sorry if that's a lot. Today a promise is more-or-less a "deferred with error", a combination of the deferred monad and error monad, and that's what happens when the runtime doesn't have a nice vat-style structure for holding object graphs in isolation from one another. I guess you could say that today's runtimes are like one-vat setups. < 1742579863 166631 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Right! It's literally the join in the lattice of behaviors extending from o1 and o2. < 1742579913 189788 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Or, the partial order, I guess? I feel like it should be a lattice. < 1742580158 512422 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Oh! Another thing to consider: E is explicitly like an extremely heavy macro system; E-on-Java is Java-flavored. Monte doesn't actually *have* M.join/2 as a primitive. From today's perspective, Monte would have something like Capn Proto RPC support, and join would be implemented as an RPC conversation. < 1742580178 443925 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :What we actually provided is promise-aware equality primitives: https://github.com/monte-language/typhon/blob/6da286a954f039e524c282c10cff1d6a43664d0f/typhon/objects/equality.py#L478 < 1742580525 26577 :tromp!~textual@2a02:a210:cba:8500:40b3:acb4:4579:83af JOIN #esolangs * :Textual User < 1742584464 551847 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :You have another reason for equality of capabilities, which might be meaningful in your use, but in my use that I was considering, two capabilities are equal iff the program made a copy of a register or memory containing it. (If a program wants a capability that refers to the same object but is unequal, it can send a message to itself containing that capability.) < 1742585082 844608 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Ah, like authenticated or encrypted pointers. > 1742587255 875156 PRIVMSG #esolangs :14[[07Xkcd 153714]]4 10 02https://esolangs.org/w/index.php?diff=154305&oldid=153958 5* 03Hotcrystal0 5* (+14) 10xkcd is normally stylized as lowercase > 1742587291 431054 PRIVMSG #esolangs :14[[07Xkcd 306214]]4 10 02https://esolangs.org/w/index.php?diff=154306&oldid=153922 5* 03Hotcrystal0 5* (+14) 10xkcd is normally stylized as lowercase or all caps > 1742592501 523084 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03TristinSmith 5* 10New user account > 1742593086 274932 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=154307&oldid=154195 5* 03TristinSmith 5* (+189) 10 < 1742594954 812788 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :It should be an error to copy or compare only a part of a capability (although the kernel may be allowed to do this), and the operating system may also designate certain memory areas as not being allowed to copy capabilities into that memory (e.g. video memory). < 1742595018 748771 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Only the operating system is allowed to make capabilities or read their values, although user programs can copy them, compare if they are equal, and test whether or not they are capabilities (rather than numbers). < 1742595046 384202 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(The CPU does not know what "capabilities" means other than being values with the capability tag bit set; everything else about them is defined by the operating system.) < 1742596291 841461 :APic!apic@apic.name PRIVMSG #esolangs :cu > 1742597727 423145 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=154308&oldid=154303 5* 03Buckets 5* (+15) 10 > 1742597762 930982 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=154309&oldid=154279 5* 03Buckets 5* (+14) 10 > 1742597777 595901 PRIVMSG #esolangs :14[[07Geometry14]]4 N10 02https://esolangs.org/w/index.php?oldid=154310 5* 03Buckets 5* (+2241) 10Created page with "Geometry is an Esoteric programming language created by [[User:Buckets]] in 2022. {| class="wikitable" |- ! Commands !! Instructions |- | m || Set the Point m. |- | || Change Coordinates by n Units horizontally & o units vertically. > 1742598037 662262 PRIVMSG #esolangs :14[[07Geometry14]]4 M10 02https://esolangs.org/w/index.php?diff=154311&oldid=154310 5* 03Buckets 5* (+153) 10 > 1742598544 468052 PRIVMSG #esolangs :14[[07Geometry14]]4 M10 02https://esolangs.org/w/index.php?diff=154312&oldid=154311 5* 03Buckets 5* (+352) 10 > 1742599214 368925 PRIVMSG #esolangs :14[[07Eans,14]]4 M10 02https://esolangs.org/w/index.php?diff=154313&oldid=154143 5* 03Buckets 5* (-105) 10 > 1742599724 103412 PRIVMSG #esolangs :14[[07HAps14]]4 M10 02https://esolangs.org/w/index.php?diff=154314&oldid=153681 5* 03Buckets 5* (+0) 10 > 1742600365 115859 PRIVMSG #esolangs :14[[07Esorn14]]4 M10 02https://esolangs.org/w/index.php?diff=154315&oldid=154075 5* 03Buckets 5* (+1756) 10 > 1742601221 300077 PRIVMSG #esolangs :14[[07Fontmess14]]4 M10 02https://esolangs.org/w/index.php?diff=154316&oldid=153891 5* 03Buckets 5* (+498) 10