C++ has problems, yes; pretty unavoidable since it was the first real object oriented language. Java has a different set of problems since it was the first language that was OO from the ground up.
Let me guess... you work as a prior art researcher for the USPTO.
but if Charter is able to bill you $100+ for your ultra-premium digital cable TV with 10M internet access, do you think it's worth the overhead to try to meter and bill for an additional buck or two of VoIP usage each month?
But that's not thinking like a telecommunications executive. You're trying to base the price of the service on what it costs the ISP. OTOH, most every business tries to base the price on the value of the service to the customer.
For example, airlines have figured out fairly reliable ways to sort out which passengers are business travelers vs. tourists. That's how they get away with pricing one seat at X and the adjacent one at 4X on the same flight.
You can bet that if cable companies think that they can identify VoIP traffic on their networks, then they'll consider trying to charge a stiff premium for it. That's because they know that many people value talking to their moms as high or higher than watching movies on demand.
Between their existing bans on running "servers" on home accounts, government regulations of VoIP, and proposed government bans on encrypted voice communications, the ISPs probably have a decent chance of maintaining control over this potentially lucrative activity.
The ISPs will probably say something like: "If you pay us only $10/month extra, you can use our own government-approved VoIP service for unlimited long distance talk time! And we won't accuse you of being a thief or a terrorist!"
So they bog down the software doing something that could be done in hardware?
Just because it's in hardware doesn't mean it's free. The ECC logic is going to add a small delay to each of trillions of memory accesses. Plain memory can most likely be tuned to run faster than ECC memory.
If you're running a constrained problem and can verify the results at the end, a single error check in software could consume far less overall time than the continuous ECC hardware checks. The software check would probably catch other types of errors as well (including many errors caused by software bugs).
You think you're 20 dollar "water resistant" timex can survive a trip to the red planet?
Having watched dozens of Timex ads in the 60s and 70s, I have to say: Yes, definitely. (But only if it's firmly strapped on to the probe with duct tape.)
Centuries ago English had a more sensible set of words for human beings: 'woman' for a female, 'wereman' for a male, and 'man' for the general case covering both. We would have avoided a lot of confusion and controversy if the term 'wereman' hadn't been dropped. (A vestige of the word does still survive as part of 'werewolf', but given the scarcity of these creatures, that's not really very useful.)
"That's why power plants use steam or gasses heated to hundreds or thousands of degrees to run their turbines. " Isn't the steam just there to spin the turbine? You know, steam forced out by high pressure?
Yes, and the high pressure is caused by the large difference in temperature between the incoming steam and the condenser at the outlet. No big temperature delta -> little pressure -> not much work.
The laws of thermodynamics say that you need a large temperature difference to efficiently generate power from heat. That's why power plants use steam or gasses heated to hundreds or thousands of degrees to run their turbines.
A semiconductor chip won't work if the temperature gets too much above 100 C. Therefore, by definition, you would be stuck with a very low power generation efficiency.
Your efficiency is limited by trying to extract work between the (say) 100 C CPU and the 25 C ambient environment. I'm too lazy to look it up now, but I doubt that you could recover more than a single-digit percent of your input power in this situation. What's more, even if you try to extract power from low temperature differentials, you tend to need very large equipment to do it. Not a good fit for laptops.
Great, a repressive country that hates the entire planet, has nuclear weapons, is mentally unstable, and now can send people into orbit.
Without that country sending goods to stock the shelves, your local Wal-Mart would look like Who-ville after the Grinch got done with it. If you're one of the 99% of Americans who send a good chunk of your cash to China every time you go shopping, you hardly have any business complaining about what they decide to spend your money on after you've just willingly given it to them.
One of my duties when I was a kid was custodian of the special area of our yard designated for the use of our dog. Having dealt with this issue in both the winter and summer seasons, I can attest that a hardened POS is clearly preferable to the alternative -- especially if it's elevated on a bed of snow.
IMO there's a good reason Moore's law won't apply.
Semiconductor technology had the benefit of starting from a blank slate. Moore's law started out measuring chips with only a few thousand very simple components. As the technology matures, it will eventually hit fundamental limits and the exponential growth in component count will slow.
With biotechnology, nature has already provided a very mature technology refined over billions of years. We already have organisms that contain trillions of very complex components working together as an incredibly coordinated system. Starting from this advanced point, are very unlikely to add exponential improvements over the current capabilites year after year.
Re:Compulsory licensing would kill specialized SW
on
Why Only Music?
·
· Score: 1
For such highly specialized situations, you could sign a contract with each customer (an actual paper contract, not an invalid click-through dialog box) where they agree to not re-release your software. I'm sure that even today most any $100,000 purchase involves some kind of contract; this would just be another standardized clause.
It's true. When you look through a real kaleidoscope, there are so many flakes and mirrors that you can't see what you're actually looking at. Likewise, future TV will be covered with so many layers of scrolling banners, floating logos, preview windows and sidebars that you won't be able to see the actual program. HDTV will make this trend worse, since it just represents more real-estate on which to paint these dazzling distractions.
All of the big virii like SoBig and Blaster rely on Microsoft's boneheaded insistance on cross-linking every program and giving everything full root rights. Did you know there's one theoretical expoit in Windows, thankfully not done yet, in which an MP3 could be given a corrupt header, which points IE to a virus online, and be activated simply on MOUSEOVER?
To be fair, is there anything about this exploit that requires root access? It looks like a bug in the filetype recognition code in the file manager. It seems to me that a similar situation could easily happen if the KDE or Gnome file manager had a such bug. These programs also try to do "magic" things with certain file types (like show previews), and could get tripped up if they were vulnerable to corrupted metadata.
In general, I don't see why a virus can't do just about anything it wants with an ordinary user's rights. It can send mail, download and upload to the web, and even autorun itself after reboots by tweaking the user's own rc files. Running a non-root account is not a good enough reason to stop being paranoid.
You have been playing the latest and greatest video game for a few hours when you make a mistake and pound the keyboard. The hardrives senses it and locks you down without saving. Whoops.
These systems have a custom BIOS routine that handles just that case. It blanks the screen and displays:
IIRC, the way USB shares bandwidth is by time slicing. That means that if you have a low-speed peripheral, and that peripheral is maxed out moving data, then it is using up time slices for inefficient transfers. If the device doesn't send much data anyway (like a keyboard), then it will have minimal impact on the bus because it hardly ever needs a time slice.
I'm not familiar with the details of how USB arbitration works, but a simplistic example would say that if one slow device and one fast device were competing for bandwidth, then the slow device could cut the fast device's speed in half by taking half of the time slices. Thus, the slow device can deny others much more bandwidth than it uses itself. However, I don't think that one slow device drags other devices all the way down to the old speed limit since the slices it doesn't use can still go at high speed.
How? Dynamically typed languages know the types at runtime. They're not going to core dump just because you feed a string to a function that expects an integer. It will most likely raise an exception that you cleanly handle at an appropriate spot. I find that 99% of the time, this happens the first time you try to run the code; often sooner than your compiler would have finished rebuilding a static implementation. Look at the stack trace, go to that line of code, fix it and move on. No need to spend hours pondering the cryptic type errors that the C++ compiler spits out.
At any rate, a static language doesn't automatically check that an integer parameter's actual runtime value is within the valid range for the function, so it's not really providing that much safety.
It also allows for faster running code and can be just as flexiable as the dynamically typed languages. Go look at SML, Caml, or Haskell for an example.
There's some truth in that. However, very few people relate to writing in the highly recursive functional style that these languages seem to force on you. IMO, I find it kind of constrictive. I'm not sure if it's possible to create a flexible statically typed language that's not heavily functional; there don't seem to be many examples.
I tried porting a couple of small programs to OCaml a while back; I was all excited that I was going to get C-level performance with a high level language. For some reason, the programs didn't end up running any faster than a Java implementation. I concluded that getting maximum performance out of that kind of language was not the no-brainer that it was cracked up to be. Given that only a small number of people have even heard of these languages, I figured it was better to stick with well-known tools than to become an expert at optimizing OCaml.
Java doesn't have the speed to do many things efficiently.
Optimization is always the last thing that you should do on a project. This means that implementing the software in C/C++ should be the last resort. Most of the time, most of your software will run just fine in a safer, easier to use language. When you run into performance issues, that's when you port pieces of your program to C. Unfortunately, a lot of people just assume that they should always start coding in C or C++ right off the bat.
I personally don't like Java very much. It's bloated for what it does, static typing is a PITA, it doesn't play well with other languages, and it's heavily biased towards the OO paradigm, ignoring other highly useful programming approaches. (Many languages let you mix in bits from various programming styles.)
What I prefer to do instead is use a very flexible language like Python, then write C extensions for the performance critical parts if/when they are needed. The extension C code tends to be simple straight-line logic that is harder for bugs to hide in. This approach provides a "dynamic range" of performance vs. ease of use that is well well beyond that offered by pure Java or C.
Re:Here is a way for security
on
Beyond Fear
·
· Score: 1
You forgot:
11. If you've been hiding in the North Carolina woods, never venture out into an open parking lot to go dumpster diving for food.
especially considering that $400 gets you not only a word processor, but a spreadsheet, presentation software, database software, personal information management software, etc. etc. And clip art libraries. And all kinds of other useful crap.
That's still not worth $400. Office suite software is a commodity item now. All of the problems involved with creating such software were solved 10 years ago. (That's why Microsoft is trying to invent new problems that we didn't know we needed, like DRM'd spreadsheets.)
For $400, I would expect to get some kind of specialized cutting-edge software, like a midrange 3D modelling/rendering package, not a bag of 15-year old generic office tools.
The only thing that allows MS Office to command its $400 price tag is the fact that so many useres have locked their data into its proprietary file format. That's what you're paying the gatekeeper for: access to your files and the files of others who are in the same situation.
If you look at the history of various industries, such a gatekeeper position is an unstable situation. It takes the utmost in business skill to maintain such a distorted marketplace when you're not providing intrinsic value. Microsoft may one day lose their grip on this golden goose, but OTOH they have shown unsurpassed skill managing their market so far. Only time will tell.
You're right; I was out of my mind. I totally forgot that Belgium is far larger and more diverse than the USA. I guess that shoots my argument full of holes.
Why do americans *seem* to fear a socialist government?
My feeling is that it's largely because the US is such a large country with many diverse ethnic groups and geographic areas. With this situation, you almost guarantee that some people are going to feel shafted if they see their tax money being spent on some other group that they don't relate to. They start complaining very loudly about freeloaders grabbing their cash. In this kind of environment where most people aren't bought in, socialism doesn't really work.
In contrast, many European countries have historically had a smaller, more homogenous culture. In that situation, the majority of people can feel that they are benefiting equally from various socialist government programs, becuase they're all in the same boat. In many cases, this system can work just fine.
The US does have many strongly socialist programs, but mostly to benefit groups that most people get all teary-eyed and sentimental over, like old folks and farmers.
My expectation is that if the EU continues to add more countries and centralize its federal power, then people may start to see tax funds transferred across cultural boundaries. This would likely cause a backlash against socialism in Europe as well.
But this needs to be said. And what you don't realize is that many government workers are trained to use the Windows operating system and the software for it. The cost to switch everything over to Linux is pretty high compared to the cost of upgrading the existing systems.
So one major advantage Windows has over Linux is plain old-fashioned inertia. That's fine, but why should Microsoft profit from that situation? Who made the investment to train the state workers on Windows? Was it Microsoft? No, it was the taxpayers.
Maybe copyright law regarding software should be altered to factor out windfall profits from vendor lockin situations such as this one. It was conceived to promote advancements in the arts and sciences, not to facilitate impenetrable barriers around any single vendors business plans.
If changing copyright laws is too radical, maybe mandating open standards wherever possible is the reasonable thing to do. It may cost more in the short run, but it's an investment made now so that in the future the state is not locked in to sending tax money to one corporation just because its workers are stuck in a rut.
It also found that those same subjects had better memory and reaction times (conventional cellular networks have the same effect)!
I've known of this effect for some time. That's why I've rigged up a bunch of microwave oven magnetrons in my office for mood lighting.
I code more effectively, and my gaming skillz have massively improved. The only drawback is that I now give off a strong odor of singed hair, and my fingertips and toes have become somewhat crispy.
Let me guess... you work as a prior art researcher for the USPTO.
But that's not thinking like a telecommunications executive. You're trying to base the price of the service on what it costs the ISP. OTOH, most every business tries to base the price on the value of the service to the customer.
For example, airlines have figured out fairly reliable ways to sort out which passengers are business travelers vs. tourists. That's how they get away with pricing one seat at X and the adjacent one at 4X on the same flight.
You can bet that if cable companies think that they can identify VoIP traffic on their networks, then they'll consider trying to charge a stiff premium for it. That's because they know that many people value talking to their moms as high or higher than watching movies on demand.
Between their existing bans on running "servers" on home accounts, government regulations of VoIP, and proposed government bans on encrypted voice communications, the ISPs probably have a decent chance of maintaining control over this potentially lucrative activity.
The ISPs will probably say something like: "If you pay us only $10/month extra, you can use our own government-approved VoIP service for unlimited long distance talk time! And we won't accuse you of being a thief or a terrorist!"
Just because it's in hardware doesn't mean it's free. The ECC logic is going to add a small delay to each of trillions of memory accesses. Plain memory can most likely be tuned to run faster than ECC memory.
If you're running a constrained problem and can verify the results at the end, a single error check in software could consume far less overall time than the continuous ECC hardware checks. The software check would probably catch other types of errors as well (including many errors caused by software bugs).
That's only because drug abuse leads to memory loss.
Having watched dozens of Timex ads in the 60s and 70s, I have to say: Yes, definitely. (But only if it's firmly strapped on to the probe with duct tape.)
"It takes a licking and keeps on ticking."
Centuries ago English had a more sensible set of words for human beings: 'woman' for a female, 'wereman' for a male, and 'man' for the general case covering both. We would have avoided a lot of confusion and controversy if the term 'wereman' hadn't been dropped. (A vestige of the word does still survive as part of 'werewolf', but given the scarcity of these creatures, that's not really very useful.)
Yes, and the high pressure is caused by the large difference in temperature between the incoming steam and the condenser at the outlet. No big temperature delta -> little pressure -> not much work.
A semiconductor chip won't work if the temperature gets too much above 100 C. Therefore, by definition, you would be stuck with a very low power generation efficiency.
Your efficiency is limited by trying to extract work between the (say) 100 C CPU and the 25 C ambient environment. I'm too lazy to look it up now, but I doubt that you could recover more than a single-digit percent of your input power in this situation. What's more, even if you try to extract power from low temperature differentials, you tend to need very large equipment to do it. Not a good fit for laptops.
Without that country sending goods to stock the shelves, your local Wal-Mart would look like Who-ville after the Grinch got done with it. If you're one of the 99% of Americans who send a good chunk of your cash to China every time you go shopping, you hardly have any business complaining about what they decide to spend your money on after you've just willingly given it to them.
One of my duties when I was a kid was custodian of the special area of our yard designated for the use of our dog. Having dealt with this issue in both the winter and summer seasons, I can attest that a hardened POS is clearly preferable to the alternative -- especially if it's elevated on a bed of snow.
Semiconductor technology had the benefit of starting from a blank slate. Moore's law started out measuring chips with only a few thousand very simple components. As the technology matures, it will eventually hit fundamental limits and the exponential growth in component count will slow.
With biotechnology, nature has already provided a very mature technology refined over billions of years. We already have organisms that contain trillions of very complex components working together as an incredibly coordinated system. Starting from this advanced point, are very unlikely to add exponential improvements over the current capabilites year after year.
For such highly specialized situations, you could sign a contract with each customer (an actual paper contract, not an invalid click-through dialog box) where they agree to not re-release your software. I'm sure that even today most any $100,000 purchase involves some kind of contract; this would just be another standardized clause.
It's true. When you look through a real kaleidoscope, there are so many flakes and mirrors that you can't see what you're actually looking at. Likewise, future TV will be covered with so many layers of scrolling banners, floating logos, preview windows and sidebars that you won't be able to see the actual program. HDTV will make this trend worse, since it just represents more real-estate on which to paint these dazzling distractions.
To be fair, is there anything about this exploit that requires root access? It looks like a bug in the filetype recognition code in the file manager. It seems to me that a similar situation could easily happen if the KDE or Gnome file manager had a such bug. These programs also try to do "magic" things with certain file types (like show previews), and could get tripped up if they were vulnerable to corrupted metadata.
In general, I don't see why a virus can't do just about anything it wants with an ordinary user's rights. It can send mail, download and upload to the web, and even autorun itself after reboots by tweaking the user's own rc files. Running a non-root account is not a good enough reason to stop being paranoid.
These systems have a custom BIOS routine that handles just that case. It blanks the screen and displays:
TILT
Game Over
in 3-inch tall letters.
I'm not familiar with the details of how USB arbitration works, but a simplistic example would say that if one slow device and one fast device were competing for bandwidth, then the slow device could cut the fast device's speed in half by taking half of the time slices. Thus, the slow device can deny others much more bandwidth than it uses itself. However, I don't think that one slow device drags other devices all the way down to the old speed limit since the slices it doesn't use can still go at high speed.
How? Dynamically typed languages know the types at runtime. They're not going to core dump just because you feed a string to a function that expects an integer. It will most likely raise an exception that you cleanly handle at an appropriate spot. I find that 99% of the time, this happens the first time you try to run the code; often sooner than your compiler would have finished rebuilding a static implementation. Look at the stack trace, go to that line of code, fix it and move on. No need to spend hours pondering the cryptic type errors that the C++ compiler spits out.
At any rate, a static language doesn't automatically check that an integer parameter's actual runtime value is within the valid range for the function, so it's not really providing that much safety.
It also allows for faster running code and can be just as flexiable as the dynamically typed languages. Go look at SML, Caml, or Haskell for an example.
There's some truth in that. However, very few people relate to writing in the highly recursive functional style that these languages seem to force on you. IMO, I find it kind of constrictive. I'm not sure if it's possible to create a flexible statically typed language that's not heavily functional; there don't seem to be many examples.
I tried porting a couple of small programs to OCaml a while back; I was all excited that I was going to get C-level performance with a high level language. For some reason, the programs didn't end up running any faster than a Java implementation. I concluded that getting maximum performance out of that kind of language was not the no-brainer that it was cracked up to be. Given that only a small number of people have even heard of these languages, I figured it was better to stick with well-known tools than to become an expert at optimizing OCaml.
Optimization is always the last thing that you should do on a project. This means that implementing the software in C/C++ should be the last resort. Most of the time, most of your software will run just fine in a safer, easier to use language. When you run into performance issues, that's when you port pieces of your program to C. Unfortunately, a lot of people just assume that they should always start coding in C or C++ right off the bat.
I personally don't like Java very much. It's bloated for what it does, static typing is a PITA, it doesn't play well with other languages, and it's heavily biased towards the OO paradigm, ignoring other highly useful programming approaches. (Many languages let you mix in bits from various programming styles.)
What I prefer to do instead is use a very flexible language like Python, then write C extensions for the performance critical parts if/when they are needed. The extension C code tends to be simple straight-line logic that is harder for bugs to hide in. This approach provides a "dynamic range" of performance vs. ease of use that is well well beyond that offered by pure Java or C.
11. If you've been hiding in the North Carolina woods, never venture out into an open parking lot to go dumpster diving for food.
That's still not worth $400. Office suite software is a commodity item now. All of the problems involved with creating such software were solved 10 years ago. (That's why Microsoft is trying to invent new problems that we didn't know we needed, like DRM'd spreadsheets.)
For $400, I would expect to get some kind of specialized cutting-edge software, like a midrange 3D modelling/rendering package, not a bag of 15-year old generic office tools.
The only thing that allows MS Office to command its $400 price tag is the fact that so many useres have locked their data into its proprietary file format. That's what you're paying the gatekeeper for: access to your files and the files of others who are in the same situation.
If you look at the history of various industries, such a gatekeeper position is an unstable situation. It takes the utmost in business skill to maintain such a distorted marketplace when you're not providing intrinsic value. Microsoft may one day lose their grip on this golden goose, but OTOH they have shown unsurpassed skill managing their market so far. Only time will tell.
You're right; I was out of my mind. I totally forgot that Belgium is far larger and more diverse than the USA. I guess that shoots my argument full of holes.
IIRC, isn't silicone also classified as a plastic? That's not exactly organic. And what about Teflon?
My feeling is that it's largely because the US is such a large country with many diverse ethnic groups and geographic areas. With this situation, you almost guarantee that some people are going to feel shafted if they see their tax money being spent on some other group that they don't relate to. They start complaining very loudly about freeloaders grabbing their cash. In this kind of environment where most people aren't bought in, socialism doesn't really work.
In contrast, many European countries have historically had a smaller, more homogenous culture. In that situation, the majority of people can feel that they are benefiting equally from various socialist government programs, becuase they're all in the same boat. In many cases, this system can work just fine.
The US does have many strongly socialist programs, but mostly to benefit groups that most people get all teary-eyed and sentimental over, like old folks and farmers.
My expectation is that if the EU continues to add more countries and centralize its federal power, then people may start to see tax funds transferred across cultural boundaries. This would likely cause a backlash against socialism in Europe as well.
So one major advantage Windows has over Linux is plain old-fashioned inertia. That's fine, but why should Microsoft profit from that situation? Who made the investment to train the state workers on Windows? Was it Microsoft? No, it was the taxpayers.
Maybe copyright law regarding software should be altered to factor out windfall profits from vendor lockin situations such as this one. It was conceived to promote advancements in the arts and sciences, not to facilitate impenetrable barriers around any single vendors business plans.
If changing copyright laws is too radical, maybe mandating open standards wherever possible is the reasonable thing to do. It may cost more in the short run, but it's an investment made now so that in the future the state is not locked in to sending tax money to one corporation just because its workers are stuck in a rut.
I've known of this effect for some time. That's why I've rigged up a bunch of microwave oven magnetrons in my office for mood lighting.
I code more effectively, and my gaming skillz have massively improved. The only drawback is that I now give off a strong odor of singed hair, and my fingertips and toes have become somewhat crispy.