HN user

Spyro7

1,076 karma
Posts0
Comments91
View on HN
No posts found.

I really do think that, as time wears on, we will see more of these incidents of people switching from Node to another, more familiar development environment. It seems to me that a lot of people started using Node simply because of the amount of hype that surrounded it, and many of these decisions were not as well researched as they should've been.

Reading through this gentleman's blog post, it seems that, originally, Node was chosen for just one reason – he wanted to develop the entire application in JavaScript. Other than this, it does not seem that he took the time to research the Node development environment before deciding to develop his application in it.

With respect to the author of this post, the testing environment and the ease of developing a CRUD web application are things that should have been looked into before a single line of code intended for production had been written.

In addition to this, as several other commentators have already noted, Node is not directly comparable to Rails. Node is basically an event framework and standard library that bolts onto JavaScript. Node would be more comparable to something like Python's Twisted or Ruby's EventMachine. The author was probably using one of the frameworks available in Node such as Express.js, Railway.js, or Geddy.

My apologies.

I never intended anyone to take the Discovery Institute paper as anything more than just a casual study of the subject (by a biased party). I certainly did not want to present it as academically rigorous on any level or as an unbiased look at the subject.

I thought that I had made this clear in my original post by using the word "study" rather than "research" or "peer-reviewed study". I really meant for it to be taken as more of a narrative account than an actual research paper. Unfortunately, it is now far too late for me to amend my original post to make this more clear.

In my defense, I typed up my post in a blaze of coffee-fueled self-righteous indignation. Mistakes tend to happen a lot when you shoot from the hip like that.

"I understand that sheltering them from the real world is not your motivation for this opinion, but it is the reality of what will happen. Your kids will miss out on a huge period of personal growth and a large expansion of their experience dealing with other people which they will never be able to get back later."

It is not necessarily the case that being homeschooled automatically equates to a child that has been sheltered from the real world. In reality, whether or not a child has missed out due to homeschooling depends heavily on the parents that are doing the homeschooling. A parent can homeschool their child and simulate a private school by integrating classes (with groups of children) from museums, libraries, and independent instructors. A parent can also homeschool their child by putting on a DVD and walking away.

I was homeschooled from pre-kindergarten through 12th grade. My parents relied on a lot of external classes to ensure that I was still able to develop the ability to interact with others. The reality for me was that I was able to have a far richer social environment as a result of my being homeschooled. By the time that I entered college, I had interacted with far more cultures and personality types than most of those around me. I went on to successfully complete my undergraduate and graduate degrees.

When I was homeschooled, I kept in contact with a small handful of friends that were also homeschooled. They all went on to do just fine in both college and in life. I realize that my experiences and those of my peers are anecdotal, but a study performed by the Discovery Institute in 2000 also provided evidence that there is no "sheltering" involved with most homeschools: http://www.discovery.org/a/3479

(Please note, I actually take issue with a few things in the Discovery Institute study, but I think that it does provide some degree of evidence that homeschooling does not automatically result in a maladjusted child.)

In my economics courses, we would sometimes take a look at the economic returns of education. I always found it strangely comical when someone would speak harshly about how homeschoolers are "sheltered" and then turn to me for moral support. It was always such a shock to everyone to hear that I had been homeschooled for my entire life. Some people even called me a liar outright. (I have always wondered what is it about homeschooling that seems to rub people the wrong way?)

I am well-spoken, outgoing, and have an easy time dealing with people. I do not say this (or anything else in this post) braggingly, but I say it to give credit to my parents for what their sacrifices were able to accomplish for me. You say that "sheltering" is the "reality" of what will happen, but how are you so sure of this?

I believe that the results of homeschooling, much like other forms of schooling, is a product of the teacher, the student, and the approach. I do not disagree that sometimes, with homeschooling, some children are not able to develop social skills. What I disagree with, strongly, is your insinuation that "sheltering is the reality of homeschool". Homeschooling a child does not automatically mean that the child will struggle socially.

Every day, I start up a computer running OS X. Then, I proceed to fire up virtual machines for two Linux distributions, Windows XP, and Windows 7.

I occasionally play around with a headless system that I have running FreeBSD. Then I may power up my iPod Touch to test recent changes to my mobile site. I also do a significant quantity of work while I am logged into a remote debian server via ssh.

I doubt that I am the only developer with this type of daily routine. I actually do think that this poll is pretty nifty (and I checked off OS X), but I think that it is still worth observing that the term "primary operating system" just doesn't quite carry the same weight as it used to.

This graph is completely useless. It is looking at relative Google search query volume.

Of course Node.js search queries are rising. There is a lot of noise being made about the platform, the platform is relatively recent, and people are curious about it.

Of course Ruby on Rails search queries are falling. It has been out for a while, and people have become familiar with it at this point.

In other words, they don't need to google for Ruby on Rails when they can just go to one of the sites that they have bookmarked.

This is not a milestone by any stretch of the imagination.

I have to apologize. I fat-fingered the down vote when I originally meant to up vote your original comment. I think that my mistaken down vote was the one that initially sent your comment into the gray. This was unfortunate as yours was a remarkably civil post on a subject that can be somewhat controversial at times.

I am currently working on two projects written predominantly in CoffeeScript, and I completely agree with your original post. It is a mistake to think of CoffeeScript as simply another Javascript, and it is a mistake to make the assumption that people that are comfortable with Javascript will be comfortable within a CoffeeScript project.

