It's a little strange to me that otherwise experienced people feel the need to "study" for Google interviews.
To me, this seems less like they're selecting for good engineers and more like they're just selecting for people who really want Google on their resume.
The article goes on to mention that it likely developed gradually over several generations. The first kids with the mutation would have never been taught recursive language by adults. Instead, they probably developed some semblance of it from speaking with siblings/cousins their age. While this would be pretty weak, it probably gave them enough of an advantage over others.
Once they themselves had kids they would be able to teach them their imperfect version of recursive language. This probably continued and amplified over generations.
It's a pretty interesting case of nature and nurture combining. The mutation is a prerequisite, but largely useless unless there's enough "nurture" happening during the critical period.
They have, but they had fallen way out of favor for a couple of reasons - write amplification, cost/complexity of segment cleaning, poor performance for some workloads, etc. They've experienced a bit of a resurgence thanks to flash and SMR, though. Personally, I've always thought log-structured filesystems were elegant and wish they'd been more actively developed during the long "winter" during which their COW/write-anywhere cousins stole all the limelight.
Was hoping there are more research attempt at the Log Structured FS. For example,
- Borrow some ideas from generational garbage collection. Young generation in SSD (or mirrored in RAM) with copying GC to get rid of old versions of fast changing data blocks.
- Utilize some deduplication techniques with content based signature.
I think elements of that generationality are the foundations of the Log Structured Merge Trees used by KV Stores like LevelDB and RocksDB. Atleast I think that's the same concept, I'm not well read on filesystems.
Yes, LSMT is a good example of pushing the idea of a hybrid append log and in memory data structure further.
However, LSMT is for relatively smaller data set, i.e. ordered key-value. It has worse write amplification than a simple append log. The level-0 memtable flushed to the write-ahead-log counts as one write. Writing to the level-1 sorted files counts as 2nd write. Merging the sorted files counts as 3rd write. There're 2~3 writes per change.
Also it doesn't offer help to address the frequent update block problem. All versions of a data change are written to disk. A merge is needed to get rid of the old versions.
But it has a number of good implementation ideas that can be borrowed.
> Most people do not have the resources to lobby for that sort of tax system.
EVERY argument about what is "morally right" w.r.t. paying taxes is a matter of perspective. To you, what Amazon is doing is immoral. To someone worse off than you, what you do routinely on your taxes (deducting mortgage interest, student loan interest, etc.) is immoral.
> Lobbying is not the problem, the problem is the system that allows itself to be lobbied.
The problem is both. It is a problem that people lobby for selfish policies that ignore the needs of others, and it is a problem that the system sometimes listens to them.
It seems that every few years a new backend language comes to the forefront and becomes a popular for greenfield projects or rewrites. First people moved from PHP to Ruby, then Node, and now Go.
Of course, Go's popularity is helped a great deal by Google using it, as well as the huge amount of devops software written in Go (docker, terraform, kubernetes). But at some point the hype for those will settle and they'll just become more tools. At the same time there'll be more and more legacy Go projects at various companies that won't be very exciting. Around about this time we'll probably see the next language start rising in popularity.
To me, this seems less like they're selecting for good engineers and more like they're just selecting for people who really want Google on their resume.