The glorious state of California has the highest taxes in the nation and is the home of the tech industry. If wealth isn't trickling down, it's because it is being wasted.
Reading Hacker News, I get the impression that tech startups are the only sector of our capitalist economy that has transcended the profit motive and is apparently serving a higher cause.
In my small corner of numerical computing, pretty much every name I know on the east coast who doesn't hold a university position has moved to Yahoo Research in recent years. So at least their research lab does not seem to experience a brain drain.
I can't see how arXiv helps with the outlined problems. The goal of publishing is getting a stamp of approval from your peers, which you can then bring to hiring or promotions committees to buttress your case. Arxiv merely helps you put your paper online, which I would argue is a trivial problem (and has been so since the personal university homepage was invented).
S3QL may be a good fit for your needs. It's a FUSE filesystem for S3 that supports encrypted dedup snapshots. You can do backups by rsyncing your current state into the filesystem and snapshotting it. I considered using it for my backups but ended up choosing Attic, so I can't say how well it works in practice.
As a tangent, I was appalled to read that Stanford undergrads can major in "management science". What happened to the high academic standards for which Stanford is famous?
It takes the groups and arranges them as the columns of a table. Whereas groupby allows you to operate on this table in the vertical direction, the full pivot table allows you to also operate on it horizontally.
Yes, but the second half dealing with iterative algorithms is pretty much useless, especially the chapter on conjugate gradients which is the one most relevant here. There isn't really a book that offers as easy an intro to iterative algorithms as Trefthen does for direct ones. In this case I would recommend to fall back on trusty old Golub and Van Loan (recently released in a new edition).
Initially when you start with C++11 you get the impression that the old heap of idiosyncrasies was fixed, but then you realize there's a whole bunch of new ones. My most recent peeves:
1) You can create range for loops over containers:
for (auto x: vec) {
foo(x);
}
but then if you want to do the same over a C array, you have to define your own wrapper with begin() and end() functions.
2. You can create shared pointers using make_shared, but you can't create unique pointers using make_unique. What's worse, if you define your own make_unique function, your code will eventually break because it's already decided that C++14 will have its own make_unique.
I'm sure all of this will get fixed eventually, but frankly I don't have more patience for this. The root cause is that the C++ process is broken and is lead by incompetent clueless people.
Exceptions are kind of like gotos, but worse, because the jump target is decided at runtime based on the state of the call stack and therefore cannot be determined just by looking at the code. So they're more like comefroms [0] than gotos.
Once your language allows you to use MKL and its equivalents, your code will use every arithmetic unit of the CPU in almost every cycle and therefore performance-wise there is no difference which language it is. So it's all down to which language offers you better library support and nicer syntax.
No matter which language you use, you will not beat Intel MKL because that code is optimized by Intel specifically for each architecture. Precisely because automatic optimization by compilers is not good enough. These comparisons are completely irrelevant. Incidentally, this also shows why pursuing the goal of a "fast" numerical computing language is a waste of time: the speed derives from using the appropriate hardware vendor libraries, not from the language runtime.
Established scientists stop producing groundbreaking results because of tenure. Once you have tenure, the biggest incentive to work hard goes away; it's simple economics. (Hence "mathematics is a young man's game".)
There is a point of view that says that computer science conferences exist for the purpose of gaming the tenure system. The name of the game is plausible deniability: you're not supposed to submit papers that contain known false claims, but everything else is fair game. And this has become such an integral part of the culture that technical correctness is no longer a necessary condition for accepting a paper [1]. I think in this light it's quite clear why many scientists are happy to leave their papers hidden behind the ACM paywall.
The fact that 10x as many people train to be scientists as those who become scientists only shows how attractive academia careers are. I like to compare this to sports. Only three people in the world get an Olympic medal once every four years in each discipline, while everyone else spends most of their childhood and youth in arduous training with nothing to show for it.
Not much to elaborate. You're told to bring a stack of documents if you have a scientific or technical background, such as CV, a list of publications, an invitation letter from your US host, a letter from your university etc. If the embassy official isn't satisfied, you are asked to send more documents to a state.gov email address. On one occasion they wanted more information about my work as a programmer before I started my PhD. When they asked me for more documents I was tempted to joke that it doesn't matter what address I use, the email will reach the required destination anyway.
Scientists specifically are targeted for extra scrutiny. In my visa interview I was asked if my research is in cryptography and waved through when I said it isn't.