jpollock
Think embezzlement. Think someone with a political agenda who changes the homepage on the way out the door.
Having a single point of control is asking for trouble.
As housing appreciates, the mill rate will decrease, leaving the tax burden unchanged.
It encourages people to participate in local elections because the budget sets the mill rate, and the council sets the budget.
Canada's rights are in the Charter of Rights and Freedoms, and they aren't absolute.
Part 1, Section 1.
The Canadian Charter of Rights and Freedoms guarantees the rights and freedoms set out in it subject only to such reasonable limits prescribed by law as can be demonstrably justified in a free and democratic society.
Subject to that, we get Section 2.
Everyone has the following fundamental freedoms:
(a) freedom of conscience and religion;
(b) freedom of thought, belief, opinion and expression, including freedom of the press and other media of communication;
(c) freedom of peaceful assembly; and
(d) freedom of association.
They have been moving both themselves and their family offices.
https://ca.finance.yahoo.com/news/google-cofounders-sergey-b...
Once the money moves, it won't come back to where it can be grabbed.
That's why the USA has exit taxes when giving up green cards and citizenship.
Any project that takes 2 weeks effort and lasts years (since it doesn't say how many, I read it as 3-5) delivering value is a win. That it needed to be thrown away? That's a couple of people out sick.
You can place LFENCE(x86)/CSDB(arm) around code blocks, but you can do that in C too.
Otherwise, you're going to get bit by the Law of Leaky Abstractions.
The number of times I've been bit by systems not adhering to interfaces? Yeah, that's pretty frequent.
For example (from personal experience), the interface allows for race conditions, it's obvious they can happen (distributed systems), but the implementation didn't allow them, resulting in fun times.
High trust is high trust until someone exploits it, and the likelihood of encountering an exploit (embezzlement, fraud, political speech, etc.) approaches 100 as the total number of staff hours increase.
Otherwise, you're the only one who can fix your code, and becomes a whole bus factor thing.
https://github.com/dwmkerr/hacker-laws#kernighans-law
"Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?"
SOX requires code review by a second party. If the reviews are automated, the development process isn't in compliance and that can get expensive in a hurry.
It's about the cognitive load and having to follow branches.
The second version minimizes the cyclomatic complexity, taking it to 1. The reader doesn't have to keep the if statement in mind when reading through the code, and doesn't have to worry about all the ways the code can get there if they want to modify it (e.g. to add logging, metrics, other logic).
Whether or not consume should be a separate function depends on how often it's called. Here, I'm guessing it's once. :)
Probably didn't work. Remembered though.
If the company is using Common Lisp, do you have the 6-12 months to wait for them to ramp up, or do you hire someone who has done Lisp before? That is downstream from the technical decision to use Common Lisp, but it is a huge business impact.
Even bus-factor comes into it.
"Programmers" don't make this decision, the product owner does.
As long as event orderings are unimportant, or self resolvable this works really well.
e.g. if Events A,B arrive, but A+B => C and B+A => C, then as long as you durably record A, B, the end state is the same.
I'm not sure why "reroute" is a message instead of a response, I would expect it to be a failure response pruning the control flow. With the GTR being "default retry".
There's a lot of learned experience in that doc. Reading between the lines, both the logging and configuration systems have caused global outages (or near misses). Nifty to read.
This style of architecture fits with a "no global changes" and "never lose it all" approach to fault tolerance, accepting that there will be visits from "Mr. Cock-up" [1].
Very nice writeup.
RTT from Hyderabad to the East Coast USA is ~300ms.
Then you have execution and database retrieval.
I was able to see why it got confused at the start, attempt to confirm, fail, and then calculate from the data and come to the opposite conclusion.