00:24:11<@JAA>Footnotes in GitHub's markdown don't respect that I want to count from zero. BOOOOO!
00:37:48<TheTechRobo>Neither do the ordered lists, iirc.
00:55:29<NickS|m>Hot take incoming: I like counting from 1
00:55:54<NickS|m>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<schwarzkatz|m>Rrrrreeeee
00:57:41<schwarzkatz|m>>:(
01:03:37<@JAA>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<@JAA>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<@JAA>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:26<@JAA>(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<NickS|m>Right, sorry I should've said I know it originates from pointer arithmetic
01:14:16<NickS|m>So for languages like C, sure
01:14:55<NickS|m>But for others not so close to the metal I don't know what the argument is for starting at 0
01:15:59<NickS|m>I'm actually not trying to troll or argue really. I'm more just curious what the arguments are
01:26:34ivan (ivan) joins
01:37:27<ivan>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:47<@JAA>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<NickS|m>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<@JAA>It's not hard, it's just easier and more convenient not to have to think about it.
02:01:09<@JAA>Also less bug-prone I imagine since you can't forget the subtraction or addition of one.
02:02:51<@JAA>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<@JAA>(That said, I haven't implemented a language myself either, only worked with/on some implementations.)
02:25:59<NickS|m>Hmm yeah that's true
02:26:53<NickS|m>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
03:04:56pabs quits [Ping timeout: 265 seconds]
03:25:31sonick quits [Client Quit]
03:36:29pabs (pabs) joins
04:01:09<@hook54321>https://usercontent.irccloud-cdn.com/file/VQGWwngG/image.png
04:06:23<ivan>ask it about anything that involves copyright
04:07:06<ivan>it will also lie about not having any beliefs or opinions
04:08:40<@hook54321>https://usercontent.irccloud-cdn.com/file/8kAh4UYs/image.png
04:10:40<ivan>'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<@hook54321>"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<@hook54321>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<@hook54321>parties involved."
04:13:23<ivan>it knows so much but it wasn't allowed to individuate or disagree with the average
06:00:15jacksonchen666 quits [Ping timeout: 248 seconds]
06:02:07jacksonchen666 (jacksonchen666) joins
06:22:28<NickS|m>What is this bot?
06:24:54<Frogging101>I hate ClosedAI
06:29:42<ivan>NickS|m: https://chat.openai.com/chat
06:29:50<ivan>https://openai.com/blog/chatgpt/
06:36:42Meli quits [Ping timeout: 276 seconds]
06:37:37<ivan>https://twitter.com/jwblackwell/status/1598090447854792705
06:41:56Meli (Meli) joins
06:45:34<thuban>it's wrong, of course, but that's twitter for you
06:46:38<Frogging101>language models cannot reliably explain anything
06:48:44<NickS|m>The tweet is wrong or the AI?
06:50:38<NickS|m>The regex explanation certainly is
06:51:28hitgrr8 joins
06:51:32<thuban>yes
06:51:44<NickS|m>I wonder what it actually does, unless it's just a trap for the AI
06:52:58<thuban>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<Frogging101>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:24NickS|m uploaded an image: (169KiB) < https://matrix.hackint.org/_matrix/media/v3/download/matrix.org/gfaNDLpbFJtmVZFfRyhAGYko/Screenshot_20221203-015309.png >
06:54:26<Frogging101>Then, when you run the program, those weights determine the probabilities of which token will come next.
06:54:47<Frogging101>It generates token by token, choosing randomly from the token probabilities
06:56:15<NickS|m>True, and I'm just a room with detailed instructions on what to give in return for slips of paper with Chinese characters 😛
07:23:20tzt quits [Ping timeout: 268 seconds]
07:29:54tzt (tzt) joins
09:39:21DiscantX quits [Ping timeout: 276 seconds]
09:40:39datechnoman quits [Ping timeout: 276 seconds]
09:40:57DiscantX joins
09:45:16datechnoman (datechnoman) joins
10:11:42sec^nd quits [Remote host closed the connection]
10:12:45sec^nd (second) joins
11:14:55sec^nd quits [Ping timeout: 248 seconds]
11:15:21sec^nd (second) joins
11:30:02michaelblob quits [Read error: Connection reset by peer]
12:16:46sec^nd quits [Remote host closed the connection]
12:20:16sec^nd (second) joins
12:37:10TheTechRobo quits [Remote host closed the connection]
12:37:45TheTechRobo (TheTechRobo) joins
12:57:51sec^nd quits [Ping timeout: 248 seconds]
12:58:09sec^nd (second) joins
13:59:51Arcorann quits [Ping timeout: 268 seconds]
14:29:03mut4ntm0nkey quits [Ping timeout: 248 seconds]
14:35:42mut4ntm0nkey (mutantmonkey) joins
14:55:53gazorpazorp (gazorpazorp) joins
15:52:28geezabiscuit quits [Ping timeout: 265 seconds]
15:53:11geezabiscuit (geezabiscuit) joins
16:00:22fishingforsoup_ joins
16:02:34fishingforsoup quits [Ping timeout: 268 seconds]
16:07:43mut4ntm0nkey quits [Ping timeout: 248 seconds]
16:12:55mut4ntm0nkey (mutantmonkey) joins
16:34:45HP_Archivist quits [Client Quit]
17:21:31mut4ntm0nkey quits [Remote host closed the connection]
17:22:07mut4ntm0nkey (mutantmonkey) joins
17:39:19<TheTechRobo>https://www.youtube.com/watch?v=tDacjrSCeq4
17:39:33<TheTechRobo>Figured that fits here. :-)
18:11:13TheTechRobo quits [Client Quit]
18:11:41TheTechRobo (TheTechRobo) joins
18:44:55fishingforsoup_ quits [Client Quit]
18:45:12fishingforsoup joins
18:49:31<NickS|m>Lol
18:49:34<NickS|m>Classic
19:33:08mut4ntm0nkey quits [Remote host closed the connection]
19:33:45mut4ntm0nkey (mutantmonkey) joins
20:41:19mut4ntm0nkey quits [Ping timeout: 248 seconds]
20:53:25mut4ntm0nkey (mutantmonkey) joins
21:08:58Hackerpcs quits [Quit: Hackerpcs]
21:11:13Hackerpcs (Hackerpcs) joins
22:21:24BlueMaxima joins
23:05:35sonick (sonick) joins
23:36:47jacksonchen666 quits [Ping timeout: 248 seconds]
23:39:59jacksonchen666 (jacksonchen666) joins
23:54:55hitgrr8 quits [Client Quit]