CoffeeScript is more than just Javascript with a small sprinkling of syntactic sugar. There is a definite learning curve between Javascript and CoffeeScript. List comprehensions, extended regular expressions, and splats - these are just a few of the things that make up that learning curve. The changes in variable scoping that CoffeeScript makes is another.

I think that perhaps the best practice for publishing a CoffeeScript project should probably be to append a .coffee to the name rather than the usual .js. This would go a long way towards eliminating the kind of misunderstanding that you refer to in your OP.

[dead] 15 years ago

Maybe I'm just weird, but all of this drama around a database does not make much sense to me.

To me, it is simple. Do your research:

* Go to https://jira.mongodb.org/ and look at the issues

* Read the documentation at http://www.mongodb.org/display/DOCS/Home

More than likely, if you have to ask the question "should I use a NoSQL db" then the answer is no - just stick with SQL. MongoDB (and most other NoSQL dbs) is a specialized tool that is fit for specific use cases only.

There is no need for all of this ridiculous hyperventilating drama.

I have heard it said that the marketing department at 10gen was not good at "managing expectations". If you are working with a database, I would hope that you do not allow your expectations to be set by the marketing department. If you don't do your due diligence then you deserve to be bitten.

As to the original "Don't Use MongoDB" post. Whether it was a hoax or not was completely besides the point. Every single section in there was completely unsupported by any evidence other than the authors experience.

If you are going to talk about data loss then link to a bug report or a Google query pointing to a bug report or something. Anecdotes are not data.

Racism in Tech 15 years ago

At the risk of losing karma, I have to say that I think this entire thread has really gone way too far.

Guys, this is HACKER NEWS. I thought we were supposed to hold ourselves to a higher standard of conversation over here?

Could I just post one thing?

http://www.paulgraham.com/randomness.html

If you disagree with what someone writes, then you should reply simply and without embellishment. To conclude that someone has a "sick mind" or has "killed their company" is a bit much of a conclusion to draw from a simple online debate at a tech/startup discussion site.

If Hacker News offered the ability to lock discussions, then I am quite sure that this one would have been locked.

Can't we all just calm down and get back to coding?

Overpopulation is a hard problem. There are complex socioeconomic reasons for why some countries have higher fertility rates than others. This is a heavily studied topic in health economics, but I am unwell right now and do not feel like digging through research papers. Instead, I will point you to a wikipedia article that talks about one (popular with economists) take on overpopulation:

http://en.wikipedia.org/wiki/Demographic_transition

Sorry for the wikipedia link, but it is not a half bad article on the subject and it was easy to find. Basically, this theory suggests that increased income per capita is correlated with a decrease in a country's fertility rate.

There are arguments on both sides regarding the flow of causality, but if you wanted to know what was being done to address the challenge of overpopulation then that article above is a good starting point for your own inquiries.

(Also, just as a side note, it is probably the case that you were down-voted for being off-topic and not due to some overwhelming sentimentality. Maybe if you want to talk about overpopulation you should have written a blog post and posted it up, I bet that would have probably got a much better reception.)

It's gotta be a slow day on hacker news when this is at the top page. (Or, is this being upvoted because it is Cringely.)

An entire article about web development past, present, and future without a single mention of PHP....

All snark aside, I strongly disagree with several things in this article.

Java never left, so it can hardly arrive again. Anyone that has ever worked in a corporate environment problably knows what I am talking about. Java dominates the Enterprise landscape.

Disk speed limitations on database access times can be and has already been overcome by in-memory caching. This is not new. Advancing SSD tech will not suddenly lead to Java's total ascendance as a web development platform.

The characterization of dynamic languages as "easy to program for a broader, younger, and maybe less experienced crowd of developers" is a rather unfortunate blanket generalization. This is especially the case because most people that I know that use dynamic languages usually have some experience in things like Java, C, C++ that Cringlely seems to hold in high regard.

And finally:

http://www.paulgraham.com/avg.html

The real problem that the vast majority of web developers face is not trying to cope with overwhleming amounts of daily traffic. The real problem is how do you build a product that is compelling enough to get signups, and how do you continue to develop this product to attract new signups.

Java is fast, and that is lovely. However, speed of execution does not matter when your development speed drags. When you are developing a product, you need to be able to move fast. If you get substantial traffic, then you can always rewrite backend services in Java (or whatever floats your boat) at that time.

Edit: When I say Java, I refer to the language - just as Cringely does in this article.

Of course a number of excellent languages have developed that combine the advantages of the JVM with the benefits of a more powerful language. (My personal favorite being Clojure.)

Am I the only one that considers all of this ranting about Nodejs to be a little bit strange?

I would have never expected a post that was obviously a troll to prompt this much of a reaction on both sides of an issue. That so many of these rants and counter rants made it to the front page of Hacker News is somewhat discouraging.

I have been playing around with node for a few months, and I have tried to stay completely out of this "conversation". With that said, I would like to contribute just a few points:

Bad programmers will be bad programmers regardless of the tools that they use. If they use node and fail to write code that is completely non-blocking, then that is what we call a teachable moment. There is no magic button, all technologies have downsides and tradeoffs.

People keep talking about how nodejs is not good for computationally intensive tasks, but v8 is not a slow environment. Am I the only one that puts computationally intensive tasks into a queue to be taken care of by a pool of seperate processes? I am only just getting into web programming, and it seemed fairly obvious to me that you would not put something like that into your main event loop.

