skysight-inc/HackerNews huggingface dataset:
to be honest, I think one of the key issues with "javascript" and "fast" in the same sentence. (yeah, this reply would be better beneath you, but HN says I can't reply to that guy.)

The reason why NoeJS is "fast" isn't JS. It's being event-driven.
I also believe JS isn't as easy to work with as python by design, even thus there are zillions of JS coders. Most of the people indeed follow the hype, more than "wait, is this actually something I should use" (you also did follow the hype and got bitten by it, in fact)
If we were in the 90s you'd probably would have said C++ is not going away so that's what all web services should be written in.

Actually, I work on some C++ web services today (but I wouldn't advise everyone do that :-)

Erlang's processes are very light weight

Yeah, Erlang is great that way.

I don't see (even in general) how inevitability of something turns that something into a good thing.

In this case it's inevitable precisely because there are application domains where the use of V8 Javascript is a big advantage (say you want to leverage the same code base on the client side). There are other domains where the use of the single-thread async model is a big win, particularly when a runtime environment can support you by eliminating inadvertently-blocking calls. These domains were overlapping for some capable implementers, so I think Node.js was inevitable for that reason.

That doesn't mean it's a terrible system if it doesn't turn out to be a great replacement for your favorite PHP framework.
If it's anything like Vietnamese then the simplicity of the grammer doesn't really get you very far. The tones are the real challenge for a Western speaker. After living in Vietnam for a year I'm fine with the grammar and have a workable vocabulary but still often have a hard time making myself understood because you really have to nail the tones to get your meaning across.
Where's the informed consent in regards to any type of student loans?

It would be simple to have bullet points that say things like:

1. You cannot get rid of student debt by bankrupcy.
2. The Govt can garnish wages, social security, and other monies if you dont make regular payments.
3. etc....

But yet, we are sold a bill of goods called "Public University" that has routinely jacked up rates much higher than inflation. Where's the public funding making costs cheap? Or, why are private, for-profit colleges protected from bankruptcy as well?

My mom (in her late 50's), tells me when she was going to university, she would only have to work during summer a job or 2 to pay for schooling for fall and spring. If she picked up a job on campus, she'd have spending money for luxuries and such. That's what public funding did for her. Not so much for this day and age.
Thanks! I read about that when it happened, which influenced my decision to use Origin of Species here. However, as it was a rebuttal attached, and not attributed to Darwin, and didn't distort or mutilate Darwin's own work, it didn't seem to fit the scenario.
> without really reaping much of a reward

So because you were unable to figure it out, no one else will ever have success with it?

> unreasonable hype

Welcome to the real world. Not everything that deserves accolades gets them. The things that are successful- they don't necessarily deserve it. Just look at top-40 music.

So anyway, your post is against the attention the framework has gotten, not the framework itself?
I get the impression that a lot of people are trying to use Node for things it isn't particularly suited for. That being, 95% of the things you'd want to build on the web.

My take on Node is that it's what you use when you want to build an Etherpad. If your app will have 1000 people messing with one thing at once, with all their interactions propagating out everywhere instantly, you're going to want to use Node. If you're building a mmorpg-in-a-browser, you'll probably find Node will be a good fit.

If you're building a CRUD app, however, Node is likely the worst choice you can make in terms of productivity lost versus advantage gained. I mean sure you'll pull it off. But the kid who wrote the same thing in Rails will be on his third failed startup by the time you get your MVP launched.

There's probably a balance that you can strike for apps that "sorta" need Nodeishness. Use a standard, non-insanity-inducing stack for the bulk of the site, then keep a Node instance off in the corner to run the "App" bit that needs the realtime communication.

I think this message got lost somewhere along the way, and now we're seeing a lot of frustration from people using this cool, specific, technology for stuff that it's just plain not suited for.
Another "mommy I quit because it's too hard for me" post. Why is that tolerated? He doesn't even present an interesting perspective on the technology. "I cannot build cool things with Lego, so Lego is terrible". Yeah awesome.
I write applications professionally in Python, Javascript, and Java. While there is some overlap, I find each platform to have merit.

* I like Java for projects that I know are going to become big and complicated. When you have thousands of classes and multiple people working in a codebase, static typing is a godsend. I don't care if it involves a little more typing. As an added bonus, the JVM performs great.

* I like Node.js for small projects, especially ones with large concurrency needs. I recently did a project that involved being able to aggregate repeated barrages of several thousand requests with a finite deadline of a couple seconds. Node.js handled twice the throughput of Twisted or Tornado, and was considerably more stable. Gevent and coroutines would have been even slower.

* I like Python for stuff "in between". Rich libraries, blocking i/o, exceptions, and proper stacktraces. Even has halfway-decent IDE support (PyDev). Execution is slow by JVM standards but Python makes a great swiss army knife.

There's no perfect platform for all situations. Use the right tool for the right job - sometimes that's Node.js. There's a lot of overlap with Python, but not as much as you seem to think.
Asking if a question is subjective may, itself, be a subjective question.

Communities of Practice (Lave, Wenger) are held together by sharing a common repertoire of practices, and opinions. Newcomers may want to explore these shared opinions. SE is obviously not a place where they can do that, so I end up agreeing with your final sentence.
I sit at a desk or the kitchen counter for long periods. Most likely sitting with my prod laptop.

For a quick hack my netbook works very nicely, on the couch.
My anecdotes are as follows: In my fathers car back in the early 90's, right before the phone rang the speedometer and rpm meter went nuts. Since that was happening only during some sort of negotiation phase between the mobile and the tower and then stopped, I waited a few seconds and the interference stopped.

Regarding the projectile flying, that is not a small problem and it doesn't happen only during take of and landing. There is a reason they tell you to remain buckled up at all times when seated. During a flight, just as I had unbuckled my seat belt, a turbulence made the airplane fall about 40cm and I landed on my seat's armrest, which hurt.
There is a comprehensive database of civil air traffic accident, compiled with IATA, on http://planecrashinfo.com/database.htm. I have yet to see anything cell phone-related.
Oh, boy, props for getting this working, but this looks really distracting to actually use as a prompt for my tastes.
To be fair, V8 (the JavaScript engine under Node) is really, really fast. Even without introducing any event-driven code. Normal procedural code will (in general) be an order of magnitude faster than standard Python and Ruby runtimes.
I had the same experiences as you did because of jumping on the bandwagon. Hasen, when you opined "Node.js is a terrible platform", I thought you would also say something about the bad decisions we make because of it. This is how I made mine:

Day 1: Let's Node.js because everyone is doing it. In that context, no-sql databases gel very well with it, so let's do that.

Day 3: Whoaa! Prototype is already done. Great

Day 4: My databases entities are so thin, sql databases are so overrated. I don't need sql.

Day 6: Uh-Oh, I did not think of that database entity. Oh no, look, it has a relationship too.

Day 7: Frack, the no-sql CRUD operations code is damn mess.

Day 8: More relationships! "If I only had used sql". Sighs. Oh wait, look a node.js-mysql library. (Code Hustle). No no, it is still a mess. Well, it is still working so let's have a little patience.

Day 15: Why my code looks like a puke?

Day 20: Ok, I/O code is now like 7-8% of my complete project. Why did I go for Node.js again? This doesn't make sense. I am going on a vacation.

Day 27: First thing back from vacation, farewell Node.js. Let's go for Flask(python) + SqlAlchemy(oh I missed you so much) + Gunicorn + Gevent + Juggernaut(for websocket.Node.js, you found your rightful place).

I think the reason for such hype around Node.js is due to the rise of a new class of startups which are born with a "fail-fast" mentality. Node.js does help you to fail fast. But I think that it is a pessimistic view of idea and software development. Agreed that node.js removes the initial inertia to implement an idea, but I think that this is it's greatest failure. A little inertia can be good. It forces you to sit down and think hard about the architecture and the idea itself. It's same as a small group of lean mean soldiers can extract a defended fort from the enemy, but holding the fort would take a lot of strategic thinking, resources and more soldiers. I think it's time to get a bit optimistic about our own ability to do that. Well, unless, you never wanted to hold the fort. In that case, everything is just fine.
It sounds like you already figured this out, but you can't encode classical information into the system in such a way that would allow for FTL transfer of information. Depending on what you are specifically thinking of as "encoding", there will be an equivalent reason why it won't work; often because you collapse the wave function of your local quantum pair-element when you transfer energy into it, which is a form of observation.
My experience learning languages in high school left me feeling that its a waste of time to learn a language for an hour a day.

Its much better to be immersed in a language for a month than spend three years learning it that way. And it takes less time altogether.
"I wasted a lot of time trying to learn node and do something useful with it (other than a dumb file server), but couldn’t. I just didn’t really know where to begin...The APIs might have been documented, but it wasn’t clear how to piece things together to make something useful."

I haven't had this problem myself. To me, piecing together different libraries in Node feels much the same as it does in any other language. You find the libraries via Google, you learn the APIs, and you write glue code to hook them in to your business logic. I'm not sure what would make Node at all different in this respect.

"The async-style of programming is almost entirely inaccessible to my brain."

I'm guessing you're referring to the mess of ultra-deep, nested callbacks that plagues many Node apps. If you just keep nesting callback after callback, then yes, your code will be ugly and unmaintainable. But there are solutions to this. Look into control flow libraries like Step.

"So what exactly is your excuse for choosing Node.JS as your backend platform?"

Here's my main reason. When building for the web, Node can sometimes be far more maintainable than many other platforms. That's because you can share code between client and server. Admittedly, the community hasn't yet settled on a best practice for implementing client-server code sharing. But folks have found ways to do it that work, and you can just pick one that feels good. Sharing code is a big maintainability improvement if you have a thick client that knows a lot about business logic.
The big difference is that encryption based on computationally difficult (but not impossible) problems (i.e. factoring) should not be used to encrypt information that must remain secure long-term.

e.g. Say you have a highly sensitive secret that must remain secret not for just a few years, but decades or centuries. If you encrypt it using a factoring based scheme and then transmit it classically, an eavesdropper could take a copy of the encoded message without your knowledge. Whatever scheme it was encrypted with will then have to stand up to decades of advances in algorithms and computing technology. Quantum computers will probably break most currently used factoring-based schemes (including elliptic) eventually, and there's no guarantee that there exists no classical algorithms that could break such encryption with practical amounts of classical computation either. You should view anything encrypted and transmitted using factoring-based methods as having been broadcast publicly with an unspecified delay.

Quantum cryptography is unbreakable in theory, but is not without flaws in practical systems. However, the nature of communicating with quantum states (google the no cloning theorem) means that attacks must be known and used at the time your message is transmitted. An eavesdropper trying to listen in on quantum encrypted communications cannot archive coded messages to attack at his or her leisure. Attacks must be immediately successful or the message will remain secure for all time.

So, your credit-card info is probably safe to transmit using factoring based cryptography, since it changes every few years. Your medical records, or where you buried that body, are a different matter entirely!
I agree that FP, Lisp, and CPS are rewarding. I find async IO very appealing because so very often I've had to implement imperfect workarounds when it wasn't available.

But I still feel really conflicted about Javascript.
You lose expressiveness, you lose maintainability, you lose peace of mind, and you get speed.

- I don't think my JS/CoffeeScript code is (significantly) less or more expressive and maintainable than the Python code I would have written. Use coffee if you want a whole bunch of language features, including some missing in Python. Oh, and a much cleaner way to write lambdas.

- Yes you need to understand async. It is of course, increasingly relevant with services and devices talking to each other. For example, in Microsoft's WinRT anything taking more than 50ms has to be async by design. After a while you might even wonder why async isn't the default way of doing most I/O.

- Flow control is hard in async, especially when you are getting started. But there are libraries which help, such as
https://github.com/caolan/async.

- The library approach works for me and is a safer bet, but isn't the cleanest. If you are adventurous you could try iced-coffeescript, which introduces keywords to give you simpler code.

- Finally, you need to have a really good grip on JS.
When there's a much smaller number of electric cars you can get away with a much smaller number of recharging/swapping stations and "pumps". They can incrementally add more stations as more electric cars are operating. Swapping stations would probably take a greater real estate footprint and require more human staffing than a charging station, which can be fairly small and automated (picture a coin-operated tire air machine). I would not be surprised if somebody at Tesla has already put R&D time into the idea of not only setting up a swapping station, but also automating it and designing a car model that works well with it. But it takes time, and devil in the details. As Elon (or any good engineer would say), there are a lot of constraints and trade-offs involved. For now, for launch, they're confident a network of roadside charging stations will suffice for the number of vehicles they expect, at least the first few years, and for the kind of buyer who will be buying early -- folks that have the most wealth and/or most want the shiny and/or most are about having an electric car rather than having everything work exactly like a gas car. As Elon has said too, I think, they'll have to deliver different features and tradeoffs in long run to be able to sell to a broader mix of customer types. But never let the perfect be the enemy of the better than what you have today. Sell to a certain customer segment. Ship product. Then later expand to other segments with different products. They could launch with what they have now, then later create new models or variants designed to allow battery swapping. That is not mutually exclusive with the charging approach, strategy-wise.

Also since they're following a "we only build what people have actually ordered" approach, they also have the opportunity to forecast, much more accurately, where there's going to be increased demand for charging/swapping stations. But regardless, they can do the cow pathing technique. (Or MIT sidewalk laying technique.) Watch where the cows/students go. Add sidewalks there. More students/cows? Widen paths or add more paths. Put one station in each major city. Add more stations and more nodes to match demand. Add stations along journey mid-points (bisections). Rinse, repeat, scale up.
Yeah, I also have one that fixes the prompt to the top so you only see a small '$' at the current line, but it messes up the terminal history.
For the moment all this means that a high-profile person got his funds unblocked and has a direct communication channel to the CEO. Meaning he's pretty much back to where he was before PayPal set him back.

For my personal blocked account, it means exactly nothing.
1. Cancer: does it matter whether it's cancer or something else? Surely the criteria here is "harm" not "cancer".

2. "Flame retardant" vs. "specific chemical": the article specifically cited recent research regarding PBDEs, why did you not consider this valid evidence?

"Researchers from the Center for Children’s Environmental Health, at Columbia University, measured a class of flame retardants known as polybrominated diphenyl ethers, or PBDEs, in the umbilical-cord blood of 210 New York women and then followed their children’s neurological development over time. They found that those with the highest levels of prenatal exposure to flame retardants scored an average of five points lower on I.Q. tests than the children with lower exposures, an impact similar to the effect of lead exposure in early life."

Furthermore, the article made it clear that the ingredients of some flame retardants, such as Chemtura’s Firemaster 550 (apparently one of the most common flame retardants), are trade secrets. The study in (2) makes it clear it can take years to demonstrate an effect. So Chemtura can't even know if their product is safe but they're quite happy to sell it to you! Surely the logical conclusion is: beware.

3. Risk vs. Benefit.

Unfortunately, and this is the crux of the problem, it seems that unless one can afford to commission a couch and pay for laboratory analysis of the foam supplier's product, avoiding these substances is very difficult given the present legal situation. And that definitely seems a point worth fighting given the potential harm identified. If you want to risk poisoning your children for little apparent benefit, that's your choice, but it's unethical to make that choice for me.
>When there's a much smaller number of electric cars you can get away with a much smaller number of recharging/swapping stations and "pumps".

No they don't, and this is a big catch for them. This is a chicken and egg problem. People will be reluctant to buy electric cars until there are fast recharge stations everywhere around, because home charging takes a lot of time, and needing to travel far away you're essentially stuck. These charging stations are not quickly appearing because there are too few people with electric cars to use them. This will fix, but much, much slower than technically/economically possible.
How perfect a product is might have an impact on brand perception.

Example: I recently bought a MacBook Pro Retina. From time to time (rarely) it makes creaking sounds. The bottom plate doesn’t sit quite perfectly on the chassis. Do I send it back because of that? No. Does that impact my perception of Apple as a brand negatively? Absolutely.
Make Requests-Cache play nicely with Heroku
The MicroKY Duostar Home Karaoke Singing System
Node.js actually has two problems that I think will be very major issues for it in the long run:

- it's based on JavaScript, which is a crappy language (despite how nice V8 is)

- (OP's point) the async style is horrible for readability, which puts a tremendous toll on productivity (though many will deny it).

There are libraries like async (https://github.com/caolan/async) and streamline (https://github.com/Sage/streamlinejs) which try to eliminate #2. They are band-aids: the language itself must support asynchronous execution without callbacks.

Node has many advantages that make it really nice - V8 is awesome because of an interesting case of technological path dependence; the standard library has a lot of modules that take great advantage of asynchronous I/O; the standard library is very high quality; the community is great - but I think the two issues above really leave room for another project to take the good parts and not the bad ones, and steal Node's thunder. It could be Go or Python (with some badly needed extra work on coroutines, concurrency, performance/adoption of pypy, etc), or something new.
Isn't client side Javascript programming also async event-driven in the exact same way as node?

Why isn't anybody whining about how terrible this is when writing client side Javascript?
On the other hand though, CFLs, with a current energy production mix of sources, cause, even if broken, less mercury to be emitted into the atmosphere than the extra power required to light an equivalent incandescent would cause to be emitted during generation (coal is mostly to blame for this). They also cause far fewer greenhouse gasses to be emitted.

Also consider that in today's litigious world, no one wants to say "don't worry if you break a bulb, there's not really enough mercury to be dangerous in one" lest someone starts breaking bulbs with wild abandon and then suing the authority that told them they 'weren't dangerous'.

There's some interesting discussion on this topic here: http://skeptics.stackexchange.com/questions/297/how-dangerou...
While I find this all sad and disheartening, I really wish we'd get better insights into what Samsung's lawyers are doing about it rather than all the complaining about how badly the jury did their assignment.

Surely if there is a way to use this in either a motion for a mistrial or to force a judicial review they not doubt would be filing it.
> None of the film emulsions (prior to NC portra) really give you a contemporary look. To get that, you have to bring the image into digital.

I went back and had a look at the photos, and you do have a point. The ones that are most striking to me, though, have--to my eyes, at least--an HD video look to them, not a Photoshop look. And that's one thing that's striking about them to me: They look so immediate and real, like they were shot yesterday. This property is something we've been trained to associate with video.

On the other hand, I think that these photos would have been nearly as striking if they had been rendered in Kodachrome style or classic Technicolor style. To our modern minds, there is no age-appropriate color style for photographs that are 100 years old, since we never see such a thing.

In fact, whenever I see well-preserved color movies from the any time before the sixties I get the "uncanny valley" feeling, since most everything filmed before then was done so in black and white, or on crappy non-Technicolor film where the color barely survived. It's definitely still a little bit of shock whenever I've seen The Wizard of Oz, just because classic Technicolor weathered so well, and you just don't expect to see something from 1939 with beautiful, saturated, unfaded color.