I really dislike their aggressive attempts to get new members to send out join requests to every person they've ever corresponded with on gmail. I've gotten many invitations from people whom I'm pretty sure had no idea that LinkedIn was going to scrape their contacts and spam everyone. This happens a couple times a year ever since like 2010? I haven't seen any other tech company do something similar. There is a lot of value in their network, but this is pretty obnoxious and basically dominates my impression of the tradeoffs they're willing to make
HN user
dmeb
"The first 1/3 of CS61A in scheme had no mutation. That is almost impossible in Python to do..."
Pretty unambiguous to me. GP had a very thoughtful reply to be clear.
If the desire was to teach idiomatic python, that's totally legitimate. But the decision to whether or not teach FP concepts is in no way constrained by the choice of language.
How is it that python is less amenable to functional programing? (Functional in the sense of referential transparency and immutable data-structures, rather than map-filter-fold). Through my limited exposure to python, I agree that immutability isn't idiomatic python, but I don't think there's anything stopping you from implementing those ideas in any language.
Trees with a very high branching factor can be used to support immutable vectors which support effectively constant time insert/remove/indexed lookup. However, it's not necessary to use trees to implement immutable lists.
In scala:
val xs = List(1, 2, 3) // i.e. 1 -> 2 -> 3 -> Nil
val ys = 42 :: xs // i.e. 42 -> xs
In this instance, ys is a reference to a "Cons" node consisting of the value 42 and a reference to the immutable list xs. As xs is immutable, there is no risk of ys.tail changing, so we don't have to copy xs but just make a reference to it. So creating the "new" list ys only incurs the O(1) memory required to create the new node (42,xs).Now, if you instead did:
val xs = List(1,2,3) // 1 -> 2 -> 3 -> Nil
val zs = xs ++ List(42) // 1 -> 2 -> 3 -> 42 -> Nil
This would in fact trigger a copy of the entire list xs, as you are modifying the reference pointed to of the Cons node containing 3, requiring a copy of the entire xs so that your modification doesn't affect other references to the original xs.Performance characteristics of different Scala collections: http://www.scala-lang.org/docu/files/collections-api/collect...
34 yelp reviews from App Academy students.
http://www.yelp.com/biz/app-academy-san-francisco
Is it possible to remove negative reviews? They're uniformly 5 stars. I'm actually surprised that there aren't any negative reviews. I would've expected reviewers to be primarily those with strong feelings, either positive or negative.
Another data point, Hack Reactor, with 131 reviews, all 5 stars:
http://www.yelp.com/biz/hack-reactor-san-francisco
I get that bootcamps are polarizing, but surely those skeptical should at least do some cursory googling to get a sense of the distribution of people's experience who actually go through these programs. I google either of these bootcamps and in the first two hits I get links to review sites with dozens of detailed reviews filled with effusive praise and particulars on the programs.
Disclaimer: I went to App Academy summer of 2014. I paid ~$14,000 up front as Canadians didn't qualify for the tuition deferment (an eminently reasonable restriction, work visas are far from a sure thing). I had degrees in non-cs STEM fields and CS coursework which allowed me to fit into a TN visa category, and I'm currently happily employed in SF.
I'm disappointed in App Academy for this omission - they should be better than this.
That said, some perspective:
They have placed 400(?) people in the SF tech market through this tuition deferment scheme. Many of those hundreds didn't have the $10k-$18k up front needed for a bootcamp. Many of those people, myself included, consider attending App Academy a life-changing event. Easily the single most useful stretch of three months I've spent over the course of my twenties.
Their system of tuition deferment + rent free living on the floor in SOMA was unprecedented and a large gamble on their part. I'm very likely over-reacting given my strong feelings of gratitude to the school, but there's an under-current of entitlement in these posts I find objectionable.
They should have made certain that their complete tuition policy was clear, accurate, and very visible. That said, the harm you incurred was learning some minimal amount of ruby and and engaging in some screen shares. These are both skills that will be useful in any further interaction you have with web development, either bootcamp applications or job interviews. Respectfully, you have a long road ahead of you and much more potential unfairness.
Your experience with them does tarnish my view of App Academy slightly. However, the counter factual of no App Academy is a world in which literally hundreds of people would have been unable to pursue careers they find both financially and personally rewarding. Relative to that incredible accomplishment, this seems less damning.
I haven't used erlang - that said, one reason might be that it's dynamically typed by default, and that the extensions for a type system have had mixed success:
"Phil Wadler and Simon Marlow worked on a type system for over a year and the results were published in [20]. The results of the project were somewhat disappointing. To start with, only a subset of the language was type-checkable, the major omission being the lack of process types and of type checking inter-process messages."
http://learnyousomeerlang.com/types-or-lack-thereof#for-type...
Balaji Srinivasan's background probably counts: https://www.linkedin.com/in/balajissrinivasan
I think this is something that would mostly be taken up by people trying in the early stages of their career. The revealed preference of more senior people is to not push for these kinds of contracts.
A shorter trial period makes a lot of sense, especially as more and more people with weaker tech backgrounds are drawn into software development by the strong job market. That said, internships fulfill this role for a lot of companies. Especially at the larger tech companies, internships seem like primarily an extended job interview.
There's a fairly large literature in labor economics on discrimination in the labor market. Reductive summary of consensus'ish opinion going back to 1996 [1]:
1) Very large gaps between average wages of whites and blacks
2) Controlling for ability* erases almost all the disparity
3) White and black infants have same distribution of ability
4) Large disparity in ability develops between white and blacks by age 18
Disparities between whites and blacks seem to be more a product of poverty rather than bigoted employers. There is obviously more to racism than employment and wages, but this is a significant. To be clear, this is not to hand wave away a serious social problem, but rather to focus attention on the actual causes of it. If it were simply racism, there are easier solutions. Just appeal to the greed of rapacious capitalists: perfectly qualified workers from visible minorities would be underpriced wrt the majority. If instead differences in wages instead reflect differences in skills (from crappy schools, dysfunctional family environments, etc), then the problem is a little more insoluble.[1] https://ideas.repec.org/a/ucp/jpolec/v104y1996i5p869-95.html
More recent summary from Roland Fryer (abstract alone is good): http://scholar.harvard.edu/files/fryer/files/racial_inequali...
* Ability is obviously a fuzzy concept. "ability" here means a score on a version of the Defense Dept's ability test from the 80's (the National Longitudinal Study of Youth). Results hold up pretty well with different measures though.
Happy to see a Tyler Cowen recommendation.
Thiel is still very much worth reading though. FWIW, Tyler Cowen would say the same; "The Great Stagnation", his book before "Average is Over", is dedicated to Thiel.