wting
Joined 14 years ago
Joined 14 years ago
I'm fine with doing nothing for a long time[0], but know friends and family members that struggle with not filling idle time with their phone. I do think this is learned behavior that people can adjust over time with practice (i.e. meditation).
0: I'm a voracious reader, frequent solo traveler, and was a paid photographer for a bit. Sitting, observing, and thinking is something that I do on a daily basis and comes naturally to me.
— George Bush, 2002
The original saying: Fool me once, shame on you. Fool me twice, shame on me.
I think an intellectually honest take is that it's advantageous and prudent to depend on allies and neighbors; leveraging each party's strengths for efficiencies over strategic autonomy. This trade-off is commonly debated with depending on US military hardware in favor of EU military hardware (e.g. France's long standing position for EU strategic autonomy), or vendor lock-in with AWS vs cloud-independent offerings.
The problem is when an ally becomes inconsistent and/or uncooperative; a high stakes version of prisoner's dilemma. At which point do you replace an ally's offerings with more expensive, and often inferior, alternatives? The general populace rarely has the appetite for the short-term economic pain required to achieve long-term strategic independence.
If Rust included a crypto lib and a vulnerability was discovered, many fixes are backwards incompatible. Rust maintains strict backwards compatibility, which means updating the relevant crypto functions in the std lib would necessitate a major version bump. By keeping crypto outside of std, it allows the community to make backwards incompatible changes at a higher pace.
Python handles backward incompatibility changes via multi-year deprecations. I'm not familiar with Golang but a quick Google search reveals that it deals with this by using feature flags via GODEBUG. Excessive feature flag use is a bad pattern in my experience years ago, but I don't know if that's applicable here.
I prefer the trade-offs of a "choose your own lib" approach, but I understand the advantages and preferences of those who prefer a "batteries included" approach.
Any company/organization can theoretically change its culture, but it's quite difficult in practice.
> And yes, I don't like managers trying to shape communication patterns.
I'm a manager who shaped communication patterns (e.g. default conversations to a public channel) because we're solving different problems. By moving conversations to a public channel away from an individual, we're improving redundancy and reducing single points of failure. Our primary responsibility, which understandably garners discontent, is to prioritize the system over the needs of individuals, within reason.
There are many issues resulting from defaulting conversations in private channels or DMs that you've probably seen first-hand.
There's a lot of wasted discussion talking about an intentional design decision because they're arguing from consumers' perspectives, ignoring the huge benefit to political organizations (e.g. freezing Russian assets).
The EU is not a hegemonic state, but rather an economic supranational organization. France/Germany tend to be primary proponents of increased EU strategic autonomy, while Poland/Czech/Baltic states are less supportive.
Similar to recent discussions of self-hosting, it's a tradeoff of autonomy/control vs efficiency.
Google was also the company that espoused, "Do no evil" and contributed a bunch to open source. A lot has changed since then.
It's a framework to prioritize important tasks instead of falling into the agency trap, akin to prioritizing meaningful strategic tasks such as product development and tech debt instead of fighting fires.
Without planning, a depth first traversal is a high risk endeavor in the likelihood that the that path is wrong but backtracking and creating the graph is comparatively expensive and susceptible to sunk cost fallacy. Depth-first traversal is writing the book a chapter at a time without a table of contents in mind.
If there's grunt work that no one wants to do, I distribute it fairly among the team. Fairly can be splitting it up evenly among the team (everyone refactors _n_ files) and sometimes it means we round-robin the responsibility (e.g. quarterly compliance reviews with auditors). Obviously this depends on the team size and role in the company, but I think it's only come up a few times over ~4 years.
https://github.com/wting
[ my public key: https://keybase.io/wting; my proof: https://keybase.io/wting/sigs/yTnPQ0DZR5vV9WRhYq8SP7V56pyKc3Z8fMQQE9cADBQ ]