996 karma · joined April 4, 2014
[0] https://en.wikipedia.org/wiki/Bog_iron
[1] http://www.hurstwic.org/history/articles/manufacturing/text/...
> The European Union lifted its own ban on Indian mangos this summer, but does not approve of irradiation treatment. Mangos destined for Europe are instead submerged in water at 48 degrees Celsius.
[0] https://www.amazon.ca/Specifying-Systems-Language-Hardware-E...
The claim is that, once a leader is elected (ie. Q1), is no longer necessary to attain a majority quorum for actually accepting writes (ie. Q2). A minority quorum can accept writes, provided the minority contains at least one node that participated in the leader election. By increasing the leader election quorum number to higher than N/2+1 (as to have a sufficient number of nodes that participated in the Q1 election), the cluster can then operate much faster because writes require only minority quorum. The drawback is that it no longer tolerates N/2-1 failures, as N/2-1 failures leaves too few electors to choose a new leader in Q1.
NB. the Paxos terminology uses terms like 'decide a value', but practically in clusters this is equivalent to 'accept writes' so I used that instead for easier comprehension.
- FxCop https://en.wikipedia.org/wiki/FxCop
- Prefast https://msdn.microsoft.com/en-us/library/d3bbz7tz.aspx
- Code Analysis Check-In policies https://msdn.microsoft.com/en-us/library/ms182075.aspx
There are more tools like these and at the time I left there were still more popping up. I hated StyleCop, the Tabs vs. Spaces Sillicon Valley episode is very relevant for my relation with StyleCop...
New code on the other hand is usually required to pass all static analysis without introducing new warnings, and is often enforced by automated code review (bots that runs static analysis will mark the code review and it will not be possible to check it in).
From time to time some teams form to work on fixing static analysis code warnings on old code, but is not a high priority. Of course a public PR event like the OP may trigger some action, is going to be up to the individual team priorities, policy, schedule, workload etc.
This may sound like laziness or carelessness, but these are good engineers with plenty of experience that are capable of judging risk vs. benefits. If the code was like this for years and no actual bug was reported, is not always worth modifying it. Eric Lippert has a nice blog about How many Microsoft employees does it take to change a lightbulb? [0] and why some of these 'trivial' changes for a small project add up to a risky change at MS scale.
- [0] https://blogs.msdn.microsoft.com/ericlippert/2003/10/28/how-...
- https://news.ycombinator.com/item?id=1626305 (115 comments, 2193 days ago)
- https://news.ycombinator.com/item?id=2393587 (68 comments, 1972 days ago)
- https://news.ycombinator.com/item?id=2860759 (43 comments, 1842 days ago)
I'm sure there are more.
Interestingly enough, in this book I've learned about yet another meaning of the term 'process' (ie. a prominence or projection, as from a bone), when I realized what it means in the context I had to go back some 20 pages and read again :)
[0] https://www.amazon.com/Gaining-Ground-Second-Evolution-Tetra...
BBC went with 400 in the title :) [0]
[0] http://stackoverflow.com/questions/6841333/why-is-subtractin...
I was not familiar with cockoo filters (I am familiar with cockoo hash though), using them as a 'better bloom' seems to be a relatively new development. A quick googling found 'Cuckoo Filter: Practically Better Than Bloom' [https://www.cs.cmu.edu/~dga/papers/cuckoo-conext2014.pdf].
Indeed, WriteFileGather and ReadFileScatter are specifically tailored for writing from and reading into the buffer pull. The IO unit is the sequential layout of an extent (8 pages of 8Kb each), but in memory pages are not sequential so they have to be 'scattered' at read and 'gathered' at write.
You also have to keep in mind that the entire IO stack, Windows and SQL Server, was designed in the days of spinning media where sequential vs. random access was ~80x faster. SSD media has very different behavior and I'm not sure the typical 'journaling' IO pattern is capable of driving it to the upper bound of physical speed.
As a side note, I was close some folk that worked on ALOJA http://hadoop.bsc.es/ and it was a very interesting discussion I had with them: the default configuration for Java/Hadoop was providing, out of the box, the best IO performance on Linux. Same configuration was a disaster on Windows and basically every parameter had to be 'tuned' to achieve decent performance. This paper has some of their conclusions: https://www.bscmsrc.eu/sites/default/files/bsc-msr_aloja.pdf
https://en.wikipedia.org/wiki/Vera_Rubin#Galaxy_rotation_pro...
I used to have an RS-232 cable in my office, for Kernel debugging. Before VM prevalence the debugged and the debugee would be two physical machines, linked with a physical cable over their COM ports. Once the VPC/VirtualServer came out with COM redirect and the debugger support for it, I never looked back.
Ideally this sort of platform import should be automated so that Win32 specific apps could import the more advanced GUI stuff (comdlg et all).
/**
* WholeStageCodegen compile a subtree of plans that support codegen together into single Java
* function.
*
* Here is the call graph of to generate Java source (plan A support codegen, but plan B does not):
*
* WholeStageCodegen Plan A FakeInput Plan B
* =========================================================================
*
* -> execute()
* |
* doExecute() ---------> inputRDDs() -------> inputRDDs() ------> execute()
* |
* +-----------------> produce()
* |
* doProduce() -------> produce()
* |
* doProduce()
* |
* doConsume() <--------- consume()
* |
* doConsume() <-------- consume()
*
* SparkPlan A should override doProduce() and doConsume().
*
* doCodeGen() will create a CodeGenContext, which will hold a list of variables for input,
* used to generated code for BoundReference.
*/
[0] https://issues.apache.org/jira/browse/SPARK-12795
[1] https://github.com/apache/spark/blob/0e70fd61b4bc92bd744fc44...[0] https://www.amazon.com/Transaction-Processing-Concepts-Techn...