Also, if you find that you must put something computationally intensive in your main event loop, then you should use something like node-proxy or nginx to proxy those requests to a number of "nodes".

Over and over again, I have seen that people complain that node is not a good multithreaded environment. Well, yes... That is the tradeoff of using something that is closely tied to the concept of the event loop.

If you are using node because you feel comfortable with threads and you need threads, then you are making a serious mistake. If you are a new programmer and you are using node because someone told you that it is cool, then you are making a serious mistake. If you are using node because you have a problem that can be solved or addressed with an event loop and you understand the tradeoffs inherent in this approach, then you are doing the right thing.

To use nodejs effectively will often require rethinking your approach to fit the tool that you are using.

This is a good presentation. It is a good demonstration that there is no magic bullet for database scalability problems.

I love NoSQL as much as the next person, but turning straight to NoSQL when you are faced with scalability problems in a more conventional relational database is always going to be a mistake. Before you translate everything over to a NoSQL db, try dropping the ORM (or find another one), looking at your table structures, or tuning your indexes. If you do this, then there is a strong possibility that you will save yourself some time, energy, and effort.

It pays to think deeply about your issue. NoSQL should be another tool in the toolkit, and not the hammer to be used to drive all of your database issues into the wall.

When you turn to a NoSQL solution, you should not be doing so with a mind to find a "magic bullet". You should be doing so because you have thought deeply about the problem and have found that a NoSQL solution answers a specific need.

If everyone could use NoSQL when it is appropriate to do so, then there will be less "horror stories" and more illustrations of valid use cases than what we have today.

The Drupal Crisis 15 years ago

I started with Drupal around the time version 4.7 came out, and I always thought that the project would have done better for itself by focusing more on its potential as a framework rather than a CMS.

Drupal has always seemed to have something of an identity crises. Some people think of it as a fully-featured CMS, some think of it as a framework or platform, and then you have a ton of people just trying to use it as a more flexible blog.

I think that when the community exploded in size, it had only really begun to wrestle with the identity question. The lack of some definite focus as Drupal's popularity expanded probably contributed to the current situation.

Frankly, I think that the majority of the current problems would be solved by trimming all of the fat from the core. That would allow the core developers to focus on making the core fast, stable, and flexible. Let the wider community maintain and provide any extra functionality.

Since this is Hacker News, and there are a lot of really smart, numbers-oriented people here, I just thought I'd provide a link to a dataset that looks at income distributions within the US from 1913 to 2008:

http://www.econ.berkeley.edu/~saez/

Under "Income and Wealth Inequality" on that page, click the link titled "(Longer updated version published in A.B. Atkinson and T. Piketty eds., Oxford University Press, 2007)".

It is an excel file that contains a metric ton of tables, charts, and figures. If you have a few moments and want a deeper understanding of the issue, that excel file is the best place to go.

(Edit: I just wanted to note one thing. My favorite graph from the excel file is figure 1B, where you can see that we are basically returning to where we were prior to World War II. It makes you wonder what was so different about the post-war period that resulted in this shift. Personally, I wonder if the sudden subsidization of education for returning veterans had anything to do with it, but I have no data on this right now, so...)

As far as my own thoughts on the issue go, I agree with pg. For a boring, academic take on it, there is a wonderfully dry 1980s paper by Rosen outlining the superstar theory:

http://www.ppge.ufrgs.br/giacomo/arquivos/ecop72/rosen-1981....

Basically, thanks to technology and globalization the rewards to individuals that have the highest levels of abilities have been magnified. Their "reach" has increased relative to those below them, and their rewards have increased in line with this.

While interest in this seems to be popping up all over the place due to the current economic catastrophe in progress, the idea that communications infrastructure improvements lead to income inequality is an old one.

Here is Alfred Marshall (founder of neoclassical economics) in 1890 (revision from 1920):

http://www.econlib.org/library/Marshall/marP54.html#VI.XII.4...

As for myself, I have no idea about whether this is a good thing or a bad thing (or whether anything could/should be done about the growing inequality). However, it is happening now, on a grand scale, so I think that it is important for everyone to have some context on the issue.

Are jobs obsolete? 15 years ago

The problem the USPS is having is not about prefunding pensions and pension plans. Their problem is that they are required to fund future employee health care benefits. No other company in America - public or private - is required to do this.

This is a side note, but... By the way, I am actually a frequent reader of your blog, and I really miss your posts on economics. Link for the curious:

http://crazybear.posterous.com/

Good stuff!

Are jobs obsolete? 15 years ago

> "means that they're the only govt institution that isn't a timebomb of future obligations"

This was the spirit in which the requirement was enacted. I completely agree with the idea. My problem with this line of reasoning is this:

Why fund the estimated lifetime costs of health care that will not be provided for maybe 40 or so years into the future? Why not fund a moving window of ten or twenty years of obligations instead?

There is a huge opportunity cost associated with stashing such a large amount of money away for this purpose rather than using it for current operating expenses.

> "Yes, current projections say that they're overpaid, but these projections have a way of going horribly wrong."

Indeed, projecting costs for the next half-century is a dangerous thing to do. This is why I question the rationality of handicapping the USPS with the responsibility for funding far-future liabilities based on those projections.

Even if you ignore the opportunity costs of this fund, the inflexibility of the rule as well as the fact that it puts so much faith in projections makes it a highly suspect decision.

Are jobs obsolete? 15 years ago

If you enjoyed reading that, then perhaps you would enjoy reading a book that has come to occupy a treasured space on my shelf:

