896 karma · joined July 12, 2016
One of the things Windows will do is first lay out the work to revert all changes in that happens (across potentially thousands of files). It also need to flush them to disk (very slow, even on SSD) and then perform in a manner that would survive all sorts of failures.
That is pretty expensive.
How many passpharses would be: "in god we trust" or "I love you". Figure out song titles and book titles, and you have a great list to check.
See also: https://jbonneau.com/doc/BS12-USEC-passphrase_linguistics.pd...
But that just tells us where the root certs are, not much more. In the API, I load the root CAs and check validity of the cert, nothing beyond that.
And I can do that in multiple different TLS engines.
Given that there is no API for this, all the TLS engines need to re-implement this logic. Hell, in most cases, even things like validity range checks are handled by the applicative logic.
On Windows, there is the builtin TLS API `schannel` which means that you have a lot more structure / order in this. Including the ability to express those sort of details.
There is another aspect, as well. You need to be able to express those issues as errors, otherwise the user is going to be left with a broken box and no idea what is going on.
Second, it has a `O(N)` performance on inserts.
This is beyond unexpected for something that is supposed to be a queue.
A quick look shows how this is done: https://github.com/tigerbeetledb/tigerbeetle/blob/91a105875c...
You can see things like alloc / free, memory ownership, and everything that is associated with it.
The fact that you allocate from a startup buffer vs. a call to `mmap`/`brk` doesn't really change things.
Technically speaking, the lease terms are 49 / 98 years. The problem is that when you reach the end of the lease, there is no real possibility of _not_ extending the lease. And the lease is for the _land_, not anything on top of that.
So it "sounds" nice, but in practical terms, it just adds another body that you have to go through.
From economic perspective, there is very little difference between the two. A bank will give you a mortgage to buy a house whose "land lease" expire next year, for example. Because there is no possibility of that not being extended.
There is _slight_ advantage to buying houses not leased, but mostly because that means somewhat less paperwork to go through.
And what do you think the US reaction to something like that would be?
The fact that this was handled on such short notice is a huge problem, but who is going to want to invest in another Google technology with such a risk?
See also, trusting Microsoft with a new UI technology and how their reputation in this area is really bad.
I have run 500+ req/sec on a raspberry pi using 4 TB dataset with 2 GB of RAM, with under 100ms for the 99.99 percentile
A few hundreds req a second is basically nothing.
Assume you rent a GPU to do PoW mining, using a stolen credit card, they can't charge you, but you have your coins and can disappear
Because it push you toward everything as async by default
I can easily imagine node.js implemented on top of that, for example
The move to async in modern languages also supports that very well
Note that this has major impact globally, not just for the IO portions of the system
In a way, this is function coloring all over again
For example, social security payments. Pension plans, etc.
A simple example, Israel has mandatory pension plan requirement for all employees. If you are working remotely in Israel "as if in the US", you are now opened to a whole bunch of interesting questions. Employer isn't aware of that, in this scenario, so isn't paying the pension.
That creates:
* criminal liability for the company * criminal liability for the management team personally * the company is assumed to be "self-insured" and basically has to act as the pension provider for the employee.
You fall down and become invalid at the age of 27? The pension insurance will pay for that. Which is basically the company. Then you have to pay 60+ years of pension payments to that employee.
And that is _one_ aspect of this issue.
Others are related to laws. What is the minimum wage? How do you compute the allowable number of hours and overtime pay?
For fun, let's say that you are working for a few years in this mode. The employee then sues the company for overtime pay (200%) because that is the law where they are working.
Firing someone, also, is a totally different process across jurisdictions. In Israel, you have to pay a month's salary for every year that the employee worked for you (based on the last 3 - 6 months).
You have to fire a senior guy that worked for you for 6 years? Prepare to pay immediately a big chunk of money. Also, have fun with _another_ criminal liability (for the company & leadership) because you didn't pay insurance for this scenario.
The company in this question is going to be absolutely against this sort of exposure.
For that matter, it isn't even legal only that is going to object. If you are a public company, you need to put things like "liabilities in case we have to fire people" in the balance sheet. The CPA is going to have a field day with all those undisclosed issues.
And it is likely to be very obvious and public.
You will crash the market, so can't really do that multiple times.
And if you can Crack this there are better targets
Because otherwise, it would make sense to just bounce the node entirely and let it build itself from the replicas.
As a database guy, the number of edge cases inherent in this model is pretty scary. I can think of several scenarios where this is really bad for your system:
* persistent data going back in time (lost the SSD, so you reload from network) * inconsistent view of the data - you wrote two pages in a related transaction. One of them is corrupted, you recover older version from the network.
That is likely to violate a lot of internal assumptions.
It also complicate illegal activities in general.
The idea isn't that your typical criminal will say: "I'm okay with dealing drugs, but the law about 6K NIS is where I draw the line".
The idea is that once they get the money in cash, they have a problem actually using that. So they have to go into addition hurdles.
Basically, it makes illegal activities more expensive.
Also, that only holds up until someone actually looks at you.
https://ravendb.net/learn/inside-ravendb-book/reader/4.0/9-q...
It is able to do so without harming production performance.
See: https://ravendb.net/learn/inside-ravendb-book/reader/4.0/9-q...
Right now, no idea what this is for
See: https://www.phoronix.com/scan.php?page=article&item=3-years-...
https://hardware.slashdot.org/story/01/01/25/1343218/directv...