tmerr
Joined 14 years ago
Joined 14 years ago
> [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.
1. Generate an idea. 2. Let critics help identify flaws. 3. If it's unsalvageable give up. Otherwise, modify the idea and go to (1).
This works well in a collaborative environment where people share ideas early.
> The person proposing has been thinking about this for weeks or months. They've tested pieces of it in their head or even built proofs of concept. They understand things about the idea that aren't obvious yet. And they're trying to explain all of this to a room full of people encountering it for the first time.
Assuming this blog post is based on real world experience, I want to point out that this describes a very slow feedback loop, and it's not necessarily typical or a good thing.
There is one post, and I haven't shared it publicly before so that's something!
I don't need 10 parallel agents making 50-100 PRs a week, I need 1 agent that successfully solves the most important problem.
I don't understand how you can generate requirements quicky enough to have 10 parallel agents chewing away at meaningful work. I don't understand how you can have any meaningful supervising role over 10 things at once given the limits of human working memory.
It's like someone is claiming they unlocked ultimate productivity by washing dishes, in parallel with doing laundry, and cleaning their house.
Likely I am missing something. This is just my gut reaction as someone who has definitely not mastered using agents. Would love to hear from anyone that has a similar workflow where there is high parallelism.
I suspect in some cases it will be more convenient and in other cases it will be less convenient to use. The write interface isn't so bad for some use cases like appending to logs. It's also not bad for its ability to treat different types of objects (files, pipes, network) generically.
But if you want to do all manipulation through pointers it should be doable. To support appending to files you'd probably need some way to explicitly grow the file size and hand back a new pointer. Some relevant syscalls would probably be open, ftruncate, and mmap.
Over local network it's an unreliable assumption that device A can discover device B through some form of broadcast. There are ways to intentionally or unintentionally block that. And then even if you know each party's IP, some networks will intentionally isolate different users for security reasons.
Is it an Apple/Android limitation or a more basic networking limitation that drives devices to communicate with centralized servers on the internet?
And yes I agree it does seem ridiculous.
Re help: I asked for some help on libera ##electronics. I think there are larger communities on reddit that would also take a pass over designs.
My impression is that for straightforward circuits (not very high frequency or high power) you can get away with almost anything as far as layout goes. You punch in some generous setting for spacing of traces etc in the CAD software and it does some basic validation. (Are all the parts connected, not too close?).
I used KiCAD. It works well, though for assembly EasyEDA is probably lower friction. I had to dig around to find the right footprints for certain parts.
Based on how broken the site's external links were I incorrectly concluded the whole blog was created by genAI. Then I thought to check web.archive.org and found they're legitimate links & it's just internet bit rot.
http://pqasb.pqarchiver.com/latimes/access/60130710.html?did...
If the building blocks make it easy to write concurrent code (Go, Erlang), then it becomes easier to write a server. If they make it easy to represent "A or B or C" and pattern match on trees (ML-like languages), then it becomes easier to write a compiler.
Add to that: if you are trying to make an easy to onboard language, you want to look at how beginners use it, not experts. Someone writing a compiler for language X is certainly an expert in X.
Nice! Will that end up on Github?
> Out of curiousity, what do you want
Most often I want to return just the first error. Some reasons: (1) smaller error messages passed across RPC boundaries (2) original errors can be inspected as intended (e.g. error codes) (3) when the semantics are to cancel after the first error, the errors that come after that are just noise.
A couple other thoughts
- 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