Disclaimer: I'm not remotely a Node.js fanboy. I've used it and and chances are good that you've interacted with some of my code today, but it's definitely not my preference.
I said that "Node.js is concurrent" because 1) the summary claims it's fast, and 2) Node.js fans who don't fully understand it seem to think it's magically fast. No, it's not particularly fast: it's just able to handle a lot of requests at once. Those are orthogonal.
Node.js is mostly event driven, but it's concurrent in the sense that it can be servicing many thousands of simultaneous requests by doing the parts that aren't currently blocked. It's not quite single threaded, though, as the blocking parts are handled in their own threads.
1) Languages aren't compiled or interpreted: implementations are. Java has had a decent optimizing compiler for a long time, but JVM 1.0 wasn't exactly a speed daemon. JavaScript was a dog for a long time, but modern engines like V8 compile it to native machine code.
2) Node.js isn't fast. It's concurrent. You can handle many thousands of simultaneous requests, as long as none of them are working particularly hard.
3) Exactly what collision course are we talking about? I can't imagine many situations I'd consider Node.js for that I ever would have though about Java for in the first place. If anything, I see Node.js as more of a competitor to Python for building scalable backend services.
Also, HTTP/1 already allows a browser to send multiple requests without waiting for the response of the previous request.
But it doesn't have a decent mechanism for sending responses before they're requested. With HTTP/2, your server can say "here's the page HTML, and here's a stream for the favicon linked in the HTML headers, and here's another stream for the JavaScript". The quickest request is the one you don't have to make.
If customer A consistently gives lower-than-average ratings, scale their reviews upward to that a "3" from them is a "5" from someone else. If they consistently give "5" rating but give a "1" to a particular driver, then pay attention to that deviation.
Same for drivers: if B frequently gives "1" ratings to passengers, then that's a roundabout way of saying that B is a difficult jerk and you can ignore those.
Well, clearly. If they actually cared about preventing speeding, they'd advertise speed traps so that you were paranoid about driving fast through that area. They don't want to deter crime, they want to punish it through lucrative fines.
The enlightened self interest angle is that I don't want corporations treating H-1Bs like crap, because it enables the companies to get them for cheap, which depresses salaries in my career path. I want companies to have to treat H-1B visa holders well because 1) it's the right thing to do, and 2) so that I'm not competing against guys who'll work for 2/3 my salary for fear of being deported.
LOL that's precious. Meanwhile, the H-1B employees I know - my personal friends, people I hang out with and trust - describe a legal hellscape that's pretty much exactly indentured servitude. One of them managed to escape a bad situation by hooking up with a major corporation who could expedite the process to have the transfer done within a couple of months. That's two months of walking on eggshells so that they didn't get fired and deported. Another wasn't quite as lucky and had to ship out to the European branch of their new employer so that they can come back to America in a year or so, presuming everything is in order by then.
You're on crack if you think an H-1B isn't a recipe for suckishness. Regardless of what it hypothetically sounds like on paper, the situations I witnessed firsthand were terrible for the workers involved.
Use 4 spaces per indentation level.
[...]
Spaces are the preferred indentation method.
Tabs should be used solely to remain consistent with code that is already indented with tabs.
That's the the near-universal style almost everyone used anyway, so it was more of a hypothetical than practical issue anyway.
I also disagree about C being "incredibly complex for a beginner".
One of the things I disliked about a data structures class using C was that you had to learn a fair amount of boilerplate and memory management to get up and running. Those are important things, but it's a frustratingly steep learning curve when you're more interested in a structure or an algorithm than you in the language. For example, here's a complete, working linked list in Python:
I don't mind C, but it's way too easy to get distracted by coordinating all the moving parts, so that you lose focus on the problem you're trying to solve.
Our Exchange server was also safely being a Postfix "firewall", but we also configured it as a smarthost so that Exchange never had to contact the Internet directly. You might see if that's an option for your setup.
PvP is a lot different from war, though. Almost every board game ever made is PvP by that definition, and I don't think I'd consider Chutes and Ladders in the same category as Battlefield 4.
EVE seems to be doing OK, and while there's war to participate in if you want to, there are plenty of people making money from mining, research, logistics, and so on.
Yeah, I'm not keen on relying on a proprietary overlay to a proprietary OS. What happens when backward-incompatible service pack X arrives and breaks the overlay, and then you have to decide between learning the defaults or not upgrading? I'm not a fan of such things on general principle: if the OS really wants me to do things a certain way, I try to either adapt to it or not use that OS at all. Continually fighting against the current makes me tired.
I also submitted the story but got scooped. I wrote this:
Our favorite source of resistors, odd batteries, and cell phone accessories is preparing to file for bankruptcy, according to the Wall Street Journal. Millenials won't remember a time when it was a legitimately geeky place to go with lots of new at the time computers on display, tons of electronic kits and DIY gear, and a Free Battery Of The Month club card. Sadly, Radio Shack never found a clear way forward from those roots and swung between emphasizing several categories of small consumer goods.
It's really too bad. Radio Shack was a great place when I was growing up, but floundered about from one market experiment to the next and never found its footing. I really hope I'm wrong and I wish them well, but I can't imagine how they could possible make it through this.
We bought a laptop for my then-12-year-old son so he could play Minecraft without using ours. It shipped with Windows 8 and he is young and unexperienced enough to not have any prior opinions. And above all else, it was his beloved Christmas laptop, not some random beige box that an employer shoved onto his desk. In other words, this was the best possible scenario for someone to like Windows 8.
Two years later, he despises the desktop with a passion. Sure, his programs run well once he launches them, but everything else is a hassle. It looks weird. Nothing works like the lab computers at school. His friends don't have anything like it. It's obnoxious for the sake of being obnoxious, and I've heard plenty of complaints about Windows itself since we got it. They're good natured and he isn't ungrateful: when I asked him if he liked his laptop, he told me he loves it and it runs great, "but is the next Windows going to be less stupid?"
If you make a UI change and Retirement Joe in the office pool doesn't like it, well, that's probably just Joe being crotchety and close-minded. But what's it say when a malleable early teen who didn't have preconceived notions also thinks it's illogical and weird? I think it says you've done something very, very wrong.
How long exactly do you suppose that phones are expected to last? I had a RAZR ten years ago and it's insane to demand that Motorola should still be supporting it in any meaningful way. More recently, the first iPhone shipped with 128MB of RAM and as little as 4GB of flash - not to mention a non-replaceable battery that is probably universally dead by now. You know, there are legitimate reasons why things improving as quickly as portable consumer electronics have short expected lifetimes. It's not so much that the hardware should die quickly as that almost everything will be functionally obsolete after a couple of years.
Should Apple be supporting a 7-generation-old iPhone 1? Should Motorola be supporting a class of device that for practical purposes no longer exists? Both of those are unreasonable expectations.
That seems to be the case. Is there an Android vendor that makes upgrading as seamless as it is for Apple devices? If so, I'd like to see what their adoption rates are like.
Joking aside Lollipop went from 0% to 0.1% in two months. iOS 8 went from 0% to 56% in two months (released in September; at 56% in November). As of now, the latest iOS 8 has 68% share, the previous iOS 7 has 29%, and older releases have about 4%.
According to Google, 46% are using two-generations-old Jelly Bean and 15% are using versions at least three generations old.
I think there are more reasons for Android users not upgrading than "they got busy over Christmas".
No, because it would presume you are broke and have more time than money.
Disclaimer: I'm not remotely a Node.js fanboy. I've used it and and chances are good that you've interacted with some of my code today, but it's definitely not my preference.
I said that "Node.js is concurrent" because 1) the summary claims it's fast, and 2) Node.js fans who don't fully understand it seem to think it's magically fast. No, it's not particularly fast: it's just able to handle a lot of requests at once. Those are orthogonal.
Node.js is mostly event driven, but it's concurrent in the sense that it can be servicing many thousands of simultaneous requests by doing the parts that aren't currently blocked. It's not quite single threaded, though, as the blocking parts are handled in their own threads.
1) Languages aren't compiled or interpreted: implementations are. Java has had a decent optimizing compiler for a long time, but JVM 1.0 wasn't exactly a speed daemon. JavaScript was a dog for a long time, but modern engines like V8 compile it to native machine code.
2) Node.js isn't fast. It's concurrent. You can handle many thousands of simultaneous requests, as long as none of them are working particularly hard.
3) Exactly what collision course are we talking about? I can't imagine many situations I'd consider Node.js for that I ever would have though about Java for in the first place. If anything, I see Node.js as more of a competitor to Python for building scalable backend services.
Also, HTTP/1 already allows a browser to send multiple requests without waiting for the response of the previous request.
But it doesn't have a decent mechanism for sending responses before they're requested. With HTTP/2, your server can say "here's the page HTML, and here's a stream for the favicon linked in the HTML headers, and here's another stream for the JavaScript". The quickest request is the one you don't have to make.
That was true before the days of disposable servers. Today, when it breaks, drop it from the pool of working systems.
The replacement servers come from somewhere.
If customer A consistently gives lower-than-average ratings, scale their reviews upward to that a "3" from them is a "5" from someone else. If they consistently give "5" rating but give a "1" to a particular driver, then pay attention to that deviation.
Same for drivers: if B frequently gives "1" ratings to passengers, then that's a roundabout way of saying that B is a difficult jerk and you can ignore those.
Well, clearly. If they actually cared about preventing speeding, they'd advertise speed traps so that you were paranoid about driving fast through that area. They don't want to deter crime, they want to punish it through lucrative fines.
Why is 8GB overkill? I put at least 16 in anything I have control over.
I can't speak to Android, but Apple still supports and issues updates to the three year old iPhone 4S. Microsoft sometimes just walks away from stuff.
The enlightened self interest angle is that I don't want corporations treating H-1Bs like crap, because it enables the companies to get them for cheap, which depresses salaries in my career path. I want companies to have to treat H-1B visa holders well because 1) it's the right thing to do, and 2) so that I'm not competing against guys who'll work for 2/3 my salary for fear of being deported.
that is not factual in any way and doesn't help.
Precisely what I was thinking about your woefully inaccurate claim.
again, facts are important.
Correct, which is why I choose to believe the facts instead of naive misintrepetations off the Internet.
LOL that's precious. Meanwhile, the H-1B employees I know - my personal friends, people I hang out with and trust - describe a legal hellscape that's pretty much exactly indentured servitude. One of them managed to escape a bad situation by hooking up with a major corporation who could expedite the process to have the transfer done within a couple of months. That's two months of walking on eggshells so that they didn't get fired and deported. Another wasn't quite as lucky and had to ship out to the European branch of their new employer so that they can come back to America in a year or so, presuming everything is in order by then.
You're on crack if you think an H-1B isn't a recipe for suckishness. Regardless of what it hypothetically sounds like on paper, the situations I witnessed firsthand were terrible for the workers involved.
Python has a PEP (think RFC) for that. It says:
That's the the near-universal style almost everyone used anyway, so it was more of a hypothetical than practical issue anyway.
I also disagree about C being "incredibly complex for a beginner".
One of the things I disliked about a data structures class using C was that you had to learn a fair amount of boilerplate and memory management to get up and running. Those are important things, but it's a frustratingly steep learning curve when you're more interested in a structure or an algorithm than you in the language. For example, here's a complete, working linked list in Python:
I don't mind C, but it's way too easy to get distracted by coordinating all the moving parts, so that you lose focus on the problem you're trying to solve.
Our Exchange server was also safely being a Postfix "firewall", but we also configured it as a smarthost so that Exchange never had to contact the Internet directly. You might see if that's an option for your setup.
PvP is a lot different from war, though. Almost every board game ever made is PvP by that definition, and I don't think I'd consider Chutes and Ladders in the same category as Battlefield 4.
EVE seems to be doing OK, and while there's war to participate in if you want to, there are plenty of people making money from mining, research, logistics, and so on.
5) Uses Intels new-ish RDRAND instruction for a higher quality random number gen as the basis for ASLR
The ones that FreeBSD de-emphasized due to security concerns?
Yeah, I'm not keen on relying on a proprietary overlay to a proprietary OS. What happens when backward-incompatible service pack X arrives and breaks the overlay, and then you have to decide between learning the defaults or not upgrading? I'm not a fan of such things on general principle: if the OS really wants me to do things a certain way, I try to either adapt to it or not use that OS at all. Continually fighting against the current makes me tired.
I also submitted the story but got scooped. I wrote this:
Our favorite source of resistors, odd batteries, and cell phone accessories is preparing to file for bankruptcy, according to the Wall Street Journal. Millenials won't remember a time when it was a legitimately geeky place to go with lots of new at the time computers on display, tons of electronic kits and DIY gear, and a Free Battery Of The Month club card. Sadly, Radio Shack never found a clear way forward from those roots and swung between emphasizing several categories of small consumer goods.
It's really too bad. Radio Shack was a great place when I was growing up, but floundered about from one market experiment to the next and never found its footing. I really hope I'm wrong and I wish them well, but I can't imagine how they could possible make it through this.
We bought a laptop for my then-12-year-old son so he could play Minecraft without using ours. It shipped with Windows 8 and he is young and unexperienced enough to not have any prior opinions. And above all else, it was his beloved Christmas laptop, not some random beige box that an employer shoved onto his desk. In other words, this was the best possible scenario for someone to like Windows 8.
Two years later, he despises the desktop with a passion. Sure, his programs run well once he launches them, but everything else is a hassle. It looks weird. Nothing works like the lab computers at school. His friends don't have anything like it. It's obnoxious for the sake of being obnoxious, and I've heard plenty of complaints about Windows itself since we got it. They're good natured and he isn't ungrateful: when I asked him if he liked his laptop, he told me he loves it and it runs great, "but is the next Windows going to be less stupid?"
If you make a UI change and Retirement Joe in the office pool doesn't like it, well, that's probably just Joe being crotchety and close-minded. But what's it say when a malleable early teen who didn't have preconceived notions also thinks it's illogical and weird? I think it says you've done something very, very wrong.
Should Apple be supporting a 7-generation-old iPhone 1? Should Motorola be supporting a class of device that for practical purposes no longer exists? Both of those are unreasonable expectations.
That seems to be the case. Is there an Android vendor that makes upgrading as seamless as it is for Apple devices? If so, I'd like to see what their adoption rates are like.
Joking aside Lollipop went from 0% to 0.1% in two months. iOS 8 went from 0% to 56% in two months (released in September; at 56% in November). As of now, the latest iOS 8 has 68% share, the previous iOS 7 has 29%, and older releases have about 4%.
According to Google, 46% are using two-generations-old Jelly Bean and 15% are using versions at least three generations old.
I think there are more reasons for Android users not upgrading than "they got busy over Christmas".