< 1740703474 270012 :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 > 1740706191 122558 PRIVMSG #esolangs :14[[07Fsx14]]4 M10 02https://esolangs.org/w/index.php?diff=152916&oldid=152829 5* 03Robotosaurus6502 5* (+3) 10 < 1740708826 214249 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1740711877 697415 PRIVMSG #esolangs :14[[07SLet/algo14]]4 10 02https://esolangs.org/w/index.php?diff=152917&oldid=152839 5* 03I am islptng 5* (+154) 10 < 1740720837 193461 :sprock!~sprock@user/sprock QUIT :Ping timeout: 252 seconds < 1740720877 226582 :sprock!~sprock@user/sprock JOIN #esolangs sprock :maeve (she/her) < 1740721054 76016 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm, after seeing how bad compilers are at vectorising code, I think the world needs a shader language that interoperates really neatly with existing programming languages < 1740721083 801016 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :like, you can just call a function written in the shader language and it goes and does the same computation on all the elements of an array, or whatever < 1740721146 888769 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :shader languages naturally vectorise because it's their entire purpose for existence – and they'd make it possible to transparently move code execution to a GPU (GPUs are of course also very SIMD) < 1740721882 977412 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sure. I've been thinking about this recently because I keep wanting to emit GPU assembly. Or rather I want to talk about the category implied by GPU assembly. < 1740721907 994718 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :They used to be nicely monoidal, back before call-and-return behaviors were added. < 1740722957 107713 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: TBH also existing shader languages just don't look like the underlying ISAs. < 1740722970 253035 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :They're all flavored after whatever was popular at the time, mostly C++. < 1740723080 797966 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess I care more about the semantics matching the underlying architecture, rather than the syntax matching < 1740723093 858585 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but yes, most shader languages are very C++-like < 1740724483 80273 :Hooloovoo!~Hooloovoo@hax0rbana.org QUIT :Quit: ZNC 1.8.2+deb2+deb11u1 - https://znc.in < 1740724760 474999 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Dunno how much GPU assembly you've seen. It's mostly SIMD with masking, but the MD-ness is abstracted; the programming model only sees one vertex/fragment/etc at a time, which is why the C++-ness fits well enough. < 1740724841 985249 :Hooloovoo!~Hooloovoo@hax0rbana.org JOIN #esolangs hooloovoo :Hooloovoo < 1740724931 257539 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Honestly sometimes I think that Futhark is the best that we will get for GPU programming. < 1740724962 714108 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I've seen plenty of shader source code, but not what it compiles to < 1740725139 161746 :Hooloovoo!~Hooloovoo@hax0rbana.org QUIT :Ping timeout: 248 seconds < 1740725246 32746 :Noisytoot!~noisytoot@user/meow/Noisytoot QUIT :Remote host closed the connection < 1740725268 472443 :Hooloovoo!~Hooloovoo@hax0rbana.org JOIN #esolangs hooloovoo :Hooloovoo < 1740725272 557997 :Noisytoot!~noisytoot@user/meow/Noisytoot JOIN #esolangs Noisytoot :Ron < 1740725303 759674 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :It's a lot like DSP code, but instead of varying in time, we're varying in some sort of fragment space. So the assembly program has a bunch of GPRs, some of which have the fragment's precomputed values like color and depth, and a designated output register. < 1740725386 750098 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :In the olden days, you could do a texel lookup but only in-between programs; the programs acted as "texture combiners". But these days the program can use a dedicated assembly op to request a texel lookup with programmable coords. < 1740725433 728717 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The punchline is that the program is never executed over fewer than four fragments. There are ops that e.g. take the *difference* between registers in a fragment; these are used to compute screen-space partial derivatives. < 1740725492 342960 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :And each little square of four fragments is recursively scheduled on ever-more-vectorized pipelines. AMD and Intel don't expose much of this, but nVidia loves to make programmers tune their "threads" and "warps" and etc. < 1740725612 438520 :Hooloovoo!~Hooloovoo@hax0rbana.org QUIT :Ping timeout: 252 seconds < 1740725715 330162 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I know about the whole thread/warp thing, that matters at the source level when writing shaders, in addition to the asm level < 1740725731 898154 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(I used to teach this stuff, although I'm not sure I still remember the whole syllabus…) < 1740726595 469723 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1740726645 93574 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 248 seconds < 1740726676 663676 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1740728312 753727 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: I implemented the assemblers for a couple GPU drivers. I'm familiar with the ISAs but not with CUDA or etc. < 1740728434 525566 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Transparently moving code to the GPU requires that calls and returns are transparent, or else the GPU can't really call back into CPU-only code. Combine that with the limited memory bandwidth, and GPU programming really has to be all-or-nothing in terms of where it's executing. < 1740728617 948911 :Hooloovoo!~Hooloovoo@hax0rbana.org JOIN #esolangs hooloovoo :Hooloovoo < 1740728775 256204 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: right, GPU-to-CPU calls really don't make sense with the programming model (and CPU-to-GPU calls often have a large amount of overhead so you don't want to make very many of them) < 1740728838 947979 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Have you ever heard the tragedy of BARth AGP? It's not a story the PCI bus would tell you. < 1740728859 144695 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess I'm currently thinking along the line of "a restricted language subset designed to SIMDify well" (e.g. via restricting the use of control flow statements) < 1740728872 579681 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Everybody focuses on the "GiB/s" part of GPUs and not the context of "GiB/s of pixels on HDMI out". < 1740728899 698045 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and requiring the memory access patterns to be well-behaved < 1740728927 127377 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :That latter bit is the key, I think. Athas (Futhark's author) had similar points of discussion. < 1740728969 895045 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :nVidia realized this early. They have device-specific texel layouts to optimize access, usually based on Z-ordering with Morton curves. < 1740729034 503275 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :last time I checked (which was a while ago now), Intel processors were able to handle badly-behaved SIMD memory accesses much more efficiently than AMD processors – that said I think there were probably tradeoffs made to make that happen and I'm not sure they were worth it > 1740731132 933677 PRIVMSG #esolangs :14[[07BitChanger Busy beaver/Proof14]]4 10 02https://esolangs.org/w/index.php?diff=152918&oldid=152815 5* 03C++DSUCKER 5* (+2676) 10 < 1740731707 115443 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer > 1740731729 885260 PRIVMSG #esolangs :14[[07Fsx14]]4 10 02https://esolangs.org/w/index.php?diff=152919&oldid=152916 5* 0347 5* (+23) 10 < 1740731952 442173 :craigo!~craigo@user/craigo JOIN #esolangs craigo :realname > 1740732606 55 PRIVMSG #esolangs :14[[07User:BrainFuckGirl14]]4 10 02https://esolangs.org/w/index.php?diff=152920&oldid=152786 5* 03BrainFuckGirl 5* (+39) 10/* Code */ > 1740732763 840113 PRIVMSG #esolangs :14[[07User:BrainFuckGirl14]]4 10 02https://esolangs.org/w/index.php?diff=152921&oldid=152920 5* 03BrainFuckGirl 5* (+64) 10/* Heart in a Heart */ > 1740732909 970753 PRIVMSG #esolangs :14[[07User:BrainFuckGirl14]]4 10 02https://esolangs.org/w/index.php?diff=152922&oldid=152921 5* 03BrainFuckGirl 5* (+487) 10/* Hello, world! */ < 1740733513 933494 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :korvo: wait, you wrote GPU drivers? wow < 1740733541 426427 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :" < 1740733586 7475 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :“and not the context of ‘GiB/s of pixels on HDMI out’” => I heard they solved that problem by switching from HDMI to DisplayPort < 1740733645 347552 :Hooloovoo!~Hooloovoo@hax0rbana.org QUIT :Read error: Connection reset by peer < 1740733869 983638 :Hooloovoo!~Hooloovoo@hax0rbana.org JOIN #esolangs hooloovoo :Hooloovoo < 1740733899 308722 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: yes, if you want vectorized code from the compiler you have to write code that explicitly handles vectors, with either the intel intrinsics (that both MSVC and gcc supports) or the gcc intrinsics, or these days with the vector intrinsics in the rust standard library. For some code you can use an existing higher-level library to do this. Most of those libraries have a general enough interface < 1740733905 317416 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :that they can operate on any aligned raw memory region, rather than only on objects that you allocate and manage with that library. That means you can mix and match different libraries and hand-written assembly. < 1740734049 826748 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I've done that mix and match at my previous job for calculations on raw pixel image data, with OpenCV doing most of the image operations, but eigen and at least two pieces of hand-written vectorized loops involved for when OpenCV didn't have the right operations, then Cairo used for rendering, and ffmpeg and sometimes ImageMagick used for decoding/encoding/displaying images or videos. < 1740734098 592349 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ais523: yes, if you want vectorized code from the compiler you have to write code that explicitly handles vectors ← I agree that you are correct on this, but am upset that it's the case < 1740734196 269275 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :Most of that code that I wrote was compiled for x86. At least one snippet involving OpenCV plus Eigen was compiled for an ARM processor, but that was done by some other co-worker who was hard to get information out of so I'm not sure of the details. < 1740734309 337489 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :There were multiple other libraries involved that I hadn't mentioned above. < 1740734446 760557 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I should get a job where I can write more of this nonsense because it's fun. < 1740734499 326101 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :And I should perhaps learn some basic GPU programming too. I would prefer to specialize to CPU, but there are just tasks where GPUs are so much better I can't ignore them. < 1740734648 117041 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I'm curious about the unsolved geometry problem that Tom7 is trying to solve, but I expect we won't get details about it tomorrow, we'll have to wait for Sigbovik < 1740734660 478038 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :GPU programming and CPU SIMD programming are very reminiscent of each other (although not exactly the same) < 1740734680 25347 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :he didn't give specifics other than one terrible pun < 1740734738 28926 :Hooloovoo!~Hooloovoo@hax0rbana.org QUIT :Ping timeout: 248 seconds < 1740735149 326062 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :hmm, let me ask a question about GPUs then. so you know for 3D graphics you want to do this texture mapping thing where you have an array of texture coordinates for every pixel on screen, and another bitmap array that has the texture, and you want to look up the pixel in the texture for every coordinate, ideally with antialiasing by interpolating values when the texture is grown in size or averaging < 1740735155 599387 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :values when the texture is shrunk in size. it's not supposed to be possible to do this fast, yet programs with 3D graphics seem to do it all the time. how do programs cheat to do it nevertheless, what support do GPUs provide for this, and what are the limits of what you can do this way? < 1740735287 398810 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I know that's very broad and I can't expect a complete answer on IRC, but I have to start somewhere < 1740735316 483503 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :A better question might be, what's a good introductory book for me that answers GPU programming questions like this? < 1740735374 38450 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the short answer to the original question is "the various relevant scalings of the texture are precalculated, and doing the other operations for each pixel on each frame is actually fairly fast for modern processors" < 1740735377 800369 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :Ideally one that's not focused only on machine learning and bitcoin mining < 1740735434 881053 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the reason the texture scalings are precalculated is for the scalings down to smaller sizes, to save on memory reads – correctly scaling down a texture to (say) 1/16 of its size means reading 256 times as many pixels < 1740735446 553858 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: ok, but like what kind of cache do the precomputed texture values have to fit so that this can stay fast enough? < 1740735482 384620 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and how much do GPUs help in this? < 1740735489 991537 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so the nice thing about it is that the only precomputed values are scalings down (a scaling up + interpolation only requires looking at, like, 4 or so pixels from the original) < 1740735510 975546 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so you store the texture at original size, half size, quarter size, etc. and that's only a fairly small increase in the amount of texture memory < 1740735578 674611 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :GPUs are pretty much required to do this at speed, they have enough parallelism that running the same code for every pixel on every frame is quite doable as long as the code is no more than moderately complicated (and by modern machine standards, that can be quite complicated) < 1740735587 617936 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :that sounds nice but I don't think it can work because if you want affine transform the images squishing it down to very narrow in any possible directions then you have to cache something close to every angle, because you have to be able to average a thin paralellogram in any direction < 1740735632 742713 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: I guess a program could do that? but mostly they just produce inaccurate results in that sort of corner case and rely on human vision to not notice < 1740735639 381813 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :"running the same code for every pixel on every frame is quite doable" => yes, but the problem here is not the code but that you have to do memory lookups into the texture memory for every pixel, and that's the part that shouldn't be possible to parallelize even for a GPU < 1740735671 921083 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :something that's distant and foreshortened due to being at an angle (which is the only case in computer graphics where that could plausibly happen) isn't particularly visible and isn't likely to be perceived as particularly relevant, so if the color is slightly off people won't notice < 1740735689 67570 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :(wait, which l is doubled... the first one. I can never remember.) < 1740735732 91163 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: you're right that fitting all the textures into cache is one of the primary bottlenecks in GPU programming < 1740735783 462438 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think this is the main reason for the loading screens you get in computer games – GPUs make much heavier use of explicit prefetching (including over long time periods) than CPUs do < 1740735901 695193 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I see < 1740735908 503525 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :IIRC GPU memory mapping is also much simpler than on a CPU, so the GPU has to do less work calculating physical addresses and the like < 1740736045 67832 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :for GPUs I'm more interested for the kind of computations that you want in 3D graphics than the neutral net machine learning or bitcoin mining aspects < 1740736074 895671 :Hooloovoo!~Hooloovoo@hax0rbana.org JOIN #esolangs hooloovoo :Hooloovoo < 1740736086 724968 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the GPU side of the neural net stuff actually mostly isn't interesting, it's basically just embarrassingly parallel SIMD < 1740736090 987219 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :even if I understand why the bitcoin mining aspect is important for others to study for cryptanalysis < 1740736157 563522 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and I think the bitcoin mining is similar (you're just calculating a load of hashes in parallel, and hashing algorithms tend not to have any control flow so that can be pure SIMD too) < 1740736188 861598 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :GPUs doing control flow is some of the most interesting things about them but I don't fully understand how it works myself, so I'm not going to attempt to explain it < 1740736327 555348 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :yes, symmetric crypto primitives basically have to be designed in such a way that it's easy to run them in parallel on a GPU < 1740736360 771869 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the other interesting aspect is when they read memory from one part of the computation that was written in another, there are some synchronisation tricks that you couldn't do with regular CPU threads < 1740736400 791857 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and even public key crypto is like that to some degree: in particular you want to have no control flow in the primitives because control flow generally leaks sensitive data on side channels < 1740736405 201094 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: well, the world of cryptocurrency includes people who were annoyed at GPU miners and aimed to intentionally break them, normally by coming up with crypto primitives that required a lot of memory to implement and were hard to parallelize for that reason < 1740736439 195198 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but it's not something I really care about or follow < 1740736579 874677 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: yes, IIUC there are two versions of these: password hashing is designed to require lots of memory, which means you can't run many of them on parallel no matter what hardware you have; < 1740736724 506583 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and then there's the time locking thing where you don't need a lot of memory so in theory you could parallelize things, but there's a long sequence of operations that depend on each other so you need a lot of time to complete an operation, and this is set up either for time locking such that you can compute the encryption quickly but decryption necessarily takes a lot of time, or you can do the inverse < 1740736730 514009 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :where you have proof of a computation that must have taken a lot of time in sequence for you but you save the intermediate results so anyone can verify quickly by computing parts in parallel. < 1740736743 783822 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :proof of work < 1740736775 463048 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :for password hashing both the original setup and the verification are slow < 1740737024 661091 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :apparently many modern GPU programs get extra texture cache performance by storing textures compressed and decompressing only after they're read out of the cache, so the textures are cached in compressed form and thus more fits in there < 1740737084 162726 :rodgort!~rodgort@static.38.6.217.95.clients.your-server.de QUIT :Quit: Leaving < 1740737719 241118 :rodgort!~rodgort@static.38.6.217.95.clients.your-server.de JOIN #esolangs * :rodgort > 1740739738 342204 PRIVMSG #esolangs :14[[07User:BrainFuckGirl14]]4 10 02https://esolangs.org/w/index.php?diff=152923&oldid=152922 5* 03BrainFuckGirl 5* (+1120) 10/* Code */ added the big "Hello, world!" > 1740740010 817236 PRIVMSG #esolangs :14[[07User talk:BrainFuckGirl14]]4 10 02https://esolangs.org/w/index.php?diff=152924&oldid=152863 5* 03BrainFuckGirl 5* (+254) 10/* Question */ < 1740741236 468846 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1740741417 622322 :Guest46!~Guest46@2001:7c7:1906:106:153c:4e24:47df:f9e JOIN #esolangs * :[https://web.libera.chat] Guest46 < 1740741439 171502 :Guest46!~Guest46@2001:7c7:1906:106:153c:4e24:47df:f9e QUIT :Client Quit > 1740741675 483799 PRIVMSG #esolangs :14[[07Sembly14]]4 M10 02https://esolangs.org/w/index.php?diff=152925&oldid=152892 5* 03Hotspot5 5* (+14) 10changed flip description < 1740741932 749297 :APic!apic@apic.name PRIVMSG #esolangs :Hi > 1740742049 994781 PRIVMSG #esolangs :14[[07Sembly14]]4 10 02https://esolangs.org/w/index.php?diff=152926&oldid=152925 5* 03Hotspot5 5* (+1) 10 > 1740743051 365835 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Sandbox/PsiLine History14]]4 N10 02https://esolangs.org/w/index.php?oldid=152927 5* 03PrySigneToFry 5* (+3896) 10Created page with "Everything before 19th century is same as OTL universe. = 19th century = * 1800: Ming Dynasty found again, and has no progress ---- It missed the industrial revolution. * 1805: Opium wars start. * 1812: Opium wars end, Ming Dynas > 1740743091 834843 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=152928&oldid=152765 5* 03PrySigneToFry 5* (+65) 10 > 1740743433 340374 PRIVMSG #esolangs :14[[07UserEdited14]]4 10 02https://esolangs.org/w/index.php?diff=152929&oldid=152904 5* 03PrySigneToFry 5* (+930) 10 > 1740743843 606300 PRIVMSG #esolangs :14[[07UserEdited14]]4 10 02https://esolangs.org/w/index.php?diff=152930&oldid=152929 5* 03PrySigneToFry 5* (+1493) 10 > 1740743936 650526 PRIVMSG #esolangs :14[[07EternalGolf14]]4 10 02https://esolangs.org/w/index.php?diff=152931&oldid=152465 5* 03PrySigneToFry 5* (+0) 10 > 1740744099 719085 PRIVMSG #esolangs :14[[07Mutzerium14]]4 10 02https://esolangs.org/w/index.php?diff=152932&oldid=152791 5* 03PrySigneToFry 5* (+240) 10 > 1740744224 738601 PRIVMSG #esolangs :14[[07Mutzerium14]]4 10 02https://esolangs.org/w/index.php?diff=152933&oldid=152932 5* 03PrySigneToFry 5* (+63) 10 > 1740744265 971334 PRIVMSG #esolangs :14[[07Mutzerium14]]4 10 02https://esolangs.org/w/index.php?diff=152934&oldid=152933 5* 03PrySigneToFry 5* (+70) 10 > 1740745221 267740 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Jackmhny 5* 10New user account > 1740745453 906300 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=152935&oldid=152883 5* 03Jackmhny 5* (+129) 10/* Introductions */ > 1740745473 156899 PRIVMSG #esolangs :14[[07Talk:Onechar14]]4 N10 02https://esolangs.org/w/index.php?oldid=152936 5* 03Jackmhny 5* (+2) 10Was this page written by an English speaker? I don't understand it at all > 1740746445 516988 PRIVMSG #esolangs :14[[07User:None114]]4 10 02https://esolangs.org/w/index.php?diff=152937&oldid=151406 5* 03None1 5* (+40) 10 > 1740746939 775694 PRIVMSG #esolangs :14[[07Vector14]]4 N10 02https://esolangs.org/w/index.php?oldid=152938 5* 03None1 5* (+923) 10Created page with "'''Vector''' is an [[OISC]] invented by [[User:None1]], it uses a 3-dimensional vector. ==Data== As said above, Vector uses a 3D vector called ''A'', it is initially (0,0,0). A vector literal is represented by 3 real numbers separated by spaces. ==Command== ''B'' ''c'' '' > 1740747062 578379 PRIVMSG #esolangs :14[[07Vector14]]4 10 02https://esolangs.org/w/index.php?diff=152939&oldid=152938 5* 03None1 5* (+240) 10 > 1740747488 980699 PRIVMSG #esolangs :14[[07Vector14]]4 10 02https://esolangs.org/w/index.php?diff=152940&oldid=152939 5* 03None1 5* (+629) 10 > 1740747540 530011 PRIVMSG #esolangs :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=152941&oldid=152912 5* 03None1 5* (+13) 10/* V */ < 1740747564 620863 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu JOIN #esolangs b_jonas :[https://web.libera.chat] wib_jonas > 1740747606 561623 PRIVMSG #esolangs :14[[07User:None114]]4 10 02https://esolangs.org/w/index.php?diff=152942&oldid=152937 5* 03None1 5* (+43) 10/* My Esolangs */ < 1740748092 380318 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :Is there a computable version of the Cantor-Schröder-Bernstein theorem? For example, f and g are both injective functions from the natural numbers to the natural numbers, imagine them as compilers both ways between two programming languages if you wish. You are given f and g as oracles only that you can call multiple times, but you also get a < 1740748092 881352 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :primitive recursive function b as a bound for how fast they grow, so for any x, f(x) 1740748137 403058 PRIVMSG #esolangs :14[[07Mutzerium14]]4 10 02https://esolangs.org/w/index.php?diff=152943&oldid=152934 5* 03PrySigneToFry 5* (+375) 10 > 1740748750 560678 PRIVMSG #esolangs :14[[07Talk:UserEdited/that long command14]]4 N10 02https://esolangs.org/w/index.php?oldid=152944 5* 03PrySigneToFry 5* (+382) 10Created page with "Actually, I don't think it's a big deal to pronoun people, and I even allow people to call me "this/that". But religious beliefs and national dignity should not be stigmatized or discriminated against (hence my disgust and dissatisfaction > 1740749600 176988 PRIVMSG #esolangs :14[[07Talk:UserEdited/that long command14]]4 10 02https://esolangs.org/w/index.php?diff=152945&oldid=152944 5* 03Hotcrystal0 5* (+180) 10 < 1740749736 66594 :chomwitt!~alex@2a02:587:7a13:5400:42b0:76ff:fe46:a5fd JOIN #esolangs chomwitt :realname > 1740751881 783857 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Sandbox/Users that is also on other place14]]4 10 02https://esolangs.org/w/index.php?diff=152946&oldid=152792 5* 03Hotcrystal0 5* (+23) 10 > 1740751912 640639 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Sandbox/Users that is also on other place14]]4 10 02https://esolangs.org/w/index.php?diff=152947&oldid=152946 5* 03Hotcrystal0 5* (-24) 10 > 1740752053 397874 PRIVMSG #esolangs :14[[07User:Hotcrystal0/My esolang ideas14]]4 10 02https://esolangs.org/w/index.php?diff=152948&oldid=152710 5* 03Hotcrystal0 5* (-43) 10 < 1740752075 821620 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu QUIT :Quit: Client closed > 1740752923 611710 PRIVMSG #esolangs :14[[07PoeticChicken14]]4 10 02https://esolangs.org/w/index.php?diff=152949&oldid=152889 5* 03Hotcrystal0 5* (+23) 10 > 1740754228 248970 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Sandbox/PsiLine History14]]4 10 02https://esolangs.org/w/index.php?diff=152950&oldid=152927 5* 03Ractangle 5* (+0) 10did you mean:Out universe < 1740754232 420479 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1740756452 854559 :craigo!~craigo@user/craigo QUIT :Quit: Leaving < 1740761288 879885 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net JOIN #esolangs * :realname > 1740763175 775065 PRIVMSG #esolangs :14[[07GaoErFu14]]4 N10 02https://esolangs.org/w/index.php?oldid=152951 5* 03Hotcrystal0 5* (+23) 10Redirected page to [[]] < 1740764369 338787 :Noisytoot!~noisytoot@user/meow/Noisytoot QUIT :Quit: ZNC 1.9.1 - https://znc.in > 1740764393 287758 PRIVMSG #esolangs :14[[07Fishheads14]]4 10 02https://esolangs.org/w/index.php?diff=152952&oldid=103636 5* 03Hotcrystal0 5* (-12) 10 > 1740764471 18245 PRIVMSG #esolangs :14[[07Fishheads14]]4 10 02https://esolangs.org/w/index.php?diff=152953&oldid=152952 5* 03Hotcrystal0 5* (-12) 10 < 1740764603 743822 :Noisytoot!~noisytoot@user/meow/Noisytoot JOIN #esolangs Noisytoot :Ron < 1740765473 944558 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1740769829 726402 PRIVMSG #esolangs :14[[07ASMM14]]4 N10 02https://esolangs.org/w/index.php?oldid=152954 5* 03Chillaxe 5* (+2045) 10Created page > 1740770102 73449 PRIVMSG #esolangs :14[[07Talk:Golfuck14]]4 N10 02https://esolangs.org/w/index.php?oldid=152955 5* 03UrnEn 5* (+261) 10Created page with "== Why does that quine works == Well it seems just repeatedly copying itself forever but it can't print. Dumb me if there's something I didn't noticed. --~~~~" > 1740770702 122192 PRIVMSG #esolangs :14[[07Stairlang14]]4 N10 02https://esolangs.org/w/index.php?oldid=152956 5* 03 5* (+2281) 10Started the page > 1740770713 499311 PRIVMSG #esolangs :14[[07Compass14]]4 10 02https://esolangs.org/w/index.php?diff=152957&oldid=152679 5* 0347 5* (+8) 10/* Hello, world! */ > 1740770838 646520 PRIVMSG #esolangs :14[[07BitChanger Busy beaver/Proof14]]4 10 02https://esolangs.org/w/index.php?diff=152958&oldid=152918 5* 03C++DSUCKER 5* (+1217) 10 > 1740770842 545626 PRIVMSG #esolangs :14[[07Stairlang14]]4 M10 02https://esolangs.org/w/index.php?diff=152959&oldid=152956 5* 03 5* (+103) 10Added two commands < 1740772617 994601 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Hmm... alternative Sea magic objective? https://int-e.eu/~bf3/tmp/seamin.png (probably not too interesting except for ice 2; I'm mainly doing this because I want to see if finishing with ~2k points is somehow interesting) < 1740772714 350330 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Do you have description of the rules of the games? < 1740772760 957160 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Not really; there are spells and those are hard to describe in text. https://epicpikaguy.itch.io/sea-magic is the game < 1740772782 576172 :int-e!~noone@int-e.eu PRIVMSG #esolangs :runs in browser, and there's a windows download that works with wine < 1740772849 734860 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Trying https://epicpikaguy.itch.io/bee-magic is probably helpful if the spell mechanic is too confusing. < 1740772857 398889 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :The game is not work in my computer (and neither does Wine, due to package manager conflicts), although I can see that there is screenshots < 1740772894 855619 :int-e!~noone@int-e.eu PRIVMSG #esolangs :You unlock spells that require a certain sequence of moves. But the spells have levels and for some spells that affects the sequence of moves. < 1740772902 775185 :int-e!~noone@int-e.eu PRIVMSG #esolangs :So it's complicated. < 1740773068 551927 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :O, OK. < 1740773460 372642 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Yay I hit 2000 exactly: https://int-e.eu/~bf3/tmp/sea2000.png < 1740773744 848797 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(A game I like to play is Hero Hearts, and recently I had figured out one level that I had not figured out before. I think it is good to have all of the rules known, and I think Magic: the Gathering does better than some similar games that do not explain as well.) < 1740773787 96637 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(The rules for Pokemon have unfortunately not even been fully documented and not always entirely clear, but much of it is documented much better than the people who made the game did so, fortunately. I would hope that it can be improved further, too.) < 1740773938 417586 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(But I know about the rules of Hero Hearts because I had written my own implementation of it, and in doing so, found mistakes and incomplete stuff in the documentation.) < 1740774644 32463 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I had tried to write some rules of some games on http://esolangs.org/wiki/User:Zzo38/Game_rules but some only have brief descriptions since they are much more complicated than can be explained there. (Probably someone with more to write about Magic: the Gathering and its relation with esolangs should mention that too) < 1740774806 769677 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(Also, many explanations of game rules usually mention the goal of the game first; I find it more helpful to explain the rules first, since the goal of the game is a consequence of the rules and can be understood better if the rules are understood.) > 1740775190 192679 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=152960&oldid=152941 5* 03Buckets 5* (+14) 10 > 1740775204 353672 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=152961&oldid=152913 5* 03Buckets 5* (+13) 10 > 1740775221 659595 PRIVMSG #esolangs :14[[07Imbored14]]4 N10 02https://esolangs.org/w/index.php?oldid=152962 5* 03Buckets 5* (+2113) 10Created page with "{{Lowercase}} imbored Is an Esoteric programming language created [[User:Buckets]] in 2022, To be specific, imbored Is not the real nsme, there was no real name except the singular phrase "imbored" at the top of the Document. {| class="wikitable" |- ! Commands !! Instru > 1740775245 440642 PRIVMSG #esolangs :14[[07Imbored14]]4 M10 02https://esolangs.org/w/index.php?diff=152963&oldid=152962 5* 03Buckets 5* (+2) 10 > 1740775304 102913 PRIVMSG #esolangs :14[[07Imbored14]]4 M10 02https://esolangs.org/w/index.php?diff=152964&oldid=152963 5* 03Buckets 5* (+2) 10 < 1740776159 18345 :chomwitt!~alex@2a02:587:7a13:5400:42b0:76ff:fe46:a5fd QUIT :Ping timeout: 265 seconds > 1740776177 430409 PRIVMSG #esolangs :14[[07ABBa14]]4 N10 02https://esolangs.org/w/index.php?oldid=152965 5* 03Buckets 5* (+21) 10Redirected page to [[aBBa]] < 1740777322 521281 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :yeah, I think that's not enough, we need stronger conditions if we want a computable version. the problem is that you can have two small numbers such that you eventually reach one from the other by applying f and g alternatingly a lot of times, but only through a long chain that goes through very large numbers, and you can never exclude that this is the case if you don't have a *lower* bound for how < 1740777328 528748 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :small f or g can return. < 1740777493 813044 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :but it should be possible to give reasonable stronger conditions, like if x 1740782973 922863 PRIVMSG #esolangs :14[[07Talk:aBBa14]]4 N10 02https://esolangs.org/w/index.php?oldid=152966 5* 03Aadenboy 5* (+393) 10Created page with "couldn't you just use {{DISPLAYTITLE:aBBa}} instead of a zero width joiner? ~~~~" < 1740786282 393649 :Sgeo_!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1740786405 441851 :Sgeo__!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1740786464 432548 :Sgeo!~Sgeo@user/sgeo QUIT :Ping timeout: 252 seconds < 1740786552 430942 :Sgeo_!~Sgeo@user/sgeo QUIT :Ping timeout: 252 seconds