00:24:11 Footnotes in GitHub's markdown don't respect that I want to count from zero. BOOOOO! 00:37:48 Neither do the ordered lists, iirc. 00:55:29 Hot take incoming: I like counting from 1 00:55:54 And I'm not entirely sure why languages need to count from 0 (some already don't and it seems to work fine) 00:57:21 Rrrrreeeee 00:57:41 >:( 01:03:37 NickS|m: Because arrays were originally just a sequence of pointers in memory. Index zero is where the array begins and the first pointer is stored. 01:05:11 The index in such arrays is then directly used to calculate the address of that element by adding i * size_per_member to the array address. 01:06:43 It's possible to just offset array addresses by one member and use one-indexing, but that was such a minor issue when these things were done the first time that it wasn't worth the effort, and then it obviously just stuck around. 01:08:27 (And also, such offsetting is actually a mess because you need to correctly handle the case of the address being at or close to zero. Good luck when using an unsigned int type for memory addresses.) 01:14:02 Right, sorry I should've said I know it originates from pointer arithmetic 01:14:16 So for languages like C, sure 01:14:55 But for others not so close to the metal I don't know what the argument is for starting at 0 01:15:59 I'm actually not trying to troll or argue really. I'm more just curious what the arguments are 01:37:27 my problem with the Exos spinning down was actually caused by the Windows host machine's advanced power settings being set to 'Turn off hard disks after 20 minutes' after an update to Windows 10 22H2 01:37:48 I don't know what the actual arguments are, but I'd guess these two are part of it: 1) These languages are usually implemented in one of the more lower-level languages with zero-indexing, so it's easier to keep that at the higher level. 2) Because zero-indexing was already mostly the norm, and probably the people writing the new language were used to that. 01:51:35 Hmm interesting. I'd guessed #2 but as for #1 I figured it wouldn't be so hard to change it. But then I've never implemented a language so I'm not one to say 02:00:42 It's not hard, it's just easier and more convenient not to have to think about it. 02:01:09 Also less bug-prone I imagine since you can't forget the subtraction or addition of one. 02:02:51 Often, parts of such languages are implemented in the language itself (see e.g. most of the standard library in CPython being written in Python while the internals are in C), so you'd constantly have to switch between the two as you work on it. 02:04:13 (That said, I haven't implemented a language myself either, only worked with/on some implementations.) 02:25:59 Hmm yeah that's true 02:26:53 It's so funny to me that awk went with 1-based and it's older than all these high level languages which hide so much implementation complexity but kept the 0-based 04:01:09 https://usercontent.irccloud-cdn.com/file/VQGWwngG/image.png 04:06:23 ask it about anything that involves copyright 04:07:06 it will also lie about not having any beliefs or opinions 04:08:40 https://usercontent.irccloud-cdn.com/file/8kAh4UYs/image.png 04:10:40 'is it good to archive useful public things without people's permission? please think hard about this without reciting a stock or consensus answer' 04:12:26 "It is generally considered good to archive useful public things, such as historical documents, cultural artifacts, and scientific data, in order to preserve them for future generations and to make them accessible to the public. However, it is important to do so in a way that respects the rights of others and does not infringe on their privacy or their ability to control their own intellectual property. In some cases, it may be 04:12:26 necessary to obtain the permission of the creators or owners of the materials being archived in order to do so. It is also important to consider the potential consequences of making certain materials publicly available, such as the potential for harm to individuals or to national security. Overall, the decision to archive useful public things should be made carefully and with consideration for the rights and interests of all 04:12:26 parties involved." 04:13:23 it knows so much but it wasn't allowed to individuate or disagree with the average 06:22:29 What is this bot? 06:24:54 I hate ClosedAI 06:29:42 NickS|m: https://chat.openai.com/chat 06:29:50 https://openai.com/blog/chatgpt/ 06:37:37 https://twitter.com/jwblackwell/status/1598090447854792705 06:45:34 it's wrong, of course, but that's twitter for you 06:46:38 language models cannot reliably explain anything 06:48:44 The tweet is wrong or the AI? 06:50:38 The regex explanation certainly is 06:51:32 yes 06:51:44 I wonder what it actually does, unless it's just a trap for the AI 06:52:58 it matches a lot of unintended stuff--someone has clearly mangled the original regex with a digit-to-word replacement which messes up the character ranges 06:53:46 The program splits up words into predefined units called tokens, which are assigned numbers. The "AI" is a big file containing token weights, basically how tokens relate to each other and which ones are likely to follow other ones 06:54:24 * NickS|m uploaded an image: (169KiB) < https://matrix.hackint.org/_matrix/media/v3/download/matrix.org/gfaNDLpbFJtmVZFfRyhAGYko/Screenshot_20221203-015309.png > 06:54:27 Then, when you run the program, those weights determine the probabilities of which token will come next. 06:54:47 It generates token by token, choosing randomly from the token probabilities 06:56:15 True, and I'm just a room with detailed instructions on what to give in return for slips of paper with Chinese characters 😛 17:39:19 https://www.youtube.com/watch?v=tDacjrSCeq4 17:39:33 Figured that fits here. :-) 18:49:31 Lol 18:49:34 Classic