1,230 karma · joined September 30, 2007
https://trino.io/
https://www.linkedin.com/in/electrum
Here's an older article that explains the relationship: https://venturebeat.com/2014/01/29/facebook-quanta/
It is not worthless as a deterrent to the CA. Proof of a fraudulently issued certificate are grounds to permanently distrust the CA. So, yes, they can do it, but hopefully only once.
In general, IntelliJ has a lot of features that feel like magic (likely a pile of smart heuristics that have been added over the years).
https://github.com/facebook/zstd/commit/4f73b3b55d83b082aad1...
If you have an array of these, each element in the array will be a reference/pointer to a separately allocated Point instance which can be anywhere in the heap. Accessing the array is expensive due to lack of locality (arbitrary memory access). Additionally, each instance has substantial object overhead (typically 8 or 16 bytes).
There are various ways to deal with this. One way is to have separate arrays for x and y. Another way is to use a byte array and use Unsafe to read/write the integers. This is terrible from a developer standpoint and is only acceptable if it is a small part of your application.
Value types solve this by giving you an efficient memory layout while still allowing you to code against them as normal. The slogan is "codes like a class, works like an int".
Special care must be taken if threads are manipulating shared data structures, especially inside a "critical section" where the data structure invariants must be maintained. This is why automatically terminating the JVM when OutOfMemoryError occurs is a best practice, as code is often not paranoid enough to handle it.
I'm one of the original authors of Presto, a distributed SQL engine for analytics on big data. From the beginning, we've been careful to follow the SQL standard and do everything possible to either return the correct answer or fail the query. For example, an addition or sum aggregation on an integer will fail on overflow rather than silently wrapping.
Returning an incorrect answer or silently corrupting your data is the worst thing a database can do.
[1] https://code.facebook.com/posts/843620439027582/facebook-ope... [2] https://github.com/facebook/fboss
> "Somewhere between the janitor and the CEO, reasons stop mattering," says Jobs, adding, that Rubicon is "crossed when you become a VP."
> In other words, you have no excuse for failure. You are now responsible for any mistakes that happen, and it doesn't matter what you say.
http://www.businessinsider.com/steve-jobs-on-the-difference-...
./script \
192.168.1.1 \
192.168.1.2 \
192.168.1.3 \
...MyRocks itself definitely has transactions. As the wiki explains, it uses snapshots (MVCC) for transaction isolation.
Presto is a distributed SQL query engine for big data, so basically the complete opposite of SQLite, though it often gets used in federation scenarios, as does SQLite.
An interesting anecdote is that the team working on what would become osquery (https://osquery.io/) asked if they could reuse the SQL parser from Presto. We get that question a lot, and after explaining that the parser is the easy part (semantic analysis and execution is the real work), I determined that what they really wanted were SQLite virtual tables: https://sqlite.org/vtab.html (and those worked out great for them)