Source: my day job
3,127 karma · joined October 6, 2012
Source: my day job
Why do people contribute to projects like Linux or LLVM without getting paid for it? (Of course lots of them get paid to do this, but many are not.) It's not exactly easy calories for a caged lion, the way Graham describes a corporate job taken by recent college grads. Instead, people choose to work in these large groups because they want to make an impact. You can instead contribute to TinyCC or MenuetOS - smaller team, less impact. Are Linux or LLVM uninspiring? Were they only inspiring when they were too small for most of their current practical uses?
If productivity is concentrated in small companies - or companies of size X - why aren't companies of this size drive the other companies out of business? I think that market realities point in the direction of there being economies of scale and diseconomies of scale, without a single one-size-fits-all procedure for determining the optimal firm size for any particular endeavor.
Now what could be a great improvement is a cat flap identifying your cat(s) and letting them in based on computer vision, instead of relying on implants. I'd pay good money for it, provided that it worked in all weather conditions and all cat conditions (a wet and dirty cat needs to get in even more than a dry and clean one but I expect false negatives in these scenarios.)
The same applies to the lawyer's experience. If you're an individual inventor, you're gonna look for the lawyer with the best experience and the law firm with the best price (and IMO you're right in that the $1000/hour lawyers aren't necessarily the best for you.) If you work for a company, someone will find a lawyer to deal with your stuff and the lawyer will behave very confidently, in a "business as usual" kind of manner, when you explain them the basics and they keep not getting it, and you might naturally assume that's how things are supposed to work, when instead what you should do is push back against whoever set you up with this lawyer and insist on getting one with relevant experience.
8 out of 10 Germans losses were inflicted by the Soviet Army; the USSR didn't rank high on democracy or market freedom but it had no choice but fight Germany, whereas the US could afford to choose the extent of engagement and let the USSR (and Britain) bleed while inflicting losses on Germany. This is not to say that the US policy wasn't sensible for the US, just that WWII is not a clear testament to the latent strengths of democracies and free markets at waging war.
And on the point of democracy specifically, in "The Gathering Storm," Churchill nearly pins the breakout of WWII on the inherent difficulty of conducting sensible foreign policy under democracy (both in the case of the badly designed peace treaties at the end of WWI, and in the case of subsequent appeasement of Nazi Germany.)
I wouldn't want to live where they don't have democracy or a reasonably free market, but neither is a reliable device to either prevent or win a world war.
I suspect this might not be my most popular comment, but I honestly think that this is why tab users might actually make less than space users on average. On average, it's more productive to enforce things than leave everything configurable, thus different everywhere, thus harder to make sense of and debug. I knew brilliant people who don't want to "enforce" and decide and dim people who happily enforced and decided and it's always amazing how badly the former do career-wise relatively to their talent and effort, and how well the latter do relatively to theirs.
(Of course there might be another explanation for the data and I don't claim that my just so story is in any way scientific; though I think it should pass as a scientific theory in the social sciences.)
I've developed automated debugging tools, I debugged hundreds and hundreds of rare, irreproducible bugs or just bugs that are hard to figure out, I found things like memory ordering bugs in others' concurrent code just by eyeballing it because the bug was too rare to wait for it to reproduce, I debugged concurrent code on multicore chips without memory coherence, on faulty hardware, etc. You're entitled to your own opinion about what "the hard part" is, but I'm likewise entitled to mine, and I think rr is awesome and I disagree with you on every point.
This is a huge deal. While I prefer the Cilk approach (automated debugging pinpointing places which can theoretically execute non-deterministically), it's not always applicable and isn't always or even often applied where applicable. This is definitely the next best thing, and in absolute terms, it's pretty damn good.
It'd require somewhat more ISA & compiler changes but it'd solve more problems that just the one problem they solve, and I think the security of this would be easier to demonstrate, too.
I don't get the energy point. The machine has no health care costs and can play 24/7. Doesn't that count for something?
But your wish will come true. Go isn't a special snowflake. If you have an objective metric of success in a formal universe machines always win.
It does not follow from not valuing some people more than others that free movement would benefit any of these people; IMO part of a "moral" position involves trying to guess the likely consequences of things in the real world. An argument that people from different cultures don't get along very well, particularly when there's a large and sudden change in the numbers of one of the groups, is not antithetical to your position of valuing people equally; the only point of disagreement is wrt likely outcomes.
A wealth tax isn't unimplementable because of political will but because a lot of assets are illiquid, hard to price, easy to hide, easy to move to another country (hence the call for a global tax, but what if a few countries defect?) or a combination.
As to approaches: "the left" if there is such a thing successfully campaigned for a full confiscation of property, a 100÷ wealth tax if you like, in huge chunks of the world - I don't see a weakness in persuasive ability there. Wasn't a great idea though. A smaller wealth tax is a better idea, but still not great. Baker who one can agree or disagree with has better policy ideas, or at least better thought-out and consistent ones IMO.
* Piketty's data is correct
* him collecting it was a harder feat than one might think
* attributing r>g to some unchangeable nature of capitalism is wrong because "capitalism is infinitely malleable" (every market is regulated somehow, things change a lot depending for instance on whether you do or don't have patents)
* Piketty's policy prescription (a global wealth tax) is unimplementable and harmful in the sense of getting all the attention instead of people focusing on his correct assessment that r>g and then on realistically implementable policies which could change this.
But in the general case where some objects are short-lived and others aren't, surely manually splitting your allocations to malloc for long-lived ones and some sort of arena_alloc for short-lived ones ought to be faster than allocating them all in one place, then copying the ones which are still reachable out of the area reserved for short-lived objects?
(This is not to say a GC-based system will be slower "on average" because nobody knows what the "average" is. A realistic arena-based system can have objects most of which are short-lived but some do need to live longer and you only find out long after they're allocated; in that case, one has to manually reallocate those objects just like a GC would, and doing it, say, the C++ way is definitely more bug-prone than GC's bug-free handling of this, and one way to make it less bug-prone in C++ is to have deeper copies and avoid trying to minimize copying, and now you might easily be slower than a GC. I'm just saying that it's very easy to find a case when a system not getting any hints from the programmer wrt object lifecycles and instead discovering them fully automatically would be slower than a system which does get these hints. And of course a GC can provide ways to supply these hints, I'm just not aware of one which does - perhaps it's avoided on the theory that the GC algorithm might change and you don't want to make hints which operate in terms not portable between algorithms a part of your interface.)