< 1630713603 557695 :joast!~rick@cpe-98-146-112-4.natnow.res.rr.com QUIT :*.net *.split < 1630713604 462184 :Corbin!~Corbin@c-73-67-140-116.hsd1.or.comcast.net QUIT :*.net *.split < 1630713604 462226 :Noisytoot!~noisytoot@sourcehut/user/noisytoot QUIT :*.net *.split < 1630713732 531685 :Corbin!~Corbin@c-73-67-140-116.hsd1.or.comcast.net JOIN #esolangs * :Corbin < 1630713781 607066 :joast!~rick@cpe-98-146-112-4.natnow.res.rr.com JOIN #esolangs joast :purple < 1630713820 457254 :Noisytoot!~noisytoot@sourcehut/user/noisytoot JOIN #esolangs Noisytoot :Ron < 1630714689 306018 :Pyautogui!~Pyautogui@108-216-110-132.lightspeed.sndgca.sbcglobal.net JOIN #esolangs * :[https://kiwiirc.com] Pyautogui < 1630714840 520929 :Corbin!~Corbin@c-73-67-140-116.hsd1.or.comcast.net QUIT :Ping timeout: 240 seconds < 1630714945 376618 :arseniiv!~arseniiv@136.169.204.31 QUIT :Ping timeout: 252 seconds < 1630716807 584430 :Pyautogui!~Pyautogui@108-216-110-132.lightspeed.sndgca.sbcglobal.net QUIT :Ping timeout: 245 seconds < 1630716980 285787 :Pyautogui!~Pyautogui@108-216-110-132.lightspeed.sndgca.sbcglobal.net JOIN #esolangs * :[https://kiwiirc.com] Pyautogui < 1630717133 915379 :Pyautogui!~Pyautogui@108-216-110-132.lightspeed.sndgca.sbcglobal.net PART :#esolangs < 1630718060 253514 :Everything!~Everythin@37.115.210.35 JOIN #esolangs * :Everything < 1630718061 390685 :earendel!uid498179@user/earendel QUIT :Quit: Connection closed for inactivity < 1630719186 248171 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN #esolangs oerjan :Ørjan Johansen < 1630721547 641720 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1630721561 835288 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Client Quit < 1630721946 637211 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1630723745 249161 :sebbu!~sebbu@user/sebbu QUIT :Ping timeout: 250 seconds < 1630724055 16766 :sebbu!~sebbu@user/sebbu JOIN #esolangs sebbu :sebbu < 1630724513 591414 :earendel!uid498179@user/earendel JOIN #esolangs earendel :Amore Fuenfter Stock < 1630725654 267522 :orichalcumcosmon!~orichalcu@1.132.108.2 JOIN #esolangs orichalcumcosmon :Quinn Johnson < 1630725722 527876 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Quit: leaving < 1630725857 624524 :orichalcumcosmon!~orichalcu@1.132.108.2 QUIT :Client Quit < 1630725968 316131 :orichalcumcosmon!~orichalcu@1.132.108.2 JOIN #esolangs orichalcumcosmon :Quinn Johnson < 1630726512 638627 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1630730533 339427 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1630733128 440137 :Corbin!~Corbin@c-73-67-140-116.hsd1.or.comcast.net JOIN #esolangs * :Corbin < 1630733950 126914 :orichalcumcosmon!~orichalcu@1.132.108.2 QUIT :Quit: Leaving < 1630734066 623503 :hendursaga!~weechat@user/hendursaga QUIT :Ping timeout: 276 seconds < 1630734234 622659 :hendursaga!~weechat@user/hendursaga JOIN #esolangs hendursaga :weechat < 1630736394 324102 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Specifically, the CFB, OFB, and CTR modes do not require the block cipher to be able to decrypt anything. I think ChaCha20 is like CTR mode, anyways. Maybe any mode could also be combined with XEX mode, too. < 1630736460 980554 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :ChaCha20 is a stream cipher, not a block cipher < 1630736470 308946 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :and CTR mode is a construction for turning a block cipher into a stream cipher < 1630736582 939672 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :I think you are right that you could use something like hash(key ++ counter) in place of encrypt(key, counter) in a CTR construction < 1630736618 654226 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :but i'd have to think about the formal guarantees of such a construction < 1630736711 313175 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :whether it's actually secure given the usual assumptions of a cryptographic hash function < 1630736784 21004 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :it's easy to come up with (contrived) examples of hashes which are resistant to collision and pre-image attacks and yet do not produce a secure stream cipher this way < 1630736806 796506 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :for example pad the output of a standard cryptographic hash with zeroes < 1630736854 773938 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :however a lot of the time cryptographic systems are proven secure within the "random oracle model", where hashes are replaced with an idealized randomly-chosen mapping from the input space to the output space < 1630736866 555501 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :and that should suffice for a stream cipher, i think < 1630737337 975543 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Although they call ChaCha20 a stream cipher, it looks to me like a block cipher with CTR mode. < 1630737376 265690 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :TIL: computers have mastered Gomoku in 2017 https://en.wikipedia.org/wiki/Gomoku#Computers_and_Gomoku < 1630737561 501031 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :I once looked into Salsa20/ChaCha as an example of a modern secure cipher that might be feasible (if annoying) to work by hand < 1630737570 268285 :keegan!~beehive@li521-214.members.linode.com PRIVMSG #esolangs :it's fairly simple as these things go < 1630737603 21964 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :https://en.wikipedia.org/wiki/Computer_Olympiad < 1630738151 9688 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Yes, it will still be slow to work by hand for long messages, but it is still possible, I think < 1630740385 164308 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Why don't you like Free Hero Mesh? (It is similar to some (not all) of the kind of puzzle games sometimes mentioned by other people on here, and can also be considered as a alternative of Xsok and PuzzleScript (some of the features of Free Hero Mesh were designed to be similar to some of the features of those other programs, too).) Currently nobody else is on the Free Hero Mesh. If there is other IRC to suggest to try, you can suggest t < 1630740761 857590 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :I suppose that the reversible ChaCha20 could be used (with key whitening) with other block cipher modes too, although I don't know if it is secure. < 1630742808 623608 :hendursa1!~weechat@user/hendursaga JOIN #esolangs hendursaga :weechat < 1630743036 619907 :hendursaga!~weechat@user/hendursaga QUIT :Ping timeout: 276 seconds < 1630743771 332793 :Koen_!~Koen@246.244.88.92.rev.sfr.net JOIN #esolangs * :Koen < 1630744037 535470 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1630745118 248520 :imode!~imode@user/imode QUIT :Ping timeout: 256 seconds < 1630747170 525636 :earendel!uid498179@user/earendel QUIT :Quit: Connection closed for inactivity < 1630748110 790689 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :nakilon: in the autumn at least, sure < 1630748117 614032 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I'm not in Australia < 1630748256 143245 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :and even if there's no rain for a week, the week long forecast isn't so confident in it < 1630748616 722950 :tech_exorcist!~tech_exor@user/tech-exorcist/x-0447479 JOIN #esolangs tech_exorcist :he/him < 1630749043 228557 :Melvar!~melvar@dslb-092-074-060-118.092.074.pools.vodafone-ip.de QUIT :Ping timeout: 250 seconds < 1630749322 582994 :Melvar!~melvar@dslb-178-003-156-185.178.003.pools.vodafone-ip.de JOIN #esolangs Melvar :melvar < 1630749456 367140 :Melvar`!~melvar@dslb-088-066-199-040.088.066.pools.vodafone-ip.de JOIN #esolangs Melvar :melvar < 1630749582 582948 :Melvar!~melvar@dslb-178-003-156-185.178.003.pools.vodafone-ip.de QUIT :Ping timeout: 245 seconds < 1630749764 333063 :Melvar`!~melvar@dslb-088-066-199-040.088.066.pools.vodafone-ip.de QUIT :Ping timeout: 252 seconds < 1630750412 891980 :tech_exorcist!~tech_exor@user/tech-exorcist/x-0447479 QUIT :Remote host closed the connection < 1630750449 742591 :tech_exorcist!~tech_exor@user/tech-exorcist/x-0447479 JOIN #esolangs tech_exorcist :he/him < 1630750548 603978 :Melvar`!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de JOIN #esolangs Melvar :melvar < 1630751637 142512 :Everything!~Everythin@37.115.210.35 QUIT :Quit: leaving < 1630756586 369349 :earendel!uid498179@user/earendel JOIN #esolangs earendel :Amore Fuenfter Stock < 1630757715 669158 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1630759715 338580 :Koen_!~Koen@246.244.88.92.rev.sfr.net QUIT :Remote host closed the connection < 1630759868 599298 :V!~v@anomalous.eu JOIN #esolangs V :Wie? < 1630760557 479677 :int-e!~noone@int-e.eu PRIVMSG #esolangs :`learn The password of the month is Waiwhakaiho < 1630760560 893985 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :Relearned 'password': The password of the month is Waiwhakaiho < 1630760644 499147 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esolangs :oops < 1630760668 476578 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esolangs :i distinctly recall having thought of a password well in advance, then forgotten about it, < 1630760671 480945 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esolangs :. < 1630760700 326803 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esolangs :(and of course i distinctly don't recall what it was.) < 1630760711 981162 :int-e!~noone@int-e.eu PRIVMSG #esolangs :There'll be another month. < 1630760718 557605 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I think. < 1630760721 712866 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esolangs :MAYBE < 1630760829 554822 :int-e!~noone@int-e.eu PRIVMSG #esolangs :oerjan: That anecdote is proving a point made previously: The password of the month is most forgettable. < 1630760858 83526 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(This is a problem. I really like these kind of descriptions, but it's hard to come up with new ones.) < 1630760904 369115 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esolangs :at least this month's is mysterious. < 1630761323 246939 :Koen_!~Koen@246.244.88.92.rev.sfr.net JOIN #esolangs * :Koen < 1630761445 582299 :arseniiv!~arseniiv@136.169.204.31 JOIN #esolangs * :the chaotic arseniiv < 1630762085 336507 :hendursa1!~weechat@user/hendursaga QUIT :Quit: hendursa1 < 1630762127 623334 :hendursaga!~weechat@user/hendursaga JOIN #esolangs hendursaga :weechat < 1630763221 930276 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Nite < 1630764795 368956 :Koen_!~Koen@246.244.88.92.rev.sfr.net QUIT :Remote host closed the connection < 1630764817 866440 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I had a pending password of the month too, maybe around May, and I remembered it for a while, but by now I've forgotten it. < 1630764955 268311 :Trieste!T@user/pilgrim QUIT :Ping timeout: 250 seconds < 1630767573 166474 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1630767617 957225 :zegalch!~zegalch@178.128.75.133 QUIT :Remote host closed the connection < 1630767642 618083 :zegalch!~zegalch@178.128.75.133 JOIN #esolangs zegalch :The Lounge User < 1630767779 668761 :riv!~river@tilde.team/user/river QUIT :Quit: Leaving < 1630767819 640999 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1630767846 422146 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1630770834 239650 :earendel!uid498179@user/earendel QUIT :Quit: Connection closed for inactivity < 1630771489 446298 :arseniiv!~arseniiv@136.169.204.31 PRIVMSG #esolangs :`? password < 1630771491 897824 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :The password of the month is Waiwhakaiho < 1630771502 456724 :arseniiv!~arseniiv@136.169.204.31 PRIVMSG #esolangs :whm < 1630772370 619024 :spruit11_!~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2 JOIN #esolangs * :anon < 1630772547 225877 :spruit11!~quassel@2a02:a467:ccd6:1:8013:5e37:15b2:f034 QUIT :Ping timeout: 250 seconds < 1630774273 473313 :Melvar`!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de NICK :Melvar < 1630774288 339861 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :I have a number type here where (0.1 + 0.1) - 0.2 is 0.00390625 . I wonder how quickly someone will guess what number format this is. < 1630774399 359636 :int-e!~noone@int-e.eu PRIVMSG #esolangs :> log(0.00390625)/log(2) < 1630774401 51228 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs : -8.0 < 1630774458 635788 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1630774853 588852 :imode!~imode@user/imode JOIN #esolangs imode :imode < 1630775212 959189 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Melvar: overly specific link: https://gitlab.freedesktop.org/cairo/cairo/-/blob/master/src/cairo-fixed-type-private.h#L62 < 1630775327 950428 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(And no, I didn't take 15 minutes to think of a format, I just decided to act on the impulse to check whether cairo is still doing that < 1630775330 954029 :int-e!~noone@int-e.eu PRIVMSG #esolangs :) < 1630775412 201725 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(I thought it uses double instead these days, but that code is still there. So I don't know.) < 1630775694 513400 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :While you are correct that it is a 24.8 fixed point number, the reason I have it is that the Wayland protocol includes these. < 1630775863 250780 :int-e!~noone@int-e.eu PRIVMSG #esolangs :does wayland use pixman in any shape or fashion? < 1630775954 150632 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :Supposedly wayland is a protocol, even though everyone’s *supposed* to just use the one implementation. But I don’t know if that one implementation uses pixman. < 1630776082 87695 :int-e!~noone@int-e.eu PRIVMSG #esolangs :it's probably irrelevant anyway... it should be using 16.16 fixed point (48.16 on 64 bit platforms) < 1630776084 912890 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :(One implementation *for the protocol-speaking itself*, that is. Of course, I wrote my own anyway because I felt like it, that’s why the number discussion of the past couple of days had me bring this up.) < 1630776124 426757 :int-e!~noone@int-e.eu PRIVMSG #esolangs :As did cairo, initially... but people ran into problems with large geometries and they decided to compromise on 24.8 instead. < 1630776126 470340 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :All the things in the wayland protocol are 32-bit words in host byte order, except byte arrays. < 1630776276 29599 :int-e!~noone@int-e.eu PRIVMSG #esolangs :But the reason I was asking was that IIRC, pixman is somewhat present in the X11 protocol's Render extension, so it might have crept into wayland that way. https://github.com/D-Programming-Deimos/libX11/blob/master/c/X11/extensions/Xrender.h#L129-L130 (And yes, there's some confusion about cause and effect here :-) ) < 1630776293 556947 :int-e!~noone@int-e.eu PRIVMSG #esolangs :...D-Programming-Deimos... search engines are so random < 1630776311 735227 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :This is especially fun because one part of the message metadata is a 32-bit word with the message length in the high half and the opcode in the low half, but you can’t (at least not fully portably in principle) read this as two 16-bit words because the order of the 16-bit words switches between little-endian and big-endian systems. < 1630776406 327592 :int-e!~noone@int-e.eu PRIVMSG #esolangs :these days... leave it up to the compiler to figure that out < 1630776436 305377 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1630776462 903010 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :Wayland’s thing is not actually having anything about client rendering in it, except for “how do you make the right kind of buffer” because in-GPU-memory buffers obviously need to be set up by different mechanisms than in-main-memory buffers. < 1630776484 192766 :int-e!~noone@int-e.eu PRIVMSG #esolangs :fizzie: ENOFUNGOT < 1630776535 621031 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Melvar: then why do they have subpixel coordinates at all? < 1630776606 819155 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Oh, I'm making an assumption there. < 1630776638 161865 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :Because you may render your content at a higher resolution if wayland tells you it’s being shown on a hidpi display, it seems, mainly. < 1630776808 292823 :riv!~river@tilde.team/user/river JOIN #esolangs river :river < 1630776812 650725 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :In the core protocol, it seems that mouse, touch, and scroll events use these fixnums for their coordinates, plus for the shape properties of touch points if those are supported by your input device. < 1630776883 87253 :spruit11_!~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2 QUIT :Quit: https://quassel-irc.org - Chat comfortably. Anywhere. < 1630776899 397347 :spruit11!~quassel@2a02:a467:ccd6:1:3c81:60b6:4f21:77d2 JOIN #esolangs * :anon < 1630776914 886009 :fractal42!~fractal42@2601:1c0:2:c841:e982:46ef:4ad4:fdd3 JOIN #esolangs * :[https://web.libera.chat] fractal42 < 1630777006 959961 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :So the mouse/pointer can probably only be at locations corresponding to real pixels, but with the scaling you can have multiple real pixels per unit of surface coordinates. < 1630777171 147778 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Hmm. I guess that makes sense. < 1630777188 377079 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :The scaling stuff is such that the default is just that the compositor scales up your pixel data itself if you don’t say you’re rendering at the increased resolution it told you about. < 1630777249 741272 :int-e!~noone@int-e.eu PRIVMSG #esolangs :ACTION is living a compositer-free life :P < 1630777258 533146 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :Like, it tells you about the scale of any output you’re being shown on, and you tell it about the scale you’re rendering at (default 1), and the compositor has to make up the difference. < 1630777273 180977 :int-e!~noone@int-e.eu PRIVMSG #esolangs :which I guess is borderline insane these days < 1630777324 776429 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :I’m not actually using wayland either because there’s still not a functional WayMonad yet. < 1630777466 509902 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Oh, right. < 1630777477 940056 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Our interweb at home went down yesterday. < 1630777496 564495 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I even said out loud "hmm, fungot has probably dropped off", but then did nothing about it. < 1630777499 321159 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :And an actual XMonad developer noted that having garbage collection in the rendering path is a problem, so a new protocol to replicate the X setup of window manager as a separate process may need to be invented before a WayMonad becomes really usable. < 1630777534 974369 :fungot!fungot@2a01:4b00:82bb:1341::a JOIN #esolangs fungot :fungot-0.1 < 1630777596 75064 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :Good thing the wayland protocol is pretty extensible. < 1630777754 126661 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I imagine pen input can have subpixel accuracy even in terms of physical pixels. At least I remember pen displays quoting ridiculous numbers for that. < 1630777819 466260 :Melvar!~melvar@dslb-178-007-125-106.178.007.pools.vodafone-ip.de PRIVMSG #esolangs :Possibly. < 1630778001 902 :fractal42!~fractal42@2601:1c0:2:c841:e982:46ef:4ad4:fdd3 PART :#esolangs < 1630778011 606817 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Wacom's almost-entry-level Cintiq 16 (I've been thinking about getting one, purely because I have an inexplicable attraction for things with pens) has a ~142dpi 1920x1080 display, but a "5080 lpi" "pen resolution". < 1630778013 467512 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Though I feel like that's the same sort of number as printer resolutions. < 1630778084 784554 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I have certainly thought of passwords, including "DVD demagnetizer", but I don't find it important enough to set them, and it would feel dirty to automatically set them, and it's not clear where the ethics boundary is between running a script that automatically grabs the password at midnight (which timezone?) and just setting up a calendar reminder to grab the password, so I just don't do anything. < 1630778309 118241 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :If I want a tablety thing I can draw on, which also has a screen so I can look at it while I'm drawing, what's the best option? < 1630778331 259233 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I mean for things like interactive online things where other people can see it. < 1630778411 230944 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Should it be a self-contained computing device, or just a peripheral to an existing computer? < 1630778485 75849 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I've been informed that the iPad Pro + Apple Pencil combination is up there, I've just personally ruled that out for software-related reasons. < 1630778581 770349 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :My vague impression was that the iPad Pro Pencil thing was very good. < 1630778606 267993 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :But I'm similarly not that into using an Apple thing. < 1630778703 259245 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :There's also the Surface Pro and the Surface Pen, which I think wasn't bad either, but I've *also* ruled that out for software reasons. < 1630778713 242319 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :HP's just introduced a "Chromebook x2 11" that supports the USI stylus standard, I've been hoping someone would review it for that sort of a use case. < 1630778868 461679 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Hmm, peripherals. Apparently there's non-Wacom stuff in this area which is not completely unaffordable. https://www.amazon.com/dp/B07SR4615F/ < 1630778874 189566 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :And PINE64 recently announced they're going to produce an e-ink thing called a PineNote that's something along the lines of the Remarkable, but that's quite a different thing, what with having a monochrome and inherently-slow-refresh-rate e-ink screen. < 1630778891 577575 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I don't think the Wacom stuff qualifies as "completely unaffordable" any more. < 1630778903 649672 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :It used to be a thing that Cintiq displays cost a whole lot of money, but now those really expensive ones have been rebranded "Cintiq Pro" and they've added two reasonably priced "basic" models, plus the Wacom One. < 1630779012 559049 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Hmm so they have. < 1630779016 322796 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :(The 16" Cintiq 16 costs $649.95, and the 13" Wacom One costs $399.95, in terms of the Wacom store list prices.) < 1630779054 674411 :int-e!~noone@int-e.eu PRIVMSG #esolangs :cintiq pro seems to start at $2k on Amazon < 1630779092 217288 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :shachaf: hmm, my coworker recommended something that they were taking notes on, but becuse I don't want one, I don't remember what it was < 1630779097 792018 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :plus it was partly software recommendation < 1630779516 731947 :int-e!~noone@int-e.eu PRIVMSG #esolangs :wth is Windows S-mode... oh... full vendor lockin mode. < 1630779878 624494 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I think I heard something about that. < 1630779983 858478 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(my browsing drifted to cheap laptops) < 1630780036 886826 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Of course "S" officially stands for "secure" but it's really the walled garden kind of "security". < 1630780091 470290 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Not that I care all that much... as long as I can wipe it and install Linux. Which... well I guess I have to figure out for each model separately since we can no longer trust CPUs nor BIOSes to be open? < 1630780167 680543 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(CPU: https://www.servethehome.com/amd-psb-vendor-locks-epyc-cpus-for-enhanced-security-at-a-cost/ ...not sure whether this crap has made its way to non-server x86 hardware by now.) < 1630781716 357586 :kronk!~18137d14@user/imode JOIN #esolangs imode :kronk < 1630785483 603518 :Everything!~Everythin@37.115.210.35 JOIN #esolangs * :Everything < 1630787258 163172 :tech_exorcist!~tech_exor@user/tech-exorcist/x-0447479 QUIT :Remote host closed the connection < 1630788765 347448 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1630788832 629190 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 245 seconds < 1630788841 233478 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1630789522 50159 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :There are many things that I don't like about Wayland, so I won't use it. I think instead a improved version of X could be made (mostly the core X11 stuff but with some differences), and then using proxying for security. < 1630789828 717685 :tech_exorcist!~tech_exor@user/tech-exorcist/x-0447479 JOIN #esolangs tech_exorcist :he/him < 1630791642 97046 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Hmm, 2160x1440, that's an interesting resolution. (My browsing drifted to looking at first-impression comments on the HP x2 11, but nobody's been talking about the pen at all.) < 1630791688 160331 :int-e!~noone@int-e.eu PRIVMSG #esolangs :> 2160/1440 :: Rational < 1630791689 563755 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs : 3 % 2 < 1630791717 959546 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :3:2 is a nice aspect ratio though. My camera takes 3:2 pictures. < 1630791745 769637 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :lol < 1630791746 836547 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :$ rg "-V" ~/.rbenv/versions/2.3.8/ < 1630791746 872781 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :ripgrep 12.1.1 < 1630791751 147511 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I'm not judging (I think 16:9 is too wide, personally); I was just too lazy to do the math < 1630791761 415119 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :can't grep for "-V" because it's a flag of a grep utility < 1630791762 408088 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Also, I'm a little worried about it being a ChromeOS device. I tried out a ChromeOS tablet with a pen once, and just couldn't figure out a way to make it do palm rejection at all, so it was really frustrating. That's why I've been thinking about the Wacom display: it doesn't do capacitive touch at all, so there's no need to worry about unintentional inputs. < 1630791787 616948 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Usually you pass arguments starting with a dash by doing -- before the arguments. < 1630791794 611738 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :As in, `rg -- -V ...`. < 1630791826 500302 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :worked, thanks < 1630792191 526677 :ais523!~ais523@213.205.242.195 JOIN #esolangs ais523 :(this is obviously not my real name) < 1630792223 514954 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I sort-of want to rant about system programming languages and general-purpose pointers/references < 1630792254 615178 :hendursaga!~weechat@user/hendursaga QUIT :Ping timeout: 276 seconds < 1630792258 278341 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :there are two things you can do with a pointer: a) pointer arithmetic operations like offset, compare, etc.; and b) dereferencing it to get at the value you're pointing to < 1630792277 622440 :hendursaga!~weechat@user/hendursaga JOIN #esolangs hendursaga :weechat < 1630792279 565318 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :operations in group a) are occasionally useful, but operations in group b) are much, much more common < 1630792293 929117 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :however, system programming languages seem to optimise for a) in practice < 1630792319 156462 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :for example, Rust has a way to cast an &T into a *const T, and you can do this with any &T, with no restrictions < 1630792376 956921 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :this means that any code that produces an &T needs to have an actual concrete memory location, with an address, for the thing that it points to, even though 99.9% of the time that's useless and the code you pass the &T to will only care about the thing it points to, not the location of the thing it points to < 1630792445 237868 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :and this seems like it could make optimisation much more difficult, e.g. you can *almost* optimize an &u32 into a u32 (i.e. replacing pass-by-reference with pass-by-value in a situation where the rules of the language prevent the reference target changing), but you can't, due to the off-chance that the program you pass the reference to cares about the address < 1630792490 321643 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :so I'm wondering how difficult it would be to make an optimiser that applies this optimisation anyway, and I'm wondering that it's likely to be too difficult in practice, and also suspect it may have a substantial performance impact < 1630792518 893008 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :(even if not at runtime, the compiler is going to need to do a lot of inlining, etc., to spot that the address isn't being used) < 1630792642 510103 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :something similar happens to constants; often you care about their value but not their address, but the compiler can't safely merge two constants with the same value if their address might be relevant < 1630792656 231491 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :(incidentally, NetHack contains at least one constant with an irrelevant value, which is used only for its address) < 1630792658 279897 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :I know there is X on Wayland, but is there Wayland on X? < 1630792703 192918 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Go has b-type pointers only. Which seems very reasonable to me, I don't know why more high-level languages don't have b-type pointers. < 1630792715 870133 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :C has a "register" command to indicate that taking the address is not possible. < 1630792719 218487 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Zig has distinct pointer types for a and b, I believe. < 1630792750 454549 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Not that this really addresses the thing you were saying. < 1630792813 244232 :tech_exorcist!~tech_exor@user/tech-exorcist/x-0447479 QUIT :Quit: see you tomorrow < 1630792823 51704 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I think languages that have some sort of escape anaysis might be able to do this sort of thing? I vaguely remember that maybe Go does something like that to know whether it can stack-allocate pointers? < 1630792823 177722 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I think that having them separate is one of the better solutions < 1630792838 145653 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Uh, stack-allocate values that it passes pointers to to things. < 1630792841 294608 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :it strikes me that Rust lifetimes might be abusable to track a-ness versus b-ness of a reference < 1630792865 846145 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :but, it wouldn't nest in the same way as other lifetimes < 1630792873 380617 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :would be nice for making code generic over pointer types though < 1630792893 297448 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :zzo38: I think it would make sense to reuse the "register" keyword as "you can't take the address of this" < 1630792901 605201 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :but it would be quite a big change to the language < 1630792968 935619 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Isn't it already how the language works? < 1630792974 839789 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I thought that was the entire meaning of "register". < 1630792993 793030 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :yes but it's only usable in one context < 1630793000 298826 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :which is defining local variables (including function parameters) < 1630793007 720461 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Oh, I see. < 1630793021 386784 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :you can't write int register* x < 1630793040 85161 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Right. < 1630793041 199716 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :err, int *register x < 1630793049 903259 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :(whereas int *const x says that x is const) < 1630793057 920449 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :err, that *x is const < 1630793070 965585 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :x is const would be int const * x or const int* x < 1630793098 266910 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :C type syntax is a good example of how something can have a very simple specification but be utterly unintuitive in practice, and I'm out of practice with it < 1630793114 640075 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :oh hi ais523 < 1630793121 955542 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I knew you'd be summoned eventually < 1630793122 888222 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :I think that the confusing syntax for types is the worst feature of C. < 1630793136 707748 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :yes < 1630793140 966758 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Should I switch to writing const after the type, for consistency? < 1630793152 277028 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :int const x; instead of const int x; and so on. < 1630793158 37783 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I think maybe I should. < 1630793174 155942 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :shachaf: I've been wondering about that < 1630793193 618681 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :int const x; is more consistent, and makes the rules easier to remember; but const int x; is much harder to misinterpret < 1630793209 452968 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I have gotten into the habit of writing *const rather than * const < 1630793212 300182 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :The thing that made me remember how to make constant pointers and so on was when someone told me to think of it as a subscript. < 1630793218 896077 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :As in "int *_{const} x;" < 1630793222 604889 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :(I got taught that by a syntax reformatter, I forget which one) < 1630793257 587608 :arseniiv!~arseniiv@136.169.204.31 QUIT :Ping timeout: 245 seconds < 1630793261 331760 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :hmm, I wonder whether C's type syntax would be more readable if you just swapped the value and type < 1630793278 356088 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :x: *const int versus x: const *int < 1630793303 757859 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :that looks fairly intuitive? < 1630793311 174711 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I'm not so sure const is even a good idea in C. < 1630793325 916268 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Which is a separate matter from the syntax, of course. < 1630793328 584854 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :x: (*int)(int, int) maybe less so < 1630793354 297179 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :actually, that one's badly misleading, probably even ambiguous < 1630793366 91285 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :This argument was sort of convincing: https://gist.github.com/pervognsen/a99c9b2e2712deeb5f174553b4dc0c88 < 1630793391 749963 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :you'd want to write the function pointer as *(int)(int, int) but that's not a simple swap of type and value < 1630793426 356805 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: "you can *almost* optimize an &u32 into a u32" => in rust, the solution to that is to always just pass the value in your code, like the u32 in this case, if it works, because if it's too large, the ABI will pass it as a pointer if it's large anyway. this doesn't work if you want the called function to mutate the value, or if the value isn't movable, but both of those invalidate that < 1630793426 508249 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I think my opinion of const in C is that it's badly designed, but still helps to catch enough errors that it's worth putting up with the design flaws and false positives < 1630793432 363188 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :optimization; and also if the value is not compile time fixed length, but then passing it as a function argument is a hard problem in general. < 1630793468 897738 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :b_jonas: it doesn't work well with generic code, or with non-Copy things < 1630793473 576275 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :a good example is Rc < 1630793491 296188 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: in C++, the solution to that is this newfangled | qualifier, which I'm not sure if it actually got into C++ yet or is in proposal stage, which you use in a function argument, and means that the compiler can either write const & or nothing there, as in, pass the value either by const reference or by value < 1630793491 359269 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :an Rc is 8 bytes long, and not Copy, but cloning it doesn't mutate the Rc itself (just the RcBox it points to) < 1630793521 339538 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Hmm, I still haven't figured out what Cell and RefCell in Rust are. < 1630793525 904237 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :so you'd want to optimise &Rc into &RcBox to avoid the double indirection, but it's hard to see that that optimisation is valid (because someone might take the address of the Rc itself) < 1630793532 995708 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :The documentation doesn't seem to answer that question. < 1630793545 729424 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :shachaf: I figured it out when I wrote code that needed a custom RefCell-like thing < 1630793570 467612 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :the basic idea is, a Cell is something that can be mutated through a shared (&) pointer (whereas most things need an &mut pointer to be mutated) < 1630793576 36278 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :there is a reason why the actual thing you write differs in C++ vs rust, but it's irrelevant now, the main point is that both are trying to solve this and rust has solved it already < 1630793582 840589 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :The memory layout of Cell is the same as T, right? < 1630793585 752850 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :so, you can have a Cell, for example, and write a new u32 to it < 1630793607 31849 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :and yes, memory layout is identical to T, you're just marking it as being mutatable even if there are references to it < 1630793620 499478 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Is Cell something you need unsafe-or-similar to implement? < 1630793635 155720 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :it's implemented in terms of UnsafeCell, which is a compiler primitive < 1630793644 553829 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Why doesn't being able to mutate it through & cause problems? < 1630793657 344155 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :there are limits on the sort of mutations you can do < 1630793680 204931 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I see, you can only write an entire new value in, or something? < 1630793686 74731 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :the main rule is that you can `Copy` the value out of the cell, or overwrite a value into the cell, or swap the value in the cell with another, as long as it's only accessible from one thread < 1630793691 325926 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Rather than getting a pointer to the thing? < 1630793692 881690 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :but, you can never get a reference to the value inside < 1630793697 623106 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Right. < 1630793715 298499 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :`RefCell` is like `Cell` but does runtime checks rather than compile-time checks < 1630793716 317555 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :RefCell`? No such file or directory < 1630793733 857145 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I think people exaggerate how bad the C pointer/array/function thing is. it's something you have to learn once, but it's not something that will cause lots of hard to debug bugs in your program or anything. as problems with function languages go, it's mild. it's something only people who want to hate C will say. < 1630793748 883830 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :So you can have fn f(a: &Cell, b: &Cell); let x: Cell; { f(&x, &x); }, and f doesn't care that the values alias. < 1630793755 365827 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :you can get a reference to the value inside, but only if there are no conflicting references, you get an error if you try to create a unique reference to it at the same time as any other sort of reference < 1630793761 152988 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :another bad thing about C is the build system stuff < 1630793766 207404 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :shachaf: right < 1630793773 27662 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :And it behaves sort of like "void f(u32 *a, u32 *b);" in C, where the compiler can't assume anything. < 1630793773 43866 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :C should be designed so that it can be compiled easier < 1630793783 372301 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :shachaf: exactly < 1630793788 958045 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :OK, got it, that makes sense. < 1630793806 347933 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Why does RefCell need runtime checks? What does it let you do? < 1630793811 244896 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: also you didn't react to what I wrote about Infinite Vector, so now I have to ask you < 1630793820 902305 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: does what I wrote about Infinite Vector sound right? < 1630793826 666358 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :it lets you take a reference to the inside of the cell, but the runtime checks make sure that there aren't too many < 1630793833 126355 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :b_jonas: it looked plausible but I didn't want to think about it too deeply < 1630793837 718138 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I'm not surprised it's TC < 1630793838 189854 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ok < 1630793854 757389 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Aha. RefCell lets you borrow the inside of the cell. < 1630793857 830991 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :right < 1630793868 647360 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :In particular it lets you take any number of const references or at most one mut reference? < 1630793873 235382 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :yes < 1630793880 640201 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Makes sense! < 1630793885 669829 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :but the type system doesn't prevent you doing both at once, which is why the runtime checks are needed < 1630793890 269805 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Right. < 1630793892 111907 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I don't know why they don't say that in the documentation. < 1630793913 855648 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I asked someone about it, and they gave an explanation that would have required Cell to have a different memory layout from T. < 1630793928 94970 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :that's technically correct but misses the point < 1630793939 284952 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :stuff about Infinite Vector at https://logs.esolangs.org/libera-esolangs/2021-08-31.html#lrc for future reference < 1630793976 103794 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :RefCell needs a reference count to count the borrows, which does give a different memory layout, but the point is more that you need runtime checks to count the borrows < 1630793984 884128 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Yes, but Cell doesn't. < 1630793992 397831 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :yep, because it can't be borrowed at all < 1630793995 305596 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :So then we were both confused. < 1630794011 18366 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Anyway this makes sense, thanks for clarifying. < 1630794042 328329 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Maybe one day I'll understand Pin. < 1630794044 65098 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :in practice Cell works best on things that are `Copy` and fairly small, so that you'd have little reason to borrow it (and don't need to swap a placeholder value in when you take the old value out) < 1630794046 361430 :Koen_!~Koen@246.244.88.92.rev.sfr.net JOIN #esolangs * :Koen < 1630794075 432249 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :If "swap the value and type" means "pull out the identifier from the declarator, and then write the type name after it", I don't know how much that would help, since simple things are already simple, and complex declarators are probably even worse to read when the identifier isn't in there to show where to start from. < 1630794078 52750 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Go does the "strictly separate the identifier and type name" thing, but it *also* moves the [] syntax to be prefix to match *, and uses a keyword to introduce function types, which does a lot of the heavy lifting of making type names more "linear". < 1630794091 163263 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: I think that's deliberately hard. you have three options: move the Rc if you no longer need it, in which case you just pass by value; or if you do need it but the called function doesn't need to keep a reference but only look at the pointed value now, then pass a reference to the pointed value, it will be valid because you're the caller and you're keeping the copy of the Rc; or if both of you < 1630794097 171367 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :need it, then clone the Rc explicitly, but that's something Rust doesn't want to do implicitly without you actually writing .clone() < 1630794106 174405 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :The Go syntax for types seems mostly better than the C syntax. < 1630794111 287237 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Some of it is a little odd but it's fine. < 1630794127 535367 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :but that third thing is rare < 1630794129 91663 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :b_jonas: this mostly comes up with generic code < 1630794129 199831 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Presumably you should have a really good reason not to make your programming language syntax LL(1). < 1630794134 238116 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Is the Go syntax LL(1)? < 1630794147 811949 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :almost all generic code assumes that the receiver for methods that don't need to mutate self is &self < 1630794166 389985 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :mostly people just code without thinking or caring about theory < 1630794169 390088 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Oh, not quite apparently. < 1630794171 582015 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :so things end up not being LL(1) < 1630794187 85708 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I remember there's an annoying syntax quirk in Go where you sometimes need to add ()s around the controlling expression of an `if` statement, when there's {}s involved in the expression as well. < 1630794196 670196 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :my opinion on this is that you normally have a separate parser and lexer anyway, so few languages are LL(1) at the byte level < 1630794200 107549 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: really? aren't you confusing that with C++ or with run-time dynamic type dispatch code? < 1630794209 986771 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :yes LL(1) in terms of tokens < 1630794215 231640 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :and the token language should be regular < 1630794232 716401 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :shachaf: no, I think that's only true for LR(1), not for LL(1) < 1630794236 711252 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :riv: my opinion on this is that it'd be great if the parser and lexer could be combined < 1630794248 313174 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :i suppose they can be combined < 1630794262 177859 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :sure, simpler languages will be LL(1) < 1630794265 609486 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :but it's good if they can be separated in terms of specification < 1630794270 65371 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :b_jonas: something that always amazes me is that the syntax of yacc (after tokenisation) is LR(2) but not LR(1) < 1630794285 295126 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: heh < 1630794286 989608 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :some yacc implementations work around this by getting the lexer to do an extra token of lookahead < 1630794291 340617 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Hmm, I should learn how LR parsers work. < 1630794293 186368 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :but it's crazy that it technically can't parse itself < 1630794306 831865 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: is that because there's no separator (semicolon) between the rules? < 1630794309 113554 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :and even more crazy that it's LR with a finite number that isn't 1 < 1630794328 956078 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :that is so funny < 1630794331 918065 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :b_jonas: right, semicolons are optional, and to parse the case where they're missing you need two tokens of lookahead < 1630794348 635687 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :odd < 1630794359 120547 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I wonder why they defined yacc syntax like that < 1630794374 505742 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :is there some history behind it? < 1630794374 821217 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :it was probably some sort of historical accident? < 1630794385 339798 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :yacc probably wasn't originally programmed in itself, as it'd have been a pain to bootstrap < 1630794388 513415 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :like trying to unify the syntax of two incompatible parser generator syntaxes? < 1630794394 192738 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :so probably there was a hand-rolled parser, which wasn't necessarily going to be LR < 1630794408 824738 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :given that the name starts "ya", though, there must have been a number of parser generators before it < 1630794409 543718 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :they could have still designed it to be LR(1) :P < 1630794412 157690 :riv!~river@tilde.team/user/river PRIVMSG #esolangs :i really love this fact < 1630794429 38507 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :sure, but whoever thought, let's write an LR(1) parser generator, they probably understood what makes a language LR(1), and automatically used such a syntax < 1630794450 70270 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Do you have a shift/reduce parser in your brain? I'm pretty sure I don't. < 1630794453 788362 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :it's not like back when nobody knew how parsing is supposed to work, so they just wrote up syntax and figured out afterwards how to parse it, which is supposedly how fortran was born < 1630794469 739407 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Also pretty sure that while the brain has limited lookahead, the limit isn't 1. < 1630794484 369546 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I have been wondering about extensions to shift/reduce automata < 1630794504 850499 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :shift/reduce/rewind seems to have a lot of power, whilst still being efficient if you put appropriate limitations on it (it's probably TC if you don't put limitations on it) < 1630794514 788031 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :err, maybe LBA rather than TC < 1630794551 623723 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :what is "LBA"? < 1630794565 240600 :int-e!~noone@int-e.eu PRIVMSG #esolangs :linearly bounded automaton < 1630794579 881348 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :memory bound to O(n) where n is input size? < 1630794584 729199 :int-e!~noone@int-e.eu PRIVMSG #esolangs :logical block addressing < 1630794587 822381 :int-e!~noone@int-e.eu PRIVMSG #esolangs :little big adventure < 1630794599 476443 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :fungot, what does LBA stand for < 1630794599 708252 :fungot!fungot@2a01:4b00:82bb:1341::a PRIVMSG #esolangs :b_jonas: you should avoid using it for is to eliminate the usage of funky python. < 1630794600 456758 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :b_jonas: right < 1630794614 648044 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :you get O(n) memory where n is the number of bits in the input < 1630794619 686931 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :`? lba < 1630794621 597912 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :This channel is having a Little Big Adventure(tm) with Linear Bounded Automata in devices using Logical Block Addressing. < 1630794645 378061 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I may be responsible for that one < 1630794649 178944 :int-e!~noone@int-e.eu PRIVMSG #esolangs :`cwlprits lba < 1630794652 253905 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :int-̈e < 1630794663 12375 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Man, LBA was such a big upgrade over Illogical Block Addressing. < 1630794673 522393 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Why did they even start with that scheme? < 1630794707 383244 :int-e!~noone@int-e.eu PRIVMSG #esolangs :physical addressing by head, cylinder, sector? < 1630794722 141179 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I imagine it matched the hardware better at the time < 1630794741 579593 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :shachaf: because they designed the PC before DOS brought in the unix heritage of linearly addressed block devices < 1630794773 96048 :int-e!~noone@int-e.eu PRIVMSG #esolangs :also before HDDs made tracks have different numbers of sectors depending on how long they are < 1630794802 455276 :int-e!~noone@int-e.eu PRIVMSG #esolangs :and automatically remap bad sectors and all that < 1630794828 181567 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :you don't want to put too much complicated logic in the disk contorller, and especially not in the disk, because electronics was expensive, and there's already a CPU that can compute everything for you, so the CPU computes the cylinder, head, sector addresses and tells that to the disk controller < 1630794840 306083 :delta23!~delta23@user/delta23 JOIN #esolangs delta23 :delta23__ < 1630794855 727483 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :nowadays, disk controllers run pretty powerful processors < 1630794871 759603 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :SSD controllers are presumably just ridiculous. < 1630794873 847608 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I've seen blog posts where people reprogrammed them to do interesting tihngs < 1630794886 946194 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :And they should stop presenting a block device interface. < 1630794894 726140 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :and communicated with their software by writing files with particular text in < 1630794904 914426 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :yes, and funnily the C64's disk drive also runs a CPU about as powerful as the computer, but note that the disk drive is optional and also can be shared between multiple computers < 1630794914 452099 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :What would a good interface for SSD controllers be like? < 1630794946 932814 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :one complication is working out who's responsible for the filesystem, the SSD controller or the operating system < 1630794951 280975 :int-e!~noone@int-e.eu PRIVMSG #esolangs :hrm which computer had a full CPU as floppy disk controller? < 1630794953 380104 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Another thing I was wondering about was whether desktop computers should have some amount of NVRAM that's exposed directly to applications. < 1630794972 750406 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: what we want more these days is reprogramming them to *not* do interesting things, in particular, not handle shingled storage, so that the OS can handle it itself and as such better optimize it together with the file system < 1630794985 178585 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :shachaf: they do, but you have to jump through lots of hoops to get at it < 1630794998 117338 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :You mean in an SSD? < 1630794998 395135 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Oh b_jonas answered that < 1630795003 553026 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :and also it normally belongs to the BIOS/UEFI so you can damage your bootloader if you mess with it < 1630795041 936986 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :rather than, as the current state is, the hard disk manufacturer is in a war with the OS, it tries to pretend very hard that it's not a shingled drive, until one day you write too many things to it too fast, at which point it freezes for half an hour to rewrite all the data on it, the OS decides that your drive is dead and removes it from the RAID array, and you can no longer make cheap RAID setups from < 1630795044 545903 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :b_jonas: apparently a major problem in practice is that they often lie about what they're doing to get beterr performance metrics < 1630795046 208121 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I just mean a region of RAM that's guaranteed to be dumped to disk on power loss. < 1630795047 980512 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :cheap drives < 1630795074 273972 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :yes, this is for hard disks specifically, not for SSDs < 1630795076 136338 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :shachaf: ah, I see < 1630795106 25718 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :int-2: the Commodore 64 had a full CPU in the floppy disk controller. just not too much RAM. < 1630795110 660893 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :int-e: ^ < 1630795116 257040 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :apparently even getting journalled filesystems to work correctly on power loss is difficult, because there are all sorts of error conditions like "the CPU browned out and gave bad data to the disk controller" < 1630795151 48042 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :but still enough RAM to load enough code to it to completely upgrade how it reads and writes disks, rather than using its original ROM code, and still have enough buffers for that read/write thing < 1630795151 774904 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :you'd need the motherboard to carefully orchestrate the order in which various components lost power when the power was cut, probably with a number of capacitors to provide emergency powre for a clean shutdown < 1630795250 480560 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: I think the journaled thing came up more with old SSDs, because they were small and mostly intended as removable storage (pendrives), while I think (hope) it's mostly solved now with modern SSDs that are originally intended to be used as the main storage in computers < 1630795251 406666 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :One thing that briefly surprised me is that my SSD has done a lot more writes than reads. < 1630795259 980015 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :18.1 TB read, 31.6 TB written. < 1630795268 815603 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :There's a nice demo for the 1541 disk drive. < 1630795278 331875 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :But it makes sense because in steady state everything I use fits in the page cache, so there's no reason to ever read. < 1630795280 658928 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :https://cdm.link/2021/07/freespin-is-a-demo-made-for-the-commodore-1541-no-not-the-computer-just-the-floppy-drive/ < 1630795298 62095 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :But you always need to write for durability. My browser writes its state every time I open a new tab or even scroll, I think. < 1630795300 8060 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :It bit-bangs a composite video signal out of the serial port. < 1630795304 686670 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :how do I see my read/write stats? < 1630795316 627362 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :IIRC, you need to use a computer to load it, but can disconnect the computer once it's up and running. < 1630795317 689786 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :So having a region of memory you can write things to that's durable but will almost certainly be overwritten right away seems like it could be very useful. < 1630795383 581789 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I tweaked my browser.sessionstore.interval to be 3 minutes. < 1630795386 408014 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :http://www.quiss.org/freespin/ would've been a better link I think. < 1630795410 356503 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Default is 15 seconds. < 1630795416 732869 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(Firefox) < 1630795434 656318 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :shachaf: Mine's even more unbalanced: 535 GB read, 6.86 TB written. < 1630795453 921291 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :shachaf: so basically a write-behind cache which you have little intention of ever flushing early but will get flushed on power failure, that does seem useful < 1630795462 892828 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :but it's the opposite safety characteristics to a typical write-behind cache < 1630795465 964342 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :When I first saw these numbers, I did a read of the entire SSD, which added 1TB, to see how long it'd take. < 1630795497 906894 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :ais523: Right. < 1630795522 509482 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Maybe the OS interface can just be a regular file with a hint that you want it in this region, or something. < 1630795545 3384 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :For all I know SSD controllers already do a good job at this. < 1630795552 165776 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Though I kind of doubt it, they just don't have enough information. < 1630795586 590087 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Oh my SSD doesn't report blocks read... odd? < 1630795627 768922 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :got this https://dpaste.org/3ZTZ/slim < 1630795645 425990 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Hmm. The spinning disk is the exact opposite, at 37B units written and 476B units read. I don't know what the units are for "Total_LBAs_Written" and "Total_LBAs_Read". For the (NVMe) SSD, smartctl reported them in a human-readable form. < 1630795655 949544 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :I'm using this machine for 2 years now < 1630795671 918670 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :compared to your stats I guess it's a lot ( maybe damn google chrome? < 1630795763 898135 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :SSD NAND flash is getting worse and worse to increase density, which makes these things more important. < 1630795834 778399 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :as I understand the disk is dead when Available Spare goes down to Available Spare Threshold < 1630795875 83552 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :int-e: I've got a (someone else's spare) SATA SSD that I use as a dual-boot (more like a never-boot) Windows drive, and I can't find any read/write stats for it either from smartctl -a output. < 1630795897 763242 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :fizzie: The Internet is saying you should multiply by the "Sector Size" field, if you have one. < 1630795934 29196 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :"Sector Sizes: 512 bytes logical, 4096 bytes physical" < 1630795992 903908 :int-e!~noone@int-e.eu PRIVMSG #esolangs :fizzie: this one reports lbas written, but not lbas read. < 1630795993 928016 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :OK, so you've written 19 logical TB and 152 physical TB. < 1630795996 406737 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Simple enough. < 1630796003 607824 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :What an amplification factor! < 1630796009 182269 :int-e!~noone@int-e.eu PRIVMSG #esolangs :which I guess makes some sense for NAND storage < 1630796047 724320 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :This one doesn't report either. It reports a number of "Unknown_JMF_Attribute"s, but they're all 0s. < 1630796068 947379 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I've moved this SSD across several laptops by now. < 1630796082 782950 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I wonder how old it is. < 1630796111 691180 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I wonder if there would be any sort of benefit to trying to figure out some way of telling Linux that it should keep that particular SATA device just permanently powered down, since it's never going to be intentionally used. < 1630796123 244375 :int-e!~noone@int-e.eu PRIVMSG #esolangs :the spinning rust reports a higher Head_Flying_Hours value than Power_On_Hours ...I guess it's sleepflying < 1630796134 806657 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :"Date first available" for this model is apparently 2016. < 1630796148 693709 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(it's not a huge difference, about 2%) < 1630796154 216923 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :oh, it's Terminal I suppose https://i.imgur.com/ggTnoDB.png I noticed before, probably because I set the buffer limit to infinity and if something prints a lot it goes to the disk; I wonder if swap usage is added as a specific app stat < 1630796191 303786 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :fizzie: wait, I think there's interface for that in /proc or /sys or something < 1630796210 872135 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :fizzie: I mean it's something you have to rerun after every boot, and the BIOS might power it on first < 1630796216 334172 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :but after that it keeps it powered down < 1630796232 465936 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Well, I don't boot that often. I just wonder if it would be a noticeable benefit in terms of... something. < 1630796334 15625 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :no idea < 1630796387 372572 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I don't really trust SSDs too much yet < 1630796404 716970 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I mean they're great for caching, but save everything to a hard disk too < 1630796421 380551 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :There's also this other SATA SSD (the one I used to have in my desktop before), and that one reports via SMART counters called Read_Sectors_Tot_Ct and Write_Sectors_Tot_Ct; that one's saying 1.74 TiB read and 5.52 TiB written. < 1630796465 562015 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :b_jonas lol you've hightlighted someone < 1630796498 422126 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :quite possible, some people have nicks that are common words < 1630796674 709638 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Maybe I should get a new SSD. < 1630796764 260467 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I have a new SSD. I bought it with the new computer in 2020-10. I'm not using it yet, but I have it. < 1630796790 913837 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I wonder, maybe typical modern SSDs are actually slower than what I have, because they use TLC (or even QLC?). < 1630796825 49001 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I had the intent to mostly use it as read cache (no writeback cache) for the hard disk file systems, for which there are like two different mechanisms in Linux already, < 1630796858 744169 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :but then I got distracted by the shingled hard disk RAID thing, and I definitely don't want to set up the read cache before I set up the RAID, because the cache has to go *over* the RAID layer < 1630796872 269526 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :or at least I should understand how the whole thing works before I set it up < 1630796931 208869 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :the funny thing is that only those people who bother with RAID get their data lost < 1630796937 88175 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :I never bothered and never lost anything < 1630796950 908459 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :also I deliberately bought a better computer than I need right now, so I don't have to get back to the hard process of selecting and buying computer parts, and wanted a configuration that can fit together < 1630797000 910120 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I wonder. RAID doesn't make sense for large distributed systems, and consumers don't use it, so the range of applications seems very limited. < 1630797012 158740 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :it's like RAID -- is a technology to lose data, not preserve < 1630797017 732842 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :of course that never works out, because (1) I need a new monitor now, and (2) I deliberately didn't buy a video card, only a motherboard with a free slot for video card, thinking that when I need a video card, I just buy one, but BANG advanced electronics shortage, prices shooting up, nope, you can't just buy a video card when you need it < 1630797062 384142 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :What multiplier does the shortage increase price by? < 1630797069 976598 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Is it ~2x or ~10x or what? < 1630797085 672843 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :shachaf: no clue < 1630797089 789811 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :there are two relevant shortages I think < 1630797103 759487 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: sure, the other is building supplies, especially steel < 1630797111 416573 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :one of them hit high-end GPUs in particular, the prices of those went up by a lot, but lower-end GPUs were mostly unaffected < 1630797114 263024 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :but that one doesn't affect me so directly < 1630797117 188417 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :the other one is more general-purpose < 1630797142 928336 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I'm in the UK, which currently has shortages of pretty much everything due to a lack of transport < 1630797163 908403 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I didn't say that I won't build a house now because I can just have it built later when I need it, unlike the video card thing < 1630797168 242610 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :(after brexit the amount of paperwork involved in international trade has gone way up, and scared a lot of people out of the field, so there's a shortage of employees) < 1630797199 826581 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :How much does it cost to build a house normally? < 1630797211 673974 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: yes, and even in the EU, trade from outside the EU (as in, importing the cheap electronics from East Asia) got somewhat harder < 1630797227 379886 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I looked at bcache a little. It feels like it would be nice to have some sort of automation as to what to put on the SSD and what to keep on the spinning disks, rather than having to manually make that decision by choosing a location in the filesystem. < 1630797235 332120 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :shachaf: no idea, I don't want to have one built ever in my life < 1630797245 917956 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :if I have to build one, then free market economy failed me < 1630797256 239254 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I want to rent apartments forever, and if I can't, the market sucks < 1630797266 366552 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :but even then I'll probably just buy a (used) house, I won't have one built < 1630797306 35695 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :so I never researched it < 1630797327 225221 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :but I won't have to, because building houses is mostly for people who want to live in the suburbs or agglomeration < 1630797346 810032 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I want to live in a city, which is already densely packed with houses, and every free space immediately has a house built < 1630797370 302555 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I knew a few people who do the suburb or agglomeration thing < 1630797382 375230 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :but that's definitely not the kind of life that I want < 1630797420 528575 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I wonder why people don't normally talk about used / second-hand houses < 1630797427 188868 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :probably because that's the norm in many countries < 1630797438 636552 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I've heard people use that term. < 1630797447 255695 :Hooloovoo!~Hooloovoo@hax0rbana.org QUIT :Read error: Connection reset by peer < 1630797485 558055 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: probably because nobody buys a whole new house. people either buy an apartment in a house that may be new, or have a custom house built < 1630797496 663436 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :if you want a whole house, and new, you want to customize it < 1630797552 1107 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :the second apartment that I lived in (moved there when I was about 10 years old) was in a new house, as in, my parents reserved it and partly payed it when the house wasn't even yet built < 1630797552 78377 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :not necessarily < 1630797579 140855 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :near here there are lots of new houses being built to standard designs, and then people buy them new, but with no input into the design < 1630797579 904256 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I'm weirded out by the "house" thing, and the UK notion of a "housing ladder", which you're supposed to use to climb up to a house, since I've exclusively lived in apartments that are units of much larger buildings, and don't find that odd. (That's at least partially orthogonal to the question about the ownership model though.) < 1630797582 258285 :Hooloovoo!~Hooloovoo@hax0rbana.org JOIN #esolangs hooloovoo :ZNC - https://znc.in < 1630797590 948620 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :(I have relatives who were considering buying one, but didn't like the design so chose not to) < 1630797638 100061 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :fizzie: the housing ladder exists, but choosing to participate in it is optional, and seems to be mostly due to people who have an idealistic idea of what people's lives should be like < 1630797659 919315 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Well, it is talked about a whole lot, it feels like. < 1630797661 519049 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :ais523: there are a few places where that happens, yes. my brother lives in a house that was probably originally built that way, because it's in a neighborhood with like a hundred family-sized houses built to the same template < 1630797672 618037 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :b_jonas: right < 1630797686 12358 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :that seems very common here (Birmingham specifically, I don't know whether it applies to the UK in general but it may do) < 1630797749 276642 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I don't think it's too common here in Hungary < 1630797752 961826 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :it exists, but rare < 1630797762 707222 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Another thing that seems very UK-specific is this whole leasehold thing. < 1630797765 166138 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :I guess people who can spend their money less practically have to be fooled, they have to be tricked to participate in the game of who will be the first buyer of a house and who'll be a "loser" to be the second buyer of it -- it just helps the builders to sell the stuff faster for their business < 1630797883 952321 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I don't think being the first occupant of a house is considered a huge advantage here < 1630797903 471583 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :people care more about the location and size of the house than the number of previous owners < 1630798275 968081 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :I knew a guy who was renting a 1 room flat in a very cool place in the city, it costed him 6 times more than my place, there was almost no profit in living there other than a bit smaller commute time, but mostly it was just about to be proud of where he lives < 1630798278 385498 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :I guess I'll have to edit the Infinity Vector page to give at least a summary of the Turing-completeness proof < 1630798370 196140 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :places like Cambridge and London seem to cause a vortex of price equalisation which caps the price of accommodation from below at the price in the centre minus the price to commute there < 1630798384 939291 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :and this can extend out hundreds of miles in some cases < 1630798426 986782 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :like, you can get the train from Norwich to London, so prices to live near a train station in Norwich are pretty high, taking only the cost of the train journey (which is not cheap!) into account < 1630798605 646293 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I feel like that's not quite true. Or at least that there's a pretty big variation in prices *within* London, bigger than could be explained by any transportation differences. < 1630798608 719997 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :A little hard to say though. All I've seen are those "average property price" maps, and they're presumably quite a lot affected by what kind of properties there *are* in a region. < 1630798698 152175 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :well, transportation within London is actually fairly difficult, to the extent that it can be a significant portion of the travel time when taking journeys where London is one endpoint < 1630798718 160285 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :it has a good public transport network (although pretty bad roads), but not enough transport capacity < 1630798789 863214 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :I guess the problem is basically just that the population density is too high and the workplace density is also too high < 1630798806 125881 :ais523!~ais523@213.205.242.195 PRIVMSG #esolangs :if businesses spread out more over the country rather than all grouping in one place, there'd be less of an issue < 1630798834 678011 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :I hate that they group < 1630798959 619161 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :even in the industrial age the factories were all spread, why the hell not IT companies all get crowded in centers? < 1630798967 718528 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :*now < 1630798994 772295 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :they don't have metal to be moved, they can work remotely, etc. < 1630799076 516444 :Koen__!~Koen@246.244.88.92.rev.sfr.net JOIN #esolangs * :Koen < 1630799133 253571 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :I fucked up my health on one job with boss with a mania of having everyone being at their desks, not even spend 5 extra minutes on a dinner break; he could even come in and verbally shame someone in openspace in front of coworkers for "eating too slow" and such < 1630799227 311601 :Koen_!~Koen@246.244.88.92.rev.sfr.net QUIT :Ping timeout: 252 seconds < 1630799240 117640 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :this was making people so stressed to be in place no matter what, for some even if their flat gets water flooded by a neighbor, for me it was ignoring the hurt it my back that I never had to ignore... < 1630799278 831949 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :*in < 1630799331 885783 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :fungot are you a remote worker? < 1630799332 237942 :fungot!fungot@2a01:4b00:82bb:1341::a PRIVMSG #esolangs :nakilon: do you know that in knuth's volume 1 a different formula is used, ( k val...) returns as if it were, would be possible < 1630799417 204675 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :A "remote worker" in fungot context would probably be some sort of a Befunge-as-a-service cloud thing. < 1630799417 579363 :fungot!fungot@2a01:4b00:82bb:1341::a PRIVMSG #esolangs :fizzie: i would probably make more sense. or use lambdas. they might handle them with pieces tables ( make sense if hash maps wouldn't be better to have a coral reef. < 1630799492 591078 :nakilon!~nakilon@user/nakilon PRIVMSG #esolangs :he knows about AWS lambdas < 1630799713 624927 :src!~src@user/src JOIN #esolangs src :realname