Thank you. That was the best, most salient answer I've heard on this subject. I was totally geared up for a reply stating that the C++ supports some particular O-O feature, and therefore all C++ code is slow because of it.
Surely it has since in 2007 almost no one knew what Blu-ray was and the average consumer did not care. It wasn't until 2009 that Blu-ray adoption took off. So the same survey done today would yield a very different result.
How could C be faster than C++ when C++ is a superset of C, with some additional features? Most C compilers are C++ compilers too, they just disable certain language constructs when in C mode.
Earlier today Obama talked about a lack of engineers in the US. The same goes for IT professionals. The problem is that those professions are often underappreciated and underpaid, so smart ambitious people go into business and law not tech.
I work for a Fortune 500 company whose IT department just sent down a command to uninstall Firefox 4 and replace it with 3.6. So they went out of their way to decrease the security of someone's workstation. Hacking is so prevalent because the best and brightest go into CS, and the dumbest drop out and go for IT. Those people make departments less secure, not more secure. The IT managers are usually just as bad or worse. And in my experience, the bigger the company the worse the IT department.
mod parent insightful - most "representatives" are lawyers. While this gives them the background they need to make good laws it also lets them manipulate the system more effectively. It is the reason US laws are thousands of pages long to say what other nations do in a few paragraphs.
The US would be in so much better shape if laws were made by engineers, business professionals, and coal miners. There is a reason there are so many lawyer jokes in the US.
The reality is they don't discard information. They keep it, mine it, sell it, etc. It should be illegal to do so. But even more important, the system should never expose any information to the merchant: not the credit card number, expiration date, CVV code, cardholder name -- nothing. There are smart card systems that work this way but I've never seen one in practice.
Microsoft should make.NET + WPF compile to HTML5 and/or Flash. And Adobe should make Flash compile to.SWF and HTML5. Separating the tools from the platform opens things up hugely. It is awesome when we see demos of people compiling old-skool C applications to Javascript using open-source options. If the big tool makers got into this it would be amazing. Naturally, they don't want things to be open.:-(
What will happen when we all are carrying multiple cellular-enabled devices? Would you simply pop a SIM card into each cellular device? Will you have to pay for each device? Would your plan allow for up to X number of devices? Or would they simply bill you by total sum of bandwidth?
My guess is that, the cell companies will take the most complicated solution possible. You will need to bring each cellular device into the store so they can activate it for you. Each device will have a different bandwidth limit and your bill will be 10 pages long. Only approved devices will be allowed: so AT&T will support the Sony Vita and Verizon will support the Nintendo 3DG. Some other small company will support bot, for half the price but they will only have service in rural Kansas.
A few years ago I argued that Nintendo should add 3G to the DS. I had everyone on Slashdot telling me how that is impossible and kids cannot afford multiple cell plans how complex it would be. Well, now it is happening so the business model will have to find a way to work. Eventually, cellular networking could become as ubiquitous as wi-fi is today.
You missed the second part -- TYPE them consistently enough that they can get in without getting frustrated.
I didn't miss it all. I even addressed it in my post when I said "All you have to do is type in the first letter of each word or something if you need to shrink it down." I've used this technique successfully on computer illiterates with great success. They actually find it *easier* to remember passwords when they are derived from a phrase.
But the issue goes even deeper than this - people should stop even using the term "password" because passwords are hard to remember and insecure. We should be using "passphrases" instead. the user doesn't have to remember the character-level details since they can simply use whatever normal capitalization rules like they use every day. Passphrases can actually be fun - kids use them all the time: secret lingo, knocks, etc. Our problem is that we limit people's ability to be creative and turn it into a math and memorization exercise.
The thing about changing it every six months is irrelevant - such expiration rules are stupid if we use passwords, passphrases, gestures, pictures, or whatever.
What you're missing is that the percentage of the general population that can consistently (a) remember a long password and (b) type it without a failure at least 50% of the time, is in the single digits. Remember, general population, not geeks.
This myth needs to end. Most people can memorize phrases hundreds of words long: "Mary had a little lamb, little lamb, little lamb. Mary had a little lamb whose fleece was white as snow." "Four score and seven years ago..." "Your mother was a hamster and your father smelled of..." "I pledge allegiance to the flag..."
Instead of writing down your password, write down the name of the song. Throw your favorite band in the middle somewhere to salt it and *bam* -- unbreakable and easily memorized. All you have to do is type in the first letter of each word or something if you need to shrink it down.
Depends on how you define "cool" - this is very different from what GWT Quake did. GWT quake is port of Quake 2. This was created by recompiling the Doom source. Granted, Doom didn't originally use SDL, but I suspect it is much closer to the original source than what GWT Quake was. The ability to take unmodified C/C++ and compile it to Javascript is fundamentally amazing.
The key difference is that it is not even possible to spawn a thread in a browser. But you are right, that isn't a benefit.
Single threaded is actually harder - you still have concurrency issues because even simple operations must be done using an asynch event pattern. Multithreading was created because simulating concurrency in a single-threaded app is hard.
These algorithms would not work well on the GPU for a variety of reasons:
1) They don't work on a final image, only on individual sprites. The article states that if you try to run the algorithm on an image as a whole, it has trouble where one sprite ends and another sprite begins. For example, the heuristic doesn't work where Mario's head meets the background. Worse yet, as the image moves the heuristic would pick a different vector at each frame.
2) The video card probably doesn't even get the right info. Existing applications are forced to do some sort of scaling because video modes like 256x200 are not really supported any longer. So the video card does not get the raw data, it gets scaled data. The article points out that pre-scaled or anti-aliased images don't work with this algorithm.
3) The article explains that the algorithms used don't work in real time. Although it probably could be parallelized, brute force would not be enough to make this real-time. Plus, GPUs aren't great at walking through graph structures. The algorithm itself would need to be changed.
The line between relatively harmless and very destructive is often very thin and crossing it, doesn't give a lot more warnings all of a sudden
The line was really thick actually. To even get there, you had to drive to the store, buy a Linux book, read a few chapters of it, open the console, learn what command-lines and arguments are, how to type them in... an end-user doesn't "accidentally" type rm -rf *
The command-line does not relate to this discussion. Elderly people do not use the command-line.
I hear this argument all the time and it is silly. I don't believe that the cost of translating the word "add" into 145 languages is even a blip on the radar of costs. I work for a company that will spend weeks arguing over how to differentiate the icon for "dispense 4ml of hydrochloric acid into the vial" from the icon for "dispense 4ml of potassium hydroxide into the vial" when the chemical symbols are the same in all languages anyway! Just to avoid text!
Use words like "filesystem" and their eye glaze over.
Could you please explain to me why it is my mother spent years as a business manager and could navigate a room full of files but cannot understand the concept of hierarchical file folders? How can someone use the dewey decimal system but glaze over at "file system" -- there's nothing technical about it. Is it not simply common organizational skills?
If I could get past this hurdle in a users' understand it would be great because so many times I get a question that amounts to "just go find the file and do X" but the idea of "finding the file" is alien to them. But I could tell them to go get their 1978 tax return and they would know the room, file drawer, and folder it is in and have it for me in a few minutes.
Despite your outrage, your statement actually agrees with what they are saying.
Just because the older generation doesn't find it intuitive doesn't mean they can't figure it out with a little tinkering, or at worst, very little Applecare phone support.
Exactly their point - the older generation certainly can figure it out, they just have to choose to do so. Many of them don't.
To insinuate they can't set freaking alarms because they might accidentally push the wrong thing at first is insulting.
I'm unclear why that is insulting, but the truth often is. I've taught older people to use computers all the time, and my experience is consistent with what people are saying here. They ask you how to do X. There are 3 buttons. You click the first one... that isn't it so you hit escape. You click the second one... nope.. hit escape. You click the third one and they say "oh, there it is! You are a computer genius!" I have mastered the ability to do a mental facepalm while keeping a straight face.
Unfortunately, not every device follows the same standards. Some other device will have say "Add" and another will say "New Alarm" and another will have a picture of an alarm clock ringing. If people aren't using all these devices every day, they forget which nomenclature a device uses.
Computers have this concept of things being n-ary instead of single or double. Ex: Most real alarm clocks have 2 alarms - so there is either a switch with 2 positions, or 2 sets of buttons. So you might have on1, off1, on2, off2, etc. But a computer alarm might have a max of 2 million alarms, so instead you have the concept of adding or removing an alarm.
This concept frustrates computer illiterate people all the time. It happens on cameras, thermostats, televisions, etc. Remember when remote controls had a dial with a "tick" for each station? Now there are too many stations for that. Cameras had a switch with 4 ISO settings: ISO 100, 200, 400, 800. Now my camera has a dozen ISO settings. etc. etc.
he was pressing on it as if it were a mechanical button
That is very insightful, since the entire point of a touch screen is to look and act like a mechanical button. Obviously it doesn't, but perhaps most of us have adapted to the screens and understand that. I remember the first time I used a microwave with those non-tactile buttons and I hated it.
It took him about a dozen efforts and maybe about 3 minutes before he successfully typed in Boston.
THAT might have as much to do with the keyboard as his learning curve on the touch screen.
Thank you. That was the best, most salient answer I've heard on this subject. I was totally geared up for a reply stating that the C++ supports some particular O-O feature, and therefore all C++ code is slow because of it.
The police will love it once this is mandated by law in all phones!
Back in the day when we all whined that Microsoft was evil, we had *NO IDEA* what evil really was.
I doubt that has changed much.
Surely it has since in 2007 almost no one knew what Blu-ray was and the average consumer did not care. It wasn't until 2009 that Blu-ray adoption took off. So the same survey done today would yield a very different result.
Compatibility.
How could C be faster than C++ when C++ is a superset of C, with some additional features? Most C compilers are C++ compilers too, they just disable certain language constructs when in C mode.
Earlier today Obama talked about a lack of engineers in the US. The same goes for IT professionals. The problem is that those professions are often underappreciated and underpaid, so smart ambitious people go into business and law not tech.
I work for a Fortune 500 company whose IT department just sent down a command to uninstall Firefox 4 and replace it with 3.6. So they went out of their way to decrease the security of someone's workstation. Hacking is so prevalent because the best and brightest go into CS, and the dumbest drop out and go for IT. Those people make departments less secure, not more secure. The IT managers are usually just as bad or worse. And in my experience, the bigger the company the worse the IT department.
Apple should price their stuff at whatever the market will bear
The discussion isn't about Apple's pricing, it is about the carrier's contracts.
The govt should stay the fuck out of the free market
2) It isn't a free market. The carriers are government-created monopolies and the prices are fixed.
And this is why the black-and-white option of "friend" and "non friend" makes no sense. That isn't how social networks work IRL.
mod parent insightful - most "representatives" are lawyers. While this gives them the background they need to make good laws it also lets them manipulate the system more effectively. It is the reason US laws are thousands of pages long to say what other nations do in a few paragraphs.
The US would be in so much better shape if laws were made by engineers, business professionals, and coal miners. There is a reason there are so many lawyer jokes in the US.
You are right, but the underlying hole is this:
The merchant voluntarily discards information
The reality is they don't discard information. They keep it, mine it, sell it, etc. It should be illegal to do so. But even more important, the system should never expose any information to the merchant: not the credit card number, expiration date, CVV code, cardholder name -- nothing. There are smart card systems that work this way but I've never seen one in practice.
Microsoft should make .NET + WPF compile to HTML5 and/or Flash. And Adobe should make Flash compile to .SWF and HTML5. Separating the tools from the platform opens things up hugely. It is awesome when we see demos of people compiling old-skool C applications to Javascript using open-source options. If the big tool makers got into this it would be amazing. Naturally, they don't want things to be open. :-(
What will happen when we all are carrying multiple cellular-enabled devices? Would you simply pop a SIM card into each cellular device? Will you have to pay for each device? Would your plan allow for up to X number of devices? Or would they simply bill you by total sum of bandwidth?
My guess is that, the cell companies will take the most complicated solution possible. You will need to bring each cellular device into the store so they can activate it for you. Each device will have a different bandwidth limit and your bill will be 10 pages long. Only approved devices will be allowed: so AT&T will support the Sony Vita and Verizon will support the Nintendo 3DG. Some other small company will support bot, for half the price but they will only have service in rural Kansas.
A few years ago I argued that Nintendo should add 3G to the DS. I had everyone on Slashdot telling me how that is impossible and kids cannot afford multiple cell plans how complex it would be. Well, now it is happening so the business model will have to find a way to work. Eventually, cellular networking could become as ubiquitous as wi-fi is today.
You missed the second part -- TYPE them consistently enough that they can get in without getting frustrated.
I didn't miss it all. I even addressed it in my post when I said "All you have to do is type in the first letter of each word or something if you need to shrink it down." I've used this technique successfully on computer illiterates with great success. They actually find it *easier* to remember passwords when they are derived from a phrase.
But the issue goes even deeper than this - people should stop even using the term "password" because passwords are hard to remember and insecure. We should be using "passphrases" instead. the user doesn't have to remember the character-level details since they can simply use whatever normal capitalization rules like they use every day. Passphrases can actually be fun - kids use them all the time: secret lingo, knocks, etc. Our problem is that we limit people's ability to be creative and turn it into a math and memorization exercise.
The thing about changing it every six months is irrelevant - such expiration rules are stupid if we use passwords, passphrases, gestures, pictures, or whatever.
What you're missing is that the percentage of the general population that can consistently (a) remember a long password and (b) type it without a failure at least 50% of the time, is in the single digits. Remember, general population, not geeks.
This myth needs to end. Most people can memorize phrases hundreds of words long:
"Mary had a little lamb, little lamb, little lamb. Mary had a little lamb whose fleece was white as snow."
"Four score and seven years ago..."
"Your mother was a hamster and your father smelled of..."
"I pledge allegiance to the flag..."
Instead of writing down your password, write down the name of the song. Throw your favorite band in the middle somewhere to salt it and *bam* -- unbreakable and easily memorized. All you have to do is type in the first letter of each word or something if you need to shrink it down.
Depends on how you define "cool" - this is very different from what GWT Quake did. GWT quake is port of Quake 2. This was created by recompiling the Doom source. Granted, Doom didn't originally use SDL, but I suspect it is much closer to the original source than what GWT Quake was. The ability to take unmodified C/C++ and compile it to Javascript is fundamentally amazing.
Take a look at their how-to
The key difference is that it is not even possible to spawn a thread in a browser. But you are right, that isn't a benefit.
Single threaded is actually harder - you still have concurrency issues because even simple operations must be done using an asynch event pattern. Multithreading was created because simulating concurrency in a single-threaded app is hard.
These algorithms would not work well on the GPU for a variety of reasons:
1) They don't work on a final image, only on individual sprites.
The article states that if you try to run the algorithm on an image as a whole, it has trouble where one sprite ends and another sprite begins. For example, the heuristic doesn't work where Mario's head meets the background. Worse yet, as the image moves the heuristic would pick a different vector at each frame.
2) The video card probably doesn't even get the right info.
Existing applications are forced to do some sort of scaling because video modes like 256x200 are not really supported any longer. So the video card does not get the raw data, it gets scaled data. The article points out that pre-scaled or anti-aliased images don't work with this algorithm.
3) The article explains that the algorithms used don't work in real time. Although it probably could be parallelized, brute force would not be enough to make this real-time. Plus, GPUs aren't great at walking through graph structures. The algorithm itself would need to be changed.
Skip the article and just look at the pictures.
Anti-Glare Matte Screen cover review
The line between relatively harmless and very destructive is often very thin and crossing it, doesn't give a lot more warnings all of a sudden
The line was really thick actually. To even get there, you had to drive to the store, buy a Linux book, read a few chapters of it, open the console, learn what command-lines and arguments are, how to type them in... an end-user doesn't "accidentally" type rm -rf *
The command-line does not relate to this discussion. Elderly people do not use the command-line.
I hear this argument all the time and it is silly. I don't believe that the cost of translating the word "add" into 145 languages is even a blip on the radar of costs. I work for a company that will spend weeks arguing over how to differentiate the icon for "dispense 4ml of hydrochloric acid into the vial" from the icon for "dispense 4ml of potassium hydroxide into the vial" when the chemical symbols are the same in all languages anyway! Just to avoid text!
Use words like "filesystem" and their eye glaze over.
Could you please explain to me why it is my mother spent years as a business manager and could navigate a room full of files but cannot understand the concept of hierarchical file folders? How can someone use the dewey decimal system but glaze over at "file system" -- there's nothing technical about it. Is it not simply common organizational skills?
If I could get past this hurdle in a users' understand it would be great because so many times I get a question that amounts to "just go find the file and do X" but the idea of "finding the file" is alien to them. But I could tell them to go get their 1978 tax return and they would know the room, file drawer, and folder it is in and have it for me in a few minutes.
Despite your outrage, your statement actually agrees with what they are saying.
Just because the older generation doesn't find it intuitive doesn't mean they can't figure it out with a little tinkering, or at worst, very little Applecare phone support.
Exactly their point - the older generation certainly can figure it out, they just have to choose to do so. Many of them don't.
To insinuate they can't set freaking alarms because they might accidentally push the wrong thing at first is insulting.
I'm unclear why that is insulting, but the truth often is. I've taught older people to use computers all the time, and my experience is consistent with what people are saying here. They ask you how to do X. There are 3 buttons. You click the first one... that isn't it so you hit escape. You click the second one... nope.. hit escape. You click the third one and they say "oh, there it is! You are a computer genius!" I have mastered the ability to do a mental facepalm while keeping a straight face.
Unfortunately, not every device follows the same standards. Some other device will have say "Add" and another will say "New Alarm" and another will have a picture of an alarm clock ringing. If people aren't using all these devices every day, they forget which nomenclature a device uses.
Computers have this concept of things being n-ary instead of single or double. Ex: Most real alarm clocks have 2 alarms - so there is either a switch with 2 positions, or 2 sets of buttons. So you might have on1, off1, on2, off2, etc. But a computer alarm might have a max of 2 million alarms, so instead you have the concept of adding or removing an alarm.
This concept frustrates computer illiterate people all the time. It happens on cameras, thermostats, televisions, etc. Remember when remote controls had a dial with a "tick" for each station? Now there are too many stations for that. Cameras had a switch with 4 ISO settings: ISO 100, 200, 400, 800. Now my camera has a dozen ISO settings. etc. etc.
he was pressing on it as if it were a mechanical button
That is very insightful, since the entire point of a touch screen is to look and act like a mechanical button. Obviously it doesn't, but perhaps most of us have adapted to the screens and understand that. I remember the first time I used a microwave with those non-tactile buttons and I hated it.
It took him about a dozen efforts and maybe about 3 minutes before he successfully typed in Boston.
THAT might have as much to do with the keyboard as his learning curve on the touch screen.