I think the answer is practice, for a few reasons. One is obvious: conversation is a skill. Just like a novice chess player can spend 5 seconds figuring out which squares the knight can move to while an intermediate player spots a fork to force trading a strong bishop or exposing an overworked queen, exposure to similar situations rewires your brain to work faster in those situations.
Another reason, though, is to me one of the main benefits of social interaction in the first place: The brain rewiring also makes you think about what other people would think, want to hear, say to you, etc, even when they're not around. That sure can give you better answers in conversations, but more importantly, I think this is just genuinely a nice way for the brain to be. In the same way that dogs are happy playing fetch, humans are happy living with other people in mind. Maybe because it feels like not everything is your responsibility, or that you worry less about what you should be doing, or that you look forward to laughing about disasters later... I'm not entirely sure. Whatever it is, it's nicer than the alternative.
More accurately, binary search is optimal only if you cannot determine distance between the data points (you can compute `<` but not `-`). It's inaccurate to say it's optimal if you know "nothing" about the distribution. If you encounter a point that's much closer to your high pivot vs much closer to your low pivot, there is no possible prior knowledge state uninformed enough to conclude that the best place to search in both cases is in the middle.
This particular AI-ism really encapsulates what annoys me about some AI-isms. I don't mind the delves and the em-dashes that just give away the AI source of what otherwise might be good text. But these structural pieces just feel fundamentally not for the reader. Part of it is blatant pick-me language for the human feedback ("hey look you wanted plain language I did that") and part of it feels like it's just helping the future token stream (thinking-like tokens polluting the actual text).
The not-this-but-that, the sycophancy, the symbolizing-vague-significance, they all have this flavor of serving a process that's no longer there as I now need to read it. It gives a similar sickening feeling to the one I get seeing something designed by committee.
It applies more to design software, where a user is creating durable things and needs to understand those things themselves. Google Maps is more of an agent: It's responsible for understanding its own complexity and answering your queries.
My point is that, sometimes, going for the lowest common denominator or "noun" and declaring it to be your primitive (focusing on minimalism), is a worse approach than picking a larger set of primitives that suits your design. Take Hangul (한글) for example, where the primitives are designed to serve a goal, and there's no effort to "ruthlessly" minimize the number of primitives, and this is something you can learn to read in 10 minutes, or at least in a day. Whereas if you go over to something like Chinese, your numbers 1, 2, and 3 look nice thanks to your stroke primitive, but your needs quickly overwhelm your design and you end up with something quite unwieldy compared to if you had picked a more complex set of primitives — you will never learn to read all Chinese in your whole life even as a native speaker. It's a counter-intuitive design lesson.
I cringed very hard in the slerp example seeing `acos(dot(a,b))`. Clamping to [-1,1] to avoid NaNs still gives you bad answers and numerical sensitivity around small angles. acos and asin in general lose ~half your sig figs around their singularities[0]. Working around this by introducing a threshold seems like exactly same flavor of issue he's complaining about to begin with.
There are perfectly good solutions for finding the angle using atan and the cross product. Calculating A x B will yield a vector which lies is along their normal with length tan(θ)(A · B) so we can straightforwardly say e.g.:
`θ = atan2(norm(A ⅹ B), (A · B))`
No thresholds, no branching, only ~1 bit of significance lost. As the original author says himself, when you're introducing arbitrary-feeling thresholds, it's likely you're missing a solution which would improve more than just the weirdness at those thresholds.
I love the fractal nature of this, where the big shape of one two three four... is then roughly repeated both on a slower scale (twenty thirty forty...) and on a narrower scale (twenty-one twenty-two twenty-three twenty-four...).
I'm now wondering the hausdorf dimension of the graph of alphabetical numbers <n, and how other languages might compare.
I discovered them last year on Substack and they quickly became a priority read. A sort of Quanta for biology, taking time to explain enough for a popular audience but keeping technical rigor deep into some fascinating topics.
Solidworks has VBA macros, which (on top of being poorly documented and unstable) subvert to the whole benefit of parametric CAD. Once you're creating features with a macro, you naturally want to edit them, but you also naturally want to rerun the macro itself to create them differently. It's like editing generated code and it's not a viable long-term setup.
FeatureScript is a different beast. It actually runs as part of regeneration in Onshape. Standard features (extrude, loft...) are also defined in FeatureScript, so your custom features are the same first-class citizens with a interactive GUIs and stable updates to upstream changes. You can freely mix interactive CAD and custom code by adding standard features and custom features.
Another reason, though, is to me one of the main benefits of social interaction in the first place: The brain rewiring also makes you think about what other people would think, want to hear, say to you, etc, even when they're not around. That sure can give you better answers in conversations, but more importantly, I think this is just genuinely a nice way for the brain to be. In the same way that dogs are happy playing fetch, humans are happy living with other people in mind. Maybe because it feels like not everything is your responsibility, or that you worry less about what you should be doing, or that you look forward to laughing about disasters later... I'm not entirely sure. Whatever it is, it's nicer than the alternative.
reply