- I think the non-conc comparison code is especially hairy since it's using goroutine pools. There's nothing wrong with that and it's fast, just not the easiest to work with. Often goroutine overhead is negligible and I would bound concurrency in dumber ways e.g. by shoving a sync.Semaphore into whatever code I otherwise have
- I like that errgroup has .Go() block when concurrency limit is reached. Based on a quick skim of the code I think(?) conc does that too, but it could use documentation - I don't want to mess with panics.
- The default concurrency GOMAXPROCS is almost never what I want.
- Aggregated errors are almost never what I want. (I haven't read the implementation, but I worry about losing important error codes, or propagating something huge across an RPC boundary).
- Using it would place a burden on any reader that isn't familiar with the library
> [of consciousness] I do not think these mysteries necessarily need to be solved before we can answer the question with which we are concerned in this paper.
So I feel like Dawkins is kind of strawmanning what Turings argument was, or arguing based on a confused popular understanding of it. There is another answer between "yes it's conscious" and "no it's not" that is "I don't know", or "it's not a meaningful question", that feels like the more honest position right now.
I agree with another commenter here that Dawkins piece is interesting in another sense though. As I'm reading through the conversation with Claude, the response "That is possibly the most precisely formulated question anyone has ever asked about the nature of my existence" jumped out to me as a little sycophantic. Maybe it is easier to believe that a machine is conscious when it is agreeing with you and making you feel closer to it.