> 1670720628 510281 PRIVMSG #esolangs :14[[07User:Masalt14]]4 10 02https://esolangs.org/w/index.php?diff=105259&oldid=105252 5* 03Masalt 5* (+4) 10 > 1670722217 762833 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105260&oldid=105213 5* 03Dtp09 5* (+1) 10/* greater, less, equal, jump, rand */ > 1670723455 884526 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105261&oldid=105260 5* 03Dtp09 5* (-85) 10/* Comments */ > 1670723539 312101 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105262&oldid=105261 5* 03Dtp09 5* (-2) 10/* Opcodes */ > 1670723563 715239 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105263&oldid=105262 5* 03Dtp09 5* (-58) 10/* Opcodes */ > 1670723610 554938 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105264&oldid=105263 5* 03Dtp09 5* (+58) 10/* Opcodes */ > 1670723690 10012 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105265&oldid=105264 5* 03Dtp09 5* (+67) 10/* Opcodes */ > 1670723968 776656 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105266&oldid=105265 5* 03Dtp09 5* (+209) 10/* Opcodes */ > 1670723969 119256 PRIVMSG #esolangs :14[[07EsoFur14]]4 N10 02https://esolangs.org/w/index.php?oldid=105267 5* 03TaserTheFox 5* (+2484) 10Created page with "'''EsoFur''' is a joke programming language created by [[User:TaserTheFox]], partially inspired by [[FurASM]] == Commands == {| class="wikitable plainpres" |+ Commands |- ! Command !! What It Does |- | OwO What's This? || Start Of Program |- | QwQ || End Of Program | > 1670724279 863279 PRIVMSG #esolangs :14[[07EsoFur14]]4 M10 02https://esolangs.org/w/index.php?diff=105268&oldid=105267 5* 03TaserTheFox 5* (+91) 10 > 1670724424 780754 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=105269&oldid=105187 5* 03TaserTheFox 5* (+13) 10/* E */ new language > 1670724524 258073 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105270&oldid=105266 5* 03Dtp09 5* (+2) 10/* Opcodes */ > 1670724832 843818 PRIVMSG #esolangs :14[[07User:TaserTheFox14]]4 M10 02https://esolangs.org/w/index.php?diff=105271&oldid=105240 5* 03TaserTheFox 5* (-24) 10 > 1670725159 763681 PRIVMSG #esolangs :14[[07User:TaserTheFox14]]4 M10 02https://esolangs.org/w/index.php?diff=105272&oldid=105271 5* 03TaserTheFox 5* (+25) 10 < 1670725831 228622 :razetime!~quassel@49.207.203.213 JOIN #esolangs * :razetime < 1670726432 965018 :razetime!~quassel@49.207.203.213 QUIT :Remote host closed the connection < 1670727308 133763 :^[!~user@user//x-8473491 QUIT :Ping timeout: 252 seconds < 1670727575 510339 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Ping timeout: 255 seconds < 1670727703 532369 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse > 1670727997 513835 PRIVMSG #esolangs :14[[07Number-code14]]4 10 02https://esolangs.org/w/index.php?diff=105273&oldid=100166 5* 03Username 5* (+59) 10/* Syntax */ > 1670728252 191936 PRIVMSG #esolangs :14[[07Number-code14]]4 10 02https://esolangs.org/w/index.php?diff=105274&oldid=105273 5* 03Username 5* (+31) 10/* Syntax */ > 1670728655 192797 PRIVMSG #esolangs :14[[07Number-code14]]4 10 02https://esolangs.org/w/index.php?diff=105275&oldid=105274 5* 03Username 5* (+120) 10 > 1670728702 759704 PRIVMSG #esolangs :14[[07Number-code14]]4 M10 02https://esolangs.org/w/index.php?diff=105276&oldid=105275 5* 03Username 5* (+3) 10/* Examples */ > 1670729918 112157 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105277&oldid=105270 5* 03Dtp09 5* (-233) 10/* Replacements */ < 1670732484 344100 :^[!~user@user//x-8473491 JOIN #esolangs ^[ :user < 1670733263 445931 :razetime!~quassel@49.207.203.213 JOIN #esolangs * :razetime > 1670733287 770571 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105278&oldid=105277 5* 03Dtp09 5* (+83) 10/* Replacements */ > 1670733308 696757 PRIVMSG #esolangs :14[[07Ababab14]]4 N10 02https://esolangs.org/w/index.php?oldid=105279 5* 03Username 5* (+0) 10Created blank page > 1670733789 336377 PRIVMSG #esolangs :14[[07Joke language list14]]4 10 02https://esolangs.org/w/index.php?diff=105280&oldid=104846 5* 03TaserTheFox 5* (+13) 10/* General languages */ > 1670733868 517673 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105281&oldid=105278 5* 03Dtp09 5* (+12) 10/* Starting a program */ > 1670733904 981668 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105282&oldid=105281 5* 03Dtp09 5* (+42) 10/* Starting a program */ > 1670734959 35138 PRIVMSG #esolangs :14[[07Truth-machine14]]4 10 02https://esolangs.org/w/index.php?diff=105283&oldid=105087 5* 03TaserTheFox 5* (+204) 10 < 1670735354 146630 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1670735370 530134 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1670735410 94472 :SGautam!uid286066@id-286066.ilkley.irccloud.com JOIN #esolangs SGautam :Siddharth Gautam < 1670735453 271089 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1670735495 352387 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Client Quit < 1670736018 309363 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Read error: Connection reset by peer < 1670736041 537461 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse > 1670736936 318233 PRIVMSG #esolangs :14[[07Tile/Textile14]]4 10 02https://esolangs.org/w/index.php?diff=105284&oldid=105282 5* 03Dtp09 5* (-10) 10/* Starting a program */ < 1670738982 331217 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Hmm, slow AoC day... seems I'm not the only one who struggled with parsing the specification. (The twist is less exciting, but I guess it'll stump quite a few people anyway.) < 1670739381 167046 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1670739394 527414 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1670740280 841481 :int-e!~noone@int-e.eu PRIVMSG #esolangs :`? life < 1670740283 692669 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :​‘Life,’ said Marvin, ‘don't talk to me about life.’ < 1670741607 82482 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1670742199 295117 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Someone made a Subleq based game < 1670742202 847697 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :https://www.reddit.com/r/programminggames/comments/zi889t/sic1_a_singleinstruction_subleq_programming_game/ < 1670743935 980700 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1670745029 300630 :int-e!~noone@int-e.eu PRIVMSG #esolangs :cute < 1670745060 256061 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1670745071 99926 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(but I think I'll stop after the first two level sets) < 1670745741 830376 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Though hmm. I wonder how long it'll take to get to self-modifying code. < 1670745794 674031 :int-e!~noone@int-e.eu PRIVMSG #esolangs :But the 3rd set isn't going there yet. < 1670746602 42508 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Ah. It's set number 4. < 1670746768 973025 :SGautam!uid286066@id-286066.ilkley.irccloud.com QUIT :Quit: Connection closed for inactivity < 1670747095 821225 :b_jonas!~x@adsl-89-134-29-164.monradsl.monornet.hu QUIT :Ping timeout: 260 seconds < 1670749909 384615 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1670749913 365731 :Sgeo_!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1670750044 324218 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1670753458 926080 :Sgeo_!~Sgeo@user/sgeo PRIVMSG #esolangs :Ooh optimization hints < 1670753854 359404 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1670753884 954619 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 268 seconds < 1670753929 360526 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1670754741 129915 :Sgeo_!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1670754746 530697 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1670756462 281303 :V!~v@ircpuzzles/2022/april/winner/V QUIT :Read error: Connection reset by peer < 1670756539 426827 :V!~v@ircpuzzles/2022/april/winner/V JOIN #esolangs V :Wie? < 1670758004 557668 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Ping timeout: 255 seconds < 1670758139 525027 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1670758200 285069 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Read error: Connection reset by peer < 1670758462 531425 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1670758895 515635 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Ping timeout: 255 seconds < 1670758976 527118 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1670759614 240393 :bgs!~bgs@212-85-160-171.dynamic.telemach.net JOIN #esolangs bgs :bgs < 1670768651 303869 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Successfully predicted the AoC twist. < 1670768670 485323 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :But it did take a while to find the "divided by three" bit in that wall of text. < 1670768712 118520 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I didn't think about what the twist would be. < 1670768725 76495 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(While doing part 1) < 1670768774 487154 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I just inadvertently guessed from the fact that the tests in the input were the first 8 primes. < 1670768782 750302 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Not that it's an inevitable consequence of that, but still. < 1670768807 949021 :int-e!~noone@int-e.eu PRIVMSG #esolangs :And even with that twist, it didn't really push the limits of it. < 1670768818 926881 :int-e!~noone@int-e.eu PRIVMSG #esolangs :You could've done this with a hundred monkeys. < 1670768876 294848 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :According to https://zem.fi/tmp/aoc/twist.html people either found it less twisty than previous days, or else the timing is biased from the fact that understanding the description (and writing the boilerplate to parse the input) probably made part 1 take longer. < 1670768897 743210 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(gur qvssrerapr jbhyq or gung lbh'q jbex zbqhyb rnpu cevzr vaqvivqhnyyl, gnpxvat n erznvaqre cre zbaxrl, engure guna hfvat gur ypz bs nyy gur zbqhyv) < 1670768938 887632 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :In terms of https://zem.fi/tmp/aoc/stats.aligned.ratio.html it does have approximately the same fraction of "only solved part 1" people than day 9. < 1670769011 591117 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :zuz, evtug < 1670769120 38746 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Did I mention I tried to make ChatGPT do ROT-13 assignments by starting the prompt by explaining to it what ROT-13 was? It replied by explaining back what ROT-13 is, and then answering something that looked like an entirely random question. Like, I asked it for "what's six multiplied by seven?" (which it can do in plaintext) and it replied by telling me the capital of France. < 1670769149 704541 :int-e!~noone@int-e.eu PRIVMSG #esolangs ::) < 1670769214 796363 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Well, it does seem to have a slight edge on day 9. > 1670769509 330698 PRIVMSG #esolangs :14[[07Quudo14]]4 10 02https://esolangs.org/w/index.php?diff=105285&oldid=104910 5* 03SwitchU42 5* (+59) 10 > 1670769599 547733 PRIVMSG #esolangs :14[[07Quudo14]]4 10 02https://esolangs.org/w/index.php?diff=105286&oldid=105285 5* 03SwitchU42 5* (+48) 10 < 1670770127 334395 :^[!~user@user//x-8473491 QUIT :Ping timeout: 252 seconds < 1670770871 175020 :^[!~user@user//x-8473491 JOIN #esolangs ^[ :user < 1670771261 516360 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Ping timeout: 255 seconds < 1670771281 534193 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse > 1670772069 36499 PRIVMSG #esolangs :14[[07Quudo14]]4 10 02https://esolangs.org/w/index.php?diff=105287&oldid=105286 5* 03SwitchU42 5* (+99) 10 < 1670773046 405199 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1670775802 925250 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1670776105 918267 :SGautam!uid286066@id-286066.ilkley.irccloud.com JOIN #esolangs SGautam :Siddharth Gautam < 1670776786 126487 :b_jonas!~x@adsl-89-134-29-79.monradsl.monornet.hu JOIN #esolangs * :b_jonas < 1670777795 517609 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Ping timeout: 255 seconds < 1670777908 534713 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1670778279 358387 :int-e!~noone@int-e.eu PRIVMSG #esolangs :fizzie: Oh another silly thing that AoC could've done for a harder twist is ask for something big like 10^12 steps with a small-ish number of monkeys. This is feasible because the items are independent, and the number of states per item stays manageable. < 1670778332 788623 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Probably too early for that... and perhaps it has too much of a Project Euler flavor. > 1670779047 698375 PRIVMSG #esolangs :14[[07Quudo14]]4 10 02https://esolangs.org/w/index.php?diff=105288&oldid=105287 5* 03SwitchU42 5* (+94) 10 < 1670779288 699631 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1670779982 456683 PRIVMSG #esolangs :14[[07Quudo14]]4 10 02https://esolangs.org/w/index.php?diff=105289&oldid=105288 5* 03SwitchU42 5* (-9) 10 < 1670780518 712966 :razetime!~quassel@49.207.203.213 QUIT :Remote host closed the connection > 1670781477 195131 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03VBerstis 5* 10New user account < 1670782285 319413 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User > 1670782462 607896 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 M10 02https://esolangs.org/w/index.php?diff=105290&oldid=105238 5* 03VBerstis 5* (+244) 10/* Introductions */ > 1670782782 65376 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=105291&oldid=105269 5* 03VBerstis 5* (+28) 10/* S */ < 1670782997 417703 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :What customizable mahjong games, including Japanese rules, are suitable for Linux, with FOSS and without 3D graphics? > 1670783549 624397 PRIVMSG #esolangs :14[[07SNOBOL514]]4 N10 02https://esolangs.org/w/index.php?oldid=105292 5* 03VBerstis 5* (+686) 10Created page with "SNOBOL5 is an update from SNOBOL4. More information can be found at http://snobol5.org . Oregon SNOBOL5 is an open source implementation for 64bit Windows and Linux on x86 processors. SNOBOL originated in Bell Laboratories in the 1960's. The language is useful for < 1670783857 326384 :SGautam!uid286066@id-286066.ilkley.irccloud.com QUIT :Quit: Connection closed for inactivity > 1670784163 241984 PRIVMSG #esolangs :14[[07Fractran14]]4 M10 02https://esolangs.org/w/index.php?diff=105293&oldid=71078 5* 03VBerstis 5* (+157) 10 < 1670784554 715276 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1670785317 245890 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1670787483 127906 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net JOIN #esolangs * :[https://web.libera.chat] cakeprophet < 1670787642 265163 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Meh. Day 11 wasn't exactly pleasant in Burlesque. Also, the part 2 solution takes 59 seconds for the example and 124 seconds for my puzzle input. :/ < 1670787702 406211 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :I don't think there's anything inherently wrong with Unicode string types, but they are often poorly designed or poorly used. For example, libraries using Unicode strings as inputs when they actually want bytestring inputs, and vice versa. It can be a problem for example when a library wants to "support Unicode" so they use the Unicode type, but < 1670787702 906105 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :what they actually wanted was to be encoding-agnostic which means they should have used a bytestring instead. Really you should only be using a Unicode string when your code needs to perform Unicode-specific operations on Unicode code points. < 1670787715 885959 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :and when languages prioritize them over raw bytestrings, like when string literals are always UTF-8 encoded strings and using bytestrings requires extra code to convert to raw, developers will typically take the path of least resistance and use Unicode strings everywhere when they don't really need to < 1670787766 569744 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :the types themselves can be poorly designed or have inconsistent/unexpected semantics. In Javascript, writing a C-style for loop over a string will index the bytes of the string, while using an iterator will iterate over the codepoints instead. "string.length" will return the raw bytes and the only way to get the number of codepoints is to iterate < 1670787767 68898 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :into an array: Array.from(string).length < 1670787802 324530 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs : a JS string literal "Hello" is always a UTF-16 encoded string. To use a raw string you need to convert to Buffer with Buffer.from(string). This leads to UTF-16 strings showing up in libraries where they don't belong < 1670787863 324398 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :I would guess what made the switch from Python 2 to 3 so slow and painful for the Python community was the fact that it switched to an "everything is Unicode" design but for real-world Python apps doing real-world things everything is not, in fact, Unicode. < 1670787872 77158 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :cakeprophet: Yes, those are actually what my concerns were. The presence of a Unicode string type tends to cause libraries to use them when they should not do so. I also think that there is nothing inherently wrong with a Unicode string type if you do not have to use it and string functions are available for byte strings too, but they do tend to be poorly designed and poorly used. < 1670787908 951030 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :huge networking libraries like Twisted had to totally rewrite all of their string code to convert to/from bytestrings and the standard library utilities that were available in Python 2 for formatting/converting bytestrings were just flat out missing in Python 3. And, on top of all this, they needed to maintain compatibility with the old Python 2 < 1670787909 450883 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :APIs at the same time. < 1670787928 575222 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :In other words, I agree with your points. < 1670787937 345201 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :the design assumption for Python 3 was "everything should just be using Unicode anyway" but that only makes sense in the context of user-facing applications that display human-readable text to users. Networking code often doesn't and shouldn't use Unicode < 1670788096 611704 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :However, I think that "everything should just be using Unicode anyway" is wrong even in the context of user-facing applications that display human-readable text to users, but whether or not that is the case still has the other problems that you and I mentioned. < 1670788148 505022 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :it's technically wrong, yes. but from practically correct in 2022 < 1670788435 219370 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :but yes if raw byte strings are a widely supported language primitive it's a non-issue because any encoding is easy to support then < 1670788448 558831 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :so it should always be a priority < 1670788581 953190 :earend1!uid568065@user/utoneq QUIT :Quit: Connection closed for inactivity < 1670788853 456675 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :it's more about "does the application need to be aware of human-language factors". An IRC client for example displays human-readable text to users and is user-facing, but doesn't really care too much about the message encoding itself. So when creating a Haskell IRC bot I would use ByteString at the transport level but would convert to Text for < 1670788853 955514 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :commands if I needed to manipulate the text in some way (parse and split on Unicode spaces of different types to split into words, uppercase and lowercase, etc) > 1670788895 145718 PRIVMSG #esolangs :14[[07FlipJump14]]4 M10 02https://esolangs.org/w/index.php?diff=105294&oldid=102091 5* 03Tomhe 5* (-136) 10 < 1670788896 502372 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :the IRC protocol spec doesn't say anything about the message encoding other than the protocol commands are all basic ASCII < 1670789247 93334 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :often for user apps the answer is "yes it does need to be aware of that" and the most commonly used encodings are Unicode encodings. so that's why I say for "user-facing apps" it often makes sense, though it's not always the case < 1670789330 14977 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :but yeah, I think if you took the unicode changes out of Python 3 the entire Python codebase probably would have migrated from 2 to 3 within a year or two at most. < 1670789425 848675 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :instead it took like, what, 10 years? to confidently say "most Python code is Python 3" < 1670789625 360595 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname > 1670791623 186159 PRIVMSG #esolangs :14[[07User:XKCD Random Number14]]4 10 02https://esolangs.org/w/index.php?diff=105295&oldid=103786 5* 03MathigonDec 5* (+46) 10Newline eliminated < 1670791908 367168 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1670792068 374564 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User > 1670792323 52043 PRIVMSG #esolangs :14[[07BrainDestructionByCode I14]]4 N10 02https://esolangs.org/w/index.php?oldid=105296 5* 03Threesodas 5* (+1659) 10Created page with "'''BrainDestructionByCode I''' is an esoteric language designed to drive the programmer insane, created by [[User:Threesodas|threesodas]]. = Cells of BDBCI = BDBCI is a cell based programming language, similar to [[brainfuck]]. It has a finite amount > 1670792939 15142 PRIVMSG #esolangs :14[[07EsoFur14]]4 10 02https://esolangs.org/w/index.php?diff=105297&oldid=105268 5* 03TaserTheFox 5* (+1052) 10added error list > 1670792960 742740 PRIVMSG #esolangs :14[[07EsoFur14]]4 M10 02https://esolangs.org/w/index.php?diff=105298&oldid=105297 5* 03TaserTheFox 5* (+0) 10 < 1670793943 234842 :JAA!~JAA@user/jaa PRIVMSG #esolangs :cakeprophet: Fortunately, IRCv3 introduced UTF8ONLY to signal to clients that data must be UTF-8. If you send something invalid to those servers with that enabled, you get an error (or even a disconnect) or the message gets modified to be valid. < 1670794590 581724 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :I think it is a bad idea (as are many other parts of IRCv3, but not all of them), and it would be better to somehow declare the character encoding on a channel (or user, in the case of private messages). However, when bridging to other services, sometimes being restricted to a specific character encoding (or even further restricted) may be necessary. (Usually this would be UTF-8, but not always.) < 1670794829 22104 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Many of my own programs do not, and probably will not, ever support Unicode. (I mostly program in C, though, rather than Python) < 1670795422 548027 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Possibly, can also be written ICNU which can be alternative of ICU, but does not need to be converted to/from Unicode and can deal with any encoding (including Unicode). < 1670796403 588968 :bgs!~bgs@212-85-160-171.dynamic.telemach.net QUIT :Remote host closed the connection > 1670796766 951693 PRIVMSG #esolangs :14[[07SNOBOL514]]4 M10 02https://esolangs.org/w/index.php?diff=105299&oldid=105292 5* 03PythonshellDebugwindow 5* (+58) 10Stub, categories < 1670797692 466249 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :JAA: hmm yeah that's too simplistic of an approach. but I guess it makes it easy to implement for existing IRC code. a way to declare expected encodings at server, channel, and message level would be best I think. UTF-8 is most efficient for English text but UCS-2 or UTF-16 would be a more efficient choice for Chinese characters. < 1670797745 737090 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :I don't think there's anything wrong with no enforcing an encoding in the IRC spec. it's a good thing in the sense that it doesn't limit encoding choices for servers/clients. But there should just be an easy way to declare what encoding is being used as metadata < 1670797870 143792 :JAA!~JAA@user/jaa PRIVMSG #esolangs :I think it makes far more sense to standardise on one encoding that can cover (pretty much) all glyphs out there than the minor efficiency gain from using a more specific encoding. < 1670797905 856183 :JAA!~JAA@user/jaa PRIVMSG #esolangs :Overcomplication is nice in esolangs but not so much in serious code. :-) < 1670798259 706963 :JAA!~JAA@user/jaa PRIVMSG #esolangs :There's an argument for other encodings due to the hard line length limit, and IRCv3's been working on that with the multiline spec (sadly still WIP though). < 1670798273 664487 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1670798334 228915 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :I don't think it's overly complicated it's just as complicated as encodings themselves are. It's equivalent complexity to and it's not like these are unused encodings with no library support practically everything supports these encodings. message and channel level encoding could be overkill but at a minimum having a < 1670798334 728385 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :server-level encoding metadata isn't overcomplication. if an IRC server is primarily for Chinese languages then it doesn't make sense to use UTF-8 when UCS-2 and UTF-16 is widely used. hell even legacy chinese encodings can still be commonly found in China < 1670798464 692950 :JAA!~JAA@user/jaa PRIVMSG #esolangs :Yeah, true for UTF-16 and probably UCS-2, but then people will immediately ask for JIS, GBK, EUC, and whatnot. That way lies madness. < 1670798551 462509 :JAA!~JAA@user/jaa PRIVMSG #esolangs :It still makes a relatively simple protocol significantly more complicated for a very minor advantage in very specific circumstances. That's overcomplication to me. < 1670798637 943318 :JAA!~JAA@user/jaa PRIVMSG #esolangs :Same reason why almost everyone uses UTF-8 for web pages these days, even if sometimes another encoding could be marginally more efficient. And IRC uses even less bandwidth than HTML over HTTP. < 1670798667 918422 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :sure, why not support those. I understand the appeal of strongarming everything into UTF-8 but there's a reason we have multiple Unicode encodings and not just one. Back in the old days of "encoding hell" I think everyone thought the solution was to just have one encoding to rule them all, but really what would be best is a consistent encoding < 1670798668 417911 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :standards, metadata support for multiple encodings at protocol/file type level, and universal library support for all common encodings < 1670798738 282199 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :UTF-8 is good enough for most purposes so it's an appealing and easy solution to just say "everything is UTF-8 now" but I think there are motivations for other encodings in the right contexts. Maybe not IRC specifically but in general. < 1670798833 452854 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :efficiency concerns are a non-issue in the context of IRC generally. but the line limitation issue is a good example where UTF-8 is not ideal in all cases < 1670798908 527641 :JAA!~JAA@user/jaa PRIVMSG #esolangs :Yeah, I think I agree with that. We're way further from a consistent encoding metadata standard than a universal encoding though. I doubt the former will ever happen, to be honest. < 1670798962 211381 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :depends. I think on Web encoding support is fairly solid. but honestly since much of what I encounter is UTF-8 anyway it's hard for me to quantify encoding support across devices and browsers < 1670799001 241145 :JAA!~JAA@user/jaa PRIVMSG #esolangs :Sure, I meant as a true universal standard that can be applied to 'anything', not just HTML. < 1670799051 629855 :JAA!~JAA@user/jaa PRIVMSG #esolangs :Say 'utf-8:some text encoded as UTF-8' or whatever, and that would work whether it's in a chat message, on a web page, or in a text file. < 1670799083 612874 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :which is kind of the problem with everyone adopting a universal encoding. when it DOES make more sense to use the "ideal" encoding, often the support is not given because "everyone should just be using UTF-8 anyway". I see a problem with this mindset even though, for practical purposes, it currently works most of the time. < 1670799214 180157 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net PRIVMSG #esolangs :yeah there's no way to universally support that it has to be done in every standard and every protocol design. which requires devs to be a bit more thoughtful than just "oh everyone is using UTF-8 anyway who cares" < 1670799320 220385 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :I think that there is no "ideal" character set (not just encoding) for all uses. This depends on not only what language you are writing but also how the data is to be used. < 1670799518 711997 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :The fact that many modern programs insist on Unicode causes some problems, including that displaying Chinese and Japanese text correctly can be difficulty, that xterm will fail to display some characters from some DEC character sets (either correctly, or at all, sometimes), that the way text directions and other things are handled will cause problems in some cases, and character widths (sometimes ambiguous), etc. < 1670799625 3224 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :They keep changing the character encoding of the rules of Magic: the Gathering, but fortunately it isn't difficult to find out what encoding it uses (and then I just convert all of them to ASCII). < 1670799927 829253 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :For naming character encodings, I had considered to use an extension of the IBM code page numbers; numbers higher than 65535 can be used for encodings that do not have a IBM code page number. Many of them have no Unicode mapping (although some do, and this mapping is not necessarily different than the mapping of other code pages even if the code pages are different). < 1670800253 376927 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :For example, you will not want to be limited to Unicode and can use TRON code, and others. < 1670801023 902726 :earend1!uid568065@user/utoneq JOIN #esolangs zut :utoneq < 1670801339 724742 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Unfortunately, most fonts are made for Unicode and many libraries are designed for Unicode fonts, making it difficult to use non-Unicode, but I must try to write such thing anyways. < 1670803152 788697 :cakeprophet!~cakeproph@pool-108-6-129-193.nycmny.fios.verizon.net QUIT :Quit: Client closed