As I continue reading An Introduction to Parallel Programming, I cannot help but notice a connection between communication among processors, communication among human beings, and communication within the individual self.
Increasing computational power has allowed us to decode the human genome, improve medical imaging, accelerate web searches, and approach problems that were previously unimaginable. Climate modeling, protein folding, drug discovery, energy research, and large-scale data analysis all depend upon enormous computational resources.
But the textbook’s deeper lesson is that adding more processors does not automatically produce more useful work. A problem must first be divided into parts. Those parts must communicate, synchronize, and share the workload. One processor cannot remain overloaded while the others wait. Nor can every processor compete endlessly for the same resource. The challenge is no longer simply producing more power. It is learning how to coordinate the power we already possess.
Perhaps the same is true of human beings.
A person may possess intelligence, emotional depth, physical energy, memory, and creativity, yet still become overwhelmed when these parts are unable to work together. The mind may say one thing while the body communicates another. Speech may conceal both. Memories may continue running like unfinished processes, consuming attention long after the original event has passed.
In Zen Mind, Beginner’s Mind, wholehearted activity is compared to a fire that burns completely and leaves no unnecessary trace. This does not mean forgetting the past or pretending that painful events never happened. It may mean allowing an experience to be fully felt, understood, and completed, rather than endlessly attaching ourselves to the residue it left behind.
How many experiences continue to consume us because they were never allowed to finish burning?
Honest communication is a form of synchronization. When our thoughts, emotions, bodies, and words communicate truthfully, they can begin to move together. When they conceal information from one another, the result is internal contention: anxiety, exhaustion, confusion, and eventually burnout.
Parallel programming asks how many separate processors can work as one system without ceasing to be individual processors. Zen seems to ask a similar question of human life.
Maybe our greatest limitation is not a lack of power, but power divided against itself.
A continuation exploring my_sum, partial perspective, and Suzuki’s small I and big I.
I like the part about synchronization and honesty. And I'm certain every time I get annoyed that someone is not as open with me as I wish they were, there is a part in there that myself contributed to that.
A good example is game theory and game semantics. The term "actor" in this context are soo abstract that we can pretty much attempt to implement them anywhere we see fit and that I think is the beauty.
I'm genuinely considering that this is just a foreword and I missed the clickthrough link to the meat of the article.
I’ve enjoyed reading the comments here and I think there’s truth in how the technical problem is divided and teams are arranged. The idea of frequency of features (or builds) being a reflection of our division of the problem, is interesting. It made me think about our teams trying to ship releases and the problems arising, but zen and parallelism don’t give any hints. It’s just about effort to organise better, like it always was
"Zen Mind, Beginner's Mind" makes more sense in a group setting. I read extracts of it with a Zen priest in a meditation group.
She proved that he made a trip to a town where the monk lived after his return, and the library contained a copy of his reports. She could not prove more than opportunity but she strongly suspects that Hume not only read the report but may have met with the monk as well.
The article makes a lot more sense if you've practiced Zen.
Think of it as someone's way of making sense of Zen teachings by related them to something they already understand.
The challenge for these “Zen and my job” types of work is that much of Zen practice is (deliberately) a bit of an inkblot test. If there’s any real Big Truth to it, it’s that it’s all one big muddle that everyone has to muddle through for themself. Unlike in many Western religious traditions, there is no presumption of univocality - even within the canonical literature, every opinion is understood to be the author’s alone and represents their own personal attempts at muddling things through. It’s just that some people and works are regarded as being particularly worth a read.
But that’s never explicitly stated. Which can be particularly confusing to people who grew up in religious traditions that do presume univocality and a greater degree of spiritual authority. Hence these works by people who see one particular bit that clicks for them and conclude, “Ah, this is what Zen is really about, I must go tell others!” without realizing that perhaps they just stumbled across an inkblot that they found to be particularly evocative.
In my experience with more than a couple dozen software projects, the ideal team size to successfully deliver a non-trivial effort is between five to nine people.
One subject matter expert visionary
One technical architect visionary
One or two technical masters
One or two UI/UX masters
One or two padawans capable of becoming a master
Staffing exceeding the above for an individual team is more a managerial genitalia contest than anything focused on organizational success.To the people wondering the meaning of the article, it's I think this.
It is just some daydreaming verbiage trying to connect totally disparate domains in a fanciful manner; nonsense and drivel.
As I continue reading An Introduction to Parallel Programming, I cannot help but notice a connection between communication among processors, communication among human beings, and communication within the individual self.
Whut?
The "about" section of the website is equally vacuous:
SmolNero is a philosophical startup rooted
in first-principles thinking.
We explore how humans relate to technology—
how we speak to it, depend on it, thank it,
and sometimes forget it’s there at all.
We don’t claim expertise. We see ourselves
as translators—working at the crossroads of
emotion and programming, curiosity and care
(The two M-dashes are also suspicious)I've been on projects where everybody needs to know everything, and on projects where many groups can be insulated from others.
The more your group can work without needing a meeting with other groups, the more things can progress in parallel.
Some projects won't work well with that constraint though. And some organizations won't either.
But it's secondary.
The wall is build. If you can AI program, your problem is the build is too slow, too unreliable, not secure enough from a supply chain standpoint.
That is where one competent senior hacker tops out today. The agents are yielding to a CI that gets 35% per-vCPU occupancy.
The wall right now is skill or build, depending on your skill.
It's not often I comment on blog posts, but this is honestly one of the most meaningless blogs I've ever read (not counting those fully AI-generated SEO ones). I don't get why it ended up so high on Hacker News; it has an interesting title I guess, but pretty much no substance.
Edit: aaaand I hadn’t read the article
When you're dealing with multiple platforms, or hardware accelerators, or mostly all of economically relevant shit in the AI era you don't get a small, clean, fast build.
Fable can't print a Tauri faux-native app without dragging in half of LLVM.
If your build is bloated and slow, it would seem prudent to go and fix that, possibly converting a codebase from some other language or build system to something that can be built and tested very quickly. Slow builds and slow unit tests are a choice.