I think the blog post is confusing in this regard. For example, it explicitly states:
> We no longer had to deploy 140+ services for a change to one of the shared libraries.
Taken in isolation, that is a strong indicator that they were indeed running a distributed monolith.
However, the blog post earlier on said that different microservices were using different versions of the library. If that was actually true, then they would never have to deploy all 140+ of their services in response to a single change in their shared library.
Shared telemetry library, you realize that you are missing an important metric to operationalize your services. You now need to deploy all 140 to get the benefit.
Your runtime version is out of date / end of life. You now need to update and deploy all 140 (or at least all the ones that use the same tech stack).
No matter how you slice it, there are always dependencies across all services because there are standards in the environment in which they operate, and there are always going to be situations where you have to redeploy everything or large swaths of things.
Microservices aren’t a panacea. They just let you delay the inevitable but there is gonna be a point where you’re forced to comply with a standard somewhere that changes in a way that services must be updated. A lot of teams use shared libraries for this functionality.
These are great examples. I'll add one more. Object names and metadata definitions. Figuring out what the official name for something is across systems, where to define the source of truth, and who maintains it.
Why do all services need to understand all these objects though? A service should as far as possible care about its own things and treat other services' objects as opaque.
... otherwise you'd have to do something silly like update every service every time that library changed.
As you mention, it said early on that they were using different versions for each service:
> Eventually, all of them were using different versions of these shared libraries.
I believe the need to deploy 140+ services came out of wanting to fix this by using the latest version of the deps everywhere, and to then stay on top of it so it does not deteriorate in the same way (and possibly when they had things like a security fix).
> As I have gotten older I see now that this entertainment is junk food that replaces real satisfaction and accomplishment in life
A bit too condescending if you ask me. People are free to choose to spend time on things they find entertaining and that has no bearing on whether you find it "junk food" or whether the company producing the entertainment is trying to squeeze every penny they can out of it.
People are given a choice on what they eat as well and many also eat junk food, despite it largely being agreed upon that junk food is not good for you.
Both cheap entertainment and junk food cede your autonomy to large corporations whose main goal is to make you addicted to their product and extract the maximal amount of money.
This is purely subjective, but I believe that the path to personal fulfillment does not involve watching TV and playing video games in your spare time. I say this as someone who was addicted to video games and played 40 hours a week in addition to a full time job.
When someone says “No matter who wins, we lose” they are implying that we are all beholden to corporations who will inevitably screw us, but that does not have to be the case. You can choose not to participate.
I disagree with your premise that your non-preferred form of entertainment is equivalent to eating junk food.
I’m sorry that you were addicted to playing video games (truly) but I think your past experience is preventing you from thinking rationally about this.
People can find fulfillment from many different things, including the ones that you personally don’t find fulfilling. One's fulfillment is also irrelevant with respect to whether the product they are consuming was designed by a corporation to extract maximum profits (though I sympathize with your anti-corporate stance, despite the fact I find this point of yours to be irrational).
You admitted your view was subjective, yet you are prescribing it as a general view that applies to everyone which is both elitist and dissonant.
I didn't get that read at all. I read it as their journey of understanding how the world works and how they've reached their opinions on personal autonomy.
Your replies feel as if they're trying to paint turbobrew's comments as something more than they are; as some kind of prescribed doctrine, as opposed to an individuals opinion.
But that may just be because I happen to strongly agree with turbobrew's commentary.
> I didn't get that read at all. I read it as their journey of understanding how the world works and how they've reached their opinions on personal autonomy.
They are using very general language and they aren’t disagreeing with my characterization, so I think I’m describing their position accurately.
Suggesting that personal fulfillment should not be controlled by a corporation is not elitist — it is philosophy. You disagree with my philosophy, which is fine.
I typed out my ideas as they came to me, so I may have missed the mark. The core idea I want to portray is that you can choose not to play the game of for profit corporations. You can walk away.
> Suggesting that personal fulfillment should not be controlled by a corporation is not elitist — it is philosophy.
So now if I choose to play a video game, that means my personal fulfillment is being controlled by a corporation? You seem to be conflating one's agency to choose versus a corporation having utter control over one's choices. Again, I'm not trying to be disrespectful, but you mentioned being addicted to video games and I think that is affecting your objectivity. As someone who plays video games only a few hours a week, your claim sounds ridiculous.
> I typed out my ideas as they came to me, so I may have missed the mark. The core idea I want to portray is that you can choose not to play the game of for profit corporations. You can walk away.
Sure, no argument there - but that's not what you said originally.
Choosing to play a video game made by a corporation doesn't mean the corporation is controlling one's fulfillment, nor does it mean one is not getting fulfillment or satifsfaction from it (your words).
As someone who has begun to fall into the "Machine Zone"[1] with gaming and stream watching (and trying to get back out) I'm feeling many of the things you're describing.
I struggle with defining the line for myself because a lot of my own hobbies and goals are creative - making music, building a video game, performing improv comedy. And those things are naturally in want of an audience.
Does it mean that I'm part of the problem in wanting to create entertainment, because I'm essentially asking an audience to indulge in the "junk food" that I create? I don't know.
I'd be interested in your thoughts on that question because your ideas seem to be well-articulated. My current thinking is that there is a distinction between:
- "So good" and "So good I could watch it for hours"
- "The artistic content" and "The platform moderating your access to it"
- "Pro-social" and "Anti-social" encouragement / culture of various media (the medium is the message, etc).
Making good quality, non-addictive, pro-social art, independently seems to be an ideal outcome, but then your art - while also being extremely expensive to create and distribute - is in competition with highly visible, well-established, strongly addictive... McDonald's franchises.
I believe your thinking is sound. Creating original things is one of the fundamental ways to fulfillment, I believe. As long as the goal of your creation is to create for yourself — and yourself only — I believe it can lead to the highest level of achievement. I would caution that creation can be addictive almost as much as consumption. Seeing the number of likes on a video you created go up is extremely addictive and can lead yourself towards overworking to make the next creation. Almost every big youtuber goes through a phase of burnout as they try and chase bigger and bigger hits. Additionally, you are beholden to Youtube not screwing you over which may lead to a situation where YouTube has power over your personal fulfillment.
If you haven’t already I would check out the book “Hooked” as well to learn more about the addictive patterns that are put out there to trap you.
>large corporations whose main goal is to make you addicted to their product and extract the maximal amount of money.
I wasted thousands of hours in the 1990s reading Usenet. The part of Usenet I used (i.e., not the binary newsgroups) never made anyone any money and was never intended to make money by the people who built and administered it.
The software I used to read Usenet, namely Wayne Davison's trn, was likewise never intended to make any money: since its license had a clause prohibiting commercial use, it technically did not qualify as open-source software, but it was freely redistributable, i.e., basically given away (along with its source code).
But trn was designed for addiction. Hitting the space key always brought up a new screenful of text. Whenever I got bored with a post, the n key would skip the rest of the post and show me the first screenful of the next post. Once I'd been shown all the posts in one group, trn would automatically start showing me the next group with unread messages. In summary, the path of least resistance (namely, repeatedly hitting the space key till bored, then hitting the n key) caused a continuous "waterfall" or firehose of text to scroll by on the screen.
Moreover, it was difficult to use trn reflectively: e.g., if I found myself returning in my thoughts to a screenful of text I saw a minute ago, there was a good chance that there was no practical way for me put that earlier screenful back on the screen unless I was still reading the post in which the desired screenful occurred, in which cause I could scroll backward using the b key. (The early web, when the back button still reliably returned the user to the previous page, was a big improvement over trn in its support for reflective use.)
Point is that we should put the blame for the addictiveness of modern life on the right cause: not large corporations, not even the profit motive, but rather the technological progress that has accumulated over the centuries, which enables the creation and the delivery at an affordable price to the average person of experiences that are much more potent or pleasurable than anything available to an average person in the environment in which we evolved.
Yes, sex and eating good food with interesting people were always potent experiences for people, but in past centuries, it took a lot of effort, expense or risk to obtain those experiences in contrast to the ease, cost-efficiency and safety with which potent experiences can be arranged on the internet. And if a person carries around a smartphone, these cheap easy-to-arrange safe potent experiences are available at almost every waking moment.
For me the Usenet of the 1990s was a potent experience because I was strongly motivated by curiosity and learning. (1990s Usenet was full of conversations between very smart people.) Comedian and talk-show host Arsenio Hall joked in the 1990s that the internet was cocaine for smart people. This was true even before the US government lifted (in 1993 IIRC) the ban on using the US internet backbone for any commercial purpose.
You raise a good point, addictive technology is not necessarily for profit. The difference is that being addicted to a decentralized technology means that no one actor can control you. Usenet was a distributed system with a distributed network of control.
The analog I would say is being addicted to Chess, which is decentralized activity.
The fact that it was a distributed system, impossible for any single entity to control, didn't AFAICT ameliorate or moderate the intensity or the duration of my compulsive over-consumption of Usenet.
If this was true, teachers and trainers would have the easiest job in the world: just insulting their pupils would stop them from failing an exam, race or whatever again.
> I agree that the writing in the blog post is more colorful than precise, but sanitizing every bit of expression dulls the internet. Humans invented language for a reason.
Where do you draw the line, then? Is a racist screed acceptable to you as long as the following paragraph references technical issues correctly?
The language in the blog post is insulting. Imagine how you would feel if you were the person who wrote this code, and now you are being called a monkey in front of thousands of people on the internet. Certainly you've made mistakes in your code before...or are you saying you've always written flawless code without errors?
These codes of conduct always seemed a bit superfluous to me, but after reading comments like these I can totally see why they are necessary.
Would you perhaps have preferred if they referred to it as "unprofessional" or "sloppy" instead alluding of monkeys?
To me all those mean the same thing, except the latter is more flavorful and makes my eyes less likely to glaze over.
> Imagine how you would feel if you were the person who wrote this code, and now you are being called a monkey in front of thousands of people on the internet.
Er.. so? Why should anyone be allowed into a position of responsibility where their code impacts millions of people if they can't handle the tiniest bit of strong feedback? It was, after all, a pretty egregious bug.
> Certainly you've made mistakes in your code before...or are you saying you've always written flawless code without errors?
I've definitely made mistakes, and also accept that my output might have on occasion been "monkey-esque". I don't see what's insulting about that; we are all human/animal.
> To me all those mean the same thing, except the latter is more flavorful and makes my eyes less likely to glaze over.
And to many others, the difference is that one is informative, the other is likely to turn them off of the author and project forever.
I noticed that you never answered my question. If this is acceptable to you, where do you draw the line? If you can answer that question, maybe you'll be able to see the flaw in your argument.
> the other is likely to turn them off of the author and project forever
Which is absolutely fine. It's their project, their website. If they can't be colorful on their own website, where else can they be! If it turns off some people, I'm sure the author is aware of the risk and happy with that risk.
I, for one, find this kind of colorful language refreshing. Everyone trying to be politically correct makes the internet a dull place.
> Surely you have your own line on what is or is not acceptable discourse. What is it?
I do but I decline to share it here. I'm not going to shift this thread from what the author is doing on their website to my personal beliefs and boundaries!
All I am saying is it is their project, their blog. They can be however much rude they want to be on their website. It's their website, their lines and their boundaries. Where I set my boundaries has no bearing on what Andrew should write on their website.
If Andrew alienates people by his writing, it's his decision, his action, his consequences that he has to deal with. How does it matter where I draw the line?
> All I am saying is it is their project, their blog. They can be however much rude they want to be on their website. It's their website, their lines and their boundaries.
The point is that everyone has different lines for what they consider to be "acceptable" or not. That is exactly the reason why codes of conduct exist - it's an attempt to find a common denomiator so that it can help foster a community where people can feel included without feeling like they are being attacked or insulted.
> That's funny, because if that is true he violated his own code of conduct
Yes, he did. It is funny. I don't know why we need to talk endlessly about it. If you are bothered so much by this violation, file an official report on their issue tracker.
> The point is that everyone has different lines for what they consider to be "acceptable" or not. That is exactly the reason why codes of conduct exist
When I said I decline to share my lines and boundaries here, I meant just that. I didn't mean that I need a lecture on CoC from you. I know what CoCs are and why they exist. Thank you very much. I am not morality police. Neither are you.
My morality applies to myself. Andrew's morality applies to himself. But yeah... CoC may apply to him too. So you've got a good point. I don't know if the CoC applies to their website. If you know more and if it does, a violation of CoC should be reported on their issue tracker. If this is such an important topic for you, please do report the violation to them. That'd be fair.
Yeah, it’s hilarious! Calling someone a monkey is such a clever and thought provoking insult!
> I don't know why we need to talk endlessly about it
If you are confused by this, why are you continuing to respond?
> When I said I decline to share my lines and boundaries here, I meant just that. I didn't mean that I need a lecture on CoC from you. I know what CoCs are and why they exist.
I really don’t think you know why CoC’s exist, because you are chastising people when they point out a legitimate violation (e.g. being the "morality police").
> But yeah... CoC applies to him too. So you've got a good point
Thanks for finally admitting this, I guess? Not sure why you needed to add all the extra argumentation about it, but at least you got there eventually.
> If this is such an important topic for you, please do report the violation to them
No thank you. I’m not actually offended by what he said, I just find it weird when people rush to his defense on this.
> If you are confused by this, why are you continuing to respond?
I'm not confused by anything. That was a rhetorical question. I continue to respond because there are other things that I care about and I have things to say about that. I don't care about what style or tone or words Andrew choses on their website. But I care about people trying to be morality police and discouraging someone blogging on their own website from writing rudely and writing politically incorrectly. So that's why I continue to respond.
> Thanks for finally admitting this, I guess? Not sure why you needed to add all the extra argumentation about it, but at least you got there eventually.
Credit where credit is due. If you make good points I agree with, I'll certainly say that.
> Not sure why you needed to add all the extra argumentation about it, but at least you got there eventually.
Because there are other points of yours I don't agree with.
Must a person always 100% agree or 100% disagree? Can a person not 10% agree and 90% disagree? The latter is happening here.
> But I care about people trying to be morality police and discouraging someone blogging on their own website from writing rudely and writing politically incorrectly
This appears to be a strawman. You already admitted he violated the CoC - so he is in the wrong here.
I'm not sure what else there is to disagree with - that's been my assertion from the beginning.
If he wants to write childish stuff on his own website that is not covered by the CoC, that's his choice. I'm also free to express my opinion on that, but I never implied that he shouldn't be able to write whatever he wanted on his own personal blog.
> You already admitted he violated the CoC - so he is in the wrong here
I didn't say that. This is what I said -
"But yeah... CoC may apply to him too. So you've got a good point. I don't know if the CoC applies to their website. If you know more and if it does, a violation of CoC should be reported on their issue tracker."
Emphasis: "may", "I don't know if", "If you know more".
It's not a stealth edit. It's an open edit. HN allows edits for 2 hours for good reason. I misspoke first when I thought the CoC applies to him. Obviously I don't know for sure since I hadn't read the CoC. So I corrected myself to be less sure.
But you chose to reply to my outdated message although at the time you were replying my message said that I wasn't sure whether the CoC applies or not.
read the CoC carefully, it says which spaces are governed by it. the website does not seem to be. that's deliberate, the CoC only applies to "working" spaces.
If that is how you feel, why are you spending multiple comments defending the language used? It feels like there’s a reason you refuse to define your line in the sand.
> If that is how you feel, why are you spending multiple comments defending the language used?
I don't care much about the language used. I neither intend to defend it nor criticize it. But I do care about people trying to be morality police. That's why I am spending multiple comments here.
> It feels like there’s a reason you refuse to define your line in the sand.
Yes, the reason is that my line applies to myself. My line doesn't apply to you. It doesn't apply to Andrew. So my line, which is a personal and private matter for me, isn't something I want to share here. It is irrelevant when talking about the words Andrew chose on his website. That's the reason. It's a simple reason. Don't overthink it!
> Is a racist screed acceptable to you as long as the following paragraph references technical issues correctly?
I'm not the morality police. Nobody should be. I'd still take the article on its technical merits. As a random example, if Satoshi's paper called people using the banking system cattle, I'd still continue reading it.
> Imagine how you would feel if you were the person who wrote this code, and now you are being called a monkey in front of thousands of people on the internet
It would be absolutely fine, nobody is named specifically. He wasn't like Josh Examplemann working on Actions is a piece of shit that botches any feature he touches. Nobody is going to remember a blog post and forever hold anyone that worked on Actions to an unhirable status. And personally, I think it would be good for people to feel some shame for having implemented a feature in such a terrible way. It's not like they were told by their managers to commit these the way that they did. Calling into the sleep binary wouldn't even be more work.
Whoever is behind the new React Start Menu in Windows
along with whoever is responsible for the Chrome Web Environment Integrity
along with whoever is behind the design of OSX Tahoe
along with anyone who is working on Windows Copilot that screenshots your screen
should be ashamed of themselves. The more articles that do that, the better. They are not doing good.
Most web application servers work this way. It also works really well in practice using modern CD tools - update your configuration and perform a gradual rollout of all your application servers to reflect the updated configuration.
people will argue crazy sht here on HN like changing schedule is a thing* that needs instant gratification and god forbid you have to bounce a service to read an updated configuration … :)
They are different things, so it makes sense to have two different terms to describe two different (but related) ideas. Your example interview question doesn't make much sense to me, though.
Either way, people have options now. If one doesn't like the compromises of the thin phone, they can buy the thick phone. Seems silly to complain about the thinness if you're not the target demographic.
I find Silksong to be easier than at least Cuphead and Super Meat Boy, but I could totally see how one who isn't experienced with platformers may find it frustratingly challenging.