Doesn't it also make sense in the context of modern networking assumptions?
I've never had to connect to PostGres in an adversarial environment. I've been at work or at home and I connected to PostGres instances owned by me or my employer. If I tried to connect to my work instance from a coffee shop, the first thing I'd do would be to log in to a VPN. That's your multiplexed protocol layer right there: the security happens at the network layer and your cancel happens at the application layer.
This is a different situation from websites. I connect to websites owned by third parties all the time, and I want my communication there to be encrypted at the application layer.
Zero trust security which is becoming increasingly common is based on removing the internal / external network dichotomy entirely. Everything should be assumed to be reachable from the open internet (so SSO, OIDC everywhere.)
It makes me think of ipsec, ipsec was originally intended to be used sort of the the same as we use tls today, but application independent. when making a connection to a random remote machine the os would see if it could spool up a ipsec sa. No changes to a user program would be needed. But while they were faffing about trying to overcomplicate ipsec ssl came along and stole it's lunch money.
This application of ipsec was never used and barely implemented. Today getting it to make ad-hoc connections is a tricky untested edge case and ipsec was regulated to dedicated tunnels. Where everyone hates it because it is too tricky to get the parameters aligned.
There is definitely a case to be made that it is right and proper that secure connections are handled in the application(tls), But sometimes I like to think of how it could have been. where all applications get a secure connection whether they want one or not.
As a useless dangling side thought, an additional piece would be needed for ad-hoc ipsec that as far as I know was never implemented, a way to notify the OS that this connection must be encrypted(a socket option? SO_ENC?). This is most of the case for encrypted connections being the duty of the application.
Who said anything about instantly teleporting? Uber could cut the cost in money to 0 but still operate cars which are bound by the laws of physics and the rules of the road.
Maybe returnInfinity already spends 12 hours a day in Ubers, or otherwise has them satisfy all his transportation needs, and couldn't usefully double his usage of them.
It's impossible for them to cut the cost to 0 (without using magic), but that doesn't make it impossible for us to talk about what the cost being 0 would involve. Travel time is one of the costs you pay for Uber's service. That you don't pay it to Uber doesn't matter. If Uber reduced that cost to 0, you would use Uber a lot more.
I don't understand your point. Are you saying that it's possible to get adequate training on a real ship, and using the fact that you managed to do it as an example?
Of course it's possible to train on a real ship. But the sailors who trained on models have certain specific experience that you will hope never to get. As for the things you experienced and they didn't, they can catch up with those during their first year on a real ship.
These small models won’t train you in maneuvering skills directly, but rather in how to think about maneuvering and the mindset you need in traffic. A sim or a real ship gives you actual maneuvering skills in addition to that experience. You could sit in a classroom with models of ships of a desk and get the same experience as this place, in my opinion as someone who did this work. Obviously you don’t want to crash a real ship, but you don’t want to be crashing sims either.
In this incarnation, the only one who "wants" red to win is the first column. Every other column will choose whatever color it wants to win, subject to the rules of the game.
It's a 2 step process:
1. Prepare - Collect a majority of rows such that each of them promises not to accept any color sent by columns to the left of the proposing column. Any colors which were already accepted are sent in reply, along with the column they were accepted in (if different colors were accepted, only the rightmost column for a given row matters). The color to be propagated by the proposer is that with the rightmost column number (or if none were accepted by that particular majority, anything may be selected)
2. Accept - for every row, set the color to the one chosen in step one for the proposing column, subject to the promises made in step 1.
In this case, it's not shown well in the diagram, but by having a majority of rows promise for column 2, column 1 would already have a broken majority. Even if column 4 wanted red, since it received some already accepted colors, it has to choose from one of them based on the rightmost column (blue in this case)
It's a Pascal's wager. If you're convinced Armageddon is going to happen at some point, then you should do all you can to prepare for it happening in your lifetime. And that approach is explicitly encouraged in the Bible: "You do not know the day or hour", etc.
Right "you do not know the day or the hour", not "you know that the day will be sometime between 2026 and 2076". I understand being prepared and whatnot. I don't understand the certainty of the date. Even the Bible says that it's unknown.
China does it well. You can't get unemployment benefit, but if you can turn up for work sober every day and are prepared to do menial work, you are guaranteed a job.
Chinese cities are clean and tidy, not because people don't litter - they litter much worse than Americans or Europeans, from what I've seen - but because someone is paid to clean up the litter.
If you're interviewing at Google, the expected answer to the interview question can't be to use Google's internal tools. "Use Postgres" is the standardized, understandable answer for anyone outside Google who needs to solve Postgres-shaped and Postgres-sized problems.
No, that can't be the expected answer. And indeed, use Postgres was an accepted answer.
But when the interviewer keeps pushing back, that's an invitation for the candidate to ask why, and ask what about the environment might make that not a good fit within Google. Doing that gives a stronger hire signal.
FWIW, that was the second time I interviewed at Google. The first time, which resulted in strong yes across the board at L7, the first system design was to design Youtube Video Upload. The second was a more practical problem about replacing a high-volume logging component where correctness was critical but environment was space-constrained (i.e. no ability to run old + new in parallel).
Those were my favorite system design rounds ever, thanks to the problems being interesting and the interviewers also being very dynamic. It was also pre-Covid, so it was just awesome whiteboard design sessions.
> Part of the issue is that somehow you can buy just the "assets" half of a company and ignore the "liabilities" portion.
You really can't and they didn't.
If Brewdog has creditors who lent it money or suppliers who are waiting on payment, then they will be getting paid as part of the deal or they will have agreed to a restructuring, up as far as being offered first refusal on the company's assets.
Brewdog's existing management could have made the exact same closures without selling the company.
If retail investors lost out here, it's because they were overly optimistic in the first place, or just unlucky, not because they're getting cheated in this deal. You can tell this because the institutional investors are also getting nothing out of it.
I've never had to connect to PostGres in an adversarial environment. I've been at work or at home and I connected to PostGres instances owned by me or my employer. If I tried to connect to my work instance from a coffee shop, the first thing I'd do would be to log in to a VPN. That's your multiplexed protocol layer right there: the security happens at the network layer and your cancel happens at the application layer.
This is a different situation from websites. I connect to websites owned by third parties all the time, and I want my communication there to be encrypted at the application layer.
reply