skysight-inc/HackerNews huggingface dataset:
Actually what I have found it has highlighted is just how many of the Node advocates completely and utterly fail to understand their competition. I really, really wanted to think it was just a few isolated people, but the evidence suggests that the meme that Node is actually some sort of multiprocessing breakthrough has spread further in the last few months, rather than dying out.

So let me lay it out for you: Node's multithreading is primitive. There are in fact other languages that can simultaneously do long-running computations and serve web pages at the same time, because they are not single-threaded under the hood. That is a Node limitation, not a fundamental computing limitation. Many of those other environments can also trivially use multiple cores within the same OS process.

We are discussing the limitations of Node with regard to long running precisely because it is a limitation that Node in particular has, and that there are other environments that do not have it. We are discussing this limitation precisely because the casual presumption you make in your last sentence that Node is the epitome of programming platform, and therefore if it has a problem then everything else must suck too, is false.

I am staggered at the degree of ignorance of other platforms being displayed by the Node partisans here, because it's not "well, OK, that's nice but in practice I don't care", which I would disagree with but would at least consider debatable (and I mean that quite honestly), but rather just a continuous talking past the Node partisans entirely, with little evidence that they even understand what is being said. I say this from experience over the past couple of days, where it's pretty clear the Node partisans seem fundamentally incapable of considering the concept of "environment that does not have the fundamental limitations of Node".

Several of you seem to be expressing confusion about why some of us aren't coming around to seeing the light. To you all, I'd recommend this essay: http://www.paulgraham.com/avg.html Hint: Node is blub.

Let me be clear about my motivation in writing this, and generally trying to tamp down on the Node hype. First, it's bad for Node. I've seen this cycle before, and as fun as the ride up is, when it is predicated on false claims it tends to explode at some point and the whole thing goes down in flames. (A process that may now be starting.) Second, those of you who only know Node and think it is the epitome need to have it explained to you that there are in fact other tools that are more useful in these cases, so if you ever encounter those problems you can use the right tool for the job. Otherwise, you'll blow untold manhours trying to force a old paradigm to do something you could have done in a more modern one much faster and more effectively. I don't hate Node; I hate the hype, and the damage it is doing to a large group of people by lying to them about what the competition does.
> So you concede Antrix's point that mutlithreading is not slower?

Slower than what?

I said (and you quoted): threading doesn't come "for free", in that you need to pay a performance cost in terms of locking in your interpreter and/or a code complexity cost in terms of access to your shared data structures

For your reference, I stand by that comment and don't think I've said anything to contradict it. For clarity, this is what I think:

1) a multithreaded (fine-grained locking) interpreter will run a single-threaded workload slower than an interpreter with a GIL (reference from elsewhere in this thread): http://www.artima.com/weblogs/viewpost.jsp?thread=214235
http://mail.python.org/pipermail/python-dev/2001-August/0170...

2) the threading programming model imposes a complexity burden on the programmer, since all data structures are shared by default and so they must think about every data structure and whether it can become shared in practice (and so must be concurrency-safe or not)

Basically - either your interpreter locks everything for you (perf cost) or you have to worry about it (complexity cost) or a bit of both.

I don't think that threaded access to an in-process data structure is slower than multi-process access to memcached.

I do think that defaulting to private data and having explicitly shared data is wise and is an easier programming model.

I hope that's clear. Please let me know if you think I've been inconsistent, rude or done anything other than espouse these points in this thread.

