<- Previous Log Select Different Log Next Log ->  
Searching from 2024-03-09 00:00:00 to 2024-03-09 23:59:59.999999.
Query completed in 0.58 seconds
[2024-03-09 08:26:43] <-- Armanelgtron has quit (No Ping reply in 180 seconds.)
[2024-03-09 08:28:13] <-- Armanelgtron has quit (No Ping reply in 180 seconds.)
[2024-03-09 08:30:32] --> Armanelgtron_ has joined the channel
[2024-03-09 08:30:32] -!- Topic for #armagetron is "Armagetron Advanced | http://www.armagetronad.org/ | Welcome to IRC"
[2024-03-09 08:30:32] -!- Topic set by ChanServ!services@services.oftc.net on 2022-12-21 00:36:08 UTC
[2024-03-09 08:30:32] -!- Armanelgtron changed nick to Guest2281
[2024-03-09 08:30:32] -!- Armanelgtron changed nick to Armanelgtron
[2024-03-09 08:30:35] -!- larich.oftc.net set mode #armagetron +nt
[2024-03-09 08:30:35] -!- Channel #armagetron created on 2021-04-20 19:56:37 UTC
[2024-03-09 08:30:41] <-- Guest2281 has quit (Ping timeout: 480 seconds)
[2024-03-09 08:31:18] --> Armanelgtron has joined the channel
[2024-03-09 08:31:19] -!- silver.libera.chat set mode #armagetron +nt
[2024-03-09 08:31:19] -!- Channel #armagetron created on 2021-05-20 17:23:14 UTC
[2024-03-09 13:51:55] <armagetronbridge> 15irc:Z-Man| C++ has all the thread safety mechanisms one needs. Atomics, mutexes, threads. It is, for example, easy to write a 'guarded' wrapper for any data that can guarantee, if not abused, that you can either have one thread with write access or many with read access. You just can't prevent abuse.
[2024-03-09 13:51:55] <Z-Man> C++ has all the thread safety mechanisms one needs. Atomics, mutexes, threads. It is, for example, easy to write a 'guarded' wrapper for any data that can guarantee, if not abused, that you can either have one thread with write access or many with read access. You just can't prevent abuse. 
[2024-03-09 13:53:36] <Z-Man> At the end of the day, you need to give the code that wants to access the data a pointer to the data, and you can't take that away. No matter what mechanism you use to make the sharing guarantees, any user code can simply hold on to the pointer and claim they are done with accessing the shared thing.
[2024-03-09 13:53:36] <armagetronbridge> 15irc:Z-Man| At the end of the day, you need to give the code that wants to access the data a pointer to the data, and you can't take that away. No matter what mechanism you use to make the sharing guarantees, any user code can simply hold on to the pointer and claim they are done with accessing the shared thing.
[2024-03-09 13:54:16] <armagetronbridge> 15irc:Z-Man| Granted, you can make it so that that requires MALICE, and that's always been a mantra for C++ design: Protect against mistakes, not malice.
[2024-03-09 13:54:16] <Z-Man> Granted, you can make it so that that requires MALICE, and that's always been a mantra for C++ design: Protect against mistakes, not malice.
[2024-03-09 13:58:09] <armagetronbridge> 15irc:Z-Man| Though I may be talking bollocks there. Say you want to read something from shared state. You do the appropriate dance to grant you read access. You copy out what you need. You give back read access.
[2024-03-09 13:58:09] <Z-Man> Though I may be talking bollocks there. Say you want to read something from shared state. You do the appropriate dance to grant you read access. You copy out what you need. You give back read access.
[2024-03-09 13:58:48] <armagetronbridge> 15irc:Z-Man| Those bits can be automatically made safe, that you need to do something to get access and only get a pointer after that, and noboy else can get write access until you give back your read access.
[2024-03-09 13:58:48] <Z-Man> Those bits can be automatically made safe, that you need to do something to get access and only get a pointer after that, and noboy else can get write access until you give back your read access.
[2024-03-09 13:59:45] <armagetronbridge> 15irc:Z-Man| BUT: C++ syntax and data organization makes it easy to accidentally keep a deep pointer into the shared data you're no longer supposed to access.
[2024-03-09 13:59:45] <Z-Man> BUT: C++ syntax and data organization makes it easy to accidentally keep a deep pointer into the shared data you're no longer supposed to access.
[2024-03-09 14:02:54] <Z-Man> Starting from copying out pointers. String views. Structs with pointers or references in them. Maps with smart pointers in them.What you want there is to always get a deep copy of anything you fetch, not accidentally a shallow clone. I'm not aware of any language element that could prevent such an accident.
[2024-03-09 14:02:54] <armagetronbridge> 15irc:Z-Man| Starting from copying out pointers. String views. Structs with pointers or references in them. Maps with smart pointers in them.What you want there is to always get a deep copy of anything you fetch, not accidentally a shallow clone. I'm not aware of any language element that could prevent such an accident.
[2024-03-09 14:03:43] <armagetronbridge> 15irc:Z-Man| Reflection in the future, maybe. Maybe in C++ 2026.
[2024-03-09 14:03:43] <Z-Man> Reflection in the future, maybe. Maybe in C++ 2026.
[2024-03-09 14:06:31] --> aergaerg has joined the channel
[2024-03-09 14:07:24] <armagetronbridge> 06irc:aergaerg| hello
[2024-03-09 14:07:24] <aergaerg> hello
[2024-03-09 14:07:57] <-- aergaerg has quit (Quit: aergaerg)
[2024-03-09 14:10:27] <armagetron-bridge> 07discord:Nanu| Hi
[2024-03-09 14:10:27] <armagetronbridge> 07discord:Nanu| Hi
[2024-03-09 16:31:25] <armagetron-bridge> 05discord:juesto| hey
[2024-03-09 16:31:26] <armagetronbridge> 05discord:juesto| hey
[2024-03-09 19:30:23] <-- Armanelgtron has quit (No Ping reply in 180 seconds.)
[2024-03-09 19:33:33] <-- Armanelgtron has quit (No Ping reply in 240 seconds.)
[2024-03-09 19:34:45] --> Armanelgtron has joined the channel
[2024-03-09 19:34:45] -!- Topic for #armagetron is "Armagetron Advanced | http://www.armagetronad.org/ | Welcome to IRC"
[2024-03-09 19:34:45] -!- Topic set by ChanServ!services@services.oftc.net on 2022-12-21 00:36:08 UTC
[2024-03-09 19:34:47] -!- weber.oftc.net set mode #armagetron +nt
[2024-03-09 19:34:47] -!- Channel #armagetron created on 2021-04-20 19:56:37 UTC
[2024-03-09 19:35:30] --> Armanelgtron has joined the channel
[2024-03-09 19:35:31] -!- zirconium.libera.chat set mode #armagetron +nt
[2024-03-09 19:35:31] -!- Channel #armagetron created on 2021-05-20 17:23:14 UTC
[2024-03-09 21:03:53] <-- Armanelgtron has quit (No Ping reply in 180 seconds.)
[2024-03-09 21:07:13] <-- Armanelgtron has quit (No Ping reply in 180 seconds.)
[2024-03-09 21:08:26] --> Armanelgtron has joined the channel
[2024-03-09 21:08:26] -!- Topic for #armagetron is "Armagetron Advanced | http://www.armagetronad.org/ | Welcome to IRC"
[2024-03-09 21:08:26] -!- Topic set by ChanServ!services@services.oftc.net on 2022-12-21 00:36:08 UTC
[2024-03-09 21:08:27] -!- weber.oftc.net set mode #armagetron +nt
[2024-03-09 21:08:27] -!- Channel #armagetron created on 2021-04-20 19:56:37 UTC
[2024-03-09 21:09:10] --> Armanelgtron has joined the channel
[2024-03-09 21:09:11] -!- mercury.libera.chat set mode #armagetron +nt
[2024-03-09 21:09:11] -!- Channel #armagetron created on 2021-05-20 17:23:14 UTC
[2024-03-09 22:06:03] <-- Armanelgtron has quit (No Ping reply in 180 seconds.)
[2024-03-09 22:07:23] <-- Armanelgtron has quit (No Ping reply in 210 seconds.)
[2024-03-09 22:10:20] --> Armanelgtron has joined the channel
[2024-03-09 22:10:21] -!- mercury.libera.chat set mode #armagetron +nt
[2024-03-09 22:10:21] -!- Channel #armagetron created on 2021-05-20 17:23:14 UTC
[2024-03-09 22:11:21] --> Armanelgtron has joined the channel
[2024-03-09 22:11:21] -!- Topic for #armagetron is "Armagetron Advanced | http://www.armagetronad.org/ | Welcome to IRC"
[2024-03-09 22:11:21] -!- Topic set by ChanServ!services@services.oftc.net on 2022-12-21 00:36:08 UTC
[2024-03-09 22:11:23] -!- larich.oftc.net set mode #armagetron +nt
[2024-03-09 22:11:23] -!- Channel #armagetron created on 2021-04-20 19:56:37 UTC
[2024-03-09 22:17:14] <-- Armanelgtron has quit (No Ping reply in 180 seconds.)
[2024-03-09 22:18:35] <-- Armanelgtron has quit (No Ping reply in 180 seconds.)
[2024-03-09 22:38:33] --> Armanelgtron has joined the channel
[2024-03-09 22:38:34] -!- zirconium.libera.chat set mode #armagetron +nt
[2024-03-09 22:38:34] -!- Channel #armagetron created on 2021-05-20 17:23:14 UTC
[2024-03-09 22:38:41] --> Armanelgtron has joined the channel
[2024-03-09 22:38:41] -!- Topic for #armagetron is "Armagetron Advanced | http://www.armagetronad.org/ | Welcome to IRC"
[2024-03-09 22:38:41] -!- Topic set by ChanServ!services@services.oftc.net on 2022-12-21 00:36:08 UTC
[2024-03-09 22:38:42] -!- larich.oftc.net set mode #armagetron +nt
[2024-03-09 22:38:42] -!- Channel #armagetron created on 2021-04-20 19:56:37 UTC
[2024-03-09 22:44:11] <Lucifer_arma> I think you *can* build all these checks into the compiler and making it an option you enable.  But what I meant about threadsafe and process safe APIs is APIs that do have all these checks in them, and enforce them suitably.
[2024-03-09 22:44:12] <armagetronbridge> 10irc:Lucifer_arma| I think you *can* build all these checks into the compiler and making it an option you enable.  But what I meant about threadsafe and process safe APIs is APIs that do have all these checks in them, and enforce them suitably.
[2024-03-09 22:44:49] <Lucifer_arma> it still won't be enough for C++ to be able to make the same claims of safety that rust makes, because that'll require compiler enforcement, and once you do that, you need to be able to either disable it, or you have to explicitly enable it
[2024-03-09 22:44:49] <armagetronbridge> 10irc:Lucifer_arma| it still won't be enough for C++ to be able to make the same claims of safety that rust makes, because that'll require compiler enforcement, and once you do that, you need to be able to either disable it, or you have to explicitly enable it
[2024-03-09 22:46:28] <Lucifer_arma> but it would be ideal if you could have a class type, with a modifier, so you'd write "parallel class Blah" and you'd get a class with those checks builtin
[2024-03-09 22:46:28] <armagetronbridge> 10irc:Lucifer_arma| but it would be ideal if you could have a class type, with a modifier, so you'd write "parallel class Blah" and you'd get a class with those checks builtin
[2024-03-09 22:46:58] <Lucifer_arma> I feel like it has to be done at the compiler level, too.  Inheritance isn't going to fully solve the problem.
[2024-03-09 22:46:58] <armagetronbridge> 10irc:Lucifer_arma| I feel like it has to be done at the compiler level, too.  Inheritance isn't going to fully solve the problem.
[2024-03-09 22:47:33] <Lucifer_arma> but I do agree that if you do it right, C++ already has everything you need.  It's not inherently memory dangerous or multiprocess dangerous, it's just really easy to miss a reference here or there
[2024-03-09 22:47:33] <armagetronbridge> 10irc:Lucifer_arma| but I do agree that if you do it right, C++ already has everything you need.  It's not inherently memory dangerous or multiprocess dangerous, it's just really easy to miss a reference here or there
[2024-03-09 22:48:41] <Lucifer_arma> we also need to settle on what "reentrant" means, heh.  People use it to mean threadsafe, and others use it to mean something else that actually makes more sense
[2024-03-09 22:48:42] <armagetronbridge> 10irc:Lucifer_arma| we also need to settle on what "reentrant" means, heh.  People use it to mean threadsafe, and others use it to mean something else that actually makes more sense
[2024-03-09 22:49:02] <Lucifer_arma> Qt uses it to mean that a function/method can be called again before it's finished executing the first call
[2024-03-09 22:49:03] <armagetronbridge> 10irc:Lucifer_arma| Qt uses it to mean that a function/method can be called again before it's finished executing the first call
[2024-03-09 22:49:23] <Lucifer_arma> separate from recursion, of course
[2024-03-09 22:49:24] <armagetronbridge> 10irc:Lucifer_arma| separate from recursion, of course
[2024-03-09 23:52:29] <-- Z-Man has quit (Remote host closed the connection)
[2024-03-09 23:52:35] <-- Z-Man has quit (Remote host closed the connection)
[2024-03-09 23:54:51] --> Z-Man has joined the channel
[2024-03-09 23:55:25] --> Z-Man has joined the channel

View entire month
DISCLAIMER: These logs of public chat may contain some content which may not be appropriate for all audiences. Use at your own risk.
Logs from 2006-2009 pulled from wrtlprnft
Format changes at: 2015-08-25, 2017-02-20, and 2020-03-23. Times (2015 and later) should be Eastern.


 
 
 ArmaNelgTron.tk
 © NelgTron 2014-2024. Made for . [About this site] [Credits]