It explains in terms a computer scientist can understand. As in: it sets out a computational model and explores it, regardless whether we can physically realize that machine.
Hope this helps!
641 karma · joined August 11, 2011
I developed the original curriculum, taught the course, and trained several hundred students who subsequently became software engineers. It was very fun, and a privilege to work with so many talented and highly motivated students.
If you want to reach me, my email is ruggeri@self-loop.com.
It explains in terms a computer scientist can understand. As in: it sets out a computational model and explores it, regardless whether we can physically realize that machine.
Hope this helps!
https://www.nytimes.com/2017/05/09/nyregion/price-of-a-parki...
To flip the scenario: How would you feel if Jack Ma had bought Yosemite in 1991, set up the valley as a private retreat, lived down in the Ahwahnee until his death, and had his widow donate it to the federal government?
"""
If the government had never set aside Yosemite as a park, and it had been private land that Jack Ma bought, I would be thankful for him to donate it.
It would be terrible conservation policy to rely on private individuals to donate land. But if people do, I would be thankful.
The fact that Jack Ma is a Chinese national feels like an irrelevant distraction. Why would that affect my gratitude?
It's also really well written, and the cartoons are super cute. Love love love.
Interesting article. The article emphasizes that the $2B loss that Uber runs is effectively a subsidy for riders. But that isn’t necessarily necessarily 100% true. If Uber loses $2B/yr because it pours $2B in a hole and sets in on fire, that isn’t a subsidy to riders. If that’s the case, then Uber can stop losing money simply by stopping doing that.
What percentage of the $2B is spent on growth (minus subsidy to ride cost; e.g., advertising) which can be shut off eventually? What percentage is spent on software, which is a fixed cost and actually infinitely scalable? What percentage of engineering headcount can be laid off/replaced with cheaper people as the service approaches feature completion?
Uber spends about $2.1B in sales and operating expenses. I don’t know what the breakdown is inside these. But if it can turn off some of those expenses as growth slows, and if others are fixed as it grows, then is there no hope?
The article doesn’t give Uber enough credit for offering a definitely superior product, IMHO. Uber doesn’t necessarily need to be price competitive with previously existing companies, which were garbage. The accountability of Uber drivers, the ability to call a car to a specific location within minutes, these are things that, when I lived in Chicago, simply did not exist at all.
That said, there’s a limit to how much Uber can charge extra. If it needs to charge double the prices of previously existing competitors, then the extra service isn’t worth it, and Uber wouldn’t be worth anything.
I don’t understand how Uber could possibly need to charge that much more than existing companies. Yes, it misses out on the “fleet effect;” but if the largest cost goes to driver compensation, the economy of running a fleet is maybe a small percentage of overall costs. Yes, Uber needs to build and maintain software; but that ought to be a fixed cost (and mostly in initial years!).
I guess it comes down to this: I don’t understand the contention that Uber has no meaningful scale economies (the software, right?) or how it could be possible that Uber’s model needs to cost significantly more than pre-existing competitors. Since I can’t see inside of what Uber spends its revenue on, I don’t know how much it would need to raise its current prices. But if Uber costs, say, 10% more than pre-existing taxi companies, I would still expect to be worth >>$0. I can’t speak to $70B.
(Also, I offer no opinion on long-term defensibility of Uber's business to new entrants).
Parallelizing a goroutine is not safe if the goroutine shares memory. Obviously that's not the default Go style, but sometimes sharing state is unavoidable.
So that would be one point in favor of different syntax.
So many thanks!
That's the orthodox theory. You shouldn't buy it wholesale.
On the other hand, it would be a very heterodox environment indeed if producers were able to steal all the increases in wealth from consumers. That could only happen in an environment of no competition, not imperfect competition. Or an environment with 100% occupancy and no ability to build more units of housing.
Also, there would need to be no substitutes for the good. For instance, that people couldn't move between cities.
Surely the game is, to some extent, rigged. But can it be rigged so badly that it is possible to believe that transferring wealth from richer to poorer will not lead to an increase in the purchasing power of poorer people?
I don't have a decided opinion on guaranteed minimum income, but to deny that it would have a marked effect on purchasing power of the recipients of the wealth requires one to posit a truly exceptional economic theory. To attack minimum income on its efficacy of all things: that is either an ill-considered or truly radical view.
If minimum income can't help, what possibly could? The only option left would be the confiscation and redistribution of capital.
I believe also that non-repeatable reads would be a potential problem. A transaction could read a row, then read it a second time; if a concurrent, committed transaction mutated the row, the repeated read will return a different result.
I believe that both these problems would be solved by MVCC which I suspect is the next blog post.
But I'm not super great at distributed DB stuff, so please correct me if I've misunderstood!
The paper says that if a strongly sub-quadratic solution exists than the exponential time hypothesis (that SAT cannot be solved in subexponential time) is invalidated.
That's very interesting, but it's not a proof that no strongly sub-quadratic solution exists for SED.
Note that exponential time hypothesis is strictly stronger than P!=NP. Even if SAT can't be solved in poly time, that doesn't mean it can't be solved in subexponential time. There are functions that lie between polynomial and exponential...
Of course, the paper was careful to explain it, but the media summary...
Edit: I was interested to learn about the notion of strongly quadratic; there are O(n^2/log n) solutions to SED, but this paper is casting doubt on solutions with time complexity O(n^(2-delta)) for any delta > 0. Another commenter mentioned a method to solve SED like this.
On the positive side: Transmission works great!
Mathematics is not the real world; it's a map, not the territory. But of course it's not surprising if a map resembles the real world...
Rudeness is a choice you make, by the way. You can change your behavior.
wget https://s3-eu-west-1.amazonaws.com/guy-cotten/videos/guy_cot...
Hope that helps someone.
http://www.nytimes.com/2013/08/17/business/global/layoffs-il...
UTexas + "Foolishness" => Dijkstra.
What changes is that one very common permutation of data (ascending data) does not have O(n * 2) performance.
Of course, shuffling is still potentially helpful because ascending/descending order is often common in many applications.
Dijkstra's algorithm factors into two components: (1) time spent selecting best paths and (2) time spent updating the best currently known paths.
In a naive implementation, a best path to every unvisited vertex is kept. Selection of a best path to a vertex v_0 is made by a linear scan of the paths (O(V) each time). Locking in a path causes us to possibly update paths to every vertex v_1 that is touched by an edge from v_0 (constant time per out edge of v_0).
Overall, time complexity is O(|V||V|) selecting paths, and O(|E|) updating paths. Since |E| is bounded by |V|(|V| - 1), the time is O(|V| |V|) (insensitive to density).
Using a min-heap to store best known paths, we spend O(log(|V|)) time selecting each path, but an update takes O(log(|V|)). This means the total time complexity is O(|V|log(|V|) + |E|log(|V|)).
In the case of dense graphs, this is worse: O(|V| |V| log(|V|)). We're trying to keep the heap organized to allow fast extract, but there are too many updates and the heap is changing too much iteration to iteration. OTOH, if the grpah is sparse, |E| is in O(|V|), so we reduce the time complexity to O(|V|log(|V|)).
A fib heap keeps the same extract time, but updates are O(1) amortized. Thus the time complexity is O(|V| log(|V|) + |E|). If the graph is dense, this is O(|V| |V|) (as good as naive). If the graph is sparse, this is O(|V|log(|V|)) (as good as bin heap).
This is useful if we do not know whether the graph is sparse or dense. However, I am not sure what the constants are on Fib heaps. If you know the density of the graph, I certainly expect using the appropriate of the first two ways is superior. Another thought: you could always speculatively execute both algorithms and see which finishes first :P
Anyway, I hope that's not too boring of me.
Edit: Grr. Asterisks.
We broke even because we were able to collect some placement fees from companies that hired students. Even if we hadn't, the financial risk was not super high, since our time was the biggest investment.
If people from the US are interested in a similar program, you might want to look at [App Academy](http://appacademy.io). Our class is no longer truly free, but beside a refundable deposit, we don't collect any tuition until a graduate finds a job (and none if they don't).
This whole thing really doesn't make me feel good about Mitchell Baker or Reid Hoffman.