ps. I found your last reply rude. Also I'm not trying to say "threads are bad and you are bad for using them". I'm also not attacking your (or anyone else's) integrity.
Google and the Power of Positive Feedback
Fuck this is a shitty way to have to view an event in this century.
I just want to make sure I've pointed out that it's only on HN that I get this problem (so far). I surfed around for a while through the proxy (reddit, slashdot, a few other places) and they all worked fine.
SEEKING WORK (remote)

Frontend/backend developer (13 years experience: PHP, Javascript/jQuery, CSS)

Recently built http://tvsizematters.com.

Specializing in fixing website bugs: http://fixingsites.com.
Yeah. I really want to see this discussion taken in a direction where we're actually talking about Node.js and its computational (non-?)efficiency, instead of this needless back-and-forth.
SSL: broken by design?
Statements like this -- saying that x86 is either good enough or as good as anything could possibly be anyway -- sound to me like a lack of imagination, lack of perspective, or not wanting to stir up any cognitive dissonance given that market forces have caused x86 to dominate.

Would you also say that there probably couldn't exist a significantly better OS than Mac, Windows, or Linux, or else we'd know about it? I admit "better" can be hard to define; what would make a 10x better car, or IP protocol, for example? It strains the imagination, because what makes these things "good" is complicated. But ask anyone who was around during the early proliferation of computer architectures and operating systems, and they will tell you that what ended up winning out is markedly inferior to other things that could have been. Paths get chosen, decisions get made, billion-dollar fabs get built. The market doesn't pick the best technology.

It's like web standards -- accept them, but only defend them to a point. We may be stuck with CSS, but that doesn't mean it's any good or that it succeeded on its merits.
You might be able to prevail, yeah, but many people are a bit scared of finding themselves on the street, unable to find another apartment, so aren't willing to play hardball. With an unofficial sublet (no signed lease, etc.), landlords don't necessarily resort to proper court-supervised eviction proceedings; "eviction" can take the form of "change the locks and dump your stuff on the curb, and deny that you ever lived there", which probably rarely happens but seems to be a common worry of people renting irregularly with no paperwork.

Then you'd have to find somewhere to live, and undertake the time/expense of suing. The best protection is probably a bit of a mutually assured destruction angle if the landlord is breaking the law through the irregular rental in the first place (in Santa Cruz many of the rentals are off the books because they aren't even legal rental units--DIY converted garages and attics and such).

Not sure how big that "informal rental" section of the economy is, though, so maybe this isn't a common situation. I'd guess it's highest in NYC.
Ask HN: Google Analytics Realtime reviews?
Have you gotten access to google realtime analytics yet? If so, how is it and how does it compare to other products (woopra, chartbeat)?
Apple II would have been impossible without innovations by Xerox’s PARC

Minor quibble; the author is probably talking about the Mac -- not the Apple II, which predates the PARC visit by at least two years.
Call stack?
If you swallow a cost of 10, but that 11 people gets 1 from your contribution, the society as a whole wins.

It sounds to me like you're saying "so long as society sees a net gain, it's ok to exploit other people"
This will be an interesting one to watch. I know a ton of great .NET developers who have bailed on the platform and switched to open source. This is anecdotal for sure, but if this is a huge trend then you're left with a bunch of companies with huge investments in a platform, and an ever decreasing number of developers who can actually code effectively for it. The salariesrates should go up, but these typical corporate .NET clients are cheap motherfuckers. I'd predict a resurgence of offshore consulting to meet demand.

However it does seem like devs for every technology are in high demand and low supply. It could just be as simple as that.
Either they crashed.. or they crashed ustream
Testing Ferrari by seeing how much weight it can tow would actually get you pretty useful performance metric.

Point of this whole thing is that you cannot reasonably do complex computations in Node. While most "Web 2.0" applications probably does not need to do that in response to request, there are also many web applications that actually do something that might be reasonably called complex cpu-intensive processing in response to user request (although most such things are hard to scale). So it really boils down to "right tool for the job" - and for many practical (but maybe un-popular) problems, Node simply is not the right tool.
My major reactions while playing the game tended to follow a theme:

Game: Mobile phone bill's due.
Me: I have a mobile phone??
Game: Landlord wants pet rent for the dog.
Me: I have a dog??
Game: Car payment's due.
Me: I have a CAR???
Game: How about some $60 internet?
Me: How about the $20 non-broadband type?
Game: You lost your car, so you lost your job.
Me: No, see, that's why I paid extra to live close. We call them bikes.
"Jumped the shark” considered harmful.
Love Express,Hindi,Movie
Love Express,Hindi,Movie
A marriage between two young men Kanava Ashneet is about to take place and their loving family punjabi are booming and in turn, the train ride
I hope it is changing. Berkeley offers some of the brightest talented people. The business plan competition and some of the engineering schools at Cal should foster the students to actually do the startup they're working on for class, thesis, etc. Most graduating students (undergrad, MBA, PhD) I know eventually end up taking jobs.
> Right now we are working on adding MySQL support, so you can port pretty much any existing app.

If you're offering a PHP PaaS, shouldn't you plan support for the de facto standard PHP RDBMS out of the gate?

> Currently a group of 15 or so people is actively testing this and is sending us valuable feedback. Nevertheless it’s quite close to production-quality service and you’ll hear more about it very soon.