http://www.amazon.com/Science-Technology-World-History-Intro...

The authors provide an overview of world history through the lens of technological advancement. The chapter on physics is a bit rough, but other than that I think that the book is quite solid. It should be required reading for anyone that wants to have a good overview of the march of human civilization.

Edit: By the way, I did not downvote you, but the likely reason for the downvote is that the individual that you link to does not seem to have the necessary qualifications to provide a strong critique of civilization.

Remember, just because someone writes about a topic does not mean that they are an authority on this topic.

Are jobs obsolete? 15 years ago

Why is this being upvoted? This article begins with a questionable premise and then descends straight into misinformation.

The problems in the USPS did not begin with email. They began with a highly questionable requirement that the USPS fund a plan to fully cover the estimated future health care costs of all current employees. They are the only government institution required to do this, and it has crippled their ability to remain profitable:

* http://www.plansponsor.com/Post_Office_Says_PreFunding_Retir...

* Read First Few Pages Here -> http://www.uspsoig.gov/foia_files/RARC-WP-10-001.pdf

* http://www.nytimes.com/2011/06/23/us/23postal.html

They have overpaid this fund by billions of dollars, but they are not able to use this money to address their current financial shortcomings.

Somehow the author of this piece is able to extrapolate from the fiscal problems of the USPS to the overall job market. The extrapolation is misguided at best.

There are so many things wrong in this article that I will not take the time to address them all. (Most of Europe was thriving in the Middle Ages? Really? The author needs to define the word thrive.) I just want to say that I find it interesting that there is so much hand-wringing in these comments about jobs being displaced by technology.

In economics, we like to call this creative destruction. Old jobs go away and new jobs take their place. This is a natural process, and their is nothing so magically different about the technological revolution that it will somehow "make jobs obsolete".

Just as The Luddites protested against the loss of jobs brought on by the technological progress of the Industrial Revolution, now some individuals protest against the loss of jobs brought on by the technological progress of the "Technological Revolution". Then, as now, it was all hand-wringing and nail-biting with no serious economic analysis.

The critics say this time is different, this time there will be no new jobs, and we should urge people to find something other to do than working. The critics are wrong. Don't worry people. Employment is here to stay.

Side Note: The author engages in some navel gazing when he says America has all that it needs. I'm not sure if the author has noticed it or not, but there is a such thing as globalization and the global needs for goods and services will increase as developing countries close the ground with developed nations.

This global recession is just another business cycle, eventually the world will have another upswing, and then we will revert to mean again. There is no magic here, just the march of time. I would not put too much stock into those who believe that a single recession merits the reevaluation of the entire modern economic system.

Edit: Trying to trim the size. Eventually, I will learn the art of not making posts into walls of text.

"Then go check the SEC filings."

Which ones? There are quite a few companies in the finance industry. If we are going to paint them as good guys and bad guys, then it is important to note that those are subjective criteria.

"This is precisely what happened, though. The large investment banks... Was it planned that way? Does it matter?"

Well, if your objective is to tar and feather people then I would suppose that it is important to find a villain.

However, if your objective is to understand what happened and how it could be prevented, then I think it is important to ask if something was planned or if it was a product of a flawed system. I can understand why you may disagree with me.

"Because you were once involved in investment management yourself, and you are a good & decent person, and therefore the industry as a whole must be comprised of similar people and follow similar patterns of behavior and judgement?"

No, actually quite the opposite. Please read my reply to another gentleman here:

http://news.ycombinator.com/item?id=2962088

If you have any questions, please ask me, I would be happy to discuss with you (regardless of the beating that my karma would likely take).

"So you think paying regulators more would somehow auto-magically deal with regulatory capture?"

There is no magic solution for regulatory capture, but the disparity in pay is a glaring problem. People respond to incentives.

Right now, many people view regulatory agencies as a career springboard to higher paying positions within the large investment banks. If the pay at the regulatory industries was more in line with what an individual with a similar background would earn elsewhere, then that would dramatically decrease this effect.

While we are talking about fixes, one more possible fix would be to dramatically restrict the creation of derivatives, because their complexity exceeds their usefulness as financial instruments at this point in time.

These are the types of things that would be useful to talk about. Dr. Taleb has both the knowledge and the breadth of experience to talk about them. Unfortunately, he chooses to focus the majority of his influence on labeling people within the banking industry as ethical and moral evildoers. (South African apartheid? Really? I find the implied analogy to be disgusting.)

"Who gets to decide what the right outcomes are and whether they are efficient?"

Whether or not an outcome is "right" is subjective, and is more in the field of law and philosophy than economics.

Whether or not an outcome is efficient for society does not need to be determined as it can be measured. An outcome is efficient for society if it makes at least one individual better off without leaving any other individuals worse off. (This is Pareto efficiency).

Of course in the real world, there will almost always be winners and losers with any policy change. The solution is thus to make sure that the total net benefits of any policy change is positive.

The net benefits are the benefits (both implied and explicit) of a policy minus both the costs of doing the policy and the costs of potential gains that could have been had by pursuing alternative policies. Both the costs and the benefits should be aggregates that include the costs and the benefits to all parties affected by a policy.

One thing that I think is worth thinking about when you look at recent developments in the markets is this. From the time period of roughly the 1950s to roughly the 1980s this form of detailed cost-benefit analysis was popularly employed by both governments and private companies. (I am not actually this old, but I have heard this story multiple times from economists considerably more seasoned than me).

