I bet most large tech companies could have a fairly accurate map of the network in less than a week if they really wanted it. Simply look at every email and chat reply between two people and build a graph whose nodes are people and with edges whose strength is the number of those interactions. Done.
Of course, there are a lot of scary privacy implications and I'm sure there are a few execs who wouldn't want anyone to discover that, wow dude_in_power_x sure does sent a lot of chats to cute_indirect_subordinate_they_have_no_reason_to_interact_with.
But if and organization really did want a better sociological understanding of their workforce, they could build it.
(Also, it means that you don't get any performance benefit from static typing your program.)
Use a type checker! Pyright can get you like 80% of Rust's type safety.
Sort of like closing 80% of a submarine's hatches and then diving.
You assert that people prefer to be right, I agree but in practice “being right” requires having to accept changes in your beliefs, and that’s painful.
Also “being right” requires some effort to check what the facts are, and that is arduous when people are busy with life.
As a result I think people prefer to feel like they’re right rather than dig deeper, and so they prefer information sources that tend to confirm their beliefs.
Changing an existing belief is hard because we already spent effort acquiring the belief in the first place. Throwing that out should be expensive because otherwise we risk thrashing where we are constantly vacillating between competing beliefs. It makes more sense in terms of efficiency and being able to take action if there is some hysteresis and beliefs are sticky.
Note that while people don't change beliefs easily, they do acquire them pretty easily. If I tell you something that doesn't directly conflict with an existing belief, it's easy to absorb.
It’s been shown that people in fact prefer to have their beliefs confirmed, rather than challenged by investigative reporting, hence the decline in real journalism, because it is both more difficult and in the end less popular across a large audience.
I think people prefer to be right. Any animal that wants to walk the Earth successfully has an intrinsic need to understand the world as it is, not as they wish it to be. Wanting the fruit tree to be right outside the cave doesn't make it so.
But that desire to have correct beliefs is complex in humans where we also have beliefs about ourselves and others have beliefs about us. We don't want to just be right, but believe ourselves good at being right, and be known to others as someone who is usually right.
That puts some hysteresis in our belief system where we have a tendency to disregard evidence that goes against out beliefs for a while until it's sufficiently compelling.
But, also, no one wants to be a gullible rube or an out-of-touch idiot. We will update our beliefs when in a social and information environment that permits us to do so. The problem today is largely that we have so much choice of our social and information environment, then it's much easier to select an echo chamber that lets us think we're already right then be confronted with the reality that we're wrong.
The decline in investigative journalism can, I think, be explained largely in economic terms. The news has always been driven by ads. Even when people paid for papers, the subscription cost didn't fully cover the newspapers' expenses. The classified ads filled that gap.
Then the Internet arose and transferred advertising out of classifieds and into Craigslist, eBay, and others. And it transferred human attention out of newspapers and into social media. There simply weren't enough resources left to fund expensive investigative journalism.
Most of my coding these days is definitely in the 'for fun' bucket given my current role. So I'd rather take 5x and have fun.
That said, I don't think Go is only fun, I think it's also a viable option for many backend projects where you'd traditionally have reached for Java / C#. And IMO, it sure beats the recent tendency of having JS/Python powering backend microservices.
There's no single 'best language', and it depends on what your use-cases are. But I'd say that for many typical backend tasks, Go is a choice you won't really regret, even if you have some gripes with the language.
* The Dremel is approachable: I don't have to worry about cutting off my hand with the jigsaw or set up a jig with the circular saw. I don't have to haul my workpiece out to the garage.
* The Dremel is simple: One slider for speed. Apply spinny bit to workpiece.
* The Dremel is fun: It fits comfortably in my hand. It's not super loud. I don't worry about hurting myself with it. It very satisfyingly shaves bits of stuff off things.
In so many respects, the Dremel is a great tool. But 90% of the time when I use it, it ends up taking my five times as long (but an enjoyable 5x!) and the end result is a wobbly scratchy mess. I curse myself for not spending the upfront willpower to use the right tool for the job.
I find myself doing this with all sorts of real and software tools: Over-optimizing for fun and ease-of-entry and forgetting the value of the end result and using the proper tool for the job.
I think of this as the "Dremel effect" and I try to be mindful of it when selecting tools.
Losing a cart is expensive, but it doesn't seem to happen at the scale that would make a full blown locking wheel solution cost effective.
* In a high-trust high social cohesion culture, you can rely on people returning carts all the way to where they belong instead of just selfishly leaving them in the parking lot once they are done with it.
* In the US, the opioid epidemic means there are many more homeless drug addicts. Stolen shopping carts are useful for them to move their stuff around.