Be careful there. 15 people is not a large enough sample size to claim that your distributed system is "close to production-quality". There are plenty of assumptions that work for 15 people that could completely fall over at scale.
No other industry deals with people being able to copy their product flawlessly and eliminate any scarcity of the final package like music does, which you don't need an education in economics to understand the impact of. There is almost no reason to assume that $0.50 will convert better among people who pirate music now, since those peoples' current price is free. And if you don't think a song is worth $0.99, maybe you should pay more attention to what goes into creating one than just what goes into copying one when it's finished. The scarcity is not in the distribution, it's in the 20+ year process that goes into creating the original mold in the first place. The supply is unlimited because people make it so illegally and without regard for the rights' of content owners or the hard work they put into making products that millions of people enjoy. It's not a practice that should be defended on any level, let alone justified in a debate about free markets. Piracy is lazy and cheap, and that is all.
140,000 users viewing a black screen (broken video). lol that's a lot. hope it works soon.

the total views is going up at like 1500/second
Knowing when to quit - an under-rated skill.
I think my one issue with LibreOffice is, honestly, the name. I speak Spanish, so I get the meaning behind Libre meaning free (as in unencumbered, or available, not referring to price).

But for some reason the name still bugs me. OpenOffice was such a nice, clean name. LibreOffice just doesn't roll off the tongue in the same way.
Selling 100,000 in a day: Yes

Its not a feature war :) I couldn't give a flip about everything you just mentioned. Here's the real test:

Great product: yes

That is all that matters.
Goatse as industrial sabotage, and the proletarianisation of creative industries
How to go from a tech professional to a entrepreneur with Ben Stucki of Daio
You know, if their corporate sponsors don't make any money off the deal, they are going to stop signing recording artists.
Ars has a pretty good liveblog going as well: http://live.arstechnica.com/Event/iPhone_5
I'm pretty sure the only sane way to implement CPU intensive tasks in Node and browsers are web workers. Not sure about the state of web worker support in Node but the resulting code should be straightforward. Even so, the speed of JavaScript is limited, so any serious number crunching will be a pain in the ass.

Node and browsers are seldom used for CPU intensive tasks for now, so it's not a priority.

There are alternatives that handle node's current warts elegantly, can do serious number crunching painlessly, but just don't have the cool factor.
Google Analytics, I Can't Trust You
> What about all situations where you want to use threads, but not due to resource constraints? I would assume your answer would be "don't use threads" but you say you're not rabidly anti-thread.

But you can use threads now,with the GIL? The discussion about removing the GIL is a performance issue?

So - my answer would be "sure, if you want to use threads for convenience, go ahead - but note that in this case the GIL isn't a problem".

> Of course, if the runtime knew it was only running one thread it could ignore much the synchronization code altogether, but we don't want to pay the tax of a single branch decision, do we?

