I don't think NIO ever claimed to be faster than old IO. Its primary selling point is (and always has been, IMO), its ability to handle tens of thousands of connections on a single thread. With old IO, ten thousand connections would require ten thousand threads. I don't care how good your context switcher is -- that is a high price to pay, especially if the machine has other high-thread-count processes running as well.
It's been my job to work with speech recognition technology for the last 10 years. I've worked with speaker-independent grammar-based recognizers like Nuance Recognizer. I've worked with speaker-dependent training-based recognizers like Dragon Naturally Speaking. I've used open source recognizers like Sphinx. I've even dabbled with writing my own basic recognition engine.
I can tell you with confidence: with the current state of commercial/open-source technology, you will not be able to get satisfactory results transcribing two speakers in the same recording. Accurate machine transcription requires training and single-speaker.
I have heard people claim that speech recognition is a dead technology because it has stopped improving at appreciable speeds. While improvements have slowed down drastically, I do not believe speech recognition is dead by any means. We've really been making the same steady progress since the inception of speech recognition -- but previously we were riding the wave of geometric (sometimes exponential) growth in CPU clock rate. Now that the free lunch is gone, recognition algorithms need to be parallelized to once again ride improvements in CPU design.
I kind of agree with your semantic analysis of the term "cyberwarrior." It's cheesy and for that reason it's just as likely to put people off as it is to attract them. But I don't think it goes beyond that. Anyone who is sufficiently intelligent to do the job, probably understands that the title doesn't always match the job description, and that good computer security doesn't change based on what you call it.
"After all, many people think anyone technical is a whiz kid or brainiac on any topic."
This comment is just inflammatory. The question here is one of culpability, not one of assumed intelligence. Highly intelligent people should not be more culpable than those of average or even sub-average intelligence (barring retardation or insanity.)
It doesn't prove anything. The headline is just sensationalistic journalism. In fact, it's bordering on misinformation. The study had nothing to do with answering the chicken/egg question. The study was about a particular protein and its roll in the formation of eggshells. The interviewed scientists clearly state that the purpose of their study wasn't to answer the chicken/egg question, and then fail to state any opinion about which answer they think might be right.
They also found that the egg can't be produced without the protein ovocledidin-17 in the chickens' ovaries, so that means that the chicken must have come first. Right? "Obviously, it's not really what we were trying to get out of our simulations, but it's an interesting question isn't it?" Freeman said.
-- Scientists solve chicken and egg riddle
In other words, Mr Freeman is saying: "that's a nice and cheeky question Mr Journalist, but go ahead and get bent anyway."
Oh god, I can't believe this drivel reached Slashdot. Let me explain what's happened here:
<Reporter> Hi, Scientist, thanks for meeting with me today. I'd like to write a story about your work. Could you please explain a little? <Scientist> We've definitively proven and carefully described the role that protein ovocledidin-17 plays in eggshell formation <Reporter> Wait, so let me get this straight, you found... stuff... inside the chicken that's... necessary for producing eggs? <Scientist> Er... yes. <Reporter> So... that means the chicken came before the egg, right...? [Scientist to self: Oh god, why couldn't Bob handled this damned interview] <Scientist> Obviously, it's not really what we were trying to get out of our simulations, but it's an interesting question isn't it? [The above is a direct quote from researcher Colin Freeman. You can see he is declining to answer by way of polite deflection.] <Reporter> Excellent! Well, that's about all we need, it was great to meet you and we'll be in touch. <Scientist> Er... nice... you too... [Reporter goes back to HQ to write the article] <Reporter> Okay, I've got this material about a chicken protein... um... ovocledidin-17... it's in chickens and it helps makes eggs and MAN is this stuff boring. Hey I know! What was it he said about the chicken and egg thing I asked him? [Looks at notes.] Well, alright! He didn't deny my proposition that the chicken came first! He must be agreeing with me! Alright! I'll just title my story "Scientists answer ages-old Chicken or Egg question." That oughta grab some eyes.
[Every news outlet in America proceeds to run story]
You've got it backwards. You don't write a web application and then go around installing 9 different browsers at 20 different patch levels in a search to find one which finally doesn't break while using your app. Rather, you write an application and install 9 different browsers at 20 different patch levels to make sure none of them break while using your app. Fix the app, not the browser. And if the problem is intractable in the most popular versions of the most popular browsers, change your framework.
Java and Linux (the two core technologies Android is built around) have proven to be two of the most scalable technologies of the past 15 years. Android will scale.
IBM would have absolutely been a better steward for Java. They have a controlling interest in the world's most popular Java IDE: Eclipse. And they have better ties with the open source community. And they are a generalist technology company, like Sun was. Oracle tends to specialize.
But at the end of the day, too much of Sun's holdings overlapped with IBM's. IBM has their own JEE platform. They have their own hardware divisions. They even have their own Java world-class Java compiler: JDT. And they built their own JVM in Jikes.
IBM would have been a better steward of Java. But Oracle had much more to gain from Sun than IBM did, and that's why they were able to offer a better deal to Sun when the chips fell.
Asking if math-skills are necessary for a programmer is kind of like asking if people-skills are necessary in the field of law. Some lawyers find success by performing in the courtroom and for the camera, while others find success in their skills with research, interpretation and analysis.
"Programming" is a massive category. Some programmers need incredible math skills to do their jobs. Some programmers convert thousands to hundreds with broken substring operations, then keep their jobs, and make good money doing it. So there's a spectrum.
But if I had to hazard a guess, I'd guess that the majority of programming jobs out there don't require very much mathematical heavy lifting. And often times if you do run into something that could be tricky, it's already been solved by someone else, complete with copy and paste source code.
Yet many programming jobs do require serious math skills, and probably (hopefully) always will.
TBH I don't know if some of the best software engineers I've met are any good at math. They're good at interpreting API documentation, good at structuring code to meet the strengths of the language they're using. Good at project planning, time estimation, and risk analysis. Good at understanding how computer and network systems work and -- often more importantly -- how they fail. They understand how users interact with software, and what users expect and want.
The truth is, software development has become as broad as life & human interest itself, and generalizations about the practice are becoming more and more meaningless.
The ballot has 12 browsers organized into two groups. Each group is randomized amongst itself for purposes of display order. The first group is always displayed first and consists of:
Internet Explorer, Google Chrome, Apple Safari, Firefox, and Opera
The second group consists of:
Maxthon, Avant Browser, AOL, K-Meleon, Flock, Sleipnir, and Slim
Everyone is claiming that developers will just turn this:
memcpy(dst, src, size) into this:
memcpy_s(dst, src, size, size);
but for a large amount of MS code, this usage of memcpy_s is not advised and not common, and will be flagged in code review. So where does the size of the destination buffer come from if it is not simply a copy of the size of the src buffer? --> Often times the destination buffer, and indeed also the size of the destination buffer is passed in to your code by other code. In this case you simply and blindly pass the destination buffer and the size of the destination buffer into memcpy_s. In this case, allocation and size of the src buffer is something that your code determines, but the allocation and size of the dest buffer is not. You could say: well, should take into account the size of the destination buffer while allocating the source buffer -- to make sure the src buffer's size does not exceed that of the dst buffer you have been given. However, this is harder to audit. What memcpy_s does is, it joins more of the critical information about src and dst buffer sizes into a single line of auditable code.
IMO this change doesn't necessarily it harder to write bad code, it just makes it easier to audit for and find bad code.
If you can't find a documentary with exactly the right age-group targeting for your child, perhaps you should instead use the next-best thing you can find.
But... instead of just plopping them down in front of the TV and quickly leaving the room... watch it with the child. Help them understand what they don't understand by listening to his or her questions, and then answering them in an age-targeted way, as best you can.
Microsoft is right to turn cross-domain restrictions on by default. Cross-domain is the same as cross-site, and we all know the pain XSS vulnerabilities can bring. The failure of "copies" of acid2 to render correctly in IE8 are actually due to the "copies" of acid2 being "copied" incorrectly. To copy the acid2 test, you have to make slight modifications to the test contents itself to update the test for the domain it is being hosted on. Them are the breaks of complex tests. Acid2 is a complex test and cannot simply be copied carte blanche.
They need to petition the parser designers... to include cached copies of these documents "that have not changed in years" with the parser distrobutions themselves. And then petition the parser designers to turn caching on by default. Caching too much of a pain in the ass? Then create two caches, one for authoritative schemas that are highly unlikely to change, and one for third-party schemas where aggressive caching is undesirable.
Of course, this is just a guess, but my instinct tells me that most of this traffic is being generated by people who don't even know better, and probably don't read slashdot, and may not read w3c.org. Making caching 'the default' is probably the only way you'd see a noteworthy drop in traffic.
Why the hell do you people even bother with the web?
Because there are trusted resources on the web. Like your Merriam Webster, for example, can be found at http://m-w.com. It's produced and backed by the publisher as much as your hard copy is. Not everything on the web is Wikipedia.
The article doesn't specify how the networks are connected. It could be something fairly innocuous like sharing the same power source. I seriously doubt they put the passenger internet access on the same packet-switched network as flight control. But who knows...
I don't think NIO ever claimed to be faster than old IO. Its primary selling point is (and always has been, IMO), its ability to handle tens of thousands of connections on a single thread. With old IO, ten thousand connections would require ten thousand threads. I don't care how good your context switcher is -- that is a high price to pay, especially if the machine has other high-thread-count processes running as well.
It's been my job to work with speech recognition technology for the last 10 years. I've worked with speaker-independent grammar-based recognizers like Nuance Recognizer. I've worked with speaker-dependent training-based recognizers like Dragon Naturally Speaking. I've used open source recognizers like Sphinx. I've even dabbled with writing my own basic recognition engine. I can tell you with confidence: with the current state of commercial/open-source technology, you will not be able to get satisfactory results transcribing two speakers in the same recording. Accurate machine transcription requires training and single-speaker. I have heard people claim that speech recognition is a dead technology because it has stopped improving at appreciable speeds. While improvements have slowed down drastically, I do not believe speech recognition is dead by any means. We've really been making the same steady progress since the inception of speech recognition -- but previously we were riding the wave of geometric (sometimes exponential) growth in CPU clock rate. Now that the free lunch is gone, recognition algorithms need to be parallelized to once again ride improvements in CPU design.
I kind of agree with your semantic analysis of the term "cyberwarrior." It's cheesy and for that reason it's just as likely to put people off as it is to attract them. But I don't think it goes beyond that. Anyone who is sufficiently intelligent to do the job, probably understands that the title doesn't always match the job description, and that good computer security doesn't change based on what you call it.
This comment is just inflammatory. The question here is one of culpability, not one of assumed intelligence. Highly intelligent people should not be more culpable than those of average or even sub-average intelligence (barring retardation or insanity.)
How does this prove anything?
It doesn't prove anything. The headline is just sensationalistic journalism. In fact, it's bordering on misinformation. The study had nothing to do with answering the chicken/egg question. The study was about a particular protein and its roll in the formation of eggshells. The interviewed scientists clearly state that the purpose of their study wasn't to answer the chicken/egg question, and then fail to state any opinion about which answer they think might be right.
They also found that the egg can't be produced without the protein ovocledidin-17 in the chickens' ovaries, so that means that the chicken must have come first. Right?"Obviously, it's not really what we were trying to get out of our simulations, but it's an interesting question isn't it?" Freeman said.
-- Scientists solve chicken and egg riddle
In other words, Mr Freeman is saying: "that's a nice and cheeky question Mr Journalist, but go ahead and get bent anyway."
The study wasn't about chicken-or-egg, it was about a protein involved in egg formation. The journalists threw in the rubbish about chicken-or-egg.
Oh god, I can't believe this drivel reached Slashdot. Let me explain what's happened here:
... stuff ... inside the chicken that's ... necessary for producing eggs?
<Reporter> Hi, Scientist, thanks for meeting with me today. I'd like to write a story about your work. Could you please explain a little?
<Scientist> We've definitively proven and carefully described the role that protein ovocledidin-17 plays in eggshell formation
<Reporter> Wait, so let me get this straight, you found
<Scientist> Er... yes.
<Reporter> So... that means the chicken came before the egg, right...?
[Scientist to self: Oh god, why couldn't Bob handled this damned interview]
<Scientist> Obviously, it's not really what we were trying to get out of our simulations, but it's an interesting question isn't it?
[The above is a direct quote from researcher Colin Freeman. You can see he is declining to answer by way of polite deflection.]
<Reporter> Excellent! Well, that's about all we need, it was great to meet you and we'll be in touch.
<Scientist> Er... nice... you too...
[Reporter goes back to HQ to write the article]
<Reporter> Okay, I've got this material about a chicken protein... um... ovocledidin-17... it's in chickens and it helps makes eggs and MAN is this stuff boring. Hey I know! What was it he said about the chicken and egg thing I asked him? [Looks at notes.] Well, alright! He didn't deny my proposition that the chicken came first! He must be agreeing with me! Alright! I'll just title my story "Scientists answer ages-old Chicken or Egg question." That oughta grab some eyes.
[Every news outlet in America proceeds to run story]
[Smart people everywhere cringe and sigh]
You've got it backwards. You don't write a web application and then go around installing 9 different browsers at 20 different patch levels in a search to find one which finally doesn't break while using your app. Rather, you write an application and install 9 different browsers at 20 different patch levels to make sure none of them break while using your app. Fix the app, not the browser. And if the problem is intractable in the most popular versions of the most popular browsers, change your framework.
Java and Linux (the two core technologies Android is built around) have proven to be two of the most scalable technologies of the past 15 years. Android will scale.
IBM would have absolutely been a better steward for Java. They have a controlling interest in the world's most popular Java IDE: Eclipse. And they have better ties with the open source community. And they are a generalist technology company, like Sun was. Oracle tends to specialize. But at the end of the day, too much of Sun's holdings overlapped with IBM's. IBM has their own JEE platform. They have their own hardware divisions. They even have their own Java world-class Java compiler: JDT. And they built their own JVM in Jikes. IBM would have been a better steward of Java. But Oracle had much more to gain from Sun than IBM did, and that's why they were able to offer a better deal to Sun when the chips fell.
What about OS and application security updates? It's kind of hard to patch a read-only CDROM :P
Asking if math-skills are necessary for a programmer is kind of like asking if people-skills are necessary in the field of law. Some lawyers find success by performing in the courtroom and for the camera, while others find success in their skills with research, interpretation and analysis.
"Programming" is a massive category. Some programmers need incredible math skills to do their jobs. Some programmers convert thousands to hundreds with broken substring operations, then keep their jobs, and make good money doing it. So there's a spectrum.
But if I had to hazard a guess, I'd guess that the majority of programming jobs out there don't require very much mathematical heavy lifting. And often times if you do run into something that could be tricky, it's already been solved by someone else, complete with copy and paste source code.
Yet many programming jobs do require serious math skills, and probably (hopefully) always will.
TBH I don't know if some of the best software engineers I've met are any good at math. They're good at interpreting API documentation, good at structuring code to meet the strengths of the language they're using. Good at project planning, time estimation, and risk analysis. Good at understanding how computer and network systems work and -- often more importantly -- how they fail. They understand how users interact with software, and what users expect and want.
The truth is, software development has become as broad as life & human interest itself, and generalizations about the practice are becoming more and more meaningless.
The ballot has 12 browsers organized into two groups. Each group is randomized amongst itself for purposes of display order. The first group is always displayed first and consists of: Internet Explorer, Google Chrome, Apple Safari, Firefox, and Opera The second group consists of: Maxthon, Avant Browser, AOL, K-Meleon, Flock, Sleipnir, and Slim
It's OK to build on the foundations of others' work.
Everyone is claiming that developers will just turn this:
memcpy(dst, src, size)
into this:
memcpy_s(dst, src, size, size);
but for a large amount of MS code, this usage of memcpy_s is not advised and not common, and will be flagged in code review. So where does the size of the destination buffer come from if it is not simply a copy of the size of the src buffer? --> Often times the destination buffer, and indeed also the size of the destination buffer is passed in to your code by other code. In this case you simply and blindly pass the destination buffer and the size of the destination buffer into memcpy_s. In this case, allocation and size of the src buffer is something that your code determines, but the allocation and size of the dest buffer is not. You could say: well, should take into account the size of the destination buffer while allocating the source buffer -- to make sure the src buffer's size does not exceed that of the dst buffer you have been given. However, this is harder to audit. What memcpy_s does is, it joins more of the critical information about src and dst buffer sizes into a single line of auditable code.
IMO this change doesn't necessarily it harder to write bad code, it just makes it easier to audit for and find bad code.
This is a bad article and a bad thread and you all should feel bad for posting it and taking it seriously and, finally, for reading this -- my post/
Yes, sir I will get off your lawn right away. *Bows respectfully.*
If you can't find a documentary with exactly the right age-group targeting for your child, perhaps you should instead use the next-best thing you can find.
... watch it with the child. Help them understand what they don't understand by listening to his or her questions, and then answering them in an age-targeted way, as best you can.
But... instead of just plopping them down in front of the TV and quickly leaving the room
Microsoft is right to turn cross-domain restrictions on by default. Cross-domain is the same as cross-site, and we all know the pain XSS vulnerabilities can bring. The failure of "copies" of acid2 to render correctly in IE8 are actually due to the "copies" of acid2 being "copied" incorrectly. To copy the acid2 test, you have to make slight modifications to the test contents itself to update the test for the domain it is being hosted on. Them are the breaks of complex tests. Acid2 is a complex test and cannot simply be copied carte blanche.
Ruby on Fails [epic]
They need to petition the parser designers... to include cached copies of these documents "that have not changed in years" with the parser distrobutions themselves. And then petition the parser designers to turn caching on by default. Caching too much of a pain in the ass? Then create two caches, one for authoritative schemas that are highly unlikely to change, and one for third-party schemas where aggressive caching is undesirable.
Of course, this is just a guess, but my instinct tells me that most of this traffic is being generated by people who don't even know better, and probably don't read slashdot, and may not read w3c.org. Making caching 'the default' is probably the only way you'd see a noteworthy drop in traffic.
While it's certainly possible they could develop their own software for less-than the FAST purchase price, that development would also take time.
So, developing it in-house costs money + time.
Buy it from the market costs money.
Since time is money, you have to factor that into the cost comparison.
{{ Insert joke about a float not being large enough to store all of your data, here }}
Why the hell do you people even bother with the web?
Because there are trusted resources on the web. Like your Merriam Webster, for example, can be found at http://m-w.com. It's produced and backed by the publisher as much as your hard copy is. Not everything on the web is Wikipedia.
The article doesn't specify how the networks are connected. It could be something fairly innocuous like sharing the same power source. I seriously doubt they put the passenger internet access on the same packet-switched network as flight control. But who knows...