Unfortunately, starting in the 1980s, a more expedient form of cost-benefit analysis that focuses mostly on the immediate costs and benefits to the organization conducting the analysis began to dominate. This type of analysis was championed by the finance and accounting oriented economists that began to spring up at around this time. (Disagreement over this and other issues led to university economics departments around the nation dividing from business departments and finding a new home - and less funding - with the liberal arts and social sciences.)

It is expensive and time-consuming to conduct a thorough impact analysis, so I can understand why the more academic approach would fade away in favor of something more expedient. However, I think that a lot of the recent problems we see in governance can be traced to this fast-food economic analysis:

* Lack of investment in infrastructure? - Well, this report on my desk says that it will be expensive to fix those roads and the ones we have now seem to be holding up just fine

* Internet providers want to throttle bandwidth based on its source? - Makes sense, according to this report on my desk providing bandwidth obviously costs money - why not charge for it?

* A tax on transactions? - Well, this report on my desk says that would make it more expensive to trade stocks - there's no way this could be beneficial.

While the right answers to many of these questions can be found either in economic journals or by speaking with an independent consultant, policymakers rarely have the enthusiasm for a topic to dive so deeply.

I hope that soul-searching due to the financial meltdown brings the old approach back in favor. It is sorely missed.

The techniques in mobile web development are still young. A general knowledge of how to build a site for mobile interfaces has not come around yet.

For now, it is understandable that you will see some imitation of successful "app" design patterns, but things can change quite easily. If it turns out that the iOS look is not good for the mobile web experience then things will change.

"By the way, I have just looked at jquerymobile.com from an iPhone 4 and the UX is unresponsive, showing the checkerboard pattern, flickering and so on."

The project is still in beta, and there are still some rough edges. It's an open source project, so the developers and users would greatly appreciate it if you could file a bug report about this issue:

https://github.com/jquery/jquery-mobile/issues

I did a quick check and I didn't see that your issue has already been reported, so your contribution would be doubly helpful.

"I would want more developers to be aware of web standards and good design, not JavaScript hacks."

I understand your perspective (all developers should definitely know web standards and good design), but, surely, you would agree that there is value in trying to do something a little different? Today's javascript hack may well turn out to be tomorrow's revolution.

I appreciate your thoughtful reply. While I am making the transition to a web developer at the moment, I have a graduate degree in Economics and I have spent some time working in the investment industry (Main St, not Wall St). I would just like to share an alternative viewpoint with you:

1) I wouldn't think of it as "cheating the system", but I would think of it as rational self-interest. Given a set of constraints, people will optimize for the best personal outcome.

2) People maximize their utility (utility is a measure of happiness). Whether someone is honest or dishonest is nothing more than a preference input into their utility maximization functions.

What this means is that if the punishment for breaking some law is exceeded by the benefits (to the individual) of doing so, then that individual will break the law. Think about how many people casually drive 5 to 10 miles over the speed limit (or 20 to 30 down here in Texas).

With that said, whose dishonesty is responsible for the housing collapse:

* Were the homeowners dishonest for taking on loans they could not afford to pay back?

* Were the lenders and real estate agents dishonest for making the loans to the home owners?

* Were the finance guys responsible for thinking that risk could be mitigated using the tools of finance?

* Were the investors being dishonest for cheering on returns that were above market-average without considering the risk?

Painting a market with the brushes of corruption and dishonesty does very little to advance an understanding of how the event happened and what can be done to prevent it in the future.

4) Professionals with an understanding of the financial industry were generally in favor of the bailouts. The government listened to the professionals.

Goldman Sachs hires a lot of economists and finance guys, and they hire the people with the best resumes. One should hardly scream conspiracy if it turns out that some of these "cream of the crop" individuals end up working in the treasury. Statistically, the probability of it happening randomly is actually quite high.

"Likewise, I think that the best economy will be produced by many mistakes, and learning from them."

I completely agree with this.

"One thing I am pretty sure we will learn is that no corruptible entity should ever control an economy, because corruption is always the end result. (All hail our new robot overlords :D)"

There is no need for us to resort to robots. We simply have to understand that people are self-interested and build a system that channels this self-interest into outcomes that are efficient for society as a whole.

"And I will just leave this here: http://en.wikipedia.org/wiki/Friedrich_von_Hayek I'm sure you have probably read up on this guy."

Hayek was an amazing logician, but the application of his theories to the modern economy is unproductive. The questions that he asked have been answered by modern economics in the 50 years that have passed since he asked them.

