793 karma · joined December 13, 2019
The thing is, back then, no GPS, no Internet, just maps and asking people for help. The trip was not particularly challenging and was very rewarding. It seems like such a trip would be even more easy and fun today with all of the extra context and information that you have with a smart phone.
Maybe I should have gone with Kodi.
Really cool and fun stuff.
My cynical view is that some older executives are, indeed, not as effective in remote companies and younger ones, because they have no practice running remote companies and haven't adapted. Additionally, many senior and middle managers never figured out how to assess and reward actual productivity on their teams, so relied on their ability to schmooze to create a veneer of contributing, and schmoozing is easier to do in person. Finally, managing facilities is a big job, especially at bigger companies, and few executives are going to point out that their main job functions are now outdated and the company should de-invest. Imagine being an executive who is overseeing the capital costs of real estate development for a very large tech campus as an extreme example.
However, it is also my view that remote work-forces are inherently more efficient in multiple ways for many industries. I have been working from home and managing remote teams since 2008. Every time I go to an office I am absolutely shocked by how much time is wasted in an office. Time that could be spent exercising, doing laundry, gardening, so many things that are beneficial to someone's health and work productivity. I believe that market forces will solve these problems of ineffective execs and managers. I could imagine some specific companies making a co-located office their competitive advantage by appealing to the minority of knowledge workers who prefer working that way, though.
Said differently, if they aren't capable of moderating in every language, they they aren't capable of launching in every language. At least not ethically.
Packing multiple concerns into a single instance/VM seems particularly cavalier. What if one of the services crashes the OS based on novel user input that is being sent over and over? I think it's naive to say that perfect testing and strongly/statically typed languages make this problem go away.
A large team iterating on a set of monoliths runs into other problems as well. Ready to deploy, but wait, you need to rebase for someone else's changes, oh wait, now your tests don't pass, etc...
A set of monoliths certainly simplifies things for some projects, but many of "us" have battle scars from managing large cloud-based projects in that way, and find the deployment complexity of having a proliferation of independent entities that can have their own life cycle to be crucial for velocity and availability. At least that is why some "us" do it this way.
Where I work, we use Kubernetes very very heavily and some of the article reflects some of my experience, in the sense that any challenge we have, the community response is that we should add MORE complexity. Using secrets is complex? Rearchitect your whole app to use OIDC tokens is the answer (for an example from the article).
I think that Kubernetes was designed, released, and funded, to attack the AWS hegemony. As such, it was designed to provide a cloud abstraction layer for developers to target instead of the AWS API(s). As a result, it is designed for an organization to run a single cluster with many relatively trivial workloads (enter Helm for packaging "off the shelf" apps).
However, it turned out for some of us, the need is to run the same non-trivial application in multiple regions of multiple Cloud Providers. Here, Kubernetes really falls short, because Cloud Service Providers don't seem particularly motivated to make Kubernetes-based applications more portable, and Kubernetes remains a very leaky abstraction in terms of versions, storage, and networking.
To me, the future of Kubernetes looks like the community rallying around a single "distro" of Kubernetes that is reasonably consistent across all major cloud providers, but also makes basic assumptions such as how the CI/CD pipeline, observability and SLOs, self-managed packaging, etc... Here, I think the Linux analogy holds, in the sense that different Linux distros emerged for different sets of users, and communities were able to rallying around solution sets and provide support to each other.
An actual name of a product I worked on at Microsoft
1. Controlled by the community of users, not a big provider. 2. Is optimized to be run multi-cloud and multi-region. 3. Assumes that you will use SaaS services for common tasks (Replicated, Nobl9, Tackle, EdgeDelta, etc...). 4. Has a fully hosted solution for CI/CD (with integrated security offerings) that is, again, not controlled by a big provider. 5. Makes enough assumptions about "sane defaults" that services are well tested and service and operator boiler plate is can guide developers to best practices.
My view is that K8s was designed to attack AWS hegemony by providing a cloud abstraction layer that assumes that a company will have a single cluster in which they will run multiple relatively trivial applications (see Helm), but for some of us, the reality is that we have many clusters which each run the same mission critical application.
Early in their tenure, they said they had to go to Australia (from the US) due to a death in the family. However, someone saw that he tweeted from a bar in airport somewhere in the US, when he purported to be in Australia.
HR asked him to provide a death certificate "just for our records" and he provided a badly forged certificate, the inauthenticity of which was confirmed by a quick call to the agency that supposedly provided it.
It was all very strange and funny. Of course he was let go, and he just kind of said, "ok."
The good news is, one of the great benefits of Pixel phones has always been that the boot loader is unlocked. So, realistically, you can run your phone as long as you want. There are many Free options to keep that going, if that is truly what you value.
The code you are talking about here sounds very low drama, which is code that I love.
Maybe we should distinguish between "pretty" code and "shitty" code?
I spend so much energy every week trying to create real value for customers; meanwhile someone is making money off of this. I conceive of scams like this all the time, but some part of me always keeps me from actually executing.
The only thing that I have seen work is shipping a better, cheaper, and more useful product and focusing marketing on why a user would prefer to use it on its own merits. Everything else is preaching to the converted.
For personal projects on my desktop, I have given up and just use pip install, and then don't try to share those scripts.
For example, if you use Nintendo products, you can see that they rarely allow unfettered communication. For example, you can choose from a list of things to say, or you can choose an emotion to express, but you can't type whatever you want to other players on their network (usually).
This extends to coding interviews as well. Using the resources at one's disposal to get a sense of the landscape before diving into algorithms must surely be part of the job, right? What do I care if a developer needs a quick reminder before diving into a solution, or even reads up a bit and scans someone else's code before answering?
What is the value in ensuring that people have perfect recall if this is something that will almost never be necessary in a real world job?
My children each suffered in different ways from being forced to share a bedroom with someone when they entered college as well.
In my completely layman opinion, I think that the shared living space with private bedroom (even windowless) is a sensible compromise that will result in a better quality of life for the students there.
That said, the article makes what I think is an important point, that social media is not universally negative, it has some positive effects for some people. I usually use the word "cancer" to describe my attitude to Facebook and Twitter, and why I won't use it, but that is intentional hyperbole to stop further discussion.