It's still a complex and more abstract function than map or filter. Those do a single thing that's easy to grasp. reduce/fold can be easily abused to duplicate the effect of most other collection functions, at the cost of making the code less readable. Although for slightly-too-clever people, that could mean you only need to know one function instead of all of them.
But it hurts readability. If you're going to do it, at least don't use it anonymously, but give it a name that clearly describes what's going on.
But even then, there can be hidden performance traps. I've often seen javascript that used reduce and created the new accumulator by using a spread on the old accumulator and adding the new one: `[...acc, newValue]`. But that spread is another iteration inside a loop, turning it from O(n) to O(n^2). A for loop where you append it is much faster.
I would expect it's not caused by genes themselves, but by control DNA. That's where a lot of the subtle structural stuff happens. But that's also hard to test for. It's like how you can't test how tall someone is going to be.
I've also read ages ago in Scientific American that the difference between our brains and chimp brains is almost entirely in control DNA, not in genes. It matters a lot, but is often overlooked. (It used to be called "junk DNA", before people realised how important it was.)
And that hurts the free market. A free market should be transparent, have low barriers to entry, and not be dominated by monopolies or cartels. There's nothing free about American capitalism.
I'd like to take a closer look at what exactly Canada is exporting to the US, and what exactly the EU is importing from elsewhere, to see if there's a match. I'd rather buy from Canada than from Russia. Or China. Or the US.
You know how despite climate change being very real, in day to day discussions with other level headed people, they still very regularly say stuff like
"We ran the numbers for an EV, and right now gas is still cheaper, so we are holding off on the switch until it makes financial sense"
Canadian oil would need to be shipped halfway around the world. It would be more expensive. Price is always the top factor for everyone.
Fair point. What we really need of course is more renewables, and that is happening, but not fast enough, so we still need oil. And I'd rather get our oil in a way that doesn't fuel the Russian war machine, even if it does cost a bit more.
The politically-important Alberta oil mostly goes to the mountain states down here. Coincidentally, those same states rely heaviest on coal for electricity. So, the choice is recharge an EV on coal (think arsenic and mercury accumulating somewhere nearby) or good ol gasoline (which is piped from Canada).
I think what you’re wondering is: can residential electricity schedules promote off-peak rates for EV charging. I’ve seen that and I think it takes the edge off.
But we’re in a drought right now. I think hydro is down at least 20%. Wyoming wind power alone totally makes up for that.
I’m sure China would, too. I wonder what’s harder: diverting that oil to the northwest passage, or diverting Persian Gulf oil around the strait of Hormuz?
This seems to be mostly about the way Claude talks, which is indeed very annoying. My experience was improved a lot by the 'i-have-adhd' plugin that was posted about here recently. That cuts a lot of the unnecessary verbosity.
part of Claude’s capability is reliant on its verbosity to push its responses into new vector spaces. If you instruct it to be terse, its capability is potentially reduced
What I don't understand is, isn't this what "thinking" is for? It can be as verbose as it wants while it's thinking as far as I'm concerned, but why can't it keep the verbosity there? Why does it always spill into the actual response no matter what I do?
This is absolutely an issue, and I've run into it several times myself, because I am doing Real Difficult Stuff that I don't think anyone has ever done quite like this before. But I'm leaning heavily on Claude for it. Mostly for the stuff that has already been done before but I need to redo in order to be able to improve on it (mostly various aspects of graph layout algorithms of for the Sugiyama framework), but it's also been surprisingly helpful at helping me write some of the complex new stuff. Those parts require a lot more direct guidance and careful review, but it's still helping me keep a firm grasp on the whole thing. Which I also find surprising, because in the past I've experienced many times that I was losing grasp on a project because I let LLMs do too much. But this time it's the opposite.
But it hurts readability. If you're going to do it, at least don't use it anonymously, but give it a name that clearly describes what's going on.
But even then, there can be hidden performance traps. I've often seen javascript that used reduce and created the new accumulator by using a spread on the old accumulator and adding the new one: `[...acc, newValue]`. But that spread is another iteration inside a loop, turning it from O(n) to O(n^2). A for loop where you append it is much faster.
reply