That's an interesting one. I'd love to see the numbers. Well, if you remove the GIL it would be a branch per elided lock. You may well also find yourself increasing the size of all potentially-shared data structures (to hold the lock). It would be interesting to compare that to the case of uncontended mutexes.
Private browsing I don't think is even the correct solution to the problem. Users that use private browsing don't want others that use their computer to see what they have done. Illusions that they are hidden from servers with most browsers (Arora's crypto fork was the best I have seen) "private browsing" is silly.

From http://benjamin-meyer.blogspot.com/2009/08/next-generation-d...

"Private Browsing mode as it is today if flawed. It was best highlighted when FireFox 3.5 users were horrified that there porn sites were showing up in the location bar search because they had bookmarked them in a "hidden" folder. When using Private Browsing it destroys much of the value that a browser can provide (history, bookmarks, autocompleting in the location bar, disk cache!) while not actually fulfilling the feature the user wants. Users don't care if they [themselves] run into their porn, they just don't want anyone else to ever see it."

The only alternative I know of is Netscapes multiple profiles, but the cost of switching was _way_ too high and the profiles were not encrypted. The second best is a Chrome book. This is a ripe place for innovation.
This is such an interesting idea. 3 different audiences = 3 different sets of plans. Look forward to seeing how this turns out.
Buck Teeth
Maybe I'm a bit old-fashioned, but I think it's slightly premature to brag about your great company culture before your company has done anything of note.

On that note, the "only hire entrepreneurs" thing is just stupid. Yes, everyone wants to hire creative people that can do everything well with little direction. But here in the real world, most people don't meet that description, and many that do want want to work for you. Then what?
That's the same as startup getting investment because they have "traction", and most won't if they don't. And the benefit of having a label is that, while you don't need one to tour and focus on new media, it sure as hell helps to have professional help from people who have done this countless times. There are thousands of independent labels. Some will do nothing for you. Those that do their job can do things that a fraction of 1% of artists can do on their own. Nobody should sit around waiting for a label, but nobody who knows what a good label can do would say they're not extremely valuable and worth signing over some of your "equity" to.
I'm being intentionally dismissive of the notion that America is on the cusp of a popular revolt against "the rich", at least to the extent such a revolt takes the form of the occupy wall street movement. I think various establishment Democrat-affiliated groups have taken an obvious interest, since they're hoping (against hope, I'd say) that this will become a counter-balance to the Tea Party. I will happily continue to underestimate them, despite the risk that it will somehow make them stronger.

Also, I'm not saying that our recession is a normal growth/recession cycle. The 'standard' business cycle is (usually) inventory driven and the economy quickly recovers once inventories drain. This is a "balance-sheet" recession. It's driven by excessive consumer (and public) debt, and only goes away once that debt clears the system. "Wall Street" is to blame for excessive debt in the same way that McDonalds is to blame for obesity. They're one side of a two-sided transaction that was taken to excess, and now we have to patiently wait for the consequences to play out.
I agree, but it sure does feed the hype machine. Think about how many news sites are hosting live blogs, and how many incidental visitors are seeing front page articles about it, and have been seeing ads for the live blog for days leading up to today.

Now contrast that to a company where anyone can watch the announcement live. I think most places you'd just get an article or two at the end of a product announcement, because the people who really care will just watch the announcement themselves.
Liveblog: Apple's October 4 "Let's talk iPhone" event
Twitch Forums - Powered By ExpressionEngine
New York City - ADstruc, Inc. (FE Developers & Designer) H1B friendly

Why Work At ADstruc?
At ADstruc, we are incredibly passionate about and driven by solving big problems. The Outdoor Advertising Industry is a $6.1B business and operates completely offline. It’s the last remaining ad medium not operating on an online exchange. We are fixing that. ADstruc is building products that help companies buy and sell more efficiently. We are headquartered in a loft space in SOHO, offer competitive salaries, stock options and full benefits. Do you love solving problems and working in the startup environment? If so, come hang out with us.

http://adstruc.com/jobs
>Wasn't it the point that Fibonacci wasn't the point?

Not of this post. This guy saw the wrong-track rebuttal and it was his rabbit hole into node. Apparently he wasn't impressed.
I always wanted to support OpenOffice and then LibreOffice, but it has never been as good as Word. Sadly, the corporate world uses MS Office and that forces me to use Office. The compatibility for complex files are lacking. Formatting would regularly be screwed up in one or the other. I tried LibreOffice again a couple months ago and it crashed 4 times while trying to create one document. I have given up and lost hope in LibreOffice.
The "This webpage is not available" page is even better!

ars is still up at least: http://live.arstechnica.com/Event/iPhone_5
Free cloud helps (although I think that only applies to stuff you've gotten through Amazon), but even if just for the airplane use case, it'd be nice to have the option to carry a bandolier of sd cards.
Robert Kirshner advised both Schmidt and Riess at Harvard and was an integral member of the High-Z Search Team. His book The Extravagant Universe is worth reading if you are interested in the topic. http://www.amazon.com/dp/069111742X/?tag=googhydr-20&hva... Many thought that Kirshner himself would get the Nobel for his work in the field, and I am sure it is a little bitter-sweet (if mostly sweet) for his team members to be among the winners.
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.
So, of all the replies in this thread, this one spoke to me the most. I think you're right. Thank you for describing it so well.

I started out a little after you did, with BASIC on a Commodore Vic-20 and Commodore 64, then Logo, then HyperTalk, and so on. I used to have fun decompiling programs and poking them with MacsBug to make them dance for me, and I used to have fun writing my own toy operating system and generally just screwing around. And, for the most part, my tools were simple and reliable.

So that's what I compare everything now against, and it all seems less reliable and more complicated. MacsBug was a thing of wonder and beauty compared to the "debuggers" I have to deal with most often now -- Firebug and GDBp. And I've started working recently on building my own tools, which is sort of fun again, so maybe I'm sort of headed on the right track.

But anyway, thanks for describing it like you did.
Have you considered 3G

Edit: you could also consider a backup line from an LLU provider. You still have the copper as a single point of failure, and perhaps power at the exchange, but the infrastructure is different.
"Jumped the shark" posts are an antipattern.