I consider myself an advocate for breaking down the wall that exists between modern economics and people that would like to increase their understanding of modern economics without being economists themselves. If you have anything that you would like to ask me about anything that I wrote above (or any of Hayek's specific points), then I would be happy to answer them (regardless of the beating that my karma takes).

And this is why more web developers need to be aware of and use things like jQuery Mobile:

http://jquerymobile.com/

If you look at the platforms list on that page, you will see that you can actually use this framework to build a mobile site that looks and works decently on an extremely wide variety of devices.

One of the best things about jQuery Mobile is that it is extensively documented. Just go to the docs and demos and view the source for any page that impresses you. You will instantly be able to see the markup that you need to duplicate that pages functionality.

(Tip: Before viewing the source, make sure that you remove everything to the left of the # in the url, including the # itself. Just check out the docs, you'll know what I am referring to.)

Using a good mobile framework, it is trivial to provide a mobile version of sites that already exist on the Internet, so why not do it and gain access to a an additional audience?

Dr. Taleb's book, Black Swan, was a truly interesting treatment of long-tail statistical events and how humans perceive said events. It is unfortunate to see him indulging in so much hand waving in this article.

"For banks that have filings with the US Securities and Exchange Commission, the sum stands at an astounding $2.2 trillion...... is directly transferred from the American economy to the personal accounts of bank executives and employees"

I don't understand where this number is coming from. According to the data from the 2007 Economic Census[1], the U.S. commercial banking sector employed (approx) 1.6 million employes and compensated them with a total payroll of (approx) 95.8 billion dollars. Total payroll for the finance and industry industries is $502 billion for 6.2 million employees.

What is this $2.2 trillion that he is referring to? In his opening statement, he makes it sound as if this amount is direct compensation, but the actual numbers for the industry make that figure seem unlikely. (I am not an accountant, but I seriously doubt that some type of compensation that doesn't appear on the annual payroll is going to make up the bulk of that difference.)

"That $5 trillion dollars is not money invested in building roads, schools, and other long-term projects"

First of all, this $5 Trillion dollar number is a projection, and projections need to be analyzed critically[2]. Second of all, this is wrong (as pointed out by yummyfajitas elsewhere in this thread). So long as money is not being (quite literally) stuffed into a mattress, it is doing something in the economy. Now whether that something offers benefits over opportunity cost may be a product of market failings and questionable regulations, but that can hardly be blamed on the banking industry.

"It is (now) no secret that they have operated so far as large sophisticated compensation schemes, masking probabilities of low-risk, high-impact \“Black Swan\” events and benefiting from the free backstop of implicit public guarantees."

I think that it is disingenuous to paint the entire industry as being composed of individuals out to cheat the system. I think that it makes more sense to note the behavioral economics at work.

A disturbing number of financial institutions were making money from home mortgage loans. Any financial industry not doing so would be left out of the crowd. Regulations allowed for massive leveraged financial positions to be taken in the market. Financial companies became more and more aggressive (after all, the models say everything is fine, and if we don't play along shareholders will question our financial performance). The bottom fell out and everyone got clubbed (but some worse than others).

There is no great, malevolent force working in finance. The industry was governed by (and possibly still is) some pretty lackluster regulations, but it is a questionable premise to paint the entire industry as willfully fraudulent.

"it also has provided secret loans of $1.2 trillion to banks."

Activity by the Fed is not "secret" but rather it is a matter of public recored: http://www.federalreserve.gov/

(Or, more specifically: http://www.federalreserve.gov/releases/h41/current/h41.htm )

"We don’t believe that regulation is a panacea for this state of affairs. The largest, most sophisticated banks have become expert at remaining one step ahead of regulators"

This is not really the case. It is more the case that the regulators are often underpaid (relative to what they could make in the private banking industry) and over-worked (due to staffing cuts). This creates an accelerated revolving door between the public and private spheres. This revolving door makes it very hard to get any good regulations out of our current institutions.

"A well-functioning market would produce outcomes that favor banks with the right exposures, the right compensation schemes, the right risk-sharing, and therefore the right corporate governance."

A well-functioning market would favor the banks that offer the best risk-return ratios. Now whether or not the measure of risk is correct will only be obvious in hindsight, but market outcomes are a product of aggregate information on a grand scale. Exposures, compensation schemes, risk-sharing... These are not the kind of factors that are rewarded in a free-market (unless his definition of well-functioning is some variation of central control).

If you want to institute a change in the incentives within the finance and banking industry, just institute a very, very small transactions tax. This would decrease the viability of trading for its own sake (make enough trades fast enough, have a slightly more than random number of successes, and profit).

It wouldn't fix everything, but if you are a critic of the current structure of the industry, then a small transaction tax is the thing that is most likely to move the industry further away from the temptation to function like a glorified roulette wheel.

I'm not even going to address the problems with Dr. Taleb's proposed solution to problems in the banking industry (last three paragraphs of the article). It makes no sense.

[1] 2007 is the most recent data available. It is not the most up to date (the banking sector is likely a bit smaller now), but it is worth using some actual facts and figures. Direct access here (industry code 522110 for commercial banking): http://factfinder.census.gov/servlet/DatasetMainPageServlet?...

[2] http://xkcd.com/605/

"There is a concentration of tech startups in SV because the internet lets them sell to the rest of the country without issue."

I don't think so. If the Internet was all that was needed to explain this concentration, then that would not be a sufficient explanation because it would prompt a new question. If geographical proximity was due to the Internet, then why Silicon Valley vs some other location?

I think that it is more likely that there are a high concentration of tech startups in SV because the concentration of tech companies in SV offers positive externalities to firms that locate themselves in SV. This is not a very good article (even by wikipedia standards), but I think that it could help to paint a picture:

http://en.wikipedia.org/wiki/Economies_of_agglomeration

But then, you are right. If tech companies needed to be within a hundred miles of their customers in order to transact business with them, then they would not be able to benefit from agglomeration effects. But I think that there are probably other things that factor into as well - margins, competition, regulations, etc.

"Brick layers / construction are far less mobile because you need to be at the construction site to build a brick wall."

I agree, this is true. Perhaps I should have been more selective with my examples. One more thing that is also true is that a side effect of their lack of mobility is that it is more challenging for them to scale vis-a-vis the technology companies.

"PS: Read the millionaire next door and you find a lot of people in the use that made a few million from those bricklaying startups. The main difference is it often took them 20 years to get where software companies got in 5."

The OP cited bricklayers as an example of million-dollar startup companies not being unique to the computer industry. I think that your point about how challenging it is to scale more conventional "mobility-challenged" businesses is actually a very convincing argument against the idea that starting a computer company and starting a bricklayer company offer comparable potential rewards.

Holding all other factors constant, if bricklayer startups are more geographically limited than tech startups, then it is reasonable to hypothesize that tech startups have a higher probability of becoming million-dollar companies.

Also, with regards to the Millionaire Next Door, I think that it is worth repeating the old axiom: the plural of anecdote is not data.

This is a fantastic post. It is well written, and I agree with many of the authors points. Far from being angry, I think that the majority of people reading here on HN actually appreciate this type of critical analysis, and I think that it is a shame that it had to be posted on a throwaway account. However, I would like to present some alternative viewpoints for a few of the issues brought up in this post.

"As a doctor, however, someone like this - a top professional at the peak of their career - would probably make about $400,000. Partners at big law firms commonly net a million a year. Investment bankers are making several million (post-crash!). Top management consultants easily clear $500,000. Even a top accountant - probably a partner at a big 4 firm - would make two, three, or four times as much."

Hold on a second. What is the point that you are trying to make in this post. You say that you are talking about comparing computer programmers as compared to other highly skilled professionals, but then you narrow your focus to the highest percentile in each category. How many lawyers are partners in a big law firm out of the total number of lawyers? How many of these top management consultants clear $500,000?

The top performers in every industry will always make a salary that is amazingly higher than the median. However, unless you know the exact distributions of the salaries in each industry you can not meaningfully compare top performers. What good is it to know that a certain lawyer makes a million dollars a year without knowing how probable that outcome is relative to some more dreary alternatives.

When I started reading your post, I started reading it with the expectation that you were talking about the general market for programmers. Then about halfway through, it seemed to me that you had switched to talking about the very highest performers in the highly skilled labor market. Well, if that is what we are going to be talking about, then we should focus on it.

Look, the highest performers in the computer programming field are no longer called computer programmers. They are called CEOs and there is a high likelihood that they are very, very well compensated relative to the best performers in many other industries. However, as I said earlier, it is pointless to throw around anecdotes about how this 99.999th percentile individual made millions or this one made billions.

So, let's get back down to earth, and try to find some passably good numbers (not perfect, but better than nothing) to use as comparison points. Let's look at some numbers that may be more relevant with what someone around the 50th percentile would experience. All of the following links display ranges for salaries in each field. No, they are not the best samples available, but they are better than going without any data whatsoever.

Note: As stated on the site - all compensation data shown are gross, national from the 10th to 90th percentile ranges.

Physicians: http://www.payscale.com/research/US/People_with_Jobs_as_Phys...

Note: Physicians must have several years of residency as well as an M.D, so a programmer would already have 5 to 9 years of experience compared to a physician that is just beginning.

Lawyers: http://www.payscale.com/research/US/Job=Attorney_%2f_Lawyer/...

Lawyers in the states typically need a J.D. before they can actually begin being a lawyer, and law school is very expensive. I should also note, that the gravy train is slowing down dramatically for lawyers - http://www.economist.com/node/18651114

Software Engineers: http://www.payscale.com/research/US/Job=Software_Engineer_%2...

Sr. Software Engineers: http://www.payscale.com/research/US/Job=Sr._Software_Enginee...

Sr. Business Analyst: http://www.payscale.com/research/US/Job=Sr._Business_Analyst...

System Admins: http://www.payscale.com/research/US/Job=System_Administrator...

Computer Programmers: http://www.payscale.com/research/US/Job=Computer_Programmer/...

Management Consultants: http://www.payscale.com/research/US/Job=Management_Consultan...

Investment Banking: http://www.payscale.com/research/US/Job=Associate_-_Investme...

Accountants: http://www.payscale.com/research/US/Job=Accountant/Salary/by...

Sr. Accountant (numbers look a little screwy here): http://www.payscale.com/research/US/Job=Senior_Accountant/Sa...

Looking at those numbers, it does not seem to me that there is anything particularly wrong with computer programming as compared to other highly skilled professions. As a matter of fact, given that one can become a programmer without needing additional certification, it seems to me, at least, that computer programming is a great field to be in.

"What \"programmers can get rich in startups\" really means is \"entrepreneurs can get rich in startups\", whether they're programmers or bricklayers."

What is the percentage of bricklayers that get rich creating a startup? I don't have the number offhand, but I do know that there is no "Silicon Valley equivalent" for bricklayers. If there was really that vibrant of a bricklayer startup industry, then, due to agglomeration, you would expect there to be at least a few geographical areas where there was a high concentration of bricklaying startup business being conducted (think something like Wall Street).

"I think it isn't. I think the country would be better off if MIT computer science students, like their neighbors at Harvard Law School, could dream of growing up to be President. And I think we'd all be better of if computer science wasn't just seen as a major for socially awkward nerds."

I agree completely, and, actually, I agree with many of your other points as well. That's the thing though, when you are talking about programmer respect it seemed as though confused several different "types" of respect - compensation, entrepreneurship, political pull. With regards to the first type of respect (compensation), I disagree with you because the data for compensation suggests that an alternative hypothesis may be true. With regards to the second type (entrepreneurship), I cannot definitively definitively say either way but neither can you because the data needed to compare the numbers of successful entrepreneurs in different industries does not seem to be readily available.

With regards to the third type (political pull), I agree with you, but I think that perhaps their are deeper things. I have some hypothesis:

1. Perhaps the skills that it takes to do well in politics in the U.S. are somewhat orthogonal to the skills that it takes to build a multi-million dollar software firm from nothing and run it? How could an engineer win an election where the campaigning generally consists of 5 second soundbites and smear campaigns?

2. Maybe the problem is the general youth of the industry. The software industry is in its infancy. Maybe, over time, as it grows deeper roots, it will acquire more political power and influence? This is a fairly likely hypothesis.

Finally, I would like to address one last point:

"When the government wants to bring in more workers from overseas - which obviously lowers salaries, and reduces job security - who do they bring in?"

The problem is actually not so obvious:

* Are the programmers entering the country working in the same exact fields and at the same levels of expertise as the programmers that are local? If this is not the case, then the impact on pre-existing salaries would be negligible.

* Are the programmers entering the country located in similar geographical areas to the programmers that are local? If this is not the case, then, again, you are not likely to see much of an impact.

* Do the programmers entering the country require additional training as compared to local programmers? If this is the case, then they would have lower compensation not because they are willing to work for less but because they are being compensated in the form of additional training.

* Is the industry rapidly growing? If this is the case, then it may be conceivable that existing programmers and programmers entering the country would both benefit as the growing industry has room for them both.

* Of course, one can always increase pay through artificial scarcity, but the problem with doing this is that it ends up costing society by resulting in a deadweight loss - consumer and producer benefits that are never obtained due to artificially high market prices.

* There are quite a few other things, but this post is now more than long enough, and I really need to get back to work.

I am a recent coffeescript convert. When I first heard about coffeescript I dismissed it offhand as a pointless abstraction over javascript, which I judged to already be a high level language. (In retrospect, I am ashamed to say it, but I think that I found the syntax to be intimidating.) I then went on to continue, happily, writing thousands of lines of javascript.

Somewhere along the way, I came across Paul Grahams essay "Succinctness is Power" ( http://www.paulgraham.com/power.html ), and I thought about how my productivity could be increased if I had access to a language that offered me the ability to do more with less. That was when I decided to revisit Coffeescript.

For my first task, I decided to rewrite some of my simpler javascript code into Coffeescript just to get a feel for it. Initially, the things that had initially repulsed me were somewhat irritating:

* The lack of parenthesis and brackets - I doubted that it would be possible to maintain code readability without them

* The reliance on indentation

* The overall "strangeness" of the appearance of coffeescript code (to someone with a predominantly java background)

Here's the thing though. All of those objections are only surface deep. Once I actually started to code in Coffeescript, I found that I became completely comfortable with the syntax. As a matter of fact, I don't think that I could ever go back to conventional javascript again. Especially because I would lose (among other things):

* An elegant syntax for writing classes using javascript

* List comprehensions

* Elegant string interpolation (it's the little things that count)

It is easy to be skeptical about coffeescript if you natural lean away from things that are surrounded by hype, but, take it from me, coffeescript really is an extremely valuable tool that no web developer should be without. It is more than just a way to write pretty javascript. It is a powerful, flexible, and elegant language in its own right. Don't be turned off by its syntax, give it a try today!

"I'd say it's because if you're finding functional programming incredibly difficult, you maybe shouldn't be lecturing on what it is."

Thank you for your thoughtful reply. I really do appreciate it.

It isn't the programming that is the hard thing. Writing some code to do something meaningful is not what is giving me a problem. Actually, it is trying to develop a deep understanding of functional programming that I am finding difficult. Maybe the problem is that I am confusing functional programming with purely functional programming?

My apologies to tumult if it came off that I was lecturing in my original post. I find it challenging to get tone perfectly right on the Internet. Face to face conversation or conversation over a phone is far better.

I think maybe this entire thread comes down to a question of semantics. When I program in non-functional languages I tend to lean towards using map/reduce type constructs a lot, but I never really thought of that as "functional programming". I guess I always thought that in order to really do functional programming, you really needed to have some kind of deep understanding of it.

Maybe if I had a formal computer science background, my perspective would be a little bit different because I would have more easily seen the point that you are making. As it stands, my background is in the social sciences and my knowledge of the science part of computer science is sometimes lacking.

Perhaps you are right, I should have been better informed before attempting to inform others. But if I had not typed my original post, then I would have never received your helpful reply and I would still be in the dark!

"Functional programming is just the general notion of using more functions, and less computer-architectury things, to express your ideas."

Umm, no, that is not what functional programming is. Functional programming is, basically, programming without side-effects. A purely functional language will have variables that are completely immutable. This is a bit of a shift away from the way things are done in C or C++.

Speaking just for myself, I started into the programming world with Java (not counting QBasic), and I am finding it incredibly hard to wrap my brain around the idea of functional programming.

My understanding is that most programmers that have a background primarily working with non-functional languages have a challenging time initially grasping the concepts of functional programming. However, I would guess that a programmer that learns a functional programming style early on would probably have very little difficulty understanding non-functional constructs.

For more information, I would like to point you towards some easy reading:

* http://en.wikipedia.org/wiki/Side_effect_(computer_science)

* http://learnyouahaskell.com/introduction#so-whats-haskell

Edit: To whoever down-voted me, I would appreciate some explanation of your views. The fact is that functional programming is not just using functions. The article plainly refers to functional programming languages and not simply using functions. There is a difference.